From 8c22aed4b09ce6ffa7bd669377355e38f04614d6 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 3 Jan 2024 11:28:42 +0100 Subject: [PATCH] Rotate ChangeLog files. Rotate ChangeLog files for ChangeLogs with yearly cadence. --- gcc/ChangeLog | 54877 +------------------------------- gcc/ChangeLog-2023 | 54880 +++++++++++++++++++++++++++++++++ gcc/ada/ChangeLog | 6974 +---- gcc/ada/ChangeLog-2023 | 6978 +++++ gcc/cp/ChangeLog | 4093 +-- gcc/cp/ChangeLog-2023 | 4097 +++ gcc/d/ChangeLog | 489 +- gcc/d/ChangeLog-2023 | 493 + gcc/fortran/ChangeLog | 2191 +- gcc/fortran/ChangeLog-2023 | 2195 ++ gcc/testsuite/ChangeLog | 53050 +------------------------------ gcc/testsuite/ChangeLog-2023 | 53054 +++++++++++++++++++++++++++++++ libgfortran/ChangeLog | 732 +- libgfortran/ChangeLog-2023 | 736 + libstdc++-v3/ChangeLog | 8350 +---- libstdc++-v3/ChangeLog-2023 | 8354 +++++ 16 files changed, 130795 insertions(+), 130748 deletions(-) create mode 100644 gcc/ChangeLog-2023 create mode 100644 gcc/ada/ChangeLog-2023 create mode 100644 gcc/cp/ChangeLog-2023 create mode 100644 gcc/d/ChangeLog-2023 create mode 100644 gcc/fortran/ChangeLog-2023 create mode 100644 gcc/testsuite/ChangeLog-2023 create mode 100644 libgfortran/ChangeLog-2023 create mode 100644 libstdc++-v3/ChangeLog-2023 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 81595a030820..a935ce0fb69e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -56,54883 +56,8 @@ PR target/113112 * config/riscv/riscv-vector-costs.cc (compute_nregs_for_mode): Fix pointer type liveness count. - -2023-12-31 Uros Bizjak - Roger Sayle - - PR target/43644 - * config/i386/i386.md (*add3_doubleword_concat_zext): Tweak - order of instructions after split, to minimize number of moves. - -2023-12-29 Jan Hubicka - - * config/i386/x86-tune.def (X86_TUNE_AVOID_128FMA_CHAINS, - X86_TUNE_AVOID_256FMA_CHAINS): Enable for znver4 and Core. - -2023-12-29 Tamar Christina - - PR target/110625 - * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost): - Adjust throughput and latency calculations for vector conversions. - (class aarch64_vector_costs): Add m_num_last_promote_demote. - -2023-12-29 Xi Ruoyao - - * config/loongarch/loongarch.md (bstrins__for_ior_mask): - For the condition, remove unneeded trailing "\" and move "&&" to - follow GNU coding style. NFC. - -2023-12-29 Xi Ruoyao - - * config/loongarch/predicates.md - (symbolic_pcrel_offset_operand): New define_predicate. - (mem_simple_ldst_operand): Likewise. - * config/loongarch/loongarch-protos.h - (loongarch_rewrite_mem_for_simple_ldst): Declare. - * config/loongarch/loongarch.cc - (loongarch_rewrite_mem_for_simple_ldst): Implement. - * config/loongarch/loongarch.md (simple_load): New - define_insn_and_rewrite. - (simple_load_ext): Likewise. - (simple_store): Likewise. - (define_peephole2): Remove la.local/[f]ld peepholes. - -2023-12-29 Uros Bizjak - - PR target/113133 - * config/i386/i386.md - (TARGET_USE_VECTOR_FP_CONVERTS SF->DF float_extend splitter): - Do not handle xmm16+ with TARGET_EVEX512. - -2023-12-29 Juzhe-Zhong - - * config/riscv/riscv-v.cc (is_vlmax_len_p): New function. - (expand_load_store): Disallow transformation into VLMAX when len is in range of [0,31] - (expand_cond_len_op): Ditto. - (expand_gather_scatter): Ditto. - (expand_lanes_load_store): Ditto. - (expand_fold_extract_last): Ditto. - -2023-12-28 Uros Bizjak - - * config/i386/i386.cc (ix86_unary_operator_ok): Move from here... - * config/i386/i386-expand.cc (ix86_unary_operator_ok): ... to here. - * config/i386/i386-protos.h: Re-arrange ix86_{unary|binary}_operator_ok - and ix86_expand_{unary|binary}_operator prototypes. - * config/i386/i386.md: Cosmetic changes with the usage of - TARGET_APX_NDD in ix86_expand_{unary|binary}_operator - and ix86_{unary|binary}_operator_ok function calls. - -2023-12-28 Juzhe-Zhong - - * config/riscv/riscv-vector-costs.cc (is_gimple_assign_or_call): Change interface. - (get_live_range): New function. - -2023-12-27 Xi Ruoyao - - PR target/113148 - * config/loongarch/loongarch.cc (loongarch_secondary_reload): - Check if regno == -1 besides MEM_P (x) for reloading FCCmode - from/to FPR to/from memory. - -2023-12-27 Xi Ruoyao - - * config/loongarch/loongarch.md (rotl3): - New define_expand. - * config/loongarch/simd.md (vrotl3): Likewise. - (rotl3): Likewise. - -2023-12-27 Juzhe-Zhong - - PR target/113112 - * config/riscv/riscv-vector-costs.cc (is_gimple_assign_or_call): New function. - (get_first_lane_point): Ditto. - (get_last_lane_point): Ditto. - (max_number_of_live_regs): Refine live point dump. - (compute_estimated_lmul): Make unknown NITERS loop be aware of liveness. - (costs::better_main_loop_than_p): Ditto. - * config/riscv/riscv-vector-costs.h (struct stmt_point): Add new member. - -2023-12-27 Chenghui Pan - - * config/loongarch/lasx.md: Use loongarch_split_move and - loongarch_split_move_p directly. - * config/loongarch/loongarch-protos.h - (loongarch_split_move): Remove unnecessary argument. - (loongarch_split_move_insn_p): Delete. - (loongarch_split_move_insn): Delete. - * config/loongarch/loongarch.cc - (loongarch_split_move_insn_p): Delete. - (loongarch_load_store_insns): Use loongarch_split_move_p - directly. - (loongarch_split_move): remove the unnecessary processing. - (loongarch_split_move_insn): Delete. - * config/loongarch/lsx.md: Use loongarch_split_move and - loongarch_split_move_p directly. - -2023-12-27 Chenghui Pan - - * config/loongarch/lasx.md (vec_concatv4di): Delete. - (vec_concatv8si): Delete. - (vec_concatv16hi): Delete. - (vec_concatv32qi): Delete. - (vec_concatv4df): Delete. - (vec_concatv8sf): Delete. - (vec_concat): New template with insn output fixed. - -2023-12-27 Li Wei - - * config/loongarch/loongarch.md: Adjust. - -2023-12-27 Haochen Gui - - * config/rs6000/rs6000-string.cc (expand_block_compare): Assert - only P7 above can enter this function. Remove P7 CPU test and let - P7 BE do the expand. - -2023-12-27 Haochen Gui - - * config/rs6000/rs6000.md (cmpmemsi): Fail when optimizing for size. - -2023-12-27 Haochen Gui - - * config/rs6000/rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED): - Remove. - * config/rs6000/rs6000-string.cc (select_block_compare_mode): - Replace TARGET_EFFICIENT_OVERLAPPING_UNALIGNED with - targetm.slow_unaligned_access. - (expand_block_compare_gpr): Likewise. - (expand_block_compare): Likewise. - (expand_strncmp_gpr_sequence): Likewise. - -2023-12-26 Juzhe-Zhong - - PR target/113112 - * config/riscv/riscv-vector-costs.cc (compute_estimated_lmul): Tweak LMUL estimation. - (has_unexpected_spills_p): Ditto. - (costs::record_potential_unexpected_spills): Ditto. - -2023-12-25 Juzhe-Zhong - - * config/riscv/riscv-vector-costs.cc (compute_estimated_lmul): Allow - fractional vecrtor. - (preferred_new_lmul_p): Move RVV V_REGS liveness computation into analyze_loop_vinfo. - (has_unexpected_spills_p): New function. - (costs::record_potential_unexpected_spills): Ditto. - (costs::better_main_loop_than_p): Move RVV V_REGS liveness computation into - analyze_loop_vinfo. - * config/riscv/riscv-vector-costs.h: New functions and variables. - -2023-12-25 Tamar Christina - - PR bootstrap/113132 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): Initialize vec_stmts; - -2023-12-25 Jeevitha Palanisamy - Peter Bergner - - PR target/110320 - * config/rs6000/rs6000.cc (rs6000_conditional_register_usage): Change - GPR2 to volatile and non-fixed register for PCREL. - * config/rs6000/rs6000.h (FIXED_REGISTERS): Modify GPR2 to not fixed. - -2023-12-25 Andrew Pinski - - PR tree-optimization/19832 - * match.pd (`(a != b) ? (a + b) : (2 * a)`): Add `:c` - on the plus operator. - -2023-12-24 Tamar Christina - - * doc/sourcebuild.texi (check_effective_target_vect_early_break_hw, - check_effective_target_vect_early_break): Document. - -2023-12-24 Tamar Christina - - * config/aarch64/aarch64-simd.md (cbranch4): New. - -2023-12-24 Tamar Christina - - * tree-if-conv.cc (idx_within_array_bound): Expose. - * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): New. - (vect_analyze_data_ref_dependences): Use it. - * tree-vect-loop-manip.cc (vect_iv_increment_position): New. - (vect_set_loop_controls_directly, - vect_set_loop_condition_partial_vectors, - vect_set_loop_condition_partial_vectors_avx512, - vect_set_loop_condition_normal): Support multiple exits. - (slpeel_tree_duplicate_loop_to_edge_cfg): Support LCSAA peeling for - multiple exits. - (slpeel_can_duplicate_loop_p): Change vectorizer from looking at BB - count and instead look at loop shape. - (vect_update_ivs_after_vectorizer): Drop asserts. - (vect_gen_vector_loop_niters_mult_vf): Support peeled vector iterations. - (vect_do_peeling): Support multiple exits. - (vect_loop_versioning): Likewise. - * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Initialise - early_breaks. - (vect_analyze_loop_form): Support loop flows with more than single BB - loop body. - (vect_create_loop_vinfo): Support niters analysis for multiple exits. - (vect_analyze_loop): Likewise. - (vect_get_vect_def): New. - (vect_create_epilog_for_reduction): Support early exit reductions. - (vectorizable_live_operation_1): New. - (find_connected_edge): New. - (vectorizable_live_operation): Support early exit live operations. - (move_early_exit_stmts): New. - (vect_transform_loop): Use it. - * tree-vect-patterns.cc (vect_init_pattern_stmt): Support gcond. - (vect_recog_bitfield_ref_pattern): Support gconds and bools. - (vect_recog_gcond_pattern): New. - (possible_vector_mask_operation_p): Support gcond masks. - (vect_determine_mask_precision): Likewise. - (vect_mark_pattern_stmts): Set gcond def type. - (can_vectorize_live_stmts): Force early break inductions to be live. - * tree-vect-stmts.cc (vect_stmt_relevant_p): Add relevancy analysis for - early breaks. - (vect_mark_stmts_to_be_vectorized): Process gcond usage. - (perm_mask_for_reverse): Expose. - (vectorizable_comparison_1): New. - (vectorizable_early_exit): New. - (vect_analyze_stmt): Support early break and gcond. - (vect_transform_stmt): Likewise. - (vect_is_simple_use): Likewise. - (vect_get_vector_types_for_stmt): Likewise. - * tree-vectorizer.cc (pass_vectorize::execute): Update exits for value - numbering. - * tree-vectorizer.h (enum vect_def_type): Add vect_condition_def. - (LOOP_VINFO_EARLY_BREAKS, LOOP_VINFO_EARLY_BRK_STORES, - LOOP_VINFO_EARLY_BREAKS_VECT_PEELED, LOOP_VINFO_EARLY_BRK_DEST_BB, - LOOP_VINFO_EARLY_BRK_VUSES): New. - (is_loop_header_bb_p): Drop assert. - (class loop): Add early_breaks, early_break_stores, early_break_dest_bb, - early_break_vuses. - (vect_iv_increment_position, perm_mask_for_reverse, - ref_within_array_bound): New. - (slpeel_tree_duplicate_loop_to_edge_cfg): Update for early breaks. - -2023-12-24 Tamar Christina - - * tree-ssa-loop-im.cc (determine_max_movement): Import insn-codes.h - and optabs-tree.h and check for vector compare motion out of gcond. - -2023-12-24 Hans-Peter Nilsson - - PR middle-end/113109 - * config/cris/cris.cc (cris_eh_return_handler_rtx): New function. - * config/cris/cris-protos.h (cris_eh_return_handler_rtx): Prototype. - * config/cris/cris.h (EH_RETURN_HANDLER_RTX): Redefine to call - cris_eh_return_handler_rtx. - -2023-12-23 Xi Ruoyao - - * config/loongarch/loongarch.md (rotrsi3_extend): New - define_insn. - -2023-12-23 Xi Ruoyao - - * config/loongarch/loongarch-tune.h - (loongarch_rtx_cost_data::movcf2gr): New field. - (loongarch_rtx_cost_data::movcf2gr_): New method. - (loongarch_rtx_cost_data::use_movcf2gr): New method. - * config/loongarch/loongarch-def.cc - (loongarch_rtx_cost_data::loongarch_rtx_cost_data): Set movcf2gr - to COSTS_N_INSNS (7) and movgr2cf to COSTS_N_INSNS (15), based - on timing on LA464. - (loongarch_cpu_rtx_cost_data): Set movcf2gr and movgr2cf to - COSTS_N_INSNS (1) for LA664. - (loongarch_rtx_cost_optimize_size): Set movcf2gr and movgr2cf to - COSTS_N_INSNS (1) + 1. - * config/loongarch/predicates.md (loongarch_fcmp_operator): New - predicate. - * config/loongarch/loongarch.md (movfcc): Change to - define_expand. - (movfcc_internal): New define_insn. - (fcc_to_): New define_insn. - (cstore4): New define_expand. - * config/loongarch/loongarch.cc - (loongarch_hard_regno_mode_ok_uncached): Allow FCCmode in GPRs - and GPRs. - (loongarch_secondary_reload): Reload FCCmode via FPR and/or GPR. - (loongarch_emit_float_compare): Call gen_reg_rtx instead of - loongarch_allocate_fcc. - (loongarch_allocate_fcc): Remove. - (loongarch_move_to_gpr_cost): Handle FCC_REGS -> GR_REGS. - (loongarch_move_from_gpr_cost): Handle GR_REGS -> FCC_REGS. - (loongarch_register_move_cost): Handle FCC_REGS -> FCC_REGS, - FCC_REGS -> FP_REGS, and FP_REGS -> FCC_REGS. - -2023-12-23 YunQiang Su - - * config/mips/driver-native.cc (host_detect_local_cpu): - don't add nan2008 option for -mtune=native. - -2023-12-23 YunQiang Su - - PR target/112759 - * config/mips/driver-native.cc (host_detect_local_cpu): - Put the ret to the end of args of reconcat. - -2023-12-23 Juzhe-Zhong - - PR target/113112 - * config/riscv/riscv-vector-costs.cc (max_number_of_live_regs): Refine dump information. - (preferred_new_lmul_p): Make PHI initial value into live regs calculation. - -2023-12-22 Sandra Loosemore - - * omp-general.cc (omp_context_name_list_prop): Remove static qualifer. - * omp-general.h (omp_context_name_list_prop): Declare. - * tree-cfg.cc (dump_function_to_file): Intercept - "omp declare variant base" attribute for special handling. - * tree-pretty-print.cc: Include omp-general.h. - (dump_omp_context_selector): New. - (print_omp_context_selector): New. - * tree-pretty-print.h (print_omp_context_selector): Declare. - -2023-12-22 Jakub Jelinek - - PR rtl-optimization/112758 - * combine.cc (make_compopund_operation_int): Optimize AND of a SUBREG - based on nonzero_bits of SUBREG_REG and constant mask on - WORD_REGISTER_OPERATIONS targets only if it is a zero extending - MEM load. - -2023-12-22 Jakub Jelinek - - PR tree-optimization/112941 - * symtab-thunks.cc (expand_thunk): Check aggregate_value_p regardless - of whether is_gimple_reg_type (restype) or not. - -2023-12-22 Jakub Jelinek - - PR tree-optimization/113102 - * gimple-lower-bitint.cc (gimple_lower_bitint): Handle unreleased - large/huge _BitInt SSA_NAMEs. - -2023-12-22 Jakub Jelinek - - PR tree-optimization/113102 - * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): Only - use m_data[save_data_cnt] if it is non-NULL. - -2023-12-22 Christophe Lyon - - * Makefile.in: Allow overriding EXEPCT. - -2023-12-22 chenxiaolong - - * doc/extend.texi:Add modifiers to the vector of asm in the doc. - * doc/md.texi:Refine the description of the modifier 'f' in the doc. - -2023-12-21 Andrew Pinski - - PR middle-end/112951 - * doc/md.texi (cond_copysign): Document. - (cond_len_copysign): Likewise. - * optabs.def: Reorder cond_copysign to be before - cond_fmin. Likewise for cond_len_copysign. - -2023-12-21 Andre Vieira (lists) - - PR middle-end/113040 - * omp-simd-clone.cc (simd_clone_adjust_argument_types): Add multiple - vector arguments where simdlen is larger than veclen. - -2023-12-21 Uros Bizjak - - PR target/113044 - * config/i386/i386.md (*ashlqi_ext_1): Move from the - high register of the input operand. - (*qi_ext_1): Ditto. - -2023-12-21 Vladimir N. Makarov - - Revert: - 2023-12-18 Vladimir N. Makarov - - PR rtl-optimization/112918 - * lra-constraints.cc (SMALL_REGISTER_CLASS_P): Move before in_class_p. - (in_class_p): Restrict condition for narrowing class in case of - allow_all_reload_class_changes_p. - (process_alt_operands): Pass true for - allow_all_reload_class_changes_p in calls of in_class_p. - (curr_insn_transform): Ditto for reg operand win. - -2023-12-21 Julian Brown - - * gimplify.cc (omp_segregate_mapping_groups): Handle "present" groups. - (gimplify_scan_omp_clauses): Use mapping group functionality to - iterate through mapping nodes. Remove most gimplification of - OMP_CLAUSE_MAP nodes from here, but still populate ctx->variables - splay tree. - (gimplify_adjust_omp_clauses): Move most gimplification of - OMP_CLAUSE_MAP nodes here. - -2023-12-21 Alex Coplan - - PR target/113093 - * config/aarch64/aarch64-ldp-fusion.cc (latest_hazard_before): - If the insn is throwing, record the previous insn as a hazard to - prevent moving it from the end of the BB. - -2023-12-21 Jakub Jelinek - - * gimple-fold.cc (maybe_fold_comparisons_from_match_pd): - Use unsigned char buffers for lhs1 and lhs2 instead of allocating - them through XALLOCA. - * collect2.cc (maybe_run_lto_and_relink): Swap xcalloc arguments. - -2023-12-21 Richard Sandiford - - PR target/113094 - * config/aarch64/aarch64-early-ra.cc (apply_allocation): Stub - out instructions that are going to be deleted before iterating - over the rest. - -2023-12-21 Richard Sandiford - - PR target/112948 - * config/aarch64/aarch64-early-ra.cc (find_strided_accesses): Fix - cut-&-pasto. - -2023-12-21 Jakub Jelinek - - PR tree-optimization/112941 - * gimple-lower-bitint.cc (gimple_lower_bitint): Disallow merging - a cast with multiplication, division or conversion to floating point - if rhs1 of the cast is result of another single use cast in the same - bb. - -2023-12-21 chenxiaolong - - * doc/extend.texi:According to the documents submitted earlier, - Two problems with function return types and using the actual types - of parameters instead of variable names were found and fixed. - -2023-12-21 Jiajie Chen - - * doc/extend.texi(__lsx_vabsd_di): remove extra `i' in name. - (__lsx_vfrintrm_d, __lsx_vfrintrm_s, __lsx_vfrintrne_d, - __lsx_vfrintrne_s, __lsx_vfrintrp_d, __lsx_vfrintrp_s, __lsx_vfrintrz_d, - __lsx_vfrintrz_s): fix return types. - (__lsx_vld, __lsx_vldi, __lsx_vldrepl_b, __lsx_vldrepl_d, - __lsx_vldrepl_h, __lsx_vldrepl_w, __lsx_vmaxi_b, __lsx_vmaxi_d, - __lsx_vmaxi_h, __lsx_vmaxi_w, __lsx_vmini_b, __lsx_vmini_d, - __lsx_vmini_h, __lsx_vmini_w, __lsx_vsrani_d_q, __lsx_vsrarni_d_q, - __lsx_vsrlni_d_q, __lsx_vsrlrni_d_q, __lsx_vssrani_d_q, - __lsx_vssrarni_d_q, __lsx_vssrarni_du_q, __lsx_vssrlni_d_q, - __lsx_vssrlrni_du_q, __lsx_vst, __lsx_vstx, __lsx_vssrani_du_q, - __lsx_vssrlni_du_q, __lsx_vssrlrni_d_q): add missing semicolon. - (__lsx_vpickve2gr_bu, __lsx_vpickve2gr_hu): fix typo in return - type. - (__lsx_vstelm_b, __lsx_vstelm_d, __lsx_vstelm_h, - __lsx_vstelm_w): use imm type for the last argument. - (__lsx_vsigncov_b, __lsx_vsigncov_h, __lsx_vsigncov_w, - __lsx_vsigncov_d): remove duplicate definitions. - -2023-12-21 Jiahao Xu - - * config/loongarch/lasx.md: Use zero expansion instruction. - * config/loongarch/lsx.md: Ditto. - -2023-12-21 Alexandre Oliva - - PR target/112778 - * builtins.cc (try_store_by_multiple_pieces): Drop obsolete - comment. - -2023-12-21 Kewen Lin - - PR rtl-optimization/112995 - * sel-sched.cc (try_replace_dest_reg): Check the validity of the - replaced insn before actually replacing dest in expr. - -2023-12-21 Kewen Lin - - * dbgcnt.def (sched_block): Remove. - * sched-rgn.cc (schedule_region): Remove the support of debug count - sched_block. - -2023-12-21 Jason Merrill - - PR c++/37722 - * doc/extend.texi: Document that computed goto does not - call destructors. - -2023-12-21 Jason Merrill - - PR c++/106213 - * opts-common.cc (control_warning_option): Call - handle_generated_option for all cl_var_types. - -2023-12-20 Juzhe-Zhong - - PR target/113087 - * config/riscv/riscv-v.cc (expand_select_vl): Optimize SELECT_VL. - -2023-12-20 Juzhe-Zhong - - PR target/113087 - * config/riscv/riscv-vsetvl.cc: Disallow fusion when VL modification pollutes non AVL use. - -2023-12-20 Rimvydas Jasinskas - - * doc/invoke.texi: Document the new file extensions - -2023-12-20 Richard Sandiford - - PR rtl-optimization/111702 - * cse.cc (set::mode): Move earlier. - (set::src_in_memory, set::src_volatile): Convert to bitfields. - (set::is_fake_set): New member variable. - (add_to_set): Add an is_fake_set parameter. - (find_sets_in_insn): Update calls accordingly. - (cse_insn): Do not apply REG_EQUAL notes to fake sets. Do not - try to optimize them either, or validate changes to them. - -2023-12-20 Kuan-Lin Chen - - * config/riscv/predicates.md (move_operand): Reject symbolic operands - with a type SYMBOL_FORCE_TO_MEM. - (call_insn_operand): Support for CM_Large. - (pcrel_symbol_operand): New. - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Add builtin_define - "__riscv_cmodel_large". - * config/riscv/riscv-opts.h (riscv_code_model): Add CM_LARGE. - * config/riscv/riscv-protos.h (riscv_symbol_type): Add - SYMBOL_FORCE_TO_MEM. - * config/riscv/riscv.cc (riscv_classify_symbol) Support CM_LARGE model. - (riscv_symbol_insns) Add SYMBOL_FORCE_TO_MEM. - (riscv_cannot_force_const_mem): Ditto. - (riscv_split_symbol): Ditto. - (riscv_force_address): Check pseudo reg available before force_reg. - (riscv_size_ok_for_small_data_p): Disable in CM_LARGE model. - (riscv_can_use_per_function_literal_pools_p): New. - (riscv_elf_select_rtx_section): Handle per-function literal pools. - (riscv_output_mi_thunk): Add riscv_in_thunk_func. - (riscv_option_override): Support CM_LARGE model. - (riscv_function_ok_for_sibcall): Disable sibcalls in CM_LARGE model. - (riscv_in_thunk_func): New static. - * config/riscv/riscv.md (unspec): Define UNSPEC_FORCE_FOR_MEM. - (*large_load_address): New. - * config/riscv/riscv.opt (code_model): New. - -2023-12-20 Wang Pengcheng - - * config/riscv/riscv.cc (riscv_macro_fusion_pair_p): Fix condition. - -2023-12-20 Andre Vieira - - PR target/112787 - * tree-vect-generic.cc (type_for_widest_vector_mode): Change function to - use original vector type and check widest vector mode has at most the - same number of elements. - (get_compute_type): Pass original vector type rather than the element - type to type_for_widest_vector_mode and remove now obsolete check for - the number of elements. - -2023-12-20 Siddhesh Poyarekar - - * tree-object-size.cc (object_size_info): Remove UNKNOWNS. - Drop all references to it. - (object_sizes_set): Move unknowns propagation code to... - (gimplify_size_expressions): ... here. Also free reexamine - bitmap. - (propagate_unknowns): New parameter UNKNOWNS. Update callers. - -2023-12-20 Thomas Schwinge - - * config/gcn/gcn.h (LIBSTDCXX): Define to "gcc". - -2023-12-20 Richard Biener - - * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Also handle - CTOR and VIEW_CONVERT up to the load when performing chain DCE. - -2023-12-20 Xi Ruoyao - - * config/loongarch/loongarch.cc - (loongarch_expand_vector_init_same): Remove "temp2" and reuse - "temp" instead. - (loongarch_expand_vector_init): Use gcc_unreachable () instead - of gcc_assert (0), and fix the comment for it. - -2023-12-20 Xi Ruoyao - - PR target/113033 - * config/loongarch/loongarch.cc - (loongarch_expand_vector_init_same): Replace gen_reg_rtx + - emit_move_insn with force_reg. - (loongarch_expand_vector_init): Likewise. - -2023-12-20 Xi Ruoyao - - PR target/113034 - * config/loongarch/lasx.md (UNSPEC_LASX_XVFCMP_*): Remove. - (lasx_xvfcmp_caf_): Remove. - (lasx_xvfcmp_cune_): Remove. - (FSC256_UNS): Remove. - (fsc256): Remove. - (lasx_xvfcmp__): Remove. - (lasx_xvfcmp__): Remove. - * config/loongarch/lsx.md (UNSPEC_LSX_XVFCMP_*): Remove. - (lsx_vfcmp_caf_): Remove. - (lsx_vfcmp_cune_): Remove. - (vfcond): Remove. - (fcc): Remove. - (FSC_UNS): Remove. - (fsc): Remove. - (lsx_vfcmp__): Remove. - (lsx_vfcmp__): Remove. - * config/loongarch/simd.md - (fcond_simd): New define_code_iterator. - (_vfcmp__): - New define_insn. - (fcond_simd_rev): New define_code_iterator. - (fcond_rev_asm): New define_code_attr. - (_vfcmp__): - New define_insn. - (fcond_inv): New define_code_iterator. - (fcond_inv_rev): New define_code_iterator. - (fcond_inv_rev_asm): New define_code_attr. - (_vfcmp__): New define_insn. - (_vfcmp__): - New define_insn. - (UNSPEC_SIMD_FCMP_CAF, UNSPEC_SIMD_FCMP_SAF, - UNSPEC_SIMD_FCMP_SEQ, UNSPEC_SIMD_FCMP_SUN, - UNSPEC_SIMD_FCMP_SUEQ, UNSPEC_SIMD_FCMP_CNE, - UNSPEC_SIMD_FCMP_SOR, UNSPEC_SIMD_FCMP_SUNE): New unspecs. - (SIMD_FCMP): New define_int_iterator. - (fcond_unspec): New define_int_attr. - (_vfcmp__): New define_insn. - * config/loongarch/loongarch.cc (loongarch_expand_lsx_cmp): - Remove unneeded special cases. - -2023-12-20 demin.han - - * config/riscv/riscv-vector-costs.cc (max_number_of_live_regs): Fix - max live vregs calc - (preferred_new_lmul_p): Ditto - -2023-12-20 Jakub Jelinek - - PR target/112962 - * config/i386/i386-builtins.cc (ix86_builtins): Increase by one - element. - (def_builtin): If not -fnon-call-exceptions, set TREE_NOTHROW on - the builtin FUNCTION_DECL. Add leaf attribute to DECL_ATTRIBUTES. - (ix86_add_new_builtins): Likewise. - -2023-12-20 Jakub Jelinek - - PR tree-optimization/112941 - * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): If - save_cast_conditional, instead of adding assignment of t4 to - m_data[save_data_cnt + 1] before m_gsi, add phi nodes such that - t4 propagates to m_bb loop. For constant idx, use - m_data[save_data_cnt] rather than m_data[save_data_cnt + 1] if inside - of the m_bb loop. - (bitint_large_huge::lower_mergeable_stmt): Clear m_bb when no longer - expanding inside of that loop. - (bitint_large_huge::lower_comparison_stmt): Likewise. - (bitint_large_huge::lower_addsub_overflow): Likewise. - (bitint_large_huge::lower_mul_overflow): Likewise. - (bitint_large_huge::lower_bit_query): Likewise. - -2023-12-20 Jakub Jelinek - - * doc/invoke.texi (-Walloc-size): Add to the list of - warning options, remove unnecessary line-break. - (-Wcalloc-transposed-args): Document new warning. - -2023-12-20 Alex Coplan - - PR target/113062 - * config/aarch64/aarch64-ldp-fusion.cc - (ldp_bb_info::track_access): Punt on accesses with invalid - register operands, move definition of mem_size closer to its - first use. - -2023-12-20 Pan Li - - * config/riscv/riscv-v.cc (rvv_builder::npatterns_vid_diff_repeated_p): - New function to predicate the diff to vid is repeated or not. - (expand_const_vector): Add restriction - for the vid-diff code gen and implement general one. - -2023-12-20 Juzhe-Zhong - - * config/riscv/riscv.cc (riscv_legitimize_move): Fix ICE. - -2023-12-20 Alexandre Oliva - - PR middle-end/112917 - * builtins.cc (expand_bultin_stack_address): Add - STACK_POINTER_OFFSET. - * doc/extend.texi (__builtin_stack_address): Adjust. - -2023-12-20 Alexandre Oliva - - PR rtl-optimization/113002 - * cfgrtl.cc (commit_one_edge_insertion): Tolerate jumps in the - inserted sequence during expand. - -2023-12-20 Alexandre Oliva - - * builtins.cc (delta_type): New template class. - (set_apply_args_size, get_apply_args_size): Replace with... - (saved_apply_args_size): ... this. - (set_apply_result_size, get_apply_result_size): Replace with... - (saved_apply_result_size): ... this. - (apply_args_size, apply_result_size): Adjust. - -2023-12-20 Jeff Law - - * config/mcore/mcore.h (CC1_SPEC): Do not set -funsigned-bitfields. - -2023-12-20 Haochen Jiang - - * config/i386/avx512bwintrin.h: Allow 64 bit mask intrin usage - for -mno-evex512. - * config/i386/i386-builtin.def: Remove OPTION_MASK_ISA2_EVEX512 - for 64 bit mask builtins. - * config/i386/i386.cc (ix86_hard_regno_mode_ok): Allow 64 bit - mask register for -mno-evex512. - * config/i386/i386.md (SWI1248_AVX512BWDQ_64): Remove - TARGET_EVEX512. - (*zero_extendsidi2): Change isa attribute to avx512bw. - (kmov_isa): Ditto. - (*anddi_1): Ditto. - (*andn_1): Remove TARGET_EVEX512. - (*one_cmplsi2_1_zext): Change isa attribute to avx512bw. - (*ashl3_1): Ditto. - (*lshr3_1): Ditto. - * config/i386/sse.md (SWI1248_AVX512BWDQ): Remove TARGET_EVEX512. - (SWI1248_AVX512BW): Ditto. - (SWI1248_AVX512BWDQ2): Ditto. - (*knotsi_1_zext): Ditto. - (kunpckdi): Ditto. - (SWI24_MASK): Removed. - (vec_pack_trunc_): Change iterator from SWI24_MASK to SWI24. - (vec_unpacks_lo_di): Remove TARGET_EVEX512. - (SWI48x_MASK): Removed. - (vec_unpacks_hi_): Change iterator from SWI48x_MASK to SWI48x. - -2023-12-20 Siddhesh Poyarekar - - PR tree-optimization/113012 - * tree-object-size.cc (compute_builtin_object_size): Expand - comment for dynamic object sizes. - (collect_object_sizes_for): Always set COMPUTED bitmap for - dynamic object sizes. - -2023-12-20 Alexandre Oliva - - * ipa-strub.cc (gsi_insert_finally_seq_after_call): Likewise. - (pass_ipa_strub::adjust_at_calls_call): Likewise. - -2023-12-20 Alexandre Oliva - - * gcc.cc (process_command): Use LD_PIE_SPEC only if defined. - -2023-12-19 Marek Polacek - - PR tree-optimization/113069 - * gimple-ssa-sccopy.cc (scc_discovery): Remove unused member. - -2023-12-19 Sandra Loosemore - - * omp-general.cc (vendor_properties): Add "hpe". - (atomic_default_mem_order_properties): Add "acquire" and "release". - (omp_context_selector_matches): Handle "acquire" and "release". - -2023-12-19 Sandra Loosemore - - * omp-selectors.h: New file. - * omp-general.h: Include omp-selectors.h. - (OMP_TSS_CODE, OMP_TSS_NAME): New. - (OMP_TS_CODE, OMP_TS_NAME): New. - (make_trait_set_selector, make_trait_selector): Adjust declarations. - (omp_construct_traits_to_codes): Likewise. - (omp_context_selector_set_compare): Likewise. - (omp_get_context_selector): Likewise. - (omp_get_context_selector_list): New. - * omp-general.cc (omp_construct_traits_to_codes): Pass length in - as argument instead of returning it. Make it table-driven. - (omp_tss_map): New. - (kind_properties, vendor_properties, extension_properties): New. - (atomic_default_mem_order_properties): New. - (omp_ts_map): New. - (omp_check_context_selector): Simplify lookup and dispatch logic. - (omp_mark_declare_variant): Ignore variants with unknown construct - selectors. Adjust for new representation. - (make_trait_set_selector, make_trait_selector): Adjust for new - representations. - (omp_context_selector_matches): Simplify dispatch logic. Avoid - fixed-sized buffers and adjust call to omp_construct_traits_to_codes. - (omp_context_selector_props_compare): Adjust for new representations - and simplify dispatch logic. - (omp_context_selector_set_compare): Likewise. - (omp_context_selector_compare): Likewise. - (omp_get_context_selector): Adjust for new representations, and split - out... - (omp_get_context_selector_list): New function. - (omp_lookup_tss_code): New. - (omp_lookup_ts_code): New. - (omp_context_compute_score): Adjust for new representations. Avoid - fixed-sized buffers and magic numbers. Adjust call to - omp_construct_traits_to_codes. - * gimplify.cc (omp_construct_selector_matches): Avoid use of - fixed-size buffer. Adjust call to omp_construct_traits_to_codes. - -2023-12-19 Sandra Loosemore - - * omp-general.h (OMP_TP_NAMELIST_NODE): New. - * omp-general.cc (omp_context_name_list_prop): Move earlier - in the file, and adjust for new representation. - (omp_check_context_selector): Adjust this too. - (omp_context_selector_props_compare): Likewise. - -2023-12-19 Sandra Loosemore - - * omp-general.h (OMP_TS_SCORE_NODE): New. - (OMP_TSS_ID, OMP_TSS_TRAIT_SELECTORS): New. - (OMP_TS_ID, OMP_TS_SCORE, OMP_TS_PROPERTIES): New. - (OMP_TP_NAME, OMP_TP_VALUE): New. - (make_trait_set_selector): Declare. - (make_trait_selector): Declare. - (make_trait_property): Declare. - (omp_constructor_traits_to_codes): Rename to - omp_construct_traits_to_codes. - * omp-general.cc (omp_constructor_traits_to_codes): Rename - to omp_construct_traits_to_codes. Use new accessors. - (omp_check_context_selector): Use new accessors. - (make_trait_set_selector): New. - (make_trait_selector): New. - (make_trait_property): New. - (omp_context_name_list_prop): Use new accessors. - (omp_context_selector_matches): Use new accessors. - (omp_context_selector_props_compare): Use new accessors. - (omp_context_selector_set_compare): Use new accessors. - (omp_get_context_selector): Use new accessors. - (omp_context_compute_score): Use new accessors. - * gimplify.cc (omp_construct_selector_matches): Adjust for renaming - of omp_constructor_traits_to_codes. - -2023-12-19 David Faust - - PR debug/111735 - * btfout.cc (btf_fwd_to_enum_p): New. - (btf_asm_type_ref): Special case references to enum forwards. - (btf_asm_type): Special case enum forwards. Rename btf_size_type to - btf_size, and change chained ifs switching on btf_kind into else ifs. - -2023-12-19 Richard Biener - - PR tree-optimization/113080 - * tree-scalar-evolution.cc (expression_expensive_p): Allow - a tiny bit of growth due to expansion of shared trees. - (final_value_replacement_loop): Add comment. - -2023-12-19 Richard Biener - - PR tree-optimization/113073 - * tree-vect-stmts.cc (vectorizable_load): Properly ensure - to exempt only vector-size aligned overreads. - -2023-12-19 Roger Sayle - - * config/i386/i386-expand.cc - (ix86_convert_const_wide_int_to_broadcast): Remove static. - (ix86_expand_move): Don't attempt to convert wide constants - to SSE using ix86_convert_const_wide_int_to_broadcast here. - (ix86_split_long_move): Always un-cprop multi-word constants. - * config/i386/i386-expand.h - (ix86_convert_const_wide_int_to_broadcast): Prototype here. - * config/i386/i386-features.cc: Include i386-expand.h. - (timode_scalar_chain::convert_insn): When converting TImode to - V1TImode, try ix86_convert_const_wide_int_to_broadcast. - -2023-12-19 Juzhe-Zhong - - * config/riscv/riscv-v.cc (expand_const_vector): Use builder.inner_mode (). - -2023-12-19 Jakub Jelinek - - PR target/112816 - * config/i386/mmx.md (signbitv2sf2, signbit2): Force operands[1] - into a REG. - -2023-12-19 Alex Coplan - - PR target/113061 - * config/aarch64/predicates.md (aarch64_stp_reg_operand): Fix - parentheses to match intent. - -2023-12-19 Jiufu Guo - - PR rtl-optimization/112525 - PR target/30271 - * dse.cc (get_group_info): Add arg_pointer_rtx as frame_related. - (check_mem_read_rtx): Add parameter to indicate if it is checking mem - for call insn. - (scan_insn): Add mem checking on call usage. - -2023-12-19 Feng Wang - - * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): - Add new macro for match function. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_FUNCTION): - Add one more parameter for macro expanding. - (handle_pragma_vector): Add match function calls. - * config/riscv/riscv-vector-builtins.h (enum required_ext): - Add enum defination for required extension. - (struct function_group_info): Add one more parameter for checking required-ext. - -2023-12-18 Vladimir N. Makarov - - PR rtl-optimization/112918 - * lra-constraints.cc (SMALL_REGISTER_CLASS_P): Move before in_class_p. - (in_class_p): Restrict condition for narrowing class in case of - allow_all_reload_class_changes_p. - (process_alt_operands): Pass true for - allow_all_reload_class_changes_p in calls of in_class_p. - (curr_insn_transform): Ditto for reg operand win. - -2023-12-18 Uros Bizjak - - * config/i386/i386.md (redundant compare peephole2): - New peephole2 pattern. - -2023-12-18 Andreas Krebbel - - * config/s390/s390.cc (s390_encode_section_info): Replace - SYMBOL_REF_LOCAL_P with decl_binds_to_current_def_p. - -2023-12-18 Andrew Pinski - - PR tree-optimization/113054 - * gimple-ssa-sccopy.cc: Wrap the local types - with an anonymous namespace. - -2023-12-18 Richard Biener - - PR middle-end/111975 - * tree-pretty-print.cc (dump_generic_node): Dump - sizetype as __SIZETYPE__ with TDF_GIMPLE. - Dump unnamed vector types as T [[gnu::vector_size(n)]] with - TDF_GIMPLE. - * tree-ssa-address.cc (create_mem_ref_raw): Never generate - a NULL STEP when INDEX is specified. - -2023-12-18 Gerald Pfeifer - - PR target/69374 - * doc/install.texi (Specific) : Remove section. - (Specific) : Remove references to GCC 2.95 and - 3.0. Also libffi has been ported now. - -2023-12-18 Juzhe-Zhong - - PR target/112432 - * config/riscv/riscv.md (none,W21,W42,W84,W43,W86,W87): Add W0. - (none,W21,W42,W84,W43,W86,W87,W0): Ditto. - * config/riscv/vector.md: Ditto. - -2023-12-18 Richard Biener - - PR c/111975 - * tree-pretty-print.cc (dump_mem_ref): Use TDF_GIMPLE path - also for TARGET_MEM_REF and amend it. - -2023-12-18 Juzhe-Zhong - - * config/riscv/riscv.cc (riscv_regmode_natural_size): Fix ICE for - FIXED-VLMAX of -march=rv32gc_zve32f. - -2023-12-18 Jakub Jelinek - - PR tree-optimization/113013 - * tree-object-size.cc (alloc_object_size): Return size_unknown if - corresponding argument(s) don't have integral type or have integral - type with higher precision than sizetype. Don't check arg1 >= 0 - uselessly. Compare argument indexes against gimple_call_num_args - in unsigned type rather than int. Formatting fixes. - -2023-12-18 Pan Li - - * config/riscv/riscv-v.cc (expand_const_vector): Take step2 - instead of step1 for second series. - -2023-12-18 liushuyu - - * config.gcc: Add loongarch-d.o to d_target_objs for LoongArch - architecture. - * config/loongarch/t-loongarch: Add object target for loongarch-d.cc. - * config/loongarch/loongarch-d.cc - (loongarch_d_target_versions): add interface function to define builtin - D versions for LoongArch architecture. - (loongarch_d_handle_target_float_abi): add interface function to define - builtin D traits for LoongArch architecture. - (loongarch_d_register_target_info): add interface function to register - loongarch_d_handle_target_float_abi function. - * config/loongarch/loongarch-d.h - (loongarch_d_target_versions): add function prototype. - (loongarch_d_register_target_info): Likewise. - -2023-12-18 xuli - - * config/riscv/vector.md: Add viota avl_type attribute. - -2023-12-18 Pan Li - - * config/riscv/riscv.cc (riscv_expand_mult_with_const_int): - Change int into HOST_WIDE_INT. - (riscv_legitimize_poly_move): Ditto. - -2023-12-17 Xi Ruoyao - - * config/loongarch/loongarch.md (alslsi3_extend): New - define_insn. - -2023-12-17 Xi Ruoyao - - PR target/112936 - * config/loongarch/loongarch-def.cc - (loongarch_rtx_cost_data::loongarch_rtx_cost_data): Update - instruction costs per micro-benchmark results. - (loongarch_rtx_cost_optimize_size): Set all instruction costs - to (COSTS_N_INSNS (1) + 1). - * config/loongarch/loongarch.cc (loongarch_rtx_costs): Remove - special case for multiplication when optimizing for size. - Adjust division cost when TARGET_64BIT && !TARGET_DIV32. - Account the extra cost when TARGET_CHECK_ZERO_DIV and - optimizing for speed. - -2023-12-17 Xi Ruoyao - - * config/loongarch/loongarch-def.cc (rtl.h): Include. - (COSTS_N_INSNS): Remove the macro definition. - -2023-12-17 Gerald Pfeifer - - PR target/69374 - * doc/install.texi (Specific) : Remove a note on - GCC 4.3. - Remove details on how the HP assembler, which we document as not - working, breaks. - : Note that only the HP linker is supported. - -2023-12-17 Gerald Pfeifer - - PR other/69374 - * doc/install.texi (Installing GCC): Remove reference to - buildstat.html. - (Testing): Ditto. - (Final install): Remove section on submitting information for - buildstat.html. Adjust the request for feedback. - -2023-12-16 David Malcolm - - * json.cc (print_escaped_json_string): New, taken from - string::print. - (object::print): Use it for printing keys. - (string::print): Move implementation to - print_escaped_json_string. - (selftest::test_writing_objects): Add a key containing - quote, backslash, and control characters. - -2023-12-16 Andrew Carlotti - - * config/aarch64/aarch64-feature-deps.h (fmv_deps_): - Define aarch64_feature_flags mask foreach FMV feature. - * config/aarch64/aarch64-option-extensions.def: Use new macros - to define FMV feature extensions. - * config/aarch64/aarch64.cc (aarch64_option_valid_attribute_p): - Check for target_version attribute after processing target - attribute. - (aarch64_fmv_feature_data): New. - (aarch64_parse_fmv_features): New. - (aarch64_process_target_version_attr): New. - (aarch64_option_valid_version_attribute_p): New. - (get_feature_mask_for_version): New. - (compare_feature_masks): New. - (aarch64_compare_version_priority): New. - (build_ifunc_arg_type): New. - (make_resolver_func): New. - (add_condition_to_bb): New. - (dispatch_function_versions): New. - (aarch64_generate_version_dispatcher_body): New. - (aarch64_get_function_versions_dispatcher): New. - (aarch64_common_function_versions): New. - (aarch64_mangle_decl_assembler_name): New. - (TARGET_OPTION_VALID_VERSION_ATTRIBUTE_P): New implementation. - (TARGET_OPTION_EXPANDED_CLONES_ATTRIBUTE): New implementation. - (TARGET_OPTION_FUNCTION_VERSIONS): New implementation. - (TARGET_COMPARE_VERSION_PRIORITY): New implementation. - (TARGET_GENERATE_VERSION_DISPATCHER_BODY): New implementation. - (TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): New implementation. - (TARGET_MANGLE_DECL_ASSEMBLER_NAME): New implementation. - * config/aarch64/aarch64.h (TARGET_HAS_FMV_TARGET_ATTRIBUTE): - Set target macro. - * config/arm/aarch-common.h (enum aarch_parse_opt_result): Add - new value to report duplicate FMV feature. - * common/config/aarch64/cpuinfo.h: New file. - -2023-12-16 Andrew Carlotti - - * attribs.cc (decl_attributes): Pass attribute name to target. - (is_function_default_version): Update comment to specify - incompatibility with target_version attributes. - * cgraphclones.cc (cgraph_node::create_version_clone_with_body): - Call valid_version_attribute_p for target_version attributes. - * defaults.h (TARGET_HAS_FMV_TARGET_ATTRIBUTE): New macro. - * target.def (valid_version_attribute_p): New hook. - * doc/tm.texi.in: Add new hook. - * doc/tm.texi: Regenerate. - * multiple_target.cc (create_dispatcher_calls): Remove redundant - is_function_default_version check. - (expand_target_clones): Use target macro to pick attribute name. - * targhooks.cc (default_target_option_valid_version_attribute_p): - New. - * targhooks.h (default_target_option_valid_version_attribute_p): - New. - * tree.h (DECL_FUNCTION_VERSIONED): Update comment to include - target_version attributes. - -2023-12-16 Andrew Carlotti - - * common/config/aarch64/aarch64-common.cc - (struct aarch64_option_extension): Remove unused field. - (all_extensions): Ditto. - (aarch64_get_extension_string_for_isa_flags): Remove filtering - of features without native detection. - * config/aarch64/driver-aarch64.cc (host_detect_local_cpu): - Explicitly add expected features that lack cpuinfo detection. - -2023-12-16 Andrew Carlotti - - * common/config/aarch64/aarch64-common.cc - (aarch64_get_extension_string_for_isa_flags): Fix generation of - the "+nocrypto" extension. - * config/aarch64/aarch64.h (AARCH64_ISA_CRYPTO): Remove. - (TARGET_CRYPTO): Remove. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): - Don't use TARGET_CRYPTO. - -2023-12-15 Mary Bennett - - * config/riscv/constraints.md: CVP2 -> CV_alu_pow2. - * config/riscv/corev.md: Likewise. - -2023-12-15 Mary Bennett - - * common/config/riscv/riscv-common.cc: Add XCVelw. - * config/riscv/corev.def: Likewise. - * config/riscv/corev.md: Likewise. - * config/riscv/riscv-builtins.cc (AVAIL): Likewise. - * config/riscv/riscv-ftypes.def: Likewise. - * config/riscv/riscv.opt: Likewise. - * doc/extend.texi: Add XCVelw builtin documentation. - * doc/sourcebuild.texi: Likewise. - -2023-12-15 Jeff Law - - PR target/110201 - * config/riscv/constraints.md (D03, DsA): Remove unused constraints. - * config/riscv/predicates.md (const_0_3_operand): New predicate. - (const_0_10_operand): Likewise. - * config/riscv/crypto.md (riscv_aes32dsi): Use new predicate. Drop - unnecessary constraint. - (riscv_aes32dsmi, riscv_aes64im, riscv_aes32esi): Likewise. - (riscv_aes32esmi, *riscv__si): Likewise. - (riscv__di_extend, riscv__si): Likewise. - -2023-12-15 Alex Coplan - - * config.gcc: Add aarch64-ldp-fusion.o to extra_objs for aarch64. - * config/aarch64/aarch64-passes.def: Add copies of pass_ldp_fusion - before and after RA. - * config/aarch64/aarch64-protos.h (make_pass_ldp_fusion): Declare. - * config/aarch64/aarch64.opt (-mearly-ldp-fusion): New. - (-mlate-ldp-fusion): New. - (--param=aarch64-ldp-alias-check-limit): New. - (--param=aarch64-ldp-writeback): New. - * config/aarch64/t-aarch64: Add rule for aarch64-ldp-fusion.o. - * config/aarch64/aarch64-ldp-fusion.cc: New file. - * doc/invoke.texi (AArch64 Options): Document new - -m{early,late}-ldp-fusion options. - -2023-12-15 Alex Coplan - - * config/aarch64/aarch64-ldpstp.md: Abstract ldp/stp - representation from peepholes, allowing use of new form. - * config/aarch64/aarch64-modes.def (V2x4QImode): Define. - * config/aarch64/aarch64-protos.h - (aarch64_finish_ldpstp_peephole): Declare. - (aarch64_swap_ldrstr_operands): Delete declaration. - (aarch64_gen_load_pair): Adjust parameters. - (aarch64_gen_store_pair): Likewise. - * config/aarch64/aarch64-simd.md (load_pair): - Delete. - (vec_store_pair): Delete. - (load_pair): Delete. - (vec_store_pair): Delete. - * config/aarch64/aarch64.cc (aarch64_pair_mode_for_mode): New. - (aarch64_gen_store_pair): Adjust to use new unspec form of stp. - Drop second mem from parameters. - (aarch64_gen_load_pair): Likewise. - (aarch64_pair_mem_from_base): New. - (aarch64_save_callee_saves): Emit REG_CFA_OFFSET notes for - frame-related saves. Adjust call to aarch64_gen_store_pair - (aarch64_restore_callee_saves): Adjust calls to - aarch64_gen_load_pair to account for change in interface. - (aarch64_process_components): Likewise. - (aarch64_classify_address): Handle 32-byte pair mems in - LDP_STP_N case. - (aarch64_print_operand): Likewise. - (aarch64_copy_one_block_and_progress_pointers): Adjust calls to - account for change in aarch64_gen_{load,store}_pair interface. - (aarch64_set_one_block_and_progress_pointer): Likewise. - (aarch64_finish_ldpstp_peephole): New. - (aarch64_gen_adjusted_ldpstp): Adjust to use generation helper. - * config/aarch64/aarch64.md (ldpstp): New attribute. - (load_pair_sw_): Delete. - (load_pair_dw_): Delete. - (load_pair_dw_): Delete. - (*load_pair_): New. - (*load_pair_16): New. - (store_pair_sw_): Delete. - (store_pair_dw_): Delete. - (store_pair_dw_): Delete. - (*store_pair_): New. - (*store_pair_16): New. - (*load_pair_extendsidi2_aarch64): Adjust to use new form. - (*zero_extendsidi2_aarch64): Likewise. - * config/aarch64/iterators.md (VPAIR): New. - * config/aarch64/predicates.md (aarch64_mem_pair_operand): Change to - a special predicate derived from aarch64_mem_pair_operator. - -2023-12-15 Alex Coplan - - * config/aarch64/aarch64-protos.h (aarch64_ldpstp_operand_mode_p): Declare. - * config/aarch64/aarch64.cc (aarch64_gen_storewb_pair): Build RTL - directly instead of invoking named pattern. - (aarch64_gen_loadwb_pair): Likewise. - (aarch64_ldpstp_operand_mode_p): New. - * config/aarch64/aarch64.md (loadwb_pair_): Replace with - ... - (*loadwb_post_pair_): ... this. Generalize as described - in cover letter. - (loadwb_pair_): Delete (superseded by the - above). - (*loadwb_post_pair_16): New. - (*loadwb_pre_pair_): New. - (loadwb_pair_): Delete. - (*loadwb_pre_pair_16): New. - (storewb_pair_): Replace with ... - (*storewb_pre_pair_): ... this. Generalize as - described in cover letter. - (*storewb_pre_pair_16): New. - (storewb_pair_): Delete. - (*storewb_post_pair_): New. - (storewb_pair_): Delete. - (*storewb_post_pair_16): New. - * config/aarch64/predicates.md (aarch64_mem_pair_operator): New. - (pmode_plus_operator): New. - (aarch64_ldp_reg_operand): New. - (aarch64_stp_reg_operand): New. - -2023-12-15 Alex Coplan - - * config/aarch64/aarch64.cc (aarch64_print_address_internal): Handle SVE - modes when printing ldp/stp addresses. - -2023-12-15 Alex Coplan - - * config/aarch64/aarch64-protos.h (aarch64_const_zero_rtx_p): New. - * config/aarch64/aarch64.cc (aarch64_const_zero_rtx_p): New. - Use it ... - (aarch64_print_operand): ... here. Recognize CONST0_RTXes in - modes other than VOIDmode. - -2023-12-15 Xiao Zeng - - * common/config/riscv/riscv-common.cc: - (riscv_implied_info): Add zvfbfmin item. - (riscv_ext_version_table): Ditto. - (riscv_ext_flag_table): Ditto. - * config/riscv/riscv.opt: - (MASK_ZVFBFMIN): New macro. - (MASK_VECTOR_ELEN_BF_16): Ditto. - (TARGET_ZVFBFMIN): Ditto. - -2023-12-15 Wilco Dijkstra - - * config/aarch64/aarch64.opt (aarch64_mops_memmove_size_threshold): - Change default. - * config/aarch64/aarch64.md (cpymemdi): Add a parameter. - (movmemdi): Call aarch64_expand_cpymem. - * config/aarch64/aarch64.cc (aarch64_copy_one_block): Rename function, - simplify, support storing generated loads/stores. - (aarch64_expand_cpymem): Support expansion of memmove. - * config/aarch64/aarch64-protos.h (aarch64_expand_cpymem): Add bool arg. - -2023-12-15 Juzhe-Zhong - - * config/riscv/riscv-v.cc (shuffle_merge_patterns): Fix bug. - -2023-12-15 Jakub Jelinek - - * target.h (struct bitint_info): Add abi_limb_mode member, adjust - comment. - * target.def (bitint_type_info): Mention abi_limb_mode instead of - limb_mode. - * varasm.cc (output_constant): Use abi_limb_mode rather than - limb_mode. - * stor-layout.cc (finish_bitfield_representative): Likewise. Assert - that if precision is smaller or equal to abi_limb_mode precision or - if info.big_endian is different from WORDS_BIG_ENDIAN, info.limb_mode - must be the same as info.abi_limb_mode. - (layout_type): Use abi_limb_mode rather than limb_mode. - * gimple-fold.cc (clear_padding_bitint_needs_padding_p): Likewise. - (clear_padding_type): Likewise. - * config/i386/i386.cc (ix86_bitint_type_info): Also set - info->abi_limb_mode. - * doc/tm.texi: Regenerated. - -2023-12-15 Julian Brown - - * gimplify.cc (extract_base_bit_offset): Add VARIABLE_OFFSET parameter. - (omp_get_attachment, omp_group_last, omp_group_base, - omp_directive_maps_explicitly): Add GOMP_MAP_STRUCT_UNORD support. - (omp_accumulate_sibling_list): Update calls to extract_base_bit_offset. - Support GOMP_MAP_STRUCT_UNORD. - (omp_build_struct_sibling_lists, gimplify_scan_omp_clauses, - gimplify_adjust_omp_clauses, gimplify_omp_target_update): Add - GOMP_MAP_STRUCT_UNORD support. - * omp-low.cc (lower_omp_target): Add GOMP_MAP_STRUCT_UNORD support. - * tree-pretty-print.cc (dump_omp_clause): Likewise. - -2023-12-15 Alex Coplan - - PR target/112906 - * config/aarch64/aarch64-sve.md (@aarch64_vec_duplicate_vq_le): - Use force_reload_address to reload addresses that aren't suitable for - ld1rq in the pre-RA splitter. - -2023-12-15 Alex Coplan - - PR target/112906 - * emit-rtl.cc (address_reload_context::emit_autoinc): New. - (force_reload_address): New. - * emit-rtl.h (struct address_reload_context): Declare. - (force_reload_address): Declare. - * lra-constraints.cc (class lra_autoinc_reload_context): New. - (emit_inc): Drop IN parameter, invoke - code moved to emit-rtl.cc:address_reload_context::emit_autoinc. - (curr_insn_transform): Drop redundant IN parameter in call to - emit_inc. - * recog.h (class recog_data_saver): New. - -2023-12-15 Jakub Jelinek - - PR tree-optimization/113024 - * match.pd (two conversions in a row): Simplify scalar integer - sign-extension followed by truncation. - -2023-12-15 Jakub Jelinek - - PR tree-optimization/113003 - * gimple-lower-bitint.cc (arith_overflow_arg_kind): New function. - (gimple_lower_bitint): Use it to catch .{ADD,SUB,MUL}_OVERFLOW - calls with large/huge INTEGER_CST arguments. - -2023-12-15 Gerald Pfeifer - - * doc/install.texi (Specific) : Update nvptx-tools - Github link. - -2023-12-15 Hongyu Wang - - PR target/112824 - * config/i386/i386-options.cc (ix86_option_override_internal): - Sync ix86_move_max/ix86_store_max with prefer_vector_width when - it is explicitly set. - -2023-12-15 Haochen Jiang - - * config/i386/driver-i386.cc (host_detect_local_cpu): Do not - set Grand Ridge depending on RAO-INT. - * config/i386/i386.h: Remove PTA_RAOINT from PTA_GRANDRIDGE. - * doc/invoke.texi: Adjust documentation. - -2023-12-15 Juzhe-Zhong - - PR target/112387 - * config/riscv/riscv.cc: Adapt generic cost model same ARM SVE. - -2023-12-15 Juzhe-Zhong - - PR target/111153 - * tree-vect-loop.cc (vect_estimate_min_profitable_iters): - Remove address cost for select_vl/decrement IV. - -2023-12-14 Andrew Pinski - - PR middle-end/111260 - * optabs.cc (emit_conditional_move): Change the modes to be - equal before forcing the constant to a register. - -2023-12-14 Di Zhao - - PR tree-optimization/110279 - * doc/invoke.texi: New parameter fully-pipelined-fma. - * params.opt: New parameter fully-pipelined-fma. - * tree-ssa-reassoc.cc (get_mult_latency_consider_fma): Return - the latency of MULT_EXPRs that can't be hidden by the FMAs. - (get_reassociation_width): Search for a smaller width - considering the benefit of fully pipelined FMA. - (rank_ops_for_fma): Return the number of MULT_EXPRs. - (reassociate_bb): Pass the number of MULT_EXPRs to - get_reassociation_width; avoid calling - get_reassociation_width twice. - -2023-12-14 Robin Dapp - - PR target/112999 - * expmed.cc (extract_bit_field_1): Ensure better mode - has fitting unit_precision. - -2023-12-14 Robin Dapp - - PR target/112773 - * config/riscv/autovec.md (vec_extractbi): New expander - calling vec_extractqi. - * config/riscv/riscv-protos.h (riscv_legitimize_poly_move): - Export. - (emit_vec_extract): Change argument from poly_int64 to rtx. - * config/riscv/riscv-v.cc (shuffle_extract_and_slide1up_patterns): - Ditto. - * config/riscv/riscv.cc (riscv_legitimize_poly_move): Export. - (riscv_legitimize_move): Use rtx instead of poly_int64. - * expmed.cc (store_bit_field_1): Change BITSIZE to PRECISION. - (extract_bit_field_1): Change BITSIZE to PRECISION and use - return mode from insn_data as target mode. - -2023-12-14 Alex Coplan - - * doc/extend.texi: Document AArch64 Operand Modifiers. - -2023-12-14 Richard Biener - - PR tree-optimization/113018 - * tree-vect-slp.cc (vect_slp_check_for_roots): Only start - SLP discovery from stmts with a LHS. - -2023-12-14 Richard Biener - - PR tree-optimization/112793 - * tree-vect-slp.cc (vect_schedule_slp_node): Already - code-generated constant/external nodes are OK. - -2023-12-14 Richard Sandiford - - * config/aarch64/aarch64-early-ra.cc (allocno_info::is_equiv): New - member variable. - (allocno_info::equiv_allocno): Replace with... - (allocno_info::related_allocno): ...this member variable. - (allocno_info::chain_prev): Put into an enum with... - (allocno_info::last_use_point): ...this new member variable. - (color_info::num_fpr_preferences): New member variable. - (early_ra::m_shared_allocnos): Likewise. - (allocno_info::is_shared): New member function. - (allocno_info::is_equiv_to): Likewise. - (early_ra::dump_allocnos): Dump sharing information. Tweak column - widths. - (early_ra::fpr_preference): Check ALLOWS_NONFPR before returning -2. - (early_ra::start_new_region): Handle m_shared_allocnos. - (early_ra::create_allocno_group): Set related_allocno rather than - equiv_allocno. - (early_ra::record_allocno_use): Likewise. Detect multiple calls - for the same program point. Update last_use_point and is_equiv. - Clear is_strong_copy_src rather than is_strong_copy_dest. - (early_ra::record_allocno_def): Use related_allocno rather than - equiv_allocno. Update last_use_point. - (early_ra::valid_equivalence_p): Replace with... - (early_ra::find_related_start): ...this new function. - (early_ra::record_copy): Look for cases where a destination copy chain - can be shared with the source allocno. - (early_ra::find_strided_accesses): Update for equiv_allocno-> - related_allocno change. Only call consider_strong_copy_src_chain - at the head of a copy chain. - (early_ra::is_chain_candidate): Skip shared allocnos. Update for - new representation of equivalent allocnos. - (early_ra::chain_allocnos): Update for new representation of - equivalent allocnos. - (early_ra::try_to_chain_allocnos): Likewise. - (early_ra::merge_fpr_info): New function, split out from... - (early_ra::set_single_color_rep): ...here. - (early_ra::form_chains): Handle shared allocnos. - (early_ra::process_copies): Count the number of FPR preferences. - (early_ra::cmp_decreasing_size): Rename to... - (early_ra::cmp_allocation_order): ...this. Sort equal-sized groups - by the number of FPR preferences. - (early_ra::finalize_allocation): Handle shared allocnos. - (early_ra::process_region): Reset chain_prev as well as chain_next. - -2023-12-14 Alexandre Oliva - - PR middle-end/112938 - * ipa-strub.cc (pass_ipa_strub::execute): Pass volatile args - by reference to internal strub wrapped bodies. - -2023-12-14 Alexandre Oliva - - PR middle-end/112938 - * ipa-strub.cc (pass_ipa_strub::execute): Handle promoted - volatile args in internal strub. Simplify. - -2023-12-14 Thomas Schwinge - - * gimple-ssa-sccopy.cc: '#define INCLUDE_ALGORITHM' instead of - '#include '. - -2023-12-14 Feng Wang - - Revert: - 2023-12-12 Feng Wang - - * config/riscv/riscv-vector-builtins-functions.def (DEF_RVV_FUNCTION): - Add AVAIL argument. - (read_vl): Using AVAIL argument default value. - (vlenb): Ditto. - (vsetvl): Ditto. - (vsetvlmax): Ditto. - (vle): Ditto. - (vse): Ditto. - (vlm): Ditto. - (vsm): Ditto. - (vlse): Ditto. - (vsse): Ditto. - (vluxei8): Ditto. - (vluxei16): Ditto. - (vluxei32): Ditto. - (vluxei64): Ditto. - (vloxei8): Ditto. - (vloxei16): Ditto. - (vloxei32): Ditto. - (vloxei64): Ditto. - (vsuxei8): Ditto. - (vsuxei16): Ditto. - (vsuxei32): Ditto. - (vsuxei64): Ditto. - (vsoxei8): Ditto. - (vsoxei16): Ditto. - (vsoxei32): Ditto. - (vsoxei64): Ditto. - (vleff): Ditto. - (vadd): Ditto. - (vsub): Ditto. - (vrsub): Ditto. - (vneg): Ditto. - (vwaddu): Ditto. - (vwsubu): Ditto. - (vwadd): Ditto. - (vwsub): Ditto. - (vwcvt_x): Ditto. - (vwcvtu_x): Ditto. - (vzext): Ditto. - (vsext): Ditto. - (vadc): Ditto. - (vmadc): Ditto. - (vsbc): Ditto. - (vmsbc): Ditto. - (vand): Ditto. - (vor): Ditto. - (vxor): Ditto. - (vnot): Ditto. - (vsll): Ditto. - (vsra): Ditto. - (vsrl): Ditto. - (vnsrl): Ditto. - (vnsra): Ditto. - (vncvt_x): Ditto. - (vmseq): Ditto. - (vmsne): Ditto. - (vmsltu): Ditto. - (vmslt): Ditto. - (vmsleu): Ditto. - (vmsle): Ditto. - (vmsgtu): Ditto. - (vmsgt): Ditto. - (vmsgeu): Ditto. - (vmsge): Ditto. - (vminu): Ditto. - (vmin): Ditto. - (vmaxu): Ditto. - (vmax): Ditto. - (vmul): Ditto. - (vmulh): Ditto. - (vmulhu): Ditto. - (vmulhsu): Ditto. - (vdivu): Ditto. - (vdiv): Ditto. - (vremu): Ditto. - (vrem): Ditto. - (vwmul): Ditto. - (vwmulu): Ditto. - (vwmulsu): Ditto. - (vmacc): Ditto. - (vnmsac): Ditto. - (vmadd): Ditto. - (vnmsub): Ditto. - (vwmaccu): Ditto. - (vwmacc): Ditto. - (vwmaccsu): Ditto. - (vwmaccus): Ditto. - (vmerge): Ditto. - (vmv_v): Ditto. - (vsaddu): Ditto. - (vsadd): Ditto. - (vssubu): Ditto. - (vssub): Ditto. - (vaaddu): Ditto. - (vaadd): Ditto. - (vasubu): Ditto. - (vasub): Ditto. - (vsmul): Ditto. - (vssrl): Ditto. - (vssra): Ditto. - (vnclipu): Ditto. - (vnclip): Ditto. - (vfadd): Ditto. - (vfsub): Ditto. - (vfrsub): Ditto. - (vfadd_frm): Ditto. - (vfsub_frm): Ditto. - (vfrsub_frm): Ditto. - (vfwadd): Ditto. - (vfwsub): Ditto. - (vfwadd_frm): Ditto. - (vfwsub_frm): Ditto. - (vfmul): Ditto. - (vfdiv): Ditto. - (vfrdiv): Ditto. - (vfmul_frm): Ditto. - (vfdiv_frm): Ditto. - (vfrdiv_frm): Ditto. - (vfwmul): Ditto. - (vfwmul_frm): Ditto. - (vfmacc): Ditto. - (vfnmsac): Ditto. - (vfmadd): Ditto. - (vfnmsub): Ditto. - (vfnmacc): Ditto. - (vfmsac): Ditto. - (vfnmadd): Ditto. - (vfmsub): Ditto. - (vfmacc_frm): Ditto. - (vfnmacc_frm): Ditto. - (vfmsac_frm): Ditto. - (vfnmsac_frm): Ditto. - (vfmadd_frm): Ditto. - (vfnmadd_frm): Ditto. - (vfmsub_frm): Ditto. - (vfnmsub_frm): Ditto. - (vfwmacc): Ditto. - (vfwnmacc): Ditto. - (vfwmsac): Ditto. - (vfwnmsac): Ditto. - (vfwmacc_frm): Ditto. - (vfwnmacc_frm): Ditto. - (vfwmsac_frm): Ditto. - (vfwnmsac_frm): Ditto. - (vfsqrt): Ditto. - (vfsqrt_frm): Ditto. - (vfrsqrt7): Ditto. - (vfrec7): Ditto. - (vfrec7_frm): Ditto. - (vfmin): Ditto. - (vfmax): Ditto. - (vfsgnj): Ditto. - (vfsgnjn): Ditto. - (vfsgnjx): Ditto. - (vfneg): Ditto. - (vfabs): Ditto. - (vmfeq): Ditto. - (vmfne): Ditto. - (vmflt): Ditto. - (vmfle): Ditto. - (vmfgt): Ditto. - (vmfge): Ditto. - (vfclass): Ditto. - (vfmerge): Ditto. - (vfmv_v): Ditto. - (vfcvt_x): Ditto. - (vfcvt_xu): Ditto. - (vfcvt_rtz_x): Ditto. - (vfcvt_rtz_xu): Ditto. - (vfcvt_f): Ditto. - (vfcvt_x_frm): Ditto. - (vfcvt_xu_frm): Ditto. - (vfcvt_f_frm): Ditto. - (vfwcvt_x): Ditto. - (vfwcvt_xu): Ditto. - (vfwcvt_rtz_x): Ditto. - (vfwcvt_rtz_xu) Ditto.: - (vfwcvt_f): Ditto. - (vfwcvt_x_frm): Ditto. - (vfwcvt_xu_frm) Ditto.: - (vfncvt_x): Ditto. - (vfncvt_xu): Ditto. - (vfncvt_rtz_x): Ditto. - (vfncvt_rtz_xu): Ditto. - (vfncvt_f): Ditto. - (vfncvt_rod_f): Ditto. - (vfncvt_x_frm): Ditto. - (vfncvt_xu_frm): Ditto. - (vfncvt_f_frm): Ditto. - (vredsum): Ditto. - (vredmaxu): Ditto. - (vredmax): Ditto. - (vredminu): Ditto. - (vredmin): Ditto. - (vredand): Ditto. - (vredor): Ditto. - (vredxor): Ditto. - (vwredsum): Ditto. - (vwredsumu): Ditto. - (vfredusum): Ditto. - (vfredosum): Ditto. - (vfredmax): Ditto. - (vfredmin): Ditto. - (vfredusum_frm): Ditto. - (vfredosum_frm): Ditto. - (vfwredosum): Ditto. - (vfwredusum): Ditto. - (vfwredosum_frm): Ditto. - (vfwredusum_frm): Ditto. - (vmand): Ditto. - (vmnand): Ditto. - (vmandn): Ditto. - (vmxor): Ditto. - (vmor): Ditto. - (vmnor): Ditto. - (vmorn): Ditto. - (vmxnor): Ditto. - (vmmv): Ditto. - (vmclr): Ditto. - (vmset): Ditto. - (vmnot): Ditto. - (vcpop): Ditto. - (vfirst): Ditto. - (vmsbf): Ditto. - (vmsif): Ditto. - (vmsof): Ditto. - (viota): Ditto. - (vid): Ditto. - (vmv_x): Ditto. - (vmv_s): Ditto. - (vfmv_f): Ditto. - (vfmv_s): Ditto. - (vslideup): Ditto. - (vslidedown): Ditto. - (vslide1up): Ditto. - (vslide1down): Ditto. - (vfslide1up): Ditto. - (vfslide1down): Ditto. - (vrgather): Ditto. - (vrgatherei16): Ditto. - (vcompress): Ditto. - (vundefined): Ditto. - (vreinterpret): Ditto. - (vlmul_ext): Ditto. - (vlmul_trunc): Ditto. - (vset): Ditto. - (vget): Ditto. - (vcreate): Ditto. - (vlseg): Ditto. - (vsseg): Ditto. - (vlsseg): Ditto. - (vssseg): Ditto. - (vluxseg): Ditto. - (vloxseg): Ditto. - (vsuxseg): Ditto. - (vsoxseg): Ditto. - (vlsegff): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_FUNCTION): Using variadic macro. - * config/riscv/riscv-vector-builtins.h (struct function_group_info): - Add avail function interface into struct. - * config/riscv/t-riscv: Add dependency - * config/riscv/riscv-vector-builtins-avail.h: New file.The definition of AVAIL marco. - -2023-12-14 Jakub Jelinek - - PR tree-optimization/112994 - * match.pd ((t * u) / (t * v) -> (u / v)): New simplification. - -2023-12-14 Jakub Jelinek - - PR tree-optimization/112994 - * match.pd ((t * 2) / 2 -> t): Adjust comment to use u instead of 2. - Punt without range checks if TYPE_OVERFLOW_SANITIZED. - ((t * u) / v -> t * (u / v)): New simplification. - -2023-12-14 Filip Kastl - - * Makefile.in: Added sccopy pass. - * passes.def: Added sccopy pass before LTO streaming and before - RTL expansion. - * tree-pass.h (make_pass_sccopy): Added sccopy pass. - * gimple-ssa-sccopy.cc: New file. - -2023-12-14 Martin Jambor - - PR tree-optimization/111807 - * tree-sra.cc (build_ref_for_model): Allow offset smaller than - model->offset when gsi is non-NULL. Adjust function comment. - -2023-12-14 liuhongt - - PR target/112992 - * config/i386/i386-expand.cc - (ix86_convert_const_wide_int_to_broadcast): Don't convert to - broadcast for vec_dup{v4di,v8si} when TARGET_AVX2 is not - available. - (ix86_broadcast_from_constant): Allow broadcast for V4DI/V8SI - when !TARGET_AVX2 since it will be forced to memory later. - (ix86_expand_vector_move): Force constant to mem for - vec_dup{vssi,v4di} when TARGET_AVX2 is not available. - -2023-12-14 Juzhe-Zhong - - PR target/111153 - * config/riscv/riscv-protos.h (struct common_vector_cost): New struct. - (struct scalable_vector_cost): Ditto. - (struct cpu_vector_cost): Ditto. - * config/riscv/riscv-vector-costs.cc (costs::add_stmt_cost): Add RVV - builtin vectorization cost - * config/riscv/riscv.cc (struct riscv_tune_param): Ditto. - (get_common_costs): New function. - (riscv_builtin_vectorization_cost): Ditto. - (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): New targethook. - -2023-12-13 Richard Ball - - * config.gcc: Adds new header to config. - * config/aarch64/aarch64-builtins.cc (enum aarch64_type_qualifiers): - Moved to header file. - (ENTRY): Likewise. - (enum aarch64_simd_type): Likewise. - (struct aarch64_simd_type_info): Remove static. - (GTY): Likewise. - * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): - Defines pragma for arm_neon_sve_bridge.h. - * config/aarch64/aarch64-protos.h: - Add handle_arm_neon_sve_bridge_h - * config/aarch64/aarch64-sve-builtins-base.h: New intrinsics. - * config/aarch64/aarch64-sve-builtins-base.cc - (class svget_neonq_impl): New intrinsic implementation. - (class svset_neonq_impl): Likewise. - (class svdup_neonq_impl): Likewise. - (NEON_SVE_BRIDGE_FUNCTION): New intrinsics. - * config/aarch64/aarch64-sve-builtins-functions.h - (NEON_SVE_BRIDGE_FUNCTION): Defines macro for NEON_SVE_BRIDGE - functions. - * config/aarch64/aarch64-sve-builtins-shapes.h: New shapes. - * config/aarch64/aarch64-sve-builtins-shapes.cc - (parse_element_type): Add NEON element types. - (parse_type): Likewise. - (struct get_neonq_def): Defines function shape for get_neonq. - (struct set_neonq_def): Defines function shape for set_neonq. - (struct dup_neonq_def): Defines function shape for dup_neonq. - * config/aarch64/aarch64-sve-builtins.cc - (DEF_SVE_TYPE_SUFFIX): Changed to be called through - SVE_NEON macro. - (DEF_SVE_NEON_TYPE_SUFFIX): Defines - macro for NEON_SVE_BRIDGE type suffixes. - (DEF_NEON_SVE_FUNCTION): Defines - macro for NEON_SVE_BRIDGE functions. - (function_resolver::infer_neon128_vector_type): Infers type suffix - for overloaded functions. - (handle_arm_neon_sve_bridge_h): Handles #pragma arm_neon_sve_bridge.h. - * config/aarch64/aarch64-sve-builtins.def - (DEF_SVE_NEON_TYPE_SUFFIX): Macro for handling neon_sve type suffixes. - (bf16): Replace entry with neon-sve entry. - (f16): Likewise. - (f32): Likewise. - (f64): Likewise. - (s8): Likewise. - (s16): Likewise. - (s32): Likewise. - (s64): Likewise. - (u8): Likewise. - (u16): Likewise. - (u32): Likewise. - (u64): Likewise. - * config/aarch64/aarch64-sve-builtins.h - (GCC_AARCH64_SVE_BUILTINS_H): Include aarch64-builtins.h. - (ENTRY): Add aarch64_simd_type definiton. - (enum aarch64_simd_type): Add neon information to type_suffix_info. - (struct type_suffix_info): New function. - * config/aarch64/aarch64-sve.md - (@aarch64_sve_get_neonq_): New intrinsic insn for big endian. - (@aarch64_sve_set_neonq_): Likewise. - * config/aarch64/iterators.md: Add UNSPEC_SET_NEONQ. - * config/aarch64/aarch64-builtins.h: New file. - * config/aarch64/aarch64-neon-sve-bridge-builtins.def: New file. - * config/aarch64/arm_neon_sve_bridge.h: New file. - -2023-12-13 Patrick Palka - - * doc/invoke.texi (C++ Dialect Options): Document - -fdiagnostics-all-candidates. - -2023-12-13 Julian Brown - - * gimplify.cc (omp_map_clause_descriptor_p): New function. - (build_omp_struct_comp_nodes, omp_get_attachment, omp_group_base): Use - above function. - (omp_tsort_mapping_groups): Process nodes that have - OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P set after those that don't. Add - enter_exit_data parameter. - (omp_resolve_clause_dependencies): Remove GOMP_MAP_TO_PSET mappings if - we're mapping the whole containing derived-type variable. - (omp_accumulate_sibling_list): Adjust GOMP_MAP_TO_PSET handling. - Remove GOMP_MAP_ALWAYS_POINTER handling. - (gimplify_scan_omp_clauses): Pass enter_exit argument to - omp_tsort_mapping_groups. Don't adjust/remove GOMP_MAP_TO_PSET - mappings for derived-type components here. - * tree.h (OMP_CLAUSE_RELEASE_DESCRIPTOR): New macro. - * tree-pretty-print.cc (dump_omp_clause): Show - OMP_CLAUSE_RELEASE_DESCRIPTOR in dump output (with - GOMP_MAP_TO_PSET-like syntax). - -2023-12-13 Julian Brown - - * gimplify.cc (build_struct_comp_nodes): Don't process - GOMP_MAP_ATTACH_DETACH "middle" nodes here. - (omp_mapping_group): Add REPROCESS_STRUCT and FRAGILE booleans for - nested struct handling. - (omp_strip_components_and_deref, omp_strip_indirections): Remove - functions. - (omp_get_attachment): Handle GOMP_MAP_DETACH here. - (omp_group_last): Handle GOMP_MAP_*, GOMP_MAP_DETACH, - GOMP_MAP_ATTACH_DETACH groups for "exit data" of reference-to-pointer - component array sections. - (omp_gather_mapping_groups_1): Initialise reprocess_struct and fragile - fields. - (omp_group_base): Handle GOMP_MAP_ATTACH_DETACH after GOMP_MAP_STRUCT. - (omp_index_mapping_groups_1): Skip reprocess_struct groups. - (omp_get_nonfirstprivate_group, omp_directive_maps_explicitly, - omp_resolve_clause_dependencies, omp_first_chained_access_token): New - functions. - (omp_check_mapping_compatibility): Adjust accepted node combinations - for "from" clauses using release instead of alloc. - (omp_accumulate_sibling_list): Add GROUP_MAP, ADDR_TOKENS, FRAGILE_P, - REPROCESSING_STRUCT, ADDED_TAIL parameters. Use OMP address tokenizer - to analyze addresses. Reimplement nested struct handling, and - implement "fragile groups". - (omp_build_struct_sibling_lists): Adjust for changes to - omp_accumulate_sibling_list. Recalculate bias for ATTACH_DETACH nodes - after GOMP_MAP_STRUCT nodes. - (gimplify_scan_omp_clauses): Call omp_resolve_clause_dependencies. Use - OMP address tokenizer. - (gimplify_adjust_omp_clauses_1): Use build_fold_indirect_ref_loc - instead of build_simple_mem_ref_loc. - * omp-general.cc (omp-general.h, tree-pretty-print.h): Include. - (omp_addr_tokenizer): New namespace. - (omp_addr_tokenizer::omp_addr_token): New. - (omp_addr_tokenizer::omp_parse_component_selector, - omp_addr_tokenizer::omp_parse_ref, - omp_addr_tokenizer::omp_parse_pointer, - omp_addr_tokenizer::omp_parse_access_method, - omp_addr_tokenizer::omp_parse_access_methods, - omp_addr_tokenizer::omp_parse_structure_base, - omp_addr_tokenizer::omp_parse_structured_expr, - omp_addr_tokenizer::omp_parse_array_expr, - omp_addr_tokenizer::omp_access_chain_p, - omp_addr_tokenizer::omp_accessed_addr): New functions. - (omp_parse_expr, debug_omp_tokenized_addr): New functions. - * omp-general.h (omp_addr_tokenizer::access_method_kinds, - omp_addr_tokenizer::structure_base_kinds, - omp_addr_tokenizer::token_type, - omp_addr_tokenizer::omp_addr_token, - omp_addr_tokenizer::omp_access_chain_p, - omp_addr_tokenizer::omp_accessed_addr): New. - (omp_addr_token, omp_parse_expr): New. - * omp-low.cc (scan_sharing_clauses): Skip error check for references - to pointers. - * tree.h (OMP_CLAUSE_ATTACHMENT_MAPPING_ERASED): New macro. - -2023-12-13 Andrew Stubbs - - * config/gcn/gcn-hsa.h (NO_XNACK): Change the defaults. - * config/gcn/gcn-opts.h (enum hsaco_attr_type): Add HSACO_ATTR_DEFAULT. - * config/gcn/gcn.cc (gcn_option_override): Set the default flag_xnack. - * config/gcn/gcn.opt: Add -mxnack=default. - * doc/invoke.texi: Document the -mxnack default. - -2023-12-13 Andrew Stubbs - - * config/gcn/gcn-hsa.h (NO_XNACK): Ignore missing -march. - (XNACKOPT): Match on/off; ignore any. - * config/gcn/gcn-valu.md (gather_insn_1offset): - Add xnack compatible alternatives. - (gather_insn_2offsets): Likewise. - * config/gcn/gcn.cc (gcn_option_override): Permit -mxnack for devices - other than Fiji and gfx1030. - (gcn_expand_epilogue): Remove early-clobber problems. - (gcn_hsa_declare_function_name): Obey -mxnack setting. - * config/gcn/gcn.md (xnack): New attribute. - (enabled): Rework to include "xnack" attribute. - (*movbi): Add xnack compatible alternatives. - (*mov_insn): Likewise. - (*mov_insn): Likewise. - (*mov_insn): Likewise. - (*movti_insn): Likewise. - * config/gcn/gcn.opt (-mxnack): Change the default to "any". - * doc/invoke.texi: Remove placeholder notice for -mxnack. - -2023-12-13 Andrew Carlotti - - * config/aarch64/x-aarch64: Add missing dependencies. - -2023-12-13 Roger Sayle - Jeff Law - - * config/arc/arc.md (*extvsi_n_0): New define_insn_and_split to - implement SImode sign extract using a AND, XOR and MINUS sequence. - -2023-12-13 Feng Wang - - * common/config/riscv/riscv-common.cc: Modify implied ISA info. - * config/riscv/arch-canonicalize: Add crypto vector implied info. - -2023-12-13 Juzhe-Zhong - - PR target/112929 - PR target/112988 - * config/riscv/riscv-vsetvl.cc - (pre_vsetvl::compute_lcm_local_properties): Remove full available. - (pre_vsetvl::pre_global_vsetvl_info): Add full available optimization. - -2023-12-13 Juzhe-Zhong - - PR target/111317 - * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Adjust for COST for decrement IV. - -2023-12-13 Jakub Jelinek - - PR tree-optimization/112940 - * gimple-lower-bitint.cc (struct bitint_large_huge): Add another - argument to prepare_data_in_out method defaulted to NULL_TREE. - (bitint_large_huge::handle_operand): Pass another argument to - prepare_data_in_out instead of emitting an assignment to set it. - (bitint_large_huge::prepare_data_in_out): Add VAL_OUT argument. - If non-NULL, use it as PHI argument instead of creating a new - SSA_NAME. - (bitint_large_huge::handle_cast): Pass rext as another argument - to 2 prepare_data_in_out calls instead of emitting assignments - to set them. - -2023-12-13 Jakub Jelinek - - PR middle-end/112953 - * attribs.cc (free_attr_data): Use delete x rather than delete[] x. - -2023-12-13 Jakub Jelinek - - PR target/112962 - * config/i386/i386.cc (ix86_gimple_fold_builtin): For shifts - and abs without lhs replace with nop. - -2023-12-13 Richard Biener - - * emit-rtl.cc (set_mem_attributes_minus_bitpos): Preserve - the offset when rewriting an exising MEM_REF base for - stack slot sharing. - -2023-12-13 Richard Biener - - PR tree-optimization/112991 - PR tree-optimization/112961 - * tree-ssa-sccvn.h (do_rpo_vn): Add skip_entry_phis argument. - * tree-ssa-sccvn.cc (do_rpo_vn): Likewise. - (do_rpo_vn_1): Likewise, merge with auto-processing. - (run_rpo_vn): Adjust. - (pass_fre::execute): Likewise. - * tree-if-conv.cc (tree_if_conversion): Revert last change. - Value-number latch block but disable value-numbering of - entry PHIs. - * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust. - -2023-12-13 Richard Biener - - PR tree-optimization/112990 - * match.pd (bit_insert @0 (BIT_FIELD_REF @1 ..) ..): - Restrict to vector modes after lowering. - -2023-12-13 Richard Biener - - PR middle-end/111591 - * cfgexpand.cc (update_alias_info_with_stack_vars): Document - why not adjusting TBAA info on accesses is OK. - -2023-12-13 Alexandre Oliva - - * doc/invoke.texi (multiflags): Drop extraneous period, use - @pxref instead. - -2023-12-13 Victor Do Nascimento - - * config/aarch64/aarch64-builtins.cc: - (AARCH64_PLD): New enum aarch64_builtins entry. - (AARCH64_PLDX): Likewise. - (AARCH64_PLI): Likewise. - (AARCH64_PLIX): Likewise. - (aarch64_init_prefetch_builtin): New. - (aarch64_general_init_builtins): Call prefetch init function. - (aarch64_expand_prefetch_builtin): New. - (aarch64_general_expand_builtin): Add prefetch expansion. - (require_const_argument): New. - * config/aarch64/aarch64.md (UNSPEC_PLDX): New. - (aarch64_pldx): Likewise. - * config/aarch64/arm_acle.h (__pld): Likewise. - (__pli): Likewise. - (__plix): Likewise. - (__pldx): Likewise. - -2023-12-13 Kewen Lin - - PR tree-optimization/112788 - * value-range.h (range_compatible_p): Workaround same type mode but - different type precision issue for rs6000 scalar float types - _Float128 and long double. - -2023-12-13 Jiufu Guo - - * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Add code to use - pli for 34bit constant. - -2023-12-13 Jiufu Guo - - * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Add new - parameter to record number of instructions to build the constant. - (num_insns_constant_gpr): Call rs6000_emit_set_long_const to compute - num_insn. - -2023-12-12 Juzhe-Zhong - - * config/riscv/riscv-vector-costs.cc (costs::analyze_loop_vinfo): New function. - (costs::record_potential_vls_unrolling): Ditto. - (costs::prefer_unrolled_loop): Ditto. - (costs::better_main_loop_than_p): Ditto. - (costs::add_stmt_cost): Ditto. - * config/riscv/riscv-vector-costs.h (enum cost_type_enum): New enum. - * config/riscv/t-riscv: Add new include files. - -2023-12-12 Juzhe-Zhong - - * config/riscv/riscv-vector-costs.cc (get_current_lmul): Remove it. - (compute_estimated_lmul): New function. - (costs::costs): Refactor. - (costs::preferred_new_lmul_p): Ditto. - (preferred_new_lmul_p): Ditto. - (costs::better_main_loop_than_p): Ditto. - * config/riscv/riscv-vector-costs.h (struct autovec_info): Remove it. - -2023-12-12 Martin Jambor - - PR tree-optimization/112822 - * tree-sra.cc (load_assign_lhs_subreplacements): Invoke - force_gimple_operand_gsi also when LHS has partial stores and RHS is a - VIEW_CONVERT_EXPR. - -2023-12-12 Jason Merrill - Nathaniel Shead - - * tree-core.h (enum clobber_kind): Rename CLOBBER_EOL to - CLOBBER_STORAGE_END. Add CLOBBER_STORAGE_BEGIN, - CLOBBER_OBJECT_BEGIN, CLOBBER_OBJECT_END. - * gimple-lower-bitint.cc - * gimple-ssa-warn-access.cc - * gimplify.cc - * tree-inline.cc - * tree-ssa-ccp.cc: Adjust for rename. - * tree-pretty-print.cc: And handle new values. - -2023-12-12 Szabolcs Nagy - - * config/aarch64/aarch64.cc (aarch64_override_options): Update. - (aarch64_handle_attr_branch_protection): Update. - * config/arm/aarch-common-protos.h (aarch_parse_branch_protection): - Remove. - (aarch_validate_mbranch_protection): Add new argument. - * config/arm/aarch-common.cc (aarch_handle_no_branch_protection): - Update. - (aarch_handle_standard_branch_protection): Update. - (aarch_handle_pac_ret_protection): Update. - (aarch_handle_pac_ret_leaf): Update. - (aarch_handle_pac_ret_b_key): Update. - (aarch_handle_bti_protection): Update. - (aarch_parse_branch_protection): Remove. - (next_tok): New. - (aarch_validate_mbranch_protection): Rewrite. - * config/arm/aarch-common.h (struct aarch_branch_protect_type): - Add field "alone". - * config/arm/arm.cc (arm_configure_build_target): Update. - -2023-12-12 Szabolcs Nagy - - * config/aarch64/aarch64.cc (aarch64_override_options_after_change_1): - Do not override branch_protection options. - (aarch64_override_options): Remove accepted_branch_protection_string. - * config/arm/aarch-common.cc (BRANCH_PROTECT_STR_MAX): Remove. - (aarch_parse_branch_protection): Remove - accepted_branch_protection_string. - * config/arm/arm.cc: Likewise. - -2023-12-12 Richard Biener - - PR tree-optimization/112736 - * tree-vect-stmts.cc (vectorizable_load): Extend optimization - to avoid peeling for gaps to handle single-element non-groups - we now allow with SLP. - -2023-12-12 Richard Biener - - PR ipa/92606 - * ipa-icf.cc (sem_item_optimizer::merge_classes): Check - both source and alias for the no_icf attribute. - * doc/extend.texi (no_icf): Document variable attribute. - -2023-12-12 Richard Biener - - PR tree-optimization/112961 - * tree-if-conv.cc (tree_if_conversion): Instead of excluding - the latch block from VN, add a fake entry edge. - -2023-12-12 Xi Ruoyao - - PR middle-end/107723 - * convert.cc (convert_to_integer_1) [case BUILT_IN_TRUNC]: Break - early if !flag_fp_int_builtin_inexact and flag_trapping_math. - -2023-12-12 Pan Li - - * config/riscv/riscv-avlprop.cc (avl_can_be_propagated_p): - Disable the avl propogation for the vcompress. - -2023-12-12 Xi Ruoyao - - * config/loongarch/loongarch-opts.h (la_target): Move into #if - for loongarch-def.h. - (loongarch_init_target): Likewise. - (loongarch_config_target): Likewise. - (loongarch_update_gcc_opt_status): Likewise. - -2023-12-12 Xi Ruoyao - - * config/loongarch/loongarch.cc (loongarch_explicit_relocs_p): - Return true for SYMBOL_PCREL64. Return true for SYMBOL_GOT_DISP - if TARGET_CMODEL_EXTREME. - (loongarch_split_symbol): Check for la_opt_explicit_relocs != - EXPLICIT_RELOCS_NONE instead of TARGET_EXPLICIT_RELOCS. - (loongarch_print_operand_reloc): Likewise. - (loongarch_option_override_internal): Likewise. - (loongarch_handle_model_attribute): Likewise. - * doc/invoke.texi (-mcmodel=extreme): Update the compatibility - between it and -mexplicit-relocs=. - -2023-12-12 Richard Biener - - PR tree-optimization/112939 - * tree-ssa-sccvn.cc (visit_phi): When all args are undefined - make sure we end up with a value that was visited, otherwise - fall back to .VN_TOP. - -2023-12-12 liuhongt - - PR target/112891 - * config/i386/i386.cc (ix86_avx_u128_mode_after): Return - AVX_U128_ANY if callee_abi doesn't clobber all_sse_regs to - align with ix86_avx_u128_mode_needed. - (ix86_avx_u128_mode_needed): Return AVX_U128_ClEAN for - sibling_call. - -2023-12-12 Alexandre Oliva - - PR target/112334 - * builtins.h (target_builtins): Add fields for apply_args_size - and apply_result_size. - * builtins.cc (apply_args_size, apply_result_size): Cache - results in fields rather than in static variables. - (get_apply_args_size, set_apply_args_size): New. - (get_apply_result_size, set_apply_result_size): New. - -2023-12-12 Hongyu Wang - - PR target/112943 - * config/i386/i386.md (ashl3): Add TARGET_APX_NDD to - ix86_expand_binary_operator call. - (3): Likewise for rshift. - (di3): Likewise for DImode rotate. - (3): Likewise for SWI124 rotate. - -2023-12-12 Feng Wang - - * config/riscv/riscv-vector-builtins-functions.def (DEF_RVV_FUNCTION): - Add AVAIL argument. - (read_vl): Using AVAIL argument default value. - (vlenb): Ditto. - (vsetvl): Ditto. - (vsetvlmax): Ditto. - (vle): Ditto. - (vse): Ditto. - (vlm): Ditto. - (vsm): Ditto. - (vlse): Ditto. - (vsse): Ditto. - (vluxei8): Ditto. - (vluxei16): Ditto. - (vluxei32): Ditto. - (vluxei64): Ditto. - (vloxei8): Ditto. - (vloxei16): Ditto. - (vloxei32): Ditto. - (vloxei64): Ditto. - (vsuxei8): Ditto. - (vsuxei16): Ditto. - (vsuxei32): Ditto. - (vsuxei64): Ditto. - (vsoxei8): Ditto. - (vsoxei16): Ditto. - (vsoxei32): Ditto. - (vsoxei64): Ditto. - (vleff): Ditto. - (vadd): Ditto. - (vsub): Ditto. - (vrsub): Ditto. - (vneg): Ditto. - (vwaddu): Ditto. - (vwsubu): Ditto. - (vwadd): Ditto. - (vwsub): Ditto. - (vwcvt_x): Ditto. - (vwcvtu_x): Ditto. - (vzext): Ditto. - (vsext): Ditto. - (vadc): Ditto. - (vmadc): Ditto. - (vsbc): Ditto. - (vmsbc): Ditto. - (vand): Ditto. - (vor): Ditto. - (vxor): Ditto. - (vnot): Ditto. - (vsll): Ditto. - (vsra): Ditto. - (vsrl): Ditto. - (vnsrl): Ditto. - (vnsra): Ditto. - (vncvt_x): Ditto. - (vmseq): Ditto. - (vmsne): Ditto. - (vmsltu): Ditto. - (vmslt): Ditto. - (vmsleu): Ditto. - (vmsle): Ditto. - (vmsgtu): Ditto. - (vmsgt): Ditto. - (vmsgeu): Ditto. - (vmsge): Ditto. - (vminu): Ditto. - (vmin): Ditto. - (vmaxu): Ditto. - (vmax): Ditto. - (vmul): Ditto. - (vmulh): Ditto. - (vmulhu): Ditto. - (vmulhsu): Ditto. - (vdivu): Ditto. - (vdiv): Ditto. - (vremu): Ditto. - (vrem): Ditto. - (vwmul): Ditto. - (vwmulu): Ditto. - (vwmulsu): Ditto. - (vmacc): Ditto. - (vnmsac): Ditto. - (vmadd): Ditto. - (vnmsub): Ditto. - (vwmaccu): Ditto. - (vwmacc): Ditto. - (vwmaccsu): Ditto. - (vwmaccus): Ditto. - (vmerge): Ditto. - (vmv_v): Ditto. - (vsaddu): Ditto. - (vsadd): Ditto. - (vssubu): Ditto. - (vssub): Ditto. - (vaaddu): Ditto. - (vaadd): Ditto. - (vasubu): Ditto. - (vasub): Ditto. - (vsmul): Ditto. - (vssrl): Ditto. - (vssra): Ditto. - (vnclipu): Ditto. - (vnclip): Ditto. - (vfadd): Ditto. - (vfsub): Ditto. - (vfrsub): Ditto. - (vfadd_frm): Ditto. - (vfsub_frm): Ditto. - (vfrsub_frm): Ditto. - (vfwadd): Ditto. - (vfwsub): Ditto. - (vfwadd_frm): Ditto. - (vfwsub_frm): Ditto. - (vfmul): Ditto. - (vfdiv): Ditto. - (vfrdiv): Ditto. - (vfmul_frm): Ditto. - (vfdiv_frm): Ditto. - (vfrdiv_frm): Ditto. - (vfwmul): Ditto. - (vfwmul_frm): Ditto. - (vfmacc): Ditto. - (vfnmsac): Ditto. - (vfmadd): Ditto. - (vfnmsub): Ditto. - (vfnmacc): Ditto. - (vfmsac): Ditto. - (vfnmadd): Ditto. - (vfmsub): Ditto. - (vfmacc_frm): Ditto. - (vfnmacc_frm): Ditto. - (vfmsac_frm): Ditto. - (vfnmsac_frm): Ditto. - (vfmadd_frm): Ditto. - (vfnmadd_frm): Ditto. - (vfmsub_frm): Ditto. - (vfnmsub_frm): Ditto. - (vfwmacc): Ditto. - (vfwnmacc): Ditto. - (vfwmsac): Ditto. - (vfwnmsac): Ditto. - (vfwmacc_frm): Ditto. - (vfwnmacc_frm): Ditto. - (vfwmsac_frm): Ditto. - (vfwnmsac_frm): Ditto. - (vfsqrt): Ditto. - (vfsqrt_frm): Ditto. - (vfrsqrt7): Ditto. - (vfrec7): Ditto. - (vfrec7_frm): Ditto. - (vfmin): Ditto. - (vfmax): Ditto. - (vfsgnj): Ditto. - (vfsgnjn): Ditto. - (vfsgnjx): Ditto. - (vfneg): Ditto. - (vfabs): Ditto. - (vmfeq): Ditto. - (vmfne): Ditto. - (vmflt): Ditto. - (vmfle): Ditto. - (vmfgt): Ditto. - (vmfge): Ditto. - (vfclass): Ditto. - (vfmerge): Ditto. - (vfmv_v): Ditto. - (vfcvt_x): Ditto. - (vfcvt_xu): Ditto. - (vfcvt_rtz_x): Ditto. - (vfcvt_rtz_xu): Ditto. - (vfcvt_f): Ditto. - (vfcvt_x_frm): Ditto. - (vfcvt_xu_frm): Ditto. - (vfcvt_f_frm): Ditto. - (vfwcvt_x): Ditto. - (vfwcvt_xu): Ditto. - (vfwcvt_rtz_x): Ditto. - (vfwcvt_rtz_xu) Ditto.: - (vfwcvt_f): Ditto. - (vfwcvt_x_frm): Ditto. - (vfwcvt_xu_frm) Ditto.: - (vfncvt_x): Ditto. - (vfncvt_xu): Ditto. - (vfncvt_rtz_x): Ditto. - (vfncvt_rtz_xu): Ditto. - (vfncvt_f): Ditto. - (vfncvt_rod_f): Ditto. - (vfncvt_x_frm): Ditto. - (vfncvt_xu_frm): Ditto. - (vfncvt_f_frm): Ditto. - (vredsum): Ditto. - (vredmaxu): Ditto. - (vredmax): Ditto. - (vredminu): Ditto. - (vredmin): Ditto. - (vredand): Ditto. - (vredor): Ditto. - (vredxor): Ditto. - (vwredsum): Ditto. - (vwredsumu): Ditto. - (vfredusum): Ditto. - (vfredosum): Ditto. - (vfredmax): Ditto. - (vfredmin): Ditto. - (vfredusum_frm): Ditto. - (vfredosum_frm): Ditto. - (vfwredosum): Ditto. - (vfwredusum): Ditto. - (vfwredosum_frm): Ditto. - (vfwredusum_frm): Ditto. - (vmand): Ditto. - (vmnand): Ditto. - (vmandn): Ditto. - (vmxor): Ditto. - (vmor): Ditto. - (vmnor): Ditto. - (vmorn): Ditto. - (vmxnor): Ditto. - (vmmv): Ditto. - (vmclr): Ditto. - (vmset): Ditto. - (vmnot): Ditto. - (vcpop): Ditto. - (vfirst): Ditto. - (vmsbf): Ditto. - (vmsif): Ditto. - (vmsof): Ditto. - (viota): Ditto. - (vid): Ditto. - (vmv_x): Ditto. - (vmv_s): Ditto. - (vfmv_f): Ditto. - (vfmv_s): Ditto. - (vslideup): Ditto. - (vslidedown): Ditto. - (vslide1up): Ditto. - (vslide1down): Ditto. - (vfslide1up): Ditto. - (vfslide1down): Ditto. - (vrgather): Ditto. - (vrgatherei16): Ditto. - (vcompress): Ditto. - (vundefined): Ditto. - (vreinterpret): Ditto. - (vlmul_ext): Ditto. - (vlmul_trunc): Ditto. - (vset): Ditto. - (vget): Ditto. - (vcreate): Ditto. - (vlseg): Ditto. - (vsseg): Ditto. - (vlsseg): Ditto. - (vssseg): Ditto. - (vluxseg): Ditto. - (vloxseg): Ditto. - (vsuxseg): Ditto. - (vsoxseg): Ditto. - (vlsegff): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_FUNCTION): Using variadic macro. - * config/riscv/riscv-vector-builtins.h (struct function_group_info): - Add avail function interface into struct. - * config/riscv/t-riscv: Add dependency - * config/riscv/riscv-vector-builtins-avail.h: New file.The definition of AVAIL marco. - -2023-12-12 Juzhe-Zhong - - * config/riscv/riscv-protos.h (estimated_poly_value): New function. - * config/riscv/riscv-v.cc (estimated_poly_value): Ditto. - * config/riscv/riscv.cc (riscv_estimated_poly_value): Move RVV POLY - VALUE estimation to riscv-v.cc - -2023-12-12 Yang Yujie - - * config/loongarch/loongarch.cc: Do not restore the saved eh_return - data registers ($r4-$r7) for a normal return of a function that calls - __builtin_eh_return elsewhere. - * config/loongarch/loongarch-protos.h: Same. - * config/loongarch/loongarch.md: Same. - -2023-12-11 Richard Sandiford - - * recog.cc (constrain_operands): Pass VOIDmode to - strict_memory_address_p for 'p' constraints in asms. - * rtl-ssa/changes.cc (recog_level2): Skip redundant constrain_operands - for asms. - -2023-12-11 Jason Merrill - - * common.opt: Add comment. - -2023-12-11 Alexandre Oliva - - PR middle-end/112784 - * expr.cc (emit_block_move_via_loop): Call int_mode_for_size - for maybe-too-wide sizes. - (emit_block_cmp_via_loop): Likewise. - -2023-12-11 Alexandre Oliva - - PR target/112778 - * builtins.cc (can_store_by_multiple_pieces): New. - (try_store_by_multiple_pieces): Call it. - -2023-12-11 Alexandre Oliva - - PR target/112804 - * builtins.cc (try_store_by_multiple_pieces): Use ptr's mode - for the increment. - -2023-12-11 Alexandre Oliva - - * doc/invoke.texi (multiflags): Add period after @xref to - silence warning. - -2023-12-11 Alexandre Oliva - - * config/rl78/rl78.cc (TARGET_HAVE_STRUB_SUPPORT_FOR): Disable. - -2023-12-11 Alexandre Oliva - - * ipa-strub.cc (pass_ipa_strub::execute): Check that we don't - add indirection to pointer parameters, and document attribute - access non-interactions. - -2023-12-11 Roger Sayle - - PR rtl-optimization/112380 - * combine.cc (expand_field_assignment): Check if gen_lowpart - returned a CLOBBER, and avoid calling gen_simplify_binary with - it if so. - -2023-12-11 Andrew Pinski - - PR target/111867 - * config/aarch64/aarch64.cc (aarch64_float_const_representable_p): For BFmode, - only accept +0.0. - -2023-12-11 Andrew Pinski - - PR tree-optimization/111972 - PR tree-optimization/110637 - * match.pd (`(convert)(zeroone !=/== CST)`): Match - and simplify to ((convert)zeroone){,^1}. - * fold-const.cc (fold_binary_loc): Remove - transformation of `(~a) & 1` and `(a ^ 1) & 1` - into `(convert)(a == 0)`. - -2023-12-11 Andrew Pinski - - PR middle-end/112935 - * expr.cc (expand_expr_real_2): Use - gimple_zero_one_valued_p instead of tree_nonzero_bits - to find boolean defined expressions. - -2023-12-11 Mikael Pettersson - - PR target/112413 - * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): For - TARGET_LONG_JUMP_TABLE_OFFSETS, reference the jump table - via its label. - * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise. - * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise. - -2023-12-11 Andre Vieira - - * config/aarch64/aarch64.cc (lane_size): New function. - (aarch64_simd_clone_compute_vecsize_and_simdlen): Determine simdlen according to NDS rule - and reject combination of simdlen and types that lead to vectors larger than 128bits. - -2023-12-11 Juzhe-Zhong - - * rtl-ssa/insns.cc (function_info::record_use): Add !ordered_p case. - -2023-12-11 Juzhe-Zhong - - * config/riscv/riscv-v.cc (get_gather_index_mode): New function. - (shuffle_series_patterns): Robostify shuffle index. - (shuffle_generic_patterns): Ditto. - -2023-12-11 Victor Do Nascimento - - * config/aarch64/arm_neon.h (vldap1_lane_u64): Add - `const' to `__builtin_aarch64_simd_di *' cast. - (vldap1q_lane_u64): Likewise. - (vldap1_lane_s64): Cast __src to `const __builtin_aarch64_simd_di *'. - (vldap1q_lane_s64): Likewise. - (vldap1_lane_f64): Cast __src to `const __builtin_aarch64_simd_df *'. - (vldap1q_lane_f64): Cast __src to `const __builtin_aarch64_simd_df *'. - (vldap1_lane_p64): Add `const' to `__builtin_aarch64_simd_di *' cast. - (vldap1q_lane_p64): Add `const' to `__builtin_aarch64_simd_di *' cast. - (vstl1_lane_u64): remove stray `const'. - (vstl1_lane_s64): Cast __src to `__builtin_aarch64_simd_di *'. - (vstl1q_lane_s64): Likewise. - (vstl1_lane_f64): Cast __src to `const __builtin_aarch64_simd_df *'. - (vstl1q_lane_f64): Likewise. - -2023-12-11 Robin Dapp - - PR target/112853 - * config/riscv/riscv-v.cc (expand_const_vector): Fix step - calculation. - (modulo_sel_indices): Also perform modulo for variable-length - constants. - (shuffle_series): Recognize series permutations. - (expand_vec_perm_const_1): Add shuffle_series. - -2023-12-11 liuhongt - - * match.pd (VCE (a cmp b ? -1 : 0) < 0) ? c : d ---> (VCE ((a - cmp b) ? (VCE:c) : (VCE:d))): New gimple simplication. - -2023-12-11 Juzhe-Zhong - - PR target/112431 - * config/riscv/vector.md: Support highest overlap for wv instructions. - -2023-12-11 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (extract_single_source): Fix ICE. - -2023-12-11 Jakub Jelinek - - * doc/extend.texi (__sync_fetch_and_add, __sync_fetch_and_sub, - __sync_fetch_and_or, __sync_fetch_and_and, __sync_fetch_and_xor, - __sync_fetch_and_nand, __sync_add_and_fetch, __sync_sub_and_fetch, - __sync_or_and_fetch, __sync_and_and_fetch, __sync_xor_and_fetch, - __sync_nand_and_fetch, __sync_bool_compare_and_swap, - __sync_val_compare_and_swap, __sync_lock_test_and_set, - __sync_lock_release, __atomic_load_n, __atomic_load, __atomic_store_n, - __atomic_store, __atomic_exchange_n, __atomic_exchange, - __atomic_compare_exchange_n, __atomic_compare_exchange, - __atomic_add_fetch, __atomic_sub_fetch, __atomic_and_fetch, - __atomic_xor_fetch, __atomic_or_fetch, __atomic_nand_fetch, - __atomic_fetch_add, __atomic_fetch_sub, __atomic_fetch_and, - __atomic_fetch_xor, __atomic_fetch_or, __atomic_fetch_nand, - __atomic_test_and_set, __atomic_clear, __atomic_thread_fence, - __atomic_signal_fence, __atomic_always_lock_free, - __atomic_is_lock_free, __builtin_add_overflow, - __builtin_sadd_overflow, __builtin_saddl_overflow, - __builtin_saddll_overflow, __builtin_uadd_overflow, - __builtin_uaddl_overflow, __builtin_uaddll_overflow, - __builtin_sub_overflow, __builtin_ssub_overflow, - __builtin_ssubl_overflow, __builtin_ssubll_overflow, - __builtin_usub_overflow, __builtin_usubl_overflow, - __builtin_usubll_overflow, __builtin_mul_overflow, - __builtin_smul_overflow, __builtin_smull_overflow, - __builtin_smulll_overflow, __builtin_umul_overflow, - __builtin_umull_overflow, __builtin_umulll_overflow, - __builtin_add_overflow_p, __builtin_sub_overflow_p, - __builtin_mul_overflow_p, __builtin_addc, __builtin_addcl, - __builtin_addcll, __builtin_subc, __builtin_subcl, __builtin_subcll, - __builtin_alloca, __builtin_alloca_with_align, - __builtin_alloca_with_align_and_max, __builtin_speculation_safe_value, - __builtin_nan, __builtin_nand32, __builtin_nand64, __builtin_nand128, - __builtin_nanf, __builtin_nanl, __builtin_nanf@var{n}, - __builtin_nanf@var{n}x, __builtin_nans, __builtin_nansd32, - __builtin_nansd64, __builtin_nansd128, __builtin_nansf, - __builtin_nansl, __builtin_nansf@var{n}, __builtin_nansf@var{n}x, - __builtin_ffs, __builtin_clz, __builtin_ctz, __builtin_clrsb, - __builtin_popcount, __builtin_parity, __builtin_bswap16, - __builtin_bswap32, __builtin_bswap64, __builtin_bswap128, - __builtin_extend_pointer, __builtin_goacc_parlevel_id, - __builtin_goacc_parlevel_size, vec_clrl, vec_clrr, vec_mulh, vec_mul, - vec_div, vec_dive, vec_mod, __builtin_rx_mvtc): Use @var{...} around - parameter names. - (vec_rl, vec_sl, vec_sr, vec_sra): Likewise. Use @var{...} also - around A, B and R in description. - -2023-12-11 Juzhe-Zhong - - * config/riscv/riscv-selftests.cc (riscv_run_selftests): - Remove poly self test when FIXED-VLMAX. - -2023-12-11 Fei Gao - Xiao Zeng - - * ifcvt.cc (noce_cond_zero_binary_op_supported): Add support for AND. - (noce_bbs_ok_for_cond_zero_arith): Likewise. - (noce_try_cond_zero_arith): Likewise. - -2023-12-11 liuhongt - - PR target/112904 - * config/i386/mmx.md (*xop_pcmov_): New define_insn. - -2023-12-11 Haochen Gui - - PR target/112707 - * config/rs6000/rs6000.h (TARGET_FCTID): Define. - * config/rs6000/rs6000.md (lrintdi2): Add guard TARGET_FCTID. - * (lrounddi2): Replace TARGET_FPRND with TARGET_FCTID. - -2023-12-11 Haochen Gui - - PR target/112707 - * config/rs6000/rs6000.md (expand lrintsi2): New. - (insn lrintsi2): Rename to... - (*lrintsi): ...this. - (lrintsi_di): New. - -2023-12-10 Fei Gao - Xiao Zeng - - * ifcvt.cc (noce_cond_zero_binary_op_supported): Add support for shift - like op. - -2023-12-10 Richard Sandiford - - PR target/112931 - PR target/112933 - * config/aarch64/aarch64-protos.h (aarch64_sve_reinterpret): Declare. - * config/aarch64/aarch64.cc (aarch64_sve_reinterpret): New function. - * config/aarch64/aarch64-sve-builtins-sme.cc (svread_za_impl::expand) - (svwrite_za_impl::expand): Use it to cast the SVE register to the - right mode. - -2023-12-10 Richard Sandiford - - PR target/112930 - * config/aarch64/aarch64.cc (aarch64_sme_mode_switch_regs::add_reg): - Force specific SVE modes for single registers as well as structures. - -2023-12-10 Jason Merrill - - * doc/invoke.texi (-fpermissive): Mention ObjC++ for -Wnarrowing. - -2023-12-10 Jeff Law - - * config/h8300/addsub.md (uaddv4, usubv4): New expanders. - (uaddv): New define_insn_and_split plus post-reload pattern. - -2023-12-10 Jeff Law - - * config/h8300/h8300-protos.h (use_extvsi): Prototype. - * config/h8300/combiner.md: Two new define_insn_and_split patterns - to implement signed bitfield extractions. - * config/h8300/h8300.cc (use_extvsi): New function. - -2023-12-10 Jeff Law - - * config/h8300/combiner.md (single bit signed bitfield extraction): Fix - length computation when the bit we want is in the low half word. - -2023-12-10 Jeff Law - - * config/h8300/h8300.cc (compute_a_shift_length): Fix computation - of logical shifts on the H8/SX. - -2023-12-09 Jakub Jelinek - - PR tree-optimization/112887 - * tree-ssa-phiopt.cc (hoist_adjacent_loads): Change type of - param_align, param_align_bits, offset1, offset2, size2 and align1 - variables from int or unsigned int to unsigned HOST_WIDE_INT. - -2023-12-09 Costas Argyris - Jakub Jelinek - - PR driver/93019 - * gcc.cc (driver::finalize): Call XDELETEVEC on mdswitches before - clearing it. - -2023-12-09 Jakub Jelinek - - * attribs.h (any_nonignored_attribute_p): Declare. - * attribs.cc (any_nonignored_attribute_p): New function. - -2023-12-09 Juzhe-Zhong - - PR target/112932 - * config/riscv/vector.md (movmisalign): Fix VLSmode bugs. - -2023-12-09 Alexandre Oliva - - * tree-emutls.cc: Include diagnostic-core.h. - (pass_ipa_lower_emutls::gate): Skip if errors were seen. - -2023-12-08 Vladimir N. Makarov - - PR rtl-optimization/112875 - * lra-eliminations.cc (lra_eliminate_regs_1): Change an assert. - Add ASM_OPERANDS case. - -2023-12-08 Robin Dapp - - PR target/112109 - * config/riscv/riscv-protos.h (expand_strcmp): Declare. - * config/riscv/riscv-string.cc (riscv_expand_strcmp): Add - strategy handling and delegation to scalar and vector expanders. - (expand_strcmp): Vectorized implementation. - * config/riscv/riscv.md: Add TARGET_VECTOR to strcmp and strncmp - expander. - -2023-12-08 Robin Dapp - - PR target/112109 - * config/riscv/riscv-protos.h (expand_rawmemchr): Add strlen - parameter. - * config/riscv/riscv-string.cc (riscv_expand_strlen): Call - rawmemchr. - (expand_rawmemchr): Add strlen handling. - * config/riscv/riscv.md: Add TARGET_VECTOR to strlen expander. - -2023-12-08 Richard Sandiford - - * config/aarch64/aarch64-early-ra.cc (allocno_info::chain_next): - Put into an enum with... - (allocno_info::last_def_point): ...new member variable. - (allocno_info::m_current_bb_point): New member variable. - (likely_operand_match_p): Switch based on get_constraint_type, - rather than based on rtx code. Handle relaxed and special memory - constraints. - (early_ra::record_copy): Allow the source of an equivalence to be - assigned to more than once. - (early_ra::record_allocno_use): Invalidate any previous equivalence. - Initialize last_def_point. - (early_ra::record_allocno_def): Set last_def_point. - (early_ra::valid_equivalence_p): New function, split out from... - (early_ra::record_copy): ...here. Use last_def_point to handle - source registers that have a later definition. - (make_pass_aarch64_early_ra): Fix comment. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vld1q_u8_x2, vld1q_u16_x2, vld1q_u32_x2, vld1q_u64_x2): New. - (vld1q_s8_x2, vld1q_s16_x2, vld1q_s32_x2, vld1q_s64_x2): New. - (vld1q_f16_x2, vld1q_f32_x2): New. - (vld1q_p8_x2, vld1q_p16_x2, vld1q_p64_x2): New. - (vld1q_bf16_x2): New. - * config/arm/arm_neon_builtins.def (vld1_x2): New entries. - * config/arm/neon.md (vld1_x2): New. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vld1q_u8_x3, vld1q_u16_x3, vld1q_u32_x3, vld1q_u64_x3): New. - (vld1q_s8_x3, vld1q_s16_x3, vld1q_s32_x3, vld1q_s64_x3): New. - (vld1q_f16_x3, vld1q_f32_x3): New. - (vld1q_p8_x3, vld1q_p16_x3, vld1q_p64_x3): New. - (vld1q_bf16_x3): New. - * config/arm/arm_neon_builtins.def (vld1_x3): New entries. - * config/arm/neon.md (vld1_x3): New. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vld1q_u8_x4, vld1q_u16_x4, vld1q_u32_x4, vld1q_u64_x4): New. - (vld1q_s8_x4, vld1q_s16_x4, vld1q_s32_x4, vld1q_s64_x4): New. - (vld1q_f16_x4, vld1q_f32_x4): New. - (vld1q_p8_x4, vld1q_p16_x4, vld1q_p64_x4): New. - (vld1q_bf16_x4): New. - * config/arm/arm_neon_builtins.def (vld1_x4): New entries. - * config/arm/neon.md (vld1_x4): New. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vst1_u8_x2, vst1_u16_x2, vst1_u32_x2, vst1_u64_x2): New. - (vst1_s8_x2, vst1_s16_x2, vst1_s32_x2, vst1_s64_x2): New. - (vst1_f16_x2, vst1_f32_x2): New. - (vst1_p8_x2, vst1_p16_x2, vst1_p64_x2): New. - (vst1_bf16_x2): New. - * config/arm/arm_neon_builtins.def (vst1_x2): New entries. - * config/arm/neon.md (vst1_x2): New. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vst1_u8_x3, vst1_u16_x3, vst1_u32_x3, vst1_u64_x3): New. - (vst1_s8_x3, vst1_s16_x3, vst1_s32_x3, vst1_s64_x3): New. - (vst1_f16_x3, vst1_f32_x3): New. - (vst1_p8_x3, vst1_p16_x3, vst1_p64_x3): New. - (vst1_bf16_x3): New. - * config/arm/arm_neon_builtins.def (vst1_x3): New entries. - * config/arm/neon.md (vst1_x3): New. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vst1_u8_x4, vst1_u16_x4, vst1_u32_x4, vst1_u64_x4): New. - (vst1_s8_x4, vst1_s16_x4, vst1_s32_x4, vst1_s64_x4): New. - (vst1_f16_x4, vst1_f32_x4): New. - (vst1_p8_x4, vst1_p16_x4, vst1_p64_x4): New. - (vst1_bf16_x4): New. - * config/arm/arm_neon_builtins.def (vst1_x4): New entries. - * config/arm/neon.md (vst1_x4): New. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vst1q_u8_x2, vst1q_u16_x2, vst1q_u32_x2, vst1q_u64_x2): New. - (vst1q_s8_x2, vst1q_s16_x2, vst1q_s32_x2, vst1q_s64_x2): New. - (vst1q_f16_x2, vst1q_f32_x2): New. - (vst1q_p8_x2, vst1q_p16_x2, vst1q_p64_x2): New. - (vst1q_bf16_x2): New. - * config/arm/arm_neon_builtins.def (vst1q_x2): New entries. - * config/arm/neon.md - (neon_vst1_x2): Updated from - neon_vst1_x2. - * config/arm/iterators.md (VMEMX2): New mode iterator. - (VMEMX2_q): New mode attribute. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vst1q_u8_x3, vst1q_u16_x3, vst1q_u32_x3, vst1q_u64_x3): New. - (vst1q_s8_x3, vst1q_s16_x3, vst1q_s32_x3, vst1q_s64_x3): New. - (vst1q_f16_x3, vst1q_f32_x3): New. - (vst1q_p8_x3, vst1q_p16_x3, vst1q_p64_x3): New. - (vst1q_bf16_x3): New. - * config/arm/arm_neon_builtins.def (vst1q_x3): New entries. - * config/arm/neon.md (neon_vst1q_x3): New. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vst1q_u8_x4, vst1q_u16_x4, vst1q_u32_x4, vst1q_u64_x4): New. - (vst1q_s8_x4, vst1q_s16_x4, vst1q_s32_x4, vst1q_s64_x4): New. - (vst1q_f16_x4, vst1q_f32_x4): New. - (vst1q_p8_x4, vst1q_p16_x4, vst1q_p64_x4): New. - (vst1q_bf16_x4): New. - * config/arm/arm_neon_builtins.def (vst1q_x4): New entries. - * config/arm/neon.md (neon_vst1q_x4): New. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vld1_u8_x2, vld1_u16_x2, vld1_u32_x2, vld1_u64_x2): New - (vld1_s8_x2, vld1_s16_x2, vld1_s32_x2, vld1_s64_x2): New. - (vld1_f16_x2, vld1_f32_x2): New. - (vld1_p8_x2, vld1_p16_x2, vld1_p64_x2): New. - (vld1_bf16_x2): New. - (vld1q_types_x2): Updated to use vld1q_x2 from - arm_neon_builtins.def - * config/arm/arm_neon_builtins.def - (vld1_x2): Updated entries. - (vld1q_x2): New entries, but comes from the old vld1_x2 - * config/arm/neon.md - (neon_vld1_x2): Updated - from neon_vld1_x2. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vld1_u8_x3, vld1_u16_x3, vld1_u32_x3, vld1_u64_x3): New - (vld1_s8_x3, vld1_s16_x3, vld1_s32_x3, vld1_s64_x3): New. - (vld1_f16_x3, vld1_f32_x3): New. - (vld1_p8_x3, vld1_p16_x3, vld1_p64_x3): New. - (vld1_bf16_x3): New. - (vld1q_types_x3): Updated to use vld1q_x3 from - arm_neon_builtins.def - * config/arm/arm_neon_builtins.def - (vld1_x3): Updated entries. - (vld1q_x3): New entries, but comes from the old vld1_x2 - * config/arm/neon.md (neon_vld1q_x3): Updated from - neon_vld1_x3. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vld1_u8_x4, vld1_u16_x4, vld1_u32_x4, vld1_u64_x4): New - (vld1_s8_x4, vld1_s16_x4, vld1_s32_x4, vld1_s64_x4): New. - (vld1_f16_x4, vld1_f32_x4): New. - (vld1_p8_x4, vld1_p16_x4, vld1_p64_x4): New. - (vld1_bf16_x4): New. - (vld1q_types_x4): Updated to use vld1q_x4 - from arm_neon_builtins.def - * config/arm/arm_neon_builtins.def - (vld1_x4): Updated entries. - (vld1q_x4): New entries, but comes from the old vld1_x2 - * config/arm/neon.md (neon_vld1q_x4): - Updated from neon_vld1_x4. - -2023-12-08 Tobias Burnus - - * builtin-types.def (BT_FN_PTR_PTR_SIZE_PTRMODE_PTRMODE): New. - * omp-builtins.def (BUILT_IN_GOMP_REALLOC): New. - * builtins.cc (builtin_fnspec): Handle it. - * gimple-ssa-warn-access.cc (fndecl_alloc_p, - matching_alloc_calls_p): Likewise. - * gimple.cc (nonfreeing_call_p): Likewise. - * predict.cc (expr_expected_value_1): Likewise. - * tree-ssa-ccp.cc (evaluate_stmt): Likewise. - * tree.cc (fndecl_dealloc_argno): Likewise. - -2023-12-08 Richard Biener - - PR tree-optimization/112909 - * tree-ssa-uninit.cc (find_uninit_use): Look through a - single level of SSA name copies with single use. - -2023-12-08 Jiahao Xu - - * config/loongarch/loongarch.cc (loongarch_try_expand_lsx_vshuf_const): Use - simplify_gen_subreg instead of gen_rtx_SUBREG. - (loongarch_expand_vec_perm_const_2): Ditto. - (loongarch_expand_vec_cond_expr): Ditto. - -2023-12-08 Jiahao Xu - - * config/loongarch/loongarch.cc (loongarch_vector_costs::determine_suggested_unroll_factor): - If m_has_recip is true, uf return 1. - (loongarch_vector_costs::add_stmt_cost): Detect the use of approximate instruction sequence. - -2023-12-08 Jiahao Xu - - * config/loongarch/genopts/loongarch.opt.in (recip_mask): New variable. - (-mrecip, -mrecip): New options. - * config/loongarch/lasx.md (div3): New expander. - (*div3): Rename. - (sqrt2): New expander. - (*sqrt2): Rename. - (rsqrt2): New expander. - * config/loongarch/loongarch-protos.h (loongarch_emit_swrsqrtsf): New prototype. - (loongarch_emit_swdivsf): Ditto. - * config/loongarch/loongarch.cc (loongarch_option_override_internal): Set - recip_mask for -mrecip and -mrecip= options. - (loongarch_emit_swrsqrtsf): New function. - (loongarch_emit_swdivsf): Ditto. - * config/loongarch/loongarch.h (RECIP_MASK_NONE, RECIP_MASK_DIV, RECIP_MASK_SQRT - RECIP_MASK_RSQRT, RECIP_MASK_VEC_DIV, RECIP_MASK_VEC_SQRT, RECIP_MASK_VEC_RSQRT - RECIP_MASK_ALL): New bitmasks. - (TARGET_RECIP_DIV, TARGET_RECIP_SQRT, TARGET_RECIP_RSQRT, TARGET_RECIP_VEC_DIV - TARGET_RECIP_VEC_SQRT, TARGET_RECIP_VEC_RSQRT): New tests. - * config/loongarch/loongarch.md (sqrt2): New expander. - (*sqrt2): Rename. - (rsqrt2): New expander. - * config/loongarch/loongarch.opt (recip_mask): New variable. - (-mrecip, -mrecip): New options. - * config/loongarch/lsx.md (div3): New expander. - (*div3): Rename. - (sqrt2): New expander. - (*sqrt2): Rename. - (rsqrt2): New expander. - * config/loongarch/predicates.md (reg_or_vecotr_1_operand): New predicate. - * doc/invoke.texi (LoongArch Options): Document new options. - -2023-12-08 Jiahao Xu - - * config/loongarch/lasx.md (lasx_xvfrecip_): Renamed to .. - (recip3): .. this. - * config/loongarch/loongarch-builtins.cc (CODE_FOR_lsx_vfrecip_d): Redefine - to new pattern name. - (CODE_FOR_lsx_vfrecip_s): Ditto. - (CODE_FOR_lasx_xvfrecip_d): Ditto. - (CODE_FOR_lasx_xvfrecip_s): Ditto. - (loongarch_expand_builtin_direct): For the vector recip instructions, construct a - temporary parameter const1_vector. - * config/loongarch/lsx.md (lsx_vfrecip_): Renamed to .. - (recip3): .. this. - * config/loongarch/predicates.md (const_vector_1_operand): New predicate. - -2023-12-08 Jiahao Xu - - * config/loongarch/lasx.md (lasx_xvfrsqrt_): Renamed to .. - (rsqrt2): .. this. - * config/loongarch/loongarch-builtins.cc - (CODE_FOR_lsx_vfrsqrt_d): Redefine to standard pattern name. - (CODE_FOR_lsx_vfrsqrt_s): Ditto. - (CODE_FOR_lasx_xvfrsqrt_d): Ditto. - (CODE_FOR_lasx_xvfrsqrt_s): Ditto. - * config/loongarch/loongarch.cc (use_rsqrt_p): New function. - (loongarch_optab_supported_p): Ditto. - (TARGET_OPTAB_SUPPORTED_P): New hook. - * config/loongarch/loongarch.md (*rsqrta): Remove. - (*rsqrt2): New insn pattern. - (*rsqrtb): Remove. - * config/loongarch/lsx.md (lsx_vfrsqrt_): Renamed to .. - (rsqrt2): .. this. - -2023-12-08 Jiahao Xu - - * config/loongarch/genopts/isa-evolution.in (fecipe): Add. - * config/loongarch/larchintrin.h (__frecipe_s): New intrinsic. - (__frecipe_d): Ditto. - (__frsqrte_s): Ditto. - (__frsqrte_d): Ditto. - * config/loongarch/lasx.md (lasx_xvfrecipe_): New insn pattern. - (lasx_xvfrsqrte_): Ditto. - * config/loongarch/lasxintrin.h (__lasx_xvfrecipe_s): New intrinsic. - (__lasx_xvfrecipe_d): Ditto. - (__lasx_xvfrsqrte_s): Ditto. - (__lasx_xvfrsqrte_d): Ditto. - * config/loongarch/loongarch-builtins.cc (AVAIL_ALL): Add predicates. - (LSX_EXT_BUILTIN): New macro. - (LASX_EXT_BUILTIN): Ditto. - * config/loongarch/loongarch-cpucfg-map.h: Regenerate. - * config/loongarch/loongarch-c.cc: Add builtin macro "__loongarch_frecipe". - * config/loongarch/loongarch-def.cc: Regenerate. - * config/loongarch/loongarch-str.h (OPTSTR_FRECIPE): Regenerate. - * config/loongarch/loongarch.cc (loongarch_asm_code_end): Dump status for TARGET_FRECIPE. - * config/loongarch/loongarch.md (loongarch_frecipe_): New insn pattern. - (loongarch_frsqrte_): Ditto. - * config/loongarch/loongarch.opt: Regenerate. - * config/loongarch/lsx.md (lsx_vfrecipe_): New insn pattern. - (lsx_vfrsqrte_): Ditto. - * config/loongarch/lsxintrin.h (__lsx_vfrecipe_s): New intrinsic. - (__lsx_vfrecipe_d): Ditto. - (__lsx_vfrsqrte_s): Ditto. - (__lsx_vfrsqrte_d): Ditto. - * doc/extend.texi: Add documentation for LoongArch new builtins and intrinsics. - -2023-12-08 Richard Biener - - * tree-outof-ssa.cc (rewrite_out_of_ssa): Dump GIMPLE once only, - after final IL adjustments. - -2023-12-08 Pan Li - - * config/riscv/vector-iterators.md: Replace RVVM2SI to RVVM2SF - for mode attr V_F2DI_CONVERT_BRIDGE. - -2023-12-08 Jiahao Xu - - * config/loongarch/lasx.md (xorsign3): New expander. - * config/loongarch/loongarch.cc (loongarch_can_change_mode_class): Allow - conversion between LSX vector mode and scalar fp mode. - * config/loongarch/loongarch.md (@xorsign3): New expander. - * config/loongarch/lsx.md (@xorsign3): Ditto. - -2023-12-08 Jakub Jelinek - - PR tree-optimization/112902 - * gimple-lower-bitint.cc (gimple_lower_bitint): For a narrowing - or same precision cast don't set SSA_NAME_VERSION in m_names only - if use_stmt is mergeable_op or fall through into the check that - use is a store or rhs1 is not mergeable or other reasons prevent - merging. - -2023-12-08 Jakub Jelinek - - PR tree-optimization/112901 - * vr-values.cc - (simplify_using_ranges::simplify_float_conversion_using_ranges): - Return false if rhs1 has BITINT_TYPE type with BLKmode TYPE_MODE. - -2023-12-08 Jakub Jelinek - - PR middle-end/112411 - * haifa-sched.cc (extend_h_i_d): Use 3U instead of 3 in - 3 * get_max_uid () / 2 calculation. - -2023-12-08 Lulu Cheng - - * config/loongarch/genopts/loongarch-strings: Delete STR_ISA_BASE_LA64V110. - * config/loongarch/genopts/loongarch.opt.in: Likewise. - * config/loongarch/loongarch-cpu.cc (ISA_BASE_LA64V110_FEATURES): Delete macro. - (fill_native_cpu_config): Define a new variable hw_isa_evolution record the - extended instruction set support read from cpucfg. - * config/loongarch/loongarch-def.cc: Set evolution at initialization. - * config/loongarch/loongarch-def.h (ISA_BASE_LA64V100): Delete. - (ISA_BASE_LA64V110): Likewise. - (N_ISA_BASE_TYPES): Likewise. - (defined): Likewise. - * config/loongarch/loongarch-opts.cc: Likewise. - * config/loongarch/loongarch-opts.h (TARGET_64BIT): Likewise. - (ISA_BASE_IS_LA64V110): Likewise. - * config/loongarch/loongarch-str.h (STR_ISA_BASE_LA64V110): Likewise. - * config/loongarch/loongarch.opt: Regenerate. - -2023-12-08 Xi Ruoyao - - * config/loongarch/loongarch-def.h: Remove extern "C". - (loongarch_isa_base_strings): Declare as loongarch_def_array - instead of plain array. - (loongarch_isa_ext_strings): Likewise. - (loongarch_abi_base_strings): Likewise. - (loongarch_abi_ext_strings): Likewise. - (loongarch_cmodel_strings): Likewise. - (loongarch_cpu_strings): Likewise. - (loongarch_cpu_default_isa): Likewise. - (loongarch_cpu_issue_rate): Likewise. - (loongarch_cpu_multipass_dfa_lookahead): Likewise. - (loongarch_cpu_cache): Likewise. - (loongarch_cpu_align): Likewise. - (loongarch_cpu_rtx_cost_data): Likewise. - (loongarch_isa): Add a constructor and field setter functions. - * config/loongarch/loongarch-opts.h (loongarch-defs.h): Do not - include for target libraries. - * config/loongarch/loongarch-opts.cc: Comment code that doesn't - run and causes compilation errors. - * config/loongarch/loongarch-tune.h (LOONGARCH_TUNE_H): Likewise. - (struct loongarch_rtx_cost_data): Likewise. - (struct loongarch_cache): Likewise. - (struct loongarch_align): Likewise. - * config/loongarch/t-loongarch: Compile loongarch-def.cc with the - C++ compiler. - * config/loongarch/loongarch-def-array.h: New file for a - std:array like data structure with position setter function. - * config/loongarch/loongarch-def.c: Rename to ... - * config/loongarch/loongarch-def.cc: ... here. - (loongarch_cpu_strings): Define as loongarch_def_array instead - of plain array. - (loongarch_cpu_default_isa): Likewise. - (loongarch_cpu_cache): Likewise. - (loongarch_cpu_align): Likewise. - (loongarch_cpu_rtx_cost_data): Likewise. - (loongarch_cpu_issue_rate): Likewise. - (loongarch_cpu_multipass_dfa_lookahead): Likewise. - (loongarch_isa_base_strings): Likewise. - (loongarch_isa_ext_strings): Likewise. - (loongarch_abi_base_strings): Likewise. - (loongarch_abi_ext_strings): Likewise. - (loongarch_cmodel_strings): Likewise. - (abi_minimal_isa): Likewise. - (loongarch_rtx_cost_optimize_size): Use field setter functions - instead of designated initializers. - (loongarch_rtx_cost_data): Implement default constructor. - -2023-12-08 Jakub Jelinek - - PR middle-end/112411 - * params.opt (-param=min-nondebug-insn-uid=): Add - IntegerRange(0, 1073741824). - * lra.cc (check_and_expand_insn_recog_data): Use 3U rather than 3 - in * 3 / 2 computation and if the result is smaller or equal to - index, use index + 1. - -2023-12-08 Haochen Jiang - - * config/i386/driver-i386.cc (host_detect_local_cpu): - Do not append "-mno-" for Xeon Phi ISAs. - * config/i386/i386-options.cc (ix86_option_override_internal): - Emit a warning for KNL/KNM targets. - * config/i386/i386.opt: Emit a warning for Xeon Phi ISAs. - -2023-12-08 Juzhe-Zhong - - * config/riscv/riscv-vector-costs.cc (costs::better_main_loop_than_p): - Remove redundant check. - -2023-12-08 Hao Liu - - PR tree-optimization/112774 - * tree-pretty-print.cc: if nonwrapping flag is set, chrec will be - printed with additional info. - * tree-scalar-evolution.cc: add record_nonwrapping_chrec and - nonwrapping_chrec_p to set and check the new flag respectively. - * tree-scalar-evolution.h: Likewise. - * tree-ssa-loop-niter.cc (idx_infer_loop_bounds, - infer_loop_bounds_from_pointer_arith, infer_loop_bounds_from_signedness, - scev_probably_wraps_p): call record_nonwrapping_chrec before - record_nonwrapping_iv, call nonwrapping_chrec_p to check the flag is - set and return false from scev_probably_wraps_p. - * tree-vect-loop.cc (vect_analyze_loop): call - free_numbers_of_iterations_estimates explicitly. - * tree-core.h: document the nothrow_flag usage in CHREC_NOWRAP - * tree.h: add CHREC_NOWRAP(NODE), base.nothrow_flag is used to - represent the nonwrapping info. - -2023-12-08 Fei Gao - - * ifcvt.cc (noce_try_cond_zero_arith): New function. - (noce_emit_czero, get_base_reg): Likewise. - (noce_cond_zero_binary_op_supported): Likewise. - (noce_bbs_ok_for_cond_zero_arith): Likewise. - (noce_process_if_block): Use noce_try_cond_zero_arith. - Co-authored-by: Xiao Zeng - -2023-12-07 Juzhe-Zhong - - * config/riscv/riscv-protos.h (expand_vec_series): Adapt function. - * config/riscv/riscv-v.cc (rvv_builder::double_steps_npatterns_p): New function. - (expand_vec_series): Adapt function. - (expand_const_vector): Support new interleave vector with different step. - -2023-12-07 Richard Sandiford - - PR rtl-optimization/106694 - PR rtl-optimization/109078 - PR rtl-optimization/109391 - * config.gcc: Add aarch64-early-ra.o for AArch64 targets. - * config/aarch64/t-aarch64 (aarch64-early-ra.o): New rule. - * config/aarch64/aarch64-opts.h (aarch64_early_ra_scope): New enum. - * config/aarch64/aarch64.opt (mearly_ra): New option. - * doc/invoke.texi: Document it. - * common/config/aarch64/aarch64-common.cc - (aarch_option_optimization_table): Use -mearly-ra=strided by - default for -O2 and above. - * config/aarch64/aarch64-passes.def (pass_aarch64_early_ra): New pass. - * config/aarch64/aarch64-protos.h (aarch64_strided_registers_p) - (make_pass_aarch64_early_ra): Declare. - * config/aarch64/aarch64-sme.md (@aarch64_sme_lut): - Add a stride_type attribute. - (@aarch64_sme_lut_strided2): New pattern. - (@aarch64_sme_lut_strided4): Likewise. - * config/aarch64/aarch64-sve-builtins-base.cc (svld1_impl::expand) - (svldnt1_impl::expand, svst1_impl::expand, svstn1_impl::expand): Handle - new way of defining multi-register loads and stores. - * config/aarch64/aarch64-sve.md (@aarch64_ld1) - (@aarch64_ldnt1, @aarch64_st1) - (@aarch64_stnt1): Delete. - * config/aarch64/aarch64-sve2.md (@aarch64_) - (@aarch64__strided2): New patterns. - (@aarch64__strided4): Likewise. - (@aarch64_): Likewise. - (@aarch64__strided2): Likewise. - (@aarch64__strided4): Likewise. - * config/aarch64/aarch64.cc (aarch64_strided_registers_p): New - function. - * config/aarch64/aarch64.md (UNSPEC_LD1_SVE_COUNT): Delete. - (UNSPEC_ST1_SVE_COUNT, UNSPEC_LDNT1_SVE_COUNT): Likewise. - (UNSPEC_STNT1_SVE_COUNT): Likewise. - (stride_type): New attribute. - * config/aarch64/constraints.md (Uwd, Uwt): New constraints. - * config/aarch64/iterators.md (UNSPEC_LD1_COUNT, UNSPEC_LDNT1_COUNT) - (UNSPEC_ST1_COUNT, UNSPEC_STNT1_COUNT): New unspecs. - (optab): Handle them. - (LD1_COUNT, ST1_COUNT): New iterators. - * config/aarch64/aarch64-early-ra.cc: New file. - -2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vld1_u8_x4, vld1_u16_x4, vld1_u32_x4, vld1_u64_x4): New - (vld1_s8_x4, vld1_s16_x4, vld1_s32_x4, vld1_s64_x4): New. - (vld1_f16_x4, vld1_f32_x4): New. - (vld1_p8_x4, vld1_p16_x4, vld1_p64_x4): New. - (vld1_bf16_x4): New. - (vld1q_types_x4): Updated to use vld1q_x4 - from arm_neon_builtins.def - * config/arm/arm_neon_builtins.def - (vld1_x4): Updated entries. - (vld1q_x4): New entries, but comes from the old vld1_x2 - * config/arm/neon.md (neon_vld1q_x4): - Updated from neon_vld1_x4. - -2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vld1_u8_x3, vld1_u16_x3, vld1_u32_x3, vld1_u64_x3): New - (vld1_s8_x3, vld1_s16_x3, vld1_s32_x3, vld1_s64_x3): New. - (vld1_f16_x3, vld1_f32_x3): New. - (vld1_p8_x3, vld1_p16_x3, vld1_p64_x3): New. - (vld1_bf16_x3): New. - (vld1q_types_x3): Updated to use vld1q_x3 from - arm_neon_builtins.def - * config/arm/arm_neon_builtins.def - (vld1_x3): Updated entries. - (vld1q_x3): New entries, but comes from the old vld1_x2 - * config/arm/neon.md (neon_vld1q_x3): Updated from - neon_vld1_x3. - -2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vld1_u8_x2, vld1_u16_x2, vld1_u32_x2, vld1_u64_x2): New - (vld1_s8_x2, vld1_s16_x2, vld1_s32_x2, vld1_s64_x2): New. - (vld1_f16_x2, vld1_f32_x2): New. - (vld1_p8_x2, vld1_p16_x2, vld1_p64_x2): New. - (vld1_bf16_x2): New. - (vld1q_types_x2): Updated to use vld1q_x2 from - arm_neon_builtins.def - * config/arm/arm_neon_builtins.def - (vld1_x2): Updated entries. - (vld1q_x2): New entries, but comes from the old vld1_x2 - * config/arm/neon.md - (neon_vld1_x2): Updated - from neon_vld1_x2. - -2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vst1q_u8_x4, vst1q_u16_x4, vst1q_u32_x4, vst1q_u64_x4): New. - (vst1q_s8_x4, vst1q_s16_x4, vst1q_s32_x4, vst1q_s64_x4): New. - (vst1q_f16_x4, vst1q_f32_x4): New. - (vst1q_p8_x4, vst1q_p16_x4, vst1q_p64_x4): New. - (vst1q_bf16_x4): New. - * config/arm/arm_neon_builtins.def (vst1q_x4): New entries. - * config/arm/neon.md (neon_vst1q_x4): New. - -2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vst1q_u8_x3, vst1q_u16_x3, vst1q_u32_x3, vst1q_u64_x3): New. - (vst1q_s8_x3, vst1q_s16_x3, vst1q_s32_x3, vst1q_s64_x3): New. - (vst1q_f16_x3, vst1q_f32_x3): New. - (vst1q_p8_x3, vst1q_p16_x3, vst1q_p64_x3): New. - (vst1q_bf16_x3): New. - * config/arm/arm_neon_builtins.def (vst1q_x3): New entries. - * config/arm/neon.md (neon_vst1q_x3): New. - -2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vst1q_u8_x2, vst1q_u16_x2, vst1q_u32_x2, vst1q_u64_x2): New. - (vst1q_s8_x2, vst1q_s16_x2, vst1q_s32_x2, vst1q_s64_x2): New. - (vst1q_f16_x2, vst1q_f32_x2): New. - (vst1q_p8_x2, vst1q_p16_x2, vst1q_p64_x2): New. - (vst1q_bf16_x2): New. - * config/arm/arm_neon_builtins.def (vst1q_x2): New entries. - * config/arm/neon.md - (neon_vst1_x2): Updated from - neon_vst1_x2. - * config/arm/iterators.md (VMEMX2): New mode iterator. - (VMEMX2_q): New mode attribute. - -2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vst1_u8_x4, vst1_u16_x4, vst1_u32_x4, vst1_u64_x4): New. - (vst1_s8_x4, vst1_s16_x4, vst1_s32_x4, vst1_s64_x4): New. - (vst1_f16_x4, vst1_f32_x4): New. - (vst1_p8_x4, vst1_p16_x4, vst1_p64_x4): New. - (vst1_bf16_x4): New. - * config/arm/arm_neon_builtins.def (vst1_x4): New entries. - * config/arm/neon.md (vst1_x4): New. - -2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vst1_u8_x3, vst1_u16_x3, vst1_u32_x3, vst1_u64_x3): New. - (vst1_s8_x3, vst1_s16_x3, vst1_s32_x3, vst1_s64_x3): New. - (vst1_f16_x3, vst1_f32_x3): New. - (vst1_p8_x3, vst1_p16_x3, vst1_p64_x3): New. - (vst1_bf16_x3): New. - * config/arm/arm_neon_builtins.def (vst1_x3): New entries. - * config/arm/neon.md (vst1_x3): New. - -2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vst1_u8_x2, vst1_u16_x2, vst1_u32_x2, vst1_u64_x2): New. - (vst1_s8_x2, vst1_s16_x2, vst1_s32_x2, vst1_s64_x2): New. - (vst1_f16_x2, vst1_f32_x2): New. - (vst1_p8_x2, vst1_p16_x2, vst1_p64_x2): New. - (vst1_bf16_x2): New. - * config/arm/arm_neon_builtins.def (vst1_x2): New entries. - * config/arm/neon.md (vst1_x2): New. - -2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vld1q_u8_x4, vld1q_u16_x4, vld1q_u32_x4, vld1q_u64_x4): New. - (vld1q_s8_x4, vld1q_s16_x4, vld1q_s32_x4, vld1q_s64_x4): New. - (vld1q_f16_x4, vld1q_f32_x4): New. - (vld1q_p8_x4, vld1q_p16_x4, vld1q_p64_x4): New. - (vld1q_bf16_x4): New. - * config/arm/arm_neon_builtins.def (vld1_x4): New entries. - * config/arm/neon.md (vld1_x4): New. - -2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vld1q_u8_x3, vld1q_u16_x3, vld1q_u32_x3, vld1q_u64_x3): New. - (vld1q_s8_x3, vld1q_s16_x3, vld1q_s32_x3, vld1q_s64_x3): New. - (vld1q_f16_x3, vld1q_f32_x3): New. - (vld1q_p8_x3, vld1q_p16_x3, vld1q_p64_x3): New. - (vld1q_bf16_x3): New. - * config/arm/arm_neon_builtins.def (vld1_x3): New entries. - * config/arm/neon.md (vld1_x3): New. - -2023-12-07 Ezra Sitorus - - * config/arm/arm_neon.h - (vld1q_u8_x2, vld1q_u16_x2, vld1q_u32_x2, vld1q_u64_x2): New. - (vld1q_s8_x2, vld1q_s16_x2, vld1q_s32_x2, vld1q_s64_x2): New. - (vld1q_f16_x2, vld1q_f32_x2): New. - (vld1q_p8_x2, vld1q_p16_x2, vld1q_p64_x2): New. - (vld1q_bf16_x2): New. - * config/arm/arm_neon_builtins.def (vld1_x2): New entries. - * config/arm/neon.md (vld1_x2): New. - -2023-12-07 Stefan Schulze Frielinghaus - - * config/s390/vecintrin.h (vec_step): Expand vec_step to - __builtin_s390_vec_step. - -2023-12-07 Alexandre Oliva - - * target.def (have_strub_support_for): New hook. - * doc/tm.texi.in: Document it. - * doc/tm.texi: Rebuild. - * ipa-strub.cc: Include target.h. - (strub_target_support_p): New. - (can_strub_p): Call it. Test for no flag_split_stack. - (pass_ipa_strub::adjust_at_calls_call): Check for target - support. - * config/nvptx/nvptx.cc (TARGET_HAVE_STRUB_SUPPORT_FOR): - Disable. - * doc/sourcebuild.texi (strub): Document new effective - target. - -2023-12-07 Juzhe-Zhong - - * config/riscv/riscv-avlprop.cc (simplify_replace_avl): New function. - (simplify_replace_vlmax_avl): Fix bug. - * config/riscv/t-riscv: Add a new include file. - -2023-12-07 Christoph Müllner - - * config/riscv/thead.cc (th_memidx_classify_address_index): - Require TARGET_XTHEADMEMIDX for FP modes. - * config/riscv/thead.md: Require TARGET_XTHEADMEMIDX for all - XTheadFMemIdx pattern. - -2023-12-07 Jakub Jelinek - - PR middle-end/112881 - * expr.cc (count_type_elements): Handle BITINT_TYPE like INTEGER_TYPE. - -2023-12-07 Jakub Jelinek - - PR tree-optimization/112880 - * tree-ssa-dce.cc (maybe_optimize_arith_overflow): Use - unsigned_type_for instead of conditionally calling - build_nonstandard_integer_type. - -2023-12-07 Victor Do Nascimento - - * config/aarch64/arm_neon.h (vldap1_lane_u64): New. - (vldap1q_lane_u64): Likewise. - (vldap1_lane_s64): Likewise. - (vldap1q_lane_s64): Likewise. - (vldap1_lane_f64): Likewise. - (vldap1q_lane_f64): Likewise. - (vldap1_lane_p64): Likewise. - (vldap1q_lane_p64): Likewise. - (vstl1_lane_u64): Likewise. - (vstl1q_lane_u64): Likewise. - (vstl1_lane_s64): Likewise. - (vstl1q_lane_s64): Likewise. - (vstl1_lane_f64): Likewise. - (vstl1q_lane_f64): Likewise. - (vstl1_lane_p64): Likewise. - (vstl1q_lane_p64): Likewise. - -2023-12-07 Victor Do Nascimento - - * config/aarch64/aarch64-simd-builtins.def - (vec_ldap1_lane): New. - (vec_stl1_lane): Likewise. - * config/aarch64/aarch64-simd.md - (aarch64_vec_stl1_lanes_lane): New. - (aarch64_vec_stl1_lane): Likewise. - (aarch64_vec_ldap1_lanes_lane): Likewise. - (aarch64_vec_ldap1_lane): Likewise. - * config/aarch64/aarch64.md (UNSPEC_LDAP1_LANE): New. - (UNSPEC_STL1_LANE): Likewise. - -2023-12-07 Victor Do Nascimento - - * config/aarch64/iterators.md (V12DIF): New. - (V12DUP): Likewise. - (VEL): Add support for all V12DIF-associated modes. - (Vetype): Add support for V1DI and V1DF. - (Vel): Likewise. - -2023-12-07 Victor Do Nascimento - - * config/aarch64/aarch64-option-extensions.def (rcpc3): New. - * config/aarch64/aarch64.h (AARCH64_ISA_RCPC3): Likewise. - (TARGET_RCPC3): Likewise. - * doc/invoke.texi (rcpc3): Document feature in AArch64 Options. - -2023-12-07 Hongyu Wang - - * config/i386/i386-expand.cc (ix86_split_ashl_ndd): New - function to split NDD form lshift. - (ix86_split_rshift_ndd): Likewise for l/ashiftrt. - * config/i386/i386-protos.h (ix86_split_ashl_ndd): New - prototype. - (ix86_split_rshift_ndd): Likewise. - * config/i386/i386.md (ashl3_doubleword): Add NDD - alternative, call ndd split function when operands[0] - not equal to operands[1]. - (define_split for doubleword lshift): Likewise. - (define_peephole for doubleword lshift): Likewise. - (3_doubleword): Likewise for l/ashiftrt. - (define_split for doubleword l/ashiftrt): Likewise. - (define_peephole for doubleword l/ashiftrt): Likewise. - -2023-12-07 Hongyu Wang - - * config/i386/i386.md (*movcc_noc): Extend with new constraints - to support NDD. - (*movsicc_noc_zext): Likewise. - (*movsicc_noc_zext_1): Likewise. - (*movqicc_noc): Likewise. - -2023-12-07 Hongyu Wang - - * config/i386/i386.md (x86_64_shld_ndd): New define_insn. - (x86_64_shld_ndd_1): Likewise. - (*x86_64_shld_ndd_2): Likewise. - (x86_shld_ndd): Likewise. - (x86_shld_ndd_1): Likewise. - (*x86_shld_ndd_2): Likewise. - (x86_64_shrd_ndd): Likewise. - (x86_64_shrd_ndd_1): Likewise. - (*x86_64_shrd_ndd_2): Likewise. - (x86_shrd_ndd): Likewise. - (x86_shrd_ndd_1): Likewise. - (*x86_shrd_ndd_2): Likewise. - (*x86_64_shld_shrd_1_nozext): Adjust codegen under TARGET_APX_NDD. - (*x86_shld_shrd_1_nozext): Likewise. - (*x86_64_shrd_shld_1_nozext): Likewise. - (*x86_shrd_shld_1_nozext): Likewise. - -2023-12-07 Hongyu Wang - - * config/i386/i386.md (*3_1): Extend with a new - alternative to support NDD for SI/DI rotate, and adjust output - template. - (*si3_1_zext): Likewise. - (*3_1): Likewise for QI/HI modes. - (rcrsi2): Likewise, and use nonimmediate_operand for operands[1] - to accept memory input for NDD alternative. - (rcrdi2): Likewise. - -2023-12-07 Hongyu Wang - - * config/i386/i386.md (ashr3_cvt): Extend with new - alternatives to support NDD, and adjust output templates. - (*ashr3_1): Likewise for SI/DI mode. - (*lshr3_1): Likewise. - (*si3_1_zext): Likewise. - (*ashr3_1): Likewise for QI/HI mode. - (*lshrqi3_1): Likewise. - (*lshrhi3_1): Likewise. - (3_cmp): Likewise. - (*3_cconly): Likewise. - (*ashrsi3_cvt_zext): Likewise, and use nonimmediate_operand for - operands[1] to accept memory input for NDD alternative. - (*highpartdisi2): Likewise. - (*si3_cmp_zext): Likewise. - (3_carry): Likewise. - -2023-12-07 Hongyu Wang - - * config/i386/i386.md (*ashl3_1): Extend with new - alternatives to support NDD, limit the new alternative to - generate sal only, and adjust output template for NDD. - (*ashlsi3_1_zext): Likewise. - (*ashlhi3_1): Likewise. - (*ashlqi3_1): Likewise. - (*ashl3_cmp): Likewise. - (*ashlsi3_cmp_zext): Likewise, and use nonimmediate_operand for - operands[1] to accept memory input for NDD alternative. - (*ashl3_cconly): Likewise. - (*ashl3_doubleword_highpart): Adjust codegen for NDD. - -2023-12-07 Kong Lingling - - * config/i386/i386.md (3): Add new alternative for NDD - and adjust output templates. - (*_1): Likewise. - (*qi_1): Likewise. - (*notxor_1): Likewise. - (*si_1_zext): Likewise. - (*notxorqi_1): Likewise. - (*_2): Likewise. - (*si_2_zext): Likewise. - (*si_2_zext_imm): Likewise. - (*si_1_zext_imm): Likewise, and use nonimmediate_operand for - operands[1] to accept memory input for NDD alternative. - (*one_cmplsi2_2_zext): Likewise. - (define_split for *one_cmplsi2_2_zext): Use nonimmediate_operand for - operands[3]. - (*3_doubleword): Add NDD constraints, adopt '&' to NDD dest - and emit move for optimized case if operands[0] != operands[1] or - operands[4] != operands[5]. - (define_split for QI highpart OR/XOR): Prohibit splitter to split NDD - form OR/XOR insn to qi_ext_3. - (define_split for QI strict_lowpart optimization): Prohibit splitter to - split NDD form AND insn to *3_1_slp. - -2023-12-07 Kong Lingling - - * config/i386/i386.md (and3): Add NDD alternatives and adjust - output template. - (*anddi_1): Likewise. - (*and_1): Likewise. - (*andqi_1): Likewise. - (*andsi_1_zext): Likewise. - (*anddi_2): Likewise. - (*andsi_2_zext): Likewise. - (*andqi_2_maybe_si): Likewise. - (*and_2): Likewise. - (*and3_doubleword): Add NDD alternative, adopt '&' to NDD dest and - emit move for optimized case if operands[0] not equal to operands[1]. - (define_split for QI highpart AND): Prohibit splitter to split NDD - form AND insn to qi_ext_3. - (define_split for QI strict_lowpart optimization): Prohibit splitter to - split NDD form AND insn to *3_1_slp. - (define_split for zero_extend and optimization): Prohibit splitter to - split NDD form AND insn to zero_extend insn. - -2023-12-07 Kong Lingling - - * config/i386/i386.md (one_cmpl2): Add new constraints for NDD - and adjust output template. - (*one_cmpl2_1): Likewise. - (*one_cmplqi2_1): Likewise. - (*one_cmpl2_doubleword): Likewise, and adopt '&' to NDD dest. - (*one_cmpl2_2): Likewise. - (*one_cmplsi2_1_zext): Likewise, and use nonimmediate_operand for - operands[1] to accept memory input for NDD alternative. - -2023-12-07 Kong Lingling - - * config/i386/i386-expand.cc (ix86_expand_unary_operator): Add use_ndd - parameter and adjust for NDD. - * config/i386/i386-protos.h: Add use_ndd parameter for - ix86_unary_operator_ok and ix86_expand_unary_operator. - * config/i386/i386.cc (ix86_unary_operator_ok): Add use_ndd parameter - and adjust for NDD. - * config/i386/i386.md (neg2): Add new constraint for NDD and - adjust output template. - (*neg_1): Likewise. - (*neg2_doubleword): Likewise and adopt '&' to NDD dest. - (*neg_2): Likewise. - (*neg_ccc_1): Likewise. - (*neg_ccc_2): Likewise. - (*negsi_1_zext): Likewise, and use nonimmediate_operand for operands[1] - to accept memory input for NDD alternatives. - (*negsi_2_zext): Likewise. - -2023-12-07 Kong Lingling - - * config/i386/i386.md (*sub3_doubleword): Add new alternative for - NDD, adopt '&' modifier to NDD dest and emit move when operands[0] not - equal to operands[1]. - (*sub3_doubleword_zext): Likewise. - (*subv4_doubleword): Likewise. - (*subv4_doubleword_1): Likewise. - (*subv4_overflow_1): Add NDD alternatives and adjust output - templates. - (*subv4_overflow_2): Likewise. - (@sub3_carry): Likewise. - (*addsi3_carry_zext_0r): Likewise, and use nonimmediate_operand for - operands[1] to accept memory input for NDD alternative. - (*subsi3_carry_zext): Likewise. - (subborrow): Parse TARGET_APX_NDD to ix86_binary_operator_ok. - (subborrow_0): Likewise. - (*sub3_eq): Likewise. - (*sub3_ne): Likewise. - (*sub3_eq_1): Likewise. - -2023-12-07 Kong Lingling - - * config/i386/i386-expand.cc (ix86_fixup_binary_operands_no_copy): - Add use_ndd parameter and parse it. - * config/i386/i386-protos.h (ix86_fixup_binary_operands_no_copy): - Change define. - * config/i386/i386.md (sub3): Add new alternatives for NDD - and adjust output templates. - (*sub_1): Likewise. - (*sub_2): Likewise. - (subv4): Likewise. - (*subv4): Likewise. - (subv4_1): Likewise. - (usubv4): Likewise. - (*sub_3): Likewise. - (*subsi_1_zext): Likewise, and use nonimmediate_operand for operands[1] - to accept memory input for NDD alternatives. - (*subsi_2_zext): Likewise. - (*subsi_3_zext): Likewise. - -2023-12-07 Kong Lingling - - * config/i386/i386.md (*add3_doubleword): Add ndd alternatives, - adopt '&' to ndd dest and move operands[1] to operands[0] when they are - not equal. - (*add3_doubleword_cc_overflow_1): Likewise. - (*addv4_doubleword): Likewise. - (*addv4_doubleword_1): Likewise. - (*add3_doubleword_zext): Likewise. - (addv4_overflow_1): Add ndd alternatives. - (*addv4_overflow_2): Likewise. - (@add3_carry): Likewise. - (*add3_carry_0): Likewise. - (*addsi3_carry_zext): Likewise. - (addcarry): Likewise. - (addcarry_0): Likewise. - (*addcarry_1): Likewise. - (*add3_eq): Likewise. - (*add3_ne): Likewise. - (*addsi3_carry_zext_0): Likewise, and use nonimmediate_operand for - operands[1] to accept memory input for NDD alternative. - -2023-12-07 Hongyu Wang - - * config/i386/constraints.md (je): New constraint. - * config/i386/i386-protos.h (x86_poff_operand_p): New function to - check any *POFF constant in operand. - * config/i386/i386.cc (x86_poff_operand_p): New prototype. - * config/i386/i386.md (*add_1): Split out je alternative for add. - -2023-12-07 Kong Lingling - - * config/i386/i386.md: (addsi_1_zext): Add new alternatives for - NDD and adjust output templates. - (*add_2): Likewise. - (*addsi_2_zext): Likewise. - (*add_3): Likewise. - (*addsi_3_zext): Likewise. - (*adddi_4): Likewise. - (*add_4): Likewise. - (*add_5): Likewise. - (*addv4): Likewise. - (*addv4_1): Likewise. - (*add3_cconly_overflow_1): Likewise. - (*add3_cc_overflow_1): Likewise. - (*addsi3_zext_cc_overflow_1): Likewise. - (*add3_cconly_overflow_2): Likewise. - (*add3_cc_overflow_2): Likewise. - (*addsi3_zext_cc_overflow_2): Likewise. - -2023-12-07 Kong Lingling - - * config/i386/i386-expand.cc (ix86_fixup_binary_operands): Add - new use_ndd flag to check whether ndd can be used for this binop - and adjust operand emit. - (ix86_binary_operator_ok): Likewise. - (ix86_expand_binary_operator): Likewise, and void postreload - expand generate lea pattern when use_ndd is explicit parsed. - * config/i386/i386-options.cc (ix86_option_override_internal): - Prohibit apx subfeatures when not in 64bit mode. - * config/i386/i386-protos.h (ix86_binary_operator_ok): - Add use_ndd flag. - (ix86_fixup_binary_operand): Likewise. - (ix86_expand_binary_operand): Likewise. - * config/i386/i386.md (*add_1): Extend with new alternatives - to support NDD, and adjust output template. - (*addhi_1): Likewise. - (*addqi_1): Likewise. - -2023-12-07 David Malcolm - - PR analyzer/103546 - PR analyzer/112850 - * doc/invoke.texi: Add -Wanalyzer-symbol-too-complex. - -2023-12-06 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (extract_single_source): new function. - (pre_vsetvl::compute_lcm_local_properties): Fix ICE. - -2023-12-06 Victor Do Nascimento - - * config/aarch64/aarch64-builtins.cc (AARCH64_RSR128): New - `enum aarch64_builtins' value. - (AARCH64_WSR128): Likewise. - (aarch64_init_rwsr_builtins): Init `__builtin_aarch64_rsr128' - and `__builtin_aarch64_wsr128' builtins. - (aarch64_expand_rwsr_builtin): Extend function to handle - `__builtin_aarch64_{rsr|wsr}128'. - * config/aarch64/aarch64-protos.h (aarch64_retrieve_sysreg): - Update function signature. - * config/aarch64/aarch64.cc (F_REG_128): New. - (aarch64_retrieve_sysreg): Add 128-bit register mode check. - * config/aarch64/aarch64.md (UNSPEC_SYSREG_RTI): New. - (UNSPEC_SYSREG_WTI): Likewise. - (aarch64_read_sysregti): Likewise. - (aarch64_write_sysregti): Likewise. - * config/aarch64/arm_acle.h (__arm_rsr128): New. - (__arm_wsr128): Likewise. - -2023-12-06 Victor Do Nascimento - - * config/aarch64/aarch64-sys-regs.def: Copy from Binutils. - -2023-12-06 Victor Do Nascimento - - * config/aarch64/aarch64-option-extensions.def (gcs): New. - * config/aarch64/aarch64.h (AARCH64_ISA_GCS): New. - (TARGET_THE): Likewise. - * doc/invoke.texi (AArch64 Options): Describe GCS. - -2023-12-06 Victor Do Nascimento - - * config/aarch64/aarch64-c.cc (__ARM_FEATURE_SYSREG128): New. - * config/aarch64/aarch64-arches.def (armv8.9-a): New. - (armv9.4-a): Likewise. - * config/aarch64/aarch64-option-extensions.def (d128): Likewise. - (the): Likewise. - * config/aarch64/aarch64.h (AARCH64_ISA_V9_4A): Likewise. - (AARCH64_ISA_V8_9A): Likewise. - (TARGET_ARMV9_4): Likewise. - (AARCH64_ISA_D128): Likewise. - (AARCH64_ISA_THE): Likewise. - (TARGET_D128): Likewise. - * doc/invoke.texi (AArch64 Options): Document new -march flags - and extensions. - -2023-12-06 Eric Gallager - - * Makefile.in: Remove qmtest-related targets. - -2023-12-06 David Malcolm - - * common.opt (fdiagnostics-json-formatting): New. - * diagnostic-format-json.cc: Add "formatted" boolean - to json_output_format and subclasses, and to the - diagnostic_output_format_init_json_* functions. Use it when - printing JSON. - * diagnostic-format-sarif.cc: Likewise for sarif_builder, - sarif_output_format, and the various - diagnostic_output_format_init_sarif_* functions. - * diagnostic.cc (diagnostic_output_format_init): Add - "json_formatting" boolean and pass on to the various cases. - * diagnostic.h (diagnostic_output_format_init): Add - "json_formatted" param. - (diagnostic_output_format_init_json_stderr): Add "formatted" param - (diagnostic_output_format_init_json_file): Likewise. - (diagnostic_output_format_init_sarif_stderr): Likewise. - (diagnostic_output_format_init_sarif_file): Likewise. - (diagnostic_output_format_init_sarif_stream): Likewise. - * doc/invoke.texi (-fdiagnostics-format=json): Remove discussion - about JSON output needing formatting. - (-fno-diagnostics-json-formatting): Add. - * gcc.cc (driver_handle_option): Use - opts->x_flag_diagnostics_json_formatting. - * gcov.cc (generate_results): Pass "false" for new formatting - option when printing json. - * json.cc (value::dump): Add new "formatted" param. - (object::print): Likewise, using it to add whitespace to format - the JSON output. - (array::print): Likewise. - (float_number::print): Add new "formatted" param. - (integer_number::print): Likewise. - (string::print): Likewise. - (literal::print): Likewise. - (selftest::assert_print_eq): Add "formatted" param. - (ASSERT_PRINT_EQ): Add "FORMATTED" param. - (selftest::test_writing_objects): Test both formatted and - unformatted printing. - (selftest::test_writing_arrays): Likewise. - (selftest::test_writing_float_numbers): Update for new param of - ASSERT_PRINT_EQ. - (selftest::test_writing_integer_numbers): Likewise. - (selftest::test_writing_strings): Likewise. - (selftest::test_writing_literals): Likewise. - (selftest::test_formatting): New. - (selftest::json_cc_tests): Call it. - * json.h (value::print): Add "formatted" param. - (value::dump): Likewise. - (object::print): Likewise. - (array::print): Likewise. - (float_number::print): Likewise. - (integer_number::print): Likewise. - (string::print): Likewise. - (literal::print): Likewise. - * optinfo-emit-json.cc (optrecord_json_writer::write): Pass - "false" for new formatting option when printing json. - (selftest::test_building_json_from_dump_calls): Likewise. - * opts.cc (common_handle_option): Use - opts->x_flag_diagnostics_json_formatting. - -2023-12-06 David Malcolm - - * diagnostic-format-json.cc (on_begin_diagnostic): Convert param - to const reference. - (on_end_diagnostic): Likewise. - (json_output_format::on_end_diagnostic): Likewise. - * diagnostic-format-sarif.cc - (sarif_invocation::add_notification_for_ice): Likewise. - (sarif_result::on_nested_diagnostic): Likewise. - (sarif_ice_notification::sarif_ice_notification): Likewise. - (sarif_builder::end_diagnostic): Likewise. - (sarif_builder::make_result_object): Likewise. - (make_reporting_descriptor_object_for_warning): Likewise. - (sarif_builder::make_locations_arr): Likewise. - (sarif_output_format::on_begin_diagnostic): Likewise. - (sarif_output_format::on_end_diagnostic): Likewise. - * diagnostic.cc (default_diagnostic_starter): Make diagnostic_info - param const. - (default_diagnostic_finalizer): Likewise. - (diagnostic_context::report_diagnostic): Pass diagnostic by - reference to on_{begin,end}_diagnostic. - (diagnostic_text_output_format::on_begin_diagnostic): Convert - param to const reference. - (diagnostic_text_output_format::on_end_diagnostic): Likewise. - * diagnostic.h (diagnostic_starter_fn): Make diagnostic_info param - const. - (diagnostic_finalizer_fn): Likeewise. - (diagnostic_output_format::on_begin_diagnostic): Convert param to - const reference. - (diagnostic_output_format::on_end_diagnostic): Likewise. - (diagnostic_text_output_format::on_begin_diagnostic): Likewise. - (diagnostic_text_output_format::on_end_diagnostic): Likewise. - (default_diagnostic_starter): Make diagnostic_info param const. - (default_diagnostic_finalizer): Likewise. - * langhooks-def.h (lhd_print_error_function): Make diagnostic_info - param const. - * langhooks.cc (lhd_print_error_function): Likewise. - * langhooks.h (lang_hooks::print_error_function): Likewise. - * tree-diagnostic.cc (diagnostic_report_current_function): - Likewise. - (default_tree_diagnostic_starter): Likewise. - (virt_loc_aware_diagnostic_finalizer): Likewise. - * tree-diagnostic.h (diagnostic_report_current_function): - Likewise. - (virt_loc_aware_diagnostic_finalizer): Likewise. - -2023-12-06 Andrew Stubbs - - * config/gcn/gcn-builtins.def (DISPATCH_PTR): New built-in. - * config/gcn/gcn.cc (gcn_init_machine_status): Disable global - addressing. - (gcn_expand_builtin_1): Implement GCN_BUILTIN_DISPATCH_PTR. - -2023-12-06 Juzhe-Zhong - - PR target/112855 - * config/riscv/riscv-vsetvl.cc - (pre_vsetvl::compute_lcm_local_properties): Fix transparant LCM data. - (pre_vsetvl::earliest_fuse_vsetvl_info): Disable earliest fusion for unrelated edge. - -2023-12-06 Marek Polacek - - PR target/112762 - * config/linux.h: Redefine TARGET_FORTIFY_SOURCE_DEFAULT_LEVEL for - glibc only. - -2023-12-06 Victor Do Nascimento - - * config/aarch64/aarch64.cc - (aarch64_test_sysreg_encoding_clashes): New. - (aarch64_run_selftests): add call to - aarch64_test_sysreg_encoding_clashes selftest. - -2023-12-06 Victor Do Nascimento - - * config/aarch64/aarch64-builtins.cc (aarch64_general_check_builtin_call): - New. - * config/aarch64/aarch64-c.cc (aarch64_check_builtin_call): - Add `aarch64_general_check_builtin_call' call. - * config/aarch64/aarch64-protos.h (aarch64_general_check_builtin_call): - New. - -2023-12-06 Victor Do Nascimento - - * config/aarch64/aarch64-builtins.cc (enum aarch64_builtins): - Add enums for new builtins. - (aarch64_init_rwsr_builtins): New. - (aarch64_general_init_builtins): Call aarch64_init_rwsr_builtins. - (aarch64_expand_rwsr_builtin): New. - (aarch64_general_expand_builtin): Call aarch64_general_expand_builtin. - * config/aarch64/aarch64.md (read_sysregdi): New insn_and_split. - (write_sysregdi): Likewise. - * config/aarch64/arm_acle.h (__arm_rsr): New. - (__arm_rsrp): Likewise. - (__arm_rsr64): Likewise. - (__arm_rsrf): Likewise. - (__arm_rsrf64): Likewise. - (__arm_wsr): Likewise. - (__arm_wsrp): Likewise. - (__arm_wsr64): Likewise. - (__arm_wsrf): Likewise. - (__arm_wsrf64): Likewise. - -2023-12-06 Victor Do Nascimento - - * config/aarch64/aarch64-protos.h (aarch64_valid_sysreg_name_p): New. - (aarch64_retrieve_sysreg): Likewise. - * config/aarch64/aarch64.cc (is_implem_def_reg): Likewise. - (aarch64_valid_sysreg_name_p): Likewise. - (aarch64_retrieve_sysreg): Likewise. - (aarch64_register_sysreg): Likewise. - (aarch64_init_sysregs): Likewise. - (aarch64_lookup_sysreg_map): Likewise. - * config/aarch64/predicates.md (aarch64_sysreg_string): New. - -2023-12-06 Victor Do Nascimento - - * config/aarch64/aarch64.cc (sysreg_t): New. - (aarch64_sysregs): Likewise. - (AARCH64_FEATURE): Likewise. - (AARCH64_FEATURES): Likewise. - (AARCH64_NO_FEATURES): Likewise. - * config/aarch64/aarch64.h (AARCH64_ISA_V8A): Add missing - ISA flag. - (AARCH64_ISA_V8_1A): Likewise. - (AARCH64_ISA_V8_7A): Likewise. - (AARCH64_ISA_V8_8A): Likewise. - (AARCH64_NO_FEATURES): Likewise. - (AARCH64_FL_RAS): New ISA flag alias. - (AARCH64_FL_LOR): Likewise. - (AARCH64_FL_PAN): Likewise. - (AARCH64_FL_AMU): Likewise. - (AARCH64_FL_SCXTNUM): Likewise. - (AARCH64_FL_ID_PFR2): Likewise. - (F_DEPRECATED): New. - (F_REG_READ): Likewise. - (F_REG_WRITE): Likewise. - (F_ARCHEXT): Likewise. - (F_REG_ALIAS): Likewise. - -2023-12-06 Victor Do Nascimento - - * config/aarch64/aarch64-sys-regs.def: New. - -2023-12-06 Robin Dapp - - PR target/112854 - PR target/112872 - * config/riscv/autovec.md (vec_initqi): New expander. - -2023-12-06 Jakub Jelinek - - PR rtl-optimization/112760 - * config/i386/i386-passes.def (pass_insert_vzeroupper): Insert - after pass_postreload_cse rather than pass_reload. - * config/i386/i386-features.cc (rest_of_handle_insert_vzeroupper): - Adjust comment for it. - -2023-12-06 Jakub Jelinek - - PR tree-optimization/112809 - * gimple-lower-bitint.cc (bitint_large_huge::lower_mergeable_stmt): For - separate_ext in kind == bitint_prec_huge mode if rem == 0, create for - i == cnt - 1 the loop rather than using size_int (end). - -2023-12-06 Jakub Jelinek - - * gcc.cc (driver_handle_option): Add /* FALLTHROUGH */ comment - between OPT_pie and OPT_r cases. - -2023-12-06 Tobias Burnus - - * tsystem.h (calloc, realloc): Declare when inhibit_libc. - -2023-12-06 Richard Biener - - PR tree-optimization/112843 - * tree-ssa-operands.cc (update_stmt_operands): Do not call - update_stmt from ranger. - * value-query.h (range_query::update_stmt): Remove. - * gimple-range.h (gimple_ranger::update_stmt): Likewise. - * gimple-range.cc (gimple_ranger::update_stmt): Likewise. - -2023-12-06 xuli - - * config/riscv/riscv.md: Remove. - -2023-12-06 Alexandre Oliva - - * Makefile.in (OBJS): Add ipa-strub.o. - (GTFILES): Add ipa-strub.cc. - * builtins.def (BUILT_IN_STACK_ADDRESS): New. - (BUILT_IN___STRUB_ENTER): New. - (BUILT_IN___STRUB_UPDATE): New. - (BUILT_IN___STRUB_LEAVE): New. - * builtins.cc: Include ipa-strub.h. - (STACK_STOPS, STACK_UNSIGNED): Define. - (expand_builtin_stack_address): New. - (expand_builtin_strub_enter): New. - (expand_builtin_strub_update): New. - (expand_builtin_strub_leave): New. - (expand_builtin): Call them. - * common.opt (fstrub=*): New options. - * doc/extend.texi (strub): New type attribute. - (__builtin_stack_address): New function. - (Stack Scrubbing): New section. - * doc/invoke.texi (-fstrub=*): New options. - (-fdump-ipa-*): New passes. - * gengtype-lex.l: Ignore multi-line pp-directives. - * ipa-inline.cc: Include ipa-strub.h. - (can_inline_edge_p): Test strub_inlinable_to_p. - * ipa-split.cc: Include ipa-strub.h. - (execute_split_functions): Test strub_splittable_p. - * ipa-strub.cc, ipa-strub.h: New. - * passes.def: Add strub_mode and strub passes. - * tree-cfg.cc (gimple_verify_flow_info): Note on debug stmts. - * tree-pass.h (make_pass_ipa_strub_mode): Declare. - (make_pass_ipa_strub): Declare. - (make_pass_ipa_function_and_variable_visibility): Fix - formatting. - * tree-ssa-ccp.cc (optimize_stack_restore): Keep restores - before strub leave. - * attribs.cc: Include ipa-strub.h. - (decl_attributes): Support applying attributes to function - type, rather than pointer type, at handler's request. - (comp_type_attributes): Combine strub_comptypes and target - comp_type results. - * doc/tm.texi.in (TARGET_STRUB_USE_DYNAMIC_ARRAY): New. - (TARGET_STRUB_MAY_USE_MEMSET): New. - * doc/tm.texi: Rebuilt. - * cgraph.h (symtab_node::reset): Add preserve_comdat_group - param, with a default. - * cgraphunit.cc (symtab_node::reset): Use it. - -2023-12-05 Juzhe-Zhong - - PR target/112851 - PR target/112852 - * config/riscv/riscv-v.cc (vls_mode_valid_p): Block VLSmodes according - TARGET_MAX_LMUL and BITS_PER_RISCV_VECTOR. - -2023-12-05 David Faust - - PR debug/112849 - * btfout.cc (btf_collect_datasec): Avoid incorrectly creating an - entry in a BTF_KIND_DATASEC record for extern variable decls without - a known section. - -2023-12-05 Jakub Jelinek - - PR target/112606 - * config/rs6000/rs6000.md (copysign3): Change predicate - of the last argument from gpc_reg_operand to any_operand. If - operands[2] is CONST_DOUBLE, emit abs or neg abs depending on - its sign, otherwise if it doesn't satisfy gpc_reg_operand, - force it to REG using copy_to_mode_reg. - -2023-12-05 Richard Sandiford - - * attribs.cc (handle_ignored_attributes_option): Add extra - braces to work around PR 16333 in older compilers. - * config/aarch64/aarch64.cc (aarch64_gnu_attribute_table): Likewise. - (aarch64_arm_attribute_table): Likewise. - * config/arm/arm.cc (arm_gnu_attribute_table): Likewise. - * config/i386/i386-options.cc (ix86_gnu_attribute_table): Likewise. - * config/ia64/ia64.cc (ia64_gnu_attribute_table): Likewise. - * config/rs6000/rs6000.cc (rs6000_gnu_attribute_table): Likewise. - * target-def.h (TARGET_GNU_ATTRIBUTES): Likewise. - * genhooks.cc (emit_init_macros): Likewise, when emitting the - instantiation of TARGET_ATTRIBUTE_TABLE. - * langhooks-def.h (LANG_HOOKS_INITIALIZER): Likewise, when - instantiating LANG_HOOKS_ATTRIBUTE_TABLE. - (LANG_HOOKS_ATTRIBUTE_TABLE): Define to be empty by default. - * target.def (attribute_table): Likewise. - -2023-12-05 Richard Biener - - PR middle-end/112860 - * passes.cc (should_skip_pass_p): Do not skip ISEL. - -2023-12-05 Richard Biener - - PR sanitizer/111736 - * asan.cc (asan_protect_global): Do not protect globals - in non-generic address-space. - -2023-12-05 Richard Biener - - PR ipa/92606 - * ipa-icf.cc (sem_variable::equals_wpa): Compare address-spaces. - -2023-12-05 Richard Biener - - PR middle-end/112830 - * gimplify.cc (gimplify_modify_expr): Avoid turning aggregate - copy of non-generic address-spaces to memcpy. - (gimplify_modify_expr_to_memcpy): Assert we are dealing with - a copy inside the generic address-space. - (gimplify_modify_expr_to_memset): Likewise. - * tree-cfg.cc (verify_gimple_assign_single): Allow - WITH_SIZE_EXPR as part of the RHS of an assignment. - * builtins.cc (get_memory_address): Assert we are dealing - with the generic address-space. - * tree-ssa-dce.cc (ref_may_be_aliased): Handle WITH_SIZE_EXPR. - -2023-12-05 Richard Biener - - PR tree-optimization/109689 - PR tree-optimization/112856 - * cfgloopmanip.h (unloop_loops): Adjust API. - * tree-ssa-loop-ivcanon.cc (unloop_loops): Take edges_to_remove - as parameter. - (canonicalize_induction_variables): Adjust. - (tree_unroll_loops_completely): Likewise. - * tree-ssa-loop-ch.cc (ch_base::copy_headers): Rewrite into - LC SSA if we unlooped some loops and we are in LC SSA. - -2023-12-05 Jakub Jelinek - - PR target/112845 - * config/i386/i386.md (movabsq $(i32 << shift), r64 peephole2): FAIL - if the new immediate is ix86_endbr_immediate_operand. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64.h (TARGET_STREAMING_SME2): New macro. - (P_ALIASES): Likewise. - (REGISTER_NAMES): Add pn aliases of the predicate registers. - (W8_W11_REGNUM_P): New macro. - (W8_W11_REGS): New register class. - (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly. - * config/aarch64/aarch64.cc (aarch64_print_operand): Add support - for %K, which prints a predicate as a counter. Handle tuples of - predicates. - (aarch64_regno_regclass): Handle W8_W11_REGS. - (aarch64_class_max_nregs): Likewise. - * config/aarch64/constraints.md (Uci, Uw2, Uw4): New constraints. - (x, y): Move further up file. - (Uph): Redefine as the high predicate registers, renaming the old - constraint to... - (Uih): ...this. - * config/aarch64/predicates.md (const_0_to_7_operand): New predicate. - (const_0_to_4_step_4_operand, const_0_to_6_step_2_operand): Likewise. - (const_0_to_12_step_4_operand, const_0_to_14_step_2_operand): Likewise. - (aarch64_simd_shift_imm_qi): Use const_0_to_7_operand. - * config/aarch64/iterators.md (VNx16SI_ONLY, VNx8SI_ONLY) - (VNx8DI_ONLY, SVE_FULL_BHSIx2, SVE_FULL_HF, SVE_FULL_SIx2_SDIx4) - (SVE_FULL_BHS, SVE_FULLx24, SVE_DIx24, SVE_BHSx24, SVE_Ix24) - (SVE_Fx24, SVE_SFx24, SME_ZA_BIx24, SME_ZA_BHIx124, SME_ZA_BHIx24) - (SME_ZA_HFx124, SME_ZA_HFx24, SME_ZA_HIx124, SME_ZA_HIx24) - (SME_ZA_SDIx24, SME_ZA_SDFx24): New mode iterators. - (UNSPEC_REVD, UNSPEC_CNTP_C, UNSPEC_PEXT, UNSPEC_PEXTx2): New unspecs. - (UNSPEC_PSEL, UNSPEC_PTRUE_C, UNSPEC_SQRSHR, UNSPEC_SQRSHRN) - (UNSPEC_SQRSHRU, UNSPEC_SQRSHRUN, UNSPEC_UQRSHR, UNSPEC_UQRSHRN) - (UNSPEC_UZP, UNSPEC_UZPQ, UNSPEC_ZIP, UNSPEC_ZIPQ, UNSPEC_BFMLSLB) - (UNSPEC_BFMLSLT, UNSPEC_FCVTN, UNSPEC_FDOT, UNSPEC_SQCVT): Likewise. - (UNSPEC_SQCVTN, UNSPEC_SQCVTU, UNSPEC_SQCVTUN, UNSPEC_UQCVT): Likewise. - (UNSPEC_SME_ADD, UNSPEC_SME_ADD_WRITE, UNSPEC_SME_BMOPA): Likewise. - (UNSPEC_SME_BMOPS, UNSPEC_SME_FADD, UNSPEC_SME_FDOT, UNSPEC_SME_FVDOT) - (UNSPEC_SME_FMLA, UNSPEC_SME_FMLS, UNSPEC_SME_FSUB, UNSPEC_SME_READ) - (UNSPEC_SME_SDOT, UNSPEC_SME_SVDOT, UNSPEC_SME_SMLA, UNSPEC_SME_SMLS) - (UNSPEC_SME_SUB, UNSPEC_SME_SUB_WRITE, UNSPEC_SME_SUDOT): Likewise. - (UNSPEC_SME_SUVDOT, UNSPEC_SME_UDOT, UNSPEC_SME_UVDOT): Likewise. - (UNSPEC_SME_UMLA, UNSPEC_SME_UMLS, UNSPEC_SME_USDOT): Likewise. - (UNSPEC_SME_USVDOT, UNSPEC_SME_WRITE): Likewise. - (Vetype, VNARROW, V2XWIDE, Ventype, V_INT_EQUIV, v_int_equiv) - (VSINGLE, vsingle, b): Add tuple modes. - (v2xwide, za32_offset_range, za64_offset_range, za32_long) - (za32_last_offset, vg_modifier, z_suffix, aligned_operand) - (aligned_fpr): New mode attributes. - (SVE_INT_BINARY_MULTI, SVE_INT_BINARY_SINGLE, SVE_INT_BINARY_MULTI) - (SVE_FP_BINARY_MULTI): New int iterators. - (SVE_BFLOAT_TERNARY_LONG): Add UNSPEC_BFMLSLB and UNSPEC_BFMLSLT. - (SVE_BFLOAT_TERNARY_LONG_LANE): Likewise. - (SVE_WHILE_ORDER, SVE2_INT_SHIFT_IMM_NARROWxN, SVE_QCVTxN) - (SVE2_SFx24_UNARY, SVE2_x24_PERMUTE, SVE2_x24_PERMUTEQ) - (UNSPEC_REVD_ONLY, SME2_INT_MOP, SME2_BMOP, SME_BINARY_SLICE_SDI) - (SME_BINARY_SLICE_SDF, SME_BINARY_WRITE_SLICE_SDI, SME_INT_DOTPROD) - (SME_INT_DOTPROD_LANE, SME_FP_DOTPROD, SME_FP_DOTPROD_LANE) - (SME_INT_TERNARY_SLICE, SME_FP_TERNARY_SLICE, BHSD_BITS) - (LUTI_BITS): New int iterators. - (optab, sve_int_op): Handle the new unspecs. - (sme_int_op, has_16bit_form): New int attributes. - (bits_etype): Handle 64. - * config/aarch64/aarch64.md (UNSPEC_LD1_SVE_COUNT): New unspec. - (UNSPEC_ST1_SVE_COUNT, UNSPEC_LDNT1_SVE_COUNT): Likewise. - (UNSPEC_STNT1_SVE_COUNT): Likewise. - * config/aarch64/atomics.md (cas_short_expected_imm): Use Uhi - rather than Uph for HImode immediates. - * config/aarch64/aarch64-sve.md (@aarch64_ld1) - (@aarch64_ldnt1, @aarch64_st1) - (@aarch64_stnt1): New patterns. - (@aarch64_dot_prod_lane): Extend to... - (@aarch64_dot_prod_lane) - (@aarch64_dot_prod_lane): - ...these new patterns. - (SVE_WHILE_B, SVE_WHILE_B_X2, SVE_WHILE_C): New constants. Add - SVE_WHILE_B to existing while patterns. - * config/aarch64/aarch64-sve2.md (@aarch64_sve_ptrue_c) - (@aarch64_sve_pext, @aarch64_sve_pextx2) - (@aarch64_sve_psel, *aarch64_sve_psel_plus) - (@aarch64_sve_cntp_c, 2) - (3, *3, @aarch64_sve_single_) - (@aarch64_sve_): New patterns. - (@aarch64_sve_single_, @aarch64_sve_clamp) - (*aarch64_sve_clamp_x, @aarch64_sve_clamp_single) - (@aarch64_sve_fclamp, *aarch64_sve_fclamp_x) - (@aarch64_sve_fclamp_single, 2) - (@aarch64_sve_dotvnx4sivnx8hi): New patterns. - (@aarch64_sve_): Likewise. - (*aarch64_sve_): Likewise. - (@aarch64_sve_single_): Likewise. - (aarch64_sve_fdotvnx4sfvnx8hf): Likewise. - (aarch64_fdot_prod_lanevnx4sfvnx8hf): Likewise. - (@aarch64_sve_): Likewise. - (@aarch64_sve_): Likewise. - (@aarch64_sve_): Likewise. - (truncvnx8sf2, @aarch64_sve_cvtn): Likewise. - (2, 2): Likewise. - (@aarch64_sve_sel): Likewise. - (@aarch64_sve_while_b_x2): Likewise. - (@aarch64_sve_while_c): Likewise. - (@aarch64_pred_, @cond_): Likewise. - (@aarch64_sve_): Likewise. - * config/aarch64/aarch64-sme.md (@aarch64_sme_) - (*aarch64_sme__plus, @aarch64_sme_read) - (*aarch64_sme_read_plus, @aarch64_sme_write): New patterns. - (*aarch64_sme_write_plus aarch64_sme_zero_zt0): Likewise. - (@aarch64_sme_, *aarch64_sme__plus) - (@aarch64_sme_single_): Likewise. - (*aarch64_sme_single__plus): Likewise. - (@aarch64_sme_) - (*aarch64_sme__plus) - (@aarch64_sme_single_) - (*aarch64_sme_single__plus) - (@aarch64_sme_single_sudot) - (*aarch64_sme_single_sudot_plus) - (@aarch64_sme_lane_) - (*aarch64_sme_lane__plus) - (@aarch64_sme_) - (*aarch64_sme__plus) - (@aarch64_sme_) - (*aarch64_sme__plus) - (@aarch64_sme_single_) - (*aarch64_sme_single__plus) - (@aarch64_sme_lane_) - (*aarch64_sme_lane_) - (@aarch64_sme_) - (*aarch64_sme__plus) - (@aarch64_sme_) - (*aarch64_sme__plus) - (@aarch64_sme_single_) - (*aarch64_sme_single__plus) - (@aarch64_sme_lane_) - (*aarch64_sme_lane_) - (@aarch64_sme_) - (@aarch64_sme_) - (@aarch64_sme_) - (*aarch64_sme__plus) - (@aarch64_sme_single_) - (*aarch64_sme_single__plus) - (@aarch64_sme_lane_) - (*aarch64_sme_lane__plus) - (@aarch64_sme_) - (*aarch64_sme__plus) - (@aarch64_sme_single_) - (*aarch64_sme_single__plus) - (@aarch64_sme_lane_) - (*aarch64_sme_lane_) - (@aarch64_sme_) - (*aarch64_sme__plus) - (@aarch64_sme_lane_) - (*aarch64_sme_lane_) - (@aarch64_sme_lut): Likewise. - (UNSPEC_SME_LUTI): New unspec. - * config/aarch64/aarch64-sve-builtins.def (single): New mode suffix. - (c8, c16, c32, c64): New type suffixes. - (vg1x2, vg1x4, vg2, vg2x1, vg2x2, vg2x4, vg4, vg4x1, vg4x2) - (vg4x4): New group suffixes. - * config/aarch64/aarch64-sve-builtins.h (CP_READ_ZT0) - (CP_WRITE_ZT0): New constants. - (get_svbool_t): Delete. - (function_resolver::report_mismatched_num_vectors): New member - function. - (function_resolver::resolve_conversion): Likewise. - (function_resolver::infer_predicate_type): Likewise. - (function_resolver::infer_64bit_scalar_integer_pair): Likewise. - (function_resolver::require_matching_predicate_type): Likewise. - (function_resolver::require_nonscalar_type): Likewise. - (function_resolver::finish_opt_single_resolution): Likewise. - (function_resolver::require_derived_vector_type): Add an - expected_num_vectors parameter. - (function_expander::map_to_rtx_codes): Add an extra parameter - for unconditional FP unspecs. - (function_instance::gp_type_index): New member function. - (function_instance::gp_type): Likewise. - (function_instance::gp_mode): Handle multi-vector operations. - * config/aarch64/aarch64-sve-builtins.cc (TYPES_all_count) - (TYPES_all_pred_count, TYPES_c, TYPES_bhs_data, TYPES_bhs_widen) - (TYPES_hs_data, TYPES_cvt_h_s_float, TYPES_cvt_s_s, TYPES_qcvt_x2) - (TYPES_qcvt_x4, TYPES_qrshr_x2, TYPES_qrshru_x2, TYPES_qrshr_x4) - (TYPES_qrshru_x4, TYPES_while_x, TYPES_while_x_c, TYPES_s_narrow_fsu) - (TYPES_za_s_b_signed, TYPES_za_s_b_unsigned, TYPES_za_s_b_integer) - (TYPES_za_s_h_integer, TYPES_za_s_h_data, TYPES_za_s_unsigned) - (TYPES_za_s_float, TYPES_za_s_data, TYPES_za_d_h_integer): New type - macros. - (groups_x2, groups_x12, groups_x4, groups_x24, groups_x124) - (groups_vg1x2, groups_vg1x4, groups_vg1x24, groups_vg2, groups_vg4) - (groups_vg24): New group arrays. - (function_instance::reads_global_state_p): Handle CP_READ_ZT0. - (function_instance::modifies_global_state_p): Handle CP_WRITE_ZT0. - (add_shared_state_attribute): Handle zt0 state. - (function_builder::add_overloaded_functions): Skip MODE_single - for non-tuple groups. - (function_resolver::report_mismatched_num_vectors): New function. - (function_resolver::resolve_to): Add a fallback error message for - the general two-type case. - (function_resolver::resolve_conversion): New function. - (function_resolver::infer_predicate_type): Likewise. - (function_resolver::infer_64bit_scalar_integer_pair): Likewise. - (function_resolver::require_matching_predicate_type): Likewise. - (function_resolver::require_matching_vector_type): Specifically - diagnose mismatched vector counts. - (function_resolver::require_derived_vector_type): Add an - expected_num_vectors parameter. Extend to handle cases where - tuples are expected. - (function_resolver::require_nonscalar_type): New function. - (function_resolver::check_gp_argument): Use gp_type_index rather - than hard-coding VECTOR_TYPE_svbool_t. - (function_resolver::finish_opt_single_resolution): New function. - (function_checker::require_immediate_either_or): Remove hard-coded - constants. - (function_expander::direct_optab_handler): New function. - (function_expander::use_pred_x_insn): Only add a strictness flag - is the insn has an operand for it. - (function_expander::map_to_rtx_codes): Take an unconditional - FP unspec as an extra parameter. Handle tuples and MODE_single. - (function_expander::map_to_unspecs): Handle tuples and MODE_single. - * config/aarch64/aarch64-sve-builtins-functions.h (read_zt0) - (write_zt0): New typedefs. - (full_width_access::memory_vector): Use the function's - vectors_per_tuple. - (rtx_code_function_base): Add an optional unconditional FP unspec. - (rtx_code_function::expand): Update accordingly. - (rtx_code_function_rotated::expand): Likewise. - (unspec_based_function_exact_insn::expand): Use tuple_mode instead - of vector_mode. - (unspec_based_uncond_function): New typedef. - (cond_or_uncond_unspec_function): New class. - (sme_1mode_function::expand): Handle single forms. - (sme_2mode_function_t): Likewise, adding a template parameter for them. - (sme_2mode_function): Update accordingly. - (sme_2mode_lane_function): New typedef. - (multireg_permute): New class. - (class integer_conversion): Likewise. - (while_comparison::expand): Handle svcount_t and svboolx2_t results. - * config/aarch64/aarch64-sve-builtins-shapes.h - (binary_int_opt_single_n, binary_opt_single_n, binary_single) - (binary_za_slice_lane, binary_za_slice_int_opt_single) - (binary_za_slice_opt_single, binary_za_slice_uint_opt_single) - (binaryx, clamp, compare_scalar_count, count_pred_c) - (dot_za_slice_int_lane, dot_za_slice_lane, dot_za_slice_uint_lane) - (extract_pred, inherent_zt, ldr_zt, read_za, read_za_slice) - (select_pred, shift_right_imm_narrowxn, storexn, str_zt) - (unary_convertxn, unary_za_slice, unaryxn, write_za) - (write_za_slice): Declare. - * config/aarch64/aarch64-sve-builtins-shapes.cc - (za_group_is_pure_overload): New function. - (apply_predication): Use the function's gp_type for the predicate, - instead of hard-coding the use of svbool_t. - (parse_element_type): Add support for "c" (svcount_t). - (parse_type): Add support for "c0" and "c1" (conversion destination - and source types). - (binary_za_slice_lane_base): New class. - (binary_za_slice_opt_single_base): Likewise. - (load_contiguous_base::resolve): Pass the group suffix to r.resolve. - (luti_lane_zt_base): New class. - (binary_int_opt_single_n, binary_opt_single_n, binary_single) - (binary_za_slice_lane, binary_za_slice_int_opt_single) - (binary_za_slice_opt_single, binary_za_slice_uint_opt_single) - (binaryx, clamp): New shapes. - (compare_scalar_def::build): Allow the return type to be a tuple. - (compare_scalar_def::expand): Pass the group suffix to r.resolve. - (compare_scalar_count, count_pred_c, dot_za_slice_int_lane) - (dot_za_slice_lane, dot_za_slice_uint_lane, extract_pred, inherent_zt) - (ldr_zt, read_za, read_za_slice, select_pred, shift_right_imm_narrowxn) - (storexn, str_zt): New shapes. - (ternary_qq_lane_def, ternary_qq_opt_n_def): Replace with... - (ternary_qq_or_011_lane_def, ternary_qq_opt_n_or_011_def): ...these - new classes. Allow a second suffix that specifies the type of the - second vector argument, and that is used to derive the third. - (unary_def::build): Extend to handle tuple types. - (unary_convert_def::build): Use the new c0 and c1 format specifiers. - (unary_convertxn, unary_za_slice, unaryxn, write_za): New shapes. - (write_za_slice): Likewise. - * config/aarch64/aarch64-sve-builtins-base.cc (svbic_impl::expand) - (svext_bhw_impl::expand): Update call to map_to_rtx_costs. - (svcntp_impl::expand): Handle svcount_t variants. - (svcvt_impl::expand): Handle unpredicated conversions separately, - dealing with tuples. - (svdot_impl::expand): Handle 2-way dot products. - (svdotprod_lane_impl::expand): Likewise. - (svld1_impl::fold): Punt on tuple loads. - (svld1_impl::expand): Handle tuple loads. - (svldnt1_impl::expand): Likewise. - (svpfalse_impl::fold): Punt on svcount_t forms. - (svptrue_impl::fold): Likewise. - (svptrue_impl::expand): Handle svcount_t forms. - (svrint_impl): New class. - (svsel_impl::fold): Punt on tuple forms. - (svsel_impl::expand): Handle tuple forms. - (svst1_impl::fold): Punt on tuple loads. - (svst1_impl::expand): Handle tuple loads. - (svstnt1_impl::expand): Likewise. - (svwhilelx_impl::fold): Punt on tuple forms. - (svdot_lane): Use UNSPEC_FDOT. - (svmax, svmaxnm, svmin, svminmm): Add unconditional FP unspecs. - (rinta, rinti, rintm, rintn, rintp, rintx, rintz): Use svrint_impl. - * config/aarch64/aarch64-sve-builtins-base.def (svcreate2, svget2) - (svset2, svundef2): Add _b variants. - (svcvt): Use unary_convertxn. - (svdot): Use ternary_qq_opt_n_or_011. - (svdot_lane): Use ternary_qq_or_011_lane. - (svmax, svmaxnm, svmin, svminnm): Use binary_opt_single_n. - (svpfalse): Add a form that returns svcount_t results. - (svrinta, svrintm, svrintn, svrintp): Use unaryxn. - (svsel): Use binaryxn. - (svst1, svstnt1): Use storexn. - * config/aarch64/aarch64-sve-builtins-sme.h - (svadd_za, svadd_write_za, svbmopa_za, svbmops_za, svdot_za) - (svdot_lane_za, svldr_zt, svluti2_lane_zt, svluti4_lane_zt) - (svmla_za, svmla_lane_za, svmls_za, svmls_lane_za, svread_za) - (svstr_zt, svsub_za, svsub_write_za, svsudot_za, svsudot_lane_za) - (svsuvdot_lane_za, svusdot_za, svusdot_lane_za, svusvdot_lane_za) - (svvdot_lane_za, svwrite_za, svzero_zt): Declare. - * config/aarch64/aarch64-sve-builtins-sme.cc (load_store_za_base): - Rename to... - (load_store_za_zt0_base): ...this and extend to tuples. - (load_za_base, store_za_base): Update accordingly. - (expand_ldr_str_zt0): New function. - (svldr_zt_impl, svluti_lane_zt_impl, svread_za_impl, svstr_zt_impl) - (svsudot_za_impl, svwrite_za_impl, svzero_zt_impl): New classes. - (svadd_za, svadd_write_za, svbmopa_za, svbmops_za, svdot_za) - (svdot_lane_za, svldr_zt, svluti2_lane_zt, svluti4_lane_zt) - (svmla_za, svmla_lane_za, svmls_za, svmls_lane_za, svread_za) - (svstr_zt, svsub_za, svsub_write_za, svsudot_za, svsudot_lane_za) - (svsuvdot_lane_za, svusdot_za, svusdot_lane_za, svusvdot_lane_za) - (svvdot_lane_za, svwrite_za, svzero_zt): New functions. - * config/aarch64/aarch64-sve-builtins-sme.def: Add SME2 intrinsics. - * config/aarch64/aarch64-sve-builtins-sve2.h - (svbfmlslb, svbfmlslb_lane, svbfmlslt, svbfmlslt_lane, svclamp) - (svcvtn, svpext, svpsel, svqcvt, svqcvtn, svqrshr, svqrshrn) - (svqrshru, svqrshrun, svrevd, svunpk, svuzp, svuzpq, svzip) - (svzipq): Declare. - * config/aarch64/aarch64-sve-builtins-sve2.cc (svclamp_impl) - (svcvtn_impl, svpext_impl, svpsel_impl): New classes. - (svqrshl_impl::fold): Update for change to svrshl shape. - (svrshl_impl::fold): Punt on tuple forms. - (svsqadd_impl::expand): Update call to map_to_rtx_codes. - (svunpk_impl): New class. - (svbfmlslb, svbfmlslb_lane, svbfmlslt, svbfmlslt_lane, svclamp) - (svcvtn, svpext, svpsel, svqcvt, svqcvtn, svqrshr, svqrshrn) - (svqrshru, svqrshrun, svrevd, svunpk, svuzp, svuzpq, svzip) - (svzipq): New functions. - * config/aarch64/aarch64-sve-builtins-sve2.def: Add SME2 intrinsics. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define - or undefine __ARM_FEATURE_SME2. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64.md (ZT0_REGNUM): New constant. - (LAST_FAKE_REGNUM): Bump to include it. - * config/aarch64/aarch64.h (FIXED_REGISTERS): Add an entry for ZT0. - (CALL_REALLY_USED_REGISTERS, REGISTER_NAMES): Likewise. - (REG_CLASS_CONTENTS): Likewise. - (machine_function): Add zt0_save_buffer. - (CUMULATIVE_ARGS): Add shared_zt0_flags; - * config/aarch64/aarch64.cc (aarch64_check_state_string): Handle zt0. - (aarch64_fntype_pstate_za, aarch64_fndecl_pstate_za): Likewise. - (aarch64_function_arg): Add the shared ZT0 flags as an extra - limb of the parallel. - (aarch64_init_cumulative_args): Initialize shared_zt0_flags. - (aarch64_extra_live_on_entry): Handle ZT0_REGNUM. - (aarch64_epilogue_uses): Likewise. - (aarch64_get_zt0_save_buffer, aarch64_save_zt0): New functions. - (aarch64_restore_zt0): Likewise. - (aarch64_start_call_args): Reject calls to functions that share - ZT0 from functions that have no ZT0 state. Save ZT0 around shared-ZA - calls that do not share ZT0. - (aarch64_expand_call): Handle ZT0. Reject calls to functions that - share ZT0 but not ZA from functions with ZA state. - (aarch64_end_call_args): Restore ZT0 after calls to shared-ZA functions - that do not share ZT0. - (aarch64_set_current_function): Require +sme2 for functions that - have ZT0 state. - (aarch64_function_attribute_inlinable_p): Don't allow functions to - be inlined if they have local zt0 state. - (AARCH64_IPA_CLOBBERS_ZT0): New constant. - (aarch64_update_ipa_fn_target_info): Record asms that clobber ZT0. - (aarch64_can_inline_p): Don't inline callees that clobber ZT0 - into functions that have ZT0 state. - (aarch64_comp_type_attributes): Check for compatible ZT0 sharing. - (aarch64_optimize_mode_switching): Use mode switching if the - function has ZT0 state. - (aarch64_mode_emit_local_sme_state): Save and restore ZT0 around - calls to private-ZA functions. - (aarch64_mode_needed_local_sme_state): Require ZA to be active - for instructions that access ZT0. - (aarch64_mode_entry): Mark ZA as dead on entry if the function - only shares state other than "za" itself. - (aarch64_mode_exit): Likewise mark ZA as dead on return. - (aarch64_md_asm_adjust): Extend handling of ZA clobbers to ZT0. - * config/aarch64/aarch64-c.cc (aarch64_define_unconditional_macros): - Define __ARM_STATE_ZT0. - * config/aarch64/aarch64-sme.md (UNSPECV_ASM_UPDATE_ZT0): New unspecv. - (aarch64_asm_update_zt0): New insn. - (UNSPEC_RESTORE_ZT0): New unspec. - (aarch64_sme_ldr_zt0, aarch64_restore_zt0): New insns. - (aarch64_sme_str_zt0): Likewise. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-modes.def (VNx32BI): New mode. - * config/aarch64/aarch64-protos.h (aarch64_split_double_move): Declare. - * config/aarch64/aarch64-sve-builtins.cc - (register_tuple_type): Handle tuples of predicates. - (handle_arm_sve_h): Define svboolx2_t as a pair of two svbool_ts. - * config/aarch64/aarch64-sve.md (movvnx32bi): New insn. - * config/aarch64/aarch64.cc - (pure_scalable_type_info::piece::get_rtx): Use VNx32BI for pairs - of predicates. - (pure_scalable_type_info::add_piece): Don't try to form pairs of - predicates. - (VEC_STRUCT): Generalize comment. - (aarch64_classify_vector_mode): Handle VNx32BI. - (aarch64_array_mode): Likewise. Return BLKmode for arrays of - predicates that have no associated mode, rather than allowing - an integer mode to be chosen. - (aarch64_hard_regno_nregs): Handle VNx32BI. - (aarch64_hard_regno_mode_ok): Likewise. - (aarch64_split_double_move): New function, split out from... - (aarch64_split_128bit_move): ...here. - (aarch64_ptrue_reg): Tighten assert to aarch64_sve_pred_mode_p. - (aarch64_pfalse_reg): Likewise. - (aarch64_sve_same_pred_for_ptest_p): Likewise. - (aarch64_sme_mode_switch_regs::add_reg): Handle VNx32BI. - (aarch64_expand_mov_immediate): Restrict handling of boolean vector - constants to single-predicate modes. - (aarch64_classify_address): Handle VNx32BI, ensuring that both halves - can be addressed. - (aarch64_class_max_nregs): Handle VNx32BI. - (aarch64_member_type_forces_blk): Don't for BLKmode for svboolx2_t. - (aarch64_simd_valid_immediate): Allow all-zeros and all-ones for - VNx32BI. - (aarch64_mov_operand_p): Restrict predicate constant canonicalization - to single-predicate modes. - (aarch64_evpc_ext): Generalize exclusion to all predicate modes. - (aarch64_evpc_rev_local, aarch64_evpc_dup): Likewise. - * config/aarch64/constraints.md (PR_REGS): New predicate. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins-base.cc - (svreinterpret_impl::fold): Handle reinterprets between svbool_t - and svcount_t. - (svreinterpret_impl::expand): Likewise. - * config/aarch64/aarch64-sve-builtins-base.def (svreinterpret): Add - b<->c forms. - * config/aarch64/aarch64-sve-builtins.cc (TYPES_reinterpret_b): New - type suffix list. - (wrap_type_in_struct, register_type_decl): New functions, split out - from... - (register_tuple_type): ...here. - (register_builtin_types): Handle svcount_t. - (handle_arm_sve_h): Don't create tuples of svcount_t. - * config/aarch64/aarch64-sve-builtins.def (svcount_t): New type. - (c): New type suffix. - * config/aarch64/aarch64-sve-builtins.h (TYPE_count): New type class. - -2023-12-05 Richard Sandiford - - * doc/invoke.texi: Document +sme2. - * doc/sourcebuild.texi: Document aarch64_sme2. - * config/aarch64/aarch64-option-extensions.def (AARCH64_OPT_EXTENSION): - Add sme2. - * config/aarch64/aarch64.h (AARCH64_ISA_SME2, TARGET_SME2): New macros. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_function_ok_for_sibcall): - Enforce PSTATE.SM and PSTATE.ZA restrictions. - (aarch64_expand_epilogue): Save and restore the arguments - to a sibcall around any change to PSTATE.SM. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64.cc: Include symbol-summary.h, ipa-prop.h, - and ipa-fnsummary.h - (aarch64_function_attribute_inlinable_p): New function. - (AARCH64_IPA_SM_FIXED, AARCH64_IPA_CLOBBERS_ZA): New constants. - (aarch64_need_ipa_fn_target_info): New function. - (aarch64_update_ipa_fn_target_info): Likewise. - (aarch64_can_inline_p): Restrict the previous ISA flag checks - to non-modal features. Prevent callees that require a particular - PSTATE.SM state from being inlined into callers that can't guarantee - that state. Also prevent callees that have ZA state from being - inlined into callers that don't. Finally, prevent callees that - clobber ZA from being inlined into callers that have ZA state. - (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Define. - (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise. - (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64.cc: Include except.h - (aarch64_sme_mode_switch_regs::add_call_preserved_reg): New function. - (aarch64_sme_mode_switch_regs::add_call_preserved_regs): Likewise. - (aarch64_need_old_pstate_sm): Return true if the function has - a nonlocal-goto or exception receiver. - (aarch64_switch_pstate_sm_for_landing_pad): New function. - (aarch64_switch_pstate_sm_for_jump): Likewise. - (pass_switch_pstate_sm::gate): Enable the pass for all - streaming and streaming-compatible functions. - (pass_switch_pstate_sm::execute): Handle non-local gotos and their - receivers. Handle exception handler entry points. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_arm_attribute_table): Add - arm::locally_streaming. - (aarch64_fndecl_is_locally_streaming): New function. - (aarch64_fndecl_sm_state): Handle locally-streaming functions. - (aarch64_cfun_enables_pstate_sm): New function. - (aarch64_add_offset): Add an argument that specifies whether - the streaming vector length should be used instead of the - prevailing one. - (aarch64_split_add_offset, aarch64_add_sp, aarch64_sub_sp): Likewise. - (aarch64_allocate_and_probe_stack_space): Likewise. - (aarch64_expand_mov_immediate): Update calls accordingly. - (aarch64_need_old_pstate_sm): Return true for locally-streaming - streaming-compatible functions. - (aarch64_layout_frame): Force all call-preserved Z and P registers - to be saved and restored if the function switches PSTATE.SM in the - prologue. - (aarch64_get_separate_components): Disable shrink-wrapping of - such Z and P saves and restores. - (aarch64_use_late_prologue_epilogue): New function. - (aarch64_expand_prologue): Measure SVE lengths in the streaming - vector length for locally-streaming functions, then emit code - to enable streaming mode. - (aarch64_expand_epilogue): Likewise in reverse. - (TARGET_USE_LATE_PROLOGUE_EPILOGUE): Define. - * config/aarch64/aarch64-c.cc (aarch64_define_unconditional_macros): - Define __arm_locally_streaming. - -2023-12-05 Richard Sandiford - - * doc/invoke.texi: Document +sme-i16i64 and +sme-f64f64. - * config.gcc (aarch64*-*-*): Add arm_sme.h to the list of headers - to install and aarch64-sve-builtins-sme.o to the list of objects - to build. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define - or undefine TARGET_SME, TARGET_SME_I16I64 and TARGET_SME_F64F64. - (aarch64_pragma_aarch64): Handle arm_sme.h. - * config/aarch64/aarch64-option-extensions.def (sme-i16i64) - (sme-f64f64): New extensions. - * config/aarch64/aarch64-protos.h (aarch64_sme_vq_immediate) - (aarch64_addsvl_addspl_immediate_p, aarch64_output_addsvl_addspl) - (aarch64_output_sme_zero_za): Declare. - (aarch64_output_move_struct): Delete. - (aarch64_sme_ldr_vnum_offset): Declare. - (aarch64_sve::handle_arm_sme_h): Likewise. - * config/aarch64/aarch64.h (AARCH64_ISA_SM_ON): New macro. - (AARCH64_ISA_SME_I16I64, AARCH64_ISA_SME_F64F64): Likewise. - (TARGET_STREAMING, TARGET_STREAMING_SME): Likewise. - (TARGET_SME_I16I64, TARGET_SME_F64F64): Likewise. - * config/aarch64/aarch64.cc (aarch64_sve_rdvl_factor_p): Rename to... - (aarch64_sve_rdvl_addvl_factor_p): ...this. - (aarch64_sve_rdvl_immediate_p): Update accordingly. - (aarch64_rdsvl_immediate_p, aarch64_add_offset): Likewise. - (aarch64_sme_vq_immediate): Likewise. Make public. - (aarch64_sve_addpl_factor_p): New function. - (aarch64_sve_addvl_addpl_immediate_p): Use - aarch64_sve_rdvl_addvl_factor_p and aarch64_sve_addpl_factor_p. - (aarch64_addsvl_addspl_immediate_p): New function. - (aarch64_output_addsvl_addspl): Likewise. - (aarch64_cannot_force_const_mem): Return true for RDSVL immediates. - (aarch64_classify_index): Handle .Q scaling for VNx1TImode. - (aarch64_classify_address): Likewise for vnum offsets. - (aarch64_output_sme_zero_za): New function. - (aarch64_sme_ldr_vnum_offset_p): Likewise. - * config/aarch64/predicates.md (aarch64_addsvl_addspl_immediate): - New predicate. - (aarch64_pluslong_operand): Include it for SME. - * config/aarch64/constraints.md (Ucj, Uav): New constraints. - * config/aarch64/iterators.md (VNx1TI_ONLY): New mode iterator. - (SME_ZA_I, SME_ZA_SDI, SME_ZA_SDF_I, SME_MOP_BHI): Likewise. - (SME_MOP_HSDF): Likewise. - (UNSPEC_SME_ADDHA, UNSPEC_SME_ADDVA, UNSPEC_SME_FMOPA) - (UNSPEC_SME_FMOPS, UNSPEC_SME_LD1_HOR, UNSPEC_SME_LD1_VER) - (UNSPEC_SME_READ_HOR, UNSPEC_SME_READ_VER, UNSPEC_SME_SMOPA) - (UNSPEC_SME_SMOPS, UNSPEC_SME_ST1_HOR, UNSPEC_SME_ST1_VER) - (UNSPEC_SME_SUMOPA, UNSPEC_SME_SUMOPS, UNSPEC_SME_UMOPA) - (UNSPEC_SME_UMOPS, UNSPEC_SME_USMOPA, UNSPEC_SME_USMOPS) - (UNSPEC_SME_WRITE_HOR, UNSPEC_SME_WRITE_VER): New unspecs. - (elem_bits): Handle x2 and x4 structure modes, plus VNx1TI. - (Vetype, Vesize, VPRED): Handle VNx1TI. - (b): New mode attribute. - (SME_LD1, SME_READ, SME_ST1, SME_WRITE, SME_BINARY_SDI, SME_INT_MOP) - (SME_FP_MOP): New int iterators. - (optab): Handle SME unspecs. - (hv): New int attribute. - * config/aarch64/aarch64.md (*add3_aarch64): Handle ADDSVL - and ADDSPL. - * config/aarch64/aarch64-sme.md (UNSPEC_SME_LDR): New unspec. - (@aarch64_sme_, @aarch64_sme__plus) - (aarch64_sme_ldr0, @aarch64_sme_ldrn): New patterns. - (UNSPEC_SME_STR): New unspec. - (@aarch64_sme_, @aarch64_sme__plus) - (aarch64_sme_str0, @aarch64_sme_strn): New patterns. - (@aarch64_sme_): Likewise. - (*aarch64_sme__plus): Likewise. - (@aarch64_sme_): Likewise. - (@aarch64_sme_): Likewise. - (*aarch64_sme__plus): Likewise. - (@aarch64_sme_): Likewise. - (UNSPEC_SME_ZERO): New unspec. - (aarch64_sme_zero): New pattern. - (@aarch64_sme_): Likewise. - (@aarch64_sme_): Likewise. - (@aarch64_sme_): Likewise. - * config/aarch64/aarch64-sve-builtins.def: Add ZA type suffixes. - Include aarch64-sve-builtins-sme.def. - (DEF_SME_ZA_FUNCTION): New macro. - * config/aarch64/aarch64-sve-builtins.h (CP_READ_ZA): New call - property. - (CP_WRITE_ZA): Likewise. - (PRED_za_m): New predication type. - (type_suffix_index): Handle DEF_SME_ZA_SUFFIX. - (type_suffix_info): Add vector_p and za_p fields. - (function_instance::num_za_tiles): New member function. - (function_builder::get_attributes): Add an aarch64_feature_flags - argument. - (function_expander::get_contiguous_base): Take a base argument - number, a vnum argument number, and an argument that indicates - whether the vnum parameter is a factor of the SME vector length - or the prevailing vector length. - (function_expander::add_integer_operand): Take a poly_int64. - (sve_switcher::sve_switcher): Take a base set of flags. - (sme_switcher): New class. - (scalar_types): Add a null entry for NUM_VECTOR_TYPES. - * config/aarch64/aarch64-sve-builtins.cc: Include - aarch64-sve-builtins-sme.h. - (pred_suffixes): Add an entry for PRED_za_m. - (type_suffixes): Initialize vector_p and za_p. Handle ZA suffixes. - (TYPES_all_za, TYPES_d_za, TYPES_za_bhsd_data, TYPES_za_all_data) - (TYPES_za_s_integer, TYPES_za_d_integer, TYPES_mop_base) - (TYPES_mop_base_signed, TYPES_mop_base_unsigned, TYPES_mop_i16i64) - (TYPES_mop_i16i64_signed, TYPES_mop_i16i64_unsigned, TYPES_za): New - type suffix macros. - (preds_m, preds_za_m): New predication lists. - (function_groups): Handle DEF_SME_ZA_FUNCTION. - (scalar_types): Add an entry for NUM_VECTOR_TYPES. - (find_type_suffix_for_scalar_type): Check positively for vectors - rather than negatively for predicates. - (check_required_extensions): Handle PSTATE.SM and PSTATE.ZA - requirements. - (report_out_of_range): Handle the case where the minimum and - maximum are the same. - (function_instance::reads_global_state_p): Return true for functions - that read ZA. - (function_instance::modifies_global_state_p): Return true for functions - that write to ZA. - (sve_switcher::sve_switcher): Add a base flags argument. - (function_builder::get_name): Handle "__arm_" prefixes. - (add_attribute): Add an overload that takes a namespaces. - (add_shared_state_attribute): New function. - (function_builder::get_attributes): Take the required feature flags - as argument. Add streaming and ZA attributes where appropriate. - (function_builder::add_unique_function): Update calls accordingly. - (function_resolver::check_gp_argument): Assert that the predication - isn't ZA _m predication. - (function_checker::function_checker): Don't bias the argument - number for ZA _m predication. - (function_expander::get_contiguous_base): Add arguments that - specify the base argument number, the vnum argument number, - and an argument that indicates whether the vnum parameter is - a factor of the SME vector length or the prevailing vector length. - Handle the SME case. - (function_expander::add_input_operand): Handle pmode_register_operand. - (function_expander::add_integer_operand): Take a poly_int64. - (init_builtins): Call handle_arm_sme_h for LTO. - (handle_arm_sve_h): Skip SME intrinsics. - (handle_arm_sme_h): New function. - * config/aarch64/aarch64-sve-builtins-functions.h - (read_write_za, write_za): New classes. - (unspec_based_sme_function, za_arith_function): New using aliases. - (quiet_za_arith_function): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.h - (binary_za_int_m, binary_za_m, binary_za_uint_m, bool_inherent) - (inherent_za, inherent_mask_za, ldr_za, load_za, read_za_m, store_za) - (str_za, unary_za_m, write_za_m): Declare. - * config/aarch64/aarch64-sve-builtins-shapes.cc (apply_predication): - Expect za_m functions to have an existing governing predicate. - (binary_za_m_base, binary_za_int_m_def, binary_za_m_def): New classes. - (binary_za_uint_m_def, bool_inherent_def, inherent_za_def): Likewise. - (inherent_mask_za_def, ldr_za_def, load_za_def, read_za_m_def) - (store_za_def, str_za_def, unary_za_m_def, write_za_m_def): Likewise. - * config/aarch64/arm_sme.h: New file. - * config/aarch64/aarch64-sve-builtins-sme.h: Likewise. - * config/aarch64/aarch64-sve-builtins-sme.cc: Likewise. - * config/aarch64/aarch64-sve-builtins-sme.def: Likewise. - * config/aarch64/t-aarch64 (aarch64-sve-builtins.o): Depend on - aarch64-sve-builtins-sme.def and aarch64-sve-builtins-sme.h. - (aarch64-sve-builtins-sme.o): New rule. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.h - (function_shape::has_merge_argument_p): New member function. - * config/aarch64/aarch64-sve-builtins.cc: - (function_resolver::check_gp_argument): Use it. - (function_expander::get_fallback_value): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc - (apply_predication): Likewise. - (unary_convert_narrowt_def::has_merge_argument_p): New function. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins-functions.h - (unspec_based_function_base): Allow type suffix 1 to determine - the mode of the operation. - (unspec_based_function): Update accordingly. - (unspec_based_fused_function): Likewise. - (unspec_based_fused_lane_function): Likewise. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-modes.def: Add VNx1TI. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64.h (W12_W15_REGNUM_P): New macro. - (W12_W15_REGS): New register class. - (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it. - * config/aarch64/aarch64.cc (aarch64_regno_regclass) - (aarch64_class_max_nregs, aarch64_register_move_cost): Handle - W12_W15_REGS. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-isa-modes.def (ZA_ON): New ISA mode. - * config/aarch64/aarch64-protos.h (aarch64_rdsvl_immediate_p) - (aarch64_output_rdsvl, aarch64_optimize_mode_switching) - (aarch64_restore_za): Declare. - * config/aarch64/constraints.md (UsR): New constraint. - * config/aarch64/aarch64.md (LOWERING_REGNUM, TPIDR_BLOCK_REGNUM) - (SME_STATE_REGNUM, TPIDR2_SETUP_REGNUM, ZA_FREE_REGNUM) - (ZA_SAVED_REGNUM, ZA_REGNUM, FIRST_FAKE_REGNUM): New constants. - (LAST_FAKE_REGNUM): Likewise. - (UNSPEC_SAVE_NZCV, UNSPEC_RESTORE_NZCV, UNSPEC_SME_VQ): New unspecs. - (arches): Add sme. - (arch_enabled): Handle it. - (*cb1): Rename to... - (aarch64_cb1): ...this. - (*movsi_aarch64): Add an alternative for RDSVL. - (*movdi_aarch64): Likewise. - (aarch64_save_nzcv, aarch64_restore_nzcv): New insns. - * config/aarch64/aarch64-sme.md (UNSPEC_SMSTOP_ZA) - (UNSPEC_INITIAL_ZERO_ZA, UNSPEC_TPIDR2_SAVE, UNSPEC_TPIDR2_RESTORE) - (UNSPEC_READ_TPIDR2, UNSPEC_WRITE_TPIDR2, UNSPEC_SETUP_LOCAL_TPIDR2) - (UNSPEC_RESTORE_ZA, UNSPEC_START_PRIVATE_ZA_CALL): New unspecs. - (UNSPEC_END_PRIVATE_ZA_CALL, UNSPEC_COMMIT_LAZY_SAVE): Likewise. - (UNSPECV_ASM_UPDATE_ZA): New unspecv. - (aarch64_tpidr2_save, aarch64_smstart_za, aarch64_smstop_za) - (aarch64_initial_zero_za, aarch64_setup_local_tpidr2) - (aarch64_clear_tpidr2, aarch64_write_tpidr2, aarch64_read_tpidr2) - (aarch64_tpidr2_restore, aarch64_restore_za, aarch64_asm_update_za) - (aarch64_start_private_za_call, aarch64_end_private_za_call) - (aarch64_commit_lazy_save): New patterns. - * config/aarch64/aarch64.h (AARCH64_ISA_ZA_ON, TARGET_ZA): New macros. - (FIXED_REGISTERS, REGISTER_NAMES): Add the new fake ZA registers. - (CALL_USED_REGISTERS): Replace with... - (CALL_REALLY_USED_REGISTERS): ...this and add the fake ZA registers. - (FIRST_PSEUDO_REGISTER): Bump to include the fake ZA registers. - (FAKE_REGS): New register class. - (REG_CLASS_NAMES): Update accordingly. - (REG_CLASS_CONTENTS): Likewise. - (machine_function::tpidr2_block): New member variable. - (machine_function::tpidr2_block_ptr): Likewise. - (machine_function::za_save_buffer): Likewise. - (machine_function::next_asm_update_za_id): Likewise. - (CUMULATIVE_ARGS::shared_za_flags): Likewise. - (aarch64_mode_entity, aarch64_local_sme_state): New enums. - (aarch64_tristate_mode): Likewise. - (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING): Define. - * config/aarch64/aarch64.cc (AARCH64_STATE_SHARED, AARCH64_STATE_IN) - (AARCH64_STATE_OUT): New constants. - (aarch64_attribute_shared_state_flags): New function. - (aarch64_lookup_shared_state_flags, aarch64_fndecl_has_new_state) - (aarch64_check_state_string, cmp_string_csts): Likewise. - (aarch64_merge_string_arguments, aarch64_check_arm_new_against_type) - (handle_arm_new, handle_arm_shared): Likewise. - (handle_arm_new_za_attribute): New - (aarch64_arm_attribute_table): Add new, preserves, in, out, and inout. - (aarch64_hard_regno_nregs): Handle FAKE_REGS. - (aarch64_hard_regno_mode_ok): Likewise. - (aarch64_fntype_shared_flags, aarch64_fntype_pstate_za): New functions. - (aarch64_fntype_isa_mode): Include aarch64_fntype_pstate_za. - (aarch64_fndecl_has_state, aarch64_fndecl_pstate_za): New functions. - (aarch64_fndecl_isa_mode): Include aarch64_fndecl_pstate_za. - (aarch64_cfun_incoming_pstate_za, aarch64_cfun_shared_flags) - (aarch64_cfun_has_new_state, aarch64_cfun_has_state): New functions. - (aarch64_sme_vq_immediate, aarch64_sme_vq_unspec_p): Likewise. - (aarch64_rdsvl_immediate_p, aarch64_output_rdsvl): Likewise. - (aarch64_expand_mov_immediate): Handle RDSVL immediates. - (aarch64_function_arg): Add the ZA sharing flags as a third limb - of the PARALLEL. - (aarch64_init_cumulative_args): Record the ZA sharing flags. - (aarch64_extra_live_on_entry): New function. Handle the new - ZA-related fake registers. - (aarch64_epilogue_uses): Handle the new ZA-related fake registers. - (aarch64_cannot_force_const_mem): Handle UNSPEC_SME_VQ constants. - (aarch64_get_tpidr2_block, aarch64_get_tpidr2_ptr): New functions. - (aarch64_init_tpidr2_block, aarch64_restore_za): Likewise. - (aarch64_layout_frame): Check whether the current function creates - new ZA state. Record that it clobbers LR if so. - (aarch64_expand_prologue): Handle functions that create new ZA state. - (aarch64_expand_epilogue): Likewise. - (aarch64_create_tpidr2_block): New function. - (aarch64_restore_za): Likewise. - (aarch64_start_call_args): Disallow calls to shared-ZA functions - from functions that have no ZA state. Emit a marker instruction - before calls to private-ZA functions from functions that have - SME state. - (aarch64_expand_call): Add return registers for state that is - managed via attributes. Record the use and clobber information - for the ZA registers. - (aarch64_end_call_args): New function. - (aarch64_regno_regclass): Handle FAKE_REGS. - (aarch64_class_max_nregs): Likewise. - (aarch64_override_options_internal): Require TARGET_SME for - functions that have ZA state. - (aarch64_conditional_register_usage): Handle FAKE_REGS. - (aarch64_mov_operand_p): Handle RDSVL immediates. - (aarch64_comp_type_attributes): Check that the ZA sharing flags - are equal. - (aarch64_merge_decl_attributes): New function. - (aarch64_optimize_mode_switching, aarch64_mode_emit_za_save_buffer) - (aarch64_mode_emit_local_sme_state, aarch64_mode_emit): Likewise. - (aarch64_insn_references_sme_state_p): Likewise. - (aarch64_mode_needed_local_sme_state): Likewise. - (aarch64_mode_needed_za_save_buffer, aarch64_mode_needed): Likewise. - (aarch64_mode_after_local_sme_state, aarch64_mode_after): Likewise. - (aarch64_local_sme_confluence, aarch64_mode_confluence): Likewise. - (aarch64_one_shot_backprop, aarch64_local_sme_backprop): Likewise. - (aarch64_mode_backprop, aarch64_mode_entry): Likewise. - (aarch64_mode_exit, aarch64_mode_eh_handler): Likewise. - (aarch64_mode_priority, aarch64_md_asm_adjust): Likewise. - (TARGET_END_CALL_ARGS, TARGET_MERGE_DECL_ATTRIBUTES): Define. - (TARGET_MODE_EMIT, TARGET_MODE_NEEDED, TARGET_MODE_AFTER): Likewise. - (TARGET_MODE_CONFLUENCE, TARGET_MODE_BACKPROP): Likewise. - (TARGET_MODE_ENTRY, TARGET_MODE_EXIT): Likewise. - (TARGET_MODE_EH_HANDLER, TARGET_MODE_PRIORITY): Likewise. - (TARGET_EXTRA_LIVE_ON_ENTRY): Likewise. - (TARGET_MD_ASM_ADJUST): Use aarch64_md_asm_adjust. - * config/aarch64/aarch64-c.cc (aarch64_define_unconditional_macros): - Define __arm_new, __arm_preserves,__arm_in, __arm_out, and __arm_inout. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-passes.def - (pass_late_thread_prologue_and_epilogue): New pass. - * config/aarch64/aarch64-sme.md: New file. - * config/aarch64/aarch64.md: Include it. - (*tb1): Rename to... - (@aarch64_tb): ...this. - (call, call_value, sibcall, sibcall_value): Don't require operand 2 - to be a CONST_INT. - * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Return - the insn. - (make_pass_switch_sm_state): Declare. - * config/aarch64/aarch64.h (TARGET_STREAMING_COMPATIBLE): New macro. - (CALL_USED_REGISTER): Mark VG as call-preserved. - (aarch64_frame::old_svcr_offset): New member variable. - (machine_function::call_switches_sm_state): Likewise. - (CUMULATIVE_ARGS::num_sme_mode_switch_args): Likewise. - (CUMULATIVE_ARGS::sme_mode_switch_args): Likewise. - * config/aarch64/aarch64.cc: Include tree-pass.h and cfgbuild.h. - (aarch64_cfun_incoming_pstate_sm): New function. - (aarch64_call_switches_pstate_sm): Likewise. - (aarch64_reg_save_mode): Return DImode for VG_REGNUM. - (aarch64_callee_isa_mode): New function. - (aarch64_insn_callee_isa_mode): Likewise. - (aarch64_guard_switch_pstate_sm): Likewise. - (aarch64_switch_pstate_sm): Likewise. - (aarch64_sme_mode_switch_regs): New class. - (aarch64_record_sme_mode_switch_args): New function. - (aarch64_finish_sme_mode_switch_args): Likewise. - (aarch64_function_arg): Handle the end marker by returning a - PARALLEL that contains the ABI cookie that we used previously - alongside the result of aarch64_finish_sme_mode_switch_args. - (aarch64_init_cumulative_args): Initialize num_sme_mode_switch_args. - (aarch64_function_arg_advance): If a call would switch SM state, - record all argument registers that would need to be saved around - the mode switch. - (aarch64_need_old_pstate_sm): New function. - (aarch64_layout_frame): Decide whether the frame needs to store the - incoming value of PSTATE.SM and allocate a save slot for it if so. - If a function switches SME state, arrange to save the old value - of the DWARF VG register. Handle the case where this is the only - register save slot above the FP. - (aarch64_save_callee_saves): Handles saves of the DWARF VG register. - (aarch64_get_separate_components): Prevent such saves from being - shrink-wrapped. - (aarch64_old_svcr_mem): New function. - (aarch64_read_old_svcr): Likewise. - (aarch64_guard_switch_pstate_sm): Likewise. - (aarch64_expand_prologue): Handle saves of the DWARF VG register. - Initialize any SVCR save slot. - (aarch64_expand_call): Allow the cookie to be PARALLEL that contains - both the UNSPEC_CALLEE_ABI value and a list of registers that need - to be preserved across a change to PSTATE.SM. If the call does - involve such a change to PSTATE.SM, record the registers that - would be clobbered by this process. Also emit an instruction - to mark the temporary change in VG. Update call_switches_pstate_sm. - (aarch64_emit_call_insn): Return the emitted instruction. - (aarch64_frame_pointer_required): New function. - (aarch64_conditional_register_usage): Prevent VG_REGNUM from being - treated as a register operand. - (aarch64_switch_pstate_sm_for_call): New function. - (pass_data_switch_pstate_sm): New pass variable. - (pass_switch_pstate_sm): New pass class. - (make_pass_switch_pstate_sm): New function. - (TARGET_FRAME_POINTER_REQUIRED): Define. - * config/aarch64/t-aarch64 (s-check-sve-md): Add aarch64-sme.md. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64.h (TARGET_NON_STREAMING): New macro. - (TARGET_SVE2_AES, TARGET_SVE2_BITPERM): Use it. - (TARGET_SVE2_SHA3, TARGET_SVE2_SM4): Likewise. - * config/aarch64/aarch64-sve-builtins-base.def: Separate out - the functions that require PSTATE.SM to be 0 and guard them - with AARCH64_FL_SM_OFF. - * config/aarch64/aarch64-sve-builtins-sve2.def: Likewise. - * config/aarch64/aarch64-sve-builtins.cc (check_required_extensions): - Enforce AARCH64_FL_SM_OFF requirements. - * config/aarch64/aarch64-sve.md (aarch64_wrffr): Require - TARGET_NON_STREAMING - (aarch64_rdffr, aarch64_rdffr_z, *aarch64_rdffr_z_ptest): Likewise. - (*aarch64_rdffr_ptest, *aarch64_rdffr_z_cc, *aarch64_rdffr_cc) - (@aarch64_ldf1): Likewise. - (@aarch64_ldf1_) - (gather_load): Likewise - (mask_gather_load): Likewise. - (mask_gather_load): Likewise. - (*mask_gather_load_xtw_unpacked): Likewise. - (*mask_gather_load_sxtw): Likewise. - (*mask_gather_load_uxtw): Likewise. - (@aarch64_gather_load_) - (@aarch64_gather_load_ - ): Likewise. - (*aarch64_gather_load_ - _xtw_unpacked) - (*aarch64_gather_load_ - _sxtw): Likewise. - (*aarch64_gather_load_ - _uxtw): Likewise. - (@aarch64_ldff1_gather, @aarch64_ldff1_gather): Likewise. - (*aarch64_ldff1_gather_sxtw): Likewise. - (*aarch64_ldff1_gather_uxtw): Likewise. - (@aarch64_ldff1_gather_ - ): Likewise. - (@aarch64_ldff1_gather_ - ): Likewise. - (*aarch64_ldff1_gather_ - _sxtw): Likewise. - (*aarch64_ldff1_gather_ - _uxtw): Likewise. - (@aarch64_sve_gather_prefetch) - (@aarch64_sve_gather_prefetch) - (*aarch64_sve_gather_prefetch_sxtw) - (*aarch64_sve_gather_prefetch_uxtw) - (scatter_store): Likewise. - (mask_scatter_store): Likewise. - (*mask_scatter_store_xtw_unpacked) - (*mask_scatter_store_sxtw): Likewise. - (*mask_scatter_store_uxtw): Likewise. - (@aarch64_scatter_store_trunc) - (@aarch64_scatter_store_trunc) - (*aarch64_scatter_store_trunc_sxtw) - (*aarch64_scatter_store_trunc_uxtw) - (@aarch64_sve_ld1ro, @aarch64_adr): Likewise. - (*aarch64_adr_sxtw, *aarch64_adr_uxtw_unspec): Likewise. - (*aarch64_adr_uxtw_and, @aarch64_adr_shift): Likewise. - (*aarch64_adr_shift, *aarch64_adr_shift_sxtw): Likewise. - (*aarch64_adr_shift_uxtw, @aarch64_sve_add_): Likewise. - (@aarch64_sve_, fold_left_plus_): Likewise. - (mask_fold_left_plus_, @aarch64_sve_compact): Likewise. - * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt) - (@aarch64_gather_ldnt_ - ): Likewise. - (@aarch64_sve2_histcnt, @aarch64_sve2_histseg): Likewise. - (@aarch64_pred_): Likewise. - (*aarch64_pred__cc): Likewise. - (*aarch64_pred__ptest): Likewise. - * config/aarch64/iterators.md (SVE_FP_UNARY_INT): Make FEXPA - depend on TARGET_NON_STREAMING. - (SVE_BFLOAT_TERNARY_LONG): Likewise BFMMLA. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64.h (TARGET_BASE_SIMD): New macro. - (TARGET_SIMD): Require PSTATE.SM to be 0. - (AARCH64_ISA_SM_OFF): New macro. - * config/aarch64/aarch64.cc (aarch64_array_mode_supported_p): - Allow Advanced SIMD structure modes for TARGET_BASE_SIMD. - (aarch64_print_operand): Support '%Z'. - (aarch64_secondary_reload): Expect SVE moves to be used for - Advanced SIMD modes if SVE is enabled and non-streaming - Advanced SIMD isn't. - (aarch64_register_move_cost): Likewise. - (aarch64_simd_container_mode): Extend Advanced SIMD mode - handling to TARGET_BASE_SIMD. - (aarch64_expand_cpymem): Expand commentary. - * config/aarch64/aarch64.md (arches): Add base_simd and nobase_simd. - (arch_enabled): Handle it. - (*mov_aarch64): Extend UMOV alternative to TARGET_BASE_SIMD. - (*movti_aarch64): Use an SVE move instruction if non-streaming - SIMD isn't available. - (*mov_aarch64): Likewise. - (load_pair_dw_tftf): Extend to TARGET_BASE_SIMD. - (store_pair_dw_tftf): Likewise. - (loadwb_pair_): Likewise. - (storewb_pair_): Likewise. - * config/aarch64/aarch64-simd.md (*aarch64_simd_mov): - Allow UMOV in streaming mode. - (*aarch64_simd_mov): Use an SVE move instruction - if non-streaming SIMD isn't available. - (aarch64_store_lane0): Depend on TARGET_FLOAT rather than - TARGET_SIMD. - (aarch64_simd_mov_from_low): Likewise. Use fmov if - Advanced SIMD is completely disabled. - (aarch64_simd_mov_from_high): Use SVE EXT instructions if - non-streaming SIMD isn't available. - -2023-12-05 Richard Sandiford - - * doc/invoke.texi: Document SME. - * doc/sourcebuild.texi: Document aarch64_sve. - * config/aarch64/aarch64-option-extensions.def (sme): Define. - * config/aarch64/aarch64.h (AARCH64_ISA_SME): New macro. - (TARGET_SME): Likewise. - * config/aarch64/aarch64.cc (aarch64_override_options_internal): - Ensure that SME is present when compiling streaming code. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-isa-modes.def: New file. - * config/aarch64/aarch64.h: Include it in the feature enumerations. - (AARCH64_FL_SM_STATE, AARCH64_FL_ISA_MODES): New constants. - (AARCH64_FL_DEFAULT_ISA_MODE): Likewise. - (AARCH64_ISA_MODE): New macro. - (CUMULATIVE_ARGS): Add an isa_mode field. - * config/aarch64/aarch64-protos.h (aarch64_gen_callee_cookie): Declare. - (aarch64_tlsdesc_abi_id): Return an arm_pcs. - * config/aarch64/aarch64.cc (attr_streaming_exclusions) - (aarch64_gnu_attributes, aarch64_gnu_attribute_table) - (aarch64_arm_attributes, aarch64_arm_attribute_table): New tables. - (aarch64_attribute_table): Redefine to include the gnu and arm - attributes. - (aarch64_fntype_pstate_sm, aarch64_fntype_isa_mode): New functions. - (aarch64_fndecl_pstate_sm, aarch64_fndecl_isa_mode): Likewise. - (aarch64_gen_callee_cookie, aarch64_callee_abi): Likewise. - (aarch64_insn_callee_cookie, aarch64_insn_callee_abi): Use them. - (aarch64_function_arg, aarch64_output_mi_thunk): Likewise. - (aarch64_init_cumulative_args): Initialize the isa_mode field. - (aarch64_output_mi_thunk): Use aarch64_gen_callee_cookie to get - the ABI cookie. - (aarch64_override_options): Add the ISA mode to the feature set. - (aarch64_temporary_target::copy_from_fndecl): Likewise. - (aarch64_fndecl_options, aarch64_handle_attr_arch): Likewise. - (aarch64_set_current_function): Maintain the correct ISA mode. - (aarch64_tlsdesc_abi_id): Return an arm_pcs. - (aarch64_comp_type_attributes): Handle arm::streaming and - arm::streaming_compatible. - * config/aarch64/aarch64-c.cc (aarch64_define_unconditional_macros): - Define __arm_streaming and __arm_streaming_compatible. - * config/aarch64/aarch64.md (tlsdesc_small_): Use - aarch64_gen_callee_cookie to get the ABI cookie. - * config/aarch64/t-aarch64 (TM_H): Add all feature-related .def files. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins-base.cc - (svreinterpret_impl::fold): Punt on tuple forms. - (svreinterpret_impl::expand): Use tuple_mode instead of vector_mode. - * config/aarch64/aarch64-sve-builtins-base.def (svreinterpret): - Extend to x1234 groups. - * config/aarch64/aarch64-sve-builtins-functions.h - (multi_vector_function::vectors_per_tuple): If the function has - a group suffix, get the number of vectors from there. - * config/aarch64/aarch64-sve-builtins-shapes.h (reinterpret): Declare. - * config/aarch64/aarch64-sve-builtins-shapes.cc (reinterpret_def) - (reinterpret): New function shape. - * config/aarch64/aarch64-sve-builtins.cc (function_groups): Handle - DEF_SVE_FUNCTION_GS. - * config/aarch64/aarch64-sve-builtins.def (DEF_SVE_FUNCTION_GS): New - macro. - (DEF_SVE_FUNCTION): Forward to DEF_SVE_FUNCTION_GS by default. - * config/aarch64/aarch64-sve-builtins.h - (function_instance::tuple_mode): New member function. - (function_base::vectors_per_tuple): Take the function instance - as argument and get the number from the group suffix. - (function_instance::vectors_per_tuple): Update accordingly. - * config/aarch64/iterators.md (SVE_FULLx2, SVE_FULLx3, SVE_FULLx4) - (SVE_ALL_STRUCT): New mode iterators. - (SVE_STRUCT): Redefine in terms of SVE_FULL*. - * config/aarch64/aarch64-sve.md (@aarch64_sve_reinterpret) - (*aarch64_sve_reinterpret): Extend to SVE structure modes. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.cc - (function_resolver::require_derived_vector_type): Add a specific - error message for the case in which the caller wants a single - vector whose element type matches a previous tuyple argument. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.h - (function_resolver::lookup_form): Add an overload that takes - an sve_type rather than type and group suffixes. - (function_resolver::resolve_to): Likewise. - (function_resolver::infer_vector_or_tuple_type): Return an sve_type. - (function_resolver::infer_tuple_type): Likewise. - (function_resolver::require_matching_vector_type): Take an sve_type - rather than a type_suffix_index. - (function_resolver::require_derived_vector_type): Likewise. - * config/aarch64/aarch64-sve-builtins.cc (num_vectors_to_group): - New function. - (function_resolver::lookup_form): Add an overload that takes - an sve_type rather than type and group suffixes. - (function_resolver::resolve_to): Likewise. - (function_resolver::infer_vector_or_tuple_type): Return an sve_type. - (function_resolver::infer_tuple_type): Likewise. - (function_resolver::infer_vector_type): Update accordingly. - (function_resolver::require_matching_vector_type): Take an sve_type - rather than a type_suffix_index. - (function_resolver::require_derived_vector_type): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc (get_def::resolve) - (set_def::resolve, store_def::resolve, tbl_tuple_def::resolve): Update - calls accordingly. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.h - (function_resolver::require_matching_vector_type): Add a parameter - that specifies the number of the earlier argument that is being - matched against. - * config/aarch64/aarch64-sve-builtins.cc - (function_resolver::require_matching_vector_type): Likewise. - (require_derived_vector_type): Update calls accordingly. - (function_resolver::resolve_unary): Likewise. - (function_resolver::resolve_uniform): Likewise. - (function_resolver::resolve_uniform_opt_n): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc - (binary_long_lane_def::resolve): Likewise. - (clast_def::resolve, ternary_uint_def::resolve): Likewise. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.h - (function_resolver::infer_sve_type): New member function. - (function_resolver::report_incorrect_num_vectors): Likewise. - * config/aarch64/aarch64-sve-builtins.cc - (function_resolver::infer_sve_type): New function,. - (function_resolver::report_incorrect_num_vectors): New function, - split out from... - (function_resolver::infer_vector_or_tuple_type): ...here. Use - infer_sve_type. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.h (sve_type): New struct. - (sve_type::operator==): New function. - (function_resolver::get_vector_type): Delete. - (function_resolver::report_no_such_form): Take an sve_type rather - than a type_suffix_index. - * config/aarch64/aarch64-sve-builtins.cc (get_vector_type): New - function. - (function_resolver::get_vector_type): Delete. - (function_resolver::report_no_such_form): Take an sve_type rather - than a type_suffix_index. - (find_sve_type): New function, split out from... - (function_resolver::infer_vector_or_tuple_type): ...here. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins-shapes.cc (build_one): Take - a group suffix index parameter. - (build_32_64, build_all): Update accordingly. Iterate over all - group suffixes. - * config/aarch64/aarch64-sve-builtins-sve2.cc (svqrshl_impl::fold) - (svqshl_impl::fold, svrshl_impl::fold): Update function_instance - constructors. - * config/aarch64/aarch64-sve-builtins.cc (group_suffixes): New array. - (groups_none): New constant. - (function_groups): Initialize the groups field. - (function_instance::hash): Hash the group index. - (function_builder::get_name): Add the group suffix. - (function_builder::add_overloaded_functions): Iterate over all - group suffixes. - (function_resolver::lookup_form): Take a group suffix parameter. - (function_resolver::resolve_to): Likewise. - * config/aarch64/aarch64-sve-builtins.def (DEF_SVE_GROUP_SUFFIX): New - macro. - (x2, x3, x4): New group suffixes. - * config/aarch64/aarch64-sve-builtins.h (group_suffix_index): New enum. - (group_suffix_info): New structure. - (function_group_info::groups): New member variable. - (function_instance::group_suffix_id): Likewise. - (group_suffixes): New array. - (function_instance::operator==): Compare the group suffixes. - (function_instance::group_suffix): New function. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.cc (function_groups): Remove - implied requirement on SVE. - * config/aarch64/aarch64-sve-builtins-base.def: Explicitly require SVE. - * config/aarch64/aarch64-sve-builtins-sve2.def: Likewise. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-protos.h (aarch64_sve_rdvl_immediate_p) - (aarch64_output_sve_rdvl): Declare. - * config/aarch64/aarch64.cc (aarch64_sve_cnt_factor_p): New - function, split out from... - (aarch64_sve_cnt_immediate_p): ...here. - (aarch64_sve_rdvl_factor_p): New function. - (aarch64_sve_rdvl_immediate_p): Likewise. - (aarch64_output_sve_rdvl): Likewise. - (aarch64_offset_temporaries): Rewrite the SVE handling to use RDVL - for some cases. - (aarch64_expand_mov_immediate): Handle RDVL immediates. - (aarch64_mov_operand_p): Likewise. - * config/aarch64/constraints.md (Usr): New constraint. - * config/aarch64/aarch64.md (*mov_aarch64): Add an RDVL - alternative. - (*movsi_aarch64, *movdi_aarch64): Likewise. - -2023-12-05 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.h: - (function_checker::require_immediate_lane_index): Add an argument - for the index of the indexed vector argument. - * config/aarch64/aarch64-sve-builtins.cc - (function_checker::require_immediate_lane_index): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc - (ternary_bfloat_lane_base::check): Update accordingly. - (ternary_qq_lane_base::check): Likewise. - (binary_lane_def::check): Likewise. - (binary_long_lane_def::check): Likewise. - (ternary_lane_def::check): Likewise. - (ternary_lane_rotate_def::check): Likewise. - (ternary_long_lane_def::check): Likewise. - (ternary_qq_lane_rotate_def::check): Likewise. - -2023-12-05 Richard Sandiford - - * target.def (md_asm_adjust): Add a uses parameter. - * doc/tm.texi: Regenerate. - * cfgexpand.cc (expand_asm_loc): Update call to md_asm_adjust. - Handle any USEs created by the target. - (expand_asm_stmt): Likewise. - * recog.cc (asm_noperands): Handle asms with USEs. - (decode_asm_operands): Likewise. - * config/arm/aarch-common-protos.h (arm_md_asm_adjust): Add uses - parameter. - * config/arm/aarch-common.cc (arm_md_asm_adjust): Likewise. - * config/arm/arm.cc (thumb1_md_asm_adjust): Likewise. - * config/avr/avr.cc (avr_md_asm_adjust): Likewise. - * config/cris/cris.cc (cris_md_asm_adjust): Likewise. - * config/i386/i386.cc (ix86_md_asm_adjust): Likewise. - * config/mn10300/mn10300.cc (mn10300_md_asm_adjust): Likewise. - * config/nds32/nds32.cc (nds32_md_asm_adjust): Likewise. - * config/pdp11/pdp11.cc (pdp11_md_asm_adjust): Likewise. - * config/rs6000/rs6000.cc (rs6000_md_asm_adjust): Likewise. - * config/s390/s390.cc (s390_md_asm_adjust): Likewise. - * config/vax/vax.cc (vax_md_asm_adjust): Likewise. - * config/visium/visium.cc (visium_md_asm_adjust): Likewise. - -2023-12-05 Richard Sandiford - - * doc/tm.texi.in: Add TARGET_START_CALL_ARGS. - * doc/tm.texi: Regenerate. - * target.def (start_call_args): New hook. - (call_args, end_call_args): Add a parameter for the cumulative - argument information. - * hooks.h (hook_void_rtx_tree): Delete. - * hooks.cc (hook_void_rtx_tree): Likewise. - * targhooks.h (hook_void_CUMULATIVE_ARGS): Declare. - (hook_void_CUMULATIVE_ARGS_rtx_tree): Likewise. - * targhooks.cc (hook_void_CUMULATIVE_ARGS): New function. - (hook_void_CUMULATIVE_ARGS_rtx_tree): Likewise. - * calls.cc (expand_call): Call start_call_args before computing - and storing stack parameters. Pass the cumulative argument - information to call_args and end_call_args. - (emit_library_call_value_1): Likewise. - * config/nvptx/nvptx.cc (nvptx_call_args): Add a cumulative - argument parameter. - (nvptx_end_call_args): Likewise. - -2023-12-05 Richard Sandiford - - * doc/tm.texi.in: Add TARGET_EMIT_EPILOGUE_FOR_SIBCALL. - * doc/tm.texi: Regenerate. - * target.def (emit_epilogue_for_sibcall): New hook. - * calls.cc (can_implement_as_sibling_call_p): Use it. - * function.cc (thread_prologue_and_epilogue_insns): Likewise. - (reposition_prologue_and_epilogue_notes): Likewise. - * config/aarch64/aarch64-protos.h (aarch64_expand_epilogue): Take - an rtx_call_insn * rather than a bool. - * config/aarch64/aarch64.cc (aarch64_expand_epilogue): Likewise. - (TARGET_EMIT_EPILOGUE_FOR_SIBCALL): Define. - * config/aarch64/aarch64.md (epilogue): Update call. - (sibcall_epilogue): Delete. - -2023-12-05 Richard Sandiford - - * target.def (use_late_prologue_epilogue): New hook. - * doc/tm.texi.in: Add TARGET_USE_LATE_PROLOGUE_EPILOGUE. - * doc/tm.texi: Regenerate. - * passes.def (pass_late_thread_prologue_and_epilogue): New pass. - * tree-pass.h (make_pass_late_thread_prologue_and_epilogue): Declare. - * function.cc (pass_thread_prologue_and_epilogue::gate): New function. - (pass_data_late_thread_prologue_and_epilogue): New pass variable. - (pass_late_thread_prologue_and_epilogue): New pass class. - (make_pass_late_thread_prologue_and_epilogue): New function. - -2023-12-05 Kito Cheng - - * common/config/riscv/riscv-common.cc - (riscv_subset_list::check_conflict_ext): Check zcd conflicts - with zcmt and zcmp. - -2023-12-05 Richard Sandiford - - PR rtl-optimization/112278 - * lra-int.h (lra_update_biggest_mode): New function. - * lra-coalesce.cc (merge_pseudos): Use it. - * lra-lives.cc (process_bb_lives): Likewise. - * lra.cc (new_insn_reg): Likewise. - -2023-12-05 Jakub Jelinek - - PR tree-optimization/112843 - * gimple-lower-bitint.cc (gimple_lower_bitint): Change lhs of stmt - to lhs2 before building and inserting lhs = (cast) lhs2; assignment. - Adjust stmt operands before adjusting lhs. - -2023-12-05 xuli - - * config/riscv/riscv-v.cc (sew64_scalar_helper): Bugfix. - -2023-12-05 Jakub Jelinek - - PR target/112816 - * config/i386/sse.md ((eq (eq (lshiftrt x elt_bits-1) 0) 0)): New - splitter to turn psrld $31; pcmpeq; pcmpeq into psrad $31. - -2023-12-05 Juzhe-Zhong - - * config/riscv/autovec.md: Add blocker. - * config/riscv/riscv-protos.h (gather_scatter_valid_offset_p): New function. - * config/riscv/riscv-v.cc (gather_scatter_valid_offset_p): Ditto. - -2023-12-05 Richard Biener - - PR tree-optimization/112827 - PR tree-optimization/112848 - * tree-scalar-evolution.cc (final_value_replacement_loop): - Compute the insert location for each insert. - -2023-12-05 liuhongt - - * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): - Count sse_reg/gpr_regs for components not loaded from memory. - (ix86_vector_costs:ix86_vector_costs): New constructor. - (ix86_vector_costs::m_num_gpr_needed[3]): New private memeber. - (ix86_vector_costs::m_num_sse_needed[3]): Ditto. - (ix86_vector_costs::finish_cost): Estimate overall register - pressure cost. - (ix86_vector_costs::ix86_vect_estimate_reg_pressure): New - function. - -2023-12-05 liuhongt - - * config/i386/sse.md (udot_prodv64qi): New expander. - (udot_prod): Emulates with VEC_UNPACKU_EXPR + - DOT_PROD (short, int). - -2023-12-05 Marek Polacek - - PR c++/107687 - PR c++/110997 - * doc/invoke.texi: Document -fno-immediate-escalation. - -2023-12-04 Andrew Pinski - - * match.pd (zero_one_valued_p): For convert - make sure type is not a signed 1-bit integer. - -2023-12-04 Jeff Law - - * config/microblaze/microblaze.md (movhi): Use %i for half-word - loads to properly select between lhu/lhui. - -2023-12-04 Robin Dapp - - * config/riscv/riscv-string.cc (expand_rawmemchr): Increment - source address by vl * element_size. - -2023-12-04 Robin Dapp - - * config/riscv/riscv-opts.h (enum riscv_stringop_strategy_enum): - Rename... - (enum stringop_strategy_enum): ... to this. - * config/riscv/riscv-string.cc (riscv_expand_block_move): New - wrapper expander handling the strategies and delegation. - (riscv_expand_block_move_scalar): Rename function and make - static. - (expand_block_move): Remove strategy handling. - * config/riscv/riscv.md: Call expander wrapper. - * config/riscv/riscv.opt: Rename. - -2023-12-04 Richard Biener - - PR middle-end/112785 - * function.h (get_new_clique): New inline function handling - last_clique overflow. - * cfgrtl.cc (duplicate_insn_chain): Use it. - * tree-cfg.cc (gimple_duplicate_bb): Likewise. - * tree-inline.cc (remap_dependence_clique): Likewise. - -2023-12-04 Christoph Müllner - - PR target/112650 - * doc/invoke.texi: Document riscv-strcmp-inline-limit. - -2023-12-04 Juzhe-Zhong - - PR target/112431 - * config/riscv/vector.md: Fix incorrect overlap in v0. - -2023-12-04 Juzhe-Zhong - - PR target/112431 - * config/riscv/vector.md: Add highest-number overlap support. - -2023-12-04 Richard Biener - - PR tree-optimization/112818 - * tree-vect-stmts.cc (vectorizable_bswap): Check input and - output vector types have the same size. - -2023-12-04 Richard Biener - - PR tree-optimization/112827 - * tree-scalar-evolution.cc (final_value_replacement_loop): - Do not release SSA name but keep a dead initialization around. - -2023-12-04 Juzhe-Zhong - - PR target/112431 - * config/riscv/vector.md: Remove earlyclobber from widen reduction. - -2023-12-04 Indu Bhagat - - PR debug/112656 - * btfout.cc (btf_asm_type): Fixup ctti_name for all - BTF types of kind BTF_KIND_FUNC_PROTO. - -2023-12-04 Indu Bhagat - - PR debug/112768 - * btfout.cc (get_btf_type_name): New definition. - (btf_collect_datasec): Update dtd_name to the original type name - string. - (btf_asm_type_ref): Use the new get_btf_type_name function - instead. - (btf_asm_type): Likewise. - (btf_asm_func_type): Likewise. - -2023-12-04 Jakub Jelinek - - PR target/112837 - * config/i386/i386.cc (ix86_elim_entry_set_got): Before checking - for UNSPEC_SET_GOT check that SET_SRC is UNSPEC. Use SET_SRC and - SET_DEST macros instead of XEXP, rename vec variable to set. - -2023-12-04 Jakub Jelinek - - PR target/112816 - * config/i386/sse.md (signbit2): Force operands[1] into a REG. - -2023-12-04 Feng Wang - - * common/config/riscv/riscv-common.cc: Add zvkb ISA info. - * config/riscv/riscv.opt: Add Mask(ZVKB) - -2023-12-04 Fei Gao - Xiao Zeng - - * config/riscv/riscv.md (*movcc):move to sfb.md - * config/riscv/sfb.md: New file. - -2023-12-04 Kito Cheng - - * config/riscv/riscv-cores.def: Add sifive-x280. - * doc/invoke.texi (RISC-V Options): Add sifive-x280 - -2023-12-04 Kito Cheng - - * common/config/riscv/riscv-common.cc (riscv_implied_predicator_t): New. - (riscv_implied_info_t::riscv_implied_info_t): New. - (riscv_implied_info_t::match): New. - (riscv_implied_info): New entry for zcf. - (riscv_subset_list::handle_implied_ext): Use - riscv_implied_info_t::match. - (riscv_subset_list::check_implied_ext): Ditto. - (riscv_subset_list::handle_combine_ext): Ditto. - (riscv_subset_list::parse): Move zcf implication handling to - riscv_implied_infos. - -2023-12-04 Kito Cheng - - * common/config/riscv/riscv-common.cc - (riscv_subset_list::check_conflict_ext): New. - (riscv_subset_list::parse): Move checking conflict ext. to - check_conflict_ext. - * config/riscv/riscv-subset.h: - Add riscv_subset_list::check_conflict_ext. - -2023-12-04 Hu, Lin1 - - * common/config/i386/cpuinfo.h (get_available_features): Move USER_MSR - to the correct location. - -2023-12-04 Juzhe-Zhong - - * config/riscv/riscv.md: Rostify the constraints. - -2023-12-04 chenxiaolong - - * doc/extend.texi: Add information about the intrinsic function of the vector - instruction. - -2023-12-03 Jakub Jelinek - - PR middle-end/112807 - * gimple-lower-bitint.cc (bitint_large_huge::lower_addsub_overflow): - When choosing type0 and type1 types, if prec3 has small/middle bitint - kind, use maximum of type0 and type1's precision instead of prec3. - -2023-12-03 Jeff Law - - * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Add prototype for exit. - -2023-12-02 Richard Sandiford - - * attribs.cc (comp_type_attributes): Pass the full TREE_PURPOSE - to lookup_attribute_spec, rather than just the name. - (remove_attributes_matching): Likewise. - -2023-12-02 Richard Sandiford - - * attribs.cc (find_same_attribute): New function. - (decl_attributes, comp_type_attributes): Use it when looking - up one list's attributes in another list. - -2023-12-02 Richard Sandiford - - * Makefile.in (GTFILES): Add attribs.cc. - * attribs.cc (gnu_namespace_cache): New variable. - (get_gnu_namespace): New function. - (lookup_attribute_spec): Use it instead of get_identifier ("gnu"). - (get_attribute_namespace, attribs_cc_tests): Likewise. - -2023-12-02 Richard Sandiford - - * attribs.h (scoped_attribute_specs): New structure. - (register_scoped_attributes): Take a reference to a - scoped_attribute_specs instead of separate namespace and array - parameters. - * plugin.h (register_scoped_attributes): Likewise. - * attribs.cc (register_scoped_attributes): Likewise. - (attribute_tables): Change into an array of scoped_attribute_specs - pointers. Reduce to 1 element for frontends and 1 element for targets. - (empty_attribute_table): Delete. - (check_attribute_tables): Update for changes to attribute_tables. - Use a hash_set to identify duplicates. - (handle_ignored_attributes_option): Update for above changes. - (init_attributes): Likewise. - (excl_pair): Delete. - (test_attribute_exclusions): Update for above changes. Don't - enforce symmetry for standard attributes in the top-level namespace. - * langhooks-def.h (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Delete. - (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Likewise. - (LANG_HOOKS_INITIALIZER): Update accordingly. - (LANG_HOOKS_ATTRIBUTE_TABLE): Define to an empty constructor. - * langhooks.h (lang_hooks::common_attribute_table): Delete. - (lang_hooks::format_attribute_table): Likewise. - (lang_hooks::attribute_table): Redefine to an array of - scoped_attribute_specs pointers. - * target-def.h (TARGET_GNU_ATTRIBUTES): New macro. - * target.def (attribute_spec): Redefine to return an array of - scoped_attribute_specs pointers. - * tree-inline.cc (function_attribute_inlinable_p): Update accordingly. - * doc/tm.texi: Regenerate. - * config/aarch64/aarch64.cc (aarch64_attribute_table): Define using - TARGET_GNU_ATTRIBUTES. - * config/alpha/alpha.cc (vms_attribute_table): Likewise. - * config/avr/avr.cc (avr_attribute_table): Likewise. - * config/bfin/bfin.cc (bfin_attribute_table): Likewise. - * config/bpf/bpf.cc (bpf_attribute_table): Likewise. - * config/csky/csky.cc (csky_attribute_table): Likewise. - * config/epiphany/epiphany.cc (epiphany_attribute_table): Likewise. - * config/gcn/gcn.cc (gcn_attribute_table): Likewise. - * config/h8300/h8300.cc (h8300_attribute_table): Likewise. - * config/loongarch/loongarch.cc (loongarch_attribute_table): Likewise. - * config/m32c/m32c.cc (m32c_attribute_table): Likewise. - * config/m32r/m32r.cc (m32r_attribute_table): Likewise. - * config/m68k/m68k.cc (m68k_attribute_table): Likewise. - * config/mcore/mcore.cc (mcore_attribute_table): Likewise. - * config/microblaze/microblaze.cc (microblaze_attribute_table): - Likewise. - * config/mips/mips.cc (mips_attribute_table): Likewise. - * config/msp430/msp430.cc (msp430_attribute_table): Likewise. - * config/nds32/nds32.cc (nds32_attribute_table): Likewise. - * config/nvptx/nvptx.cc (nvptx_attribute_table): Likewise. - * config/riscv/riscv.cc (riscv_attribute_table): Likewise. - * config/rl78/rl78.cc (rl78_attribute_table): Likewise. - * config/rx/rx.cc (rx_attribute_table): Likewise. - * config/s390/s390.cc (s390_attribute_table): Likewise. - * config/sh/sh.cc (sh_attribute_table): Likewise. - * config/sparc/sparc.cc (sparc_attribute_table): Likewise. - * config/stormy16/stormy16.cc (xstormy16_attribute_table): Likewise. - * config/v850/v850.cc (v850_attribute_table): Likewise. - * config/visium/visium.cc (visium_attribute_table): Likewise. - * config/arc/arc.cc (arc_attribute_table): Likewise. Move further - down file. - * config/arm/arm.cc (arm_attribute_table): Update for above changes, - using... - (arm_gnu_attributes, arm_gnu_attribute_table): ...these new globals. - * config/i386/i386-options.h (ix86_attribute_table): Delete. - (ix86_gnu_attribute_table): Declare. - * config/i386/i386-options.cc (ix86_attribute_table): Replace with... - (ix86_gnu_attributes, ix86_gnu_attribute_table): ...these two globals. - * config/i386/i386.cc (ix86_attribute_table): Define as an array of - scoped_attribute_specs pointers. - * config/ia64/ia64.cc (ia64_attribute_table): Update for above changes, - using... - (ia64_gnu_attributes, ia64_gnu_attribute_table): ...these new globals. - * config/rs6000/rs6000.cc (rs6000_attribute_table): Update for above - changes, using... - (rs6000_gnu_attributes, rs6000_gnu_attribute_table): ...these new - globals. - -2023-12-02 Roger Sayle - - * config/riscv/riscv-vsetvl.cc (csetvl_info::parse_insn): Rename - local variable from demand_flags to dflags, to avoid conflicting - with (enumeration) type of the same name. - -2023-12-02 Li Wei - - * config/loongarch/loongarch.cc (loongarch_is_odd_extraction): - Supplementary function prototype. - (loongarch_is_even_extraction): Adjust. - (loongarch_try_expand_lsx_vshuf_const): Adjust. - (loongarch_is_extraction_permutation): Adjust. - (loongarch_expand_vec_perm_const_2): Adjust. - -2023-12-02 Li Wei - - * config/loongarch/loongarch.md (v2di): Used to simplify the - following templates. - (popcount2): New. - -2023-12-02 Li Wei - - * config/loongarch/loongarch.h (CTZ_DEFINED_VALUE_AT_ZERO): Add - description. - (CLZ_DEFINED_VALUE_AT_ZERO): Remove duplicate definition. - -2023-12-02 Juzhe-Zhong - - PR target/112801 - * config/riscv/vector.md: Add !TARGET_64BIT. - -2023-12-02 Pan Li - - PR target/112743 - * config/riscv/riscv.cc (riscv_legitimize_move): Take the - exist (U *mode) and handle DFmode like DImode when EEW is - 32bits for ZVE32F. - -2023-12-01 Andrew MacLeod - - * gimple-range-fold.h (range_compatible_p): Relocate. - * value-range.h (range_compatible_p): Here. - * range-op-mixed.h (operand_equal::operand_check_p): Call - range_compatible_p rather than comparing precision. - (operand_not_equal::operand_check_p): Ditto. - (operand_not_lt::operand_check_p): Ditto. - (operand_not_le::operand_check_p): Ditto. - (operand_not_gt::operand_check_p): Ditto. - (operand_not_ge::operand_check_p): Ditto. - (operand_plus::operand_check_p): Ditto. - (operand_abs::operand_check_p): Ditto. - (operand_minus::operand_check_p): Ditto. - (operand_negate::operand_check_p): Ditto. - (operand_mult::operand_check_p): Ditto. - (operand_bitwise_not::operand_check_p): Ditto. - (operand_bitwise_xor::operand_check_p): Ditto. - (operand_bitwise_and::operand_check_p): Ditto. - (operand_bitwise_or::operand_check_p): Ditto. - (operand_min::operand_check_p): Ditto. - (operand_max::operand_check_p): Ditto. - * range-op.cc (operand_lshift::operand_check_p): Ditto. - (operand_rshift::operand_check_p): Ditto. - (operand_logical_and::operand_check_p): Ditto. - (operand_logical_or::operand_check_p): Ditto. - (operand_logical_not::operand_check_p): Ditto. - -2023-12-01 Vladimir N. Makarov - - PR target/112445 - * lra.h (lra): Add one more arg. - * lra-int.h (lra_verbose, lra_dump_insns): New externals. - (lra_dump_insns_if_possible): Ditto. - * lra.cc (lra_dump_insns): Dump all insns. - (lra_dump_insns_if_possible): Dump all insns for lra_verbose >= 7. - (lra_verbose): New global. - (lra): Add new arg. Setup lra_verbose from its value. - * lra-assigns.cc (lra_split_hard_reg_for): Dump insns if rtl - was changed. - * lra-remat.cc (lra_remat): Dump insns if rtl was changed. - * lra-constraints.cc (lra_inheritance): Dump insns. - (lra_constraints, lra_undo_inheritance): Dump insns if rtl - was changed. - (remove_inheritance_pseudos): Use restore reg if it is set up. - * ira.cc: (lra): Pass internal_flag_ira_verbose. - -2023-12-01 Jakub Jelinek - - * doc/extend.texi (__builtin_addc, __builtin_addcl, __builtin_addcll, - __builtin_subc, __builtin_subcl, __builtin_subcll, - __builtin_stdc_bit_width, __builtin_stdc_count_ones, - __builtin_stdc_count_zeros, __builtin_stdc_first_leading_one, - __builtin_stdc_first_leading_zero, __builtin_stdc_first_trailing_one, - __builtin_stdc_first_trailing_zero, __builtin_stdc_has_single_bit, - __builtin_stdc_leading_ones, __builtin_stdc_leading_zeros, - __builtin_stdc_trailing_ones, __builtin_stdc_trailing_zeros, - __builtin_nvptx_brev, __builtin_nvptx_brevll, __builtin_darn, - __builtin_darn_raw, __builtin_ia32_vec_ext_v2di, - __builtin_ia32_crc32qi, __builtin_ia32_crc32hi, - __builtin_ia32_crc32si, __builtin_ia32_crc32di): Put {}s around - return type with spaces in it. - (__builtin_rx_mvfachi, __builtin_rx_mvfacmi): Remove superfluous - whitespace. - -2023-12-01 David Malcolm - - * diagnostic-core.h (emit_diagnostic_valist): New overload decl. - * diagnostic-format-sarif.cc (sarif_builder::make_result_object): - When we have metadata, call its maybe_add_sarif_properties vfunc. - * diagnostic-metadata.h (class sarif_object): Forward decl. - (diagnostic_metadata::~diagnostic_metadata): New. - (diagnostic_metadata::maybe_add_sarif_properties): New vfunc. - * diagnostic.cc (emit_diagnostic_valist): New overload. - -2023-12-01 David Malcolm - - PR analyzer/103533 - * doc/extend.texi: Remove stray reference to - -fanalyzer-checker=taint. - -2023-12-01 Juzhe-Zhong - - PR target/112431 - * config/riscv/vector.md: Support highpart overlap for vx/vf. - -2023-12-01 Juzhe-Zhong - - PR target/112431 - * config/riscv/vector.md: Support highpart overlap for indexed load. - -2023-12-01 Richard Biener - - * tree-vectorizer.h (vect_get_vec_defs): Re-order arguments. - * tree-vect-stmts.cc (vect_get_vec_defs): Likewise. - (vectorizable_condition): Update caller. - (vectorizable_comparison_1): Likewise. - (vectorizable_conversion): Specify the vector type to be - used for invariant/external defs. - * tree-vect-loop.cc (vect_transform_reduction): Update caller. - -2023-12-01 Jakub Jelinek - - PR middle-end/112770 - * gimple-lower-bitint.cc (gimple_lower_bitint): When adjusting - lhs of middle _BitInt setter which ends bb, insert cast on - the fallthru edge rather than after stmt. - -2023-12-01 Jakub Jelinek - - PR middle-end/112771 - * gimple-lower-bitint.cc (bitint_large_huge::handle_operand_addr): - Use mp = 1 if it is zero. - -2023-12-01 Jose E. Marchesi - - * config/bpf/bpf.cc (bpf_asm_named_section): New function. - (TARGET_ASM_NAMED_SECTION): Set to bpf_asm_named_section. - -2023-12-01 Di Zhao - - * config/aarch64/aarch64-tuning-flags.def - (AARCH64_EXTRA_TUNING_OPTION): New tuning option to avoid - cross-loop FMA. - * config/aarch64/aarch64.cc - (aarch64_override_options_internal): Set - param_avoid_fma_max_bits according to tuning option. - * config/aarch64/tuning_models/ampere1.h (ampere1_tunings): - Modify tunings related with FMA. - * config/aarch64/tuning_models/ampere1a.h (ampere1a_tunings): - Likewise. - * config/aarch64/tuning_models/ampere1b.h (ampere1b_tunings): - Likewise. - -2023-12-01 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.h - (function_expander::result_mode): New member function. - * config/aarch64/aarch64-sve-builtins-base.cc - (svld234_impl::expand): Use it. - * config/aarch64/aarch64-sve-builtins.cc - (function_expander::get_reg_target): Likewise. - -2023-12-01 Jakub Jelinek - - * gimple-lower-bitint.cc (range_to_prec): Don't return -1 for - signed types. - (bitint_large_huge::lower_addsub_overflow): Fix up computation of - prec2. - (bitint_large_huge::lower_mul_overflow): Likewise. - -2023-12-01 Jakub Jelinek - - * gimple-lower-bitint.cc (bitint_large_huge::finish_arith_overflow): - When replacing use_stmt which is gsi_stmt (m_gsi), update m_gsi to - the new statement. - -2023-12-01 Jakub Jelinek - - PR middle-end/112750 - * gimple-lower-bitint.cc (bitint_large_huge::lower_addsub_overflow): - Use NE_EXPR rather than EQ_EXPR for g2 if !single_comparison and - adjust probabilities. - -2023-12-01 Xi Ruoyao - - * doc/install.texi: Deem srcdir == objdir broken, but objdir - as a subdirectory of srcdir fine. - -2023-12-01 Juergen Christ - - PR target/112753 - * config/s390/s390.cc (s390_md_asm_adjust): Return after dealing - with the outputs, if no further processing of long doubles is - required. - -2023-12-01 Jakub Jelinek - - PR target/112725 - * config/s390/s390.cc (s390_invalid_arg_for_unprototyped_fn): Return - NULL for __builtin_classify_type calls with vector arguments. - -2023-12-01 Florian Weimer - - * doc/invoke.texi (Warning Options): Document - -Wdeclaration-missing-parameter-type. - -2023-12-01 Florian Weimer - - * doc/invoke.texi (Warning Options): Document changes. - -2023-12-01 Florian Weimer - - * doc/invoke.texi (Warning Options): Document that - -Wreturn-mismatch is a permerror in C99 and later. - -2023-12-01 Florian Weimer - - PR c/91093 - PR c/96284 - * doc/invoke.texi (Warning Options): Document changes. - -2023-12-01 Florian Weimer - - * doc/invoke.texi (Warning Options): Document changes. - -2023-12-01 Florian Weimer - - * doc/invoke.texi (Warning Options): Document changes. - -2023-12-01 Juzhe-Zhong - - PR target/112776 - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::pre_global_vsetvl_info): Fix ratio. - -2023-11-30 Wilco Dijkstra - - PR target/111404 - * config/aarch64/aarch64.cc (aarch64_split_compare_and_swap): - For 128-bit store the loaded value and loop if needed. - -2023-11-30 Wilco Dijkstra - - PR target/103100 - * config/aarch64/aarch64.md (cpymemdi): Remove pattern condition. - (setmemdi): Likewise. - * config/aarch64/aarch64.cc (aarch64_expand_cpymem): Support - strict-align. Cleanup condition for using MOPS. - (aarch64_expand_setmem): Likewise. - -2023-11-30 Richard Biener - - PR tree-optimization/112767 - * tree-scalar-evolution.cc (final_value_replacement_loop): - Propagate constants to immediate uses immediately. - -2023-11-30 Richard Biener - - PR tree-optimization/112766 - * gimple-predicate-analysis.cc (find_var_cmp_const): - Support continuing the iteration and report every candidate. - (uninit_analysis::overlap): Iterate over all flag var - candidates. - -2023-11-30 Juzhe-Zhong - - PR target/112431 - * config/riscv/vector.md: Add widening overlap of vf2/vf4. - -2023-11-30 Juzhe-Zhong - - PR target/112431 - * config/riscv/vector.md: Remove earlyclobber for wx/wf instructions. - -2023-11-30 Jakub Jelinek - - PR middle-end/112733 - * wide-int.cc (wi::mul_internal): Don't allocate twice as much - space for u, v and r as needed. - (divmod_internal_2): Change return type from void to int, for n == 1 - return 1, otherwise before writing b_dividend into b_remainder set - n to MIN (n, m) and at the end return it. - (wi::divmod_internal): Don't allocate 4 times as much space for - b_quotient, b_remainder, b_dividend and b_divisor. Set n to - result of divmod_internal_2. - (wide_int_cc_tests): Add test for unsigned widest_int - wi::multiple_of_p of 1 and -128. - -2023-11-30 liuhongt - - * config/i386/sse.md (sdot_prodv64qi): New expander. - (sseunpackmodelower): New mode attr. - (sdot_prod): Emulate sdot_prodv*qi with sodt_prov*hi - when TARGET_VNNIINT8 is not available. - -2023-11-30 liuhongt - - * config/i386/sse.md: (reduc_plus_scal_): Use - vec_extract_lo instead of subreg. - (reduc__scal_): Ditto. - (reduc__scal_): Ditto. - (reduc__scal_): Ditto. - (reduc__scal_): Ditto. - -2023-11-30 Juzhe-Zhong - - PR target/112431 - * config/riscv/vector.md: Add widenning overlap. - -2023-11-30 Juzhe-Zhong - - * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Fix constraint. - * config/riscv/riscv.md (no,W21,W42,W84,W41,W81,W82): Rename vconstraint into group_overlap. - (no,yes): Ditto. - (none,W21,W42,W84,W43,W86,W87): Ditto. - * config/riscv/vector.md: Ditto. - -2023-11-30 Juzhe-Zhong - - * config/riscv/vector.md: Support highpart overlap for vext.vf2 - -2023-11-29 Philipp Tomsich - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere-1b - * config/aarch64/aarch64-cost-tables.h: Add ampere1b_extra_costs - * config/aarch64/aarch64-tune.md: Regenerate - * config/aarch64/aarch64.cc: Include ampere1b tuning model - * doc/invoke.texi: Document -mcpu=ampere1b - * config/aarch64/tuning_models/ampere1b.h: New file. - -2023-11-29 David Faust - - * config/bpf/bpf.h (ASM_COMMENT_START): Change from ';' to '#'. - -2023-11-29 Jakub Jelinek - - PR target/112725 - * config/rs6000/rs6000.cc (invalid_arg_for_unprototyped_fn): Return - NULL for __builtin_classify_type calls with vector arguments. - -2023-11-29 Andrew MacLeod - - PR tree-optimization/111922 - * ipa-cp.cc (ipa_vr_operation_and_type_effects): Check the - operands are valid before calling fold_range. - -2023-11-29 Andrew MacLeod - - * range-op-mixed.h (operator_equal::operand_check_p): New. - (operator_not_equal::operand_check_p): New. - (operator_lt::operand_check_p): New. - (operator_le::operand_check_p): New. - (operator_gt::operand_check_p): New. - (operator_ge::operand_check_p): New. - (operator_plus::operand_check_p): New. - (operator_abs::operand_check_p): New. - (operator_minus::operand_check_p): New. - (operator_negate::operand_check_p): New. - (operator_mult::operand_check_p): New. - (operator_bitwise_not::operand_check_p): New. - (operator_bitwise_xor::operand_check_p): New. - (operator_bitwise_and::operand_check_p): New. - (operator_bitwise_or::operand_check_p): New. - (operator_min::operand_check_p): New. - (operator_max::operand_check_p): New. - * range-op.cc (range_op_handler::fold_range): Check operand - parameter types. - (range_op_handler::op1_range): Ditto. - (range_op_handler::op2_range): Ditto. - (range_op_handler::operand_check_p): New. - (range_operator::operand_check_p): New. - (operator_lshift::operand_check_p): New. - (operator_rshift::operand_check_p): New. - (operator_logical_and::operand_check_p): New. - (operator_logical_or::operand_check_p): New. - (operator_logical_not::operand_check_p): New. - * range-op.h (range_operator::operand_check_p): New. - (range_op_handler::operand_check_p): New. - -2023-11-29 Martin Jambor - - PR tree-optimization/112711 - PR tree-optimization/112721 - * tree-sra.cc (build_access_from_call_arg): New parameter - CAN_BE_RETURNED, disqualify any candidate passed by reference if it is - true. Adjust leading comment. - (scan_function): Pass appropriate value to CAN_BE_RETURNED of - build_access_from_call_arg. - -2023-11-29 Thomas Schwinge - - * doc/sourcebuild.texi (Final Actions): Document - 'only_for_offload_target' wrapper. - -2023-11-29 Rainer Orth - - PR testsuite/112729 - * doc/sourcebuild.texi (Effective-Target Keywords, Environment - attributes): Document cfi. - -2023-11-29 Richard Biener - - PR middle-end/110237 - * internal-fn.cc (expand_partial_load_optab_fn): Clear - MEM_EXPR and MEM_OFFSET. - (expand_partial_store_optab_fn): Likewise. - -2023-11-29 Jakub Jelinek - - PR middle-end/112733 - * fold-const.cc (multiple_of_p): Pass SIGNED rather than - UNSIGNED for wi::multiple_of_p on widest_int arguments. - -2023-11-29 Juzhe-Zhong - kito-cheng - kito-cheng - - PR target/112431 - * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): New register filters. - * config/riscv/riscv.md (no,W21,W42,W84,W41,W81,W82): Ditto. - (no,yes): Ditto. - * config/riscv/vector.md: Support highpart register overlap for vwcvt. - -2023-11-29 xuli - - * config/riscv/riscv.cc (riscv_option_override): Eliminate warning. - -2023-11-29 Jakub Jelinek - - PR bootstrap/111601 - * fold-mem-offsets.cc (get_uses): Ignore DEBUG_INSN uses. Otherwise, - punt if use is in a different basic block from INSN or appears before - INSN in the same basic block. Formatting fixes. - (get_single_def_in_bb): Formatting fixes. - (fold_offsets_1, pass_fold_mem_offsets::execute): Comment formatting - fixes. - -2023-11-29 Xi Ruoyao - - * config/loongarch/simd.md (LSX_SCALAR_FRINT): New int iterator. - (VLSX_FOR_FMODE): New mode attribute. - (2): New expander, - expanding to vreplvei.{w/d} + frint{rp/rz/rm/rne}.{s.d}. - -2023-11-29 Xi Ruoyao - - * config/loongarch/loongarch.md (lrint_allow_inexact): Remove. - (2): Check if - == UNSPEC_FTINT instead of . - -2023-11-29 Xi Ruoyao - - * config/loongarch/lsx.md (bitimm): Move to ... - (UNSPEC_LSX_VROTR): Remove. - (lsx_vrotr_): Remove. - (lsx_vrotri_): Remove. - * config/loongarch/lasx.md (UNSPEC_LASX_XVROTR): Remove. - (lsx_vrotr_): Remove. - (lsx_vrotri_): Remove. - * config/loongarch/simd.md (bitimm): ... here. Expand it to - cover LASX modes. - (vrotr3): New define_insn. - (vrotri3): New define_insn. - * config/loongarch/loongarch-builtins.cc: - (CODE_FOR_lsx_vrotr_b): Use standard pattern name. - (CODE_FOR_lsx_vrotr_h): Likewise. - (CODE_FOR_lsx_vrotr_w): Likewise. - (CODE_FOR_lsx_vrotr_d): Likewise. - (CODE_FOR_lasx_xvrotr_b): Likewise. - (CODE_FOR_lasx_xvrotr_h): Likewise. - (CODE_FOR_lasx_xvrotr_w): Likewise. - (CODE_FOR_lasx_xvrotr_d): Likewise. - (CODE_FOR_lsx_vrotri_b): Define to standard pattern name. - (CODE_FOR_lsx_vrotri_h): Likewise. - (CODE_FOR_lsx_vrotri_w): Likewise. - (CODE_FOR_lsx_vrotri_d): Likewise. - (CODE_FOR_lasx_xvrotri_b): Likewise. - (CODE_FOR_lasx_xvrotri_h): Likewise. - (CODE_FOR_lasx_xvrotri_w): Likewise. - (CODE_FOR_lasx_xvrotri_d): Likewise. - -2023-11-29 Xi Ruoyao - - * config/loongarch/simd.md (muh): New code attribute mapping - any_extend to smul_highpart or umul_highpart. - (mul3_highpart): New define_insn. - * config/loongarch/lsx.md (UNSPEC_LSX_VMUH_S): Remove. - (UNSPEC_LSX_VMUH_U): Remove. - (lsx_vmuh_s_): Remove. - (lsx_vmuh_u_): Remove. - * config/loongarch/lasx.md (UNSPEC_LASX_XVMUH_S): Remove. - (UNSPEC_LASX_XVMUH_U): Remove. - (lasx_xvmuh_s_): Remove. - (lasx_xvmuh_u_): Remove. - * config/loongarch/loongarch-builtins.cc (CODE_FOR_lsx_vmuh_b): - Redefine to standard pattern name. - (CODE_FOR_lsx_vmuh_h): Likewise. - (CODE_FOR_lsx_vmuh_w): Likewise. - (CODE_FOR_lsx_vmuh_d): Likewise. - (CODE_FOR_lsx_vmuh_bu): Likewise. - (CODE_FOR_lsx_vmuh_hu): Likewise. - (CODE_FOR_lsx_vmuh_wu): Likewise. - (CODE_FOR_lsx_vmuh_du): Likewise. - (CODE_FOR_lasx_xvmuh_b): Likewise. - (CODE_FOR_lasx_xvmuh_h): Likewise. - (CODE_FOR_lasx_xvmuh_w): Likewise. - (CODE_FOR_lasx_xvmuh_d): Likewise. - (CODE_FOR_lasx_xvmuh_bu): Likewise. - (CODE_FOR_lasx_xvmuh_hu): Likewise. - (CODE_FOR_lasx_xvmuh_wu): Likewise. - (CODE_FOR_lasx_xvmuh_du): Likewise. - -2023-11-29 Xi Ruoyao - - PR target/112578 - * config/loongarch/lsx.md (UNSPEC_LSX_VFTINT_S, - UNSPEC_LSX_VFTINTRNE, UNSPEC_LSX_VFTINTRP, - UNSPEC_LSX_VFTINTRM, UNSPEC_LSX_VFRINTRNE_S, - UNSPEC_LSX_VFRINTRNE_D, UNSPEC_LSX_VFRINTRZ_S, - UNSPEC_LSX_VFRINTRZ_D, UNSPEC_LSX_VFRINTRP_S, - UNSPEC_LSX_VFRINTRP_D, UNSPEC_LSX_VFRINTRM_S, - UNSPEC_LSX_VFRINTRM_D): Remove. - (ILSX, FLSX): Move into ... - (VIMODE): Move into ... - (FRINT_S, FRINT_D): Remove. - (frint_pattern_s, frint_pattern_d, frint_suffix): Remove. - (lsx_vfrint_, lsx_vftint_s__, - lsx_vftintrne_w_s, lsx_vftintrne_l_d, lsx_vftintrp_w_s, - lsx_vftintrp_l_d, lsx_vftintrm_w_s, lsx_vftintrm_l_d, - lsx_vfrintrne_s, lsx_vfrintrne_d, lsx_vfrintrz_s, - lsx_vfrintrz_d, lsx_vfrintrp_s, lsx_vfrintrp_d, - lsx_vfrintrm_s, lsx_vfrintrm_d, - v4sf2, - v2df2, round2, - fix_trunc2): Remove. - * config/loongarch/lasx.md: Likewise. - * config/loongarch/simd.md: New file. - (ILSX, ILASX, FLSX, FLASX, VIMODE): ... here. - (IVEC, FVEC): New mode iterators. - (VIMODE): ... here. Extend it to work for all LSX/LASX vector - modes. - (x, wu, simd_isa, WVEC, vimode, simdfmt, simdifmt_for_f, - elebits): New mode attributes. - (UNSPEC_SIMD_FRINTRP, UNSPEC_SIMD_FRINTRZ, UNSPEC_SIMD_FRINT, - UNSPEC_SIMD_FRINTRM, UNSPEC_SIMD_FRINTRNE): New unspecs. - (SIMD_FRINT): New int iterator. - (simd_frint_rounding, simd_frint_pattern): New int attributes. - (_vfrint_): New - define_insn template for frint instructions. - (_vftint__): - Likewise, but for ftint instructions. - (2): New define_expand with - flag_fp_int_builtin_inexact checked. - (l2): Likewise. - (ftrunc2): New define_expand. It does not require - flag_fp_int_builtin_inexact. - (fix_trunc2): New define_insn_and_split. It does - not require flag_fp_int_builtin_inexact. - (include): Add lsx.md and lasx.md. - * config/loongarch/loongarch.md (include): Include simd.md, - instead of including lsx.md and lasx.md directly. - * config/loongarch/loongarch-builtins.cc - (CODE_FOR_lsx_vftint_w_s, CODE_FOR_lsx_vftint_l_d, - CODE_FOR_lasx_xvftint_w_s, CODE_FOR_lasx_xvftint_l_d): - Remove. - -2023-11-29 Alexandre Oliva - - * doc/extend.texi (hardbool): New type attribute. - * doc/invoke.texi (-ftrivial-auto-var-init): Document - representation vs values. - -2023-11-29 Alexandre Oliva - - * expr.cc (emit_block_move_hints): Take ctz of len. Obey - -finline-stringops. Use oriented or sized loop. - (emit_block_move): Take ctz of len, and pass it on. - (emit_block_move_via_sized_loop): New. - (emit_block_move_via_oriented_loop): New. - (emit_block_move_via_loop): Take incr. Move an incr-sized - block per iteration. - (emit_block_cmp_via_cmpmem): Take ctz of len. Obey - -finline-stringops. - (emit_block_cmp_via_loop): New. - * expr.h (emit_block_move): Add ctz of len defaulting to zero. - (emit_block_move_hints): Likewise. - (emit_block_cmp_hints): Likewise. - * builtins.cc (expand_builtin_memory_copy_args): Pass ctz of - len to emit_block_move_hints. - (try_store_by_multiple_pieces): Support starting with a loop. - (expand_builtin_memcmp): Pass ctz of len to - emit_block_cmp_hints. - (expand_builtin): Allow inline expansion of memset, memcpy, - memmove and memcmp if requested. - * common.opt (finline-stringops): New. - (ilsop_fn): New enum. - * flag-types.h (enum ilsop_fn): New. - * doc/invoke.texi (-finline-stringops): Add. - -2023-11-29 Pan Li - - PR target/112743 - * config/riscv/riscv-string.cc (expand_block_move): Add - precondition check for exact_div. - -2023-11-28 Roger Sayle - - * config/arc/arc.md: Make output template whitespace consistent. - -2023-11-28 Jose E. Marchesi - - * varasm.cc (assemble_external_libcall): Refer in assert only ifdef - ASM_OUTPUT_EXTERNAL. - -2023-11-28 Andrew Pinski - - PR tree-optimization/112738 - * match.pd (`(nop_convert)-(convert)a`): Reject - when the outer type is boolean. - -2023-11-28 Richard Biener - - PR middle-end/112732 - * tree.cc (build_opaque_vector_type): Reset TYPE_ALIAS_SET - of the newly built type. - -2023-11-28 Uros Bizjak - - PR target/112494 - * config/i386/i386.md (cmpstrnqi_1): Set FLAGS_REG to its previous - value when operand 2 equals zero. - (*cmpstrnqi_1): Ditto. - (*cmpstrnqi_1 peephole2): Ditto. - -2023-11-28 Cupertino Miranda - - Revert: - 2023-11-28 Cupertino Miranda - - * config/bpf/bpf.cc (bpf_output_call): Report error in case the - function call is for a builtin. - (bpf_external_libcall): Added target hook to detect and report - error when other external calls that are not builtins. - -2023-11-28 Jose E. Marchesi - - PR target/109253 - * varasm.cc (pending_libcall_symbols): New variable. - (process_pending_assemble_externals): Process - pending_libcall_symbols. - (assemble_external_libcall): Defer emitting external libcall - symbols to process_pending_assemble_externals. - -2023-11-28 Cupertino Miranda - - * btfout.cc (btf_calc_num_vbytes): Fixed logic for enum64. - (btf_asm_enum_const): Corrected logic for enum64 and smaller - than 4 bytes values. - -2023-11-28 Cupertino Miranda - - * config/bpf/bpf.cc (bpf_output_call): Report error in case the - function call is for a builtin. - (bpf_external_libcall): Added target hook to detect and report - error when other external calls that are not builtins. - -2023-11-28 Cupertino Miranda - - * config/bpf/bpf.cc (bpf_use_by_pieces_infrastructure_p): Added - function to bypass default behaviour. - * config/bpf/bpf.h (COMPARE_MAX_PIECES): Defined to 1024 bytes. - -2023-11-28 Cupertino Miranda - - * config/bpf/core-builtins.cc (core_mark_as_access_index): - Corrected check. - -2023-11-28 Cupertino Miranda - - * config/bpf/core-builtins.cc - (bpf_resolve_overloaded_core_builtin): Removed call. - (execute_lower_bpf_core): Added all to remove_parser_plugin. - -2023-11-28 Juzhe-Zhong - - PR target/112694 - * config/riscv/riscv-v.cc (expand_vec_perm_const): Disallow poly size (1, 1) VLA SLP. - -2023-11-28 Jakub Jelinek - - PR tree-optimization/112719 - * match.pd (parity(X)^parity(Y) -> parity(X^Y)): Handle case of - mismatched types. - * gimple-match-exports.cc (build_call_internal): Add special-case for - bit query ifns on large/huge BITINT_TYPE before bitint lowering. - -2023-11-28 Jakub Jelinek - - PR tree-optimization/112719 - * match.pd (popcount (X) + popcount (Y) -> POPCOUNT (X | Y)): Deal - with argument types with different precisions. - -2023-11-28 David Malcolm - - PR analyzer/109077 - * Makefile.in (PLUGIN_HEADERS): Add analyzer headers. - (install-plugin): Keep the directory structure for files in - "analyzer". - -2023-11-28 Juzhe-Zhong - - PR target/112713 - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::compute_lcm_local_properties): Fix regression. - -2023-11-28 David Malcolm - - * diagnostic-show-locus.cc (layout::maybe_add_location_range): - Don't print annotation lines for ranges when there's no column - info. - (selftest::test_one_liner_no_column): New. - (selftest::test_diagnostic_show_locus_one_liner): Call it. - -2023-11-28 David Malcolm - - * diagnostic.cc (diagnostic_get_location_text): Convert to... - (diagnostic_context::get_location_text): ...this, and convert - return type from char * to label_text. - (diagnostic_build_prefix): Update for above change. - (default_diagnostic_start_span_fn): Likewise. - (selftest::assert_location_text): Likewise. - * diagnostic.h (diagnostic_context::get_location_text): New decl. - -2023-11-27 Andrew Pinski - - * config/aarch64/aarch64.cc (aarch64_if_then_else_costs): - Handle csinv/csinc case of 1/-1. - -2023-11-27 Prathamesh Kulkarni - Richard Sandiford - - PR middle-end/111754 - * fold-const.cc (fold_vec_perm_cst): Set result's encoding to sel's - encoding, and set res_nelts_per_pattern to 2 if sel contains stepped - sequence but input vectors do not. - (test_nunits_min_2): New test Case 8. - (test_nunits_min_4): New tests Case 8 and Case 9. - -2023-11-27 Szabolcs Nagy - - * config/aarch64/aarch64.cc (aarch64_needs_frame_chain): Do not - force frame chain for eh_return. - -2023-11-27 Szabolcs Nagy - - * config/aarch64/aarch64-protos.h (aarch64_eh_return_handler_rtx): - Remove. - * config/aarch64/aarch64.cc (aarch64_return_address_signing_enabled): - Sign return address even in functions with eh_return. - (aarch64_expand_epilogue): Conditionally return with br or ret. - (aarch64_eh_return_handler_rtx): Remove. - * config/aarch64/aarch64.h (EH_RETURN_TAKEN_RTX): Define. - (EH_RETURN_STACKADJ_RTX): Change to R5. - (EH_RETURN_HANDLER_RTX): Change to R6. - * df-scan.cc: Handle EH_RETURN_TAKEN_RTX. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Document EH_RETURN_TAKEN_RTX. - * except.cc (expand_eh_return): Handle EH_RETURN_TAKEN_RTX. - -2023-11-27 Thomas Schwinge - - * config.gcc (extra_gcc_objs): Don't set. - * config/gcn/driver-gcn.cc: Remove. - * config/gcn/gcn-hsa.h (ASM_SPEC, EXTRA_SPEC_FUNCTIONS): Remove - 'last_arg' spec function. - * config/gcn/t-gcn-hsa (driver-gcn.o): Remove. - -2023-11-27 Thomas Schwinge - - PR target/112669 - * config/gcn/gcn.opt (march=, mtune=): Tag as 'Negative' of - themselves. - -2023-11-27 Samuel Thibault - - * config/i386/gnu.h: Use PIE_SPEC, add static-pie case. - * config/i386/gnu64.h: Use PIE_SPEC, add static-pie case. - -2023-11-27 Samuel Thibault - - * config/i386/t-gnu64: New file. - * config.gcc [x86_64-*-gnu*]: Add i386/t-gnu64 to - tmake_file. - -2023-11-27 Richard Sandiford - - PR target/106326 - * config/aarch64/aarch64-sve-builtins.h (is_ptrue): Declare. - * config/aarch64/aarch64-sve-builtins.cc (is_ptrue): New function. - (gimple_folder::redirect_pred_x): Likewise. - (gimple_folder::fold): Use it. - -2023-11-27 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.h (vector_cst_all_same): Declare. - * config/aarch64/aarch64-sve-builtins.cc (vector_cst_all_same): New - function, a generalized replacement of... - * config/aarch64/aarch64-sve-builtins-base.cc - (svlast_impl::vect_all_same): ...this. - (svlast_impl::fold): Update accordingly. - -2023-11-27 Richard Biener - - PR tree-optimization/112653 - * gimple-ssa.h (gimple_df): Add escaped_return solution. - * tree-ssa.cc (init_tree_ssa): Reset it. - (delete_tree_ssa): Likewise. - * tree-ssa-structalias.cc (escaped_return_id): New. - (find_func_aliases): Handle non-IPA return stmts by - adding to ESCAPED_RETURN. - (set_uids_in_ptset): Adjust HEAP escaping to also cover - escapes through return. - (init_base_vars): Initialize ESCAPED_RETURN. - (compute_points_to_sets): Replace ESCAPED post-processing - with recording the ESCAPED_RETURN solution. - * tree-ssa-alias.cc (ref_may_alias_global_p_1): Check - the ESCAPED_RETUNR solution. - (dump_alias_info): Dump it. - * cfgexpand.cc (update_alias_info_with_stack_vars): Update it. - * ipa-icf.cc (sem_item_optimizer::fixup_points_to_sets): - Likewise. - * tree-inline.cc (expand_call_inline): Reset it. - * tree-parloops.cc (parallelize_loops): Likewise. - * tree-sra.cc (maybe_add_sra_candidate): Check it. - -2023-11-27 Richard Biener - Richard Sandiford - - PR tree-optimization/112661 - * tree-vect-slp.cc (vect_get_and_check_slp_defs): Defer duplicate-and- - interleave test to... - (vect_build_slp_tree_2): ...here, once we have all the operands. - Skip the test for uniform vectors. - (vect_create_constant_vectors): Detect uniform vectors. Avoid - redundant conversions in that case. Use gimple_build_vector_from_val - to build the vector. - -2023-11-27 Richard Sandiford - - * attribs.cc (excl_hash_traits): Delete. - (test_attribute_exclusions): Use pair_hash and nofree_string_hash - instead. - -2023-11-27 Andrew Stubbs - - * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Disallow TImode. - -2023-11-27 Stefan Schulze Frielinghaus - - * config/s390/s390-builtin-types.def (BT_FN_UV8HI_UV8HI_UINT): - Add missing builtin type. - -2023-11-27 Stefan Schulze Frielinghaus - - * config/s390/s390-builtin-types.def: Remove types. - * config/s390/s390-builtins.def (O_U64): Remove 64-bit literal support. - Don't restrict s390_vec_rli and s390_verll[bhfg] to immediates. - * config/s390/s390.cc (s390_const_operand_ok): Remove 64-bit - literal support. - -2023-11-27 Alex Coplan - Iain Sandoe - - PR c++/60512 - * doc/cpp.texi: Document __has_{feature,extension}. - -2023-11-27 Richard Biener - - PR tree-optimization/112706 - * match.pd (ptr + o ==/!=/- ptr + o'): New patterns. - -2023-11-27 Stefan Schulze Frielinghaus - - * config/s390/s390-builtin-types.def: Add/remove types. - * config/s390/s390-builtins.def - (s390_vclfnhs,s390_vclfnls,s390_vcrnfs,s390_vcfn,s390_vcnf): - Replace type V8HI with UV8HI. - -2023-11-27 Stefan Schulze Frielinghaus - - * config/s390/s390-builtins.def - (s390_vcefb,s390_vcdgb,s390_vcelfb,s390_vcdlgb,s390_vcfeb,s390_vcgdb, - s390_vclfeb,s390_vclgdb): Remove flags for non-existing operands - 2 and 3. - -2023-11-27 Stefan Schulze Frielinghaus - - * config/s390/s390.md (*cmphi_ccu): For immediate operand 1 make - use of constraint n instead of D and chop of high bits in the - output template. - -2023-11-27 Jakub Jelinek - - PR target/112300 - * config.gcc (mips*-sde-elf*): Append to tm_defines rather than - overwriting them. - -2023-11-27 Juzhe-Zhong - - * config/riscv/autovec.md - (mask_len_gather_load): - Remove gather_scatter_valid_offset_mode_p. - (mask_len_gather_load): Ditto. - (mask_len_scatter_store): Ditto. - (mask_len_scatter_store): Ditto. - * config/riscv/predicates.md (const_1_or_8_operand): New predicate. - (vector_gs_scale_operand_64): Remove. - * config/riscv/riscv-protos.h (gather_scatter_valid_offset_mode_p): Remove. - * config/riscv/riscv-v.cc (expand_gather_scatter): Refine code. - (gather_scatter_valid_offset_mode_p): Remove. - * config/riscv/vector-iterators.md: Fix iterator bugs. - -2023-11-27 Tsukasa OI - - * common/config/riscv/riscv-common.cc - (riscv_ext_version_table): Set version to ratified 2.0. - (riscv_subset_list::parse_std_ext): Allow RV64E. - * config.gcc: Parse base ISA 'rv64e' and ABI 'lp64e'. - * config/riscv/arch-canonicalize: Parse base ISA 'rv64e'. - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): - Define different macro per XLEN. Add handling for ABI_LP64E. - * config/riscv/riscv-d.cc (riscv_d_handle_target_float_abi): - Add handling for ABI_LP64E. - * config/riscv/riscv-opts.h (enum riscv_abi_type): Add ABI_LP64E. - * config/riscv/riscv.cc (riscv_option_override): Enhance error - handling to support RV64E and LP64E. - (riscv_conditional_register_usage): Change "RV32E" in a comment - to "RV32E/RV64E". - * config/riscv/riscv.h - (UNITS_PER_FP_ARG): Add handling for ABI_LP64E. - (STACK_BOUNDARY): Ditto. - (ABI_STACK_BOUNDARY): Ditto. - (MAX_ARGS_IN_REGISTERS): Ditto. - (ABI_SPEC): Add support for "lp64e". - * config/riscv/riscv.opt: Parse -mabi=lp64e as ABI_LP64E. - * doc/invoke.texi: Add documentation of the LP64E ABI. - -2023-11-27 Jose E. Marchesi - - * config/bpf/bpf-helpers.h: Remove. - * config.gcc: Adapt accordingly. - -2023-11-27 Guo Jie - - * config/loongarch/loongarch.cc (loongarch_split_plus_constant): - avoid left shift of negative value -0x8000. - -2023-11-27 Guo Jie - - * config/loongarch/loongarch.cc - (enum loongarch_load_imm_method): Add new method. - (loongarch_build_integer): Add relevant implementations for - new method. - (loongarch_move_integer): Ditto. - -2023-11-26 Alexander Monakov - - * sort.cc: Use 'sorting networks' in comments. - -2023-11-26 Juzhe-Zhong - - PR target/112599 - * config/riscv/riscv-avlprop.cc (avl_can_be_propagated_p): Add slidedown. - (vlmax_ta_p): Ditto. - (pass_avlprop::get_vlmax_ta_preferred_avl): Ditto. - -2023-11-26 Juzhe-Zhong - - * config/riscv/riscv-avlprop.cc (alv_can_be_propagated_p): Fix typo. - (avl_can_be_propagated_p): Ditto. - (vlmax_ta_p): Ditto. - -2023-11-25 Gerald Pfeifer - - PR other/69374 - * doc/install.texi (Downloading the source): Sort the list of - front ends and add D, Go, and Modula-2. - -2023-11-25 Gerald Pfeifer - - PR target/69374 - * doc/install.texi (Specific) <*-*-freebsd*>: Remove older - contents referencing GCC 4.x. - -2023-11-25 Gerald Pfeifer - - * doc/standards.texi (Standards): Update ISO C++ reference. - -2023-11-25 Jakub Jelinek - - PR target/111408 - * config/i386/i386.md (*jcc_bt_mask, - *jcc_bt_mask_1): Add (const_int 0) as expected - second operand of bt_comparison_operator. - -2023-11-25 Andrew Pinski - Jakub Jelinek - - PR target/109977 - * config/aarch64/aarch64-simd.md (aarch64_simd_stp): Use - rather than % for alternative with r constraint on input operand. - -2023-11-24 Tobias Burnus - - * doc/install.texi (amdgcn-*-amdhsa): Fix URL to ROCm; - change 'in the future' to 'in LLVM 18'. - -2023-11-24 John David Anglin - - * config/pa/pa.cc (pa_emit_move_sequence): Use INT14_OK_STRICT - in a couple of places. - -2023-11-24 Martin Jambor - - PR middle-end/109849 - * tree-sra.cc (passed_by_ref_in_call): New. - (sra_initialize): Allocate passed_by_ref_in_call. - (sra_deinitialize): Free passed_by_ref_in_call. - (create_access): Add decl pool candidates only if they are not - already candidates. - (build_access_from_expr_1): Bail out on ADDR_EXPRs. - (build_access_from_call_arg): New function. - (asm_visit_addr): Rename to scan_visit_addr, change the - disqualification dump message. - (scan_function): Check taken addresses for all non-call statements, - including phi nodes. Process all call arguments, including the static - chain, build_access_from_call_arg. - (maybe_add_sra_candidate): Relax need_to_live_in_memory check to allow - non-escaped local variables. - (sort_and_splice_var_accesses): Disallow smaller-than-precision - replacements for aggregates passed by reference to functions. - (sra_modify_expr): Use a separate stmt iterator for adding satements - before the processed statement and after it. - (enum out_edge_check): New type. - (abnormal_edge_after_stmt_p): New function. - (sra_modify_call_arg): New function. - (sra_modify_assign): Adjust calls to sra_modify_expr. - (sra_modify_function_body): Likewise, use sra_modify_call_arg to - process call arguments, including the static chain. - -2023-11-24 Uros Bizjak - - PR target/112686 - * config/i386/i386.cc (ix86_expand_split_stack_prologue): Load - function address to a register for ix86_cmodel == CM_LARGE. - -2023-11-24 Tobias Burnus - - * doc/invoke.texi (-Wopenmp): Add. - * gimplify.cc (gimplify_omp_for): Add OPT_Wopenmp to warning_at. - * omp-expand.cc (expand_omp_ordered_sink): Likewise. - * omp-general.cc (omp_check_context_selector): Likewise. - * omp-low.cc (scan_omp_for, check_omp_nesting_restrictions, - lower_omp_ordered_clauses): Likewise. - * omp-simd-clone.cc (simd_clone_clauses_extract): Likewise. - -2023-11-24 Juzhe-Zhong - - PR target/112694 - * config/riscv/riscv-v.cc (preferred_simd_mode): Allow poly_int (1,1) vectors. - -2023-11-24 Alexander Monakov - - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac: Delete manual checks for old Valgrind headers. - * system.h (VALGRIND_MAKE_MEM_NOACCESS): Delete. - (VALGRIND_MAKE_MEM_DEFINED): Delete. - (VALGRIND_MAKE_MEM_UNDEFINED): Delete. - (VALGRIND_MALLOCLIKE_BLOCK): Delete. - (VALGRIND_FREELIKE_BLOCK): Delete. - -2023-11-24 Jakub Jelinek - - PR target/112681 - * config/i386/i386-expand.cc (ix86_expand_branch): Use - ix86_expand_vector_logical_operator to expand vector XOR rather than - gen_rtx_SET on gen_rtx_XOR. - -2023-11-24 Alex Coplan - - * rtl-ssa/access-utils.h (filter_accesses): New. - (remove_regno_access): New. - (check_remove_regno_access): New. - * rtl-ssa/accesses.cc (rtl_ssa::remove_note_accesses_base): Use - new filter_accesses helper. - -2023-11-24 Alex Coplan - - * rtl-ssa/accesses.cc (function_info::create_set): New. - * rtl-ssa/accesses.h (access_info::is_temporary): New. - * rtl-ssa/changes.cc (move_insn): Handle new (temporary) insns. - (function_info::finalize_new_accesses): Handle new/temporary - user-created accesses. - (function_info::apply_changes_to_insn): Ensure m_is_temp flag - on new insns gets cleared. - (function_info::change_insns): Handle new/temporary insns. - (function_info::create_insn): New. - * rtl-ssa/changes.h (class insn_change): Make function_info a - friend class. - * rtl-ssa/functions.h (function_info): Declare new entry points: - create_set, create_insn. Declare new change_alloc helper. - * rtl-ssa/insns.cc (insn_info::print_full): Identify temporary insns in - dump. - * rtl-ssa/insns.h (insn_info): Add new m_is_temp flag and accompanying - is_temporary accessor. - * rtl-ssa/internals.inl (insn_info::insn_info): Initialize m_is_temp to - false. - * rtl-ssa/member-fns.inl (function_info::change_alloc): New. - * rtl-ssa/movement.h (restrict_movement_for_defs_ignoring): Add - handling for temporary defs. - -2023-11-24 Jakub Jelinek - - PR tree-optimization/112673 - * match.pd (bit_field_ref (vce @0) -> bit_field_ref @0): Only simplify - if either @0 doesn't have scalar integral type or if it has mode - precision. - -2023-11-24 Jakub Jelinek - - PR middle-end/112679 - * gimple-lower-bitint.cc (gimple_lower_bitint): Also stop first loop on - floating point SSA_NAME set in FLOAT_EXPR assignment from BITINT_TYPE - INTEGER_CST. Set has_large_huge for those if that BITINT_TYPE is large - or huge. Set kind to such FLOAT_EXPR assignment rhs1 BITINT_TYPE's kind. - -2023-11-24 Richard Biener - - PR tree-optimization/112677 - * tree-vect-loop.cc (vectorizable_reduction): Use alloca - to allocate vectype_op. - -2023-11-24 Haochen Gui - - * expr.cc (by_pieces_ninsns): Include by pieces compare when - do the adjustment for overlap operations. Replace mov_optab - checks with gcc assertion. - -2023-11-24 Jakub Jelinek - - PR middle-end/112668 - * gimple-iterator.h (gsi_end, gsi_end_bb): New inline functions. - * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): After - temporarily adding statements after m_init_gsi, update m_init_gsi - such that later additions after it will be after the added statements. - (bitint_large_huge::handle_load): Likewise. When splitting - gsi_bb (m_init_gsi) basic block, update m_preheader_bb if needed - and update saved m_gsi as well if needed. - (bitint_large_huge::lower_mergeable_stmt, - bitint_large_huge::lower_comparison_stmt, - bitint_large_huge::lower_mul_overflow, - bitint_large_huge::lower_bit_query): Use gsi_end_bb. - -2023-11-24 Jakub Jelinek - - PR c++/112619 - * tree.cc (try_catch_may_fallthru): If second operand of - TRY_CATCH_EXPR is not a STATEMENT_LIST, handle it as if it was a - STATEMENT_LIST containing a single statement. - -2023-11-24 Richard Biener - - PR tree-optimization/112344 - * tree-chrec.cc (chrec_apply): Only use an unsigned add - when the overall increment doesn't fit the signed type. - -2023-11-24 Juzhe-Zhong - - PR target/112599 - * config/riscv/riscv-v.cc (shuffle_extract_and_slide1up_patterns): New function. - (expand_vec_perm_const_1): Add new optimization. - -2023-11-24 Juzhe-Zhong - - * config/riscv/riscv-v.cc (shuffle_bswap_pattern): Disable for NUNIT < 4. - -2023-11-24 Haochen Jiang - - PR target/112643 - * config/i386/driver-i386.cc (check_avx10_avx512_features): - Renamed to ... - (check_avx512_features): this and remove avx10 check. - (host_detect_local_cpu): Never append -mno-avx10.1-{256,512} to - avoid emitting warnings when building GCC with native arch. - * config/i386/i386-builtin.def (BDESC): Add missing AVX512VL for - 128/256 bit builtin for AVX512VP2INTERSECT. - * config/i386/i386-options.cc (ix86_option_override_internal): - Also check whether the AVX512 flags is set when trying to reset. - * config/i386/i386.h - (PTA_SKYLAKE_AVX512): Add missing PTA_EVEX512. - (PTA_ZNVER4): Ditto. - -2023-11-23 Georg-Johann Lay - - PR target/86776 - * config/avr/avr.cc (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define - to speculation_safe_value_not_needed. - -2023-11-23 Marek Polacek - - * common.opt (Whardened, fhardened): New options. - * config.in: Regenerate. - * config/bpf/bpf.cc: Include "opts.h". - (bpf_option_override): If flag_stack_protector_set_by_fhardened_p, do - not inform that -fstack-protector does not work. - * config/i386/i386-options.cc (ix86_option_override_internal): When - -fhardened, maybe enable -fcf-protection=full. - * config/linux-protos.h (linux_fortify_source_default_level): Declare. - * config/linux.cc (linux_fortify_source_default_level): New. - * config/linux.h (TARGET_FORTIFY_SOURCE_DEFAULT_LEVEL): Redefine. - * configure: Regenerate. - * configure.ac: Check if the linker supports '-z now' and '-z relro'. - Check if -fhardened is supported on $target_os. - * doc/invoke.texi: Document -fhardened and -Whardened. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (TARGET_FORTIFY_SOURCE_DEFAULT_LEVEL): Add. - * gcc.cc (driver_handle_option): Remember if any link options or -static - were specified on the command line. - (process_command): When -fhardened, maybe enable -pie and - -Wl,-z,relro,-z,now. - * opts.cc (flag_stack_protector_set_by_fhardened_p): New global. - (finish_options): When -fhardened, enable - -ftrivial-auto-var-init=zero and -fstack-protector-strong. - (print_help_hardened): New. - (print_help): Call it. - * opts.h (flag_stack_protector_set_by_fhardened_p): Declare. - * target.def (fortify_source_default_level): New target hook. - * targhooks.cc (default_fortify_source_default_level): New. - * targhooks.h (default_fortify_source_default_level): Declare. - * toplev.cc (process_options): When -fhardened, enable - -fstack-clash-protection. If flag_stack_protector_set_by_fhardened_p, - do not warn that -fstack-protector not supported for this target. - Don't enable -fhardened when !HAVE_FHARDENED_SUPPORT. - -2023-11-23 Christophe Lyon - - * config/arm/arm-mve-builtins-functions.h - (full_width_access::memory_vector_mode): Add default clause. - -2023-11-23 Uros Bizjak - - PR target/112672 - * config/i386/i386.md (parityhi2): - Use temporary register in the call to gen_parityhi2_cmp. - -2023-11-23 Uros Bizjak - - PR target/89316 - * config/i386/i386.cc (ix86_expand_split_stack_prologue): Obtain - scratch regno when flag_force_indirect_call is set. On 64-bit - targets, call __morestack_large_model when flag_force_indirect_call - is set and on 32-bit targets with -fpic, manually expand PIC sequence - to call __morestack. Move the function address to an indirect - call scratch register. - -2023-11-23 Sebastian Huber - - PR tree-optimization/112678 - * tree-profile.cc (tree_profiling): Do not use atomic operations - for -fprofile-update=single. - -2023-11-23 Juergen Christ - - * config/s390/s390-c.cc (s390_cpu_cpp_builtins): Define - __GCC_ASM_FLAG_OUTPUTS__. - * config/s390/s390.cc (s390_canonicalize_comparison): More - UNSPEC_CC_TO_INT cases. - (s390_md_asm_adjust): Implement flags output. - * config/s390/s390.md (ccstore4): Allow mask operands. - * doc/extend.texi: Document flags output. - -2023-11-23 Juergen Christ - - * config/s390/s390.md: Split TImode loads. - -2023-11-23 Juergen Christ - - * config/s390/vector.md: (*vec_extract) Fix. - -2023-11-23 Di Zhao - - * tree-ssa-reassoc.cc (get_reassociation_width): check - for loop dependent FMAs. - (reassociate_bb): For 3 ops, refine the condition to call - swap_ops_for_binary_stmt. - -2023-11-23 Juzhe-Zhong - - * config/riscv/riscv-protos.h (emit_vec_extract): New function. - * config/riscv/riscv-v.cc (emit_vec_extract): Ditto. - * config/riscv/riscv.cc (riscv_legitimize_move): Refine codes. - -2023-11-23 Juzhe-Zhong - - PR target/112599 - PR target/112670 - * config/riscv/riscv-avlprop.cc (alv_can_be_propagated_p): New function. - (vlmax_ta_p): Disable vrgather AVL propagation. - -2023-11-23 Jakub Jelinek - - PR middle-end/112336 - * expr.cc (EXTEND_BITINT): Don't call reduce_to_bit_field_precision - if modifier is EXPAND_INITIALIZER. - -2023-11-23 Juzhe-Zhong - - * config/riscv/riscv-v.cc (emit_vlmax_gather_insn): Refine codes. - (emit_vlmax_masked_gather_mu_insn): Ditto. - (modulo_sel_indices): Ditto. - (expand_vec_perm): Ditto. - (shuffle_generic_patterns): Ditto. - -2023-11-23 Jakub Jelinek - - * doc/extend.texi (__builtin_stdc_bit_ceil, __builtin_stdc_bit_floor, - __builtin_stdc_bit_width, __builtin_stdc_count_ones, - __builtin_stdc_count_zeros, __builtin_stdc_first_leading_one, - __builtin_stdc_first_leading_zero, __builtin_stdc_first_trailing_one, - __builtin_stdc_first_trailing_zero, __builtin_stdc_has_single_bit, - __builtin_stdc_leading_ones, __builtin_stdc_leading_zeros, - __builtin_stdc_trailing_ones, __builtin_stdc_trailing_zeros): Document. - -2023-11-23 Richard Biener - - PR middle-end/32667 - * doc/md.texi (cpymem): Document that exact overlap of source - and destination needs to work. - * doc/standards.texi (ffreestanding): Mention memcpy is required - to handle the exact overlap case. - -2023-11-23 Jakub Jelinek - - PR c++/110348 - * doc/invoke.texi (-Wno-c++26-extensions): Document. - -2023-11-23 Manolis Tsamis - - * ifcvt.cc (noce_convert_multiple_sets_1): Remove old code. - -2023-11-23 Pan Li - - PR target/111720 - * dse.cc (get_stored_val): Allow vector mode if read size is - less than or equal to stored size. - -2023-11-23 Costas Argyris - - * configure.ac: Handle new --enable-win32-utf8-manifest - option. - * config.host: allow win32 utf8 manifest to be disabled - by user. - * configure: Regenerate. - -2023-11-22 John David Anglin - - PR target/112592 - * config/pa/pa.h (MAX_FIXED_MODE_SIZE): Define. - -2023-11-22 John David Anglin - - PR target/112617 - * config/pa/predicates.md (integer_store_memory_operand): Return - true for REG+D addresses when reload_in_progress is true. - -2023-11-22 Richard Biener - - PR tree-optimization/112344 - * tree-chrec.cc (chrec_apply): Perform the overall increment - calculation and increment in an unsigned type. - -2023-11-22 Andrew Stubbs - - * config/gcn/gcn-valu.md (*mov_4reg): Disparage AVGPR use when a - reload is required. - -2023-11-22 Vladimir N. Makarov - - PR rtl-optimization/112610 - * ira-costs.cc: (find_costs_and_classes): Remove arg. - Use ira_dump_file for printing. - (print_allocno_costs, print_pseudo_costs): Ditto. - (ira_costs): Adjust call of find_costs_and_classes. - (ira_set_pseudo_classes): Set up and restore ira_dump_file. - -2023-11-22 Juzhe-Zhong - - PR target/112598 - * config/riscv/riscv-v.cc (shuffle_compress_patterns): Fix vcompress bug. - -2023-11-22 Tamar Christina - - * config/aarch64/aarch64-simd.md - (aarch64_uaddw__zip, - aarch64_usubw__zip): Split into... - (aarch64_uaddw_lo_zip, aarch64_uaddw_hi_zip, - "aarch64_usubw_lo_zip, "aarch64_usubw_hi_zip): ... This. - * config/aarch64/iterators.md (PERM_EXTEND, perm_index): Remove. - (perm_hilo): Remove UNSPEC_ZIP1, UNSPEC_ZIP2. - -2023-11-22 Christophe Lyon - - * config/arm/arm-mve-builtins.cc - (function_resolver::infer_pointer_type): Remove spurious line. - -2023-11-22 Xi Ruoyao - - * config/loongarch/lsx.md (vec_perm): Make the - selector VIMODE. - * config/loongarch/loongarch.cc (loongarch_expand_vec_perm): - Use the mode of the selector (instead of the shuffled vector) - for truncating it. Operate on subregs in the selector mode if - the shuffled vector has a different mode (i. e. it's a - floating-point vector). - -2023-11-22 Hongyu Wang - - * config/i386/i386.md (push2_di): Adjust operand order for AT&T - syntax. - (pop2_di): Likewise. - (push2p_di): Likewise. - (pop2p_di): Likewise. - -2023-11-22 Juzhe-Zhong - - PR target/112598 - * config/riscv/riscv-v.cc (emit_vlmax_gather_insn): Adapt the priority. - (shuffle_generic_patterns): Fix permutation indice bug. - * config/riscv/vector-iterators.md: Fix VEI16 bug. - -2023-11-22 liuhongt - - * config/i386/sse.md (cbranch4): Extend to Vector - HI/QImode. - -2023-11-22 Maciej W. Rozycki - - PR target/111815 - * config/vax/vax.cc (index_term_p): Only accept the index scaler - as the RHS operand to ASHIFT. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/predicates.md (order_operator): Remove predicate. - * config/riscv/riscv.cc (riscv_rtx_costs): Update accordingly. - * config/riscv/riscv.md (*branch, *movcc) - (cstore4): Likewise. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv-protos.h (riscv_expand_float_scc): Add - `invert_ptr' parameter. - * config/riscv/riscv.cc (riscv_emit_float_compare): Add NE - inversion handling. - (riscv_expand_float_scc): Pass `invert_ptr' through to - `riscv_emit_float_compare'. - (riscv_expand_conditional_move): Pass `&invert' to - `riscv_expand_float_scc'. - * config/riscv/riscv.md (addcc): Likewise. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_emit_float_compare) : Handle - separately. - : Return operands supplied as is. - (riscv_emit_binary): Call `riscv_emit_binary' directly rather - than going through a temporary register for word-mode targets. - (riscv_expand_conditional_branch): Canonicalize the comparison - if not against constant zero. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/predicates.md (ne_operator): New predicate. - * config/riscv/riscv.cc (riscv_insn_cost): Handle branches on a - floating-point condition. - * config/riscv/riscv.md (@cbranch4): Rename expander to... - (@cbranch4): ... this. Only expand the RTX via - `riscv_expand_conditional_branch' for `!signed_order_operator' - operators, otherwise let it through. - (*cbranch4, *cbranch4): New insns and - splitters. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Don't - bail out in floating-point conditions. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_expand_float_scc): Suppress the - use of SUBREG if the conditional-set target is word-mode. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.md (addcc): New expander. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/predicates.md (movcc_operand): New predicate. - * config/riscv/riscv.cc (riscv_expand_conditional_move): Handle - generic targets. - * config/riscv/riscv.md (movcc): Likewise. - * config/riscv/riscv.opt (mmovcc): New option. - * doc/invoke.texi (Option Summary): Document it. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv-protos.h (riscv_emit_unary): New prototype. - * config/riscv/riscv.cc (riscv_emit_unary): New function. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Unify - conditional-move handling across all the relevant targets. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Also - accept constants for T-Head data input operands. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Also - accept constants for T-Head comparison operands. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Remove - the check for operand 1 being constant 0 in the Ventana/Zicond - case for equality comparisons. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Also - invert the condition for GEU and LEU. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_insn_cost): New function. - (riscv_max_noce_ifcvt_seq_cost): Likewise. - (riscv_noce_conversion_profitable_p): Likewise. - (TARGET_INSN_COST): New macro. - (TARGET_MAX_NOCE_IFCVT_SEQ_COST): New macro. - (TARGET_NOCE_CONVERSION_PROFITABLE_P): New macro. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Remove - extraneous variable for EQ vs NE operation selection. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Use - `nullptr' rather than 0 to initialize a pointer. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Use - `mode0' and `mode1' for `GET_MODE (op0)' and `GET_MODE (op1)'. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Use - `mode' for `GET_MODE (dest)' throughout. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.cc (riscv_emit_int_compare): Bail out if - NEED_EQ_NE_P but the comparison is neither EQ nor NE. - -2023-11-22 Maciej W. Rozycki - - * config/riscv/riscv.md (movcc): Move comment on SFB - patterns over to... - (*movcc): ... here. - -2023-11-21 Robin Dapp - - PR middle-end/112406 - * tree-vect-loop.cc (vectorize_fold_left_reduction): Allow - reduction index != 1. - (vect_transform_reduction): Handle reduction index != 1. - -2023-11-21 Richard Sandiford - - * common.md (aligned_register_operand): New predicate. - -2023-11-21 Richard Sandiford - - * ira-int.h (ira_allocno): Add a register_filters field. - (ALLOCNO_REGISTER_FILTERS): New macro. - (ALLOCNO_SET_REGISTER_FILTERS): Likewise. - * ira-build.cc (ira_create_allocno): Initialize register_filters. - (create_cap_allocno): Propagate register_filters. - (propagate_allocno_info): Likewise. - (propagate_some_info_from_allocno): Likewise. - * ira-lives.cc (process_register_constraint_filters): New function. - (process_bb_node_lives): Use it to record register filter - information. - * ira-color.cc (assign_hard_reg): Check register filters. - (improve_allocation, fast_allocation): Likewise. - -2023-11-21 Richard Sandiford - - * lra-constraints.cc (process_alt_operands): Check register filters. - -2023-11-21 Richard Sandiford - - * recog.h (operand_alternative): Add a register_filters field. - (alternative_register_filters): New function. - * recog.cc (preprocess_constraints): Calculate the filters field. - (constrain_operands): Check register filters. - -2023-11-21 Richard Sandiford - - * rtl.def (DEFINE_REGISTER_CONSTRAINT): Add an optional filter - operand. - * doc/md.texi (define_register_constraint): Document it. - * doc/tm.texi.in: Reference it in discussion about aligned registers. - * doc/tm.texi: Regenerate. - * gensupport.h (register_filters, get_register_filter_id): Declare. - * gensupport.cc (register_filter_map, register_filters): New variables. - (get_register_filter_id): New function. - (process_define_register_constraint): Likewise. - (process_rtx): Pass define_register_constraints to - process_define_register_constraint. - * genconfig.cc (main): Emit a definition of NUM_REGISTER_FILTERS. - * genpreds.cc (constraint_data): Add a filter field. - (add_constraint): Update accordingly. - (process_define_register_constraint): Pass the filter operand. - (write_init_reg_class_start_regs): New function. - (write_get_register_filter): Likewise. - (write_get_register_filter_id): Likewise. - (write_tm_preds_h): Write a definition of target_constraints, - plus helpers to test its contents. Write the get_register_filter* - functions. - (write_insn_preds_c): Write init_reg_class_start_regs. - * reginfo.cc (init_reg_class_start_regs): Declare. - (init_reg_sets): Call it. - * target-globals.h (this_target_constraints): Declare. - (target_globals): Add a constraints field. - (restore_target_globals): Update accordingly. - * target-globals.cc: Include tm_p.h. - (default_target_globals): Initialize the constraints field. - (save_target_globals): Handle the constraints field. - (target_globals::~target_globals): Likewise. - -2023-11-21 Richard Biener - - PR tree-optimization/112623 - * tree-ssa-forwprop.cc (simplify_vector_constructor): - Check the source mode of the insn for vector pack/unpacks. - -2023-11-21 Richard Biener - - * tree-vect-loop.cc (vect_analyze_loop_2): Move check - of VF against max_vf until VF is final. - -2023-11-21 Juzhe-Zhong - - PR target/112598 - * config/riscv/riscv.cc (riscv_const_insns): Disallow DI CONST_VECTOR on RV32. - -2023-11-21 Tamar Christina - - * config/aarch64/aarch64.cc (aarch64_override_options): Rework warnings. - -2023-11-21 Tamar Christina - - PR target/111370 - * config/aarch64/aarch64-arches.def (armv9-a, armv9.1-a, armv9.2-a, - armv9.3-a): Update to generic-armv9-a. - * config/aarch64/aarch64-cores.def (generic-armv9-a): New. - * config/aarch64/aarch64-tune.md: Regenerate. - * config/aarch64/aarch64.cc: Include generic_armv9_a.h. - * config/aarch64/tuning_models/generic_armv9_a.h: New file. - -2023-11-21 Tamar Christina - - PR target/111370 - * config/aarch64/aarch64-arches.def (armv8-9, armv8-a, armv8.1-a, - armv8.2-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, armv8.7-a, - armv8.8-a): Update to generic_armv8_a. - * config/aarch64/aarch64-cores.def (generic-armv8-a): New. - * config/aarch64/aarch64-tune.md: Regenerate. - * config/aarch64/aarch64.cc: Include generic_armv8_a.h - * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Change to - TARGET_CPU_generic_armv8_a. - * config/aarch64/tuning_models/generic_armv8_a.h: New file. - -2023-11-21 Tamar Christina - - PR target/111370 - * config/aarch64/aarch64-cores.def: Add generic. - * config/aarch64/aarch64-opts.h (enum aarch64_proc): Remove generic. - * config/aarch64/aarch64-tune.md: Regenerate - * config/aarch64/aarch64.cc (all_cores): Remove generic - * config/aarch64/aarch64.h (enum target_cpus): Remove - TARGET_CPU_generic. - -2023-11-21 Tamar Christina - - PR target/111370 - * config/aarch64/aarch64.cc (generic_addrcost_table, - exynosm1_addrcost_table, - xgene1_addrcost_table, - thunderx2t99_addrcost_table, - thunderx3t110_addrcost_table, - tsv110_addrcost_table, - qdf24xx_addrcost_table, - a64fx_addrcost_table, - neoversev1_addrcost_table, - neoversen2_addrcost_table, - neoversev2_addrcost_table, - generic_regmove_cost, - cortexa57_regmove_cost, - cortexa53_regmove_cost, - exynosm1_regmove_cost, - thunderx_regmove_cost, - xgene1_regmove_cost, - qdf24xx_regmove_cost, - thunderx2t99_regmove_cost, - thunderx3t110_regmove_cost, - tsv110_regmove_cost, - a64fx_regmove_cost, - neoversen2_regmove_cost, - neoversev1_regmove_cost, - neoversev2_regmove_cost, - generic_vector_cost, - a64fx_vector_cost, - qdf24xx_vector_cost, - thunderx_vector_cost, - tsv110_vector_cost, - cortexa57_vector_cost, - exynosm1_vector_cost, - xgene1_vector_cost, - thunderx2t99_vector_cost, - thunderx3t110_vector_cost, - ampere1_vector_cost, - generic_branch_cost, - generic_tunings, - cortexa35_tunings, - cortexa53_tunings, - cortexa57_tunings, - cortexa72_tunings, - cortexa73_tunings, - exynosm1_tunings, - thunderxt88_tunings, - thunderx_tunings, - tsv110_tunings, - xgene1_tunings, - emag_tunings, - qdf24xx_tunings, - saphira_tunings, - thunderx2t99_tunings, - thunderx3t110_tunings, - neoversen1_tunings, - ampere1_tunings, - ampere1a_tunings, - neoversev1_vector_cost, - neoversev1_tunings, - neoverse512tvb_vector_cost, - neoverse512tvb_tunings, - neoversen2_vector_cost, - neoversen2_tunings, - neoversev2_vector_cost, - neoversev2_tunings - a64fx_tunings): Split into own files. - * config/aarch64/tuning_models/a64fx.h: New file. - * config/aarch64/tuning_models/ampere1.h: New file. - * config/aarch64/tuning_models/ampere1a.h: New file. - * config/aarch64/tuning_models/cortexa35.h: New file. - * config/aarch64/tuning_models/cortexa53.h: New file. - * config/aarch64/tuning_models/cortexa57.h: New file. - * config/aarch64/tuning_models/cortexa72.h: New file. - * config/aarch64/tuning_models/cortexa73.h: New file. - * config/aarch64/tuning_models/emag.h: New file. - * config/aarch64/tuning_models/exynosm1.h: New file. - * config/aarch64/tuning_models/generic.h: New file. - * config/aarch64/tuning_models/neoverse512tvb.h: New file. - * config/aarch64/tuning_models/neoversen1.h: New file. - * config/aarch64/tuning_models/neoversen2.h: New file. - * config/aarch64/tuning_models/neoversev1.h: New file. - * config/aarch64/tuning_models/neoversev2.h: New file. - * config/aarch64/tuning_models/qdf24xx.h: New file. - * config/aarch64/tuning_models/saphira.h: New file. - * config/aarch64/tuning_models/thunderx.h: New file. - * config/aarch64/tuning_models/thunderx2t99.h: New file. - * config/aarch64/tuning_models/thunderx3t110.h: New file. - * config/aarch64/tuning_models/thunderxt88.h: New file. - * config/aarch64/tuning_models/tsv110.h: New file. - * config/aarch64/tuning_models/xgene1.h: New file. - -2023-11-21 Tamar Christina - - * config/aarch64/aarch64-simd.md (vec_unpack_lo__lo___zip): New. - (aarch64_uaddw__zip): New. - * config/aarch64/iterators.md (PERM_EXTEND, perm_index): New. - (perm_hilo): Add UNSPEC_ZIP1, UNSPEC_ZIP2. - -2023-11-21 Tamar Christina - - * config/aarch64/aarch64.cc (aarch64_adjust_stmt_cost): Guard mla. - (aarch64_vector_costs::count_ops): Likewise. - -2023-11-21 Sebastian Huber - - PR middle-end/112634 - * tree-profile.cc (gen_assign_counter_update): Cast the unsigned result type of - __atomic_add_fetch() to the signed counter type. - (gen_counter_update): Fix formatting. - -2023-11-21 Jakub Jelinek - - * tree-profile.cc (gen_counter_update, tree_profiling): Formatting - fixes. - -2023-11-21 Jakub Jelinek - - PR middle-end/112639 - * builtins.cc (fold_builtin_bit_query): If arg0 has side-effects, arg1 - is specified but cleared, call save_expr on arg0. - -2023-11-21 Hongyu Wang - - * config/i386/i386-expand.h (gen_push): Add default bool - parameter. - (gen_pop): Likewise. - * config/i386/i386-opts.h (enum apx_features): Add apx_ppx, add - it to apx_all. - * config/i386/i386.cc (ix86_emit_restore_reg_using_pop): Add - ppx_p parameter for function declaration. - (gen_push2): Add ppx_p parameter, emit push2p if ppx_p is true. - (gen_push): Likewise. - (ix86_emit_restore_reg_using_pop2): Likewise for pop2p. - (ix86_emit_save_regs): Emit pushp/push2p under TARGET_APX_PPX. - (ix86_emit_restore_reg_using_pop): Add ppx_p, emit popp insn - and adjust cfi when ppx_p is ture. - (ix86_emit_restore_reg_using_pop2): Add ppx_p and parse to its - callee. - (ix86_emit_restore_regs_using_pop2): Likewise. - (ix86_expand_epilogue): Parse TARGET_APX_PPX to - ix86_emit_restore_reg_using_pop. - * config/i386/i386.h (TARGET_APX_PPX): New. - * config/i386/i386.md (UNSPEC_APX_PPX): New unspec. - (pushp_di): New define_insn. - (popp_di): Likewise. - (push2p_di): Likewise. - (pop2p_di): Likewise. - * config/i386/i386.opt: Add apx_ppx enum. - -2023-11-21 Richard Biener - - PR tree-optimization/111970 - * tree-vect-stmts.cc (vectorizable_load): Fix offset calculation - for SLP gather load. - (vectorizable_store): Likewise for SLP scatter store. - -2023-11-21 Xi Ruoyao - - * config/loongarch/loongarch-def.h (stdint.h): Guard with #if to - exclude it for target libraries. - (loongarch_isa_base_features): Likewise. - (loongarch_isa): Likewise. - (loongarch_abi): Likewise. - (loongarch_target): Likewise. - (loongarch_cpu_default_isa): Likewise. - -2023-11-21 liuhongt - - PR target/112325 - * config/i386/i386-expand.cc (emit_reduc_half): Hanlde - V8QImode. - * config/i386/mmx.md (reduc__scal_): New expander. - (reduc__scal_v4qi): Ditto. - -2023-11-20 Marc Poulhiès - - * config/nvptx/nvptx.h (struct machine_function): Fix typo in variadic. - * config/nvptx/nvptx.cc (nvptx_function_arg_advance): Adjust to use fixed name. - (nvptx_declare_function_name): Likewise. - (nvptx_call_args): Likewise. - (nvptx_expand_call): Likewise. - -2023-11-20 Sebastian Huber - - * tree-profile.cc (gen_counter_update): Use unshare_expr() for the - counter expression in the second gimple_build_assign(). - -2023-11-20 Jan Hubicka - - * cgraph.cc (add_detected_attribute_1): New function. - (cgraph_node::add_detected_attribute): Likewise. - * cgraph.h (cgraph_node::add_detected_attribute): Declare. - * common.opt: Add -Wsuggest-attribute=returns_nonnull. - * doc/invoke.texi: Document new flag. - * gimple-range-fold.cc (fold_using_range::range_of_call): - Use known reutrn value ranges. - * ipa-prop.cc (struct ipa_return_value_summary): New type. - (class ipa_return_value_sum_t): New type. - (ipa_return_value_sum): New summary. - (ipa_record_return_value_range): New function. - (ipa_return_value_range): New function. - * ipa-prop.h (ipa_return_value_range): Declare. - (ipa_record_return_value_range): Declare. - * ipa-pure-const.cc (warn_function_returns_nonnull): New funcion. - * ipa-utils.h (warn_function_returns_nonnull): Declare. - * symbol-summary.h: Fix comment. - * tree-vrp.cc (execute_ranger_vrp): Record return values. - -2023-11-20 Richard Biener - - PR tree-optimization/112618 - * tree-vect-loop.cc (vect_transform_loop_stmt): For not - relevant and unused .MASK_CALL make sure we remove the - scalar stmt. - -2023-11-20 Richard Biener - - PR tree-optimization/112281 - * tree-loop-distribution.cc - (loop_distribution::pg_add_dependence_edges): For = in the - innermost common loop record a partition conflict. - -2023-11-20 Richard Biener - - PR middle-end/112622 - * convert.cc (convert_to_real_1): Use element_precision - where a vector type might appear. Provide specific - diagnostic for unexpected vector argument. - -2023-11-20 Juzhe-Zhong - - PR target/112597 - * config/riscv/vector-iterators.md: Remove VDEMOTE and VMDEMOTE. - * config/riscv/vector.md: Fix slide1 intermediate mode bug. - -2023-11-20 Robin Dapp - - * config/riscv/riscv-v.cc (gather_scatter_valid_offset_mode_p): - Add check for XLEN == 32. - * config/riscv/vector-iterators.md: Change VLS part of the - demote iterator to 2x elements modes - * config/riscv/vector.md: Adjust iterators and insn conditions. - -2023-11-20 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vld1_impl, vld1q) - (vst1_impl, vst1q): New. - * config/arm/arm-mve-builtins-base.def (vld1q, vst1q): New. - * config/arm/arm-mve-builtins-base.h (vld1q, vst1q): New. - * config/arm/arm_mve.h - (vld1q): Delete. - (vst1q): Delete. - (vld1q_s8): Delete. - (vld1q_s32): Delete. - (vld1q_s16): Delete. - (vld1q_u8): Delete. - (vld1q_u32): Delete. - (vld1q_u16): Delete. - (vld1q_f32): Delete. - (vld1q_f16): Delete. - (vst1q_f32): Delete. - (vst1q_f16): Delete. - (vst1q_s8): Delete. - (vst1q_s32): Delete. - (vst1q_s16): Delete. - (vst1q_u8): Delete. - (vst1q_u32): Delete. - (vst1q_u16): Delete. - (__arm_vld1q_s8): Delete. - (__arm_vld1q_s32): Delete. - (__arm_vld1q_s16): Delete. - (__arm_vld1q_u8): Delete. - (__arm_vld1q_u32): Delete. - (__arm_vld1q_u16): Delete. - (__arm_vst1q_s8): Delete. - (__arm_vst1q_s32): Delete. - (__arm_vst1q_s16): Delete. - (__arm_vst1q_u8): Delete. - (__arm_vst1q_u32): Delete. - (__arm_vst1q_u16): Delete. - (__arm_vld1q_f32): Delete. - (__arm_vld1q_f16): Delete. - (__arm_vst1q_f32): Delete. - (__arm_vst1q_f16): Delete. - (__arm_vld1q): Delete. - (__arm_vst1q): Delete. - * config/arm/mve.md (mve_vld1q_f): Rename into ... - (@mve_vld1q_f): ... this. - (mve_vld1q_): Rename into ... - (@mve_vld1q_) ... this. - (mve_vst1q_f): Rename into ... - (@mve_vst1q_f): ... this. - (mve_vst1q_): Rename into ... - (@mve_vst1q_) ... this. - -2023-11-20 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (load, store): New. - * config/arm/arm-mve-builtins-shapes.h (load, store): New. - -2023-11-20 Christophe Lyon - - * config/arm/arm-mve-builtins-functions.h (multi_vector_function) - (full_width_access): New classes. - * config/arm/arm-mve-builtins.cc - (find_type_suffix_for_scalar_type, infer_pointer_type) - (require_pointer_type, get_contiguous_base, add_mem_operand) - (add_fixed_operand, use_contiguous_load_insn) - (use_contiguous_store_insn): New. - * config/arm/arm-mve-builtins.h (memory_vector_mode) - (infer_pointer_type, require_pointer_type, get_contiguous_base) - (add_mem_operand) - (add_fixed_operand, use_contiguous_load_insn) - (use_contiguous_store_insn): New. - -2023-11-20 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (build_const_pointer): - New. - (parse_type): Add support for '_', 'al' and 'as'. - * config/arm/arm-mve-builtins.h (function_instance): Add - memory_scalar_type. - (function_base): Likewise. - -2023-11-20 Christophe Lyon - - * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Fix - initialization of arm_simd_types[].eltype. - * config/arm/arm-mve-builtins.def (DEF_MVE_TYPE): Fix scalar - types. - -2023-11-20 Jakub Jelinek - - * typeclass.h (enum type_class): Add vector_type_class. - * builtins.cc (type_to_class): Return vector_type_class for - VECTOR_TYPE. - * doc/extend.texi (__builtin_classify_type): Mention bit-precise - integer types and vector types. - -2023-11-20 Robin Dapp - - PR middle-end/112406 - * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern): - Convert masks for conditional operations as well. - -2023-11-20 Jakub Jelinek - - PR tree-optimization/90693 - * tree-ssa-math-opts.cc (match_single_bit_test): Mark POPCOUNT with - result only used in equality comparison against 1 with direct optab - support as .POPCOUNT call with 2 arguments. - * internal-fn.h (expand_POPCOUNT): Declare. - * internal-fn.def (DEF_INTERNAL_INT_EXT_FN): New macro, document it, - undefine at the end. - (POPCOUNT): Use it instead of DEF_INTERNAL_INT_FN. - * internal-fn.cc (DEF_INTERNAL_INT_EXT_FN): Define to nothing before - inclusion to define expanders. - (expand_POPCOUNT): New function. - -2023-11-20 Jakub Jelinek - - PR tree-optimization/90693 - * tree-ssa-math-opts.cc (match_single_bit_test): New function. - (math_opts_dom_walker::after_dom_children): Call it for EQ_EXPR - and NE_EXPR assignments and GIMPLE_CONDs. - -2023-11-20 Jakub Jelinek - - * internal-fn.def: Document missing DEF_INTERNAL* macros and make sure - they are all undefined at the end. - * internal-fn.cc (lookup_hilo_internal_fn, lookup_evenodd_internal_fn, - widening_fn_p, get_len_internal_fn): Don't undef DEF_INTERNAL_*FN - macros after inclusion of internal-fn.def. - -2023-11-20 Haochen Jiang - - * common/config/i386/cpuinfo.h (get_available_features): - Add avx10_set and version and detect avx10.1. - (cpu_indicator_init): Handle avx10.1-512. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AVX10_1_256_SET): New. - (OPTION_MASK_ISA2_AVX10_1_256_SET): Ditto. - (OPTION_MASK_ISA2_AVX10_1_512_UNSET): Ditto. - (OPTION_MASK_ISA2_AVX10_1_512_UNSET): Ditto. - (OPTION_MASK_ISA2_AVX2_UNSET): Modify for AVX10.1. - (ix86_handle_option): Handle -mavx10.1-256 and -mavx10.1-512. - Add indicator for explicit no-avx512 and no-avx10.1 options. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AVX10_1_256 and FEATURE_AVX10_1_512. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - AVX10_1_256 and AVX10_1_512. - * config/i386/cpuid.h (bit_AVX10): New. - (bit_AVX10_256): Ditto. - (bit_AVX10_512): Ditto. - * config/i386/driver-i386.cc (check_avx10_avx512_features): New. - (host_detect_local_cpu): Do not append "-mno-" options under - specific scenarios to avoid emitting a warning. - * config/i386/i386-isa.def - (EVEX512): Add DEF_PTA(EVEX512). - (AVX10_1_256): Add DEF_PTA(AVX10_1_256). - (AVX10_1_512): Add DEF_PTA(AVX10_1_512). - * config/i386/i386-options.cc (isa2_opts): Add -mavx10.1-256 and - -mavx10.1-512. - (ix86_function_specific_save): Save explicit no indicator. - (ix86_function_specific_restore): Restore explicit no indicator. - (ix86_valid_target_attribute_inner_p): Handle avx10.1, avx10.1-256 and - avx10.1-512. - (ix86_valid_target_attribute_tree): Handle avx512 function - attributes with avx10.1 command line option. - (ix86_option_override_internal): Handle AVX10.1 options. - * config/i386/i386.h: Add PTA_EVEX512 for AVX512 target - machines. - * config/i386/i386.opt: Add variable ix86_no_avx512_explicit and - ix86_no_avx10_1_explicit, option -mavx10.1, -mavx10.1-256 and - -mavx10.1-512. - * doc/extend.texi: Document avx10.1, avx10.1-256 and avx10.1-512. - * doc/invoke.texi: Document -mavx10.1, -mavx10.1-256 and -mavx10.1-512. - * doc/sourcebuild.texi: Document target avx10.1, avx10.1-256 - and avx10.1-512. - -2023-11-20 liuhongt - - PR target/112325 - * config/i386/sse.md (reduc__scal_): New expander. - (REDUC_ANY_LOGIC_MODE): New iterator. - (REDUC_PLUS_MODE): Extend to VxHI/SI/DImode. - (REDUC_SSE_PLUS_MODE): Ditto. - -2023-11-20 xuli - - PR target/112537 - * config/riscv/riscv-opts.h (enum riscv_stringop_strategy_enum): Strategy enum. - * config/riscv/riscv-string.cc (riscv_expand_block_move): Disabled based on options. - (expand_block_move): Ditto. - * config/riscv/riscv.opt: Add -mmemcpy-strategy=. - -2023-11-20 Lulu Cheng - - * config/loongarch/gnu-user.h (MUSL_ABI_SPEC): Modify suffix. - -2023-11-19 Juzhe-Zhong - - * config/riscv/riscv-v.cc (emit_vlmax_insn_lra): Optimize constant AVL. - -2023-11-19 Philipp Tomsich - - * config/riscv/riscv-protos.h (extract_base_offset_in_addr): Prototype. - * config/riscv/riscv.cc (riscv_fusion_pairs): New enum. - (riscv_tune_param): Add fusible_ops field. - (riscv_tune_param_rocket_tune_info): Initialize new field. - (riscv_tune_param_sifive_7_tune_info): Likewise. - (thead_c906_tune_info): Likewise. - (generic_oo_tune_info): Likewise. - (optimize_size_tune_info): Likewise. - (riscv_macro_fusion_p): New function. - (riscv_fusion_enabled_p): Likewise. - (riscv_macro_fusion_pair_p): Likewise. - (TARGET_SCHED_MACRO_FUSION_P): Define. - (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise. - (extract_base_offset_in_addr): Moved into riscv.cc from... - * config/riscv/thead.cc: Here. - Co-authored-by: Raphael Zinsly - Co-authored-by: Jeff Law - -2023-11-19 Jeff Law - - * config/c6x/c6x.md (mvilc): Add mode to UNSPEC source. - * config/mips/mips.md (rdhwr_synci_step_): Likewise. - * config/riscv/riscv.md (riscv_frcsr, riscv_frflags): Likewise. - * config/s390/s390.md (@split_stack_call): Likewise. - (@split_stack_cond_call): Likewise. - * config/sh/sh.md (sp_switch_1): Likewise. - -2023-11-19 David Malcolm - - * diagnostic.h: Include "rich-location.h". - * edit-context.h (class fixit_hint): New forward decl. - * gcc-rich-location.h: Include "rich-location.h". - * genmatch.cc: Likewise. - * pretty-print.h: Likewise. - -2023-11-19 David Malcolm - - * Makefile.in (CPPLIB_H): Add libcpp/include/rich-location.h. - * coretypes.h (class rich_location): New forward decl. - -2023-11-19 Juzhe-Zhong - - * config/riscv/riscv-v.cc (expand_tuple_move): Fix bug. - -2023-11-19 David Malcolm - - PR analyzer/107573 - * doc/invoke.texi: Add -Wanalyzer-undefined-behavior-strtok. - -2023-11-18 Xi Ruoyao - - * config/loongarch/predicates.md (const_call_insn_operand): - Remove buggy "HAVE_AS_SUPPORT_CALL36" conditions. Change "1" to - "true" to make the coding style consistent. - -2023-11-18 Xi Ruoyao - - * config/loongarch/genopts/isa-evolution.in: (lam-bh, lamcas): - Add. - * config/loongarch/loongarch-str.h: Regenerate. - * config/loongarch/loongarch.opt: Regenerate. - * config/loongarch/loongarch-cpucfg-map.h: Regenerate. - * config/loongarch/loongarch-cpu.cc - (ISA_BASE_LA64V110_FEATURES): Include OPTION_MASK_ISA_LAM_BH - and OPTION_MASK_ISA_LAMCAS. - * config/loongarch/sync.md (atomic_add): Use - TARGET_LAM_BH instead of ISA_BASE_IS_LA64V110. Remove empty - lines from assembly output. - (atomic_exchange_short): Likewise. - (atomic_exchange): Likewise. - (atomic_fetch_add_short): Likewise. - (atomic_fetch_add): Likewise. - (atomic_cas_value_strong_amcas): Use TARGET_LAMCAS instead - of ISA_BASE_IS_LA64V110. - (atomic_compare_and_swap): Likewise. - (atomic_compare_and_swap): Likewise. - (atomic_compare_and_swap): Likewise. - * config/loongarch/loongarch.cc (loongarch_asm_code_end): Dump - status if -mlam-bh and -mlamcas if -fverbose-asm. - -2023-11-18 Xi Ruoyao - - * config/loongarch/loongarch.cc (loongarch_print_operand): Don't - print dbar 0x700 if TARGET_LD_SEQ_SA. - * config/loongarch/sync.md (atomic_load): Likewise. - -2023-11-18 Xi Ruoyao - - * config/loongarch/loongarch.md (DIV): New mode iterator. - (3): Don't expand if TARGET_DIV32. - (di3_fake): Disable if TARGET_DIV32. - (*3): Allow SImode if TARGET_DIV32. - (si3_extended): New insn if TARGET_DIV32. - -2023-11-18 Xi Ruoyao - - * config/loongarch/loongarch-def.h: - (loongarch_isa_base_features): Declare. Define it in ... - * config/loongarch/loongarch-cpu.cc - (loongarch_isa_base_features): ... here. - (fill_native_cpu_config): If we know the base ISA of the CPU - model from PRID, use it instead of la64 (v1.0). Check if all - expected features of this base ISA is available, emit a warning - if not. - * config/loongarch/loongarch-opts.cc (config_target_isa): Enable - the features implied by the base ISA if not -march=native. - -2023-11-18 Xi Ruoyao - - * config/loongarch/genopts/isa-evolution.in: New data file. - * config/loongarch/genopts/genstr.sh: Translate info in - isa-evolution.in when generating loongarch-str.h, loongarch.opt, - and loongarch-cpucfg-map.h. - * config/loongarch/genopts/loongarch.opt.in (isa_evolution): - New variable. - * config/loongarch/t-loongarch: (loongarch-cpucfg-map.h): New - rule. - (loongarch-str.h): Depend on isa-evolution.in. - (loongarch.opt): Depend on isa-evolution.in. - (loongarch-cpu.o): Depend on loongarch-cpucfg-map.h. - * config/loongarch/loongarch-str.h: Regenerate. - * config/loongarch/loongarch-def.h (loongarch_isa): Add field - for evolution features. Add helper function to enable features - in this field. - Probe native CPU capability and save the corresponding options - into preset. - * config/loongarch/loongarch-cpu.cc (fill_native_cpu_config): - Probe native CPU capability and save the corresponding options - into preset. - (cache_cpucfg): Simplify with C++11-style for loop. - (cpucfg_useful_idx, N_CPUCFG_WORDS): Move to ... - * config/loongarch/loongarch.cc - (loongarch_option_override_internal): Enable the ISA evolution - feature options implied by -march and not explicitly disabled. - (loongarch_asm_code_end): New function, print ISA information as - comments in the assembly if -fverbose-asm. It makes easier to - debug things like -march=native. - (TARGET_ASM_CODE_END): Define. - * config/loongarch/loongarch.opt: Regenerate. - * config/loongarch/loongarch-cpucfg-map.h: Generate. - (cpucfg_useful_idx, N_CPUCFG_WORDS) ... here. - -2023-11-18 Xi Ruoyao - - * config/loongarch/genopts/loongarch-strings: - (STR_ISA_BASE_LA64V110): Add. - * config/loongarch/genopts/loongarch.opt.in: - (ISA_BASE_LA64V110): Add. - * config/loongarch/loongarch-def.c - (loongarch_isa_base_strings): Initialize [ISA_BASE_LA64V110] - to STR_ISA_BASE_LA64V110. - * config/loongarch/loongarch.opt: Regenerate. - * config/loongarch/loongarch-str.h: Regenerate. - -2023-11-18 Sebastian Huber - - * doc/invoke.texi (-fprofile-update): Clarify default method. Document - the atomic method behaviour. - * tree-profile.cc (enum counter_update_method): New. - (counter_update): Likewise. - (gen_counter_update): Use counter_update_method. Split the - atomic counter update in two 32-bit atomic operations if - necessary. - (tree_profiling): Select counter_update_method. - -2023-11-18 Sebastian Huber - - * tree-profile.cc (gen_assign_counter_update): New. - (gen_counter_update): Likewise. - (gimple_gen_edge_profiler): Use gen_counter_update(). - (gimple_gen_time_profiler): Likewise. - -2023-11-18 Sebastian Huber - - * config/rtems.h (TARGET_HAVE_LIBATOMIC): Define. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (TARGET_HAVE_LIBATOMIC): Add. - * target.def (have_libatomic): New. - -2023-11-18 Sebastian Huber - - Revert: - 2023-11-18 Sebastian Huber - - * config/sparc/rtemself.h (SPARC_GCOV_TYPE_SIZE): Define. - * config/sparc/sparc.c (sparc_gcov_type_size): New. - (TARGET_GCOV_TYPE_SIZE): Redefine if SPARC_GCOV_TYPE_SIZE is defined. - * coverage.c (get_gcov_type): Use targetm.gcov_type_size(). - * doc/tm.texi (TARGET_GCOV_TYPE_SIZE): Add hook under "Misc". - * doc/tm.texi.in: Regenerate. - * target.def (gcov_type_size): New target hook. - * targhooks.c (default_gcov_type_size): New. - * targhooks.h (default_gcov_type_size): Declare. - * tree-profile.c (gimple_gen_edge_profiler): Use precision of - gcov_type_node. - (gimple_gen_time_profiler): Likewise. - -2023-11-18 Kito Cheng - - * config/riscv/riscv-target-attr.cc - (riscv_target_attr_parser::parse_arch): Use char[] for - std::unique_ptr to prevent mismatched new delete issue. - (riscv_process_one_target_attr): Ditto. - (riscv_process_target_attr): Ditto. - -2023-11-18 Juzhe-Zhong - - * config/riscv/vector-iterators.md: Refactor iterators. - -2023-11-18 Lulu Cheng - - * config/loongarch/sync.md (atomic_load): New template. - -2023-11-18 Lulu Cheng - - * config/loongarch/loongarch-def.h: Add comments. - * config/loongarch/loongarch-opts.h (ISA_BASE_IS_LA64V110): Define macro. - * config/loongarch/loongarch.cc (loongarch_memmodel_needs_rel_acq_fence): - Remove redundant code implementations. - * config/loongarch/sync.md (d): Added QI, HI support. - (atomic_add): New template. - (atomic_exchange_short): Likewise. - (atomic_cas_value_strong_amcas): Likewise.. - (atomic_fetch_add_short): Likewise. - -2023-11-18 Lulu Cheng - - * config.gcc: Support LA664. - * config/loongarch/genopts/loongarch-strings: Likewise. - * config/loongarch/genopts/loongarch.opt.in: Likewise. - * config/loongarch/loongarch-cpu.cc (fill_native_cpu_config): Likewise. - * config/loongarch/loongarch-def.c: Likewise. - * config/loongarch/loongarch-def.h (N_ISA_BASE_TYPES): Likewise. - (ISA_BASE_LA64V110): Define macro. - (N_ARCH_TYPES): Update value. - (N_TUNE_TYPES): Update value. - (CPU_LA664): New macro. - * config/loongarch/loongarch-opts.cc (isa_default_abi): Likewise. - (isa_base_compat_p): Likewise. - * config/loongarch/loongarch-opts.h (TARGET_64BIT): This parameter is enabled - when la_target.isa.base is equal to ISA_BASE_LA64V100 or ISA_BASE_LA64V110. - (TARGET_uARCH_LA664): Define macro. - * config/loongarch/loongarch-str.h (STR_CPU_LA664): Likewise. - * config/loongarch/loongarch.cc (loongarch_cpu_sched_reassociation_width): - Add LA664 support. - * config/loongarch/loongarch.opt: Regenerate. - -2023-11-18 Lulu Cheng - Xi Ruoyao - - * config.in: Regenerate. - * config/loongarch/loongarch-opts.h (HAVE_AS_SUPPORT_CALL36): Define macro. - * config/loongarch/loongarch.cc (loongarch_legitimize_call_address): - If binutils supports call36, the function call is not split over expand. - * config/loongarch/loongarch.md: Add call36 generation code. - * config/loongarch/predicates.md: Likewise. - * configure: Regenerate. - * configure.ac: Check whether binutils supports call36. - -2023-11-18 David Malcolm - - PR analyzer/106147 - * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-loop.o. - * doc/invoke.texi: Add -fdump-analyzer-infinite-loop and - -Wanalyzer-infinite-loop. Add missing CWE link for - -Wanalyzer-infinite-recursion. - * timevar.def (TV_ANALYZER_INFINITE_LOOPS): New. - -2023-11-17 Robin Dapp - - PR middle-end/112406 - PR middle-end/112552 - * tree-vect-loop.cc (vect_transform_reduction): Pass truth - vectype for mask operand. - -2023-11-17 Jakub Jelinek - - PR c++/107571 - * gimplify.cc (expand_FALLTHROUGH_r): Use wi->removed_stmt after - gsi_remove, change the way of passing fallthrough stmt at the end - of sequence to expand_FALLTHROUGH. Diagnose IFN_FALLTHROUGH - with GF_CALL_NOTHROW flag. - (expand_FALLTHROUGH): Change loc into array of 2 location_t elts, - don't test wi.callback_result, instead check whether first - elt is not UNKNOWN_LOCATION and in that case pedwarn with the - second location. - * gimple-walk.cc (walk_gimple_seq_mod): Clear wi->removed_stmt - after the flag has been used. - * internal-fn.def (FALLTHROUGH): Mention in comment the special - meaning of the TREE_NOTHROW/GF_CALL_NOTHROW flag on the calls. - -2023-11-17 Jakub Jelinek - - PR tree-optimization/112566 - PR tree-optimization/83171 - * match.pd (ctz(ext(X)) -> ctz(X), popcount(zext(X)) -> popcount(X), - parity(ext(X)) -> parity(X), ffs(ext(X)) -> ffs(X)): New - simplifications. - ( __builtin_ffs (X) == 0 -> X == 0): Use FFS rather than - BUILT_IN_FFS BUILT_IN_FFSL BUILT_IN_FFSLL BUILT_IN_FFSIMAX. - -2023-11-17 Jakub Jelinek - - PR tree-optimization/112374 - * tree-vect-loop.cc (check_reduction_path): Perform the cond_fn_p - special case only if op_use_stmt == use_stmt, use as_a rather than - dyn_cast in that case. - -2023-11-17 Richard Biener - - Revert: - 2023-11-14 Richard Biener - - PR tree-optimization/112281 - * tree-loop-distribution.cc (pg_add_dependence_edges): - Preserve stmt order when the innermost loop has exact - overlap. - -2023-11-17 Georg-Johann Lay - - PR target/53372 - * config/avr/avr.cc (avr_asm_named_section) [AVR_SECTION_PROGMEM]: - Only return some .progmem*.data section if the user did not - specify a section attribute. - (avr_section_type_flags) [avr_progmem_p]: Unset SECTION_NOTYPE - in returned section flags. - -2023-11-17 Xi Ruoyao - - * config/loongarch/lsx.md (copysign3): Allow operand[2] to - be an reg_or_vector_same_val_operand. If it's a const vector - with same negative elements, expand the copysign with a bitset - instruction. Otherwise, force it into an register. - * config/loongarch/lasx.md (copysign3): Likewise. - -2023-11-17 Haochen Gui - - PR target/111449 - * config/rs6000/vsx.md (*vsx_le_mem_to_mem_mov_ti): New. - -2023-11-17 Haochen Gui - - PR target/111449 - * config/rs6000/altivec.md (cbranchv16qi4): New expand pattern. - * config/rs6000/rs6000.cc (rs6000_generate_compare): Generate - insn sequence for V16QImode equality compare. - * config/rs6000/rs6000.h (MOVE_MAX_PIECES): Define. - (STORE_MAX_PIECES): Define. - -2023-11-17 Li Wei - - * config/loongarch/loongarch.h (CLZ_DEFINED_VALUE_AT_ZERO): - Implement. - (CTZ_DEFINED_VALUE_AT_ZERO): Same. - -2023-11-17 Richard Biener - - * dwarf2out.cc (add_AT_die_ref): Assert we do not add - a self-ref DW_AT_abstract_origin or DW_AT_specification. - -2023-11-17 Jiahao Xu - - * config/loongarch/loongarch.cc - (loongarch_builtin_vectorization_cost): Adjust. - -2023-11-16 Andrew Pinski - - PR rtl-optimization/112483 - * simplify-rtx.cc (simplify_binary_operation_1) : - Call simplify_unary_operation for NEG instead of - simplify_gen_unary. - -2023-11-16 Edwin Lu - - PR target/111557 - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): update macro name - -2023-11-16 Uros Bizjak - - PR target/78904 - * config/i386/i386.md (*addqi_ext2_0): - New define_insn_and_split pattern. - (*subqi_ext2_0): Ditto. - (*qi_ext2_0): Ditto. - -2023-11-16 John David Anglin - - PR rtl-optimization/112415 - * config/pa/pa.cc (pa_legitimate_address_p): Allow 14-bit - displacements before reload. Simplify logic flow. Revise - comments. - * config/pa/pa.h (TARGET_ELF64): New define. - (INT14_OK_STRICT): Update define and comment. - * config/pa/pa64-linux.h (TARGET_ELF64): Define. - * config/pa/predicates.md (base14_operand): Don't check - alignment of short displacements. - (integer_store_memory_operand): Don't return true when - reload_in_progress is true. Remove INT_5_BITS check. - (floating_point_store_memory_operand): Don't return true when - reload_in_progress is true. Use INT14_OK_STRICT to check - whether long displacements are always okay. - -2023-11-16 Uros Bizjak - - PR target/112567 - * config/i386/i386.md (*qi_ext_1_slp): - Fix generation of invalid RTX in split pattern. - -2023-11-16 David Malcolm - - * diagnostic.cc (diagnostic_context::set_option_hooks): Add - "lang_mask" param. - * diagnostic.h (diagnostic_context::option_enabled_p): Update for - move of m_lang_mask. - (diagnostic_context::set_option_hooks): Add "lang_mask" param. - (diagnostic_context::get_lang_mask): New. - (diagnostic_context::m_lang_mask): Move into m_option_callbacks, - thus making private. - * lto-wrapper.cc (main): Update for new lang_mask param of - set_option_hooks. - * toplev.cc (init_asm_output): Use get_lang_mask. - (general_init): Move initialization of global_dc's lang_mask to - new lang_mask param of set_option_hooks. - -2023-11-16 Tamar Christina - - PR tree-optimization/111878 - * tree-vect-loop-manip.cc (find_loop_location): Skip edges check if - latch incorrect. - -2023-11-16 Kito Cheng - - * config.gcc (riscv): Add riscv-target-attr.o. - * config/riscv/riscv-protos.h (riscv_declare_function_size) New. - (riscv_option_valid_attribute_p): New. - (riscv_override_options_internal): New. - (struct riscv_tune_info): New. - (riscv_parse_tune): New. - * config/riscv/riscv-target-attr.cc - (class riscv_target_attr_parser): New. - (struct riscv_attribute_info): New. - (riscv_attributes): New. - (riscv_target_attr_parser::parse_arch): New. - (riscv_target_attr_parser::handle_arch): New. - (riscv_target_attr_parser::handle_cpu): New. - (riscv_target_attr_parser::handle_tune): New. - (riscv_target_attr_parser::update_settings): New. - (riscv_process_one_target_attr): New. - (num_occurences_in_str): New. - (riscv_process_target_attr): New. - (riscv_option_valid_attribute_p): New. - * config/riscv/riscv.cc: Include target-globals.h and - riscv-subset.h. - (struct riscv_tune_info): Move to riscv-protos.h. - (get_tune_str): New. - (riscv_parse_tune): New parameter null_p. - (riscv_declare_function_size): New. - (riscv_option_override): Build target_option_default_node and - target_option_current_node. - (riscv_save_restore_target_globals): New. - (riscv_option_restore): New. - (riscv_previous_fndecl): New. - (riscv_set_current_function): Apply the target attribute. - (TARGET_OPTION_RESTORE): Define. - (TARGET_OPTION_VALID_ATTRIBUTE_P): Ditto. - * config/riscv/riscv.h (SWITCHABLE_TARGET): Define to 1. - (ASM_DECLARE_FUNCTION_SIZE) Define. - * config/riscv/riscv.opt (mtune=): Add Save attribute. - (mcpu=): Ditto. - (mcmodel=): Ditto. - * config/riscv/t-riscv: Add build rule for riscv-target-attr.o - * doc/extend.texi: Add doc for target attribute. - -2023-11-16 Kito Cheng - - PR target/112478 - * config/riscv/riscv.cc (riscv_save_return_addr_reg_p): Check ra - is ever lived. - -2023-11-16 liuhongt - - PR target/112532 - * config/i386/mmx.md (*vec_dup): Extend for V4HI and - V2HI. - -2023-11-16 Jakub Jelinek - - PR target/112526 - * config/i386/i386.md - (mov imm,%rax; mov %rdi,%rdx; mulx %rax -> mov imm,%rdx; mulx %rdi): - Verify in define_peephole2 that operands[2] dies or is overwritten - at the end of multiplication. - -2023-11-16 Jakub Jelinek - - PR tree-optimization/112536 - * tree-vect-slp.cc (arg0_map): New variable. - (vect_get_operand_map): For IFN_CLZ or IFN_CTZ, return arg0_map. - -2023-11-16 Juzhe-Zhong - - PR middle-end/112554 - * tree-vect-loop.cc (vect_determine_partial_vectors_and_peeling): - Clear SELECT_VL_P for non-partial vectorization. - -2023-11-16 Hongyu Wang - - * config/i386/sse.md (vec_extract_hi_): Add noavx512vl - alternative with attr addr gpr16 and "jm" constraint. - (vec_extract_hi_): Likewise for SF vector modes. - (@vec_extract_hi_): Likewise. - (*vec_extractv2ti): Likewise. - (vec_set_hi_): Likewise. - * config/i386/mmx.md (@sse4_1_insertps_): Correct gpr16 attr for - each alternative. - -2023-11-15 Uros Bizjak - - PR target/78904 - * config/i386/i386.md (*movstrictqi_ext_1): New insn pattern. - (*addqi_ext_2_slp): New define_insn_and_split pattern. - (*subqi_ext_2_slp): Ditto. - (*qi_ext_2_slp): Ditto. - -2023-11-15 Patrick O'Neill - - * common/config/riscv/riscv-common.cc - (riscv_subset_list::parse_std_ext): Emit an error and skip to - the next extension when a non-canonical ordering is detected. - -2023-11-15 Bernhard Reutner-Fischer - - * gcc-rich-location.cc (maybe_range_label_for_tree_type_mismatch::get_text): - Revert using the macro CAN_HAVE_LOCATION_P. - -2023-11-15 Juzhe-Zhong - - PR target/112447 - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::emit_vsetvl): Insert - local vsetvl info before LCM suggested one. - Tested-by: Patrick O'Neill # pre-commit-CI #679 - Co-developed-by: Vineet Gupta - -2023-11-15 Vineet Gupta - - * config/riscv/riscv.cc (riscv_sign_extend_if_not_subreg_prom): New. - * (riscv_extend_comparands): Call New function on operands. - -2023-11-15 Uros Bizjak - - * config/i386/i386.md (*addqi_ext_1_slp): - Add "&& " before "reload_completed" in split condition. - (*subqi_ext_1_slp): Ditto. - (*qi_ext_1_slp): Ditto. - -2023-11-15 Uros Bizjak - - PR target/112540 - * config/i386/i386.md (*addqi_ext_1_slp): - Correct operand numbers in split pattern. Replace !Q constraint - of operand 1 with !qm. Add insn constrain. - (*subqi_ext_1_slp): Ditto. - (*qi_ext_1_slp): Ditto. - -2023-11-15 Thomas Schwinge - - * doc/extend.texi (Nvidia PTX Built-in Functions): Fix - copy'n'paste-o in '__builtin_nvptx_brev' description. - -2023-11-15 Roger Sayle - Thomas Schwinge - - * config/nvptx/nvptx.md (UNSPEC_BITREV): Delete. - (bitrev2): Represent using bitreverse. - -2023-11-15 Andrew Stubbs - Andrew Jenner - - * config/gcn/constraints.md: Add "a" AVGPR constraint. - * config/gcn/gcn-valu.md (*mov): Add AVGPR alternatives. - (*mov_4reg): Likewise. - (@mov_sgprbase): Likewise. - (gather_insn_1offset): Likewise. - (gather_insn_1offset_ds): Likewise. - (gather_insn_2offsets): Likewise. - (scatter_expr): Likewise. - (scatter_insn_1offset_ds): Likewise. - (scatter_insn_2offsets): Likewise. - * config/gcn/gcn.cc (MAX_NORMAL_AVGPR_COUNT): Define. - (gcn_class_max_nregs): Handle AVGPR_REGS and ALL_VGPR_REGS. - (gcn_hard_regno_mode_ok): Likewise. - (gcn_regno_reg_class): Likewise. - (gcn_spill_class): Allow spilling to AVGPRs on TARGET_CDNA1_PLUS. - (gcn_sgpr_move_p): Handle AVGPRs. - (gcn_secondary_reload): Reload AVGPRs via VGPRs. - (gcn_conditional_register_usage): Handle AVGPRs. - (gcn_vgpr_equivalent_register_operand): New function. - (gcn_valid_move_p): Check for validity of AVGPR moves. - (gcn_compute_frame_offsets): Handle AVGPRs. - (gcn_memory_move_cost): Likewise. - (gcn_register_move_cost): Likewise. - (gcn_vmem_insn_p): Handle TYPE_VOP3P_MAI. - (gcn_md_reorg): Handle AVGPRs. - (gcn_hsa_declare_function_name): Likewise. - (print_reg): Likewise. - (gcn_dwarf_register_number): Likewise. - * config/gcn/gcn.h (FIRST_AVGPR_REG): Define. - (AVGPR_REGNO): Define. - (LAST_AVGPR_REG): Define. - (SOFT_ARG_REG): Update. - (FRAME_POINTER_REGNUM): Update. - (DWARF_LINK_REGISTER): Update. - (FIRST_PSEUDO_REGISTER): Update. - (AVGPR_REGNO_P): Define. - (enum reg_class): Add AVGPR_REGS and ALL_VGPR_REGS. - (REG_CLASS_CONTENTS): Add new register classes and add entries for - AVGPRs to all classes. - (REGISTER_NAMES): Add AVGPRs. - * config/gcn/gcn.md (FIRST_AVGPR_REG, LAST_AVGPR_REG): Define. - (AP_REGNUM, FP_REGNUM): Update. - (define_attr "type"): Add vop3p_mai. - (define_attr "unit"): Handle vop3p_mai. - (define_attr "gcn_version"): Add "cdna2". - (define_attr "enabled"): Handle cdna2. - (*mov_insn): Add AVGPR alternatives. - (*movti_insn): Likewise. - * config/gcn/mkoffload.cc (isa_has_combined_avgprs): New. - (process_asm): Process avgpr_count. - * config/gcn/predicates.md (gcn_avgpr_register_operand): New. - (gcn_avgpr_hard_register_operand): New. - * doc/md.texi: Document the "a" constraint. - -2023-11-15 Andrew Stubbs - - * config/gcn/gcn-valu.md (mov_sgprbase): Add @ modifier. - (reload_in): Delete. - (reload_out): Delete. - * config/gcn/gcn.cc (CODE_FOR): Delete. - (get_code_for_##PREFIX##vN##SUFFIX): Delete. - (CODE_FOR_OP): Delete. - (get_code_for_##PREFIX): Delete. - (gcn_secondary_reload): Replace "get_code_for" with "code_for". - -2023-11-15 Stefan Schulze Frielinghaus - - * config/s390/t-s390: Generate s390-gen-builtins.h without - linemarkers. - -2023-11-15 Richard Biener - - PR tree-optimization/112282 - * tree-if-conv.cc (ifcvt_hoist_invariants): Only hoist from - the loop header. - -2023-11-15 Richard Biener - - * tree-vect-slp.cc (vect_slp_region): Also clear visited flag when - we skipped an instance due to -fdbg-cnt. - -2023-11-15 Xi Ruoyao - - * config/loongarch/loongarch.cc - (loongarch_memmodel_needs_release_fence): Remove. - (loongarch_cas_failure_memorder_needs_acquire): New static - function. - (loongarch_print_operand): Redefine 'G' for the barrier on CAS - failure. - * config/loongarch/sync.md (atomic_cas_value_strong): - Remove the redundant barrier before the LL instruction, and - emit an acquire barrier on failure if needed by - failure_memorder. - (atomic_cas_value_cmp_and_7_): Likewise. - (atomic_cas_value_add_7_): Remove the unnecessary barrier - before the LL instruction. - (atomic_cas_value_sub_7_): Likewise. - (atomic_cas_value_and_7_): Likewise. - (atomic_cas_value_xor_7_): Likewise. - (atomic_cas_value_or_7_): Likewise. - (atomic_cas_value_nand_7_): Likewise. - (atomic_cas_value_exchange_7_): Likewise. - -2023-11-15 Juzhe-Zhong - - * config/riscv/riscv-v.cc (expand_vector_init_trailing_same_elem): New function. - (expand_vec_init): Add trailing optimization. - -2023-11-15 Pan Li - - * config/riscv/riscv-v.cc (rvv_builder::get_merge_scalar_mask): - Add inner_mode mask arg for mask int mode. - (get_repeating_sequence_dup_machine_mode): Add mask_bit_mode arg - to get the good enough vector int mode on precision. - (expand_vector_init_merge_repeating_sequence): Pass required args - to above func. - -2023-11-15 Juzhe-Zhong - - PR target/112535 - * config/riscv/riscv.cc (riscv_legitimate_address_p): Disallow RVV modes base address. - -2023-11-15 David Malcolm - - * json.cc (selftest::assert_print_eq): Add "loc" param and use - ASSERT_STREQ_AT. - (ASSERT_PRINT_EQ): New macro. - (selftest::test_writing_objects): Use ASSERT_PRINT_EQ to capture - source location of assertion. - (selftest::test_writing_arrays): Likewise. - (selftest::test_writing_float_numbers): Likewise. - (selftest::test_writing_integer_numbers): Likewise. - (selftest::test_writing_strings): Likewise. - (selftest::test_writing_literals): Likewise. - -2023-11-14 David Malcolm - - PR analyzer/103533 - * doc/invoke.texi (Static Analyzer Options): Add the six - -Wanalyzer-tainted-* warnings. Update documentation of each - warning to reflect removed requirement to use - -fanalyzer-checker=taint. Remove discussion of - -fanalyzer-checker=taint. - -2023-11-14 David Malcolm - - * diagnostic-format-json.cc - (json_output_format::on_end_diagnostic): Update calls to m_context - callbacks to use member functions; tighten up scopes. - * diagnostic-format-sarif.cc (sarif_builder::make_result_object): - Likewise. - (sarif_builder::make_reporting_descriptor_object_for_warning): - Likewise. - * diagnostic.cc (diagnostic_context::initialize): Update for - callbacks being moved into m_option_callbacks and being renamed. - (diagnostic_context::set_option_hooks): New. - (diagnostic_option_classifier::classify_diagnostic): Update call - to global_dc->m_option_enabled to use option_enabled_p. - (diagnostic_context::print_option_information): Update calls to - m_context callbacks to use member functions; tighten up scopes. - (diagnostic_context::diagnostic_enabled): Likewise. - * diagnostic.h (diagnostic_option_enabled_cb): New typedef. - (diagnostic_make_option_name_cb): New typedef. - (diagnostic_make_option_url_cb): New typedef. - (diagnostic_context::option_enabled_p): New. - (diagnostic_context::make_option_name): New. - (diagnostic_context::make_option_url): New. - (diagnostic_context::set_option_hooks): New decl. - (diagnostic_context::m_option_enabled): Rename to - m_option_enabled_cb and move within m_option_callbacks, using - typedef. - (diagnostic_context::m_option_state): Move within - m_option_callbacks. - (diagnostic_context::m_option_name): Rename to - m_make_option_name_cb and move within m_option_callbacks, using - typedef. - (diagnostic_context::m_get_option_url): Likewise, renaming to - m_make_option_url_cb. - * lto-wrapper.cc (print_lto_docs_link): Update call to m_context - callback to use member function. - (main): Use diagnostic_context::set_option_hooks. - * opts-diagnostic.h (option_name): Make context param const. - (get_option_url): Likewise. - * opts.cc (option_name): Likewise. - (get_option_url): Likewise. - * toplev.cc (general_init): Use - diagnostic_context::set_option_hooks. - -2023-11-14 David Malcolm - - * selftest-diagnostic.cc - (test_diagnostic_context::test_diagnostic_context): Use - diagnostic_start_span. - * tree-diagnostic-path.cc (struct event_range): Likewise. - -2023-11-14 David Malcolm - - * diagnostic-show-locus.cc (diagnostic_context::show_locus): - Update for renaming of text callbacks fields. - * diagnostic.cc (diagnostic_context::initialize): Likewise. - * diagnostic.h (class diagnostic_context): Add "friend" for - accessors to m_text_callbacks. - (diagnostic_context::m_text_callbacks): Make private, and add an - "m_" prefix to field names. - (diagnostic_starter): Convert from macro to inline function. - (diagnostic_start_span): New. - (diagnostic_finalizer): Convert from macro to inline function. - -2023-11-14 David Malcolm - - * diagnostic.h (diagnostic_ready_p): Convert from macro to inline - function. - -2023-11-14 Uros Bizjak - - PR target/78904 - * config/i386/i386.md (*addqi_ext_1_slp): - New define_insn_and_split pattern. - (*subqi_ext_1_slp): Ditto. - (*qi_ext_1_slp): Ditto. - -2023-11-14 Andrew Stubbs - - PR target/112481 - * expr.cc (store_constructor): Use OPTAB_WIDEN for mask adjustment. - -2023-11-14 David Malcolm - - * diagnostic-format-sarif.cc (sarif_builder::get_sarif_column): - Use m_context's file_cache. - (sarif_builder::maybe_make_artifact_content_object): Likewise. - (sarif_builder::get_source_lines): Likewise. - * diagnostic-show-locus.cc - (exploc_with_display_col::exploc_with_display_col): Add file_cache - param. - (layout::m_file_cache): New field. - (make_range): Add file_cache param. - (selftest::test_layout_range_for_single_point): Create and use a - temporary file_cache. - (selftest::test_layout_range_for_single_line): Likewise. - (selftest::test_layout_range_for_multiple_lines): Likewise. - (layout::layout): Initialize m_file_cache from the context and use it. - (layout::maybe_add_location_range): Use m_file_cache. - (layout::calculate_x_offset_display): Likewise. - (get_affected_range): Add file_cache param. - (get_printed_columns): Likewise. - (line_corrections::line_corrections): Likewwise. - (line_corrections::m_file_cache): New field. - (source_line::source_line): Add file_cache param. - (line_corrections::add_hint): Use m_file_cache. - (layout::print_trailing_fixits): Likewise. - (layout::print_line): Likewise. - (selftest::test_layout_x_offset_display_utf8): Create and use a - temporary file_cache. - (selftest::test_layout_x_offset_display_tab): Likewise. - (selftest::test_diagnostic_show_locus_one_liner_utf8): Likewise. - (selftest::test_add_location_if_nearby): Pass global_dc's - file_cache to temp_source_file ctor. - (selftest::test_overlapped_fixit_printing): Create and use a - temporary file_cache. - (selftest::test_overlapped_fixit_printing_utf8): Likewise. - (selftest::test_overlapped_fixit_printing_2): Use dc's file_cache. - * diagnostic.cc (diagnostic_context::initialize): Always create a - file_cache. - (diagnostic_context::initialize_input_context): Assume - m_file_cache has already been created. - (diagnostic_context::create_edit_context): Pass m_file_cache to - edit_context. - (convert_column_unit): Add file_cache param. - (diagnostic_context::converted_column): Use context's file_cache. - (print_parseable_fixits): Add file_cache param. - (diagnostic_context::report_diagnostic): Use context's file_cache. - (selftest::test_print_parseable_fixits_none): Create and use a - temporary file_cache. - (selftest::test_print_parseable_fixits_insert): Likewise. - (selftest::test_print_parseable_fixits_remove): Likewise. - (selftest::test_print_parseable_fixits_replace): Likewise. - (selftest::test_print_parseable_fixits_bytes_vs_display_columns): - Likewise. - * diagnostic.h (diagnostic_context::file_cache_init): Delete. - (diagnostic_context::get_file_cache): Convert return type from - pointer to reference. - * edit-context.cc (edited_file::get_file_cache): New. - (edited_file::m_edit_context): New. - (edit_context::edit_context): Add file_cache param. - (edit_context::get_or_insert_file): Pass this to edited_file's - ctor. - (edited_file::edited_file): Add edit_context param. - (edited_file::print_content): Use get_file_cache. - (edited_file::print_diff_hunk): Likewise. - (edited_file::print_run_of_changed_lines): Likewise. - (edited_file::get_or_insert_line): Likewise. - (edited_file::get_num_lines): Likewise. - (edited_line::edited_line): Pass in file_cache and use it. - (selftest::test_get_content): Create and use a - temporary file_cache. - (selftest::test_applying_fixits_insert_before): Likewise. - (selftest::test_applying_fixits_insert_after): Likewise. - (selftest::test_applying_fixits_insert_after_at_line_end): - Likewise. - (selftest::test_applying_fixits_insert_after_failure): Likewise. - (selftest::test_applying_fixits_insert_containing_newline): - Likewise. - (selftest::test_applying_fixits_growing_replace): Likewise. - (selftest::test_applying_fixits_shrinking_replace): Likewise. - (selftest::test_applying_fixits_replace_containing_newline): - Likewise. - (selftest::test_applying_fixits_remove): Likewise. - (selftest::test_applying_fixits_multiple): Likewise. - (selftest::test_applying_fixits_multiple_lines): Likewise. - (selftest::test_applying_fixits_modernize_named_init): Likewise. - (selftest::test_applying_fixits_modernize_named_init): Likewise. - (selftest::test_applying_fixits_unreadable_file): Likewise. - (selftest::test_applying_fixits_line_out_of_range): Likewise. - (selftest::test_applying_fixits_column_validation): Likewise. - (selftest::test_applying_fixits_column_validation): Likewise. - (selftest::test_applying_fixits_column_validation): Likewise. - (selftest::test_applying_fixits_column_validation): Likewise. - * edit-context.h (edit_context::edit_context): Add file_cache - param. - (edit_context::get_file_cache): New. - (edit_context::m_file_cache): New. - * final.cc: Include "diagnostic.h". - (asm_show_source): Use global_dc's file_cache. - * gcc-rich-location.cc (blank_line_before_p): Add file_cache - param. - (use_new_line): Likewise. - (gcc_rich_location::add_fixit_insert_formatted): Use global dc's - file_cache. - * input.cc (diagnostic_file_cache_init): Delete. - (diagnostic_context::file_cache_init): Delete. - (diagnostics_file_cache_forcibly_evict_file): Delete. - (file_cache::missing_trailing_newline_p): New. - (file_cache::evicted_cache_tab_entry): Don't call - diagnostic_file_cache_init. - (location_get_source_line): Delete. - (get_source_text_between): Add file_cache param. - (get_source_file_content): Delete. - (location_missing_trailing_newline): Delete. - (location_compute_display_column): Add file_cache param. - (dump_location_info): Create and use temporary file_cache. - (get_substring_ranges_for_loc): Add file_cache param. - (get_location_within_string): Likewise. - (get_source_range_for_char): Likewise. - (get_num_source_ranges_for_substring): Likewise. - (selftest::test_reading_source_line): Create and use temporary - file_cache. - (selftest::lexer_test::m_file_cache): New field. - (selftest::assert_char_at_range): Use test.m_file_cache. - (selftest::assert_num_substring_ranges): Likewise. - (selftest::assert_has_no_substring_ranges): Likewise. - (selftest::test_lexer_string_locations_concatenation_2): Likewise. - * input.h (class file_cache): New forward decl. - (location_compute_display_column): Add file_cache param. - (location_get_source_line): Delete. - (get_source_text_between): Add file_cache param. - (get_source_file_content): Delete. - (location_missing_trailing_newline): Delete. - (file_cache::missing_trailing_newline_p): New decl. - (diagnostics_file_cache_forcibly_evict_file): Delete. - * selftest.cc (named_temp_file::named_temp_file): Add file_cache - param. - (named_temp_file::~named_temp_file): Optionally evict the file - from the given file_cache. - (temp_source_file::temp_source_file): Add file_cache param. - * selftest.h (class file_cache): New forward decl. - (named_temp_file::named_temp_file): Add file_cache param. - (named_temp_file::m_file_cache): New field. - (temp_source_file::temp_source_file): Add file_cache param. - * substring-locations.h (get_location_within_string): Add - file_cache param. - -2023-11-14 David Malcolm - - * diagnostic-format-json.cc: Use type-specific "set_*" functions - of json::object to avoid naked new of json value subclasses. - * diagnostic-format-sarif.cc: Likewise. - * gcov.cc: Likewise. - * json.cc (object::set_string): New. - (object::set_integer): New. - (object::set_float): New. - (object::set_bool): New. - (selftest::test_writing_objects): Use object::set_string. - * json.h (object::set_string): New decl. - (object::set_integer): New decl. - (object::set_float): New decl. - (object::set_bool): New decl. - * optinfo-emit-json.cc: Use type-specific "set_*" functions of - json::object to avoid naked new of json value subclasses. - * timevar.cc: Likewise. - * tree-diagnostic-path.cc: Likewise. - -2023-11-14 Andrew MacLeod - - PR tree-optimization/112509 - * tree-vrp.cc (find_case_label_range): Create range from case labels. - -2023-11-14 Stefan Schulze Frielinghaus - - * config/s390/s390-builtin-types.def: Add/remove types. - * config/s390/s390-builtins.def (s390_vec_scatter_element_flt): - The type for the offset should be UV4SI instead of V4SF. - -2023-11-14 Saurabh Jha - - PR target/112337 - * config/arm/arm.cc (mve_vector_mem_operand): Add a REG_P check for INC - and DEC operations. - -2023-11-14 Richard Biener - - PR tree-optimization/111233 - PR tree-optimization/111652 - PR tree-optimization/111727 - PR tree-optimization/111838 - PR tree-optimization/112113 - * tree-ssa-loop-split.cc (patch_loop_exit): Get the new - guard code instead of the old guard stmt. - (split_loop): Adjust. - -2023-11-14 Richard Biener - - * tree-loop-distribution.cc (loop_distribution::data_dep_in_cycle_p): - Consider all loops in the nest when looking for - lambda_vector_zerop. - -2023-11-14 Richard Biener - - PR tree-optimization/112281 - * tree-loop-distribution.cc (pg_add_dependence_edges): - Preserve stmt order when the innermost loop has exact - overlap. - -2023-11-14 Jakub Jelinek - - PR target/112523 - PR ada/112514 - * config/i386/i386.md (3_doubleword_lowpart): Move - operands[1] aka low part of input rather than operands[3] aka high - part of input to output if not the same register. - -2023-11-14 Andreas Krebbel - - * config.gcc: Add s390-gen-builtins.h to target_gtfiles. - * config/s390/s390-builtins.h (s390_builtin_types) - (s390_builtin_fn_types, s390_builtin_decls): Add GTY marker. - * config/s390/t-s390 (EXTRA_GTYPE_DEPS): Add s390-gen-builtins.h. - Add build rule for s390-gen-builtins.h. - -2023-11-14 Andreas Krebbel - - * config/s390/s390-c.cc (s390_fn_types_compatible): Add a check - for error_mark_node. - -2023-11-14 Jakub Jelinek - - PR c/111309 - * builtins.def (BUILT_IN_CLZG, BUILT_IN_CTZG, BUILT_IN_CLRSBG, - BUILT_IN_FFSG, BUILT_IN_PARITYG, BUILT_IN_POPCOUNTG): New - builtins. - * builtins.cc (fold_builtin_bit_query): New function. - (fold_builtin_1): Use it for - BUILT_IN_{CLZ,CTZ,CLRSB,FFS,PARITY,POPCOUNT}G. - (fold_builtin_2): Use it for BUILT_IN_{CLZ,CTZ}G. - * fold-const-call.cc: Fix comment typo on tm.h inclusion. - (fold_const_call_ss): Handle - CFN_BUILT_IN_{CLZ,CTZ,CLRSB,FFS,PARITY,POPCOUNT}G. - (fold_const_call_sss): New function. - (fold_const_call_1): Call it for 2 argument functions returning - scalar when passed 2 INTEGER_CSTs. - * genmatch.cc (cmp_operand): For function calls also compare - number of arguments. - (fns_cmp): New function. - (dt_node::gen_kids): Sort fns and generic_fns. - (dt_node::gen_kids_1): Handle fns with the same id but different - number of arguments. - * match.pd (CLZ simplifications): Drop checks for defined behavior - at zero. Add variant of simplifications for IFN_CLZ with 2 arguments. - (CTZ simplifications): Drop checks for defined behavior at zero, - don't optimize precisions above MAX_FIXED_MODE_SIZE. Add variant of - simplifications for IFN_CTZ with 2 arguments. - (a != 0 ? CLZ(a) : CST -> .CLZ(a)): Use TREE_TYPE (@3) instead of - type, add BITINT_TYPE handling, create 2 argument IFN_CLZ rather than - one argument. Add variant for matching CLZ with 2 arguments. - (a != 0 ? CTZ(a) : CST -> .CTZ(a)): Similarly. - * gimple-lower-bitint.cc (bitint_large_huge::lower_bit_query): New - method. - (bitint_large_huge::lower_call): Use it for IFN_{CLZ,CTZ,CLRSB,FFS} - and IFN_{PARITY,POPCOUNT} calls. - * gimple-range-op.cc (cfn_clz::fold_range): Don't check - CLZ_DEFINED_VALUE_AT_ZERO for m_gimple_call_internal_p, instead - assume defined value at zero if the call has 2 arguments and use - second argument value for that case. - (cfn_ctz::fold_range): Similarly. - (gimple_range_op_handler::maybe_builtin_call): Use op_cfn_clz_internal - or op_cfn_ctz_internal only if internal fn call has 2 arguments and - set m_op2 in that case. - * tree-vect-patterns.cc (vect_recog_ctz_ffs_pattern, - vect_recog_popcount_clz_ctz_ffs_pattern): For value defined at zero - use second argument of calls if present, otherwise assume UB at zero, - create 2 argument .CLZ/.CTZ calls if needed. - * tree-vect-stmts.cc (vectorizable_call): Handle 2 argument .CLZ/.CTZ - calls. - * tree-ssa-loop-niter.cc (build_cltz_expr): Create 2 argument - .CLZ/.CTZ calls if needed. - * tree-ssa-forwprop.cc (simplify_count_trailing_zeroes): Create 2 - argument .CTZ calls if needed. - * tree-ssa-phiopt.cc (cond_removal_in_builtin_zero_pattern): Handle - 2 argument .CLZ/.CTZ calls, handle BITINT_TYPE, create 2 argument - .CLZ/.CTZ calls. - * doc/extend.texi (__builtin_clzg, __builtin_ctzg, __builtin_clrsbg, - __builtin_ffsg, __builtin_parityg, __builtin_popcountg): Document. - -2023-11-14 Xi Ruoyao - - PR target/112330 - * config/loongarch/genopts/loongarch.opt.in: Add - -m[no]-pass-relax-to-as. Change the default of -m[no]-relax to - account conditional branch relaxation support status. - * config/loongarch/loongarch.opt: Regenerate. - * configure.ac (gcc_cv_as_loongarch_cond_branch_relax): Check if - the assembler supports conditional branch relaxation. - * configure: Regenerate. - * config.in: Regenerate. Note that there are some unrelated - changes introduced by r14-5424 (which does not contain a - config.in regeneration). - * config/loongarch/loongarch-opts.h - (HAVE_AS_COND_BRANCH_RELAXATION): Define to 0 if not defined. - * config/loongarch/loongarch-driver.h (ASM_MRELAX_DEFAULT): - Define. - (ASM_MRELAX_SPEC): Define. - (ASM_SPEC): Use ASM_MRELAX_SPEC instead of "%{mno-relax}". - * config/loongarch/loongarch.cc: Take the setting of - -m[no-]relax into account when determining the default of - -mexplicit-relocs=. - * doc/invoke.texi: Document -m[no-]relax and - -m[no-]pass-mrelax-to-as for LoongArch. Update the default - value of -mexplicit-relocs=. - -2023-11-14 liuhongt - - PR tree-optimization/112496 - * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return - false when !tree_nop_conversion_p (TREE_TYPE (vectype), - TREE_TYPE (init_expr)). - -2023-11-14 Xi Ruoyao - - * config/loongarch/sync.md (mem_thread_fence): Remove redundant - check. - (mem_thread_fence_1): Emit finer-grained DBAR hints for - different memory models, instead of 0. - -2023-11-14 Jakub Jelinek - - PR middle-end/112511 - * tree.cc (type_contains_placeholder_1): Handle BITINT_TYPE like - INTEGER_TYPE. - -2023-11-14 Jakub Jelinek - Hu, Lin1 - - PR target/112435 - * config/i386/sse.md (avx512vl_shuf_32x4_1, - avx512dq_shuf_64x2_1): Add - alternative with just x instead of v constraints and xjm instead of - vm and use vblendps as optimization only with that alternative. - -2023-11-14 liuhongt - - PR tree-optimization/105735 - PR tree-optimization/111972 - * tree-scalar-evolution.cc - (analyze_and_compute_bitop_with_inv_effect): Handle bitop with - INTEGER_CST. - -2023-11-13 Arsen Arsenović - - * configure: Regenerate. - * aclocal.m4: Regenerate. - * Makefile.in (LIBDEPS): Remove (potential) ./ prefix from - LIBINTL_DEP. - * doc/install.texi: Document new (notable) flags added by the - optional gettext tree and by AM_GNU_GETTEXT. Document libintl/libc - with gettext dependency. - -2023-11-13 Uros Bizjak - - * config/i386/i386-expand.h (gen_pushfl): New prototype. - (gen_popfl): Ditto. - * config/i386/i386-expand.cc (ix86_expand_builtin) - [case IX86_BUILTIN_READ_FLAGS]: Use gen_pushfl. - [case IX86_BUILTIN_WRITE_FLAGS]: Use gen_popfl. - * config/i386/i386.cc (gen_pushfl): New function. - (gen_popfl): Ditto. - * config/i386/i386.md (unspec): Add UNSPEC_PUSHFL and UNSPEC_POPFL. - (@pushfl2): Rename from *pushfl2. - Rewrite as unspec using UNSPEC_PUSHFL. - (@popfl1): Rename from *popfl1. - Rewrite as unspec using UNSPEC_POPFL. - -2023-11-13 Uros Bizjak - - PR target/112494 - * config/i386/i386.cc (ix86_cc_mode) [default]: Return CCmode. - -2023-11-13 Robin Dapp - - * config/riscv/riscv-vsetvl.cc (source_equal_p): Use pointer - equality for REG_EQUAL. - -2023-11-13 Richard Biener - - PR tree-optimization/112495 - * tree-data-ref.cc (runtime_alias_check_p): Reject checks - between different address spaces. - -2023-11-13 Richard Biener - - PR middle-end/112487 - * tree-inline.cc (setup_one_parameter): When the parameter - is unused only insert a debug bind when there's not a gross - mismatch in value and declared parameter type. Do not assert - there effectively isn't. - -2023-11-13 Juzhe-Zhong - - * config/riscv/riscv-v.cc - (rvv_builder::combine_sequence_use_merge_profitable_p): New function. - (expand_vector_init_merge_combine_sequence): Ditto. - (expand_vec_init): Adapt for new optimization. - -2023-11-13 liuhongt - - * config/i386/i386-expand.cc - (ix86_expand_vector_init_duplicate): Handle V4HF/V4BF and - V2HF/V2BF. - (ix86_expand_vector_init_one_nonzero): Ditto. - (ix86_expand_vector_init_one_var): Ditto. - (ix86_expand_vector_init_general): Ditto. - (ix86_expand_vector_set_var): Ditto. - (ix86_expand_vector_set): Ditto. - (ix86_expand_vector_extract): Ditto. - * config/i386/mmx.md - (mmxdoublevecmode): Extend to V4HF/V4BF/V2HF/V2BF. - (*mmx_pinsrw): Extend to V4FI_64, add a new alternative (&x, - x, x), add a new define_split after the pattern. - (*mmx_pextrw): New define_insn. - (mmx_pshufw_1): Rename to .. - (mmx_pshufw_1): .. this, extend to V4FI_64. - (*mmx_pblendw64): Extend to V4FI_64. - (*vec_dup): New define_insn. - (vec_setv4hi): Rename to .. - (vec_set): .. this, and extend to V4FI_64 - (vec_extractv4hihi): Rename to .. - (vec_extract): .. this, and extend - to V4FI_64. - (vec_init): New define_insn. - (*pinsrw): Extend to V2FI_32, add a new alternative (&x, - x, x), and add a new define_split after it. - (*pextrw): New define_insn. - (vec_setv2hi): Rename to .. - (vec_set): .. this, extend to V2FI_32. - (vec_extractv2hihi): Rename to .. - (vec_extract): .. this, extend to - V2FI_32. - (*punpckwd): Extend to V2FI_32. - (*pshufw_1): Rename to .. - (*pshufw_1): .. this, extend to V2FI_32. - (vec_initv2hihi): Rename to .. - (vec_init): .. this, and extend to - V2FI_32. - (*vec_dup): New define_insn. - * config/i386/sse.md (*vec_extract): Refine constraint - from v to Yw. - -2023-11-13 Roger Sayle - - * config/arc/arc.md (UNSPEC_ARC_CC_NEZ): New UNSPEC that - represents the carry flag being set if the operand is non-zero. - (adc_f): New define_insn representing adc with updated flags. - (ashrdi3): New define_expand that only handles shifts by 1. - (ashrdi3_cnt1): New pre-reload define_insn_and_split. - (lshrdi3): New define_expand that only handles shifts by 1. - (lshrdi3_cnt1): New pre-reload define_insn_and_split. - (rrcsi2): New define_insn for rrc (SImode rotate right through carry). - (rrcsi2_carry): Likewise for rrc.f, as above but updating flags. - (rotldi3): New define_expand that only handles rotates by 1. - (rotldi3_cnt1): New pre-reload define_insn_and_split. - (rotrdi3): New define_expand that only handles rotates by 1. - (rotrdi3_cnt1): New pre-reload define_insn_and_split. - (lshrsi3_cnt1_carry): New define_insn for lsr.f. - (ashrsi3_cnt1_carry): New define_insn for asr.f. - (btst_0_carry): New define_insn for asr.f without result. - -2023-11-13 Roger Sayle - - * config/arc/arc.cc (TARGET_FOLD_BUILTIN): Define to - arc_fold_builtin. - (arc_fold_builtin): New function. Convert ARC_BUILTIN_SWAP - into a rotate. Evaluate ARC_BUILTIN_NORM and - ARC_BUILTIN_NORMW of constant arguments. - * config/arc/arc.md (UNSPEC_ARC_SWAP): Delete. - (normw): Make output template/assembler whitespace consistent. - (swap): Remove define_insn, only use of SWAP UNSPEC. - * config/arc/builtins.def: Tweak indentation. - (SWAP): Expand using rotlsi2_cnt16 instead of using swap. - -2023-11-13 Roger Sayle - - * config/i386/i386.md (3_doubleword_lowpart): New - define_insn_and_split to optimize register usage of doubleword - right shifts followed by truncation. - -2023-11-13 Jakub Jelinek - - * config/i386/constraints.md: Remove j constraint letter from list of - unused letters. - -2023-11-13 Xi Ruoyao - - PR rtl-optimization/112483 - * simplify-rtx.cc (simplify_binary_operation_1) : - Fix the simplification of (fcopysign x, NEGATIVE_CONST). - -2023-11-13 Jakub Jelinek - - PR tree-optimization/111967 - * gimple-range-cache.cc (block_range_cache::set_bb_range): Grow - m_ssa_ranges to num_ssa_names rather than num_ssa_names + 1. - (block_range_cache::dump): Iterate from 1 rather than 0. Don't use - ssa_name (x) unless m_ssa_ranges[x] is non-NULL. Iterate to - m_ssa_ranges.length () rather than num_ssa_names. - -2023-11-13 Xi Ruoyao - - * config/loongarch/loongarch.md (LD_AT_LEAST_32_BIT): New mode - iterator. - (ST_ANY): New mode iterator. - (define_peephole2): Use LD_AT_LEAST_32_BIT instead of GPR and - ST_ANY instead of QHWD for applicable patterns. - -2023-11-13 Xi Ruoyao - - PR target/112476 - * config/loongarch/loongarch.cc - (loongarch_expand_vec_cond_mask_expr): Call simplify_gen_subreg - instead of gen_rtx_SUBREG. - -2023-11-13 Pan Li - - * config/riscv/autovec.md: Add bridge mode to lrint and lround - pattern. - * config/riscv/riscv-protos.h (expand_vec_lrint): Add new arg - bridge machine mode. - (expand_vec_lround): Ditto. - * config/riscv/riscv-v.cc (emit_vec_widden_cvt_f_f): New helper - func impl to emit vfwcvt.f.f. - (emit_vec_rounding_to_integer): Handle the HF to DI rounding - with the bridge mode. - (expand_vec_lrint): Reorder the args. - (expand_vec_lround): Ditto. - (expand_vec_lceil): Ditto. - (expand_vec_lfloor): Ditto. - * config/riscv/vector-iterators.md: Add vector HFmode and bridge - mode for converting to DI. - -2023-11-12 Jeff Law - - Revert: - 2023-11-11 Jin Ma - - * haifa-sched.cc (use_or_clobber_starts_range_p): New. - (prune_ready_list): USE or CLOBBER should delay execution - if it starts a new live range. - -2023-11-12 Uros Bizjak - - * config/i386/i386.md (*stack_protect_set_4s__di): - Remove alternative 0. - -2023-11-11 Eric Botcazou - - * ipa-cp.cc (print_ipcp_constant_value): Move to... - (values_equal_for_ipcp_p): Deal with VAR_DECLs from the - constant pool. - * ipa-prop.cc (ipa_print_constant_value): ...here. Likewise. - (ipa_print_node_jump_functions_for_edge): Call the function - ipa_print_constant_value to print IPA_JF_CONST elements. - -2023-11-11 Jin Ma - - * haifa-sched.cc (use_or_clobber_starts_range_p): New. - (prune_ready_list): USE or CLOBBER should delay execution - if it starts a new live range. - -2023-11-11 Jakub Jelinek - - PR middle-end/112430 - * tree-ssa-math-opts.cc (match_uaddc_usubc): Remove temp_stmts in the - order they were pushed rather than in reverse order. Call - release_defs after gsi_remove. - -2023-11-11 Richard Sandiford - - * target.def (mode_switching.backprop): New hook. - * doc/tm.texi.in (TARGET_MODE_BACKPROP): New @hook. - * doc/tm.texi: Regenerate. - * mode-switching.cc (struct bb_info): Add single_succ. - (confluence_info): Add transp field. - (single_succ_confluence_n, single_succ_transfer): New functions. - (backprop_confluence_n, backprop_transfer): Likewise. - (optimize_mode_switching): Use them. Push mode transitions onto - a block's incoming edges, if the backprop hook requires it. - -2023-11-11 Richard Sandiford - - * target.def (mode_switching.confluence): New hook. - * doc/tm.texi (TARGET_MODE_CONFLUENCE): New @hook. - * doc/tm.texi.in: Regenerate. - * mode-switching.cc (confluence_info): New variable. - (mode_confluence, forward_confluence_n, forward_transfer): New - functions. - (optimize_mode_switching): Use them to calculate mode_in when - TARGET_MODE_CONFLUENCE is defined. - -2023-11-11 Richard Sandiford - - * mode-switching.cc (commit_mode_sets): Use 1-based edge aux values. - -2023-11-11 Richard Sandiford - - * target.def (mode_switching.after): Add a regs_live parameter. - * doc/tm.texi: Regenerate. - * config/epiphany/epiphany-protos.h (epiphany_mode_after): Update - accordingly. - * config/epiphany/epiphany.cc (epiphany_mode_needed): Likewise. - (epiphany_mode_after): Likewise. - * config/i386/i386.cc (ix86_mode_after): Likewise. - * config/riscv/riscv.cc (riscv_mode_after): Likewise. - * config/sh/sh.cc (sh_mode_after): Likewise. - * mode-switching.cc (optimize_mode_switching): Likewise. - -2023-11-11 Richard Sandiford - - * target.def (mode_switching.needed): Add a regs_live parameter. - * doc/tm.texi: Regenerate. - * config/epiphany/epiphany-protos.h (epiphany_mode_needed): Update - accordingly. - * config/epiphany/epiphany.cc (epiphany_mode_needed): Likewise. - * config/epiphany/mode-switch-use.cc (insert_uses): Likewise. - * config/i386/i386.cc (ix86_mode_needed): Likewise. - * config/riscv/riscv.cc (riscv_mode_needed): Likewise. - * config/sh/sh.cc (sh_mode_needed): Likewise. - * mode-switching.cc (optimize_mode_switching): Likewise. - (create_pre_exit): Likewise, using the DF simulate functions - to calculate the required information. - -2023-11-11 Richard Sandiford - - * target.def (mode_switching.eh_handler): New hook. - * doc/tm.texi.in (TARGET_MODE_EH_HANDLER): New @hook. - * doc/tm.texi: Regenerate. - * mode-switching.cc (optimize_mode_switching): Use eh_handler - to get the mode on entry to an exception handler. - -2023-11-11 Richard Sandiford - - * mode-switching.cc (optimize_mode_switching): Mark the exit - block as nontransparent if it requires a specific mode. - Handle the entry and exit mode as sibling rather than nested - concepts. Remove outdated comment. - -2023-11-11 Richard Sandiford - - * mode-switching.cc (optimize_mode_switching): Initially - compute transparency in a bit-per-block bitmap. - -2023-11-11 Richard Sandiford - - * mode-switching.cc (seginfo): Add a prev_mode field. - (new_seginfo): Take and initialize the prev_mode. - (optimize_mode_switching): Update calls accordingly. - Use the recorded modes during the emit phase, rather than - computing one on the fly. - -2023-11-11 Richard Sandiford - - * mode-switching.cc (add_seginfo): Replace head pointer with - a pointer to the tail pointer. - (optimize_mode_switching): Update calls accordingly. - -2023-11-11 Richard Sandiford - - * mode-switching.cc (optimize_mode_switching): Call - df_note_add_problem. - -2023-11-11 Richard Sandiford - - * target.def: Tweak documentation of mode-switching hooks. - * doc/tm.texi.in (OPTIMIZE_MODE_SWITCHING): Tweak documentation. - (NUM_MODES_FOR_MODE_SWITCHING): Likewise. - * doc/tm.texi: Regenerate. - -2023-11-11 Martin Uecker - - PR c/110815 - PR c/112428 - * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes): - remove warning for parameters declared with `static`. - -2023-11-11 Joern Rennecke - - * doc/sourcebuild.texi (Scan the assembly output): Document change. - -2023-11-10 Mao - - PR middle-end/110983 - * doc/invoke.texi (Option Summary): Add -fpatchable-function-entry. - -2023-11-10 Maciej W. Rozycki - - * config/riscv/riscv.md (length): Fix indentation for branch and - jump length calculation expressions. - -2023-11-10 Eric Botcazou - - * fold-const.cc (operand_compare::operand_equal_p) : - Deal with nonempty constant CONSTRUCTORs. - (operand_compare::hash_operand) : Hash DECL_FIELD_OFFSET - and DECL_FIELD_BIT_OFFSET for FIELD_DECLs. - -2023-11-10 Vladimir N. Makarov - - PR target/112337 - * ira-costs.cc: (validate_autoinc_and_mem_addr_p): New function. - (equiv_can_be_consumed_p): Use it. - -2023-11-10 Richard Sandiford - - * read-rtl.cc (md_reader::read_mapping): Allow iterators to - include other iterators. - * doc/md.texi: Document the change. - * config/aarch64/iterators.md (DREG2, VQ2, TX2, DX2, SX2): Include - the iterator that is being duplicated, rather than reproducing it. - (VSTRUCT_D): Redefine using VSTRUCT_[234]D. - (VSTRUCT_Q): Likewise VSTRUCT_[234]Q. - (VSTRUCT_2QD, VSTRUCT_3QD, VSTRUCT_4QD, VSTRUCT_QD): Redefine using - the individual D and Q iterators. - -2023-11-10 Uros Bizjak - - * config/i386/i386.md (stack_protect_set_1 peephole2): - Explicitly check operand 2 for word_mode. - (stack_protect_set_1 peephole2 #2): Ditto. - (stack_protect_set_2 peephole2): Ditto. - (stack_protect_set_3 peephole2): Ditto. - (*stack_protect_set_4z__di): New insn patter. - (*stack_protect_set_4s__di): Ditto. - (stack_protect_set_4 peephole2): New peephole2 pattern to - substitute stack protector scratch register clear with unrelated - register initialization involving zero/sign-extend instruction. - -2023-11-10 Uros Bizjak - - * config/i386/i386.md (shift): Use SAL insted of SLL - for ashift insn mnemonic. - -2023-11-10 Juzhe-Zhong - - PR tree-optimization/112438 - * tree-vect-loop.cc (vectorizable_induction): Bugfix when - LOOP_VINFO_USING_SELECT_VL_P. - -2023-11-10 Juzhe-Zhong - - * config/riscv/riscv-protos.h (enum insn_type): New enum. - * config/riscv/riscv-v.cc - (rvv_builder::combine_sequence_use_slideup_profitable_p): New function. - (expand_vector_init_slideup_combine_sequence): Ditto. - (expand_vec_init): Add slideup combine optimization. - -2023-11-10 Robin Dapp - - PR tree-optimization/112464 - * tree-vect-loop.cc (vectorize_fold_left_reduction): Use - vect_orig_stmt on scalar_dest_def_info. - -2023-11-10 Jin Ma - - * config/riscv/riscv.cc (riscv_for_each_saved_reg): Place the interrupt - operation before the XTheadMemPair. - -2023-11-10 Richard Biener - - PR tree-optimization/110221 - * tree-vect-slp.cc (vect_schedule_slp_node): When loop - masking / len is applied make sure to not schedule - intenal defs outside of the loop. - -2023-11-10 Andrew Stubbs - - * expr.cc (store_constructor): Add "and" operation to uniform mask - generation. - -2023-11-10 Andrew Stubbs - - PR target/112308 - * config/gcn/gcn-valu.md (add3): Fix B constraint - and switch to the new format. - (add3_dup): Likewise. - (add3_vcc): Likewise. - (add3_vcc_dup): Likewise. - (add3_vcc_zext_dup): Likewise. - (add3_vcc_zext_dup_exec): Likewise. - (add3_vcc_zext_dup2): Likewise. - (add3_vcc_zext_dup2_exec): Likewise. - -2023-11-10 Richard Biener - - PR middle-end/112469 - * match.pd (cond ? op a : b -> .COND_op (cond, a, b)): Add - missing view_converts. - -2023-11-10 Andrew Stubbs - - * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Add clobber to DImode - min/max instructions. - -2023-11-10 Chenghui Pan - - * config/loongarch/lsx.md: Fix instruction name typo in - lsx_vreplgr2vr_ template. - -2023-11-10 Juzhe-Zhong - - * config/riscv/autovec.md (vec_init): Split patterns. - -2023-11-10 Pan Li - - Revert: - 2023-11-10 Pan Li - * config/riscv/riscv-v.cc (expand_vector_init_trailing_same_elem): - New fun impl to expand the insn when trailing same elements. - (expand_vec_init): Try trailing same elements when vec_init. - -2023-11-10 Pan Li - - * config/riscv/riscv-v.cc (expand_vector_init_trailing_same_elem): - New fun impl to expand the insn when trailing same elements. - (expand_vec_init): Try trailing same elements when vec_init. - -2023-11-10 Juzhe-Zhong - - * config/riscv/autovec-opt.md (*cond_copysign): Remove. - * config/riscv/autovec.md (cond_copysign): New pattern. - -2023-11-10 Pan Li - - PR target/112432 - * internal-fn.def (LRINT): Add FLOATN support. - (LROUND): Ditto. - (LLRINT): Ditto. - (LLROUND): Ditto. - -2023-11-10 Jeff Law - - * config/h8300/combiner.md (single bit sign_extract): Avoid recently - added patterns for H8/SX. - (single bit zero_extract): New patterns. - -2023-11-10 liuhongt - - PR target/112443 - * config/i386/sse.md (*avx2_pcmp3_4): Fix swap condition - from LT to GT since there's not in the pattern. - (*avx2_pcmp3_5): Ditto. - -2023-11-10 Jose E. Marchesi - - * config/bpf/bpf.cc (bpf_print_register): Accept modifier code 'W' - to force emitting register names using the wN form. - * config/bpf/bpf.md (*mulsidi3_zeroextend): Force operands to - always use wN written form in pseudo-C assembly syntax. - -2023-11-09 David Malcolm - - * diagnostic-show-locus.cc (layout::m_line_table): New field. - (compatible_locations_p): Convert to... - (layout::compatible_locations_p): ...this, replacing uses of - line_table global with m_line_table. - (layout::layout): Convert "richloc" param from a pointer to a - const reference. Initialize m_line_table member. - (layout::maybe_add_location_range): Replace uses of line_table - global with m_line_table. Pass the latter to - linemap_client_expand_location_to_spelling_point. - (layout::print_leading_fixits): Pass m_line_table to - affects_line_p. - (layout::print_trailing_fixits): Likewise. - (gcc_rich_location::add_location_if_nearby): Update for change - to layout ctor params. - (diagnostic_show_locus): Convert to... - (diagnostic_context::maybe_show_locus): ...this, converting - richloc param from a pointer to a const reference. Make "loc" - const. Split out printing part of function to... - (diagnostic_context::show_locus): ...this. - (selftest::test_offset_impl): Update for change to layout ctor - params. - (selftest::test_layout_x_offset_display_utf8): Likewise. - (selftest::test_layout_x_offset_display_tab): Likewise. - (selftest::test_tab_expansion): Likewise. - * diagnostic.h (diagnostic_context::maybe_show_locus): New decl. - (diagnostic_context::show_locus): New decl. - (diagnostic_show_locus): Convert from a decl to an inline function. - * gdbinit.in (break-on-diagnostic): Update from a breakpoint - on diagnostic_show_locus to one on - diagnostic_context::maybe_show_locus. - * genmatch.cc (linemap_client_expand_location_to_spelling_point): - Add "set" param and use it in place of line_table global. - * input.cc (expand_location_1): Likewise. - (expand_location): Update for new param of expand_location_1. - (expand_location_to_spelling_point): Likewise. - (linemap_client_expand_location_to_spelling_point): Add "set" - param and use it in place of line_table global. - * tree-diagnostic-path.cc (event_range::print): Pass line_table - for new param of linemap_client_expand_location_to_spelling_point. - -2023-11-09 Uros Bizjak - - * config/i386/i386.md (@stack_protect_set_1__): - Use W mode iterator instead of SWI48. Output MOV instead of XOR - for TARGET_USE_MOV0. - (stack_protect_set_1 peephole2): Use integer modes with - mode size <= word mode size for operand 3. - (stack_protect_set_1 peephole2 #2): New peephole2 pattern to - substitute stack protector scratch register clear with unrelated - register initialization, originally in front of stack - protector sequence. - (*stack_protect_set_3__): New insn pattern. - (stack_protect_set_1 peephole2): New peephole2 pattern to - substitute stack protector scratch register clear with unrelated - register initialization involving LEA instruction. - -2023-11-09 Vladimir N. Makarov - - PR rtl-optimization/110215 - * ira-lives.cc: (add_conflict_from_region_landing_pads): New - function. - (process_bb_node_lives): Use it. - -2023-11-09 Alexandre Oliva - - * config/i386/i386.cc (symbolic_base_address_p, - base_address_p): New, factored out from... - (extract_base_offset_in_addr): ... here and extended to - recognize REG+GOTOFF, as in gcc.target/i386/sse2-load-multi.c - and sse2-store-multi.c with PIE enabled by default. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * config/aarch64/aarch64-sve.md (cond_copysign): New. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * config/aarch64/aarch64.md (copysign3): Handle - copysign (x, -1). - * config/aarch64/aarch64-simd.md (copysign3): Likewise. - * config/aarch64/aarch64-sve.md (copysign3): Likewise. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * config/aarch64/aarch64.md (3): Add SVE split case. - * config/aarch64/aarch64-simd.md (ior3): Likewise. - * config/aarch64/predicates.md(aarch64_orr_imm_sve_advsimd): New. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * config/aarch64/aarch64.md (*mov_aarch64, *movsi_aarch64, - *movdi_aarch64): Add new w -> Z case. - * config/aarch64/iterators.md (Vbtype): Add QI and HI. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * config/aarch64/aarch64-protos.h (aarch64_simd_special_constant_p, - aarch64_maybe_generate_simd_constant): New. - * config/aarch64/aarch64-simd.md (*aarch64_simd_mov, - *aarch64_simd_mov): Add new coden for special constants. - * config/aarch64/aarch64.cc (aarch64_extract_vec_duplicate_wide_int): - Take optional mode. - (aarch64_simd_special_constant_p, - aarch64_maybe_generate_simd_constant): New. - * config/aarch64/aarch64.md (*movdi_aarch64): Add new codegen for - special constants. - * config/aarch64/constraints.md (Dx): new. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * internal-fn.def (COPYSIGN): New. - * match.pd (UNCOND_BINARY, COND_BINARY): Map IFN_COPYSIGN to - IFN_COND_COPYSIGN. - * optabs.def (cond_copysign_optab, cond_len_copysign_optab): New. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * match.pd: Add new neg+abs rule, remove inverse copysign rule. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * match.pd: expand existing copysign optimizations. - -2023-11-09 Tatsuyuki Ishi - - PR driver/111605 - * collect2.cc (main): Do not prepend target triple to - -fuse-ld=lld,mold. - -2023-11-09 Richard Biener - - PR tree-optimization/111133 - * tree-vect-stmts.cc (vect_build_scatter_store_calls): - Remove and refactor to ... - (vect_build_one_scatter_store_call): ... this new function. - (vectorizable_store): Use vect_check_scalar_mask to record - the SLP node for the mask operand. Code generate scatters - with builtin decls from the main scatter vectorization - path and prepare that for SLP. - * tree-vect-slp.cc (vect_get_operand_map): Do not look - at the VDEF to decide between scatter or gather since that - doesn't work for patterns. Use the LHS being an SSA_NAME - or not instead. - -2023-11-09 Pan Li - - * config/riscv/riscv.cc (riscv_frm_emit_after_bb_end): Only - perform once emit when at least one succ edge is abnormal. - -2023-11-09 Richard Biener - - * tree-vect-loop.cc (vect_verify_full_masking_avx512): - Check we have integer mode masks as required by - vect_get_loop_mask. - -2023-11-09 Richard Biener - - PR tree-optimization/112444 - * tree-ssa-sccvn.cc (visit_phi): Avoid using not visited - defs as undefined vals. - -2023-11-09 YunQiang Su - - * config/mips/mips.cc(mips_option_override): Set mips_abs to - 2008, if mips_abs is default and mips_nan is 2008. - -2023-11-09 Florian Weimer - - * doc/invoke.texi (Warning Options): Document - -Wreturn-mismatch. Update -Wreturn-type documentation. - -2023-11-09 Stefan Schulze Frielinghaus - - * config/s390/s390.md: Remove UNSPEC_VEC_ELTSWAP. - * config/s390/vector.md (eltswapv16qi): New expander. - (*eltswapv16qi): New insn and splitter. - (eltswapv8hi): New insn and splitter. - (eltswap): New insn and splitter for modes V_HW_4 as well - as V_HW_2. - * config/s390/vx-builtins.md (eltswap): Remove. - (*eltswapv16qi): Remove. - (*eltswap): Remove. - (*eltswap_emu): Remove. - -2023-11-09 Stefan Schulze Frielinghaus - - * config/s390/s390.cc (expand_perm_with_rot): Remove. - (expand_perm_reverse_elements): New. - (expand_perm_with_vster): Remove. - (expand_perm_with_vstbrq): Remove. - (vectorize_vec_perm_const_1): Replace removed functions with new - one. - -2023-11-09 Stefan Schulze Frielinghaus - - * config/s390/s390.cc (expand_perm_with_merge): Deal with cases - where vmr{l,h} are still applicable if the operands are swapped. - (expand_perm_with_vpdi): Likewise for vpdi. - -2023-11-09 Stefan Schulze Frielinghaus - - * config/s390/s390.md (VX_CONV_INT): Remove iterator. - (gf): Add float mappings. - (TOINT, toint): New attribute. - (*fixuns_trunc2_z13): - Remove. - (*fixuns_trunc2_z13): Add. - (*fix_trunc2_bfp_z13): - Remove. - (*fix_trunc2_bfp_z13): Add. - (*floatuns2_z13): Remove. - (*floatuns2_z13): Add. - * config/s390/vector.md (VX_VEC_CONV_INT): Remove iterator. - (float2): Remove. - (float2): Add. - (floatuns2): Remove. - (floatuns2): Add. - (fix_trunc2): - Remove. - (fix_trunc2): Add. - (fixuns_trunc2): - Remove. - (fixuns_trunc2): Add. - -2023-11-09 Jakub Jelinek - - PR c/112339 - * attribs.cc (attribute_ignored_p): Only return true for - attr_namespace_ignored_p if as is NULL. - (decl_attributes): Never add ignored attributes. - -2023-11-09 Jin Ma - - * config/riscv/bitmanip.md: Avoid the conflict between - zbb and xtheadmemidx in patterns. - -2023-11-09 Richard Biener - - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Record - to the correct simd_clone_info. - -2023-11-09 Juzhe-Zhong - - * config/riscv/riscv-vector-costs.cc (costs::preferred_new_lmul_p): Fix ICE. - -2023-11-09 Alexandre Oliva - - * tree-cfg.cc (assign_discriminators): Handle debug stmts. - -2023-11-08 Uros Bizjak - - PR target/82524 - * config/i386/i386.md (*add_1_slp): - Split insn only for unmatched operand 0. - (*sub_1_slp): Ditto. - (*_1_slp): Merge pattern from "*and_1_slp" - and "*_1_slp" using any_logic code iterator. - Split insn only for unmatched operand 0. - (*neg1_slp): Split insn only for unmatched operand 0. - (*one_cmpl_1_slp): Ditto. - (*ashl3_1_slp): Ditto. - (*_1_slp): Ditto. - (*_1_slp): Ditto. - (*addqi_ext_1): Redefine as define_insn_and_split. Add - alternative 1 and split insn after reload for unmatched operand 0. - (*qi_ext_2): Merge pattern from - "*addqi_ext_2" and "*subqi_ext_2" using plusminus code - iterator. Redefine as define_insn_and_split. Add alternative 1 - and split insn after reload for unmatched operand 0. - (*subqi_ext_1): Redefine as define_insn_and_split. Add - alternative 1 and split insn after reload for unmatched operand 0. - (*qi_ext_0): Merge pattern from - "*andqi_ext_0" and and "*qi_ext_0" using - any_logic code iterator. - (*qi_ext_1): Merge pattern from - "*andqi_ext_1" and "*qi_ext_1" using - any_logic code iterator. Redefine as define_insn_and_split. Add - alternative 1 and split insn after reload for unmatched operand 0. - (*qi_ext_1_cc): Merge pattern from - "*andqi_ext_1_cc" and "*xorqi_ext_1_cc" using any_logic - code iterator. Redefine as define_insn_and_split. Add alternative 1 - and split insn after reload for unmatched operand 0. - (*qi_ext_2): Merge pattern from - "*andqi_ext_2" and "*qi_ext_2" using - any_logic code iterator. Redefine as define_insn_and_split. Add - alternative 1 and split insn after reload for unmatched operand 0. - (*qi_ext_3): Redefine as define_insn_and_split. - Add alternative 1 and split insn after reload for unmatched operand 0. - (*negqi_ext_1): Rename from "*negqi_ext_2". Add - alternative 1 and split insn after reload for unmatched operand 0. - (*one_cmplqi_ext_1): Ditto. - (*ashlqi_ext_1): Ditto. - (*qi_ext_1): Ditto. - -2023-11-08 Richard Biener - - * tree-vect-stmts.cc (vectorizable_load): Adjust offset - vector gathering for SLP of emulated gathers. - -2023-11-08 Richard Biener - - * tree-vectorizer.h (vect_slp_child_index_for_operand): - Add gatherscatter_p argument. - * tree-vect-slp.cc (vect_slp_child_index_for_operand): Likewise. - Pass it on. - * tree-vect-stmts.cc (vect_check_store_rhs): Turn the rhs - argument into an output, also output the SLP node associated - with it. - (vectorizable_simd_clone_call): Adjust. - (vectorizable_store): Likewise. - (vectorizable_load): Likewise. - -2023-11-08 Richard Biener - - * tree-vect-stmts.cc (vectorizable_load): Use the correct - vectorized mask operand. - -2023-11-08 Lehua Ding - - * config/riscv/vector.md (*vsetvldi_no_side_effects_si_extend): - New combine pattern. - -2023-11-08 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc: Fix ICE. - -2023-11-08 xuli - - * config/riscv/riscv-c.cc (riscv_check_builtin_call): Eliminate warning. - -2023-11-08 Hongyu Wang - - PR target/112394 - * config/i386/constraints.md (jc): New constraint that prohibits - EGPR on -mno-avx. - * config/i386/i386.md (*movdi_internal): Change r constraint - corresponds to Yd. - (*movti_internal): Likewise. - -2023-11-08 Florian Weimer - - * doc/invoke.texi (Warning Options): Mention C diagnostics - for -fpermissive. - -2023-11-08 Juzhe-Zhong - - PR target/112092 - * config/riscv/riscv-vector-builtins-bases.cc: Normalize the vsetvls. - -2023-11-08 Haochen Jiang - - PR target/111907 - * config/i386/i386.md (avx_noavx512vl): New definition for isa - attribute. - * config/i386/sse.md (*andnot3): Change isa attribute from - avx_noavx512f to avx_noavx512vl. - -2023-11-07 Pan Li - - * config/riscv/autovec.md: Remove the size check of lfloor. - * config/riscv/riscv-v.cc (expand_vec_lfloor): Leverage - emit_vec_rounding_to_integer for floor. - -2023-11-07 Robin Dapp - - PR tree-optimization/112361 - PR target/112359 - PR middle-end/112406 - * tree-if-conv.cc (convert_scalar_cond_reduction): Remember if - loop was versioned and only then create COND_OPs. - (predicate_scalar_phi): Do not create COND_OP when not - vectorizing. - * tree-vect-loop.cc (vect_expand_fold_left): Re-create - VEC_COND_EXPR. - (vectorize_fold_left_reduction): Pass mask to - vect_expand_fold_left. - -2023-11-07 Uros Bizjak - - * config/i386/predicates.md ("flags_reg_operand"): - Make predicate special to avoid automatic mode checks. - -2023-11-07 Martin Jambor - - * configure: Regenerate. - -2023-11-07 Kwok Cheung Yeung - - * lto-cgraph.cc (enum LTO_symtab_tags): Add tag for indirect - functions. - (output_offload_tables): Write indirect functions. - (input_offload_tables): read indirect functions. - * lto-section-names.h (OFFLOAD_IND_FUNC_TABLE_SECTION_NAME): New. - * omp-builtins.def (BUILT_IN_GOMP_TARGET_MAP_INDIRECT_PTR): New. - * omp-offload.cc (offload_ind_funcs): New. - (omp_discover_implicit_declare_target): Add functions marked with - 'omp declare target indirect' to indirect functions list. - (omp_finish_file): Add indirect functions to section for offload - indirect functions. - (execute_omp_device_lower): Redirect indirect calls on target by - passing function pointer to BUILT_IN_GOMP_TARGET_MAP_INDIRECT_PTR. - (pass_omp_device_lower::gate): Run pass_omp_device_lower if - indirect functions are present on an accelerator device. - * omp-offload.h (offload_ind_funcs): New. - * tree-core.h (omp_clause_code): Add OMP_CLAUSE_INDIRECT. - * tree.cc (omp_clause_num_ops): Add entry for OMP_CLAUSE_INDIRECT. - (omp_clause_code_name): Likewise. - * tree.h (OMP_CLAUSE_INDIRECT_EXPR): New. - * config/gcn/mkoffload.cc (process_asm): Process offload_ind_funcs - section. Count number of indirect functions. - (process_obj): Emit number of indirect functions. - * config/nvptx/mkoffload.cc (ind_func_ids, ind_funcs_tail): New. - (process): Emit offload_ind_func_table in PTX code. Emit indirect - function names and count in image. - * config/nvptx/nvptx.cc (nvptx_record_offload_symbol): Mark - indirect functions in PTX code with IND_FUNC_MAP. - -2023-11-07 Tobias Burnus - - * doc/invoke.texi (-fopenmp, -fopenmp-simd): Adjust wording for - attribute syntax supported also in C. - -2023-11-07 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_print_operand): Add a %Z - modifier for SVE registers. - -2023-11-07 Joseph Myers - - * builtins.def (DEF_C2X_BUILTIN): Rename to DEF_C23_BUILTIN and - use flag_isoc23 and function_c23_misc. - * config/rl78/rl78.cc (rl78_option_override): Compare - lang_hooks.name with "GNU C23" not "GNU C2X". - * coretypes.h (function_c2x_misc): Rename to function_c23_misc. - * doc/cpp.texi (@code{__has_attribute}): Refer to C23 instead of - C2x. - * doc/extend.texi: Likewise. - * doc/invoke.texi: Likewise. - * dwarf2out.cc (highest_c_language, gen_compile_unit_die): Compare - against and return "GNU C23" language string instead of "GNU C2X". - * ginclude/float.h: Refer to C23 instead of C2X in comments. - * ginclude/stdint-gcc.h: Likewise. - * glimits.h: Likewise. - * tree.h: Likewise. - -2023-11-07 Alexandre Oliva - - * doc/sourcebuild.texi (opt_mstrict_align): New target. - -2023-11-07 Lehua Ding - - * config/riscv/autovec-opt.md (*cond_len_): - New combine pattern. - (*cond_len_): Ditto. - (*cond_len_): Ditto. - (*cond_len_extend): Ditto. - (*cond_len_widen_reduc_plus_scal_): Ditto. - -2023-11-07 Juzhe-Zhong - - PR target/112399 - * config/riscv/riscv-avlprop.cc - (pass_avlprop::get_vlmax_ta_preferred_avl): Enhance AVL propagation. - * config/riscv/t-riscv: Add new include. - -2023-11-07 Pan Li - - * config/riscv/autovec.md: Remove the size check of lceil.l - * config/riscv/riscv-v.cc (expand_vec_lceil): Leverage - emit_vec_rounding_to_integer for ceil. - -2023-11-06 John David Anglin - - * config/pa/pa.cc (pa_asm_trampoline_template): Fix typo. - -2023-11-06 John David Anglin - - * config/pa/pa-linux.h (NEED_INDICATE_EXEC_STACK): Define to 1. - -2023-11-06 David Malcolm - - * diagnostic-show-locus.cc (class colorizer): Take just a - pretty_printer rather than a diagnostic_context. - (layout::layout): Make context param a const reference, - and pretty_printer param non-optional. - (layout::m_context): Drop field. - (layout::m_options): New field. - (layout::m_colorize_source_p): Drop field. - (layout::m_show_labels_p): Drop field. - (layout::m_show_line_numbers_p): Drop field. - (layout::print_gap_in_line_numbering): Use m_options. - (layout::calculate_line_spans): Likewise. - (layout::calculate_linenum_width): Likewise. - (layout::calculate_x_offset_display): Likewise. - (layout::print_source_line): Likewise. - (layout::start_annotation_line): Likewise. - (layout::print_annotation_line): Likewise. - (layout::print_line): Likewise. - (gcc_rich_location::add_location_if_nearby): Update for changes to - layout ctor. - (diagnostic_show_locus): Likewise. - (selftest::test_offset_impl): Likewise. - (selftest::test_layout_x_offset_display_utf8): Likewise. - (selftest::test_layout_x_offset_display_tab): Likewise. - (selftest::test_tab_expansion): Likewise. - * diagnostic.h (diagnostic_context::m_source_printing): Move - declaration of struct outside diagnostic_context as... - (struct diagnostic_source_printing_options)... this. - -2023-11-06 David Malcolm - - * diagnostic.cc (diagnostic_context::push_diagnostics): Convert - to... - (diagnostic_option_classifier::push): ...this. - (diagnostic_context::pop_diagnostics): Convert to... - (diagnostic_option_classifier::pop): ...this. - (diagnostic_context::initialize): Move code to... - (diagnostic_option_classifier::init): ...this new function. - (diagnostic_context::finish): Move code to... - (diagnostic_option_classifier::fini): ...this new function. - (diagnostic_context::classify_diagnostic): Convert to... - (diagnostic_option_classifier::classify_diagnostic): ...this. - (diagnostic_context::update_effective_level_from_pragmas): Convert - to... - (diagnostic_option_classifier::update_effective_level_from_pragmas): - ...this. - (diagnostic_context::diagnostic_enabled): Update for refactoring. - * diagnostic.h (struct diagnostic_classification_change_t): Move into... - (class diagnostic_option_classifier): ...this new class. - (diagnostic_context::option_unspecified_p): Update for move of - fields into m_option_classifier. - (diagnostic_context::classify_diagnostic): Likewise. - (diagnostic_context::push_diagnostics): Likewise. - (diagnostic_context::pop_diagnostics): Likewise. - (diagnostic_context::update_effective_level_from_pragmas): Delete. - (diagnostic_context::m_classify_diagnostic): Move into class - diagnostic_option_classifier. - (diagnostic_context::m_option_classifier): Likewise. - (diagnostic_context::m_classification_history): Likewise. - (diagnostic_context::m_n_classification_history): Likewise. - (diagnostic_context::m_push_list): Likewise. - (diagnostic_context::m_n_push): Likewise. - (diagnostic_context::m_option_classifier): New. - -2023-11-06 David Malcolm - - * diagnostic.cc (diagnostic_context::set_urlifier): New. - * diagnostic.h (diagnostic_context::set_urlifier): New decl. - (diagnostic_context::m_urlifier): Make private. - * gcc.cc (driver::global_initializations): Use set_urlifier rather - than directly setting field. - * toplev.cc (general_init): Likewise. - -2023-11-06 David Malcolm - - * diagnostic.cc (diagnostic_context::check_max_errors): Replace - uses of diagnostic_kind_count with simple field acesss. - (diagnostic_context::report_diagnostic): Likewise. - (diagnostic_text_output_format::~diagnostic_text_output_format): - Replace use of diagnostic_kind_count with - diagnostic_context::diagnostic_count. - * diagnostic.h (diagnostic_kind_count): Delete. - (errorcount): Replace use of diagnostic_kind_count with - diagnostic_context::diagnostic_count. - (warningcount): Likewise. - (werrorcount): Likewise. - (sorrycount): Likewise. - -2023-11-06 Christophe Lyon - - * doc/sourcebuild.texi (Other attributes): Document thread_fence - effective-target. - -2023-11-06 Uros Bizjak - - * config/i386/constraints.md (Bc): Remove constraint. - (Bn): Rewrite to use x86_extended_reg_mentioned_p predicate. - * config/i386/i386.cc (ix86_memory_address_reg_class): - Do not limit processing to TARGET_APX_EGPR. Exit early for - NULL insn. Do not check recog_data.insn before calling - extract_insn_cached. - (ix86_insn_base_reg_class): Handle ADDR_GPR8. - (ix86_regno_ok_for_insn_base_p): Ditto. - (ix86_insn_index_reg_class): Ditto. - * config/i386/i386.md (*cmpqi_ext_1_mem_rex64): - Remove insn pattern and corresponding peephole2 pattern. - (*cmpi_ext_1): Remove (m,Q) alternative. - Change (QBc,Q) alternative to (QBn,Q). Add "addr" attribute. - (*cmpqi_ext_3_mem_rex64): Remove insn pattern - and corresponding peephole2 pattern. - (*cmpi_ext_3): Remove (Q,m) alternative. - Change (Q,QnBc) alternative to (Q,QnBn). Add "addr" attribute. - (*extzvqi_mem_rex64): Remove insn pattern and - corresponding peephole2 pattern. - (*extzvqi): Remove (Q,m) alternative. Change (Q,QnBc) - alternative to (Q,QnBn). Add "addr" attribute. - (*insvqi_1_mem_rex64): Remove insn pattern and - corresponding peephole2 pattern. - (*insvqi_1): Remove (Q,m) alternative. Change (Q,QnBc) - alternative to (Q,QnBn). Add "addr" attribute. - (@insv_1): Ditto. - (*addqi_ext_0): Remove (m,0,Q) alternative. Change (QBc,0,Q) - alternative to (QBn,0,Q). Add "addr" attribute. - (*subqi_ext_0): Ditto. - (*andqi_ext_0): Ditto. - (*qi_ext_0): Ditto. - (*addqi_ext_1): Remove (Q,0,m) alternative. Change (Q,0,QnBc) - alternative to (Q,0,QnBn). Add "addr" attribute. - (*andqi_ext_1): Ditto. - (*andqi_ext_1_cc): Ditto. - (*qi_ext_1): Ditto. - (*xorqi_ext_1_cc): Ditto. - * config/i386/predicates.md (nonimm_x64constmem_operand): - Remove predicate. - (general_x64constmem_operand): Ditto. - (norex_memory_operand): Ditto. - -2023-11-06 Joseph Myers - - PR c/107954 - * doc/cpp.texi (__STDC_VERSION__): Refer to -std=c23 and - -std=gnu23 instead of -std=c2x and -std=gnu2x. - * doc/extend.texi (Attribute Syntax): Refer to C23 and -std=c23 - instead of C2x and -std=c2x. - * doc/invoke.texi (-Wc11-c23-compat, -std=c23, -std=gnu23) - (-std=iso9899:2024): Document, with -Wc11-c2x-compat, -std=c2x and - -std=gnu2x as deprecated aliases. Update descriptions of C23. - * doc/standards.texi (Standards): Describe C23 with C2X as an old - name. - -2023-11-06 Thomas Schwinge - - * config/nvptx/nvptx.h (MAKE_DECL_ONE_ONLY): Define. - -2023-11-06 Richard Biener - - PR tree-optimization/112405 - * tree-vect-stmts.cc (vectorizable_simd_clone_call): - Properly handle invariant and/or loop mask passing. - -2023-11-06 Pan Li - - * config/riscv/autovec.md: Remove the size check of lround. - * config/riscv/riscv-v.cc (expand_vec_lround): Leverage - emit_vec_rounding_to_integer for round. - -2023-11-06 Juzhe-Zhong - - * config/riscv/predicates.md: Adapt predicate. - * config/riscv/riscv-protos.h (can_be_broadcasted_p): New function. - * config/riscv/riscv-v.cc (can_be_broadcasted_p): Ditto. - * config/riscv/vector.md (vec_duplicate): New pattern. - (*vec_duplicate): Adapt vec_duplicate insn pattern. - -2023-11-06 Richard Biener - - PR tree-optimization/111950 - * tree-vect-loop-manip.cc (slpeel_duplicate_current_defs_from_edges): - Remove. - (find_guard_arg): Likewise. - (slpeel_update_phi_nodes_for_guard2): Likewise. - (slpeel_tree_duplicate_loop_to_edge_cfg): Remove calls to - slpeel_duplicate_current_defs_from_edges, do not elide - LC-PHIs for invariant values. - (vect_do_peeling): Materialize PHI arguments for the edge - around the epilog from the PHI defs of the main loop exit. - -2023-11-06 Richard Biener - - PR tree-optimization/112404 - * tree-vectorizer.h (get_mask_type_for_scalar_type): Declare - overload with SLP node argument. - * tree-vect-stmts.cc (get_mask_type_for_scalar_type): Implement it. - (vect_check_scalar_mask): Use it. - * tree-vect-slp.cc (vect_gather_slp_loads): Properly identify - loads also for nodes with children, like .MASK_LOAD. - * tree-vect-loop.cc (vect_analyze_loop_2): Look at the - representative for load nodes and check whether it is a grouped - access before looking for load-lanes support. - -2023-11-06 Robin Dapp - - PR tree-optimization/111760 - * config/riscv/autovec.md (vcond_mask_len_): Add - expander. - * config/riscv/riscv-protos.h (enum insn_type): Add. - * config/riscv/riscv-v.cc (needs_fp_rounding): Add !pred_mov. - * doc/md.texi: Add vcond_mask_len. - * gimple-match-exports.cc (maybe_resimplify_conditional_op): - Create VCOND_MASK_LEN when length masking. - * gimple-match.h (gimple_match_op::gimple_match_op): Always - initialize len and bias. - * internal-fn.cc (vec_cond_mask_len_direct): Add. - (direct_vec_cond_mask_len_optab_supported_p): Add. - (internal_fn_len_index): Add VCOND_MASK_LEN. - (internal_fn_mask_index): Ditto. - * internal-fn.def (VCOND_MASK_LEN): New internal function. - * match.pd: Combine unconditional unary, binary and ternary - operations into the respective COND_LEN operations. - * optabs.def (OPTAB_D): Add vcond_mask_len optab. - -2023-11-06 Richard Sandiford - - * explow.cc (align_dynamic_address): Do nothing if the required - alignment is a byte. - -2023-11-06 Richard Sandiford - - * function.h (get_stack_dynamic_offset): Declare. - * function.cc (get_stack_dynamic_offset): New function, - split out from... - (get_stack_dynamic_offset): ...here. - * explow.cc (allocate_dynamic_stack_space): Handle calls made - after virtual registers have been instantiated. - -2023-11-06 liuhongt - - PR target/112393 - * config/i386/i386-expand.cc (ix86_expand_vec_perm_vpermt2): - Avoid generating RTL code when d->testing_p. - -2023-11-06 Richard Biener - - PR tree-optimization/112369 - * tree.cc (strip_float_extensions): Use element_precision. - -2023-11-06 Richard Biener - - PR middle-end/112296 - * doc/extend.texi (__builtin_constant_p): Clarify that - side-effects are discarded. - -2023-11-06 Kewen Lin - - PR target/111828 - * config.in: Regenerate. - * config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Guard - inline asm handling under !HAVE_AS_POWER10_HTM. - * configure: Regenerate. - * configure.ac: Detect assembler support for HTM insns at power10. - -2023-11-06 xuli - Pan Li - - * config/riscv/riscv-c.cc (riscv_resolve_overloaded_builtin): New function for the hook. - (riscv_register_pragmas): Register the hook. - * config/riscv/riscv-protos.h (resolve_overloaded_builtin): New decl. - * config/riscv/riscv-vector-builtins-bases.cc: New function impl. - * config/riscv/riscv-vector-builtins-shapes.cc (build_one): Register overloaded function. - * config/riscv/riscv-vector-builtins.cc (struct non_overloaded_registered_function_hasher): - New hash table. - (function_builder::add_function): Add overloaded arg. - (function_builder::add_unique_function): Map overloaded function to non-overloaded function. - (function_builder::add_overloaded_function): New API impl. - (registered_function::overloaded_hash): Calculate hash value. - (has_vxrm_or_frm_p): New function impl. - (non_overloaded_registered_function_hasher::hash): Ditto. - (non_overloaded_registered_function_hasher::equal): Ditto. - (handle_pragma_vector): Allocate space for hash table. - (resolve_overloaded_builtin): New function impl. - * config/riscv/riscv-vector-builtins.h (function_base::may_require_frm_p): Ditto. - (function_base::may_require_vxrm_p): Ditto. - -2023-11-06 Haochen Jiang - - PR target/111889 - * config/i386/avx512bf16intrin.h: Push no-evex512 target. - * config/i386/avx512bf16vlintrin.h: Ditto. - * config/i386/avx512bitalgvlintrin.h: Ditto. - * config/i386/avx512bwintrin.h: Ditto. - * config/i386/avx512dqintrin.h: Ditto. - * config/i386/avx512fintrin.h: Ditto. - * config/i386/avx512fp16intrin.h: Ditto. - * config/i386/avx512fp16vlintrin.h: Ditto. - * config/i386/avx512ifmavlintrin.h: Ditto. - * config/i386/avx512vbmi2vlintrin.h: Ditto. - * config/i386/avx512vbmivlintrin.h: Ditto. - * config/i386/avx512vlbwintrin.h: Ditto. - * config/i386/avx512vldqintrin.h: Ditto. - * config/i386/avx512vlintrin.h: Ditto. - * config/i386/avx512vnnivlintrin.h: Ditto. - * config/i386/avx512vp2intersectvlintrin.h: Ditto. - * config/i386/avx512vpopcntdqvlintrin.h: Ditto. - -2023-11-06 Haochen Jiang - - * config/i386/avx512bf16vlintrin.h - (_mm_avx512_castsi128_ps): New. - (_mm256_avx512_castsi256_ps): Ditto. - (_mm_avx512_slli_epi32): Ditto. - (_mm256_avx512_slli_epi32): Ditto. - (_mm_avx512_cvtepi16_epi32): Ditto. - (_mm256_avx512_cvtepi16_epi32): Ditto. - (__attribute__): Change intrin call. - * config/i386/avx512bwintrin.h - (_mm_avx512_set_epi32): New. - (_mm_avx512_set_epi16): Ditto. - (_mm_avx512_set_epi8): Ditto. - (__attribute__): Change intrin call. - * config/i386/avx512fp16intrin.h: Ditto. - * config/i386/avx512fp16vlintrin.h - (_mm_avx512_set1_ps): New. - (_mm256_avx512_set1_ps): Ditto. - (_mm_avx512_and_si128): Ditto. - (_mm256_avx512_and_si256): Ditto. - (__attribute__): Change intrin call. - * config/i386/avx512vlbwintrin.h - (_mm_avx512_set1_epi32): New. - (_mm_avx512_set1_epi16): Ditto. - (_mm_avx512_set1_epi8): Ditto. - (_mm256_avx512_set_epi16): Ditto. - (_mm256_avx512_set_epi8): Ditto. - (_mm256_avx512_set1_epi16): Ditto. - (_mm256_avx512_set1_epi32): Ditto. - (_mm256_avx512_set1_epi8): Ditto. - (_mm_avx512_max_epi16): Ditto. - (_mm_avx512_min_epi16): Ditto. - (_mm_avx512_max_epu16): Ditto. - (_mm_avx512_min_epu16): Ditto. - (_mm_avx512_max_epi8): Ditto. - (_mm_avx512_min_epi8): Ditto. - (_mm_avx512_max_epu8): Ditto. - (_mm_avx512_min_epu8): Ditto. - (_mm256_avx512_max_epi16): Ditto. - (_mm256_avx512_min_epi16): Ditto. - (_mm256_avx512_max_epu16): Ditto. - (_mm256_avx512_min_epu16): Ditto. - (_mm256_avx512_insertf128_ps): Ditto. - (_mm256_avx512_extractf128_pd): Ditto. - (_mm256_avx512_extracti128_si256): Ditto. - (_MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI16): Ditto. - (_MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP16): Ditto. - (_MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI8): Ditto. - (_MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP8): Ditto. - (__attribute__): Change intrin call. - -2023-11-06 Haochen Jiang - - * config/i386/avx512bf16vlintrin.h: Change intrin call. - * config/i386/avx512fintrin.h - (_mm_avx512_undefined_ps): New. - (_mm_avx512_undefined_pd): Ditto. - (__attribute__): Change intrin call. - * config/i386/avx512vbmivlintrin.h: Ditto. - * config/i386/avx512vlbwintrin.h: Ditto. - * config/i386/avx512vldqintrin.h: Ditto. - * config/i386/avx512vlintrin.h - (_mm_avx512_undefined_si128): New. - (_mm256_avx512_undefined_ps): Ditto. - (_mm256_avx512_undefined_pd): Ditto. - (_mm256_avx512_undefined_si256): Ditto. - (__attribute__): Change intrin call. - -2023-11-06 Haochen Jiang - - * config/i386/avx512bitalgvlintrin.h: Change intrin call. - * config/i386/avx512dqintrin.h: Ditto. - * config/i386/avx512fintrin.h: - (_mm_avx512_setzero_ps): New. - (_mm_avx512_setzero_pd): Ditto. - (__attribute__): Change intrin call. - * config/i386/avx512fp16intrin.h: Ditto. - * config/i386/avx512fp16vlintrin.h: Ditto. - * config/i386/avx512vbmi2vlintrin.h: Ditto. - * config/i386/avx512vbmivlintrin.h: Ditto. - * config/i386/avx512vlbwintrin.h: Ditto. - * config/i386/avx512vldqintrin.h: Ditto. - * config/i386/avx512vlintrin.h - (_mm_avx512_setzero_si128): New. - (_mm256_avx512_setzero_pd): Ditto. - (_mm256_avx512_setzero_ps): Ditto. - (_mm256_avx512_setzero_si256): Ditto. - (__attribute__): Change intrin call. - * config/i386/avx512vpopcntdqvlintrin.h: Ditto. - * config/i386/gfniintrin.h: Ditto. - -2023-11-05 Uros Bizjak - - * config/i386/i386.h (enum reg_class): Add LEGACY_INDEX_REGS. - Rename LEGACY_REGS to LEGACY_GENERAL_REGS. - (REG_CLASS_NAMES): Ditto. - (REG_CLASS_CONTENTS): Ditto. - * config/i386/constraints.md ("R"): Update for rename. - -2023-11-05 Richard Sandiford - - * mode-switching.cc: Remove unused forward references. - (seginfo): Remove bbnum. - (new_seginfo): Remove associated argument. - (optimize_mode_switching): Update calls accordingly. - -2023-11-05 Richard Sandiford - - * read-rtl.cc (read_rtx_operand): Avoid spinning endlessly for - invalid [...] operands. - -2023-11-05 Richard Sandiford - - PR target/112105 - * config/aarch64/aarch64.cc (aarch64_modes_compatible_p): New - function, with the core logic extracted from... - (aarch64_can_change_mode_class): ...here. Extend the previous rules - to allow changes between partial SVE modes and other modes if - the other mode is no bigger than an element, and if no other rule - prevents it. Use the aarch64_modes_tieable_p handling of - partial Advanced SIMD structure modes. - (aarch64_modes_tieable_p): Use aarch64_modes_compatible_p. - Allow all vector mode ties that it allows. - -2023-11-05 Pan Li - - * config/riscv/autovec.md: Remove the size check of lrint. - * config/riscv/riscv-v.cc (emit_vec_narrow_cvt_x_f): New help - emit func impl. - (emit_vec_widden_cvt_x_f): New help emit func impl. - (emit_vec_rounding_to_integer): New func impl to emit the - rounding from FP to integer. - (expand_vec_lrint): Leverage emit_vec_rounding_to_integer. - * config/riscv/vector.md: Take V_VLSF for vfncvt. - -2023-11-05 Juzhe-Zhong - - * config/riscv/vector.md: Fix bug. - -2023-11-04 Sergei Trofimovich - - PR bootstrap/112379 - * gcc-urlifier.cc (get_url_suffix_for_quoted_text): Mark as - ATTRIBUTE_UNUSED. - -2023-11-04 Pan Li - - * config/riscv/vector-iterators.md: Remove HF modes. - -2023-11-04 David Malcolm - - * diagnostic.cc: Include "pretty-print-urlifier.h". - (diagnostic_context::initialize): Initialize m_urlifier. - (diagnostic_context::finish): Clean up m_urlifier - (diagnostic_report::diagnostic): m_urlifier to pp_format. - * diagnostic.h (diagnostic_context::m_urlifier): New field. - * gcc-urlifier.cc: New file. - * gcc-urlifier.def: New file. - * gcc-urlifier.h: New file. - * gcc.cc: Include "gcc-urlifier.h". - (driver::global_initializations): Initialize global_dc->m_urlifier. - * pretty-print-urlifier.h: New file. - * pretty-print.cc: Include "pretty-print-urlifier.h". - (obstack_append_string): New. - (urlify_quoted_string): New. - (pp_format): Add "urlifier" param and use it to implement optional - urlification of quoted text strings. - (pp_output_formatted_text): Make buffer a const pointer. - (selftest::pp_printf_with_urlifier): New. - (selftest::test_urlification): New. - (selftest::pretty_print_cc_tests): Call it. - * pretty-print.h (class urlifier): New forward declaration. - (pp_format): Add optional urlifier param. - * selftest-run-tests.cc (selftest::run_tests): Call - selftest::gcc_urlifier_cc_tests . - * selftest.h (selftest::gcc_urlifier_cc_tests): New decl. - * toplev.cc: Include "gcc-urlifier.h". - (general_init): Initialize global_dc->m_urlifier. - -2023-11-04 David Malcolm - - * Makefile.in (GCC_OBJS): Add gcc-urlifier.o. - (OBJS): Likewise. - -2023-11-04 David Malcolm - - * common.opt (fdiagnostics-text-art-charset=): Remove refererence - to diagnostic-text-art.h. - * coretypes.h (struct diagnostic_context): Replace forward decl - with... - (class diagnostic_context): ...this. - * diagnostic-format-json.cc: Update for changes to - diagnostic_context. - * diagnostic-format-sarif.cc: Likewise. - * diagnostic-show-locus.cc: Likewise. - * diagnostic-text-art.h: Deleted file, moving content... - (enum diagnostic_text_art_charset): ...to diagnostic.h, - (DIAGNOSTICS_TEXT_ART_CHARSET_DEFAULT): ...deleting, - (diagnostics_text_art_charset_init): ...deleting in favor of - diagnostic_context::set_text_art_charset. - * diagnostic.cc: Remove include of "diagnostic-text-art.h". - (pedantic_warning_kind): Update for field renaming. - (permissive_error_kind): Likewise. - (permissive_error_option): Likewise. - (diagnostic_initialize): Convert to... - (diagnostic_context::initialize): ...this, updating for field - renamings. - (diagnostic_color_init): Convert to... - (diagnostic_context::color_init): ...this. - (diagnostic_urls_init): Convert to... - (diagnostic_context::urls_init): ...this. - (diagnostic_initialize_input_context): Convert to... - (diagnostic_context::initialize_input_context): ...this. - (diagnostic_finish): Convert to... - (diagnostic_context::finish): ...this, updating for field - renamings. - (diagnostic_context::set_output_format): New. - (diagnostic_context::set_client_data_hooks): New. - (diagnostic_context::create_edit_context): New. - (diagnostic_converted_column): Convert to... - (diagnostic_context::converted_column): ...this. - (diagnostic_get_location_text): Update for field renaming. - (diagnostic_check_max_errors): Convert to... - (diagnostic_context::check_max_errors): ...this, updating for - field renamings. - (diagnostic_action_after_output): Convert to... - (diagnostic_context::action_after_output): ...this, updating for - field renamings. - (last_module_changed_p): Delete. - (set_last_module): Delete. - (includes_seen): Convert to... - (diagnostic_context::includes_seen_p): ...this, updating for field - renamings. - (diagnostic_report_current_module): Convert to... - (diagnostic_context::report_current_module): ...this, updating for - field renamings, and replacing uses of last_module_changed_p and - set_last_module to simple field accesses. - (diagnostic_show_any_path): Convert to... - (diagnostic_context::show_any_path): ...this. - (diagnostic_classify_diagnostic): Convert to... - (diagnostic_context::classify_diagnostic): ...this, updating for - field renamings. - (diagnostic_push_diagnostics): Convert to... - (diagnostic_context::push_diagnostics): ...this, updating for field - renamings. - (diagnostic_pop_diagnostics): Convert to... - (diagnostic_context::pop_diagnostics): ...this, updating for field - renamings. - (get_any_inlining_info): Convert to... - (diagnostic_context::get_any_inlining_info): ...this, updating for - field renamings. - (update_effective_level_from_pragmas): Convert to... - (diagnostic_context::update_effective_level_from_pragmas): - ...this, updating for field renamings. - (print_any_cwe): Convert to... - (diagnostic_context::print_any_cwe): ...this. - (print_any_rules): Convert to... - (diagnostic_context::print_any_rules): ...this. - (print_option_information): Convert to... - (diagnostic_context::print_option_information): ...this, updating - for field renamings. - (diagnostic_enabled): Convert to... - (diagnostic_context::diagnostic_enabled): ...this, updating for - field renamings. - (warning_enabled_at): Convert to... - (diagnostic_context::warning_enabled_at): ...this. - (diagnostic_report_diagnostic): Convert to... - (diagnostic_context::report_diagnostic): ...this, updating for - field renamings and conversions to member functions. - (diagnostic_append_note): Update for field renaming. - (diagnostic_impl): Use diagnostic_context::report_diagnostic - directly. - (diagnostic_n_impl): Likewise. - (diagnostic_emit_diagram): Convert to... - (diagnostic_context::emit_diagram): ...this, updating for field - renamings. - (error_recursion): Convert to... - (diagnostic_context::error_recursion): ...this. - (diagnostic_text_output_format::~diagnostic_text_output_format): - Use accessor. - (diagnostics_text_art_charset_init): Convert to... - (diagnostic_context::set_text_art_charset): ...this. - (assert_location_text): Update for field renamings. - * diagnostic.h (enum diagnostic_text_art_charset): Move here from - diagnostic-text-art.h. - (struct diagnostic_context): Convert to... - (class diagnostic_context): ...this. - (diagnostic_context::ice_handler_callback_t): New typedef. - (diagnostic_context::set_locations_callback_t): New typedef. - (diagnostic_context::initialize): New decl. - (diagnostic_context::color_init): New decl. - (diagnostic_context::urls_init): New decl. - (diagnostic_context::file_cache_init): New decl. - (diagnostic_context::finish): New decl. - (diagnostic_context::set_set_locations_callback): New. - (diagnostic_context::initialize_input_context): New decl. - (diagnostic_context::warning_enabled_at): New decl. - (diagnostic_context::option_unspecified_p): New. - (diagnostic_context::report_diagnostic): New decl. - (diagnostic_context::report_current_module): New decl. - (diagnostic_context::check_max_errors): New decl. - (diagnostic_context::action_after_output): New decl. - (diagnostic_context::classify_diagnostic): New decl. - (diagnostic_context::push_diagnostics): New decl. - (diagnostic_context::pop_diagnostics): New decl. - (diagnostic_context::emit_diagram): New decl. - (diagnostic_context::set_output_format): New decl. - (diagnostic_context::set_text_art_charset): New decl. - (diagnostic_context::set_client_data_hooks): New decl. - (diagnostic_context::create_edit_context): New decl. - (diagnostic_context::set_warning_as_error_requested): New. - (diagnostic_context::set_report_bug): New. - (diagnostic_context::set_extra_output_kind): New. - (diagnostic_context::set_show_cwe): New. - (diagnostic_context::set_show_rules): New. - (diagnostic_context::set_path_format): New. - (diagnostic_context::set_show_path_depths): New. - (diagnostic_context::set_show_option_requested): New. - (diagnostic_context::set_max_errors): New. - (diagnostic_context::set_escape_format): New. - (diagnostic_context::set_ice_handler_callback): New. - (diagnostic_context::warning_as_error_requested_p): New. - (diagnostic_context::show_path_depths_p): New. - (diagnostic_context::get_path_format): New. - (diagnostic_context::get_escape_format): New. - (diagnostic_context::get_file_cache): New. - (diagnostic_context::get_edit_context): New. - (diagnostic_context::get_client_data_hooks): New. - (diagnostic_context::get_diagram_theme): New. - (diagnostic_context::converted_column): New decl. - (diagnostic_context::diagnostic_count): New. - (diagnostic_context::includes_seen_p): New decl. - (diagnostic_context::print_any_cwe): New decl. - (diagnostic_context::print_any_rules): New decl. - (diagnostic_context::print_option_information): New decl. - (diagnostic_context::show_any_path): New decl. - (diagnostic_context::error_recursion): New decl. - (diagnostic_context::diagnostic_enabled): New decl. - (diagnostic_context::get_any_inlining_info): New decl. - (diagnostic_context::update_effective_level_from_pragmas): New - decl. - (diagnostic_context::m_file_cache): Make private. - (diagnostic_context::diagnostic_count): Rename to... - (diagnostic_context::m_diagnostic_count): ...this and make - private. - (diagnostic_context::warning_as_error_requested): Rename to... - (diagnostic_context::m_warning_as_error_requested): ...this and - make private. - (diagnostic_context::n_opts): Rename to... - (diagnostic_context::m_n_opts): ...this and make private. - (diagnostic_context::classify_diagnostic): Rename to... - (diagnostic_context::m_classify_diagnostic): ...this and make - private. - (diagnostic_context::classification_history): Rename to... - (diagnostic_context::m_classification_history): ...this and make - private. - (diagnostic_context::n_classification_history): Rename to... - (diagnostic_context::m_n_classification_history): ...this and make - private. - (diagnostic_context::push_list): Rename to... - (diagnostic_context::m_push_list): ...this and make private. - (diagnostic_context::n_push): Rename to... - (diagnostic_context::m_n_push): ...this and make private. - (diagnostic_context::show_cwe): Rename to... - (diagnostic_context::m_show_cwe): ...this and make private. - (diagnostic_context::show_rules): Rename to... - (diagnostic_context::m_show_rules): ...this and make private. - (diagnostic_context::path_format): Rename to... - (diagnostic_context::m_path_format): ...this and make private. - (diagnostic_context::show_path_depths): Rename to... - (diagnostic_context::m_show_path_depths): ...this and make - private. - (diagnostic_context::show_option_requested): Rename to... - (diagnostic_context::m_show_option_requested): ...this and make - private. - (diagnostic_context::abort_on_error): Rename to... - (diagnostic_context::m_abort_on_error): ...this. - (diagnostic_context::show_column): Rename to... - (diagnostic_context::m_show_column): ...this. - (diagnostic_context::pedantic_errors): Rename to... - (diagnostic_context::m_pedantic_errors): ...this. - (diagnostic_context::permissive): Rename to... - (diagnostic_context::m_permissive): ...this. - (diagnostic_context::opt_permissive): Rename to... - (diagnostic_context::m_opt_permissive): ...this. - (diagnostic_context::fatal_errors): Rename to... - (diagnostic_context::m_fatal_errors): ...this. - (diagnostic_context::dc_inhibit_warnings): Rename to... - (diagnostic_context::m_inhibit_warnings): ...this. - (diagnostic_context::dc_warn_system_headers): Rename to... - (diagnostic_context::m_warn_system_headers): ...this. - (diagnostic_context::max_errors): Rename to... - (diagnostic_context::m_max_errors): ...this and make private. - (diagnostic_context::internal_error): Rename to... - (diagnostic_context::m_internal_error): ...this. - (diagnostic_context::option_enabled): Rename to... - (diagnostic_context::m_option_enabled): ...this. - (diagnostic_context::option_state): Rename to... - (diagnostic_context::m_option_state): ...this. - (diagnostic_context::option_name): Rename to... - (diagnostic_context::m_option_name): ...this. - (diagnostic_context::get_option_url): Rename to... - (diagnostic_context::m_get_option_url): ...this. - (diagnostic_context::print_path): Rename to... - (diagnostic_context::m_print_path): ...this. - (diagnostic_context::make_json_for_path): Rename to... - (diagnostic_context::m_make_json_for_path): ...this. - (diagnostic_context::x_data): Rename to... - (diagnostic_context::m_client_aux_data): ...this. - (diagnostic_context::last_location): Rename to... - (diagnostic_context::m_last_location): ...this. - (diagnostic_context::last_module): Rename to... - (diagnostic_context::m_last_module): ...this and make private. - (diagnostic_context::lock): Rename to... - (diagnostic_context::m_lock): ...this and make private. - (diagnostic_context::lang_mask): Rename to... - (diagnostic_context::m_lang_mask): ...this. - (diagnostic_context::inhibit_notes_p): Rename to... - (diagnostic_context::m_inhibit_notes_p): ...this. - (diagnostic_context::report_bug): Rename to... - (diagnostic_context::m_report_bug): ...this and make private. - (diagnostic_context::extra_output_kind): Rename to... - (diagnostic_context::m_extra_output_kind): ...this and make - private. - (diagnostic_context::column_unit): Rename to... - (diagnostic_context::m_column_unit): ...this and make private. - (diagnostic_context::column_origin): Rename to... - (diagnostic_context::m_column_origin): ...this and make private. - (diagnostic_context::tabstop): Rename to... - (diagnostic_context::m_tabstop): ...this and make private. - (diagnostic_context::escape_format): Rename to... - (diagnostic_context::m_escape_format): ...this and make private. - (diagnostic_context::edit_context_ptr): Rename to... - (diagnostic_context::m_edit_context_ptr): ...this and make - private. - (diagnostic_context::set_locations_cb): Rename to... - (diagnostic_context::m_set_locations_cb): ...this and make - private. - (diagnostic_context::ice_handler_cb): Rename to... - (diagnostic_context::m_ice_handler_cb): ...this and make private. - (diagnostic_context::includes_seen): Rename to... - (diagnostic_context::m_includes_seen): ...this and make private. - (diagnostic_inhibit_notes): Update for field renaming. - (diagnostic_context_auxiliary_data): Likewise. - (diagnostic_abort_on_error): Convert from macro to inline function - and update for field renaming. - (diagnostic_kind_count): Convert from macro to inline function and - use diagnostic_count accessor. - (diagnostic_report_warnings_p): Update for field renaming. - (diagnostic_initialize): Convert decl to inline function calling - into diagnostic_context. - (diagnostic_color_init): Likewise. - (diagnostic_urls_init): Likewise. - (diagnostic_urls_init): Likewise. - (diagnostic_finish): Likewise. - (diagnostic_report_current_module): Likewise. - (diagnostic_show_any_path): Delete decl. - (diagnostic_initialize_input_context): Convert decl to inline - function calling into diagnostic_context. - (diagnostic_classify_diagnostic): Likewise. - (diagnostic_push_diagnostics): Likewise. - (diagnostic_pop_diagnostics): Likewise. - (diagnostic_report_diagnostic): Likewise. - (diagnostic_action_after_output): Likewise. - (diagnostic_check_max_errors): Likewise. - (diagnostic_file_cache_fini): Delete decl. - (diagnostic_converted_column): Delete decl. - (warning_enabled_at): Convert decl to inline function calling into - diagnostic_context. - (option_unspecified_p): New. - (diagnostic_emit_diagram): Delete decl. - * gcc.cc: Remove include of "diagnostic-text-art.h". - Update for changes to diagnostic_context. - * input.cc (diagnostic_file_cache_init): Move implementation - to... - (diagnostic_context::file_cache_init): ...this new member - function. - (diagnostic_file_cache_fini): Delete. - (diagnostics_file_cache_forcibly_evict_file): Update for - m_file_cache becoming private. - (location_get_source_line): Likewise. - (get_source_file_content): Likewise. - (location_missing_trailing_newline): Likewise. - * input.h (diagnostics_file_cache_fini): Delete. - * langhooks.cc: Update for changes to diagnostic_context. - * lto-wrapper.cc: Likewise. - * opts.cc: Remove include of "diagnostic-text-art.h". - Update for changes to diagnostic_context. - * selftest-diagnostic.cc: Update for changes to - diagnostic_context. - * toplev.cc: Likewise. - * tree-diagnostic-path.cc: Likewise. - * tree-diagnostic.cc: Likewise. - -2023-11-03 Martin Uecker - - PR c/98541 - * gimple-ssa-warn-access.cc - (pass_waccess::maybe_check_access_sizes): For VLA bounds - in parameters, only warn about null pointers with 'static'. - -2023-11-03 Andre Vieira - - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow unmasked - calls to use masked simdclones. - -2023-11-03 David Malcolm - - * diagnostic.cc (diagnostic_initialize): Update for consolidation - of group-based fields. - (diagnostic_report_diagnostic): Likewise. - (diagnostic_context::begin_group): New, based on body of - auto_diagnostic_group's ctor. - (diagnostic_context::end_group): New, based on body of - auto_diagnostic_group's dtor. - (auto_diagnostic_group::auto_diagnostic_group): Convert to a call - to begin_group. - (auto_diagnostic_group::~auto_diagnostic_group): Convert to a call - to end_group. - * diagnostic.h (diagnostic_context::begin_group): New decl. - (diagnostic_context::end_group): New decl. - (diagnostic_context::diagnostic_group_nesting_depth): Rename to... - (diagnostic_context::m_diagnostic_groups.m_nesting_depth): - ...this. - (diagnostic_context::diagnostic_group_emission_count): Rename - to... - (diagnostic_context::m_diagnostic_groups::m_emission_count): - ...this. - -2023-11-03 Andrew MacLeod - - PR tree-optimization/111766 - * range-op.cc (operator_equal::fold_range): Check constants - against the bitmask. - (operator_not_equal::fold_range): Ditto. - * value-range.h (irange_bitmask::member_p): New. - -2023-11-03 Andrew MacLeod - - * value-range.cc (irange_bitmask::adjust_range): New. - (irange::intersect_bitmask): Call adjust_range. - * value-range.h (irange_bitmask::adjust_range): New prototype. - -2023-11-03 Uros Bizjak - - * config/i386/i386.cc (ix86_memory_address_use_extended_reg_class_p): - Rename to ... - (ix86_memory_address_reg_class): ... this. Generalize address - register class handling to allow multiple address register classes. - Return maximal class for unrecognized instructions. Improve comments. - (ix86_insn_base_reg_class): Rewrite to handle - multiple address register classes. - (ix86_regno_ok_for_insn_base_p): Ditto. - (ix86_insn_index_reg_class): Ditto. - * config/i386/i386.md: Rename "gpr32" attribute to "addr" - and substitute its values with "0" -> "gpr16", "1" -> "*". - (addr): New attribute to limit allowed address register set. - (gpr32): Remove. - * config/i386/mmx.md: Rename "gpr32" attribute to "addr" - and substitute its values with "0" -> "gpr16", "1" -> "*". - * config/i386/sse.md: Ditto. - -2023-11-03 Richard Biener - - * tree-vect-loop.cc (vectorizable_live_operation): Simplify - LC PHI replacement. - -2023-11-03 Roger Sayle - - * config/arc/arc.md (addsi3): Fix GNU-style code formatting. - (adddi3): Change define_expand to generate a *adddi3. - (*adddi3): New define_insn_and_split to lower DImode additions - during the split1 pass (after combine and before reload). - (ashldi3): New define_expand to (only) generate *ashldi3_cnt1 - for DImode left shifts by a single bit. - (*ashldi3_cnt1): New define_insn_and_split to lower DImode - left shifts by one bit to an *adddi3. - -2023-11-03 Richard Sandiford - - * config/aarch64/aarch64.md (*cmov_uxtw_insn_insv): Remove - can_create_pseudo_p condition. - -2023-11-03 Juzhe-Zhong - - * tree-vect-slp.cc (vect_get_and_check_slp_defs): Support SLP for dummy mask -1. - * tree-vect-stmts.cc (vectorizable_load): Ditto. - -2023-11-03 Richard Biener - - PR tree-optimization/112366 - * tree-vect-loop.cc (vectorizable_live_operation): Remove - assert. - -2023-11-03 Richard Biener - - PR tree-optimization/112310 - * tree-ssa-pre.cc (do_hoist_insertion): Keep the union - of expressions, validate dependences are contained within - the hoistable set before hoisting. - -2023-11-03 Pan Li - - * config/riscv/autovec.md (lrint2): Remove. - (lround2): Ditto. - (lceil2): Ditto. - (lfloor2): Ditto. - (lrint2): New pattern for cvt from - FP to SI. - (lround2): Ditto. - (lceil2): Ditto. - (lfloor2): Ditto. - (lrint2): New pattern for cvt from - FP to DI. - (lround2): Ditto. - (lceil2): Ditto. - (lfloor2): Ditto. - * config/riscv/vector-iterators.md: Renew iterators for both - the SI and DI. - -2023-11-03 Juzhe-Zhong - - PR target/112326 - * config/riscv/riscv-avlprop.cc (get_insn_vtype_mode): New function. - (simplify_replace_vlmax_avl): Ditto. - (pass_avlprop::execute): Add immediate AVL simplification. - * config/riscv/riscv-protos.h (imm_avl_p): Rename. - * config/riscv/riscv-v.cc (const_vlmax_p): Ditto. - (imm_avl_p): Ditto. - (emit_vlmax_insn): Adapt for new interface name. - * config/riscv/vector.md (mode_idx): New attribute. - -2023-11-03 Pan Li - - Revert: - 2023-11-02 Pan Li - - * config/riscv/autovec.md (lrint2): Remove. - (lround2): Ditto. - (lceil2): Ditto. - (lfloor2): Ditto. - (lrint2): New pattern for cvt from - FP to SI. - (lround2): Ditto. - (lceil2): Ditto. - (lfloor2): Ditto. - (lrint2): New pattern for cvt from - FP to DI. - (lround2): Ditto. - (lceil2): Ditto. - (lfloor2): Ditto. - * config/riscv/vector-iterators.md: Renew iterators for both - the SI and DI. - -2023-11-02 Edwin Lu - - * config/riscv/riscv.cc (riscv_sched_variable_issue): add disabled assert - -2023-11-02 Jeff Law - - * config/h8300/combiner.md: Add new patterns for single bit - sign extractions. - -2023-11-02 Pan Li - - * config/riscv/autovec.md (lrint2): Remove. - (lround2): Ditto. - (lceil2): Ditto. - (lfloor2): Ditto. - (lrint2): New pattern for cvt from - FP to SI. - (lround2): Ditto. - (lceil2): Ditto. - (lfloor2): Ditto. - (lrint2): New pattern for cvt from - FP to DI. - (lround2): Ditto. - (lceil2): Ditto. - (lfloor2): Ditto. - * config/riscv/vector-iterators.md: Renew iterators for both - the SI and DI. - -2023-11-02 Sam James - - * doc/passes.texi (Dead code elimination): Explicitly say 'lifetime' - as this has become the standard term for what we're doing here. - -2023-11-02 Juzhe-Zhong - - * config/riscv/riscv-avlprop.cc - (pass_avlprop::get_vlmax_ta_preferred_avl): Don't allow - non-real insn AVL propation. - -2023-11-02 Robin Dapp - - PR middle-end/111401 - * internal-fn.cc (internal_fn_else_index): New function. - * internal-fn.h (internal_fn_else_index): Define. - * tree-if-conv.cc (convert_scalar_cond_reduction): Emit COND_OP - if supported. - (predicate_scalar_phi): Add whitespace. - * tree-vect-loop.cc (fold_left_reduction_fn): Add IFN_COND_OP. - (neutral_op_for_reduction): Return -0 for PLUS. - (check_reduction_path): Don't count else operand in COND_OP. - (vect_is_simple_reduction): Ditto. - (vect_create_epilog_for_reduction): Fix whitespace. - (vectorize_fold_left_reduction): Add COND_OP handling. - (vectorizable_reduction): Don't count else operand in COND_OP. - (vect_transform_reduction): Add COND_OP handling. - * tree-vectorizer.h (neutral_op_for_reduction): Add default - parameter. - -2023-11-02 Richard Biener - - PR tree-optimization/112320 - * gimple-fold.h (rewrite_to_defined_overflow): New overload - for in-place operation. - * gimple-fold.cc (rewrite_to_defined_overflow): Add stmt - iterator argument to worker, define separate API for - in-place and not in-place operation. - * tree-if-conv.cc (predicate_statements): Simplify. - * tree-scalar-evolution.cc (final_value_replacement_loop): - Likewise. - * tree-ssa-ifcombine.cc (pass_tree_ifcombine::execute): Adjust. - * tree-ssa-reassoc.cc (update_range_test): Likewise. - -2023-11-02 Uros Bizjak - - * config/i386/i386.md: Move stack protector patterns - above mov $0,%reg -> xor %reg,%reg peephole2 pattern. - -2023-11-02 liuhongt - - * config/i386/mmx.md (cmlav4hf4): New expander. - (cmla_conjv4hf4): Ditto. - (cmulv4hf3): Ditto. - (cmul_conjv4hf3): Ditto. - -2023-11-02 Juzhe-Zhong - - * config/riscv/vector.md: Fix redundant codes in attributes. - -2023-11-02 xuli - - * config/riscv/riscv-vector-builtins-bases.cc: Expand non-tuple intrinsics. - * config/riscv/riscv-vector-builtins-functions.def (vcreate): Define non-tuple intrinsics. - * config/riscv/riscv-vector-builtins-shapes.cc (struct vcreate_def): Ditto. - * config/riscv/riscv-vector-builtins.cc: Add arg types. - -2023-11-02 Pan Li - - * tree-vect-stmts.cc (vectorizable_internal_function): Add type - size check for vectype_out doesn't participating for optab query. - (vectorizable_call): Remove the type size check. - -2023-11-02 Juzhe-Zhong - - PR target/112327 - * config/riscv/vector.md: Add '0'. - -2023-11-01 Roger Sayle - - PR target/110551 - * config/i386/i386.md (*bmi2_umul3_1): Tidy condition - as operands[2] with predicate register_operand must be !MEM_P. - (peephole2): Optimize a mulx followed by a register-to-register - move, to place result in the correct destination if possible. - -2023-11-01 Patrick O'Neill - - * config/riscv/sync.md: Use riscv_subword_address function to - calculate the address and shift in atomic_test_and_set. - -2023-11-01 Vineet Gupta - - * config/riscv/riscv.cc (riscv_promote_function_mode): Fix mode - returned for libcall case. - -2023-11-01 Martin Uecker - - PR c/71219 - * doc/invoke.texi: Document -Walloc-size option. - -2023-11-01 Edwin Lu - - * genautomata.cc (write_automata): move endif - -2023-11-01 Andre Vieira - - * omp-simd-clone.cc (simd_clone_adjust_return_type): Hoist out code to - create return array and don't return new type. - (simd_clone_adjust_argument_types): Hoist out code that creates - ipa_param_body_adjustments and don't return them. - (simd_clone_adjust): Call TARGET_SIMD_CLONE_ADJUST after return and - argument types have been vectorized, create adjustments and return array - after the hook. - (expand_simd_clones): Call TARGET_SIMD_CLONE_ADJUST after return and - argument types have been vectorized. - -2023-11-01 Uros Bizjak - - PR target/112332 - * config/i386/i386.md (stack_protexct_set_2 peephole2): - Use general_gr_operand as operand 4 predicate. - -2023-11-01 Uros Bizjak - - * config/i386/i386.md (stack_protect_set): Explicitly - generate scratch register in word mode. - (@stack_protect_set_1_): Rename to ... - (@stack_protect_set_1__): ... this. - Use SWI48 mode iterator to match scratch register. - (stack_protexct_set_1 peephole2): Use PTR, W and SWI48 mode - iterators to match peephole sequence. Use general_operand - predicate for operand 4. Allow different operand 2 and operand 3 - registers and use peep2_reg_dead_p to ensure new scratch - register is dead before peephole seqeunce. Use peep2_reg_dead_p - to ensure old scratch register is dead after peephole sequence. - (*stack_protect_set_2_): Rename to ... - (*stack_protect_set_2__si): .. this. - (*stack_protect_set_3): Rename to ... - (*stack_protect_set_2__di): ... this. - Use PTR mode iterator to match stack protector memory move. - Use earlyclobber for all alternatives of operand 1. - (stack_protexct_set_2 peephole2): Use PTR, W and SWI48 mode - iterators to match peephole sequence. Use general_operand - predicate for operand 4. Allow different operand 2 and operand 3 - registers and use peep2_reg_dead_p to ensure new scratch - register is dead before peephole seqeunce. Use peep2_reg_dead_p - to ensure old scratch register is dead after peephole sequence. - -2023-11-01 xuli - - * config/riscv/riscv-vector-builtins-functions.def (vundefined): Add vundefine - intrinsics for tuple types. - * config/riscv/riscv-vector-builtins.cc: Ditto. - * config/riscv/vector.md (@vundefined): Ditto. - -2023-11-01 Juzhe-Zhong - - * tree-vect-slp.cc (vect_build_slp_tree_1): Fix whitespace. - -2023-10-31 David Malcolm - - * Makefile.in (ANALYZER_OBJS): Add analyzer/record-layout.o. - -2023-10-31 David Malcolm - - * input.cc (dump_location_info): Update for removal of - MACRO_MAP_EXPANSION_POINT_LOCATION. - * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): - Likewise. - -2023-10-31 David Malcolm - - * opts.cc (get_option_url): Update comment; the requirement to - pass DOCUMENTATION_ROOT_URL's value via -D was removed in - r10-8065-ge33a1eae25b8a8. - -2023-10-31 David Malcolm - - * pretty-print.cc (pretty_printer::pretty_printer): Initialize - m_skipping_null_url. - (pp_begin_url): Handle URL being null. - (pp_end_url): Likewise. - (selftest::test_null_urls): New. - (selftest::pretty_print_cc_tests): Call it. - * pretty-print.h (pretty_printer::m_skipping_null_url): New. - -2023-10-31 Juzhe-Zhong - - * tree-vect-slp.cc (vect_get_operand_map): Add MASK_LEN_GATHER_LOAD. - (vect_build_slp_tree_1): Ditto. - (vect_build_slp_tree_2): Ditto. - -2023-10-31 Cupertino Miranda - - * config/bpf/bpf-passes.def (pass_lower_bpf_core): Added pass. - * config/bpf/bpf-protos.h: Added prototype for new pass. - * config/bpf/bpf.cc (bpf_delegitimize_address): New function. - * config/bpf/bpf.md (mov_reloc_core): Prefixed - name with '*'. - * config/bpf/core-builtins.cc (cr_builtins) Added access_node to - struct. - (is_attr_preserve_access): Improved check. - (core_field_info): Make use of root_for_core_field_info - function. - (process_field_expr): Adapted to new functions. - (pack_type): Small improvement. - (bpf_handle_plugin_finish_type): Adapted to GTY(()). - (bpf_init_core_builtins): Changed to new function names. - (construct_builtin_core_reloc): Improved implementation. - (bpf_resolve_overloaded_core_builtin): Changed how - __builtin_preserve_access_index is converted. - (compute_field_expr): Corrected implementation. Added - access_node argument. - (bpf_core_get_index): Added valid argument. - (root_for_core_field_info, pack_field_expr) - (core_expr_with_field_expr_plus_base, make_core_safe_access_index) - (replace_core_access_index_comp_expr, maybe_get_base_for_field_expr) - (core_access_clean, core_is_access_index, core_mark_as_access_index) - (make_gimple_core_safe_access_index, execute_lower_bpf_core) - (make_pass_lower_bpf_core): Added functions. - (pass_data_lower_bpf_core): New pass struct. - (pass_lower_bpf_core): New gimple_opt_pass class. - (pack_field_expr_for_preserve_field) - (bpf_replace_core_move_operands): Removed function. - (bpf_enum_value_kind): Added GTY(()). - * config/bpf/core-builtins.h (bpf_field_info_kind, bpf_type_id_kind) - (bpf_type_info_kind, bpf_enum_value_kind): New enum. - * config/bpf/t-bpf: Added pass bpf-passes.def to PASSES_EXTRA. - -2023-10-31 Neal Frager - - * config/microblaze/microblaze.cc: Fix mcpu version check. - -2023-10-31 Patrick O'Neill - - * config/riscv/sync-rvwmo.md (atomic_load_rvwmo): Remove - TARGET_ATOMIC constraint - (atomic_store_rvwmo): Ditto. - * config/riscv/sync-ztso.md (atomic_load_ztso): Ditto. - (atomic_store_ztso): Ditto. - * config/riscv/sync.md (atomic_load): Ditto. - (atomic_store): Ditto. - -2023-10-31 Christoph Müllner - - * config/riscv/riscv.cc (riscv_index_reg_class): - Return GR_REGS for XTheadFMemIdx. - (riscv_regno_ok_for_index_p): Add support for XTheadFMemIdx. - * config/riscv/riscv.h (HARDFP_REG_P): New macro. - * config/riscv/thead.cc (is_fmemidx_mode): New function. - (th_memidx_classify_address_index): Add support for XTheadFMemIdx. - (th_fmemidx_output_index): New function. - (th_output_move): Add support for XTheadFMemIdx. - * config/riscv/thead.md (TH_M_ANYF): New mode iterator. - (TH_M_NOEXTF): Likewise. - (*th_fmemidx_movsf_hardfloat): New INSN. - (*th_fmemidx_movdf_hardfloat_rv64): Likewise. - (*th_fmemidx_I_a): Likewise. - (*th_fmemidx_I_c): Likewise. - (*th_fmemidx_US_a): Likewise. - (*th_fmemidx_US_c): Likewise. - (*th_fmemidx_UZ_a): Likewise. - (*th_fmemidx_UZ_c): Likewise. - -2023-10-31 Christoph Müllner - - * config/riscv/constraints.md (th_m_mia): New constraint. - (th_m_mib): Likewise. - (th_m_mir): Likewise. - (th_m_miu): Likewise. - * config/riscv/riscv-protos.h (enum riscv_address_type): - Add new address types ADDRESS_REG_REG, ADDRESS_REG_UREG, - and ADDRESS_REG_WB and their documentation. - (struct riscv_address_info): Add new field 'shift' and - document the field usage for the new address types. - (riscv_valid_base_register_p): New prototype. - (th_memidx_legitimate_modify_p): Likewise. - (th_memidx_legitimate_index_p): Likewise. - (th_classify_address): Likewise. - (th_output_move): Likewise. - (th_print_operand_address): Likewise. - * config/riscv/riscv.cc (riscv_index_reg_class): - Return GR_REGS for XTheadMemIdx. - (riscv_regno_ok_for_index_p): Add support for XTheadMemIdx. - (riscv_classify_address): Call th_classify_address() on top. - (riscv_output_move): Call th_output_move() on top. - (riscv_print_operand_address): Call th_print_operand_address() - on top. - * config/riscv/riscv.h (HAVE_POST_MODIFY_DISP): New macro. - (HAVE_PRE_MODIFY_DISP): Likewise. - * config/riscv/riscv.md (zero_extendqi2): Disable - for XTheadMemIdx. - (*zero_extendqi2_internal): Convert to expand, - create INSN with same name and disable it for XTheadMemIdx. - (extendsidi2): Likewise. - (*extendsidi2_internal): Disable for XTheadMemIdx. - * config/riscv/thead.cc (valid_signed_immediate): New helper - function. - (th_memidx_classify_address_modify): New function. - (th_memidx_legitimate_modify_p): Likewise. - (th_memidx_output_modify): Likewise. - (is_memidx_mode): Likewise. - (th_memidx_classify_address_index): Likewise. - (th_memidx_legitimate_index_p): Likewise. - (th_memidx_output_index): Likewise. - (th_classify_address): Likewise. - (th_output_move): Likewise. - (th_print_operand_address): Likewise. - * config/riscv/thead.md (*th_memidx_operand): New splitter. - (*th_memidx_zero_extendqi2): New INSN. - (*th_memidx_extendsidi2): Likewise. - (*th_memidx_zero_extendsidi2): Likewise. - (*th_memidx_zero_extendhi2): Likewise. - (*th_memidx_extend2): Likewise. - (*th_memidx_bb_zero_extendsidi2): Likewise. - (*th_memidx_bb_zero_extendhi2): Likewise. - (*th_memidx_bb_extendhi2): Likewise. - (*th_memidx_bb_extendqi2): Likewise. - (TH_M_ANYI): New mode iterator. - (TH_M_NOEXTI): Likewise. - (*th_memidx_I_a): New combiner optimization. - (*th_memidx_I_b): Likewise. - (*th_memidx_I_c): Likewise. - (*th_memidx_US_a): Likewise. - (*th_memidx_US_b): Likewise. - (*th_memidx_US_c): Likewise. - (*th_memidx_UZ_a): Likewise. - (*th_memidx_UZ_b): Likewise. - (*th_memidx_UZ_c): Likewise. - -2023-10-31 Carl Love - - * doc/extend.texi (__builtin_bcdsub_le, __builtin_bcdsub_ge): Add - documentation for the builti-ins. - -2023-10-31 Vladimir N. Makarov - - PR rtl-optimization/111971 - * lra-constraints.cc: (process_alt_operands): Don't check start - hard regs for regs originated from register variables. - -2023-10-31 Robin Dapp - - * config/riscv/autovec.md (3): fmax/fmin - expanders. - (cond_): Ditto. - (cond_len_): Ditto. - (reduc_fmax_scal_): Ditto. - (reduc_fmin_scal_): Ditto. - * config/riscv/riscv-v.cc (needs_fp_rounding): Add fmin/fmax. - * config/riscv/vector-iterators.md (fmin): New UNSPEC. - (UNSPEC_VFMIN): Ditto. - * config/riscv/vector.md (@pred_): Add - UNSPEC insn patterns. - (@pred__scalar): Ditto. - -2023-10-31 Robin Dapp - - PR bootstrap/84402 - PR target/111600 - * Makefile.in: Handle split insn-emit.cc. - * configure: Regenerate. - * configure.ac: Add --with-insnemit-partitions. - * genemit.cc (output_peephole2_scratches): Print to file instead - of stdout. - (print_code): Ditto. - (gen_rtx_scratch): Ditto. - (gen_exp): Ditto. - (gen_emit_seq): Ditto. - (emit_c_code): Ditto. - (gen_insn): Ditto. - (gen_expand): Ditto. - (gen_split): Ditto. - (output_add_clobbers): Ditto. - (output_added_clobbers_hard_reg_p): Ditto. - (print_overload_arguments): Ditto. - (print_overload_test): Ditto. - (handle_overloaded_code_for): Ditto. - (handle_overloaded_gen): Ditto. - (print_header): New function. - (handle_arg): New function. - (main): Split output into 10 files. - * gensupport.cc (count_patterns): New function. - * gensupport.h (count_patterns): Define. - * read-md.cc (md_reader::print_md_ptr_loc): Add file argument. - * read-md.h (class md_reader): Change definition. - -2023-10-31 Alexandre Oliva - - PR tree-optimization/111943 - * gimple-harden-control-flow.cc: Adjust copyright year. - (rt_bb_visited): Add vfalse and vtrue data members. - Zero-initialize them in the ctor. - (rt_bb_visited::insert_exit_check_on_edge): Upon encountering - abnormal edges, insert initializers for vfalse and vtrue on - entry, and insert the check sequence guarded by a conditional - in the dest block. - -2023-10-31 Richard Biener - - PR tree-optimization/112305 - * tree-scalar-evolution.h (expression_expensive): Adjust. - * tree-scalar-evolution.cc (expression_expensive): Record - when we see a COND_EXPR. - (final_value_replacement_loop): When the replacement contains - a COND_EXPR, rewrite it to defined overflow. - * tree-ssa-loop-ivopts.cc (may_eliminate_iv): Adjust. - -2023-10-31 Xi Ruoyao - - PR target/112299 - * config/loongarch/loongarch-opts.h (HAVE_AS_TLS): Define to 0 - if not defined yet. - -2023-10-31 Lehua Ding - - * gimple-match.h (gimple_match_op::gimple_match_op): - Add interfaces for more arguments. - (gimple_match_op::set_op): Add interfaces for more arguments. - * match.pd: Add support of combining cond_len_op + vec_cond - -2023-10-31 Haochen Jiang - - * config/i386/avx512cdintrin.h (target): Push evex512 for - avx512cd. - * config/i386/avx512vlintrin.h (target): Split avx512cdvl part - out from avx512vl. - * config/i386/i386-builtin.def (BDESC): Do not check evex512 - for builtins not needed. - -2023-10-31 Lehua Ding - - * config/riscv/autovec.md (2): - Change to define_expand. - -2023-10-31 liuhongt - - PR target/112276 - * config/i386/mmx.md (*mmx_pblendvb_v8qi_1): Change - define_split to define_insn_and_split to handle - immediate_operand for comparison. - (*mmx_pblendvb_v8qi_2): Ditto. - (*mmx_pblendvb__1): Ditto. - (*mmx_pblendvb_v4qi_2): Ditto. - (3): Remove define_split after it. - (v8qi3): Ditto. - (3): Ditto. - (v2hi3): Ditto. - -2023-10-31 Andrew Pinski - - * match.pd (`a == 1 ? b : a OP b`): New pattern. - (`a == -1 ? b : a & b`): New pattern. - -2023-10-31 Andrew Pinski - - * match.pd: (`a == 0 ? b : b + a`, - `a == 0 ? b : b - a`): New patterns. - -2023-10-31 Neal Frager - - * config/microblaze/microblaze.cc: Fix mcpu version check. - -2023-10-30 Mayshao - - * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Recognize yongfeng. - * common/config/i386/i386-common.cc: Add yongfeng. - * common/config/i386/i386-cpuinfo.h (enum processor_subtypes): - Add ZHAOXIN_FAM7H_YONGFENG. - * config.gcc: Add yongfeng. - * config/i386/driver-i386.cc (host_detect_local_cpu): - Let -march=native recognize yongfeng processors. - * config/i386/i386-c.cc (ix86_target_macros_internal): Add yongfeng. - * config/i386/i386-options.cc (m_YONGFENG): New definition. - (m_ZHAOXIN): Ditto. - * config/i386/i386.h (enum processor_type): Add PROCESSOR_YONGFENG. - * config/i386/i386.md: Add yongfeng. - * config/i386/lujiazui.md: Fix typo. - * config/i386/x86-tune-costs.h (struct processor_costs): - Add yongfeng costs. - * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add yongfeng. - (ix86_adjust_cost): Ditto. - * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Replace - m_LUJIAZUI with m_ZHAOXIN. - (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto. - (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto. - (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto. - (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto. - (X86_TUNE_MOVX): Ditto. - (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto. - (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto. - (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto. - (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto. - (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto. - (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto. - (X86_TUNE_USE_LEAVE): Ditto. - (X86_TUNE_PUSH_MEMORY): Ditto. - (X86_TUNE_LCP_STALL): Ditto. - (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto. - (X86_TUNE_OPT_AGU): Ditto. - (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto. - (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto. - (X86_TUNE_USE_SAHF): Ditto. - (X86_TUNE_USE_BT): Ditto. - (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto. - (X86_TUNE_ONE_IF_CONV_INSN): Ditto. - (X86_TUNE_AVOID_MFENCE): Ditto. - (X86_TUNE_EXPAND_ABS): Ditto. - (X86_TUNE_USE_SIMODE_FIOP): Ditto. - (X86_TUNE_USE_FFREEP): Ditto. - (X86_TUNE_EXT_80387_CONSTANTS): Ditto. - (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto. - (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto. - (X86_TUNE_SSE_TYPELESS_STORES): Ditto. - (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto. - (X86_TUNE_USE_GATHER_2PARTS): Add m_YONGFENG. - (X86_TUNE_USE_GATHER_4PARTS): Ditto. - (X86_TUNE_USE_GATHER_8PARTS): Ditto. - (X86_TUNE_AVOID_128FMA_CHAINS): Ditto. - * doc/extend.texi: Add details about yongfeng. - * doc/invoke.texi: Ditto. - * config/i386/yongfeng.md: New file to describe yongfeng processor. - -2023-10-30 Martin Jambor - - PR ipa/111157 - * ipa-prop.h (struct ipa_argagg_value): Newf flag killed. - * ipa-modref.cc (ipcp_argagg_and_kill_overlap_p): New function. - (update_signature): Mark any any IPA-CP aggregate constants at - positions known to be killed as killed. Move check that there is - clone_info after this pruning. - * ipa-cp.cc (ipa_argagg_value_list::dump): Dump the killed flag. - (ipa_argagg_value_list::push_adjusted_values): Clear the new flag. - (push_agg_values_from_plats): Likewise. - (ipa_push_agg_values_from_jfunc): Likewise. - (estimate_local_effects): Likewise. - (push_agg_values_for_index_from_edge): Likewise. - * ipa-prop.cc (write_ipcp_transformation_info): Stream the killed - flag. - (read_ipcp_transformation_info): Likewise. - (ipcp_get_aggregate_const): Update comment, assert that encountered - record does not have killed flag set. - (ipcp_transform_function): Prune all aggregate constants with killed - set. - -2023-10-30 Martin Jambor - - PR ipa/111157 - * ipa-prop.h (ipcp_transformation): New member function template - remove_argaggs_if. - * ipa-sra.cc (zap_useless_ipcp_results): Use remove_argaggs_if to - filter aggreagate constants. - -2023-10-30 Roger Sayle - - PR middle-end/101955 - * config/arc/arc.md (*extvsi_1_0): New define_insn_and_split - to convert sign extract of the least significant bit into an - AND $1 then a NEG when !TARGET_BARREL_SHIFTER. - -2023-10-30 Roger Sayle - - * config/arc/arc.cc (arc_rtx_costs): Improve cost estimates. - Provide reasonable values for SHIFTS and ROTATES by constant - bit counts depending upon TARGET_BARREL_SHIFTER. - (arc_insn_cost): Use insn attributes if the instruction is - recognized. Avoid calling get_attr_length for type "multi", - i.e. define_insn_and_split patterns without explicit type. - Fall-back to set_rtx_cost for single_set and pattern_cost - otherwise. - * config/arc/arc.h (COSTS_N_BYTES): Define helper macro. - (BRANCH_COST): Improve/correct definition. - (LOGICAL_OP_NON_SHORT_CIRCUIT): Preserve previous behavior. - -2023-10-30 Roger Sayle - - * config/arc/arc.cc (arc_split_ashl): Use lsl16 on TARGET_SWAP. - (arc_split_ashr): Use swap and sign-extend on TARGET_SWAP. - (arc_split_lshr): Use lsr16 on TARGET_SWAP. - (arc_split_rotl): Use swap on TARGET_SWAP. - (arc_split_rotr): Likewise. - * config/arc/arc.md (ANY_ROTATE): New code iterator. - (si2_cnt16): New define_insn for alternate form of - swap instruction on TARGET_SWAP. - (ashlsi2_cnt16): Rename from *ashlsi16_cnt16 and move earlier. - (lshrsi2_cnt16): New define_insn for LSR16 instruction. - (*ashlsi2_cnt16): See above. - -2023-10-30 Richard Ball - - * config/arm/aout.h: Change to use the Lrtx label. - * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Remove arm targets - from (!target_pure_code) condition. - (ADDR_VEC_ALIGN): Add align for tables in rodata section. - * config/arm/arm.cc (arm_output_casesi): Alter the function to include - .Lrtx label and remove adr instructions. - * config/arm/arm.md - (arm_casesi_internal): Use force_reg to generate ldr instructions that - would otherwise be out of range, and change rtl to accommodate force reg. - Additionally remove unnecessary register temp. - (casesi): Remove pure code check for Arm. - * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Remove arm - targets from JUMP_TABLES_IN_TEXT_SECTION definition. - -2023-10-30 Jeevitha Palanisamy - - PR target/106907 - * config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Change bitwise - xor to an equality and fix comment indentation. - -2023-10-30 Juzhe-Zhong - - * config/riscv/riscv-protos.h (sew64_scalar_helper): Fix bug. - * config/riscv/riscv-v.cc (sew64_scalar_helper): Ditto. - * config/riscv/vector.md: Ditto. - -2023-10-30 liuhongt - - PR target/104610 - * config/i386/i386-expand.cc (ix86_expand_branch): Handle - 512-bit vector with vpcmpeq + kortest. - * config/i386/i386.md (cbranchxi4): New expander. - * config/i386/sse.md: (cbranch4): Extend to V16SImode - and V8DImode. - -2023-10-30 Haochen Gui - - PR target/111449 - * expr.cc (qi_vector_mode_supported_p): Rename to... - (by_pieces_mode_supported_p): ...this, and extends it to do - the checking for both scalar and vector mode. - (widest_fixed_size_mode_for_size): Call - by_pieces_mode_supported_p to examine the mode. - (op_by_pieces_d::smallest_fixed_size_mode_for_size): Likewise. - -2023-10-29 Martin Uecker - - PR tree-optimization/109334 - * tree-object-size.cc (parm_object_size): Allow size - computation for implicit access attributes. - -2023-10-29 Max Filippov - - * config/xtensa/xtensa.h (TARGET_SALT): Change HW version from - 260000 (which corresponds to RF-2014.0) to 270000 (which - corresponds to RG-2015.0, the release where salt/saltu opcodes - were introduced). - -2023-10-29 Pan Li - - * config/riscv/riscv-avlprop.cc (pass_avlprop::execute): Use - reference type to prevent copying. - -2023-10-27 Vladimir N. Makarov - - PR rtl-optimization/112107 - * ira-costs.cc: (calculate_equiv_gains): Use NONDEBUG_INSN_P - instead of INSN_P. - -2023-10-27 Andrew Stubbs - - PR target/112088 - * config/gcn/gcn.cc (gcn_expand_epilogue): Fix kernel epilogue register - conflict. - -2023-10-27 Andrew Stubbs - - * config/gcn/gcn-valu.md - (vec_extract_nop): Mention "operands" in - condition to silence the warnings. - (vec_extract_nop): Likewise. - * config/gcn/gcn.md (*movti_insn): Likewise. - -2023-10-27 Richard Sandiford - - * recog.cc (insn_propagation::apply_to_pattern_1): Handle shared - ASM_OPERANDS. - -2023-10-27 Yangyu Chen - - * config/riscv/riscv.cc (rocket_tune_info): Fix int_div cost. - (sifive_7_tune_info, thead_c906_tune_info): Likewise. - -2023-10-27 Robin Dapp - - * config/riscv/autovec.md (rawmemchr): New expander. - * config/riscv/riscv-protos.h (gen_no_side_effects_vsetvl_rtx): - Define. - (expand_rawmemchr): Define. - * config/riscv/riscv-v.cc (force_vector_length_operand): Remove - static. - (expand_block_move): Move from here... - * config/riscv/riscv-string.cc (expand_block_move): ...to here. - (expand_rawmemchr): Add vectorized expander. - * internal-fn.cc (expand_RAWMEMCHR): Fix typo. - -2023-10-27 Vladimir N. Makarov - - * ira-costs.cc: (get_equiv_regno, calculate_equiv_gains): - Process reg equivalence invariants. - -2023-10-27 Uros Bizjak - - * config/i386/x86-tune.def (X86_TUNE_PARTIAL_MEMORY_READ_STALL): - i386: Fiy typo in "partial_memory_read_stall" tune option. - -2023-10-27 Victor Do Nascimento - - * config/aarch64/aarch64.cc (aarch64_print_operand): Add - support for CONST_STRING. - -2023-10-27 Roger Sayle - - PR target/110551 - * config/i386/i386.md (mul3): Make operands 1 and - 2 take "regiser_operand" and "nonimmediate_operand" respectively. - (mulqihi3): Likewise. - (*bmi2_umul3_1): Operand 2 needs to be register_operand - matching the %d constraint. Use umul_highpart RTX to represent - the highpart multiplication. - (*umul3_1): Operand 2 should use regiser_operand - predicate, and "a" rather than "0" as operands 0 and 2 have - different modes. - (define_split): For mul to mulx conversion, use the new - umul_highpart RTX representation. - (*mul3_1): Operand 1 should be register_operand - and the constraint %a as operands 0 and 1 have different modes. - (*mulqihi3_1): Operand 1 should be register_operand matching - the constraint %0. - (define_peephole2): Providing widening multiplication variants - of the peephole2s that tweak highpart multiplication register - allocation. - -2023-10-27 Lewis Hyatt - - PR preprocessor/87299 - * toplev.cc (no_backend): New static global. - (finalize): Remove argument no_backend, which is now a - static global. - (process_options): Likewise. - (do_compile): Likewise. - (target_reinit): Don't do anything in preprocess-only mode. - (toplev::main): Adapt to no_backend change. - (toplev::finalize): Likewise. - -2023-10-27 Andrew Pinski - - PR tree-optimization/101590 - PR tree-optimization/94884 - * match.pd (`(X BIT_OP Y) CMP X`): New pattern. - -2023-10-27 liuhongt - - PR target/103861 - * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle - V2HF/V2BF/V4HF/V4BFmode. - * config/i386/i386.cc (ix86_get_mask_mode): Return QImode when - data_mode is V4HF/V2HFmode. - * config/i386/mmx.md (vec_cmpv4hfqi): New expander. - (vcond_mask_v4hi): Ditto. - (vcond_mask_qi): Ditto. - (vec_cmpv2hfqi): Ditto. - (vcond_mask_v2hi): Ditto. - (mmx_plendvb_): Add 2 combine splitters after the - patterns. - (mmx_pblendvb_v8qi): Ditto. - (v2hi3): Add a combine splitter after the pattern. - (3): Ditto. - (v8qi3): Ditto. - (3): Ditto. - * config/i386/sse.md (vcond): Merge this with .. - (vcond): .. this into .. - (vcond): .. this, - and extend to V8BF/V16BF/V32BFmode. - -2023-10-26 Juzhe-Zhong - - * config/riscv/riscv-opts.h (TARGET_MAX_LMUL): New macro. - * config/riscv/riscv-v.cc (preferred_simd_mode): Adapt macro. - (autovectorize_vector_modes): Ditto. - (can_find_related_mode_p): Ditto. - -2023-10-26 Juzhe-Zhong - - PR target/111318 - PR target/111888 - * config.gcc: Add AVL propagation pass. - * config/riscv/riscv-passes.def (INSERT_PASS_AFTER): Ditto. - * config/riscv/riscv-protos.h (make_pass_avlprop): Ditto. - * config/riscv/t-riscv: Ditto. - * config/riscv/riscv-avlprop.cc: New file. - -2023-10-26 David Malcolm - - * doc/extend.texi (Common Function Attributes): Add - null_terminated_string_arg. - -2023-10-26 Andrew Pinski - - PR tree-optimization/111957 - * match.pd (`a != C1 ? abs(a) : C2`): New pattern. - -2023-10-26 Aldy Hernandez - - * range-op-float.cc (range_operator::fold_range): Delete unused - variable. - -2023-10-26 Aldy Hernandez - - * range-op-float.cc (range_operator::fold_range): Remove - superfluous code. - (range_operator::rv_fold): Remove unneeded arguments. - (operator_plus::rv_fold): Same. - (operator_minus::rv_fold): Same. - (operator_mult::rv_fold): Same. - (operator_div::rv_fold): Same. - * range-op-mixed.h: Remove lb, ub, and maybe_nan arguments from - rv_fold methods. - * range-op.h: Same. - -2023-10-26 Aldy Hernandez - - * range-op-float.cc (range_operator::fold_range): Pass frange - argument to rv_fold. - (range_operator::rv_fold): Add frange argument. - (operator_plus::rv_fold): Same. - (operator_minus::rv_fold): Same. - (operator_mult::rv_fold): Same. - (operator_div::rv_fold): Same. - * range-op-mixed.h: Add frange argument to rv_fold methods. - * range-op.h: Same. - -2023-10-26 Richard Ball - - * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add table output - for different machine modes for arm. - * config/arm/arm-protos.h (arm_output_casesi): New prototype. - * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Make arm use - ASM_OUTPUT_ADDR_DIFF_ELT. - (CASE_VECTOR_SHORTEN_MODE): Change table size calculation for - TARGET_ARM. - (LABEL_ALIGN_AFTER_BARRIER): Change to accommodate .p2align 2 - for TARGET_ARM. - * config/arm/arm.cc (arm_output_casesi): New function. - * config/arm/arm.md (arm_casesi_internal): Change casesi expand - and insn. - for arm to use new function arm_output_casesi. - -2023-10-26 Iain Sandoe - - * config/darwin.h - (darwin_label_is_anonymous_local_objc_name): Make metadata names - linker-visibile for GNU objective C. - -2023-10-26 Vladimir N. Makarov - - * dwarf2out.cc (reg_loc_descriptor): Use lra_eliminate_regs when - LRA is used. - * ira-costs.cc: Include regset.h. - (equiv_can_be_consumed_p, get_equiv_regno, calculate_equiv_gains): - New functions. - (find_costs_and_classes): Call calculate_equiv_gains and redefine - mem_cost of pseudos with equivs when LRA is used. - * var-tracking.cc: Include ira.h and lra.h. - (vt_initialize): Use lra_eliminate_regs when LRA is used. - -2023-10-26 Juzhe-Zhong - - * doc/md.texi: Adapt COND_LEN pseudo code. - -2023-10-26 Roger Sayle - Richard Biener - - PR rtl-optimization/91865 - * combine.cc (make_compound_operation): Avoid creating a - ZERO_EXTEND of a ZERO_EXTEND. - -2023-10-26 Jiahao Xu - - * config/loongarch/lasx.md (vcond_mask_): Change to - (vcond_mask_): this. - * config/loongarch/lsx.md (vcond_mask_): Change to - (vcond_mask_): this. - -2023-10-26 Thomas Schwinge - - * ipa-icf.cc (sem_item::target_supports_symbol_aliases_p): - 'gcc_checking_assert (TARGET_SUPPORTS_ALIASES);' before - 'return true;'. - * ipa-visibility.cc (function_and_variable_visibility): Change - '#ifdef ASM_OUTPUT_DEF' to 'if (TARGET_SUPPORTS_ALIASES)'. - * varasm.cc (output_constant_pool_contents) - [#ifdef ASM_OUTPUT_DEF]: - 'gcc_checking_assert (TARGET_SUPPORTS_ALIASES);'. - (do_assemble_alias) [#ifdef ASM_OUTPUT_DEF]: - 'if (!TARGET_SUPPORTS_ALIASES)', - 'gcc_checking_assert (seen_error ());'. - (assemble_alias): Change '#if !defined (ASM_OUTPUT_DEF)' to - 'if (!TARGET_SUPPORTS_ALIASES)'. - (default_asm_output_anchor): - 'gcc_checking_assert (TARGET_SUPPORTS_ALIASES);'. - -2023-10-26 Alexandre Oliva - - PR tree-optimization/111520 - * gimple-harden-conditionals.cc - (pass_harden_compares::execute): Set EH edge probability and - EH block execution count. - -2023-10-26 Alexandre Oliva - - * tree-eh.h (make_eh_edges): Rename to... - (make_eh_edge): ... this. - * tree-eh.cc: Likewise. Adjust all callers... - * gimple-harden-conditionals.cc: ... here, ... - * gimple-harden-control-flow.cc: ... here, ... - * tree-cfg.cc: ... here, ... - * tree-inline.cc: ... and here. - -2023-10-25 Iain Sandoe - - * config/darwin.cc (darwin_override_options): Handle fPIE. - -2023-10-25 Iain Sandoe - - * config.gcc: Use -E to to sed to indicate that we are using - extended REs. - -2023-10-25 Jason Merrill - - * tree-core.h (struct tree_base): Update address_space comment. - -2023-10-25 Wilco Dijkstra - - * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate) - Add support for immediates using MOV/EOR bitmask. - -2023-10-25 Uros Bizjak - - PR target/111698 - * config/i386/x86-tune.def (X86_TUNE_PARTIAL_MEMORY_READ_STALL): - New tune. - * config/i386/i386.h (TARGET_PARTIAL_MEMORY_READ_STALL): New macro. - * config/i386/i386.md: New peephole pattern to narrow test - instructions with immediate operands that test memory locations - for zero. - -2023-10-25 Andrew MacLeod - - * value-range.cc (irange::union_append): New. - (irange::union_): Call union_append when appropriate. - * value-range.h (irange::union_append): New prototype. - -2023-10-25 Chenghui Pan - - * config/loongarch/lasxintrin.h (__lasx_xvftintrnel_l_s): Fix comments. - (__lasx_xvfrintrne_s): Ditto. - (__lasx_xvfrintrne_d): Ditto. - (__lasx_xvfrintrz_s): Ditto. - (__lasx_xvfrintrz_d): Ditto. - (__lasx_xvfrintrp_s): Ditto. - (__lasx_xvfrintrp_d): Ditto. - (__lasx_xvfrintrm_s): Ditto. - (__lasx_xvfrintrm_d): Ditto. - * config/loongarch/lsxintrin.h (__lsx_vftintrneh_l_s): Ditto. - (__lsx_vfrintrne_s): Ditto. - (__lsx_vfrintrne_d): Ditto. - (__lsx_vfrintrz_s): Ditto. - (__lsx_vfrintrz_d): Ditto. - (__lsx_vfrintrp_s): Ditto. - (__lsx_vfrintrp_d): Ditto. - (__lsx_vfrintrm_s): Ditto. - (__lsx_vfrintrm_d): Ditto. - -2023-10-25 chenxiaolong - - * config/loongarch/loongarch.md (get_thread_pointer):Adds the - instruction template corresponding to the __builtin_thread_pointer - function. - * doc/extend.texi:Add the __builtin_thread_pointer function support - description to the documentation. - -2023-10-25 Richard Sandiford - - * Makefile.in (OBJS): Add rtl-ssa/movement.o. - * rtl-ssa/access-utils.h (accesses_include_nonfixed_hard_registers) - (single_set_info): New functions. - (remove_uses_of_def, accesses_reference_same_resource): Declare. - (insn_clobbers_resources): Likewise. - * rtl-ssa/accesses.cc (rtl_ssa::remove_uses_of_def): New function. - (rtl_ssa::accesses_reference_same_resource): Likewise. - (rtl_ssa::insn_clobbers_resources): Likewise. - * rtl-ssa/movement.h (can_move_insn_p): Declare. - * rtl-ssa/movement.cc: New file. - -2023-10-25 Richard Sandiford - - * rtl-ssa/functions.h (function_info::remains_available_at_insn): - New member function. - * rtl-ssa/accesses.cc (function_info::remains_available_at_insn): - Likewise. - (function_info::make_use_available): Avoid false negatives for - queries within an EBB. - -2023-10-25 Richard Sandiford - - * rtl-ssa/changes.cc: Include sreal.h. - (rtl_ssa::changes_are_worthwhile): When optimizing for speed, - scale the cost of each instruction by its execution frequency. - -2023-10-25 Richard Sandiford - - * rtl-ssa/access-utils.h (next_call_clobbers): New function. - (is_single_dominating_def, remains_available_on_exit): Replace with... - * rtl-ssa/functions.h (function_info::is_single_dominating_def) - (function_info::remains_available_on_exit): ...these new member - functions. - (function_info::m_clobbered_by_calls): New member variable. - * rtl-ssa/functions.cc (function_info::function_info): Explicitly - initialize m_clobbered_by_calls. - * rtl-ssa/insns.cc (function_info::record_call_clobbers): Update - m_clobbered_by_calls for each call-clobber note. - * rtl-ssa/member-fns.inl (function_info::is_single_dominating_def): - New function. Check for call clobbers. - * rtl-ssa/accesses.cc (function_info::remains_available_on_exit): - Likewise. - -2023-10-25 Richard Sandiford - - * rtl-ssa/internals.h (build_info::exit_block_dominator): New - member variable. - * rtl-ssa/blocks.cc (build_info::build_info): Initialize it. - (bb_walker::bb_walker): Use it, moving the computation of the - dominator to... - (function_info::process_all_blocks): ...here. - (function_info::place_phis): Add dominance frontiers for the - exit block. - -2023-10-25 Richard Sandiford - - * rtl-ssa/functions.h (function_info::process_uses_of_deleted_def): - New member function. - * rtl-ssa/changes.cc (function_info::process_uses_of_deleted_def): - Likewise. - (function_info::change_insns): Use it. - -2023-10-25 Richard Sandiford - - * rtl-ssa/changes.cc (function_info::finalize_new_accesses): - If a change describes a set of memory, ensure that that set - is kept, regardless of the insn pattern. - -2023-10-25 Richard Sandiford - - * rtl-ssa/changes.cc (function_info::apply_changes_to_insn): Remove - call to add_reg_unused_notes and instead... - (function_info::change_insns): ...use a separate loop here. - -2023-10-25 Richard Sandiford - - * rtl-ssa/blocks.cc (function_info::add_artificial_accesses): Force - global registers to be live on exit. Handle any block with zero - successors like an exit block. - -2023-10-25 Thomas Schwinge - - * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1): - Handle 'OMP_CLAUSE_SELF' like 'OMP_CLAUSE_IF'. - * omp-expand.cc (expand_omp_target): Handle 'OMP_CLAUSE_SELF' for - 'GF_OMP_TARGET_KIND_OACC_DATA_KERNELS'. - -2023-10-25 Thomas Schwinge - - * tree-core.h (omp_clause_code): Move 'OMP_CLAUSE_SELF' after - 'OMP_CLAUSE_IF'. - * tree-pretty-print.cc (dump_omp_clause): Adjust. - * tree.cc (omp_clause_num_ops, omp_clause_code_name): Likewise. - * tree.h: Likewise. - -2023-10-25 Juzhe-Zhong - - * config/riscv/riscv-protos.h (has_vl_op): Export from riscv-vsetvl to riscv-v - (tail_agnostic_p): Ditto. - (validate_change_or_fail): Ditto. - (nonvlmax_avl_type_p): Ditto. - (vlmax_avl_p): Ditto. - (get_sew): Ditto. - (enum vlmul_type): Ditto. - (count_regno_occurrences): Ditto. - * config/riscv/riscv-v.cc (has_vl_op): Ditto. - (get_default_ta): Ditto. - (tail_agnostic_p): Ditto. - (validate_change_or_fail): Ditto. - (nonvlmax_avl_type_p): Ditto. - (vlmax_avl_p): Ditto. - (get_sew): Ditto. - (enum vlmul_type): Ditto. - (get_vlmul): Ditto. - (count_regno_occurrences): Ditto. - * config/riscv/riscv-vsetvl.cc (vlmax_avl_p): Ditto. - (has_vl_op): Ditto. - (get_sew): Ditto. - (get_vlmul): Ditto. - (get_default_ta): Ditto. - (tail_agnostic_p): Ditto. - (count_regno_occurrences): Ditto. - (validate_change_or_fail): Ditto. - -2023-10-25 Chung-Lin Tang - - * gimplify.cc (gimplify_scan_omp_clauses): Add OMP_CLAUSE_SELF case. - (gimplify_adjust_omp_clauses): Likewise. - * omp-expand.cc (expand_omp_target): Add OMP_CLAUSE_SELF expansion code, - * omp-low.cc (scan_sharing_clauses): Add OMP_CLAUSE_SELF case. - * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_SELF enum. - * tree-nested.cc (convert_nonlocal_omp_clauses): Add OMP_CLAUSE_SELF - case. - (convert_local_omp_clauses): Likewise. - * tree-pretty-print.cc (dump_omp_clause): Add OMP_CLAUSE_SELF case. - * tree.cc (omp_clause_num_ops): Add OMP_CLAUSE_SELF entry. - (omp_clause_code_name): Likewise. - * tree.h (OMP_CLAUSE_SELF_EXPR): New macro. - -2023-10-25 Juzhe-Zhong - - * config/riscv/riscv-protos.h (vlmax_avl_type_p): New function. - * config/riscv/riscv-v.cc (vlmax_avl_type_p): Ditto. - * config/riscv/riscv-vsetvl.cc (get_avl): Adapt function. - * config/riscv/vector.md: Change avl_type into avl_type_idx. - -2023-10-24 Richard Sandiford - - * recog.cc (constrain_operands): Remove UNARY_P handling. - * reload.cc (find_reloads): Likewise. - -2023-10-24 Jose E. Marchesi - - * gcov-io.h: Fix record length encoding in comment. - -2023-10-24 Roger Sayle - - * config/i386/i386-features.cc (compute_convert_gain): Provide - more accurate values (sizes) for inter-unit moves with -Os. - -2023-10-24 Roger Sayle - Claudiu Zissulescu - - * config/arc/arc-protos.h (output_shift): Rename to... - (output_shift_loop): Tweak API to take an explicit rtx_code. - (arc_split_ashl): Prototype new function here. - (arc_split_ashr): Likewise. - (arc_split_lshr): Likewise. - (arc_split_rotl): Likewise. - (arc_split_rotr): Likewise. - * config/arc/arc.cc (output_shift): Delete local prototype. Rename. - (output_shift_loop): New function replacing output_shift to output - a zero overheap loop for SImode shifts and rotates on ARC targets - without barrel shifter (i.e. no hardware support for these insns). - (arc_split_ashl): New helper function to split *ashlsi3_nobs. - (arc_split_ashr): New helper function to split *ashrsi3_nobs. - (arc_split_lshr): New helper function to split *lshrsi3_nobs. - (arc_split_rotl): New helper function to split *rotlsi3_nobs. - (arc_split_rotr): New helper function to split *rotrsi3_nobs. - (arc_print_operand): Correct whitespace. - (arc_rtx_costs): Likewise. - (hwloop_optimize): Likewise. - * config/arc/arc.md (ANY_SHIFT_ROTATE): New define_code_iterator. - (define_code_attr insn): New code attribute to map to pattern name. - (si3): New expander unifying previous ashlsi3, - ashrsi3 and lshrsi3 define_expands. Adds rotlsi3 and rotrsi3. - (*si3_nobs): New define_insn_and_split that - unifies the previous *ashlsi3_nobs, *ashrsi3_nobs and *lshrsi3_nobs. - We now call arc_split_ in arc.cc to implement each split. - (shift_si3): Delete define_insn, all shifts/rotates are now split. - (shift_si3_loop): Rename to... - (si3_loop): define_insn to handle loop implementations of - SImode shifts and rotates, calling ouput_shift_loop for template. - (rotrsi3): Rename to... - (*rotrsi3_insn): define_insn for TARGET_BARREL_SHIFTER's ror. - (*rotlsi3): New define_insn_and_split to transform left rotates - into right rotates before reload. - (rotlsi3_cnt1): New define_insn_and_split to implement a left - rotate by one bit using an add.f followed by an adc. - * config/arc/predicates.md (shiftr4_operator): Delete. - -2023-10-24 Claudiu Zissulescu - - * config/arc/arc.md (mulsi3_700): Update pattern. - (mulsi3_v2): Likewise. - * config/arc/predicates.md (mpy_dest_reg_operand): Remove it. - -2023-10-24 Andrew Pinski - - PR tree-optimization/104376 - PR tree-optimization/101541 - * tree-ssa-phiopt.cc (factor_out_conditional_operation): - Allow nop conversions even if it is defined by a statement - inside the conditional. - -2023-10-24 Andrew Pinski - - PR tree-optimization/111913 - * match.pd (`popcount(X&Y) + popcount(X|Y)`): Add the resulting - type for popcount. - -2023-10-24 Richard Sandiford - - * rtl-ssa/blocks.cc (function_info::create_degenerate_phi): Check - whether the requested phi already exists. - -2023-10-24 Richard Sandiford - - * rtl-ssa.h: Include cfgbuild.h. - * rtl-ssa/movement.h (can_insert_after): Replace is_jump with the - more comprehensive control_flow_insn_p. - -2023-10-24 Richard Sandiford - - * rtl-ssa/changes.cc (function_info::perform_pending_updates): Check - whether an insn has been replaced by a note. - -2023-10-24 Richard Sandiford - - * rtl-ssa/member-fns.inl (first_any_insn_use): Handle null - m_first_use. - -2023-10-24 Richard Sandiford - - * config/i386/i386-expand.cc (ix86_split_mmx_punpck): Allow the - destination to be wider than the sources. Take the mode from the - first source. - (ix86_expand_sse_extend): Pass the destination directly to - ix86_split_mmx_punpck, rather than using a fresh register that - is half the size. - -2023-10-24 Richard Sandiford - - * config/i386/predicates.md (aeswidekl_operation): Protect - REGNO check with REG_P. - -2023-10-24 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_insn_cost): New function. - (TARGET_INSN_COST): Define. - -2023-10-24 Richard Sandiford - - * config/aarch64/atomics.md (aarch64_atomic_exchange): Require - !TARGET_LSE. - -2023-10-24 xuli - - PR target/111935 - * config/riscv/riscv-vector-builtins-bases.cc: fix bug. - -2023-10-24 Mark Harmstone - - * opts.cc (debug_type_names): Remove stabs and xcoff. - (df_set_names): Adjust. - -2023-10-24 Juzhe-Zhong - - PR target/111947 - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::compute_lcm_local_properties): Add REGNO check. - -2023-10-23 Lewis Hyatt - - PR preprocessor/36887 - * toplev.h (ident_hash_extra): Declare... - * stringpool.cc (ident_hash_extra): ...this new global variable. - (init_stringpool): Handle ident_hash_extra as well as ident_hash. - (ggc_mark_stringpool): Likewise. - (ggc_purge_stringpool): Likewise. - (struct string_pool_data_extra): New struct. - (spd2): New GC root variable. - (gt_pch_save_stringpool): Use spd2 to handle ident_hash_extra, - analogous to how spd is used to handle ident_hash. - (gt_pch_restore_stringpool): Likewise. - -2023-10-23 Robin Dapp - - PR tree-optimization/111794 - * tree-vect-stmts.cc (vectorizable_assignment): Add - same-precision exception for dest and source. - -2023-10-23 Robin Dapp - - * config/riscv/autovec.md (popcount2): New expander. - * config/riscv/riscv-protos.h (expand_popcount): Define. - * config/riscv/riscv-v.cc (expand_popcount): Vectorize popcount - with the WWG algorithm. - -2023-10-23 Richard Biener - - PR tree-optimization/111916 - * tree-sra.cc (sra_modify_assign): Do not lower all - BIT_FIELD_REF reads that are sra_handled_bf_read_p. - -2023-10-23 Richard Biener - - PR tree-optimization/111915 - * tree-vect-slp.cc (vect_build_slp_tree_1): Check all - accesses are either grouped or not. - -2023-10-23 Richard Biener - - PR ipa/111914 - * tree-inline.cc (setup_one_parameter): Move code emitting - a dummy load when not optimizing ... - (initialize_inlined_parameters): ... here to after when - we remapped the parameter type. - -2023-10-23 Oleg Endo - - PR target/111001 - * config/sh/sh_treg_combine.cc (sh_treg_combine::record_set_of_reg): - Skip over nop move insns. - -2023-10-23 Tamar Christina - - PR tree-optimization/111860 - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - Drop .MEM nodes only. - -2023-10-23 Andrew Pinski - - * match.pd (`(A - B) CMP 0 ? (A - B) : (B - A)`): - New patterns. - -2023-10-23 Andrew Pinski - - * convert.cc (convert_to_pointer_1): Return error_mark_node - after an error. - (convert_to_real_1): Likewise. - (convert_to_integer_1): Likewise. - (convert_to_complex_1): Likewise. - -2023-10-23 Andrew Pinski - - PR c/111903 - * convert.cc (convert_to_complex_1): Return - error_mark_node if either convert was an error - when converting from a scalar. - -2023-10-23 Richard Biener - - PR tree-optimization/111917 - * tree-ssa-loop-unswitch.cc (hoist_guard): Always insert - new conditional after last stmt. - -2023-10-23 Juzhe-Zhong - - PR target/111927 - * config/riscv/riscv-vsetvl.cc: Fix bug. - -2023-10-23 Pan Li - - * config/riscv/riscv-v.cc (emit_vec_cvt_x_f_rtz): Add insn type - arg. - (expand_vec_trunc): Take MA instead of MU for cvt_x_f_rtz. - -2023-10-23 Xi Ruoyao - - * doc/invoke.texi (-mexplicit-relocs=style): Document. - (-mexplicit-relocs): Document as an alias of - -mexplicit-relocs=always. - (-mno-explicit-relocs): Document as an alias of - -mexplicit-relocs=none. - (-mcmodel=extreme): Mention -mexplicit-relocs=always instead of - -mexplicit-relocs. - -2023-10-23 Xi Ruoyao - - * config/loongarch/predicates.md (symbolic_pcrel_operand): New - predicate. - * config/loongarch/loongarch.md (define_peephole2): Optimize - la.local + ld/st to pcalau12i + ld/st if the address is only used - once if -mexplicit-relocs=auto and -mcmodel=normal or medium. - -2023-10-23 Xi Ruoyao - - * config/loongarch/loongarch.cc (loongarch_explicit_relocs_p): - Return true for TLS symbol types if -mexplicit-relocs=auto. - (loongarch_call_tls_get_addr): Replace TARGET_EXPLICIT_RELOCS - with la_opt_explicit_relocs != EXPLICIT_RELOCS_NONE. - (loongarch_legitimize_tls_address): Likewise. - * config/loongarch/loongarch.md (@tls_low): Remove - TARGET_EXPLICIT_RELOCS from insn condition. - -2023-10-23 Xi Ruoyao - - * config/loongarch/loongarch-protos.h - (loongarch_explicit_relocs_p): Declare new function. - * config/loongarch/loongarch.cc (loongarch_explicit_relocs_p): - Implement. - (loongarch_symbol_insns): Call loongarch_explicit_relocs_p for - SYMBOL_GOT_DISP, instead of using TARGET_EXPLICIT_RELOCS. - (loongarch_split_symbol): Call loongarch_explicit_relocs_p for - deciding if return early, instead of using - TARGET_EXPLICIT_RELOCS. - (loongarch_output_move): CAll loongarch_explicit_relocs_p - instead of using TARGET_EXPLICIT_RELOCS. - * config/loongarch/loongarch.md (*low): Remove - TARGET_EXPLICIT_RELOCS from insn condition. - (@ld_from_got): Likewise. - * config/loongarch/predicates.md (move_operand): Call - loongarch_explicit_relocs_p instead of using - TARGET_EXPLICIT_RELOCS. - -2023-10-23 Xi Ruoyao - - * config/loongarch/genopts/loongarch-strings: Add strings for - -mexplicit-relocs={auto,none,always}. - * config/loongarch/genopts/loongarch.opt.in: Add options for - -mexplicit-relocs={auto,none,always}. - * config/loongarch/loongarch-str.h: Regenerate. - * config/loongarch/loongarch.opt: Regenerate. - * config/loongarch/loongarch-def.h - (EXPLICIT_RELOCS_AUTO): Define. - (EXPLICIT_RELOCS_NONE): Define. - (EXPLICIT_RELOCS_ALWAYS): Define. - (N_EXPLICIT_RELOCS_TYPES): Define. - * config/loongarch/loongarch.cc - (loongarch_option_override_internal): Error out if the old-style - -m[no-]explicit-relocs option is used with - -mexplicit-relocs={auto,none,always} together. Map - -mno-explicit-relocs to -mexplicit-relocs=none and - -mexplicit-relocs to -mexplicit-relocs=always for backward - compatibility. Set a proper default for -mexplicit-relocs= - based on configure-time probed linker capability. Update a - diagnostic message to mention -mexplicit-relocs=always instead - of the old-style -mexplicit-relocs. - (loongarch_handle_model_attribute): Update a diagnostic message - to mention -mexplicit-relocs=always instead of the old-style - -mexplicit-relocs. - * config/loongarch/loongarch.h (TARGET_EXPLICIT_RELOCS): Define. - -2023-10-23 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::fuse_local_vsetvl_info): Fix typo. - (pre_vsetvl::pre_global_vsetvl_info): Ditto. - -2023-10-23 Juzhe-Zhong - - * config/riscv/vector.md: Fix avl_type attribute of tuple mov. - -2023-10-23 Kewen Lin - - PR tree-optimization/111784 - * tree-vect-stmts.cc (vectorizable_store): Adjust costing way for - adjacent vector stores, by costing them with the total number - rather than costing them one by one. - (vectorizable_load): Adjust costing way for adjacent vector - loads, by costing them with the total number rather than costing - them one by one. - -2023-10-23 Haochen Jiang - - PR target/111753 - * config/i386/i386.cc (ix86_standard_x87sse_constant_load_p): - Do not split to xmm16+ when !TARGET_AVX512VL. - -2023-10-23 Pan Li - - * config/riscv/riscv-protos.h (enum insn_type): Add new type - values. - * config/riscv/riscv-v.cc (emit_vec_cvt_x_f): Add undef merge - operand handling. - (expand_vec_ceil): Take MA instead of MU for tmp register. - (expand_vec_floor): Ditto. - (expand_vec_nearbyint): Ditto. - (expand_vec_rint): Ditto. - (expand_vec_round): Ditto. - (expand_vec_roundeven): Ditto. - -2023-10-23 Lulu Cheng - - * config/loongarch/loongarch.h (CLEAR_INSN_CACHE): New definition. - -2023-10-23 Haochen Gui - - PR target/111449 - * expr.cc (can_use_qi_vectors): New function to return true if - we know how to implement OP using vectors of bytes. - (qi_vector_mode_supported_p): New function to check if optabs - exists for the mode and certain by pieces operations. - (widest_fixed_size_mode_for_size): Replace the second argument - with the type of by pieces operations. Call can_use_qi_vectors - and qi_vector_mode_supported_p to do the check. Call - scalar_mode_supported_p to check if the scalar mode is supported. - (by_pieces_ninsns): Pass the type of by pieces operation to - widest_fixed_size_mode_for_size. - (class op_by_pieces_d): Remove m_qi_vector_mode. Add m_op to - record the type of by pieces operations. - (op_by_pieces_d::op_by_pieces_d): Change last argument to the - type of by pieces operations, initialize m_op with it. Pass - m_op to function widest_fixed_size_mode_for_size. - (op_by_pieces_d::get_usable_mode): Pass m_op to function - widest_fixed_size_mode_for_size. - (op_by_pieces_d::smallest_fixed_size_mode_for_size): Call - can_use_qi_vectors and qi_vector_mode_supported_p to do the - check. - (op_by_pieces_d::run): Pass m_op to function - widest_fixed_size_mode_for_size. - (move_by_pieces_d::move_by_pieces_d): Set m_op to MOVE_BY_PIECES. - (store_by_pieces_d::store_by_pieces_d): Set m_op with the op. - (can_store_by_pieces): Pass the type of by pieces operations to - widest_fixed_size_mode_for_size. - (clear_by_pieces): Initialize class store_by_pieces_d with - CLEAR_BY_PIECES. - (compare_by_pieces_d::compare_by_pieces_d): Set m_op to - COMPARE_BY_PIECES. - -2023-10-23 liuhongt - - PR tree-optimization/111820 - PR tree-optimization/111833 - * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): Give - up vectorization for nonlinear iv vect_step_op_mul when - step_expr is not exact_log2 and niters is greater than - TYPE_PRECISION (TREE_TYPE (step_expr)). Also don't vectorize - for nagative niters_skip which will be used by fully masked - loop. - (vect_can_advance_ivs_p): Pass whole phi_info to - vect_can_peel_nonlinear_iv_p. - * tree-vect-loop.cc (vect_peel_nonlinear_iv_init): Optimize - init_expr * pow (step_expr, skipn) to init_expr - << (log2 (step_expr) * skipn) when step_expr is exact_log2. - -2023-10-23 liuhongt - - * config/i386/mmx.md (mmx_pinsrw): Remove. - -2023-10-22 Andrew Pinski - - PR target/110986 - * config/aarch64/aarch64.md (*cmov_insn_insv): New pattern. - (*cmov_uxtw_insn_insv): Likewise. - -2023-10-22 Francois-Xavier Coudert - - * doc/invoke.texi: Document the new -nodefaultrpaths option. - * doc/install.texi: Document the new --with-darwin-extra-rpath - option. - -2023-10-22 Iain Sandoe - - * Makefile.in: set ENABLE_DARWIN_AT_RPATH in site.tmp. - -2023-10-22 Iain Sandoe - - * configure.ac: Add --with-darwin-extra-rpath option. - * config/darwin.h: Handle DARWIN_EXTRA_RPATH. - * config.in: Regenerate. - * configure: Regenerate. - -2023-10-22 Iain Sandoe - - * aclocal.m4: Regenerate. - * configure: Regenerate. - * configure.ac: Handle Darwin rpaths. - * config/darwin.h: Handle Darwin rpaths. - * config/darwin.opt: Handle Darwin rpaths. - * Makefile.in: Handle Darwin rpaths. - -2023-10-22 Iain Sandoe - - * gcc.cc (RUNPATH_OPTION): New. - (do_spec_1): Provide '%P' as a spec to insert rpaths for - each compiler startfile path. - -2023-10-22 Andrew Burgess - Maxim Blinov - Francois-Xavier Coudert - Iain Sandoe - - * config.gcc: Default to heap trampolines on macOS 11 and above. - * config/i386/darwin.h: Define X86_CUSTOM_FUNCTION_TEST. - * config/i386/i386.h: Define X86_CUSTOM_FUNCTION_TEST. - * config/i386/i386.cc: Use X86_CUSTOM_FUNCTION_TEST. - -2023-10-22 Andrew Burgess - Maxim Blinov - Iain Sandoe - Francois-Xavier Coudert - - * builtins.def (BUILT_IN_NESTED_PTR_CREATED): Define. - (BUILT_IN_NESTED_PTR_DELETED): Ditto. - * common.opt (ftrampoline-impl): Add option to control - generation of trampoline instantiation (heap or stack). - * coretypes.h: Define enum trampoline_impl. - * tree-nested.cc (convert_tramp_reference_op): Don't bother calling - __builtin_adjust_trampoline for heap trampolines. - (finalize_nesting_tree_1): Emit calls to - __builtin_nested_...{created,deleted} if we're generating with - -ftrampoline-impl=heap. - * tree.cc (build_common_builtin_nodes): Build - __builtin_nested_...{created,deleted}. - * doc/invoke.texi (-ftrampoline-impl): Document. - -2023-10-22 Tsukasa OI - - * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): - Prohibit 'E' and 'H' combinations. - -2023-10-22 Tsukasa OI - - * common/config/riscv/riscv-common.cc (riscv_ext_version_table): - Change version number of the 'Zfa' extension to 1.0. - -2023-10-21 Pan Li - - PR target/111857 - * config/riscv/riscv-opts.h (TARGET_VECTOR_VLS): Remove. - * config/riscv/riscv-protos.h (vls_mode_valid_p): New func decl. - * config/riscv/riscv-v.cc (autovectorize_vector_modes): Replace - macro reference to func. - (vls_mode_valid_p): New func impl for vls mode valid or not. - * config/riscv/riscv-vector-switch.def (VLS_ENTRY): Replace - macro reference to func. - * config/riscv/vector-iterators.md: Ditto. - -2023-10-20 Roger Sayle - Uros Bizjak - - PR middle-end/101955 - PR tree-optimization/106245 - * config/i386/i386.md (*extv_1_0): New define_insn_and_split. - -2023-10-20 David Edelsohn - - * gimple-harden-control-flow.cc: Include memmodel.h. - -2023-10-20 David Edelsohn - - * gimple-harden-control-flow.cc: Include tm_p.h. - -2023-10-20 Andre Vieira - - PR tree-optimization/111882 - * tree-if-conv.cc (get_bitfield_rep): Return NULL_TREE for bitfields - with non-constant offsets. - -2023-10-20 Tamar Christina - - PR tree-optimization/111866 - * tree-vect-loop-manip.cc (vect_do_peeling): Pass null as vinfo to - vect_set_loop_condition during prolog peeling. - -2023-10-20 Richard Biener - - PR tree-optimization/111445 - * tree-scalar-evolution.cc (simple_iv_with_niters): - Add missing check for a sign-conversion. - -2023-10-20 Richard Biener - - PR tree-optimization/110243 - PR tree-optimization/111336 - * tree-ssa-loop-ivopts.cc (strip_offset_1): Rewrite - operations with undefined behavior on overflow to - unsigned arithmetic. - -2023-10-20 Richard Biener - - PR tree-optimization/111891 - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Fix - assert. - -2023-10-20 Andrew Stubbs - - * config.gcc: Allow --with-arch=gfx1030. - * config/gcn/gcn-hsa.h (NO_XNACK): gfx1030 does not support xnack. - (ASM_SPEC): gfx1030 needs -mattr=+wavefrontsize64 set. - * config/gcn/gcn-opts.h (enum processor_type): Add PROCESSOR_GFX1030. - (TARGET_GFX1030): New. - (TARGET_RDNA2): New. - * config/gcn/gcn-valu.md (@dpp_move): Disable for RDNA2. - (addc3): Add RDNA2 syntax variant. - (subc3): Likewise. - (2_exec): Add RDNA2 alternatives. - (vec_cmpdi): Likewise. - (vec_cmpdi): Likewise. - (vec_cmpdi_exec): Likewise. - (vec_cmpdi_exec): Likewise. - (vec_cmpdi_dup): Likewise. - (vec_cmpdi_dup_exec): Likewise. - (reduc__scal_): Disable for RDNA2. - (*_dpp_shr_): Likewise. - (*plus_carry_dpp_shr_): Likewise. - (*plus_carry_in_dpp_shr_): Likewise. - * config/gcn/gcn.cc (gcn_option_override): Recognise gfx1030. - (gcn_global_address_p): RDNA2 only allows smaller offsets. - (gcn_addr_space_legitimate_address_p): Likewise. - (gcn_omp_device_kind_arch_isa): Recognise gfx1030. - (gcn_expand_epilogue): Use VGPRs instead of SGPRs. - (output_file_start): Configure gfx1030. - * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Add __RDNA2__; - (ASSEMBLER_DIALECT): New. - * config/gcn/gcn.md (rdna): New define_attr. - (enabled): Use "rdna" attribute. - (gcn_return): Remove s_dcache_wb. - (addcsi3_scalar): Add RDNA2 syntax variant. - (addcsi3_scalar_zero): Likewise. - (addptrdi3): Likewise. - (mulsi3): v_mul_lo_i32 should be v_mul_lo_u32 on all ISA. - (*memory_barrier): Add RDNA2 syntax variant. - (atomic_load): Add RDNA2 cache control variants, and disable - scalar atomics for RDNA2. - (atomic_store): Likewise. - (atomic_exchange): Likewise. - * config/gcn/gcn.opt (gpu_type): Add gfx1030. - * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX1030): New. - (main): Recognise -march=gfx1030. - * config/gcn/t-omp-device: Add gfx1030 isa. - -2023-10-20 Richard Biener - - PR tree-optimization/111000 - * stor-layout.h (element_precision): Move .. - * tree.h (element_precision): .. here. - * tree-ssa-loop-im.cc (movement_possibility_1): Restrict - motion of shifts and rotates. - -2023-10-20 Alexandre Oliva - - * tree-core.h (ECF_XTHROW): New macro. - * tree.cc (set_call_expr): Add expected_throw attribute when - ECF_XTHROW is set. - (build_common_builtin_node): Add ECF_XTHROW to - __cxa_end_cleanup and _Unwind_Resume or _Unwind_SjLj_Resume. - * calls.cc (flags_from_decl_or_type): Check for expected_throw - attribute to set ECF_XTHROW. - * gimple.cc (gimple_build_call_from_tree): Propagate - ECF_XTHROW from decl flags to gimple call... - (gimple_call_flags): ... and back. - * gimple.h (GF_CALL_XTHROW): New gf_mask flag. - (gimple_call_set_expected_throw): New. - (gimple_call_expected_throw_p): New. - * Makefile.in (OBJS): Add gimple-harden-control-flow.o. - * builtins.def (BUILT_IN___HARDCFR_CHECK): New. - * common.opt (fharden-control-flow-redundancy): New. - (-fhardcfr-check-returning-calls): New. - (-fhardcfr-check-exceptions): New. - (-fhardcfr-check-noreturn-calls=*): New. - (Enum hardcfr_check_noreturn_calls): New. - (fhardcfr-skip-leaf): New. - * doc/invoke.texi: Document them. - (hardcfr-max-blocks, hardcfr-max-inline-blocks): New params. - * flag-types.h (enum hardcfr_noret): New. - * gimple-harden-control-flow.cc: New. - * params.opt (-param=hardcfr-max-blocks=): New. - (-param=hradcfr-max-inline-blocks=): New. - * passes.def (pass_harden_control_flow_redundancy): Add. - * tree-pass.h (make_pass_harden_control_flow_redundancy): - Declare. - * doc/extend.texi: Document expected_throw attribute. - -2023-10-20 Alex Coplan - - * rtl-ssa/changes.cc (function_info::change_insns): Ensure we call - ::remove_insn on deleted insns. - -2023-10-20 Richard Biener - - * doc/generic.texi ({L,R}ROTATE_EXPR): Document. - -2023-10-20 Oleg Endo - - PR target/101177 - * config/sh/sh.md (unnamed split pattern): Fix comparison of - find_regno_note result. - -2023-10-20 Richard Biener - - * tree-vect-loop.cc (update_epilogue_loop_vinfo): Rewrite - both STMT_VINFO_GATHER_SCATTER_P and VMAT_GATHER_SCATTER - stmt refs. - -2023-10-20 Richard Biener - - * tree-vect-slp.cc (off_map, off_op0_map, off_arg2_map, - off_arg3_arg2_map): New. - (vect_get_operand_map): Get flag whether the stmt was - recognized as gather or scatter and use the above - accordingly. - (vect_get_and_check_slp_defs): Adjust. - (vect_build_slp_tree_2): Likewise. - -2023-10-20 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::fuse_local_vsetvl_info): Rename variables. - (pre_vsetvl::pre_global_vsetvl_info): Ditto. - (pre_vsetvl::emit_vsetvl): Ditto. - -2023-10-20 Tamar Christina - Andre Vieira - - * tree-if-conv.cc (if_convertible_loop_p_1): Move check from here ... - (get_loop_body_if_conv_order): ... to here. - (if_convertible_loop_p): Remove single_exit check. - (tree_if_conversion): Move single_exit check to if-conversion part and - support multiple exits. - -2023-10-20 Tamar Christina - Andre Vieira - - * tree-vect-patterns.cc (vect_init_pattern_stmt): Copy STMT_VINFO_TYPE - from original statement. - (vect_recog_bitfield_ref_pattern): Support bitfields in gcond. - -2023-10-20 Juzhe-Zhong - - PR target/111848 - * config/riscv/riscv-selftests.cc (run_const_vector_selftests): Adapt selftest. - * config/riscv/riscv-v.cc (expand_const_vector): Change it into vec_duplicate splitter. - -2023-10-20 Lehua Ding - - PR target/111037 - PR target/111234 - PR target/111725 - * config/riscv/riscv-vsetvl.cc (bitmap_union_of_preds_with_entry): New. - (debug): Removed. - (compute_reaching_defintion): New. - (enum vsetvl_type): Moved. - (vlmax_avl_p): Moved. - (enum emit_type): Moved. - (vlmul_to_str): Moved. - (vlmax_avl_insn_p): Removed. - (policy_to_str): Moved. - (loop_basic_block_p): Removed. - (valid_sew_p): Removed. - (vsetvl_insn_p): Moved. - (vsetvl_vtype_change_only_p): Removed. - (after_or_same_p): Removed. - (before_p): Removed. - (anticipatable_occurrence_p): Removed. - (available_occurrence_p): Removed. - (insn_should_be_added_p): Removed. - (get_all_sets): Moved. - (get_same_bb_set): Moved. - (gen_vsetvl_pat): Removed. - (calculate_vlmul): Moved. - (get_max_int_sew): New. - (emit_vsetvl_insn): Removed. - (get_max_float_sew): New. - (eliminate_insn): Removed. - (insert_vsetvl): Removed. - (count_regno_occurrences): Moved. - (get_vl_vtype_info): Removed. - (enum def_type): Moved. - (validate_change_or_fail): Moved. - (change_insn): Removed. - (get_all_real_uses): Moved. - (get_forward_read_vl_insn): Removed. - (get_backward_fault_first_load_insn): Removed. - (change_vsetvl_insn): Removed. - (avl_source_has_vsetvl_p): Removed. - (source_equal_p): Moved. - (calculate_sew): Removed. - (same_equiv_note_p): Moved. - (get_expr_id): New. - (incompatible_avl_p): Removed. - (get_regno): New. - (different_sew_p): Removed. - (get_bb_index): New. - (different_lmul_p): Removed. - (has_no_uses): Moved. - (different_ratio_p): Removed. - (different_tail_policy_p): Removed. - (different_mask_policy_p): Removed. - (possible_zero_avl_p): Removed. - (enum demand_flags): New. - (second_ratio_invalid_for_first_sew_p): Removed. - (second_ratio_invalid_for_first_lmul_p): Removed. - (enum class): New. - (float_insn_valid_sew_p): Removed. - (second_sew_less_than_first_sew_p): Removed. - (first_sew_less_than_second_sew_p): Removed. - (class vsetvl_info): New. - (compare_lmul): Removed. - (second_lmul_less_than_first_lmul_p): Removed. - (second_ratio_less_than_first_ratio_p): Removed. - (DEF_INCOMPATIBLE_COND): Removed. - (greatest_sew): Removed. - (first_sew): Removed. - (second_sew): Removed. - (first_vlmul): Removed. - (second_vlmul): Removed. - (first_ratio): Removed. - (second_ratio): Removed. - (vlmul_for_first_sew_second_ratio): Removed. - (vlmul_for_greatest_sew_second_ratio): Removed. - (ratio_for_second_sew_first_vlmul): Removed. - (class vsetvl_block_info): New. - (DEF_SEW_LMUL_FUSE_RULE): New. - (always_unavailable): Removed. - (avl_unavailable_p): Removed. - (class demand_system): New. - (sew_unavailable_p): Removed. - (lmul_unavailable_p): Removed. - (ge_sew_unavailable_p): Removed. - (ge_sew_lmul_unavailable_p): Removed. - (ge_sew_ratio_unavailable_p): Removed. - (DEF_UNAVAILABLE_COND): Removed. - (same_sew_lmul_demand_p): Removed. - (propagate_avl_across_demands_p): Removed. - (reg_available_p): Removed. - (support_relaxed_compatible_p): Removed. - (demands_can_be_fused_p): Removed. - (earliest_pred_can_be_fused_p): Removed. - (vsetvl_dominated_by_p): Removed. - (avl_info::avl_info): Removed. - (avl_info::single_source_equal_p): Removed. - (avl_info::multiple_source_equal_p): Removed. - (DEF_SEW_LMUL_RULE): New. - (avl_info::operator=): Removed. - (avl_info::operator==): Removed. - (DEF_POLICY_RULE): New. - (avl_info::operator!=): Removed. - (avl_info::has_non_zero_avl): Removed. - (vl_vtype_info::vl_vtype_info): Removed. - (vl_vtype_info::operator==): Removed. - (DEF_AVL_RULE): New. - (vl_vtype_info::operator!=): Removed. - (vl_vtype_info::same_avl_p): Removed. - (vl_vtype_info::same_vtype_p): Removed. - (vl_vtype_info::same_vlmax_p): Removed. - (vector_insn_info::operator>=): Removed. - (vector_insn_info::operator==): Removed. - (class pre_vsetvl): New. - (vector_insn_info::parse_insn): Removed. - (vector_insn_info::compatible_p): Removed. - (vector_insn_info::skip_avl_compatible_p): Removed. - (vector_insn_info::compatible_avl_p): Removed. - (vector_insn_info::compatible_vtype_p): Removed. - (vector_insn_info::available_p): Removed. - (vector_insn_info::fuse_avl): Removed. - (vector_insn_info::fuse_sew_lmul): Removed. - (vector_insn_info::fuse_tail_policy): Removed. - (vector_insn_info::fuse_mask_policy): Removed. - (vector_insn_info::local_merge): Removed. - (vector_insn_info::global_merge): Removed. - (vector_insn_info::get_avl_or_vl_reg): Removed. - (vector_insn_info::update_fault_first_load_avl): Removed. - (vector_insn_info::dump): Removed. - (vector_infos_manager::vector_infos_manager): Removed. - (vector_infos_manager::create_expr): Removed. - (vector_infos_manager::get_expr_id): Removed. - (vector_infos_manager::all_same_ratio_p): Removed. - (vector_infos_manager::all_avail_in_compatible_p): Removed. - (vector_infos_manager::all_same_avl_p): Removed. - (vector_infos_manager::expr_set_num): Removed. - (vector_infos_manager::release): Removed. - (vector_infos_manager::create_bitmap_vectors): Removed. - (vector_infos_manager::free_bitmap_vectors): Removed. - (vector_infos_manager::dump): Removed. - (class pass_vsetvl): Adjust. - (pass_vsetvl::get_vector_info): Removed. - (pass_vsetvl::get_block_info): Removed. - (pass_vsetvl::update_vector_info): Removed. - (pass_vsetvl::update_block_info): Removed. - (pre_vsetvl::compute_avl_def_data): New. - (pass_vsetvl::simple_vsetvl): Removed. - (pass_vsetvl::compute_local_backward_infos): Removed. - (pass_vsetvl::need_vsetvl): Removed. - (pass_vsetvl::transfer_before): Removed. - (pass_vsetvl::transfer_after): Removed. - (pre_vsetvl::compute_vsetvl_def_data): New. - (pass_vsetvl::emit_local_forward_vsetvls): Removed. - (pass_vsetvl::prune_expressions): Removed. - (pass_vsetvl::compute_local_properties): Removed. - (pre_vsetvl::compute_lcm_local_properties): New. - (pass_vsetvl::earliest_fusion): Removed. - (pre_vsetvl::fuse_local_vsetvl_info): New. - (pass_vsetvl::vsetvl_fusion): Removed. - (pass_vsetvl::can_refine_vsetvl_p): Removed. - (pre_vsetvl::earliest_fuse_vsetvl_info): New. - (pass_vsetvl::refine_vsetvls): Removed. - (pass_vsetvl::cleanup_vsetvls): Removed. - (pass_vsetvl::commit_vsetvls): Removed. - (pass_vsetvl::pre_vsetvl): Removed. - (pass_vsetvl::get_vsetvl_at_end): Removed. - (local_avl_compatible_p): Removed. - (pass_vsetvl::local_eliminate_vsetvl_insn): Removed. - (pre_vsetvl::pre_global_vsetvl_info): New. - (get_first_vsetvl_before_rvv_insns): Removed. - (pass_vsetvl::global_eliminate_vsetvl_insn): Removed. - (pre_vsetvl::emit_vsetvl): New. - (pass_vsetvl::ssa_post_optimization): Removed. - (pre_vsetvl::cleaup): New. - (pre_vsetvl::remove_avl_operand): New. - (pass_vsetvl::df_post_optimization): Removed. - (pre_vsetvl::remove_unused_dest_operand): New. - (pass_vsetvl::init): Removed. - (pass_vsetvl::done): Removed. - (pass_vsetvl::compute_probabilities): Removed. - (pass_vsetvl::lazy_vsetvl): Adjust. - (pass_vsetvl::execute): Adjust. - * config/riscv/riscv-vsetvl.def (DEF_INCOMPATIBLE_COND): Removed. - (DEF_SEW_LMUL_RULE): New. - (DEF_SEW_LMUL_FUSE_RULE): Removed. - (DEF_POLICY_RULE): New. - (DEF_UNAVAILABLE_COND): Removed - (DEF_AVL_RULE): New demand type. - (sew_lmul): New demand type. - (ratio_only): New demand type. - (sew_only): New demand type. - (ge_sew): New demand type. - (ratio_and_ge_sew): New demand type. - (tail_mask_policy): New demand type. - (tail_policy_only): New demand type. - (mask_policy_only): New demand type. - (ignore_policy): New demand type. - (avl): New demand type. - (non_zero_avl): New demand type. - (ignore_avl): New demand type. - * config/riscv/t-riscv: Removed riscv-vsetvl.h - * config/riscv/riscv-vsetvl.h: Removed. - -2023-10-20 Alexandre Oliva - - * tree-eh.cc (make_eh_edges): Return the new edge. - * tree-eh.h (make_eh_edges): Likewise. - -2023-10-19 Marek Polacek - - * doc/contrib.texi: Add entry for Patrick Palka. - -2023-10-19 Andre Vieira - - * omp-simd-clone.cc (simd_clone_adjust_argument_types): Make function - compatible with mask parameters in clone. - * tree-vect-stmts.cc (vect_build_all_ones_mask): Allow vector boolean - typed masks. - (vectorizable_simd_clone_call): Enable the use of masked clones in - fully masked loops. - -2023-10-19 Andre Vieira - - PR tree-optimization/110485 - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Disable partial - vectors usage if a notinbranch simdclone has been selected. - -2023-10-19 Andre Vieira - - * tree-vect-data-refs.cc (vect_get_smallest_scalar_type): Special case - simd clone calls and only use types that are mapped to vectors. - (simd_clone_call_p): New helper function. - -2023-10-19 Andre Vieira - - * tree-parloops.cc (try_transform_to_exit_first_loop_alt): Accept - poly NIT and ALT_BOUND. - -2023-10-19 Andre Vieira - - * tree-parloops.cc (create_loop_fn): Copy specific target and - optimization options to clone. - -2023-10-19 Andre Vieira - - * omp-simd-clone.cc (simd_clone_subparts): Remove. - (simd_clone_init_simd_arrays): Replace simd_clone_supbarts with - TYPE_VECTOR_SUBPARTS. - (ipa_simd_modify_function_body): Likewise. - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Likewise. - (simd_clone_subparts): Remove. - -2023-10-19 Jason Merrill - - * ABOUT-GCC-NLS: Add usage guidance. - -2023-10-19 Jason Merrill - - * diagnostic-core.h (permerror): Rename new overloads... - (permerror_opt): To this. - * diagnostic.cc: Likewise. - -2023-10-19 Tamar Christina - - PR tree-optimization/111860 - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - Remove PHI nodes that dominate loop. - -2023-10-19 Richard Biener - - PR tree-optimization/111131 - * tree-vect-loop.cc (update_epilogue_loop_vinfo): Make - sure to update all gather/scatter stmt DRs, not only those - that eventually got VMAT_GATHER_SCATTER set. - * tree-vect-slp.cc (_slp_oprnd_info::first_gs_info): Add. - (vect_get_and_check_slp_defs): Handle gathers/scatters, - adding the offset as SLP operand and comparing base and scale. - (vect_build_slp_tree_1): Handle gathers. - (vect_build_slp_tree_2): Likewise. - -2023-10-19 Richard Biener - - * tree-vect-stmts.cc (vect_build_gather_load_calls): Rename - to ... - (vect_build_one_gather_load_call): ... this. Refactor, - inline widening/narrowing support ... - (vectorizable_load): ... here, do gather vectorization - with builtin decls along other gather vectorization. - -2023-10-19 Alex Coplan - - * config/aarch64/aarch64.md (load_pair_dw_tftf): Rename to ... - (load_pair_dw_): ... this. - (store_pair_dw_tftf): Rename to ... - (store_pair_dw_): ... this. - * config/aarch64/iterators.md (TX2): New. - -2023-10-19 Alex Coplan - - * rtl-ssa/changes.cc (function_info::finalize_new_accesses): Add new - parameter to give final insn position, infer use of mem if it isn't - specified explicitly. - (function_info::change_insns): Pass down final insn position to - finalize_new_accesses. - * rtl-ssa/functions.h: Add parameter to finalize_new_accesses. - -2023-10-19 Alex Coplan - - * rtl-ssa/accesses.cc (function_info::reparent_use): New. - * rtl-ssa/functions.h (function_info): Declare new member - function reparent_use. - -2023-10-19 Alex Coplan - - * rtl-ssa/access-utils.h (drop_memory_access): New. - -2023-10-19 Alex Coplan - - * rtl-ssa/insns.cc (function_info::add_insn_after): Ensure we - update the prev pointer on the following nondebug insn in the - case that !insn->is_debug_insn () && next->is_debug_insn (). - -2023-10-19 Haochen Jiang - - * config/i386/i386.h: Correct the ISA enabled for Arrow Lake. - Also make Clearwater Forest depends on Sierra Forest. - * config/i386/i386-options.cc: Revise the order of the macro - definition to avoid confusion. - * doc/extend.texi: Revise documentation. - * doc/invoke.texi: Correct documentation. - -2023-10-19 Andrew Stubbs - - * config.gcc (amdgcn): Switch default to --with-arch=gfx900. - Implement support for --with-multilib-list. - * config/gcn/t-gcn-hsa: Likewise. - * doc/install.texi: Likewise. - * doc/invoke.texi: Mark Fiji deprecated. - -2023-10-19 Jiahao Xu - - * config/loongarch/loongarch.cc (loongarch_vector_costs): Inherit from - vector_costs. Add a constructor. - (loongarch_vector_costs::add_stmt_cost): Use adjust_cost_for_freq to - adjust the cost for inner loops. - (loongarch_vector_costs::count_operations): New function. - (loongarch_vector_costs::determine_suggested_unroll_factor): Ditto. - (loongarch_vector_costs::finish_cost): Ditto. - (loongarch_builtin_vectorization_cost): Adjust. - * config/loongarch/loongarch.opt (loongarch-vect-unroll-limit): New parameter. - (loongarcg-vect-issue-info): Ditto. - (mmemvec-cost): Delete. - * config/loongarch/genopts/loongarch.opt.in - (loongarch-vect-unroll-limit): Ditto. - (loongarcg-vect-issue-info): Ditto. - (mmemvec-cost): Delete. - * doc/invoke.texi (loongarcg-vect-unroll-limit): Document new option. - -2023-10-19 Jiahao Xu - - * config/loongarch/lasx.md - (vec_widen_mult_even_v8si): New patterns. - (vec_widen_add_hi_): Ditto. - (vec_widen_add_lo_): Ditto. - (vec_widen_sub_hi_): Ditto. - (vec_widen_sub_lo_): Ditto. - (vec_widen_mult_hi_): Ditto. - (vec_widen_mult_lo_): Ditto. - * config/loongarch/loongarch.md (u_bool): New iterator. - * config/loongarch/loongarch-protos.h - (loongarch_expand_vec_widen_hilo): New prototype. - * config/loongarch/loongarch.cc - (loongarch_expand_vec_interleave): New function. - (loongarch_expand_vec_widen_hilo): New function. - -2023-10-19 Jiahao Xu - - * config/loongarch/lasx.md - (avg3_ceil): New patterns. - (uavg3_ceil): Ditto. - (avg3_floor): Ditto. - (uavg3_floor): Ditto. - (usadv32qi): Ditto. - (ssadv32qi): Ditto. - * config/loongarch/lsx.md - (avg3_ceil): New patterns. - (uavg3_ceil): Ditto. - (avg3_floor): Ditto. - (uavg3_floor): Ditto. - (usadv16qi): Ditto. - (ssadv16qi): Ditto. - -2023-10-18 Andrew Pinski - - PR middle-end/111863 - * expr.cc (do_store_flag): Don't over write arg0 - when stripping off `& POW2`. - -2023-10-18 Prathamesh Kulkarni - - PR tree-optimization/111648 - * fold-const.cc (valid_mask_for_fold_vec_perm_cst_p): If a1 - chooses base element from arg, ensure that it's a natural stepped - sequence. - (build_vec_cst_rand): New param natural_stepped and use it to - construct a naturally stepped sequence. - (test_nunits_min_2): Add new unit tests Case 6 and Case 7. - -2023-10-18 Dimitar Dimitrov - - * config/pru/pru.cc (pru_insn_cost): New function. - (TARGET_INSN_COST): Define for PRU. - -2023-10-18 Andrew Carlotti - - * config/aarch64/aarch64.cc (aarch64_test_fractional_cost): - Test <= instead of testing < twice. - -2023-10-18 Jakub Jelinek - - PR bootstrap/111852 - * cse.cc (cse_insn): Add workaround for GCC 4.8-4.9, instead of - using rtx_def type for memory_extend_buf, use unsigned char - arrayy with size of rtx_def and its alignment. - -2023-10-18 Jason Merrill - - * doc/invoke.texi: Move -fpermissive to Warning Options. - * diagnostic.cc (update_effective_level_from_pragmas): Remove - redundant system header check. - (diagnostic_report_diagnostic): Move down syshdr/-w check. - (diagnostic_impl): Handle DK_PERMERROR with an option number. - (permerror): Add new overloads. - * diagnostic-core.h (permerror): Declare them. - -2023-10-18 Tobias Burnus - - * gimplify.cc (gimplify_bind_expr): Remove "omp allocate" attribute - to avoid that auxillary statement list reaches LTO. - -2023-10-18 Jakub Jelinek - - PR tree-optimization/111845 - * tree-ssa-math-opts.cc (match_uaddc_usubc): Remember temporary - statements for the 4 operand addition or subtraction of 3 operands - from 1 operand cases and remove them when successful. Look for - nested additions even from rhs[2], not just rhs[1]. - -2023-10-18 Tobias Burnus - - PR target/111093 - * config/nvptx/nvptx.cc (nvptx_option_override): Issue fatal error - instead of an assert ICE when no -march= has been specified. - -2023-10-18 Iain Sandoe - - * config.in: Regenerate. - * config/darwin.cc (darwin_file_start): Add assembler directives - for the target OS version, where these are supported by the - assembler. - (darwin_override_options): Check for building >= macOS 10.14. - * configure: Regenerate. - * configure.ac: Check for assembler support of .build_version - directives. - -2023-10-18 Tamar Christina - - PR tree-optimization/109154 - * tree-if-conv.cc (INCLUDE_ALGORITHM): Remove. - (typedef struct ifcvt_arg_entry): New. - (cmp_arg_entry): New. - (gen_phi_arg_condition, gen_phi_nest_statement, - predicate_scalar_phi): Use them. - -2023-10-18 Tamar Christina - - PR tree-optimization/109154 - * config/aarch64/aarch64-simd.md (*aarch64_simd_mov): - Rewrite to new syntax. - (*aarch64_simd_mov - - PR tree-optimization/109154 - * tree-if-conv.cc (if_convertible_stmt_p): Allow any const IFN. - -2023-10-18 Tamar Christina - - PR tree-optimization/109154 - * match.pd: Add new cond_op rule. - -2023-10-18 Xi Ruoyao - - * config/loongarch/loongarch.md (movfcc): Use fcmp.caf.s for - zeroing a fcc. - -2023-10-18 Richard Biener - - * tree-vect-stmts.cc (vectorizable_simd_clone_call): - Relax check to again allow passing integer mode masks - as traditional vectors. - -2023-10-18 Tamar Christina - - * tree-loop-distribution.cc (copy_loop_before): Request no LCSSA. - * tree-vect-loop-manip.cc (adjust_phi_and_debug_stmts): Add additional - asserts. - (slpeel_tree_duplicate_loop_to_edge_cfg): Keep LCSSA during peeling. - (find_guard_arg): Look value up through explicit edge and original defs. - (vect_do_peeling): Use it. - (slpeel_update_phi_nodes_for_guard2): Take explicit exit edge. - (slpeel_update_phi_nodes_for_lcssa, slpeel_update_phi_nodes_for_loops): - Remove. - * tree-vect-loop.cc (vect_create_epilog_for_reduction): Initialize phi. - * tree-vectorizer.h (slpeel_tree_duplicate_loop_to_edge_cfg): Add - optional param to turn off LCSSA mode. - -2023-10-18 Tamar Christina - - * tree-if-conv.cc (tree_if_conversion): Record exits in aux. - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): Use - it. - * tree-vect-loop.cc (vect_get_loop_niters): Determine main exit. - (vec_init_loop_exit_info): Extend analysis when multiple exits. - (vect_analyze_loop_form): Record conds and determine main cond. - (vect_create_loop_vinfo): Extend bookkeeping of conds. - (vect_analyze_loop): Release conds. - * tree-vectorizer.h (LOOP_VINFO_LOOP_CONDS, - LOOP_VINFO_LOOP_IV_COND): New. - (struct vect_loop_form_info): Add conds, alt_loop_conds; - (struct loop_vec_info): Add conds, loop_iv_cond. - -2023-10-18 Tamar Christina - - * tree-loop-distribution.cc (copy_loop_before): Pass exit explicitly. - (loop_distribution::distribute_loop): Bail out of not single exit. - * tree-scalar-evolution.cc (get_loop_exit_condition): New. - * tree-scalar-evolution.h (get_loop_exit_condition): New. - * tree-vect-data-refs.cc (vect_enhance_data_refs_alignment): Pass exit - explicitly. - * tree-vect-loop-manip.cc (vect_set_loop_condition_partial_vectors, - vect_set_loop_condition_partial_vectors_avx512, - vect_set_loop_condition_normal, vect_set_loop_condition): Explicitly - take exit. - (slpeel_tree_duplicate_loop_to_edge_cfg): Explicitly take exit and - return new peeled corresponding peeled exit. - (slpeel_can_duplicate_loop_p): Explicitly take exit. - (find_loop_location): Handle not knowing an explicit exit. - (vect_update_ivs_after_vectorizer, vect_gen_vector_loop_niters_mult_vf, - find_guard_arg, slpeel_update_phi_nodes_for_loops, - slpeel_update_phi_nodes_for_guard2): Use new exits. - (vect_do_peeling): Update bookkeeping to keep track of exits. - * tree-vect-loop.cc (vect_get_loop_niters): Explicitly take exit to - analyze. - (vec_init_loop_exit_info): New. - (_loop_vec_info::_loop_vec_info): Initialize vec_loop_iv, - vec_epilogue_loop_iv, scalar_loop_iv. - (vect_analyze_loop_form): Initialize exits. - (vect_create_loop_vinfo): Set main exit. - (vect_create_epilog_for_reduction, vectorizable_live_operation, - vect_transform_loop): Use it. - (scale_profile_for_vect_loop): Explicitly take exit to scale. - * tree-vectorizer.cc (set_uid_loop_bbs): Initialize loop exit. - * tree-vectorizer.h (LOOP_VINFO_IV_EXIT, LOOP_VINFO_EPILOGUE_IV_EXIT, - LOOP_VINFO_SCALAR_IV_EXIT): New. - (struct loop_vec_info): Add vec_loop_iv, vec_epilogue_loop_iv, - scalar_loop_iv. - (vect_set_loop_condition, slpeel_can_duplicate_loop_p, - slpeel_tree_duplicate_loop_to_edge_cfg): Take explicit exits. - (vec_init_loop_exit_info): New. - (struct vect_loop_form_info): Add loop_exit. - -2023-10-18 Tamar Christina - - * tree-vect-stmts.cc (vectorizable_comparison): Refactor, splitting body - to ... - (vectorizable_comparison_1): ...This. - -2023-10-18 Juzhe-Zhong - - * config/riscv/riscv-v.cc (shuffle_consecutive_patterns): New function. - (expand_vec_perm_const_1): Add consecutive pattern recognition. - -2023-10-18 Haochen Jiang - - * common/config/i386/cpuinfo.h (get_intel_cpu): Add Panther - Lake. - * common/config/i386/i386-common.cc (processor_name): - Ditto. - (processor_alias_table): Ditto. - * common/config/i386/i386-cpuinfo.h (enum processor_types): - Add INTEL_PANTHERLAKE. - * config.gcc: Add -march=pantherlake. - * config/i386/driver-i386.cc (host_detect_local_cpu): Refactor - the if clause. Handle pantherlake. - * config/i386/i386-c.cc (ix86_target_macros_internal): - Handle pantherlake. - * config/i386/i386-options.cc (processor_cost_table): Ditto. - (m_PANTHERLAKE): New. - (m_CORE_HYBRID): Add pantherlake. - * config/i386/i386.h (enum processor_type): Ditto. - * doc/extend.texi: Ditto. - * doc/invoke.texi: Ditto. - -2023-10-18 Haochen Jiang - - * config/i386/i386-options.cc (m_CORE_HYBRID): New. - * config/i386/x86-tune.def: Replace hybrid client tune to - m_CORE_HYBRID. - -2023-10-18 Haochen Jiang - - * common/config/i386/cpuinfo.h - (get_intel_cpu): Handle Clearwater Forest. - * common/config/i386/i386-common.cc (processor_name): - Add Clearwater Forest. - (processor_alias_table): Ditto. - * common/config/i386/i386-cpuinfo.h (enum processor_types): - Add INTEL_CLEARWATERFOREST. - * config.gcc: Add -march=clearwaterforest. - * config/i386/driver-i386.cc (host_detect_local_cpu): Handle - clearwaterforest. - * config/i386/i386-c.cc (ix86_target_macros_internal): Ditto. - * config/i386/i386-options.cc (processor_cost_table): Ditto. - (m_CLEARWATERFOREST): New. - (m_CORE_ATOM): Add clearwaterforest. - * config/i386/i386.h (enum processor_type): Ditto. - * doc/extend.texi: Ditto. - * doc/invoke.texi: Ditto. - -2023-10-18 liuhongt - - * config/i386/mmx.md (fma4): New expander. - (fms4): Ditto. - (fnma4): Ditto. - (fnms4): Ditto. - (vec_fmaddsubv4hf4): Ditto. - (vec_fmsubaddv4hf4): Ditto. - -2023-10-18 Juzhe-Zhong - - PR target/111832 - * config/riscv/riscv-vector-costs.cc (get_biggest_mode): New function. - -2023-10-17 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_layout_frame): Don't make - the position of the LR save slot dependent on stack clash - protection unless shadow call stacks are enabled. - -2023-10-17 Richard Sandiford - - * config/aarch64/aarch64.h (aarch64_frame): Add vectors that - store the list saved GPRs, FPRs and predicate registers. - * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize - the lists of saved registers. Use them to choose push candidates. - Invalidate pop candidates if we're not going to do a pop. - (aarch64_next_callee_save): Delete. - (aarch64_save_callee_saves): Take a list of registers, - rather than a range. Make !skip_wb select only write-back - candidates. - (aarch64_expand_prologue): Update calls accordingly. - (aarch64_restore_callee_saves): Take a list of registers, - rather than a range. Always skip pop candidates. Also skip - LR if shadow call stacks are enabled. - (aarch64_expand_epilogue): Update calls accordingly. - -2023-10-17 Richard Sandiford - - * cfgbuild.h (find_sub_basic_blocks): Declare. - * cfgbuild.cc (update_profile_for_new_sub_basic_block): New function, - split out from... - (find_many_sub_basic_blocks): ...here. - (find_sub_basic_blocks): New function. - * function.cc (thread_prologue_and_epilogue_insns): Handle - epilogues that contain jumps. - -2023-10-17 Andrew Pinski - - PR tree-optimization/110817 - * tree-ssanames.cc (ssa_name_has_boolean_range): Remove the - check for boolean type as they don't have "[0,1]" range. - -2023-10-17 Andrew Pinski - - PR tree-optimization/111432 - * match.pd (`a & (x | CST)`): New pattern. - -2023-10-17 Andre Vieira - - * tree-cfg.cc (move_sese_region_to_fn): Initialize profile_count for - new basic block. - -2023-10-17 Richard Biener - - PR tree-optimization/111846 - * tree-vectorizer.h (_slp_tree::simd_clone_info): Add. - (SLP_TREE_SIMD_CLONE_INFO): New. - * tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize - SLP_TREE_SIMD_CLONE_INFO. - (_slp_tree::~_slp_tree): Release it. - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Use - SLP_TREE_SIMD_CLONE_INFO or STMT_VINFO_SIMD_CLONE_INFO - dependent on if we're doing SLP. - -2023-10-17 Jakub Jelinek - - * wide-int-print.h (print_dec_buf_size): For length, divide number - of bits by 3 and add 3 instead of division by 4 and adding 4. - * wide-int-print.cc (print_decs): Remove superfluous ()s. Don't call - print_hex, instead call print_decu on either negated value after - printing - or on wi itself. - (print_decu): Don't call print_hex, instead print even large numbers - decimally. - (pp_wide_int_large): Assume len from print_dec_buf_size is big enough - even if it returns false. - * pretty-print.h (pp_wide_int): Use print_dec_buf_size to check if - pp_wide_int_large should be used. - * tree-pretty-print.cc (dump_generic_node): Use print_hex_buf_size - to compute needed buffer size. - -2023-10-17 Richard Biener - - PR middle-end/111818 - * tree-ssa.cc (maybe_optimize_var): When clearing - DECL_NOT_GIMPLE_REG_P always rewrite into SSA. - -2023-10-17 Richard Biener - - PR tree-optimization/111807 - * tree-sra.cc (build_ref_for_model): Only call - build_reconstructed_reference when the offsets are the same. - -2023-10-17 Vineet Gupta - - PR target/111466 - * expr.cc (expand_expr_real_2): Do not clear SUBREG_PROMOTED_VAR_P. - -2023-10-17 Chenghui Pan - - * config/loongarch/loongarch.cc (loongarch_expand_vector_group_init): - fix impl related to vec_initv32qiv16qi template to avoid ICE. - -2023-10-17 Lulu Cheng - Chenghua Xu - - * config/loongarch/loongarch.h (ASM_OUTPUT_ALIGN_WITH_NOP): - Delete. - -2023-10-17 Juzhe-Zhong - - * config/riscv/riscv-vector-costs.cc (max_number_of_live_regs): Fix big LMUL issue. - (get_store_value): New function. - -2023-10-16 Jeff Law - - * explow.cc (probe_stack_range): Handle case when expand_binop - does not construct its result in the expected location. - -2023-10-16 David Malcolm - - * diagnostic.cc (diagnostic_initialize): When LANG=C, update - default for -fdiagnostics-text-art-charset from emoji to ascii. - * doc/invoke.texi (fdiagnostics-text-art-charset): Document the above. - -2023-10-16 David Malcolm - - * diagnostic.cc (diagnostic_initialize): Ensure - context->extra_output_kind is initialized. - -2023-10-16 Uros Bizjak - - * config/i386/i386.cc (ix86_can_inline_p): - Handle CM_LARGE and CM_LARGE_PIC. - (x86_elf_aligned_decl_common): Ditto. - (x86_output_aligned_bss): Ditto. - * config/i386/i386.opt: Update doc for -mlarge-data-threshold=. - * doc/invoke.texi: Update doc for -mlarge-data-threshold=. - -2023-10-16 Christoph Müllner - - * config/riscv/riscv-protos.h (emit_block_move): Remove redundant - prototype. Improve comment. - * config/riscv/riscv.cc (riscv_block_move_straight): Move from riscv.cc - into riscv-string.cc. - (riscv_adjust_block_mem, riscv_block_move_loop): Likewise. - (riscv_expand_block_move): Likewise. - * config/riscv/riscv-string.cc (riscv_block_move_straight): Add moved - function. - (riscv_adjust_block_mem, riscv_block_move_loop): Likewise. - (riscv_expand_block_move): Likewise. - -2023-10-16 Manolis Tsamis - - * Makefile.in: Add fold-mem-offsets.o. - * passes.def: Schedule a new pass. - * tree-pass.h (make_pass_fold_mem_offsets): Declare. - * common.opt: New options. - * doc/invoke.texi: Document new option. - * fold-mem-offsets.cc: New file. - -2023-10-16 Andrew Pinski - - PR tree-optimization/101541 - * match.pd (A CMP 0 ? A : -A): Improve - using bitwise_equal_p. - -2023-10-16 Andrew Pinski - - PR tree-optimization/31531 - * match.pd (~X op ~Y): Allow for an optional nop convert. - (~X op C): Likewise. - -2023-10-16 Roger Sayle - - * config/arc/arc.md (*ashlsi3_1): New pre-reload splitter to - use bset dst,0,src to implement 1< - - * config/s390/vector.md (popcountv8hi2_vx): Sign extend each - unsigned vector element. - -2023-10-16 Juzhe-Zhong - - * config/riscv/riscv-vector-costs.cc (costs::preferred_new_lmul_p): Use VLS modes. - -2023-10-16 Jiufu Guo - - * fold-const.cc (expr_not_equal_to): Replace get_global_range_query - by get_range_query. - * gimple-fold.cc (size_must_be_zero_p): Likewise. - * gimple-range-fold.cc (fur_source::fur_source): Likewise. - * gimple-ssa-warn-access.cc (check_nul_terminated_array): Likewise. - * tree-dfa.cc (get_ref_base_and_extent): Likewise. - -2023-10-16 liuhongt - - * config/i386/mmx.md (V2FI_32): New mode iterator - (movd_v2hf_to_sse): Rename to .. - (movd__to_sse): .. this. - (movd_v2hf_to_sse_reg): Rename to .. - (movd__to_sse_reg): .. this. - (fix_trunc2): New - expander. - (fix_truncv2hfv2si2): Ditto. - (float2): Ditto. - (floatv2siv2hf2): Ditto. - (extendv2hfv2sf2): Ditto. - (truncv2sfv2hf2): Ditto. - * config/i386/sse.md (*vec_concatv8hf_movss): Rename to .. - (*vec_concat_movss): .. this. - -2023-10-16 liuhongt - - * config/i386/i386-expand.cc (ix86_sse_copysign_to_positive): - Handle HFmode. - (ix86_expand_round_sse4): Ditto. - * config/i386/i386.md (roundhf2): New expander. - (lroundhf2): Ditto. - (lrinthf2): Ditto. - (lhf2): Ditto. - * config/i386/mmx.md (sqrt2): Ditto. - (btrunc2): Ditto. - (nearbyint2): Ditto. - (rint2): Ditto. - (lrint2): Ditto. - (floor2): Ditto. - (lfloor2): Ditto. - (ceil2): Ditto. - (lceil2): Ditto. - (round2): Ditto. - (lround2): Ditto. - * config/i386/sse.md (lrint2): Ditto. - (lfloor2): Ditto. - (lceil2): Ditto. - (lround2): Ditto. - (sse4_1_round): Extend to V8HF. - (round2): Extend to V8HF/V16HF/V32HF. - -2023-10-15 Tobias Burnus - - * doc/invoke.texi (-fopenacc, -fopenmp, -fopenmp-simd): Use @samp not - @code; document more completely the supported Fortran sentinels. - -2023-10-15 Roger Sayle - - * optabs.cc (expand_subword_shift): Call simplify_expand_binop - instead of expand_binop. Optimize cases (i.e. avoid generating - RTL) when CARRIES or INTO_INPUT is zero. Use one_cmpl_optab - (i.e. NOT) instead of xor_optab with ~0 to calculate ~OP1. - -2023-10-15 Jakub Jelinek - - PR tree-optimization/111800 - * wide-int-print.h (print_dec_buf_size, print_decs_buf_size, - print_decu_buf_size, print_hex_buf_size): New inline functions. - * wide-int.cc (assert_deceq): Use print_dec_buf_size. - (assert_hexeq): Use print_hex_buf_size. - * wide-int-print.cc (print_decs): Use print_decs_buf_size. - (print_decu): Use print_decu_buf_size. - (print_hex): Use print_hex_buf_size. - (pp_wide_int_large): Use print_dec_buf_size. - * value-range.cc (irange_bitmask::dump): Use print_hex_buf_size. - * value-range-pretty-print.cc (vrange_printer::print_irange_bitmasks): - Likewise. - * tree-ssa-loop-niter.cc (do_warn_aggressive_loop_optimizations): Use - print_dec_buf_size. Use TYPE_SIGN macro in print_dec call argument. - -2023-10-15 Stefan Schulze Frielinghaus - - * combine.cc (simplify_compare_const): Fix handling of unsigned - constants. - -2023-10-15 Juzhe-Zhong - - * config/riscv/vector-iterators.md: Fix vsingle incorrect attribute for RVVM2x2QI. - -2023-10-14 Tobias Burnus - - * gimplify.cc (gimplify_bind_expr): Handle Fortran's - 'omp allocate' for stack variables. - -2023-10-14 Jakub Jelinek - - PR c/102989 - * tree-core.h (struct tree_base): Remove int_length.offset - member, change type of int_length.unextended and int_length.extended - from unsigned char to unsigned short. - * tree.h (TREE_INT_CST_OFFSET_NUNITS): Remove. - (wi::extended_tree ::get_len): Don't use TREE_INT_CST_OFFSET_NUNITS, - instead compute it at runtime from TREE_INT_CST_EXT_NUNITS and - TREE_INT_CST_NUNITS. - * tree.cc (wide_int_to_tree_1): Don't assert - TREE_INT_CST_OFFSET_NUNITS value. - (make_int_cst): Don't initialize TREE_INT_CST_OFFSET_NUNITS. - * wide-int.h (WIDE_INT_MAX_ELTS): Change from 255 to 1024. - (WIDEST_INT_MAX_ELTS): Change from 510 to 2048, adjust comment. - (trailing_wide_int_storage): Change m_len type from unsigned char * - to unsigned short *. - (trailing_wide_int_storage::trailing_wide_int_storage): Change second - argument from unsigned char * to unsigned short *. - (trailing_wide_ints): Change m_max_len type from unsigned char to - unsigned short. Change m_len element type from - struct{unsigned char len;} to unsigned short. - (trailing_wide_ints ::operator []): Remove .len from m_len - accesses. - * value-range-storage.h (irange_storage::lengths_address): Change - return type from const unsigned char * to const unsigned short *. - (irange_storage::write_lengths_address): Change return type from - unsigned char * to unsigned short *. - * value-range-storage.cc (irange_storage::write_lengths_address): - Likewise. - (irange_storage::lengths_address): Change return type from - const unsigned char * to const unsigned short *. - (write_wide_int): Change len argument type from unsigned char *& - to unsigned short *&. - (irange_storage::set_irange): Change len variable type from - unsigned char * to unsigned short *. - (read_wide_int): Change len argument type from unsigned char to - unsigned short. Use trailing_wide_int_storage - instead of trailing_wide_int_storage and - trailing_wide_int instead of trailing_wide_int. - (irange_storage::get_irange): Change len variable type from - unsigned char * to unsigned short *. - (irange_storage::size): Multiply n by sizeof (unsigned short) - in len_size variable initialization. - (irange_storage::dump): Change len variable type from - unsigned char * to unsigned short *. - -2023-10-14 Juzhe-Zhong - - * config/riscv/vector-iterators.md: Remove redundant iterators. - -2023-10-13 Andrew MacLeod - - PR tree-optimization/111622 - * value-relation.cc (equiv_oracle::add_partial_equiv): Do not - register a partial equivalence if an operand has no uses. - -2023-10-13 Richard Biener - - PR tree-optimization/111795 - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Handle - integer mode mask arguments. - -2023-10-13 Richard Biener - - * tree-vect-slp.cc (mask_call_maps): New. - (vect_get_operand_map): Handle IFN_MASK_CALL. - (vect_build_slp_tree_1): Likewise. - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Handle - SLP. - -2023-10-13 Richard Biener - - PR tree-optimization/111779 - * tree-sra.cc (sra_handled_bf_read_p): New function. - (build_access_from_expr_1): Handle some BIT_FIELD_REFs. - (sra_modify_expr): Likewise. - (make_fancy_name_1): Skip over BIT_FIELD_REF. - -2023-10-13 Richard Biener - - PR tree-optimization/111773 - * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do - not elide noreturn calls that are reflected to the IL. - -2023-10-13 Kito Cheng - - * config/riscv/riscv.cc (riscv_legitimize_poly_move): Bump - max_power to 64. - * config/riscv/riscv.h (MAX_POLY_VARIANT): New. - -2023-10-13 Pan Li - - * config/riscv/autovec.md (lfloor2): New - pattern for lfloor/lfloorf. - * config/riscv/riscv-protos.h (enum insn_type): New enum value. - (expand_vec_lfloor): New func decl for expanding lfloor. - * config/riscv/riscv-v.cc (expand_vec_lfloor): New func impl - for expanding lfloor. - -2023-10-13 Pan Li - - * config/riscv/autovec.md (lceil2): New - pattern] for lceil/lceilf. - * config/riscv/riscv-protos.h (enum insn_type): New enum value. - (expand_vec_lceil): New func decl for expanding lceil. - * config/riscv/riscv-v.cc (expand_vec_lceil): New func impl - for expanding lceil. - -2023-10-12 Michael Meissner - - PR target/111778 - * config/rs6000/rs6000.cc (can_be_built_by_li_lis_and_rldicl): Protect - code from shifts that are undefined. - (can_be_built_by_li_lis_and_rldicr): Likewise. - (can_be_built_by_li_and_rldic): Protect code from shifts that - undefined. Also replace uses of 1ULL with HOST_WIDE_INT_1U. - -2023-10-12 Alex Coplan - - * reg-notes.def (NOALIAS): Correct comment. - -2023-10-12 Jakub Jelinek - - PR bootstrap/111787 - * tree.h (wi::int_traits ::needs_write_val_arg): New - static data member. - (int_traits >::needs_write_val_arg): Likewise. - (wi::ints_for): Provide separate partial specializations for - generic_wide_int > and INL_CONST_PRECISION or that - and CONST_PRECISION, rather than using - int_traits >::precision_type as the second template - argument. - * rtl.h (wi::int_traits ::needs_write_val_arg): New - static data member. - * double-int.h (wi::int_traits ::needs_write_val_arg): - Likewise. - -2023-10-12 Mary Bennett - - PR middle-end/111777 - * doc/extend.texi: Change subsubsection to subsection for - CORE-V built-ins. - -2023-10-12 Tamar Christina - - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Add undef. - -2023-10-12 Jakub Jelinek - - * wide-int.h (widest_int_storage ::write_val): If l is small - and there is space in u.val array, store a canary value at the - end when checking. - (widest_int_storage ::set_len): Check the canary hasn't been - overwritten. - -2023-10-12 Jakub Jelinek - - PR c/102989 - * wide-int.h: Adjust file comment. - (WIDE_INT_MAX_INL_ELTS): Define to former value of WIDE_INT_MAX_ELTS. - (WIDE_INT_MAX_INL_PRECISION): Define. - (WIDE_INT_MAX_ELTS): Change to 255. Assert that WIDE_INT_MAX_INL_ELTS - is smaller than WIDE_INT_MAX_ELTS. - (RWIDE_INT_MAX_ELTS, RWIDE_INT_MAX_PRECISION, WIDEST_INT_MAX_ELTS, - WIDEST_INT_MAX_PRECISION): Define. - (WI_BINARY_RESULT_VAR, WI_UNARY_RESULT_VAR): Change write_val callers - to pass 0 as a new argument. - (class widest_int_storage): Likewise. - (widest_int, widest2_int): Change typedefs to use widest_int_storage - rather than fixed_wide_int_storage. - (enum wi::precision_type): Add INL_CONST_PRECISION enumerator. - (struct binary_traits): Add partial specializations for - INL_CONST_PRECISION. - (generic_wide_int): Add needs_write_val_arg static data member. - (int_traits): Likewise. - (wide_int_storage): Replace val non-static data member with a union - u of it and HOST_WIDE_INT *valp. Declare copy constructor, copy - assignment operator and destructor. Add unsigned int argument to - write_val. - (wide_int_storage::wide_int_storage): Initialize precision to 0 - in the default ctor. Remove unnecessary {}s around STATIC_ASSERTs. - Assert in non-default ctor T's precision_type is not - INL_CONST_PRECISION and allocate u.valp for large precision. Add - copy constructor. - (wide_int_storage::~wide_int_storage): New. - (wide_int_storage::operator=): Add copy assignment operator. In - assignment operator remove unnecessary {}s around STATIC_ASSERTs, - assert ctor T's precision_type is not INL_CONST_PRECISION and - if precision changes, deallocate and/or allocate u.valp. - (wide_int_storage::get_val): Return u.valp rather than u.val for - large precision. - (wide_int_storage::write_val): Likewise. Add an unused unsigned int - argument. - (wide_int_storage::set_len): Use write_val instead of writing val - directly. - (wide_int_storage::from, wide_int_storage::from_array): Adjust - write_val callers. - (wide_int_storage::create): Allocate u.valp for large precisions. - (wi::int_traits ::get_binary_precision): New. - (fixed_wide_int_storage::fixed_wide_int_storage): Make default - ctor defaulted. - (fixed_wide_int_storage::write_val): Add unused unsigned int argument. - (fixed_wide_int_storage::from, fixed_wide_int_storage::from_array): - Adjust write_val callers. - (wi::int_traits ::get_binary_precision): New. - (WIDEST_INT): Define. - (widest_int_storage): New template class. - (wi::int_traits ): New. - (trailing_wide_int_storage::write_val): Add unused unsigned int - argument. - (wi::get_binary_precision): Use - wi::int_traits ::get_binary_precision - rather than get_precision on get_binary_result. - (wi::copy): Adjust write_val callers. Don't call set_len if - needs_write_val_arg. - (wi::bit_not): If result.needs_write_val_arg, call write_val - again with upper bound estimate of len. - (wi::sext, wi::zext, wi::set_bit): Likewise. - (wi::bit_and, wi::bit_and_not, wi::bit_or, wi::bit_or_not, - wi::bit_xor, wi::add, wi::sub, wi::mul, wi::mul_high, wi::div_trunc, - wi::div_floor, wi::div_ceil, wi::div_round, wi::divmod_trunc, - wi::mod_trunc, wi::mod_floor, wi::mod_ceil, wi::mod_round, - wi::lshift, wi::lrshift, wi::arshift): Likewise. - (wi::bswap, wi::bitreverse): Assert result.needs_write_val_arg - is false. - (gt_ggc_mx, gt_pch_nx): Remove generic template for all - generic_wide_int, instead add functions and templates for each - storage of generic_wide_int. Make functions for - generic_wide_int and templates for - generic_wide_int > deleted. - (wi::mask, wi::shifted_mask): Adjust write_val calls. - * wide-int.cc (zeros): Decrease array size to 1. - (BLOCKS_NEEDED): Use CEIL. - (canonize): Use HOST_WIDE_INT_M1. - (wi::from_buffer): Pass 0 to write_val. - (wi::to_mpz): Use CEIL. - (wi::from_mpz): Likewise. Pass 0 to write_val. Use - WIDE_INT_MAX_INL_ELTS instead of WIDE_INT_MAX_ELTS. - (wi::mul_internal): Use WIDE_INT_MAX_INL_PRECISION instead of - MAX_BITSIZE_MODE_ANY_INT in automatic array sizes, for prec - above WIDE_INT_MAX_INL_PRECISION estimate precision from - lengths of operands. Use XALLOCAVEC allocated buffers for - prec above WIDE_INT_MAX_INL_PRECISION. - (wi::divmod_internal): Likewise. - (wi::lshift_large): For len > WIDE_INT_MAX_INL_ELTS estimate - it from xlen and skip. - (rshift_large_common): Remove xprecision argument, add len - argument with len computed in caller. Don't return anything. - (wi::lrshift_large, wi::arshift_large): Compute len here - and pass it to rshift_large_common, for lengths above - WIDE_INT_MAX_INL_ELTS using estimations from xlen if possible. - (assert_deceq, assert_hexeq): For lengths above - WIDE_INT_MAX_INL_ELTS use XALLOCAVEC allocated buffer. - (test_printing): Use WIDE_INT_MAX_INL_PRECISION instead of - WIDE_INT_MAX_PRECISION. - * wide-int-print.h (WIDE_INT_PRINT_BUFFER_SIZE): Use - WIDE_INT_MAX_INL_PRECISION instead of WIDE_INT_MAX_PRECISION. - * wide-int-print.cc (print_decs, print_decu, print_hex): For - lengths above WIDE_INT_MAX_INL_ELTS use XALLOCAVEC allocated buffer. - * tree.h (wi::int_traits>): Change precision_type - to INL_CONST_PRECISION for N == ADDR_MAX_PRECISION. - (widest_extended_tree): Use WIDEST_INT_MAX_PRECISION instead of - WIDE_INT_MAX_PRECISION. - (wi::ints_for): Use int_traits >::precision_type - instead of hard coded CONST_PRECISION. - (widest2_int_cst): Use WIDEST_INT_MAX_PRECISION instead of - WIDE_INT_MAX_PRECISION. - (wi::extended_tree ::get_len): Use WIDEST_INT_MAX_PRECISION rather - than WIDE_INT_MAX_PRECISION. - (wi::ints_for::zero): Use - wi::int_traits >::precision_type instead of - wi::CONST_PRECISION. - * tree.cc (build_replicated_int_cst): Formatting fix. Use - WIDE_INT_MAX_INL_ELTS rather than WIDE_INT_MAX_ELTS. - * print-tree.cc (print_node): Don't print TREE_UNAVAILABLE on - INTEGER_CSTs, TREE_VECs or SSA_NAMEs. - * double-int.h (wi::int_traits ::precision_type): Change - to INL_CONST_PRECISION from CONST_PRECISION. - * poly-int.h (struct poly_coeff_traits): Add partial specialization - for wi::INL_CONST_PRECISION. - * cfgloop.h (bound_wide_int): New typedef. - (struct nb_iter_bound): Change bound type from widest_int to - bound_wide_int. - (struct loop): Change nb_iterations_upper_bound, - nb_iterations_likely_upper_bound and nb_iterations_estimate type from - widest_int to bound_wide_int. - * cfgloop.cc (record_niter_bound): Return early if wi::min_precision - of i_bound is too large for bound_wide_int. Adjustments for the - widest_int to bound_wide_int type change in non-static data members. - (get_estimated_loop_iterations, get_max_loop_iterations, - get_likely_max_loop_iterations): Adjustments for the widest_int to - bound_wide_int type change in non-static data members. - * tree-vect-loop.cc (vect_transform_loop): Likewise. - * tree-ssa-loop-niter.cc (do_warn_aggressive_loop_optimizations): Use - XALLOCAVEC allocated buffer for i_bound len above - WIDE_INT_MAX_INL_ELTS. - (record_estimate): Return early if wi::min_precision of i_bound is too - large for bound_wide_int. Adjustments for the widest_int to - bound_wide_int type change in non-static data members. - (wide_int_cmp): Use bound_wide_int instead of widest_int. - (bound_index): Use bound_wide_int instead of widest_int. - (discover_iteration_bound_by_body_walk): Likewise. Use - widest_int::from to convert it to widest_int when passed to - record_niter_bound. - (maybe_lower_iteration_bound): Use widest_int::from to convert it to - widest_int when passed to record_niter_bound. - (estimate_numbers_of_iteration): Don't record upper bound if - loop->nb_iterations has too large precision for bound_wide_int. - (n_of_executions_at_most): Use widest_int::from. - * tree-ssa-loop-ivcanon.cc (remove_redundant_iv_tests): Adjust for - the widest_int to bound_wide_int changes. - * match.pd (fold_sign_changed_comparison simplification): Use - wide_int::from on wi::to_wide instead of wi::to_widest. - * value-range.h (irange::maybe_resize): Avoid using memcpy on - non-trivially copyable elements. - * value-range.cc (irange_bitmask::dump): Use XALLOCAVEC allocated - buffer for mask or value len above WIDE_INT_PRINT_BUFFER_SIZE. - * fold-const.cc (fold_convert_const_int_from_int, fold_unary_loc): - Use wide_int::from on wi::to_wide instead of wi::to_widest. - * tree-ssa-ccp.cc (bit_value_binop): Zero extend r1max from width - before calling wi::udiv_trunc. - * lto-streamer-out.cc (output_cfg): Adjustments for the widest_int to - bound_wide_int type change in non-static data members. - * lto-streamer-in.cc (input_cfg): Likewise. - (lto_input_tree_1): Use WIDE_INT_MAX_INL_ELTS rather than - WIDE_INT_MAX_ELTS. For length above WIDE_INT_MAX_INL_ELTS use - XALLOCAVEC allocated buffer. Formatting fix. - * data-streamer-in.cc (streamer_read_wide_int, - streamer_read_widest_int): Likewise. - * tree-affine.cc (aff_combination_expand): Use placement new to - construct name_expansion. - (free_name_expansion): Destruct name_expansion. - * gimple-ssa-strength-reduction.cc (struct slsr_cand_d): Change - index type from widest_int to offset_int. - (class incr_info_d): Change incr type from widest_int to offset_int. - (alloc_cand_and_find_basis, backtrace_base_for_ref, - restructure_reference, slsr_process_ref, create_mul_ssa_cand, - create_mul_imm_cand, create_add_ssa_cand, create_add_imm_cand, - slsr_process_add, cand_abs_increment, replace_mult_candidate, - replace_unconditional_candidate, incr_vec_index, - create_add_on_incoming_edge, create_phi_basis_1, - replace_conditional_candidate, record_increment, - record_phi_increments_1, phi_incr_cost_1, phi_incr_cost, - lowest_cost_path, total_savings, ncd_with_phi, ncd_of_cand_and_phis, - nearest_common_dominator_for_cands, insert_initializers, - all_phi_incrs_profitable_1, replace_one_candidate, - replace_profitable_candidates): Use offset_int rather than widest_int - and wi::to_offset rather than wi::to_widest. - * real.cc (real_to_integer): Use WIDE_INT_MAX_INL_ELTS rather than - 2 * WIDE_INT_MAX_ELTS and for words above that use XALLOCAVEC - allocated buffer. - * tree-ssa-loop-ivopts.cc (niter_for_exit): Use placement new - to construct tree_niter_desc and destruct it on failure. - (free_tree_niter_desc): Destruct tree_niter_desc if value is non-NULL. - * gengtype.cc (main): Remove widest_int handling. - * graphite-isl-ast-to-gimple.cc (widest_int_from_isl_expr_int): Use - WIDEST_INT_MAX_ELTS instead of WIDE_INT_MAX_ELTS. - * gimple-ssa-warn-alloca.cc (pass_walloca::execute): Use - WIDE_INT_MAX_INL_PRECISION instead of WIDE_INT_MAX_PRECISION and - assert get_len () fits into it. - * value-range-pretty-print.cc (vrange_printer::print_irange_bitmasks): - For mask or value lengths above WIDE_INT_MAX_INL_ELTS use XALLOCAVEC - allocated buffer. - * gimple-ssa-sprintf.cc (adjust_range_for_overflow): Use - wide_int::from on wi::to_wide instead of wi::to_widest. - * omp-general.cc (score_wide_int): New typedef. - (omp_context_compute_score): Use score_wide_int instead of widest_int - and adjust for those changes. - (struct omp_declare_variant_entry): Change score and - score_in_declare_simd_clone non-static data member type from widest_int - to score_wide_int. - (omp_resolve_late_declare_variant, omp_resolve_declare_variant): Use - score_wide_int instead of widest_int and adjust for those changes. - (omp_lto_output_declare_variant_alt): Likewise. - (omp_lto_input_declare_variant_alt): Likewise. - * godump.cc (go_output_typedef): Assert get_len () is smaller than - WIDE_INT_MAX_INL_ELTS. - -2023-10-12 Pan Li - - * config/riscv/autovec.md (lround2): New - pattern for lround/lroundf. - * config/riscv/riscv-protos.h (enum insn_type): New enum value. - (expand_vec_lround): New func decl for expanding lround. - * config/riscv/riscv-v.cc (expand_vec_lround): New func impl - for expanding lround. - -2023-10-12 Jakub Jelinek - - * dwarf2out.h (wide_int_ptr): Remove. - (dw_wide_int_ptr): New typedef. - (struct dw_val_node): Change type of val_wide from wide_int_ptr - to dw_wide_int_ptr. - (struct dw_wide_int): New type. - (dw_wide_int::elt): New method. - (dw_wide_int::operator ==): Likewise. - * dwarf2out.cc (get_full_len): Change argument type to - const dw_wide_int & from const wide_int &. Use CEIL. Call - get_precision method instead of calling wi::get_precision. - (alloc_dw_wide_int): New function. - (add_AT_wide): Change w argument type to const wide_int_ref & - from const wide_int &. Use alloc_dw_wide_int. - (mem_loc_descriptor, loc_descriptor): Use alloc_dw_wide_int. - (insert_wide_int): Change val argument type to const wide_int_ref & - from const wide_int &. - (add_const_value_attribute): Pass rtx_mode_t temporary directly to - add_AT_wide instead of using a temporary variable. - -2023-10-12 Richard Biener - - PR tree-optimization/111764 - * tree-vect-loop.cc (check_reduction_path): Remove the attempt - to allow x + x via special-casing of assigns. - -2023-10-12 Hu, Lin1 - - * common/config/i386/cpuinfo.h (get_available_features): - Detect USER_MSR. - * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_USER_MSR_SET): New. - (OPTION_MASK_ISA2_USER_MSR_UNSET): Ditto. - (ix86_handle_option): Handle -musermsr. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_USER_MSR. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for usermsr. - * config.gcc: Add usermsrintrin.h - * config/i386/cpuid.h (bit_USER_MSR): New. - * config/i386/i386-builtin-types.def: - Add DEF_FUNCTION_TYPE (VOID, UINT64, UINT64). - * config/i386/i386-builtins.cc (ix86_init_mmx_sse_builtins): - Add __builtin_urdmsr and __builtin_uwrmsr. - * config/i386/i386-builtins.h (ix86_builtins): - Add IX86_BUILTIN_URDMSR and IX86_BUILTIN_UWRMSR. - * config/i386/i386-c.cc (ix86_target_macros_internal): - Define __USER_MSR__. - * config/i386/i386-expand.cc (ix86_expand_builtin): - Handle new builtins. - * config/i386/i386-isa.def (USER_MSR): Add DEF_PTA(USER_MSR). - * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): - Handle usermsr. - * config/i386/i386.md (urdmsr): New define_insn. - (uwrmsr): Ditto. - * config/i386/i386.opt: Add option -musermsr. - * config/i386/x86gprintrin.h: Include usermsrintrin.h - * doc/extend.texi: Document usermsr. - * doc/invoke.texi: Document -musermsr. - * doc/sourcebuild.texi: Document target usermsr. - * config/i386/usermsrintrin.h: New file. - -2023-10-12 Yang Yujie - - * config.gcc: Add loongarch-driver.h to tm_files. - * config/loongarch/loongarch.h: Do not include loongarch-driver.h. - * config/loongarch/t-loongarch: Append loongarch-multilib.h to $(GTM_H) - instead of $(TM_H) for building generator programs. - -2023-10-12 Kewen Lin - - PR target/111367 - * config/rs6000/rs6000.md (stack_protect_setsi): Support prefixed - instruction emission and incorporate to stack_protect_set. - (stack_protect_setdi): Rename to ... - (stack_protect_set): ... this, adjust constraint. - (stack_protect_testsi): Support prefixed instruction emission and - incorporate to stack_protect_test. - (stack_protect_testdi): Rename to ... - (stack_protect_test): ... this, adjust constraint. - -2023-10-12 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_store): Consider generated - VEC_PERM_EXPR stmt for VMAT_CONTIGUOUS_REVERSE in costing as - vec_perm. - -2023-10-12 Kewen Lin - - * tree-vect-stmts.cc (vect_model_store_cost): Remove. - (vectorizable_store): Adjust the costing for the remaining memory - access types VMAT_CONTIGUOUS{, _DOWN, _REVERSE}. - -2023-10-12 Kewen Lin - - * tree-vect-stmts.cc (vect_model_store_cost): Assert it will never - get VMAT_CONTIGUOUS_PERMUTE and remove VMAT_CONTIGUOUS_PERMUTE related - handlings. - (vectorizable_store): Adjust the cost handling on - VMAT_CONTIGUOUS_PERMUTE without calling vect_model_store_cost. - -2023-10-12 Kewen Lin - - * tree-vect-stmts.cc (vect_model_store_cost): Assert it will never - get VMAT_LOAD_STORE_LANES. - (vectorizable_store): Adjust the cost handling on VMAT_LOAD_STORE_LANES - without calling vect_model_store_cost. Factor out new lambda function - update_prologue_cost. - -2023-10-12 Kewen Lin - - * tree-vect-stmts.cc (vect_model_store_cost): Assert it won't get - VMAT_ELEMENTWISE and VMAT_STRIDED_SLP any more, and remove their - related handlings. - (vectorizable_store): Adjust the cost handling on VMAT_ELEMENTWISE - and VMAT_STRIDED_SLP without calling vect_model_store_cost. - -2023-10-12 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_store): Adjust costing on - vectorizable_scan_store without calling vect_model_store_cost - any more. - -2023-10-12 Kewen Lin - - * tree-vect-stmts.cc (vect_model_store_cost): Assert it won't get - VMAT_GATHER_SCATTER any more, remove VMAT_GATHER_SCATTER related - handlings and the related parameter gs_info. - (vect_build_scatter_store_calls): Add the handlings on costing with - one more argument cost_vec. - (vectorizable_store): Adjust the cost handling on VMAT_GATHER_SCATTER - without calling vect_model_store_cost any more. - -2023-10-12 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_store): Move and duplicate the call - to vect_model_store_cost down to some different transform paths - according to the handlings of different vect_memory_access_types - or some special handling need. - -2023-10-12 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_store): Ensure the generated - vector store for some case of VMAT_ELEMENTWISE is supported. - -2023-10-12 Mo, Zewei - Hu Lin1 - Hongyu Wang - - * config/i386/i386.cc (gen_push2): New function to emit push2 - and adjust cfa offset. - (ix86_pro_and_epilogue_can_use_push2_pop2): New function to - determine whether push2/pop2 can be used. - (ix86_compute_frame_layout): Adjust preferred stack boundary - and stack alignment needed for push2/pop2. - (ix86_emit_save_regs): Emit push2 when available. - (ix86_emit_restore_reg_using_pop2): New function to emit pop2 - and adjust cfa info. - (ix86_emit_restore_regs_using_pop2): New function to loop - through the saved regs and call above. - (ix86_expand_epilogue): Call ix86_emit_restore_regs_using_pop2 - when push2pop2 available. - * config/i386/i386.md (push2_di): New pattern for push2. - (pop2_di): Likewise for pop2. - -2023-10-12 Pan Li - - * config/riscv/autovec.md (lrint2): Rename from. - (lrint2): Rename to. - * config/riscv/vector-iterators.md: Rename and remove TARGET_64BIT. - -2023-10-11 Kito Cheng - - * config/riscv/riscv-opts.h (TARGET_MIN_VLEN_OPTS): New. - -2023-10-11 Jeff Law - - * config/riscv/riscv.md (jump): Adjust sequence to use a "jump" - pseudo op instead of a "call" pseudo op. - -2023-10-11 Kito Cheng - - * config/riscv/riscv-subset.h (riscv_subset_list::parse_single_std_ext): - New. - (riscv_subset_list::parse_single_multiletter_ext): Ditto. - (riscv_subset_list::clone): Ditto. - (riscv_subset_list::parse_single_ext): Ditto. - (riscv_subset_list::set_loc): Ditto. - (riscv_set_arch_by_subset_list): Ditto. - * common/config/riscv/riscv-common.cc - (riscv_subset_list::parse_single_std_ext): New. - (riscv_subset_list::parse_single_multiletter_ext): Ditto. - (riscv_subset_list::clone): Ditto. - (riscv_subset_list::parse_single_ext): Ditto. - (riscv_subset_list::set_loc): Ditto. - (riscv_set_arch_by_subset_list): Ditto. - -2023-10-11 Kito Cheng - - * config/riscv/riscv.cc (riscv_convert_vector_bits): Get setting - from argument rather than get setting from global setting. - (riscv_override_options_internal): New, splited from - riscv_override_options, also take a gcc_options argument. - (riscv_option_override): Splited most part to - riscv_override_options_internal. - -2023-10-11 Kito Cheng - - * doc/options.texi (Mask): Document TARGET__P and - TARGET__OPTS_P. - (InverseMask): Ditto. - * opth-gen.awk (Mask): Generate TARGET__P and - TARGET__OPTS_P macro. - (InverseMask): Ditto. - -2023-10-11 Andrew Pinski - - PR tree-optimization/111282 - * match.pd (`a & ~(a ^ b)`, `a & (a == b)`, - `a & ((~a) ^ b)`): New patterns. - -2023-10-11 Mary Bennett - - * common/config/riscv/riscv-common.cc: Add the XCValu - extension. - * config/riscv/constraints.md: Add builtins for the XCValu - extension. - * config/riscv/predicates.md (immediate_register_operand): - Likewise. - * config/riscv/corev.def: Likewise. - * config/riscv/corev.md: Likewise. - * config/riscv/riscv-builtins.cc (AVAIL): Likewise. - (RISCV_ATYPE_UHI): Likewise. - * config/riscv/riscv-ftypes.def: Likewise. - * config/riscv/riscv.opt: Likewise. - * config/riscv/riscv.cc (riscv_print_operand): Likewise. - * doc/extend.texi: Add XCValu documentation. - * doc/sourcebuild.texi: Likewise. - -2023-10-11 Mary Bennett - - * common/config/riscv/riscv-common.cc: Add XCVmac. - * config/riscv/riscv-ftypes.def: Add XCVmac builtins. - * config/riscv/riscv-builtins.cc: Likewise. - * config/riscv/riscv.md: Likewise. - * config/riscv/riscv.opt: Likewise. - * doc/extend.texi: Add XCVmac builtin documentation. - * doc/sourcebuild.texi: Likewise. - * config/riscv/corev.def: New file. - * config/riscv/corev.md: New file. - -2023-10-11 Juzhe-Zhong - - * config/riscv/autovec.md: Fix index bug. - * config/riscv/riscv-protos.h (gather_scatter_valid_offset_mode_p): New function. - * config/riscv/riscv-v.cc (expand_gather_scatter): Fix index bug. - (gather_scatter_valid_offset_mode_p): New function. - -2023-10-11 Pan Li - - * config/riscv/autovec.md (lrint2): New pattern - for lrint/lintf. - * config/riscv/riscv-protos.h (expand_vec_lrint): New func decl - for expanding lint. - * config/riscv/riscv-v.cc (emit_vec_cvt_x_f): New helper func impl - for vfcvt.x.f.v. - (expand_vec_lrint): New function impl for expanding lint. - * config/riscv/vector-iterators.md: New mode attr and iterator. - -2023-10-11 Richard Biener - Jakub Jelinek - - PR tree-optimization/111519 - * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes): Add vuse - argument and pass it through to recursive calls and - count_nonzero_bytes_addr calls. Don't shadow the stmt argument, but - change stmt for gimple_assign_single_p statements for which we don't - immediately punt. - (strlen_pass::count_nonzero_bytes_addr): Add vuse argument and pass - it through to recursive calls and count_nonzero_bytes calls. Don't - use get_strinfo if gimple_vuse (stmt) is different from vuse. Don't - shadow the stmt argument. - -2023-10-11 Roger Sayle - - PR middle-end/101955 - PR tree-optimization/106245 - * simplify-rtx.cc (simplify_relational_operation_1): Simplify - the RTL (ne:SI (subreg:QI (ashift:SI x 7) 0) 0) to (and:SI x 1). - -2023-10-11 liuhongt - - PR target/111745 - * config/i386/mmx.md (divv4hf3): Refine predicate of - operands[2] with register_operand. - -2023-10-10 Andrew Waterman - Philipp Tomsich - Jeff Law - - * config/riscv/riscv.cc (struct machine_function): Track if a - far-branch/jump is used within a function (and $ra needs to be - saved). - (riscv_print_operand): Implement 'N' (inverse integer branch). - (riscv_far_jump_used_p): Implement. - (riscv_save_return_addr_reg_p): New function. - (riscv_save_reg_p): Use riscv_save_return_addr_reg_p. - * config/riscv/riscv.h (FIXED_REGISTERS): Update $ra. - (CALL_USED_REGISTERS): Update $ra. - * config/riscv/riscv.md: Add new types "ret" and "jalr". - (length attribute): Handle long conditional and unconditional - branches. - (conditional branch pattern): Handle case where jump can not - reach the intended target. - (indirect_jump, tablejump): Use new "jalr" type. - (simple_return): Use new "ret" type. - (simple_return_internal, eh_return_internal): Likewise. - (gpr_restore_return, riscv_mret): Likewise. - (riscv_uret, riscv_sret): Likewise. - * config/riscv/generic.md (generic_branch): Also recognize jalr & ret - types. - * config/riscv/sifive-7.md (sifive_7_jump): Likewise. - -2023-10-10 Andrew Pinski - - PR tree-optimization/111679 - * match.pd (`a | ((~a) ^ b)`): New pattern. - -2023-10-10 Juzhe-Zhong - - PR target/111751 - * config/riscv/autovec.md: Add VLS BOOL modes. - -2023-10-10 Richard Biener - - PR tree-optimization/111751 - * fold-const.cc (fold_view_convert_expr): Up the buffer size - to 128 bytes. - * tree-ssa-sccvn.cc (visit_reference_op_load): Special case - constants, giving up when re-interpretation to the target type - fails. - -2023-10-10 Richard Biener - - PR tree-optimization/111751 - * tree-ssa-sccvn.cc (visit_reference_op_load): Exempt - BLKmode result from the padding bits check. - -2023-10-10 Claudiu Zissulescu - - * config/arc/arc.cc (arc_select_cc_mode): Match NEG code with - the first operand. - * config/arc/arc.md (addsi_compare): Make pattern canonical. - (addsi_compare_2): Fix identation, constraint letters. - (addsi_compare_3): Likewise. - -2023-10-09 Eugene Rozenfeld - - * auto-profile.cc (afdo_calculate_branch_prob): Fix count comparisons - * tree-vect-loop-manip.cc (vect_do_peeling): Guard against zero count - when scaling loop profile - -2023-10-09 Andrew MacLeod - - PR tree-optimization/111694 - * gimple-range-cache.cc (ranger_cache::fill_block_cache): Adjust - equivalence range. - * value-relation.cc (adjust_equivalence_range): New. - * value-relation.h (adjust_equivalence_range): New prototype. - -2023-10-09 Andrew MacLeod - - * gimple-range-gori.cc (gori_compute::compute_operand1_range): Do - not call get_identity_relation. - (gori_compute::compute_operand2_range): Ditto. - * value-relation.cc (get_identity_relation): Remove. - * value-relation.h (get_identity_relation): Remove protyotype. - -2023-10-09 Robin Dapp - - * config/riscv/riscv-cores.def (RISCV_TUNE): Add parameter. - * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): - Add generic_ooo. - * config/riscv/riscv.cc (riscv_sched_adjust_cost): Implement - scheduler hook. - (TARGET_SCHED_ADJUST_COST): Define. - * config/riscv/riscv.md (no,yes"): Include generic-ooo.md - * config/riscv/riscv.opt: Add -madjust-lmul-cost. - * config/riscv/generic-ooo.md: New file. - * config/riscv/vector.md: Add vsetvl_pre. - -2023-10-09 Juzhe-Zhong - - * config/riscv/riscv-opts.h (TARGET_VECTOR_MISALIGN_SUPPORTED): New macro. - * config/riscv/riscv.cc (riscv_support_vector_misalignment): Depend on movmisalign pattern. - * config/riscv/vector.md (movmisalign): New pattern. - -2023-10-09 Xianmiao Qu - - * config/riscv/thead.cc (th_mempair_save_regs): Fix missing CFI - directives for store-pair instruction. - -2023-10-09 Richard Biener - - PR tree-optimization/111715 - * alias.cc (reference_alias_ptr_type_1): When we have - a type-punning ref at the base search for the access - path part that's still semantically valid. - -2023-10-09 Pan Li - - * config/riscv/riscv-v.cc (shuffle_bswap_pattern): New func impl - for shuffle bswap. - (expand_vec_perm_const_1): Add handling for shuffle bswap pattern. - -2023-10-09 Roger Sayle - - * config/i386/i386-expand.cc (ix86_split_ashr): Split shifts by - one into ashr[sd]i3_carry followed by rcr[sd]i2, if TARGET_USE_RCR - or -Oz. - (ix86_split_lshr): Likewise, split shifts by one bit into - lshr[sd]i3_carry followed by rcr[sd]i2, if TARGET_USE_RCR or -Oz. - * config/i386/i386.h (TARGET_USE_RCR): New backend macro. - * config/i386/i386.md (rcrsi2): New define_insn for rcrl. - (rcrdi2): New define_insn for rcrq. - (3_carry): New define_insn for right shifts that - set the carry flag from the least significant bit, modelled using - UNSPEC_CC_NE. - * config/i386/x86-tune.def (X86_TUNE_USE_RCR): New tuning parameter - controlling use of rcr 1 vs. shrd, which is significantly faster on - AMD processors. - -2023-10-09 Haochen Jiang - - * config/i386/i386.opt: Allow -mno-evex512. - -2023-10-09 Haochen Jiang - Hu, Lin1 - - * config/i386/sse.md (V48H_AVX512VL): Add TARGET_EVEX512. - (VFH): Ditto. - (VF2H): Ditto. - (VFH_AVX512VL): Ditto. - (VHFBF): Ditto. - (VHF_AVX512VL): Ditto. - (VI2H_AVX512VL): Ditto. - (VI2F_256_512): Ditto. - (VF48_I1248): Remove unused iterator. - (VF48H_AVX512VL): Add TARGET_EVEX512. - (VF_AVX512): Remove unused iterator. - (REDUC_PLUS_MODE): Add TARGET_EVEX512. - (REDUC_SMINMAX_MODE): Ditto. - (FMAMODEM): Ditto. - (VFH_SF_AVX512VL): Ditto. - (VEC_PERM_AVX2): Ditto. - -2023-10-09 Haochen Jiang - Hu, Lin1 - - * config/i386/sse.md (VI1_AVX512VL): Add TARGET_EVEX512. - (VI8_FVL): Ditto. - (VI1_AVX512F): Ditto. - (VI1_AVX512VNNI): Ditto. - (VI1_AVX512VL_F): Ditto. - (VI12_VI48F_AVX512VL): Ditto. - (*avx512f_permvar_truncv32hiv32qi_1): Ditto. - (sdot_prod): Ditto. - (VEC_PERM_AVX2): Ditto. - (VPERMI2): Ditto. - (VPERMI2I): Ditto. - (vpmadd52v8di): Ditto. - (usdot_prod): Ditto. - (vpdpbusd_v16si): Ditto. - (vpdpbusds_v16si): Ditto. - (vpdpwssd_v16si): Ditto. - (vpdpwssds_v16si): Ditto. - (VI48_AVX512VP2VL): Ditto. - (avx512vp2intersect_2intersectv16si): Ditto. - (VF_AVX512BF16VL): Ditto. - (VF1_AVX512_256): Ditto. - -2023-10-09 Haochen Jiang - - * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): - Make sure there is EVEX512 enabled. - (ix86_expand_vecop_qihi2): Refuse V32QI->V32HI when no EVEX512. - * config/i386/i386.cc (ix86_hard_regno_mode_ok): Disable 64 bit mask - when !TARGET_EVEX512. - * config/i386/i386.md (avx512bw_512): New. - (SWI1248_AVX512BWDQ_64): Add TARGET_EVEX512. - (*zero_extendsidi2): Change isa to avx512bw_512. - (kmov_isa): Ditto. - (*anddi_1): Ditto. - (*andn_1): Change isa to kmov_isa. - (*_1): Ditto. - (*notxor_1): Ditto. - (*one_cmpl2_1): Ditto. - (*one_cmplsi2_1_zext): Change isa to avx512bw_512. - (*ashl3_1): Change isa to kmov_isa. - (*lshr3_1): Ditto. - * config/i386/sse.md (VI12HFBF_AVX512VL): Add TARGET_EVEX512. - (VI1248_AVX512VLBW): Ditto. - (VHFBF_AVX512VL): Ditto. - (VI): Ditto. - (VIHFBF): Ditto. - (VI_AVX2): Ditto. - (VI1_AVX512): Ditto. - (VI12_256_512_AVX512VL): Ditto. - (VI2_AVX2_AVX512BW): Ditto. - (VI2_AVX512VNNIBW): Ditto. - (VI2_AVX512VL): Ditto. - (VI2HFBF_AVX512VL): Ditto. - (VI8_AVX2_AVX512BW): Ditto. - (VIMAX_AVX2_AVX512BW): Ditto. - (VIMAX_AVX512VL): Ditto. - (VI12_AVX2_AVX512BW): Ditto. - (VI124_AVX2_24_AVX512F_1_AVX512BW): Ditto. - (VI248_AVX512VL): Ditto. - (VI248_AVX512VLBW): Ditto. - (VI248_AVX2_8_AVX512F_24_AVX512BW): Ditto. - (VI248_AVX512BW): Ditto. - (VI248_AVX512BW_AVX512VL): Ditto. - (VI248_512): Ditto. - (VI124_256_AVX512F_AVX512BW): Ditto. - (VI_AVX512BW): Ditto. - (VIHFBF_AVX512BW): Ditto. - (SWI1248_AVX512BWDQ): Ditto. - (SWI1248_AVX512BW): Ditto. - (SWI1248_AVX512BWDQ2): Ditto. - (*knotsi_1_zext): Ditto. - (define_split for zero_extend + not): Ditto. - (kunpckdi): Ditto. - (REDUC_SMINMAX_MODE): Ditto. - (VEC_EXTRACT_MODE): Ditto. - (*avx512bw_permvar_truncv16siv16hi_1): Ditto. - (*avx512bw_permvar_truncv16siv16hi_1_hf): Ditto. - (truncv32hiv32qi2): Ditto. - (avx512bw_v32hiv32qi2): Ditto. - (avx512bw_v32hiv32qi2_mask): Ditto. - (avx512bw_v32hiv32qi2_mask_store): Ditto. - (usadv64qi): Ditto. - (VEC_PERM_AVX2): Ditto. - (AVX512ZEXTMASK): Ditto. - (SWI24_MASK): New. - (vec_pack_trunc_): Change iterator to SWI24_MASK. - (avx512bw_packsswb): Add TARGET_EVEX512. - (avx512bw_packssdw): Ditto. - (avx512bw_interleave_highv64qi): Ditto. - (avx512bw_interleave_lowv64qi): Ditto. - (avx512bw_pshuflwv32hi): Ditto. - (avx512bw_pshufhwv32hi): Ditto. - (vec_unpacks_lo_di): Ditto. - (SWI48x_MASK): New. - (vec_unpacks_hi_): Change iterator to SWI48x_MASK. - (avx512bw_umulhrswv32hi3): Add TARGET_EVEX512. - (VI1248_AVX512VL_AVX512BW): Ditto. - (avx512bw_v32qiv32hi2): Ditto. - (*avx512bw_zero_extendv32qiv32hi2_1): Ditto. - (*avx512bw_zero_extendv32qiv32hi2_2): Ditto. - (v32qiv32hi2): Ditto. - (pbroadcast_evex_isa): Change isa attribute to avx512bw_512. - (VPERMI2): Add TARGET_EVEX512. - (VPERMI2I): Ditto. - -2023-10-09 Haochen Jiang - - * config/i386/i386-expand.cc (ix86_expand_sse2_mulvxdi3): - Add TARGET_EVEX512 for 512 bit usage. - * config/i386/i386.cc (standard_sse_constant_opcode): Ditto. - * config/i386/sse.md (VF1_VF2_AVX512DQ): Ditto. - (VF1_128_256VL): Ditto. - (VF2_AVX512VL): Ditto. - (VI8_256_512): Ditto. - (fixuns_trunc2): - Ditto. - (AVX512_VEC): Ditto. - (AVX512_VEC_2): Ditto. - (VI4F_BRCST32x2): Ditto. - (VI8F_BRCST64x2): Ditto. - -2023-10-09 Haochen Jiang - - * config/i386/i386-builtins.cc - (ix86_vectorize_builtin_gather): Disable 512 bit gather - when !TARGET_EVEX512. - * config/i386/i386-expand.cc (ix86_valid_mask_cmp_mode): - Add TARGET_EVEX512. - (ix86_expand_int_sse_cmp): Ditto. - (ix86_expand_vector_init_one_nonzero): Disable subroutine - when !TARGET_EVEX512. - (ix86_emit_swsqrtsf): Add TARGET_EVEX512. - (ix86_vectorize_vec_perm_const): Disable subroutine when - !TARGET_EVEX512. - * config/i386/i386.cc - (standard_sse_constant_p): Add TARGET_EVEX512. - (standard_sse_constant_opcode): Ditto. - (ix86_get_ssemov): Ditto. - (ix86_legitimate_constant_p): Ditto. - (ix86_vectorize_builtin_scatter): Diable 512 bit scatter - when !TARGET_EVEX512. - * config/i386/i386.md (avx512f_512): New. - (movxi): Add TARGET_EVEX512. - (*movxi_internal_avx512f): Ditto. - (*movdi_internal): Change alternative 12 to ?Yv. Adjust mode - for alternative 13. - (*movsi_internal): Change alternative 8 to ?Yv. Adjust mode for - alternative 9. - (*movhi_internal): Change alternative 11 to *Yv. - (*movdf_internal): Change alternative 12 to Yv. - (*movsf_internal): Change alternative 5 to Yv. Adjust mode for - alternative 5 and 6. - (*mov_internal): Change alternative 4 to Yv. - (define_split for convert SF to DF): Add TARGET_EVEX512. - (extendbfsf2_1): Ditto. - * config/i386/predicates.md (bcst_mem_operand): Disable predicate - for 512 bit when !TARGET_EVEX512. - * config/i386/sse.md (VMOVE): Add TARGET_EVEX512. - (V48_AVX512VL): Ditto. - (V48_256_512_AVX512VL): Ditto. - (V48H_AVX512VL): Ditto. - (VI12_AVX512VL): Ditto. - (V): Ditto. - (V_512): Ditto. - (V_256_512): Ditto. - (VF): Ditto. - (VF1_VF2_AVX512DQ): Ditto. - (VFH): Ditto. - (VFB): Ditto. - (VF1): Ditto. - (VF1_AVX2): Ditto. - (VF2): Ditto. - (VF2H): Ditto. - (VF2_512_256): Ditto. - (VF2_512_256VL): Ditto. - (VF_512): Ditto. - (VFB_512): Ditto. - (VI48_AVX512VL): Ditto. - (VI1248_AVX512VLBW): Ditto. - (VF_AVX512VL): Ditto. - (VFH_AVX512VL): Ditto. - (VF1_AVX512VL): Ditto. - (VI): Ditto. - (VIHFBF): Ditto. - (VI_AVX2): Ditto. - (VI8): Ditto. - (VI8_AVX512VL): Ditto. - (VI2_AVX512F): Ditto. - (VI4_AVX512F): Ditto. - (VI4_AVX512VL): Ditto. - (VI48_AVX512F_AVX512VL): Ditto. - (VI8_AVX2_AVX512F): Ditto. - (VI8_AVX_AVX512F): Ditto. - (V8FI): Ditto. - (V16FI): Ditto. - (VI124_AVX2_24_AVX512F_1_AVX512BW): Ditto. - (VI248_AVX512VLBW): Ditto. - (VI248_AVX2_8_AVX512F_24_AVX512BW): Ditto. - (VI248_AVX512BW): Ditto. - (VI248_AVX512BW_AVX512VL): Ditto. - (VI48_AVX512F): Ditto. - (VI48_AVX_AVX512F): Ditto. - (VI12_AVX_AVX512F): Ditto. - (VI148_512): Ditto. - (VI124_256_AVX512F_AVX512BW): Ditto. - (VI48_512): Ditto. - (VI_AVX512BW): Ditto. - (VIHFBF_AVX512BW): Ditto. - (VI4F_256_512): Ditto. - (VI48F_256_512): Ditto. - (VI48F): Ditto. - (VI12_VI48F_AVX512VL): Ditto. - (V32_512): Ditto. - (AVX512MODE2P): Ditto. - (STORENT_MODE): Ditto. - (REDUC_PLUS_MODE): Ditto. - (REDUC_SMINMAX_MODE): Ditto. - (*andnot3): Change isa attribute to avx512f_512. - (*andnot3): Ditto. - (3): Ditto. - (tf3): Ditto. - (FMAMODEM): Add TARGET_EVEX512. - (FMAMODE_AVX512): Ditto. - (VFH_SF_AVX512VL): Ditto. - (avx512f_fix_notruncv16sfv16si): Ditto. - (fix_truncv16sfv16si2): - Ditto. - (avx512f_cvtdq2pd512_2): Ditto. - (avx512f_cvtpd2dq512): Ditto. - (fix_truncv8dfv8si2): - Ditto. - (avx512f_cvtpd2ps512): Ditto. - (vec_unpacks_lo_v16sf): Ditto. - (vec_unpacks_hi_v16sf): Ditto. - (vec_unpacks_float_hi_v16si): Ditto. - (vec_unpacks_float_lo_v16si): Ditto. - (vec_unpacku_float_hi_v16si): Ditto. - (vec_unpacku_float_lo_v16si): Ditto. - (vec_pack_sfix_trunc_v8df): Ditto. - (avx512f_vec_pack_sfix_v8df): Ditto. - (avx512f_unpckhps512): Ditto. - (avx512f_unpcklps512): Ditto. - (avx512f_movshdup512): Ditto. - (avx512f_movsldup512): Ditto. - (AVX512_VEC): Ditto. - (AVX512_VEC_2): Ditto. - (vec_extract_lo_v64qi): Ditto. - (vec_extract_hi_v64qi): Ditto. - (VEC_EXTRACT_MODE): Ditto. - (avx512f_unpckhpd512): Ditto. - (avx512f_movddup512): Ditto. - (avx512f_unpcklpd512): Ditto. - (*_vternlog_all): Ditto. - (*_vpternlog_1): Ditto. - (*_vpternlog_2): Ditto. - (*_vpternlog_3): Ditto. - (avx512f_shufps512_mask): Ditto. - (avx512f_shufps512_1): Ditto. - (avx512f_shufpd512_mask): Ditto. - (avx512f_shufpd512_1): Ditto. - (avx512f_interleave_highv8di): Ditto. - (avx512f_interleave_lowv8di): Ditto. - (vec_dupv2df): Ditto. - (trunc2): Ditto. - (*avx512f_2): Ditto. - (*avx512f_vpermvar_truncv8div8si_1): Ditto. - (avx512f_2_mask): Ditto. - (avx512f_2_mask_store): Ditto. - (truncv8div8qi2): Ditto. - (avx512f_v8div16qi2): Ditto. - (*avx512f_v8div16qi2_store_1): Ditto. - (*avx512f_v8div16qi2_store_2): Ditto. - (avx512f_v8div16qi2_mask): Ditto. - (*avx512f_v8div16qi2_mask_1): Ditto. - (*avx512f_v8div16qi2_mask_store_1): Ditto. - (avx512f_v8div16qi2_mask_store_2): Ditto. - (vec_widen_umult_even_v16si): Ditto. - (*vec_widen_umult_even_v16si): Ditto. - (vec_widen_smult_even_v16si): Ditto. - (*vec_widen_smult_even_v16si): Ditto. - (VEC_PERM_AVX2): Ditto. - (one_cmpl2): Ditto. - (one_cmpl2): Ditto. - (*one_cmpl2_pternlog_false_dep): Ditto. - (define_split to xor): Ditto. - (*andnot3): Ditto. - (define_split for ior): Ditto. - (*iornot3): Ditto. - (*xnor3): Ditto. - (*3): Ditto. - (avx512f_interleave_highv16si): Ditto. - (avx512f_interleave_lowv16si): Ditto. - (avx512f_pshufdv3_mask): Ditto. - (avx512f_pshufd_1): Ditto. - (*vec_extractv4ti): Ditto. - (VEXTRACTI128_MODE): Ditto. - (define_split to vec_extract): Ditto. - (VI1248_AVX512VL_AVX512BW): Ditto. - (avx512f_v16qiv16si2): Ditto. - (v16qiv16si2): Ditto. - (avx512f_v16hiv16si2): Ditto. - (v16hiv16si2): Ditto. - (avx512f_zero_extendv16hiv16si2_1): Ditto. - (avx512f_v8qiv8di2): Ditto. - (*avx512f_v8qiv8di2_1): Ditto. - (*avx512f_v8qiv8di2_2): Ditto. - (v8qiv8di2): Ditto. - (avx512f_v8hiv8di2): Ditto. - (v8hiv8di2): Ditto. - (avx512f_v8siv8di2): Ditto. - (*avx512f_zero_extendv8siv8di2_1): Ditto. - (*avx512f_zero_extendv8siv8di2_2): Ditto. - (v8siv8di2): Ditto. - (avx512f_roundps512_sfix): Ditto. - (vashrv8di3): Ditto. - (vashrv16si3): Ditto. - (pbroadcast_evex_isa): Change isa attribute to avx512f_512. - (vec_dupv4sf): Add TARGET_EVEX512. - (*vec_dupv4si): Ditto. - (*vec_dupv2di): Ditto. - (vec_dup): Change isa attribute to avx512f_512. - (VPERMI2): Add TARGET_EVEX512. - (VPERMI2I): Ditto. - (VEC_INIT_MODE): Ditto. - (VEC_INIT_HALF_MODE): Ditto. - (avx512f_vcvtph2ps512): - Ditto. - (avx512f_vcvtps2ph512_mask_sae): Ditto. - (avx512f_vcvtps2ph512): - Ditto. - (*avx512f_vcvtps2ph512): Ditto. - (INT_BROADCAST_MODE): Ditto. - -2023-10-09 Haochen Jiang - - * config/i386/i386-expand.cc (ix86_broadcast_from_constant): - Disable zmm broadcast for !TARGET_EVEX512. - * config/i386/i386-options.cc (ix86_option_override_internal): - Do not use PVW_512 when no-evex512. - (ix86_simd_clone_adjust): Add evex512 target into string. - * config/i386/i386.cc (type_natural_mode): Report ABI warning - when using zmm register w/o evex512. - (ix86_return_in_memory): Do not allow zmm when !TARGET_EVEX512. - (ix86_hard_regno_mode_ok): Ditto. - (ix86_set_reg_reg_cost): Ditto. - (ix86_rtx_costs): Ditto. - (ix86_vector_mode_supported_p): Ditto. - (ix86_preferred_simd_mode): Ditto. - (ix86_get_mask_mode): Ditto. - (ix86_simd_clone_compute_vecsize_and_simdlen): Disable 512 bit - libmvec call when !TARGET_EVEX512. - (ix86_simd_clone_usable): Ditto. - * config/i386/i386.h (BIGGEST_ALIGNMENT): Disable 512 alignment - when !TARGET_EVEX512 - (MOVE_MAX): Do not use PVW_512 when !TARGET_EVEX512. - (STORE_MAX_PIECES): Ditto. - -2023-10-09 Haochen Jiang - - * config/i386/i386-builtin.def (BDESC): Add - OPTION_MASK_ISA2_EVEX512. - -2023-10-09 Haochen Jiang - - * config/i386/i386-builtin.def (BDESC): Add - OPTION_MASK_ISA2_EVEX512. - -2023-10-09 Haochen Jiang - - * config/i386/i386-builtin.def (BDESC): Add - OPTION_MASK_ISA2_EVEX512. - -2023-10-09 Haochen Jiang - - * config/i386/i386-builtin.def (BDESC): Add - OPTION_MASK_ISA2_EVEX512. - -2023-10-09 Haochen Jiang - - * config/i386/i386-builtin.def (BDESC): Add - OPTION_MASK_ISA2_EVEX512. - * config/i386/i386-builtins.cc - (ix86_init_mmx_sse_builtins): Ditto. - -2023-10-09 Haochen Jiang - Hu, Lin1 - - * config/i386/avx512fp16intrin.h: Add evex512 target for 512 bit - intrins. - -2023-10-09 Haochen Jiang - - * config.gcc: Add avx512bitalgvlintrin.h. - * config/i386/avx5124fmapsintrin.h: Add evex512 target for 512 bit - intrins. - * config/i386/avx5124vnniwintrin.h: Ditto. - * config/i386/avx512bf16intrin.h: Ditto. - * config/i386/avx512bitalgintrin.h: Add evex512 target for 512 bit - intrins. Split 128/256 bit intrins to avx512bitalgvlintrin.h. - * config/i386/avx512erintrin.h: Add evex512 target for 512 bit - intrins - * config/i386/avx512ifmaintrin.h: Ditto - * config/i386/avx512pfintrin.h: Ditto - * config/i386/avx512vbmi2intrin.h: Ditto. - * config/i386/avx512vbmiintrin.h: Ditto. - * config/i386/avx512vnniintrin.h: Ditto. - * config/i386/avx512vp2intersectintrin.h: Ditto. - * config/i386/avx512vpopcntdqintrin.h: Ditto. - * config/i386/gfniintrin.h: Ditto. - * config/i386/immintrin.h: Add avx512bitalgvlintrin.h. - * config/i386/vaesintrin.h: Add evex512 target for 512 bit intrins. - * config/i386/vpclmulqdqintrin.h: Ditto. - * config/i386/avx512bitalgvlintrin.h: New. - -2023-10-09 Haochen Jiang - - * config/i386/avx512bwintrin.h: Add evex512 target for 512 bit - intrins. - -2023-10-09 Haochen Jiang - - * config/i386/avx512dqintrin.h: Add evex512 target for 512 bit - intrins. - -2023-10-09 Haochen Jiang - - * config/i386/avx512fintrin.h: Add evex512 target for 512 bit intrins. - -2023-10-09 Haochen Jiang - - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_EVEX512_SET): New. - (OPTION_MASK_ISA2_EVEX512_UNSET): Ditto. - (ix86_handle_option): Handle EVEX512. - * config/i386/i386-c.cc - (ix86_target_macros_internal): Handle EVEX512. Add __EVEX256__ - when AVX512VL is set. - * config/i386/i386-options.cc: (isa2_opts): Handle EVEX512. - (ix86_valid_target_attribute_inner_p): Ditto. - (ix86_option_override_internal): Set EVEX512 target if it is not - explicitly set when AVX512 is enabled. Disable - AVX512{PF,ER,4VNNIW,4FAMPS} for -mno-evex512. - * config/i386/i386.opt: Add mevex512. Temporaily RejectNegative. - -2023-10-09 Haochen Gui - - PR target/88558 - * config/rs6000/rs6000.md (lrintdi2): Remove TARGET_FPRND - from insn condition. - (lrintsi2): New insn pattern for 32bit lrint. - -2023-10-09 Haochen Gui - - PR target/88558 - * config/rs6000/rs6000.cc (rs6000_hard_regno_mode_ok_uncached): - Enable SImode on FP registers for P7. - * config/rs6000/rs6000.md (*movsi_internal1): Add fmr for SImode - move between FP registers. Set attribute isa of stfiwx to "*" - and attribute of stxsiwx to "p7". - -2023-10-09 Stefan Schulze Frielinghaus - - * config/s390/s390.md: Make use of new copysign RTL. - -2023-10-09 Hongyu Wang - - * config/i386/sse.md (vec_concatv2di): Replace constraint "m" - with "jm" for alternative 0 and 1 of operand 2. - (sse4_1_3): Replace constraint "Bm" with - "ja" for alternative 0 and 1 of operand2. - -2023-10-08 David Malcolm - - PR analyzer/111155 - * text-art/table.cc (table::maybe_set_cell_span): New. - (table::add_other_table): New. - * text-art/table.h (class table::cell_placement): Add class table - as a friend. - (table::add_rows): New. - (table::add_row): Reimplement in terms of add_rows. - (table::maybe_set_cell_span): New decl. - (table::add_other_table): New decl. - * text-art/types.h (operator+): New operator for rect + coord. - -2023-10-08 David Malcolm - - * genmatch.cc (main): Update for "m_" prefix of some fields of - line_maps. - * input.cc (make_location): Update for removal of - COMBINE_LOCATION_DATA. - (dump_line_table_statistics): Update for "m_" prefix of some - fields of line_maps. - (location_with_discriminator): Update for removal of - COMBINE_LOCATION_DATA. - (line_table_test::line_table_test): Update for "m_" prefix of some - fields of line_maps. - * toplev.cc (general_init): Likewise. - * tree.cc (set_block): Update for removal of - COMBINE_LOCATION_DATA. - (set_source_range): Likewise. - -2023-10-08 David Malcolm - - * input.cc (make_location): Move implementation to - line_maps::make_location. - -2023-10-08 David Malcolm - - PR driver/111700 - * input.cc (file_cache::add_file): Update leading comment to - clarify that it can fail. - (file_cache::lookup_or_add_file): Likewise. - (file_cache::get_source_file_content): Gracefully handle - lookup_or_add_file failing. - -2023-10-08 liuhongt - - * config/i386/i386.cc (ix86_build_const_vector): Handle V2HF - and V4HFmode. - (ix86_build_signbit_mask): Ditto. - * config/i386/mmx.md (mmxintvecmode): Ditto. - (2): New define_expand. - (*mmx_): New define_insn_and_split. - (*mmx_nabs2): Ditto. - (*mmx_andnot3): New define_insn. - (3): Ditto. - (copysign3): New define_expand. - (xorsign3): Ditto. - (signbit2): Ditto. - -2023-10-08 liuhongt - - * config/i386/mmx.md (VHF_32_64): New mode iterator. - (3): New define_expand, merged from .. - (v4hf3): .. this and - (v2hf3): .. this. - (movd_v2hf_to_sse_reg): New define_expand, splitted from .. - (movd_v2hf_to_sse): .. this. - (3): New define_expand. - -2023-10-08 Jiufu Guo - - * config/rs6000/rs6000.cc (can_be_built_by_li_and_rldic): New function. - (rs6000_emit_set_long_const): Call can_be_built_by_li_and_rldic. - -2023-10-08 Jiufu Guo - - * config/rs6000/rs6000.cc (can_be_built_by_li_lis_and_rldicl): New - function. - (can_be_built_by_li_lis_and_rldicr): New function. - (rs6000_emit_set_long_const): Call can_be_built_by_li_lis_and_rldicr and - can_be_built_by_li_lis_and_rldicl. - -2023-10-08 Jiufu Guo - - * config/rs6000/rs6000.cc (can_be_rotated_to_negative_lis): New - function. - (can_be_built_by_li_and_rotldi): Rename to ... - (can_be_built_by_li_lis_and_rotldi): ... this function. - (rs6000_emit_set_long_const): Call can_be_built_by_li_lis_and_rotldi. - -2023-10-08 Jiufu Guo - - * config/rs6000/rs6000.cc (can_be_built_by_li_and_rotldi): New function. - (rs6000_emit_set_long_const): Call can_be_built_by_li_and_rotldi. - -2023-10-08 Yanzhang Wang - - * config/riscv/linux.h: Pass the static-pie specific options to - the linker. - -2023-10-07 Saurabh Jha - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add support for - cortex-x4 core. - * config/aarch64/aarch64-tune.md: Regenerated. - * doc/invoke.texi: Add command-line option for cortex-x4 core. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * config/i386/constraints.md (jb): New constraint for vsib memory - that does not allow gpr32. - * config/i386/i386.md: (setcc__sse): Replace m to jm for avx - alternative and set attr_gpr32 to 0. - (movmsk_df): Split avx/noavx alternatives and replace "r" to "jr" for - avx alternative. - (_rcp2): Split avx/noavx alternatives and replace - "m/Bm" to "jm/ja" for avx alternative, set its gpr32 attr to 0. - (*rsqrtsf2_sse): Likewise. - * config/i386/mmx.md (mmx_pmovmskb): Split alternative 1 to - avx/noavx and assign jr/r constraint to dest. - * config/i386/sse.md (_movmsk): - Split avx/noavx alternatives and replace "r" to "jr" for avx alternative. - (*_movmsk_ext): Likewise. - (*_movmsk_lt): Likewise. - (*_movmsk_ext_lt): Likewise. - (*_movmsk_shift): Likewise. - (*_movmsk_ext_shift): Likewise. - (_pmovmskb): Likewise. - (*_pmovmskb_zext): Likewise. - (*sse2_pmovmskb_ext): Likewise. - (*_pmovmskb_lt): Likewise. - (*_pmovmskb_zext_lt): Likewise. - (*sse2_pmovmskb_ext_lt): Likewise. - (_rcp2): Split avx/noavx alternatives and replace - "m/Bm" to "jm/ja" for avx alternative, set its attr_gpr32 to 0. - (sse_vmrcpv4sf2): Likewise. - (*sse_vmrcpv4sf2): Likewise. - (rsqrt2): Likewise. - (sse_vmrsqrtv4sf2): Likewise. - (*sse_vmrsqrtv4sf2): Likewise. - (avx_hv4df3): Likewise. - (sse3_hsubv2df3): Likewise. - (avx_hv8sf3): Likewise. - (sse3_hv4sf3): Likewise. - (_lddqu): Likewise. - (avx_cmp3): Likewise. - (avx_vmcmp3): Likewise. - (*sse2_gt3): Likewise. - (sse_ldmxcsr): Likewise. - (sse_stmxcsr): Likewise. - (avx_vtest): Replace m to jm for - avx alternative and set attr_gpr32 to 0. - (avx2_permv2ti): Likewise. - (*avx_vperm2f128_full): Likewise. - (*avx_vperm2f128_nozero): Likewise. - (vec_set_lo_v32qi): Likewise. - (_maskload): Likewise. - (_maskstore: Likewise. - (avx_cmp3): Likewise. - (avx_vmcmp3): Likewise. - (*_maskcmp3_comm): Likewise. - (*avx2_gathersi): Replace Tv to jb and set - attr_gpr32 to 0. - (*avx2_gathersi_2): Likewise. - (*avx2_gatherdi): Likewise. - (*avx2_gatherdi_2): Likewise. - (*avx2_gatherdi_3): Likewise. - (*avx2_gatherdi_4): Likewise. - (avx_vbroadcastf128_): Restrict non-egpr alternative to - noavx512vl, set its constraint to jm and set attr_gpr32 to 0. - (vec_set_lo_): Likewise. - (vec_set_lo_): Likewise for SF/SI modes. - (vec_set_hi_): Likewise. - (vec_set_hi_): Likewise for SF/SI modes. - (vec_set_hi_): Likewise. - (vec_set_lo_): Likewise. - (avx2_set_hi_v32qi): Likewise. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * config/i386/i386.md (*movhi_internal): Split out non-gpr - supported pextrw with mem constraint to avx/noavx alternatives, - set jm and attr gpr32 0 to the noavx alternative. - (*mov_internal): Likewise. - * config/i386/mmx.md (mmx_pshufbv8qi3): Change "r/m/Bm" to - "jr/jm/ja" and set_attr gpr32 0 for noavx alternative. - (mmx_pshufbv4qi3): Likewise. - (*mmx_pinsrd): Likewise. - (*mmx_pinsrb): Likewise. - (*pinsrb): Likewise. - (mmx_pshufbv8qi3): Likewise. - (mmx_pshufbv4qi3): Likewise. - (@sse4_1_insertps_): Likewise. - (*mmx_pextrw): Split altrenatives and map non-EGPR - constraints, attr_gpr32 and attr_isa to noavx mnemonics. - (*movv2qi_internal): Likewise. - (*pextrw): Likewise. - (*mmx_pextrb): Likewise. - (*mmx_pextrb_zext): Likewise. - (*pextrb): Likewise. - (*pextrb_zext): Likewise. - (vec_extractv2si_1): Likewise. - (vec_extractv2si_1_zext): Likewise. - * config/i386/sse.md: (vi128_h_r): New mode attr for - pinsr{bw}/pextr{bw} with reg operand. - (*abs2): Split altrenatives and %v in mnemonics, map - non-EGPR constraints, gpr32 and isa attrs to noavx mnemonics. - (*vec_extract): Likewise. - (*vec_extract): Likewise for HFBF pattern. - (*vec_extract_zext): Likewise. - (*vec_extractv4si_1): Likewise. - (*vec_extractv4si_zext): Likewise. - (*vec_extractv2di_1): Likewise. - (*vec_concatv2si_sse4_1): Likewise. - (_pinsr): Likewise. - (vec_concatv2di): Likewise. - (*sse4_1_v2qiv2di2_1): Likewise. - (ssse3_avx2>_pshufb3): Change "r/m/Bm" to - "jr/jm/ja" and set_attr gpr32 0 for noavx alternative, split - %v for avx/noavx alternatives if necessary. - (*vec_concatv2sf_sse4_1): Likewise. - (*sse4_1_extractps): Likewise. - (vec_set_0): Likewise for VI4F_128. - (*vec_setv4sf_sse4_1): Likewise. - (@sse4_1_insertps): Likewise. - (ssse3_pmaddubsw128): Likewise. - (*_pmulhrsw3): Likewise. - (_packusdw): Likewise. - (_palignr): Likewise. - (_movntdqa): Likewise. - (_mpsadbw): Likewise. - (*sse4_1_mulv2siv2di3): Likewise. - (*_mul3): Likewise. - (*sse4_1_3): Likewise. - (*v8hi3): Likewise. - (*v16qi3): Likewise. - (*sse4_1_v8qiv8hi2_1): Likewise. - (*sse4_1_zero_extendv8qiv8hi2_3): Likewise. - (*sse4_1_zero_extendv8qiv8hi2_4): Likewise. - (*sse4_1_v4qiv4si2_1): Likewise. - (*sse4_1_v4hiv4si2_1): Likewise. - (*sse4_1_zero_extendv4hiv4si2_3): Likewise. - (*sse4_1_zero_extendv4hiv4si2_4): Likewise. - (*sse4_1_v2hiv2di2_1): Likewise. - (*sse4_1_v2siv2di2_1): Likewise. - (*sse4_1_zero_extendv2siv2di2_3): Likewise. - (*sse4_1_zero_extendv2siv2di2_4): Likewise. - (aesdec): Likewise. - (aesdeclast): Likewise. - (aesenc): Likewise. - (aesenclast): Likewise. - (pclmulqdq): Likewise. - (vgf2p8affineinvqb_): Likewise. - (vgf2p8affineqb_): Likewise. - (vgf2p8mulb_): Likewise. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * config/i386/i386-protos.h (x86_evex_reg_mentioned_p): New - prototype. - * config/i386/i386.cc (x86_evex_reg_mentioned_p): New - function. - * config/i386/i386.md (sse4_1_round2): Set attr gpr32 0 - and constraint jm to all non-evex alternatives, adjust - alternative outputs if evex reg is mentioned. - * config/i386/sse.md (_ptest): Set attr gpr32 0 - and constraint jm/ja to all non-evex alternatives. - (ptesttf2): Likewise. - (_round): Likewise. - (sse4_2_pcmpestri): Likewise. - (sse4_2_pcmpestrm): Likewise. - (sse4_2_pcmpestr_cconly): Likewise. - (sse4_2_pcmpistr): Likewise. - (sse4_2_pcmpistri): Likewise. - (sse4_2_pcmpistrm): Likewise. - (sse4_2_pcmpistr_cconly): Likewise. - (aesimc): Likewise. - (aeskeygenassist): Likewise. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * config/i386/sse.md (avx2_phwv16hi3): Set - attr gpr32 0 and constraint jm/ja to all mem alternatives. - (ssse3_phwv8hi3): Likewise. - (ssse3_phwv4hi3): Likewise. - (avx2_phdv8si3): Likewise. - (ssse3_phdv4si3): Likewise. - (ssse3_phdv2si3): Likewise. - (_psign3): Likewise. - (ssse3_psign3): Likewise. - (_blend_blendv_blendv_lt): Likewise. - (*_blendv_not_ltint: Likewise. - (_dp): Likewise. - (_mpsadbw): Likewise. - (_pblendvb): Likewise. - (*_pblendvb_lt): Likewise. - (sse4_1_pblend): Likewise. - (*avx2_pblend): Likewise. - (avx2_permv2ti): Likewise. - (*avx_vperm2f128_nozero): Likewise. - (*avx2_eq3): Likewise. - (*sse4_1_eqv2di3): Likewise. - (sse4_2_gtv2di3): Likewise. - (avx2_gt3): Likewise. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * config/i386/i386.md (): Set attr gpr32 0 and constraint - jm. - (_rex64): Likewise. - (_rex64): Likewise. - (64): Likewise. - (fxsave64): Likewise. - (fxstore64): Likewise. - -2023-10-07 Hongyu Wang - Kong Lingling - Hongtao Liu - - * config/i386/i386.cc (ix86_get_ssemov): Check if egpr is used, - adjust mnemonic for vmovduq/vmovdqa. - * config/i386/sse.md (*_vinsert_0): - Check if egpr is used, adjust mnemonic for vmovdqu/vmovdqa. - (avx_vec_concat): Likewise, and separate alternative 0 to - avx_noavx512f. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * config/i386/i386.cc (map_egpr_constraints): New funciton to - map common constraints to EGPR prohibited constraints. - (ix86_md_asm_adjust): Calls map_egpr_constraints. - * config/i386/i386.opt: Add option mapx-inline-asm-use-gpr32. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * config/i386/i386-protos.h (ix86_insn_base_reg_class): New - prototype. - (ix86_regno_ok_for_insn_base_p): Likewise. - (ix86_insn_index_reg_class): Likewise. - * config/i386/i386.cc (ix86_memory_address_use_extended_reg_class_p): - New helper function to scan the insn. - (ix86_insn_base_reg_class): New function to choose BASE_REG_CLASS. - (ix86_regno_ok_for_insn_base_p): Likewise for base regno. - (ix86_insn_index_reg_class): Likewise for INDEX_REG_CLASS. - * config/i386/i386.h (INSN_BASE_REG_CLASS): Define. - (REGNO_OK_FOR_INSN_BASE_P): Likewise. - (INSN_INDEX_REG_CLASS): Likewise. - (enum reg_class): Add INDEX_GPR16. - (GENERAL_GPR16_REGNO_P): Define. - * config/i386/i386.md (gpr32): New attribute. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * config/i386/constraints.md (jr): New register constraint - that prohibits EGPR. - (jR): Constraint that force usage of EGPR. - (jm): New memory constraint that prohibits EGPR. - (ja): Likewise for Bm constraint. - (jb): Likewise for Tv constraint. - (j<): New auto-dec memory constraint that prohibits EGPR. - (j>): Likewise for ">" constraint. - (jo): Likewise for "o" constraint. - (jv): Likewise for "V" constraint. - (jp): Likewise for "p" constraint. - * config/i386/i386.h (enum reg_class): Add new reg class - GENERAL_GPR16. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * config/i386/i386-protos.h (x86_extended_rex2reg_mentioned_p): - New function prototype. - * config/i386/i386.cc (regclass_map): Add mapping for 16 new - general registers. - (debugger64_register_map): Likewise. - (ix86_conditional_register_usage): Clear REX2 register when APX - disabled. - (ix86_code_end): Add handling for REX2 reg. - (print_reg): Likewise. - (ix86_output_jmp_thunk_or_indirect): Likewise. - (ix86_output_indirect_branch_via_reg): Likewise. - (ix86_attr_length_vex_default): Likewise. - (ix86_emit_save_regs): Adjust to allow saving r31. - (ix86_register_priority): Set REX2 reg priority same as REX. - (x86_extended_reg_mentioned_p): Add check for REX2 regs. - (x86_extended_rex2reg_mentioned_p): New function. - * config/i386/i386.h (CALL_USED_REGISTERS): Add new extended - registers. - (REG_ALLOC_ORDER): Likewise. - (FIRST_REX2_INT_REG): Define. - (LAST_REX2_INT_REG): Ditto. - (GENERAL_REGS): Add 16 new registers. - (INT_SSE_REGS): Likewise. - (FLOAT_INT_REGS): Likewise. - (FLOAT_INT_SSE_REGS): Likewise. - (INT_MASK_REGS): Likewise. - (ALL_REGS):Likewise. - (REX2_INT_REG_P): Define. - (REX2_INT_REGNO_P): Ditto. - (GENERAL_REGNO_P): Add REX2_INT_REGNO_P. - (REGNO_OK_FOR_INDEX_P): Ditto. - (REG_OK_FOR_INDEX_NONSTRICT_P): Add new extended registers. - * config/i386/i386.md: Add 16 new integer general - registers. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * common/config/i386/cpuinfo.h (XSTATE_APX_F): New macro. - (XCR_APX_F_ENABLED_MASK): Likewise. - (get_available_features): Detect APX_F under - * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_APX_F_SET): New. - (OPTION_MASK_ISA2_APX_F_UNSET): Likewise. - (ix86_handle_option): Handle -mapxf. - * common/config/i386/i386-cpuinfo.h (FEATURE_APX_F): New. - * common/config/i386/i386-isas.h: Add entry for APX_F. - * config/i386/cpuid.h (bit_APX_F): New. - * config/i386/i386.h (bit_APX_F): (TARGET_APX_EGPR, - TARGET_APX_PUSH2POP2, TARGET_APX_NDD): New define. - * config/i386/i386-opts.h (enum apx_features): New enum. - * config/i386/i386-isa.def (APX_F): New DEF_PTA. - * config/i386/i386-options.cc (ix86_function_specific_save): - Save ix86_apx_features. - (ix86_function_specific_restore): Restore it. - (ix86_valid_target_attribute_inner_p): Add mapxf. - (ix86_option_override_internal): Set ix86_apx_features for PTA - and TARGET_APX_F. Also reports error when APX_F is set but not - having TARGET_64BIT. - * config/i386/i386.opt: (-mapxf): New ISA flag option. - (-mapx=): New enumeration option. - (apx_features): New enum type. - (apx_none): New enum value. - (apx_egpr): Likewise. - (apx_push2pop2): Likewise. - (apx_ndd): Likewise. - (apx_all): Likewise. - * doc/invoke.texi: Document mapxf. - -2023-10-07 Hongyu Wang - Kong Lingling - Hongtao Liu - - * addresses.h (index_reg_class): New wrapper function like - base_reg_class. - * doc/tm.texi: Document INSN_INDEX_REG_CLASS. - * doc/tm.texi.in: Ditto. - * lra-constraints.cc (index_part_to_reg): Pass index_class. - (process_address_1): Calls index_reg_class with curr_insn and - replace INDEX_REG_CLASS with its return value index_cl. - * reload.cc (find_reloads_address): Likewise. - (find_reloads_address_1): Likewise. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * addresses.h (base_reg_class): Add insn argument and new macro - INSN_BASE_REG_CLASS. - (regno_ok_for_base_p_1): Add insn argument and new macro - REGNO_OK_FOR_INSN_BASE_P. - (regno_ok_for_base_p): Add insn argument and parse to ok_for_base_p_1. - * doc/tm.texi: Document INSN_BASE_REG_CLASS and - REGNO_OK_FOR_INSN_BASE_P. - * doc/tm.texi.in: Ditto. - * lra-constraints.cc (process_address_1): Pass insn to - base_reg_class. - (curr_insn_transform): Ditto. - * reload.cc (find_reloads): Ditto. - (find_reloads_address): Ditto. - (find_reloads_address_1): Ditto. - (find_reloads_subreg_address): Ditto. - * reload1.cc (maybe_fix_stack_asms): Ditto. - -2023-10-07 Jiufu Guo - - PR target/108338 - * config/rs6000/rs6000.md (movsf_from_si): Update to generate mtvsrws - for P9. - -2023-10-07 Jiufu Guo - - PR target/108338 - * config/rs6000/predicates.md (lowpart_subreg_operator): New - define_predicate. - * config/rs6000/rs6000.md (any_rshift): New code_iterator. - (movsf_from_si2): Rename to ... - (movsf_from_si2_): ... this. - -2023-10-07 Pan Li - - PR target/111634 - * config/riscv/riscv.cc (riscv_legitimize_address): Ensure - object is a REG before extracting its' REGNO. - -2023-10-06 Roger Sayle - - * config/i386/i386-expand.cc (ix86_split_ashl): Split shifts by - one into add3_cc_overflow_1 followed by add3_carry. - * config/i386/i386.md (@add3_cc_overflow_1): Renamed from - "*add3_cc_overflow_1" to provide generator function. - -2023-10-06 Roger Sayle - Uros Bizjak - - * config/i386/i386.cc (ix86_avoid_lea_for_addr): Split LEAs used - to perform left shifts into shorter instructions with -Oz. - -2023-10-06 Vineet Gupta - - * config/riscv/riscv.md (mvconst_internal): Add !ira_in_progress. - -2023-10-06 Sandra Loosemore - - * doc/extend.texi (Function Attributes): Mention standard attribute - syntax. - (Variable Attributes): Likewise. - (Type Attributes): Likewise. - (Attribute Syntax): Likewise. - -2023-10-06 Andrew Stubbs - - * config/gcn/gcn-valu.md (*mov): Convert to compact syntax. - (mov_exec): Likewise. - (mov_sgprbase): Likewise. - * config/gcn/gcn.md (*mov_insn): Likewise. - (*movti_insn): Likewise. - -2023-10-06 Andrew Stubbs - - * config/gcn/gcn.cc (print_operand): Adjust xcode type to fix warning. - -2023-10-06 Andrew Pinski - - PR middle-end/111699 - * match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e), - (v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): Enable only for GIMPLE. - -2023-10-06 Jakub Jelinek - - * ipa-prop.h (ipa_bits): Remove. - (struct ipa_jump_func): Remove bits member. - (struct ipcp_transformation): Remove bits member, adjust - ctor and dtor. - (ipa_get_ipa_bits_for_value): Remove. - * ipa-prop.cc (struct ipa_bit_ggc_hash_traits): Remove. - (ipa_bits_hash_table): Remove. - (ipa_print_node_jump_functions_for_edge): Don't print bits. - (ipa_get_ipa_bits_for_value): Remove. - (ipa_set_jfunc_bits): Remove. - (ipa_compute_jump_functions_for_edge): For pointers query - pointer alignment before ipa_set_jfunc_vr and update_bitmask - in there. For integral types, just rely on bitmask already - being handled in value ranges. - (ipa_check_create_edge_args): Don't create ipa_bits_hash_table. - (ipcp_transformation_initialize): Neither here. - (ipcp_transformation_t::duplicate): Don't copy bits vector. - (ipa_write_jump_function): Don't stream bits here. - (ipa_read_jump_function): Neither here. - (useful_ipcp_transformation_info_p): Don't test bits vec. - (write_ipcp_transformation_info): Don't stream bits here. - (read_ipcp_transformation_info): Neither here. - (ipcp_get_parm_bits): Get mask and value from m_vr rather - than bits. - (ipcp_update_bits): Remove. - (ipcp_update_vr): For pointers, set_ptr_info_alignment from - bitmask stored in value range. - (ipcp_transform_function): Don't test bits vector, don't call - ipcp_update_bits. - * ipa-cp.cc (propagate_bits_across_jump_function): Don't use - jfunc->bits, instead get mask and value from jfunc->m_vr. - (ipcp_store_bits_results): Remove. - (ipcp_store_vr_results): Incorporate parts of - ipcp_store_bits_results here, merge the bitmasks with value - range if both are supplied. - (ipcp_driver): Don't call ipcp_store_bits_results. - * ipa-sra.cc (zap_useless_ipcp_results): Remove *ts->bits - clearing. - -2023-10-06 Pan Li - - * config/riscv/autovec.md: Update comments. - -2023-10-05 John David Anglin - - * config/pa/pa32-linux.h (MALLOC_ABI_ALIGNMENT): Delete. - -2023-10-05 Andrew MacLeod - - * timevar.def (TV_TREE_FAST_VRP): New. - * tree-pass.h (make_pass_fast_vrp): New prototype. - * tree-vrp.cc (class fvrp_folder): New. - (fvrp_folder::fvrp_folder): New. - (fvrp_folder::~fvrp_folder): New. - (fvrp_folder::value_of_expr): New. - (fvrp_folder::value_on_edge): New. - (fvrp_folder::value_of_stmt): New. - (fvrp_folder::pre_fold_bb): New. - (fvrp_folder::post_fold_bb): New. - (fvrp_folder::pre_fold_stmt): New. - (fvrp_folder::fold_stmt): New. - (execute_fast_vrp): New. - (pass_data_fast_vrp): New. - (pass_vrp:execute): Check for fast VRP pass. - (make_pass_fast_vrp): New. - -2023-10-05 Andrew MacLeod - - * gimple-range.cc (dom_ranger::dom_ranger): New. - (dom_ranger::~dom_ranger): New. - (dom_ranger::range_of_expr): New. - (dom_ranger::edge_range): New. - (dom_ranger::range_on_edge): New. - (dom_ranger::range_in_bb): New. - (dom_ranger::range_of_stmt): New. - (dom_ranger::maybe_push_edge): New. - (dom_ranger::pre_bb): New. - (dom_ranger::post_bb): New. - * gimple-range.h (class dom_ranger): New. - -2023-10-05 Andrew MacLeod - - * gimple-range-gori.cc (gori_stmt_info::gori_stmt_info): New. - (gori_calc_operands): New. - (gori_on_edge): New. - (gori_name_helper): New. - (gori_name_on_edge): New. - * gimple-range-gori.h (gori_on_edge): New prototype. - (gori_name_on_edge): New prototype. - -2023-10-05 Sergei Trofimovich - - PR ipa/111283 - PR gcov-profile/111559 - * ipa-utils.cc (ipa_merge_profiles): Avoid producing - uninitialized probabilities when merging counters with zero - denominators. - -2023-10-05 Uros Bizjak - - PR target/111657 - * config/i386/i386-expand.cc (alg_usable_p): Reject libcall - strategy for non-default address spaces. - (decide_alg): Use loop strategy as a fallback strategy for - non-default address spaces. - -2023-10-05 Jakub Jelinek - - * sreal.cc (verify_aritmetics): Rename to ... - (verify_arithmetics): ... this. - (sreal_verify_arithmetics): Adjust caller. - -2023-10-05 Martin Jambor - - Revert: - 2023-10-03 Martin Jambor - - PR ipa/108007 - * cgraph.h (cgraph_edge): Add a parameter to - redirect_call_stmt_to_callee. - * ipa-param-manipulation.h (ipa_param_adjustments): Add a - parameter to modify_call. - * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): New - parameter killed_ssas, pass it to padjs->modify_call. - * ipa-param-manipulation.cc (purge_transitive_uses): New function. - (ipa_param_adjustments::modify_call): New parameter killed_ssas. - Instead of substituting uses, invoke purge_transitive_uses. If - hash of killed SSAs has not been provided, create a temporary one - and release SSAs that have been added to it. - * tree-inline.cc (redirect_all_calls): Create - id->killed_new_ssa_names earlier, pass it to edge redirection, - adjust a comment. - (copy_body): Release SSAs in id->killed_new_ssa_names. - -2023-10-05 Juzhe-Zhong - - * config/riscv/autovec.md (@vec_series): Remove @. - (vec_series): Ditto. - * config/riscv/riscv-v.cc (expand_const_vector): Ditto. - (shuffle_decompress_patterns): Ditto. - -2023-10-05 Claudiu Zissulescu - - * config/arc/arc-passes.def: Remove arc_ifcvt pass. - * config/arc/arc-protos.h (arc_ccfsm_branch_deleted_p): Remove. - (arc_ccfsm_record_branch_deleted): Likewise. - (arc_ccfsm_cond_exec_p): Likewise. - (arc_ccfsm): Likewise. - (arc_ccfsm_record_condition): Likewise. - (make_pass_arc_ifcvt): Likewise. - * config/arc/arc.cc (arc_ccfsm): Remove. - (arc_ccfsm_current): Likewise. - (ARC_CCFSM_BRANCH_DELETED_P): Likewise. - (ARC_CCFSM_RECORD_BRANCH_DELETED): Likewise. - (ARC_CCFSM_COND_EXEC_P): Likewise. - (CCFSM_ISCOMPACT): Likewise. - (CCFSM_DBR_ISCOMPACT): Likewise. - (machine_function): Remove ccfsm related fields. - (arc_ifcvt): Remove pass. - (arc_print_operand): Remove `#` punct operand and other ccfsm - related code. - (arc_ccfsm_advance): Remove. - (arc_ccfsm_at_label): Likewise. - (arc_ccfsm_record_condition): Likewise. - (arc_ccfsm_post_advance): Likewise. - (arc_ccfsm_branch_deleted_p): Likewise. - (arc_ccfsm_record_branch_deleted): Likewise. - (arc_ccfsm_cond_exec_p): Likewise. - (arc_get_ccfsm_cond): Likewise. - (arc_final_prescan_insn): Remove ccfsm references. - (arc_internal_label): Likewise. - (arc_reorg): Likewise. - (arc_output_libcall): Likewise. - * config/arc/arc.md: Remove ccfsm references and update related - instruction patterns. - -2023-10-05 Claudiu Zissulescu - - * config/arc/arc.cc (arc_init): Remove '^' punct char. - (arc_print_operand): Remove related code. - * config/arc/arc.md: Update patterns which uses '%&'. - -2023-10-05 Claudiu Zissulescu - - * config/arc/arc-protos.h (arc_clear_unalign): Remove. - (arc_toggle_unalign): Likewise. - * config/arc/arc.cc (machine_function) Remove unalign. - (arc_init): Remove `&` punct character. - (arc_print_operand): Remove `&` related functions. - (arc_verify_short): Update function's number of parameters. - (output_short_suffix): Update function. - (arc_short_long): Likewise. - (arc_clear_unalign): Remove. - (arc_toggle_unalign): Likewise. - * config/arc/arc.h (ASM_OUTPUT_CASE_END): Remove. - (ASM_OUTPUT_ALIGN): Update. - * config/arc/arc.md: Remove all `%&` references. - * config/arc/arc.opt (mannotate-align): Ignore option. - * doc/invoke.texi (mannotate-align): Update description. - -2023-10-05 Richard Biener - - * tree-vect-slp.cc (vect_build_slp_tree_1): Do not - ask for internal_fn_p (CFN_LAST). - -2023-10-05 Richard Biener - - * tree-ssa-sccvn.cc (rpo_elim::eliminate_avail): Not - visited value numbers are available itself. - -2023-10-05 Richard Biener - - PR ipa/111643 - * doc/extend.texi (attribute flatten): Clarify. - -2023-10-04 Roger Sayle - - * config/arc/arc-protos.h (emit_shift): Delete prototype. - (arc_pre_reload_split): New function prototype. - * config/arc/arc.cc (emit_shift): Delete function. - (arc_pre_reload_split): New predicate function, copied from i386, - to schedule define_insn_and_split splitters to the split1 pass. - * config/arc/arc.md (ashlsi3): Expand RTL template unconditionally. - (ashrsi3): Likewise. - (lshrsi3): Likewise. - (shift_si3): Move after other shift patterns, and disable when - operands[2] is one (which is handled by its own define_insn). - Use shiftr4_operator, instead of shift4_operator, as this is no - longer used for left shifts. - (shift_si3_loop): Likewise. Additionally remove match_scratch. - (*ashlsi3_nobs): New pre-reload define_insn_and_split. - (*ashrsi3_nobs): Likewise. - (*lshrsi3_nobs): Likewise. - (rotrsi3_cnt1): Rename define_insn from *rotrsi3_cnt1. - (add_shift): Rename define_insn from *add_shift. - * config/arc/predicates.md (shiftl4_operator): Delete. - (shift4_operator): Delete. - -2023-10-04 Roger Sayle - - * config/arc/arc.md (ashlsi3_cnt1): Rename define_insn *ashlsi2_cnt1. - Change type attribute to "unary", as this doesn't have operands[2]. - Change length attribute to "*,4" to allow compact representation. - (lshrsi3_cnt1): Rename define_insn from *lshrsi3_cnt1. Change - insn type attribute to "unary", as this doesn't have operands[2]. - (ashrsi3_cnt1): Rename define_insn from *ashrsi3_cnt1. Change - insn type attribute to "unary", as this doesn't have operands[2]. - -2023-10-04 Roger Sayle - - PR rtl-optimization/110701 - * combine.cc (record_dead_and_set_regs_1): Split comment into - pieces placed before the relevant clauses. When the SET_DEST - is a partial_subreg_p, mark the bits outside of the updated - portion of the destination as undefined. - -2023-10-04 Kito Cheng - - PR bootstrap/111664 - * opt-read.awk: Drop multidimensional arrays. - * opth-gen.awk: Ditto. - -2023-10-04 Xi Ruoyao - - * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): Delete. - (copysign3): Use copysign RTL instead of UNSPEC. - -2023-10-04 Jakub Jelinek - - PR middle-end/111369 - * match.pd (x == cstN ? cst4 : cst3): Use - build_nonstandard_integer_type only if type1 is BOOLEAN_TYPE. - Fix comment typo. Formatting fix. - (a?~t:t -> (-(a))^t): Always convert to type rather - than using build_nonstandard_integer_type. Perform negation - only if type has precision > 1 and is not signed BOOLEAN_TYPE. - -2023-10-04 Jakub Jelinek - - PR tree-optimization/111668 - * match.pd (a ? CST1 : CST2): Handle the a ? -1 : 0 and - a ? 0 : -1 cases before the powerof2cst cases and differentiate - between 1-bit precision types, larger precision boolean types - and other integral types. Fix comment pastos and formatting. - -2023-10-03 Andrew MacLeod - - * tree-ssanames.cc (set_range_info): Use get_ptr_info for - pointers rather than range_info_get_range. - -2023-10-03 Martin Jambor - - * ipa-modref.h (modref_summary::dump): Make const. - * ipa-modref.cc (modref_summary::dump): Likewise. - (dump_lto_records): Dump to out instead of dump_file. - -2023-10-03 Martin Jambor - - PR ipa/110378 - * ipa-param-manipulation.cc - (ipa_param_body_adjustments::mark_dead_statements): Verify that any - return uses of PARAM will be removed. - (ipa_param_body_adjustments::mark_clobbers_dead): Likewise. - * ipa-sra.cc (isra_param_desc): New fields - remove_only_when_retval_removed and split_only_when_retval_removed. - (struct gensum_param_desc): Likewise. Fix comment long line. - (ipa_sra_function_summaries::duplicate): Copy the new flags. - (dump_gensum_param_descriptor): Dump the new flags. - (dump_isra_param_descriptor): Likewise. - (isra_track_scalar_value_uses): New parameter desc. Set its flag - remove_only_when_retval_removed when encountering a simple return. - (isra_track_scalar_param_local_uses): Replace parameter call_uses_p - with desc. Pass it to isra_track_scalar_value_uses and set its - call_uses. - (ptr_parm_has_nonarg_uses): Accept parameter descriptor as a - parameter. If there is a direct return use, mark any.. - (create_parameter_descriptors): Pass the whole parameter descriptor to - isra_track_scalar_param_local_uses and ptr_parm_has_nonarg_uses. - (process_scan_results): Copy the new flags. - (isra_write_node_summary): Stream the new flags. - (isra_read_node_info): Likewise. - (adjust_parameter_descriptions): Check that transformations - requring return removal only happen when return value is removed. - Restructure main loop. Adjust dump message. - -2023-10-03 Martin Jambor - - PR ipa/108007 - * cgraph.h (cgraph_edge): Add a parameter to - redirect_call_stmt_to_callee. - * ipa-param-manipulation.h (ipa_param_adjustments): Add a - parameter to modify_call. - * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): New - parameter killed_ssas, pass it to padjs->modify_call. - * ipa-param-manipulation.cc (purge_transitive_uses): New function. - (ipa_param_adjustments::modify_call): New parameter killed_ssas. - Instead of substituting uses, invoke purge_transitive_uses. If - hash of killed SSAs has not been provided, create a temporary one - and release SSAs that have been added to it. - * tree-inline.cc (redirect_all_calls): Create - id->killed_new_ssa_names earlier, pass it to edge redirection, - adjust a comment. - (copy_body): Release SSAs in id->killed_new_ssa_names. - -2023-10-03 Andrew MacLeod - - * passes.def (pass_vrp): Pass "final pass" flag as parameter. - * tree-vrp.cc (vrp_pass_num): Remove. - (pass_vrp::my_pass): Remove. - (pass_vrp::pass_vrp): Add warn_p as a parameter. - (pass_vrp::final_p): New. - (pass_vrp::set_pass_param): Set final_p param. - (pass_vrp::execute): Call execute_range_vrp with no conditions. - (make_pass_vrp): Pass additional parameter. - (make_pass_early_vrp): Ditto. - -2023-10-03 Andrew MacLeod - - * tree-ssanames.cc (set_range_info): Return true only if the - current value changes. - -2023-10-03 David Malcolm - - * diagnostic.cc (diagnostic_set_info_translated): Update for "m_" - prefixes to text_info fields. - (diagnostic_report_diagnostic): Likewise. - (verbatim): Use text_info ctor. - (simple_diagnostic_path::add_event): Likewise. - (simple_diagnostic_path::add_thread_event): Likewise. - * dumpfile.cc (dump_pretty_printer::decode_format): Update for - "m_" prefixes to text_info fields. - (dump_context::dump_printf_va): Use text_info ctor. - * graphviz.cc (graphviz_out::graphviz_out): Use text_info ctor. - (graphviz_out::print): Likewise. - * opt-problem.cc (opt_problem::opt_problem): Likewise. - * pretty-print.cc (pp_format): Update for "m_" prefixes to - text_info fields. - (pp_printf): Use text_info ctor. - (pp_verbatim): Likewise. - (assert_pp_format_va): Likewise. - * pretty-print.h (struct text_info): Add ctors. Add "m_" prefix - to all fields. - * text-art/styled-string.cc (styled_string::from_fmt_va): Use - text_info ctor. - * tree-diagnostic.cc (default_tree_printer): Update for "m_" - prefixes to text_info fields. - * tree-pretty-print.h (pp_ti_abstract_origin): Likewise. - -2023-10-03 Roger Sayle - - * config/arc/arc.md (CC_ltu): New mode iterator for CC and CC_C. - (scc_ltu_): New define_insn to handle LTU form of scc_insn. - (*scc_insn): Don't split to a conditional move sequence for LTU. - -2023-10-03 Andrea Corallo - - * config/aarch64/aarch64.md (@ccmp) - (@ccmp_rev, *call_insn, *call_value_insn) - (*mov_aarch64, load_pair_sw_) - (load_pair_dw_) - (store_pair_sw_) - (store_pair_dw_, *extendsidi2_aarch64) - (*zero_extendsidi2_aarch64, *load_pair_zero_extendsidi2_aarch64) - (*extend2_aarch64) - (*zero_extend2_aarch64) - (*extendqihi2_aarch64, *zero_extendqihi2_aarch64) - (*add3_aarch64, *addsi3_aarch64_uxtw, *add3_poly_1) - (add3_compare0, *addsi3_compare0_uxtw) - (*add3_compareC_cconly, add3_compareC) - (*add3_compareV_cconly_imm, add3_compareV_imm) - (*add3nr_compare0, subdi3, subv_imm) - (*cmpv_insn, sub3_compare1_imm, neg2) - (cmp, fcmp, fcmpe, *cmov_insn) - (*cmovsi_insn_uxtw, 3, *si3_uxtw) - (*and3_compare0, *andsi3_compare0_uxtw, one_cmpl2) - (*_one_cmpl3, *and3nr_compare0) - (*aarch64_ashl_sisd_or_int_3) - (*aarch64_lshr_sisd_or_int_3) - (*aarch64_ashr_sisd_or_int_3, *ror3_insn) - (*si3_insn_uxtw, _trunc2) - (2) - (3) - (3) - (*aarch64_3_cssc, copysign3_insn): Update - to new syntax. - * config/aarch64/aarch64-sve2.md (@aarch64_scatter_stnt) - (@aarch64_scatter_stnt_) - (*aarch64_mul_unpredicated_) - (@aarch64_pred_, *cond__2) - (*cond__3, *cond__any) - (*cond__z, @aarch64_pred_) - (*cond__2, *cond__3) - (*cond__any, @aarch64_sve_) - (@aarch64_sve__lane_) - (@aarch64_sve_add_mul_lane_) - (@aarch64_sve_sub_mul_lane_, @aarch64_sve2_xar) - (*aarch64_sve2_bcax, @aarch64_sve2_eor3) - (*aarch64_sve2_nor, *aarch64_sve2_nand) - (*aarch64_sve2_bsl, *aarch64_sve2_nbsl) - (*aarch64_sve2_bsl1n, *aarch64_sve2_bsl2n) - (*aarch64_sve2_sra, @aarch64_sve_add_) - (*aarch64_sve2_aba, @aarch64_sve_add_) - (@aarch64_sve_add__lane_) - (@aarch64_sve_qadd_) - (@aarch64_sve_qadd__lane_) - (@aarch64_sve_sub_) - (@aarch64_sve_sub__lane_) - (@aarch64_sve_qsub_) - (@aarch64_sve_qsub__lane_) - (@aarch64_sve_, @aarch64__lane_) - (@aarch64_pred_) - (@aarch64_pred_, *cond__2) - (*cond__z, @aarch64_sve_) - (@aarch64__lane_, @aarch64_sve_) - (@aarch64__lane_, @aarch64_pred_) - (*cond__any_relaxed) - (*cond__any_strict) - (@aarch64_pred_, *cond_) - (@aarch64_pred_, *cond_) - (*cond__strict): Update to new syntax. - * config/aarch64/aarch64-sve.md (*aarch64_sve_mov_ldr_str) - (*aarch64_sve_mov_no_ldr_str, @aarch64_pred_mov) - (*aarch64_sve_mov, aarch64_wrffr) - (mask_scatter_store) - (*mask_scatter_store_xtw_unpacked) - (*mask_scatter_store_sxtw) - (*mask_scatter_store_uxtw) - (@aarch64_scatter_store_trunc) - (@aarch64_scatter_store_trunc) - (*aarch64_scatter_store_trunc_sxtw) - (*aarch64_scatter_store_trunc_uxtw) - (*vec_duplicate_reg, vec_shl_insert_) - (vec_series, @extract__) - (@aarch64_pred_, *cond__2) - (*cond__any, @aarch64_pred_) - (@aarch64_sve_revbhw_) - (@cond_) - (*2) - (@aarch64_pred_sxt) - (@aarch64_cond_sxt) - (*cond_uxt_2, *cond_uxt_any, *cnot) - (*cond_cnot_2, *cond_cnot_any) - (@aarch64_pred_, *cond__2_relaxed) - (*cond__2_strict, *cond__any_relaxed) - (*cond__any_strict, @aarch64_pred_) - (*cond__2, *cond__3) - (*cond__any, add3, sub3) - (@aarch64_pred_abd, *aarch64_cond_abd_2) - (*aarch64_cond_abd_3, *aarch64_cond_abd_any) - (@aarch64_sve_, @aarch64_pred_) - (*cond__2, *cond__z) - (@aarch64_pred_, *cond__2) - (*cond__3, *cond__any, 3) - (*cond_bic_2, *cond_bic_any) - (@aarch64_pred_, *cond__2_const) - (*cond__any_const, *cond__m) - (*cond__z, *sdiv_pow23) - (*cond__2, *cond__any) - (@aarch64_pred_, *cond__2_relaxed) - (*cond__2_strict, *cond__any_relaxed) - (*cond__any_strict, @aarch64_pred_) - (*cond__2_relaxed, *cond__2_strict) - (*cond__2_const_relaxed) - (*cond__2_const_strict) - (*cond__3_relaxed, *cond__3_strict) - (*cond__any_relaxed, *cond__any_strict) - (*cond__any_const_relaxed) - (*cond__any_const_strict) - (@aarch64_pred_, *cond_add_2_const_relaxed) - (*cond_add_2_const_strict) - (*cond_add_any_const_relaxed) - (*cond_add_any_const_strict, @aarch64_pred_) - (*cond__2_relaxed, *cond__2_strict) - (*cond__any_relaxed, *cond__any_strict) - (@aarch64_pred_, *cond_sub_3_const_relaxed) - (*cond_sub_3_const_strict, *cond_sub_const_relaxed) - (*cond_sub_const_strict, *aarch64_pred_abd_relaxed) - (*aarch64_pred_abd_strict) - (*aarch64_cond_abd_2_relaxed) - (*aarch64_cond_abd_2_strict) - (*aarch64_cond_abd_3_relaxed) - (*aarch64_cond_abd_3_strict) - (*aarch64_cond_abd_any_relaxed) - (*aarch64_cond_abd_any_strict, @aarch64_pred_) - (@aarch64_pred_fma, *cond_fma_2, *cond_fma_4) - (*cond_fma_any, @aarch64_pred_fnma) - (*cond_fnma_2, *cond_fnma_4, *cond_fnma_any) - (dot_prod, @aarch64_dot_prod_lane) - (@dot_prod, @aarch64_dot_prod_lane) - (@aarch64_sve_add_, @aarch64_pred_) - (*cond__2_relaxed, *cond__2_strict) - (*cond__4_relaxed, *cond__4_strict) - (*cond__any_relaxed, *cond__any_strict) - (@aarch64__lane_, @aarch64_pred_) - (*cond__4_relaxed, *cond__4_strict) - (*cond__any_relaxed, *cond__any_strict) - (@aarch64__lane_, @aarch64_sve_tmad) - (@aarch64_sve_vnx4sf) - (@aarch64_sve__lanevnx4sf) - (@aarch64_sve_, *vcond_mask_) - (@aarch64_sel_dup, @aarch64_pred_cmp) - (*cmp_cc, *cmp_ptest) - (@aarch64_pred_fcm, @fold_extract__) - (@aarch64_fold_extract_vector__) - (@aarch64_sve_splice) - (@aarch64_sve__nontrunc) - (@aarch64_sve__trunc) - (*cond__nontrunc_relaxed) - (*cond__nontrunc_strict) - (*cond__trunc) - (@aarch64_sve__nonextend) - (@aarch64_sve__extend) - (*cond__nonextend_relaxed) - (*cond__nonextend_strict) - (*cond__extend) - (@aarch64_sve__trunc) - (*cond__trunc) - (@aarch64_sve__trunc) - (*cond__trunc) - (@aarch64_sve__nontrunc) - (*cond__nontrunc) - (@aarch64_brk, *aarch64_sve__cntp): Update - to new syntax. - * config/aarch64/aarch64-simd.md (aarch64_simd_dup) - (load_pair) - (vec_store_pair, aarch64_simd_stp) - (aarch64_simd_mov_from_low) - (aarch64_simd_mov_from_high, and3) - (ior3, aarch64_simd_ashr) - (aarch64_simd_bsl_internal) - (*aarch64_simd_bsl_alt) - (aarch64_simd_bsldi_internal, aarch64_simd_bsldi_alt) - (store_pair_lanes, *aarch64_combine_internal) - (*aarch64_combine_internal_be, *aarch64_combinez) - (*aarch64_combinez_be) - (aarch64_cm, *aarch64_cmdi) - (aarch64_cm, *aarch64_mov) - (*aarch64_be_mov, *aarch64_be_movoi): Update to new syntax. - -2023-10-03 Andrea Corallo - - * gensupport.cc (convert_syntax): Skip spaces before "cons:" - in new compact pattern syntax. - -2023-10-03 Richard Sandiford - - * gensupport.cc (convert_syntax): Updated to support unordered - constraints in compact syntax. - -2023-10-02 Michael Meissner - - * config/rs6000/rs6000.md (UNSPEC_COPYSIGN): Delete. - (copysign3_fcpsg): Use copysign RTL instead of UNSPEC. - (copysign3_hard): Likewise. - (copysign3_soft): Likewise. - * config/rs6000/vector.md (vector_copysign3): Use copysign RTL - instead of UNSPEC. - * config/rs6000/vsx.md (vsx_copysign3): Use copysign RTL instead - of UNSPEC. - -2023-10-02 David Malcolm - - * diagnostic-format-json.cc (toplevel_array): Remove global in - favor of json_output_format::m_top_level_array. - (cur_group): Likewise, for json_output_format::m_cur_group. - (cur_children_array): Likewise, for - json_output_format::m_cur_children_array. - (class json_output_format): New. - (json_begin_diagnostic): Remove, in favor of - json_output_format::on_begin_diagnostic. - (json_end_diagnostic): Convert to... - (json_output_format::on_end_diagnostic): ...this. - (json_begin_group): Remove, in favor of - json_output_format::on_begin_group. - (json_end_group): Remove, in favor of - json_output_format::on_end_group. - (json_flush_to_file): Remove, in favor of - json_output_format::flush_to_file. - (json_stderr_final_cb): Remove, in favor of json_output_format - dtor. - (json_output_base_file_name): Remove global. - (class json_stderr_output_format): New. - (json_file_final_cb): Remove. - (class json_file_output_format): New. - (json_emit_diagram): Remove. - (diagnostic_output_format_init_json): Update. - (diagnostic_output_format_init_json_file): Update. - * diagnostic-format-sarif.cc (the_builder): Remove this global, - moving to a field of the sarif_output_format. - (sarif_builder::maybe_make_artifact_content_object): Use the - context's m_file_cache. - (get_source_lines): Convert to... - (sarif_builder::get_source_lines): ...this, using context's - m_file_cache. - (sarif_begin_diagnostic): Remove, in favor of - sarif_output_format::on_begin_diagnostic. - (sarif_end_diagnostic): Remove, in favor of - sarif_output_format::on_end_diagnostic. - (sarif_begin_group): Remove, in favor of - sarif_output_format::on_begin_group. - (sarif_end_group): Remove, in favor of - sarif_output_format::on_end_group. - (sarif_flush_to_file): Delete. - (sarif_stderr_final_cb): Delete. - (sarif_output_base_file_name): Delete. - (sarif_file_final_cb): Delete. - (class sarif_output_format): New. - (sarif_emit_diagram): Delete. - (class sarif_stream_output_format): New. - (class sarif_file_output_format): New. - (diagnostic_output_format_init_sarif): Update. - (diagnostic_output_format_init_sarif_stderr): Update. - (diagnostic_output_format_init_sarif_file): Update. - (diagnostic_output_format_init_sarif_stream): Update. - * diagnostic-show-locus.cc (diagnostic_show_locus): Update. - * diagnostic.cc (default_diagnostic_final_cb): Delete, moving to - diagnostic_text_output_format's dtor. - (diagnostic_initialize): Update, making a new instance of - diagnostic_text_output_format. - (diagnostic_finish): Delete m_output_format, rather than calling - final_cb. - (diagnostic_report_diagnostic): Assert that m_output_format is - non-NULL. Replace call to begin_group_cb with call to - m_output_format->on_begin_group. Replace call to - diagnostic_starter with call to - m_output_format->on_begin_diagnostic. Replace call to - diagnostic_finalizer with call to - m_output_format->on_end_diagnostic. - (diagnostic_emit_diagram): Replace both optional call to - m_diagrams.m_emission_cb and default implementation with call to - m_output_format->on_diagram. Move default implementation to - diagnostic_text_output_format::on_diagram. - (auto_diagnostic_group::~auto_diagnostic_group): Replace call to - end_group_cb with call to m_output_format->on_end_group. - (diagnostic_text_output_format::~diagnostic_text_output_format): - New, based on default_diagnostic_final_cb. - (diagnostic_text_output_format::on_begin_diagnostic): New, based - on code from diagnostic_report_diagnostic. - (diagnostic_text_output_format::on_end_diagnostic): Likewise. - (diagnostic_text_output_format::on_diagram): New, based on code - from diagnostic_emit_diagram. - * diagnostic.h (class diagnostic_output_format): New. - (class diagnostic_text_output_format): New. - (diagnostic_context::begin_diagnostic): Move to... - (diagnostic_context::m_text_callbacks::begin_diagnostic): ...here. - (diagnostic_context::start_span): Move to... - (diagnostic_context::m_text_callbacks::start_span): ...here. - (diagnostic_context::end_diagnostic): Move to... - (diagnostic_context::m_text_callbacks::end_diagnostic): ...here. - (diagnostic_context::begin_group_cb): Remove, in favor of - m_output_format->on_begin_group. - (diagnostic_context::end_group_cb): Remove, in favor of - m_output_format->on_end_group. - (diagnostic_context::final_cb): Remove, in favor of - m_output_format's dtor. - (diagnostic_context::m_output_format): New field. - (diagnostic_context::m_diagrams.m_emission_cb): Remove, in favor - of m_output_format->on_diagram. - (diagnostic_starter): Update. - (diagnostic_finalizer): Update. - (diagnostic_output_format_init_sarif_stream): New. - * input.cc (location_get_source_line): Move implementation apart from - call to diagnostic_file_cache_init to... - (file_cache::get_source_line): ...this new function... - (location_get_source_line): ...and reintroduce, rewritten in terms of - file_cache::get_source_line. - (get_source_file_content): Likewise, refactor into... - (file_cache::get_source_file_content): ...this new function. - * input.h (file_cache::get_source_line): New decl. - (file_cache::get_source_file_content): New decl. - * selftest-diagnostic.cc - (test_diagnostic_context::test_diagnostic_context): Update. - * tree-diagnostic-path.cc (event_range::print): Update for - change to diagnostic_context's start_span callback. - -2023-10-02 David Malcolm - - * diagnostic-show-locus.cc: Update for reorganization of - source-printing fields of diagnostic_context. - * diagnostic.cc (diagnostic_set_caret_max_width): Likewise. - (diagnostic_initialize): Likewise. - * diagnostic.h (diagnostic_context::show_caret): Move to... - (diagnostic_context::m_source_printing::enabled): ...here. - (diagnostic_context::caret_max_width): Move to... - (diagnostic_context::m_source_printing::max_width): ...here. - (diagnostic_context::caret_chars): Move to... - (diagnostic_context::m_source_printing::caret_chars): ...here. - (diagnostic_context::colorize_source_p): Move to... - (diagnostic_context::m_source_printing::colorize_source_p): ...here. - (diagnostic_context::show_labels_p): Move to... - (diagnostic_context::m_source_printing::show_labels_p): ...here. - (diagnostic_context::show_line_numbers_p): Move to... - (diagnostic_context::m_source_printing::show_line_numbers_p): ...here. - (diagnostic_context::min_margin_width): Move to... - (diagnostic_context::m_source_printing::min_margin_width): ...here. - (diagnostic_context::show_ruler_p): Move to... - (diagnostic_context::m_source_printing::show_ruler_p): ...here. - (diagnostic_same_line): Update for above changes. - * opts.cc (common_handle_option): Update for reorganization of - source-printing fields of diagnostic_context. - * selftest-diagnostic.cc - (test_diagnostic_context::test_diagnostic_context): Likewise. - * toplev.cc (general_init): Likewise. - * tree-diagnostic-path.cc (struct event_range): Likewise. - -2023-10-02 David Malcolm - - * diagnostic.cc (diagnostic_initialize): Initialize - set_locations_cb to nullptr. - -2023-10-02 Wilco Dijkstra - - PR target/111235 - * config/arm/constraints.md: Remove Pf constraint. - * config/arm/sync.md (arm_atomic_load): Add new pattern. - (arm_atomic_load_acquire): Likewise. - (arm_atomic_store): Likewise. - (arm_atomic_store_release): Likewise. - (atomic_load): Switch patterns to define_expand. - (atomic_store): Likewise. - (arm_atomic_loaddi2_ldrd): Remove predication. - (arm_load_exclusive): Likewise. - (arm_load_acquire_exclusive): Likewise. - (arm_load_exclusivesi): Likewise. - (arm_load_acquire_exclusivesi): Likewise. - (arm_load_exclusivedi): Likewise. - (arm_load_acquire_exclusivedi): Likewise. - (arm_store_exclusive): Likewise. - (arm_store_release_exclusivedi): Likewise. - (arm_store_release_exclusive): Likewise. - * config/arm/unspecs.md: Add VUNSPEC_LDR and VUNSPEC_STR. - -2023-10-02 Tamar Christina - - Revert: - 2023-10-02 Tamar Christina - - PR tree-optimization/109154 - * tree-if-conv.cc (INCLUDE_ALGORITHM): Remove. - (cmp_arg_entry): New. - (predicate_scalar_phi): Use it. - -2023-10-02 Tamar Christina - - * config/aarch64/aarch64-simd.md (xorsign3): Renamed to.. - (@xorsign3): ...This. - * config/aarch64/aarch64.md (xorsign3): Renamed to... - (@xorsign3): ..This and emit vectors directly - * config/aarch64/iterators.md (VCONQ): Add SF and DF. - -2023-10-02 Tamar Christina - - * emit-rtl.cc (validate_subreg): Relax subreg rule. - -2023-10-02 Tamar Christina - - PR tree-optimization/109154 - * tree-if-conv.cc (INCLUDE_ALGORITHM): Remove. - (cmp_arg_entry): New. - (predicate_scalar_phi): Use it. - -2023-10-02 Richard Sandiford - - PR bootstrap/111642 - * rtl-tests.cc (const_poly_int_tests::run): Use a local - poly_int64 typedef. - * simplify-rtx.cc (simplify_const_poly_int_tests::run): Likewise. - -2023-10-02 Joern Rennecke - Juzhe-Zhong - - * config/riscv/riscv-protos.h (riscv_vector::expand_block_move): - Declare. - * config/riscv/riscv-v.cc (riscv_vector::expand_block_move): - New function. - * config/riscv/riscv.md (cpymemsi): Use riscv_vector::expand_block_move. - Change to .. - (cpymem) .. this. - -2023-10-01 Stefan Schulze Frielinghaus - - * combine.cc (simplify_compare_const): Properly handle unsigned - constants while narrowing comparison of memory and constants. - -2023-10-01 Feng Wang - - * config/riscv/riscv-opts.h (MASK_ZICSR): Delete. - (MASK_ZIFENCEI): Delete; - (MASK_ZIHINTNTL): Ditto. - (MASK_ZIHINTPAUSE): Ditto. - (TARGET_ZICSR): Ditto. - (TARGET_ZIFENCEI): Ditto. - (TARGET_ZIHINTNTL): Ditto. - (TARGET_ZIHINTPAUSE): Ditto. - (MASK_ZAWRS): Ditto. - (TARGET_ZAWRS): Ditto. - (MASK_ZBA): Ditto. - (MASK_ZBB): Ditto. - (MASK_ZBC): Ditto. - (MASK_ZBS): Ditto. - (TARGET_ZBA): Ditto. - (TARGET_ZBB): Ditto. - (TARGET_ZBC): Ditto. - (TARGET_ZBS): Ditto. - (MASK_ZFINX): Ditto. - (MASK_ZDINX): Ditto. - (MASK_ZHINX): Ditto. - (MASK_ZHINXMIN): Ditto. - (TARGET_ZFINX): Ditto. - (TARGET_ZDINX): Ditto. - (TARGET_ZHINX): Ditto. - (TARGET_ZHINXMIN): Ditto. - (MASK_ZBKB): Ditto. - (MASK_ZBKC): Ditto. - (MASK_ZBKX): Ditto. - (MASK_ZKNE): Ditto. - (MASK_ZKND): Ditto. - (MASK_ZKNH): Ditto. - (MASK_ZKR): Ditto. - (MASK_ZKSED): Ditto. - (MASK_ZKSH): Ditto. - (MASK_ZKT): Ditto. - (TARGET_ZBKB): Ditto. - (TARGET_ZBKC): Ditto. - (TARGET_ZBKX): Ditto. - (TARGET_ZKNE): Ditto. - (TARGET_ZKND): Ditto. - (TARGET_ZKNH): Ditto. - (TARGET_ZKR): Ditto. - (TARGET_ZKSED): Ditto. - (TARGET_ZKSH): Ditto. - (TARGET_ZKT): Ditto. - (MASK_ZTSO): Ditto. - (TARGET_ZTSO): Ditto. - (MASK_VECTOR_ELEN_32): Ditto. - (MASK_VECTOR_ELEN_64): Ditto. - (MASK_VECTOR_ELEN_FP_32): Ditto. - (MASK_VECTOR_ELEN_FP_64): Ditto. - (MASK_VECTOR_ELEN_FP_16): Ditto. - (TARGET_VECTOR_ELEN_32): Ditto. - (TARGET_VECTOR_ELEN_64): Ditto. - (TARGET_VECTOR_ELEN_FP_32): Ditto. - (TARGET_VECTOR_ELEN_FP_64): Ditto. - (TARGET_VECTOR_ELEN_FP_16): Ditto. - (MASK_ZVBB): Ditto. - (MASK_ZVBC): Ditto. - (TARGET_ZVBB): Ditto. - (TARGET_ZVBC): Ditto. - (MASK_ZVKG): Ditto. - (MASK_ZVKNED): Ditto. - (MASK_ZVKNHA): Ditto. - (MASK_ZVKNHB): Ditto. - (MASK_ZVKSED): Ditto. - (MASK_ZVKSH): Ditto. - (MASK_ZVKN): Ditto. - (MASK_ZVKNC): Ditto. - (MASK_ZVKNG): Ditto. - (MASK_ZVKS): Ditto. - (MASK_ZVKSC): Ditto. - (MASK_ZVKSG): Ditto. - (MASK_ZVKT): Ditto. - (TARGET_ZVKG): Ditto. - (TARGET_ZVKNED): Ditto. - (TARGET_ZVKNHA): Ditto. - (TARGET_ZVKNHB): Ditto. - (TARGET_ZVKSED): Ditto. - (TARGET_ZVKSH): Ditto. - (TARGET_ZVKN): Ditto. - (TARGET_ZVKNC): Ditto. - (TARGET_ZVKNG): Ditto. - (TARGET_ZVKS): Ditto. - (TARGET_ZVKSC): Ditto. - (TARGET_ZVKSG): Ditto. - (TARGET_ZVKT): Ditto. - (MASK_ZVL32B): Ditto. - (MASK_ZVL64B): Ditto. - (MASK_ZVL128B): Ditto. - (MASK_ZVL256B): Ditto. - (MASK_ZVL512B): Ditto. - (MASK_ZVL1024B): Ditto. - (MASK_ZVL2048B): Ditto. - (MASK_ZVL4096B): Ditto. - (MASK_ZVL8192B): Ditto. - (MASK_ZVL16384B): Ditto. - (MASK_ZVL32768B): Ditto. - (MASK_ZVL65536B): Ditto. - (TARGET_ZVL32B): Ditto. - (TARGET_ZVL64B): Ditto. - (TARGET_ZVL128B): Ditto. - (TARGET_ZVL256B): Ditto. - (TARGET_ZVL512B): Ditto. - (TARGET_ZVL1024B): Ditto. - (TARGET_ZVL2048B): Ditto. - (TARGET_ZVL4096B): Ditto. - (TARGET_ZVL8192B): Ditto. - (TARGET_ZVL16384B): Ditto. - (TARGET_ZVL32768B): Ditto. - (TARGET_ZVL65536B): Ditto. - (MASK_ZICBOZ): Ditto. - (MASK_ZICBOM): Ditto. - (MASK_ZICBOP): Ditto. - (TARGET_ZICBOZ): Ditto. - (TARGET_ZICBOM): Ditto. - (TARGET_ZICBOP): Ditto. - (MASK_ZICOND): Ditto. - (TARGET_ZICOND): Ditto. - (MASK_ZFA): Ditto. - (TARGET_ZFA): Ditto. - (MASK_ZFHMIN): Ditto. - (MASK_ZFH): Ditto. - (MASK_ZVFHMIN): Ditto. - (MASK_ZVFH): Ditto. - (TARGET_ZFHMIN): Ditto. - (TARGET_ZFH): Ditto. - (TARGET_ZVFHMIN): Ditto. - (TARGET_ZVFH): Ditto. - (MASK_ZMMUL): Ditto. - (TARGET_ZMMUL): Ditto. - (MASK_ZCA): Ditto. - (MASK_ZCB): Ditto. - (MASK_ZCE): Ditto. - (MASK_ZCF): Ditto. - (MASK_ZCD): Ditto. - (MASK_ZCMP): Ditto. - (MASK_ZCMT): Ditto. - (TARGET_ZCA): Ditto. - (TARGET_ZCB): Ditto. - (TARGET_ZCE): Ditto. - (TARGET_ZCF): Ditto. - (TARGET_ZCD): Ditto. - (TARGET_ZCMP): Ditto. - (TARGET_ZCMT): Ditto. - (MASK_SVINVAL): Ditto. - (MASK_SVNAPOT): Ditto. - (TARGET_SVINVAL): Ditto. - (TARGET_SVNAPOT): Ditto. - (MASK_XTHEADBA): Ditto. - (MASK_XTHEADBB): Ditto. - (MASK_XTHEADBS): Ditto. - (MASK_XTHEADCMO): Ditto. - (MASK_XTHEADCONDMOV): Ditto. - (MASK_XTHEADFMEMIDX): Ditto. - (MASK_XTHEADFMV): Ditto. - (MASK_XTHEADINT): Ditto. - (MASK_XTHEADMAC): Ditto. - (MASK_XTHEADMEMIDX): Ditto. - (MASK_XTHEADMEMPAIR): Ditto. - (MASK_XTHEADSYNC): Ditto. - (TARGET_XTHEADBA): Ditto. - (TARGET_XTHEADBB): Ditto. - (TARGET_XTHEADBS): Ditto. - (TARGET_XTHEADCMO): Ditto. - (TARGET_XTHEADCONDMOV): Ditto. - (TARGET_XTHEADFMEMIDX): Ditto. - (TARGET_XTHEADFMV): Ditto. - (TARGET_XTHEADINT): Ditto. - (TARGET_XTHEADMAC): Ditto. - (TARGET_XTHEADMEMIDX): Ditto. - (TARGET_XTHEADMEMPAIR): Ditto. - (TARGET_XTHEADSYNC): Ditto. - (MASK_XVENTANACONDOPS): Ditto. - (TARGET_XVENTANACONDOPS): Ditto. - * config/riscv/riscv.opt: Add new Mask defination. - * doc/options.texi: Add explanation for this new usage. - * opt-functions.awk: Add new function to find the index - of target variable from extra_target_vars. - * opt-read.awk: Add new function to store the Mask flags. - * opth-gen.awk: Add new function to output the defination of - Mask Macro and Target Macro. - -2023-10-01 Joern Rennecke - Juzhe-Zhong - Juzhe-Zhong - - PR target/111566 - * config/riscv/riscv-protos.h (riscv_vector::legitimize_move): - Change second parameter to rtx *. - * config/riscv/riscv-v.cc (risv_vector::legitimize_move): Likewise. - * config/riscv/vector.md: Changed callers of - riscv_vector::legitimize_move. - (*mov_mem_to_mem): Remove. - -2023-09-30 Jakub Jelinek - - PR target/111649 - * config/riscv/riscv-vsetvl.cc (vector_infos_manager::vector_infos_manager): - Replace safe_grow with safe_grow_cleared. - -2023-09-30 Jakub Jelinek - - * gimple-match-head.cc (gimple_bitwise_inverted_equal_p): Fix a pasto - in function comment. - -2023-09-30 Jakub Jelinek - - PR middle-end/111625 - PR middle-end/111637 - * gimple-lower-bitint.cc (range_to_prec): Use prec or -prec if - r.undefined_p (). - (bitint_large_huge::handle_operand_addr): For uninitialized operands - use limb_prec or -limb_prec precision. - -2023-09-30 Jakub Jelinek - - * vec.h (quick_grow): Uncomment static_assert. - -2023-09-30 Jivan Hakobyan - - * config/riscv/bitmanip.md (*_not_const): Added type attribute - -2023-09-29 Xiao Zeng - - * config/riscv/riscv.cc (riscv_rtx_costs): Better handle costing - SETs when the outer code is INSN. - -2023-09-29 Jivan Hakobyan - - * config/riscv/bitmanip.md (*_not_const): New split - pattern. - -2023-09-29 Richard Sandiford - - * poly-int.h (poly_int_pod): Delete. - (poly_coeff_traits::init_cast): New type. - (poly_int_full, poly_int_hungry, poly_int_fullness): New structures. - (poly_int): Replace constructors that take 1 and 2 coefficients with - a general one that takes an arbitrary number of coefficients. - Delegate initialization to two new private constructors, one of - which uses the coefficients as-is and one of which adds an extra - zero of the appropriate type (and precision, where applicable). - (gt_ggc_mx, gt_pch_nx): Operate on poly_ints rather than poly_int_pods. - * poly-int-types.h (poly_uint16_pod, poly_int64_pod, poly_uint64_pod) - (poly_offset_int_pod, poly_wide_int_pod, poly_widest_int_pod): Delete. - * gengtype.cc (main): Don't register poly_int64_pod. - * calls.cc (initialize_argument_information): Use poly_int rather - than poly_int_pod. - (combine_pending_stack_adjustment_and_call): Likewise. - * config/aarch64/aarch64.cc (pure_scalable_type_info): Likewise. - * data-streamer.h (bp_unpack_poly_value): Likewise. - * dwarf2cfi.cc (struct dw_trace_info): Likewise. - (struct queued_reg_save): Likewise. - * dwarf2out.h (struct dw_cfa_location): Likewise. - * emit-rtl.h (struct incoming_args): Likewise. - (struct rtl_data): Likewise. - * expr.cc (get_bit_range): Likewise. - (get_inner_reference): Likewise. - * expr.h (get_bit_range): Likewise. - * fold-const.cc (split_address_to_core_and_offset): Likewise. - (ptr_difference_const): Likewise. - * fold-const.h (ptr_difference_const): Likewise. - * function.cc (try_fit_stack_local): Likewise. - (instantiate_new_reg): Likewise. - * function.h (struct expr_status): Likewise. - (struct args_size): Likewise. - * genmodes.cc (ZERO_COEFFS): Likewise. - (mode_size_inline): Likewise. - (mode_nunits_inline): Likewise. - (emit_mode_precision): Likewise. - (emit_mode_size): Likewise. - (emit_mode_nunits): Likewise. - * gimple-fold.cc (get_base_constructor): Likewise. - * gimple-ssa-store-merging.cc (struct symbolic_number): Likewise. - * inchash.h (class hash): Likewise. - * ipa-modref-tree.cc (modref_access_node::dump): Likewise. - * ipa-modref.cc (modref_access_analysis::merge_call_side_effects): - Likewise. - * ira-int.h (ira_spilled_reg_stack_slot): Likewise. - * lra-eliminations.cc (self_elim_offsets): Likewise. - * machmode.h (mode_size, mode_precision, mode_nunits): Likewise. - * omp-low.cc (omplow_simd_context): Likewise. - * pretty-print.cc (pp_wide_integer): Likewise. - * pretty-print.h (pp_wide_integer): Likewise. - * reload.cc (struct decomposition): Likewise. - * reload.h (struct reload): Likewise. - * reload1.cc (spill_stack_slot_width): Likewise. - (struct elim_table): Likewise. - (offsets_at): Likewise. - (init_eliminable_invariants): Likewise. - * rtl.h (union rtunion): Likewise. - (poly_int_rtx_p): Likewise. - (strip_offset): Likewise. - (strip_offset_and_add): Likewise. - * rtlanal.cc (strip_offset): Likewise. - * tree-dfa.cc (get_ref_base_and_extent): Likewise. - (get_addr_base_and_unit_offset_1): Likewise. - (get_addr_base_and_unit_offset): Likewise. - * tree-dfa.h (get_ref_base_and_extent): Likewise. - (get_addr_base_and_unit_offset_1): Likewise. - (get_addr_base_and_unit_offset): Likewise. - * tree-ssa-loop-ivopts.cc (struct iv_use): Likewise. - (strip_offset): Likewise. - * tree-ssa-sccvn.h (struct vn_reference_op_struct): Likewise. - * tree.cc (ptrdiff_tree_p): Likewise. - * tree.h (poly_int_tree_p): Likewise. - (ptrdiff_tree_p): Likewise. - (get_inner_reference): Likewise. - -2023-09-29 John David Anglin - - * config/pa/pa.md (memory_barrier): Revise comment. - (memory_barrier_64, memory_barrier_32): Use ldcw,co on PA 2.0. - * config/pa/pa.opt (coherent-ldcw): Change default to disabled. - -2023-09-29 Jakub Jelinek - - * vec.h (quick_insert, ordered_remove, unordered_remove, - block_remove, qsort, sort, stablesort, quick_grow): Guard - std::is_trivially_{copyable,default_constructible} and - vec_detail::is_trivially_copyable_or_pair static assertions - with GCC_VERSION >= 5000. - (vec_detail::is_trivially_copyable_or_pair): Guard definition - with GCC_VERSION >= 5000. - -2023-09-29 Manos Anagnostakis - - * config/aarch64/aarch64-opts.h (enum aarch64_ldp_policy): Removed. - (enum aarch64_ldp_stp_policy): Merged enums aarch64_ldp_policy - and aarch64_stp_policy to aarch64_ldp_stp_policy. - (enum aarch64_stp_policy): Removed. - * config/aarch64/aarch64-protos.h (struct tune_params): Removed - aarch64_ldp_policy_model and aarch64_stp_policy_model enum types - and left only the definitions to the aarch64-opts one. - * config/aarch64/aarch64.cc (aarch64_parse_ldp_policy): Removed. - (aarch64_parse_stp_policy): Removed. - (aarch64_override_options_internal): Removed calls to parsing - functions and added obvious direct assignments. - (aarch64_mem_ok_with_ldpstp_policy_model): Improved - code quality based on the new changes. - * config/aarch64/aarch64.opt: Use single enum type - aarch64_ldp_stp_policy for both ldp and stp options. - -2023-09-29 Richard Biener - - PR tree-optimization/111583 - * tree-loop-distribution.cc (find_single_drs): Ensure the - load/store are always executed. - -2023-09-29 Jakub Jelinek - - * tree-vect-patterns.cc (vect_recog_over_widening_pattern): Use - quick_grow_cleared method on unprom rather than quick_grow. - -2023-09-29 Sergei Trofimovich - - PR middle-end/111505 - * ggc-common.cc (ggc_zero_out_root_pointers, ggc_common_finalize): - Add new helper. Use helper instead of memset() to wipe out pointers. - -2023-09-29 Richard Sandiford - - * builtins.h (c_readstr): Take a fixed_size_mode rather than a - scalar_int_mode. - * builtins.cc (c_readstr): Likewise. Build a local array of - bytes and use native_decode_rtx to get the rtx image. - (builtin_memcpy_read_str): Simplify accordingly. - (builtin_strncpy_read_str): Likewise. - (builtin_memset_read_str): Likewise. - (builtin_memset_gen_str): Likewise. - * expr.cc (string_cst_read_str): Likewise. - -2023-09-29 Jakub Jelinek - - * tree-ssa-loop-im.cc (tree_ssa_lim_initialize): Use quick_grow_cleared - instead of quick_grow on vec members. - * cfganal.cc (control_dependences::control_dependences): Likewise. - * rtl-ssa/blocks.cc (function_info::build_info::build_info): Likewise. - (function_info::place_phis): Use safe_grow_cleared instead of safe_grow - on auto_vec vars. - * tree-ssa-live.cc (compute_live_vars): Use quick_grow_cleared instead - of quick_grow on vec var. - -2023-09-28 Vladimir N. Makarov - - Revert: - 2023-09-14 Vladimir N. Makarov - - * ira-costs.cc (find_costs_and_classes): Decrease memory cost - by equiv savings. - -2023-09-28 Wilco Dijkstra - - PR target/111121 - * config/aarch64/aarch64.md (aarch64_movmemdi): Add new expander. - (movmemdi): Call aarch64_expand_cpymem_mops for correct expansion. - * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Add support - for memmove. - * config/aarch64/aarch64-protos.h (aarch64_expand_cpymem_mops): Add new - function. - -2023-09-28 Pan Li - - PR target/111506 - * config/riscv/autovec.md (2): - New pattern. - * config/riscv/vector-iterators.md: New iterator. - -2023-09-28 Vladimir N. Makarov - - * rtl.h (lra_in_progress): Change type to bool. - (ira_in_progress): Add new extern. - * ira.cc (ira_in_progress): New global. - (pass_ira::execute): Set up ira_in_progress. - * lra.cc: (lra_in_progress): Change type to bool and initialize. - (lra): Use bool values for lra_in_progress. - * lra-eliminations.cc (init_elim_table): Ditto. - -2023-09-28 Richard Biener - - PR target/111600 - * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): - Use a heap allocated worklist for CFG traversal instead of - recursion. - -2023-09-28 Jakub Jelinek - Jonathan Wakely - - * vec.h: Mention in file comment limited support for non-POD types - in some operations. - (vec_destruct): New function template. - (release): Use it for non-trivially destructible T. - (truncate): Likewise. - (quick_push): Perform a placement new into slot - instead of assignment. - (pop): For non-trivially destructible T return void - rather than T & and destruct the popped element. - (quick_insert, ordered_remove): Note that they aren't suitable - for non-trivially copyable types. Add static_asserts for that. - (block_remove): Assert T is trivially copyable. - (vec_detail::is_trivially_copyable_or_pair): New trait. - (qsort, sort, stablesort): Assert T is trivially copyable or - std::pair with both trivally copyable types. - (quick_grow): Add assert T is trivially default constructible, - for now commented out. - (quick_grow_cleared): Don't call quick_grow, instead inline it - by hand except for the new static_assert. - (gt_ggc_mx): Assert T is trivially destructable. - (auto_vec::operator=): Formatting fixes. - (auto_vec::auto_vec): Likewise. - (vec_safe_grow_cleared): Don't call vec_safe_grow, instead inline - it manually and call quick_grow_cleared method rather than quick_grow. - (safe_grow_cleared): Likewise. - * edit-context.cc (class line_event): Move definition earlier. - * tree-ssa-loop-im.cc (seq_entry::seq_entry): Make default ctor - defaulted. - * ipa-fnsummary.cc (evaluate_properties_for_edge): Use - safe_grow_cleared instead of safe_grow followed by placement new - constructing the elements. - -2023-09-28 Richard Sandiford - - * dwarf2out.cc (mem_loc_descriptor): Remove unused variables. - * tree-affine.cc (expr_to_aff_combination): Likewise. - -2023-09-28 Richard Biener - - PR tree-optimization/111614 - * tree-ssa-reassoc.cc (undistribute_bitref_for_vector): Properly - convert the first vector when required. - -2023-09-28 xuli - - PR target/111533 - * config/riscv/riscv-v.cc (expand_const_vector): Fix bug. - * config/riscv/riscv-vsetvl.cc (anticipatable_occurrence_p): Fix bug. - -2023-09-27 Sandra Loosemore - - * gimple.cc (gimple_copy): Add case GIMPLE_OMP_STRUCTURED_BLOCK. - -2023-09-27 Iain Sandoe - - PR target/111610 - * configure: Regenerate. - * configure.ac: Rename the missing dsymutil case to "DET_UNKNOWN". - -2023-09-27 Manos Anagnostakis - Philipp Tomsich - Manolis Tsamis - - * config/aarch64/aarch64-opts.h (enum aarch64_ldp_policy): New - enum type. - (enum aarch64_stp_policy): New enum type. - * config/aarch64/aarch64-protos.h (struct tune_params): Add - appropriate enums for the policies. - (aarch64_mem_ok_with_ldpstp_policy_model): New declaration. - * config/aarch64/aarch64-tuning-flags.def - (AARCH64_EXTRA_TUNING_OPTION): Remove superseded tuning - options. - * config/aarch64/aarch64.cc (aarch64_parse_ldp_policy): New - function to parse ldp-policy parameter. - (aarch64_parse_stp_policy): New function to parse stp-policy parameter. - (aarch64_override_options_internal): Call parsing functions. - (aarch64_mem_ok_with_ldpstp_policy_model): New function. - (aarch64_operands_ok_for_ldpstp): Add call to - aarch64_mem_ok_with_ldpstp_policy_model for parameter-value - check and alignment check and remove superseded ones. - (aarch64_operands_adjust_ok_for_ldpstp): Add call to - aarch64_mem_ok_with_ldpstp_policy_model for parameter-value - check and alignment check and remove superseded ones. - * config/aarch64/aarch64.opt (aarch64-ldp-policy): New param. - (aarch64-stp-policy): New param. - * doc/invoke.texi: Document the parameters accordingly. - -2023-09-27 Andre Vieira - - * tree-data-ref.cc (include calls.h): Add new include. - (get_references_in_stmt): Correctly handle IFN_MASK_CALL. - -2023-09-27 Richard Biener - - * match.pd (abs (copysign (x, y)) -> abs (x)): New pattern. - -2023-09-27 Jakub Jelinek - - PR c++/105606 - * system.h (BROKEN_VALUE_INITIALIZATION): Don't define. - * vec.h (vec_default_construct): Remove BROKEN_VALUE_INITIALIZATION - workaround. - * function.cc (assign_parm_find_data_types): Likewise. - -2023-09-27 Pan Li - - * config/riscv/autovec.md (roundeven2): New pattern. - * config/riscv/riscv-protos.h (enum insn_flags): New enum type. - (enum insn_type): Ditto. - (expand_vec_roundeven): New func decl. - * config/riscv/riscv-v.cc (expand_vec_roundeven): New func impl. - -2023-09-27 Juzhe-Zhong - - PR target/111590 - * dse.cc (find_shift_sequence): Check the mode with access_size exist on the target. - -2023-09-27 Juzhe-Zhong - - * tree-if-conv.cc (is_cond_scalar_reduction): Fix comments. - -2023-09-27 Pan Li - - * config/riscv/autovec.md (btrunc2): New pattern. - * config/riscv/riscv-protos.h (expand_vec_trunc): New func decl. - * config/riscv/riscv-v.cc (emit_vec_cvt_x_f_rtz): New func impl. - (expand_vec_trunc): Ditto. - -2023-09-26 Hans-Peter Nilsson - - PR target/107567 - PR target/109166 - * builtins.cc (expand_builtin) : - Handle failure from expand_builtin_atomic_test_and_set. - * optabs.cc (expand_atomic_test_and_set): When all attempts fail to - generate atomic code through target support, return NULL - instead of emitting non-atomic code. Also, for code handling - targetm.atomic_test_and_set_trueval != 1, gcc_assert result - from calling emit_store_flag_force instead of returning NULL. - -2023-09-26 Andrew MacLeod - - PR tree-optimization/111599 - * value-relation.cc (relation_oracle::valid_equivs): Ensure - ssa_name is valid. - -2023-09-26 Andrew Pinski - - PR tree-optimization/106164 - PR tree-optimization/111456 - * match.pd (`(A ==/!= B) & (A CMP C)`): - Support an optional cast on the second A. - (`(A ==/!= B) | (A CMP C)`): Likewise. - -2023-09-26 Andrew Pinski - - PR tree-optimization/111469 - * tree-ssa-phiopt.cc (minmax_replacement): Fix - the assumption for the `non-diamond` handling cases - of diamond code. - -2023-09-26 Juzhe-Zhong - - * match.pd: Optimize COND_ADD reduction pattern. - -2023-09-26 Juzhe-Zhong - - PR tree-optimization/111594 - PR tree-optimization/110660 - * match.pd: Optimize COND_LEN_ADD reduction. - -2023-09-26 Pan Li - - * config/riscv/autovec.md (round2): New pattern. - * config/riscv/riscv-protos.h (enum insn_flags): New enum type. - (enum insn_type): Ditto. - (expand_vec_round): New function decl. - * config/riscv/riscv-v.cc (expand_vec_round): New function impl. - -2023-09-26 Iain Sandoe - - * config/darwin.h (DARWIN_CC1_SPEC): Remove -dynamiclib. - -2023-09-26 Tobias Burnus - - PR middle-end/111547 - * doc/invoke.texi (-fopenmp): Mention C++11 [[omp::decl(...)]] syntax. - (-fopenmp-simd): Likewise. Clarify 'loop' directive semantic. - -2023-09-26 Pan Li - - * config/riscv/autovec.md (rint2): New pattern. - * config/riscv/riscv-protos.h (expand_vec_rint): New function decl. - * config/riscv/riscv-v.cc (expand_vec_rint): New function impl. - -2023-09-26 Pan Li - - * config/riscv/autovec.md (nearbyint2): New pattern. - * config/riscv/riscv-protos.h (enum insn_type): New enum. - (expand_vec_nearbyint): New function decl. - * config/riscv/riscv-v.cc (expand_vec_nearbyint): New func impl. - -2023-09-26 Pan Li - - * config/riscv/riscv-v.cc (gen_ceil_const_fp): Remove. - (get_fp_rounding_coefficient): Rename. - (gen_floor_const_fp): Remove. - (expand_vec_ceil): Take renamed func. - (expand_vec_floor): Ditto. - -2023-09-25 Vladimir N. Makarov - - PR middle-end/111497 - * lra-constraints.cc (lra_constraints): Copy substituted - equivalence. - * lra.cc (lra): Change comment for calling unshare_all_rtl_again. - -2023-09-25 Eric Botcazou - - * gimple-range-gori.cc (gori_compute::logical_combine): Add missing - return statement in the varying case. - -2023-09-25 Xi Ruoyao - - * doc/invoke.texi: Update -m[no-]explicit-relocs for r14-4160. - -2023-09-25 Andrew Pinski - - PR tree-optimization/110386 - * gimple-ssa-backprop.cc (strip_sign_op_1): Remove ABSU_EXPR. - -2023-09-25 Juzhe-Zhong - - PR target/111548 - * config/riscv/riscv-vsetvl.cc (earliest_pred_can_be_fused_p): Bugfix - -2023-09-25 Kewen Lin - - PR target/111366 - * config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Skip - empty inline asm. - -2023-09-25 Kewen Lin - - PR target/111380 - * config/rs6000/rs6000.cc (rs6000_can_inline_p): Adopt - target_option_default_node when the callee has no option - attributes, also simplify the existing code accordingly. - -2023-09-25 Guo Jie - - * config/loongarch/lasx.md (lasx_vecinit_merge_): New - pattern for vector construction. - (vec_set_internal): Ditto. - (lasx_xvinsgr2vr__internal): Ditto. - (lasx_xvilvl__internal): Ditto. - * config/loongarch/loongarch.cc (loongarch_expand_vector_init): - Optimized the implementation of vector construction. - (loongarch_expand_vector_init_same): New function. - * config/loongarch/lsx.md (lsx_vilvl__internal): New - pattern for vector construction. - (lsx_vreplvei_mirror_): New pattern for vector - construction. - (vec_concatv2df): Ditto. - (vec_concatv4sf): Ditto. - -2023-09-24 Pan Li - - PR target/111546 - * config/riscv/riscv-v.cc - (expand_vector_init_merge_repeating_sequence): Bugfix - -2023-09-24 Andrew Pinski - - PR tree-optimization/111543 - * match.pd (`(X & ~Y) & Y`, `(X | ~Y) | Y`): New patterns. - -2023-09-24 Juzhe-Zhong - - * config/riscv/autovec-opt.md: Extend VLS modes - * config/riscv/vector-iterators.md: Ditto. - -2023-09-23 Juzhe-Zhong - - * config/riscv/autovec-opt.md: Add VLS modes for conditional ABS/SQRT. - -2023-09-23 Pan Li - - * config/riscv/autovec.md (floor2): New pattern. - * config/riscv/riscv-protos.h (enum insn_flags): New enum type. - (enum insn_type): Ditto. - (expand_vec_floor): New function decl. - * config/riscv/riscv-v.cc (gen_floor_const_fp): New function impl. - (expand_vec_floor): Ditto. - -2023-09-22 Pan Li - - * config/riscv/riscv-v.cc (expand_vec_float_cmp_mask): Refactor. - (emit_vec_float_cmp_mask): Rename. - (expand_vec_copysign): Ditto. - (emit_vec_copysign): Ditto. - (emit_vec_abs): New function impl. - (emit_vec_cvt_x_f): Ditto. - (emit_vec_cvt_f_x): Ditto. - (expand_vec_ceil): Ditto. - -2023-09-22 Juzhe-Zhong - - * config/riscv/vector-iterators.md: Extend VLS modes. - -2023-09-22 Juzhe-Zhong - - * config/riscv/riscv-v.cc (gen_const_vector_dup): Use global expand function. - * config/riscv/vector.md (@vec_duplicate): Remove @. - (vec_duplicate): Ditto. - -2023-09-22 Juzhe-Zhong - - * config/riscv/autovec.md: Add VLS conditional patterns. - * config/riscv/riscv-protos.h (expand_cond_unop): Ditto. - (expand_cond_binop): Ditto. - (expand_cond_ternop): Ditto. - * config/riscv/riscv-v.cc (expand_cond_unop): Ditto. - (expand_cond_binop): Ditto. - (expand_cond_ternop): Ditto. - -2023-09-22 xuli - - PR target/111451 - * config/riscv/riscv-v.cc (emit_vlmax_gather_insn): Optimization of vrgather.vv - into vrgatherei16.vv. - -2023-09-22 Lehua Ding - - * config/riscv/autovec-opt.md (*cond_widen_reduc_plus_scal_): - New combine patterns. - * config/riscv/riscv-protos.h (enum insn_type): New insn_type. - -2023-09-22 Lehua Ding - - * config/riscv/riscv-protos.h (enum avl_type): New VLS avl_type. - * config/riscv/riscv-v.cc (autovec_use_vlmax_p): Move comments. - -2023-09-22 Pan Li - - * config/riscv/autovec.md (ceil2): New pattern. - * config/riscv/riscv-protos.h (enum insn_flags): New enum type. - (enum insn_type): Ditto. - (expand_vec_ceil): New function decl. - * config/riscv/riscv-v.cc (gen_ceil_const_fp): New function impl. - (expand_vec_float_cmp_mask): Ditto. - (expand_vec_copysign): Ditto. - (expand_vec_ceil): Ditto. - * config/riscv/vector.md: Add VLS mode support. - -2023-09-21 Juzhe-Zhong - - * config/riscv/autovec.md: Extend VLS modes. - -2023-09-21 Juzhe-Zhong - - * config/riscv/vector-iterators.md: Extend VLS modes. - -2023-09-21 Lehua Ding - Robin Dapp - - * config/riscv/riscv-v.cc (emit_vlmax_insn): Adjust comments. - (emit_nonvlmax_insn): Adjust comments. - (emit_vlmax_insn_lra): Adjust comments. - -2023-09-21 Iain Buclaw - - * config.gcc (*linux*): Set rust target_objs, and - target_has_targetrustm, - * config/t-linux (linux-rust.o): New rule. - * config/linux-rust.cc: New file. - -2023-09-21 Iain Buclaw - - * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set - rust_target_objs and target_has_targetrustm. - * config/t-winnt (winnt-rust.o): New rule. - * config/winnt-rust.cc: New file. - -2023-09-21 Iain Buclaw - - * config.gcc (*-*-fuchsia): Set tmake_rule, rust_target_objs, - and target_has_targetrustm. - * config/fuchsia-rust.cc: New file. - * config/t-fuchsia: New file. - -2023-09-21 Iain Buclaw - - * config.gcc (*-*-vxworks*): Set rust_target_objs and - target_has_targetrustm. - * config/t-vxworks (vxworks-rust.o): New rule. - * config/vxworks-rust.cc: New file. - -2023-09-21 Iain Buclaw - - * config.gcc (*-*-dragonfly*): Set rust_target_objs and - target_has_targetrustm. - * config/t-dragonfly (dragonfly-rust.o): New rule. - * config/dragonfly-rust.cc: New file. - -2023-09-21 Iain Buclaw - - * config.gcc (*-*-solaris2*): Set rust_target_objs and - target_has_targetrustm. - * config/t-sol2 (sol2-rust.o): New rule. - * config/sol2-rust.cc: New file. - -2023-09-21 Iain Buclaw - - * config.gcc (*-*-openbsd*): Set rust_target_objs and - target_has_targetrustm. - * config/t-openbsd (openbsd-rust.o): New rule. - * config/openbsd-rust.cc: New file. - -2023-09-21 Iain Buclaw - - * config.gcc (*-*-netbsd*): Set rust_target_objs and - target_has_targetrustm. - * config/t-netbsd (netbsd-rust.o): New rule. - * config/netbsd-rust.cc: New file. - -2023-09-21 Iain Buclaw - - * config.gcc (*-*-freebsd*): Set rust_target_objs and - target_has_targetrustm. - * config/t-freebsd (freebsd-rust.o): New rule. - * config/freebsd-rust.cc: New file. - -2023-09-21 Iain Buclaw - - * config.gcc (*-*-darwin*): Set rust_target_objs and - target_has_targetrustm. - * config/t-darwin (darwin-rust.o): New rule. - * config/darwin-rust.cc: New file. - -2023-09-21 Iain Buclaw - - * config/i386/t-i386 (i386-rust.o): New rule. - * config/i386/i386-rust.cc: New file. - * config/i386/i386-rust.h: New file. - -2023-09-21 Iain Buclaw - - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Document TARGET_RUST_OS_INFO. - -2023-09-21 Iain Buclaw - - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Add @node for Rust language and ABI, and document - TARGET_RUST_CPU_INFO. - -2023-09-21 Iain Buclaw - - * Makefile.in (tm_rust_file_list, tm_rust_include_list, TM_RUST_H, - RUST_TARGET_DEF, RUST_TARGET_H, RUST_TARGET_OBJS): New variables. - (tm_rust.h, cs-tm_rust.h, default-rust.o, - rust/rust-target-hooks-def.h, s-rust-target-hooks-def-h): New rules. - (s-tm-texi): Also check timestamp on rust-target.def. - (generated_files): Add TM_RUST_H and rust-target-hooks-def.h. - (build/genhooks.o): Also depend on RUST_TARGET_DEF. - * config.gcc (tm_rust_file, rust_target_objs, target_has_targetrustm): - New variables. - * configure: Regenerate. - * configure.ac (tm_rust_file_list, tm_rust_include_list, - rust_target_objs): Add substitutes. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (targetrustm): Document. - (target_has_targetrustm): Document. - * genhooks.cc: Include rust/rust-target.def. - * config/default-rust.cc: New file. - -2023-09-21 Juzhe-Zhong - - PR target/110751 - * config/riscv/autovec.md: Enable scratch rtx in ELSE operand. - * config/riscv/predicates.md (autovec_else_operand): New predicate. - * config/riscv/riscv-v.cc (get_else_operand): New function. - (expand_cond_len_unop): Adapt ELSE value. - (expand_cond_len_binop): Ditto. - (expand_cond_len_ternop): Ditto. - * config/riscv/riscv.cc (riscv_preferred_else_value): New function. - (TARGET_PREFERRED_ELSE_VALUE): New targethook. - -2023-09-21 Juzhe-Zhong - - PR target/111486 - * config/riscv/riscv.cc (riscv_legitimize_move): Fix bug. - -2023-09-21 Jiufu Guo - - PR tree-optimization/111355 - * match.pd ((X + C) / N): Update pattern. - -2023-09-21 Jiufu Guo - - * match.pd ((t * 2) / 2): Update to use overflow_free_p. - -2023-09-21 xuli - - PR target/111450 - * config/riscv/constraints.md (c01): const_int 1. - (c02): const_int 2. - (c04): const_int 4. - (c08): const_int 8. - * config/riscv/predicates.md (vector_eew8_stride_operand): New predicate for stride operand. - (vector_eew16_stride_operand): Ditto. - (vector_eew32_stride_operand): Ditto. - (vector_eew64_stride_operand): Ditto. - * config/riscv/vector-iterators.md: New iterator for stride operand. - * config/riscv/vector.md: Add stride = element width constraint. - -2023-09-21 Lehua Ding - - * config/riscv/predicates.md (const_1_or_2_operand): Rename. - (const_1_or_4_operand): Ditto. - (vector_gs_scale_operand_16): Ditto. - (vector_gs_scale_operand_32): Ditto. - * config/riscv/vector-iterators.md: Adjust. - -2023-09-21 Juzhe-Zhong - - * config/riscv/autovec.md: Extend VLS modes. - * config/riscv/vector-iterators.md: Ditto. - * config/riscv/vector.md: Ditto. - -2023-09-20 Andrew MacLeod - - * gimple-range-cache.cc (ssa_cache::merge_range): Change meaning - of the return value. - (ssa_cache::dump): Don't print GLOBAL RANGE header. - (ssa_lazy_cache::merge_range): Adjust return value meaning. - (ranger_cache::dump): Print GLOBAL RANGE header. - -2023-09-20 Aldy Hernandez - - * range-op-float.cc (foperator_unordered_ge::fold_range): Remove - special casing. - (foperator_unordered_gt::fold_range): Same. - (foperator_unordered_lt::fold_range): Same. - (foperator_unordered_le::fold_range): Same. - -2023-09-20 Jakub Jelinek - - * builtins.h (type_to_class): Declare. - * builtins.cc (type_to_class): No longer static. Return - int rather than enum. - * doc/extend.texi (__builtin_classify_type): Document. - -2023-09-20 Juzhe-Zhong - - PR target/110751 - * internal-fn.cc (expand_fn_using_insn): Support undefined rtx value. - * optabs.cc (maybe_legitimize_operand): Ditto. - (can_reuse_operands_p): Ditto. - * optabs.h (enum expand_operand_type): Ditto. - (create_undefined_input_operand): Ditto. - -2023-09-20 Tobias Burnus - - * gimplify.cc (gimplify_bind_expr): Call GOMP_alloc/free for - 'omp allocate' variables; move stack cleanup after other - cleanup. - (omp_notice_variable): Process original decl when decl - of the value-expression for a 'omp allocate' variable is passed. - * omp-low.cc (scan_omp_1_op): Handle 'omp allocate' variables - -2023-09-20 Yanzhang Wang - - * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): - support simplifying vector int not only scalar int. - -2023-09-20 Juzhe-Zhong - - * config/riscv/vector-iterators.md: Extend VLS floating-point. - -2023-09-20 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (vector_insn_info::operator==): Fix bug. - -2023-09-20 Iain Sandoe - - * config/darwin.h: - (SUBTARGET_DRIVER_SELF_SPECS): Move handling of 'shared' into the same - specs as 'dynamiclib'. (STARTFILE_SPEC): Handle 'shared'. - -2023-09-20 Richard Biener - - PR tree-optimization/111489 - * params.opt (-param uninit-max-chain-len=): Raise default to 8. - -2023-09-20 Richard Biener - - PR tree-optimization/111489 - * doc/invoke.texi (--param uninit-max-chain-len): Document. - (--param uninit-max-num-chains): Likewise. - * params.opt (-param=uninit-max-chain-len=): New. - (-param=uninit-max-num-chains=): Likewise. - * gimple-predicate-analysis.cc (MAX_NUM_CHAINS): Define to - param_uninit_max_num_chains. - (MAX_CHAIN_LEN): Define to param_uninit_max_chain_len. - (uninit_analysis::init_use_preds): Avoid VLA. - (uninit_analysis::init_from_phi_def): Likewise. - (compute_control_dep_chain): Avoid using MAX_CHAIN_LEN in - template parameter. - -2023-09-20 Jakub Jelinek - - * match.pd ((x << c) >> c): Use MAX_FIXED_MODE_SIZE instead of - GET_MODE_PRECISION of TImode or DImode depending on whether - TImode is supported scalar mode. - * gimple-lower-bitint.cc (bitint_precision_kind): Likewise. - * expr.cc (expand_expr_real_1): Likewise. - * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise. - * ubsan.cc (ubsan_encode_value, ubsan_type_descriptor): Likewise. - -2023-09-20 Lehua Ding - - * config/riscv/autovec-opt.md (*not): Move and rename. - (*n): Ditto. - (*vtrunc): Ditto. - (*trunc): Ditto. - (*narrow_): Ditto. - (*narrow__scalar): Ditto. - (*single_widen_mult): Ditto. - (*single_widen_mul): Ditto. - (*single_widen_mult): Ditto. - (*single_widen_mul): Ditto. - (*dual_widen_fma): Ditto. - (*dual_widen_fma): Ditto. - (*single_widen_fma): Ditto. - (*single_widen_fma): Ditto. - (*dual_fma): Ditto. - (*single_fma): Ditto. - (*dual_fnma): Ditto. - (*dual_widen_fnma): Ditto. - (*single_fnma): Ditto. - (*single_widen_fnma): Ditto. - (*dual_fms): Ditto. - (*dual_widen_fms): Ditto. - (*single_fms): Ditto. - (*single_widen_fms): Ditto. - (*dual_fnms): Ditto. - (*dual_widen_fnms): Ditto. - (*single_fnms): Ditto. - (*single_widen_fnms): Ditto. - -2023-09-20 Jakub Jelinek - - PR c++/111392 - * attribs.cc (decl_attributes): Don't warn on omp::directive attribute - on vars or function decls if -fopenmp or -fopenmp-simd. - -2023-09-20 Lehua Ding - - PR target/111488 - * config/riscv/autovec-opt.md: Add missed operand. - -2023-09-20 Omar Sandoval - - PR debug/111409 - * dwarf2out.cc (output_macinfo): Don't call optimize_macinfo_range if - dwarf_split_debug_info. - -2023-09-20 Juzhe-Zhong - - * config/riscv/riscv-v.cc (can_find_related_mode_p): New function. - (vectorize_related_mode): Add VLS related modes. - * config/riscv/vector-iterators.md: Extend VLS modes. - -2023-09-20 Surya Kumari Jangala - - PR rtl-optimization/110071 - * ira-color.cc (improve_allocation): Consider cost of callee - save registers. - -2023-09-20 mengqinggang - Xi Ruoyao - - * configure: Regenerate. - * configure.ac: Checking assembler for -mno-relax support. - Disable relaxation when probing leb128 support. - -2023-09-20 Lulu Cheng - - * config.in: Regenerate. - * config/loongarch/genopts/loongarch.opt.in: Add compilation option - mrelax. And set the initial value of explicit-relocs according to the - detection status. - * config/loongarch/gnu-user.h: When compiling with -mno-relax, pass the - --no-relax option to the linker. - * config/loongarch/loongarch-driver.h (ASM_SPEC): When compiling with - -mno-relax, pass the -mno-relax option to the assembler. - * config/loongarch/loongarch-opts.h (HAVE_AS_MRELAX_OPTION): Define macro. - * config/loongarch/loongarch.opt: Regenerate. - * configure: Regenerate. - * configure.ac: Add detection of support for binutils relax function. - -2023-09-19 Ben Boeckel - - * doc/invoke.texi: Document -fdeps-format=, -fdeps-file=, and - -fdeps-target= flags. - * gcc.cc: add defaults for -fdeps-target= and -fdeps-file= when - only -fdeps-format= is specified. - * json.h: Add a TODO item to refactor out to share with - `libcpp/mkdeps.cc`. - -2023-09-19 Ben Boeckel - Jason Merrill - - * gcc.cc (join_spec_func): Add a spec function to join all - arguments. - -2023-09-19 Patrick O'Neill - - * config/riscv/riscv.cc (riscv_legitimize_const_move): Eliminate - src_op_0 var to avoid rtl check error. - -2023-09-19 Aldy Hernandez - - * range-op-float.cc (frelop_early_resolve): Clean-up and remove - special casing. - (operator_not_equal::fold_range): Handle VREL_EQ. - (operator_lt::fold_range): Remove special casing for VREL_EQ. - (operator_gt::fold_range): Same. - (foperator_unordered_equal::fold_range): Same. - -2023-09-19 Javier Martinez - - * doc/extend.texi: Document attributes hot, cold on C++ types. - -2023-09-19 Pat Haugen - - * config/rs6000/rs6000.cc (rs6000_rtx_costs): Check whether the - modulo instruction is disabled. - * config/rs6000/rs6000.h (RS6000_DISABLE_SCALAR_MODULO): New. - * config/rs6000/rs6000.md (mod3, *mod3): Check it. - (define_expand umod3): New. - (define_insn umod3): Rename to *umod3 and check if the modulo - instruction is disabled. - (umodti3, modti3): Check if the modulo instruction is disabled. - -2023-09-19 Gaius Mulley - - * doc/gm2.texi (fdebug-builtins): Correct description. - -2023-09-19 Jeff Law - - * config/iq2000/predicates.md (uns_arith_constant): New predicate. - * config/iq2000/iq2000.md (rotrsi3): Use it. - -2023-09-19 Aldy Hernandez - - * range-op-float.cc (operator_lt::op1_range): Remove known_isnan check. - (operator_lt::op2_range): Same. - (operator_le::op1_range): Same. - (operator_le::op2_range): Same. - (operator_gt::op1_range): Same. - (operator_gt::op2_range): Same. - (operator_ge::op1_range): Same. - (operator_ge::op2_range): Same. - (foperator_unordered_lt::op1_range): Same. - (foperator_unordered_lt::op2_range): Same. - (foperator_unordered_le::op1_range): Same. - (foperator_unordered_le::op2_range): Same. - (foperator_unordered_gt::op1_range): Same. - (foperator_unordered_gt::op2_range): Same. - (foperator_unordered_ge::op1_range): Same. - (foperator_unordered_ge::op2_range): Same. - -2023-09-19 Aldy Hernandez - - * value-range.h (frange::update_nan): New. - -2023-09-19 Aldy Hernandez - - * range-op-float.cc (operator_not_equal::op2_range): New. - * range-op-mixed.h: Add operator_not_equal::op2_range. - -2023-09-19 Andrew MacLeod - - PR tree-optimization/110080 - PR tree-optimization/110249 - * tree-vrp.cc (remove_unreachable::final_p): New. - (remove_unreachable::maybe_register): Rename from - maybe_register_block and call early or final routine. - (fully_replaceable): New. - (remove_unreachable::handle_early): New. - (remove_unreachable::remove_and_update_globals): Remove - non-final processing. - (rvrp_folder::rvrp_folder): Add final flag to constructor. - (rvrp_folder::post_fold_bb): Remove unreachable registration. - (rvrp_folder::pre_fold_stmt): Move unreachable processing to here. - (execute_ranger_vrp): Adjust some call parameters. - -2023-09-19 Richard Biener - - PR c/111468 - * tree-pretty-print.h (op_symbol_code): Add defaulted flags - argument. - * tree-pretty-print.cc (op_symbol): Likewise. - (op_symbol_code): Print TDF_GIMPLE variant if requested. - * gimple-pretty-print.cc (dump_binary_rhs): Pass flags to - op_symbol_code. - (dump_gimple_cond): Likewise. - -2023-09-19 Thomas Schwinge - Pan Li - - * tree-streamer.h (bp_unpack_machine_mode): If - 'ib->file_data->mode_table' not available, apply 1-to-1 mapping. - -2023-09-19 Juzhe-Zhong - - * config/riscv/riscv.cc (riscv_can_change_mode_class): Block unordered VLA and VLS modes. - -2023-09-19 Juzhe-Zhong - - * config/riscv/autovec.md: Extend VLS modes. - * config/riscv/vector.md: Ditto. - -2023-09-19 Richard Biener - - PR tree-optimization/111465 - * tree-ssa-threadupdate.cc (fwd_jt_path_registry::thread_block_1): - Cancel the path when a EDGE_NO_COPY_SRC_BLOCK became non-empty. - -2023-09-19 Juzhe-Zhong - - * config/riscv/autovec.md: Extend VLS floating-point modes. - * config/riscv/vector.md: Ditto. - -2023-09-19 Jakub Jelinek - - * match.pd ((x << c) >> c): Don't call build_nonstandard_integer_type - nor check type_has_mode_precision_p for width larger than [TD]Imode - precision. - (a ? CST1 : CST2): Don't use build_nonstandard_type, just convert - to type. Use boolean_true_node instead of - constant_boolean_node (true, boolean_type_node). Formatting fixes. - -2023-09-19 Juzhe-Zhong - - * config/riscv/autovec.md: Add VLS modes. - * config/riscv/vector.md: Ditto. - -2023-09-19 Jakub Jelinek - - * tree.cc (build_bitint_type): Assert precision is not 0, or - for signed types 1. - (signed_or_unsigned_type_for): Return INTEGER_TYPE for signed variant - of unsigned _BitInt(1). - -2023-09-19 Lehua Ding - - * config/riscv/autovec-opt.md (*_fma): - Removed old combine patterns. - (*single_mult_plus): Ditto. - (*double_mult_plus): Ditto. - (*sign_zero_extend_fma): Ditto. - (*zero_sign_extend_fma): Ditto. - (*double_widen_fma): Ditto. - (*single_widen_fma): Ditto. - (*double_widen_fnma): Ditto. - (*single_widen_fnma): Ditto. - (*double_widen_fms): Ditto. - (*single_widen_fms): Ditto. - (*double_widen_fnms): Ditto. - (*single_widen_fnms): Ditto. - (*reduc_plus_scal_): Adjust name. - (*widen_reduc_plus_scal_): Adjust name. - (*dual_widen_fma): New combine pattern. - (*dual_widen_fmasu): Ditto. - (*dual_widen_fmaus): Ditto. - (*dual_fma): Ditto. - (*single_fma): Ditto. - (*dual_fnma): Ditto. - (*single_fnma): Ditto. - (*dual_fms): Ditto. - (*single_fms): Ditto. - (*dual_fnms): Ditto. - (*single_fnms): Ditto. - * config/riscv/autovec.md (fma4): - Reafctor fma pattern. - (*fma): Removed. - (fnma4): Reafctor. - (*fnma): Removed. - (*fma): Removed. - (*fnma): Removed. - (fms4): Reafctor. - (*fms): Removed. - (fnms4): Reafctor. - (*fnms): Removed. - * config/riscv/riscv-protos.h (prepare_ternary_operands): - Adjust prototype. - * config/riscv/riscv-v.cc (prepare_ternary_operands): Refactor. - * config/riscv/vector.md (*pred_mul_plus_undef): New pattern. - (*pred_mul_plus): Removed. - (*pred_mul_plus_scalar): Removed. - (*pred_mul_plus_extended_scalar): Removed. - (*pred_minus_mul_undef): New pattern. - (*pred_minus_mul): Removed. - (*pred_minus_mul_scalar): Removed. - (*pred_minus_mul_extended_scalar): Removed. - (*pred_mul__undef): New pattern. - (*pred_mul_): Removed. - (*pred_mul__scalar): Removed. - (*pred_mul_neg__undef): New pattern. - (*pred_mul_neg_): Removed. - (*pred_mul_neg__scalar): Removed. - -2023-09-19 Tsukasa OI - - * config/riscv/riscv-vector-builtins.cc - (builtin_decl, expand_builtin): Replace SVE with RVV. - -2023-09-19 Tsukasa OI - - * config/riscv/t-riscv: Add dependencies for riscv-builtins.cc, - riscv-cmo.def and riscv-scalar-crypto.def. - -2023-09-18 Pan Li - - * config/riscv/autovec.md: Extend to vls mode. - -2023-09-18 Pan Li - - * config/riscv/autovec.md: Bugfix. - * config/riscv/riscv-protos.h (SCALAR_MOVE_MERGED_OP): New enum. - -2023-09-18 Andrew Pinski - - PR tree-optimization/111442 - * match.pd (zero_one_valued_p): Have the bit_and match not be - recursive. - -2023-09-18 Andrew Pinski - - PR tree-optimization/111435 - * match.pd (zero_one_valued_p): Don't do recursion - on converts. - -2023-09-18 Iain Sandoe - - * config/darwin-protos.h (enum darwin_external_toolchain): New. - * config/darwin.cc (DSYMUTIL_VERSION): New. - (darwin_override_options): Choose the default debug DWARF version - depending on the configured dsymutil version. - -2023-09-18 Iain Sandoe - - * configure: Regenerate. - * configure.ac: Handle explict disable of stdlib option, set - defaults for Darwin. - -2023-09-18 Andrew Pinski - - PR tree-optimization/111431 - * match.pd (`(a == CST) & a`): New pattern. - -2023-09-18 Juzhe-Zhong - - * config/riscv/riscv-selftests.cc (run_broadcast_selftests): Adapt selftests. - * config/riscv/vector.md (@vec_duplicate): Remove. - -2023-09-18 Wilco Dijkstra - - PR target/105928 - * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate) - Add support for immediates using shifted ORR/BIC. - (aarch64_split_dimode_const_store): Apply if we save one instruction. - * config/aarch64/aarch64.md (_3): - Make pattern global. - -2023-09-18 Wilco Dijkstra - - * config/aarch64/aarch64-cores.def (neoverse-n1): Place before ares. - (neoverse-v1): Place before zeus. - (neoverse-v2): Place before demeter. - * config/aarch64/aarch64-tune.md: Regenerate. - -2023-09-18 Juzhe-Zhong - - * config/riscv/autovec.md: Add VLS modes. - * config/riscv/vector-iterators.md: Ditto. - * config/riscv/vector.md: Ditto. - -2023-09-18 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (vlmul_for_greatest_sew_second_ratio): New function. - * config/riscv/riscv-vsetvl.def (DEF_SEW_LMUL_FUSE_RULE): Fix bug. - -2023-09-18 Richard Biener - - PR tree-optimization/111294 - * tree-ssa-threadbackward.cc (back_threader_profitability::m_name): - Remove - (back_threader::find_paths_to_names): Adjust. - (back_threader::maybe_thread_block): Likewise. - (back_threader_profitability::possibly_profitable_path_p): Remove - code applying extra costs to copies PHIs. - -2023-09-18 Juzhe-Zhong - - * config/riscv/autovec.md: Extend VLS modes. - * config/riscv/vector.md: Ditto. - -2023-09-18 Juzhe-Zhong - - * config/riscv/vector.md (mov): New pattern. - (*mov_mem_to_mem): Ditto. - (*mov): Ditto. - (@mov_lra): Ditto. - (*mov_lra): Ditto. - (*mov_vls): Ditto. - (movmisalign): Ditto. - (@vec_duplicate): Ditto. - * config/riscv/autovec-vls.md: Removed. - -2023-09-18 Juzhe-Zhong - - PR target/111153 - * config/riscv/autovec.md: Add VLS modes. - -2023-09-18 Jason Merrill - - * doc/gty.texi: Add discussion of cache vs. deletable. - -2023-09-18 Juzhe-Zhong - - * config/riscv/autovec-vls.md (3): Deleted. - (copysign3): Ditto. - (xorsign3): Ditto. - (2): Ditto. - * config/riscv/autovec.md: Extend VLS modes. - -2023-09-18 Jiufu Guo - - PR middle-end/111303 - * match.pd ((t * 2) / 2): Update pattern. - -2023-09-17 Ajit Kumar Agarwal - - * config/rs6000/vsx.md (*vctzlsbb_zext_): New define_insn. - -2023-09-16 Juzhe-Zhong - - PR target/111391 - * config/riscv/autovec.md (@vec_extract): Remove @. - (vec_extract): Ditto. - * config/riscv/riscv-vsetvl.cc (emit_vsetvl_insn): Fix bug. - (pass_vsetvl::local_eliminate_vsetvl_insn): Fix bug. - * config/riscv/riscv.cc (riscv_legitimize_move): Expand VLS mode to scalar mode move. - -2023-09-16 Tsukasa OI - - * config/riscv/crypto.md (riscv_sha256sig0_, - riscv_sha256sig1_, riscv_sha256sum0_, - riscv_sha256sum1_, riscv_sm3p0_, riscv_sm3p1_, - riscv_sm4ed_, riscv_sm4ks_): Remove and replace with - new insn/expansions. - (SHA256_OP, SM3_OP, SM4_OP): New iterators. - (sha256_op, sm3_op, sm4_op): New attributes for iteration. - (*riscv__si): New raw instruction for RV32. - (*riscv__si): Ditto. - (*riscv__si): Ditto. - (riscv__di_extended): New base instruction for RV64. - (riscv__di_extended): Ditto. - (riscv__di_extended): Ditto. - (riscv__si): New common instruction expansion. - (riscv__si): Ditto. - (riscv__si): Ditto. - * config/riscv/riscv-builtins.cc: Add availability "crypto_zknh", - "crypto_zksh" and "crypto_zksed". Remove availability - "crypto_zksh{32,64}" and "crypto_zksed{32,64}". - * config/riscv/riscv-ftypes.def: Remove unused function type. - * config/riscv/riscv-scalar-crypto.def: Make SHA-256, SM3 and SM4 - intrinsics to operate on uint32_t. - -2023-09-16 Tsukasa OI - - * config/riscv/riscv-builtins.cc (RISCV_ATYPE_UQI): New for - uint8_t. (RISCV_ATYPE_UHI): New for uint16_t. - (RISCV_ATYPE_QI, RISCV_ATYPE_HI, RISCV_ATYPE_SI, RISCV_ATYPE_DI): - Removed as no longer used. - (RISCV_ATYPE_UDI): New for uint64_t. - * config/riscv/riscv-cmo.def: Make types unsigned for not working - "zicbop_cbo_prefetchi" and working bit manipulation clmul builtin - argument/return types. - * config/riscv/riscv-ftypes.def: Make bit manipulation, round - number and shift amount types unsigned. - * config/riscv/riscv-scalar-crypto.def: Ditto. - -2023-09-16 Pan Li - - * config/riscv/autovec-vls.md (xorsign3): New pattern. - -2023-09-15 Fei Gao - - * config/riscv/predicates.md: Restrict predicate - to allow 'reg' only. - -2023-09-15 Andrew Pinski - - * match.pd (zero_one_valued_p): Match a cast from a zero_one_valued_p. - Also match `a & zero_one_valued_p` too. - -2023-09-15 Andrew Pinski - - PR tree-optimization/111414 - * match.pd (`(1 >> X) != 0`): Check to see if - the integer_onep was an integral type (not a vector type). - -2023-09-15 Andrew MacLeod - - * gimple-range-fold.cc (fold_using_range::range_of_phi): Always - run phi analysis, and do it before loop analysis. - -2023-09-15 Andrew MacLeod - - * gimple-range-fold.cc (fold_using_range::range_of_phi): Fix - indentation. - -2023-09-15 Qing Zhao - - PR tree-optimization/111407 - * tree-ssa-math-opts.cc (convert_mult_to_widen): Avoid the transform - when one of the operands is subject to abnormal coalescing. - -2023-09-15 Lehua Ding - - * config/riscv/riscv-protos.h (enum insn_flags): Change name. - (enum insn_type): Ditto. - * config/riscv/riscv-v.cc (get_mask_mode_from_insn_flags): Removed. - (emit_vlmax_insn): Adjust. - (emit_nonvlmax_insn): Adjust. - (emit_vlmax_insn_lra): Adjust. - -2023-09-15 Lehua Ding - - * config/riscv/autovec-opt.md: Adjust. - * config/riscv/autovec.md: Ditto. - * config/riscv/riscv-protos.h (enum class): Delete enum reduction_type. - (expand_reduction): Adjust expand_reduction prototype. - * config/riscv/riscv-v.cc (need_mask_operand_p): New helper function. - (expand_reduction): Refactor expand_reduction. - -2023-09-15 Richard Sandiford - - PR target/111411 - * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): Require - the lower memory access to a mem-pair operand. - -2023-09-15 Yang Yujie - - * config.gcc: Pass the default ABI via TM_MULTILIB_CONFIG. - * config/loongarch/loongarch-driver.h: Invoke MLIB_SELF_SPECS - before the driver canonicalization routines. - * config/loongarch/loongarch.h: Move definitions of CC1_SPEC etc. - to loongarch-driver.h - * config/loongarch/t-linux: Move multilib-related definitions to - t-multilib. - * config/loongarch/t-multilib: New file. Inject library build - options obtained from --with-multilib-list. - * config/loongarch/t-loongarch: Same. - -2023-09-15 Lehua Ding - - PR target/111381 - * config/riscv/autovec-opt.md (*reduc_plus_scal_): - New combine pattern. - (*fold_left_widen_plus_): Ditto. - (*mask_len_fold_left_widen_plus_): Ditto. - * config/riscv/autovec.md (reduc_plus_scal_): - Change from define_expand to define_insn_and_split. - (fold_left_plus_): Ditto. - (mask_len_fold_left_plus_): Ditto. - * config/riscv/riscv-v.cc (expand_reduction): - Support widen reduction. - * config/riscv/vector-iterators.md (UNSPEC_WREDUC_SUM): - Add new iterators and attrs. - -2023-09-14 David Malcolm - - * diagnostic-event-id.h (diagnostic_thread_id_t): New typedef. - * diagnostic-format-sarif.cc (class sarif_thread_flow): New. - (sarif_thread_flow::sarif_thread_flow): New. - (sarif_builder::make_code_flow_object): Reimplement, creating - per-thread threadFlow objects, populating them with the relevant - events. - (sarif_builder::make_thread_flow_object): Delete, moving the - code into sarif_builder::make_code_flow_object. - (sarif_builder::make_thread_flow_location_object): Add - "path_event_idx" param. Use it to set "executionOrder" - property. - * diagnostic-path.h (diagnostic_event::get_thread_id): New - pure-virtual vfunc. - (class diagnostic_thread): New. - (diagnostic_path::num_threads): New pure-virtual vfunc. - (diagnostic_path::get_thread): New pure-virtual vfunc. - (diagnostic_path::multithreaded_p): New decl. - (simple_diagnostic_event::simple_diagnostic_event): Add optional - thread_id param. - (simple_diagnostic_event::get_thread_id): New accessor. - (simple_diagnostic_event::m_thread_id): New. - (class simple_diagnostic_thread): New. - (simple_diagnostic_path::simple_diagnostic_path): Move definition - to diagnostic.cc. - (simple_diagnostic_path::num_threads): New. - (simple_diagnostic_path::get_thread): New. - (simple_diagnostic_path::add_thread): New. - (simple_diagnostic_path::add_thread_event): New. - (simple_diagnostic_path::m_threads): New. - * diagnostic-show-locus.cc (layout::layout): Add pretty_printer - param for overriding the context's printer. - (diagnostic_show_locus): Likwise. - * diagnostic.cc (simple_diagnostic_path::simple_diagnostic_path): - Move here from diagnostic-path.h. Add main thread. - (simple_diagnostic_path::num_threads): New. - (simple_diagnostic_path::get_thread): New. - (simple_diagnostic_path::add_thread): New. - (simple_diagnostic_path::add_thread_event): New. - (simple_diagnostic_event::simple_diagnostic_event): Add thread_id - param and use it to initialize m_thread_id. Reformat. - * diagnostic.h: Add pretty_printer param for overriding the - context's printer. - * tree-diagnostic-path.cc: Add #define INCLUDE_VECTOR. - (can_consolidate_events): Compare thread ids. - (class per_thread_summary): New. - (event_range::event_range): Add per_thread_summary arg. - (event_range::print): Add "pp" param and use it rather than dc's - printer. - (event_range::m_thread_id): New field. - (event_range::m_per_thread_summary): New field. - (path_summary::multithreaded_p): New. - (path_summary::get_events_for_thread_id): New. - (path_summary::m_per_thread_summary): New field. - (path_summary::m_thread_id_to_events): New field. - (path_summary::get_or_create_events_for_thread_id): New. - (path_summary::path_summary): Create per_thread_summary instances - as needed and associate the event_range instances with them. - (base_indent): Move here from print_path_summary_as_text. - (per_frame_indent): Likewise. - (class thread_event_printer): New, adapted from parts of - print_path_summary_as_text. - (print_path_summary_as_text): Make static. Reimplement to - moving most of existing code to class thread_event_printer, - capturing state as per-thread as appropriate. - (default_tree_diagnostic_path_printer): Add missing 'break' on - final case. - -2023-09-14 David Malcolm - - * dwarf2cfi.cc (dwarf2cfi_cc_finalize): New. - * dwarf2out.h (dwarf2cfi_cc_finalize): New decl. - * ggc-common.cc (ggc_mark_roots): Multiply by rti->nelt when - clearing the deletable gcc_root_tab_t. - (ggc_common_finalize): New. - * ggc.h (ggc_common_finalize): New decl. - * toplev.cc (toplev::finalize): Call dwarf2cfi_cc_finalize and - ggc_common_finalize. - -2023-09-14 Max Filippov - - * config/xtensa/predicates.md (xtensa_cstoresi_operator): Add - unsigned comparisons. - * config/xtensa/xtensa.cc (xtensa_expand_scc): Add code - generation of salt/saltu instructions. - * config/xtensa/xtensa.h (TARGET_SALT): New macro. - * config/xtensa/xtensa.md (salt, saltu): New instruction - patterns. - -2023-09-14 Vladimir N. Makarov - - * ira-costs.cc (find_costs_and_classes): Decrease memory cost - by equiv savings. - -2023-09-14 Lehua Ding - - * config/riscv/autovec.md: Change rtx code to unspec. - * config/riscv/riscv-protos.h (expand_reduction): Change prototype. - * config/riscv/riscv-v.cc (expand_reduction): Change prototype. - * config/riscv/riscv-vector-builtins-bases.cc (class widen_reducop): - Removed. - (class widen_freducop): Removed. - * config/riscv/vector-iterators.md (minu): Add reduc unspec, iterators, attrs. - * config/riscv/vector.md (@pred_reduc_): Change name. - (@pred_): New name. - (@pred_widen_reduc_plus): Change name. - (@pred_reduc_plus): Change name. - (@pred_widen_reduc_plus): Change name. - -2023-09-14 Lehua Ding - - * config/riscv/riscv-v.cc (expand_reduction): Adjust call. - * config/riscv/riscv-vector-builtins-bases.cc: Adjust call. - * config/riscv/vector-iterators.md: New iterators and attrs. - * config/riscv/vector.md (@pred_reduc_): - Removed. - (@pred_reduc_): Removed. - (@pred_reduc_): Removed. - (@pred_reduc_): Removed. - (@pred_reduc_): Added. - (@pred_widen_reduc_plus): Removed. - (@pred_widen_reduc_plus): Removed. - (@pred_widen_reduc_plus): Added. - (@pred_widen_reduc_plus): Removed. - (@pred_reduc_): Removed. - (@pred_reduc_): Removed. - (@pred_reduc_): Removed. - (@pred_reduc_plus): Removed. - (@pred_reduc_plus): Removed. - (@pred_reduc_plus): Added. - (@pred_reduc_plus): Removed. - (@pred_widen_reduc_plus): Removed. - (@pred_widen_reduc_plus): Removed. - (@pred_widen_reduc_plus): Added. - -2023-09-14 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_vector_costs::analyze_loop_info): - Move WHILELO handling to... - (aarch64_vector_costs::finish_cost): ...here. Check whether the - vectorizer has decided to use a predicated loop. - -2023-09-14 Andrew Pinski - - PR tree-optimization/106164 - * match.pd (`(X CMP1 CST1) AND/IOR (X CMP2 CST2)`): - Expand to support constants that are off by one. - -2023-09-14 Andrew Pinski - - * genmatch.cc (parser::parse_result): For an else clause - of an if statement inside a switch, error out explictly. - -2023-09-14 Juzhe-Zhong - - * config/riscv/autovec-opt.md: Add VLS mask modes. - * config/riscv/autovec.md (@vcond_mask_): Remove @. - (vcond_mask_): Add VLS mask modes. - * config/riscv/vector.md: Ditto. - -2023-09-14 Richard Biener - - PR tree-optimization/111294 - * tree-ssa-forwprop.cc (pass_forwprop::execute): Track - operands that eventually become dead and use simple_dce_from_worklist - to remove their definitions if they did so. - -2023-09-14 Richard Sandiford - - * config/aarch64/aarch64-sve.md (@aarch64_vec_duplicate_vq_le): - Accept all nonimmediate_operands, but keep the existing constraints. - If the instruction is split before RA, load invalid addresses into - a temporary register. - * config/aarch64/predicates.md (aarch64_sve_dup_ld1rq_operand): Delete. - -2023-09-14 Juzhe-Zhong - - PR target/111395 - * config/riscv/riscv-vsetvl.cc (avl_info::operator==): Fix ICE. - (vector_insn_info::global_merge): Ditto. - (vector_insn_info::get_avl_or_vl_reg): Ditto. - -2023-09-14 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::global_eliminate_vsetvl_insn): Format it. - -2023-09-14 Lulu Cheng - - * config/loongarch/loongarch-def.c: Modify the default value of - branch_cost. - -2023-09-14 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.cc (xtensa_expand_scc): - Revert the changes from the last patch, as the work in the RTL - expansion pass is too far to determine the physical registers. - * config/xtensa/xtensa.md (*eqne_INT_MIN): Ditto. - (eq_zero_NSA, eqne_zero, *eqne_zero_masked_bits): New patterns. - -2023-09-14 Lulu Cheng - - PR target/111334 - * config/loongarch/loongarch.md: Fix bug of 'di3_fake'. - -2023-09-13 Juzhe-Zhong - - * config/riscv/autovec.md (vec_extract): Add VLS modes. - (@vec_extract): Ditto. - * config/riscv/vector.md: Ditto - -2023-09-13 Andrew Pinski - - * match.pd (`X <= MAX(X, Y)`): - Move before `MIN (X, C1) < C2` pattern. - -2023-09-13 Andrew Pinski - - PR tree-optimization/111364 - * match.pd (`MIN (X, Y) == X`): Extend - to min/lt, min/ge, max/gt, max/le. - -2023-09-13 Andrew Pinski - - PR tree-optimization/111345 - * match.pd (`Y > (X % Y)`): Merge - into ... - (`(X % Y) < Y`): Pattern by adding `:c` - on the comparison. - -2023-09-13 Richard Biener - - PR tree-optimization/111387 - * tree-vect-slp.cc (vect_get_and_check_slp_defs): Check - EDGE_DFS_BACK when doing BB vectorization. - (vect_slp_function): Use rev_post_order_and_mark_dfs_back_seme - to compute RPO and mark backedges. - -2023-09-13 Lehua Ding - - * config/riscv/autovec-opt.md (*cond_3_highpart): - New combine pattern. - * config/riscv/autovec.md (smul3_highpart): Mrege smul and umul. - (3_highpart): Merged pattern. - (umul3_highpart): Mrege smul and umul. - * config/riscv/vector-iterators.md (umul): New iterators. - (UNSPEC_VMULHU): New iterators. - -2023-09-13 Lehua Ding - - * config/riscv/autovec-opt.md (*cond_vtrunc): - New combine pattern. - (*cond_trunc): Ditto. - -2023-09-13 Lehua Ding - - * config/riscv/autovec-opt.md (*copysign_neg): Move. - (*cond_copysign): New combine pattern. - * config/riscv/riscv-v.cc (needs_fp_rounding): Extend. - -2023-09-13 Richard Biener - - PR tree-optimization/111397 - * tree-ssa-propagate.cc (may_propagate_copy): Change optional - argument to specify whether the PHI destination doesn't flow in - from an abnormal PHI. - (propagate_value): Adjust. - * tree-ssa-forwprop.cc (pass_forwprop::execute): Indicate abnormal - PHI dest. - * tree-ssa-sccvn.cc (eliminate_dom_walker::before_dom_children): - Likewise. - (process_bb): Likewise. - -2023-09-13 Pan Li - - PR target/111362 - * config/riscv/riscv.cc (riscv_emit_frm_mode_set): Bugfix. - -2023-09-13 Jiufu Guo - - PR tree-optimization/111303 - * match.pd ((X - N * M) / N): Add undefined_p checking. - ((X + N * M) / N): Likewise. - ((X + C) div_rshift N): Likewise. - -2023-09-12 Juzhe-Zhong - - PR target/111337 - * config/riscv/autovec.md (vcond_mask_): New pattern. - -2023-09-12 Martin Jambor - - * dbgcnt.def (form_fma): New. - * tree-ssa-math-opts.cc: Include dbgcnt.h. - (convert_mult_to_fma): Bail out if the debug counter say so. - -2023-09-12 Edwin Lu - - * config/riscv/autovec-opt.md: Update type - * config/riscv/riscv.cc (riscv_sched_variable_issue): Enable assert - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_save_regs_above_locals_p): - New function. - (aarch64_layout_frame): Use it to decide whether locals should - go above or below the saved registers. - (aarch64_expand_prologue): Update stack layout comment. - Emit a stack tie after the final adjustment. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.h (aarch64_frame::saved_regs_size) - (aarch64_frame::below_hard_fp_saved_regs_size): Delete. - * config/aarch64/aarch64.cc (aarch64_layout_frame): Update accordingly. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.h (aarch64_frame::sve_save_and_probe) - (aarch64_frame::hard_fp_save_and_probe): New fields. - * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize them. - Rather than asserting that a leaf function saves LR, instead assert - that a leaf function saves something. - (aarch64_get_separate_components): Prevent the chosen probe - registers from being individually shrink-wrapped. - (aarch64_allocate_and_probe_stack_space): Remove workaround for - probe registers that aren't at the bottom of the previous allocation. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space): - Always probe the residual allocation at offset 1024, asserting - that that is in range. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_layout_frame): Ensure that - the LR save slot is in the first 16 bytes of the register save area. - Only form STP/LDP push/pop candidates if both registers are valid. - (aarch64_allocate_and_probe_stack_space): Remove workaround for - when LR was not in the first 16 bytes. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space): - Don't probe final allocations that are exactly 1KiB in size (after - unprobed space above the final allocation has been deducted). - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_layout_frame): Tweak - calculation of initial_adjust for frames in which all saves - are SVE saves. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_layout_frame): Simplify - the allocation of the top of the frame. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.h (aarch64_frame): Add comment above - reg_offset. - * config/aarch64/aarch64.cc (aarch64_layout_frame): Walk offsets - from the bottom of the frame, rather than the bottom of the saved - register area. Measure reg_offset from the bottom of the frame - rather than the bottom of the saved register area. - (aarch64_save_callee_saves): Update accordingly. - (aarch64_restore_callee_saves): Likewise. - (aarch64_get_separate_components): Likewise. - (aarch64_process_components): Likewise. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.h (aarch64_frame::frame_size): Tweak comment. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.h (aarch64_frame::hard_fp_offset): Rename - to... - (aarch64_frame::bytes_above_hard_fp): ...this. - * config/aarch64/aarch64.cc (aarch64_layout_frame) - (aarch64_expand_prologue): Update accordingly. - (aarch64_initial_elimination_offset): Likewise. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.h (aarch64_frame::locals_offset): Rename to... - (aarch64_frame::bytes_above_locals): ...this. - * config/aarch64/aarch64.cc (aarch64_layout_frame) - (aarch64_initial_elimination_offset): Update accordingly. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_expand_prologue): Move the - calculation of chain_offset into the emit_frame_chain block. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.h (aarch64_frame::callee_offset): Delete. - * config/aarch64/aarch64.cc (aarch64_layout_frame): Remove - callee_offset handling. - (aarch64_save_callee_saves): Replace the start_offset parameter - with a bytes_below_sp parameter. - (aarch64_restore_callee_saves): Likewise. - (aarch64_expand_prologue): Update accordingly. - (aarch64_expand_epilogue): Likewise. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.h (aarch64_frame::bytes_below_hard_fp): New - field. - * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it. - (aarch64_expand_epilogue): Use it instead of - below_hard_fp_saved_regs_size. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.h (aarch64_frame::bytes_below_saved_regs): New - field. - * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it, - and use it instead of crtl->outgoing_args_size. - (aarch64_get_separate_components): Use bytes_below_saved_regs instead - of outgoing_args_size. - (aarch64_process_components): Likewise. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_layout_frame): Explicitly - allocate the frame in one go if there are no saved registers. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_expand_prologue): Use - chain_offset rather than callee_offset. - -2023-09-12 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_save_callee_saves): Use - a local shorthand for cfun->machine->frame. - (aarch64_restore_callee_saves, aarch64_get_separate_components): - (aarch64_process_components): Likewise. - (aarch64_allocate_and_probe_stack_space): Likewise. - (aarch64_expand_prologue, aarch64_expand_epilogue): Likewise. - (aarch64_layout_frame): Use existing shorthand for one more case. - -2023-09-12 Andrew Pinski - - PR tree-optimization/107881 - * match.pd (`(a CMP1 b) ^ (a CMP2 b)`): New pattern. - (`(a CMP1 b) == (a CMP2 b)`): New pattern. - -2023-09-12 Pan Li - - * config/riscv/riscv-vector-costs.h (struct range): Removed. - -2023-09-12 Juzhe-Zhong - - * config/riscv/riscv-vector-costs.cc (get_last_live_range): New function. - (compute_nregs_for_mode): Ditto. - (live_range_conflict_p): Ditto. - (max_number_of_live_regs): Ditto. - (compute_lmul): Ditto. - (costs::prefer_new_lmul_p): Ditto. - (costs::better_main_loop_than_p): Ditto. - * config/riscv/riscv-vector-costs.h (struct stmt_point): New struct. - (struct var_live_range): Ditto. - (struct autovec_info): Ditto. - * config/riscv/t-riscv: Update makefile for COST model. - -2023-09-12 Jakub Jelinek - - * fold-const.cc (range_check_type): Handle BITINT_TYPE like - OFFSET_TYPE. - -2023-09-12 Jakub Jelinek - - PR middle-end/111338 - * tree-ssa-sccvn.cc (struct vn_walk_cb_data): Add bufsize non-static - data member. - (vn_walk_cb_data::push_partial_def): Remove bufsize variable. - (visit_nary_op): Avoid the BIT_AND_EXPR with constant rhs2 - optimization if type's precision is too large for - vn_walk_cb_data::bufsize. - -2023-09-12 Gaius Mulley - - * doc/gm2.texi (Compiler options): Document new option - -Wcase-enum. - -2023-09-12 Thomas Schwinge - - * doc/sourcebuild.texi (stack_size): Update. - -2023-09-12 Christoph Müllner - - * config/riscv/bitmanip.md (*_not): Export INSN name. - (_not3): Likewise. - * config/riscv/riscv-protos.h (riscv_expand_strcmp): New - prototype. - * config/riscv/riscv-string.cc (GEN_EMIT_HELPER3): New helper - macros. - (GEN_EMIT_HELPER2): Likewise. - (emit_strcmp_scalar_compare_byte): New function. - (emit_strcmp_scalar_compare_subword): Likewise. - (emit_strcmp_scalar_compare_word): Likewise. - (emit_strcmp_scalar_load_and_compare): Likewise. - (emit_strcmp_scalar_call_to_libc): Likewise. - (emit_strcmp_scalar_result_calculation_nonul): Likewise. - (emit_strcmp_scalar_result_calculation): Likewise. - (riscv_expand_strcmp_scalar): Likewise. - (riscv_expand_strcmp): Likewise. - * config/riscv/riscv.md (*slt_): Export - INSN name. - (@slt_3): Likewise. - (cmpstrnsi): Invoke expansion function for str(n)cmp. - (cmpstrsi): Likewise. - * config/riscv/riscv.opt: Add new parameter - '-mstring-compare-inline-limit'. - * doc/invoke.texi: Document new parameter - '-mstring-compare-inline-limit'. - -2023-09-12 Christoph Müllner - - * config.gcc: Add new object riscv-string.o. - riscv-string.cc. - * config/riscv/riscv-protos.h (riscv_expand_strlen): - New function. - * config/riscv/riscv.md (strlen): New expand INSN. - * config/riscv/riscv.opt: New flag 'minline-strlen'. - * config/riscv/t-riscv: Add new object riscv-string.o. - * config/riscv/thead.md (th_rev2): Export INSN name. - (th_rev2): Likewise. - (th_tstnbz2): New INSN. - * doc/invoke.texi: Document '-minline-strlen'. - * emit-rtl.cc (emit_likely_jump_insn): New helper function. - (emit_unlikely_jump_insn): Likewise. - * rtl.h (emit_likely_jump_insn): New prototype. - (emit_unlikely_jump_insn): Likewise. - * config/riscv/riscv-string.cc: New file. - -2023-09-12 Thomas Schwinge - - * config/nvptx/nvptx.h (TARGET_USE_LOCAL_THUNK_ALIAS_P) - (TARGET_SUPPORTS_ALIASES): Define. - -2023-09-12 Thomas Schwinge - - * doc/sourcebuild.texi (check-function-bodies): Update. - -2023-09-12 Tobias Burnus - - * gimplify.cc (gimplify_bind_expr): Check for - insertion after variable cleanup. Convert 'omp allocate' - var-decl attribute to GOMP_alloc/GOMP_free calls. - -2023-09-12 xuli - - * config/riscv/riscv-vector-builtins-bases.cc: remove unused - parameter e and replace NULL_RTX with gcc_unreachable. - -2023-09-12 xuli - - * config/riscv/riscv-vector-builtins-bases.cc (class vcreate): New class. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vcreate): Add vcreate support. - * config/riscv/riscv-vector-builtins-shapes.cc (struct vcreate_def): Ditto. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc: Add args type. - -2023-09-12 Fei Gao - - * config/riscv/riscv.cc - (riscv_avoid_shrink_wrapping_separate): wrap the condition check in - riscv_avoid_shrink_wrapping_separate. - (riscv_avoid_multi_push):avoid multi push if shrink_wrapping_separate - is active. - (riscv_get_separate_components):call riscv_avoid_shrink_wrapping_separate - -2023-09-12 Fei Gao - - * shrink-wrap.cc (try_shrink_wrapping_separate):call - use_shrink_wrapping_separate. - (use_shrink_wrapping_separate): wrap the condition - check in use_shrink_wrapping_separate. - * shrink-wrap.h (use_shrink_wrapping_separate): add to extern - -2023-09-11 Andrew Pinski - - PR tree-optimization/111348 - * match.pd (`(a CMP b) ? minmax : minmax`): Add :c on - the cmp part of the pattern. - -2023-09-11 Uros Bizjak - - PR target/111340 - * config/i386/i386.cc (output_pic_addr_const): Handle CONST_WIDE_INT. - Call output_addr_const for CASE_CONST_SCALAR_INT. - -2023-09-11 Edwin Lu - - * config/riscv/thead.md: Update types - -2023-09-11 Edwin Lu - - * config/riscv/riscv.md: Update types - -2023-09-11 Edwin Lu - - * config/riscv/riscv.md: Add "zicond" type - * config/riscv/zicond.md: Update types - -2023-09-11 Edwin Lu - - * config/riscv/riscv.md: Add "pushpop" and "mvpair" types - * config/riscv/zc.md: Update types - -2023-09-11 Edwin Lu - - * config/riscv/autovec-opt.md: Update types - * config/riscv/autovec.md: likewise - -2023-09-11 Stefan Schulze Frielinghaus - - * config/s390/s390-builtins.def (s390_vec_signed_flt): Fix - builtin flag. - (s390_vec_unsigned_flt): Ditto. - (s390_vec_revb_flt): Ditto. - (s390_vec_reve_flt): Ditto. - (s390_vclfnhs): Fix operand flags. - (s390_vclfnls): Ditto. - (s390_vcrnfs): Ditto. - (s390_vcfn): Ditto. - (s390_vcnf): Ditto. - -2023-09-11 Stefan Schulze Frielinghaus - - * config/s390/s390-builtins.def (O_U64): New. - (O1_U64): Ditto. - (O2_U64): Ditto. - (O3_U64): Ditto. - (O4_U64): Ditto. - (O_M12): Change bit position. - (O_S2): Ditto. - (O_S3): Ditto. - (O_S4): Ditto. - (O_S5): Ditto. - (O_S8): Ditto. - (O_S12): Ditto. - (O_S16): Ditto. - (O_S32): Ditto. - (O_ELEM): Ditto. - (O_LIT): Ditto. - (OB_DEF_VAR): Add operand constraints. - (B_DEF): Ditto. - * config/s390/s390.cc (s390_const_operand_ok): Honour 64 bit - operands. - -2023-09-11 Andrew Pinski - - PR tree-optimization/111349 - * match.pd (`(a CMP CST1) ? max : a`): Add :c on - the cmp part of the pattern. - -2023-09-11 Juzhe-Zhong - - PR target/111311 - * config/riscv/riscv.opt: Set default as scalable vectorization. - -2023-09-11 Juzhe-Zhong - - * config/riscv/riscv-protos.h (get_all_predecessors): Remove. - (get_all_successors): Ditto. - * config/riscv/riscv-v.cc (get_all_predecessors): Ditto. - (get_all_successors): Ditto. - -2023-09-11 Jakub Jelinek - - PR middle-end/111329 - * pretty-print.h (pp_wide_int): Rewrite from macro into inline - function. For printing values which don't fit into digit_buffer - use out-of-line function. - * wide-int-print.h (pp_wide_int_large): Declare. - * wide-int-print.cc: Include pretty-print.h. - (pp_wide_int_large): Define. - -2023-09-11 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::global_eliminate_vsetvl_insn): - Use dominance analysis. - (pass_vsetvl::init): Ditto. - (pass_vsetvl::done): Ditto. - -2023-09-11 Juzhe-Zhong - - PR target/111311 - * config/riscv/autovec.md: Add VLS modes. - * config/riscv/riscv-protos.h (cmp_lmul_le_one): New function. - (cmp_lmul_gt_one): Ditto. - * config/riscv/riscv-v.cc (cmp_lmul_le_one): Ditto. - (cmp_lmul_gt_one): Ditto. - * config/riscv/riscv.cc (riscv_print_operand): Add VLS modes. - (riscv_vectorize_vec_perm_const): Ditto. - * config/riscv/vector-iterators.md: Ditto. - * config/riscv/vector.md: Ditto. - -2023-09-11 Juzhe-Zhong - - * config/riscv/autovec-vls.md (*mov_vls): New pattern. - * config/riscv/vector-iterators.md: New iterator - -2023-09-11 Andrew Pinski - - PR tree-optimization/111346 - * match.pd (`X CMP MINMAX`): Add `:c` on the cmp part - of the pattern - -2023-09-11 liuhongt - - PR target/111306 - PR target/111335 - * config/i386/sse.md (int_comm): New int_attr. - (fma__): - Remove % for Complex conjugate operations since they're not - commutative. - (fma___pair): Ditto. - (___mask): Ditto. - (cmul3): Ditto. - -2023-09-10 Juzhe-Zhong - - * config/riscv/riscv-v.cc (shuffle_generic_patterns): Expand - fixed-vlmax/vls vector permutation. - -2023-09-10 Juzhe-Zhong - - * config/riscv/riscv-v.cc (shuffle_compress_patterns): Avoid unnecessary slideup. - -2023-09-10 Andrew Pinski - - PR tree-optimization/111331 - * match.pd (`(a CMP CST1) ? max : a`): - Fix the LE/GE comparison to the correct value. - * tree-ssa-phiopt.cc (minmax_replacement): - Fix the LE/GE comparison for the - `(a CMP CST1) ? max : a` optimization. - -2023-09-10 Iain Sandoe - - * config/darwin.cc (darwin_function_section): Place unlikely - executed global init code into the standard cold section. - -2023-09-10 Juzhe-Zhong - - PR target/111311 - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::vsetvl_fusion): Add TDF_DETAILS. - (pass_vsetvl::pre_vsetvl): Ditto. - (pass_vsetvl::init): Ditto. - (pass_vsetvl::lazy_vsetvl): Ditto. - -2023-09-09 Lulu Cheng - - * config/loongarch/loongarch.md (mulsidi3_64bit): - Field unsigned extension support. - (muldi3_highpart): Modify template name. - (mulsi3_highpart): Likewise. - (mulsidi3_64bit): Field unsigned extension support. - (muldi3_highpart): Modify muldi3_highpart to - smuldi3_highpart. - (mulsi3_highpart): Modify mulsi3_highpart to - smulsi3_highpart. - -2023-09-09 Xi Ruoyao - - * config/loongarch/loongarch.cc (loongarch_block_move_straight): - Check precondition (delta must be a power of 2) and use - popcount_hwi instead of a homebrew loop. - -2023-09-09 Xi Ruoyao - - * config/loongarch/loongarch.h (LARCH_MAX_MOVE_PER_INSN): - Define to the maximum amount of bytes able to be loaded or - stored with one machine instruction. - * config/loongarch/loongarch.cc (loongarch_mode_for_move_size): - New static function. - (loongarch_block_move_straight): Call - loongarch_mode_for_move_size for machine_mode to be moved. - (loongarch_expand_block_move): Use LARCH_MAX_MOVE_PER_INSN - instead of UNITS_PER_WORD. - -2023-09-09 Juzhe-Zhong - - * config/riscv/vector-iterators.md: Fix floating-point operations predicate. - -2023-09-09 Lehua Ding - - * fold-const.cc (can_min_p): New function. - (poly_int_binop): Try fold MIN_EXPR. - -2023-09-08 Aldy Hernandez - - * range-op-float.cc (foperator_ltgt::fold_range): Do not special - case VREL_EQ nor call frelop_early_resolve. - -2023-09-08 Christoph Müllner - - * config/riscv/thead.md (*extend2_th_ext): - Remove broken INSN. - (*extendhi2_th_ext): New INSN. - (*extendqi2_th_ext): New INSN. - -2023-09-08 Christoph Müllner - - * config/riscv/thead.md: Use more appropriate mode attributes - for extensions. - -2023-09-08 Guo Jie - - * common/config/loongarch/loongarch-common.cc: - (default_options loongarch_option_optimization_table): - Default to -fsched-pressure. - -2023-09-08 Yang Yujie - - * config.gcc: remove non-POSIX syntax "<<<". - -2023-09-08 Christoph Müllner - - * config/riscv/bitmanip.md (*extend2_zbb): - Rename postfix to _bitmanip. - (*extend2_bitmanip): Renamed pattern. - (*zero_extendhi2_zbb): Remove duplicated pattern. - -2023-09-08 Juzhe-Zhong - - * config/riscv/riscv.cc (riscv_pass_in_vector_p): Only allow RVV type. - -2023-09-08 Juzhe-Zhong - - * config/riscv/riscv.cc (riscv_hard_regno_nregs): Fix bug. - -2023-09-07 liuhongt - - * config/i386/sse.md - (_vpermt2var3): New define_insn. - (VHFBF_AVX512VL): New mode iterator. - (VI2HFBF_AVX512VL): New mode iterator. - -2023-09-07 Aldy Hernandez - - * value-range.h (contains_zero_p): Return false for undefined ranges. - * range-op-float.cc (operator_gt::op1_op2_relation): Adjust for - contains_zero_p change above. - (operator_ge::op1_op2_relation): Same. - (operator_equal::op1_op2_relation): Same. - (operator_not_equal::op1_op2_relation): Same. - (operator_lt::op1_op2_relation): Same. - (operator_le::op1_op2_relation): Same. - (operator_ge::op1_op2_relation): Same. - * range-op.cc (operator_equal::op1_op2_relation): Same. - (operator_not_equal::op1_op2_relation): Same. - (operator_lt::op1_op2_relation): Same. - (operator_le::op1_op2_relation): Same. - (operator_cast::op1_range): Same. - (set_nonzero_range_from_mask): Same. - (operator_bitwise_xor::op1_range): Same. - (operator_addr_expr::fold_range): Same. - (operator_addr_expr::op1_range): Same. - -2023-09-07 Andrew MacLeod - - PR tree-optimization/110875 - * gimple-range.cc (gimple_ranger::prefill_name): Only invoke - cache-prefilling routine when the ssa-name has no global value. - -2023-09-07 Vladimir N. Makarov - - PR target/111225 - * lra-constraints.cc (goal_reuse_alt_p): New global flag. - (process_alt_operands): Set up the flag. Clear flag for chosen - alternative with special memory constraints. - (process_alt_operands): Set up used insn alternative depending on the flag. - -2023-09-07 Juzhe-Zhong - - * config/riscv/autovec-vls.md: Add VLS mask modes mov patterns. - * config/riscv/riscv.md: Ditto. - * config/riscv/vector-iterators.md: Ditto. - * config/riscv/vector.md: Ditto. - -2023-09-07 David Malcolm - - * diagnostic-core.h (error_meta): New decl. - * diagnostic.cc (error_meta): New. - -2023-09-07 Jakub Jelinek - - PR c/102989 - * expr.cc (expand_expr_real_1): Don't call targetm.c.bitint_type_info - inside gcc_assert, as later code relies on it filling info variable. - * gimple-fold.cc (clear_padding_bitint_needs_padding_p, - clear_padding_type): Likewise. - * varasm.cc (output_constant): Likewise. - * fold-const.cc (native_encode_int, native_interpret_int): Likewise. - * stor-layout.cc (finish_bitfield_representative, layout_type): - Likewise. - * gimple-lower-bitint.cc (bitint_precision_kind): Likewise. - -2023-09-07 Xi Ruoyao - - PR target/111252 - * config/loongarch/loongarch-protos.h - (loongarch_pre_reload_split): Declare new function. - (loongarch_use_bstrins_for_ior_with_mask): Likewise. - * config/loongarch/loongarch.cc - (loongarch_pre_reload_split): Implement. - (loongarch_use_bstrins_for_ior_with_mask): Likewise. - * config/loongarch/predicates.md (ins_zero_bitmask_operand): - New predicate. - * config/loongarch/loongarch.md (bstrins__for_mask): - New define_insn_and_split. - (bstrins__for_ior_mask): Likewise. - (define_peephole2): Further optimize code sequence produced by - bstrins__for_ior_mask if possible. - -2023-09-07 Richard Sandiford - - * lra-eliminations.cc (lra_eliminate_regs_1): Use simplify_gen_binary - rather than gen_rtx_PLUS. - -2023-09-07 Juzhe-Zhong - - PR target/111313 - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::cleanup_earliest_vsetvls): Remove. - (pass_vsetvl::df_post_optimization): Remove incorrect function. - -2023-09-07 Tsukasa OI - - * common/config/riscv/riscv-common.cc (riscv_ext_flag_table): - Parse 'XVentanaCondOps' extension. - * config/riscv/riscv-opts.h (MASK_XVENTANACONDOPS): New. - (TARGET_XVENTANACONDOPS): Ditto. - (TARGET_ZICOND_LIKE): New to represent targets with conditional - moves like 'Zicond'. It includes RV64 + 'XVentanaCondOps'. - * config/riscv/riscv.cc (riscv_rtx_costs): Replace TARGET_ZICOND - with TARGET_ZICOND_LIKE. - (riscv_expand_conditional_move): Ditto. - * config/riscv/riscv.md (movcc): Replace TARGET_ZICOND with - TARGET_ZICOND_LIKE. - * config/riscv/riscv.opt: Add new riscv_xventana_subext. - * config/riscv/zicond.md: Modify description. - (eqz_ventana): New to match corresponding czero instructions. - (nez_ventana): Ditto. - (*czero..): Emit a 'XVentanaCondOps' instruction if - 'Zicond' is not available but 'XVentanaCondOps' + RV64 is. - (*czero..): Ditto. - (*czero.eqz..opt1): Ditto. - (*czero.nez..opt2): Ditto. - -2023-09-06 Ian Lance Taylor - - PR go/111310 - * godump.cc (go_format_type): Handle BITINT_TYPE. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * tree.cc (build_one_cst, build_minus_one_cst): Handle BITINT_TYPE - like INTEGER_TYPE. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * gimple-lower-bitint.cc (bitint_large_huge::if_then_else, - bitint_large_huge::if_then_if_then_else): Use make_single_succ_edge - rather than make_edge, initialize bb->count. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * doc/libgcc.texi (Bit-precise integer arithmetic functions): - Document general rules for _BitInt support library functions - and document __mulbitint3 and __divmodbitint4. - (Conversion functions): Document __fix{s,d,x,t}fbitint, - __floatbitint{s,d,x,t,h,b}f, __bid_fix{s,d,t}dbitint and - __bid_floatbitint{s,d,t}d. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * glimits.h (BITINT_MAXWIDTH): Define if __BITINT_MAXWIDTH__ is - predefined. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * internal-fn.cc (expand_ubsan_result_store): Add LHS, MODE and - DO_ERROR arguments. For non-mode precision BITINT_TYPE results - check if all padding bits up to mode precision are zeros or sign - bit copies and if not, jump to DO_ERROR. - (expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow): - Adjust expand_ubsan_result_store callers. - * ubsan.cc: Include target.h and langhooks.h. - (ubsan_encode_value): Pass BITINT_TYPE values which fit into pointer - size converted to pointer sized integer, pass BITINT_TYPE values - which fit into TImode (if supported) or DImode as those integer types - or otherwise for now punt (pass 0). - (ubsan_type_descriptor): Handle BITINT_TYPE. For pstyle of - UBSAN_PRINT_FORCE_INT use TK_Integer (0x0000) mode with a - TImode/DImode precision rather than TK_Unknown used otherwise for - large/huge BITINT_TYPEs. - (instrument_si_overflow): Instrument BITINT_TYPE operations even when - they don't have mode precision. - * ubsan.h (enum ubsan_print_style): New enumerator. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * config/i386/i386.cc (classify_argument): Handle BITINT_TYPE. - (ix86_bitint_type_info): New function. - (TARGET_C_BITINT_TYPE_INFO): Redefine. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * Makefile.in (OBJS): Add gimple-lower-bitint.o. - * passes.def: Add pass_lower_bitint after pass_lower_complex and - pass_lower_bitint_O0 after pass_lower_complex_O0. - * tree-pass.h (PROP_gimple_lbitint): Define. - (make_pass_lower_bitint_O0, make_pass_lower_bitint): Declare. - * gimple-lower-bitint.h: New file. - * tree-ssa-live.h (struct _var_map): Add bitint member. - (init_var_map): Adjust declaration. - (region_contains_p): Handle map->bitint like map->outofssa_p. - * tree-ssa-live.cc (init_var_map): Add BITINT argument, initialize - map->bitint and set map->outofssa_p to false if it is non-NULL. - * tree-ssa-coalesce.cc: Include gimple-lower-bitint.h. - (build_ssa_conflict_graph): Call build_bitint_stmt_ssa_conflicts if - map->bitint. - (create_coalesce_list_for_region): For map->bitint ignore SSA_NAMEs - not in that bitmap, and allow res without default def. - (compute_optimized_partition_bases): In map->bitint mode try hard to - coalesce any SSA_NAMEs with the same size. - (coalesce_bitint): New function. - (coalesce_ssa_name): In map->bitint mode, or map->bitmap into - used_in_copies and call coalesce_bitint. - * gimple-lower-bitint.cc: New file. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * tree.def (BITINT_TYPE): New type. - * tree.h (TREE_CHECK6, TREE_NOT_CHECK6): Define. - (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Include - BITINT_TYPE. - (BITINT_TYPE_P): Define. - (CONSTRUCTOR_BITFIELD_P): Return true even for BLKmode bit-fields if - they have BITINT_TYPE type. - (tree_check6, tree_not_check6): New inline functions. - (any_integral_type_check): Include BITINT_TYPE. - (build_bitint_type): Declare. - * tree.cc (tree_code_size, wide_int_to_tree_1, cache_integer_cst, - build_zero_cst, type_hash_canon_hash, type_cache_hasher::equal, - type_hash_canon): Handle BITINT_TYPE. - (bitint_type_cache): New variable. - (build_bitint_type): New function. - (signed_or_unsigned_type_for, verify_type_variant, verify_type): - Handle BITINT_TYPE. - (tree_cc_finalize): Free bitint_type_cache. - * builtins.cc (type_to_class): Handle BITINT_TYPE. - (fold_builtin_unordered_cmp): Handle BITINT_TYPE like INTEGER_TYPE. - * cfgexpand.cc (expand_debug_expr): Punt on BLKmode BITINT_TYPE - INTEGER_CSTs. - * convert.cc (convert_to_pointer_1, convert_to_real_1, - convert_to_complex_1): Handle BITINT_TYPE like INTEGER_TYPE. - (convert_to_integer_1): Likewise. For BITINT_TYPE don't check - GET_MODE_PRECISION (TYPE_MODE (type)). - * doc/generic.texi (BITINT_TYPE): Document. - * doc/tm.texi.in (TARGET_C_BITINT_TYPE_INFO): New. - * doc/tm.texi: Regenerated. - * dwarf2out.cc (base_type_die, is_base_type, modified_type_die, - gen_type_die_with_usage): Handle BITINT_TYPE. - (rtl_for_decl_init): Punt on BLKmode BITINT_TYPE INTEGER_CSTs or - handle those which fit into shwi. - * expr.cc (expand_expr_real_1): Define EXTEND_BITINT macro, reduce - to bitfield precision reads from BITINT_TYPE vars, parameters or - memory locations. Expand large/huge BITINT_TYPE INTEGER_CSTs into - memory. - * fold-const.cc (fold_convert_loc, make_range_step): Handle - BITINT_TYPE. - (extract_muldiv_1): For BITINT_TYPE use TYPE_PRECISION rather than - GET_MODE_SIZE (SCALAR_INT_TYPE_MODE). - (native_encode_int, native_interpret_int, native_interpret_expr): - Handle BITINT_TYPE. - * gimple-expr.cc (useless_type_conversion_p): Make BITINT_TYPE - to some other integral type or vice versa conversions non-useless. - * gimple-fold.cc (gimple_fold_builtin_memset): Punt for BITINT_TYPE. - (clear_padding_unit): Mention in comment that _BitInt types don't need - to fit either. - (clear_padding_bitint_needs_padding_p): New function. - (clear_padding_type_may_have_padding_p): Handle BITINT_TYPE. - (clear_padding_type): Likewise. - * internal-fn.cc (expand_mul_overflow): For unsigned non-mode - precision operands force pos_neg? to 1. - (expand_MULBITINT, expand_DIVMODBITINT, expand_FLOATTOBITINT, - expand_BITINTTOFLOAT): New functions. - * internal-fn.def (MULBITINT, DIVMODBITINT, FLOATTOBITINT, - BITINTTOFLOAT): New internal functions. - * internal-fn.h (expand_MULBITINT, expand_DIVMODBITINT, - expand_FLOATTOBITINT, expand_BITINTTOFLOAT): Declare. - * match.pd (non-equality compare simplifications from fold_binary): - Punt if TYPE_MODE (arg1_type) is BLKmode. - * pretty-print.h (pp_wide_int): Handle printing of large precision - wide_ints which would buffer overflow digit_buffer. - * stor-layout.cc (finish_bitfield_representative): For bit-fields - with BITINT_TYPE, prefer representatives with precisions in - multiple of limb precision. - (layout_type): Handle BITINT_TYPE. Handle COMPLEX_TYPE with BLKmode - element type and assert it is BITINT_TYPE. - * target.def (bitint_type_info): New C target hook. - * target.h (struct bitint_info): New type. - * targhooks.cc (default_bitint_type_info): New function. - * targhooks.h (default_bitint_type_info): Declare. - * tree-pretty-print.cc (dump_generic_node): Handle BITINT_TYPE. - Handle printing large wide_ints which would buffer overflow - digit_buffer. - * tree-ssa-sccvn.cc: Include target.h. - (eliminate_dom_walker::eliminate_stmt): Punt for large/huge - BITINT_TYPE. - * tree-switch-conversion.cc (jump_table_cluster::emit): For more than - 64-bit BITINT_TYPE subtract low bound from expression and cast to - 64-bit integer type both the controlling expression and case labels. - * typeclass.h (enum type_class): Add bitint_type_class enumerator. - * varasm.cc (output_constant): Handle BITINT_TYPE INTEGER_CSTs. - * vr-values.cc (check_for_binary_op_overflow): Use widest2_int rather - than widest_int. - (simplify_using_ranges::simplify_internal_call_using_ranges): Use - unsigned_type_for rather than build_nonstandard_integer_type. - -2023-09-06 Juzhe-Zhong - - PR target/111296 - * config/riscv/riscv.cc (riscv_modes_tieable_p): Fix incorrect mode - tieable for RVV modes. - -2023-09-06 Juzhe-Zhong - - PR target/111295 - * config/riscv/riscv-vsetvl.cc (insert_vsetvl): Bug fix. - -2023-09-06 Juzhe-Zhong - - * config/riscv/riscv-vector-switch.def (VLS_ENTRY): Remove TARGET_64BIT - -2023-09-06 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.cc (xtensa_expand_scc): - Add code for particular constants (only 0 and INT_MIN for now) - for EQ/NE boolean evaluation in SImode. - * config/xtensa/xtensa.md (*eqne_INT_MIN): Remove because its - implementation has been integrated into the above. - -2023-09-06 Lehua Ding - - PR target/111232 - * config/riscv/autovec-opt.md (@pred_single_widen_mul): - Delete. - (*pred_widen_mulsu): Delete. - (*pred_single_widen_mul): Delete. - (*dual_widen_): - Add new combine patterns. - (*single_widen_sub): Ditto. - (*single_widen_add): Ditto. - (*single_widen_mult): Ditto. - (*dual_widen_mulsu): Ditto. - (*dual_widen_mulus): Ditto. - (*dual_widen_): Ditto. - (*single_widen_add): Ditto. - (*single_widen_sub): Ditto. - (*single_widen_mult): Ditto. - * config/riscv/autovec.md (3): - Change define_expand to define_insn_and_split. - (2): Ditto. - (abs2): Ditto. - (smul3_highpart): Ditto. - (umul3_highpart): Ditto. - -2023-09-06 Lehua Ding - - * config/riscv/riscv-protos.h (riscv_declare_function_name): Add protos. - (riscv_asm_output_alias): Ditto. - (riscv_asm_output_external): Ditto. - * config/riscv/riscv.cc (riscv_asm_output_variant_cc): - Output .variant_cc directive for vector function. - (riscv_declare_function_name): Ditto. - (riscv_asm_output_alias): Ditto. - (riscv_asm_output_external): Ditto. - * config/riscv/riscv.h (ASM_DECLARE_FUNCTION_NAME): - Implement ASM_DECLARE_FUNCTION_NAME. - (ASM_OUTPUT_DEF_FROM_DECLS): Implement ASM_OUTPUT_DEF_FROM_DECLS. - (ASM_OUTPUT_EXTERNAL): Implement ASM_OUTPUT_EXTERNAL. - -2023-09-06 Lehua Ding - - * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls): Pass riscv_cc. - * config/riscv/riscv.cc (struct riscv_frame_info): Add new fileds. - (riscv_frame_info::reset): Reset new fileds. - (riscv_call_tls_get_addr): Pass riscv_cc. - (riscv_function_arg): Return riscv_cc for call patterm. - (get_riscv_cc): New function return riscv_cc from rtl call_insn. - (riscv_insn_callee_abi): Implement TARGET_INSN_CALLEE_ABI. - (riscv_save_reg_p): Add vector callee-saved check. - (riscv_stack_align): Add vector save area comment. - (riscv_compute_frame_info): Ditto. - (riscv_restore_reg): Update for type change. - (riscv_for_each_saved_v_reg): New function save vector registers. - (riscv_first_stack_step): Handle funciton with vector callee-saved registers. - (riscv_expand_prologue): Ditto. - (riscv_expand_epilogue): Ditto. - (riscv_output_mi_thunk): Pass riscv_cc. - (TARGET_INSN_CALLEE_ABI): Implement TARGET_INSN_CALLEE_ABI. - * config/riscv/riscv.h (get_riscv_cc): Export get_riscv_cc function. - * config/riscv/riscv.md: Add CALLEE_CC operand for call pattern. - -2023-09-06 Lehua Ding - - * config/riscv/riscv-protos.h (builtin_type_p): New function for checking vector type. - * config/riscv/riscv-vector-builtins.cc (builtin_type_p): Ditto. - * config/riscv/riscv.cc (struct riscv_arg_info): New fields. - (riscv_init_cumulative_args): Setup variant_cc field. - (riscv_vector_type_p): New function for checking vector type. - (riscv_hard_regno_nregs): Hoist declare. - (riscv_get_vector_arg): Subroutine of riscv_get_arg_info. - (riscv_get_arg_info): Support vector cc. - (riscv_function_arg_advance): Update cum. - (riscv_pass_by_reference): Handle vector args. - (riscv_v_abi): New function return vector abi. - (riscv_return_value_is_vector_type_p): New function for check vector arguments. - (riscv_arguments_is_vector_type_p): New function for check vector returns. - (riscv_fntype_abi): Implement TARGET_FNTYPE_ABI. - (TARGET_FNTYPE_ABI): Implement TARGET_FNTYPE_ABI. - * config/riscv/riscv.h (GCC_RISCV_H): Define macros for vector abi. - (MAX_ARGS_IN_VECTOR_REGISTERS): Ditto. - (MAX_ARGS_IN_MASK_REGISTERS): Ditto. - (V_ARG_FIRST): Ditto. - (V_ARG_LAST): Ditto. - (enum riscv_cc): Define all RISCV_CC variants. - * config/riscv/riscv.opt: Add --param=riscv-vector-abi. - -2023-09-06 Lehua Ding - - * config/riscv/autovec-opt.md (*cond_): - Add sqrt + vcond_mask combine pattern. - * config/riscv/autovec.md (2): - Change define_expand to define_insn_and_split. - -2023-09-06 Jason Merrill - - * common.opt: Update -fabi-version=19. - -2023-09-06 Tsukasa OI - - * config/riscv/zicond.md: Add closing parent to a comment. - -2023-09-06 Tsukasa OI - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Force - large constant cons/alt into a register. - -2023-09-05 Christoph Müllner - - * config/riscv/riscv.cc (riscv_build_integer_1): Don't - require one zero bit in the upper 32 bits for LI+RORI synthesis. - -2023-09-05 Jeff Law - - * config/riscv/bitmanip.md (bswapsi2): Expose for TARGET_64BIT. - -2023-09-05 Andrew Pinski - - PR tree-optimization/98710 - * match.pd (`(x | c) & ~(y | c)`, `(x & c) | ~(y & c)`): New pattern. - (`x & ~(y | x)`, `x | ~(y & x)`): New patterns. - -2023-09-05 Andrew Pinski - - PR tree-optimization/103536 - * match.pd (`(x | y) & (x & z)`, - `(x & y) | (x | z)`): New patterns. - -2023-09-05 Andrew Pinski - - PR tree-optimization/107137 - * match.pd (`(nop_convert)-(convert)a`): New pattern. - -2023-09-05 Andrew Pinski - - PR tree-optimization/96694 - * match.pd (`~MAX(~X, Y)`, `~MIN(~X, Y)`): New patterns. - -2023-09-05 Andrew Pinski - - PR tree-optimization/105832 - * match.pd (`(1 >> X) != 0`): New pattern - -2023-09-05 Edwin Lu - - * config/riscv/riscv.md: Update/Add types - -2023-09-05 Edwin Lu - - * config/riscv/pic.md: Update types - -2023-09-05 Christoph Müllner - - * config/riscv/riscv.cc (riscv_build_integer_1): Enable constant - synthesis with rotate-right for XTheadBb. - -2023-09-05 Vineet Gupta - - * config/riscv/zicond.md: Fix op2 pattern. - -2023-09-05 Szabolcs Nagy - - * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): Remove dup. - -2023-09-05 Xi Ruoyao - - * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS): - Define to 0 if not defined yet. - -2023-09-05 Kito Cheng - - * config/riscv/linux.h (TARGET_ASM_FILE_END): Move ... - * config/riscv/riscv.cc (TARGET_ASM_FILE_END): to here. - -2023-09-05 Pan Li - - * config/riscv/autovec-vls.md (copysign3): New pattern. - * config/riscv/vector.md: Extend iterator for VLS. - -2023-09-05 Lulu Cheng - - * config.gcc: Export the header file lasxintrin.h. - * config/loongarch/loongarch-builtins.cc (enum loongarch_builtin_type): - Add Loongson ASX builtin functions support. - (AVAIL_ALL): Ditto. - (LASX_BUILTIN): Ditto. - (LASX_NO_TARGET_BUILTIN): Ditto. - (LASX_BUILTIN_TEST_BRANCH): Ditto. - (CODE_FOR_lasx_xvsadd_b): Ditto. - (CODE_FOR_lasx_xvsadd_h): Ditto. - (CODE_FOR_lasx_xvsadd_w): Ditto. - (CODE_FOR_lasx_xvsadd_d): Ditto. - (CODE_FOR_lasx_xvsadd_bu): Ditto. - (CODE_FOR_lasx_xvsadd_hu): Ditto. - (CODE_FOR_lasx_xvsadd_wu): Ditto. - (CODE_FOR_lasx_xvsadd_du): Ditto. - (CODE_FOR_lasx_xvadd_b): Ditto. - (CODE_FOR_lasx_xvadd_h): Ditto. - (CODE_FOR_lasx_xvadd_w): Ditto. - (CODE_FOR_lasx_xvadd_d): Ditto. - (CODE_FOR_lasx_xvaddi_bu): Ditto. - (CODE_FOR_lasx_xvaddi_hu): Ditto. - (CODE_FOR_lasx_xvaddi_wu): Ditto. - (CODE_FOR_lasx_xvaddi_du): Ditto. - (CODE_FOR_lasx_xvand_v): Ditto. - (CODE_FOR_lasx_xvandi_b): Ditto. - (CODE_FOR_lasx_xvbitsel_v): Ditto. - (CODE_FOR_lasx_xvseqi_b): Ditto. - (CODE_FOR_lasx_xvseqi_h): Ditto. - (CODE_FOR_lasx_xvseqi_w): Ditto. - (CODE_FOR_lasx_xvseqi_d): Ditto. - (CODE_FOR_lasx_xvslti_b): Ditto. - (CODE_FOR_lasx_xvslti_h): Ditto. - (CODE_FOR_lasx_xvslti_w): Ditto. - (CODE_FOR_lasx_xvslti_d): Ditto. - (CODE_FOR_lasx_xvslti_bu): Ditto. - (CODE_FOR_lasx_xvslti_hu): Ditto. - (CODE_FOR_lasx_xvslti_wu): Ditto. - (CODE_FOR_lasx_xvslti_du): Ditto. - (CODE_FOR_lasx_xvslei_b): Ditto. - (CODE_FOR_lasx_xvslei_h): Ditto. - (CODE_FOR_lasx_xvslei_w): Ditto. - (CODE_FOR_lasx_xvslei_d): Ditto. - (CODE_FOR_lasx_xvslei_bu): Ditto. - (CODE_FOR_lasx_xvslei_hu): Ditto. - (CODE_FOR_lasx_xvslei_wu): Ditto. - (CODE_FOR_lasx_xvslei_du): Ditto. - (CODE_FOR_lasx_xvdiv_b): Ditto. - (CODE_FOR_lasx_xvdiv_h): Ditto. - (CODE_FOR_lasx_xvdiv_w): Ditto. - (CODE_FOR_lasx_xvdiv_d): Ditto. - (CODE_FOR_lasx_xvdiv_bu): Ditto. - (CODE_FOR_lasx_xvdiv_hu): Ditto. - (CODE_FOR_lasx_xvdiv_wu): Ditto. - (CODE_FOR_lasx_xvdiv_du): Ditto. - (CODE_FOR_lasx_xvfadd_s): Ditto. - (CODE_FOR_lasx_xvfadd_d): Ditto. - (CODE_FOR_lasx_xvftintrz_w_s): Ditto. - (CODE_FOR_lasx_xvftintrz_l_d): Ditto. - (CODE_FOR_lasx_xvftintrz_wu_s): Ditto. - (CODE_FOR_lasx_xvftintrz_lu_d): Ditto. - (CODE_FOR_lasx_xvffint_s_w): Ditto. - (CODE_FOR_lasx_xvffint_d_l): Ditto. - (CODE_FOR_lasx_xvffint_s_wu): Ditto. - (CODE_FOR_lasx_xvffint_d_lu): Ditto. - (CODE_FOR_lasx_xvfsub_s): Ditto. - (CODE_FOR_lasx_xvfsub_d): Ditto. - (CODE_FOR_lasx_xvfmul_s): Ditto. - (CODE_FOR_lasx_xvfmul_d): Ditto. - (CODE_FOR_lasx_xvfdiv_s): Ditto. - (CODE_FOR_lasx_xvfdiv_d): Ditto. - (CODE_FOR_lasx_xvfmax_s): Ditto. - (CODE_FOR_lasx_xvfmax_d): Ditto. - (CODE_FOR_lasx_xvfmin_s): Ditto. - (CODE_FOR_lasx_xvfmin_d): Ditto. - (CODE_FOR_lasx_xvfsqrt_s): Ditto. - (CODE_FOR_lasx_xvfsqrt_d): Ditto. - (CODE_FOR_lasx_xvflogb_s): Ditto. - (CODE_FOR_lasx_xvflogb_d): Ditto. - (CODE_FOR_lasx_xvmax_b): Ditto. - (CODE_FOR_lasx_xvmax_h): Ditto. - (CODE_FOR_lasx_xvmax_w): Ditto. - (CODE_FOR_lasx_xvmax_d): Ditto. - (CODE_FOR_lasx_xvmaxi_b): Ditto. - (CODE_FOR_lasx_xvmaxi_h): Ditto. - (CODE_FOR_lasx_xvmaxi_w): Ditto. - (CODE_FOR_lasx_xvmaxi_d): Ditto. - (CODE_FOR_lasx_xvmax_bu): Ditto. - (CODE_FOR_lasx_xvmax_hu): Ditto. - (CODE_FOR_lasx_xvmax_wu): Ditto. - (CODE_FOR_lasx_xvmax_du): Ditto. - (CODE_FOR_lasx_xvmaxi_bu): Ditto. - (CODE_FOR_lasx_xvmaxi_hu): Ditto. - (CODE_FOR_lasx_xvmaxi_wu): Ditto. - (CODE_FOR_lasx_xvmaxi_du): Ditto. - (CODE_FOR_lasx_xvmin_b): Ditto. - (CODE_FOR_lasx_xvmin_h): Ditto. - (CODE_FOR_lasx_xvmin_w): Ditto. - (CODE_FOR_lasx_xvmin_d): Ditto. - (CODE_FOR_lasx_xvmini_b): Ditto. - (CODE_FOR_lasx_xvmini_h): Ditto. - (CODE_FOR_lasx_xvmini_w): Ditto. - (CODE_FOR_lasx_xvmini_d): Ditto. - (CODE_FOR_lasx_xvmin_bu): Ditto. - (CODE_FOR_lasx_xvmin_hu): Ditto. - (CODE_FOR_lasx_xvmin_wu): Ditto. - (CODE_FOR_lasx_xvmin_du): Ditto. - (CODE_FOR_lasx_xvmini_bu): Ditto. - (CODE_FOR_lasx_xvmini_hu): Ditto. - (CODE_FOR_lasx_xvmini_wu): Ditto. - (CODE_FOR_lasx_xvmini_du): Ditto. - (CODE_FOR_lasx_xvmod_b): Ditto. - (CODE_FOR_lasx_xvmod_h): Ditto. - (CODE_FOR_lasx_xvmod_w): Ditto. - (CODE_FOR_lasx_xvmod_d): Ditto. - (CODE_FOR_lasx_xvmod_bu): Ditto. - (CODE_FOR_lasx_xvmod_hu): Ditto. - (CODE_FOR_lasx_xvmod_wu): Ditto. - (CODE_FOR_lasx_xvmod_du): Ditto. - (CODE_FOR_lasx_xvmul_b): Ditto. - (CODE_FOR_lasx_xvmul_h): Ditto. - (CODE_FOR_lasx_xvmul_w): Ditto. - (CODE_FOR_lasx_xvmul_d): Ditto. - (CODE_FOR_lasx_xvclz_b): Ditto. - (CODE_FOR_lasx_xvclz_h): Ditto. - (CODE_FOR_lasx_xvclz_w): Ditto. - (CODE_FOR_lasx_xvclz_d): Ditto. - (CODE_FOR_lasx_xvnor_v): Ditto. - (CODE_FOR_lasx_xvor_v): Ditto. - (CODE_FOR_lasx_xvori_b): Ditto. - (CODE_FOR_lasx_xvnori_b): Ditto. - (CODE_FOR_lasx_xvpcnt_b): Ditto. - (CODE_FOR_lasx_xvpcnt_h): Ditto. - (CODE_FOR_lasx_xvpcnt_w): Ditto. - (CODE_FOR_lasx_xvpcnt_d): Ditto. - (CODE_FOR_lasx_xvxor_v): Ditto. - (CODE_FOR_lasx_xvxori_b): Ditto. - (CODE_FOR_lasx_xvsll_b): Ditto. - (CODE_FOR_lasx_xvsll_h): Ditto. - (CODE_FOR_lasx_xvsll_w): Ditto. - (CODE_FOR_lasx_xvsll_d): Ditto. - (CODE_FOR_lasx_xvslli_b): Ditto. - (CODE_FOR_lasx_xvslli_h): Ditto. - (CODE_FOR_lasx_xvslli_w): Ditto. - (CODE_FOR_lasx_xvslli_d): Ditto. - (CODE_FOR_lasx_xvsra_b): Ditto. - (CODE_FOR_lasx_xvsra_h): Ditto. - (CODE_FOR_lasx_xvsra_w): Ditto. - (CODE_FOR_lasx_xvsra_d): Ditto. - (CODE_FOR_lasx_xvsrai_b): Ditto. - (CODE_FOR_lasx_xvsrai_h): Ditto. - (CODE_FOR_lasx_xvsrai_w): Ditto. - (CODE_FOR_lasx_xvsrai_d): Ditto. - (CODE_FOR_lasx_xvsrl_b): Ditto. - (CODE_FOR_lasx_xvsrl_h): Ditto. - (CODE_FOR_lasx_xvsrl_w): Ditto. - (CODE_FOR_lasx_xvsrl_d): Ditto. - (CODE_FOR_lasx_xvsrli_b): Ditto. - (CODE_FOR_lasx_xvsrli_h): Ditto. - (CODE_FOR_lasx_xvsrli_w): Ditto. - (CODE_FOR_lasx_xvsrli_d): Ditto. - (CODE_FOR_lasx_xvsub_b): Ditto. - (CODE_FOR_lasx_xvsub_h): Ditto. - (CODE_FOR_lasx_xvsub_w): Ditto. - (CODE_FOR_lasx_xvsub_d): Ditto. - (CODE_FOR_lasx_xvsubi_bu): Ditto. - (CODE_FOR_lasx_xvsubi_hu): Ditto. - (CODE_FOR_lasx_xvsubi_wu): Ditto. - (CODE_FOR_lasx_xvsubi_du): Ditto. - (CODE_FOR_lasx_xvpackod_d): Ditto. - (CODE_FOR_lasx_xvpackev_d): Ditto. - (CODE_FOR_lasx_xvpickod_d): Ditto. - (CODE_FOR_lasx_xvpickev_d): Ditto. - (CODE_FOR_lasx_xvrepli_b): Ditto. - (CODE_FOR_lasx_xvrepli_h): Ditto. - (CODE_FOR_lasx_xvrepli_w): Ditto. - (CODE_FOR_lasx_xvrepli_d): Ditto. - (CODE_FOR_lasx_xvandn_v): Ditto. - (CODE_FOR_lasx_xvorn_v): Ditto. - (CODE_FOR_lasx_xvneg_b): Ditto. - (CODE_FOR_lasx_xvneg_h): Ditto. - (CODE_FOR_lasx_xvneg_w): Ditto. - (CODE_FOR_lasx_xvneg_d): Ditto. - (CODE_FOR_lasx_xvbsrl_v): Ditto. - (CODE_FOR_lasx_xvbsll_v): Ditto. - (CODE_FOR_lasx_xvfmadd_s): Ditto. - (CODE_FOR_lasx_xvfmadd_d): Ditto. - (CODE_FOR_lasx_xvfmsub_s): Ditto. - (CODE_FOR_lasx_xvfmsub_d): Ditto. - (CODE_FOR_lasx_xvfnmadd_s): Ditto. - (CODE_FOR_lasx_xvfnmadd_d): Ditto. - (CODE_FOR_lasx_xvfnmsub_s): Ditto. - (CODE_FOR_lasx_xvfnmsub_d): Ditto. - (CODE_FOR_lasx_xvpermi_q): Ditto. - (CODE_FOR_lasx_xvpermi_d): Ditto. - (CODE_FOR_lasx_xbnz_v): Ditto. - (CODE_FOR_lasx_xbz_v): Ditto. - (CODE_FOR_lasx_xvssub_b): Ditto. - (CODE_FOR_lasx_xvssub_h): Ditto. - (CODE_FOR_lasx_xvssub_w): Ditto. - (CODE_FOR_lasx_xvssub_d): Ditto. - (CODE_FOR_lasx_xvssub_bu): Ditto. - (CODE_FOR_lasx_xvssub_hu): Ditto. - (CODE_FOR_lasx_xvssub_wu): Ditto. - (CODE_FOR_lasx_xvssub_du): Ditto. - (CODE_FOR_lasx_xvabsd_b): Ditto. - (CODE_FOR_lasx_xvabsd_h): Ditto. - (CODE_FOR_lasx_xvabsd_w): Ditto. - (CODE_FOR_lasx_xvabsd_d): Ditto. - (CODE_FOR_lasx_xvabsd_bu): Ditto. - (CODE_FOR_lasx_xvabsd_hu): Ditto. - (CODE_FOR_lasx_xvabsd_wu): Ditto. - (CODE_FOR_lasx_xvabsd_du): Ditto. - (CODE_FOR_lasx_xvavg_b): Ditto. - (CODE_FOR_lasx_xvavg_h): Ditto. - (CODE_FOR_lasx_xvavg_w): Ditto. - (CODE_FOR_lasx_xvavg_d): Ditto. - (CODE_FOR_lasx_xvavg_bu): Ditto. - (CODE_FOR_lasx_xvavg_hu): Ditto. - (CODE_FOR_lasx_xvavg_wu): Ditto. - (CODE_FOR_lasx_xvavg_du): Ditto. - (CODE_FOR_lasx_xvavgr_b): Ditto. - (CODE_FOR_lasx_xvavgr_h): Ditto. - (CODE_FOR_lasx_xvavgr_w): Ditto. - (CODE_FOR_lasx_xvavgr_d): Ditto. - (CODE_FOR_lasx_xvavgr_bu): Ditto. - (CODE_FOR_lasx_xvavgr_hu): Ditto. - (CODE_FOR_lasx_xvavgr_wu): Ditto. - (CODE_FOR_lasx_xvavgr_du): Ditto. - (CODE_FOR_lasx_xvmuh_b): Ditto. - (CODE_FOR_lasx_xvmuh_h): Ditto. - (CODE_FOR_lasx_xvmuh_w): Ditto. - (CODE_FOR_lasx_xvmuh_d): Ditto. - (CODE_FOR_lasx_xvmuh_bu): Ditto. - (CODE_FOR_lasx_xvmuh_hu): Ditto. - (CODE_FOR_lasx_xvmuh_wu): Ditto. - (CODE_FOR_lasx_xvmuh_du): Ditto. - (CODE_FOR_lasx_xvssran_b_h): Ditto. - (CODE_FOR_lasx_xvssran_h_w): Ditto. - (CODE_FOR_lasx_xvssran_w_d): Ditto. - (CODE_FOR_lasx_xvssran_bu_h): Ditto. - (CODE_FOR_lasx_xvssran_hu_w): Ditto. - (CODE_FOR_lasx_xvssran_wu_d): Ditto. - (CODE_FOR_lasx_xvssrarn_b_h): Ditto. - (CODE_FOR_lasx_xvssrarn_h_w): Ditto. - (CODE_FOR_lasx_xvssrarn_w_d): Ditto. - (CODE_FOR_lasx_xvssrarn_bu_h): Ditto. - (CODE_FOR_lasx_xvssrarn_hu_w): Ditto. - (CODE_FOR_lasx_xvssrarn_wu_d): Ditto. - (CODE_FOR_lasx_xvssrln_bu_h): Ditto. - (CODE_FOR_lasx_xvssrln_hu_w): Ditto. - (CODE_FOR_lasx_xvssrln_wu_d): Ditto. - (CODE_FOR_lasx_xvssrlrn_bu_h): Ditto. - (CODE_FOR_lasx_xvssrlrn_hu_w): Ditto. - (CODE_FOR_lasx_xvssrlrn_wu_d): Ditto. - (CODE_FOR_lasx_xvftint_w_s): Ditto. - (CODE_FOR_lasx_xvftint_l_d): Ditto. - (CODE_FOR_lasx_xvftint_wu_s): Ditto. - (CODE_FOR_lasx_xvftint_lu_d): Ditto. - (CODE_FOR_lasx_xvsllwil_h_b): Ditto. - (CODE_FOR_lasx_xvsllwil_w_h): Ditto. - (CODE_FOR_lasx_xvsllwil_d_w): Ditto. - (CODE_FOR_lasx_xvsllwil_hu_bu): Ditto. - (CODE_FOR_lasx_xvsllwil_wu_hu): Ditto. - (CODE_FOR_lasx_xvsllwil_du_wu): Ditto. - (CODE_FOR_lasx_xvsat_b): Ditto. - (CODE_FOR_lasx_xvsat_h): Ditto. - (CODE_FOR_lasx_xvsat_w): Ditto. - (CODE_FOR_lasx_xvsat_d): Ditto. - (CODE_FOR_lasx_xvsat_bu): Ditto. - (CODE_FOR_lasx_xvsat_hu): Ditto. - (CODE_FOR_lasx_xvsat_wu): Ditto. - (CODE_FOR_lasx_xvsat_du): Ditto. - (loongarch_builtin_vectorized_function): Ditto. - (loongarch_expand_builtin_insn): Ditto. - (loongarch_expand_builtin): Ditto. - * config/loongarch/loongarch-ftypes.def (1): Ditto. - (2): Ditto. - (3): Ditto. - (4): Ditto. - * config/loongarch/lasxintrin.h: New file. - -2023-09-05 Lulu Cheng - - * config/loongarch/loongarch-modes.def - (VECTOR_MODES): Add Loongson ASX instruction support. - * config/loongarch/loongarch-protos.h (loongarch_split_256bit_move): Ditto. - (loongarch_split_256bit_move_p): Ditto. - (loongarch_expand_vector_group_init): Ditto. - (loongarch_expand_vec_perm_1): Ditto. - * config/loongarch/loongarch.cc (loongarch_symbol_insns): Ditto. - (loongarch_valid_offset_p): Ditto. - (loongarch_address_insns): Ditto. - (loongarch_const_insns): Ditto. - (loongarch_legitimize_move): Ditto. - (loongarch_builtin_vectorization_cost): Ditto. - (loongarch_split_move_p): Ditto. - (loongarch_split_move): Ditto. - (loongarch_output_move_index_float): Ditto. - (loongarch_split_256bit_move_p): Ditto. - (loongarch_split_256bit_move): Ditto. - (loongarch_output_move): Ditto. - (loongarch_print_operand_reloc): Ditto. - (loongarch_print_operand): Ditto. - (loongarch_hard_regno_mode_ok_uncached): Ditto. - (loongarch_hard_regno_nregs): Ditto. - (loongarch_class_max_nregs): Ditto. - (loongarch_can_change_mode_class): Ditto. - (loongarch_mode_ok_for_mov_fmt_p): Ditto. - (loongarch_vector_mode_supported_p): Ditto. - (loongarch_preferred_simd_mode): Ditto. - (loongarch_autovectorize_vector_modes): Ditto. - (loongarch_lsx_output_division): Ditto. - (loongarch_expand_lsx_shuffle): Ditto. - (loongarch_expand_vec_perm): Ditto. - (loongarch_expand_vec_perm_interleave): Ditto. - (loongarch_try_expand_lsx_vshuf_const): Ditto. - (loongarch_expand_vec_perm_even_odd_1): Ditto. - (loongarch_expand_vec_perm_even_odd): Ditto. - (loongarch_expand_vec_perm_1): Ditto. - (loongarch_expand_vec_perm_const_2): Ditto. - (loongarch_is_quad_duplicate): Ditto. - (loongarch_is_double_duplicate): Ditto. - (loongarch_is_odd_extraction): Ditto. - (loongarch_is_even_extraction): Ditto. - (loongarch_is_extraction_permutation): Ditto. - (loongarch_is_center_extraction): Ditto. - (loongarch_is_reversing_permutation): Ditto. - (loongarch_is_di_misalign_extract): Ditto. - (loongarch_is_si_misalign_extract): Ditto. - (loongarch_is_lasx_lowpart_interleave): Ditto. - (loongarch_is_lasx_lowpart_interleave_2): Ditto. - (COMPARE_SELECTOR): Ditto. - (loongarch_is_lasx_lowpart_extract): Ditto. - (loongarch_is_lasx_highpart_interleave): Ditto. - (loongarch_is_lasx_highpart_interleave_2): Ditto. - (loongarch_is_elem_duplicate): Ditto. - (loongarch_is_op_reverse_perm): Ditto. - (loongarch_is_single_op_perm): Ditto. - (loongarch_is_divisible_perm): Ditto. - (loongarch_is_triple_stride_extract): Ditto. - (loongarch_vectorize_vec_perm_const): Ditto. - (loongarch_cpu_sched_reassociation_width): Ditto. - (loongarch_expand_vector_extract): Ditto. - (emit_reduc_half): Ditto. - (loongarch_expand_vec_unpack): Ditto. - (loongarch_expand_vector_group_init): Ditto. - (loongarch_expand_vector_init): Ditto. - (loongarch_expand_lsx_cmp): Ditto. - (loongarch_builtin_support_vector_misalignment): Ditto. - * config/loongarch/loongarch.h (UNITS_PER_LASX_REG): Ditto. - (BITS_PER_LASX_REG): Ditto. - (STRUCTURE_SIZE_BOUNDARY): Ditto. - (LASX_REG_FIRST): Ditto. - (LASX_REG_LAST): Ditto. - (LASX_REG_NUM): Ditto. - (LASX_REG_P): Ditto. - (LASX_REG_RTX_P): Ditto. - (LASX_SUPPORTED_MODE_P): Ditto. - * config/loongarch/loongarch.md: Ditto. - * config/loongarch/lasx.md: New file. - -2023-09-05 Lulu Cheng - - * config.gcc: Export the header file lsxintrin.h. - * config/loongarch/loongarch-builtins.cc (LARCH_FTYPE_NAME4): Add builtin function support. - (enum loongarch_builtin_type): Ditto. - (AVAIL_ALL): Ditto. - (LARCH_BUILTIN): Ditto. - (LSX_BUILTIN): Ditto. - (LSX_BUILTIN_TEST_BRANCH): Ditto. - (LSX_NO_TARGET_BUILTIN): Ditto. - (CODE_FOR_lsx_vsadd_b): Ditto. - (CODE_FOR_lsx_vsadd_h): Ditto. - (CODE_FOR_lsx_vsadd_w): Ditto. - (CODE_FOR_lsx_vsadd_d): Ditto. - (CODE_FOR_lsx_vsadd_bu): Ditto. - (CODE_FOR_lsx_vsadd_hu): Ditto. - (CODE_FOR_lsx_vsadd_wu): Ditto. - (CODE_FOR_lsx_vsadd_du): Ditto. - (CODE_FOR_lsx_vadd_b): Ditto. - (CODE_FOR_lsx_vadd_h): Ditto. - (CODE_FOR_lsx_vadd_w): Ditto. - (CODE_FOR_lsx_vadd_d): Ditto. - (CODE_FOR_lsx_vaddi_bu): Ditto. - (CODE_FOR_lsx_vaddi_hu): Ditto. - (CODE_FOR_lsx_vaddi_wu): Ditto. - (CODE_FOR_lsx_vaddi_du): Ditto. - (CODE_FOR_lsx_vand_v): Ditto. - (CODE_FOR_lsx_vandi_b): Ditto. - (CODE_FOR_lsx_bnz_v): Ditto. - (CODE_FOR_lsx_bz_v): Ditto. - (CODE_FOR_lsx_vbitsel_v): Ditto. - (CODE_FOR_lsx_vseqi_b): Ditto. - (CODE_FOR_lsx_vseqi_h): Ditto. - (CODE_FOR_lsx_vseqi_w): Ditto. - (CODE_FOR_lsx_vseqi_d): Ditto. - (CODE_FOR_lsx_vslti_b): Ditto. - (CODE_FOR_lsx_vslti_h): Ditto. - (CODE_FOR_lsx_vslti_w): Ditto. - (CODE_FOR_lsx_vslti_d): Ditto. - (CODE_FOR_lsx_vslti_bu): Ditto. - (CODE_FOR_lsx_vslti_hu): Ditto. - (CODE_FOR_lsx_vslti_wu): Ditto. - (CODE_FOR_lsx_vslti_du): Ditto. - (CODE_FOR_lsx_vslei_b): Ditto. - (CODE_FOR_lsx_vslei_h): Ditto. - (CODE_FOR_lsx_vslei_w): Ditto. - (CODE_FOR_lsx_vslei_d): Ditto. - (CODE_FOR_lsx_vslei_bu): Ditto. - (CODE_FOR_lsx_vslei_hu): Ditto. - (CODE_FOR_lsx_vslei_wu): Ditto. - (CODE_FOR_lsx_vslei_du): Ditto. - (CODE_FOR_lsx_vdiv_b): Ditto. - (CODE_FOR_lsx_vdiv_h): Ditto. - (CODE_FOR_lsx_vdiv_w): Ditto. - (CODE_FOR_lsx_vdiv_d): Ditto. - (CODE_FOR_lsx_vdiv_bu): Ditto. - (CODE_FOR_lsx_vdiv_hu): Ditto. - (CODE_FOR_lsx_vdiv_wu): Ditto. - (CODE_FOR_lsx_vdiv_du): Ditto. - (CODE_FOR_lsx_vfadd_s): Ditto. - (CODE_FOR_lsx_vfadd_d): Ditto. - (CODE_FOR_lsx_vftintrz_w_s): Ditto. - (CODE_FOR_lsx_vftintrz_l_d): Ditto. - (CODE_FOR_lsx_vftintrz_wu_s): Ditto. - (CODE_FOR_lsx_vftintrz_lu_d): Ditto. - (CODE_FOR_lsx_vffint_s_w): Ditto. - (CODE_FOR_lsx_vffint_d_l): Ditto. - (CODE_FOR_lsx_vffint_s_wu): Ditto. - (CODE_FOR_lsx_vffint_d_lu): Ditto. - (CODE_FOR_lsx_vfsub_s): Ditto. - (CODE_FOR_lsx_vfsub_d): Ditto. - (CODE_FOR_lsx_vfmul_s): Ditto. - (CODE_FOR_lsx_vfmul_d): Ditto. - (CODE_FOR_lsx_vfdiv_s): Ditto. - (CODE_FOR_lsx_vfdiv_d): Ditto. - (CODE_FOR_lsx_vfmax_s): Ditto. - (CODE_FOR_lsx_vfmax_d): Ditto. - (CODE_FOR_lsx_vfmin_s): Ditto. - (CODE_FOR_lsx_vfmin_d): Ditto. - (CODE_FOR_lsx_vfsqrt_s): Ditto. - (CODE_FOR_lsx_vfsqrt_d): Ditto. - (CODE_FOR_lsx_vflogb_s): Ditto. - (CODE_FOR_lsx_vflogb_d): Ditto. - (CODE_FOR_lsx_vmax_b): Ditto. - (CODE_FOR_lsx_vmax_h): Ditto. - (CODE_FOR_lsx_vmax_w): Ditto. - (CODE_FOR_lsx_vmax_d): Ditto. - (CODE_FOR_lsx_vmaxi_b): Ditto. - (CODE_FOR_lsx_vmaxi_h): Ditto. - (CODE_FOR_lsx_vmaxi_w): Ditto. - (CODE_FOR_lsx_vmaxi_d): Ditto. - (CODE_FOR_lsx_vmax_bu): Ditto. - (CODE_FOR_lsx_vmax_hu): Ditto. - (CODE_FOR_lsx_vmax_wu): Ditto. - (CODE_FOR_lsx_vmax_du): Ditto. - (CODE_FOR_lsx_vmaxi_bu): Ditto. - (CODE_FOR_lsx_vmaxi_hu): Ditto. - (CODE_FOR_lsx_vmaxi_wu): Ditto. - (CODE_FOR_lsx_vmaxi_du): Ditto. - (CODE_FOR_lsx_vmin_b): Ditto. - (CODE_FOR_lsx_vmin_h): Ditto. - (CODE_FOR_lsx_vmin_w): Ditto. - (CODE_FOR_lsx_vmin_d): Ditto. - (CODE_FOR_lsx_vmini_b): Ditto. - (CODE_FOR_lsx_vmini_h): Ditto. - (CODE_FOR_lsx_vmini_w): Ditto. - (CODE_FOR_lsx_vmini_d): Ditto. - (CODE_FOR_lsx_vmin_bu): Ditto. - (CODE_FOR_lsx_vmin_hu): Ditto. - (CODE_FOR_lsx_vmin_wu): Ditto. - (CODE_FOR_lsx_vmin_du): Ditto. - (CODE_FOR_lsx_vmini_bu): Ditto. - (CODE_FOR_lsx_vmini_hu): Ditto. - (CODE_FOR_lsx_vmini_wu): Ditto. - (CODE_FOR_lsx_vmini_du): Ditto. - (CODE_FOR_lsx_vmod_b): Ditto. - (CODE_FOR_lsx_vmod_h): Ditto. - (CODE_FOR_lsx_vmod_w): Ditto. - (CODE_FOR_lsx_vmod_d): Ditto. - (CODE_FOR_lsx_vmod_bu): Ditto. - (CODE_FOR_lsx_vmod_hu): Ditto. - (CODE_FOR_lsx_vmod_wu): Ditto. - (CODE_FOR_lsx_vmod_du): Ditto. - (CODE_FOR_lsx_vmul_b): Ditto. - (CODE_FOR_lsx_vmul_h): Ditto. - (CODE_FOR_lsx_vmul_w): Ditto. - (CODE_FOR_lsx_vmul_d): Ditto. - (CODE_FOR_lsx_vclz_b): Ditto. - (CODE_FOR_lsx_vclz_h): Ditto. - (CODE_FOR_lsx_vclz_w): Ditto. - (CODE_FOR_lsx_vclz_d): Ditto. - (CODE_FOR_lsx_vnor_v): Ditto. - (CODE_FOR_lsx_vor_v): Ditto. - (CODE_FOR_lsx_vori_b): Ditto. - (CODE_FOR_lsx_vnori_b): Ditto. - (CODE_FOR_lsx_vpcnt_b): Ditto. - (CODE_FOR_lsx_vpcnt_h): Ditto. - (CODE_FOR_lsx_vpcnt_w): Ditto. - (CODE_FOR_lsx_vpcnt_d): Ditto. - (CODE_FOR_lsx_vxor_v): Ditto. - (CODE_FOR_lsx_vxori_b): Ditto. - (CODE_FOR_lsx_vsll_b): Ditto. - (CODE_FOR_lsx_vsll_h): Ditto. - (CODE_FOR_lsx_vsll_w): Ditto. - (CODE_FOR_lsx_vsll_d): Ditto. - (CODE_FOR_lsx_vslli_b): Ditto. - (CODE_FOR_lsx_vslli_h): Ditto. - (CODE_FOR_lsx_vslli_w): Ditto. - (CODE_FOR_lsx_vslli_d): Ditto. - (CODE_FOR_lsx_vsra_b): Ditto. - (CODE_FOR_lsx_vsra_h): Ditto. - (CODE_FOR_lsx_vsra_w): Ditto. - (CODE_FOR_lsx_vsra_d): Ditto. - (CODE_FOR_lsx_vsrai_b): Ditto. - (CODE_FOR_lsx_vsrai_h): Ditto. - (CODE_FOR_lsx_vsrai_w): Ditto. - (CODE_FOR_lsx_vsrai_d): Ditto. - (CODE_FOR_lsx_vsrl_b): Ditto. - (CODE_FOR_lsx_vsrl_h): Ditto. - (CODE_FOR_lsx_vsrl_w): Ditto. - (CODE_FOR_lsx_vsrl_d): Ditto. - (CODE_FOR_lsx_vsrli_b): Ditto. - (CODE_FOR_lsx_vsrli_h): Ditto. - (CODE_FOR_lsx_vsrli_w): Ditto. - (CODE_FOR_lsx_vsrli_d): Ditto. - (CODE_FOR_lsx_vsub_b): Ditto. - (CODE_FOR_lsx_vsub_h): Ditto. - (CODE_FOR_lsx_vsub_w): Ditto. - (CODE_FOR_lsx_vsub_d): Ditto. - (CODE_FOR_lsx_vsubi_bu): Ditto. - (CODE_FOR_lsx_vsubi_hu): Ditto. - (CODE_FOR_lsx_vsubi_wu): Ditto. - (CODE_FOR_lsx_vsubi_du): Ditto. - (CODE_FOR_lsx_vpackod_d): Ditto. - (CODE_FOR_lsx_vpackev_d): Ditto. - (CODE_FOR_lsx_vpickod_d): Ditto. - (CODE_FOR_lsx_vpickev_d): Ditto. - (CODE_FOR_lsx_vrepli_b): Ditto. - (CODE_FOR_lsx_vrepli_h): Ditto. - (CODE_FOR_lsx_vrepli_w): Ditto. - (CODE_FOR_lsx_vrepli_d): Ditto. - (CODE_FOR_lsx_vsat_b): Ditto. - (CODE_FOR_lsx_vsat_h): Ditto. - (CODE_FOR_lsx_vsat_w): Ditto. - (CODE_FOR_lsx_vsat_d): Ditto. - (CODE_FOR_lsx_vsat_bu): Ditto. - (CODE_FOR_lsx_vsat_hu): Ditto. - (CODE_FOR_lsx_vsat_wu): Ditto. - (CODE_FOR_lsx_vsat_du): Ditto. - (CODE_FOR_lsx_vavg_b): Ditto. - (CODE_FOR_lsx_vavg_h): Ditto. - (CODE_FOR_lsx_vavg_w): Ditto. - (CODE_FOR_lsx_vavg_d): Ditto. - (CODE_FOR_lsx_vavg_bu): Ditto. - (CODE_FOR_lsx_vavg_hu): Ditto. - (CODE_FOR_lsx_vavg_wu): Ditto. - (CODE_FOR_lsx_vavg_du): Ditto. - (CODE_FOR_lsx_vavgr_b): Ditto. - (CODE_FOR_lsx_vavgr_h): Ditto. - (CODE_FOR_lsx_vavgr_w): Ditto. - (CODE_FOR_lsx_vavgr_d): Ditto. - (CODE_FOR_lsx_vavgr_bu): Ditto. - (CODE_FOR_lsx_vavgr_hu): Ditto. - (CODE_FOR_lsx_vavgr_wu): Ditto. - (CODE_FOR_lsx_vavgr_du): Ditto. - (CODE_FOR_lsx_vssub_b): Ditto. - (CODE_FOR_lsx_vssub_h): Ditto. - (CODE_FOR_lsx_vssub_w): Ditto. - (CODE_FOR_lsx_vssub_d): Ditto. - (CODE_FOR_lsx_vssub_bu): Ditto. - (CODE_FOR_lsx_vssub_hu): Ditto. - (CODE_FOR_lsx_vssub_wu): Ditto. - (CODE_FOR_lsx_vssub_du): Ditto. - (CODE_FOR_lsx_vabsd_b): Ditto. - (CODE_FOR_lsx_vabsd_h): Ditto. - (CODE_FOR_lsx_vabsd_w): Ditto. - (CODE_FOR_lsx_vabsd_d): Ditto. - (CODE_FOR_lsx_vabsd_bu): Ditto. - (CODE_FOR_lsx_vabsd_hu): Ditto. - (CODE_FOR_lsx_vabsd_wu): Ditto. - (CODE_FOR_lsx_vabsd_du): Ditto. - (CODE_FOR_lsx_vftint_w_s): Ditto. - (CODE_FOR_lsx_vftint_l_d): Ditto. - (CODE_FOR_lsx_vftint_wu_s): Ditto. - (CODE_FOR_lsx_vftint_lu_d): Ditto. - (CODE_FOR_lsx_vandn_v): Ditto. - (CODE_FOR_lsx_vorn_v): Ditto. - (CODE_FOR_lsx_vneg_b): Ditto. - (CODE_FOR_lsx_vneg_h): Ditto. - (CODE_FOR_lsx_vneg_w): Ditto. - (CODE_FOR_lsx_vneg_d): Ditto. - (CODE_FOR_lsx_vshuf4i_d): Ditto. - (CODE_FOR_lsx_vbsrl_v): Ditto. - (CODE_FOR_lsx_vbsll_v): Ditto. - (CODE_FOR_lsx_vfmadd_s): Ditto. - (CODE_FOR_lsx_vfmadd_d): Ditto. - (CODE_FOR_lsx_vfmsub_s): Ditto. - (CODE_FOR_lsx_vfmsub_d): Ditto. - (CODE_FOR_lsx_vfnmadd_s): Ditto. - (CODE_FOR_lsx_vfnmadd_d): Ditto. - (CODE_FOR_lsx_vfnmsub_s): Ditto. - (CODE_FOR_lsx_vfnmsub_d): Ditto. - (CODE_FOR_lsx_vmuh_b): Ditto. - (CODE_FOR_lsx_vmuh_h): Ditto. - (CODE_FOR_lsx_vmuh_w): Ditto. - (CODE_FOR_lsx_vmuh_d): Ditto. - (CODE_FOR_lsx_vmuh_bu): Ditto. - (CODE_FOR_lsx_vmuh_hu): Ditto. - (CODE_FOR_lsx_vmuh_wu): Ditto. - (CODE_FOR_lsx_vmuh_du): Ditto. - (CODE_FOR_lsx_vsllwil_h_b): Ditto. - (CODE_FOR_lsx_vsllwil_w_h): Ditto. - (CODE_FOR_lsx_vsllwil_d_w): Ditto. - (CODE_FOR_lsx_vsllwil_hu_bu): Ditto. - (CODE_FOR_lsx_vsllwil_wu_hu): Ditto. - (CODE_FOR_lsx_vsllwil_du_wu): Ditto. - (CODE_FOR_lsx_vssran_b_h): Ditto. - (CODE_FOR_lsx_vssran_h_w): Ditto. - (CODE_FOR_lsx_vssran_w_d): Ditto. - (CODE_FOR_lsx_vssran_bu_h): Ditto. - (CODE_FOR_lsx_vssran_hu_w): Ditto. - (CODE_FOR_lsx_vssran_wu_d): Ditto. - (CODE_FOR_lsx_vssrarn_b_h): Ditto. - (CODE_FOR_lsx_vssrarn_h_w): Ditto. - (CODE_FOR_lsx_vssrarn_w_d): Ditto. - (CODE_FOR_lsx_vssrarn_bu_h): Ditto. - (CODE_FOR_lsx_vssrarn_hu_w): Ditto. - (CODE_FOR_lsx_vssrarn_wu_d): Ditto. - (CODE_FOR_lsx_vssrln_bu_h): Ditto. - (CODE_FOR_lsx_vssrln_hu_w): Ditto. - (CODE_FOR_lsx_vssrln_wu_d): Ditto. - (CODE_FOR_lsx_vssrlrn_bu_h): Ditto. - (CODE_FOR_lsx_vssrlrn_hu_w): Ditto. - (CODE_FOR_lsx_vssrlrn_wu_d): Ditto. - (loongarch_builtin_vector_type): Ditto. - (loongarch_build_cvpointer_type): Ditto. - (LARCH_ATYPE_CVPOINTER): Ditto. - (LARCH_ATYPE_BOOLEAN): Ditto. - (LARCH_ATYPE_V2SF): Ditto. - (LARCH_ATYPE_V2HI): Ditto. - (LARCH_ATYPE_V2SI): Ditto. - (LARCH_ATYPE_V4QI): Ditto. - (LARCH_ATYPE_V4HI): Ditto. - (LARCH_ATYPE_V8QI): Ditto. - (LARCH_ATYPE_V2DI): Ditto. - (LARCH_ATYPE_V4SI): Ditto. - (LARCH_ATYPE_V8HI): Ditto. - (LARCH_ATYPE_V16QI): Ditto. - (LARCH_ATYPE_V2DF): Ditto. - (LARCH_ATYPE_V4SF): Ditto. - (LARCH_ATYPE_V4DI): Ditto. - (LARCH_ATYPE_V8SI): Ditto. - (LARCH_ATYPE_V16HI): Ditto. - (LARCH_ATYPE_V32QI): Ditto. - (LARCH_ATYPE_V4DF): Ditto. - (LARCH_ATYPE_V8SF): Ditto. - (LARCH_ATYPE_UV2DI): Ditto. - (LARCH_ATYPE_UV4SI): Ditto. - (LARCH_ATYPE_UV8HI): Ditto. - (LARCH_ATYPE_UV16QI): Ditto. - (LARCH_ATYPE_UV4DI): Ditto. - (LARCH_ATYPE_UV8SI): Ditto. - (LARCH_ATYPE_UV16HI): Ditto. - (LARCH_ATYPE_UV32QI): Ditto. - (LARCH_ATYPE_UV2SI): Ditto. - (LARCH_ATYPE_UV4HI): Ditto. - (LARCH_ATYPE_UV8QI): Ditto. - (loongarch_builtin_vectorized_function): Ditto. - (LARCH_GET_BUILTIN): Ditto. - (loongarch_expand_builtin_insn): Ditto. - (loongarch_expand_builtin_lsx_test_branch): Ditto. - (loongarch_expand_builtin): Ditto. - * config/loongarch/loongarch-ftypes.def (1): Ditto. - (2): Ditto. - (3): Ditto. - (4): Ditto. - * config/loongarch/lsxintrin.h: New file. - -2023-09-05 Lulu Cheng - - * config/loongarch/constraints.md (M): Add Loongson LSX base instruction support. - (N): Ditto. - (O): Ditto. - (P): Ditto. - (R): Ditto. - (S): Ditto. - (YG): Ditto. - (YA): Ditto. - (YB): Ditto. - (Yb): Ditto. - (Yh): Ditto. - (Yw): Ditto. - (YI): Ditto. - (YC): Ditto. - (YZ): Ditto. - (Unv5): Ditto. - (Uuv5): Ditto. - (Usv5): Ditto. - (Uuv6): Ditto. - (Urv8): Ditto. - * config/loongarch/genopts/loongarch.opt.in: Ditto. - * config/loongarch/loongarch-builtins.cc (loongarch_gen_const_int_vector): Ditto. - * config/loongarch/loongarch-modes.def (VECTOR_MODES): Ditto. - (VECTOR_MODE): Ditto. - (INT_MODE): Ditto. - * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p): Ditto. - (loongarch_split_move_insn): Ditto. - (loongarch_split_128bit_move): Ditto. - (loongarch_split_128bit_move_p): Ditto. - (loongarch_split_lsx_copy_d): Ditto. - (loongarch_split_lsx_insert_d): Ditto. - (loongarch_split_lsx_fill_d): Ditto. - (loongarch_expand_vec_cmp): Ditto. - (loongarch_const_vector_same_val_p): Ditto. - (loongarch_const_vector_same_bytes_p): Ditto. - (loongarch_const_vector_same_int_p): Ditto. - (loongarch_const_vector_shuffle_set_p): Ditto. - (loongarch_const_vector_bitimm_set_p): Ditto. - (loongarch_const_vector_bitimm_clr_p): Ditto. - (loongarch_lsx_vec_parallel_const_half): Ditto. - (loongarch_gen_const_int_vector): Ditto. - (loongarch_lsx_output_division): Ditto. - (loongarch_expand_vector_init): Ditto. - (loongarch_expand_vec_unpack): Ditto. - (loongarch_expand_vec_perm): Ditto. - (loongarch_expand_vector_extract): Ditto. - (loongarch_expand_vector_reduc): Ditto. - (loongarch_ldst_scaled_shift): Ditto. - (loongarch_expand_vec_cond_expr): Ditto. - (loongarch_expand_vec_cond_mask_expr): Ditto. - (loongarch_builtin_vectorized_function): Ditto. - (loongarch_gen_const_int_vector_shuffle): Ditto. - (loongarch_build_signbit_mask): Ditto. - * config/loongarch/loongarch.cc (loongarch_pass_aggregate_num_fpr): Ditto. - (loongarch_setup_incoming_varargs): Ditto. - (loongarch_emit_move): Ditto. - (loongarch_const_vector_bitimm_set_p): Ditto. - (loongarch_const_vector_bitimm_clr_p): Ditto. - (loongarch_const_vector_same_val_p): Ditto. - (loongarch_const_vector_same_bytes_p): Ditto. - (loongarch_const_vector_same_int_p): Ditto. - (loongarch_const_vector_shuffle_set_p): Ditto. - (loongarch_symbol_insns): Ditto. - (loongarch_cannot_force_const_mem): Ditto. - (loongarch_valid_offset_p): Ditto. - (loongarch_valid_index_p): Ditto. - (loongarch_classify_address): Ditto. - (loongarch_address_insns): Ditto. - (loongarch_ldst_scaled_shift): Ditto. - (loongarch_const_insns): Ditto. - (loongarch_split_move_insn_p): Ditto. - (loongarch_subword_at_byte): Ditto. - (loongarch_legitimize_move): Ditto. - (loongarch_builtin_vectorization_cost): Ditto. - (loongarch_split_move_p): Ditto. - (loongarch_split_move): Ditto. - (loongarch_split_move_insn): Ditto. - (loongarch_output_move_index_float): Ditto. - (loongarch_split_128bit_move_p): Ditto. - (loongarch_split_128bit_move): Ditto. - (loongarch_split_lsx_copy_d): Ditto. - (loongarch_split_lsx_insert_d): Ditto. - (loongarch_split_lsx_fill_d): Ditto. - (loongarch_output_move): Ditto. - (loongarch_extend_comparands): Ditto. - (loongarch_print_operand_reloc): Ditto. - (loongarch_print_operand): Ditto. - (loongarch_hard_regno_mode_ok_uncached): Ditto. - (loongarch_hard_regno_call_part_clobbered): Ditto. - (loongarch_hard_regno_nregs): Ditto. - (loongarch_class_max_nregs): Ditto. - (loongarch_can_change_mode_class): Ditto. - (loongarch_mode_ok_for_mov_fmt_p): Ditto. - (loongarch_secondary_reload): Ditto. - (loongarch_vector_mode_supported_p): Ditto. - (loongarch_preferred_simd_mode): Ditto. - (loongarch_autovectorize_vector_modes): Ditto. - (loongarch_lsx_output_division): Ditto. - (loongarch_option_override_internal): Ditto. - (loongarch_hard_regno_caller_save_mode): Ditto. - (MAX_VECT_LEN): Ditto. - (loongarch_spill_class): Ditto. - (struct expand_vec_perm_d): Ditto. - (loongarch_promote_function_mode): Ditto. - (loongarch_expand_vselect): Ditto. - (loongarch_starting_frame_offset): Ditto. - (loongarch_expand_vselect_vconcat): Ditto. - (TARGET_ASM_ALIGNED_DI_OP): Ditto. - (TARGET_OPTION_OVERRIDE): Ditto. - (TARGET_LEGITIMIZE_ADDRESS): Ditto. - (TARGET_ASM_SELECT_RTX_SECTION): Ditto. - (TARGET_ASM_FUNCTION_RODATA_SECTION): Ditto. - (loongarch_expand_lsx_shuffle): Ditto. - (TARGET_SCHED_INIT): Ditto. - (TARGET_SCHED_REORDER): Ditto. - (TARGET_SCHED_REORDER2): Ditto. - (TARGET_SCHED_VARIABLE_ISSUE): Ditto. - (TARGET_SCHED_ADJUST_COST): Ditto. - (TARGET_SCHED_ISSUE_RATE): Ditto. - (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Ditto. - (TARGET_FUNCTION_OK_FOR_SIBCALL): Ditto. - (TARGET_VALID_POINTER_MODE): Ditto. - (TARGET_REGISTER_MOVE_COST): Ditto. - (TARGET_MEMORY_MOVE_COST): Ditto. - (TARGET_RTX_COSTS): Ditto. - (TARGET_ADDRESS_COST): Ditto. - (TARGET_IN_SMALL_DATA_P): Ditto. - (TARGET_PREFERRED_RELOAD_CLASS): Ditto. - (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Ditto. - (TARGET_EXPAND_BUILTIN_VA_START): Ditto. - (loongarch_expand_vec_perm): Ditto. - (TARGET_PROMOTE_FUNCTION_MODE): Ditto. - (TARGET_RETURN_IN_MEMORY): Ditto. - (TARGET_FUNCTION_VALUE): Ditto. - (TARGET_LIBCALL_VALUE): Ditto. - (loongarch_try_expand_lsx_vshuf_const): Ditto. - (TARGET_ASM_OUTPUT_MI_THUNK): Ditto. - (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Ditto. - (TARGET_PRINT_OPERAND): Ditto. - (TARGET_PRINT_OPERAND_ADDRESS): Ditto. - (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Ditto. - (TARGET_SETUP_INCOMING_VARARGS): Ditto. - (TARGET_STRICT_ARGUMENT_NAMING): Ditto. - (TARGET_MUST_PASS_IN_STACK): Ditto. - (TARGET_PASS_BY_REFERENCE): Ditto. - (TARGET_ARG_PARTIAL_BYTES): Ditto. - (TARGET_FUNCTION_ARG): Ditto. - (TARGET_FUNCTION_ARG_ADVANCE): Ditto. - (TARGET_FUNCTION_ARG_BOUNDARY): Ditto. - (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto. - (TARGET_INIT_BUILTINS): Ditto. - (loongarch_expand_vec_perm_const_1): Ditto. - (loongarch_expand_vec_perm_const_2): Ditto. - (loongarch_vectorize_vec_perm_const): Ditto. - (loongarch_cpu_sched_reassociation_width): Ditto. - (loongarch_sched_reassociation_width): Ditto. - (loongarch_expand_vector_extract): Ditto. - (emit_reduc_half): Ditto. - (loongarch_expand_vector_reduc): Ditto. - (loongarch_expand_vec_unpack): Ditto. - (loongarch_lsx_vec_parallel_const_half): Ditto. - (loongarch_constant_elt_p): Ditto. - (loongarch_gen_const_int_vector_shuffle): Ditto. - (loongarch_expand_vector_init): Ditto. - (loongarch_expand_lsx_cmp): Ditto. - (loongarch_expand_vec_cond_expr): Ditto. - (loongarch_expand_vec_cond_mask_expr): Ditto. - (loongarch_expand_vec_cmp): Ditto. - (loongarch_case_values_threshold): Ditto. - (loongarch_build_const_vector): Ditto. - (loongarch_build_signbit_mask): Ditto. - (loongarch_builtin_support_vector_misalignment): Ditto. - (TARGET_ASM_ALIGNED_HI_OP): Ditto. - (TARGET_ASM_ALIGNED_SI_OP): Ditto. - (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Ditto. - (TARGET_VECTOR_MODE_SUPPORTED_P): Ditto. - (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Ditto. - (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): Ditto. - (TARGET_VECTORIZE_VEC_PERM_CONST): Ditto. - (TARGET_SCHED_REASSOCIATION_WIDTH): Ditto. - (TARGET_CASE_VALUES_THRESHOLD): Ditto. - (TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Ditto. - (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): Ditto. - * config/loongarch/loongarch.h (TARGET_SUPPORTS_WIDE_INT): Ditto. - (UNITS_PER_LSX_REG): Ditto. - (BITS_PER_LSX_REG): Ditto. - (BIGGEST_ALIGNMENT): Ditto. - (LSX_REG_FIRST): Ditto. - (LSX_REG_LAST): Ditto. - (LSX_REG_NUM): Ditto. - (LSX_REG_P): Ditto. - (LSX_REG_RTX_P): Ditto. - (IMM13_OPERAND): Ditto. - (LSX_SUPPORTED_MODE_P): Ditto. - * config/loongarch/loongarch.md (unknown,add,sub,not,nor,and,or,xor): Ditto. - (unknown,add,sub,not,nor,and,or,xor,simd_add): Ditto. - (unknown,none,QI,HI,SI,DI,TI,SF,DF,TF,FCC): Ditto. - (mode" ): Ditto. - (DF): Ditto. - (SF): Ditto. - (sf): Ditto. - (DI): Ditto. - (SI): Ditto. - * config/loongarch/loongarch.opt: Ditto. - * config/loongarch/predicates.md (const_lsx_branch_operand): Ditto. - (const_uimm3_operand): Ditto. - (const_8_to_11_operand): Ditto. - (const_12_to_15_operand): Ditto. - (const_uimm4_operand): Ditto. - (const_uimm6_operand): Ditto. - (const_uimm7_operand): Ditto. - (const_uimm8_operand): Ditto. - (const_imm5_operand): Ditto. - (const_imm10_operand): Ditto. - (const_imm13_operand): Ditto. - (reg_imm10_operand): Ditto. - (aq8b_operand): Ditto. - (aq8h_operand): Ditto. - (aq8w_operand): Ditto. - (aq8d_operand): Ditto. - (aq10b_operand): Ditto. - (aq10h_operand): Ditto. - (aq10w_operand): Ditto. - (aq10d_operand): Ditto. - (aq12b_operand): Ditto. - (aq12h_operand): Ditto. - (aq12w_operand): Ditto. - (aq12d_operand): Ditto. - (const_m1_operand): Ditto. - (reg_or_m1_operand): Ditto. - (const_exp_2_operand): Ditto. - (const_exp_4_operand): Ditto. - (const_exp_8_operand): Ditto. - (const_exp_16_operand): Ditto. - (const_exp_32_operand): Ditto. - (const_0_or_1_operand): Ditto. - (const_0_to_3_operand): Ditto. - (const_0_to_7_operand): Ditto. - (const_2_or_3_operand): Ditto. - (const_4_to_7_operand): Ditto. - (const_8_to_15_operand): Ditto. - (const_16_to_31_operand): Ditto. - (qi_mask_operand): Ditto. - (hi_mask_operand): Ditto. - (si_mask_operand): Ditto. - (d_operand): Ditto. - (db4_operand): Ditto. - (db7_operand): Ditto. - (db8_operand): Ditto. - (ib3_operand): Ditto. - (sb4_operand): Ditto. - (sb5_operand): Ditto. - (sb8_operand): Ditto. - (sd8_operand): Ditto. - (ub4_operand): Ditto. - (ub8_operand): Ditto. - (uh4_operand): Ditto. - (uw4_operand): Ditto. - (uw5_operand): Ditto. - (uw6_operand): Ditto. - (uw8_operand): Ditto. - (addiur2_operand): Ditto. - (addiusp_operand): Ditto. - (andi16_operand): Ditto. - (movep_src_register): Ditto. - (movep_src_operand): Ditto. - (fcc_reload_operand): Ditto. - (muldiv_target_operand): Ditto. - (const_vector_same_val_operand): Ditto. - (const_vector_same_simm5_operand): Ditto. - (const_vector_same_uimm5_operand): Ditto. - (const_vector_same_ximm5_operand): Ditto. - (const_vector_same_uimm6_operand): Ditto. - (par_const_vector_shf_set_operand): Ditto. - (reg_or_vector_same_val_operand): Ditto. - (reg_or_vector_same_simm5_operand): Ditto. - (reg_or_vector_same_uimm5_operand): Ditto. - (reg_or_vector_same_ximm5_operand): Ditto. - (reg_or_vector_same_uimm6_operand): Ditto. - * doc/md.texi: Ditto. - * config/loongarch/lsx.md: New file. - -2023-09-05 Juzhe-Zhong - - * config/riscv/riscv-protos.h (lookup_vector_type_attribute): Export global. - (get_all_predecessors): New function. - (get_all_successors): Ditto. - * config/riscv/riscv-v.cc (get_all_predecessors): Ditto. - (get_all_successors): Ditto. - * config/riscv/riscv-vector-builtins.cc (sizeless_type_p): Export global. - * config/riscv/riscv-vsetvl.cc (get_all_predecessors): Remove it. - -2023-09-05 Claudiu Zissulescu - - * config/arc/arc-protos.h (arc_output_addsi): Remove declaration. - (split_addsi): Likewise. - * config/arc/arc.cc (arc_print_operand): Add/repurpose 's', 'S', - 'N', 'x', and 'J' code letters. - (arc_output_addsi): Make it static. - (split_addsi): Remove it. - * config/arc/arc.h (UNSIGNED_INT*): New defines. - (SINNED_INT*): Likewise. - * config/arc/arc.md (type): Add add, sub, bxor types. - (tst_movb): Change code letter from 's' to 'x'. - (andsi3_i): Likewise. - (addsi3_mixed): Refurbish the pattern. - (call_i): Change code letter from 'S' to 'J'. - * config/arc/arc700.md: Add newly introduced types. - * config/arc/arcHS.md: Likewsie. - * config/arc/arcHS4x.md: Likewise. - * config/arc/constraints.md (Cca, CL2, Csp, C2a): Remove it. - (CM4): Update description. - (CP4, C6u, C6n, CIs, C4p): New constraint. - -2023-09-05 Claudiu Zissulescu - - * common/config/arc/arc-common.cc (arc_option_optimization_table): - Remove mbbit_peephole. - * config/arc/arc.md (UNSPEC_ARC_DIRECT): Remove. - (store_direct): Likewise. - (BBIT peephole2): Likewise. - * config/arc/arc.opt (mbbit-peephole): Ignore option. - * doc/invoke.texi (mbbit-peephole): Update document. - -2023-09-05 Jakub Jelinek - - * tree-ssa-tail-merge.cc (replace_block_by): Fix a comment typo: - avreage -> average. - -2023-09-05 Yang Yujie - - * config/loongarch/loongarch.h (CC1_SPEC): Mark normalized - options passed from driver to gnat1 as explicit for multilib. - -2023-09-05 Yang Yujie - - * config.gcc: add loongarch*-elf target. - * config/loongarch/elf.h: New file. - Link against newlib by default. - -2023-09-05 Yang Yujie - - * config.gcc: use -mstrict-align for building libraries - if --with-strict-align-lib is given. - * doc/install.texi: likewise. - -2023-09-05 Yang Yujie - - * config/loongarch/loongarch-c.cc: Export macros - "__loongarch_{arch,tune}" in the preprocessor. - -2023-09-05 Yang Yujie - - * config.gcc: Make --with-abi= obsolete, decide the default ABI - with target triplet. Allow specifying multilib library build - options with --with-multilib-list and --with-multilib-default. - * config/loongarch/t-linux: Likewise. - * config/loongarch/genopts/loongarch-strings: Likewise. - * config/loongarch/loongarch-str.h: Likewise. - * doc/install.texi: Likewise. - * config/loongarch/genopts/loongarch.opt.in: Introduce - -m[no-]l[a]sx options. Only process -m*-float and - -m[no-]l[a]sx in the GCC driver. - * config/loongarch/loongarch.opt: Likewise. - * config/loongarch/la464.md: Likewise. - * config/loongarch/loongarch-c.cc: Likewise. - * config/loongarch/loongarch-cpu.cc: Likewise. - * config/loongarch/loongarch-cpu.h: Likewise. - * config/loongarch/loongarch-def.c: Likewise. - * config/loongarch/loongarch-def.h: Likewise. - * config/loongarch/loongarch-driver.cc: Likewise. - * config/loongarch/loongarch-driver.h: Likewise. - * config/loongarch/loongarch-opts.cc: Likewise. - * config/loongarch/loongarch-opts.h: Likewise. - * config/loongarch/loongarch.cc: Likewise. - * doc/invoke.texi: Likewise. - -2023-09-05 liuhongt - - * config/i386/sse.md: (V8BFH_128): Renamed to .. - (VHFBF_128): .. this. - (V16BFH_256): Renamed to .. - (VHFBF_256): .. this. - (avx512f_mov): Extend to V_128. - (vcvtnee2ps_): Changed to VHFBF_128. - (vcvtneo2ps_): Ditto. - (vcvtnee2ps_): Changed to VHFBF_256. - (vcvtneo2ps_): Ditto. - * config/i386/i386-expand.cc (expand_vec_perm_blend): - Canonicalize vec_merge. - -2023-09-05 Juzhe-Zhong - - * config/riscv/riscv-opts.h (enum riscv_autovec_lmul_enum): Fix Dynamic status. - * config/riscv/riscv-v.cc (preferred_simd_mode): Ditto. - (autovectorize_vector_modes): Ditto. - (vectorize_related_mode): Ditto. - -2023-09-04 Iain Sandoe - - * config/rs6000/darwin.h (LIB_SPEC): Include libSystemStubs for - all 32b Darwin PowerPC cases. - -2023-09-04 Iain Sandoe - - * config/darwin-sections.def (static_init_section): Add the - __TEXT,__StaticInit section. - * config/darwin.cc (darwin_function_section): Use the static init - section for global initializers, to match other platform toolchains. - -2023-09-04 Iain Sandoe - - * config/darwin-sections.def (darwin_exception_section): Move to - the __TEXT segment. - * config/darwin.cc (darwin_emit_except_table_label): Align before - the exception table label. - * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use indirect PC- - relative 4byte relocs. - -2023-09-04 Iain Sandoe - - * config/darwin.cc (dump_machopic_symref_flags): New. - (debug_machopic_symref_flags): New. - -2023-09-04 Pan Li - - * config/riscv/riscv-vector-builtins-types.def - (vfloat16mf4_t): Add FP16 intrinsic def. - (vfloat16mf2_t): Ditto. - (vfloat16m1_t): Ditto. - (vfloat16m2_t): Ditto. - (vfloat16m4_t): Ditto. - (vfloat16m8_t): Ditto. - -2023-09-04 Jiufu Guo - - PR tree-optimization/108757 - * match.pd ((X - N * M) / N): New pattern. - ((X + N * M) / N): New pattern. - ((X + C) div_rshift N): New pattern. - -2023-09-04 Guo Jie - - * config/loongarch/loongarch.md: Support 'G' -> 'k' in - movsf_hardfloat and movdf_hardfloat. - -2023-09-04 Lulu Cheng - - * config/loongarch/loongarch.cc (loongarch_extend_comparands): - In unsigned QImode test, check for sign extended subreg and/or - constant operands, and do a sign extension in that case. - * config/loongarch/loongarch.md (TARGET_64BIT): Define - template cbranchqi4. - -2023-09-04 Lulu Cheng - - * config/loongarch/loongarch.md: Allows fixed-point values to be loaded - from memory into floating-point registers. - -2023-09-03 Pan Li - - * config/riscv/autovec-vls.md (3): New pattern for - fmax/fmin - * config/riscv/vector.md: Add VLS modes to vfmax/vfmin. - -2023-09-02 Mikael Morin - - * tree-diagnostic.cc (tree_diagnostics_defaults): Delete allocated - pointer before overwriting it. - -2023-09-02 chenxiaolong - - * config/loongarch/loongarch-builtins.cc (loongarch_init_builtins): - Associate the __float128 type to float128_type_node so that it can - be recognized by the compiler. - * config/loongarch/loongarch-c.cc (loongarch_cpu_cpp_builtins): - Add the flag "FLOAT128_TYPE" to gcc and associate a function - with the suffix "q" to "f128". - * doc/extend.texi:Added support for 128-bit floating-point functions on - the LoongArch architecture. - -2023-09-01 Jakub Jelinek - - PR c++/111069 - * common.opt (fabi-version=): Document version 19. - * doc/invoke.texi (-fabi-version=): Likewise. - -2023-09-01 Lehua Ding - - * config/riscv/autovec-opt.md (*cond_): - New combine pattern. - (*cond_): Ditto. - (*cond_): Ditto. - (*cond_): Ditto. - (*cond_): Ditto. - (*cond_2): Ditto. - * config/riscv/autovec.md (2): Adjust. - (2): Adjust. - (2): Adjust. - (2): Adjust. - (2): Adjust. - (2): Adjust. - * config/riscv/riscv-v.cc (needs_fp_rounding): Add INT->FP extend. - -2023-09-01 Lehua Ding - - * config/riscv/autovec-opt.md (*cond_extend): - New combine pattern. - (*cond_trunc): Ditto. - * config/riscv/autovec.md: Adjust. - * config/riscv/riscv-v.cc (needs_fp_rounding): Add FP extend. - -2023-09-01 Lehua Ding - - * config/riscv/autovec-opt.md (*cond_): - New combine pattern. - (*cond_): Ditto. - (*cond_): Ditto. - (*cond_trunc): Ditto. - * config/riscv/autovec.md (2): Adjust. - (2): Ditto. - -2023-09-01 Lehua Ding - - * config/riscv/autovec.md: Adjust. - * config/riscv/riscv-protos.h (expand_cond_len_unop): Ditto. - (expand_cond_len_binop): Ditto. - * config/riscv/riscv-v.cc (needs_fp_rounding): Ditto. - (expand_cond_len_op): Ditto. - (expand_cond_len_unop): Ditto. - (expand_cond_len_binop): Ditto. - (expand_cond_len_ternop): Ditto. - -2023-09-01 Juzhe-Zhong - - * config/riscv/riscv-v.cc (autovectorize_vector_modes): Enable - VECT_COMPARE_COSTS by default. - -2023-09-01 Robin Dapp - - * config/riscv/autovec.md (vec_extractqi): New expander. - -2023-09-01 Juzhe-Zhong - - * config/riscv/riscv-opts.h (enum riscv_autovec_lmul_enum): Add - dynamic enum. - * config/riscv/riscv.opt: Add dynamic compile option. - -2023-09-01 Pan Li - - * config/riscv/autovec-vls.md (3): New pattern for - vls floating-point autovec. - * config/riscv/vector-iterators.md: New iterator for - floating-point V and VLS. - * config/riscv/vector.md: Add VLS to floating-point binop. - -2023-09-01 Andrew Pinski - - PR tree-optimization/19832 - * match.pd: Add pattern to optimize - `(a != b) ? a OP b : c`. - -2023-09-01 Lulu Cheng - Guo Jie - - PR target/110484 - * config/loongarch/loongarch.cc (loongarch_emit_stack_tie): Use the - frame_pointer_needed to determine whether to use the $fp register. - -2023-08-31 Andrew Pinski - - PR tree-optimization/110915 - * match.pd (min_value, max_value): Extend to vector constants. - -2023-08-31 Francois-Xavier Coudert - - * config.in: Regenerate. - * config/darwin-c.cc: Change spelling to macOS. - * config/darwin-driver.cc: Likewise. - * config/darwin.h: Likewise. - * configure.ac: Likewise. - * doc/contrib.texi: Likewise. - * doc/extend.texi: Likewise. - * doc/invoke.texi: Likewise. - * doc/plugins.texi: Likewise. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Change spelling to macOS. - * plugin.cc: Likewise. - -2023-08-31 Pan Li - - * config/riscv/autovec-opt.md: Add FRM_REGNUM to vfnmadd/vfnmacc. - * config/riscv/autovec.md: Ditto. - -2023-08-31 Pan Li - - * config/riscv/autovec-opt.md: Add FRM_REGNUM to vfnmsac/vfnmsub - * config/riscv/autovec.md: Ditto. - -2023-08-31 Richard Sandiford - - * config/aarch64/aarch64.md (untyped_call): Emit a call_value - rather than a call. List each possible destination register - in the call pattern. - -2023-08-31 Pan Li - - * config/riscv/autovec-opt.md: Add FRM_REGNUM to vfmsac/vfmsub - * config/riscv/autovec.md: Ditto. - -2023-08-31 Pan Li - Ju-Zhe Zhong - - * config/riscv/autovec-opt.md: Add FRM_REGNUM to vfmadd/vfmacc. - * config/riscv/autovec.md: Ditto. - * config/riscv/vector-iterators.md: Add UNSPEC_VFFMA. - -2023-08-31 Palmer Dabbelt - - * config/riscv/autovec.md (shifts): Use - vector_scalar_shift_operand. - * config/riscv/predicates.md (vector_scalar_shift_operand): New - predicate. - -2023-08-31 Juzhe-Zhong - - * config.gcc: Add vector cost model framework for RVV. - * config/riscv/riscv.cc (riscv_vectorize_create_costs): Ditto. - (TARGET_VECTORIZE_CREATE_COSTS): Ditto. - * config/riscv/t-riscv: Ditto. - * config/riscv/riscv-vector-costs.cc: New file. - * config/riscv/riscv-vector-costs.h: New file. - -2023-08-31 Jeevitha Palanisamy - - PR target/110411 - * config/rs6000/mma.md (define_insn_and_split movoo): Disallow - AltiVec address operands. - (define_insn_and_split movxo): Likewise. - * config/rs6000/predicates.md (vsx_quad_dform_memory_operand): Remove - redundant mode size check. - -2023-08-31 Lehua Ding - - * config/riscv/riscv-protos.h (IS_AGNOSTIC): Move to here. - * config/riscv/riscv-v.cc (gen_no_side_effects_vsetvl_rtx): - Change to default policy. - * config/riscv/riscv-vector-builtins-bases.cc: Change to default policy. - * config/riscv/riscv-vsetvl.h (IS_AGNOSTIC): Delete. - * config/riscv/riscv.cc (riscv_print_operand): Use IS_AGNOSTIC to test. - -2023-08-31 Lehua Ding - - * config/riscv/autovec-opt.md: Adjust. - * config/riscv/autovec-vls.md: Ditto. - * config/riscv/autovec.md: Ditto. - * config/riscv/riscv-protos.h (enum insn_type): Add insn_type. - (enum insn_flags): Add insn flags. - (emit_vlmax_insn): Adjust. - (emit_vlmax_fp_insn): Delete. - (emit_vlmax_ternary_insn): Delete. - (emit_vlmax_fp_ternary_insn): Delete. - (emit_nonvlmax_insn): Adjust. - (emit_vlmax_slide_insn): Delete. - (emit_nonvlmax_slide_tu_insn): Delete. - (emit_vlmax_merge_insn): Delete. - (emit_vlmax_cmp_insn): Delete. - (emit_vlmax_cmp_mu_insn): Delete. - (emit_vlmax_masked_mu_insn): Delete. - (emit_scalar_move_insn): Delete. - (emit_nonvlmax_integer_move_insn): Delete. - (emit_vlmax_insn_lra): Add. - * config/riscv/riscv-v.cc (get_mask_mode_from_insn_flags): New. - (emit_vlmax_insn): Adjust. - (emit_nonvlmax_insn): Adjust. - (emit_vlmax_insn_lra): Add. - (emit_vlmax_fp_insn): Delete. - (emit_vlmax_ternary_insn): Delete. - (emit_vlmax_fp_ternary_insn): Delete. - (emit_vlmax_slide_insn): Delete. - (emit_nonvlmax_slide_tu_insn): Delete. - (emit_nonvlmax_slide_insn): Delete. - (emit_vlmax_merge_insn): Delete. - (emit_vlmax_cmp_insn): Delete. - (emit_vlmax_cmp_mu_insn): Delete. - (emit_vlmax_masked_insn): Delete. - (emit_nonvlmax_masked_insn): Delete. - (emit_vlmax_masked_store_insn): Delete. - (emit_nonvlmax_masked_store_insn): Delete. - (emit_vlmax_masked_mu_insn): Delete. - (emit_vlmax_masked_fp_mu_insn): Delete. - (emit_nonvlmax_tu_insn): Delete. - (emit_nonvlmax_fp_tu_insn): Delete. - (emit_nonvlmax_tumu_insn): Delete. - (emit_nonvlmax_fp_tumu_insn): Delete. - (emit_scalar_move_insn): Delete. - (emit_cpop_insn): Delete. - (emit_vlmax_integer_move_insn): Delete. - (emit_nonvlmax_integer_move_insn): Delete. - (emit_vlmax_gather_insn): Delete. - (emit_vlmax_masked_gather_mu_insn): Delete. - (emit_vlmax_compress_insn): Delete. - (emit_nonvlmax_compress_insn): Delete. - (emit_vlmax_reduction_insn): Delete. - (emit_vlmax_fp_reduction_insn): Delete. - (emit_nonvlmax_fp_reduction_insn): Delete. - (expand_vec_series): Adjust. - (expand_const_vector): Adjust. - (legitimize_move): Adjust. - (sew64_scalar_helper): Adjust. - (expand_tuple_move): Adjust. - (expand_vector_init_insert_elems): Adjust. - (expand_vector_init_merge_repeating_sequence): Adjust. - (expand_vec_cmp): Adjust. - (expand_vec_cmp_float): Adjust. - (expand_vec_perm): Adjust. - (shuffle_merge_patterns): Adjust. - (shuffle_compress_patterns): Adjust. - (shuffle_decompress_patterns): Adjust. - (expand_load_store): Adjust. - (expand_cond_len_op): Adjust. - (expand_cond_len_unop): Adjust. - (expand_cond_len_binop): Adjust. - (expand_gather_scatter): Adjust. - (expand_cond_len_ternop): Adjust. - (expand_reduction): Adjust. - (expand_lanes_load_store): Adjust. - (expand_fold_extract_last): Adjust. - * config/riscv/riscv.cc (vector_zero_call_used_regs): Adjust. - * config/riscv/vector.md: Adjust. - -2023-08-31 Haochen Gui - - PR target/96762 - * config/rs6000/rs6000-string.cc (expand_block_move): Call vector - load/store with length only on 64-bit Power10. - -2023-08-31 Claudiu Zissulescu - - * config/arc/arc.cc (arc_split_mov_const): Use LSL16 only when - SWAP option is enabled. - * config/arc/arc.md (ashlsi2_cnt16): Likewise. - -2023-08-31 Stamatis Markianos-Wright - - * config/arm/arm-mve-builtins-base.cc (vcaddq_rot90, vcaddq_rot270): - Use common insn for signed and unsigned front-end definitions. - * config/arm/arm_mve_builtins.def - (vcaddq_rot90_m_u, vcaddq_rot270_m_u): Make common. - (vcaddq_rot90_m_s, vcaddq_rot270_m_s): Remove. - * config/arm/iterators.md (mve_insn): Merge signed and unsigned defs. - (isu): Likewise. - (rot): Likewise. - (mve_rot): Likewise. - (supf): Likewise. - (VxCADDQ_M): Likewise. - * config/arm/unspecs.md (unspec): Likewise. - * config/arm/mve.md: Fix minor typo. - -2023-08-31 liuhongt - - * config/i386/sse.md (_blendm): Merge - VF_AVX512HFBFVL into VI12HFBF_AVX512VL. - (VF_AVX512HFBF16): Renamed to VHFBF. - (VF_AVX512FP16VL): Renamed to VHF_AVX512VL. - (VF_AVX512FP16): Removed. - (div3): Adjust VF_AVX512FP16VL to VHF_AVX512VL. - (avx512fp16_rcp2): Ditto. - (rsqrt2): Ditto. - (_rsqrt2): Ditto. - (vcond): Ditto. - (vcond): Ditto. - (_fmaddc__mask1): Ditto. - (_fmaddc__maskz): Ditto. - (_fcmaddc__mask1): Ditto. - (_fcmaddc__maskz): Ditto. - (cmla4): Ditto. - (fma__fadd_fmul): Ditto. - (fma__fadd_fcmul): Ditto. - (fma___fma_zero): Ditto. - (fma__fmaddc_bcst): Ditto. - (fma__fcmaddc_bcst): Ditto. - (___mask): Ditto. - (cmul3): Ditto. - (__): - Ditto. - (vec_unpacks_lo_): Ditto. - (vec_unpacks_hi_): Ditto. - (vec_unpack_fix_trunc_lo_): Ditto. - (vec_unpack_fix_trunc_lo_): Ditto. - (*vec_extract_0): Ditto. - (*_cmp3): Extend to V48H_AVX512VL. - -2023-08-31 Lehua Ding - - PR target/111234 - * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): Remove condition. - -2023-08-31 Jiufu Guo - - * range-op-mixed.h (operator_plus::overflow_free_p): New declare. - (operator_minus::overflow_free_p): New declare. - (operator_mult::overflow_free_p): New declare. - * range-op.cc (range_op_handler::overflow_free_p): New function. - (range_operator::overflow_free_p): New default function. - (operator_plus::overflow_free_p): New function. - (operator_minus::overflow_free_p): New function. - (operator_mult::overflow_free_p): New function. - * range-op.h (range_op_handler::overflow_free_p): New declare. - (range_operator::overflow_free_p): New declare. - * value-range.cc (irange::nonnegative_p): New function. - (irange::nonpositive_p): New function. - * value-range.h (irange::nonnegative_p): New declare. - (irange::nonpositive_p): New declare. - -2023-08-30 Dimitar Dimitrov - - PR target/106562 - * config/pru/predicates.md (const_0_operand): New predicate. - (pru_cstore_comparison_operator): Ditto. - * config/pru/pru.md (cstore4): New pattern. - (cstoredi4): Ditto. - -2023-08-30 Richard Biener - - PR tree-optimization/111228 - * match.pd ((vec_perm (vec_perm ..) @5 ..) -> (vec_perm @x @5 ..)): - New simplifications. - -2023-08-30 Juzhe-Zhong - - * config/riscv/autovec.md (movmisalign): Delete. - -2023-08-30 Die Li - Fei Gao - - * config/riscv/peephole.md: New pattern. - * config/riscv/predicates.md (a0a1_reg_operand): New predicate. - (zcmp_mv_sreg_operand): New predicate. - * config/riscv/riscv.md: New predicate. - * config/riscv/zc.md (*mva01s): New pattern. - (*mvsa01): New pattern. - -2023-08-30 Fei Gao - - * config/riscv/riscv.cc - (riscv_zcmp_can_use_popretz): true if popretz can be used - (riscv_gen_multi_pop_insn): interface to generate cm.pop[ret][z] - (riscv_expand_epilogue): expand cm.pop[ret][z] in epilogue - * config/riscv/riscv.md: define A0_REGNUM - * config/riscv/zc.md - (@gpr_multi_popretz_up_to_ra_): md for popretz ra - (@gpr_multi_popretz_up_to_s0_): md for popretz ra, s0 - (@gpr_multi_popretz_up_to_s1_): likewise - (@gpr_multi_popretz_up_to_s2_): likewise - (@gpr_multi_popretz_up_to_s3_): likewise - (@gpr_multi_popretz_up_to_s4_): likewise - (@gpr_multi_popretz_up_to_s5_): likewise - (@gpr_multi_popretz_up_to_s6_): likewise - (@gpr_multi_popretz_up_to_s7_): likewise - (@gpr_multi_popretz_up_to_s8_): likewise - (@gpr_multi_popretz_up_to_s9_): likewise - (@gpr_multi_popretz_up_to_s11_): likewise - -2023-08-30 Fei Gao - - * config/riscv/iterators.md - (slot0_offset): slot 0 offset in stack GPRs area in bytes - (slot1_offset): slot 1 offset in stack GPRs area in bytes - (slot2_offset): likewise - (slot3_offset): likewise - (slot4_offset): likewise - (slot5_offset): likewise - (slot6_offset): likewise - (slot7_offset): likewise - (slot8_offset): likewise - (slot9_offset): likewise - (slot10_offset): likewise - (slot11_offset): likewise - (slot12_offset): likewise - * config/riscv/predicates.md - (stack_push_up_to_ra_operand): predicates of stack adjust pushing ra - (stack_push_up_to_s0_operand): predicates of stack adjust pushing ra, s0 - (stack_push_up_to_s1_operand): likewise - (stack_push_up_to_s2_operand): likewise - (stack_push_up_to_s3_operand): likewise - (stack_push_up_to_s4_operand): likewise - (stack_push_up_to_s5_operand): likewise - (stack_push_up_to_s6_operand): likewise - (stack_push_up_to_s7_operand): likewise - (stack_push_up_to_s8_operand): likewise - (stack_push_up_to_s9_operand): likewise - (stack_push_up_to_s11_operand): likewise - (stack_pop_up_to_ra_operand): predicates of stack adjust poping ra - (stack_pop_up_to_s0_operand): predicates of stack adjust poping ra, s0 - (stack_pop_up_to_s1_operand): likewise - (stack_pop_up_to_s2_operand): likewise - (stack_pop_up_to_s3_operand): likewise - (stack_pop_up_to_s4_operand): likewise - (stack_pop_up_to_s5_operand): likewise - (stack_pop_up_to_s6_operand): likewise - (stack_pop_up_to_s7_operand): likewise - (stack_pop_up_to_s8_operand): likewise - (stack_pop_up_to_s9_operand): likewise - (stack_pop_up_to_s11_operand): likewise - * config/riscv/riscv-protos.h - (riscv_zcmp_valid_stack_adj_bytes_p):declaration - * config/riscv/riscv.cc (struct riscv_frame_info): comment change - (riscv_avoid_multi_push): helper function of riscv_use_multi_push - (riscv_use_multi_push): true if multi push is used - (riscv_multi_push_sregs_count): num of sregs in multi-push - (riscv_multi_push_regs_count): num of regs in multi-push - (riscv_16bytes_align): align to 16 bytes - (riscv_stack_align): moved to a better place - (riscv_save_libcall_count): no functional change - (riscv_compute_frame_info): add zcmp frame info - (riscv_for_each_saved_reg): save or restore fprs in specified slot for zcmp - (riscv_adjust_multi_push_cfi_prologue): adjust cfi for cm.push - (riscv_gen_multi_push_pop_insn): gen function for multi push and pop - (get_multi_push_fpr_mask): get mask for the fprs pushed by cm.push - (riscv_expand_prologue): allocate stack by cm.push - (riscv_adjust_multi_pop_cfi_epilogue): adjust cfi for cm.pop[ret] - (riscv_expand_epilogue): allocate stack by cm.pop[ret] - (zcmp_base_adj): calculate stack adjustment base size - (zcmp_additional_adj): calculate stack adjustment additional size - (riscv_zcmp_valid_stack_adj_bytes_p): check if stack adjustment valid - * config/riscv/riscv.h (RETURN_ADDR_MASK): mask of ra - (S0_MASK): likewise - (S1_MASK): likewise - (S2_MASK): likewise - (S3_MASK): likewise - (S4_MASK): likewise - (S5_MASK): likewise - (S6_MASK): likewise - (S7_MASK): likewise - (S8_MASK): likewise - (S9_MASK): likewise - (S10_MASK): likewise - (S11_MASK): likewise - (MULTI_PUSH_GPR_MASK): GPR_MASK that cm.push can cover at most - (ZCMP_MAX_SPIMM): max spimm value - (ZCMP_SP_INC_STEP): zcmp sp increment step - (ZCMP_INVALID_S0S10_SREGS_COUNTS): num of s0-s10 - (ZCMP_S0S11_SREGS_COUNTS): num of s0-s11 - (ZCMP_MAX_GRP_SLOTS): max slots of pushing and poping in zcmp - (CALLEE_SAVED_FREG_NUMBER): get x of fsx(fs0 ~ fs11) - * config/riscv/riscv.md: include zc.md - * config/riscv/zc.md: New file. machine description for zcmp - -2023-08-30 Jakub Jelinek - - PR tree-optimization/110914 - * tree-ssa-strlen.cc (strlen_pass::handle_builtin_memcpy): Don't call - adjust_last_stmt unless len is known constant. - -2023-08-30 Jakub Jelinek - - PR tree-optimization/111015 - * gimple-ssa-store-merging.cc - (imm_store_chain_info::output_merged_store): Use wi::mask and - wide_int_to_tree instead of unsigned HOST_WIDE_INT shift and - build_int_cst to build BIT_AND_EXPR mask. - -2023-08-30 Juzhe-Zhong - - * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Add MASK_LEN_ variant. - (call_may_clobber_ref_p_1): Ditto. - * tree-ssa-loop-ivopts.cc (get_mem_type_for_internal_fn): Ditto. - (get_alias_ptr_type_for_ptr_address): Ditto. - -2023-08-30 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc - (vector_insn_info::get_avl_or_vl_reg): Fix bug. - -2023-08-30 Juzhe-Zhong - - * config/riscv/autovec-vls.md (movmisalign): New pattern. - * config/riscv/riscv.cc (riscv_support_vector_misalignment): Support - VLS misalign. - -2023-08-29 Philipp Tomsich - - * config/riscv/zicond.md: New splitters to rewrite single bit - sign extension as the condition to a czero in the desired form. - -2023-08-29 David Malcolm - - PR analyzer/99860 - * doc/invoke.texi: Add -Wanalyzer-overlapping-buffers. - -2023-08-29 David Malcolm - - PR analyzer/99860 - * Makefile.in (ANALYZER_OBJS): Add analyzer/ranges.o. - -2023-08-29 Jin Ma - - * config/riscv/riscv.cc (riscv_float_const_rtx_index_for_fli): - zvfh can generate zfa extended instruction fli.h, just like zfh. - -2023-08-29 Edwin Lu - Vineet Gupta - - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Generate - __riscv_unaligned_avoid with value 1 or - __riscv_unaligned_slow with value 1 or - __riscv_unaligned_fast with value 1 - * config/riscv/riscv.cc (riscv_option_override): Define - riscv_user_wants_strict_align. Set - riscv_user_wants_strict_align to TARGET_STRICT_ALIGN - * config/riscv/riscv.h: Declare riscv_user_wants_strict_align - -2023-08-29 Edwin Lu - - * config/riscv/autovec-vls.md: Update types - * config/riscv/riscv.md: Add vector placeholder type - * config/riscv/vector.md: Update types - -2023-08-29 Carl Love - - * config/rs6000/dfp.md (UNSPEC_DQUAN): New unspec. - (dfp_dqua_, dfp_dquai_): New define_insn. - * config/rs6000/rs6000-builtins.def (__builtin_dfp_dqua, - __builtin_dfp_dquai, __builtin_dfp_dquaq, __builtin_dfp_dquaqi): - New buit-in definitions. - * config/rs6000/rs6000-overload.def (__builtin_dfp_quantize): New - overloaded definition. - * doc/extend.texi: Add documentation for __builtin_dfp_quantize. - -2023-08-29 Pan Li - Ju-Zhe Zhong - - * config/riscv/riscv.cc (riscv_legitimize_poly_move): New declaration. - (riscv_legitimize_const_move): Handle ref plus const poly. - -2023-08-29 Tsukasa OI - - * common/config/riscv/riscv-common.cc - (riscv_implied_info): Add implications from unprivileged extensions. - (riscv_ext_version_table): Add stub support for all unprivileged - extensions supported by Binutils as well as 'Zce', 'Zcmp', 'Zcmt'. - -2023-08-29 Tsukasa OI - - * common/config/riscv/riscv-common.cc (riscv_ext_version_table): - Add stub support for all vendor extensions supported by Binutils. - -2023-08-29 Tsukasa OI - - * common/config/riscv/riscv-common.cc - (riscv_implied_info): Add implications from privileged extensions. - (riscv_ext_version_table): Add stub support for all privileged - extensions supported by Binutils. - -2023-08-29 Lehua Ding - - * config/riscv/autovec.md: Adjust - * config/riscv/riscv-protos.h (RVV_VUNDEF): Clean. - (get_vlmax_rtx): Exported. - * config/riscv/riscv-v.cc (emit_nonvlmax_fp_ternary_tu_insn): Deleted. - (emit_vlmax_masked_gather_mu_insn): Adjust. - (get_vlmax_rtx): New func. - (expand_load_store): Adjust. - (expand_cond_len_unop): Call expand_cond_len_op. - (expand_cond_len_op): New subroutine. - (expand_cond_len_binop): Call expand_cond_len_op. - (expand_cond_len_ternop): Call expand_cond_len_op. - (expand_lanes_load_store): Adjust. - -2023-08-29 Jakub Jelinek - - PR middle-end/79173 - PR middle-end/111209 - * tree-ssa-math-opts.cc (match_uaddc_usubc): Match also - just 2 limb uaddc/usubc with 0 carry-in on lower limb and ignored - carry-out on higher limb. Don't match it though if it could be - matched later on 4 argument addition/subtraction. - -2023-08-29 Andrew Pinski - - PR tree-optimization/111147 - * match.pd (`(x | y) & (~x ^ y)`) Use bitwise_inverted_equal_p - instead of matching bit_not. - -2023-08-29 Christophe Lyon - - * config/arm/arm-mve-builtins.cc (type_suffixes): Add missing - initializer. - -2023-08-29 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (vector_insn_info::get_avl_or_vl_reg): New function. - (pass_vsetvl::compute_local_properties): Fix bug. - (pass_vsetvl::commit_vsetvls): Ditto. - * config/riscv/riscv-vsetvl.h: New function. - -2023-08-29 Lehua Ding - - PR target/110943 - * config/riscv/predicates.md (vector_const_int_or_double_0_operand): - New predicate. - * config/riscv/riscv-vector-builtins.cc (function_expander::function_expander): - force_reg mem target operand. - * config/riscv/vector.md (@pred_mov): Wrapper. - (*pred_mov): Remove imm -> reg pattern. - (*pred_broadcast_imm): Add imm -> reg pattern. - -2023-08-29 Lulu Cheng - - * common/config/loongarch/loongarch-common.cc: - Enable '-free' on O2 and above. - * doc/invoke.texi: Modify the description information - of the '-free' compilation option and add the LoongArch - description. - -2023-08-28 Tsukasa OI - - * doc/extend.texi: Fix the description of __builtin_riscv_pause. - -2023-08-28 Tsukasa OI - - * common/config/riscv/riscv-common.cc (riscv_ext_version_table): - Implement the 'Zihintpause' extension, version 2.0. - (riscv_ext_flag_table) Add 'Zihintpause' handling. - * config/riscv/riscv-builtins.cc: Remove availability predicate - "always" and add "hint_pause". - (riscv_builtins) : Add "pause" extension. - * config/riscv/riscv-opts.h (MASK_ZIHINTPAUSE, TARGET_ZIHINTPAUSE): New. - * config/riscv/riscv.md (riscv_pause): Adjust output based on - TARGET_ZIHINTPAUSE. - -2023-08-28 Andrew Pinski - - * match.pd (`(X & ~Y) | (~X & Y)`): Use bitwise_inverted_equal_p - instead of specifically checking for ~X. - -2023-08-28 Andrew Pinski - - PR tree-optimization/111146 - * match.pd (`(x | y) & ~x`, `(x & y) | ~x`): Remove - redundant pattern. - -2023-08-28 Andrew Pinski - - * tree-ssa-phiopt.cc (gimple_simplify_phiopt): Add dump information - when resimplify returns true. - (match_simplify_replacement): Print only if accepted the match-and-simplify - result rather than the full sequence. - -2023-08-28 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::earliest_fusion): Skip - never probability. - (pass_vsetvl::compute_probabilities): Fix unitialized probability. - -2023-08-28 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::earliest_fusion): Fix bug. - -2023-08-28 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vmullbq_poly) - (vmulltq_poly): New. - * config/arm/arm-mve-builtins-base.def (vmullbq_poly) - (vmulltq_poly): New. - * config/arm/arm-mve-builtins-base.h (vmullbq_poly) - (vmulltq_poly): New. - * config/arm/arm_mve.h (vmulltq_poly): Remove. - (vmullbq_poly): Remove. - (vmullbq_poly_m): Remove. - (vmulltq_poly_m): Remove. - (vmullbq_poly_x): Remove. - (vmulltq_poly_x): Remove. - (vmulltq_poly_p8): Remove. - (vmullbq_poly_p8): Remove. - (vmulltq_poly_p16): Remove. - (vmullbq_poly_p16): Remove. - (vmullbq_poly_m_p8): Remove. - (vmullbq_poly_m_p16): Remove. - (vmulltq_poly_m_p8): Remove. - (vmulltq_poly_m_p16): Remove. - (vmullbq_poly_x_p8): Remove. - (vmullbq_poly_x_p16): Remove. - (vmulltq_poly_x_p8): Remove. - (vmulltq_poly_x_p16): Remove. - (__arm_vmulltq_poly_p8): Remove. - (__arm_vmullbq_poly_p8): Remove. - (__arm_vmulltq_poly_p16): Remove. - (__arm_vmullbq_poly_p16): Remove. - (__arm_vmullbq_poly_m_p8): Remove. - (__arm_vmullbq_poly_m_p16): Remove. - (__arm_vmulltq_poly_m_p8): Remove. - (__arm_vmulltq_poly_m_p16): Remove. - (__arm_vmullbq_poly_x_p8): Remove. - (__arm_vmullbq_poly_x_p16): Remove. - (__arm_vmulltq_poly_x_p8): Remove. - (__arm_vmulltq_poly_x_p16): Remove. - (__arm_vmulltq_poly): Remove. - (__arm_vmullbq_poly): Remove. - (__arm_vmullbq_poly_m): Remove. - (__arm_vmulltq_poly_m): Remove. - (__arm_vmullbq_poly_x): Remove. - (__arm_vmulltq_poly_x): Remove. - -2023-08-28 Christophe Lyon - - * config/arm/arm-mve-builtins-functions.h (class - unspec_mve_function_exact_insn_vmull_poly): New. - -2023-08-28 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_widen_poly): New. - * config/arm/arm-mve-builtins-shapes.h (binary_widen_poly): New. - -2023-08-28 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (parse_element_type): Add - support for 'U' and 'p' format specifiers. - -2023-08-28 Christophe Lyon - - * config/arm/arm-mve-builtins.cc (type_suffixes): Handle poly_p - field.. - (TYPES_poly_8_16): New. - (poly_8_16): New. - * config/arm/arm-mve-builtins.def (p8): New type suffix. - (p16): Likewise. - * config/arm/arm-mve-builtins.h (enum type_class_index): Add - TYPE_poly. - (struct type_suffix_info): Add poly_p field. - -2023-08-28 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vmullbq_int, vmulltq_int): - New. - * config/arm/arm-mve-builtins-base.def (vmullbq_int, vmulltq_int): - New. - * config/arm/arm-mve-builtins-base.h (vmullbq_int, vmulltq_int): - New. - * config/arm/arm_mve.h (vmulltq_int): Remove. - (vmullbq_int): Remove. - (vmullbq_int_m): Remove. - (vmulltq_int_m): Remove. - (vmullbq_int_x): Remove. - (vmulltq_int_x): Remove. - (vmulltq_int_u8): Remove. - (vmullbq_int_u8): Remove. - (vmulltq_int_s8): Remove. - (vmullbq_int_s8): Remove. - (vmulltq_int_u16): Remove. - (vmullbq_int_u16): Remove. - (vmulltq_int_s16): Remove. - (vmullbq_int_s16): Remove. - (vmulltq_int_u32): Remove. - (vmullbq_int_u32): Remove. - (vmulltq_int_s32): Remove. - (vmullbq_int_s32): Remove. - (vmullbq_int_m_s8): Remove. - (vmullbq_int_m_s32): Remove. - (vmullbq_int_m_s16): Remove. - (vmullbq_int_m_u8): Remove. - (vmullbq_int_m_u32): Remove. - (vmullbq_int_m_u16): Remove. - (vmulltq_int_m_s8): Remove. - (vmulltq_int_m_s32): Remove. - (vmulltq_int_m_s16): Remove. - (vmulltq_int_m_u8): Remove. - (vmulltq_int_m_u32): Remove. - (vmulltq_int_m_u16): Remove. - (vmullbq_int_x_s8): Remove. - (vmullbq_int_x_s16): Remove. - (vmullbq_int_x_s32): Remove. - (vmullbq_int_x_u8): Remove. - (vmullbq_int_x_u16): Remove. - (vmullbq_int_x_u32): Remove. - (vmulltq_int_x_s8): Remove. - (vmulltq_int_x_s16): Remove. - (vmulltq_int_x_s32): Remove. - (vmulltq_int_x_u8): Remove. - (vmulltq_int_x_u16): Remove. - (vmulltq_int_x_u32): Remove. - (__arm_vmulltq_int_u8): Remove. - (__arm_vmullbq_int_u8): Remove. - (__arm_vmulltq_int_s8): Remove. - (__arm_vmullbq_int_s8): Remove. - (__arm_vmulltq_int_u16): Remove. - (__arm_vmullbq_int_u16): Remove. - (__arm_vmulltq_int_s16): Remove. - (__arm_vmullbq_int_s16): Remove. - (__arm_vmulltq_int_u32): Remove. - (__arm_vmullbq_int_u32): Remove. - (__arm_vmulltq_int_s32): Remove. - (__arm_vmullbq_int_s32): Remove. - (__arm_vmullbq_int_m_s8): Remove. - (__arm_vmullbq_int_m_s32): Remove. - (__arm_vmullbq_int_m_s16): Remove. - (__arm_vmullbq_int_m_u8): Remove. - (__arm_vmullbq_int_m_u32): Remove. - (__arm_vmullbq_int_m_u16): Remove. - (__arm_vmulltq_int_m_s8): Remove. - (__arm_vmulltq_int_m_s32): Remove. - (__arm_vmulltq_int_m_s16): Remove. - (__arm_vmulltq_int_m_u8): Remove. - (__arm_vmulltq_int_m_u32): Remove. - (__arm_vmulltq_int_m_u16): Remove. - (__arm_vmullbq_int_x_s8): Remove. - (__arm_vmullbq_int_x_s16): Remove. - (__arm_vmullbq_int_x_s32): Remove. - (__arm_vmullbq_int_x_u8): Remove. - (__arm_vmullbq_int_x_u16): Remove. - (__arm_vmullbq_int_x_u32): Remove. - (__arm_vmulltq_int_x_s8): Remove. - (__arm_vmulltq_int_x_s16): Remove. - (__arm_vmulltq_int_x_s32): Remove. - (__arm_vmulltq_int_x_u8): Remove. - (__arm_vmulltq_int_x_u16): Remove. - (__arm_vmulltq_int_x_u32): Remove. - (__arm_vmulltq_int): Remove. - (__arm_vmullbq_int): Remove. - (__arm_vmullbq_int_m): Remove. - (__arm_vmulltq_int_m): Remove. - (__arm_vmullbq_int_x): Remove. - (__arm_vmulltq_int_x): Remove. - -2023-08-28 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_widen): New. - * config/arm/arm-mve-builtins-shapes.h (binary_widen): New. - -2023-08-28 Christophe Lyon - - * config/arm/arm-mve-builtins-functions.h (class - unspec_mve_function_exact_insn_vmull): New. - -2023-08-28 Christophe Lyon - - * config/arm/iterators.md (mve_insn): Add vmullb, vmullt. - (isu): Add VMULLBQ_INT_S, VMULLBQ_INT_U, VMULLTQ_INT_S, - VMULLTQ_INT_U. - (supf): Add VMULLBQ_POLY_P, VMULLTQ_POLY_P, VMULLBQ_POLY_M_P, - VMULLTQ_POLY_M_P. - (VMULLBQ_INT, VMULLTQ_INT, VMULLBQ_INT_M, VMULLTQ_INT_M): Delete. - (VMULLxQ_INT, VMULLxQ_POLY, VMULLxQ_INT_M, VMULLxQ_POLY_M): New. - * config/arm/mve.md (mve_vmullbq_int_) - (mve_vmulltq_int_): Merge into ... - (@mve_q_int_) ... this. - (mve_vmulltq_poly_p, mve_vmullbq_poly_p): Merge into ... - (@mve_q_poly_): ... this. - (mve_vmullbq_int_m_, mve_vmulltq_int_m_): Merge into ... - (@mve_q_int_m_): ... this. - (mve_vmullbq_poly_m_p, mve_vmulltq_poly_m_p): Merge into ... - (@mve_q_poly_m_): ... this. - -2023-08-28 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (parse_element_type): - Remove dead check. - -2023-08-28 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_acca_int32): Fix loop bound. - (binary_acca_int64): Likewise. - -2023-08-28 Aldy Hernandez - - * range-op-float.cc (fold_range): Handle relations. - -2023-08-28 Lulu Cheng - - * config/loongarch/loongarch.cc (loongarch_expand_conditional_move): - Optimize the function implementation. - -2023-08-28 liuhongt - - PR target/111119 - * config/i386/sse.md (V48_AVX2): Rename to .. - (V48_128_256): .. this. - (ssefltmodesuffix): Extend to V4SF/V8SF/V2DF/V4DF. - (_maskload): Change - V48_AVX2 to V48_128_256, also generate vmaskmov{ps,pd} for - integral modes when TARGET_AVX2 is not available. - (_maskstore): Ditto. - (maskload): Change V48_AVX2 to - V48_128_256. - (maskstore): Ditto. - -2023-08-28 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (vsetvl_vtype_change_only_p): - New function. - (after_or_same_p): Ditto. - (find_reg_killed_by): Delete. - (has_vsetvl_killed_avl_p): Ditto. - (anticipatable_occurrence_p): Refactor. - (any_set_in_bb_p): Delete. - (count_regno_occurrences): Ditto. - (backward_propagate_worthwhile_p): Ditto. - (demands_can_be_fused_p): Ditto. - (earliest_pred_can_be_fused_p): New function. - (vsetvl_dominated_by_p): Ditto. - (vector_insn_info::parse_insn): Refactor. - (vector_insn_info::merge): Refactor. - (vector_insn_info::dump): Refactor. - (vector_infos_manager::vector_infos_manager): Refactor. - (vector_infos_manager::all_empty_predecessor_p): Delete. - (vector_infos_manager::all_same_avl_p): Ditto. - (vector_infos_manager::create_bitmap_vectors): Refactor. - (vector_infos_manager::free_bitmap_vectors): Refactor. - (vector_infos_manager::dump): Refactor. - (pass_vsetvl::update_block_info): New function. - (enum fusion_type): Ditto. - (pass_vsetvl::get_backward_fusion_type): Delete. - (pass_vsetvl::hard_empty_block_p): Ditto. - (pass_vsetvl::backward_demand_fusion): Ditto. - (pass_vsetvl::forward_demand_fusion): Ditto. - (pass_vsetvl::demand_fusion): Ditto. - (pass_vsetvl::cleanup_illegal_dirty_blocks): Ditto. - (pass_vsetvl::compute_local_properties): Ditto. - (pass_vsetvl::earliest_fusion): New function. - (pass_vsetvl::vsetvl_fusion): Ditto. - (pass_vsetvl::commit_vsetvls): Refactor. - (get_first_vsetvl_before_rvv_insns): Ditto. - (pass_vsetvl::global_eliminate_vsetvl_insn): Ditto. - (pass_vsetvl::cleanup_earliest_vsetvls): New function. - (pass_vsetvl::df_post_optimization): Refactor. - (pass_vsetvl::lazy_vsetvl): Ditto. - * config/riscv/riscv-vsetvl.h: Ditto. - -2023-08-26 Juzhe-Zhong - - * config/riscv/autovec.md (len_fold_extract_last_): New pattern. - * config/riscv/riscv-protos.h (enum insn_type): New enum. - (expand_fold_extract_last): New function. - * config/riscv/riscv-v.cc (emit_nonvlmax_slide_insn): Ditto. - (emit_cpop_insn): Ditto. - (emit_nonvlmax_compress_insn): Ditto. - (expand_fold_extract_last): Ditto. - * config/riscv/vector.md: Fix vcpop.m ratio demand. - -2023-08-25 Edwin Lu - - * config/riscv/sync-rvwmo.md: updated types to "multi" or - "atomic" based on number of assembly lines generated - * config/riscv/sync-ztso.md: likewise - * config/riscv/sync.md: likewise - -2023-08-25 Jin Ma - - * common/config/riscv/riscv-common.cc: Add zfa extension version, which depends on - the F extension. - * config/riscv/constraints.md (zfli): Constrain the floating point number that the - instructions FLI.H/S/D can load. - * config/riscv/iterators.md (ceil): New. - * config/riscv/riscv-opts.h (MASK_ZFA): New. - (TARGET_ZFA): New. - * config/riscv/riscv-protos.h (riscv_float_const_rtx_index_for_fli): New. - * config/riscv/riscv.cc (riscv_float_const_rtx_index_for_fli): New. - (riscv_cannot_force_const_mem): If instruction FLI.H/S/D can be used, memory is - not applicable. - (riscv_const_insns): Likewise. - (riscv_legitimize_const_move): Likewise. - (riscv_split_64bit_move_p): If instruction FLI.H/S/D can be used, no split is - required. - (riscv_split_doubleword_move): Likewise. - (riscv_output_move): Output the mov instructions in zfa extension. - (riscv_print_operand): Output the floating-point value of the FLI.H/S/D immediate - in assembly. - (riscv_secondary_memory_needed): Likewise. - * config/riscv/riscv.md (fminm3): New. - (fmaxm3): New. - (movsidf2_low_rv32): New. - (movsidf2_high_rv32): New. - (movdfsisi3_rv32): New. - (f_quiet4_zfa): New. - * config/riscv/riscv.opt: New. - -2023-08-25 Sandra Loosemore - - * omp-api.h: New. - * omp-general.cc (omp_runtime_api_procname): New. - (omp_runtime_api_call): Moved here from omp-low.cc, and make - non-static. - * omp-general.h: Include omp-api.h. - * omp-low.cc (omp_runtime_api_call): Delete this copy. - -2023-08-25 Sandra Loosemore - - * doc/generic.texi (OpenMP): Document OMP_STRUCTURED_BLOCK. - * doc/gimple.texi (GIMPLE instruction set): Add - GIMPLE_OMP_STRUCTURED_BLOCK. - (GIMPLE_OMP_STRUCTURED_BLOCK): New subsection. - * gimple-low.cc (lower_stmt): Error on GIMPLE_OMP_STRUCTURED_BLOCK. - * gimple-pretty-print.cc (dump_gimple_omp_block): Handle - GIMPLE_OMP_STRUCTURED_BLOCK. - (pp_gimple_stmt_1): Likewise. - * gimple-walk.cc (walk_gimple_stmt): Likewise. - * gimple.cc (gimple_build_omp_structured_block): New. - * gimple.def (GIMPLE_OMP_STRUCTURED_BLOCK): New. - * gimple.h (gimple_build_omp_structured_block): Declare. - (gimple_has_substatements): Handle GIMPLE_OMP_STRUCTURED_BLOCK. - (CASE_GIMPLE_OMP): Likewise. - * gimplify.cc (is_gimple_stmt): Handle OMP_STRUCTURED_BLOCK. - (gimplify_expr): Likewise. - * omp-expand.cc (GIMPLE_OMP_STRUCTURED_BLOCK): Error on - GIMPLE_OMP_STRUCTURED_BLOCK. - * omp-low.cc (scan_omp_1_stmt): Handle GIMPLE_OMP_STRUCTURED_BLOCK. - (lower_omp_1): Likewise. - (diagnose_sb_1): Likewise. - (diagnose_sb_2): Likewise. - * tree-inline.cc (remap_gimple_stmt): Handle - GIMPLE_OMP_STRUCTURED_BLOCK. - (estimate_num_insns): Likewise. - * tree-nested.cc (convert_nonlocal_reference_stmt): Likewise. - (convert_local_reference_stmt): Likewise. - (convert_gimple_call): Likewise. - * tree-pretty-print.cc (dump_generic_node): Handle - OMP_STRUCTURED_BLOCK. - * tree.def (OMP_STRUCTURED_BLOCK): New. - * tree.h (OMP_STRUCTURED_BLOCK_BODY): New. - -2023-08-25 Vineet Gupta - - * config/riscv/riscv.cc (riscv_rtx_costs): Adjust const_int - cost. Add some comments about different constants handling. - -2023-08-25 Andrew Pinski - - * match.pd (`a ? one_zero : one_zero`): Move - below detection of minmax. - -2023-08-25 Andrew Pinski - - * match.pd (`a | C -> C`): New pattern. - -2023-08-25 Uros Bizjak - - * caller-save.cc (new_saved_hard_reg): - Rename TRUE/FALSE to true/false. - (setup_save_areas): Ditto. - * gcc.cc (set_collect_gcc_options): Ditto. - (driver::build_multilib_strings): Ditto. - (print_multilib_info): Ditto. - * genautomata.cc (gen_cpu_unit): Ditto. - (gen_query_cpu_unit): Ditto. - (gen_bypass): Ditto. - (gen_excl_set): Ditto. - (gen_presence_absence_set): Ditto. - (gen_presence_set): Ditto. - (gen_final_presence_set): Ditto. - (gen_absence_set): Ditto. - (gen_final_absence_set): Ditto. - (gen_automaton): Ditto. - (gen_regexp_repeat): Ditto. - (gen_regexp_allof): Ditto. - (gen_regexp_oneof): Ditto. - (gen_regexp_sequence): Ditto. - (process_decls): Ditto. - (reserv_sets_are_intersected): Ditto. - (initiate_excl_sets): Ditto. - (form_reserv_sets_list): Ditto. - (check_presence_pattern_sets): Ditto. - (check_absence_pattern_sets): Ditto. - (check_regexp_units_distribution): Ditto. - (check_unit_distributions_to_automata): Ditto. - (create_ainsns): Ditto. - (output_insn_code_cases): Ditto. - (output_internal_dead_lock_func): Ditto. - (form_important_insn_automata_lists): Ditto. - * gengtype-state.cc (read_state_files_list): Ditto. - * gengtype.cc (main): Ditto. - * gimple-array-bounds.cc (array_bounds_checker::check_array_bounds): - Ditto. - * gimple.cc (gimple_build_call_from_tree): Ditto. - (preprocess_case_label_vec_for_gimple): Ditto. - * gimplify.cc (gimplify_call_expr): Ditto. - * ordered-hash-map-tests.cc (test_map_of_int_to_strings): Ditto. - -2023-08-25 Richard Biener - - PR tree-optimization/111137 - * tree-vect-data-refs.cc (vect_slp_analyze_load_dependences): - Properly handle grouped stores from other SLP instances. - -2023-08-25 Richard Biener - - * tree-vect-data-refs.cc (vect_slp_analyze_store_dependences): - Split out from vect_slp_analyze_node_dependences, remove - dead code. - (vect_slp_analyze_load_dependences): Split out from - vect_slp_analyze_node_dependences, adjust comments. Process - queued stores before any disambiguation. - (vect_slp_analyze_node_dependences): Remove. - (vect_slp_analyze_instance_dependence): Adjust. - -2023-08-25 Aldy Hernandez - - * range-op-float.cc (frelop_early_resolve): Rewrite for better NAN - handling. - (operator_not_equal::fold_range): Adjust for relations. - (operator_lt::fold_range): Same. - (operator_gt::fold_range): Same. - (foperator_unordered_equal::fold_range): Same. - (foperator_unordered_lt::fold_range): Same. - (foperator_unordered_le::fold_range): Same. - (foperator_unordered_gt::fold_range): Same. - (foperator_unordered_ge::fold_range): Same. - -2023-08-25 Richard Biener - - PR tree-optimization/111136 - * tree-vect-loop.cc (vect_dissolve_slp_only_groups): For - stores force STMT_VINFO_STRIDED_P and also duplicate that - to all elements. - -2023-08-25 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::compute_local_properties): - Add early continue. - -2023-08-25 liuhongt - - * config/i386/sse.md (vec_set): Removed. - (V_128H): Merge into .. - (V_128): .. this. - (V_256H): Merge into .. - (V_256): .. this. - (V_512): Add V32HF, V32BF. - (*ssse3_palignr_perm): Adjust mode iterator from V_128H - to V_128. - (vcond): Removed - (vcondu): Removed. - (avx_vbroadcastf128_): Refator from V_256H to V_256. - -2023-08-25 Hongyu Wang - - PR target/111127 - * config/i386/sse.md (avx512f_cvtne2ps2bf16__maskz): - Adjust paramter order. - -2023-08-24 Uros Bizjak - - PR target/94866 - * config/i386/sse.md (*sse2_movq128__1): New insn pattern. - -2023-08-24 David Malcolm - - PR analyzer/105899 - * doc/invoke.texi (Static Analyzer Options): Add "strcat" to the - list of functions known to the analyzer. - -2023-08-24 Richard Biener - - PR tree-optimization/111123 - * tree-ssa-ccp.cc (pass_fold_builtins::execute): Do not - remove indirect clobbers here ... - * tree-outof-ssa.cc (rewrite_out_of_ssa): ... but here. - (remove_indirect_clobbers): New function. - -2023-08-24 Jan Hubicka - - * cfg.h (struct control_flow_graph): New field full_profile. - * auto-profile.cc (afdo_annotate_cfg): Set full_profile to true. - * cfg.cc (init_flow): Set full_profile to false. - * graphite.cc (graphite_transform_loops): Set full_profile to false. - * lto-streamer-in.cc (input_cfg): Initialize full_profile flag. - * predict.cc (pass_profile::execute): Set full_profile to true. - * symtab-thunks.cc (expand_thunk): Set full_profile to true. - * tree-cfg.cc (gimple_verify_flow_info): Verify that profile is full - if full_profile is set. - * tree-inline.cc (initialize_cfun): Initialize full_profile. - (expand_call_inline): Combine full_profile. - -2023-08-24 Richard Biener - - * tree-vect-slp.cc (vect_build_slp_tree_1): Rename - load_p to ldst_p, fix mistakes and rely on - STMT_VINFO_DATA_REF. - -2023-08-24 Jan Hubicka - - * gimple-harden-conditionals.cc (insert_check_and_trap): Set count - of newly build trap bb. - -2023-08-24 Juzhe-Zhong - - * config/riscv/riscv.cc (riscv_preferred_else_value): Remove it since - it forbid COND_LEN_FMS/COND_LEN_FNMS STMT fold. - (TARGET_PREFERRED_ELSE_VALUE): Ditto. - -2023-08-24 Robin Dapp - - * common/config/riscv/riscv-common.cc: Add -fsched-pressure. - * config/riscv/riscv.cc (riscv_option_override): Set sched - pressure algorithm. - -2023-08-24 Robin Dapp - - * config/riscv/riscv.cc (riscv_print_operand): Allow vk operand. - -2023-08-24 Richard Biener - - PR tree-optimization/111125 - * tree-vect-slp.cc (vect_slp_function): Split at novector - loop entry, do not push blocks in novector loops. - -2023-08-24 Richard Sandiford - - * doc/extend.texi: Document the C [[__extension__ ...]] construct. - -2023-08-24 Juzhe-Zhong - - * genmatch.cc (decision_tree::gen): Support - COND_LEN_FNMA/COND_LEN_FMS/COND_LEN_FNMS gimple fold. - * gimple-match-exports.cc (gimple_simplify): Ditto. - (gimple_resimplify6): New function. - (gimple_resimplify7): New function. - (gimple_match_op::resimplify): Support - COND_LEN_FNMA/COND_LEN_FMS/COND_LEN_FNMS gimple fold. - (convert_conditional_op): Ditto. - (build_call_internal): Ditto. - (try_conditional_simplification): Ditto. - (gimple_extract): Ditto. - * gimple-match.h (gimple_match_cond::gimple_match_cond): Ditto. - * internal-fn.cc (CASE): Ditto. - -2023-08-24 Richard Biener - - PR tree-optimization/111115 - * tree-vectorizer.h (vect_slp_child_index_for_operand): New. - * tree-vect-data-refs.cc (can_group_stmts_p): Also group - .MASK_STORE. - * tree-vect-slp.cc (arg3_arg2_map): New. - (vect_get_operand_map): Handle IFN_MASK_STORE. - (vect_slp_child_index_for_operand): New function. - (vect_build_slp_tree_1): Handle statements with no LHS, - masked store ifns. - (vect_remove_slp_scalar_calls): Likewise. - * tree-vect-stmts.cc (vect_check_store_rhs): Lookup the - SLP child corresponding to the ifn value index. - (vectorizable_store): Likewise for the mask index. Support - masked stores. - (vectorizable_load): Lookup the SLP child corresponding to the - ifn mask index. - -2023-08-24 Richard Biener - - PR tree-optimization/111125 - * tree-vect-slp.cc (vectorizable_bb_reduc_epilogue): Account - for the remain_defs processing. - -2023-08-24 Richard Sandiford - - * config/aarch64/aarch64.cc: Include ssa.h. - (aarch64_multiply_add_p): Require the second operand of an - Advanced SIMD subtraction to be a multiplication. Assume that - such an operation won't be fused if the second operand is used - multiple times and if the first operand is also a multiplication. - -2023-08-24 Juzhe-Zhong - - * tree-vect-loop.cc (vectorizable_reduction): Apply - LEN_FOLD_EXTRACT_LAST. - * tree-vect-stmts.cc (vectorizable_condition): Ditto. - -2023-08-24 Richard Biener - - PR tree-optimization/111128 - * tree-vect-patterns.cc (vect_recog_over_widening_pattern): - Emit external shift operand inline if we promoted it with - another pattern stmt. - -2023-08-24 Pan Li - - * config/riscv/autovec.md: Fix typo. - -2023-08-24 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class binop_frm): Removed. - (class reverse_binop_frm): Ditto. - (class widen_binop_frm): Ditto. - (class vfmacc_frm): Ditto. - (class vfnmacc_frm): Ditto. - (class vfmsac_frm): Ditto. - (class vfnmsac_frm): Ditto. - (class vfmadd_frm): Ditto. - (class vfnmadd_frm): Ditto. - (class vfmsub_frm): Ditto. - (class vfnmsub_frm): Ditto. - (class vfwmacc_frm): Ditto. - (class vfwnmacc_frm): Ditto. - (class vfwmsac_frm): Ditto. - (class vfwnmsac_frm): Ditto. - (class unop_frm): Ditto. - (class vfrec7_frm): Ditto. - (class binop): Add frm_op_type template arg. - (class unop): Ditto. - (class widen_binop): Ditto. - (class widen_binop_fp): Ditto. - (class reverse_binop): Ditto. - (class vfmacc): Ditto. - (class vfnmsac): Ditto. - (class vfmadd): Ditto. - (class vfnmsub): Ditto. - (class vfnmacc): Ditto. - (class vfmsac): Ditto. - (class vfnmadd): Ditto. - (class vfmsub): Ditto. - (class vfwmacc): Ditto. - (class vfwnmacc): Ditto. - (class vfwmsac): Ditto. - (class vfwnmsac): Ditto. - (class float_misc): Ditto. - -2023-08-24 Andrew Pinski - - PR tree-optimization/111109 - * match.pd (ior(cond,cond), ior(vec_cond,vec_cond)): - Add check to make sure cmp and icmp are inverse. - -2023-08-24 Andrew Pinski - - PR tree-optimization/95929 - * match.pd (convert?(-a)): New pattern - for 1bit integer types. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-17 Haochen Jiang - - * common/config/i386/cpuinfo.h (get_available_features): - Add avx10_set and version and detect avx10.1. - (cpu_indicator_init): Handle avx10.1-512. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AVX10_512BIT_SET): New. - (OPTION_MASK_ISA2_AVX10_1_SET): Ditto. - (OPTION_MASK_ISA2_AVX10_512BIT_UNSET): Ditto. - (OPTION_MASK_ISA2_AVX10_1_UNSET): Ditto. - (OPTION_MASK_ISA2_AVX2_UNSET): Modify for AVX10_1. - (ix86_handle_option): Handle -mavx10.1, -mavx10.1-256 and - -mavx10.1-512. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AVX10_512BIT, FEATURE_AVX10_1 and - FEATURE_AVX10_512BIT. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - AVX10_512BIT, AVX10_1 and AVX10_1_512. - * config/i386/constraints.md (Yk): Add AVX10_1. - (Yv): Ditto. - (k): Ditto. - * config/i386/cpuid.h (bit_AVX10): New. - (bit_AVX10_256): Ditto. - (bit_AVX10_512): Ditto. - * config/i386/i386-c.cc (ix86_target_macros_internal): - Define AVX10_512BIT and AVX10_1. - * config/i386/i386-isa.def - (AVX10_512BIT): Add DEF_PTA(AVX10_512BIT). - (AVX10_1): Add DEF_PTA(AVX10_1). - * config/i386/i386-options.cc (isa2_opts): Add -mavx10.1. - (ix86_valid_target_attribute_inner_p): Handle avx10-512bit, avx10.1 - and avx10.1-512. - (ix86_option_override_internal): Enable AVX512{F,VL,BW,DQ,CD,BF16, - FP16,VBMI,VBMI2,VNNI,IFMA,BITALG,VPOPCNTDQ} features for avx10.1-512. - (ix86_valid_target_attribute_inner_p): Handle AVX10_1. - * config/i386/i386.cc (ix86_get_ssemov): Add AVX10_1. - (ix86_conditional_register_usage): Ditto. - (ix86_hard_regno_mode_ok): Ditto. - (ix86_rtx_costs): Ditto. - * config/i386/i386.h (VALID_MASK_AVX10_MODE): New macro. - * config/i386/i386.opt: Add option -mavx10.1, -mavx10.1-256 and - -mavx10.1-512. - * doc/extend.texi: Document avx10.1, avx10.1-256 and avx10.1-512. - * doc/invoke.texi: Document -mavx10.1, -mavx10.1-256 and -mavx10.1-512. - * doc/sourcebuild.texi: Document target avx10.1, avx10.1-256 - and avx10.1-512. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-17 Haochen Jiang - - * common/config/i386/i386-common.cc - (ix86_check_avx10): New function to check isa_flags and - isa_flags_explicit to emit warning when AVX10 is enabled - by "-m" option. - (ix86_check_avx512): New function to check isa_flags and - isa_flags_explicit to emit warning when AVX512 is enabled - by "-m" option. - (ix86_handle_option): Do not change the flags when warning - is emitted. - * config/i386/driver-i386.cc (host_detect_local_cpu): - Do not append -mno-avx10.1 for -march=native. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-17 Haochen Jiang - - * common/config/i386/i386-common.cc - (ix86_check_avx10_vector_width): New function to check isa_flags - to emit a warning when there is a conflict in AVX10 options for - vector width. - (ix86_handle_option): Add check for avx10.1-256 and avx10.1-512. - * config/i386/driver-i386.cc (host_detect_local_cpu): - Do not append -mno-avx10-max-512bit for -march=native. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-17 Haochen Jiang - - * config/i386/avx512vldqintrin.h: Remove target attribute. - * config/i386/i386-builtin.def (BDESC): - Add OPTION_MASK_ISA2_AVX10_1. - * config/i386/i386-builtins.cc (def_builtin): Handle AVX10_1. - * config/i386/i386-expand.cc - (ix86_check_builtin_isa_match): Ditto. - (ix86_expand_sse2_mulvxdi3): Add TARGET_AVX10_1. - * config/i386/i386.md: Add new isa attribute avx10_1_or_avx512dq - and avx10_1_or_avx512vl. - * config/i386/sse.md: (VF2_AVX512VLDQ_AVX10_1): New. - (VF1_128_256VLDQ_AVX10_1): Ditto. - (VI8_AVX512VLDQ_AVX10_1): Ditto. - (_andnot3): - Add TARGET_AVX10_1 and change isa attr from avx512dq to - avx10_1_or_avx512dq. - (*andnot3): Add TARGET_AVX10_1 and change isa attr from - avx512vl to avx10_1_or_avx512vl. - (fix_trunc2): - Change iterator to VF2_AVX512VLDQ_AVX10_1. Remove target check. - (fix_notrunc2): - Ditto. - (ufix_notrunc2): - Ditto. - (fix_trunc2): - Change iterator to VF1_128_256VLDQ_AVX10_1. Remove target check. - (avx512dq_fix_truncv2sfv2di2): - Add TARGET_AVX10_1. - (fix_truncv2sfv2di2): Ditto. - (cond_mul): Change iterator to VI8_AVX10_1_AVX512DQVL. - Remove target check. - (avx512dq_mul3): Ditto. - (*avx512dq_mul3): Ditto. - (VI4F_BRCST32x2): Add TARGET_AVX512DQ and TARGET_AVX10_1. - (avx512dq_broadcast): - Remove target check. - (VI8F_BRCST64x2): Add TARGET_AVX512DQ and TARGET_AVX10_1. - (avx512dq_broadcast_1): - Remove target check. - * config/i386/subst.md (mask_mode512bit_condition): Add TARGET_AVX10_1. - (mask_avx512vl_condition): Ditto. - (mask): Ditto. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-17 Haochen Jiang - - * config/i386/avx512vldqintrin.h: Remove target attribute. - * config/i386/i386-builtin.def (BDESC): - Add OPTION_MASK_ISA2_AVX10_1. - * config/i386/i386.cc (standard_sse_constant_opcode): Add TARGET_AVX10_1. - * config/i386/sse.md: (VI48_AVX512VL_AVX10_1): New. - (VI48_AVX512VLDQ_AVX10_1): Ditto. - (VF2_AVX512VL): Remove. - (VI8_256_512VLDQ_AVX10_1): Rename from VI8_256_512. - Add TARGET_AVX10_1. - (*3): Change isa attribute to - avx10_1_or_avx512dq. Add TARGET_AVX10_1. - (3): Add TARGET_AVX10_1. Change isa attr - to avx10_1_or_avx512vl. - (avx512dq_cvtps2qq): - Change iterator to VI8_256_512VLDQ_AVX10_1. Remove target check. - (avx512dq_cvtps2qqv2di): - Add TARGET_AVX10_1. - (avx512dq_cvtps2uqq): - Change iterator to VI8_256_512VLDQ_AVX10_1. Remove target check. - (avx512dq_cvtps2uqqv2di): - Add TARGET_AVX10_1. - (float2): - Change iterator to VF2_AVX512VLDQ_AVX10_1. Remove target check. - (float2): - Change iterator to VF1_128_256VLDQ_AVX10_1. Remove target check. - (floatv4div4sf2): - Add TARGET_AVX10_1. - (avx512dq_floatv2div2sf2): Ditto. - (*avx512dq_floatv2div2sf2): Ditto. - (floatv2div2sf2): Ditto. - (floatv2div2sf2_mask): Ditto. - (*floatv2div2sf2_mask): Ditto. - (*floatv2div2sf2_mask_1): Ditto. - (_cvt2mask): - Change iterator to VI48_AVX512VLDQ_AVX10_1. Remove target check. - (_cvtmask2): Ditto. - (*_cvtmask2): - Change iterator to VI48_AVX512VL_AVX10_1. Remove target check. - Change when constraint is enabled. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-17 Haochen Jiang - - * config/i386/avx512vldqintrin.h: Remove target attribute. - * config/i386/i386-builtin.def (BDESC): - Add OPTION_MASK_ISA2_AVX10_1. - * config/i386/sse.md (VF_AVX512VLDQ_AVX10_1): New. - (VFH_AVX512VLDQ_AVX10_1): Ditto. - (VF1_AVX512VLDQ_AVX10_1): Ditto. - (reducep): - Change iterator to VFH_AVX512VLDQ_AVX10_1. Remove target check. - (vec_pack_float_): Change iterator to - VI8_AVX512VLDQ_AVX10_1. Remove target check. - (vec_unpack_fix_trunc_lo_): Change iterator to - VF1_AVX512VLDQ_AVX10_1. Remove target check. - (vec_unpack_fix_trunc_hi_): Ditto. - (VI48F_256_DQVL_AVX10_1): Rename from VI48F_256_DQ. - (avx512vl_vextractf128): Change iterator to - VI48F_256_DQVL_AVX10_1. Remove target check. - (vec_extract_hi__mask): Add TARGET_AVX10_1. - (vec_extract_hi_): Ditto. - (avx512vl_vinsert): Ditto. - (vec_set_lo_): Ditto. - (vec_set_hi_): Ditto. - (avx512dq_rangep): Change - iterator to VF_AVX512VLDQ_AVX10_1. Remove target check. - (avx512dq_fpclass): Change - iterator to VFH_AVX512VLDQ_AVX10_1. Remove target check. - * config/i386/subst.md (mask_avx512dq_condition): Add - TARGET_AVX10_1. - (mask_scalar_merge): Ditto. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-18 Haochen Jiang - - PR target/111051 - * config/i386/avx512vldqintrin.h: Push AVX2 when AVX2 is - disabled. - -2023-08-24 Richard Biener - - PR debug/111080 - * dwarf2out.cc (prune_unused_types_walk): Handle - DW_TAG_restrict_type, DW_TAG_shared_type, DW_TAG_atomic_type, - DW_TAG_immutable_type, DW_TAG_coarray_type, DW_TAG_unspecified_type - and DW_TAG_dynamic_type as to only output them when referenced. - -2023-08-24 liuhongt - - * config/i386/i386.cc (ix86_invalid_conversion): Adjust GCC - V13 to GCC 13.1. - -2023-08-24 liuhongt - - * common/config/i386/i386-common.cc (processor_names): Add new - member graniterapids-s and arrowlake-s. - * config/i386/i386-options.cc (processor_alias_table): Update - table with PROCESSOR_ARROWLAKE_S and - PROCESSOR_GRANITERAPIDS_D. - (m_GRANITERAPID_D): New macro. - (m_ARROWLAKE_S): Ditto. - (m_CORE_AVX512): Add m_GRANITERAPIDS_D. - (processor_cost_table): Add icelake_cost for - PROCESSOR_GRANITERAPIDS_D and alderlake_cost for - PROCESSOR_ARROWLAKE_S. - * config/i386/x86-tune.def: Hanlde m_ARROWLAKE_S same as - m_ARROWLAKE. - * config/i386/i386.h (enum processor_type): Add new member - PROCESSOR_GRANITERAPIDS_D and PROCESSOR_ARROWLAKE_S. - * config/i386/i386-c.cc (ix86_target_macros_internal): Handle - PROCESSOR_GRANITERAPIDS_D and PROCESSOR_ARROWLAKE_S - -2023-08-23 Jivan Hakobyan - - * lra-eliminations.cc (eliminate_regs_in_insn): Use equivalences to - to help simplify code further. - -2023-08-23 Andrew MacLeod - - * gimple-range-fold.cc (fold_using_range::range_of_phi): Tweak output. - * gimple-range-phi.cc (phi_group::phi_group): Remove unused members. - Initialize using a range instead of value and edge. - (phi_group::calculate_using_modifier): Use initializer value and - process for relations after trying for iteration convergence. - (phi_group::refine_using_relation): Use initializer range. - (phi_group::dump): Rework the dump output. - (phi_analyzer::process_phi): Allow multiple constant initilizers. - Dump groups immediately as created. - (phi_analyzer::dump): Tweak output. - * gimple-range-phi.h (phi_group::phi_group): Adjust prototype. - (phi_group::initial_value): Delete. - (phi_group::refine_using_relation): Adjust prototype. - (phi_group::m_initial_value): Delete. - (phi_group::m_initial_edge): Delete. - (phi_group::m_vr): Use int_range_max. - * tree-vrp.cc (execute_ranger_vrp): Don't dump phi groups. - -2023-08-23 Andrew MacLeod - - * gimple-range-phi.cc (phi_analyzer::operator[]): Return NULL if - no group was created. - (phi_analyzer::process_phi): Do not create groups of one phi node. - -2023-08-23 Richard Earnshaw - - * target.def (gen_ccmp_first, gen_ccmp_next): Use rtx_code for - CODE, CMP_CODE and BIT_CODE arguments. - * config/aarch64/aarch64.cc (aarch64_gen_ccmp_first): Likewise. - (aarch64_gen_ccmp_next): Likewise. - * doc/tm.texi: Regenerated. - -2023-08-23 Richard Earnshaw - - * coretypes.h (rtx_code): Add forward declaration. - * rtl.h (rtx_code): Make compatible with forward declaration. - -2023-08-23 Uros Bizjak - - PR target/111010 - * config/i386/i386.md (*concat3_3): - Merge pattern from *concatditi3_3 and *concatsidi3_3 using - DWIH mode iterator. Disable (=&r,m,m) alternative for - 32-bit targets. - (*concat3_3): Disable (=&r,m,m) - alternative for 32-bit targets. - -2023-08-23 Zhangjin Liao - - * config/riscv/bitmanip.md (*disi2_sext): Add a more - appropriate type attribute. - -2023-08-23 Lehua Ding - - * config/riscv/autovec-opt.md (*cond_abs): New combine pattern. - (*copysign_neg): Ditto. - * config/riscv/autovec.md (@vcond_mask_): Adjust. - (2): Ditto. - (cond_): New. - (cond_len_): Ditto. - * config/riscv/riscv-protos.h (enum insn_type): New. - (expand_cond_len_unop): New helper func. - * config/riscv/riscv-v.cc (shuffle_merge_patterns): Adjust. - (expand_cond_len_unop): New helper func. - -2023-08-23 Jan Hubicka - - * tree-ssa-loop-ch.cc (enum ch_decision): Fix comment. - (should_duplicate_loop_header_p): Fix return value for static exits. - (ch_base::copy_headers): Improve handling of ch_possible_zero_cost. - -2023-08-23 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_store): Move the handlings on - VMAT_GATHER_SCATTER in the final loop nest to its own loop, - and update the final nest accordingly. - -2023-08-23 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_store): Move the handlings on - VMAT_LOAD_STORE_LANES in the final loop nest to its own loop, - and update the final nest accordingly. - -2023-08-23 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_store): Remove vec oprnds, - adjust vec result_chain, vec_oprnd with auto_vec, and adjust - gvec_oprnds with auto_delete_vec. - -2023-08-23 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc - (pass_vsetvl::global_eliminate_vsetvl_insn): Fix potential ICE. - -2023-08-23 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (ge_sew_ratio_unavailable_p): - Fix fuse rule bug. - * config/riscv/riscv-vsetvl.def (DEF_SEW_LMUL_FUSE_RULE): Ditto. - -2023-08-23 Juzhe-Zhong - - * config/riscv/vector.md: Add attribute. - -2023-08-22 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (change_insn): Clang format. - (vector_infos_manager::all_same_ratio_p): Ditto. - (vector_infos_manager::all_same_avl_p): Ditto. - (pass_vsetvl::refine_vsetvls): Ditto. - (pass_vsetvl::cleanup_vsetvls): Ditto. - (pass_vsetvl::commit_vsetvls): Ditto. - (pass_vsetvl::local_eliminate_vsetvl_insn): Ditto. - (pass_vsetvl::global_eliminate_vsetvl_insn): Ditto. - (pass_vsetvl::compute_probabilities): Ditto. - -2023-08-22 Juzhe-Zhong - - * config/riscv/t-riscv: Add riscv-vsetvl.def - -2023-08-22 Vineet Gupta - - * config/riscv/riscv.opt: Add --param names - riscv-autovec-preference and riscv-autovec-lmul - -2023-08-22 Raphael Moreira Zinsly - - * config/riscv/t-linux: Add MULTIARCH_DIRNAME. - -2023-08-22 Tobias Burnus - - * tree-core.h (enum omp_clause_defaultmap_kind): Add - OMP_CLAUSE_DEFAULTMAP_CATEGORY_ALL. - * gimplify.cc (gimplify_scan_omp_clauses): Handle it. - * tree-pretty-print.cc (dump_omp_clause): Likewise. - -2023-08-22 Jakub Jelinek - - PR c++/106652 - * doc/extend.texi (_Float): Drop obsolete sentence that the - types aren't supported in C++. - -2023-08-22 Juzhe-Zhong - - * doc/md.texi: Add LEN_FOLD_EXTRACT_LAST pattern. - * internal-fn.cc (fold_len_extract_direct): Ditto. - (expand_fold_len_extract_optab_fn): Ditto. - (direct_fold_len_extract_optab_supported_p): Ditto. - * internal-fn.def (LEN_FOLD_EXTRACT_LAST): Ditto. - * optabs.def (OPTAB_D): Ditto. - -2023-08-22 Richard Biener - - * tree-vect-stmts.cc (vectorizable_store): Do not bump - DR_GROUP_STORE_COUNT here. Remove early out. - (vect_transform_stmt): Only call vectorizable_store on - the last element of an interleaving chain. - -2023-08-22 Richard Biener - - PR tree-optimization/94864 - PR tree-optimization/94865 - PR tree-optimization/93080 - * match.pd (bit_insert @0 (BIT_FIELD_REF @1 ..) ..): New pattern - for vector insertion from vector extraction. - -2023-08-22 Juzhe-Zhong - Kewen.Lin - - * tree-vect-loop.cc (vect_verify_loop_lens): Add exists check. - (vectorizable_live_operation): Add live vectorization for length loop - control. - -2023-08-22 David Malcolm - - PR analyzer/105899 - * doc/invoke.texi: Remove -Wanalyzer-unterminated-string. - -2023-08-22 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (vfwredusum_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfwredusum_frm): New intrinsic function def. - -2023-08-21 David Faust - - * config/bpf/bpf.md (neg): Second operand must be a register. - -2023-08-21 Edwin Lu - - * config/riscv/bitmanip.md: Added bitmanip type to insns - that are missing types. - -2023-08-21 Jeff Law - - * config/riscv/sync-ztso.md (atomic_load_ztso): Avoid extraenous - newline. - -2023-08-21 Francois-Xavier Coudert - - * config/aarch64/falkor-tag-collision-avoidance.cc (dump_insn_list): - Fix format specifier. - -2023-08-21 Aldy Hernandez - - * value-range.cc (frange::union_nans): Return false if nothing - changed. - (range_tests_floats): New test. - -2023-08-21 Prathamesh Kulkarni - - PR tree-optimization/111048 - * fold-const.cc (valid_mask_for_fold_vec_perm_cst_p): Set arg_npatterns - correctly. - (fold_vec_perm_cst): Remove workaround and again call - valid_mask_fold_vec_perm_cst_p for both VLS and VLA vectors. - (test_fold_vec_perm_cst::test_nunits_min_4): Add test-case. - -2023-08-21 Richard Biener - - PR tree-optimization/111082 - * tree-vect-slp.cc (vectorize_slp_instance_root_stmt): Only - pun operations that can overflow. - -2023-08-21 Juzhe-Zhong - - * lcm.cc (compute_antinout_edge): Export as global use. - (compute_earliest): Ditto. - (compute_rev_insert_delete): Ditto. - * lcm.h (compute_antinout_edge): Ditto. - (compute_earliest): Ditto. - -2023-08-21 Richard Biener - - PR tree-optimization/111070 - * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check we have - an SSA name before checking SSA_NAME_OCCURS_IN_ABNORMAL_PHI. - -2023-08-21 Andrew Pinski - - PR tree-optimization/111002 - * match.pd (view_convert(vec_cond(a,b,c))): New pattern. - -2023-08-21 liuhongt - - * common/config/i386/cpuinfo.h (get_intel_cpu): Detect - Alderlake-N. - * common/config/i386/i386-common.cc (alias_table): Support - -march=gracemont as an alias of -march=alderlake. - -2023-08-20 Uros Bizjak - - * config/i386/i386-expand.cc (ix86_expand_sse_extend): Use ops[1] - instead of src in the call to ix86_expand_sse_cmp. - * config/i386/sse.md (v8qiv8hi2): Do not - force operands[1] to a register. - (v4hiv4si2): Ditto. - (v2siv2di2): Ditto. - -2023-08-20 Andrew Pinski - - PR tree-optimization/111006 - PR tree-optimization/110986 - * match.pd: (op(vec_cond(a,b,c))): Handle convert for op. - -2023-08-20 Eric Gallager - - PR target/90835 - * Makefile.in: improve error message when /usr/include is - missing - -2023-08-19 Tobias Burnus - - PR middle-end/111017 - * omp-expand.cc (expand_omp_for_init_vars): Pass after=true - to expand_omp_build_cond for 'factor != 0' condition, resulting - in pre-r12-5295-g47de0b56ee455e code for the gimple insert. - -2023-08-19 Guo Jie - Lulu Cheng - - * config/loongarch/t-loongarch: Add loongarch-driver.h into - TM_H. Add loongarch-def.h and loongarch-tune.h into - OPTIONS_H_EXTRA. - -2023-08-18 Uros Bizjak - - PR target/111023 - * config/i386/i386-expand.cc (ix86_split_mmx_punpck): - Also handle V2QImode. - (ix86_expand_sse_extend): New function. - * config/i386/i386-protos.h (ix86_expand_sse_extend): New prototype. - * config/i386/mmx.md (v4qiv4hi2): Enable for - TARGET_SSE2. Expand through ix86_expand_sse_extend for !TARGET_SSE4_1. - (v2hiv2si2): Ditto. - (v2qiv2hi2): Ditto. - * config/i386/sse.md (v8qiv8hi2): Ditto. - (v4hiv4si2): Ditto. - (v2siv2di2): Ditto. - -2023-08-18 Aldy Hernandez - - PR ipa/110753 - * value-range.cc (irange::union_bitmask): Return FALSE if updated - bitmask is semantically equivalent to the original mask. - (irange::intersect_bitmask): Same. - (irange::get_bitmask): Add comment. - -2023-08-18 Richard Biener - - PR tree-optimization/111019 - * tree-ssa-loop-im.cc (gather_mem_refs_stmt): When canonicalizing - also scrap base and offset in case the ref is indirect. - -2023-08-18 Jose E. Marchesi - - * config/bpf/bpf.opt (mframe-limit): Set default to 32767. - -2023-08-18 Kewen Lin - - PR bootstrap/111021 - * Makefile.in (TM_P_H): Add $(TREE_H) as dependence. - -2023-08-18 Kewen Lin - - * tree-vect-stmts.cc (vect_build_scatter_store_calls): New, factor - out from ... - (vectorizable_store): ... here. - -2023-08-18 Richard Biener - - PR tree-optimization/111048 - * fold-const.cc (fold_vec_perm_cst): Check for non-VLA - vectors first. - -2023-08-18 Haochen Jiang - - PR target/111051 - * config/i386/avx512vldqintrin.h: Push AVX2 when AVX2 is - disabled. - -2023-08-18 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_load): Move the handlings on - VMAT_GATHER_SCATTER in the final loop nest to its own loop, - and update the final nest accordingly. - -2023-08-18 Andrew Pinski - - * doc/md.texi (Standard patterns): Document cond_neg, cond_one_cmpl, - cond_len_neg and cond_len_one_cmpl. - -2023-08-18 Lehua Ding - - * config/riscv/iterators.md (TARGET_HARD_FLOAT || TARGET_ZFINX): New. - * config/riscv/pic.md (*local_pic_load): Change ANYF. - (*local_pic_load): To ANYLSF. - (*local_pic_load_32d): Ditto. - (*local_pic_load_32d): Ditto. - (*local_pic_store): Ditto. - (*local_pic_store): Ditto. - (*local_pic_store_32d): Ditto. - (*local_pic_store_32d): Ditto. - -2023-08-18 Lehua Ding - Ju-Zhe Zhong - - * config/riscv/predicates.md (vector_const_0_operand): New. - * config/riscv/vector.md (*pred_broadcast_zero): Ditto. - -2023-08-18 Lehua Ding - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::backward_demand_fusion): - Forbidden. - -2023-08-17 Andrew MacLeod - - PR tree-optimization/111009 - * range-op.cc (operator_addr_expr::op1_range): Be more restrictive. - -2023-08-17 Vladimir N. Makarov - - * lra-spills.cc (assign_stack_slot_num_and_sort_pseudos): Moving - slots_num initialization from here ... - (lra_spill): ... to here before the 1st call of - assign_stack_slot_num_and_sort_pseudos. Add the 2nd call after - fp->sp elimination. - -2023-08-17 Jose E. Marchesi - - PR c/106537 - * doc/invoke.texi (Option Summary): Mention - -Wcompare-distinct-pointer-types under `Warning Options'. - (Warning Options): Document -Wcompare-distinct-pointer-types. - -2023-08-17 Jan-Benedict Glaw - - * recog.cc (memory_address_addr_space_p): Mark possibly unused - argument as unused. - -2023-08-17 Richard Biener - - PR tree-optimization/111039 - * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for - SSA_NAME_OCCURS_IN_ABNORMAL_PHI. - -2023-08-17 Alex Coplan - - * doc/rtl.texi: Fix up sample code for RTL-SSA insn changes. - -2023-08-17 Jose E. Marchesi - - PR target/111046 - * config/bpf/bpf.cc (bpf_attribute_table): Add entry for the - `naked' function attribute. - (bpf_warn_func_return): New function. - (TARGET_WARN_FUNC_RETURN): Define. - (bpf_expand_prologue): Add preventive comment. - (bpf_expand_epilogue): Likewise. - * doc/extend.texi (BPF Function Attributes): Document the `naked' - function attribute. - -2023-08-17 Richard Biener - - * tree-vect-slp.cc (vect_slp_check_for_roots): Use - !needs_fold_left_reduction_p to decide whether we can - handle the reduction with association. - (vectorize_slp_instance_root_stmt): For TYPE_OVERFLOW_UNDEFINED - reductions perform all arithmetic in an unsigned type. - -2023-08-17 Rainer Orth - - * configure.ac (gcc_cv_ld64_version): Allow for dyld in ld -v - output. - * configure: Regenerate. - -2023-08-17 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (widen_freducop): Add frm_opt_type template arg. - (vfwredosum_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfwredosum_frm): New intrinsic function def. - -2023-08-17 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (vfredosum_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfredosum_frm): New intrinsic function def. - -2023-08-17 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class freducop): Add frm_op_type template arg. - (vfredusum_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfredusum_frm): New intrinsic function def. - * config/riscv/riscv-vector-builtins-shapes.cc - (struct reduc_alu_frm_def): New class for frm shape. - (SHAPE): New declaration. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - -2023-08-17 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfncvt_f): Add frm_op_type template arg. - (vfncvt_f_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfncvt_f_frm): New intrinsic function def. - -2023-08-17 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (vfncvt_xu_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfncvt_xu_frm): New intrinsic function def. - -2023-08-17 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfncvt_x): Add frm_op_type template arg. - (BASE): New declaration. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfncvt_x_frm): New intrinsic function def. - * config/riscv/riscv-vector-builtins-shapes.cc - (struct narrow_alu_frm_def): New shape function for frm. - (SHAPE): New declaration. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - -2023-08-17 Haochen Jiang - - * config/i386/avx512vldqintrin.h: Remove target attribute. - * config/i386/i386-builtin.def (BDESC): - Add OPTION_MASK_ISA2_AVX10_1. - * config/i386/sse.md (VF_AVX512VLDQ_AVX10_1): New. - (VFH_AVX512VLDQ_AVX10_1): Ditto. - (VF1_AVX512VLDQ_AVX10_1): Ditto. - (reducep): - Change iterator to VFH_AVX512VLDQ_AVX10_1. Remove target check. - (vec_pack_float_): Change iterator to - VI8_AVX512VLDQ_AVX10_1. Remove target check. - (vec_unpack_fix_trunc_lo_): Change iterator to - VF1_AVX512VLDQ_AVX10_1. Remove target check. - (vec_unpack_fix_trunc_hi_): Ditto. - (VI48F_256_DQVL_AVX10_1): Rename from VI48F_256_DQ. - (avx512vl_vextractf128): Change iterator to - VI48F_256_DQVL_AVX10_1. Remove target check. - (vec_extract_hi__mask): Add TARGET_AVX10_1. - (vec_extract_hi_): Ditto. - (avx512vl_vinsert): Ditto. - (vec_set_lo_): Ditto. - (vec_set_hi_): Ditto. - (avx512dq_rangep): Change - iterator to VF_AVX512VLDQ_AVX10_1. Remove target check. - (avx512dq_fpclass): Change - iterator to VFH_AVX512VLDQ_AVX10_1. Remove target check. - * config/i386/subst.md (mask_avx512dq_condition): Add - TARGET_AVX10_1. - (mask_scalar_merge): Ditto. - -2023-08-17 Haochen Jiang - - * config/i386/avx512vldqintrin.h: Remove target attribute. - * config/i386/i386-builtin.def (BDESC): - Add OPTION_MASK_ISA2_AVX10_1. - * config/i386/i386.cc (standard_sse_constant_opcode): Add TARGET_AVX10_1. - * config/i386/sse.md: (VI48_AVX512VL_AVX10_1): New. - (VI48_AVX512VLDQ_AVX10_1): Ditto. - (VF2_AVX512VL): Remove. - (VI8_256_512VLDQ_AVX10_1): Rename from VI8_256_512. - Add TARGET_AVX10_1. - (*3): Change isa attribute to - avx10_1_or_avx512dq. Add TARGET_AVX10_1. - (3): Add TARGET_AVX10_1. Change isa attr - to avx10_1_or_avx512vl. - (avx512dq_cvtps2qq): - Change iterator to VI8_256_512VLDQ_AVX10_1. Remove target check. - (avx512dq_cvtps2qqv2di): - Add TARGET_AVX10_1. - (avx512dq_cvtps2uqq): - Change iterator to VI8_256_512VLDQ_AVX10_1. Remove target check. - (avx512dq_cvtps2uqqv2di): - Add TARGET_AVX10_1. - (float2): - Change iterator to VF2_AVX512VLDQ_AVX10_1. Remove target check. - (float2): - Change iterator to VF1_128_256VLDQ_AVX10_1. Remove target check. - (floatv4div4sf2): - Add TARGET_AVX10_1. - (avx512dq_floatv2div2sf2): Ditto. - (*avx512dq_floatv2div2sf2): Ditto. - (floatv2div2sf2): Ditto. - (floatv2div2sf2_mask): Ditto. - (*floatv2div2sf2_mask): Ditto. - (*floatv2div2sf2_mask_1): Ditto. - (_cvt2mask): - Change iterator to VI48_AVX512VLDQ_AVX10_1. Remove target check. - (_cvtmask2): Ditto. - (*_cvtmask2): - Change iterator to VI48_AVX512VL_AVX10_1. Remove target check. - Change when constraint is enabled. - -2023-08-17 Juzhe-Zhong - - PR target/111037 - * config/riscv/riscv-vsetvl.cc (float_insn_valid_sew_p): New function. - (second_sew_less_than_first_sew_p): Fix bug. - (first_sew_less_than_second_sew_p): Ditto. - -2023-08-17 Haochen Jiang - - * config/i386/avx512vldqintrin.h: Remove target attribute. - * config/i386/i386-builtin.def (BDESC): - Add OPTION_MASK_ISA2_AVX10_1. - * config/i386/i386-builtins.cc (def_builtin): Handle AVX10_1. - * config/i386/i386-expand.cc - (ix86_check_builtin_isa_match): Ditto. - (ix86_expand_sse2_mulvxdi3): Add TARGET_AVX10_1. - * config/i386/i386.md: Add new isa attribute avx10_1_or_avx512dq - and avx10_1_or_avx512vl. - * config/i386/sse.md: (VF2_AVX512VLDQ_AVX10_1): New. - (VF1_128_256VLDQ_AVX10_1): Ditto. - (VI8_AVX512VLDQ_AVX10_1): Ditto. - (_andnot3): - Add TARGET_AVX10_1 and change isa attr from avx512dq to - avx10_1_or_avx512dq. - (*andnot3): Add TARGET_AVX10_1 and change isa attr from - avx512vl to avx10_1_or_avx512vl. - (fix_trunc2): - Change iterator to VF2_AVX512VLDQ_AVX10_1. Remove target check. - (fix_notrunc2): - Ditto. - (ufix_notrunc2): - Ditto. - (fix_trunc2): - Change iterator to VF1_128_256VLDQ_AVX10_1. Remove target check. - (avx512dq_fix_truncv2sfv2di2): - Add TARGET_AVX10_1. - (fix_truncv2sfv2di2): Ditto. - (cond_mul): Change iterator to VI8_AVX10_1_AVX512DQVL. - Remove target check. - (avx512dq_mul3): Ditto. - (*avx512dq_mul3): Ditto. - (VI4F_BRCST32x2): Add TARGET_AVX512DQ and TARGET_AVX10_1. - (avx512dq_broadcast): - Remove target check. - (VI8F_BRCST64x2): Add TARGET_AVX512DQ and TARGET_AVX10_1. - (avx512dq_broadcast_1): - Remove target check. - * config/i386/subst.md (mask_mode512bit_condition): Add TARGET_AVX10_1. - (mask_avx512vl_condition): Ditto. - (mask): Ditto. - -2023-08-17 Haochen Jiang - - * common/config/i386/i386-common.cc - (ix86_check_avx10_vector_width): New function to check isa_flags - to emit a warning when there is a conflict in AVX10 options for - vector width. - (ix86_handle_option): Add check for avx10.1-256 and avx10.1-512. - * config/i386/driver-i386.cc (host_detect_local_cpu): - Do not append -mno-avx10-max-512bit for -march=native. - -2023-08-17 Haochen Jiang - - * common/config/i386/i386-common.cc - (ix86_check_avx10): New function to check isa_flags and - isa_flags_explicit to emit warning when AVX10 is enabled - by "-m" option. - (ix86_check_avx512): New function to check isa_flags and - isa_flags_explicit to emit warning when AVX512 is enabled - by "-m" option. - (ix86_handle_option): Do not change the flags when warning - is emitted. - * config/i386/driver-i386.cc (host_detect_local_cpu): - Do not append -mno-avx10.1 for -march=native. - -2023-08-17 Haochen Jiang - - * common/config/i386/cpuinfo.h (get_available_features): - Add avx10_set and version and detect avx10.1. - (cpu_indicator_init): Handle avx10.1-512. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AVX10_512BIT_SET): New. - (OPTION_MASK_ISA2_AVX10_1_SET): Ditto. - (OPTION_MASK_ISA2_AVX10_512BIT_UNSET): Ditto. - (OPTION_MASK_ISA2_AVX10_1_UNSET): Ditto. - (OPTION_MASK_ISA2_AVX2_UNSET): Modify for AVX10_1. - (ix86_handle_option): Handle -mavx10.1, -mavx10.1-256 and - -mavx10.1-512. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AVX10_512BIT, FEATURE_AVX10_1 and - FEATURE_AVX10_512BIT. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - AVX10_512BIT, AVX10_1 and AVX10_1_512. - * config/i386/constraints.md (Yk): Add AVX10_1. - (Yv): Ditto. - (k): Ditto. - * config/i386/cpuid.h (bit_AVX10): New. - (bit_AVX10_256): Ditto. - (bit_AVX10_512): Ditto. - * config/i386/i386-c.cc (ix86_target_macros_internal): - Define AVX10_512BIT and AVX10_1. - * config/i386/i386-isa.def - (AVX10_512BIT): Add DEF_PTA(AVX10_512BIT). - (AVX10_1): Add DEF_PTA(AVX10_1). - * config/i386/i386-options.cc (isa2_opts): Add -mavx10.1. - (ix86_valid_target_attribute_inner_p): Handle avx10-512bit, avx10.1 - and avx10.1-512. - (ix86_option_override_internal): Enable AVX512{F,VL,BW,DQ,CD,BF16, - FP16,VBMI,VBMI2,VNNI,IFMA,BITALG,VPOPCNTDQ} features for avx10.1-512. - (ix86_valid_target_attribute_inner_p): Handle AVX10_1. - * config/i386/i386.cc (ix86_get_ssemov): Add AVX10_1. - (ix86_conditional_register_usage): Ditto. - (ix86_hard_regno_mode_ok): Ditto. - (ix86_rtx_costs): Ditto. - * config/i386/i386.h (VALID_MASK_AVX10_MODE): New macro. - * config/i386/i386.opt: Add option -mavx10.1, -mavx10.1-256 and - -mavx10.1-512. - * doc/extend.texi: Document avx10.1, avx10.1-256 and avx10.1-512. - * doc/invoke.texi: Document -mavx10.1, -mavx10.1-256 and -mavx10.1-512. - * doc/sourcebuild.texi: Document target avx10.1, avx10.1-256 - and avx10.1-512. - -2023-08-17 Sergei Trofimovich - - * flag-types.h (vrp_mode): Remove unused. - -2023-08-17 Yanzhang Wang - - * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): Use - CONSTM1_RTX. - -2023-08-17 Andrew Pinski - - * internal-fn.def (COND_NOT): New internal function. - * match.pd (UNCOND_UNARY, COND_UNARY): Add bit_not/not - to the lists. - (`vec (a ? -1 : 0) ^ b`): New pattern to convert - into conditional not. - * optabs.def (cond_one_cmpl): New optab. - (cond_len_one_cmpl): Likewise. - -2023-08-16 Surya Kumari Jangala - - PR rtl-optimization/110254 - * ira-color.cc (improve_allocation): Update array - allocated_hard_reg_p. - -2023-08-16 Vladimir N. Makarov - - * lra-int.h (lra_update_fp2sp_elimination): Change the prototype. - * lra-eliminations.cc (spill_pseudos): Record spilled pseudos. - (lra_update_fp2sp_elimination): Ditto. - (update_reg_eliminate): Adjust spill_pseudos call. - * lra-spills.cc (lra_spill): Assign stack slots to pseudos spilled - in lra_update_fp2sp_elimination. - -2023-08-16 Richard Ball - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A720 CPU. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Document Cortex-A720 CPU. - -2023-08-16 Robin Dapp - - * config/riscv/autovec.md (avg3_floor): - Implement expander. - (avg3_ceil): Ditto. - * config/riscv/vector-iterators.md (ashiftrt): New iterator. - (ASHIFTRT): Ditto. - -2023-08-16 Robin Dapp - - * internal-fn.cc (vec_extract_direct): Change type argument - numbers. - (expand_vec_extract_optab_fn): Call convert_optab_fn. - (direct_vec_extract_optab_supported_p): Use - convert_optab_supported_p. - -2023-08-16 Prathamesh Kulkarni - Richard Sandiford - - * fold-const.cc (INCLUDE_ALGORITHM): Add Include. - (valid_mask_for_fold_vec_perm_cst_p): New function. - (fold_vec_perm_cst): Likewise. - (fold_vec_perm): Adjust assert and call fold_vec_perm_cst. - (test_fold_vec_perm_cst): New namespace. - (test_fold_vec_perm_cst::build_vec_cst_rand): New function. - (test_fold_vec_perm_cst::validate_res): Likewise. - (test_fold_vec_perm_cst::validate_res_vls): Likewise. - (test_fold_vec_perm_cst::builder_push_elems): Likewise. - (test_fold_vec_perm_cst::test_vnx4si_v4si): Likewise. - (test_fold_vec_perm_cst::test_v4si_vnx4si): Likewise. - (test_fold_vec_perm_cst::test_all_nunits): Likewise. - (test_fold_vec_perm_cst::test_nunits_min_2): Likewise. - (test_fold_vec_perm_cst::test_nunits_min_4): Likewise. - (test_fold_vec_perm_cst::test_nunits_min_8): Likewise. - (test_fold_vec_perm_cst::test_nunits_max_4): Likewise. - (test_fold_vec_perm_cst::is_simple_vla_size): Likewise. - (test_fold_vec_perm_cst::test): Likewise. - (fold_const_cc_tests): Call test_fold_vec_perm_cst::test. - -2023-08-16 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (BASE): New declaration. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfwcvt_xu_frm): New intrinsic function def. - -2023-08-16 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc: Use explicit argument. - -2023-08-16 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (BASE): New declaration. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfwcvt_x_frm): New intrinsic function def. - -2023-08-16 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc (BASE): New declaration. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfcvt_f_frm): New intrinsic function def. - -2023-08-16 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (BASE): New declaration. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfcvt_xu_frm): New intrinsic function def.. - -2023-08-16 Haochen Gui - - PR target/110429 - * config/rs6000/vsx.md (*vsx_extract__store_p9): Skip vector - extract when the element is 7 on BE while 8 on LE for byte or 3 on - BE while 4 on LE for halfword. - -2023-08-16 Haochen Gui - - PR target/106769 - * config/rs6000/vsx.md (expand vsx_extract_): Set it only - for V8HI and V16QI. - (vsx_extract_v4si): New expand for V4SI extraction. - (vsx_extract_v4si_w1): New insn pattern for V4SI extraction on - word 1 from BE order. - (*mfvsrwz): New insn pattern for mfvsrwz. - (*vsx_extract__di_p9): Assert that it won't be generated on - word 1 from BE order. - (*vsx_extract_si): Remove. - (*vsx_extract_v4si_w023): New insn and split pattern on word 0, 2, - 3 from BE order. - -2023-08-16 Juzhe-Zhong - - * config/riscv/autovec.md (vec_mask_len_load_lanes): - New pattern. - (vec_mask_len_store_lanes): Ditto. - * config/riscv/riscv-protos.h (expand_lanes_load_store): New function. - * config/riscv/riscv-v.cc (get_mask_mode): Add tuple mask mode. - (expand_lanes_load_store): New function. - * config/riscv/vector-iterators.md: New iterator. - -2023-08-16 Juzhe-Zhong - - * internal-fn.cc (internal_load_fn_p): Apply - MASK_LEN_{LOAD_LANES,STORE_LANES} into vectorizer. - (internal_store_fn_p): Ditto. - (internal_fn_len_index): Ditto. - (internal_fn_mask_index): Ditto. - (internal_fn_stored_value_index): Ditto. - * tree-vect-data-refs.cc (vect_store_lanes_supported): Ditto. - (vect_load_lanes_supported): Ditto. - * tree-vect-loop.cc: Ditto. - * tree-vect-slp.cc (vect_slp_prefer_store_lanes_p): Ditto. - * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Ditto. - (get_group_load_store_type): Ditto. - (vectorizable_store): Ditto. - (vectorizable_load): Ditto. - * tree-vectorizer.h (vect_store_lanes_supported): Ditto. - (vect_load_lanes_supported): Ditto. - -2023-08-16 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (enum frm_op_type): New type for frm. - (BASE): New declaration. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfcvt_x_frm): New intrinsic function def. - -2023-08-16 liuhongt - - * config/i386/i386-builtins.cc - (ix86_vectorize_builtin_gather): Adjust for use_gather_8parts. - * config/i386/i386-options.cc (parse_mtune_ctrl_str): - Set/Clear tune features use_{gather,scatter}_{2parts, 4parts, - 8parts} for -mtune-crtl={,^}{use_gather,use_scatter}. - * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Adjust - for use_scatter_8parts - * config/i386/i386.h (TARGET_USE_GATHER): Rename to .. - (TARGET_USE_GATHER_8PARTS): .. this. - (TARGET_USE_SCATTER): Rename to .. - (TARGET_USE_SCATTER_8PARTS): .. this. - * config/i386/x86-tune.def (X86_TUNE_USE_GATHER): Rename to - (X86_TUNE_USE_GATHER_8PARTS): .. this. - (X86_TUNE_USE_SCATTER): Rename to - (X86_TUNE_USE_SCATTER_8PARTS): .. this. - * config/i386/i386.opt: Add new options mgather, mscatter. - -2023-08-16 liuhongt - - * config/i386/i386-options.cc (m_GDS): New macro. - * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Don't - enable for m_GDS. - (X86_TUNE_USE_GATHER_4PARTS): Ditto. - (X86_TUNE_USE_GATHER): Ditto. - -2023-08-16 liuhongt - - * config/i386/i386.md (movdf_internal): Generate vmovapd instead of - vmovsd when moving DFmode between SSE_REGS. - (movhi_internal): Generate vmovdqa instead of vmovsh when - moving HImode between SSE_REGS. - (mov_internal): Use vmovaps instead of vmovsh when - moving HF/BFmode between SSE_REGS. - -2023-08-15 David Faust - - * config/bpf/bpf.md (extendsisi2): Delete useless define_insn. - -2023-08-15 David Faust - - PR target/111029 - * config/bpf/bpf.cc (bpf_print_register): Print 'w' registers - for any mode 32-bits or smaller, not just SImode. - -2023-08-15 Martin Jambor - - PR ipa/68930 - PR ipa/92497 - * ipa-prop.h (ipcp_get_aggregate_const): Declare. - * ipa-prop.cc (ipcp_get_aggregate_const): New function. - (ipcp_transform_function): Do not deallocate transformation info. - * tree-ssa-sccvn.cc: Include alloc-pool.h, symbol-summary.h and - ipa-prop.h. - (vn_reference_lookup_2): When hitting default-def vuse, query - IPA-CP transformation info for any known constants. - -2023-08-15 Chung-Lin Tang - Thomas Schwinge - - * gimplify.cc (oacc_region_type_name): New function. - (oacc_default_clause): If no 'default' clause appears on this - compute construct, see if one appears on a lexically containing - 'data' construct. - (gimplify_scan_omp_clauses): Upon OMP_CLAUSE_DEFAULT case, set - ctx->oacc_default_clause_ctx to current context. - -2023-08-15 Juzhe-Zhong - - PR target/110989 - * config/riscv/predicates.md: Fix predicate. - -2023-08-15 Richard Biener - - * tree-vect-slp.cc (vect_analyze_slp_instance): Remove - slp_inst_kind_ctor handling. - (vect_analyze_slp): Simplify. - (vect_build_slp_instance): Dump when we analyze a CTOR. - (vect_slp_check_for_constructors): Rename to ... - (vect_slp_check_for_roots): ... this. Register a - slp_root for CONSTRUCTORs instead of shoving them to - the set of grouped stores. - (vect_slp_analyze_bb_1): Adjust. - -2023-08-15 Richard Biener - - * tree-vectorizer.h (_slp_instance::remain_stmts): Change - to ... - (_slp_instance::remain_defs): ... this. - (SLP_INSTANCE_REMAIN_STMTS): Rename to ... - (SLP_INSTANCE_REMAIN_DEFS): ... this. - (slp_root::remain): New. - (slp_root::slp_root): Adjust. - * tree-vect-slp.cc (vect_free_slp_instance): Adjust. - (vect_build_slp_instance): Get extra remain parameter, - adjust former handling of a cut off stmt. - (vect_analyze_slp_instance): Adjust. - (vect_analyze_slp): Likewise. - (_bb_vec_info::~_bb_vec_info): Likewise. - (vectorizable_bb_reduc_epilogue): Dump something if we fail. - (vect_slp_check_for_constructors): Handle non-internal - defs as remain defs of a reduction. - (vectorize_slp_instance_root_stmt): Adjust. - -2023-08-15 Richard Biener - - * tree-ssa-loop-ivcanon.cc: Include tree-vectorizer.h - (canonicalize_loop_induction_variables): Use find_loop_location. - -2023-08-15 Hans-Peter Nilsson - - PR bootstrap/111021 - * config/cris/cris-protos.h: Revert recent change. - * config/cris/cris.cc (cris_legitimate_address_p): Remove - code_helper unused parameter. - (cris_legitimate_address_p_hook): New wrapper function. - (TARGET_LEGITIMATE_ADDRESS_P): Change to - cris_legitimate_address_p_hook. - -2023-08-15 Richard Biener - - PR tree-optimization/110963 - * tree-ssa-pre.cc (do_pre_regular_insertion): Also insert - a PHI node when the expression is available on all edges - and we insert at most one copy from a constant. - -2023-08-15 Richard Biener - - PR tree-optimization/110991 - * tree-ssa-loop-ivcanon.cc (constant_after_peeling): Handle - VIEW_CONVERT_EXPR , handle more simple IV-like SSA cycles - that will end up constant. - -2023-08-15 Kewen Lin - - PR bootstrap/111021 - * Makefile.in (RECOG_H): Add $(TREE_H) as dependence. - -2023-08-15 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_load): Move the handlings on - VMAT_LOAD_STORE_LANES in the final loop nest to its own loop, - and update the final nest accordingly. - -2023-08-15 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_load): Remove some useless checks - on VMAT_INVARIANT. - -2023-08-15 Pan Li - - * mode-switching.cc (create_pre_exit): Add SET insn check. - -2023-08-15 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfrec7_frm): New class for frm. - (vfrec7_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfrec7_frm): New intrinsic function definition. - * config/riscv/vector-iterators.md - (VFMISC): Remove VFREC7. - (misc_op): Ditto. - (float_insn_type): Ditto. - (VFMISC_FRM): New int iterator. - (misc_frm_op): New op for frm. - (float_frm_insn_type): New type for frm. - * config/riscv/vector.md (@pred_): - New pattern for misc frm. - -2023-08-14 Vladimir N. Makarov - - * lra-constraints.cc (curr_insn_transform): Process output stack - pointer reloads before emitting reload insns. - -2023-08-14 benjamin priour - - PR analyzer/110543 - * doc/invoke.texi: Add documentation of - fanalyzer-show-events-in-system-headers - -2023-08-14 Jan Hubicka - - PR gcov-profile/110988 - * tree-cfg.cc (fold_loop_internal_call): Avoid division by zero. - -2023-08-14 Jiawei - - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): - Enable compressed builtins when ZC* extensions enabled. - * config/riscv/riscv-shorten-memrefs.cc: - Enable shorten_memrefs pass when ZC* extensions enabled. - * config/riscv/riscv.cc (riscv_compressed_reg_p): - Enable compressible registers when ZC* extensions enabled. - (riscv_rtx_costs): Allow adjusting rtx costs when ZC* extensions enabled. - (riscv_address_cost): Allow adjusting address cost when ZC* extensions enabled. - (riscv_first_stack_step): Allow compression of the register saves - without adding extra instructions. - * config/riscv/riscv.h (FUNCTION_BOUNDARY): Adjusts function boundary - to 16 bits when ZC* extensions enabled. - -2023-08-14 Jiawei - - * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): New extensions. - * config/riscv/riscv-opts.h (MASK_ZCA): New mask. - (MASK_ZCB): Ditto. - (MASK_ZCE): Ditto. - (MASK_ZCF): Ditto. - (MASK_ZCD): Ditto. - (MASK_ZCMP): Ditto. - (MASK_ZCMT): Ditto. - (TARGET_ZCA): New target. - (TARGET_ZCB): Ditto. - (TARGET_ZCE): Ditto. - (TARGET_ZCF): Ditto. - (TARGET_ZCD): Ditto. - (TARGET_ZCMP): Ditto. - (TARGET_ZCMT): Ditto. - * config/riscv/riscv.opt: New target variable. - -2023-08-14 Juzhe-Zhong - - Revert: - 2023-05-17 Jin Ma - - * genrecog.cc (print_nonbool_test): Fix type error of - switch (SUBREG_BYTE (op))'. - -2023-08-14 Richard Biener - - * tree-cfg.cc (print_loop_info): Dump to 'file', not 'dump_file'. - -2023-08-14 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class unop_frm): New class for frm. - (vfsqrt_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfsqrt_frm): New intrinsic function definition. - -2023-08-14 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfwnmsac_frm): New class for frm. - (vfwnmsac_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfwnmsac_frm): New intrinsic function definition. - -2023-08-14 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfwmsac_frm): New class for frm. - (vfwmsac_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfwmsac_frm): New intrinsic function definition. - -2023-08-14 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfwnmacc_frm): New class for frm. - (vfwnmacc_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfwnmacc_frm): New intrinsic function definition. - -2023-08-14 Cui, Lili - - * common/config/i386/cpuinfo.h (get_intel_cpu): Add model value 0xba - to Raptorlake. - -2023-08-14 Hans-Peter Nilsson - - * config/mmix/predicates.md (mmix_address_operand): Use - lra_in_progress, not reload_in_progress. - -2023-08-14 Hans-Peter Nilsson - - * config/mmix/mmix.cc: Re-enable LRA. - -2023-08-14 Hans-Peter Nilsson - - * config/mmix/predicates.md (frame_pointer_operand): Handle FP+offset - when lra_in_progress. - -2023-08-14 Hans-Peter Nilsson - - * config/mmix/mmix.cc: Disable LRA for MMIX. - -2023-08-14 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfwmacc_frm): New class for vfwmacc frm. - (vfwmacc_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfwmacc_frm): Function definition for vfwmacc. - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_widen_ternop_insn): Add frm support. - -2023-08-14 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfnmsub_frm): New class for vfnmsub frm. - (vfnmsub_frm): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfnmsub_frm): New function declaration. - -2023-08-14 Vladimir N. Makarov - - * lra-constraints.cc (curr_insn_transform): Set done_p up and - check it on true after processing output stack pointer reload. - -2023-08-12 Jakub Jelinek - - * Makefile.in (USER_H): Add stdckdint.h. - * ginclude/stdckdint.h: New file. - -2023-08-12 Juzhe-Zhong - - PR target/110994 - * config/riscv/riscv-opts.h (TARGET_VECTOR_VLS): Add TARGET_VETOR. - -2023-08-12 Patrick Palka - - * tree-pretty-print.cc (dump_generic_node) : - Delimit output with braces. - -2023-08-12 Juzhe-Zhong - - PR target/110985 - * config/riscv/riscv-v.cc (expand_vec_series): Refactor the expander. - -2023-08-12 Juzhe-Zhong - - * config/riscv/autovec.md: Add VLS CONST_VECTOR. - * config/riscv/riscv.cc (riscv_const_insns): Ditto. - * config/riscv/vector.md: Ditto. - -2023-08-11 David Malcolm - - PR analyzer/105899 - * doc/analyzer.texi (__analyzer_get_strlen): New. - * doc/invoke.texi: Add -Wanalyzer-unterminated-string. - -2023-08-11 Jeff Law - - * config/rx/rx.md (subdi3): Fix test for borrow. - -2023-08-11 Juzhe-Zhong - - PR middle-end/110989 - * tree-vect-stmts.cc (vectorizable_store): Replace iv_type with sizetype. - (vectorizable_load): Ditto. - -2023-08-11 Jose E. Marchesi - - * config/bpf/bpf.md (allocate_stack): Define. - * config/bpf/bpf.h (FIRST_PSEUDO_REGISTER): Make room for fake - stack pointer register. - (FIXED_REGISTERS): Adjust accordingly. - (CALL_USED_REGISTERS): Likewise. - (REG_CLASS_CONTENTS): Likewise. - (REGISTER_NAMES): Likewise. - * config/bpf/bpf.cc (bpf_compute_frame_layout): Do not reserve - space for callee-saved registers. - (bpf_expand_prologue): Do not save callee-saved registers in xbpf. - (bpf_expand_epilogue): Do not restore callee-saved registers in - xbpf. - -2023-08-11 Jose E. Marchesi - - * config/bpf/bpf.cc (bpf_function_arg_advance): Do not complain - about too many arguments if function is always inlined. - -2023-08-11 Patrick Palka - - * tree-pretty-print.cc (dump_generic_node) : - Don't call component_ref_field_offset if the RHS isn't a decl. - -2023-08-11 John David Anglin - - PR bootstrap/110646 - * gensupport.cc(class conlist): Use strtol instead of std::stoi. - -2023-08-11 Vladimir N. Makarov - - * lra-constraints.cc (goal_alt_out_sp_reload_p): New flag. - (process_alt_operands): Set the flag. - (curr_insn_transform): Modify stack pointer offsets if output - stack pointer reload is generated. - -2023-08-11 Joseph Myers - - * configure: Regenerate. - -2023-08-11 Richard Biener - - PR tree-optimization/110979 - * tree-vect-loop.cc (vectorizable_reduction): For - FOLD_LEFT_REDUCTION without target support make sure - we don't need to honor signed zeros and sign dependent rounding. - -2023-08-11 Richard Biener - - * tree-vect-slp.cc (vect_slp_region): Provide opt-info for all SLP - subgraph entries. Dump the used vector size based on the - SLP subgraph entry root vector type. - -2023-08-11 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfmsub_frm): New class for vfmsub frm. - (vfmsub_frm): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfmsub_frm): New function declaration. - -2023-08-11 Juzhe-Zhong - - * doc/md.texi: Add vec_mask_len_{load_lanes,store_lanes} patterns. - * internal-fn.cc (expand_partial_load_optab_fn): Ditto. - (expand_partial_store_optab_fn): Ditto. - * internal-fn.def (MASK_LEN_LOAD_LANES): Ditto. - (MASK_LEN_STORE_LANES): Ditto. - * optabs.def (OPTAB_CD): Ditto. - -2023-08-11 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfnmadd_frm): New class for vfnmadd frm. - (vfnmadd_frm): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfnmadd_frm): New function declaration. - -2023-08-11 Drew Ross - Jakub Jelinek - - PR tree-optimization/109938 - * match.pd (((x ^ y) & z) | x -> (z & y) | x): New simplification. - -2023-08-11 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfmadd_frm): New class for vfmadd frm. - (vfmadd_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfmadd_frm): New function definition. - -2023-08-11 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfnmsac_frm): New class for vfnmsac frm. - (vfnmsac_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfnmsac_frm): New function definition. - -2023-08-11 Jakub Jelinek - - * doc/extend.texi (Typeof): Document typeof_unqual - and __typeof_unqual__. - -2023-08-11 Andrew Pinski - - PR tree-optimization/110954 - * generic-match-head.cc (bitwise_inverted_equal_p): Add - wascmp argument and set it accordingly. - * gimple-match-head.cc (bitwise_inverted_equal_p): Add - wascmp argument to the macro. - (gimple_bitwise_inverted_equal_p): Add - wascmp argument and set it accordingly. - * match.pd (`a & ~a`, `a ^| ~a`): Update call - to bitwise_inverted_equal_p and handle wascmp case. - (`(~x | y) & x`, `(~x | y) & x`, `a?~t:t`): Update - call to bitwise_inverted_equal_p and check to see - if was !wascmp or if precision was 1. - -2023-08-11 Martin Uecker - - PR c/84510 - * doc/invoke.texi: Update. - -2023-08-11 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfmsac_frm): New class for vfmsac frm. - (vfmsac_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfmsac_frm): New function definition - -2023-08-10 Jan Hubicka - - PR middle-end/110923 - * tree-ssa-loop-split.cc (split_loop): Watch for division by zero. - -2023-08-10 Patrick O'Neill - - * common/config/riscv/riscv-common.cc: Add Ztso and mark Ztso as - dependent on 'a' extension. - * config/riscv/riscv-opts.h (MASK_ZTSO): New mask. - (TARGET_ZTSO): New target. - * config/riscv/riscv.cc (riscv_memmodel_needs_amo_acquire): Add - Ztso case. - (riscv_memmodel_needs_amo_release): Add Ztso case. - (riscv_print_operand): Add Ztso case for LR/SC annotations. - * config/riscv/riscv.md: Import sync-rvwmo.md and sync-ztso.md. - * config/riscv/riscv.opt: Add Ztso target variable. - * config/riscv/sync.md (mem_thread_fence_1): Expand to RVWMO or - Ztso specific insn. - (atomic_load): Expand to RVWMO or Ztso specific insn. - (atomic_store): Expand to RVWMO or Ztso specific insn. - * config/riscv/sync-rvwmo.md: New file. Seperate out RVWMO - specific load/store/fence mappings. - * config/riscv/sync-ztso.md: New file. Seperate out Ztso - specific load/store/fence mappings. - -2023-08-10 Jan Hubicka - - * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Special case loops with - 0 iteration count. - -2023-08-10 Jan Hubicka - - * tree-ssa-threadupdate.cc (ssa_fix_duplicate_block_edges): Fix profile update. - -2023-08-10 Jan Hubicka - - * profile-count.cc (profile_count::differs_from_p): Fix overflow and - handling of undefined values. - -2023-08-10 Jakub Jelinek - - PR c/102989 - * tree-ssa-phiopt.cc (single_non_singleton_phi_for_edges): Never - return virtual phis and return NULL if there is a virtual phi - where the arguments from E0 and E1 edges aren't equal. - -2023-08-10 Richard Biener - - * internal-fn.def (VCOND, VCONDU, VCONDEQ, VCOND_MASK, - VEC_SET, VEC_EXTRACT): Make ECF_CONST | ECF_NOTHROW. - -2023-08-10 Juzhe-Zhong - - PR target/110962 - * config/riscv/autovec.md (vec_duplicate): New pattern. - -2023-08-10 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfnmacc_frm): New class for vfnmacc. - (vfnmacc_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfnmacc_frm): New function definition. - -2023-08-10 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfmacc_frm): New class for vfmacc frm. - (vfmacc_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfmacc_frm): New function definition. - -2023-08-10 Juzhe-Zhong - - PR target/110964 - * config/riscv/riscv-v.cc (expand_cond_len_ternop): Add integer ternary. - -2023-08-10 Richard Biener - - * tree-vectorizer.h (vectorizable_live_operation): Remove - gimple_stmt_iterator * argument. - * tree-vect-loop.cc (vectorizable_live_operation): Likewise. - Adjust plumbing around vect_get_loop_mask. - (vect_analyze_loop_operations): Adjust. - * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): Likewise. - (vect_bb_slp_mark_live_stmts): Likewise. - (vect_schedule_slp_node): Likewise. - * tree-vect-stmts.cc (can_vectorize_live_stmts): Likewise. - Remove gimple_stmt_iterator * argument. - (vect_transform_stmt): Adjust. - -2023-08-10 Juzhe-Zhong - - * config/riscv/vector-iterators.md: Add missing modes. - -2023-08-10 Jakub Jelinek - - PR c/102989 - * lto-streamer-in.cc (lto_input_tree_1): Assert TYPE_PRECISION - is up to WIDE_INT_MAX_PRECISION rather than MAX_BITSIZE_MODE_ANY_INT. - -2023-08-10 Jakub Jelinek - - PR c/102989 - * expr.cc (expand_expr_real_1) : Add an early return for - EXPAND_WRITE or EXPAND_MEMORY modifiers to avoid testing it multiple - times. - -2023-08-10 liuhongt - - PR target/110832 - * config/i386/mmx.md: (movq__to_sse): Also do not - sanitize upper part of V4HFmode register with - -fno-trapping-math. - (v4hf3): Enable for ix86_partial_vec_fp_math. - (v2hf3): Ditto. - (divv2hf3): Ditto. - (movd_v2hf_to_sse): Do not sanitize upper part of V2HFmode - register with -fno-trapping-math. - -2023-08-10 Pan Li - Kito Cheng - - * config/riscv/riscv-protos.h - (enum floating_point_rounding_mode): Add NONE, DYN_EXIT and DYN_CALL. - (get_frm_mode): New declaration. - * config/riscv/riscv-v.cc (get_frm_mode): New function to get frm mode. - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_ternop_insn): Take care of frm reg. - * config/riscv/riscv.cc (riscv_static_frm_mode_p): Migrate to FRM_XXX. - (riscv_emit_frm_mode_set): Ditto. - (riscv_emit_mode_set): Ditto. - (riscv_frm_adjust_mode_after_call): Ditto. - (riscv_frm_mode_needed): Ditto. - (riscv_frm_mode_after): Ditto. - (riscv_mode_entry): Ditto. - (riscv_mode_exit): Ditto. - * config/riscv/riscv.h (NUM_MODES_FOR_MODE_SWITCHING): Ditto. - * config/riscv/vector.md - (rne,rtz,rdn,rup,rmm,dyn,dyn_exit,dyn_call,none): Removed - (symbol_ref): * config/riscv/vector.md: Set frm_mode attr explicitly. - -2023-08-09 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (anticipatable_occurrence_p): Fix - incorrect anticipate info. - -2023-08-09 Tsukasa OI - - * common/config/riscv/riscv-common.cc (riscv_ext_version_table): - Remove 'Zve32d' from the version list. - -2023-08-09 Jin Ma - - * config/riscv/riscv.cc (riscv_sched_variable_issue): New function. - (TARGET_SCHED_VARIABLE_ISSUE): New macro. - Co-authored-by: Philipp Tomsich - Co-authored-by: Jeff Law - -2023-08-09 Jivan Hakobyan - - * config/riscv/riscv.cc (riscv_legitimize_address): Handle folding. - (mem_shadd_or_shadd_rtx_p): New function. - -2023-08-09 Andrew Pinski - - PR tree-optimization/110937 - PR tree-optimization/100798 - * match.pd (`a ? ~b : b`): Handle this - case. - -2023-08-09 Uros Bizjak - - * config/i386/i386.opt (mpartial-vector-fp-math): Add dot. - -2023-08-09 Richard Ball - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A520 CPU. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Document Cortex-A520 CPU. - -2023-08-09 Carl Love - - * config/rs6000/rs6000-builtins.def (vcmpneb, vcmpneh, vcmpnew): - Move definitions to Altivec stanza. - * config/rs6000/altivec.md (vcmpneb, vcmpneh, vcmpnew): New - define_expand. - -2023-08-09 Juzhe-Zhong - - PR target/110950 - * config/riscv/riscv-v.cc (expand_const_vector): Add NPATTERNS = 1 - stepped vector support. - -2023-08-09 liuhongt - - * common/config/i386/cpuinfo.h (get_available_features): - Rename local variable subleaf_level to max_subleaf_level. - -2023-08-09 Richard Biener - - PR rtl-optimization/110587 - * lra-assigns.cc (find_hard_regno_for_1): Re-order checks. - -2023-08-09 Kewen Lin - - PR tree-optimization/110248 - * config/rs6000/rs6000.cc (rs6000_legitimate_address_p): Check if - the given code is for ifn LEN_{LOAD,STORE}, if yes then make it not - legitimate when outer code is PLUS. - -2023-08-09 Kewen Lin - - PR tree-optimization/110248 - * recog.cc (memory_address_addr_space_p): Add one more argument ch of - type code_helper and pass it to targetm.addr_space.legitimate_address_p - instead of ERROR_MARK. - (offsettable_address_addr_space_p): Update one function pointer with - one more argument of type code_helper as its assignees - memory_address_addr_space_p and strict_memory_address_addr_space_p - have been adjusted, and adjust some call sites with ERROR_MARK. - * recog.h (tree.h): New include header file for tree_code ERROR_MARK. - (memory_address_addr_space_p): Adjust with one more unnamed argument - of type code_helper with default ERROR_MARK. - (strict_memory_address_addr_space_p): Likewise. - * reload.cc (strict_memory_address_addr_space_p): Add one unnamed - argument of type code_helper. - * tree-ssa-address.cc (valid_mem_ref_p): Add one more argument ch of - type code_helper and pass it to memory_address_addr_space_p. - * tree-ssa-address.h (valid_mem_ref_p): Adjust the declaration with - one more unnamed argument of type code_helper with default value - ERROR_MARK. - * tree-ssa-loop-ivopts.cc (get_address_cost): Use ERROR_MARK as code - by default, change it with ifn code for USE_PTR_ADDRESS type use, and - pass it to all valid_mem_ref_p calls. - -2023-08-09 Kewen Lin - - PR tree-optimization/110248 - * coretypes.h (class code_helper): Add forward declaration. - * doc/tm.texi: Regenerate. - * lra-constraints.cc (valid_address_p): Call target hook - targetm.addr_space.legitimate_address_p with an extra parameter - ERROR_MARK as its prototype changes. - * recog.cc (memory_address_addr_space_p): Likewise. - * reload.cc (strict_memory_address_addr_space_p): Likewise. - * target.def (legitimate_address_p, addr_space.legitimate_address_p): - Extend with one more argument of type code_helper, update the - documentation accordingly. - * targhooks.cc (default_legitimate_address_p): Adjust for the - new code_helper argument. - (default_addr_space_legitimate_address_p): Likewise. - * targhooks.h (default_legitimate_address_p): Likewise. - (default_addr_space_legitimate_address_p): Likewise. - * config/aarch64/aarch64.cc (aarch64_legitimate_address_hook_p): Adjust - with extra unnamed code_helper argument with default ERROR_MARK. - * config/alpha/alpha.cc (alpha_legitimate_address_p): Likewise. - * config/arc/arc.cc (arc_legitimate_address_p): Likewise. - * config/arm/arm-protos.h (arm_legitimate_address_p): Likewise. - (tree.h): New include for tree_code ERROR_MARK. - * config/arm/arm.cc (arm_legitimate_address_p): Adjust with extra - unnamed code_helper argument with default ERROR_MARK. - * config/avr/avr.cc (avr_addr_space_legitimate_address_p): Likewise. - * config/bfin/bfin.cc (bfin_legitimate_address_p): Likewise. - * config/bpf/bpf.cc (bpf_legitimate_address_p): Likewise. - * config/c6x/c6x.cc (c6x_legitimate_address_p): Likewise. - * config/cris/cris-protos.h (cris_legitimate_address_p): Likewise. - (tree.h): New include for tree_code ERROR_MARK. - * config/cris/cris.cc (cris_legitimate_address_p): Adjust with extra - unnamed code_helper argument with default ERROR_MARK. - * config/csky/csky.cc (csky_legitimate_address_p): Likewise. - * config/epiphany/epiphany.cc (epiphany_legitimate_address_p): - Likewise. - * config/frv/frv.cc (frv_legitimate_address_p): Likewise. - * config/ft32/ft32.cc (ft32_addr_space_legitimate_address_p): Likewise. - * config/gcn/gcn.cc (gcn_addr_space_legitimate_address_p): Likewise. - * config/h8300/h8300.cc (h8300_legitimate_address_p): Likewise. - * config/i386/i386.cc (ix86_legitimate_address_p): Likewise. - * config/ia64/ia64.cc (ia64_legitimate_address_p): Likewise. - * config/iq2000/iq2000.cc (iq2000_legitimate_address_p): Likewise. - * config/lm32/lm32.cc (lm32_legitimate_address_p): Likewise. - * config/loongarch/loongarch.cc (loongarch_legitimate_address_p): - Likewise. - * config/m32c/m32c.cc (m32c_legitimate_address_p): Likewise. - (m32c_addr_space_legitimate_address_p): Likewise. - * config/m32r/m32r.cc (m32r_legitimate_address_p): Likewise. - * config/m68k/m68k.cc (m68k_legitimate_address_p): Likewise. - * config/mcore/mcore.cc (mcore_legitimate_address_p): Likewise. - * config/microblaze/microblaze-protos.h (tree.h): New include for - tree_code ERROR_MARK. - (microblaze_legitimate_address_p): Adjust with extra unnamed - code_helper argument with default ERROR_MARK. - * config/microblaze/microblaze.cc (microblaze_legitimate_address_p): - Likewise. - * config/mips/mips.cc (mips_legitimate_address_p): Likewise. - * config/mmix/mmix.cc (mmix_legitimate_address_p): Likewise. - * config/mn10300/mn10300.cc (mn10300_legitimate_address_p): Likewise. - * config/moxie/moxie.cc (moxie_legitimate_address_p): Likewise. - * config/msp430/msp430.cc (msp430_legitimate_address_p): Likewise. - (msp430_addr_space_legitimate_address_p): Adjust with extra code_helper - argument with default ERROR_MARK and adjust the call to function - msp430_legitimate_address_p. - * config/nds32/nds32.cc (nds32_legitimate_address_p): Adjust with extra - unnamed code_helper argument with default ERROR_MARK. - * config/nios2/nios2.cc (nios2_legitimate_address_p): Likewise. - * config/nvptx/nvptx.cc (nvptx_legitimate_address_p): Likewise. - * config/or1k/or1k.cc (or1k_legitimate_address_p): Likewise. - * config/pa/pa.cc (pa_legitimate_address_p): Likewise. - * config/pdp11/pdp11.cc (pdp11_legitimate_address_p): Likewise. - * config/pru/pru.cc (pru_addr_space_legitimate_address_p): Likewise. - * config/riscv/riscv.cc (riscv_legitimate_address_p): Likewise. - * config/rl78/rl78-protos.h (rl78_as_legitimate_address): Likewise. - (tree.h): New include for tree_code ERROR_MARK. - * config/rl78/rl78.cc (rl78_as_legitimate_address): Adjust with - extra unnamed code_helper argument with default ERROR_MARK. - * config/rs6000/rs6000.cc (rs6000_legitimate_address_p): Likewise. - (rs6000_debug_legitimate_address_p): Adjust with extra code_helper - argument and adjust the call to function rs6000_legitimate_address_p. - * config/rx/rx.cc (rx_is_legitimate_address): Adjust with extra - unnamed code_helper argument with default ERROR_MARK. - * config/s390/s390.cc (s390_legitimate_address_p): Likewise. - * config/sh/sh.cc (sh_legitimate_address_p): Likewise. - * config/sparc/sparc.cc (sparc_legitimate_address_p): Likewise. - * config/v850/v850.cc (v850_legitimate_address_p): Likewise. - * config/vax/vax.cc (vax_legitimate_address_p): Likewise. - * config/visium/visium.cc (visium_legitimate_address_p): Likewise. - * config/xtensa/xtensa.cc (xtensa_legitimate_address_p): Likewise. - * config/stormy16/stormy16-protos.h (xstormy16_legitimate_address_p): - Likewise. - (tree.h): New include for tree_code ERROR_MARK. - * config/stormy16/stormy16.cc (xstormy16_legitimate_address_p): - Adjust with extra unnamed code_helper argument with default - ERROR_MARK. - -2023-08-09 liuhongt - - * common/config/i386/cpuinfo.h (get_available_features): Check - EAX for valid subleaf before use CPUID. - -2023-08-08 Jeff Law - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Use word_mode - for the temporary when canonicalizing the condition. - -2023-08-08 Cupertino Miranda - - * config/bpf/core-builtins.cc: Cleaned include headers. - (struct cr_builtins): Added GTY. - (cr_builtins_ref): Created. - (builtins_data) Changed to GC root. - (allocate_builtin_data): Changed. - Included gt-core-builtins.h. - * config/bpf/coreout.cc: (bpf_core_extra) Added GTY. - (bpf_core_extra_ref): Created. - (bpf_comment_info): Changed to GC root. - (bpf_core_reloc_add, output_btfext_header, btf_ext_init): Changed. - -2023-08-08 Uros Bizjak - - PR target/110832 - * config/i386/i386.opt (mpartial-vector-fp-math): New option. - * config/i386/mmx.md (movq__to_sse): Do not sanitize - upper part of V2SFmode register with -fno-trapping-math. - (v2sf3): Enable for ix86_partial_vec_fp_math. - (divv2sf3): Ditto. - (v2sf3): Ditto. - (sqrtv2sf2): Ditto. - (*mmx_haddv2sf3_low): Ditto. - (*mmx_hsubv2sf3_low): Ditto. - (vec_addsubv2sf3): Ditto. - (vec_cmpv2sfv2si): Ditto. - (vcondv2sf): Ditto. - (fmav2sf4): Ditto. - (fmsv2sf4): Ditto. - (fnmav2sf4): Ditto. - (fnmsv2sf4): Ditto. - (fix_truncv2sfv2si2): Ditto. - (fixuns_truncv2sfv2si2): Ditto. - (floatv2siv2sf2): Ditto. - (floatunsv2siv2sf2): Ditto. - (nearbyintv2sf2): Ditto. - (rintv2sf2): Ditto. - (lrintv2sfv2si2): Ditto. - (ceilv2sf2): Ditto. - (lceilv2sfv2si2): Ditto. - (floorv2sf2): Ditto. - (lfloorv2sfv2si2): Ditto. - (btruncv2sf2): Ditto. - (roundv2sf2): Ditto. - (lroundv2sfv2si2): Ditto. - * doc/invoke.texi (x86 Options): Document - -mpartial-vector-fp-math option. - -2023-08-08 Andrew Pinski - - PR tree-optimization/103281 - PR tree-optimization/28794 - * vr-values.cc (simplify_using_ranges::simplify_cond_using_ranges_1): Split out - majority to ... - (simplify_using_ranges::simplify_compare_using_ranges_1): Here. - (simplify_using_ranges::simplify_casted_cond): Rename to ... - (simplify_using_ranges::simplify_casted_compare): This - and change arguments to take op0 and op1. - (simplify_using_ranges::simplify_compare_assign_using_ranges_1): New method. - (simplify_using_ranges::simplify): For tcc_comparison assignments call - simplify_compare_assign_using_ranges_1. - * vr-values.h (simplify_using_ranges): Add - new methods, simplify_compare_using_ranges_1 and simplify_compare_assign_using_ranges_1. - Rename simplify_casted_cond and simplify_casted_compare and - update argument types. - -2023-08-08 Andrzej Turko - - * genmatch.cc: Log line numbers indirectly. - -2023-08-08 Andrzej Turko - - * genmatch.cc: Make sinfo map ordered. - * Makefile.in: Require the ordered map header for genmatch.o. - -2023-08-08 Andrzej Turko - - * ordered-hash-map.h: Add get_or_insert. - * ordered-hash-map-tests.cc: Use get_or_insert in tests. - -2023-08-08 Juzhe-Zhong - - * config/riscv/autovec.md (cond_): New pattern. - (cond_len_): Ditto. - (cond_fma): Ditto. - (cond_len_fma): Ditto. - (cond_fnma): Ditto. - (cond_len_fnma): Ditto. - (cond_fms): Ditto. - (cond_len_fms): Ditto. - (cond_fnms): Ditto. - (cond_len_fnms): Ditto. - * config/riscv/riscv-protos.h (riscv_get_v_regno_alignment): Export - global. - (enum insn_type): Add new enum type. - (prepare_ternary_operands): New function. - * config/riscv/riscv-v.cc (emit_vlmax_masked_fp_mu_insn): Ditto. - (emit_nonvlmax_tumu_insn): Ditto. - (emit_nonvlmax_fp_tumu_insn): Ditto. - (expand_cond_len_binop): Add condtional operations. - (expand_cond_len_ternop): Ditto. - (prepare_ternary_operands): New function. - * config/riscv/riscv.cc (riscv_memmodel_needs_amo_release): Export - riscv_get_v_regno_alignment as global scope. - * config/riscv/vector.md: Fix ternary bugs. - -2023-08-08 Richard Biener - - PR tree-optimization/49955 - * tree-vectorizer.h (_slp_instance::remain_stmts): New. - (SLP_INSTANCE_REMAIN_STMTS): Likewise. - * tree-vect-slp.cc (vect_free_slp_instance): Release - SLP_INSTANCE_REMAIN_STMTS. - (vect_build_slp_instance): Make the number of lanes of - a BB reduction even. - (vectorize_slp_instance_root_stmt): Handle unvectorized - defs of a BB reduction. - -2023-08-08 Ju-Zhe Zhong - - * internal-fn.cc (get_len_internal_fn): New function. - (DEF_INTERNAL_COND_FN): Ditto. - (DEF_INTERNAL_SIGNED_COND_FN): Ditto. - * internal-fn.h (get_len_internal_fn): Ditto. - * tree-vect-stmts.cc (vectorizable_call): Add CALL auto-vectorization. - -2023-08-08 Richard Biener - - PR tree-optimization/110924 - * tree-ssa-live.h (virtual_operand_live): Update comment. - * tree-ssa-live.cc (virtual_operand_live::get_live_in): Remove - optimization, look at each predecessor. - * tree-ssa-sink.cc (pass_sink_code::execute): Mark backedges. - -2023-08-08 yulong - - * config/riscv/riscv-v.cc (slide1_sew64_helper): Modify. - -2023-08-08 Juzhe-Zhong - - * config/riscv/autovec-vls.md (2): Add VLS neg. - * config/riscv/vector.md: Ditto. - -2023-08-08 Juzhe-Zhong - - * config/riscv/autovec.md: Add VLS shift. - -2023-08-07 Juzhe-Zhong - - * config/riscv/autovec-vls.md (3): Add VLS modes. - * config/riscv/vector-iterators.md: Ditto. - * config/riscv/vector.md: Ditto. - -2023-08-07 Jonathan Wakely - - * config/i386/i386.cc (ix86_invalid_conversion): Fix grammar. - -2023-08-07 Nick Alcock - - * configure: Regenerate. - -2023-08-07 John Ericson - - * configure: Regenerate. - -2023-08-07 Alan Modra - - * configure: Regenerate. - -2023-08-07 Alexander von Gluck IV - - * configure: Regenerate. - -2023-08-07 Nick Alcock - - * configure: Regenerate. - -2023-08-07 Nick Alcock - - * configure: Regenerate. - -2023-08-07 H.J. Lu - - * configure: Regenerate. - -2023-08-07 H.J. Lu - - * configure: Regenerate. - -2023-08-07 Jeff Law - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Allow - VOIDmode operands to conditional before canonicalization. - -2023-08-07 Manolis Tsamis - - * regcprop.cc (maybe_copy_reg_attrs): Remove unnecessary function. - (find_oldest_value_reg): Inline stack_pointer_rtx check. - (copyprop_hardreg_forward_1): Inline stack_pointer_rtx check. - -2023-08-07 Martin Jambor - - PR ipa/110378 - * ipa-param-manipulation.h (class ipa_param_body_adjustments): New - members get_ddef_if_exists_and_is_used and mark_clobbers_dead. - * ipa-sra.cc (isra_track_scalar_value_uses): Ignore clobbers. - (ptr_parm_has_nonarg_uses): Likewise. - * ipa-param-manipulation.cc - (ipa_param_body_adjustments::get_ddef_if_exists_and_is_used): New. - (ipa_param_body_adjustments::mark_dead_statements): Move initial - checks to get_ddef_if_exists_and_is_used. - (ipa_param_body_adjustments::mark_clobbers_dead): New. - (ipa_param_body_adjustments::common_initialization): Call - mark_clobbers_dead when splitting. - -2023-08-07 Raphael Zinsly - - * config/riscv/riscv.cc (riscv_expand_int_scc): Add invert_ptr - as an argument and pass it to riscv_emit_int_order_test. - (riscv_expand_conditional_move): Handle cases where the condition - is not EQ/NE or the second argument to the conditional is not - (const_int 0). - * config/riscv/riscv-protos.h (riscv_expand_int_scc): Update prototype. - Co-authored-by: Jeff Law - -2023-08-07 Andrew Pinski - - PR tree-optimization/109959 - * match.pd (`(a > 1) ? 0 : (cast)a`, `(a <= 1) & (cast)a`): - New patterns. - -2023-08-07 Richard Biener - - * tree-ssa-sink.cc (pass_sink_code::execute): Do not - calculate post-dominators. Calculate RPO on the inverted - graph and process blocks in that order. - -2023-08-07 liuhongt - - PR target/110926 - * config/i386/i386-protos.h - (vpternlog_redundant_operand_mask): Adjust parameter type. - * config/i386/i386.cc (vpternlog_redundant_operand_mask): Use - INTVAL instead of XINT, also adjust parameter type from rtx* - to rtx since the function only needs operands[4] in vpternlog - pattern. - (substitute_vpternlog_operands): Pass operands[4] instead of - operands to vpternlog_redundant_operand_mask. - * config/i386/sse.md: Ditto. - -2023-08-07 Richard Biener - - * tree-vect-slp.cc (vect_slp_region): Save/restore vect_location - around dumping code. - -2023-08-07 liuhongt - - PR target/110762 - * config/i386/mmx.md (3): Changed from define_insn - to define_expand and break into .. - (v4hf3): .. this. - (divv4hf3): .. this. - (v2hf3): .. this. - (divv2hf3): .. this. - (movd_v2hf_to_sse): New define_expand. - (movq__to_sse): Extend to V4HFmode. - (mmxdoublevecmode): Ditto. - (V2FI_V4HF): New mode iterator. - * config/i386/sse.md (*vec_concatv4sf): Extend to hanlde V8HF - by using mode iterator V4SF_V8HF, renamed to .. - (*vec_concat): .. this. - (*vec_concatv4sf_0): Extend to handle V8HF by using mode - iterator V4SF_V8HF, renamed to .. - (*vec_concat_0): .. this. - (*vec_concatv8hf_movss): New define_insn. - (V4SF_V8HF): New mode iterator. - -2023-08-07 Juzhe-Zhong - - * tree-vect-patterns.cc (vect_recog_over_widening_pattern): Add op vectype. - -2023-08-07 Jan Beulich - - * config/i386/mmx.md (*mmx_pinsrd): Drop "prefix_data16". - (*mmx_pinsrb): Likewise. - (*mmx_pextrb): Likewise. - (*mmx_pextrb_zext): Likewise. - (mmx_pshufbv8qi3): Likewise. - (mmx_pshufbv4qi3): Likewise. - (mmx_pswapdv2si2): Likewise. - (*pinsrb): Likewise. - (*pextrb): Likewise. - (*pextrb_zext): Likewise. - * config/i386/sse.md (*sse4_1_mulv2siv2di3): Likewise. - (*sse2_eq3): Likewise. - (*sse2_gt3): Likewise. - (_pinsr): Likewise. - (*vec_extract): Likewise. - (*vec_extract_zext): Likewise. - (*vec_extractv16qi_zext): Likewise. - (ssse3_phwv8hi3): Likewise. - (ssse3_pmaddubsw128): Likewise. - (*_pmulhrsw3): Likewise. - (_pshufb3): Likewise. - (_psign3): Likewise. - (_palignr): Likewise. - (*abs2): Likewise. - (sse4_2_pcmpestr): Likewise. - (sse4_2_pcmpestri): Likewise. - (sse4_2_pcmpestrm): Likewise. - (sse4_2_pcmpestr_cconly): Likewise. - (sse4_2_pcmpistr): Likewise. - (sse4_2_pcmpistri): Likewise. - (sse4_2_pcmpistrm): Likewise. - (sse4_2_pcmpistr_cconly): Likewise. - (vgf2p8affineinvqb_): Likewise. - (vgf2p8affineqb_): Likewise. - (vgf2p8mulb_): Likewise. - (*v8hi3 [smaxmin]): Drop "prefix_data16" and - "prefix_extra". - (*v16qi3 [umaxmin]): Likewise. - -2023-08-07 Jan Beulich - - * config/i386/i386.md (sse4_1_round2): Make - "length_immediate" uniformly 1. - * config/i386/mmx.md (mmx_pblendvb_v8qi): Likewise. - (mmx_pblendvb_): Likewise. - -2023-08-07 Jan Beulich - - * config/i386/sse.md - (__): Add - "prefix" attribute. - (avx512fp16_sh_v8hf): - Likewise. - -2023-08-07 Jan Beulich - - * config/i386/sse.md (xop_phaddbw): Add "prefix", - "prefix_extra", and "mode" attributes. - (xop_phaddbd): Likewise. - (xop_phaddbq): Likewise. - (xop_phaddwd): Likewise. - (xop_phaddwq): Likewise. - (xop_phadddq): Likewise. - (xop_phsubbw): Likewise. - (xop_phsubwd): Likewise. - (xop_phsubdq): Likewise. - (xop_rotl3): Add "prefix" and "prefix_extra" attributes. - (xop_rotr3): Likewise. - (xop_frcz2): Likewise. - (*xop_vmfrcz2): Likewise. - (xop_vrotl3): Add "prefix" attribute. Change - "prefix_extra" to 1. - (xop_sha3): Likewise. - (xop_shl3): Likewise. - -2023-08-07 Jan Beulich - - * config/i386/sse.md - (*_eq3_1): Drop - "prefix_extra". - (avx512dq_vextract64x2_1_mask): Likewise. - (*avx512dq_vextract64x2_1): Likewise. - (avx512f_vextract32x4_1_mask): Likewise. - (*avx512f_vextract32x4_1): Likewise. - (vec_extract_lo__mask [AVX512 forms]): Likewise. - (vec_extract_lo_ [AVX512 forms]): Likewise. - (vec_extract_hi__mask [AVX512 forms]): Likewise. - (vec_extract_hi_ [AVX512 forms]): Likewise. - (@vec_extract_lo_ [AVX512 forms]): Likewise. - (@vec_extract_hi_ [AVX512 forms]): Likewise. - (vec_extract_lo_v64qi): Likewise. - (vec_extract_hi_v64qi): Likewise. - (*vec_widen_umult_even_v16si): Likewise. - (*vec_widen_smult_even_v16si): Likewise. - (*avx512f_3): Likewise. - (*vec_extractv4ti): Likewise. - (avx512bw_v32qiv32hi2): Likewise. - (avx512dq_broadcast_1): Likewise. - Add "length_immediate". - -2023-08-07 Jan Beulich - - * config/i386/i386.md (@rdrand): Add "prefix_0f". Drop - "prefix_extra". - (@rdseed): Likewise. - * config/i386/mmx.md (3 [smaxmin and umaxmin cases]): - Adjust "prefix_extra". - * config/i386/sse.md (@vec_set_0): Likewise. - (*sse4_1_3): Likewise. - (*avx2_eq3): Likewise. - (avx2_gt3): Likewise. - (_pinsr): Likewise. - (*vec_extract): Likewise. - (_movntdqa): Likewise. - -2023-08-07 Jan Beulich - - * config/i386/i386.md (rdbase): Add "prefix_0f" and - "prefix_rep". Drop "prefix_extra". - (wrbase): Likewise. - (ptwrite): Likewise. - -2023-08-07 Jan Beulich - - * config/i386/i386.md (isa): Move up. - (length_immediate): Handle "fma4". - (prefix): Handle "ssemuladd". - * config/i386/sse.md (*fma_fmadd_): Add "prefix" attribute. - (fma_fmadd_): - Likewise. - (_fmadd__mask): Likewise. - (_fmadd__mask3): Likewise. - (fma_fmsub_): - Likewise. - (_fmsub__mask): Likewise. - (_fmsub__mask3): Likewise. - (*fma_fnmadd_): Likewise. - (fma_fnmadd_): - Likewise. - (_fnmadd__mask): Likewise. - (_fnmadd__mask3): Likewise. - (fma_fnmsub_): - Likewise. - (_fnmsub__mask): Likewise. - (_fnmsub__mask3): Likewise. - (fma_fmaddsub_): - Likewise. - (_fmaddsub__mask): Likewise. - (_fmaddsub__mask3): Likewise. - (fma_fmsubadd_): - Likewise. - (_fmsubadd__mask): Likewise. - (_fmsubadd__mask3): Likewise. - (*fmai_fmadd_): Likewise. - (*fmai_fmsub_): Likewise. - (*fmai_fnmadd_): Likewise. - (*fmai_fnmsub_): Likewise. - (avx512f_vmfmadd__mask): Likewise. - (avx512f_vmfmadd__mask3): Likewise. - (avx512f_vmfmadd__maskz_1): Likewise. - (*avx512f_vmfmsub__mask): Likewise. - (avx512f_vmfmsub__mask3): Likewise. - (*avx512f_vmfmsub__maskz_1): Likewise. - (avx512f_vmfnmadd__mask): Likewise. - (avx512f_vmfnmadd__mask3): Likewise. - (avx512f_vmfnmadd__maskz_1): Likewise. - (*avx512f_vmfnmsub__mask): Likewise. - (*avx512f_vmfnmsub__mask3): Likewise. - (*avx512f_vmfnmsub__maskz_1): Likewise. - (*fma4i_vmfmadd_): Likewise. - (*fma4i_vmfmsub_): Likewise. - (*fma4i_vmfnmadd_): Likewise. - (*fma4i_vmfnmsub_): Likewise. - (fma__): Likewise. - (___mask): Likewise. - (avx512fp16_fma_sh_v8hf): - Likewise. - (avx512fp16_sh_v8hf_mask): Likewise. - (xop_p): Likewise. - (xop_pdql): Likewise. - (xop_pdqh): Likewise. - (xop_pwd): Likewise. - (xop_pwd): Likewise. - (fma___pair): Likewise. Add "mode" attribute. - -2023-08-07 Jan Beulich - - * config/i386/i386.md (length_immediate): Handle "sse4arg". - (prefix): Likewise. - (*xop_pcmov_): Add "mode" attribute. - * config/i386/mmx.md (*xop_maskcmp3): Drop "prefix_data16", - "prefix_rep", "prefix_extra", and "length_immediate" attributes. - (*xop_maskcmp_uns3): Likewise. Switch "type" to "sse4arg". - (*xop_pcmov_): Add "mode" attribute. - * config/i386/sse.md (xop_pcmov_): Add "mode" - attribute. - (xop_maskcmp3): Drop "prefix_data16", "prefix_rep", - "prefix_extra", and "length_immediate" attributes. - (xop_maskcmp_uns3): Likewise. Switch "type" to "sse4arg". - (xop_maskcmp_uns23): Drop "prefix_data16", "prefix_extra", - and "length_immediate" attributes. Switch "type" to "sse4arg". - (xop_pcom_tf3): Likewise. - (xop_vpermil23): Drop "length_immediate" attribute. - -2023-08-07 Jan Beulich - - * config/i386/i386.md (prefix_extra): Correct comment. Fold - cases yielding 2 into ones yielding 1. - -2023-08-07 Jan Hubicka - - PR tree-optimization/106293 - * tree-vect-loop-manip.cc (vect_loop_versioning): Fix profile update. - * tree-vect-loop.cc (vect_transform_loop): Likewise. - -2023-08-07 Andrew Pinski - - PR tree-optimization/96695 - * match.pd (min_value, max_value): Extend to - pointer types too. - -2023-08-06 Jan Hubicka - - * config/i386/cpuid.h (__get_cpuid_count, __get_cpuid_max): Add - __builtin_expect that CPU likely supports cpuid. - -2023-08-06 Jan Hubicka - - * tree-loop-distribution.cc (loop_distribution::execute): Disable - distribution for loops with estimated iterations 0. - -2023-08-06 Jan Hubicka - - * tree-vect-loop-manip.cc (vect_do_peeling): Fix profile update of peeled epilogues. - -2023-08-04 Xiao Zeng - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Recognize - more Zicond patterns. Fix whitespace typo. - (riscv_rtx_costs): Remove accidental code duplication. - Co-authored-by: Jeff Law - -2023-08-04 Yan Simonaytes - - PR target/110202 - * config/i386/i386-protos.h - (vpternlog_redundant_operand_mask): Declare. - (substitute_vpternlog_operands): Declare. - * config/i386/i386.cc - (vpternlog_redundant_operand_mask): New helper. - (substitute_vpternlog_operands): New function. Use them... - * config/i386/sse.md: ... here in new VPTERNLOG define_splits. - -2023-08-04 Roger Sayle - - * expmed.cc (extract_bit_field_1): Document that an UNSIGNEDP - value of -1 is equivalent to don't care. - (extract_integral_bit_field): Indicate that we don't require - the most significant word to be zero extended, if we're about - to sign extend it. - (extract_fixed_bit_field_1): Document that an UNSIGNEDP value - of -1 is equivalent to don't care. Don't clear the most - significant bits with AND mask when UNSIGNEDP is -1. - -2023-08-04 Roger Sayle - - * config/i386/sse.md (define_split): Convert highpart:DF extract - from V2DFmode register into a sse2_storehpd instruction. - (define_split): Likewise, convert lowpart:DF extract from V2DF - register into a sse2_storelpd instruction. - -2023-08-04 Qing Zhao - - * doc/invoke.texi (-Wflex-array-member-not-at-end): Document - new option. - -2023-08-04 Vladimir N. Makarov - - * lra-lives.cc (process_bb_lives): Check input insn pattern hard regs - against early clobber hard regs. - -2023-08-04 Tamar Christina - - * doc/extend.texi: Document it. - -2023-08-04 Tamar Christina - - PR target/106346 - * config/aarch64/aarch64-simd.md (vec_widen_shiftl_lo_, - vec_widen_shiftl_hi_): Remove. - (aarch64_shll_internal): Renamed to... - (aarch64_shll): .. This. - (aarch64_shll2_internal): Renamed to... - (aarch64_shll2): .. This. - (aarch64_shll_n, aarch64_shll2_n): Re-use new - optabs. - * config/aarch64/constraints.md (D2, DL): New. - * config/aarch64/predicates.md (aarch64_simd_shll_imm_vec): New. - -2023-08-04 Tamar Christina - - * gensupport.cc (conlist): Support length 0 attribute. - -2023-08-04 Tamar Christina - - * config/aarch64/aarch64.cc (aarch64_bool_compound_p): New. - (aarch64_adjust_stmt_cost, aarch64_vector_costs::count_ops): Use it. - -2023-08-04 Tamar Christina - - * config/aarch64/aarch64.cc (aarch64_multiply_add_p): Update handling - of constants. - (aarch64_adjust_stmt_cost): Use it. - (aarch64_vector_costs::count_ops): Likewise. - (aarch64_vector_costs::add_stmt_cost): Pass vinfo to - aarch64_adjust_stmt_cost. - -2023-08-04 Richard Biener - - PR tree-optimization/110838 - * tree-vect-patterns.cc (vect_recog_over_widening_pattern): - Fix right-shift value sanitizing. Properly emit external - def mangling in the preheader rather than in the pattern - def sequence where it will fail vectorizing. - -2023-08-04 Matthew Malcomson - - PR middle-end/110316 - PR middle-end/9903 - * timevar.cc (NANOSEC_PER_SEC, TICKS_TO_NANOSEC, - CLOCKS_TO_NANOSEC, nanosec_to_floating_sec, percent_of): New. - (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Remove these macros. - (timer::validate_phases): Use integral arithmetic to check - validity. - (timer::print_row, timer::print): Convert from integral - nanoseconds to floating point seconds before printing. - (timer::all_zero): Change limit to nanosec count instead of - fractional count of seconds. - (make_json_for_timevar_time_def): Convert from integral - nanoseconds to floating point seconds before recording. - * timevar.h (struct timevar_time_def): Update all measurements - to use uint64_t nanoseconds rather than seconds stored in a - double. - -2023-08-04 Richard Biener - - PR tree-optimization/110838 - * match.pd (([rl]shift @0 out-of-bounds) -> zero): Restrict - the arithmetic right-shift case to non-negative operands. - -2023-08-04 Pan Li - - Revert: - 2023-08-04 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfmacc_frm): New class for vfmacc frm. - (vfmacc_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfmacc_frm): New function definition. - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_ternop_insn): Add frm operand support. - * config/riscv/vector.md: Add vfmuladd to frm_mode. - -2023-08-04 Pan Li - - Revert: - 2023-08-04 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfnmacc_frm): New class for vfnmacc. - (vfnmacc_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfnmacc_frm): New function definition. - -2023-08-04 Pan Li - - Revert: - 2023-08-04 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfmsac_frm): New class for vfmsac frm. - (vfmsac_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfmsac_frm): New function definition. - -2023-08-04 Pan Li - - Revert: - 2023-08-04 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfnmsac_frm): New class for vfnmsac frm. - (vfnmsac_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfnmsac_frm): New function definition. - -2023-08-04 Georg-Johann Lay - - * config/avr/avr-mcus.def (avr64dd14, avr64dd20, avr64dd28, avr64dd32) - (avr64ea28, avr64ea32, avr64ea48, attiny424, attiny426, attiny427) - (attiny824, attiny826, attiny827, attiny1624, attiny1626, attiny1627) - (attiny3224, attiny3226, attiny3227, avr16dd14, avr16dd20, avr16dd28) - (avr16dd32, avr32dd14, avr32dd20, avr32dd28, avr32dd32) - (attiny102, attiny104): New devices. - * doc/avr-mmcu.texi: Regenerate. - -2023-08-04 Georg-Johann Lay - - * config/avr/avr-mcus.def (avr128d*, avr64d*): Fix their FLASH_SIZE - and PM_OFFSET entries. - -2023-08-04 Andrew Pinski - - PR tree-optimization/110874 - * gimple-match-head.cc (gimple_bit_not_with_nop): New declaration. - (gimple_maybe_cmp): Likewise. - (gimple_bitwise_inverted_equal_p): Rewrite to use gimple_bit_not_with_nop - and gimple_maybe_cmp instead of being recursive. - * match.pd (bit_not_with_nop): New match pattern. - (maybe_cmp): Likewise. - -2023-08-04 Drew Ross - - PR middle-end/101955 - * match.pd ((signed x << c) >> c): New canonicalization. - -2023-08-04 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfnmsac_frm): New class for vfnmsac frm. - (vfnmsac_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfnmsac_frm): New function definition. - -2023-08-04 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfmsac_frm): New class for vfmsac frm. - (vfmsac_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfmsac_frm): New function definition. - -2023-08-04 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfnmacc_frm): New class for vfnmacc. - (vfnmacc_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfnmacc_frm): New function definition. - -2023-08-04 Hao Liu - - PR target/110625 - * config/aarch64/aarch64.cc (aarch64_force_single_cycle): check - STMT_VINFO_REDUC_DEF to avoid failures in info_for_reduction. - -2023-08-04 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class vfmacc_frm): New class for vfmacc frm. - (vfmacc_frm_obj): New declaration. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfmacc_frm): New function definition. - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_ternop_insn): Add frm operand support. - * config/riscv/vector.md: Add vfmuladd to frm_mode. - -2023-08-04 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (vfwmul_frm_obj): New declaration. - (vfwmul_frm): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: - (vfwmul_frm): Ditto. - * config/riscv/riscv-vector-builtins-functions.def - (vfwmul_frm): New function definition. - * config/riscv/vector.md: (frm_mode) Add vfwmul to frm_mode. - -2023-08-04 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (binop_frm): New declaration. - (reverse_binop_frm): Likewise. - (BASE): Likewise. - * config/riscv/riscv-vector-builtins-bases.h: - (vfdiv_frm): New extern declaration. - (vfrdiv_frm): Likewise. - * config/riscv/riscv-vector-builtins-functions.def - (vfdiv_frm): New function definition. - (vfrdiv_frm): Likewise. - * config/riscv/vector.md: Add vfdiv to frm_mode. - -2023-08-03 Jan Hubicka - - * tree-cfg.cc (print_loop_info): Print entry count. - -2023-08-03 Jan Hubicka - - * tree-ssa-loop-split.cc (split_loop): Update estimated iteration counts. - -2023-08-03 Jan Hubicka - - PR bootstrap/110857 - * cfgloopmanip.cc (scale_loop_profile): (Un)initialize - unadjusted_exit_count. - -2023-08-03 Aldy Hernandez - - * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Read global - value/mask. - -2023-08-03 Xiao Zeng - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Recognize - various Zicond patterns. - * config/riscv/riscv.md (movcc): Allow TARGET_ZICOND. Use - sfb_alu_operand for both arms of the conditional move. - Co-authored-by: Jeff Law - -2023-08-03 Cupertino Miranda - - PR target/107844 - PR target/107479 - PR target/107480 - PR target/107481 - * config.gcc: Added core-builtins.cc and .o files. - * config/bpf/bpf-passes.def: Removed file. - * config/bpf/bpf-protos.h (bpf_add_core_reloc, - bpf_replace_core_move_operands): New prototypes. - * config/bpf/bpf.cc (enum bpf_builtins, is_attr_preserve_access, - maybe_make_core_relo, bpf_core_field_info, bpf_core_compute, - bpf_core_get_index, bpf_core_new_decl, bpf_core_walk, - bpf_is_valid_preserve_field_info_arg, is_attr_preserve_access, - handle_attr_preserve, pass_data_bpf_core_attr, pass_bpf_core_attr): - Removed. - (def_builtin, bpf_expand_builtin, bpf_resolve_overloaded_builtin): Changed. - * config/bpf/bpf.md (define_expand mov): Changed. - (mov_reloc_core): Added. - * config/bpf/core-builtins.cc (struct cr_builtin, enum - cr_decision struct cr_local, struct cr_final, struct - core_builtin_helpers, enum bpf_plugin_states): Added types. - (builtins_data, core_builtin_helpers, core_builtin_type_defs): - Added variables. - (allocate_builtin_data, get_builtin-data, search_builtin_data, - remove_parser_plugin, compare_same_kind, compare_same_ptr_expr, - compare_same_ptr_type, is_attr_preserve_access, core_field_info, - bpf_core_get_index, compute_field_expr, - pack_field_expr_for_access_index, pack_field_expr_for_preserve_field, - process_field_expr, pack_enum_value, process_enum_value, pack_type, - process_type, bpf_require_core_support, make_core_relo, read_kind, - kind_access_index, kind_preserve_field_info, kind_enum_value, - kind_type_id, kind_preserve_type_info, get_core_builtin_fndecl_for_type, - bpf_handle_plugin_finish_type, bpf_init_core_builtins, - construct_builtin_core_reloc, bpf_resolve_overloaded_core_builtin, - bpf_expand_core_builtin, bpf_add_core_reloc, - bpf_replace_core_move_operands): Added functions. - * config/bpf/core-builtins.h (enum bpf_builtins): Added. - (bpf_init_core_builtins, bpf_expand_core_builtin, - bpf_resolve_overloaded_core_builtin): Added functions. - * config/bpf/coreout.cc (struct bpf_core_extra): Added. - (bpf_core_reloc_add, output_asm_btfext_core_reloc): Changed. - * config/bpf/coreout.h (bpf_core_reloc_add) Changed prototype. - * config/bpf/t-bpf: Added core-builtins.o. - * doc/extend.texi: Added documentation for new BPF builtins. - -2023-08-03 Andrew MacLeod - - * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add - ranges to the call to relation_fold_and_or. - (fold_using_range::relation_fold_and_or): Add op1 and op2 ranges. - (fur_source::register_outgoing_edges): Add op1 and op2 ranges. - * gimple-range-fold.h (relation_fold_and_or): Adjust params. - * gimple-range-gori.cc (gori_compute::compute_operand_range): Add - a varying op1 and op2 to call. - * range-op-float.cc (range_operator::op1_op2_relation): New dafaults. - (operator_equal::op1_op2_relation): New float version. - (operator_not_equal::op1_op2_relation): Ditto. - (operator_lt::op1_op2_relation): Ditto. - (operator_le::op1_op2_relation): Ditto. - (operator_gt::op1_op2_relation): Ditto. - (operator_ge::op1_op2_relation) Ditto. - * range-op-mixed.h (operator_equal::op1_op2_relation): New float - prototype. - (operator_not_equal::op1_op2_relation): Ditto. - (operator_lt::op1_op2_relation): Ditto. - (operator_le::op1_op2_relation): Ditto. - (operator_gt::op1_op2_relation): Ditto. - (operator_ge::op1_op2_relation): Ditto. - * range-op.cc (range_op_handler::op1_op2_relation): Dispatch new - variations. - (range_operator::op1_op2_relation): Add extra params. - (operator_equal::op1_op2_relation): Ditto. - (operator_not_equal::op1_op2_relation): Ditto. - (operator_lt::op1_op2_relation): Ditto. - (operator_le::op1_op2_relation): Ditto. - (operator_gt::op1_op2_relation): Ditto. - (operator_ge::op1_op2_relation): Ditto. - * range-op.h (range_operator): New prototypes. - (range_op_handler): Ditto. - -2023-08-03 Andrew MacLeod - - * gimple-range-gori.cc (gori_compute::compute_operand1_range): - Use identity relation. - (gori_compute::compute_operand2_range): Ditto. - * value-relation.cc (get_identity_relation): New. - * value-relation.h (get_identity_relation): New prototype. - -2023-08-03 Andrew MacLeod - - * value-range.h (Value_Range::set_varying): Set the type. - (Value_Range::set_zero): Ditto. - (Value_Range::set_nonzero): Ditto. - -2023-08-03 Jeff Law - - * config/riscv/riscv.cc (riscv_rtx_costs): Remove errant hunk from - recent commit. - -2023-08-03 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc: Add vfsub. - -2023-08-03 Richard Sandiford - - * poly-int.h (can_div_trunc_p): Succeed for more boundary conditions. - -2023-08-03 Richard Biener - - PR tree-optimization/110838 - * tree-vect-patterns.cc (vect_recog_over_widening_pattern): - Adjust the shift operand of RSHIFT_EXPRs. - -2023-08-03 Richard Biener - - PR tree-optimization/110702 - * tree-ssa-loop-ivopts.cc (rewrite_use_address): When - we created a NULL pointer based access rewrite that to - a LEA. - -2023-08-03 Richard Biener - - * tree-ssa-sink.cc: Include tree-ssa-live.h. - (pass_sink_code::execute): Instantiate virtual_operand_live - and pass it down. - (sink_code_in_bb): Pass down virtual_operand_live. - (statement_sink_location): Get virtual_operand_live and - verify we are not sinking loads across stores by looking up - the live virtual operand at the sink location. - -2023-08-03 Richard Biener - - * tree-ssa-live.h (class virtual_operand_live): New. - * tree-ssa-live.cc (virtual_operand_live::init): New. - (virtual_operand_live::get_live_in): Likewise. - (virtual_operand_live::get_live_out): Likewise. - -2023-08-03 Richard Biener - - * passes.def: Exchange loop splitting and final value - replacement passes. - -2023-08-03 Stefan Schulze Frielinghaus - - * config/s390/s390.cc (expand_perm_as_a_vlbr_vstbr_candidate): - New function which handles bswap patterns for vec_perm_const. - (vectorize_vec_perm_const_1): Call new function. - * config/s390/vector.md (*bswap): Fix operands in output - template. - (*vstbr): New insn. - -2023-08-03 Alexandre Oliva - - * config/vxworks-smp.opt: New. Introduce -msmp. - * config.gcc: Enable it on powerpc* vxworks prior to 7r*. - * config/rs6000/vxworks.h (STARTFILE_PREFIX_SPEC): Choose - lib_smp when -msmp is present in the command line. - * doc/invoke.texi: Document it. - -2023-08-03 Yanzhang Wang - - * config/riscv/riscv.cc (riscv_save_reg_p): Save ra for leaf - when enabling -mno-omit-leaf-frame-pointer - (riscv_option_override): Override omit-frame-pointer. - (riscv_frame_pointer_required): Save s0 for non-leaf function - (TARGET_FRAME_POINTER_REQUIRED): Override defination - * config/riscv/riscv.opt: Add option support. - -2023-08-03 Roger Sayle - - PR target/110792 - * config/i386/i386.md (ti3): For rotations by 64 bits - place operand in a register before gen_64ti2_doubleword. - (di3): Likewise, for rotations by 32 bits, place - operand in a register before gen_32di2_doubleword. - (32di2_doubleword): Constrain operand to be in register. - (64ti2_doubleword): Likewise. - -2023-08-03 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (vfmul_frm_obj): New declaration. - (Base): Likewise. - * config/riscv/riscv-vector-builtins-bases.h: Likewise. - * config/riscv/riscv-vector-builtins-functions.def - (vfmul_frm): New function definition. - * config/riscv/vector.md: Add vfmul to frm_mode. - -2023-08-03 Andrew Pinski - - * match.pd (`~X & X`): Check that the types match. - (`~x | x`, `~x ^ x`): Likewise. - -2023-08-03 Pan Li - - * config/riscv/riscv-vector-builtins-bases.h: Remove - redudant declaration. - -2023-08-03 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc (BASE): Add - vfwsub frm. - * config/riscv/riscv-vector-builtins-bases.h: Add declaration. - * config/riscv/riscv-vector-builtins-functions.def (vfwsub_frm): - Add vfwsub function definitions. - -2023-08-02 Stefan Schulze Frielinghaus - - PR rtl-optimization/110867 - * combine.cc (simplify_compare_const): Try the optimization only - in case the constant fits into the comparison mode. - -2023-08-02 Jeff Law - - * config/riscv/zicond.md: Remove incorrect zicond patterns and - renumber/rename them. - (zero.nez..opt2): Fix output string. - -2023-08-02 Richard Biener - - * tree-phinodes.h (add_phi_node_to_bb): Remove. - * tree-phinodes.cc (add_phi_node_to_bb): Make static. - -2023-08-02 Jan Beulich - - * config/i386/sse.md (vec_dupv2df): Fold the middle - two of the alternatives. - -2023-08-02 Richard Biener - - PR tree-optimization/92335 - * tree-ssa-sink.cc (select_best_block): Before loop - optimizations avoid sinking unconditional loads/stores - in innermost loops to conditional executed places. - -2023-08-02 Andrew Pinski - - * gimple-match-head.cc (gimple_bitwise_inverted_equal_p): Valueize - the comparison operands before comparing them. - -2023-08-02 Andrew Pinski - - * match.pd (`~X & X`, `~X | X`): Move over to - use bitwise_inverted_equal_p, removing :c as bitwise_inverted_equal_p - handles that already. - Remove range test simplifications to true/false as they - are now handled by these patterns. - -2023-08-02 Andrew Pinski - - * tree-ssa-phiopt.cc (match_simplify_replacement): Mark's cond - statement's lhs and rhs to check if trivial dead. - Rename inserted_exprs to exprs_maybe_dce; also move it so - bitmap is not allocated if not needed. - -2023-08-02 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class widen_binop_frm): New class for binop frm. - (BASE): Add vfwadd_frm. - * config/riscv/riscv-vector-builtins-bases.h: New declaration. - * config/riscv/riscv-vector-builtins-functions.def - (vfwadd_frm): New function definition. - * config/riscv/riscv-vector-builtins-shapes.cc - (BASE_NAME_MAX_LEN): New macro. - (struct alu_frm_def): Leverage new base class. - (struct build_frm_base): New build base for frm. - (struct widen_alu_frm_def): New struct for widen alu frm. - (SHAPE): Add widen_alu_frm shape. - * config/riscv/riscv-vector-builtins-shapes.h: New declaration. - * config/riscv/vector.md (frm_mode): Add vfwalu type. - -2023-08-02 Jan Hubicka - - * cfgloop.h (loop_count_in): Declare. - * cfgloopanal.cc (expected_loop_iterations_by_profile): Use count_in. - (loop_count_in): Move here from ... - * cfgloopmanip.cc (loop_count_in): ... here. - (scale_loop_profile): Improve dumping; cast iteration bound to sreal. - -2023-08-02 Jan Hubicka - - * cfg.cc (scale_strictly_dominated_blocks): New function. - * cfg.h (scale_strictly_dominated_blocks): Declare. - * tree-cfg.cc (fold_loop_internal_call): Fixup CFG profile. - -2023-08-02 Richard Biener - - PR rtl-optimization/110587 - * lra-spills.cc (return_regno_p): Remove. - (regno_in_use_p): Likewise. - (lra_final_code_change): Do not remove noop moves - between hard registers. - -2023-08-02 liuhongt - - PR target/81904 - * config/i386/sse.md (vec_fmaddsub4): Extend to vector - HFmode, use mode iterator VFH instead. - (vec_fmsubadd4): Ditto. - (fma_fmaddsub_): - Remove scalar mode from iterator, use VFH_AVX512VL instead. - (fma_fmsubadd_): - Ditto. - -2023-08-02 liuhongt - - * config/i386/sse.md (*avx2_lddqu_inserti_to_bcasti): New - pre_reload define_insn_and_split. - -2023-08-02 Xiao Zeng - - * config/riscv/riscv.cc (riscv_rtx_costs): Add costing for - using Zicond to implement some conditional moves. - -2023-08-02 Jeff Law - - * config/riscv/zicond.md: Use the X iterator instead of ANYI - on the comparison input operands. - -2023-08-02 Xiao Zeng - - * config/riscv/riscv.cc (riscv_rtx_costs, case IF_THEN_ELSE): Add - Zicond costing. - (case SET): For INSNs that just set a REG, take the cost from the - SET_SRC. - Co-authored-by: Jeff Law - -2023-08-02 Hu, Lin1 - - * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_INT8_SET): - Change OPTION_MASK_ISA2_AMX_TILE to OPTION_MASK_ISA2_AMX_TILE_SET. - (OPTION_MASK_ISA2_AMX_BF16_SET): Ditto - (OPTION_MASK_ISA2_AMX_FP16_SET): Ditto - (OPTION_MASK_ISA2_AMX_COMPLEX_SET): Ditto - (OPTION_MASK_ISA_ABM_SET): - Change OPTION_MASK_ISA_POPCNT to OPTION_MASK_ISA_POPCNT_SET. - -2023-08-01 Andreas Krebbel - - * config/s390/s390.cc (s390_encode_section_info): Assume external - symbols without explicit alignment to be unaligned if - -munaligned-symbols has been specified. - * config/s390/s390.opt (-munaligned-symbols): New option. - -2023-08-01 Richard Ball - - * gimple-fold.cc (fold_ctor_reference): - Add support for poly_int. - -2023-08-01 Georg-Johann Lay - - PR target/110220 - * config/avr/avr.cc (avr_optimize_casesi): Set JUMP_LABEL and - LABEL_NUSES of new conditional branch instruction. - -2023-08-01 Jan Hubicka - - * tree-vect-loop-manip.cc (vect_do_peeling): Fix profile update after - constant prologue peeling. - -2023-08-01 Christophe Lyon - - * doc/sourcebuild.texi (arm_v8_1m_main_cde_mve_fp): Fix spelling. - -2023-08-01 Pan Li - Juzhe-Zhong - - * config/riscv/riscv.cc (DYNAMIC_FRM_RTL): New macro. - (STATIC_FRM_P): Ditto. - (struct mode_switching_info): New struct for mode switching. - (struct machine_function): Add new field mode switching. - (riscv_emit_frm_mode_set): Add DYN_CALL emit. - (riscv_frm_adjust_mode_after_call): New function for call mode. - (riscv_frm_emit_after_call_in_bb_end): New function for emit - insn when call as the end of bb. - (riscv_frm_mode_needed): New function for frm mode needed. - (frm_unknown_dynamic_p): Remove call check. - (riscv_mode_needed): Extrac function for frm. - (riscv_frm_mode_after): Add DYN_CALL after. - (riscv_mode_entry): Remove backup rtl initialization. - * config/riscv/vector.md (frm_mode): Add dyn_call. - (fsrmsi_restore_exit): Rename to _volatile. - (fsrmsi_restore_volatile): Likewise. - -2023-08-01 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc - (class reverse_binop_frm): Add new template for reversed frm. - (vfsub_frm_obj): New obj. - (vfrsub_frm_obj): Likewise. - * config/riscv/riscv-vector-builtins-bases.h: - (vfsub_frm): New declaration. - (vfrsub_frm): Likewise. - * config/riscv/riscv-vector-builtins-functions.def - (vfsub_frm): New function define. - (vfrsub_frm): Likewise. - -2023-08-01 Andrew Pinski - - PR tree-optimization/93044 - * match.pd (nested int casts): A truncation (to the same size or smaller) - can always remove the inner cast. - -2023-07-31 Hamza Mahfooz - - PR c/65213 - * doc/invoke.texi (-Wmissing-variable-declarations): Document - new option. - -2023-07-31 Andrew Pinski - - PR tree-optimization/106164 - * match.pd (`a != b & a <= b`, `a != b & a >= b`, - `a == b | a < b`, `a == b | a > b`): Handle these cases - too. - -2023-07-31 Andrew Pinski - - PR tree-optimization/106164 - * match.pd: Extend the `(X CMP1 CST1) AND/IOR (X CMP2 CST2)` - patterns to support `(X CMP1 Y) AND/IOR (X CMP2 Y)`. - -2023-07-31 Andrew Pinski - - PR tree-optimization/100864 - * generic-match-head.cc (bitwise_inverted_equal_p): New function. - * gimple-match-head.cc (bitwise_inverted_equal_p): New macro. - (gimple_bitwise_inverted_equal_p): New function. - * match.pd ((~x | y) & x): Use bitwise_inverted_equal_p - instead of direct matching bit_not. - -2023-07-31 Costas Argyris - - PR driver/77576 - * gcc-ar.cc (main): Expand argv and use - temporary response file to call ar if any - expansions were made. - -2023-07-31 Andrew MacLeod - - PR tree-optimization/110582 - * gimple-range-fold.cc (fur_list::get_operand): Do not use the - range vector for non-ssa names. - -2023-07-31 David Malcolm - - PR analyzer/109361 - * diagnostic-client-data-hooks.h (class sarif_object): New forward - decl. - (diagnostic_client_data_hooks::add_sarif_invocation_properties): - New vfunc. - * diagnostic-format-sarif.cc: Include "diagnostic-format-sarif.h". - (class sarif_invocation): Inherit from sarif_object rather than - json::object. - (class sarif_result): Likewise. - (class sarif_ice_notification): Likewise. - (sarif_object::get_or_create_properties): New. - (sarif_invocation::prepare_to_flush): Add "context" param. Use it - to call the context's add_sarif_invocation_properties hook. - (sarif_builder::flush_to_file): Pass m_context to - sarif_invocation::prepare_to_flush. - * diagnostic-format-sarif.h: New header. - * doc/invoke.texi (Developer Options): Clarify that -ftime-report - writes to stderr. Document that if SARIF diagnostic output is - requested then any timing information is written in JSON form as - part of the SARIF output, rather than to stderr. - * timevar.cc: Include "json.h". - (timer::named_items::m_hash_map): Split out type into... - (timer::named_items::hash_map_t): ...this new typedef. - (timer::named_items::make_json): New function. - (timevar_diff): New function. - (make_json_for_timevar_time_def): New function. - (timer::timevar_def::make_json): New function. - (timer::make_json): New function. - * timevar.h (class json::value): New forward decl. - (timer::make_json): New decl. - (timer::timevar_def::make_json): New decl. - * tree-diagnostic-client-data-hooks.cc: Include - "diagnostic-format-sarif.h" and "timevar.h". - (compiler_data_hooks::add_sarif_invocation_properties): New vfunc - implementation. - -2023-07-31 Stefan Schulze Frielinghaus - - * combine.cc (simplify_compare_const): Narrow comparison of - memory and constant. - (try_combine): Adapt new function signature. - (simplify_comparison): Adapt new function signature. - -2023-07-31 Kito Cheng - - * config/riscv/riscv-v.cc (expand_vec_series): Drop unused - variable. - (expand_vector_init_insert_elems): Ditto. - -2023-07-31 Hao Liu - - PR target/110625 - * config/aarch64/aarch64.cc (count_ops): Only '* count' for - single_defuse_cycle while counting reduction_latency. - -2023-07-31 Ju-Zhe Zhong - - * internal-fn.def (DEF_INTERNAL_COND_FN): New macro. - (DEF_INTERNAL_SIGNED_COND_FN): Ditto. - (COND_ADD): Remove. - (COND_SUB): Ditto. - (COND_MUL): Ditto. - (COND_DIV): Ditto. - (COND_MOD): Ditto. - (COND_RDIV): Ditto. - (COND_MIN): Ditto. - (COND_MAX): Ditto. - (COND_FMIN): Ditto. - (COND_FMAX): Ditto. - (COND_AND): Ditto. - (COND_IOR): Ditto. - (COND_XOR): Ditto. - (COND_SHL): Ditto. - (COND_SHR): Ditto. - (COND_FMA): Ditto. - (COND_FMS): Ditto. - (COND_FNMA): Ditto. - (COND_FNMS): Ditto. - (COND_NEG): Ditto. - (COND_LEN_ADD): Ditto. - (COND_LEN_SUB): Ditto. - (COND_LEN_MUL): Ditto. - (COND_LEN_DIV): Ditto. - (COND_LEN_MOD): Ditto. - (COND_LEN_RDIV): Ditto. - (COND_LEN_MIN): Ditto. - (COND_LEN_MAX): Ditto. - (COND_LEN_FMIN): Ditto. - (COND_LEN_FMAX): Ditto. - (COND_LEN_AND): Ditto. - (COND_LEN_IOR): Ditto. - (COND_LEN_XOR): Ditto. - (COND_LEN_SHL): Ditto. - (COND_LEN_SHR): Ditto. - (COND_LEN_FMA): Ditto. - (COND_LEN_FMS): Ditto. - (COND_LEN_FNMA): Ditto. - (COND_LEN_FNMS): Ditto. - (COND_LEN_NEG): Ditto. - (ADD): New macro define. - (SUB): Ditto. - (MUL): Ditto. - (DIV): Ditto. - (MOD): Ditto. - (RDIV): Ditto. - (MIN): Ditto. - (MAX): Ditto. - (FMIN): Ditto. - (FMAX): Ditto. - (AND): Ditto. - (IOR): Ditto. - (XOR): Ditto. - (SHL): Ditto. - (SHR): Ditto. - (FMA): Ditto. - (FMS): Ditto. - (FNMA): Ditto. - (FNMS): Ditto. - (NEG): Ditto. - -2023-07-31 Roger Sayle - - PR target/110843 - * config/i386/i386-features.cc (compute_convert_gain): Check - TARGET_AVX512VL (not TARGET_AVX512F) when considering V2DImode - and V4SImode rotates in STV. - (general_scalar_chain::convert_rotate): Likewise. - -2023-07-31 Kito Cheng - - * config/riscv/autovec.md (abs2): Remove `.require ()`. - * config/riscv/riscv-protos.h (get_mask_mode): Update return - type. - * config/riscv/riscv-v.cc (rvv_builder::rvv_builder): Remove - `.require ()`. - (emit_vlmax_insn): Ditto. - (emit_vlmax_fp_insn): Ditto. - (emit_vlmax_ternary_insn): Ditto. - (emit_vlmax_fp_ternary_insn): Ditto. - (emit_nonvlmax_fp_ternary_tu_insn): Ditto. - (emit_nonvlmax_insn): Ditto. - (emit_vlmax_slide_insn): Ditto. - (emit_nonvlmax_slide_tu_insn): Ditto. - (emit_vlmax_merge_insn): Ditto. - (emit_vlmax_masked_insn): Ditto. - (emit_nonvlmax_masked_insn): Ditto. - (emit_vlmax_masked_store_insn): Ditto. - (emit_nonvlmax_masked_store_insn): Ditto. - (emit_vlmax_masked_mu_insn): Ditto. - (emit_nonvlmax_tu_insn): Ditto. - (emit_nonvlmax_fp_tu_insn): Ditto. - (emit_scalar_move_insn): Ditto. - (emit_vlmax_compress_insn): Ditto. - (emit_vlmax_reduction_insn): Ditto. - (emit_vlmax_fp_reduction_insn): Ditto. - (emit_nonvlmax_fp_reduction_insn): Ditto. - (expand_vec_series): Ditto. - (expand_vector_init_merge_repeating_sequence): Ditto. - (expand_vec_perm): Ditto. - (shuffle_merge_patterns): Ditto. - (shuffle_compress_patterns): Ditto. - (shuffle_decompress_patterns): Ditto. - (expand_reduction): Ditto. - (get_mask_mode): Update return type. - * config/riscv/riscv.cc (riscv_get_mask_mode): Check vector type - is valid, and use new get_mask_mode interface. - -2023-07-31 Pan Li - - * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_frm_def): - Move rm suffix before mask. - -2023-07-31 Juzhe-Zhong - - * config/riscv/autovec-vls.md (@vec_duplicate): New pattern. - * config/riscv/riscv-v.cc (autovectorize_vector_modes): Add VLS autovec - support. - -2023-07-29 Roger Sayle - - PR target/110790 - * config/i386/i386.md (extv): Use QImode for offsets. - (extzv): Likewise. - (insv): Likewise. - (*testqi_ext_3): Likewise. - (*btr_2): Likewise. - (define_split): Likewise. - (*btsq_imm): Likewise. - (*btrq_imm): Likewise. - (*btcq_imm): Likewise. - (define_peephole2 x3): Likewise. - (*bt): Likewise - (*bt_mask): New define_insn_and_split. - (*jcc_bt): Use QImode for offsets. - (*jcc_bt_1): Delete obsolete pattern. - (*jcc_bt_mask): Use QImode offsets. - (*jcc_bt_mask_1): Likewise. - (define_split): Likewise. - (*bt_setcqi): Likewise. - (*bt_setncqi): Likewise. - (*bt_setnc): Likewise. - (*bt_setncqi_2): Likewise. - (*bt_setc_mask): New define_insn_and_split. - (bmi2_bzhi_3): Use QImode offsets. - (*bmi2_bzhi_3): Likewise. - (*bmi2_bzhi_3_1): Likewise. - (*bmi2_bzhi_3_1_ccz): Likewise. - (@tbm_bextri_): Likewise. - -2023-07-29 Jan Hubicka - - * profile-count.cc (profile_probability::sqrt): New member function. - (profile_probability::pow): Likewise. - * profile-count.h: (profile_probability::sqrt): Declare - (profile_probability::pow): Likewise. - * tree-vect-loop-manip.cc (vect_loop_versioning): Fix profile update. - -2023-07-28 Andrew MacLeod - - * gimple-range-cache.cc (ssa_cache::merge_range): New. - (ssa_lazy_cache::merge_range): New. - * gimple-range-cache.h (class ssa_cache): Adjust protoypes. - (class ssa_lazy_cache): Ditto. - * gimple-range.cc (assume_query::calculate_op): Use merge_range. - -2023-07-28 Andrew MacLeod - - * tree-ssa-propagate.cc (substitute_and_fold_engine::value_on_edge): - Move from value-query.cc. - (substitute_and_fold_engine::value_of_stmt): Ditto. - (substitute_and_fold_engine::range_of_expr): New. - * tree-ssa-propagate.h (substitute_and_fold_engine): Inherit from - range_query. New prototypes. - * value-query.cc (value_query::value_on_edge): Relocate. - (value_query::value_of_stmt): Ditto. - * value-query.h (class value_query): Remove. - (class range_query): Remove base class. Adjust prototypes. - -2023-07-28 Andrew MacLeod - - PR tree-optimization/110205 - * gimple-range-cache.h (ranger_cache::m_estimate): Delete. - * range-op-mixed.h (operator_bitwise_xor::op1_op2_relation_effect): - Add final override. - * range-op.cc (operator_lshift): Add missing final overrides. - (operator_rshift): Ditto. - -2023-07-28 Jose E. Marchesi - - * config/bpf/bpf.cc (bpf_option_override): Disable tail-call - optimizations in BPF target. - -2023-07-28 Honza - - * cfgloopmanip.cc (loop_count_in): Break out from ... - (loop_exit_for_scaling): Break out from ... - (update_loop_exit_probability_scale_dom_bbs): Break out from ...; - add more sanity check and debug info. - (scale_loop_profile): ... here. - (create_empty_loop_on_edge): Fix whitespac. - * cfgloopmanip.h (update_loop_exit_probability_scale_dom_bbs): Declare. - * loop-unroll.cc (unroll_loop_constant_iterations): Use - update_loop_exit_probability_scale_dom_bbs. - * tree-ssa-loop-manip.cc (update_exit_probability_after_unrolling): Remove. - (tree_transform_and_unroll_loop): Use - update_loop_exit_probability_scale_dom_bbs. - * tree-ssa-loop-split.cc (split_loop): Use - update_loop_exit_probability_scale_dom_bbs. - -2023-07-28 Jan Hubicka - - PR middle-end/77689 - * tree-ssa-loop-split.cc: Include value-query.h. - (split_at_bb_p): Analyze cases where EQ/NE can be turned - into LT/LE/GT/GE; return updated guard code. - (split_loop): Use guard code. - -2023-07-28 Roger Sayle - Richard Biener - - PR middle-end/28071 - PR rtl-optimization/110587 - * expr.cc (emit_group_load_1): Simplify logic for calling - force_reg on ORIG_SRC, to avoid making a copy if the source - is already in a pseudo register. - -2023-07-28 Jan Hubicka - - PR middle-end/106923 - * tree-ssa-loop-split.cc (connect_loops): Change probability - of the test preconditioning second loop to very_likely. - (fix_loop_bb_probability): Handle correctly case where - on of the arms of the conditional is empty. - (split_loop): Fold the test guarding first condition to - see if it is constant true; Set correct entry block - probabilities of the split loops; determine correct loop - eixt probabilities. - -2023-07-28 xuli - - * config/riscv/riscv-vector-builtins-bases.cc: remove rounding mode of - vsadd[u] and vssub[u]. - * config/riscv/vector.md: Ditto. - -2023-07-28 Jan Hubicka - - * tree-ssa-loop-split.cc (split_loop): Also support NE driven - loops when IV test is not overflowing. - -2023-07-28 liuhongt - - PR target/110788 - * config/i386/sse.md (avx512cd_maskb_vec_dup): Add - UNSPEC_MASKOP. - (avx512cd_maskw_vec_dup): Ditto. - -2023-07-27 David Faust - - PR target/110782 - PR target/110784 - * config/bpf/bpf.opt (msmov): New option. - * config/bpf/bpf.cc (bpf_option_override): Handle it here. - * config/bpf/bpf.md (*extendsidi2): New. - (extendhidi2): New. - (extendqidi2): New. - (extendsisi2): New. - (extendhisi2): New. - (extendqisi2): New. - * doc/invoke.texi (Option Summary): Add -msmov eBPF option. - (eBPF Options): Add -m[no-]smov. Document that -mcpu=v4 - also enables -msmov. - -2023-07-27 David Faust - - * doc/invoke.texi (Option Summary): Remove -mkernel eBPF option. - Add -mbswap and -msdiv eBPF options. - (eBPF Options): Remove -mkernel. Add -mno-{jmpext, jmp32, - alu32, v3-atomics, bswap, sdiv}. Document that -mcpu=v4 also - enables -msdiv. - -2023-07-27 David Faust - - * config/bpf/bpf.md (add3): Use %w2 instead of %w1 - in pseudo-C dialect output template. - (sub3): Likewise. - -2023-07-27 Jan Hubicka - - * tree-vect-loop.cc (optimize_mask_stores): Make store - likely. - -2023-07-27 Jan Hubicka - - * cfgloop.h (single_dom_exit): Declare. - * cfgloopmanip.h (update_exit_probability_after_unrolling): Declare. - * cfgrtl.cc (struct cfg_hooks): Fix comment. - * loop-unroll.cc (unroll_loop_constant_iterations): Update exit edge. - * tree-ssa-loop-ivopts.h (single_dom_exit): Do not declare it here. - * tree-ssa-loop-manip.cc (update_exit_probability_after_unrolling): - Break out from ... - (tree_transform_and_unroll_loop): ... here; - -2023-07-27 Jan Hubicka - - * cfgloopmanip.cc (scale_dominated_blocks_in_loop): Move here from - tree-ssa-loop-manip.cc and avoid recursion. - (scale_loop_profile): Use scale_dominated_blocks_in_loop. - (duplicate_loop_body_to_header_edge): Add DLTHE_FLAG_FLAT_PROFILE - flag. - * cfgloopmanip.h (DLTHE_FLAG_FLAT_PROFILE): Define. - (scale_dominated_blocks_in_loop): Declare. - * predict.cc (dump_prediction): Do not ICE on uninitialized probability. - (change_edge_frequency): Remove. - * predict.h (change_edge_frequency): Remove. - * tree-ssa-loop-manip.cc (scale_dominated_blocks_in_loop): Move to - cfgloopmanip.cc. - (niter_for_unrolled_loop): Remove. - (tree_transform_and_unroll_loop): Fix profile update. - -2023-07-27 Jan Hubicka - - * tree-ssa-loop-im.cc (execute_sm_if_changed): Turn cap probability - to guessed; fix count of new_bb. - -2023-07-27 Jan Hubicka - - * profile-count.h (profile_count::apply_probability): Fix - handling of uninitialized probabilities, optimize scaling - by probability 1. - -2023-07-27 Richard Biener - - PR tree-optimization/91838 - * gimple-match-head.cc: Include attribs.h and asan.h. - * generic-match-head.cc: Likewise. - * match.pd (([rl]shift @0 out-of-bounds) -> zero): New pattern. - -2023-07-27 Juzhe-Zhong - - * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add VLS modes. - (ADJUST_ALIGNMENT): Ditto. - (ADJUST_PRECISION): Ditto. - (VLS_MODES): Ditto. - (VECTOR_MODE_WITH_PREFIX): Ditto. - * config/riscv/riscv-opts.h (TARGET_VECTOR_VLS): New macro. - * config/riscv/riscv-protos.h (riscv_v_ext_vls_mode_p): New function. - * config/riscv/riscv-v.cc (INCLUDE_ALGORITHM): Add include. - (legitimize_move): Enable basic VLS modes support. - (get_vlmul): Ditto. - (get_ratio): Ditto. - (get_vector_mode): Ditto. - * config/riscv/riscv-vector-switch.def (VLS_ENTRY): Add vls modes. - * config/riscv/riscv.cc (riscv_v_ext_vls_mode_p): New function. - (VLS_ENTRY): New macro. - (riscv_v_ext_mode_p): Add vls modes. - (riscv_get_v_regno_alignment): New function. - (riscv_print_operand): Add vls modes. - (riscv_hard_regno_nregs): Ditto. - (riscv_hard_regno_mode_ok): Ditto. - (riscv_regmode_natural_size): Ditto. - (riscv_vectorize_preferred_vector_alignment): Ditto. - * config/riscv/riscv.md: Ditto. - * config/riscv/vector-iterators.md: Ditto. - * config/riscv/vector.md: Ditto. - * config/riscv/autovec-vls.md: New file. - -2023-07-27 Pan Li - - * config/riscv/riscv_vector.h (enum RVV_CSR): Removed. - (vread_csr): Ditto. - (vwrite_csr): Ditto. - -2023-07-27 demin.han - - * config/riscv/autovec.md: Delete which_alternative use in split - -2023-07-27 Richard Biener - - * tree-ssa-sink.cc (sink_code_in_bb): Remove recursion, instead - use a worklist ... - (pass_sink_code::execute): ... in the caller. - -2023-07-27 Kewen Lin - Richard Biener - - PR tree-optimization/110776 - * tree-vect-stmts.cc (vectorizable_load): Always cost VMAT_ELEMENTWISE - as scalar load. - -2023-07-26 Xiao Zeng - - * config/riscv/riscv.md: Include zicond.md - * config/riscv/zicond.md: New file. - -2023-07-26 Xiao Zeng - - * common/config/riscv/riscv-common.cc: New extension. - * config/riscv/riscv-opts.h (MASK_ZICOND): New mask. - (TARGET_ZICOND): New target. - -2023-07-26 Carl Love - - * config/rs6000/rs6000-c.cc (find_instance): Add new parameter that - specifies the number of built-in arguments to check. - (altivec_resolve_overloaded_builtin): Update calls to find_instance - to pass the number of built-in arguments to be checked. - -2023-07-26 David Faust - - * config/bpf/bpf.opt (mv3-atomics): New option. - * config/bpf/bpf.cc (bpf_option_override): Handle it here. - * config/bpf/bpf.h (enum_reg_class): Add R0 class. - (REG_CLASS_NAMES): Likewise. - (REG_CLASS_CONTENTS): Likewise. - (REGNO_REG_CLASS): Handle R0. - * config/bpf/bpf.md (UNSPEC_XADD): Rename to UNSPEC_AADD. - (UNSPEC_AAND): New unspec. - (UNSPEC_AOR): Likewise. - (UNSPEC_AXOR): Likewise. - (UNSPEC_AFADD): Likewise. - (UNSPEC_AFAND): Likewise. - (UNSPEC_AFOR): Likewise. - (UNSPEC_AFXOR): Likewise. - (UNSPEC_AXCHG): Likewise. - (UNSPEC_ACMPX): Likewise. - (atomic_add): Use UNSPEC_AADD and atomic type attribute. - Move to... - * config/bpf/atomic.md: ...Here. New file. - * config/bpf/constraints.md (t): New constraint for R0. - * doc/invoke.texi (eBPF Options): Document -mv3-atomics. - -2023-07-26 Matthew Malcomson - - * tree-vect-stmts.cc (get_group_load_store_type): Reformat - comment. - -2023-07-26 Carl Love - - * config/rs6000/rs6000-builtins.def: Rename - __builtin_altivec_vreplace_un_uv2di as __builtin_altivec_vreplace_un_udi - __builtin_altivec_vreplace_un_uv4si as __builtin_altivec_vreplace_un_usi - __builtin_altivec_vreplace_un_v2df as __builtin_altivec_vreplace_un_df - __builtin_altivec_vreplace_un_v2di as __builtin_altivec_vreplace_un_di - __builtin_altivec_vreplace_un_v4sf as __builtin_altivec_vreplace_un_sf - __builtin_altivec_vreplace_un_v4si as __builtin_altivec_vreplace_un_si. - Rename VREPLACE_UN_UV2DI as VREPLACE_UN_UDI, VREPLACE_UN_UV4SI as - VREPLACE_UN_USI, VREPLACE_UN_V2DF as VREPLACE_UN_DF, - VREPLACE_UN_V2DI as VREPLACE_UN_DI, VREPLACE_UN_V4SF as - VREPLACE_UN_SF, VREPLACE_UN_V4SI as VREPLACE_UN_SI. - Rename vreplace_un_v2di as vreplace_un_di, vreplace_un_v4si as - vreplace_un_si, vreplace_un_v2df as vreplace_un_df, - vreplace_un_v2di as vreplace_un_di, vreplace_un_v4sf as - vreplace_un_sf, vreplace_un_v4si as vreplace_un_si. - * config/rs6000/rs6000-c.cc (find_instance): Add case - RS6000_OVLD_VEC_REPLACE_UN. - * config/rs6000/rs6000-overload.def (__builtin_vec_replace_un): - Fix first argument type. Rename VREPLACE_UN_UV4SI as - VREPLACE_UN_USI, VREPLACE_UN_V4SI as VREPLACE_UN_SI, - VREPLACE_UN_UV2DI as VREPLACE_UN_UDI, VREPLACE_UN_V2DI as - VREPLACE_UN_DI, VREPLACE_UN_V4SF as VREPLACE_UN_SF, - VREPLACE_UN_V2DF as VREPLACE_UN_DF. - * config/rs6000/vsx.md (REPLACE_ELT): Rename the mode_iterator - REPLACE_ELT_V for vector modes. - (REPLACE_ELT): New scalar mode iterator. - (REPLACE_ELT_char): Add scalar attributes. - (vreplace_un_): Change iterator and mode attribute. - -2023-07-26 David Malcolm - - PR analyzer/104940 - * Makefile.in (ANALYZER_OBJS): Add analyzer/symbol.o. - -2023-07-26 Richard Biener - - PR tree-optimization/106081 - * tree-vect-slp.cc (vect_optimize_slp_pass::start_choosing_layouts): - Assign layout -1 to splats. - -2023-07-26 Aldy Hernandez - - * range-op-mixed.h (class operator_cast): Add update_bitmask. - * range-op.cc (operator_cast::update_bitmask): New. - (operator_cast::fold_range): Call update_bitmask. - -2023-07-26 Li Xu - - * config/riscv/riscv-vector-builtins.def (vfloat16mf4x2_t): Change - scalar type to float16, eliminate warning. - (vfloat16mf4x3_t): Ditto. - (vfloat16mf4x4_t): Ditto. - (vfloat16mf4x5_t): Ditto. - (vfloat16mf4x6_t): Ditto. - (vfloat16mf4x7_t): Ditto. - (vfloat16mf4x8_t): Ditto. - (vfloat16mf2x2_t): Ditto. - (vfloat16mf2x3_t): Ditto. - (vfloat16mf2x4_t): Ditto. - (vfloat16mf2x5_t): Ditto. - (vfloat16mf2x6_t): Ditto. - (vfloat16mf2x7_t): Ditto. - (vfloat16mf2x8_t): Ditto. - (vfloat16m1x2_t): Ditto. - (vfloat16m1x3_t): Ditto. - (vfloat16m1x4_t): Ditto. - (vfloat16m1x5_t): Ditto. - (vfloat16m1x6_t): Ditto. - (vfloat16m1x7_t): Ditto. - (vfloat16m1x8_t): Ditto. - (vfloat16m2x2_t): Ditto. - (vfloat16m2x3_t): Ditto. - (vfloat16m2x4_t): Ditto. - (vfloat16m4x2_t): Ditto. - * config/riscv/vector-iterators.md: add RVVM4x2DF in iterator V4T. - * config/riscv/vector.md: add tuple mode in attr sew. - -2023-07-26 Uros Bizjak - - PR target/110762 - * config/i386/i386.md (plusminusmult): New code iterator. - * config/i386/mmx.md (mmxdoublevecmode): New mode attribute. - (movq__to_sse): New expander. - (v2sf3): Macroize expander from addv2sf3, - subv2sf3 and mulv2sf3 using plusminusmult code iterator. Rewrite - as a wrapper around V4SFmode operation. - (mmx_addv2sf3): Change operand 1 and operand 2 predicates to - nonimmediate_operand. - (*mmx_addv2sf3): Remove SSE alternatives. Change operand 1 and - operand 2 predicates to nonimmediate_operand. - (mmx_subv2sf3): Change operand 2 predicate to nonimmediate_operand. - (mmx_subrv2sf3): Change operand 1 predicate to nonimmediate_operand. - (*mmx_subv2sf3): Remove SSE alternatives. Change operand 1 and - operand 2 predicates to nonimmediate_operand. - (mmx_mulv2sf3): Change operand 1 and operand 2 predicates to - nonimmediate_operand. - (*mmx_mulv2sf3): Remove SSE alternatives. Change operand 1 and - operand 2 predicates to nonimmediate_operand. - (divv2sf3): Rewrite as a wrapper around V4SFmode operation. - (v2sf3): Ditto. - (mmx_v2sf3): Change operand 1 and operand 2 - predicates to nonimmediate_operand. - (*mmx_v2sf3): Remove SSE alternatives. Change - operand 1 and operand 2 predicates to nonimmediate_operand. - (mmx_ieee_v2sf3): Ditto. - (sqrtv2sf2): Rewrite as a wrapper around V4SFmode operation. - (*mmx_haddv2sf3_low): Ditto. - (*mmx_hsubv2sf3_low): Ditto. - (vec_addsubv2sf3): Ditto. - (*mmx_maskcmpv2sf3_comm): Remove. - (*mmx_maskcmpv2sf3): Remove. - (vec_cmpv2sfv2si): Rewrite as a wrapper around V4SFmode operation. - (vcondv2sf): Ditto. - (fmav2sf4): Ditto. - (fmsv2sf4): Ditto. - (fnmav2sf4): Ditto. - (fnmsv2sf4): Ditto. - (fix_truncv2sfv2si2): Ditto. - (fixuns_truncv2sfv2si2): Ditto. - (mmx_fix_truncv2sfv2si2): Remove SSE alternatives. - Change operand 1 predicate to nonimmediate_operand. - (floatv2siv2sf2): Rewrite as a wrapper around V4SFmode operation. - (floatunsv2siv2sf2): Ditto. - (mmx_floatv2siv2sf2): Remove SSE alternatives. - Change operand 1 predicate to nonimmediate_operand. - (nearbyintv2sf2): Rewrite as a wrapper around V4SFmode operation. - (rintv2sf2): Ditto. - (lrintv2sfv2si2): Ditto. - (ceilv2sf2): Ditto. - (lceilv2sfv2si2): Ditto. - (floorv2sf2): Ditto. - (lfloorv2sfv2si2): Ditto. - (btruncv2sf2): Ditto. - (roundv2sf2): Ditto. - (lroundv2sfv2si2): Ditto. - (*mmx_roundv2sf2): Remove. - -2023-07-26 Jose E. Marchesi - - * config/bpf/bpf.md: Fix neg{SI,DI}2 insn. - -2023-07-26 Richard Biener - - PR tree-optimization/110799 - * tree-ssa-pre.cc (compute_avail): More thoroughly match - up TBAA behavior of redundant loads. - -2023-07-26 Jakub Jelinek - - PR tree-optimization/110755 - * range-op-float.cc (frange_arithmetic): Change +0 result to -0 - for PLUS_EXPR or MINUS_EXPR if -frounding-math, inf is negative and - it is exact op1 + (-op1) or op1 - op1. - -2023-07-26 Kewen Lin - - PR target/110741 - * config/rs6000/vsx.md (define_insn xxeval): Correct vsx - operands output with "x". - -2023-07-26 Aldy Hernandez - - * range-op.cc (class operator_absu): Add update_bitmask. - (operator_absu::update_bitmask): New. - -2023-07-26 Aldy Hernandez - - * range-op-mixed.h (class operator_abs): Add update_bitmask. - * range-op.cc (operator_abs::update_bitmask): New. - -2023-07-26 Aldy Hernandez - - * range-op-mixed.h (class operator_bitwise_not): Add update_bitmask. - * range-op.cc (operator_bitwise_not::update_bitmask): New. - -2023-07-26 Aldy Hernandez - - * range-op.cc (update_known_bitmask): Handle unary operators. - -2023-07-26 Aldy Hernandez - - * tree-ssa-ccp.cc (bit_value_unop): Initialize val when appropriate. - -2023-07-26 Jin Ma - - * config/riscv/riscv.md: Likewise. - -2023-07-26 Jan Hubicka - - * profile-count.cc (profile_count::to_sreal_scale): Value is not know - if we divide by zero. - -2023-07-25 David Faust - - * config/bpf/bpf.cc (bpf_print_operand_address): Don't print - enclosing parentheses for pseudo-C dialect. - * config/bpf/bpf.md (zero_exdendhidi2): Add parentheses around - operands of pseudo-C dialect output templates where needed. - (zero_extendqidi2): Likewise. - (zero_extendsidi2): Likewise. - (*mov): Likewise. - -2023-07-25 Aldy Hernandez - - * tree-ssa-ccp.cc (value_mask_to_min_max): Make static. - (bit_value_mult_const): Same. - (get_individual_bits): Same. - -2023-07-25 Haochen Gui - - PR target/103605 - * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Gimple - fold RS6000_BIF_XSMINDP and RS6000_BIF_XSMAXDP when fast-math is set. - * config/rs6000/rs6000.md (FMINMAX): New int iterator. - (minmax_op): New int attribute. - (UNSPEC_FMAX, UNSPEC_FMIN): New unspecs. - (f3): New pattern by UNSPEC_FMAX and UNSPEC_FMIN. - * config/rs6000/rs6000-builtins.def (__builtin_vsx_xsmaxdp): Set - pattern to fmaxdf3. - (__builtin_vsx_xsmindp): Set pattern to fmindf3. - -2023-07-24 David Faust - - * config/bpf/bpf.md (nop): Add pseudo-c asm dialect template. - -2023-07-24 Drew Ross - Jakub Jelinek - - PR middle-end/109986 - * generic-match-head.cc (bitwise_equal_p): New macro. - * gimple-match-head.cc (bitwise_equal_p): New macro. - (gimple_nop_convert): Declare. - (gimple_bitwise_equal_p): Helper for bitwise_equal_p. - * match.pd ((~X | Y) ^ X -> ~(X & Y)): New simplification. - -2023-07-24 Jeff Law - - * common/config/riscv/riscv-common.cc (riscv_subset_list::add): Use - single quote rather than backquote in diagnostic. - -2023-07-24 Jose E. Marchesi - - PR target/110783 - * config/bpf/bpf.opt: New command-line option -msdiv. - * config/bpf/bpf.md: Conditionalize sdiv/smod on bpf_has_sdiv. - * config/bpf/bpf.cc (bpf_option_override): Initialize - bpf_has_sdiv. - * doc/invoke.texi (eBPF Options): Document -msdiv. - -2023-07-24 Jeff Law - - * config/riscv/riscv.cc (riscv_option_override): Spell out - greater than and use cannot in diagnostic string. - -2023-07-24 Richard Biener - - * tree-vectorizer.h (_slp_tree::push_vec_def): Add. - (_slp_tree::vec_stmts): Remove. - (SLP_TREE_VEC_STMTS): Remove. - * tree-vect-slp.cc (_slp_tree::push_vec_def): Define. - (_slp_tree::_slp_tree): Adjust. - (_slp_tree::~_slp_tree): Likewise. - (vect_get_slp_vect_def): Simplify. - (vect_get_slp_defs): Likewise. - (vect_transform_slp_perm_load_1): Adjust. - (vect_add_slp_permutation): Likewise. - (vect_schedule_slp_node): Likewise. - (vectorize_slp_instance_root_stmt): Likewise. - (vect_schedule_scc): Likewise. - * tree-vect-stmts.cc (vectorizable_bswap): Use push_vec_def. - (vectorizable_call): Likewise. - (vectorizable_call): Likewise. - (vect_create_vectorized_demotion_stmts): Likewise. - (vectorizable_conversion): Likewise. - (vectorizable_assignment): Likewise. - (vectorizable_shift): Likewise. - (vectorizable_operation): Likewise. - (vectorizable_load): Likewise. - (vectorizable_condition): Likewise. - (vectorizable_comparison): Likewise. - * tree-vect-loop.cc (vect_create_epilog_for_reduction): Adjust. - (vectorize_fold_left_reduction): Use push_vec_def. - (vect_transform_reduction): Likewise. - (vect_transform_cycle_phi): Likewise. - (vectorizable_lc_phi): Likewise. - (vectorizable_phi): Likewise. - (vectorizable_recurr): Likewise. - (vectorizable_induction): Likewise. - (vectorizable_live_operation): Likewise. - -2023-07-24 Richard Biener - - * tree-ssa-loop.cc: Remove unused tree-vectorizer.h include. - -2023-07-24 Richard Biener - - * config/i386/i386-builtins.cc: Remove tree-vectorizer.h include. - * config/i386/i386-expand.cc: Likewise. - * config/i386/i386-features.cc: Likewise. - * config/i386/i386-options.cc: Likewise. - -2023-07-24 Robin Dapp - - * tree-vect-stmts.cc (vectorizable_conversion): Handle - more demotion/promotion for modifier == NONE. - -2023-07-24 Roger Sayle - - PR target/110787 - PR target/110790 - Revert patch. - * config/i386/i386.md (extv): Use QImode for offsets. - (extzv): Likewise. - (insv): Likewise. - (*testqi_ext_3): Likewise. - (*btr_2): Likewise. - (define_split): Likewise. - (*btsq_imm): Likewise. - (*btrq_imm): Likewise. - (*btcq_imm): Likewise. - (define_peephole2 x3): Likewise. - (*bt): Likewise - (*bt_mask): New define_insn_and_split. - (*jcc_bt): Use QImode for offsets. - (*jcc_bt_1): Delete obsolete pattern. - (*jcc_bt_mask): Use QImode offsets. - (*jcc_bt_mask_1): Likewise. - (define_split): Likewise. - (*bt_setcqi): Likewise. - (*bt_setncqi): Likewise. - (*bt_setnc): Likewise. - (*bt_setncqi_2): Likewise. - (*bt_setc_mask): New define_insn_and_split. - (bmi2_bzhi_3): Use QImode offsets. - (*bmi2_bzhi_3): Likewise. - (*bmi2_bzhi_3_1): Likewise. - (*bmi2_bzhi_3_1_ccz): Likewise. - (@tbm_bextri_): Likewise. - -2023-07-24 Jose E. Marchesi - - * config/bpf/bpf-opts.h (enum bpf_kernel_version): Remove enum. - * config/bpf/bpf.opt (mkernel): Remove option. - * config/bpf/bpf.cc (bpf_target_macros): Do not define - BPF_KERNEL_VERSION_CODE. - -2023-07-24 Jose E. Marchesi - - PR target/110786 - * config/bpf/bpf.opt (mcpu): Add ISA_V4 and make it the default. - (mbswap): New option. - * config/bpf/bpf-opts.h (enum bpf_isa_version): New value ISA_V4. - * config/bpf/bpf.cc (bpf_option_override): Set bpf_has_bswap. - * config/bpf/bpf.md: Use bswap instructions if available for - bswap* insn, and fix constraint. - * doc/invoke.texi (eBPF Options): Document -mcpu=v4 and -mbswap. - -2023-07-24 Juzhe-Zhong - - * config/riscv/autovec.md (fold_left_plus_): New pattern. - (mask_len_fold_left_plus_): Ditto. - * config/riscv/riscv-protos.h (enum insn_type): New enum. - (enum reduction_type): Ditto. - (expand_reduction): Add in-order reduction. - * config/riscv/riscv-v.cc (emit_nonvlmax_fp_reduction_insn): New function. - (expand_reduction): Add in-order reduction. - -2023-07-24 Ju-Zhe Zhong - - * tree-vect-loop.cc (get_masked_reduction_fn): Add mask_len_fold_left_plus. - (vectorize_fold_left_reduction): Ditto. - (vectorizable_reduction): Ditto. - (vect_transform_reduction): Ditto. - -2023-07-24 Richard Biener - - PR tree-optimization/110777 - * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_avail): - Avoid propagating abnormals. - -2023-07-24 Richard Biener - - PR tree-optimization/110766 - * tree-scalar-evolution.cc - (analyze_and_compute_bitwise_induction_effect): Check the PHI - is defined in the loop header. - -2023-07-24 Kewen Lin - - PR tree-optimization/110740 - * tree-vect-loop.cc (vect_analyze_loop_costing): Do not vectorize a - loop with a single scalar iteration. - -2023-07-24 Pan Li - - * config/riscv/riscv-vector-builtins-shapes.cc - (struct alu_frm_def): Take range check. - -2023-07-22 Vineet Gupta - - PR target/110748 - * config/riscv/predicates.md (const_0_operand): Add back - const_double. - -2023-07-22 Roger Sayle - - * config/i386/i386-expand.cc (ix86_expand_move): Disable the - 64-bit insertions into TImode optimizations with -O0, unless - the function has the "naked" attribute (for PR target/110533). - -2023-07-22 Andrew Pinski - - PR target/110778 - * rtl.h (extended_count): Change last argument type - to bool. - -2023-07-22 Roger Sayle - - * config/i386/i386.md (extv): Use QImode for offsets. - (extzv): Likewise. - (insv): Likewise. - (*testqi_ext_3): Likewise. - (*btr_2): Likewise. - (define_split): Likewise. - (*btsq_imm): Likewise. - (*btrq_imm): Likewise. - (*btcq_imm): Likewise. - (define_peephole2 x3): Likewise. - (*bt): Likewise - (*bt_mask): New define_insn_and_split. - (*jcc_bt): Use QImode for offsets. - (*jcc_bt_1): Delete obsolete pattern. - (*jcc_bt_mask): Use QImode offsets. - (*jcc_bt_mask_1): Likewise. - (define_split): Likewise. - (*bt_setcqi): Likewise. - (*bt_setncqi): Likewise. - (*bt_setnc): Likewise. - (*bt_setncqi_2): Likewise. - (*bt_setc_mask): New define_insn_and_split. - (bmi2_bzhi_3): Use QImode offsets. - (*bmi2_bzhi_3): Likewise. - (*bmi2_bzhi_3_1): Likewise. - (*bmi2_bzhi_3_1_ccz): Likewise. - (@tbm_bextri_): Likewise. - -2023-07-22 Jeff Law - - * config/bfin/bfin.md (ones): Fix length computation. - -2023-07-22 Vladimir N. Makarov - - * lra-eliminations.cc (update_reg_eliminate): Fix the assert. - (lra_update_fp2sp_elimination): Use HARD_FRAME_POINTER_REGNUM - instead of FRAME_POINTER_REGNUM to spill pseudos. - -2023-07-21 Roger Sayle - Richard Biener - - PR c/110699 - * gimplify.cc (gimplify_compound_lval): If the array's type - is error_mark_node then return GS_ERROR. - -2023-07-21 Cupertino Miranda - - PR target/110770 - * config/bpf/bpf.opt: Added option -masm=. - * config/bpf/bpf-opts.h (enum bpf_asm_dialect): New type. - * config/bpf/bpf.cc (bpf_print_register): New function. - (bpf_print_register): Support pseudo-c syntax for registers. - (bpf_print_operand_address): Likewise. - * config/bpf/bpf.h (ASM_SPEC): handle -msasm. - (ASSEMBLER_DIALECT): Define. - * config/bpf/bpf.md: Added pseudo-c templates. - * doc/invoke.texi (-masm=): New eBPF option item. - -2023-07-21 Cupertino Miranda - - * config/bpf/bpf.md: fixed template for neg instruction. - -2023-07-21 Jan Hubicka - - PR target/110727 - * tree-vect-loop.cc (scale_profile_for_vect_loop): Avoid scaling flat - profiles by vectorization factor. - (vect_transform_loop): Check for flat profiles. - -2023-07-21 Jan Hubicka - - * cfgloop.h (maybe_flat_loop_profile): Declare - * cfgloopanal.cc (maybe_flat_loop_profile): New function. - * tree-cfg.cc (print_loop_info): Print info about flat profiles. - -2023-07-21 Jan Hubicka - - * cfgloop.cc (get_estimated_loop_iterations): Use sreal::to_nearest_int - * cfgloopanal.cc (expected_loop_iterations_unbounded): Likewise. - * predict.cc (estimate_bb_frequencies): Likewise. - * profile.cc (branch_prob): Likewise. - * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Likewise - -2023-07-21 Iain Sandoe - - * config.in: Regenerate. - * config/darwin.h (DARWIN_LD_DEMANGLE): New. - (LINK_COMMAND_SPEC_A): Add demangle handling. - * configure: Regenerate. - * configure.ac: Detect linker support for '-demangle'. - -2023-07-21 Jan Hubicka - - * sreal.cc (sreal::to_nearest_int): New. - (sreal_verify_basics): Verify also to_nearest_int. - (verify_aritmetics): Likewise. - (sreal_verify_conversions): New. - (sreal_cc_tests): Call sreal_verify_conversions. - * sreal.h: (sreal::to_nearest_int): Declare - -2023-07-21 Jan Hubicka - - * tree-ssa-loop-ch.cc (enum ch_decision): New enum. - (should_duplicate_loop_header_p): Return info on profitability. - (do_while_loop_p): Watch for constant conditionals. - (update_profile_after_ch): Do not sanity check that all - static exits are taken. - (ch_base::copy_headers): Run on all loops. - (pass_ch::process_loop_p): Improve heuristics by handling also - do_while loop and duplicating shortest sequence containing all - winning blocks. - -2023-07-21 Jan Hubicka - - * tree-ssa-loop-niter.cc (finite_loop_p): Reorder to do cheap - tests first; update finite_p flag. - -2023-07-21 Jan Hubicka - - * cfgloop.cc (flow_loop_dump): Use print_loop_info. - * cfgloop.h (print_loop_info): Declare. - * tree-cfg.cc (print_loop_info): Break out from ...; add - printing of missing fields and profile - (print_loop): ... here. - -2023-07-21 Juzhe-Zhong - - * config/riscv/riscv-v.cc (expand_gather_scatter): Remove redundant variables. - -2023-07-21 Juzhe-Zhong - - * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Change condition order. - (vectorizable_operation): Ditto. - -2023-07-21 Juzhe-Zhong - - * config/riscv/autovec.md: Align order of mask and len. - * config/riscv/riscv-v.cc (expand_load_store): Ditto. - (expand_gather_scatter): Ditto. - * doc/md.texi: Ditto. - * internal-fn.cc (add_len_and_mask_args): Ditto. - (add_mask_and_len_args): Ditto. - (expand_partial_load_optab_fn): Ditto. - (expand_partial_store_optab_fn): Ditto. - (expand_scatter_store_optab_fn): Ditto. - (expand_gather_load_optab_fn): Ditto. - (internal_fn_len_index): Ditto. - (internal_fn_mask_index): Ditto. - (internal_len_load_store_bias): Ditto. - * tree-vect-stmts.cc (vectorizable_store): Ditto. - (vectorizable_load): Ditto. - -2023-07-21 Juzhe-Zhong - - * config/riscv/autovec.md (len_maskload): Change LEN_MASK into MASK_LEN. - (mask_len_load): Ditto. - (len_maskstore): Ditto. - (mask_len_store): Ditto. - (len_mask_gather_load): Ditto. - (mask_len_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (mask_len_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (mask_len_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (mask_len_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (mask_len_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (mask_len_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (mask_len_gather_load): Ditto. - (len_mask_scatter_store): Ditto. - (mask_len_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (mask_len_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (mask_len_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (mask_len_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (mask_len_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (mask_len_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (mask_len_scatter_store): Ditto. - * doc/md.texi: Ditto. - * genopinit.cc (main): Ditto. - (CMP_NAME): Ditto. Ditto. - * gimple-fold.cc (arith_overflowed_p): Ditto. - (gimple_fold_partial_load_store_mem_ref): Ditto. - (gimple_fold_call): Ditto. - * internal-fn.cc (len_maskload_direct): Ditto. - (mask_len_load_direct): Ditto. - (len_maskstore_direct): Ditto. - (mask_len_store_direct): Ditto. - (expand_call_mem_ref): Ditto. - (expand_len_maskload_optab_fn): Ditto. - (expand_mask_len_load_optab_fn): Ditto. - (expand_len_maskstore_optab_fn): Ditto. - (expand_mask_len_store_optab_fn): Ditto. - (direct_len_maskload_optab_supported_p): Ditto. - (direct_mask_len_load_optab_supported_p): Ditto. - (direct_len_maskstore_optab_supported_p): Ditto. - (direct_mask_len_store_optab_supported_p): Ditto. - (internal_load_fn_p): Ditto. - (internal_store_fn_p): Ditto. - (internal_gather_scatter_fn_p): Ditto. - (internal_fn_len_index): Ditto. - (internal_fn_mask_index): Ditto. - (internal_fn_stored_value_index): Ditto. - (internal_len_load_store_bias): Ditto. - * internal-fn.def (LEN_MASK_GATHER_LOAD): Ditto. - (MASK_LEN_GATHER_LOAD): Ditto. - (LEN_MASK_LOAD): Ditto. - (MASK_LEN_LOAD): Ditto. - (LEN_MASK_SCATTER_STORE): Ditto. - (MASK_LEN_SCATTER_STORE): Ditto. - (LEN_MASK_STORE): Ditto. - (MASK_LEN_STORE): Ditto. - * optabs-query.cc (supports_vec_gather_load_p): Ditto. - (supports_vec_scatter_store_p): Ditto. - * optabs-tree.cc (target_supports_mask_load_store_p): Ditto. - (target_supports_len_load_store_p): Ditto. - * optabs.def (OPTAB_CD): Ditto. - * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Ditto. - (call_may_clobber_ref_p_1): Ditto. - * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Ditto. - (dse_optimize_stmt): Ditto. - * tree-ssa-loop-ivopts.cc (get_mem_type_for_internal_fn): Ditto. - (get_alias_ptr_type_for_ptr_address): Ditto. - * tree-vect-data-refs.cc (vect_gather_scatter_fn_p): Ditto. - * tree-vect-patterns.cc (vect_recog_gather_scatter_pattern): Ditto. - * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Ditto. - (vect_get_strided_load_store_ops): Ditto. - (vectorizable_store): Ditto. - (vectorizable_load): Ditto. - -2023-07-21 Haochen Jiang - - * config/i386/i386.opt: Fix a typo. - -2023-07-21 Richard Biener - - PR tree-optimization/88540 - * tree-ssa-phiopt.cc (minmax_replacement): Do not give up - with NaNs but handle the simple case by if-converting to a - COND_EXPR. - -2023-07-21 Andrew Pinski - - * match.pd (minmax,a>->minmax): New - transformation. - -2023-07-21 Richard Biener - - PR tree-optimization/110742 - * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout): - Do not materialize an edge permutation in an external node with - vector defs. - (vect_slp_analyze_node_operations_1): Guard purely internal - nodes better. - -2023-07-21 Jan Hubicka - - * cfgloop.cc: Include sreal.h. - (flow_loop_dump): Dump sreal iteration exsitmate. - (get_estimated_loop_iterations): Update. - * cfgloop.h (expected_loop_iterations_by_profile): Declare. - * cfgloopanal.cc (expected_loop_iterations_by_profile): New function. - (expected_loop_iterations_unbounded): Use new API. - * cfgloopmanip.cc (scale_loop_profile): Use - expected_loop_iterations_by_profile - * predict.cc (pass_profile::execute): Likewise. - * profile.cc (branch_prob): Likewise. - * tree-ssa-loop-niter.cc: Include sreal.h. - (estimate_numbers_of_iterations): Likewise - -2023-07-21 Kewen Lin - - PR tree-optimization/110744 - * tree-ssa-sccvn.cc (vn_reference_lookup_3): Correct the index of bias - operand for ifn IFN_LEN_STORE. - -2023-07-21 liuhongt - - PR target/89701 - * common.opt: (fcf-protection=): Add EnumSet attribute to - support combination of params. - -2023-07-21 David Malcolm - - PR middle-end/110612 - * text-art/table.cc (table_geometry::table_geometry): Drop m_table - field. - (table_geometry::table_x_to_canvas_x): Add cast to comparison. - (table_geometry::table_y_to_canvas_y): Likewise. - * text-art/table.h (table_geometry::m_table): Drop unused field. - * text-art/widget.h (wrapper_widget::update_child_alloc_rects): - Add "override". - -2023-07-20 Uros Bizjak - - PR target/110717 - * config/i386/i386-features.cc - (general_scalar_chain::compute_convert_gain): Calculate gain - for extend higpart case. - (general_scalar_chain::convert_op): Handle - ASHIFTRT/ASHIFT combined RTX. - (general_scalar_to_vector_candidate_p): Enable ASHIFTRT for - SImode for SSE2 targets. Handle ASHIFTRT/ASHIFT combined RTX. - * config/i386/i386.md (*extend2_doubleword_highpart): - New define_insn_and_split pattern. - (*extendv2di2_highpart_stv): Ditto. - -2023-07-20 Vladimir N. Makarov - - * lra-constraints.cc (simplify_operand_subreg): Check frame pointer - simplification. - -2023-07-20 Andrew Pinski - - * combine.cc (dump_combine_stats): Remove. - (dump_combine_total_stats): Remove. - (total_attempts, total_merges, total_extras, - total_successes): Remove. - (combine_instructions): Don't increment total stats - instead use statistics_counter_event. - * dumpfile.cc (print_combine_total_stats): Remove. - * dumpfile.h (print_combine_total_stats): Remove. - (dump_combine_total_stats): Remove. - * passes.cc (finish_optimization_passes): - Don't call print_combine_total_stats. - * rtl.h (dump_combine_total_stats): Remove. - (dump_combine_stats): Remove. - -2023-07-20 Jan Hubicka - - * tree-ssa-loop-ch.cc (should_duplicate_loop_header_p): Use BIT instead of TRUTH - logical ops. - -2023-07-20 Martin Jambor - - * doc/invoke.texi (analyzer-text-art-string-ellipsis-threshold): New. - (analyzer-text-art-ideal-canvas-width): Likewise. - (analyzer-text-art-string-ellipsis-head-len): Likewise. - (analyzer-text-art-string-ellipsis-tail-len): Likewise. - -2023-07-20 Ju-Zhe Zhong - - * tree-vect-stmts.cc (check_load_store_for_partial_vectors): - Refine code structure. - -2023-07-20 Jan Hubicka - - * tree-ssa-loop-ch.cc (edge_range_query): Rename to ... - (get_range_query): ... this one; do - (static_loop_exit): Add query parametr, turn ranger to reference. - (loop_static_stmt_p): New function. - (loop_static_op_p): New function. - (loop_iv_derived_p): Remove. - (loop_combined_static_and_iv_p): New function. - (should_duplicate_loop_header_p): Discover combined onditionals; - do not track iv derived; improve dumps. - (pass_ch::execute): Fix whitespace. - -2023-07-20 Richard Biener - - PR tree-optimization/110204 - * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_avail): - Look through copies generated by PRE. - -2023-07-20 Matthew Malcomson - - * tree-vect-stmts.cc (get_group_load_store_type): Account for - `gap` when checking if need to peel twice. - -2023-07-20 Francois-Xavier Coudert - - PR middle-end/77928 - * doc/extend.texi: Document iseqsig builtin. - * builtins.cc (fold_builtin_iseqsig): New function. - (fold_builtin_2): Handle BUILT_IN_ISEQSIG. - (is_inexpensive_builtin): Handle BUILT_IN_ISEQSIG. - * builtins.def (BUILT_IN_ISEQSIG): New built-in. - -2023-07-20 Pan Li - - * config/riscv/vector.md: Fix incorrect match_operand. - -2023-07-20 Roger Sayle - - * config/i386/i386-expand.cc (ix86_expand_move): Don't call - force_reg, to use SUBREG rather than create a new pseudo when - inserting DFmode fields into TImode with insvti_{high,low}part. - * config/i386/i386.md (*concat3_3): Split into two - define_insn_and_split... - (*concatditi3_3): 64-bit implementation. Provide alternative - that allows register allocation to use SSE registers that is - split into vec_concatv2di after reload. - (*concatsidi3_3): 32-bit implementation. - -2023-07-20 Richard Biener - - PR middle-end/61747 - * internal-fn.cc (expand_vec_cond_optab_fn): When the - value operands are equal to the original comparison operands - preserve that equality by re-using the comparison expansion. - * optabs.cc (emit_conditional_move): When the value operands - are equal to the comparison operands and would be forced to - a register by prepare_cmp_insn do so earlier, preserving the - equality. - -2023-07-20 Pan Li - - * config/riscv/vector.md: Align pattern format. - -2023-07-20 Haochen Jiang - - * doc/invoke.texi: Remove AVX512VP2INTERSECT in - Granite Rapids{, D} from documentation. - -2023-07-20 Juzhe-Zhong - - * config/riscv/autovec.md - (len_mask_gather_load): - Refactor RVV machine modes. - (len_mask_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Ditto. - (ADJUST_NUNITS): Ditto. - (ADJUST_ALIGNMENT): Ditto. - (ADJUST_BYTESIZE): Ditto. - (ADJUST_PRECISION): Ditto. - (RVV_MODES): Ditto. - (RVV_WHOLE_MODES): Ditto. - (RVV_FRACT_MODE): Ditto. - (RVV_NF8_MODES): Ditto. - (RVV_NF4_MODES): Ditto. - (VECTOR_MODES_WITH_PREFIX): Ditto. - (VECTOR_MODE_WITH_PREFIX): Ditto. - (RVV_TUPLE_MODES): Ditto. - (RVV_NF2_MODES): Ditto. - (RVV_TUPLE_PARTIAL_MODES): Ditto. - * config/riscv/riscv-v.cc (struct mode_vtype_group): Ditto. - (ENTRY): Ditto. - (TUPLE_ENTRY): Ditto. - (get_vlmul): Ditto. - (get_nf): Ditto. - (get_ratio): Ditto. - (preferred_simd_mode): Ditto. - (autovectorize_vector_modes): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Ditto. - * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Ditto. - (vbool64_t): Ditto. - (vbool32_t): Ditto. - (vbool16_t): Ditto. - (vbool8_t): Ditto. - (vbool4_t): Ditto. - (vbool2_t): Ditto. - (vbool1_t): Ditto. - (vint8mf8_t): Ditto. - (vuint8mf8_t): Ditto. - (vint8mf4_t): Ditto. - (vuint8mf4_t): Ditto. - (vint8mf2_t): Ditto. - (vuint8mf2_t): Ditto. - (vint8m1_t): Ditto. - (vuint8m1_t): Ditto. - (vint8m2_t): Ditto. - (vuint8m2_t): Ditto. - (vint8m4_t): Ditto. - (vuint8m4_t): Ditto. - (vint8m8_t): Ditto. - (vuint8m8_t): Ditto. - (vint16mf4_t): Ditto. - (vuint16mf4_t): Ditto. - (vint16mf2_t): Ditto. - (vuint16mf2_t): Ditto. - (vint16m1_t): Ditto. - (vuint16m1_t): Ditto. - (vint16m2_t): Ditto. - (vuint16m2_t): Ditto. - (vint16m4_t): Ditto. - (vuint16m4_t): Ditto. - (vint16m8_t): Ditto. - (vuint16m8_t): Ditto. - (vint32mf2_t): Ditto. - (vuint32mf2_t): Ditto. - (vint32m1_t): Ditto. - (vuint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vuint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vuint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vuint32m8_t): Ditto. - (vint64m1_t): Ditto. - (vuint64m1_t): Ditto. - (vint64m2_t): Ditto. - (vuint64m2_t): Ditto. - (vint64m4_t): Ditto. - (vuint64m4_t): Ditto. - (vint64m8_t): Ditto. - (vuint64m8_t): Ditto. - (vfloat16mf4_t): Ditto. - (vfloat16mf2_t): Ditto. - (vfloat16m1_t): Ditto. - (vfloat16m2_t): Ditto. - (vfloat16m4_t): Ditto. - (vfloat16m8_t): Ditto. - (vfloat32mf2_t): Ditto. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat32m8_t): Ditto. - (vfloat64m1_t): Ditto. - (vfloat64m2_t): Ditto. - (vfloat64m4_t): Ditto. - (vfloat64m8_t): Ditto. - * config/riscv/riscv-vector-switch.def (ENTRY): Ditto. - (TUPLE_ENTRY): Ditto. - * config/riscv/riscv-vsetvl.cc (change_insn): Ditto. - * config/riscv/riscv.cc (riscv_valid_lo_sum_p): Ditto. - (riscv_v_adjust_nunits): Ditto. - (riscv_v_adjust_bytesize): Ditto. - (riscv_v_adjust_precision): Ditto. - (riscv_convert_vector_bits): Ditto. - * config/riscv/riscv.h (riscv_v_adjust_nunits): Ditto. - * config/riscv/riscv.md: Ditto. - * config/riscv/vector-iterators.md: Ditto. - * config/riscv/vector.md - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - -2023-07-19 Vladimir N. Makarov - - * lra-int.h (lra_update_fp2sp_elimination): New prototype. - (lra_asm_insn_error): New prototype. - * lra-spills.cc (remove_pseudos): Add check for pseudo slot memory - existence. - (lra_spill): Call lra_update_fp2sp_elimination. - * lra-eliminations.cc: Remove trailing spaces. - (elimination_fp2sp_occured_p): New static flag. - (lra_eliminate_regs_1): Set the flag up. - (update_reg_eliminate): Modify the assert for stack to frame - pointer elimination. - (lra_update_fp2sp_elimination): New function. - (lra_eliminate): Clear flag elimination_fp2sp_occured_p. - -2023-07-19 Andrew Carlotti - - * config/aarch64/aarch64.h (TARGET_MEMTAG): Remove armv8.5 - dependency. - * config/aarch64/arm_acle.h: Remove unnecessary armv8.x - dependencies from target pragmas. - * config/aarch64/arm_fp16.h (target): Likewise. - * config/aarch64/arm_neon.h (target): Likewise. - -2023-07-19 Andrew Pinski - - PR tree-optimization/110252 - * tree-ssa-phiopt.cc (class auto_flow_sensitive): New class. - (auto_flow_sensitive::auto_flow_sensitive): New constructor. - (auto_flow_sensitive::~auto_flow_sensitive): New deconstructor. - (match_simplify_replacement): Temporarily - remove the flow sensitive info on the two statements that might - be moved. - -2023-07-19 Andrew Pinski - - * gimple-fold.cc (fosa_unwind): Replace `vrange_storage *` - with flow_sensitive_info_storage. - (follow_outer_ssa_edges): Update how to save off the flow - sensitive info. - (maybe_fold_comparisons_from_match_pd): Update restoring - of flow sensitive info. - * tree-ssanames.cc (flow_sensitive_info_storage::save): New method. - (flow_sensitive_info_storage::restore): New method. - (flow_sensitive_info_storage::save_and_clear): New method. - (flow_sensitive_info_storage::clear_storage): New method. - * tree-ssanames.h (class flow_sensitive_info_storage): New class. - -2023-07-19 Andrew Pinski - - PR tree-optimization/110726 - * match.pd ((a|b)&(a==b),a|(a==b),(a&b)|(a==b)): - Add checks to make sure the type was one bit precision - intergal type. - -2023-07-19 Ju-Zhe Zhong - - * doc/md.texi: Add mask_len_fold_left_plus. - * internal-fn.cc (mask_len_fold_left_direct): Ditto. - (expand_mask_len_fold_left_optab_fn): Ditto. - (direct_mask_len_fold_left_optab_supported_p): Ditto. - * internal-fn.def (MASK_LEN_FOLD_LEFT_PLUS): Ditto. - * optabs.def (OPTAB_D): Ditto. - -2023-07-19 Jakub Jelinek - - * tree-switch-conversion.h (class bit_test_cluster): Fix comment typo. - -2023-07-19 Jakub Jelinek - - PR tree-optimization/110731 - * wide-int.cc (wi::divmod_internal): Always unpack dividend and - divisor as UNSIGNED regardless of sgn. - -2023-07-19 Lehua Ding - - * common/config/riscv/riscv-common.cc (riscv_supported_std_ext): Init. - (standard_extensions_p): Add check. - (riscv_subset_list::add): Just return NULL if it failed before. - (riscv_subset_list::parse_std_ext): Continue parse when find a error - (riscv_subset_list::parse): Just return NULL if it failed before. - * config/riscv/riscv-subset.h (class riscv_subset_list): Add field. - -2023-07-19 Jan Beulich - - * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): - Use gen_vec_set_0. - (ix86_expand_vector_extract): Use gen_vec_extract_lo / - gen_vec_extract_hi. - (expand_vec_perm_broadcast_1): Use gen_vec_interleave_high / - gen_vec_interleave_low. Rename local variable. - -2023-07-19 Jan Beulich - - * config/i386/sse.md (vec_dupv2df): Add new AVX512F - alternative. Move AVX512VL part of condition to new "enabled" - attribute. - -2023-07-19 liuhongt - - PR target/109504 - * config/i386/i386-builtins.cc - (ix86_register_float16_builtin_type): Remove TARGET_SSE2. - (ix86_register_bf16_builtin_type): Ditto. - * config/i386/i386-c.cc (ix86_target_macros): When TARGET_SSE2 - isn't available, undef the macros which are used to check the - backend support of the _Float16/__bf16 types when building - libstdc++ and libgcc. - * config/i386/i386.cc (construct_container): Issue errors for - HFmode/BFmode when TARGET_SSE2 is not available. - (function_value_32): Ditto. - (ix86_scalar_mode_supported_p): Remove TARGET_SSE2 for HFmode/BFmode. - (ix86_libgcc_floating_mode_supported_p): Ditto. - (ix86_emit_support_tinfos): Adjust codes. - (ix86_invalid_conversion): Return diagnostic message string - when there's conversion from/to BF/HFmode w/o TARGET_SSE2. - (ix86_invalid_unary_op): New function. - (ix86_invalid_binary_op): Ditto. - (TARGET_INVALID_UNARY_OP): Define. - (TARGET_INVALID_BINARY_OP): Define. - * config/i386/immintrin.h [__SSE2__]: Remove for fp16/bf16 - related instrinsics header files. - * config/i386/i386.h (VALID_SSE2_TYPE_MODE): New macro. - -2023-07-18 Uros Bizjak - - * dwarf2asm.cc: Change FALSE to false. - * dwarf2cfi.cc (execute_dwarf2_frame): Change return type to void. - * dwarf2out.cc (matches_main_base): Change return type from - int to bool. Change "last_match" variable to bool. - (dump_struct_debug): Change return type from int to bool. - Change "matches" and "result" function arguments to bool. - (is_pseudo_reg): Change return type from int to bool. - (is_tagged_type): Ditto. - (same_loc_p): Ditto. - (same_dw_val_p): Change return type from int to bool and adjust - function body accordingly. - (same_attr_p): Ditto. - (same_die_p): Ditto. - (is_type_die): Ditto. - (is_declaration_die): Ditto. - (should_move_die_to_comdat): Ditto. - (is_base_type): Ditto. - (is_based_loc): Ditto. - (local_scope_p): Ditto. - (class_scope_p): Ditto. - (class_or_namespace_scope_p): Ditto. - (is_tagged_type): Ditto. - (is_rust): Use void argument. - (is_nested_in_subprogram): Change return type from int to bool. - (contains_subprogram_definition): Ditto. - (gen_struct_or_union_type_die): Change "nested", "complete" - and "ns_decl" variables to bool. - (is_naming_typedef_decl): Change FALSE to false. - -2023-07-18 Jan Hubicka - - * tree-ssa-loop-ch.cc (edge_range_query): Take loop argument; be ready - for queries not in headers. - (static_loop_exit): Add basic blck parameter; update use of - edge_range_query - (should_duplicate_loop_header_p): Add ranger and static_exits - parameter. Do not account statements that will be optimized - out after duplicaiton in overall size. Add ranger query to - find static exits. - (update_profile_after_ch): Take static_exits has set instead of - single eliminated_edge. - (ch_base::copy_headers): Do all analysis in the first pass; - remember invariant_exits and static_exits. - -2023-07-18 Jason Merrill - - * fold-const.cc (native_interpret_aggregate): Skip empty fields. - -2023-07-18 Gaius Mulley - - * doc/gm2.texi (Semantic checking): Change example testwithptr - to testnew6. - -2023-07-18 Richard Biener - - PR middle-end/105715 - * gimple-isel.cc (gimple_expand_vec_exprs): Merge into... - (pass_gimple_isel::execute): ... this. Duplicate - comparison defs of COND_EXPRs. - -2023-07-18 Juzhe-Zhong - - * config/riscv/riscv-selftests.cc (run_poly_int_selftests): Add more selftests. - * config/riscv/riscv.cc (riscv_legitimize_poly_move): Dynamic adjust size of VLA vectors. - (riscv_convert_vector_bits): Ditto. - -2023-07-18 Juzhe-Zhong - - * config/riscv/autovec.md (vec_shl_insert_): New patterns. - * config/riscv/riscv-v.cc (shuffle_compress_patterns): Fix bugs. - -2023-07-18 Juergen Christ - - * config/s390/vx-builtins.md: New vsel pattern. - -2023-07-18 liuhongt - - PR target/110438 - * config/i386/sse.md (one_cmpl2): - Remove # from assemble output. - -2023-07-18 liuhongt - - PR target/110591 - * config/i386/sync.md (cmpccxadd_): Adjust the pattern - to explicitly set FLAGS_REG like *cmp_1, also add extra - 3 define_peephole2 after the pattern. - -2023-07-18 Ju-Zhe Zhong - - * rtl-ssa/internals.inl: Fix when mode1 and mode2 are not ordred. - -2023-07-18 Pan Li - Juzhe-Zhong - - * config/riscv/riscv.cc (struct machine_function): Add new field. - (riscv_static_frm_mode_p): New function. - (riscv_emit_frm_mode_set): New function for emit FRM. - (riscv_emit_mode_set): Extract function for FRM. - (riscv_mode_needed): Fix the TODO. - (riscv_mode_entry): Initial dynamic frm RTL. - (riscv_mode_exit): Return DYN_EXIT. - * config/riscv/riscv.md: Add rdfrm. - * config/riscv/vector-iterators.md (unspecv): Add DYN_EXIT unspecv. - * config/riscv/vector.md (frm_modee): Add new mode dyn_exit. - (fsrm): Removed. - (fsrmsi_backup): New pattern for swap. - (fsrmsi_restore): New pattern for restore. - (fsrmsi_restore_exit): New pattern for restore exit. - (frrmsi): New pattern for backup. - -2023-07-17 Arsen Arsenović - - * doc/extend.texi: Add @cindex on __auto_type. - -2023-07-17 Uros Bizjak - - * combine-stack-adj.cc (stack_memref_p): Change return type from - int to bool and adjust function body accordingly. - (rest_of_handle_stack_adjustments): Change return type to void. - -2023-07-17 Uros Bizjak - - * combine.cc (struct reg_stat_type): Change last_set_invalid to bool. - (cant_combine_insn_p): Change return type from int to bool and adjust - function body accordingly. - (can_combine_p): Ditto. - (combinable_i3pat): Ditto. Change "i1_not_in_src" and "i0_not_in_src" - function arguments from int to bool. - (contains_muldiv): Change return type from int to bool and adjust - function body accordingly. - (try_combine): Ditto. Change "new_direct_jump" pointer function - argument from int to bool. Change "substed_i2", "substed_i1", - "substed_i0", "added_sets_0", "added_sets_1", "added_sets_2", - "i2dest_in_i2src", "i1dest_in_i1src", "i2dest_in_i1src", - "i0dest_in_i0src", "i1dest_in_i0src", "i2dest_in_i0src", - "i2dest_killed", "i1dest_killed", "i0dest_killed", "i1_feeds_i2_n", - "i0_feeds_i2_n", "i0_feeds_i1_n", "i3_subst_into_i2", "have_mult", - "swap_i2i3", "split_i2i3" and "changed_i3_dest" variables - from int to bool. - (subst): Change "in_dest", "in_cond" and "unique_copy" function - arguments from int to bool. - (combine_simplify_rtx): Change "in_dest" and "in_cond" function - arguments from int to bool. - (make_extraction): Change "unsignedp", "in_dest" and "in_compare" - function argument from int to bool. - (force_int_to_mode): Change "just_select" function argument - from int to bool. Change "next_select" variable to bool. - (rtx_equal_for_field_assignment_p): Change return type from - int to bool and adjust function body accordingly. - (merge_outer_ops): Ditto. Change "pcomp_p" pointer function - argument from int to bool. - (get_last_value_validate): Change return type from int to bool - and adjust function body accordingly. - (reg_dead_at_p): Ditto. - (reg_bitfield_target_p): Ditto. - (combine_instructions): Ditto. Change "new_direct_jump" - variable to bool. - (can_combine_p): Change return type from int to bool - and adjust function body accordingly. - (likely_spilled_retval_p): Ditto. - (can_change_dest_mode): Change "added_sets" function argument - from int to bool. - (find_split_point): Change "unsignedp" variable to bool. - (simplify_if_then_else): Change "comparison_p" and "swapped" - variables to bool. - (simplify_set): Change "other_changed" variable to bool. - (expand_compound_operation): Change "unsignedp" variable to bool. - (force_to_mode): Change "just_select" function argument - from int to bool. Change "next_select" variable to bool. - (extended_count): Change "unsignedp" function argument to bool. - (simplify_shift_const_1): Change "complement_p" variable to bool. - (simplify_comparison): Change "changed" variable to bool. - (rest_of_handle_combine): Change return type to void. - -2023-07-17 Andre Vieira - - PR plugins/110610 - * Makefile.in (INTERNAL_FN_H): Add insn-opinit.h. - -2023-07-17 Senthil Kumar Selvaraj - - * ira.cc (setup_reg_class_relations): Continue - if regclass cl3 is hard_reg_set_empty_p. - -2023-07-17 Juzhe-Zhong - - * config/riscv/riscv.cc (riscv_option_override): Add sorry check. - -2023-07-17 Martin Jambor - - * tree-ssa-loop-ivcanon.cc (try_peel_loop): Remove unused variable - entry_count. - -2023-07-17 Aldy Hernandez - - * tree-ssa-ccp.cc (ccp_finalize): Export value/mask known bits. - -2023-07-17 Lehua Ding - - PR target/110696 - * common/config/riscv/riscv-common.cc (riscv_subset_list::handle_implied_ext): - recur add all implied extensions. - (riscv_subset_list::check_implied_ext): Add new method. - (riscv_subset_list::parse): Call checker check_implied_ext. - * config/riscv/riscv-subset.h: Add new method. - -2023-07-17 Juzhe-Zhong - - * config/riscv/autovec.md (reduc_plus_scal_): New pattern. - (reduc_smax_scal_): Ditto. - (reduc_umax_scal_): Ditto. - (reduc_smin_scal_): Ditto. - (reduc_umin_scal_): Ditto. - (reduc_and_scal_): Ditto. - (reduc_ior_scal_): Ditto. - (reduc_xor_scal_): Ditto. - * config/riscv/riscv-protos.h (enum insn_type): Add reduction. - (expand_reduction): New function. - * config/riscv/riscv-v.cc (emit_vlmax_reduction_insn): Ditto. - (emit_vlmax_fp_reduction_insn): Ditto. - (get_m1_mode): Ditto. - (expand_cond_len_binop): Fix name. - (expand_reduction): New function - * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): Fix VSETVL BUG. - (validate_change_or_fail): New function. - (change_insn): Fix VSETVL BUG. - (change_vsetvl_insn): Ditto. - (pass_vsetvl::backward_demand_fusion): Ditto. - (pass_vsetvl::df_post_optimization): Ditto. - -2023-07-17 Aldy Hernandez - - * ipa-prop.cc (ipcp_update_bits): Export value/mask known bits. - -2023-07-17 Christoph Müllner - - * config/riscv/riscv.cc (riscv_regno_ok_for_index_p): - Remove parameter name from declaration of unused parameter. - -2023-07-17 Kewen Lin - - PR tree-optimization/110652 - * tree-vect-stmts.cc (vectorizable_load): Initialize new_temp as - NULL_TREE. - -2023-07-17 Richard Biener - - PR tree-optimization/110669 - * tree-scalar-evolution.cc (analyze_and_compute_bitop_with_inv_effect): - Check we matched a header PHI. - -2023-07-17 Aldy Hernandez - - * tree-ssanames.cc (set_bitmask): New. - * tree-ssanames.h (set_bitmask): New. - -2023-07-17 Aldy Hernandez - - * value-range.cc (irange_bitmask::verify_mask): Mask need not be - normalized. - * value-range.h (irange_bitmask::union_): Normalize beforehand. - (irange_bitmask::intersect): Same. - -2023-07-17 Andrew Pinski - - PR tree-optimization/95923 - * match.pd ((a|b)&(a==b),a|(a==b),(a&b)|(a==b)): New transformation. - -2023-07-17 Roger Sayle - - * tree-if-conv.cc (predicate_scalar_phi): Make the arguments - to the std::sort comparison lambda function const. - -2023-07-17 Andrew Pinski - - PR tree-optimization/110666 - * match.pd (A NEEQ (A NEEQ CST)): Fix Outer EQ case. - -2023-07-17 Mo, Zewei - - * common/config/i386/cpuinfo.h (get_intel_cpu): Handle Lunar Lake, - Arrow Lake and Arrow Lake S. - * common/config/i386/i386-common.cc: - (processor_name): Add arrowlake. - (processor_alias_table): Add arrow lake, arrow lake s and lunar - lake. - * common/config/i386/i386-cpuinfo.h (enum processor_subtypes): - Add INTEL_COREI7_ARROWLAKE and INTEL_COREI7_ARROWLAKE_S. - * config.gcc: Add -march=arrowlake and -march=arrowlake-s. - * config/i386/driver-i386.cc (host_detect_local_cpu): Handle - arrowlake-s. - * config/i386/i386-c.cc (ix86_target_macros_internal): Add - arrowlake. - * config/i386/i386-options.cc (m_ARROWLAKE): New. - (processor_cost_table): Add arrowlake. - * config/i386/i386.h (enum processor_type): - Add PROCESSOR_ARROWLAKE. - * config/i386/x86-tune.def: Add m_ARROWLAKE. - * doc/extend.texi: Add arrowlake and arrowlake-s. - * doc/invoke.texi: Ditto. - -2023-07-17 Haochen Jiang - - * config/i386/sse.md (VI2_AVX2): Delete V32HI since we actually - have the same iterator. Also renaming all the occurence to - VI2_AVX2_AVX512BW. - (usdot_prod): New define_expand. - (udot_prod): Ditto. - -2023-07-17 Haochen Jiang - - * common/config/i386/cpuinfo.h (get_available_features): - Detech SM4. - * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_SM4_SET, - OPTION_MASK_ISA2_SM4_UNSET): New. - (OPTION_MASK_ISA2_AVX_UNSET): Add SM4. - (ix86_handle_option): Handle -msm4. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_SM4. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - sm4. - * config.gcc: Add sm4intrin.h. - * config/i386/cpuid.h (bit_SM4): New. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __SM4__. - * config/i386/i386-isa.def (SM4): Add DEF_PTA(SM4). - * config/i386/i386-options.cc (isa2_opts): Add -msm4. - (ix86_valid_target_attribute_inner_p): Handle sm4. - * config/i386/i386.opt: Add option -msm4. - * config/i386/immintrin.h: Include sm4intrin.h - * config/i386/sse.md (vsm4key4_): New define insn. - (vsm4rnds4_): Ditto. - * doc/extend.texi: Document sm4. - * doc/invoke.texi: Document -msm4. - * doc/sourcebuild.texi: Document target sm4. - * config/i386/sm4intrin.h: New file. - -2023-07-17 Haochen Jiang - - * common/config/i386/cpuinfo.h (get_available_features): - Detect SHA512. - * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_SHA512_SET, - OPTION_MASK_ISA2_SHA512_UNSET): New. - (OPTION_MASK_ISA2_AVX_UNSET): Add SHA512. - (ix86_handle_option): Handle -msha512. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_SHA512. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - sha512. - * config.gcc: Add sha512intrin.h. - * config/i386/cpuid.h (bit_SHA512): New. - * config/i386/i386-builtin-types.def: - Add DEF_FUNCTION_TYPE (V4DI, V4DI, V4DI, V2DI). - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __SHA512__. - * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle - V4DI_FTYPE_V4DI_V4DI_V2DI and V4DI_FTYPE_V4DI_V2DI. - * config/i386/i386-isa.def (SHA512): Add DEF_PTA(SHA512). - * config/i386/i386-options.cc (isa2_opts): Add -msha512. - (ix86_valid_target_attribute_inner_p): Handle sha512. - * config/i386/i386.opt: Add option -msha512. - * config/i386/immintrin.h: Include sha512intrin.h. - * config/i386/sse.md (vsha512msg1): New define insn. - (vsha512msg2): Ditto. - (vsha512rnds2): Ditto. - * doc/extend.texi: Document sha512. - * doc/invoke.texi: Document -msha512. - * doc/sourcebuild.texi: Document target sha512. - * config/i386/sha512intrin.h: New file. - -2023-07-17 Haochen Jiang - - * common/config/i386/cpuinfo.h (get_available_features): - Detect SM3. - * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_SM3_SET, - OPTION_MASK_ISA2_SM3_UNSET): New. - (OPTION_MASK_ISA2_AVX_UNSET): Add SM3. - (ix86_handle_option): Handle -msm3. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_SM3. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - SM3. - * config.gcc: Add sm3intrin.h - * config/i386/cpuid.h (bit_SM3): New. - * config/i386/i386-builtin-types.def: - Add DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI, V4SI, INT). - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __SM3__. - * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle - V4SI_FTYPE_V4SI_V4SI_V4SI_INT. - * config/i386/i386-isa.def (SM3): Add DEF_PTA(SM3). - * config/i386/i386-options.cc (isa2_opts): Add -msm3. - (ix86_valid_target_attribute_inner_p): Handle sm3. - * config/i386/i386.opt: Add option -msm3. - * config/i386/immintrin.h: Include sm3intrin.h. - * config/i386/sse.md (vsm3msg1): New define insn. - (vsm3msg2): Ditto. - (vsm3rnds2): Ditto. - * doc/extend.texi: Document sm3. - * doc/invoke.texi: Document -msm3. - * doc/sourcebuild.texi: Document target sm3. - * config/i386/sm3intrin.h: New file. - -2023-07-17 Kong Lingling - Haochen Jiang - - * common/config/i386/cpuinfo.h (get_available_features): Detect - avxvnniint16. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AVXVNNIINT16_SET): New. - (OPTION_MASK_ISA2_AVXVNNIINT16_UNSET): Ditto. - (ix86_handle_option): Handle -mavxvnniint16. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AVXVNNIINT16. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - avxvnniint16. - * config.gcc: Add avxvnniint16.h. - * config/i386/avxvnniint16intrin.h: New file. - * config/i386/cpuid.h (bit_AVXVNNIINT16): New. - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __AVXVNNIINT16__. - * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint16. - (ix86_valid_target_attribute_inner_p): Handle avxvnniint16intrin.h. - * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT16). - * config/i386/i386.opt: Add option -mavxvnniint16. - * config/i386/immintrin.h: Include avxvnniint16.h. - * config/i386/sse.md - (vpdp_): New define_insn. - * doc/extend.texi: Document avxvnniint16. - * doc/invoke.texi: Document -mavxvnniint16. - * doc/sourcebuild.texi: Document target avxvnniint16. - -2023-07-16 Jan Hubicka - - PR middle-end/110649 - * tree-vect-loop.cc (scale_profile_for_vect_loop): Rewrite. - (vect_transform_loop): Move scale_profile_for_vect_loop after - upper bound updates. - -2023-07-16 Jan Hubicka - - PR tree-optimization/110649 - * tree-vect-loop.cc (optimize_mask_stores): Set correctly - probability of the if-then-else construct. - -2023-07-16 Jan Hubicka - - PR middle-end/110649 - * tree-ssa-loop-ivcanon.cc (try_peel_loop): Avoid double profile update. - -2023-07-15 Andrew Pinski - - * doc/contrib.texi: Update my entry. - -2023-07-15 John David Anglin - - * config/pa/pa.md: Define constants R1_REGNUM, R19_REGNUM and - R27_REGNUM. - (tgd_load): Restrict to !TARGET_64BIT. Use register constants. - (tld_load): Likewise. - (tgd_load_pic): Change to expander. - (tld_load_pic, tld_offset_load, tp_load): Likewise. - (tie_load_pic, tle_load): Likewise. - (tgd_load_picsi, tgd_load_picdi): New. - (tld_load_picsi, tld_load_picdi): New. - (tld_offset_load): New. - (tp_load): New. - (tie_load_picsi, tie_load_picdi): New. - (tle_load): New. - -2023-07-14 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vcmlaq, vcmlaq_rot90) - (vcmlaq_rot180, vcmlaq_rot270): New. - * config/arm/arm-mve-builtins-base.def (vcmlaq, vcmlaq_rot90) - (vcmlaq_rot180, vcmlaq_rot270): New. - * config/arm/arm-mve-builtins-base.h: (vcmlaq, vcmlaq_rot90) - (vcmlaq_rot180, vcmlaq_rot270): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vcmlaq, - vcmlaq_rot90, vcmlaq_rot180, vcmlaq_rot270. - * config/arm/arm_mve.h (vcmlaq): Delete. - (vcmlaq_rot180): Delete. - (vcmlaq_rot270): Delete. - (vcmlaq_rot90): Delete. - (vcmlaq_m): Delete. - (vcmlaq_rot180_m): Delete. - (vcmlaq_rot270_m): Delete. - (vcmlaq_rot90_m): Delete. - (vcmlaq_f16): Delete. - (vcmlaq_rot180_f16): Delete. - (vcmlaq_rot270_f16): Delete. - (vcmlaq_rot90_f16): Delete. - (vcmlaq_f32): Delete. - (vcmlaq_rot180_f32): Delete. - (vcmlaq_rot270_f32): Delete. - (vcmlaq_rot90_f32): Delete. - (vcmlaq_m_f32): Delete. - (vcmlaq_m_f16): Delete. - (vcmlaq_rot180_m_f32): Delete. - (vcmlaq_rot180_m_f16): Delete. - (vcmlaq_rot270_m_f32): Delete. - (vcmlaq_rot270_m_f16): Delete. - (vcmlaq_rot90_m_f32): Delete. - (vcmlaq_rot90_m_f16): Delete. - (__arm_vcmlaq_f16): Delete. - (__arm_vcmlaq_rot180_f16): Delete. - (__arm_vcmlaq_rot270_f16): Delete. - (__arm_vcmlaq_rot90_f16): Delete. - (__arm_vcmlaq_f32): Delete. - (__arm_vcmlaq_rot180_f32): Delete. - (__arm_vcmlaq_rot270_f32): Delete. - (__arm_vcmlaq_rot90_f32): Delete. - (__arm_vcmlaq_m_f32): Delete. - (__arm_vcmlaq_m_f16): Delete. - (__arm_vcmlaq_rot180_m_f32): Delete. - (__arm_vcmlaq_rot180_m_f16): Delete. - (__arm_vcmlaq_rot270_m_f32): Delete. - (__arm_vcmlaq_rot270_m_f16): Delete. - (__arm_vcmlaq_rot90_m_f32): Delete. - (__arm_vcmlaq_rot90_m_f16): Delete. - (__arm_vcmlaq): Delete. - (__arm_vcmlaq_rot180): Delete. - (__arm_vcmlaq_rot270): Delete. - (__arm_vcmlaq_rot90): Delete. - (__arm_vcmlaq_m): Delete. - (__arm_vcmlaq_rot180_m): Delete. - (__arm_vcmlaq_rot270_m): Delete. - (__arm_vcmlaq_rot90_m): Delete. - -2023-07-14 Christophe Lyon - - * config/arm/arm_mve_builtins.def (vcmlaq_rot90_f) - (vcmlaq_rot270_f, vcmlaq_rot180_f, vcmlaq_f): Add "_f" suffix. - * config/arm/iterators.md (MVE_VCMLAQ_M): New. - (mve_insn): Add vcmla. - (rot): Add VCMLAQ_M_F, VCMLAQ_ROT90_M_F, VCMLAQ_ROT180_M_F, - VCMLAQ_ROT270_M_F. - (mve_rot): Add VCMLAQ_M_F, VCMLAQ_ROT90_M_F, VCMLAQ_ROT180_M_F, - VCMLAQ_ROT270_M_F. - * config/arm/mve.md (mve_vcmlaq): Rename into ... - (@mve_q_f): ... this. - (mve_vcmlaq_m_f, mve_vcmlaq_rot180_m_f) - (mve_vcmlaq_rot270_m_f, mve_vcmlaq_rot90_m_f): Merge - into ... - (@mve_q_m_f): ... this. - -2023-07-14 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vcmulq, vcmulq_rot90) - (vcmulq_rot180, vcmulq_rot270): New. - * config/arm/arm-mve-builtins-base.def (vcmulq, vcmulq_rot90) - (vcmulq_rot180, vcmulq_rot270): New. - * config/arm/arm-mve-builtins-base.h: (vcmulq, vcmulq_rot90) - (vcmulq_rot180, vcmulq_rot270): New. - * config/arm/arm_mve.h (vcmulq_rot90): Delete. - (vcmulq_rot270): Delete. - (vcmulq_rot180): Delete. - (vcmulq): Delete. - (vcmulq_m): Delete. - (vcmulq_rot180_m): Delete. - (vcmulq_rot270_m): Delete. - (vcmulq_rot90_m): Delete. - (vcmulq_x): Delete. - (vcmulq_rot90_x): Delete. - (vcmulq_rot180_x): Delete. - (vcmulq_rot270_x): Delete. - (vcmulq_rot90_f16): Delete. - (vcmulq_rot270_f16): Delete. - (vcmulq_rot180_f16): Delete. - (vcmulq_f16): Delete. - (vcmulq_rot90_f32): Delete. - (vcmulq_rot270_f32): Delete. - (vcmulq_rot180_f32): Delete. - (vcmulq_f32): Delete. - (vcmulq_m_f32): Delete. - (vcmulq_m_f16): Delete. - (vcmulq_rot180_m_f32): Delete. - (vcmulq_rot180_m_f16): Delete. - (vcmulq_rot270_m_f32): Delete. - (vcmulq_rot270_m_f16): Delete. - (vcmulq_rot90_m_f32): Delete. - (vcmulq_rot90_m_f16): Delete. - (vcmulq_x_f16): Delete. - (vcmulq_x_f32): Delete. - (vcmulq_rot90_x_f16): Delete. - (vcmulq_rot90_x_f32): Delete. - (vcmulq_rot180_x_f16): Delete. - (vcmulq_rot180_x_f32): Delete. - (vcmulq_rot270_x_f16): Delete. - (vcmulq_rot270_x_f32): Delete. - (__arm_vcmulq_rot90_f16): Delete. - (__arm_vcmulq_rot270_f16): Delete. - (__arm_vcmulq_rot180_f16): Delete. - (__arm_vcmulq_f16): Delete. - (__arm_vcmulq_rot90_f32): Delete. - (__arm_vcmulq_rot270_f32): Delete. - (__arm_vcmulq_rot180_f32): Delete. - (__arm_vcmulq_f32): Delete. - (__arm_vcmulq_m_f32): Delete. - (__arm_vcmulq_m_f16): Delete. - (__arm_vcmulq_rot180_m_f32): Delete. - (__arm_vcmulq_rot180_m_f16): Delete. - (__arm_vcmulq_rot270_m_f32): Delete. - (__arm_vcmulq_rot270_m_f16): Delete. - (__arm_vcmulq_rot90_m_f32): Delete. - (__arm_vcmulq_rot90_m_f16): Delete. - (__arm_vcmulq_x_f16): Delete. - (__arm_vcmulq_x_f32): Delete. - (__arm_vcmulq_rot90_x_f16): Delete. - (__arm_vcmulq_rot90_x_f32): Delete. - (__arm_vcmulq_rot180_x_f16): Delete. - (__arm_vcmulq_rot180_x_f32): Delete. - (__arm_vcmulq_rot270_x_f16): Delete. - (__arm_vcmulq_rot270_x_f32): Delete. - (__arm_vcmulq_rot90): Delete. - (__arm_vcmulq_rot270): Delete. - (__arm_vcmulq_rot180): Delete. - (__arm_vcmulq): Delete. - (__arm_vcmulq_m): Delete. - (__arm_vcmulq_rot180_m): Delete. - (__arm_vcmulq_rot270_m): Delete. - (__arm_vcmulq_rot90_m): Delete. - (__arm_vcmulq_x): Delete. - (__arm_vcmulq_rot90_x): Delete. - (__arm_vcmulq_rot180_x): Delete. - (__arm_vcmulq_rot270_x): Delete. - -2023-07-14 Christophe Lyon - - * config/arm/arm_mve_builtins.def (vcmulq_rot90_f) - (vcmulq_rot270_f, vcmulq_rot180_f, vcmulq_f): Add "_f" suffix. - * config/arm/iterators.md (MVE_VCADDQ_VCMULQ) - (MVE_VCADDQ_VCMULQ_M): New. - (mve_insn): Add vcmul. - (rot): Add VCMULQ_M_F, VCMULQ_ROT90_M_F, VCMULQ_ROT180_M_F, - VCMULQ_ROT270_M_F. - (VCMUL): Delete. - (mve_rot): Add VCMULQ_M_F, VCMULQ_ROT90_M_F, VCMULQ_ROT180_M_F, - VCMULQ_ROT270_M_F. - * config/arm/mve.md (mve_vcmulq): Merge into - @mve_q_f. - (mve_vcmulq_m_f, mve_vcmulq_rot180_m_f) - (mve_vcmulq_rot270_m_f, mve_vcmulq_rot90_m_f): Merge - into @mve_q_m_f. - -2023-07-14 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vcaddq_rot90) - (vcaddq_rot270, vhcaddq_rot90, vhcaddq_rot270): New. - * config/arm/arm-mve-builtins-base.def (vcaddq_rot90) - (vcaddq_rot270, vhcaddq_rot90, vhcaddq_rot270): New. - * config/arm/arm-mve-builtins-base.h: (vcaddq_rot90) - (vcaddq_rot270, vhcaddq_rot90, vhcaddq_rot270): New. - * config/arm/arm-mve-builtins-functions.h (class - unspec_mve_function_exact_insn_rot): New. - * config/arm/arm_mve.h (vcaddq_rot90): Delete. - (vcaddq_rot270): Delete. - (vhcaddq_rot90): Delete. - (vhcaddq_rot270): Delete. - (vcaddq_rot270_m): Delete. - (vcaddq_rot90_m): Delete. - (vhcaddq_rot270_m): Delete. - (vhcaddq_rot90_m): Delete. - (vcaddq_rot90_x): Delete. - (vcaddq_rot270_x): Delete. - (vhcaddq_rot90_x): Delete. - (vhcaddq_rot270_x): Delete. - (vcaddq_rot90_u8): Delete. - (vcaddq_rot270_u8): Delete. - (vhcaddq_rot90_s8): Delete. - (vhcaddq_rot270_s8): Delete. - (vcaddq_rot90_s8): Delete. - (vcaddq_rot270_s8): Delete. - (vcaddq_rot90_u16): Delete. - (vcaddq_rot270_u16): Delete. - (vhcaddq_rot90_s16): Delete. - (vhcaddq_rot270_s16): Delete. - (vcaddq_rot90_s16): Delete. - (vcaddq_rot270_s16): Delete. - (vcaddq_rot90_u32): Delete. - (vcaddq_rot270_u32): Delete. - (vhcaddq_rot90_s32): Delete. - (vhcaddq_rot270_s32): Delete. - (vcaddq_rot90_s32): Delete. - (vcaddq_rot270_s32): Delete. - (vcaddq_rot90_f16): Delete. - (vcaddq_rot270_f16): Delete. - (vcaddq_rot90_f32): Delete. - (vcaddq_rot270_f32): Delete. - (vcaddq_rot270_m_s8): Delete. - (vcaddq_rot270_m_s32): Delete. - (vcaddq_rot270_m_s16): Delete. - (vcaddq_rot270_m_u8): Delete. - (vcaddq_rot270_m_u32): Delete. - (vcaddq_rot270_m_u16): Delete. - (vcaddq_rot90_m_s8): Delete. - (vcaddq_rot90_m_s32): Delete. - (vcaddq_rot90_m_s16): Delete. - (vcaddq_rot90_m_u8): Delete. - (vcaddq_rot90_m_u32): Delete. - (vcaddq_rot90_m_u16): Delete. - (vhcaddq_rot270_m_s8): Delete. - (vhcaddq_rot270_m_s32): Delete. - (vhcaddq_rot270_m_s16): Delete. - (vhcaddq_rot90_m_s8): Delete. - (vhcaddq_rot90_m_s32): Delete. - (vhcaddq_rot90_m_s16): Delete. - (vcaddq_rot270_m_f32): Delete. - (vcaddq_rot270_m_f16): Delete. - (vcaddq_rot90_m_f32): Delete. - (vcaddq_rot90_m_f16): Delete. - (vcaddq_rot90_x_s8): Delete. - (vcaddq_rot90_x_s16): Delete. - (vcaddq_rot90_x_s32): Delete. - (vcaddq_rot90_x_u8): Delete. - (vcaddq_rot90_x_u16): Delete. - (vcaddq_rot90_x_u32): Delete. - (vcaddq_rot270_x_s8): Delete. - (vcaddq_rot270_x_s16): Delete. - (vcaddq_rot270_x_s32): Delete. - (vcaddq_rot270_x_u8): Delete. - (vcaddq_rot270_x_u16): Delete. - (vcaddq_rot270_x_u32): Delete. - (vhcaddq_rot90_x_s8): Delete. - (vhcaddq_rot90_x_s16): Delete. - (vhcaddq_rot90_x_s32): Delete. - (vhcaddq_rot270_x_s8): Delete. - (vhcaddq_rot270_x_s16): Delete. - (vhcaddq_rot270_x_s32): Delete. - (vcaddq_rot90_x_f16): Delete. - (vcaddq_rot90_x_f32): Delete. - (vcaddq_rot270_x_f16): Delete. - (vcaddq_rot270_x_f32): Delete. - (__arm_vcaddq_rot90_u8): Delete. - (__arm_vcaddq_rot270_u8): Delete. - (__arm_vhcaddq_rot90_s8): Delete. - (__arm_vhcaddq_rot270_s8): Delete. - (__arm_vcaddq_rot90_s8): Delete. - (__arm_vcaddq_rot270_s8): Delete. - (__arm_vcaddq_rot90_u16): Delete. - (__arm_vcaddq_rot270_u16): Delete. - (__arm_vhcaddq_rot90_s16): Delete. - (__arm_vhcaddq_rot270_s16): Delete. - (__arm_vcaddq_rot90_s16): Delete. - (__arm_vcaddq_rot270_s16): Delete. - (__arm_vcaddq_rot90_u32): Delete. - (__arm_vcaddq_rot270_u32): Delete. - (__arm_vhcaddq_rot90_s32): Delete. - (__arm_vhcaddq_rot270_s32): Delete. - (__arm_vcaddq_rot90_s32): Delete. - (__arm_vcaddq_rot270_s32): Delete. - (__arm_vcaddq_rot270_m_s8): Delete. - (__arm_vcaddq_rot270_m_s32): Delete. - (__arm_vcaddq_rot270_m_s16): Delete. - (__arm_vcaddq_rot270_m_u8): Delete. - (__arm_vcaddq_rot270_m_u32): Delete. - (__arm_vcaddq_rot270_m_u16): Delete. - (__arm_vcaddq_rot90_m_s8): Delete. - (__arm_vcaddq_rot90_m_s32): Delete. - (__arm_vcaddq_rot90_m_s16): Delete. - (__arm_vcaddq_rot90_m_u8): Delete. - (__arm_vcaddq_rot90_m_u32): Delete. - (__arm_vcaddq_rot90_m_u16): Delete. - (__arm_vhcaddq_rot270_m_s8): Delete. - (__arm_vhcaddq_rot270_m_s32): Delete. - (__arm_vhcaddq_rot270_m_s16): Delete. - (__arm_vhcaddq_rot90_m_s8): Delete. - (__arm_vhcaddq_rot90_m_s32): Delete. - (__arm_vhcaddq_rot90_m_s16): Delete. - (__arm_vcaddq_rot90_x_s8): Delete. - (__arm_vcaddq_rot90_x_s16): Delete. - (__arm_vcaddq_rot90_x_s32): Delete. - (__arm_vcaddq_rot90_x_u8): Delete. - (__arm_vcaddq_rot90_x_u16): Delete. - (__arm_vcaddq_rot90_x_u32): Delete. - (__arm_vcaddq_rot270_x_s8): Delete. - (__arm_vcaddq_rot270_x_s16): Delete. - (__arm_vcaddq_rot270_x_s32): Delete. - (__arm_vcaddq_rot270_x_u8): Delete. - (__arm_vcaddq_rot270_x_u16): Delete. - (__arm_vcaddq_rot270_x_u32): Delete. - (__arm_vhcaddq_rot90_x_s8): Delete. - (__arm_vhcaddq_rot90_x_s16): Delete. - (__arm_vhcaddq_rot90_x_s32): Delete. - (__arm_vhcaddq_rot270_x_s8): Delete. - (__arm_vhcaddq_rot270_x_s16): Delete. - (__arm_vhcaddq_rot270_x_s32): Delete. - (__arm_vcaddq_rot90_f16): Delete. - (__arm_vcaddq_rot270_f16): Delete. - (__arm_vcaddq_rot90_f32): Delete. - (__arm_vcaddq_rot270_f32): Delete. - (__arm_vcaddq_rot270_m_f32): Delete. - (__arm_vcaddq_rot270_m_f16): Delete. - (__arm_vcaddq_rot90_m_f32): Delete. - (__arm_vcaddq_rot90_m_f16): Delete. - (__arm_vcaddq_rot90_x_f16): Delete. - (__arm_vcaddq_rot90_x_f32): Delete. - (__arm_vcaddq_rot270_x_f16): Delete. - (__arm_vcaddq_rot270_x_f32): Delete. - (__arm_vcaddq_rot90): Delete. - (__arm_vcaddq_rot270): Delete. - (__arm_vhcaddq_rot90): Delete. - (__arm_vhcaddq_rot270): Delete. - (__arm_vcaddq_rot270_m): Delete. - (__arm_vcaddq_rot90_m): Delete. - (__arm_vhcaddq_rot270_m): Delete. - (__arm_vhcaddq_rot90_m): Delete. - (__arm_vcaddq_rot90_x): Delete. - (__arm_vcaddq_rot270_x): Delete. - (__arm_vhcaddq_rot90_x): Delete. - (__arm_vhcaddq_rot270_x): Delete. - -2023-07-14 Christophe Lyon - - * config/arm/arm_mve_builtins.def (vcaddq_rot90_, vcaddq_rot270_) - (vcaddq_rot90_f, vcaddq_rot90_f): Add "_" or "_f" suffix. - * config/arm/iterators.md (mve_insn): Add vcadd, vhcadd. - (isu): Add UNSPEC_VCADD90, UNSPEC_VCADD270, VCADDQ_ROT270_M_U, - VCADDQ_ROT270_M_S, VCADDQ_ROT90_M_U, VCADDQ_ROT90_M_S, - VHCADDQ_ROT90_M_S, VHCADDQ_ROT270_M_S, VHCADDQ_ROT90_S, - VHCADDQ_ROT270_S. - (rot): Add VCADDQ_ROT90_M_F, VCADDQ_ROT90_M_S, VCADDQ_ROT90_M_U, - VCADDQ_ROT270_M_F, VCADDQ_ROT270_M_S, VCADDQ_ROT270_M_U, - VHCADDQ_ROT90_S, VHCADDQ_ROT270_S, VHCADDQ_ROT90_M_S, - VHCADDQ_ROT270_M_S. - (mve_rot): Add VCADDQ_ROT90_M_F, VCADDQ_ROT90_M_S, - VCADDQ_ROT90_M_U, VCADDQ_ROT270_M_F, VCADDQ_ROT270_M_S, - VCADDQ_ROT270_M_U, VHCADDQ_ROT90_S, VHCADDQ_ROT270_S, - VHCADDQ_ROT90_M_S, VHCADDQ_ROT270_M_S. - (supf): Add VHCADDQ_ROT90_M_S, VHCADDQ_ROT270_M_S, - VHCADDQ_ROT90_S, VHCADDQ_ROT270_S, UNSPEC_VCADD90, - UNSPEC_VCADD270. - (VCADDQ_ROT270_M): Delete. - (VCADDQ_M_F VxCADDQ VxCADDQ_M): New. - (VCADDQ_ROT90_M): Delete. - * config/arm/mve.md (mve_vcaddq) - (mve_vhcaddq_rot270_s, mve_vhcaddq_rot90_s): Merge - into ... - (@mve_q_): ... this. - (mve_vcaddq): Rename into ... - (@mve_q_f): ... this - (mve_vcaddq_rot270_m_) - (mve_vcaddq_rot90_m_, mve_vhcaddq_rot270_m_s) - (mve_vhcaddq_rot90_m_s): Merge into ... - (@mve_q_m_): ... this. - (mve_vcaddq_rot270_m_f, mve_vcaddq_rot90_m_f): Merge - into ... - (@mve_q_m_f): ... this. - -2023-07-14 Roger Sayle - - PR target/110588 - * config/i386/i386.md (*bt_setcqi): Prefer string form - preparation statement over braces for a single statement. - (*bt_setncqi): Likewise. - (*bt_setncqi_2): New define_insn_and_split. - -2023-07-14 Roger Sayle - - * config/i386/i386-expand.cc (ix86_expand_move): Generalize special - case inserting of 64-bit values into a TImode register, to handle - both DImode and DFmode using either *insvti_lowpart_1 - or *isnvti_highpart_1. - -2023-07-14 Uros Bizjak - - PR target/110206 - * fwprop.cc (contains_paradoxical_subreg_p): Move to ... - * rtlanal.cc (contains_paradoxical_subreg_p): ... here. - * rtlanal.h (contains_paradoxical_subreg_p): Add prototype. - * cprop.cc (try_replace_reg): Do not set REG_EQUAL note - when the original source contains a paradoxical subreg. - -2023-07-14 Jan Hubicka - - * passes.cc (execute_function_todo): Remove - TODO_rebuild_frequencies - * passes.def: Add rebuild_frequencies pass. - * predict.cc (estimate_bb_frequencies): Drop - force parameter. - (tree_estimate_probability): Update call of - estimate_bb_frequencies. - (rebuild_frequencies): Turn into a pass; verify CFG profile consistency - first and do not rebuild if not necessary. - (class pass_rebuild_frequencies): New. - (make_pass_rebuild_frequencies): New. - * profile-count.h: Add profile_count::very_large_p. - * tree-inline.cc (optimize_inline_calls): Do not return - TODO_rebuild_frequencies - * tree-pass.h (TODO_rebuild_frequencies): Remove. - (make_pass_rebuild_frequencies): Declare. - -2023-07-14 Juzhe-Zhong - - * config/riscv/autovec.md (cond_len_fma): New pattern. - * config/riscv/riscv-protos.h (enum insn_type): New enum. - (expand_cond_len_ternop): New function. - * config/riscv/riscv-v.cc (emit_nonvlmax_fp_ternary_tu_insn): Ditto. - (expand_cond_len_ternop): Ditto. - -2023-07-14 Jose E. Marchesi - - PR target/110657 - * config/bpf/bpf.md: Enable instruction scheduling. - -2023-07-14 Tamar Christina - - PR tree-optimization/109154 - * tree-if-conv.cc (INCLUDE_ALGORITHM): Include. - (struct bb_predicate): Add no_predicate_stmts. - (set_bb_predicate): Increase predicate count. - (set_bb_predicate_gimplified_stmts): Conditionally initialize - no_predicate_stmts. - (get_bb_num_predicate_stmts): New. - (init_bb_predicate): Initialzie no_predicate_stmts. - (release_bb_predicate): Cleanup no_predicate_stmts. - (insert_gimplified_predicates): Preserve no_predicate_stmts. - -2023-07-14 Tamar Christina - - PR tree-optimization/109154 - * tree-if-conv.cc (gen_simplified_condition, - gen_phi_nest_statement): New. - (gen_phi_arg_condition, predicate_scalar_phi): Use it. - -2023-07-14 Richard Biener - - * gimple.h (gimple_phi_arg): New const overload. - (gimple_phi_arg_def): Make gimple arg const. - (gimple_phi_arg_def_from_edge): New inline function. - * tree-phinodes.h (gimple_phi_arg_imm_use_ptr_from_edge): - Likewise. - * tree-ssa-operands.h (PHI_ARG_DEF_FROM_EDGE): Direct to - new inline function. - (PHI_ARG_DEF_PTR_FROM_EDGE): Likewise. - -2023-07-14 Monk Chiang - - * common/config/riscv/riscv-common.cc: - (riscv_implied_info): Add zihintntl item. - (riscv_ext_version_table): Ditto. - (riscv_ext_flag_table): Ditto. - * config/riscv/riscv-opts.h (MASK_ZIHINTNTL): New macro. - (TARGET_ZIHINTNTL): Ditto. - -2023-07-14 Die Li - - * config/riscv/riscv.md: Remove redundant portion in and3. - -2023-07-14 Oleg Endo - - PR target/101469 - * config/sh/sh.md (peephole2): Handle case where eliminated reg is also - used by the address of the following memory operand. - -2023-07-13 Mikael Pettersson - - PR target/107841 - * config/pdp11/pdp11.cc (pdp11_expand_epilogue): Also - deallocate alloca-only frame. - -2023-07-13 Iain Sandoe - - PR target/110624 - * config/darwin.h (DARWIN_PLATFORM_ID): New. - (LINK_COMMAND_A): Use DARWIN_PLATFORM_ID to pass OS, OS version - and SDK data to the static linker. - -2023-07-13 Carl Love - - * config/rs6000/rs6000-builtins.def (__builtin_set_fpscr_rn): Update - built-in definition return type. - * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Add check, - define __SET_FPSCR_RN_RETURNS_FPSCR__ macro. - * config/rs6000/rs6000.md (rs6000_set_fpscr_rn): Add return - argument to return FPSCR fields. - * doc/extend.texi (__builtin_set_fpscr_rn): Update description for - the return value. Add description for - __SET_FPSCR_RN_RETURNS_FPSCR__ macro. - -2023-07-13 Uros Bizjak - - PR target/106966 - * config/alpha/alpha.cc (alpha_emit_set_long_const): - Always use DImode when constructing long const. - -2023-07-13 Uros Bizjak - - * haifa-sched.cc: Change TRUE/FALSE to true/false. - * ira.cc: Ditto. - * lra-assigns.cc: Ditto. - * lra-constraints.cc: Ditto. - * sel-sched.cc: Ditto. - -2023-07-13 Andrew Pinski - - PR tree-optimization/110293 - PR tree-optimization/110539 - * match.pd: Expand the `x != (typeof x)(x == 0)` - pattern to handle where the inner and outer comparsions - are either `!=` or `==` and handle other constants - than 0. - -2023-07-13 Vladimir N. Makarov - - PR middle-end/109520 - * lra-int.h (lra_insn_recog_data): Add member asm_reloads_num. - (lra_asm_insn_error): New prototype. - * lra.cc: Include rtl_error.h. - (lra_set_insn_recog_data): Initialize asm_reloads_num. - (lra_asm_insn_error): New func whose code is taken from ... - * lra-assigns.cc (lra_split_hard_reg_for): ... here. Use lra_asm_insn_error. - * lra-constraints.cc (curr_insn_transform): Check reloads nummber for asm. - -2023-07-13 Ju-Zhe Zhong - - * genmatch.cc (commutative_op): Add COND_LEN_* - * internal-fn.cc (first_commutative_argument): Ditto. - (CASE): Ditto. - (get_unconditional_internal_fn): Ditto. - (can_interpret_as_conditional_op_p): Ditto. - (internal_fn_len_index): Ditto. - * internal-fn.h (can_interpret_as_conditional_op_p): Ditt. - * tree-ssa-math-opts.cc (convert_mult_to_fma_1): Ditto. - (convert_mult_to_fma): Ditto. - (math_opts_dom_walker::after_dom_children): Ditto. - -2023-07-13 Pan Li - - * config/riscv/riscv.cc (vxrm_rtx): New static var. - (frm_rtx): Ditto. - (global_state_unknown_p): Removed. - (riscv_entity_mode_after): Removed. - (asm_insn_p): New function. - (vxrm_unknown_p): New function for fixed-point. - (riscv_vxrm_mode_after): Ditto. - (frm_unknown_dynamic_p): New function for floating-point. - (riscv_frm_mode_after): Ditto. - (riscv_mode_after): Leverage new functions. - -2023-07-13 Kewen Lin - - * tree-vect-stmts.cc (vect_model_load_cost): Remove. - (vectorizable_load): Adjust the cost handling on VMAT_CONTIGUOUS without - calling vect_model_load_cost. - -2023-07-13 Kewen Lin - - * tree-vect-stmts.cc (vect_model_load_cost): Assert this function only - handle memory_access_type VMAT_CONTIGUOUS, remove some - VMAT_CONTIGUOUS_PERMUTE related handlings. - (vectorizable_load): Adjust the cost handling on VMAT_CONTIGUOUS_PERMUTE - without calling vect_model_load_cost. - -2023-07-13 Kewen Lin - - * tree-vect-stmts.cc (vect_model_load_cost): Assert it won't get - VMAT_CONTIGUOUS_REVERSE any more. - (vectorizable_load): Adjust the costing handling on - VMAT_CONTIGUOUS_REVERSE without calling vect_model_load_cost. - -2023-07-13 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_load): Adjust the cost handling on - VMAT_LOAD_STORE_LANES without calling vect_model_load_cost. - (vectorizable_load): Remove VMAT_LOAD_STORE_LANES related handling and - assert it will never get VMAT_LOAD_STORE_LANES. - -2023-07-13 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_load): Adjust the cost handling on - VMAT_GATHER_SCATTER without calling vect_model_load_cost. - (vect_model_load_cost): Adjut the assertion on VMAT_GATHER_SCATTER, - remove VMAT_GATHER_SCATTER related handlings and the related parameter - gs_info. - -2023-07-13 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_load): Adjust the cost handling - on VMAT_ELEMENTWISE and VMAT_STRIDED_SLP without calling - vect_model_load_cost. - (vect_model_load_cost): Assert it won't get VMAT_ELEMENTWISE and - VMAT_STRIDED_SLP any more, and remove their related handlings. - -2023-07-13 Kewen Lin - - * tree-vect-stmts.cc (hoist_defs_of_uses): Add one argument HOIST_P. - (vectorizable_load): Adjust the handling on VMAT_INVARIANT to respect - hoisting decision and without calling vect_model_load_cost. - (vect_model_load_cost): Assert it won't get VMAT_INVARIANT any more - and remove VMAT_INVARIANT related handlings. - -2023-07-13 Kewen Lin - - * tree-vect-stmts.cc (vect_build_gather_load_calls): Add the handlings - on costing with one extra argument cost_vec. - (vectorizable_load): Adjust the call to vect_build_gather_load_calls. - (vect_model_load_cost): Assert it won't get VMAT_GATHER_SCATTER with - gs_info.decl set any more. - -2023-07-13 Kewen Lin - - * tree-vect-stmts.cc (vectorizable_load): Move and duplicate the call - to vect_model_load_cost down to some different transform paths - according to the handlings of different vect_memory_access_types. - -2023-07-13 Kewen Lin - - * tree.h (wi::from_mpz): Hide from GENERATOR_FILE. - -2023-07-13 Ju-Zhe Zhong - - * config/riscv/autovec.md - (len_mask_gather_load): New pattern. - (len_mask_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (len_mask_gather_load): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - (len_mask_scatter_store): Ditto. - * config/riscv/predicates.md (const_1_operand): New predicate. - (vector_gs_scale_operand_16): Ditto. - (vector_gs_scale_operand_32): Ditto. - (vector_gs_scale_operand_64): Ditto. - (vector_gs_extension_operand): Ditto. - (vector_gs_scale_operand_16_rv32): Ditto. - (vector_gs_scale_operand_32_rv32): Ditto. - * config/riscv/riscv-protos.h (enum insn_type): Add gather/scatter. - (expand_gather_scatter): New function. - * config/riscv/riscv-v.cc (gen_const_vector_dup): Add gather/scatter. - (emit_vlmax_masked_store_insn): New function. - (emit_nonvlmax_masked_store_insn): Ditto. - (modulo_sel_indices): Ditto. - (expand_vec_perm): Fix SLP for gather/scatter. - (prepare_gather_scatter): New function. - (expand_gather_scatter): Ditto. - * config/riscv/riscv.cc (riscv_legitimize_move): Fix bug of - (subreg:SI (DI CONST_POLY_INT)). - * config/riscv/vector-iterators.md: Add gather/scatter. - * config/riscv/vector.md (vec_duplicate): Use "@" instead. - (@vec_duplicate): Ditto. - (@pred_indexed_store): - Fix name. - (@pred_indexed_store): Ditto. - -2023-07-12 Juzhe-Zhong - - * config/riscv/autovec.md (cond_len_): New pattern. - * config/riscv/riscv-protos.h (enum insn_type): New enum. - (expand_cond_len_binop): New function. - * config/riscv/riscv-v.cc (emit_nonvlmax_tu_insn): Ditto. - (emit_nonvlmax_fp_tu_insn): Ditto. - (need_fp_rounding_p): Ditto. - (expand_cond_len_binop): Ditto. - * config/riscv/riscv.cc (riscv_preferred_else_value): Ditto. - (TARGET_PREFERRED_ELSE_VALUE): New target hook. - -2023-07-12 Jan Hubicka - - * tree-cfg.cc (gimple_duplicate_sese_region): Rename to ... - (gimple_duplicate_seme_region): ... this; break out profile updating - code to ... - * tree-ssa-loop-ch.cc (update_profile_after_ch): ... here. - (ch_base::copy_headers): Update. - * tree-cfg.h (gimple_duplicate_sese_region): Rename to ... - (gimple_duplicate_seme_region): ... this. - -2023-07-12 Aldy Hernandez - - PR tree-optimization/107043 - * range-op.cc (operator_bitwise_and::op1_range): Update bitmask. - -2023-07-12 Aldy Hernandez - - PR tree-optimization/107053 - * gimple-range-op.cc (cfn_popcount): Use known set bits. - -2023-07-12 Uros Bizjak - - * ira.cc (equiv_init_varies_p): Change return type from int to bool - and adjust function body accordingly. - (equiv_init_movable_p): Ditto. - (memref_used_between_p): Ditto. - * lra-constraints.cc (valid_address_p): Ditto. - -2023-07-12 Aldy Hernandez - - * range-op.cc (irange_to_masked_value): Remove. - (update_known_bitmask): Update irange value/mask pair instead of - only updating nonzero bits. - -2023-07-12 Jan Hubicka - - * tree-cfg.cc (gimple_duplicate_sese_region): Add ORIG_ELIMINATED_EDGES - parameter and rewrite profile updating code to handle edges elimination. - * tree-cfg.h (gimple_duplicate_sese_region): Update prototpe. - * tree-ssa-loop-ch.cc (loop_invariant_op_p): New function. - (loop_iv_derived_p): New function. - (should_duplicate_loop_header_p): Track invariant exit edges; fix handling - of PHIs and propagation of IV derived variables. - (ch_base::copy_headers): Pass around the invariant edges hash set. - -2023-07-12 Uros Bizjak - - * ifcvt.cc (cond_exec_changed_p): Change variable to bool. - (last_active_insn): Change "skip_use_p" function argument to bool. - (noce_operand_ok): Change return type from int to bool. - (find_cond_trap): Ditto. - (block_jumps_and_fallthru_p): Change "fallthru_p" and - "jump_p" variables to bool. - (noce_find_if_block): Change return type from int to bool. - (cond_exec_find_if_block): Ditto. - (find_if_case_1): Ditto. - (find_if_case_2): Ditto. - (dead_or_predicable): Ditto. Change "reversep" function arg to bool. - (block_jumps_and_fallthru): Rename from block_jumps_and_fallthru_p. - (cond_exec_process_insns): Change return type from int to bool. - Change "mod_ok" function arg to bool. - (cond_exec_process_if_block): Change return type from int to bool. - Change "do_multiple_p" function arg to bool. Change "then_mod_ok" - variable to bool. - (noce_emit_store_flag): Change return type from int to bool. - Change "reversep" function arg to bool. Change "cond_complex" - variable to bool. - (noce_try_move): Change return type from int to bool. - (noce_try_ifelse_collapse): Ditto. - (noce_try_store_flag): Ditto. Change "reversep" variable to bool. - (noce_try_addcc): Change return type from int to bool. Change - "subtract" variable to bool. - (noce_try_store_flag_constants): Change return type from int to bool. - (noce_try_store_flag_mask): Ditto. Change "reversep" variable to bool. - (noce_try_cmove): Change return type from int to bool. - (noce_try_cmove_arith): Ditto. Change "is_mem" variable to bool. - (noce_try_minmax): Change return type from int to bool. Change - "unsignedp" variable to bool. - (noce_try_abs): Change return type from int to bool. Change - "negate" variable to bool. - (noce_try_sign_mask): Change return type from int to bool. - (noce_try_move): Ditto. - (noce_try_store_flag_constants): Ditto. - (noce_try_cmove): Ditto. - (noce_try_cmove_arith): Ditto. - (noce_try_minmax): Ditto. Change "unsignedp" variable to bool. - (noce_try_bitop): Change return type from int to bool. - (noce_operand_ok): Ditto. - (noce_convert_multiple_sets): Ditto. - (noce_convert_multiple_sets_1): Ditto. - (noce_process_if_block): Ditto. - (check_cond_move_block): Ditto. - (cond_move_process_if_block): Ditto. Change "success_p" - variable to bool. - (rest_of_handle_if_conversion): Change return type to void. - -2023-07-12 Ju-Zhe Zhong - - * internal-fn.cc (FOR_EACH_CODE_MAPPING): Adapt for COND_LEN_* support. - (CASE): Ditto. - (get_conditional_len_internal_fn): New function. - * internal-fn.h (get_conditional_len_internal_fn): Ditto. - * tree-vect-stmts.cc (vectorizable_operation): Adapt for COND_LEN_* - support. - -2023-07-12 Roger Sayle - - PR target/91681 - * config/i386/i386.md (*add3_doubleword_concat_zext): Typo. - -2023-07-12 Roger Sayle - - PR target/91681 - * config/i386/i386.md (*add3_doubleword_concat_zext): New - define_insn_and_split derived from *add3_doubleword_concat - and *add3_doubleword_zext. - -2023-07-12 Roger Sayle - - PR target/110598 - * config/i386/i386.md (peephole2): Check !reg_mentioned_p when - optimizing rega = 0; rega op= regb for op in [XOR,IOR,PLUS]. - (peephole2): Simplify rega = 0; rega op= rega cases. - -2023-07-12 Roger Sayle - - * config/i386/i386-expand.cc (ix86_expand_int_compare): If - testing a TImode SUBREG of a 128-bit vector register against - zero, use a PTEST instruction instead of first moving it to - a pair of scalar registers. - -2023-07-12 Robin Dapp - - * genopinit.cc (main): Adjust maximal number of optabs and - machine modes. - * gensupport.cc (find_optab): Shift optab by 20 and mode by - 10 bits. - * optabs-query.h (optab_handler): Ditto. - (convert_optab_handler): Ditto. - -2023-07-12 Richard Biener - - PR tree-optimization/110630 - * tree-vect-slp.cc (vect_add_slp_permutation): New - offset parameter, honor that for the extract code generation. - (vectorizable_slp_permutation_1): Handle offsetted identities. - -2023-07-12 Ju-Zhe Zhong - - * config/riscv/autovec.md (smul3_highpart): New pattern. - (umul3_highpart): Ditto. - -2023-07-12 Jan Beulich - - * config/i386/i386.md (extendbfsf2_1): Add new AVX512F - alternative. Adjust original last alternative's "prefix" - attribute to maybe_evex. - -2023-07-12 Jan Beulich - - * config/i386/sse.md (vec_dupv4sf): Make first alternative use - vbroadcastss for AVX2. New AVX512F alternative. - (*vec_dupv4si): New AVX2 and AVX512F alternatives using - vpbroadcastd. Replace sselog1 by sseshuf1 in "type" attribute. - -2023-07-12 Christoph Müllner - - * config/riscv/peephole.md: Remove XThead* peephole passes. - * config/riscv/thead.md: Include thead-peephole.md. - * config/riscv/thead-peephole.md: New file. - -2023-07-12 Christoph Müllner - - * config/riscv/riscv-protos.h (riscv_regno_ok_for_index_p): - New prototype. - (riscv_index_reg_class): Likewise. - * config/riscv/riscv.cc (riscv_regno_ok_for_index_p): New function. - (riscv_index_reg_class): New function. - * config/riscv/riscv.h (INDEX_REG_CLASS): Call new function - riscv_index_reg_class(). - (REGNO_OK_FOR_INDEX_P): Call new function - riscv_regno_ok_for_index_p(). - -2023-07-12 Christoph Müllner - - * config/riscv/riscv-protos.h (enum riscv_address_type): - New location of type definition. - (struct riscv_address_info): Likewise. - * config/riscv/riscv.cc (enum riscv_address_type): - Old location of type definition. - (struct riscv_address_info): Likewise. - -2023-07-12 Christoph Müllner - - * config/riscv/riscv.h (Xmode): New macro. - -2023-07-12 Christoph Müllner - - * config/riscv/riscv.cc (riscv_print_operand_address): Use - output_addr_const rather than riscv_print_operand. - -2023-07-12 Christoph Müllner - - * config/riscv/thead.md: Adjust constraints of th_addsl. - -2023-07-12 Christoph Müllner - - * config/riscv/thead.cc (th_mempair_operands_p): - Fix documentation of th_mempair_order_operands(). - -2023-07-12 Christoph Müllner - - * config/riscv/thead.cc (th_mempair_save_regs): - Emit REG_FRAME_RELATED_EXPR notes in prologue. - -2023-07-12 Christoph Müllner - - * config/riscv/riscv.md: No base-ISA extension splitter for XThead*. - * config/riscv/thead.md (*extend2_th_ext): - New XThead extension INSN. - (*zero_extendsidi2_th_extu): New XThead extension INSN. - (*zero_extendhi2_th_extu): New XThead extension INSN. - -2023-07-12 liuhongt - - PR target/110438 - PR target/110202 - * config/i386/predicates.md - (int_float_vector_all_ones_operand): New predicate. - * config/i386/sse.md (*vmov_constm1_pternlog_false_dep): New - define_insn. - (*_cvtmask2_pternlog_false_dep): - Ditto. - (*_cvtmask2_pternlog_false_dep): - Ditto. - (*_cvtmask2): Adjust to - define_insn_and_split to avoid false dependence. - (*_cvtmask2): Ditto. - (one_cmpl2): Adjust constraint - of operands 1 to '0' to avoid false dependence. - (*andnot3): Ditto. - (iornot3): Ditto. - (*3): Ditto. - -2023-07-12 Mo, Zewei - - * common/config/i386/cpuinfo.h - (get_intel_cpu): Handle Granite Rapids D. - * common/config/i386/i386-common.cc: - (processor_alias_table): Add graniterapids-d. - * common/config/i386/i386-cpuinfo.h - (enum processor_subtypes): Add INTEL_COREI7_GRANITERAPIDS_D. - * config.gcc: Add -march=graniterapids-d. - * config/i386/driver-i386.cc (host_detect_local_cpu): - Handle graniterapids-d. - * config/i386/i386.h: (PTA_GRANITERAPIDS_D): New. - * doc/extend.texi: Add graniterapids-d. - * doc/invoke.texi: Ditto. - -2023-07-12 Haochen Jiang - - * config/i386/i386-builtins.cc (ix86_init_mmx_sse_builtins): - Add OPTION_MASK_ISA_AVX512VL. - * config/i386/i386-expand.cc (ix86_check_builtin_isa_match): - Ditto. - -2023-07-11 Ju-Zhe Zhong - - * config/riscv/riscv-protos.h (enum insn_type): Add vcompress optimization. - * config/riscv/riscv-v.cc (emit_vlmax_compress_insn): Ditto. - (shuffle_compress_patterns): Ditto. - (expand_vec_perm_const_1): Ditto. - -2023-07-11 Uros Bizjak - - * cfghooks.cc (verify_flow_info): Change "err" variable to bool. - * cfghooks.h (struct cfg_hooks): Change return type of - verify_flow_info from integer to bool. - * cfgrtl.cc (can_delete_note_p): Change return type from int to bool. - (can_delete_label_p): Ditto. - (rtl_verify_flow_info): Change return type from int to bool - and adjust function body accordingly. Change "err" variable to bool. - (rtl_verify_flow_info_1): Ditto. - (free_bb_for_insn): Change return type to void. - (rtl_merge_blocks): Change "b_empty" variable to bool. - (try_redirect_by_replacing_jump): Change "fallthru" variable to bool. - (verify_hot_cold_block_grouping): Change return type from int to bool. - Change "err" variable to bool. - (rtl_verify_edges): Ditto. - (rtl_verify_bb_insns): Ditto. - (rtl_verify_bb_pointers): Ditto. - (rtl_verify_bb_insn_chain): Ditto. - (rtl_verify_fallthru): Ditto. - (rtl_verify_bb_layout): Ditto. - (purge_all_dead_edges): Change "purged" variable to bool. - * cfgrtl.h (free_bb_for_insn): Change return type from int to void. - * postreload-gcse.cc (expr_hasher::equal): Change "equiv_p" to bool. - (load_killed_in_block_p): Change return type from int to bool - and adjust function body accordingly. - (oprs_unchanged_p): Return true/false. - (rest_of_handle_gcse2): Change return type to void. - * tree-cfg.cc (gimple_verify_flow_info): Change return type from - int to bool. Change "err" variable to bool. - -2023-07-11 Gaius Mulley - - * doc/gm2.texi (-Wuninit-variable-checking=) New item. - -2023-07-11 Ju-Zhe Zhong - - * doc/md.texi: Add COND_LEN_* operations for loop control with length. - * internal-fn.cc (cond_len_unary_direct): Ditto. - (cond_len_binary_direct): Ditto. - (cond_len_ternary_direct): Ditto. - (expand_cond_len_unary_optab_fn): Ditto. - (expand_cond_len_binary_optab_fn): Ditto. - (expand_cond_len_ternary_optab_fn): Ditto. - (direct_cond_len_unary_optab_supported_p): Ditto. - (direct_cond_len_binary_optab_supported_p): Ditto. - (direct_cond_len_ternary_optab_supported_p): Ditto. - * internal-fn.def (COND_LEN_ADD): Ditto. - (COND_LEN_SUB): Ditto. - (COND_LEN_MUL): Ditto. - (COND_LEN_DIV): Ditto. - (COND_LEN_MOD): Ditto. - (COND_LEN_RDIV): Ditto. - (COND_LEN_MIN): Ditto. - (COND_LEN_MAX): Ditto. - (COND_LEN_FMIN): Ditto. - (COND_LEN_FMAX): Ditto. - (COND_LEN_AND): Ditto. - (COND_LEN_IOR): Ditto. - (COND_LEN_XOR): Ditto. - (COND_LEN_SHL): Ditto. - (COND_LEN_SHR): Ditto. - (COND_LEN_FMA): Ditto. - (COND_LEN_FMS): Ditto. - (COND_LEN_FNMA): Ditto. - (COND_LEN_FNMS): Ditto. - (COND_LEN_NEG): Ditto. - * optabs.def (OPTAB_D): Ditto. - -2023-07-11 Richard Biener - - PR tree-optimization/110614 - * tree-vect-data-refs.cc (vect_supportable_dr_alignment): - SLP splats are not suitable for re-align ops. - -2023-07-10 Peter Bergner - - * config/rs6000/predicates.md (quad_memory_operand): Remove redundant - MEM_P usage. - (vsx_quad_dform_memory_operand): Likewise. - -2023-07-10 Uros Bizjak - - * reorg.cc (stop_search_p): Change return type from int to bool - and adjust function body accordingly. - (resource_conflicts_p): Ditto. - (insn_references_resource_p): Change return type from int to bool. - (insn_sets_resource_p): Ditto. - (redirect_with_delay_slots_safe_p): Ditto. - (condition_dominates_p): Change return type from int to bool - and adjust function body accordingly. - (redirect_with_delay_list_safe_p): Ditto. - (check_annul_list_true_false): Ditto. Change "annul_true_p" - function argument to bool. - (steal_delay_list_from_target): Change "pannul_p" function - argument to bool pointer. Change "must_annul" and "used_annul" - variables from int to bool. - (steal_delay_list_from_fallthrough): Ditto. - (own_thread_p): Change return type from int to bool and adjust - function body accordingly. Change "allow_fallthrough" function - argument to bool. - (reorg_redirect_jump): Change return type from int to bool. - (fill_simple_delay_slots): Change "non_jumps_p" function - argument from int to bool. Change "maybe_never" varible to bool. - (fill_slots_from_thread): Change "likely", "thread_if_true" and - "own_thread" function arguments to bool. Change "lose" and - "must_annul" variables to bool. - (delete_from_delay_slot): Change "had_barrier" variable to bool. - (try_merge_delay_insns): Change "annul_p" variable to bool. - (fill_eager_delay_slots): Change "own_target" and "own_fallthrouhg" - variables to bool. - (rest_of_handle_delay_slots): Change return type from int to void - and adjust function body accordingly. - -2023-07-10 Kito Cheng - - * doc/extend.texi (RISC-V Operand Modifiers): New. - -2023-07-10 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (add_label_notes): Remove it. - (insert_insn_end_basic_block): Ditto. - (pass_vsetvl::commit_vsetvls): Adapt for new helper function. - * gcse.cc (insert_insn_end_basic_block): Export as global function. - * gcse.h (insert_insn_end_basic_block): Ditto. - -2023-07-10 Christophe Lyon - - PR target/110268 - * config/arm/arm-builtins.cc (arm_init_mve_builtins): Handle LTO. - (arm_builtin_decl): Hahndle MVE builtins. - * config/arm/arm-mve-builtins.cc (builtin_decl): New function. - (add_unique_function): Fix handling of - __ARM_MVE_PRESERVE_USER_NAMESPACE. - (add_overloaded_function): Likewise. - * config/arm/arm-protos.h (builtin_decl): New declaration. - -2023-07-10 Christophe Lyon - - * doc/sourcebuild.texi (arm_v8_1m_main_cde_mve_fp): Document. - -2023-07-10 Xi Ruoyao - - PR tree-optimization/110557 - * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): - Ensure the output sign-extended if necessary. - -2023-07-10 Roger Sayle - - * config/i386/i386.md (peephole2): Transform xchg insn with a - REG_UNUSED note to a (simple) move. - (*insvti_lowpart_1): New define_insn_and_split. - (*insvdi_lowpart_1): Likewise. - -2023-07-10 Roger Sayle - - * config/i386/i386-features.cc (compute_convert_gain): Tweak - gains/costs for ROTATE/ROTATERT by integer constant on AVX512VL. - (general_scalar_chain::convert_rotate): On TARGET_AVX512F generate - avx512vl_rolv2di or avx412vl_rolv4si when appropriate. - -2023-07-10 liuhongt - - PR target/110170 - * config/i386/i386.md (*ieee_max3_1): New pre_reload - splitter to detect fp max pattern. - (*ieee_min3_1): Ditto, but for fp min pattern. - -2023-07-09 Jan Hubicka - - * cfg.cc (check_bb_profile): Dump counts with relative frequency. - (dump_edge_info): Likewise. - (dump_bb_info): Likewise. - * profile-count.cc (profile_count::dump): Add comma between quality and - freq. - -2023-07-08 Jan Hubicka - - PR tree-optimization/110600 - * cfgloopmanip.cc (scale_loop_profile): Add mising profile_dump check. - -2023-07-08 Jan Hubicka - - PR middle-end/110590 - * cfgloopmanip.cc (scale_loop_profile): Avoid scaling exits within - inner loops and be more careful about inconsistent profiles. - (duplicate_loop_body_to_header_edge): Fix profile update when eliminated - exit is followed by other exit. - -2023-07-08 Uros Bizjak - - * cprop.cc (reg_available_p): Change return type from int to bool. - (reg_not_set_p): Ditto. - (try_replace_reg): Ditto. Change "success" variable to bool. - (cprop_jump): Change return type from int to void - and adjust function body accordingly. - (constprop_register): Ditto. - (cprop_insn): Ditto. Change "changed" variable to bool. - (local_cprop_pass): Change return type from int to void - and adjust function body accordingly. - (bypass_block): Ditto. Change "change", "may_be_loop_header" - and "removed_p" variables to bool. - (bypass_conditional_jumps): Change return type from int to void - and adjust function body accordingly. Change "changed" - variable to bool. - (one_cprop_pass): Ditto. - -2023-07-08 Uros Bizjak - - * gcse.cc (expr_equiv_p): Change return type from int to bool. - (oprs_unchanged_p): Change return type from int to void - and adjust function body accordingly. - (oprs_anticipatable_p): Ditto. - (oprs_available_p): Ditto. - (insert_expr_in_table): Ditto. Change "antic_p" and "avail_p" - arguments to bool. Change "found" variable to bool. - (load_killed_in_block_p): Change return type from int to void and - adjust function body accordingly. Change "avail_p" argument to bool. - (pre_expr_reaches_here_p): Change return type from int to void - and adjust function body accordingly. - (pre_delete): Ditto. Change "changed" variable to bool. - (pre_gcse): Change return type from int to void - and adjust function body accordingly. Change "did_insert" and - "changed" variables to bool. - (one_pre_gcse_pass): Change return type from int to void - and adjust function body accordingly. Change "changed" variable - to bool. - (should_hoist_expr_to_dom): Change return type from int to void - and adjust function body accordingly. Change - "visited_allocated_locally" variable to bool. - (hoist_code): Change return type from int to void and adjust - function body accordingly. Change "changed" variable to bool. - (one_code_hoisting_pass): Ditto. - (pre_edge_insert): Change return type from int to void and adjust - function body accordingly. Change "did_insert" variable to bool. - (pre_expr_reaches_here_p_work): Change return type from int to void - and adjust function body accordingly. - (simple_mem): Ditto. - (want_to_gcse_p): Change return type from int to void - and adjust function body accordingly. - (can_assign_to_reg_without_clobbers_p): Update function body - for bool return type. - (hash_scan_set): Change "antic_p" and "avail_p" variables to bool. - (pre_insert_copies): Change "added_copy" variable to bool. - -2023-07-08 Jonathan Wakely - - PR c++/110595 - PR c++/110596 - * doc/invoke.texi (Warning Options): Fix typos. - -2023-07-07 Jan Hubicka - - * profile-count.cc (profile_count::dump): Add FUN - parameter; print relative frequency. - (profile_count::debug): Update. - * profile-count.h (profile_count::dump): Update - prototype. - -2023-07-07 Roger Sayle - - PR target/43644 - PR target/110533 - * config/i386/i386-expand.cc (ix86_expand_move): Convert SETs of - TImode destinations from paradoxical SUBREGs (setting the lowpart) - into explicit zero extensions. Use *insvti_highpart_1 instruction - to set the highpart of a TImode destination. - -2023-07-07 Jan Hubicka - - * predict.cc (force_edge_cold): Use - set_edge_probability_and_rescale_others; improve dumps. - -2023-07-07 Jan Hubicka - - * cfgloopmanip.cc (scale_loop_profile): Fix computation of count_in and scaling blocks - after exit. - * tree-vect-loop-manip.cc (vect_do_peeling): Scale loop profile of the epilogue if bound - is known. - -2023-07-07 Juergen Christ - - * config/s390/s390.cc (vec_init): Fix default case - -2023-07-07 Vladimir N. Makarov - - * lra-assigns.cc (assign_by_spills): Add reload insns involving - reload pseudos with non-refined class to be processed on the next - sub-pass. - * lra-constraints.cc (enough_allocatable_hard_regs_p): New func. - (in_class_p): Use it. - (print_curr_insn_alt): New func. - (process_alt_operands): Use it. Improve debug info. - (curr_insn_transform): Use print_curr_insn_alt. Refine reload - pseudo class if it is not refined yet. - -2023-07-07 Aldy Hernandez - - * value-range.cc (irange::get_bitmask_from_range): Return all the - known bits for a singleton. - (irange::set_range_from_bitmask): Set a range of a singleton when - all bits are known. - -2023-07-07 Aldy Hernandez - - * value-range.cc (irange::intersect): Leave normalization to - caller. - -2023-07-07 Aldy Hernandez - - * data-streamer-in.cc (streamer_read_value_range): Adjust for - value/mask. - * data-streamer-out.cc (streamer_write_vrange): Same. - * range-op.cc (operator_cast::fold_range): Same. - * value-range-pretty-print.cc - (vrange_printer::print_irange_bitmasks): Same. - * value-range-storage.cc (irange_storage::write_lengths_address): - Same. - (irange_storage::set_irange): Same. - (irange_storage::get_irange): Same. - (irange_storage::size): Same. - (irange_storage::dump): Same. - * value-range-storage.h: Same. - * value-range.cc (debug): New. - (irange_bitmask::dump): New. - (add_vrange): Adjust for value/mask. - (irange::operator=): Same. - (irange::set): Same. - (irange::verify_range): Same. - (irange::operator==): Same. - (irange::contains_p): Same. - (irange::irange_single_pair_union): Same. - (irange::union_): Same. - (irange::intersect): Same. - (irange::invert): Same. - (irange::get_nonzero_bits_from_range): Rename to... - (irange::get_bitmask_from_range): ...this. - (irange::set_range_from_nonzero_bits): Rename to... - (irange::set_range_from_bitmask): ...this. - (irange::set_nonzero_bits): Rename to... - (irange::update_bitmask): ...this. - (irange::get_nonzero_bits): Rename to... - (irange::get_bitmask): ...this. - (irange::intersect_nonzero_bits): Rename to... - (irange::intersect_bitmask): ...this. - (irange::union_nonzero_bits): Rename to... - (irange::union_bitmask): ...this. - (irange_bitmask::verify_mask): New. - * value-range.h (class irange_bitmask): New. - (irange_bitmask::set_unknown): New. - (irange_bitmask::unknown_p): New. - (irange_bitmask::irange_bitmask): New. - (irange_bitmask::get_precision): New. - (irange_bitmask::get_nonzero_bits): New. - (irange_bitmask::set_nonzero_bits): New. - (irange_bitmask::operator==): New. - (irange_bitmask::union_): New. - (irange_bitmask::intersect): New. - (class irange): Friend vrange_printer. - (irange::varying_compatible_p): Adjust for bitmask. - (irange::set_varying): Same. - (irange::set_nonzero): Same. - -2023-07-07 Jan Beulich - - * config/i386/sse.md (*vec_extractv2ti): Drop g modifiers. - -2023-07-07 Jan Beulich - - * config/i386/sse.md (@vec_extract_hi_): Drop last - alternative. Switch new last alternative's "isa" attribute to - "avx512vl". - (vec_extract_hi_v32qi): Likewise. - -2023-07-07 Pan Li - Robin Dapp - - * config/riscv/riscv.cc (riscv_emit_mode_set): Avoid emit insn - when FRM_MODE_DYN. - (riscv_mode_entry): Take FRM_MODE_DYN as entry mode. - (riscv_mode_exit): Likewise for exit mode. - (riscv_mode_needed): Likewise for needed mode. - (riscv_mode_after): Likewise for after mode. - -2023-07-07 Pan Li - - * config/riscv/vector.md: Fix typo. - -2023-07-06 Jan Hubicka - - PR middle-end/25623 - * tree-ssa-loop-ch.cc (ch_base::copy_headers): Scale loop frequency to maximal number - of iterations determined. - * tree-ssa-loop-ivcanon.cc (try_unroll_loop_completely): Likewise. - -2023-07-06 Jan Hubicka - - * cfgloopmanip.cc (scale_loop_profile): Rewrite exit edge - probability update to be safe on loops with subloops. - Make bound parameter to be iteration bound. - * tree-ssa-loop-ivcanon.cc (try_peel_loop): Update call - of scale_loop_profile. - * tree-vect-loop-manip.cc (vect_do_peeling): Likewise. - -2023-07-06 Hao Liu OS - - PR tree-optimization/110449 - * tree-vect-loop.cc (vectorizable_induction): use vec_n to replace - vec_loop for the unrolled loop. - -2023-07-06 Jan Hubicka - - * cfg.cc (set_edge_probability_and_rescale_others): New function. - (update_bb_profile_for_threading): Use it; simplify the rest. - * cfg.h (set_edge_probability_and_rescale_others): Declare. - * profile-count.h (profile_probability::apply_scale): New. - -2023-07-06 Claudiu Zissulescu - - * doc/extend.texi (ARC Built-in Functions): Update documentation - with missing builtins. - -2023-07-06 Richard Biener - - PR tree-optimization/110556 - * tree-ssa-tail-merge.cc (gimple_equal_p): Check - assign code and all operands of non-stores. - -2023-07-06 Richard Biener - - PR tree-optimization/110563 - * tree-vectorizer.h (vect_determine_partial_vectors_and_peeling): - Remove second argument. - * tree-vect-loop.cc (vect_determine_partial_vectors_and_peeling): - Remove for_epilogue_p argument. Merge assert ... - (vect_analyze_loop_2): ... with check done before determining - partial vectors by moving it after. - * tree-vect-loop-manip.cc (vect_do_peeling): Adjust. - -2023-07-06 Thomas Schwinge - - * ggc-common.cc (gt_pch_note_reorder, gt_pch_save): Tighten up a - few things re 'reorder' option and strings. - * stringpool.cc (gt_pch_p_S): This is now 'gcc_unreachable'. - -2023-07-06 Thomas Schwinge - - * gengtype-parse.cc: Clean up obsolete parametrized structs - remnants. - * gengtype.cc: Likewise. - * gengtype.h: Likewise. - -2023-07-06 Thomas Schwinge - - * gengtype.cc (struct walk_type_data): Remove 'needs_cast_p'. - Adjust all users. - -2023-07-06 Thomas Schwinge - - * gengtype-parse.cc (token_names): Add '"user"'. - * gengtype.h (gty_token): Add 'UNUSED_PARAM_IS' for use with - 'FIRST_TOKEN_WITH_VALUE'. - -2023-07-06 Thomas Schwinge - - * doc/gty.texi (GTY Options) : Enhance. - -2023-07-06 Thomas Schwinge - - * gengtype.cc (write_root, write_roots): Explicitly reject - 'string_length' option. - * doc/gty.texi (GTY Options) : Document. - -2023-07-06 Thomas Schwinge - - * ggc-internal.h (ggc_pch_count_object, ggc_pch_alloc_object) - (ggc_pch_write_object): Remove 'bool is_string' argument. - * ggc-common.cc: Adjust. - * ggc-page.cc: Likewise. - -2023-07-06 Roger Sayle - - * dwarf2out.cc (mem_loc_descriptor): Handle COPYSIGN. - -2023-07-06 Hongyu Wang - - * doc/extend.texi: Move x86 inlining rule to a new subsubsection - and add description for inling of function with arch and tune - attributes. - -2023-07-06 Richard Biener - - PR tree-optimization/110515 - * tree-ssa-pre.cc (compute_avail): Make code dealing - with hoisting loads with different alias-sets more - robust. - -2023-07-06 Ju-Zhe Zhong - - * tree-vect-stmts.cc (vect_get_strided_load_store_ops): Fix ICE. - -2023-07-06 Hongyu Wang - - * config/i386/i386.cc (ix86_can_inline_p): If callee has - default arch=x86-64 and tune=generic, do not block the - inlining to its caller. Also allow callee with different - arch= to be inlined if it has always_inline attribute and - it's ISA is subset of caller's. - -2023-07-06 liuhongt - - * config/i386/i386.cc (ix86_rtx_costs): Adjust rtx_cost for - DF/SFmode AND/IOR/XOR/ANDN operations. - -2023-07-06 Andrew Pinski - - PR middle-end/110554 - * tree-vect-generic.cc (expand_vector_condition): For comparisons, - just build using boolean_type_node instead of the cond_type. - For non-comparisons/non-scalar-bitmask, build a ` != 0` gimple - that will feed into the COND_EXPR. - -2023-07-06 liuhongt - - PR target/110170 - * config/i386/i386.md (movdf_internal): Disparage slightly for - 2 alternatives (r,v) and (v,r) by adding constraint modifier - '?'. - -2023-07-06 Jeevitha Palanisamy - - PR target/106907 - * config/rs6000/rs6000.cc (rs6000_expand_vector_extract): Remove redundant - initialization of new_addr. - -2023-07-06 Hao Liu - - PR tree-optimization/110474 - * tree-vect-loop.cc (vect_analyze_loop_2): unscale the VF by suggested - unroll factor while selecting the epilog vect loop VF. - -2023-07-05 Andrew MacLeod - - * gimple-range-gori.cc (compute_operand_range): Convert to a tail - call. - -2023-07-05 Andrew MacLeod - - * gimple-range-gori.cc (compute_operand_range): After calling - compute_operand2_range, recursively call self if needed. - (compute_operand2_range): Turn into a leaf function. - (gori_compute::compute_operand1_and_operand2_range): Finish - operand2 calculation. - * gimple-range-gori.h (compute_operand2_range): Remove name param. - -2023-07-05 Andrew MacLeod - - * gimple-range-gori.cc (compute_operand_range): After calling - compute_operand1_range, recursively call self if needed. - (compute_operand1_range): Turn into a leaf function. - (gori_compute::compute_operand1_and_operand2_range): Finish - operand1 calculation. - * gimple-range-gori.h (compute_operand1_range): Remove name param. - -2023-07-05 Andrew MacLeod - - * gimple-range-gori.cc (compute_operand_range): Check for - operand interdependence when both op1 and op2 are computed. - (compute_operand1_and_operand2_range): No checks required now. - -2023-07-05 Andrew MacLeod - - * gimple-range-gori.cc (compute_operand_range): Check for - a relation between op1 and op2 and use that instead. - (compute_operand1_range): Don't look for a relation override. - (compute_operand2_range): Ditto. - -2023-07-05 Jonathan Wakely - - * doc/contrib.texi (Contributors): Update my entry. - -2023-07-05 Filip Kastl - - * value-prof.cc (gimple_mod_subtract_transform): Correct edge - prob calculation. - -2023-07-05 Uros Bizjak - - * sched-int.h (struct haifa_sched_info): Change can_schedule_ready_p, - scehdule_more_p and contributes_to_priority indirect frunction - type from int to bool. - (no_real_insns_p): Change return type from int to bool. - (contributes_to_priority): Ditto. - * haifa-sched.cc (no_real_insns_p): Change return type from - int to bool and adjust function body accordingly. - * modulo-sched.cc (try_scheduling_node_in_cycle): Change "success" - variable type from int to bool. - (ps_insn_advance_column): Change return type from int to bool. - (ps_has_conflicts): Ditto. Change "has_conflicts" - variable type from int to bool. - * sched-deps.cc (deps_may_trap_p): Change return type from int to bool. - (conditions_mutex_p): Ditto. - * sched-ebb.cc (schedule_more_p): Ditto. - (ebb_contributes_to_priority): Change return type from - int to bool and adjust function body accordingly. - * sched-rgn.cc (is_cfg_nonregular): Ditto. - (check_live_1): Ditto. - (is_pfree): Ditto. - (find_conditional_protection): Ditto. - (is_conditionally_protected): Ditto. - (is_prisky): Ditto. - (is_exception_free): Ditto. - (haifa_find_rgns): Change "unreachable" and "too_large_failure" - variables from int to bool. - (extend_rgns): Change "rescan" variable from int to bool. - (check_live): Change return type from - int to bool and adjust function body accordingly. - (can_schedule_ready_p): Ditto. - (schedule_more_p): Ditto. - (contributes_to_priority): Ditto. - -2023-07-05 Robin Dapp - - * doc/md.texi: Document that vec_set and vec_extract must not - fail. - * gimple-isel.cc (gimple_expand_vec_set_expr): Rename this... - (gimple_expand_vec_set_extract_expr): ...to this. - (gimple_expand_vec_exprs): Call renamed function. - * internal-fn.cc (vec_extract_direct): Add. - (expand_vec_extract_optab_fn): New function to expand - vec_extract optab. - (direct_vec_extract_optab_supported_p): Add. - * internal-fn.def (VEC_EXTRACT): Add. - * optabs.cc (can_vec_extract_var_idx_p): New function. - * optabs.h (can_vec_extract_var_idx_p): Declare. - -2023-07-05 Robin Dapp - - * config/riscv/autovec.md: Add gen_lowpart. - -2023-07-05 Robin Dapp - - * config/riscv/autovec.md: Allow register index operand. - -2023-07-05 Pan Li - - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_exact_insn): Use FRM_DYN instead of const0. - -2023-07-05 Robin Dapp - - * config/riscv/autovec.md: Use float_truncate. - -2023-07-05 Ju-Zhe Zhong - - * internal-fn.cc (internal_fn_len_index): Apply - LEN_MASK_GATHER_LOAD/SCATTER_STORE into vectorizer. - (internal_fn_mask_index): Ditto. - * optabs-query.cc (supports_vec_gather_load_p): Ditto. - (supports_vec_scatter_store_p): Ditto. - * tree-vect-data-refs.cc (vect_gather_scatter_fn_p): Ditto. - * tree-vect-patterns.cc (vect_recog_gather_scatter_pattern): Ditto. - * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Ditto. - (vect_get_strided_load_store_ops): Ditto. - (vectorizable_store): Ditto. - (vectorizable_load): Ditto. - -2023-07-05 Robin Dapp - Juzhe-Zhong - - * simplify-rtx.cc (native_encode_rtx): Ditto. - (native_decode_vector_rtx): Ditto. - (simplify_const_vector_byte_offset): Ditto. - (simplify_const_vector_subreg): Ditto. - * tree.cc (build_truth_vector_type_for_mode): Ditto. - * varasm.cc (output_constant_pool_2): Ditto. - -2023-07-05 YunQiang Su - - * config/mips/mips.cc (mips_expand_block_move): don't expand for - r6 with -mno-unaligned-access option if one or both of src and - dest are unaligned. restruct: return directly if length is not const. - (mips_block_move_straight): emit_move if ISA_HAS_UNALIGNED_ACCESS. - -2023-07-05 Jan Beulich - - PR target/100711 - * config/i386/sse.md: New splitters to simplify - not;vec_duplicate as a singular vpternlog. - (one_cmpl2): Allow broadcast for operand 1. - (one_cmpl2): Likewise. - -2023-07-05 Jan Beulich - - PR target/100711 - * config/i386/sse.md: New splitters to simplify - not;vec_duplicate;{ior,xor} as vec_duplicate;{iornot,xnor}. - -2023-07-05 Jan Beulich - - PR target/100711 - * config/i386/sse.md: Permit non-immediate operand 1 in AVX2 - form of splitter for PR target/100711. - -2023-07-05 Richard Biener - - PR middle-end/110541 - * tree.def (VEC_PERM_EXPR): Adjust documentation to reflect - reality. - -2023-07-05 Jan Beulich - - PR target/93768 - * config/i386/sse.md (*andnot3): Add new alternatives - for memory form operand 1. - -2023-07-05 Jan Beulich - - PR target/93768 - * config/i386/i386.cc (ix86_rtx_costs): Further special-case - bitwise vector operations. - * config/i386/sse.md (*iornot3): New insn. - (*xnor3): Likewise. - (*3): Likewise. - (andor): New code iterator. - (nlogic): New code attribute. - (ternlog_nlogic): Likewise. - -2023-07-05 Richard Biener - - * tree-vect-stmts.cc (vect_mark_relevant): Fix typo. - -2023-07-05 yulong - - * config/riscv/vector.md: Add float16 attr at sew、vlmul and ratio. - -2023-07-05 yulong - - * config/riscv/genrvv-type-indexer.cc (valid_type): Enable FP16 tuple. - * config/riscv/riscv-modes.def (RVV_TUPLE_MODES): New macro. - (ADJUST_ALIGNMENT): Ditto. - (RVV_TUPLE_PARTIAL_MODES): Ditto. - (ADJUST_NUNITS): Ditto. - * config/riscv/riscv-vector-builtins-types.def (vfloat16mf4x2_t): - New types. - (vfloat16mf4x3_t): Ditto. - (vfloat16mf4x4_t): Ditto. - (vfloat16mf4x5_t): Ditto. - (vfloat16mf4x6_t): Ditto. - (vfloat16mf4x7_t): Ditto. - (vfloat16mf4x8_t): Ditto. - (vfloat16mf2x2_t): Ditto. - (vfloat16mf2x3_t): Ditto. - (vfloat16mf2x4_t): Ditto. - (vfloat16mf2x5_t): Ditto. - (vfloat16mf2x6_t): Ditto. - (vfloat16mf2x7_t): Ditto. - (vfloat16mf2x8_t): Ditto. - (vfloat16m1x2_t): Ditto. - (vfloat16m1x3_t): Ditto. - (vfloat16m1x4_t): Ditto. - (vfloat16m1x5_t): Ditto. - (vfloat16m1x6_t): Ditto. - (vfloat16m1x7_t): Ditto. - (vfloat16m1x8_t): Ditto. - (vfloat16m2x2_t): Ditto. - (vfloat16m2x3_t): Ditto. - (vfloat16m2x4_t): Ditto. - (vfloat16m4x2_t): Ditto. - * config/riscv/riscv-vector-builtins.def (vfloat16mf4x2_t): New macro. - (vfloat16mf4x3_t): Ditto. - (vfloat16mf4x4_t): Ditto. - (vfloat16mf4x5_t): Ditto. - (vfloat16mf4x6_t): Ditto. - (vfloat16mf4x7_t): Ditto. - (vfloat16mf4x8_t): Ditto. - (vfloat16mf2x2_t): Ditto. - (vfloat16mf2x3_t): Ditto. - (vfloat16mf2x4_t): Ditto. - (vfloat16mf2x5_t): Ditto. - (vfloat16mf2x6_t): Ditto. - (vfloat16mf2x7_t): Ditto. - (vfloat16mf2x8_t): Ditto. - (vfloat16m1x2_t): Ditto. - (vfloat16m1x3_t): Ditto. - (vfloat16m1x4_t): Ditto. - (vfloat16m1x5_t): Ditto. - (vfloat16m1x6_t): Ditto. - (vfloat16m1x7_t): Ditto. - (vfloat16m1x8_t): Ditto. - (vfloat16m2x2_t): Ditto. - (vfloat16m2x3_t): Ditto. - (vfloat16m2x4_t): Ditto. - (vfloat16m4x2_t): Ditto. - * config/riscv/riscv-vector-switch.def (TUPLE_ENTRY): New. - * config/riscv/riscv.md: New. - * config/riscv/vector-iterators.md: New. - -2023-07-04 Andrew Pinski - - PR tree-optimization/110487 - * match.pd (a !=/== CST1 ? CST2 : CST3): Always - build a nonstandard integer and use that. - -2023-07-04 Andrew Pinski - - * match.pd (a?-1:0): Cast type an integer type - rather the type before the negative. - (a?0:-1): Likewise. - -2023-07-04 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.cc (machine_function, xtensa_expand_prologue): - Change to use HARD_REG_BIT and its macros. - * config/xtensa/xtensa.md - (peephole2: regmove elimination during DFmode input reload): - Likewise. - -2023-07-04 Richard Biener - - PR tree-optimization/110491 - * tree-ssa-phiopt.cc (match_simplify_replacement): Check - whether the PHI args are possibly undefined before folding - the COND_EXPR. - -2023-07-04 Pan Li - Thomas Schwinge - - * lto-streamer-in.cc (lto_input_mode_table): Stream in the mode - bits for machine mode table. - * lto-streamer-out.cc (lto_write_mode_table): Stream out the - HOST machine mode bits. - * lto-streamer.h (struct lto_file_decl_data): New fields mode_bits. - * tree-streamer.cc (streamer_mode_table): Take MAX_MACHINE_MODE - as the table size. - * tree-streamer.h (streamer_mode_table): Ditto. - (bp_pack_machine_mode): Take 1 << ceil_log2 (MAX_MACHINE_MODE) - as the packing limit. - (bp_unpack_machine_mode): Ditto with 'file_data->mode_bits'. - -2023-07-04 Thomas Schwinge - - * lto-streamer.h (class lto_input_block): Capture - 'lto_file_decl_data *file_data' instead of just - 'unsigned char *mode_table'. - * ipa-devirt.cc (ipa_odr_read_section): Adjust. - * ipa-fnsummary.cc (inline_read_section): Likewise. - * ipa-icf.cc (sem_item_optimizer::read_section): Likewise. - * ipa-modref.cc (read_section): Likewise. - * ipa-prop.cc (ipa_prop_read_section, read_replacements_section): - Likewise. - * ipa-sra.cc (isra_read_summary_section): Likewise. - * lto-cgraph.cc (input_cgraph_opt_section): Likewise. - * lto-section-in.cc (lto_create_simple_input_block): Likewise. - * lto-streamer-in.cc (lto_read_body_or_constructor) - (lto_input_toplevel_asms): Likewise. - * tree-streamer.h (bp_unpack_machine_mode): Likewise. - -2023-07-04 Richard Biener - - * tree-ssa-phiopt.cc (pass_phiopt::execute): Mark SSA undefs. - (empty_bb_or_one_feeding_into_p): Check for them. - * tree-ssa.h (gimple_uses_undefined_value_p): Remove. - * tree-ssa.cc (gimple_uses_undefined_value_p): Likewise. - -2023-07-04 Richard Biener - - * tree-vect-loop.cc (vect_analyze_loop_costing): Remove - check guarding scalar_niter underflow. - -2023-07-04 Hao Liu - - PR tree-optimization/110531 - * tree-vect-loop.cc (vect_analyze_loop_1): initialize - slp_done_for_suggested_uf to false. - -2023-07-04 Richard Biener - - PR tree-optimization/110228 - * tree-ssa-ifcombine.cc (pass_tree_ifcombine::execute): - Mark SSA may-undefs. - (bb_no_side_effects_p): Check stmt uses for undefs. - -2023-07-04 Richard Biener - - PR tree-optimization/110436 - * tree-vect-stmts.cc (vect_mark_relevant): Expand dumping, - force live but not relevant pattern stmts relevant. - -2023-07-04 Lili Cui - - * config/i386/i386.h: Add PTA_ENQCMD and PTA_UINTR to PTA_SIERRAFOREST. - * doc/invoke.texi: Update new isa to march=sierraforest and grandridge. - -2023-07-04 Richard Biener - - PR middle-end/110495 - * tree.h (TREE_OVERFLOW): Do not mention VECTOR_CSTs - since we do not set TREE_OVERFLOW on those since the - introduction of VL vectors. - * match.pd (x +- CST +- CST): For VECTOR_CST do not look - at TREE_OVERFLOW to determine validity of association. - -2023-07-04 Richard Biener - - PR tree-optimization/110310 - * tree-vect-loop.cc (vect_determine_partial_vectors_and_peeling): - Move costing part ... - (vect_analyze_loop_costing): ... here. Integrate better - estimate for epilogues from ... - (vect_analyze_loop_2): Call vect_determine_partial_vectors_and_peeling - with actual epilogue status. - * tree-vect-loop-manip.cc (vect_do_peeling): ... here and - avoid cancelling epilogue vectorization. - (vect_update_epilogue_niters): Remove. No longer update - epilogue LOOP_VINFO_NITERS. - -2023-07-04 Pan Li - - Revert: - 2023-07-03 Pan Li - - * config/riscv/vector.md: Fix typo. - -2023-07-04 Ju-Zhe Zhong - - * doc/md.texi: Add len_mask_gather_load/len_mask_scatter_store. - * internal-fn.cc (expand_scatter_store_optab_fn): Ditto. - (expand_gather_load_optab_fn): Ditto. - (internal_load_fn_p): Ditto. - (internal_store_fn_p): Ditto. - (internal_gather_scatter_fn_p): Ditto. - (internal_fn_len_index): Ditto. - (internal_fn_mask_index): Ditto. - (internal_fn_stored_value_index): Ditto. - * internal-fn.def (LEN_MASK_GATHER_LOAD): Ditto. - (LEN_MASK_SCATTER_STORE): Ditto. - * optabs.def (OPTAB_CD): Ditto. - -2023-07-04 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc - (vector_insn_info::parse_insn): Add early break. - -2023-07-04 Hans-Peter Nilsson - - * config/cris/cris.md (CRIS_UNSPEC_SWAP_BITS): Remove. - ("cris_swap_bits", "ctzsi2"): Use bitreverse instead. - -2023-07-04 Hans-Peter Nilsson - - * dwarf2out.cc (mem_loc_descriptor): Handle BITREVERSE. - -2023-07-03 Christoph Müllner - - * common/config/riscv/riscv-common.cc: Add support for zvbb, - zvbc, zvkg, zvkned, zvknha, zvknhb, zvksed, zvksh, zvkn, - zvknc, zvkng, zvks, zvksc, zvksg, zvkt and the implied subsets. - * config/riscv/arch-canonicalize: Add canonicalization info for - zvkn, zvknc, zvkng, zvks, zvksc, zvksg. - * config/riscv/riscv-opts.h (MASK_ZVBB): New macro. - (MASK_ZVBC): Likewise. - (TARGET_ZVBB): Likewise. - (TARGET_ZVBC): Likewise. - (MASK_ZVKG): Likewise. - (MASK_ZVKNED): Likewise. - (MASK_ZVKNHA): Likewise. - (MASK_ZVKNHB): Likewise. - (MASK_ZVKSED): Likewise. - (MASK_ZVKSH): Likewise. - (MASK_ZVKN): Likewise. - (MASK_ZVKNC): Likewise. - (MASK_ZVKNG): Likewise. - (MASK_ZVKS): Likewise. - (MASK_ZVKSC): Likewise. - (MASK_ZVKSG): Likewise. - (MASK_ZVKT): Likewise. - (TARGET_ZVKG): Likewise. - (TARGET_ZVKNED): Likewise. - (TARGET_ZVKNHA): Likewise. - (TARGET_ZVKNHB): Likewise. - (TARGET_ZVKSED): Likewise. - (TARGET_ZVKSH): Likewise. - (TARGET_ZVKN): Likewise. - (TARGET_ZVKNC): Likewise. - (TARGET_ZVKNG): Likewise. - (TARGET_ZVKS): Likewise. - (TARGET_ZVKSC): Likewise. - (TARGET_ZVKSG): Likewise. - (TARGET_ZVKT): Likewise. - * config/riscv/riscv.opt: Introduction of riscv_zv{b,k}_subext. - -2023-07-03 Andrew Pinski - - PR middle-end/110510 - * except.h (struct eh_landing_pad_d): Add chain_next GTY. - -2023-07-03 Iain Sandoe - - * config/darwin.h: Avoid duplicate multiply_defined specs on - earlier Darwin versions with shared libgcc. - -2023-07-03 Uros Bizjak - - * tree.h (tree_int_cst_equal): Change return type from int to bool. - (operand_equal_for_phi_arg_p): Ditto. - (tree_map_base_marked_p): Ditto. - * tree.cc (contains_placeholder_p): Update function body - for bool return type. - (type_cache_hasher::equal): Ditto. - (tree_map_base_hash): Change return type - from int to void and adjust function body accordingly. - (tree_int_cst_equal): Ditto. - (operand_equal_for_phi_arg_p): Ditto. - (get_narrower): Change "first" variable to bool. - (cl_option_hasher::equal): Update function body for bool return type. - * ggc.h (ggc_set_mark): Change return type from int to bool. - (ggc_marked_p): Ditto. - * ggc-page.cc (gt_ggc_mx): Change return type - from int to void and adjust function body accordingly. - (ggc_set_mark): Ditto. - -2023-07-03 Ju-Zhe Zhong - - * config/riscv/autovec.md: Change order of - LEN_MASK_LOAD/LEN_MASK_STORE/LEN_LOAD/LEN_STORE arguments. - * config/riscv/riscv-v.cc (expand_load_store): Ditto. - * doc/md.texi: Ditto. - * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Ditto. - * internal-fn.cc (len_maskload_direct): Ditto. - (len_maskstore_direct): Ditto. - (add_len_and_mask_args): New function. - (expand_partial_load_optab_fn): Change order of - LEN_MASK_LOAD/LEN_MASK_STORE/LEN_LOAD/LEN_STORE arguments. - (expand_partial_store_optab_fn): Ditto. - (internal_fn_len_index): New function. - (internal_fn_mask_index): Change order of - LEN_MASK_LOAD/LEN_MASK_STORE/LEN_LOAD/LEN_STORE arguments. - (internal_fn_stored_value_index): Ditto. - (internal_len_load_store_bias): Ditto. - * internal-fn.h (internal_fn_len_index): New function. - * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Change order of - LEN_MASK_LOAD/LEN_MASK_STORE/LEN_LOAD/LEN_STORE arguments. - * tree-vect-stmts.cc (vectorizable_store): Ditto. - (vectorizable_load): Ditto. - -2023-07-03 Gaius Mulley - - PR modula2/110125 - * doc/gm2.texi (Semantic checking): Include examples using - -Wuninit-variable-checking. - -2023-07-03 Juzhe-Zhong - - * config/riscv/autovec-opt.md (*double_widen_fnma): New pattern. - (*single_widen_fnma): Ditto. - (*double_widen_fms): Ditto. - (*single_widen_fms): Ditto. - (*double_widen_fnms): Ditto. - (*single_widen_fnms): Ditto. - -2023-07-03 Juzhe-Zhong - - * config/riscv/autovec-opt.md (@pred_single_widen_mul): Change "@" - into "*" in pattern name which simplifies build files. - (*pred_single_widen_mul): Ditto. - (*pred_single_widen_mul): New pattern. - -2023-07-03 Richard Sandiford - - * config/aarch64/aarch64-simd.md (vec_extract): Expect - the index to be 0 or 1. - -2023-07-03 Lehua Ding - - Revert: - 2023-07-03 Juzhe-Zhong - - * config/riscv/autovec-opt.md (*double_widen_fnma): New pattern. - (*single_widen_fnma): Ditto. - (*double_widen_fms): Ditto. - (*single_widen_fms): Ditto. - (*double_widen_fnms): Ditto. - (*single_widen_fnms): Ditto. - -2023-07-03 Juzhe-Zhong - - * config/riscv/autovec-opt.md (*double_widen_fnma): New pattern. - (*single_widen_fnma): Ditto. - (*double_widen_fms): Ditto. - (*single_widen_fms): Ditto. - (*double_widen_fnms): Ditto. - (*single_widen_fnms): Ditto. - -2023-07-03 Pan Li - - * config/riscv/vector.md: Fix typo. - -2023-07-03 Richard Biener - - PR tree-optimization/110506 - * tree-vect-patterns.cc (vect_recog_rotate_pattern): Re-order - TYPE_PRECISION access with INTEGRAL_TYPE_P check. - -2023-07-03 Richard Biener - - PR tree-optimization/110506 - * tree-ssa-ccp.cc (get_value_for_expr): Check for integral - type before relying on TYPE_PRECISION to produce a nonzero mask. - -2023-07-03 Jie Mei - - * config/mips/mips.md(*and3_mips16): Generates - ZEB/ZEH instructions. - -2023-07-03 Jie Mei - - * config/mips/mips.cc(mips_9bit_offset_address_p): Restrict the - address register to M16_REGS for MIPS16. - (BUILTIN_AVAIL_MIPS16E2): Defined a new macro. - (AVAIL_MIPS16E2_OR_NON_MIPS16): Same as above. - (AVAIL_NON_MIPS16 (cache..)): Update to - AVAIL_MIPS16E2_OR_NON_MIPS16. - * config/mips/mips.h (ISA_HAS_CACHE): Add clause for ISA_HAS_MIPS16E2. - * config/mips/mips.md (mips_cache): Mark as extended MIPS16. - -2023-07-03 Jie Mei - - * config/mips/mips.h(ISA_HAS_9BIT_DISPLACEMENT): Add clause - for ISA_HAS_MIPS16E2. - (ISA_HAS_SYNC): Same as above. - (ISA_HAS_LL_SC): Same as above. - -2023-07-03 Jie Mei - - * config/mips/mips.cc(mips_expand_ins_as_unaligned_store): - Add logics for generating instruction. - * config/mips/mips.h(ISA_HAS_LWL_LWR): Add clause for ISA_HAS_MIPS16E2. - * config/mips/mips.md(mov_l): Generates instructions. - (mov_r): Same as above. - (mov_l): Adjusted for the conditions above. - (mov_r): Same as above. - (mov_l_mips16e2): Add machine description for `define_insn mov_l_mips16e2`. - (mov_r_mips16e2): Add machine description for `define_insn mov_r_mips16e2`. - -2023-07-03 Jie Mei - - * config/mips/mips.cc(mips_symbol_insns_1): Generates LUI instruction. - (mips_const_insns): Same as above. - (mips_output_move): Same as above. - (mips_output_function_prologue): Same as above. - * config/mips/mips.md: Same as above - -2023-07-03 Jie Mei - - * config/mips/constraints.md(Yz): New constraints for mips16e2. - * config/mips/mips-protos.h(mips_bit_clear_p): Declared new function. - (mips_bit_clear_info): Same as above. - * config/mips/mips.cc(mips_bit_clear_info): New function for - generating instructions. - (mips_bit_clear_p): Same as above. - * config/mips/mips.h(ISA_HAS_EXT_INS): Add clause for ISA_HAS_MIPS16E2. - * config/mips/mips.md(extended_mips16): Generates EXT and INS instructions. - (*and3): Generates INS instruction. - (*and3_mips16): Generates EXT, INS and ANDI instructions. - (ior3): Add logics for ORI instruction. - (*ior3_mips16_asmacro): Generates ORI instrucion. - (*ior3_mips16): Add logics for XORI instruction. - (*xor3_mips16): Generates XORI instrucion. - (*extzv): Add logics for EXT instruction. - (*insv): Add logics for INS instruction. - * config/mips/predicates.md(bit_clear_operand): New predicate for - generating bitwise instructions. - (and_reg_operand): Add logics for generating bitwise instructions. - -2023-07-03 Jie Mei - - * config/mips/mips.cc(mips_regno_mode_ok_for_base_p): Generate instructions - that uses global pointer register. - (mips16_unextended_reference_p): Same as above. - (mips_pic_base_register): Same as above. - (mips_init_relocs): Same as above. - * config/mips/mips.h(MIPS16_GP_LOADS): Defined a new macro. - (GLOBAL_POINTER_REGNUM): Moved to machine description `mips.md`. - * config/mips/mips.md(GLOBAL_POINTER_REGNUM): Moved to here from above. - (*lowsi_mips16_gp):New `define_insn *low_mips16`. - -2023-07-03 Jie Mei - - * config/mips/mips.h(ISA_HAS_CONDMOVE): Add condition for ISA_HAS_MIPS16E2. - * config/mips/mips.md(*mov_on_): Add logics for MOVx insts. - (*mov_on__mips16e2): Generate MOVx instruction. - (*mov_on__ne): Add logics for MOVx insts. - (*mov_on__ne_mips16e2): Generate MOVx instruction. - * config/mips/predicates.md(reg_or_0_operand_mips16e2): New predicate for MOVx insts. - -2023-07-03 Jie Mei - - * config/mips/mips.cc(mips_file_start): Add mips16e2 info - for output file. - * config/mips/mips.h(__mips_mips16e2): Defined a new - predefine macro. - (ISA_HAS_MIPS16E2): Defined a new macro. - (ASM_SPEC): Pass mmips16e2 to the assembler. - * config/mips/mips.opt: Add -m(no-)mips16e2 option. - * config/mips/predicates.md: Add clause for TARGET_MIPS16E2. - * doc/invoke.texi: Add -m(no-)mips16e2 option.. - -2023-07-02 Jakub Jelinek - - PR tree-optimization/110508 - * tree-ssa-math-opts.cc (match_uaddc_usubc): Only replace re2 with - REALPART_EXPR opf nlhs if re2 is non-NULL. - -2023-07-02 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.cc (xtensa_match_CLAMPS_imms_p): - Simplify. - * config/xtensa/xtensa.md (*xtensa_clamps): - Add TARGET_MINMAX to the condition. - -2023-07-02 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md (*eqne_INT_MIN): - Add missing ":SI" to the match_operator. - -2023-07-02 Iain Sandoe - - PR target/108743 - * config/darwin.opt: Add fconstant-cfstrings alias to - mconstant-cfstrings. - * doc/invoke.texi: Amend invocation descriptions to reflect - that the fconstant-cfstrings is a target-option alias and to - add the missing mconstant-cfstrings option description to the - Darwin section. - -2023-07-01 Jan Hubicka - - * tree-cfg.cc (gimple_duplicate_sese_region): Add elliminated_edge - parmaeter; update profile. - * tree-cfg.h (gimple_duplicate_sese_region): Update prototype. - * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Rename to ... - (static_loop_exit): ... this; return the edge to be elliminated. - (ch_base::copy_headers): Handle profile updating for eliminated exits. - -2023-07-01 Roger Sayle - - * config/i386/i386-features.cc (compute_convert_gain): Provide - gains/costs for ROTATE and ROTATERT (by an integer constant). - (general_scalar_chain::convert_rotate): New helper function to - convert a DImode or SImode rotation by an integer constant into - SSE vector form. - (general_scalar_chain::convert_insn): Call the new convert_rotate - for ROTATE and ROTATERT. - (general_scalar_to_vector_candidate_p): Consider ROTATE and - ROTATERT to be candidates if the second operand is an integer - constant, valid for a rotation (or shift) in the given mode. - * config/i386/i386-features.h (general_scalar_chain): Add new - helper method convert_rotate. - -2023-07-01 Jan Hubicka - - PR tree-optimization/103680 - * cfg.cc (update_bb_profile_for_threading): Fix profile update; - make message clearer. - -2023-06-30 Qing Zhao - - PR tree-optimization/101832 - * tree-object-size.cc (addr_object_size): Handle structure/union type - when it has flexible size. - -2023-06-30 Eric Botcazou - - * gimple-fold.cc (fold_array_ctor_reference): Fix head comment. - (fold_nonarray_ctor_reference): Likewise. Specifically deal - with integral bit-fields. - (fold_ctor_reference): Make sure that the constructor uses the - native storage order. - -2023-06-30 Jan Hubicka - - PR middle-end/109849 - * predict.cc (estimate_bb_frequencies): Turn to static function. - (expr_expected_value_1): Fix handling of binary expressions with - predicted values. - * predict.def (PRED_MALLOC_NONNULL): Move later in the priority queue. - (PRED_BUILTIN_EXPECT_WITH_PROBABILITY): Move to almost top of the priority - queue. - * predict.h (estimate_bb_frequencies): No longer declare it. - -2023-06-30 Uros Bizjak - - * fold-const.h (multiple_of_p): Change return type from int to bool. - * fold-const.cc (split_tree): Change negl_p, neg_litp_p, - neg_conp_p and neg_var_p variables to bool. - (const_binop): Change sat_p variable to bool. - (merge_ranges): Change no_overlap variable to bool. - (extract_muldiv_1): Change same_p variable to bool. - (tree_swap_operands_p): Update function body for bool return type. - (fold_truth_andor): Change commutative variable to bool. - (multiple_of_p): Change return type - from int to void and adjust function body accordingly. - * optabs.h (expand_twoval_unop): Change return type from int to bool. - (expand_twoval_binop): Ditto. - (can_compare_p): Ditto. - (have_add2_insn): Ditto. - (have_addptr3_insn): Ditto. - (have_sub2_insn): Ditto. - (have_insn_for): Ditto. - * optabs.cc (add_equal_note): Ditto. - (widen_operand): Change no_extend argument from int to bool. - (expand_binop): Ditto. - (expand_twoval_unop): Change return type - from int to void and adjust function body accordingly. - (expand_twoval_binop): Ditto. - (can_compare_p): Ditto. - (have_add2_insn): Ditto. - (have_addptr3_insn): Ditto. - (have_sub2_insn): Ditto. - (have_insn_for): Ditto. - -2023-06-30 Oluwatamilore Adebayo - - * config/aarch64/aarch64-simd.md - (vec_widen_abdl_lo_, vec_widen_abdl_hi_): - Expansions for abd vec widen optabs. - (aarch64_abdl_insn): VQW based abdl RTL. - * config/aarch64/iterators.md (USMAX_EXT): Code attributes - that give the appropriate extend RTL for the max RTL. - -2023-06-30 Oluwatamilore Adebayo - - * internal-fn.def (VEC_WIDEN_ABD): New internal hilo optab. - * optabs.def (vec_widen_sabd_optab, - vec_widen_sabd_hi_optab, vec_widen_sabd_lo_optab, - vec_widen_sabd_odd_even, vec_widen_sabd_even_optab, - vec_widen_uabd_optab, - vec_widen_uabd_hi_optab, vec_widen_uabd_lo_optab, - vec_widen_uabd_odd_even, vec_widen_uabd_even_optab): - New optabs. - * doc/md.texi: Document them. - * tree-vect-patterns.cc (vect_recog_abd_pattern): Update to - to build a VEC_WIDEN_ABD call if the input precision is smaller - than the precision of the output. - (vect_recog_widen_abd_pattern): Should an ABD expression be - found preceeding an extension, replace the two with a - VEC_WIDEN_ABD. - -2023-06-30 Pan Li - - * config/riscv/vector.md: Refactor the common condition. - -2023-06-30 Richard Biener - - PR tree-optimization/110496 - * gimple-ssa-store-merging.cc (find_bswap_or_nop_1): Re-order - verifying and TYPE_PRECISION query for the BIT_FIELD_REF case. - -2023-06-30 Richard Biener - - PR middle-end/110489 - * statistics.cc (curr_statistics_hash): Add argument - indicating whether we should allocate the hash. - (statistics_fini_pass): If the hash isn't allocated - only print the summary header. - -2023-06-30 Segher Boessenkool - Thomas Schwinge - - * config/nvptx/nvptx.cc (TARGET_LRA_P): Remove. - -2023-06-30 Jovan Dmitrović - - PR target/109435 - * config/mips/mips.cc (mips_function_arg_alignment): Returns - the alignment of function argument. In case of typedef type, - it returns the aligment of the aliased type. - (mips_function_arg_boundary): Relocated calculation of the - aligment of function arguments. - -2023-06-29 Jan Hubicka - - PR tree-optimization/109849 - * ipa-fnsummary.cc (decompose_param_expr): Skip - functions returning its parameter. - (set_cond_stmt_execution_predicate): Return early - if predicate was constructed. - -2023-06-29 Qing Zhao - - PR c/77650 - * doc/extend.texi: Document GCC extension on a structure containing - a flexible array member to be a member of another structure. - -2023-06-29 Qing Zhao - - * print-tree.cc (print_node): Print new bit type_include_flexarray. - * tree-core.h (struct tree_type_common): Use bit no_named_args_stdarg_p - as type_include_flexarray for RECORD_TYPE or UNION_TYPE. - * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Stream - in bit no_named_args_stdarg_p properly for its corresponding type. - * tree-streamer-out.cc (pack_ts_type_common_value_fields): Stream - out bit no_named_args_stdarg_p properly for its corresponding type. - * tree.h (TYPE_INCLUDES_FLEXARRAY): New macro TYPE_INCLUDES_FLEXARRAY. - -2023-06-29 Aldy Hernandez - - * tree-vrp.cc (maybe_set_nonzero_bits): Move from here... - * tree-ssa-dom.cc (maybe_set_nonzero_bits): ...to here. - * tree-vrp.h (maybe_set_nonzero_bits): Remove. - -2023-06-29 Aldy Hernandez - - * value-range.cc (frange::set): Do not call verify_range. - (frange::normalize_kind): Verify range. - (frange::union_nans): Do not call verify_range. - (frange::union_): Same. - (frange::intersect): Same. - (irange::irange_single_pair_union): Call normalize_kind if - necessary. - (irange::union_): Same. - (irange::intersect): Same. - (irange::set_range_from_nonzero_bits): Verify range. - (irange::set_nonzero_bits): Call normalize_kind if necessary. - (irange::get_nonzero_bits): Tweak comment. - (irange::intersect_nonzero_bits): Call normalize_kind if - necessary. - (irange::union_nonzero_bits): Same. - * value-range.h (irange::normalize_kind): Verify range. - -2023-06-29 Uros Bizjak - - * cselib.h (rtx_equal_for_cselib_1): - Change return type from int to bool. - (references_value_p): Ditto. - (rtx_equal_for_cselib_p): Ditto. - * expr.h (can_store_by_pieces): Ditto. - (try_casesi): Ditto. - (try_tablejump): Ditto. - (safe_from_p): Ditto. - * sbitmap.h (bitmap_equal_p): Ditto. - * cselib.cc (references_value_p): Change return type - from int to void and adjust function body accordingly. - (rtx_equal_for_cselib_1): Ditto. - * expr.cc (is_aligning_offset): Ditto. - (can_store_by_pieces): Ditto. - (mostly_zeros_p): Ditto. - (all_zeros_p): Ditto. - (safe_from_p): Ditto. - (is_aligning_offset): Ditto. - (try_casesi): Ditto. - (try_tablejump): Ditto. - (store_constructor): Change "need_to_clear" and - "const_bounds_p" variables to bool. - * sbitmap.cc (bitmap_equal_p): Change return type from int to bool. - -2023-06-29 Robin Dapp - - * tree-ssa-math-opts.cc (divmod_candidate_p): Use - element_precision. - -2023-06-29 Richard Biener - - PR tree-optimization/110460 - * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): - Only allow integral, pointer and scalar float type scalar_type. - -2023-06-29 Lili Cui - - PR tree-optimization/110148 - * tree-ssa-reassoc.cc (rewrite_expr_tree_parallel): Handle loop-carried - ops in this function. - -2023-06-29 Richard Biener - - PR middle-end/110452 - * expr.cc (store_constructor): Handle uniform boolean - vectors with integer mode specially. - -2023-06-29 Richard Biener - - PR middle-end/110461 - * match.pd (bitop (convert@2 @0) (convert?@3 @1)): Disable - for VECTOR_TYPE_P. - -2023-06-29 Richard Sandiford - - * vec.h (gt_pch_nx): Add overloads for va_gc_atomic. - (array_slice): Relax va_gc constructor to handle all vectors - with a vl_embed layout. - -2023-06-29 Pan Li - - * config/riscv/riscv.cc (riscv_emit_mode_set): Add emit for FRM. - (riscv_mode_needed): Likewise. - (riscv_entity_mode_after): Likewise. - (riscv_mode_after): Likewise. - (riscv_mode_entry): Likewise. - (riscv_mode_exit): Likewise. - * config/riscv/riscv.h (NUM_MODES_FOR_MODE_SWITCHING): Add number - for FRM. - * config/riscv/riscv.md: Add FRM register. - * config/riscv/vector-iterators.md: Add FRM type. - * config/riscv/vector.md (frm_mode): Define new attr for FRM mode. - (fsrm): Define new insn for fsrm instruction. - -2023-06-29 Pan Li - - * config/riscv/riscv-protos.h (enum floating_point_rounding_mode): - Add macro for static frm min and max. - * config/riscv/riscv-vector-builtins-bases.cc - (class binop_frm): New class for floating-point with frm. - (BASE): Add vfadd for frm. - * config/riscv/riscv-vector-builtins-bases.h: Likewise. - * config/riscv/riscv-vector-builtins-functions.def - (vfadd_frm): Likewise. - * config/riscv/riscv-vector-builtins-shapes.cc - (struct alu_frm_def): New struct for alu with frm. - (SHAPE): Add alu with frm. - * config/riscv/riscv-vector-builtins-shapes.h: Likewise. - * config/riscv/riscv-vector-builtins.cc - (function_checker::report_out_of_range_and_not): New function - for report out of range and not val. - (function_checker::require_immediate_range_or): New function - for checking in range or one val. - * config/riscv/riscv-vector-builtins.h: Add function decl. - -2023-06-29 Cui, Lili - - * common/config/i386/cpuinfo.h (get_intel_cpu): Remove model value 0xa8 - from Rocketlake, move model value 0xbf from Alderlake to Raptorlake. - -2023-06-28 Hans-Peter Nilsson - - PR target/110144 - * config/cris/cris.cc (cris_postdbr_cmpelim): Don't apply PATTERN - to insn before validating it. - -2023-06-28 Jan Hubicka - - PR middle-end/110334 - * ipa-fnsummary.h (ipa_fn_summary): Add - safe_to_inline_to_always_inline. - * ipa-inline.cc (can_early_inline_edge_p): ICE - if SSA is not built; do cycle checking for - always_inline functions. - (inline_always_inline_functions): Be recrusive; - watch for cycles; do not updat overall summary. - (early_inliner): Do not give up on always_inlines. - * ipa-utils.cc (ipa_reverse_postorder): Do not skip - always inlines. - -2023-06-28 Uros Bizjak - - * output.h (leaf_function_p): Change return type from int to bool. - (final_forward_branch_p): Ditto. - (only_leaf_regs_used): Ditto. - (maybe_assemble_visibility): Ditto. - * varasm.h (supports_one_only): Ditto. - * rtl.h (compute_alignments): Change return type from int to void. - * final.cc (app_on): Change return type from int to bool. - (compute_alignments): Change return type from int to void - and adjust function body accordingly. - (shorten_branches): Change "something_changed" variable - type from int to bool. - (leaf_function_p): Change return type from int to bool - and adjust function body accordingly. - (final_forward_branch_p): Ditto. - (only_leaf_regs_used): Ditto. - * varasm.cc (contains_pointers_p): Change return type from - int to bool and adjust function body accordingly. - (compare_constant): Ditto. - (maybe_assemble_visibility): Ditto. - (supports_one_only): Ditto. - -2023-06-28 Manolis Tsamis - - PR debug/110308 - * regcprop.cc (maybe_mode_change): Check stack_pointer_rtx mode. - (maybe_copy_reg_attrs): New function. - (find_oldest_value_reg): Use maybe_copy_reg_attrs. - (copyprop_hardreg_forward_1): Ditto. - -2023-06-28 Richard Biener - - PR tree-optimization/110434 - * tree-nrv.cc (pass_nrv::execute): Remove CLOBBERs of - VAR we replace with . - -2023-06-28 Richard Biener - - PR tree-optimization/110451 - * tree-ssa-loop-im.cc (stmt_cost): [VEC_]COND_EXPR and - tcc_comparison are expensive. - -2023-06-28 Roger Sayle - - * config/i386/i386-expand.cc (ix86_expand_branch): Also use ptest - for TImode comparisons on 32-bit architectures. - * config/i386/i386.md (cbranch4): Change from SDWIM to - SWIM1248x to exclude/avoid TImode being conditional on -m64. - (cbranchti4): New define_expand for TImode on both TARGET_64BIT - and/or with TARGET_SSE4_1. - * config/i386/predicates.md (ix86_timode_comparison_operator): - New predicate that depends upon TARGET_64BIT. - (ix86_timode_comparison_operand): Likewise. - -2023-06-28 Roger Sayle - - PR target/78794 - * config/i386/i386-features.cc (compute_convert_gain): Provide - more accurate gains for conversion of scalar comparisons to - PTEST. - -2023-06-28 Richard Biener - - PR tree-optimization/110443 - * tree-vect-slp.cc (vect_build_slp_tree_1): Reject non-grouped - gather loads. - -2023-06-28 Haochen Gui - - * config/rs6000/rs6000.md (peephole2 for compare_and_move): New. - (peephole2 for move_and_compare): New. - (mode_iterator WORD): New. Set the mode to SI/DImode by - TARGET_POWERPC64. - (*mov_internal2): Change the mode iterator from P to WORD. - (split pattern for compare_and_move): Likewise. - -2023-06-28 Juzhe-Zhong - - * config/riscv/autovec-opt.md (*double_widen_fma): New pattern. - (*single_widen_fma): Ditto. - -2023-06-28 Haochen Gui - - PR target/104124 - * config/rs6000/altivec.md (*altivec_vupkhs_direct): Rename - to... - (altivec_vupkhs_direct): ...this. - * config/rs6000/predicates.md (vspltisw_vupkhsw_constant_split): New - predicate to test if a constant can be loaded with vspltisw and - vupkhsw. - (easy_vector_constant): Call vspltisw_vupkhsw_constant_p to Check if - a vector constant can be synthesized with a vspltisw and a vupkhsw. - * config/rs6000/rs6000-protos.h (vspltisw_vupkhsw_constant_p): - Declare. - * config/rs6000/rs6000.cc (vspltisw_vupkhsw_constant_p): New - function to return true if OP mode is V2DI and can be synthesized - with vupkhsw and vspltisw. - * config/rs6000/vsx.md (*vspltisw_v2di_split): New insn to load up - constants with vspltisw and vupkhsw. - -2023-06-28 Jan Hubicka - - PR tree-optimization/110377 - * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Pass statement to - the ranger query. - (ipa_analyze_node): Enable ranger. - -2023-06-28 Richard Biener - - * tree.h (TYPE_PRECISION): Check for non-VECTOR_TYPE. - (TYPE_PRECISION_RAW): Provide raw access to the precision - field. - * tree.cc (verify_type_variant): Compare TYPE_PRECISION_RAW. - (gimple_canonical_types_compatible_p): Likewise. - * tree-streamer-out.cc (pack_ts_type_common_value_fields): - Stream TYPE_PRECISION_RAW. - * tree-streamer-in.cc (unpack_ts_type_common_value_fields): - Likewise. - * lto-streamer-out.cc (hash_tree): Hash TYPE_PRECISION_RAW. - -2023-06-28 Alexandre Oliva - - * doc/extend.texi (zero-call-used-regs): Document leafy and - variants thereof. - * flag-types.h (zero_regs_flags): Add LEAFY_MODE, as well as - LEAFY and variants. - * function.cc (gen_call_ued_regs_seq): Set only_used for leaf - functions in leafy mode. - * opts.cc (zero_call_used_regs_opts): Add leafy and variants. - -2023-06-28 Juzhe-Zhong - - * config/riscv/riscv-vector-builtins-bases.cc: Adapt expand. - * config/riscv/vector.md (@pred_single_widen_): - Remove. - (@pred_single_widen_add): New pattern. - (@pred_single_widen_sub): New pattern. - -2023-06-28 liuhongt - - * config/i386/i386.cc (ix86_invalid_conversion): New function. - (TARGET_INVALID_CONVERSION): Define as - ix86_invalid_conversion. - -2023-06-27 Robin Dapp - - * config/riscv/autovec.md (2): New - expander. - (2): Ditto. - (2): Ditto. - (2): Ditto. - * config/riscv/vector-iterators.md: Add vnconvert. - -2023-06-27 Robin Dapp - - * config/riscv/autovec.md (extend2): New - expander. - (extend2): Ditto. - (trunc2): Ditto. - (trunc2): Ditto. - * config/riscv/vector-iterators.md: Add VQEXTF and HF to - V_QUAD_TRUNC and v_quad_trunc. - -2023-06-27 Robin Dapp - - * config/riscv/autovec.md (2): New - expander. - -2023-06-27 Robin Dapp - - * config/riscv/autovec.md (copysign3): Add expander. - (xorsign3): Ditto. - * config/riscv/riscv-vector-builtins-bases.cc (class vfsgnjn): - New class. - * config/riscv/vector-iterators.md (copysign): Remove ncopysign. - (xorsign): Ditto. - (n): Ditto. - (x): Ditto. - * config/riscv/vector.md (@pred_ncopysign): Split off. - (@pred_ncopysign_scalar): Ditto. - -2023-06-27 Robin Dapp - - * config/riscv/autovec.md: VF_AUTO -> VF. - * config/riscv/vector-iterators.md: Introduce VF_ZVFHMIN, - VWEXTF_ZVFHMIN and use TARGET_ZVFH in VWCONVERTI, VHF and - VHF_LMUL1. - * config/riscv/vector.md: Use new iterators. - -2023-06-27 Robin Dapp - - * match.pd: Use element_mode and check if target supports - operation with new type. - -2023-06-27 Prathamesh Kulkarni - - * config/aarch64/aarch64-sve-builtins-base.cc - (svdupq_impl::fold_nonconst_dupq): New method. - (svdupq_impl::fold): Call fold_nonconst_dupq. - -2023-06-27 Andrew Pinski - - PR middle-end/110420 - PR middle-end/103979 - PR middle-end/98619 - * gimplify.cc (gimplify_asm_expr): Mark asm with labels as volatile. - -2023-06-27 Aldy Hernandez - - * ipa-cp.cc (decide_whether_version_node): Adjust comment. - * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Adjust - for Value_Range. - (set_switch_stmt_execution_predicate): Same. - * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Same. - -2023-06-27 Aldy Hernandez - - * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Adjust for use with - ipa_vr instead of value_range. - (gt_pch_nx): Same. - (gt_ggc_mx): Same. - (ipa_get_value_range): Same. - * value-range.cc (gt_pch_nx): Move to ipa-prop.cc and adjust for - ipa_vr. - (gt_ggc_mx): Same. - -2023-06-27 Aldy Hernandez - - * ipa-cp.cc (ipa_vr_operation_and_type_effects): New. - * ipa-prop.cc (ipa_get_value_range): Adjust for ipa_vr. - (ipa_set_jfunc_vr): Take a range. - (ipa_compute_jump_functions_for_edge): Pass range to - ipa_set_jfunc_vr. - (ipa_write_jump_function): Call streamer write helper. - (ipa_read_jump_function): Call streamer read helper. - * ipa-prop.h (class ipa_vr): Change m_vr to an ipa_vr. - -2023-06-27 Richard Sandiford - - * gengtype-parse.cc (consume_until_comma_or_eos): Parse "= { ... }" - as a probable initializer rather than a probable complete statement. - -2023-06-27 Richard Biener - - PR tree-optimization/96208 - * tree-vect-slp.cc (vect_build_slp_tree_1): Allow - a non-grouped load if it is the same for all lanes. - (vect_build_slp_tree_2): Handle not grouped loads. - (vect_optimize_slp_pass::remove_redundant_permutations): - Likewise. - (vect_transform_slp_perm_load_1): Likewise. - * tree-vect-stmts.cc (vect_model_load_cost): Likewise. - (get_group_load_store_type): Likewise. Handle - invariant accesses. - (vectorizable_load): Likewise. - -2023-06-27 liuhongt - - PR rtl-optimization/110237 - * config/i386/sse.md (_store_mask): Refine with - UNSPEC_MASKMOV. - (maskstore_store_mask): New define_insn, it's renamed - from original _store_mask. - -2023-06-27 liuhongt - - * config/i386/i386-features.cc (pass_insert_vzeroupper:gate): - Move flag_expensive_optimizations && !optimize_size to .. - * config/i386/i386-options.cc (ix86_option_override_internal): - .. this, it makes -mvzeroupper independent of optimization - level, but still keeps the behavior of architecture - tuning(emit_vzeroupper) unchanged. - -2023-06-27 liuhongt - - PR target/82735 - * config/i386/i386.cc (ix86_avx_u127_mode_needed): Don't emit - vzeroupper for vzeroupper call_insn. - -2023-06-27 Andrew Pinski - - * doc/extend.texi (__builtin_alloca_with_align_and_max): Fix - defbuiltin usage. - -2023-06-27 Juzhe-Zhong - - * config/riscv/riscv-v.cc (expand_const_vector): Fix stepped vector - with base != 0. - -2023-06-26 Andrew Pinski - - * doc/extend.texi (access attribute): Add - cindex for it. - (interrupt/interrupt_handler attribute): - Likewise. - -2023-06-26 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_sqrshrun_n_insn): - Use instead of . - (aarch64_sqrshrun_n): Likewise. - -2023-06-26 Kyrylo Tkachov - - * config/aarch64/aarch64-protos.h (aarch64_const_vec_rsra_rnd_imm_p): - Rename to... - (aarch64_rnd_imm_p): ... This. - * config/aarch64/predicates.md (aarch64_simd_rsra_rnd_imm_vec): - Rename to... - (aarch64_int_rnd_operand): ... This. - (aarch64_simd_rshrn_imm_vec): Delete. - * config/aarch64/aarch64-simd.md (aarch64_rsra_n_insn): - Adjust for the above. - (aarch64_rshr_n_insn): Likewise. - (*aarch64_rshrn_n_insn): Likewise. - (*aarch64_sqrshrun_n_insn): Likewise. - (aarch64_sqrshrun_n_insn): Likewise. - (aarch64_rshrn2_n_insn_le): Likewise. - (aarch64_rshrn2_n_insn_be): Likewise. - (aarch64_sqrshrun2_n_insn_le): Likewise. - (aarch64_sqrshrun2_n_insn_be): Likewise. - * config/aarch64/aarch64.cc (aarch64_const_vec_rsra_rnd_imm_p): - Rename to... - (aarch64_rnd_imm_p): ... This. - -2023-06-26 Andreas Krebbel - - * config/s390/s390.cc (s390_encode_section_info): Set - SYMBOL_FLAG_SET_NOTALIGN2 only if the symbol has explicitely been - misaligned. - -2023-06-26 Jan Hubicka - - PR tree-optimization/109849 - * tree-ssa-dce.cc (make_forwarders_with_degenerate_phis): Fix profile - count of newly constructed forwarder block. - -2023-06-26 Andrew Carlotti - - * doc/optinfo.texi: Fix "steam" -> "stream". - -2023-06-26 Ju-Zhe Zhong - - * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Add LEN_MASK_STORE and - fix LEN_STORE. - (dse_optimize_stmt): Add LEN_MASK_STORE. - -2023-06-26 Ju-Zhe Zhong - - * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Fix gimple - fold of LOAD/STORE with length. - -2023-06-26 Andrew MacLeod - - * gimple-range-gori.cc (compute_operand1_and_operand2_range): - Check for interdependence between operands 1 and 2. - -2023-06-26 Richard Sandiford - - * tree-vect-stmts.cc (vectorizable_conversion): Take multi_step_cvt - into account when costing non-widening/truncating conversions. - -2023-06-26 Richard Biener - - PR tree-optimization/110381 - * tree-vect-slp.cc (vect_optimize_slp_pass::start_choosing_layouts): - Materialize permutes before fold-left reductions. - -2023-06-26 Pan Li - - * config/riscv/riscv-vector-builtins-bases.h: Remove duplicated decl. - -2023-06-26 Richard Biener - - * varasm.cc (initializer_constant_valid_p_1): Also - constrain the type of value to be scalar integral - before dispatching to narrowing_initializer_constant_valid_p. - -2023-06-26 Richard Biener - - * tree-ssa-scopedtables.cc (hashable_expr_equal_p): - Use element_precision. - -2023-06-26 Juzhe-Zhong - - * config/riscv/autovec.md (vcond): Remove redundant - vcond patterns. - (vcondu): Ditto. - * config/riscv/riscv-protos.h (expand_vcond): Ditto. - * config/riscv/riscv-v.cc (expand_vcond): Ditto. - -2023-06-26 Richard Biener - - PR tree-optimization/110392 - * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded): - Do early exits on true/false predicate only after normalization. - -2023-06-26 Ju-Zhe Zhong - - * tree-ssa-sccvn.cc (vn_reference_lookup_3): Change name "len" into - "length". - -2023-06-26 Roger Sayle - - * config/i386/i386.md (peephole2): Simplify zeroing a register - followed by an IOR, XOR or PLUS operation on it, into a move. - (*ashl3_doubleword_highpart): New define_insn_and_split to - eliminate (and hide from reload) unnecessary word to doubleword - extensions that are followed by left shifts by sufficiently large, - but valid, bit counts. - -2023-06-26 liuhongt - - PR tree-optimization/110371 - PR tree-optimization/110018 - * tree-vect-stmts.cc (vectorizable_conversion): Use cvt_op to - save intermediate type operand instead of "subtle" vec_dest - for case NONE. - -2023-06-26 liuhongt - - PR tree-optimization/110371 - PR tree-optimization/110018 - * tree-vect-stmts.cc (vectorizable_conversion): Don't use - intermiediate type for FIX_TRUNC_EXPR when ftrapping-math. - -2023-06-26 Hongyu Wang - - * config/i386/i386-options.cc (ix86_valid_target_attribute_tree): - Override tune_string with arch_string if tune_string is not - explicitly specified. - -2023-06-25 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (vector_insn_info::parse_insn): Ehance - AVL propagation. - * config/riscv/riscv-vsetvl.h: New function. - -2023-06-25 Li Xu - - * config/riscv/riscv-vector-builtins-bases.cc: change emit_insn to - emit_move_insn - -2023-06-25 Juzhe-Zhong - - * config/riscv/autovec.md (len_load_): Remove. - (len_maskload): Remove. - (len_store_): New pattern. - (len_maskstore): New pattern. - * config/riscv/predicates.md (autovec_length_operand): New predicate. - * config/riscv/riscv-protos.h (enum insn_type): New enum. - (expand_load_store): New function. - * config/riscv/riscv-v.cc (emit_vlmax_masked_insn): Ditto. - (emit_nonvlmax_masked_insn): Ditto. - (expand_load_store): Ditto. - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_contiguous_store_insn): Add avl_type operand - into pred_store. - * config/riscv/vector.md: Ditto. - -2023-06-25 Ju-Zhe Zhong - - * internal-fn.cc (expand_partial_store_optab_fn): Fix bug of BIAS - argument index. - -2023-06-25 Pan Li - - * config/riscv/vector.md: Revert. - -2023-06-25 Pan Li - - * config/riscv/genrvv-type-indexer.cc (valid_type): Revert changes. - * config/riscv/riscv-modes.def (RVV_TUPLE_MODES): Ditto. - (ADJUST_ALIGNMENT): Ditto. - (RVV_TUPLE_PARTIAL_MODES): Ditto. - (ADJUST_NUNITS): Ditto. - * config/riscv/riscv-vector-builtins-types.def (vfloat16mf4x2_t): Ditto. - (vfloat16mf4x3_t): Ditto. - (vfloat16mf4x4_t): Ditto. - (vfloat16mf4x5_t): Ditto. - (vfloat16mf4x6_t): Ditto. - (vfloat16mf4x7_t): Ditto. - (vfloat16mf4x8_t): Ditto. - (vfloat16mf2x2_t): Ditto. - (vfloat16mf2x3_t): Ditto. - (vfloat16mf2x4_t): Ditto. - (vfloat16mf2x5_t): Ditto. - (vfloat16mf2x6_t): Ditto. - (vfloat16mf2x7_t): Ditto. - (vfloat16mf2x8_t): Ditto. - (vfloat16m1x2_t): Ditto. - (vfloat16m1x3_t): Ditto. - (vfloat16m1x4_t): Ditto. - (vfloat16m1x5_t): Ditto. - (vfloat16m1x6_t): Ditto. - (vfloat16m1x7_t): Ditto. - (vfloat16m1x8_t): Ditto. - (vfloat16m2x2_t): Ditto. - (vfloat16m2x3_t): Diito. - (vfloat16m2x4_t): Diito. - (vfloat16m4x2_t): Diito. - * config/riscv/riscv-vector-builtins.def (vfloat16mf4x2_t): Ditto. - (vfloat16mf4x3_t): Ditto. - (vfloat16mf4x4_t): Ditto. - (vfloat16mf4x5_t): Ditto. - (vfloat16mf4x6_t): Ditto. - (vfloat16mf4x7_t): Ditto. - (vfloat16mf4x8_t): Ditto. - (vfloat16mf2x2_t): Ditto. - (vfloat16mf2x3_t): Ditto. - (vfloat16mf2x4_t): Ditto. - (vfloat16mf2x5_t): Ditto. - (vfloat16mf2x6_t): Ditto. - (vfloat16mf2x7_t): Ditto. - (vfloat16mf2x8_t): Ditto. - (vfloat16m1x2_t): Ditto. - (vfloat16m1x3_t): Ditto. - (vfloat16m1x4_t): Ditto. - (vfloat16m1x5_t): Ditto. - (vfloat16m1x6_t): Ditto. - (vfloat16m1x7_t): Ditto. - (vfloat16m1x8_t): Ditto. - (vfloat16m2x2_t): Ditto. - (vfloat16m2x3_t): Ditto. - (vfloat16m2x4_t): Ditto. - (vfloat16m4x2_t): Ditto. - * config/riscv/riscv-vector-switch.def (TUPLE_ENTRY): Ditto. - * config/riscv/riscv.md: Ditto. - * config/riscv/vector-iterators.md: Ditto. - -2023-06-25 Ju-Zhe Zhong - - * gimple-fold.cc (arith_overflowed_p): Apply LEN_MASK_{LOAD,STORE}. - (gimple_fold_partial_load_store_mem_ref): Ditto. - (gimple_fold_partial_store): Ditto. - (gimple_fold_call): Ditto. - -2023-06-25 liuhongt - - PR target/110309 - * config/i386/sse.md (maskload): - Refine pattern with UNSPEC_MASKLOAD. - (maskload): Ditto. - (*_load_mask): Extend mode iterator to - VI12HFBF_AVX512VL. - (*_load): Ditto. - -2023-06-25 Ju-Zhe Zhong - - * tree-ssa-alias.cc (call_may_clobber_ref_p_1): Add LEN_MASK_STORE. - -2023-06-25 Ju-Zhe Zhong - - * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Apply - LEN_MASK_{LOAD,STORE} - -2023-06-25 yulong - - * config/riscv/vector.md: Add float16 attr at sew、vlmul and ratio. - -2023-06-24 Roger Sayle - - * config/i386/i386.md (*qi_ext_3): New define_insn. - -2023-06-24 Juzhe-Zhong - - * config/riscv/autovec.md (*fma): set clobber to Pmode in expand stage. - (*fma): Ditto. - (*fnma): Ditto. - (*fnma): Ditto. - -2023-06-24 Juzhe-Zhong - - * config/riscv/autovec.md (fma4): New pattern. - (*fma): Ditto. - (fnma4): Ditto. - (*fnma): Ditto. - (fms4): Ditto. - (*fms): Ditto. - (fnms4): Ditto. - (*fnms): Ditto. - * config/riscv/riscv-protos.h (emit_vlmax_fp_ternary_insn): - New function. - * config/riscv/riscv-v.cc (emit_vlmax_fp_ternary_insn): Ditto. - * config/riscv/vector.md: Fix attribute bug. - -2023-06-24 Ju-Zhe Zhong - - * tree-ssa-loop-ivopts.cc (get_mem_type_for_internal_fn): - Apply LEN_MASK_{LOAD,STORE}. - -2023-06-24 Ju-Zhe Zhong - - * tree-ssa-loop-ivopts.cc (get_alias_ptr_type_for_ptr_address): - Add LEN_MASK_{LOAD,STORE}. - -2023-06-24 David Malcolm - - * diagnostic-format-sarif.cc: Add #define INCLUDE_VECTOR. - * diagnostic.cc: Likewise. - * text-art/box-drawing.cc: Likewise. - * text-art/canvas.cc: Likewise. - * text-art/ruler.cc: Likewise. - * text-art/selftests.cc: Likewise. - * text-art/selftests.h (text_art::canvas): New forward decl. - * text-art/style.cc: Add #define INCLUDE_VECTOR. - * text-art/styled-string.cc: Likewise. - * text-art/table.cc: Likewise. - * text-art/table.h: Remove #include . - * text-art/theme.cc: Add #define INCLUDE_VECTOR. - * text-art/types.h: Check that INCLUDE_VECTOR is defined. - Remove #include of and . - * text-art/widget.cc: Add #define INCLUDE_VECTOR. - * text-art/widget.h: Remove #include . - -2023-06-24 Ju-Zhe Zhong - - * internal-fn.cc (expand_partial_store_optab_fn): Adapt for LEN_MASK_STORE. - (internal_load_fn_p): Add LEN_MASK_LOAD. - (internal_store_fn_p): Add LEN_MASK_STORE. - (internal_fn_mask_index): Add LEN_MASK_{LOAD,STORE}. - (internal_fn_stored_value_index): Add LEN_MASK_STORE. - (internal_len_load_store_bias): Add LEN_MASK_{LOAD,STORE}. - * optabs-tree.cc (can_vec_mask_load_store_p): Adapt for LEN_MASK_{LOAD,STORE}. - (get_len_load_store_mode): Ditto. - * optabs-tree.h (can_vec_mask_load_store_p): Ditto. - (get_len_load_store_mode): Ditto. - * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Ditto. - (get_all_ones_mask): New function. - (vectorizable_store): Apply LEN_MASK_{LOAD,STORE} into vectorizer. - (vectorizable_load): Ditto. - -2023-06-23 Marek Polacek - - * doc/cpp.texi (__cplusplus): Document value for -std=c++26 and - -std=gnu++26. Document that for C++23, its value is 202302L. - * doc/invoke.texi: Document -std=c++26 and -std=gnu++26. - * dwarf2out.cc (highest_c_language): Handle GNU C++26. - (gen_compile_unit_die): Likewise. - -2023-06-23 Jan Hubicka - - * tree-ssa-phiprop.cc (propagate_with_phi): Compute post dominators on - demand. - (pass_phiprop::execute): Do not compute it here; return - update_ssa_only_virtuals if something changed. - (pass_data_phiprop): Remove TODO_update_ssa from todos. - -2023-06-23 Michael Meissner - Aaron Sawdey - - PR target/105325 - * config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): Fix problems that - allowed prefixed lwa to be generated. - * config/rs6000/fusion.md: Regenerate. - * config/rs6000/predicates.md (ds_form_mem_operand): Delete. - * config/rs6000/rs6000.md (prefixed attribute): Add support for load - plus compare immediate fused insns. - (maybe_prefixed): Likewise. - -2023-06-23 Roger Sayle - - * simplify-rtx.cc (simplify_subreg): Optimize lowpart SUBREGs - of ASHIFT to const0_rtx with sufficiently large shift count. - Optimize highpart SUBREGs of ASHIFT as the shift operand when - the shift count is the correct offset. Optimize SUBREGs of - multi-word logic operations if the SUBREGs of both operands - can be simplified. - -2023-06-23 Richard Biener - - * varasm.cc (initializer_constant_valid_p_1): Only - allow conversions between scalar floating point types. - -2023-06-23 Richard Biener - - * tree-vect-stmts.cc (vectorizable_assignment): - Properly handle non-integral operands when analyzing - conversions. - -2023-06-23 Prathamesh Kulkarni - - PR tree-optimization/110280 - * match.pd (vec_perm_expr(v, v, mask) -> v): Explicitly build vector - using build_vector_from_val with the element of input operand, and - mask's type if operand and mask's types don't match. - -2023-06-23 Richard Biener - - * fold-const.cc (tree_simple_nonnegative_warnv_p): Guard - the truth_value_p case with !VECTOR_TYPE_P. - -2023-06-23 Richard Biener - - * tree-vect-patterns.cc (vect_look_through_possible_promotion): - Exit early when the type isn't scalar integral. - -2023-06-23 Richard Biener - - * match.pd ((outertype)((innertype0)a+(innertype1)b) - -> ((newtype)a+(newtype)b)): Use element_precision - where appropriate. - -2023-06-23 Richard Biener - - * fold-const.cc (fold_binary_loc): Use element_precision - when trying (double)float1 CMP (double)float2 to - float1 CMP float2 simplification. - * match.pd: Likewise. - -2023-06-23 Richard Biener - - * tree-vect-stmts.cc (vectorizable_load): Avoid useless - copies of VMAT_INVARIANT vectorized stmts, fix SLP support. - -2023-06-23 Richard Biener - - * tree-vect-stmts.cc (vector_vector_composition_type): - Handle composition of a vector from a number of elements that - happens to match its number of lanes. - -2023-06-22 Marek Polacek - - * configure.ac (--enable-host-bind-now): New check. Add - -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now. - * configure: Regenerate. - * doc/install.texi: Document --enable-host-bind-now. - -2023-06-22 Di Zhao OS - - * config/aarch64/aarch64.cc: Change fma_reassoc_width for ampere1. - -2023-06-22 Richard Biener - - PR tree-optimization/110332 - * tree-ssa-phiprop.cc (propagate_with_phi): Always - check aliasing with edge inserted loads. - -2023-06-22 Roger Sayle - Uros Bizjak - - * config/i386/i386-expand.cc (ix86_expand_sse_ptest): Recognize - expansion of ptestc with equal operands as producing const1_rtx. - * config/i386/i386.cc (ix86_rtx_costs): Provide accurate cost - estimates of UNSPEC_PTEST, where the ptest performs the PAND - or PAND of its operands. - * config/i386/sse.md (define_split): Transform CCCmode UNSPEC_PTEST - of reg_equal_p operands into an x86_stc instruction. - (define_split): Split pandn/ptestz/set{n?}e into ptestc/set{n?}c. - (define_split): Similar to above for strict_low_part destinations. - (define_split): Split pandn/ptestz/j{n?}e into ptestc/j{n?}c. - -2023-06-22 David Malcolm - - PR analyzer/106626 - * Makefile.in (ANALYZER_OBJS): Add analyzer/access-diagram.o. - * doc/invoke.texi (Wanalyzer-out-of-bounds): Add description of - text art. - (fanalyzer-debug-text-art): New. - -2023-06-22 David Malcolm - - * Makefile.in (OBJS-libcommon): Add text-art/box-drawing.o, - text-art/canvas.o, text-art/ruler.o, text-art/selftests.o, - text-art/style.o, text-art/styled-string.o, text-art/table.o, - text-art/theme.o, and text-art/widget.o. - * color-macros.h (COLOR_FG_BRIGHT_BLACK): New. - (COLOR_FG_BRIGHT_RED): New. - (COLOR_FG_BRIGHT_GREEN): New. - (COLOR_FG_BRIGHT_YELLOW): New. - (COLOR_FG_BRIGHT_BLUE): New. - (COLOR_FG_BRIGHT_MAGENTA): New. - (COLOR_FG_BRIGHT_CYAN): New. - (COLOR_FG_BRIGHT_WHITE): New. - (COLOR_BG_BRIGHT_BLACK): New. - (COLOR_BG_BRIGHT_RED): New. - (COLOR_BG_BRIGHT_GREEN): New. - (COLOR_BG_BRIGHT_YELLOW): New. - (COLOR_BG_BRIGHT_BLUE): New. - (COLOR_BG_BRIGHT_MAGENTA): New. - (COLOR_BG_BRIGHT_CYAN): New. - (COLOR_BG_BRIGHT_WHITE): New. - * common.opt (fdiagnostics-text-art-charset=): New option. - (diagnostic-text-art.h): New SourceInclude. - (diagnostic_text_art_charset) New Enum and EnumValues. - * configure: Regenerate. - * configure.ac (gccdepdir): Add text-art to loop. - * diagnostic-diagram.h: New file. - * diagnostic-format-json.cc (json_emit_diagram): New. - (diagnostic_output_format_init_json): Wire it up to - context->m_diagrams.m_emission_cb. - * diagnostic-format-sarif.cc: Include "diagnostic-diagram.h" and - "text-art/canvas.h". - (sarif_result::on_nested_diagnostic): Move code to... - (sarif_result::add_related_location): ...this new function. - (sarif_result::on_diagram): New. - (sarif_builder::emit_diagram): New. - (sarif_builder::make_message_object_for_diagram): New. - (sarif_emit_diagram): New. - (diagnostic_output_format_init_sarif): Set - context->m_diagrams.m_emission_cb to sarif_emit_diagram. - * diagnostic-text-art.h: New file. - * diagnostic.cc: Include "diagnostic-text-art.h", - "diagnostic-diagram.h", and "text-art/theme.h". - (diagnostic_initialize): Initialize context->m_diagrams and - call diagnostics_text_art_charset_init. - (diagnostic_finish): Clean up context->m_diagrams.m_theme. - (diagnostic_emit_diagram): New. - (diagnostics_text_art_charset_init): New. - * diagnostic.h (text_art::theme): New forward decl. - (class diagnostic_diagram): Likewise. - (diagnostic_context::m_diagrams): New field. - (diagnostic_emit_diagram): New decl. - * doc/invoke.texi (Diagnostic Message Formatting Options): Add - -fdiagnostics-text-art-charset=. - (-fdiagnostics-plain-output): Add - -fdiagnostics-text-art-charset=none. - * gcc.cc: Include "diagnostic-text-art.h". - (driver_handle_option): Handle OPT_fdiagnostics_text_art_charset_. - * opts-common.cc (decode_cmdline_options_to_array): Add - "-fdiagnostics-text-art-charset=none" to expanded_args for - -fdiagnostics-plain-output. - * opts.cc: Include "diagnostic-text-art.h". - (common_handle_option): Handle OPT_fdiagnostics_text_art_charset_. - * pretty-print.cc (pp_unicode_character): New. - * pretty-print.h (pp_unicode_character): New decl. - * selftest-run-tests.cc: Include "text-art/selftests.h". - (selftest::run_tests): Call text_art_tests. - * text-art/box-drawing-chars.inc: New file, generated by - contrib/unicode/gen-box-drawing-chars.py. - * text-art/box-drawing.cc: New file. - * text-art/box-drawing.h: New file. - * text-art/canvas.cc: New file. - * text-art/canvas.h: New file. - * text-art/ruler.cc: New file. - * text-art/ruler.h: New file. - * text-art/selftests.cc: New file. - * text-art/selftests.h: New file. - * text-art/style.cc: New file. - * text-art/styled-string.cc: New file. - * text-art/table.cc: New file. - * text-art/table.h: New file. - * text-art/theme.cc: New file. - * text-art/theme.h: New file. - * text-art/types.h: New file. - * text-art/widget.cc: New file. - * text-art/widget.h: New file. - -2023-06-21 Uros Bizjak - - * function.h (emit_initial_value_sets): - Change return type from int to void. - (aggregate_value_p): Change return type from int to bool. - (prologue_contains): Ditto. - (epilogue_contains): Ditto. - (prologue_epilogue_contains): Ditto. - * function.cc (temp_slot): Make "in_use" variable bool. - (make_slot_available): Update for changed "in_use" variable. - (assign_stack_temp_for_type): Ditto. - (emit_initial_value_sets): Change return type from int to void - and update function body accordingly. - (instantiate_virtual_regs): Ditto. - (rest_of_handle_thread_prologue_and_epilogue): Ditto. - (safe_insn_predicate): Change return type from int to bool. - (aggregate_value_p): Change return type from int to bool - and update function body accordingly. - (prologue_contains): Change return type from int to bool. - (prologue_epilogue_contains): Ditto. - -2023-06-21 Alexander Monakov - - * common.opt (fp_contract_mode) [on]: Remove fallback. - * config/sh/sh.md (*fmasf4): Correct flag_fp_contract_mode test. - * doc/invoke.texi (-ffp-contract): Update. - * trans-mem.cc (diagnose_tm_1): Skip internal function calls. - -2023-06-21 Kyrylo Tkachov - - * config/aarch64/aarch64-sve.md (mask_gather_load): - Add alternatives to prefer to avoid same input and output Z register. - (mask_gather_load): Likewise. - (*mask_gather_load_xtw_unpacked): Likewise. - (*mask_gather_load_sxtw): Likewise. - (*mask_gather_load_uxtw): Likewise. - (@aarch64_gather_load_): - Likewise. - (@aarch64_gather_load_): - Likewise. - (*aarch64_gather_load_ - _xtw_unpacked): Likewise. - (*aarch64_gather_load_ - _sxtw): Likewise. - (*aarch64_gather_load_ - _uxtw): Likewise. - (@aarch64_ldff1_gather): Likewise. - (@aarch64_ldff1_gather): Likewise. - (*aarch64_ldff1_gather_sxtw): Likewise. - (*aarch64_ldff1_gather_uxtw): Likewise. - (@aarch64_ldff1_gather_ - ): Likewise. - (@aarch64_ldff1_gather_ - ): Likewise. - (*aarch64_ldff1_gather_ - _sxtw): Likewise. - (*aarch64_ldff1_gather_ - _uxtw): Likewise. - * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt): Likewise. - (@aarch64_gather_ldnt_ - ): Likewise. - -2023-06-21 Kyrylo Tkachov - - * config/aarch64/aarch64-sve.md (mask_gather_load): - Convert to compact alternatives syntax. - (mask_gather_load): Likewise. - (*mask_gather_load_xtw_unpacked): Likewise. - (*mask_gather_load_sxtw): Likewise. - (*mask_gather_load_uxtw): Likewise. - (@aarch64_gather_load_): - Likewise. - (@aarch64_gather_load_): - Likewise. - (*aarch64_gather_load_ - _xtw_unpacked): Likewise. - (*aarch64_gather_load_ - _sxtw): Likewise. - (*aarch64_gather_load_ - _uxtw): Likewise. - (@aarch64_ldff1_gather): Likewise. - (@aarch64_ldff1_gather): Likewise. - (*aarch64_ldff1_gather_sxtw): Likewise. - (*aarch64_ldff1_gather_uxtw): Likewise. - (@aarch64_ldff1_gather_ - ): Likewise. - (@aarch64_ldff1_gather_ - ): Likewise. - (*aarch64_ldff1_gather_ - _sxtw): Likewise. - (*aarch64_ldff1_gather_ - _uxtw): Likewise. - * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt): Likewise. - (@aarch64_gather_ldnt_ - ): Likewise. - -2023-06-21 Kyrylo Tkachov - - Revert: - 2023-06-21 Kyrylo Tkachov - - * config/aarch64/aarch64-sve.md (mask_gather_load): - Convert to compact alternatives syntax. - (mask_gather_load): Likewise. - (*mask_gather_load_xtw_unpacked): Likewise. - (*mask_gather_load_sxtw): Likewise. - (*mask_gather_load_uxtw): Likewise. - (@aarch64_gather_load_): - Likewise. - (@aarch64_gather_load_): - Likewise. - (*aarch64_gather_load_ - _xtw_unpacked): Likewise. - (*aarch64_gather_load_ - _sxtw): Likewise. - (*aarch64_gather_load_ - _uxtw): Likewise. - (@aarch64_ldff1_gather): Likewise. - (@aarch64_ldff1_gather): Likewise. - (*aarch64_ldff1_gather_sxtw): Likewise. - (*aarch64_ldff1_gather_uxtw): Likewise. - (@aarch64_ldff1_gather_ - ): Likewise. - (@aarch64_ldff1_gather_ - ): Likewise. - (*aarch64_ldff1_gather_ - _sxtw): Likewise. - (*aarch64_ldff1_gather_ - _uxtw): Likewise. - * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt): Likewise. - (@aarch64_gather_ldnt_ - ): Likewise. - -2023-06-21 Ju-Zhe Zhong - - * optabs-query.cc (can_vec_mask_load_store_p): Move to optabs-tree.cc. - (get_len_load_store_mode): Ditto. - * optabs-query.h (can_vec_mask_load_store_p): Move to optabs-tree.h. - (get_len_load_store_mode): Ditto. - * optabs-tree.cc (can_vec_mask_load_store_p): New function. - (get_len_load_store_mode): Ditto. - * optabs-tree.h (can_vec_mask_load_store_p): Ditto. - (get_len_load_store_mode): Ditto. - * tree-if-conv.cc: include optabs-tree instead of optabs-query - -2023-06-21 Richard Biener - - * tree-ssa-loop-ivopts.cc (add_iv_candidate_for_use): Use - split_constant_offset for the POINTER_PLUS_EXPR case. - -2023-06-21 Richard Biener - - * tree-ssa-loop-ivopts.cc (record_group_use): Use - split_constant_offset. - -2023-06-21 Richard Biener - - * tree-loop-distribution.cc (classify_builtin_st): Use - split_constant_offset. - * tree-ssa-loop-ivopts.h (strip_offset): Remove. - * tree-ssa-loop-ivopts.cc (strip_offset): Make static. - -2023-06-21 Kyrylo Tkachov - - * config/aarch64/aarch64-sve.md (mask_gather_load): - Convert to compact alternatives syntax. - (mask_gather_load): Likewise. - (*mask_gather_load_xtw_unpacked): Likewise. - (*mask_gather_load_sxtw): Likewise. - (*mask_gather_load_uxtw): Likewise. - (@aarch64_gather_load_): - Likewise. - (@aarch64_gather_load_): - Likewise. - (*aarch64_gather_load_ - _xtw_unpacked): Likewise. - (*aarch64_gather_load_ - _sxtw): Likewise. - (*aarch64_gather_load_ - _uxtw): Likewise. - (@aarch64_ldff1_gather): Likewise. - (@aarch64_ldff1_gather): Likewise. - (*aarch64_ldff1_gather_sxtw): Likewise. - (*aarch64_ldff1_gather_uxtw): Likewise. - (@aarch64_ldff1_gather_ - ): Likewise. - (@aarch64_ldff1_gather_ - ): Likewise. - (*aarch64_ldff1_gather_ - _sxtw): Likewise. - (*aarch64_ldff1_gather_ - _uxtw): Likewise. - * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt): Likewise. - (@aarch64_gather_ldnt_ - ): Likewise. - -2023-06-21 Tamar Christina - - PR other/110329 - * doc/md.texi: Replace backslashchar. - -2023-06-21 Richard Biener - - * config/i386/i386.cc (ix86_vector_costs::finish_cost): - Overload. For masked main loops make sure the vectorization - factor isn't more than double the number of iterations. - -2023-06-21 Jan Beulich - - * config/i386/i386-expand.cc (ix86_expand_copysign): Request - value duplication by ix86_build_signbit_mask() when AVX512F and - not HFmode. - * config/i386/sse.md (*_vternlog_all): Convert to - 2-alternative form. Adjust "mode" attribute. Add "enabled" - attribute. - (*_vpternlog_1): Also permit when TARGET_AVX512F - && !TARGET_PREFER_AVX256. - (*_vpternlog_2): Likewise. - (*_vpternlog_3): Likewise. - -2023-06-21 liuhongt - - PR target/110018 - * tree-vect-stmts.cc (vectorizable_conversion): Use - intermiediate integer type for float_expr/fix_trunc_expr when - direct optab is not existed. - -2023-06-20 Tamar Christina - - PR bootstrap/110324 - * gensupport.cc (convert_syntax): Explicitly check for RTX code. - -2023-06-20 Richard Sandiford - - * config/aarch64/aarch64.md (stack_tie): Hard-code the first - register operand to the stack pointer. Require the second register - operand to have the number specified in a separate const_int operand. - * config/aarch64/aarch64.cc (aarch64_emit_stack_tie): New function. - (aarch64_allocate_and_probe_stack_space): Use it. - (aarch64_expand_prologue, aarch64_expand_epilogue): Likewise. - (aarch64_expand_epilogue): Likewise. - -2023-06-20 Jakub Jelinek - - PR middle-end/79173 - * tree-ssa-math-opts.cc (match_uaddc_usubc): Remember lhs of - IMAGPART_EXPR of arg2/arg3 and use that as arg3 if it has the right - type. - -2023-06-20 Uros Bizjak - - * calls.h (setjmp_call_p): Change return type from int to bool. - * calls.cc (struct arg_data): Change "pass_on_stack" to bool. - (store_one_arg): Change return type from int to bool - and adjust function body accordingly. Change "sibcall_failure" - variable to bool. - (finalize_must_preallocate): Ditto. Change *must_preallocate pointer - argument to bool. Change "partial_seen" variable to bool. - (load_register_parameters): Change *sibcall_failure - pointer argument to bool. - (check_sibcall_argument_overlap_1): Change return type from int to bool - and adjust function body accordingly. - (check_sibcall_argument_overlap): Ditto. Change - "mark_stored_args_map" argument to bool. - (emit_call_1): Change "already_popped" variable to bool. - (setjmp_call_p): Change return type from int to bool - and adjust function body accordingly. - (initialize_argument_information): Change *must_preallocate - pointer argument to bool. - (expand_call): Change "pcc_struct_value", "must_preallocate" - and "sibcall_failure" variables to bool. - (emit_library_call_value_1): Change "pcc_struct_value" - variable to bool. - -2023-06-20 Martin Jambor - - PR ipa/110276 - * ipa-sra.cc (struct caller_issues): New field there_is_one. - (check_for_caller_issues): Set it. - (check_all_callers_for_issues): Check it. - -2023-06-20 Martin Jambor - - * ipa-prop.h (ipa_uid_to_idx_map_elt): New type. - (struct ipcp_transformation): Rearrange members according to - C++ class coding convention, add m_uid_to_idx, - get_param_index and maybe_create_parm_idx_map. - * ipa-cp.cc (ipcp_transformation::get_param_index): New function. - (compare_uids): Likewise. - (ipcp_transformation::maype_create_parm_idx_map): Likewise. - * ipa-prop.cc (ipcp_get_parm_bits): Use get_param_index. - (ipcp_update_bits): Accept TS as a parameter, assume it is not NULL. - (ipcp_update_vr): Likewise. - (ipcp_transform_function): Call, maybe_create_parm_idx_map of TS, bail - out quickly if empty, pass it to ipcp_update_bits and ipcp_update_vr. - -2023-06-20 Carl Love - - * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): - Rename CODE_FOR_xsxsigqp_tf to CODE_FOR_xsxsigqp_tf_ti. - Rename CODE_FOR_xsxsigqp_kf to CODE_FOR_xsxsigqp_kf_ti. - Rename CCDE_FOR_xsxexpqp_tf to CODE_FOR_xsxexpqp_tf_di. - Rename CODE_FOR_xsxexpqp_kf to CODE_FOR_xsxexpqp_kf_di. - (CODE_FOR_xsxexpqp_kf_v2di, CODE_FOR_xsxsigqp_kf_v1ti, - CODE_FOR_xsiexpqp_kf_v2di): Add case statements. - * config/rs6000/rs6000-builtins.def - (__builtin_vsx_scalar_extract_exp_to_vec, - __builtin_vsx_scalar_extract_sig_to_vec, - __builtin_vsx_scalar_insert_exp_vqp): Add new builtin definitions. - Rename xsxexpqp_kf, xsxsigqp_kf, xsiexpqp_kf to xsexpqp_kf_di, - xsxsigqp_kf_ti, xsiexpqp_kf_di respectively. - * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): - Update case RS6000_OVLD_VEC_VSIE to handle MODE_VECTOR_INT for new - overloaded instance. Update comments. - * config/rs6000/rs6000-overload.def - (__builtin_vec_scalar_insert_exp): Add new overload definition with - vector arguments. - (scalar_extract_exp_to_vec, scalar_extract_sig_to_vec): New - overloaded definitions. - * config/rs6000/vsx.md (V2DI_DI): New mode iterator. - (DI_to_TI): New mode attribute. - Rename xsxexpqp_ to sxexpqp__. - Rename xsxsigqp_ to xsxsigqp__. - Rename xsiexpqp_ to xsiexpqp__. - * doc/extend.texi (scalar_extract_exp_to_vec, - scalar_extract_sig_to_vec): Add documentation for new builtins. - (scalar_insert_exp): Add new overloaded builtin definition. - -2023-06-20 Li Xu - - * config/riscv/riscv.cc (riscv_regmode_natural_size): set the natural - size of vector mask mode to one rvv register. - -2023-06-20 Juzhe-Zhong - - * config/riscv/riscv-v.cc (expand_const_vector): Optimize codegen. - -2023-06-20 Lehua Ding - - * config/riscv/riscv.cc (riscv_arg_has_vector): Add default - switch handler. - -2023-06-20 Richard Biener - - * tree-ssa-dse.cc (dse_classify_store): When we found - no defs and the basic-block with the original definition - ends in __builtin_unreachable[_trap] the store is dead. - -2023-06-20 Richard Biener - - * tree-ssa-phiprop.cc (phiprop_insert_phi): For simple loads - keep the virtual SSA form up-to-date. - -2023-06-20 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (*aarch64_addp_same_reg): - New define_insn_and_split. - -2023-06-20 Tamar Christina - - * config/aarch64/aarch64.md (*mov_aarch64): Drop test comment. - -2023-06-20 Jan Beulich - - * config/i386/sse.md (vec_dupv2di): Correct %vmovddup input - constraint. Add new AVX512F alternative. - -2023-06-20 Richard Biener - - PR debug/110295 - * dwarf2out.cc (process_scope_var): Continue processing - the decl after setting a parent in case the existing DIE - was in limbo. - -2023-06-20 Lehua Ding - - * config/riscv/riscv.cc (riscv_scalable_vector_type_p): Delete. - (riscv_arg_has_vector): Simplify. - (riscv_pass_in_vector_p): Adjust warning message. - -2023-06-19 Jin Ma - - * config/riscv/riscv.cc (riscv_compute_frame_info): Allocate frame for FCSR. - (riscv_for_each_saved_reg): Save and restore FCSR in interrupt functions. - * config/riscv/riscv.md (riscv_frcsr): New patterns. - (riscv_fscsr): Likewise. - -2023-06-19 Toru Kisuki - - PR rtl-optimization/110305 - * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): - Handle HONOR_SNANS for x + 0.0. - -2023-06-19 Jan Hubicka - - PR tree-optimization/109811 - PR tree-optimization/109849 - * passes.def: Add phiprop to early optimization passes. - * tree-ssa-phiprop.cc: Allow clonning. - -2023-06-19 Tamar Christina - - * config/aarch64/aarch64.md (arches): Add nosimd. - (*mov_aarch64, *movsi_aarch64, *movdi_aarch64): Rewrite to - compact syntax. - -2023-06-19 Tamar Christina - Omar Tahir - - * gensupport.cc (class conlist, add_constraints, add_attributes, - skip_spaces, expect_char, preprocess_compact_syntax, - parse_section_layout, parse_section, convert_syntax): New. - (process_rtx): Check for conversion. - * genoutput.cc (process_template): Check for unresolved iterators. - (class data): Add compact_syntax_p. - (gen_insn): Use it. - * gensupport.h (compact_syntax): New. - (hash-set.h): Include. - * doc/md.texi: Document it. - -2023-06-19 Uros Bizjak - - * recog.h (check_asm_operands): Change return type from int to bool. - (insn_invalid_p): Ditto. - (verify_changes): Ditto. - (apply_change_group): Ditto. - (constrain_operands): Ditto. - (constrain_operands_cached): Ditto. - (validate_replace_rtx_subexp): Ditto. - (validate_replace_rtx): Ditto. - (validate_replace_rtx_part): Ditto. - (validate_replace_rtx_part_nosimplify): Ditto. - (added_clobbers_hard_reg_p): Ditto. - (peep2_regno_dead_p): Ditto. - (peep2_reg_dead_p): Ditto. - (store_data_bypass_p): Ditto. - (if_test_bypass_p): Ditto. - * rtl.h (split_all_insns_noflow): Change - return type from unsigned int to void. - * genemit.cc (output_added_clobbers_hard_reg_p): Change return type - of generated added_clobbers_hard_reg_p from int to bool and adjust - function body accordingly. Change "used" variable type from - int to bool. - * recog.cc (check_asm_operands): Change return type - from int to bool and adjust function body accordingly. - (insn_invalid_p): Ditto. Change "is_asm" variable to bool. - (verify_changes): Change return type from int to bool. - (apply_change_group): Change return type from int to bool - and adjust function body accordingly. - (validate_replace_rtx_subexp): Change return type from int to bool. - (validate_replace_rtx): Ditto. - (validate_replace_rtx_part): Ditto. - (validate_replace_rtx_part_nosimplify): Ditto. - (constrain_operands_cached): Ditto. - (constrain_operands): Ditto. Change "lose" and "win" - variables type from int to bool. - (split_all_insns_noflow): Change return type from unsigned int - to void and adjust function body accordingly. - (peep2_regno_dead_p): Change return type from int to bool. - (peep2_reg_dead_p): Ditto. - (peep2_find_free_register): Change "success" - variable type from int to bool - (store_data_bypass_p_1): Change return type from int to bool. - (store_data_bypass_p): Ditto. - -2023-06-19 Li Xu - - * config/riscv/vector-iterators.md: zvfh/zvfhmin depends on the - Zve32f extension. - -2023-06-19 Pan Li - - PR target/110299 - * config/riscv/riscv-vector-builtins-bases.cc: Adjust expand for - modes. - * config/riscv/vector-iterators.md: Remove VWLMUL1, VWLMUL1_ZVE64, - VWLMUL1_ZVE32, VI_ZVE64, VI_ZVE32, VWI, VWI_ZVE64, VWI_ZVE32, - VF_ZVE63 and VF_ZVE32. - * config/riscv/vector.md - (@pred_widen_reduc_plus): Removed. - (@pred_widen_reduc_plus): Ditto. - (@pred_widen_reduc_plus): Ditto. - (@pred_widen_reduc_plus): Ditto. - (@pred_widen_reduc_plus): Ditto. - (@pred_widen_reduc_plus): New pattern. - (@pred_widen_reduc_plus): Ditto. - (@pred_widen_reduc_plus): Ditto. - (@pred_widen_reduc_plus): Ditto. - (@pred_widen_reduc_plus): Ditto. - -2023-06-19 Pan Li - - PR target/110277 - * config/riscv/riscv-vector-builtins-bases.cc: Adjust expand for - ret_mode. - * config/riscv/vector-iterators.md: Add VHF, VSF, VDF, - VHF_LMUL1, VSF_LMUL1, VDF_LMUL1, and remove unused attr. - * config/riscv/vector.md (@pred_reduc_): Removed. - (@pred_reduc_): Ditto. - (@pred_reduc_): Ditto. - (@pred_reduc_plus): Ditto. - (@pred_reduc_plus): Ditto. - (@pred_reduc_plus): Ditto. - (@pred_reduc_): New pattern. - (@pred_reduc_): Ditto. - (@pred_reduc_): Ditto. - (@pred_reduc_plus): Ditto. - (@pred_reduc_plus): Ditto. - (@pred_reduc_plus): Ditto. - -2023-06-19 Andrew Stubbs - - * config/gcn/gcn.cc (gcn_expand_divmod_libfunc): New function. - (gcn_init_libfuncs): Add div and mod functions for all modes. - Add placeholders for divmod functions. - (TARGET_EXPAND_DIVMOD_LIBFUNC): Define. - -2023-06-19 Andrew Stubbs - - * tree-vect-generic.cc: Include optabs-libfuncs.h. - (get_compute_type): Check optab_libfunc. - * tree-vect-stmts.cc: Include optabs-libfuncs.h. - (vectorizable_operation): Check optab_libfunc. - -2023-06-19 Andrew Stubbs - - * config/gcn/gcn-protos.h (vgpr_4reg_mode_p): New function. - * config/gcn/gcn-valu.md (V_4REG, V_4REG_ALT): New iterators. - (V_MOV, V_MOV_ALT): Likewise. - (scalar_mode, SCALAR_MODE): Add TImode. - (vnsi, VnSI, vndi, VnDI): Likewise. - (vec_merge, vec_merge_with_clobber, vec_merge_with_vcc): Use V_MOV. - (mov, mov_unspec): Use V_MOV. - (*mov_4reg): New insn. - (mov_exec): New 4reg variant. - (mov_sgprbase): Likewise. - (reload_in, reload_out): Use V_MOV. - (vec_set): Likewise. - (vec_duplicate): New 4reg variant. - (vec_extract): Likewise. - (vec_extract): Rename to ... - (vec_extract): ... this, and use V_MOV. - (vec_extract_nop): New 4reg variant. - (fold_extract_last_): Use V_MOV. - (vec_init): Rename to ... - (vec_init): ... this, and use V_MOV. - (gather_load, gather_expr, - gather_insn_1offset, gather_insn_1offset_ds, - gather_insn_2offsets): Use V_MOV. - (scatter_store, scatter_expr, - scatter_insn_1offset, - scatter_insn_1offset_ds, - scatter_insn_2offsets): Likewise. - (maskloaddi, maskstoredi, mask_gather_load, - mask_scatter_store): Likewise. - * config/gcn/gcn.cc (gcn_class_max_nregs): Use vgpr_4reg_mode_p. - (gcn_hard_regno_mode_ok): Likewise. - (GEN_VNM): Add TImode support. - (USE_TI): New macro. Separate TImode operations from non-TImode ones. - (gcn_vector_mode_supported_p): Add V64TImode, V32TImode, V16TImode, - V8TImode, and V2TImode. - (print_operand): Add 'J' and 'K' print codes. - -2023-06-19 Richard Biener - - PR tree-optimization/110298 - * tree-ssa-loop-ivcanon.cc (tree_unroll_loops_completely): - Clear number of iterations info before cleaning up the CFG. - -2023-06-19 Kyrylo Tkachov - - * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): - Simplify vec_concat of lowpart subreg and high part vec_select. - -2023-06-19 Tobias Burnus - - * doc/invoke.texi (-foffload-options): Remove '-O3' from the examples. - -2023-06-19 Richard Sandiford - - * tree-vect-loop-manip.cc (vect_set_loop_condition_partial_vectors): - Handle null niters_skip. - -2023-06-19 Richard Biener - - * config/aarch64/aarch64.cc - (aarch64_vector_costs::analyze_loop_vinfo): Fix reference - to LOOP_VINFO_MASKS. - -2023-06-19 Senthil Kumar Selvaraj - - PR target/105523 - * common/config/avr/avr-common.cc: Remove setting - of OPT_fdelete_null_pointer_checks. - * config/avr/avr.cc (avr_option_override): Clear - flag_delete_null_pointer_checks if zero_address_valid. - (avr_addr_space_zero_address_valid): New function. - (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Provide target - hook. - -2023-06-19 Ju-Zhe Zhong - Robin Dapp - - * doc/md.texi: Add len_mask{load,store}. - * genopinit.cc (main): Ditto. - (CMP_NAME): Ditto. - * internal-fn.cc (len_maskload_direct): Ditto. - (len_maskstore_direct): Ditto. - (expand_call_mem_ref): Ditto. - (expand_partial_load_optab_fn): Ditto. - (expand_len_maskload_optab_fn): Ditto. - (expand_partial_store_optab_fn): Ditto. - (expand_len_maskstore_optab_fn): Ditto. - (direct_len_maskload_optab_supported_p): Ditto. - (direct_len_maskstore_optab_supported_p): Ditto. - * internal-fn.def (LEN_MASK_LOAD): Ditto. - (LEN_MASK_STORE): Ditto. - * optabs.def (OPTAB_CD): Ditto. - -2023-06-19 Robin Dapp - - * config/riscv/autovec.md (2): Add unop expanders. - -2023-06-19 Robin Dapp - - * config/riscv/autovec.md (3): Implement binop - expander. - * config/riscv/riscv-protos.h (emit_vlmax_fp_insn): Declare. - (enum vxrm_field_enum): Rename this... - (enum fixed_point_rounding_mode): ...to this. - (enum frm_field_enum): Rename this... - (enum floating_point_rounding_mode): ...to this. - * config/riscv/riscv-v.cc (emit_vlmax_fp_insn): New function - * config/riscv/riscv.cc (riscv_const_insns): Clarify const - vector handling. - (riscv_libgcc_floating_mode_supported_p): Adjust comment. - (riscv_excess_precision): Do not convert to float for ZVFH. - * config/riscv/vector-iterators.md: Add VF_AUTO iterator. - -2023-06-19 Robin Dapp - - * config/riscv/vector-iterators.md: Add VI_QH iterator. - * config/riscv/autovec-opt.md - (@pred_extract_first_sextdi): New vmv.x.s pattern - that includes sign extension. - (@pred_extract_first_sextsi): Dito for SImode. - -2023-06-19 Robin Dapp - - * config/riscv/autovec.md (vec_set): Implement. - (vec_extract): Implement. - * config/riscv/riscv-protos.h (enum insn_type): Add slide insn. - (emit_vlmax_slide_insn): Declare. - (emit_nonvlmax_slide_tu_insn): Declare. - (emit_scalar_move_insn): Export. - (emit_nonvlmax_integer_move_insn): Export. - * config/riscv/riscv-v.cc (emit_vlmax_slide_insn): New function. - (emit_nonvlmax_slide_tu_insn): New function. - (emit_vlmax_masked_mu_insn): No change. - (emit_vlmax_integer_move_insn): Export. - -2023-06-19 Richard Biener - - * tree-vectorizer.h (enum vect_partial_vector_style): New. - (_loop_vec_info::partial_vector_style): Likewise. - (LOOP_VINFO_PARTIAL_VECTORS_STYLE): Likewise. - (rgroup_controls::compare_type): Add. - (vec_loop_masks): Change from a typedef to auto_vec<> - to a structure. - * tree-vect-loop-manip.cc (vect_set_loop_condition_partial_vectors): - Adjust. Convert niters_skip to compare_type. - (vect_set_loop_condition_partial_vectors_avx512): New function - implementing the AVX512 partial vector codegen. - (vect_set_loop_condition): Dispatch to the correct - vect_set_loop_condition_partial_vectors_* function based on - LOOP_VINFO_PARTIAL_VECTORS_STYLE. - (vect_prepare_for_masked_peels): Compute LOOP_VINFO_MASK_SKIP_NITERS - in the original niter type. - * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Initialize - partial_vector_style. - (can_produce_all_loop_masks_p): Adjust. - (vect_verify_full_masking): Produce the rgroup_controls vector - here. Set LOOP_VINFO_PARTIAL_VECTORS_STYLE on success. - (vect_verify_full_masking_avx512): New function implementing - verification of AVX512 style masking. - (vect_verify_loop_lens): Set LOOP_VINFO_PARTIAL_VECTORS_STYLE. - (vect_analyze_loop_2): Also try AVX512 style masking. - Adjust condition. - (vect_estimate_min_profitable_iters): Implement AVX512 style - mask producing cost. - (vect_record_loop_mask): Do not build the rgroup_controls - vector here but record masks in a hash-set. - (vect_get_loop_mask): Implement AVX512 style mask query, - complementing the existing while_ult style. - -2023-06-19 Richard Biener - - * tree-vectorizer.h (vect_get_loop_mask): Add loop_vec_info - argument. - * tree-vect-loop.cc (vect_get_loop_mask): Likewise. - (vectorize_fold_left_reduction): Adjust. - (vect_transform_reduction): Likewise. - (vectorizable_live_operation): Likewise. - * tree-vect-stmts.cc (vectorizable_call): Likewise. - (vectorizable_operation): Likewise. - (vectorizable_store): Likewise. - (vectorizable_load): Likewise. - (vectorizable_condition): Likewise. - -2023-06-19 Senthil Kumar Selvaraj - - PR target/110086 - * config/avr/avr.opt (mgas-isr-prologues, mmain-is-OS_task): - Add Optimization option property. - -2023-06-19 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.cc (xtensa_constantsynth_2insn): - Add new pattern for the abovementioned case. - -2023-06-19 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.cc - (TARGET_MEMORY_MOVE_COST, xtensa_memory_move_cost): Remove. - -2023-06-19 Jiufu Guo - - * config/rs6000/rs6000.cc (TARGET_CONST_ANCHOR): New define. - -2023-06-19 Jiufu Guo - - * cse.cc (try_const_anchors): Check SCALAR_INT_MODE. - -2023-06-19 liuhongt - - PR target/110235 - * config/i386/sse.md (_packsswb): - Substitute with .. - (sse2_packsswb): .. this, .. - (avx2_packsswb): .. this and .. - (avx512bw_packsswb): .. this. - (_packssdw): Substitute with .. - (sse2_packssdw): .. this, .. - (avx2_packssdw): .. this and .. - (avx512bw_packssdw): .. this. - -2023-06-19 liuhongt - - PR target/110235 - * config/i386/i386-expand.cc (ix86_split_mmx_pack): Use - UNSPEC_US_TRUNCATE instead of original us_truncate for - packusdw/packuswb. - * config/i386/mmx.md (mmx_packswb): Substitute - with .. - (mmx_packsswb): .. this and .. - (mmx_packuswb): .. this. - (mmx_packusdw): Use UNSPEC_US_TRUNCATE instead of original - us_truncate. - (s_trunsuffix): Removed code iterator. - (any_s_truncate): Ditto. - * config/i386/sse.md (_packuswb): Use - UNSPEC_US_TRUNCATE instead of original us_truncate. - (_packusdw): Ditto. - * config/i386/i386.md (UNSPEC_US_TRUNCATE): New unspec_c_enum. - -2023-06-18 Pan Li - - * config/riscv/riscv-vector-builtins-bases.cc: Fix one typo. - -2023-06-18 Uros Bizjak - - * rtl.h (*rtx_equal_p_callback_function): - Change return type from int to bool. - (rtx_equal_p): Ditto. - (*hash_rtx_callback_function): Ditto. - * rtl.cc (rtx_equal_p): Change return type from int to bool - and adjust function body accordingly. - * early-remat.cc (scratch_equal): Ditto. - * sel-sched-ir.cc (skip_unspecs_callback): Ditto. - (hash_with_unspec_callback): Ditto. - -2023-06-18 Jeff Law - - * config/arc/arc.md (movqi_insn): Allow certain constants to - be stored into memory in the pattern's condition. - (movsf_insn): Similarly. - -2023-06-18 Honza - - PR tree-optimization/109849 - * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Add new parameter - ES; handle ipa_predicate::not_sra_candidate. - (evaluate_properties_for_edge): Pass es to - evaluate_conditions_for_known_args. - (ipa_fn_summary_t::duplicate): Handle sra candidates. - (dump_ipa_call_summary): Dump points_to_possible_sra_candidate. - (load_or_store_of_ptr_parameter): New function. - (points_to_possible_sra_candidate_p): New function. - (analyze_function_body): Initialize points_to_possible_sra_candidate; - determine sra predicates. - (estimate_ipcp_clone_size_and_time): Update call of - evaluate_conditions_for_known_args. - (remap_edge_params): Update points_to_possible_sra_candidate. - (read_ipa_call_summary): Stream points_to_possible_sra_candidate - (write_ipa_call_summary): Likewise. - * ipa-predicate.cc (ipa_predicate::add_clause): Handle not_sra_candidate. - (dump_condition): Dump it. - * ipa-predicate.h (struct inline_param_summary): Add - points_to_possible_sra_candidate. - -2023-06-18 Roger Sayle - - * config/i386/i386-expand.cc (ix86_expand_carry): New helper - function for setting the carry flag. - (ix86_expand_builtin) : Use it here. - * config/i386/i386-protos.h (ix86_expand_carry): Prototype here. - * config/i386/i386.md (uaddc5): Use ix86_expand_carry. - (usubc5): Likewise. - -2023-06-18 Roger Sayle - - * config/i386/i386.md (*concat3_1): Use QImode - for the immediate constant shift count. - (*concat3_2): Likewise. - (*concat3_3): Likewise. - (*concat3_4): Likewise. - (*concat3_5): Likewise. - (*concat3_6): Likewise. - -2023-06-18 Uros Bizjak - - * cse.cc (hash_rtx_cb): Rename to hash_rtx. - (hash_rtx): Remove. - * early-remat.cc (remat_candidate_hasher::equal): Update - to call rtx_equal_p with rtx_equal_p_callback_function argument. - * rtl.cc (rtx_equal_p_cb): Rename to rtx_equal_p. - (rtx_equal_p): Remove. - * rtl.h (rtx_equal_p): Add rtx_equal_p_callback_function - argument with NULL default value. - (rtx_equal_p_cb): Remove function declaration. - (hash_rtx_cb): Ditto. - (hash_rtx): Add hash_rtx_callback_function argument - with NULL default value. - * sel-sched-ir.cc (free_nop_pool): Update function comment. - (skip_unspecs_callback): Ditto. - (vinsn_init): Update to call hash_rtx with - hash_rtx_callback_function argument. - (vinsn_equal_p): Ditto. - -2023-06-18 yulong - - * config/riscv/genrvv-type-indexer.cc (valid_type): Enable FP16 tuple. - * config/riscv/riscv-modes.def (RVV_TUPLE_MODES): New macro. - (ADJUST_ALIGNMENT): Ditto. - (RVV_TUPLE_PARTIAL_MODES): Ditto. - (ADJUST_NUNITS): Ditto. - * config/riscv/riscv-vector-builtins-types.def (vfloat16mf4x2_t): - New types. - (vfloat16mf4x3_t): Ditto. - (vfloat16mf4x4_t): Ditto. - (vfloat16mf4x5_t): Ditto. - (vfloat16mf4x6_t): Ditto. - (vfloat16mf4x7_t): Ditto. - (vfloat16mf4x8_t): Ditto. - (vfloat16mf2x2_t): Ditto. - (vfloat16mf2x3_t): Ditto. - (vfloat16mf2x4_t): Ditto. - (vfloat16mf2x5_t): Ditto. - (vfloat16mf2x6_t): Ditto. - (vfloat16mf2x7_t): Ditto. - (vfloat16mf2x8_t): Ditto. - (vfloat16m1x2_t): Ditto. - (vfloat16m1x3_t): Ditto. - (vfloat16m1x4_t): Ditto. - (vfloat16m1x5_t): Ditto. - (vfloat16m1x6_t): Ditto. - (vfloat16m1x7_t): Ditto. - (vfloat16m1x8_t): Ditto. - (vfloat16m2x2_t): Ditto. - (vfloat16m2x3_t): Ditto. - (vfloat16m2x4_t): Ditto. - (vfloat16m4x2_t): Ditto. - * config/riscv/riscv-vector-builtins.def (vfloat16mf4x2_t): New macro. - (vfloat16mf4x3_t): Ditto. - (vfloat16mf4x4_t): Ditto. - (vfloat16mf4x5_t): Ditto. - (vfloat16mf4x6_t): Ditto. - (vfloat16mf4x7_t): Ditto. - (vfloat16mf4x8_t): Ditto. - (vfloat16mf2x2_t): Ditto. - (vfloat16mf2x3_t): Ditto. - (vfloat16mf2x4_t): Ditto. - (vfloat16mf2x5_t): Ditto. - (vfloat16mf2x6_t): Ditto. - (vfloat16mf2x7_t): Ditto. - (vfloat16mf2x8_t): Ditto. - (vfloat16m1x2_t): Ditto. - (vfloat16m1x3_t): Ditto. - (vfloat16m1x4_t): Ditto. - (vfloat16m1x5_t): Ditto. - (vfloat16m1x6_t): Ditto. - (vfloat16m1x7_t): Ditto. - (vfloat16m1x8_t): Ditto. - (vfloat16m2x2_t): Ditto. - (vfloat16m2x3_t): Ditto. - (vfloat16m2x4_t): Ditto. - (vfloat16m4x2_t): Ditto. - * config/riscv/riscv-vector-switch.def (TUPLE_ENTRY): New. - * config/riscv/riscv.md: New. - * config/riscv/vector-iterators.md: New. - -2023-06-17 Roger Sayle - - * config/i386/i386-expand.cc (ix86_expand_move): Check that OP1 is - CONST_WIDE_INT_P before calling ix86_convert_wide_int_to_broadcast. - Generalize special case for converting TImode to V1TImode to handle - all 128-bit vector conversions. - -2023-06-17 Costas Argyris - - * gcc-ar.cc (main): Refactor to slightly reduce code - duplication. Avoid unnecessary elements in nargv. - -2023-06-16 Pan Li - - PR target/110265 - * config/riscv/riscv-vector-builtins-bases.cc: Add ret_mode for - integer reduction expand. - * config/riscv/vector-iterators.md: Add VQI, VHI, VSI and VDI, - and the LMUL1 attr respectively. - * config/riscv/vector.md - (@pred_reduc_): Removed. - (@pred_reduc_): Likewise. - (@pred_reduc_): Likewise. - (@pred_reduc_): New pattern. - (@pred_reduc_): Likewise. - (@pred_reduc_): Likewise. - (@pred_reduc_): Likewise. - -2023-06-16 Juzhe-Zhong - - PR target/110264 - * config/riscv/riscv-vsetvl.cc (insert_vsetvl): Fix bug. - -2023-06-16 Jakub Jelinek - - PR middle-end/79173 - * builtin-types.def (BT_FN_UINT_UINT_UINT_UINT_UINTPTR, - BT_FN_ULONG_ULONG_ULONG_ULONG_ULONGPTR, - BT_FN_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONGPTR): New - types. - * builtins.def (BUILT_IN_ADDC, BUILT_IN_ADDCL, BUILT_IN_ADDCLL, - BUILT_IN_SUBC, BUILT_IN_SUBCL, BUILT_IN_SUBCLL): New builtins. - * builtins.cc (fold_builtin_addc_subc): New function. - (fold_builtin_varargs): Handle BUILT_IN_{ADD,SUB}C{,L,LL}. - * doc/extend.texi (__builtin_addc, __builtin_subc): Document. - -2023-06-16 Jakub Jelinek - - PR tree-optimization/110271 - * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children) - : Ignore return value from match_arith_overflow, - instead call match_uaddc_usubc only if gsi_stmt (gsi) is still stmt. - -2023-06-16 Martin Jambor - - * configure: Regenerate. - -2023-06-16 Roger Sayle - Uros Bizjak - - PR target/31985 - * config/i386/i386.md (*add3_doubleword_concat): New - define_insn_and_split combine *add3_doubleword with - a *concat3 for more efficient lowering after reload. - -2023-06-16 Vladimir N. Makarov - - * ira-lives.cc: Include except.h. - (process_bb_node_lives): Ignore conflicts from cleanup exceptions - when the pseudo does not live at the exception landing pad. - -2023-06-16 Alex Coplan - - * doc/invoke.texi: Document -Welaborated-enum-base. - -2023-06-16 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (shrn2_n): Rename builtins to... - (ushrn2_n): ... This. - (sqshrn2_n): Rename builtins to... - (ssqshrn2_n): ... This. - (uqshrn2_n): Rename builtins to... - (uqushrn2_n): ... This. - * config/aarch64/arm_neon.h (vqshrn_high_n_s16): Adjust for the above. - (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. - (vshrn_high_n_s16): Likewise. - (vshrn_high_n_s32): Likewise. - (vshrn_high_n_s64): Likewise. - (vshrn_high_n_u16): Likewise. - (vshrn_high_n_u32): Likewise. - (vshrn_high_n_u64): Likewise. - * config/aarch64/aarch64-simd.md (aarch64_shrn2_n_insn_le): - Rename to... - (aarch64_shrn2_n_insn_le): ... This. - Use SHIFTRT iterator and AARCH64_VALID_SHRN_OP check. - (aarch64_shrn2_n_insn_be): Rename to... - (aarch64_shrn2_n_insn_be): ... This. - Use SHIFTRT iterator and AARCH64_VALID_SHRN_OP check. - (aarch64_shrn2_n): Rename to... - (aarch64_shrn2_n): ... This. - Update expander for the above. - -2023-06-16 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (shrn2): Rename builtins to... - (shrn2_n): ... This. - (rshrn2): Rename builtins to... - (rshrn2_n): ... This. - * config/aarch64/arm_neon.h (vrshrn_high_n_s16): Adjust for the above. - (vrshrn_high_n_s32): Likewise. - (vrshrn_high_n_s64): Likewise. - (vrshrn_high_n_u16): Likewise. - (vrshrn_high_n_u32): Likewise. - (vrshrn_high_n_u64): Likewise. - (vshrn_high_n_s16): Likewise. - (vshrn_high_n_s32): Likewise. - (vshrn_high_n_s64): Likewise. - (vshrn_high_n_u16): Likewise. - (vshrn_high_n_u32): Likewise. - (vshrn_high_n_u64): Likewise. - * config/aarch64/aarch64-simd.md (*aarch64_shrn2_vect_le): - Delete. - (*aarch64_shrn2_vect_be): Likewise. - (aarch64_shrn2_insn_le): Likewise. - (aarch64_shrn2_insn_be): Likewise. - (aarch64_shrn2): Likewise. - (aarch64_rshrn2_insn_le): Likewise. - (aarch64_rshrn2_insn_be): Likewise. - (aarch64_rshrn2): Likewise. - (aarch64_qshrn2_n_insn_le): Likewise. - (aarch64_shrn2_n_insn_le): New define_insn. - (aarch64_qshrn2_n_insn_be): Delete. - (aarch64_shrn2_n_insn_be): New define_insn. - (aarch64_qshrn2_n): Delete. - (aarch64_shrn2_n): New define_expand. - (aarch64_rshrn2_n_insn_le): New define_insn. - (aarch64_rshrn2_n_insn_be): New define_insn. - (aarch64_rshrn2_n): New define_expand. - (aarch64_sqshrun2_n_insn_le): New define_insn. - (aarch64_sqshrun2_n_insn_be): New define_insn. - (aarch64_sqshrun2_n): New define_expand. - (aarch64_sqrshrun2_n_insn_le): New define_insn. - (aarch64_sqrshrun2_n_insn_be): New define_insn. - (aarch64_sqrshrun2_n): New define_expand. - * config/aarch64/iterators.md (UNSPEC_SQSHRUN, UNSPEC_SQRSHRUN, - UNSPEC_SQSHRN, UNSPEC_UQSHRN, UNSPEC_SQRSHRN, UNSPEC_UQRSHRN): - Delete unspec values. - (VQSHRN_N): Delete int iterator. - -2023-06-16 Kyrylo Tkachov - - * config/aarch64/aarch64.h (AARCH64_VALID_SHRN_OP): Define. - * config/aarch64/aarch64-simd.md - (*aarch64_shrn_n_insn): Rename to... - (*aarch64_shrn_n_insn): ... This. - Use SHIFTRT iterator and add AARCH64_VALID_SHRN_OP to condition. - * config/aarch64/iterators.md (shrn_s): New code attribute. - -2023-06-16 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_qshrn_n): - Rename to... - (aarch64_shrn_n): ... This. Reimplement with RTL codes. - (*aarch64_rshrn_n_insn): New define_insn. - (aarch64_sqrshrun_n_insn): Likewise. - (aarch64_sqshrun_n_insn): Likewise. - (aarch64_rshrn_n): New define_expand. - (aarch64_sqshrun_n): Likewise. - (aarch64_sqrshrun_n): Likewise. - * config/aarch64/iterators.md (V2XWIDE): Add HI and SI modes. - -2023-06-16 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (shrn): Rename builtins to... - (shrn_n): ... This. - (rshrn): Rename builtins to... - (rshrn_n): ... This. - * config/aarch64/arm_neon.h (vshrn_n_s16): Adjust for the above. - (vshrn_n_s32): Likewise. - (vshrn_n_s64): Likewise. - (vshrn_n_u16): Likewise. - (vshrn_n_u32): Likewise. - (vshrn_n_u64): Likewise. - (vrshrn_n_s16): Likewise. - (vrshrn_n_s32): Likewise. - (vrshrn_n_s64): Likewise. - (vrshrn_n_u16): Likewise. - (vrshrn_n_u32): Likewise. - (vrshrn_n_u64): Likewise. - * config/aarch64/aarch64-simd.md - (*aarch64_shrn): Delete. - (aarch64_shrn): Likewise. - (aarch64_rshrn_insn): Likewise. - (aarch64_rshrn): Likewise. - (aarch64_qshrn_n_insn): Likewise. - (aarch64_qshrn_n): Likewise. - (*aarch64_shrn_n_insn): New define_insn. - (*aarch64_rshrn_n_insn): Likewise. - (*aarch64_sqshrun_n_insn): Likewise. - (*aarch64_sqrshrun_n_insn): Likewise. - (aarch64_shrn_n): New define_expand. - (aarch64_rshrn_n): Likewise. - (aarch64_sqshrun_n): Likewise. - (aarch64_sqrshrun_n): Likewise. - * config/aarch64/iterators.md (ALL_TRUNC): New code iterator. - (TRUNCEXTEND): New code attribute. - (TRUNC_SHIFT): Likewise. - (shrn_op): Likewise. - * config/aarch64/predicates.md (aarch64_simd_umax_quarter_mode): - New predicate. - -2023-06-16 Pan Li - - * config/riscv/riscv-vsetvl.cc - (pass_vsetvl::global_eliminate_vsetvl_insn): Initialize var by NULL. - -2023-06-16 Richard Biener - - PR tree-optimization/110278 - * match.pd (uns < (typeof uns)(uns != 0) -> false): New. - (x != (typeof x)(x == 0) -> true): Likewise. - -2023-06-16 Pali Rohár - - * config/i386/mingw-w64.h (CPP_SPEC): Adjust for -mcrtdll=. - (REAL_LIBGCC_SPEC): New define. - * config/i386/mingw.opt: Add mcrtdll= - * config/i386/mingw32.h (CPP_SPEC): Adjust for -mcrtdll=. - (REAL_LIBGCC_SPEC): Adjust for -mcrtdll=. - (STARTFILE_SPEC): Adjust for -mcrtdll=. - * doc/invoke.texi: Add mcrtdll= documentation. - -2023-06-16 Simon Dardis - - * config/mips/mips.cc (enum mips_code_readable_setting):New enmu. - (mips_handle_code_readable_attr):New static function. - (mips_get_code_readable_attr):New static enum function. - (mips_set_current_function):Set the code_readable mode. - (mips_option_override):Same as above. - * doc/extend.texi:Document code_readable. - -2023-06-16 Richard Biener - - PR tree-optimization/110269 - * fold-const.cc (fold_binary_loc): Merge x != 0 folding - with tree_expr_nonzero_p ... - * match.pd (cmp (convert? addr@0) integer_zerop): With this - pattern. - -2023-06-15 Marek Polacek - - * Makefile.in: Set LD_PICFLAG. Use it. Set enable_host_pie. - Remove NO_PIE_CFLAGS and NO_PIE_FLAG. Pass LD_PICFLAG to - ALL_LINKERFLAGS. Use the "pic" build of libiberty if --enable-host-pie. - * configure.ac (--enable-host-shared): Don't set PICFLAG here. - (--enable-host-pie): New check. Set PICFLAG and LD_PICFLAG after this - check. - * configure: Regenerate. - * doc/install.texi: Document --enable-host-pie. - -2023-06-15 Manolis Tsamis - - * regcprop.cc (maybe_mode_change): Enable stack pointer - propagation. - -2023-06-15 Andrew MacLeod - - PR tree-optimization/110266 - * gimple-range-fold.cc (adjust_imagpart_expr): Check for integer - complex type. - (adjust_realpart_expr): Ditto. - -2023-06-15 Jan Beulich - - * config/i386/sse.md (_vec_dup): Use - vmovddup. - -2023-06-15 Jan Beulich - - * config/i386/constraints.md: Mention k and r for B. - -2023-06-15 Lulu Cheng - Andrew Pinski - - PR target/110136 - * config/loongarch/loongarch.md: Modify the register constraints for template - "jumptable" and "indirect_jump" from "r" to "e". - -2023-06-15 Xi Ruoyao - - * config/loongarch/loongarch-tune.h (loongarch_align): New - struct. - * config/loongarch/loongarch-def.h (loongarch_cpu_align): New - array. - * config/loongarch/loongarch-def.c (loongarch_cpu_align): Define - the array. - * config/loongarch/loongarch.cc - (loongarch_option_override_internal): Set the value of - -falign-functions= if -falign-functions is enabled but no value - is given. Likewise for -falign-labels=. - -2023-06-15 Jakub Jelinek - - PR middle-end/79173 - * internal-fn.def (UADDC, USUBC): New internal functions. - * internal-fn.cc (expand_UADDC, expand_USUBC): New functions. - (commutative_ternary_fn_p): Return true also for IFN_UADDC. - * optabs.def (uaddc5_optab, usubc5_optab): New optabs. - * tree-ssa-math-opts.cc (uaddc_cast, uaddc_ne0, uaddc_is_cplxpart, - match_uaddc_usubc): New functions. - (math_opts_dom_walker::after_dom_children): Call match_uaddc_usubc - for PLUS_EXPR, MINUS_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR unless - other optimizations have been successful for those. - * gimple-fold.cc (gimple_fold_call): Handle IFN_UADDC and IFN_USUBC. - * fold-const-call.cc (fold_const_call): Likewise. - * gimple-range-fold.cc (adjust_imagpart_expr): Likewise. - * tree-ssa-dce.cc (eliminate_unnecessary_stmts): Likewise. - * doc/md.texi (uaddc5, usubc5): Document new named - patterns. - * config/i386/i386.md (uaddc5, usubc5): New - define_expand patterns. - (*setcc_qi_addqi3_cconly_overflow_1_, *setccc): Split - into NOTE_INSN_DELETED note rather than nop instruction. - (*setcc_qi_negqi_ccc_1_, *setcc_qi_negqi_ccc_2_): - Likewise. - -2023-06-15 Jakub Jelinek - - PR middle-end/79173 - * config/i386/i386.md (subborrow): Add alternative with - memory destination and add for it define_peephole2 - TARGET_READ_MODIFY_WRITE/-Os patterns to prefer using memory - destination in these patterns. - -2023-06-15 Jakub Jelinek - - PR middle-end/79173 - * config/i386/i386.md (*sub_3, @add3_carry, - addcarry, @sub3_carry, *add3_cc_overflow_1): Add - define_peephole2 TARGET_READ_MODIFY_WRITE/-Os patterns to prefer - using memory destination in these patterns. - -2023-06-15 Jakub Jelinek - - * gimple-fold.cc (gimple_fold_call): Move handling of arg0 - as well as arg1 INTEGER_CSTs for .UBSAN_CHECK_{ADD,SUB,MUL} - and .{ADD,SUB,MUL}_OVERFLOW calls from here... - * fold-const-call.cc (fold_const_call): ... here. - -2023-06-15 Oluwatamilore Adebayo - - * config/aarch64/aarch64-simd.md (aarch64_abd): - Rename to abd3. - * config/aarch64/aarch64-sve.md (abd_3): Rename - to abd3. - -2023-06-15 Oluwatamilore Adebayo - - * doc/md.texi (sabd, uabd): Document them. - * internal-fn.def (ABD): Use new optab. - * optabs.def (sabd_optab, uabd_optab): New optabs, - * tree-vect-patterns.cc (vect_recog_absolute_difference): - Recognize the following idiom abs (a - b). - (vect_recog_sad_pattern): Refactor to use - vect_recog_absolute_difference. - (vect_recog_abd_pattern): Use patterns found by - vect_recog_absolute_difference to build a new ABD - internal call. - -2023-06-15 chenxiaolong - - * config/loongarch/loongarch.h (LARCH_CALL_RATIO): Modify the value - of macro LARCH_CALL_RATIO on LoongArch to make it perform optimally. - -2023-06-15 Juzhe-Zhong - - * config/riscv/riscv-v.cc (shuffle_merge_patterns): New pattern. - (expand_vec_perm_const_1): Add merge optmization. - -2023-06-15 Lehua Ding - - PR target/110119 - * config/riscv/riscv.cc (riscv_get_arg_info): Return NULL_RTX for vector mode - (riscv_pass_by_reference): Return true for vector mode - -2023-06-15 Pan Li - - * config/riscv/autovec-opt.md: Align the predictor sytle. - * config/riscv/autovec.md: Ditto. - -2023-06-15 Pan Li - - * config/riscv/riscv-v.cc (rvv_builder::get_merge_scalar_mask): - Take elen instead of scalar BITS_PER_WORD. - (expand_vector_init_merge_repeating_sequence): Use inner_bits_size - instead of scaler BITS_PER_WORD. - -2023-06-14 Jivan Hakobyan - - * config/moxie/uclinux.h (MFWRAP_SPEC): Remove - -2023-06-14 Kyrylo Tkachov - - * config/aarch64/aarch64-sve-builtins-base.cc (svlast_impl::fold): - Fix signed comparison warning in loop from npats to enelts. - -2023-06-14 Thomas Schwinge - - * gcc.cc (driver_handle_option): Forward host '-lgfortran', '-lm' - to offloading compilation. - * config/gcn/mkoffload.cc (main): Adjust. - * config/nvptx/mkoffload.cc (main): Likewise. - * doc/invoke.texi (foffload-options): Update example. - -2023-06-14 liuhongt - - PR target/110227 - * config/i386/sse.md (mov_internal>): Use x instead of v - for alternative 2 since there's no evex version for vpcmpeqd - ymm, ymm, ymm. - -2023-06-13 Jeff Law - - * gcc.cc (LINK_COMMAND_SPEC): Remove mudflap spec handling. - -2023-06-13 Jeff Law - - * config/sh/divtab.cc: Remove. - -2023-06-13 Jakub Jelinek - - * config/i386/i386.cc (standard_sse_constant_opcode): Remove - superfluous spaces around \t for vpcmpeqd. - -2023-06-13 Roger Sayle - - * expr.cc (store_constructor) : Don't bother - clearing vectors with only a single element. Set CLEARED if the - vector was initialized to zero. - -2023-06-13 Lehua Ding - - * config/riscv/riscv-v.cc (struct mode_vtype_group): Remove duplicate - #include. - (ENTRY): Undef. - (TUPLE_ENTRY): Undef. - -2023-06-13 Juzhe-Zhong - - * config/riscv/riscv-v.cc (rvv_builder::single_step_npatterns_p): Add comment. - (shuffle_generic_patterns): Ditto. - (expand_vec_perm_const_1): Ditto. - -2023-06-13 Juzhe-Zhong - - * config/riscv/riscv-v.cc (emit_vlmax_decompress_insn): Fix bug. - (shuffle_decompress_patterns): Ditto. - -2023-06-13 Richard Biener - - * tree-ssa-loop-ch.cc (ch_base::copy_headers): Free loop BBs. - -2023-06-13 Yanzhang Wang - Kito Cheng - - * config/riscv/riscv-protos.h (riscv_init_cumulative_args): Set - warning flag if func is not builtin - * config/riscv/riscv.cc - (riscv_scalable_vector_type_p): Determine whether the type is scalable vector. - (riscv_arg_has_vector): Determine whether the arg is vector type. - (riscv_pass_in_vector_p): Check the vector type param is passed by value. - (riscv_init_cumulative_args): The same as header. - (riscv_get_arg_info): Add the checking. - (riscv_function_value): Check the func return and set warning flag - * config/riscv/riscv.h (INIT_CUMULATIVE_ARGS): Add a flag to - determine whether warning psabi or not. - -2023-06-13 Kyrylo Tkachov - - * config/arm/arm-opts.h (enum arm_tp_type): Remove TP_CP15. - Add TP_TPIDRURW, TP_TPIDRURO, TP_TPIDRPRW values. - * config/arm/arm-protos.h (arm_output_load_tpidr): Declare prototype. - * config/arm/arm.cc (arm_option_reconfigure_globals): Replace TP_CP15 - with TP_TPIDRURO. - (arm_output_load_tpidr): Define. - * config/arm/arm.h (TARGET_HARD_TP): Define in terms of TARGET_SOFT_TP. - * config/arm/arm.md (load_tp_hard): Call arm_output_load_tpidr to output - assembly. - (reload_tp_hard): Likewise. - * config/arm/arm.opt (tpidrurw, tpidruro, tpidrprw): New values for - arm_tp_type. - * doc/invoke.texi (Arm Options, mtp): Document new values. - -2023-06-13 Kyrylo Tkachov - - PR target/108779 - * config/aarch64/aarch64-opts.h (enum aarch64_tp_reg): Add - AARCH64_TPIDRRO_EL0 value. - * config/aarch64/aarch64.cc (aarch64_output_load_tp): Define. - * config/aarch64/aarch64.opt (tpidr_el0, tpidr_el1, tpidr_el2, - tpidr_el3, tpidrro_el3): New accepted values to -mtp=. - * doc/invoke.texi (AArch64 Options): Document new -mtp= options. - -2023-06-13 Alexandre Oliva - - * range-op-float.cc (frange_nextafter): Drop inline. - (frelop_early_resolve): Add static. - (frange_float): Likewise. - -2023-06-13 Richard Biener - - PR middle-end/110232 - * fold-const.cc (native_interpret_vector): Use TYPE_SIZE_UNIT - to check whether the buffer covers the whole vector. - -2023-06-13 Richard Biener - - * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): For - .MASK_LOAD and friends set the size of the access to unknown. - -2023-06-13 Tejas Belagod - - PR target/96339 - * config/aarch64/aarch64-sve-builtins-base.cc (svlast_impl::fold): Fold sve - calls that have a constant input predicate vector. - (svlast_impl::is_lasta): Query to check if intrinsic is svlasta. - (svlast_impl::is_lastb): Query to check if intrinsic is svlastb. - (svlast_impl::vect_all_same): Check if all vector elements are equal. - -2023-06-13 Andi Kleen - - * config/i386/gcc-auto-profile: Regenerate. - -2023-06-13 Juzhe-Zhong - - * config/riscv/vector-iterators.md: Fix requirement. - -2023-06-13 Juzhe-Zhong - - * config/riscv/riscv-v.cc (emit_vlmax_decompress_insn): New function. - (shuffle_decompress_patterns): New function. - (expand_vec_perm_const_1): Add decompress optimization. - -2023-06-12 Jeff Law - - PR rtl-optimization/101188 - * postreload.cc (reload_cse_move2add_invalidate): New function, - extracted from... - (reload_cse_move2add): Call reload_cse_move2add_invalidate. - -2023-06-12 Prathamesh Kulkarni - - * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Tweak condition - if (n_var == n_elts && n_elts <= 16) to allow a single constant, - and if maxv == 1, use constant element for duplicating into register. - -2023-06-12 Tobias Burnus - - * gimplify.cc (gimplify_adjust_omp_clauses_1): Use - GOMP_MAP_FORCE_PRESENT for 'present alloc' implicit mapping. - (gimplify_adjust_omp_clauses): Change - GOMP_MAP_PRESENT_{TO,TOFROM,FROM,ALLOC} to the equivalent - GOMP_MAP_FORCE_PRESENT. - * omp-low.cc (lower_omp_target): Remove handling of no-longer valid - GOMP_MAP_PRESENT_{TO,TOFROM,FROM,ALLOC}; update map kinds used for - to/from clauses with present modifier. - -2023-06-12 Andrew MacLeod - - PR tree-optimization/110205 - * range-op-float.cc (range_operator::fold_range): Add default FII - fold routine. - * range-op-mixed.h (class operator_gt): Add missing final overrides. - * range-op.cc (range_op_handler::fold_range): Add RO_FII case. - (operator_lshift ::update_bitmask): Add final override. - (operator_rshift ::update_bitmask): Add final override. - * range-op.h (range_operator::fold_range): Add FII prototype. - -2023-06-12 Andrew MacLeod - - * gimple-range-op.cc (gimple_range_op_handler::maybe_non_standard): - Use range_op_handler directly. - * range-op.cc (range_op_handler::range_op_handler): Unsigned - param instead of tree-code. - (ptr_op_widen_plus_signed): Delete. - (ptr_op_widen_plus_unsigned): Delete. - (ptr_op_widen_mult_signed): Delete. - (ptr_op_widen_mult_unsigned): Delete. - (range_op_table::initialize_integral_ops): Add new opcodes. - * range-op.h (range_op_handler): Use unsigned. - (OP_WIDEN_MULT_SIGNED): New. - (OP_WIDEN_MULT_UNSIGNED): New. - (OP_WIDEN_PLUS_SIGNED): New. - (OP_WIDEN_PLUS_UNSIGNED): New. - (RANGE_OP_TABLE_SIZE): New. - (range_op_table::operator []): Use unsigned. - (range_op_table::set): Use unsigned. - (m_range_tree): Make unsigned. - (ptr_op_widen_mult_signed): Remove. - (ptr_op_widen_mult_unsigned): Remove. - (ptr_op_widen_plus_signed): Remove. - (ptr_op_widen_plus_unsigned): Remove. - -2023-06-12 Andrew MacLeod - - * gimple-range-op.cc (gimple_range_op_handler): Set m_operator - manually as there is no access to the default operator. - (cfn_copysign::fold_range): Don't check for validity. - (cfn_ubsan::fold_range): Ditto. - (gimple_range_op_handler::maybe_builtin_call): Don't set to NULL. - * range-op.cc (default_operator): New. - (range_op_handler::range_op_handler): Use default_operator - instead of NULL. - (range_op_handler::operator bool): Move from header, compare - against default operator. - (range_op_handler::range_op): New. - * range-op.h (range_op_handler::operator bool): Move. - -2023-06-12 Andrew MacLeod - - * range-op.cc (unified_table): Delete. - (range_op_table operator_table): Instantiate. - (range_op_table::range_op_table): Rename from unified_table. - (range_op_handler::range_op_handler): Use range_op_table. - * range-op.h (range_op_table::operator []): Inline. - (range_op_table::set): Inline. - -2023-06-12 Andrew MacLeod - - * gimple-range-gori.cc (gori_compute::condexpr_adjust): Do not - pass type. - * gimple-range-op.cc (get_code): Rename from get_code_and_type - and simplify. - (gimple_range_op_handler::supported_p): No need for type. - (gimple_range_op_handler::gimple_range_op_handler): Ditto. - (cfn_copysign::fold_range): Ditto. - (cfn_ubsan::fold_range): Ditto. - * ipa-cp.cc (ipa_vr_operation_and_type_effects): Ditto. - * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Ditto. - * range-op-float.cc (operator_plus::op1_range): Ditto. - (operator_mult::op1_range): Ditto. - (range_op_float_tests): Ditto. - * range-op.cc (get_op_handler): Remove. - (range_op_handler::set_op_handler): Remove. - (operator_plus::op1_range): No need for type. - (operator_minus::op1_range): Ditto. - (operator_mult::op1_range): Ditto. - (operator_exact_divide::op1_range): Ditto. - (operator_cast::op1_range): Ditto. - (perator_bitwise_not::fold_range): Ditto. - (operator_negate::fold_range): Ditto. - * range-op.h (range_op_handler::range_op_handler): Remove type param. - (range_cast): No need for type. - (range_op_table::operator[]): Check for enum_code >= 0. - * tree-data-ref.cc (compute_distributive_range): No need for type. - * tree-ssa-loop-unswitch.cc (unswitch_predicate): Ditto. - * value-query.cc (range_query::get_tree_range): Ditto. - * value-relation.cc (relation_oracle::validate_relation): Ditto. - * vr-values.cc (range_of_var_in_loop): Ditto. - (simplify_using_ranges::fold_cond_with_ops): Ditto. - -2023-06-12 Andrew MacLeod - - * range-op-mixed.h (operator_max): Remove final. - * range-op-ptr.cc (pointer_table::pointer_table): Remove MAX_EXPR. - (pointer_table::pointer_table): Remove. - (class hybrid_max_operator): New. - (range_op_table::initialize_pointer_ops): Add hybrid_max_operator. - * range-op.cc (pointer_tree_table): Remove. - (unified_table::unified_table): Comment out MAX_EXPR. - (get_op_handler): Remove check of pointer table. - * range-op.h (class pointer_table): Remove. - -2023-06-12 Andrew MacLeod - - * range-op-mixed.h (operator_min): Remove final. - * range-op-ptr.cc (pointer_table::pointer_table): Remove MIN_EXPR. - (class hybrid_min_operator): New. - (range_op_table::initialize_pointer_ops): Add hybrid_min_operator. - * range-op.cc (unified_table::unified_table): Comment out MIN_EXPR. - -2023-06-12 Andrew MacLeod - - * range-op-mixed.h (operator_bitwise_or): Remove final. - * range-op-ptr.cc (pointer_table::pointer_table): Remove BIT_IOR_EXPR. - (class hybrid_or_operator): New. - (range_op_table::initialize_pointer_ops): Add hybrid_or_operator. - * range-op.cc (unified_table::unified_table): Comment out BIT_IOR_EXPR. - -2023-06-12 Andrew MacLeod - - * range-op-mixed.h (operator_bitwise_and): Remove final. - * range-op-ptr.cc (pointer_table::pointer_table): Remove BIT_AND_EXPR. - (class hybrid_and_operator): New. - (range_op_table::initialize_pointer_ops): Add hybrid_and_operator. - * range-op.cc (unified_table::unified_table): Comment out BIT_AND_EXPR. - -2023-06-12 Andrew MacLeod - - * Makefile.in (OBJS): Add range-op-ptr.o. - * range-op-mixed.h (update_known_bitmask): Move prototype here. - (minus_op1_op2_relation_effect): Move prototype here. - (wi_includes_zero_p): Move function to here. - (wi_zero_p): Ditto. - * range-op.cc (update_known_bitmask): Remove static. - (wi_includes_zero_p): Move to header. - (wi_zero_p): Move to header. - (minus_op1_op2_relation_effect): Remove static. - (operator_pointer_diff): Move class and routines to range-op-ptr.cc. - (pointer_plus_operator): Ditto. - (pointer_min_max_operator): Ditto. - (pointer_and_operator): Ditto. - (pointer_or_operator): Ditto. - (pointer_table): Ditto. - (range_op_table::initialize_pointer_ops): Ditto. - * range-op-ptr.cc: New. - -2023-06-12 Andrew MacLeod - - * range-op-mixed.h (class operator_max): Move from... - * range-op.cc (unified_table::unified_table): Add MAX_EXPR. - (get_op_handler): Remove the integral table. - (class operator_max): Move from here. - (integral_table::integral_table): Delete. - * range-op.h (class integral_table): Delete. - -2023-06-12 Andrew MacLeod - - * range-op-mixed.h (class operator_min): Move from... - * range-op.cc (unified_table::unified_table): Add MIN_EXPR. - (class operator_min): Move from here. - (integral_table::integral_table): Remove MIN_EXPR. - -2023-06-12 Andrew MacLeod - - * range-op-mixed.h (class operator_bitwise_or): Move from... - * range-op.cc (unified_table::unified_table): Add BIT_IOR_EXPR. - (class operator_bitwise_or): Move from here. - (integral_table::integral_table): Remove BIT_IOR_EXPR. - -2023-06-12 Andrew MacLeod - - * range-op-mixed.h (class operator_bitwise_and): Move from... - * range-op.cc (unified_table::unified_table): Add BIT_AND_EXPR. - (get_op_handler): Check for a pointer table entry first. - (class operator_bitwise_and): Move from here. - (integral_table::integral_table): Remove BIT_AND_EXPR. - -2023-06-12 Andrew MacLeod - - * range-op-mixed.h (class operator_bitwise_xor): Move from... - * range-op.cc (unified_table::unified_table): Add BIT_XOR_EXPR. - (class operator_bitwise_xor): Move from here. - (integral_table::integral_table): Remove BIT_XOR_EXPR. - (pointer_table::pointer_table): Remove BIT_XOR_EXPR. - -2023-06-12 Andrew MacLeod - - * range-op-mixed.h (class operator_bitwise_not): Move from... - * range-op.cc (unified_table::unified_table): Add BIT_NOT_EXPR. - (class operator_bitwise_not): Move from here. - (integral_table::integral_table): Remove BIT_NOT_EXPR. - (pointer_table::pointer_table): Remove BIT_NOT_EXPR. - -2023-06-12 Andrew MacLeod - - * range-op-mixed.h (class operator_addr_expr): Move from... - * range-op.cc (unified_table::unified_table): Add ADDR_EXPR. - (class operator_addr_expr): Move from here. - (integral_table::integral_table): Remove ADDR_EXPR. - (pointer_table::pointer_table): Remove ADDR_EXPR. - -2023-06-12 Pan Li - - * config/riscv/riscv-vector-builtins-types.def - (vfloat16m1_t): Add type to lmul1 ops. - (vfloat16m2_t): Likewise. - (vfloat16m4_t): Likewise. - -2023-06-12 Richard Biener - - * tree-ssa-alias.cc (call_may_clobber_ref_p_1): For - .MASK_STORE and friend set the size of the access to - unknown. - -2023-06-12 Tamar Christina - - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac: Remove DEFAULT_MATCHPD_PARTITIONS. - -2023-06-12 Juzhe-Zhong - - * config/riscv/autovec-opt.md - (*vtrunc): New pattern. - (*trunc): Ditto. - * config/riscv/autovec.md (3): Change to - define_insn_and_split. - (v3): Ditto. - (trunc2): Ditto. - -2023-06-12 Kyrylo Tkachov - - * simplify-rtx.cc (simplify_const_unary_operation): - Handle US_TRUNCATE, SS_TRUNCATE. - -2023-06-12 Eric Botcazou - - PR modula2/109952 - * doc/gm2.texi (Standard procedures): Fix Next link. - -2023-06-12 Tamar Christina - - * config.in: Regenerate. - -2023-06-12 Andre Vieira - - PR middle-end/110142 - * tree-vect-patterns.cc (vect_recog_widen_op_pattern): Don't pass - subtype to vect_widened_op_tree and remove subtype parameter, also - remove superfluous overloaded function definition. - (vect_recog_widen_plus_pattern): Remove subtype parameter and dont pass - to call to vect_recog_widen_op_pattern. - (vect_recog_widen_minus_pattern): Likewise. - -2023-06-12 liuhongt - - * config/i386/sse.md (vec_pack_float_): New expander. - (vec_unpack_fix_trunc_lo_): Ditto. - (vec_unpack_fix_trunc_hi_): Ditto. - (vec_unpacks_lo_): Ditto. - (vec_unpacks_hi_): Ditto. - (sse_movlhps_): New define_insn. - (ssse3_palignr_perm): Extend to V_128H. - (V_128H): New mode iterator. - (ssepackPHmode): New mode attribute. - (vunpck_extract_mode): Ditto. - (vpckfloat_concat_mode): Extend to VxSI/VxSF for _Float16. - (vpckfloat_temp_mode): Ditto. - (vpckfloat_op_mode): Ditto. - (vunpckfixt_mode): Extend to VxHF. - (vunpckfixt_model): Ditto. - (vunpckfixt_extract_mode): Ditto. - -2023-06-12 Richard Biener - - PR middle-end/110200 - * genmatch.cc (expr::gen_transform): Put braces around - the if arm for the (convert ...) short-cut. - -2023-06-12 Kewen Lin - - PR target/109932 - * config/rs6000/rs6000-builtins.def (__builtin_pack_vector_int128, - __builtin_unpack_vector_int128): Move from stanza power7 to vsx. - -2023-06-12 Kewen Lin - - PR target/110011 - * config/rs6000/rs6000.cc (output_toc): Use the mode of the 128-bit - floating constant itself for real_to_target call. - -2023-06-12 Pan Li - - * config/riscv/riscv-vector-builtins-types.def - (vfloat16mf4_t): Add type to X2/X4/X8/X16/X32 vlmul ext ops. - (vfloat16mf2_t): Ditto. - (vfloat16m1_t): Ditto. - (vfloat16m2_t): Ditto. - (vfloat16m4_t): Ditto. - -2023-06-12 David Edelsohn - - * config/rs6000/rs6000-logue.cc (rs6000_stack_info): - Do not require a stack frame when debugging is enabled for AIX. - -2023-06-11 Georg-Johann Lay - - * config/avr/avr.md (adjust_len) [insv_notbit_0, insv_notbit_7]: - Remove attribute values. - (insv_notbit): New post-reload insn. - (*insv.not-shiftrt_split, *insv.xor1-bit.0_split) - (*insv.not-bit.0_split, *insv.not-bit.7_split) - (*insv.xor-extract_split): Split to insv_notbit. - (*insv.not-shiftrt, *insv.xor1-bit.0, *insv.not-bit.0, *insv.not-bit.7) - (*insv.xor-extract): Remove post-reload insns. - * config/avr/avr.cc (avr_out_insert_notbit) [bitno]: Remove parameter. - (avr_adjust_insn_length): Adjust call of avr_out_insert_notbit. - [ADJUST_LEN_INSV_NOTBIT_0, ADJUST_LEN_INSV_NOTBIT_7]: Remove cases. - * config/avr/avr-protos.h (avr_out_insert_notbit): Adjust prototype. - -2023-06-11 Georg-Johann Lay - - PR target/109907 - * config/avr/avr.md (adjust_len) [extr, extr_not]: New elements. - (MSB, SIZE): New mode attributes. - (any_shift): New code iterator. - (*lshr3_split, *lshr3, lshr3) - (*lshr3_const_split): Add constraint alternative for - the case of shift-offset = MSB. Ditch "length" attribute. - (extzv, *extzv..subreg, *extzv.xor) - (*extzv.ge, *neg.ashiftrt.msb, *extzv.io.lsr7): New. - * config/avr/constraints.md (C15, C23, C31, Yil): New - * config/avr/predicates.md (reg_or_low_io_operand) - (const7_operand, reg_or_low_io_operand) - (const15_operand, const_0_to_15_operand) - (const23_operand, const_0_to_23_operand) - (const31_operand, const_0_to_31_operand): New. - * config/avr/avr-protos.h (avr_out_extr, avr_out_extr_not): New. - * config/avr/avr.cc (avr_out_extr, avr_out_extr_not): New funcs. - (lshrqi3_out, lshrhi3_out, lshrpsi3_out, lshrsi3_out): Adjust - MSB case to new insn constraint "r" for operands[1]. - (avr_adjust_insn_length) [ADJUST_LEN_EXTR_NOT, ADJUST_LEN_EXTR]: - Handle these cases. - (avr_rtx_costs_1): Adjust cost for a new pattern. - -2023-06-11 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (available_occurrence_p): Enhance user vsetvl optimization. - (vector_insn_info::parse_insn): Add rtx_insn parse. - (pass_vsetvl::local_eliminate_vsetvl_insn): Enhance user vsetvl optimization. - (get_first_vsetvl): New function. - (pass_vsetvl::global_eliminate_vsetvl_insn): Ditto. - (pass_vsetvl::cleanup_insns): Remove it. - (pass_vsetvl::ssa_post_optimization): New function. - (has_no_uses): Ditto. - (pass_vsetvl::propagate_avl): Remove it. - (pass_vsetvl::df_post_optimization): New function. - (pass_vsetvl::lazy_vsetvl): Rework Phase 5 && Phase 6. - * config/riscv/riscv-vsetvl.h: Adapt declaration. - -2023-06-10 Aldy Hernandez - - * ipa-cp.cc (ipcp_vr_lattice::init): Take type argument. - (ipcp_vr_lattice::print): Call dump method. - (ipcp_vr_lattice::meet_with): Adjust for m_vr being a - Value_Range. - (ipcp_vr_lattice::meet_with_1): Make argument a reference. - (ipcp_vr_lattice::set_to_bottom): Set varying for an unsupported - range. - (initialize_node_lattices): Pass type when appropriate. - (ipa_vr_operation_and_type_effects): Make type agnostic. - (ipa_value_range_from_jfunc): Same. - (propagate_vr_across_jump_function): Same. - * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Same. - (evaluate_properties_for_edge): Same. - * ipa-prop.cc (ipa_vr::get_vrange): Same. - (ipcp_update_vr): Same. - * ipa-prop.h (ipa_value_range_from_jfunc): Same. - (ipa_range_set_and_normalize): Same. - -2023-06-10 Georg-Johann Lay - - PR target/109650 - PR target/92729 - * config/avr/avr-passes.def (avr_pass_ifelse): Insert new pass. - * config/avr/avr.cc (avr_pass_ifelse): New RTL pass. - (avr_pass_data_ifelse): New pass_data for it. - (make_avr_pass_ifelse, avr_redundant_compare, avr_cbranch_cost) - (avr_canonicalize_comparison, avr_out_plus_set_ZN) - (avr_out_cmp_ext): New functions. - (compare_condtition): Make sure REG_CC dies in the branch insn. - (avr_rtx_costs_1): Add computation of cbranch costs. - (avr_adjust_insn_length) [ADJUST_LEN_ADD_SET_ZN, ADJUST_LEN_CMP_ZEXT]: - [ADJUST_LEN_CMP_SEXT]Handle them. - (TARGET_CANONICALIZE_COMPARISON): New define. - (avr_simplify_comparison_p, compare_diff_p, avr_compare_pattern) - (avr_reorg_remove_redundant_compare, avr_reorg): Remove functions. - (TARGET_MACHINE_DEPENDENT_REORG): Remove define. - * config/avr/avr-protos.h (avr_simplify_comparison_p): Remove proto. - (make_avr_pass_ifelse, avr_out_plus_set_ZN, cc_reg_rtx) - (avr_out_cmp_zext): New Protos - * config/avr/avr.md (branch, difficult_branch): Don't split insns. - (*cbranchhi.zero-extend.0", *cbranchhi.zero-extend.1") - (*swapped_tst, *add.for.eqne.): New insns. - (*cbranch4): Rename to cbranch4_insn. - (define_peephole): Add dead_or_set_regno_p(insn,REG_CC) as needed. - (define_deephole2): Add peep2_regno_dead_p(*,REG_CC) as needed. - Add new RTL peepholes for decrement-and-branch and *swapped_tst. - Rework signtest-and-branch peepholes for *sbrx_branch. - (adjust_len) [add_set_ZN, cmp_zext]: New. - (QIPSI): New mode iterator. - (ALLs1, ALLs2, ALLs4, ALLs234): New mode iterators. - (gelt): New code iterator. - (gelt_eqne): New code attribute. - (rvbranch, *rvbranch, difficult_rvbranch, *difficult_rvbranch) - (branch_unspec, *negated_tst, *reversed_tst) - (*cmpqi_sign_extend): Remove insns. - (define_c_enum "unspec") [UNSPEC_IDENTITY]: Remove. - * config/avr/avr-dimode.md (cbranch4): Canonicalize comparisons. - * config/avr/predicates.md (scratch_or_d_register_operand): New. - * config/avr/constraints.md (Yxx): New constraint. - -2023-06-10 Juzhe-Zhong - - * config/riscv/autovec.md (select_vl): New pattern. - * config/riscv/riscv-protos.h (expand_select_vl): New function. - * config/riscv/riscv-v.cc (expand_select_vl): Ditto. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (foperator_mult_div_base): Delete. - (foperator_mult_div_base::find_range): Make static local function. - (foperator_mult): Remove. Move prototypes to range-op-mixed.h - (operator_mult::op1_range): Rename from foperator_mult. - (operator_mult::op2_range): Ditto. - (operator_mult::rv_fold): Ditto. - (float_table::float_table): Remove MULT_EXPR. - (class foperator_div): Inherit from range_operator. - (float_table::float_table): Delete. - * range-op-mixed.h (class operator_mult): Combined from integer - and float files. - * range-op.cc (float_tree_table): Delete. - (op_mult): New object. - (unified_table::unified_table): Add MULT_EXPR. - (get_op_handler): Do not check float table any longer. - (class cross_product_operator): Move to range-op-mixed.h. - (class operator_mult): Move to range-op-mixed.h. - (integral_table::integral_table): Remove MULT_EXPR. - (pointer_table::pointer_table): Remove MULT_EXPR. - * range-op.h (float_table): Remove. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (foperator_negate): Remove. Move prototypes - to range-op-mixed.h - (operator_negate::fold_range): Rename from foperator_negate. - (operator_negate::op1_range): Ditto. - (float_table::float_table): Remove NEGATE_EXPR. - * range-op-mixed.h (class operator_negate): Combined from integer - and float files. - * range-op.cc (op_negate): New object. - (unified_table::unified_table): Add NEGATE_EXPR. - (class operator_negate): Move to range-op-mixed.h. - (integral_table::integral_table): Remove NEGATE_EXPR. - (pointer_table::pointer_table): Remove NEGATE_EXPR. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (foperator_minus): Remove. Move prototypes - to range-op-mixed.h - (operator_minus::fold_range): Rename from foperator_minus. - (operator_minus::op1_range): Ditto. - (operator_minus::op2_range): Ditto. - (operator_minus::rv_fold): Ditto. - (float_table::float_table): Remove MINUS_EXPR. - * range-op-mixed.h (class operator_minus): Combined from integer - and float files. - * range-op.cc (op_minus): New object. - (unified_table::unified_table): Add MINUS_EXPR. - (class operator_minus): Move to range-op-mixed.h. - (integral_table::integral_table): Remove MINUS_EXPR. - (pointer_table::pointer_table): Remove MINUS_EXPR. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (foperator_abs): Remove. Move prototypes - to range-op-mixed.h - (operator_abs::fold_range): Rename from foperator_abs. - (operator_abs::op1_range): Ditto. - (float_table::float_table): Remove ABS_EXPR. - * range-op-mixed.h (class operator_abs): Combined from integer - and float files. - * range-op.cc (op_abs): New object. - (unified_table::unified_table): Add ABS_EXPR. - (class operator_abs): Move to range-op-mixed.h. - (integral_table::integral_table): Remove ABS_EXPR. - (pointer_table::pointer_table): Remove ABS_EXPR. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (foperator_plus): Remove. Move prototypes - to range-op-mixed.h - (operator_plus::fold_range): Rename from foperator_plus. - (operator_plus::op1_range): Ditto. - (operator_plus::op2_range): Ditto. - (operator_plus::rv_fold): Ditto. - (float_table::float_table): Remove PLUS_EXPR. - * range-op-mixed.h (class operator_plus): Combined from integer - and float files. - * range-op.cc (op_plus): New object. - (unified_table::unified_table): Add PLUS_EXPR. - (class operator_plus): Move to range-op-mixed.h. - (integral_table::integral_table): Remove PLUS_EXPR. - (pointer_table::pointer_table): Remove PLUS_EXPR. - -2023-06-10 Andrew MacLeod - - * range-op-mixed.h (class operator_cast): Combined from integer - and float files. - * range-op.cc (op_cast): New object. - (unified_table::unified_table): Add op_cast - (class operator_cast): Move to range-op-mixed.h. - (integral_table::integral_table): Remove op_cast - (pointer_table::pointer_table): Remove op_cast. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (operator_cst::fold_range): New. - * range-op-mixed.h (class operator_cst): Move from integer file. - * range-op.cc (op_cst): New object. - (unified_table::unified_table): Add op_cst. Also use for REAL_CST. - (class operator_cst): Move to range-op-mixed.h. - (integral_table::integral_table): Remove op_cst. - (pointer_table::pointer_table): Remove op_cst. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (foperator_identity): Remove. Move prototypes - to range-op-mixed.h - (operator_identity::fold_range): Rename from foperator_identity. - (operator_identity::op1_range): Ditto. - (float_table::float_table): Remove fop_identity. - * range-op-mixed.h (class operator_identity): Combined from integer - and float files. - * range-op.cc (op_identity): New object. - (unified_table::unified_table): Add op_identity. - (class operator_identity): Move to range-op-mixed.h. - (integral_table::integral_table): Remove identity. - (pointer_table::pointer_table): Remove identity. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (foperator_ge): Remove. Move prototypes - to range-op-mixed.h - (operator_ge::fold_range): Rename from foperator_ge. - (operator_ge::op1_range): Ditto. - (float_table::float_table): Remove GE_EXPR. - * range-op-mixed.h (class operator_ge): Combined from integer - and float files. - * range-op.cc (op_ge): New object. - (unified_table::unified_table): Add GE_EXPR. - (class operator_ge): Move to range-op-mixed.h. - (ge_op1_op2_relation): Fold into - operator_ge::op1_op2_relation. - (integral_table::integral_table): Remove GE_EXPR. - (pointer_table::pointer_table): Remove GE_EXPR. - * range-op.h (ge_op1_op2_relation): Delete. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (foperator_gt): Remove. Move prototypes - to range-op-mixed.h - (operator_gt::fold_range): Rename from foperator_gt. - (operator_gt::op1_range): Ditto. - (float_table::float_table): Remove GT_EXPR. - * range-op-mixed.h (class operator_gt): Combined from integer - and float files. - * range-op.cc (op_gt): New object. - (unified_table::unified_table): Add GT_EXPR. - (class operator_gt): Move to range-op-mixed.h. - (gt_op1_op2_relation): Fold into - operator_gt::op1_op2_relation. - (integral_table::integral_table): Remove GT_EXPR. - (pointer_table::pointer_table): Remove GT_EXPR. - * range-op.h (gt_op1_op2_relation): Delete. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (foperator_le): Remove. Move prototypes - to range-op-mixed.h - (operator_le::fold_range): Rename from foperator_le. - (operator_le::op1_range): Ditto. - (float_table::float_table): Remove LE_EXPR. - * range-op-mixed.h (class operator_le): Combined from integer - and float files. - * range-op.cc (op_le): New object. - (unified_table::unified_table): Add LE_EXPR. - (class operator_le): Move to range-op-mixed.h. - (le_op1_op2_relation): Fold into - operator_le::op1_op2_relation. - (integral_table::integral_table): Remove LE_EXPR. - (pointer_table::pointer_table): Remove LE_EXPR. - * range-op.h (le_op1_op2_relation): Delete. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (foperator_lt): Remove. Move prototypes - to range-op-mixed.h - (operator_lt::fold_range): Rename from foperator_lt. - (operator_lt::op1_range): Ditto. - (float_table::float_table): Remove LT_EXPR. - * range-op-mixed.h (class operator_lt): Combined from integer - and float files. - * range-op.cc (op_lt): New object. - (unified_table::unified_table): Add LT_EXPR. - (class operator_lt): Move to range-op-mixed.h. - (lt_op1_op2_relation): Fold into - operator_lt::op1_op2_relation. - (integral_table::integral_table): Remove LT_EXPR. - (pointer_table::pointer_table): Remove LT_EXPR. - * range-op.h (lt_op1_op2_relation): Delete. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (foperator_not_equal): Remove. Move prototypes - to range-op-mixed.h - (operator_equal::fold_range): Rename from foperator_not_equal. - (operator_equal::op1_range): Ditto. - (float_table::float_table): Remove NE_EXPR. - * range-op-mixed.h (class operator_not_equal): Combined from integer - and float files. - * range-op.cc (op_equal): New object. - (unified_table::unified_table): Add NE_EXPR. - (class operator_not_equal): Move to range-op-mixed.h. - (not_equal_op1_op2_relation): Fold into - operator_not_equal::op1_op2_relation. - (integral_table::integral_table): Remove NE_EXPR. - (pointer_table::pointer_table): Remove NE_EXPR. - * range-op.h (not_equal_op1_op2_relation): Delete. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (foperator_equal): Remove. Move prototypes - to range-op-mixed.h - (operator_equal::fold_range): Rename from foperator_equal. - (operator_equal::op1_range): Ditto. - (float_table::float_table): Remove EQ_EXPR. - * range-op-mixed.h (class operator_equal): Combined from integer - and float files. - * range-op.cc (op_equal): New object. - (unified_table::unified_table): Add EQ_EXPR. - (class operator_equal): Move to range-op-mixed.h. - (equal_op1_op2_relation): Fold into - operator_equal::op1_op2_relation. - (integral_table::integral_table): Remove EQ_EXPR. - (pointer_table::pointer_table): Remove EQ_EXPR. - * range-op.h (equal_op1_op2_relation): Delete. - -2023-06-10 Andrew MacLeod - - * range-op-float.cc (class float_table): Move to header. - (float_table::float_table): Move float only operators to... - (range_op_table::initialize_float_ops): Here. - * range-op-mixed.h: New. - * range-op.cc (integral_tree_table, pointer_tree_table): Moved - to top of file. - (float_tree_table): Moved from range-op-float.cc. - (unified_tree_table): New. - (unified_table::unified_table): New. Call initialize routines. - (get_op_handler): Check unified table first. - (range_op_handler::range_op_handler): Handle no type constructor. - (integral_table::integral_table): Move integral only operators to... - (range_op_table::initialize_integral_ops): Here. - (pointer_table::pointer_table): Move pointer only operators to... - (range_op_table::initialize_pointer_ops): Here. - * range-op.h (enum bool_range_state): Move to range-op-mixed.h. - (get_bool_state): Ditto. - (empty_range_varying): Ditto. - (relop_early_resolve): Ditto. - (class range_op_table): Add new init methods for range types. - (class integral_table): Move declaration to here. - (class pointer_table): Move declaration to here. - (class float_table): Move declaration to here. - -2023-06-09 Ju-Zhe Zhong - Richard Sandiford - Richard Biener - - * doc/md.texi: Add SELECT_VL support. - * internal-fn.def (SELECT_VL): Ditto. - * optabs.def (OPTAB_D): Ditto. - * tree-vect-loop-manip.cc (vect_set_loop_controls_directly): Ditto. - * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Ditto. - * tree-vect-stmts.cc (get_select_vl_data_ref_ptr): Ditto. - (vectorizable_store): Ditto. - (vectorizable_load): Ditto. - * tree-vectorizer.h (LOOP_VINFO_USING_SELECT_VL_P): Ditto. - -2023-06-09 Andrew MacLeod - - PR ipa/109886 - * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Check param - type as well. - -2023-06-09 Andrew MacLeod - - * range-op.cc (range_cast): Move to... - * range-op.h (range_cast): Here and add generic a version. - -2023-06-09 Marek Polacek - - PR c/39589 - PR c++/96868 - * doc/invoke.texi: Clarify that -Wmissing-field-initializers doesn't - warn about designated initializers in C only. - -2023-06-09 Andrew Pinski - - PR tree-optimization/97711 - PR tree-optimization/110155 - * match.pd ((zero_one == 0) ? y : z y): Add plus to the op. - ((zero_one != 0) ? z y : y): Likewise. - -2023-06-09 Andrew Pinski - - * match.pd ((zero_one ==/!= 0) ? y : z y): Use - multiply rather than negation/bit_and. - -2023-06-09 Andrew Pinski - - * match.pd (`X & -Y -> X * Y`): Allow for truncation - and the same type for unsigned types. - -2023-06-09 Andrew Pinski - - PR tree-optimization/110165 - PR tree-optimization/110166 - * match.pd (zero_one_valued_p): Don't accept - signed 1-bit integers. - -2023-06-09 Richard Biener - - * match.pd (two conversions in a row): Use element_precision - to DTRT for VECTOR_TYPE. - -2023-06-09 Pan Li - - * config/riscv/riscv.md (enabled): Move to another place, and - add fp_vector_disabled to the cond. - (fp_vector_disabled): New attr defined for disabling fp. - * config/riscv/vector-iterators.md: Fix V_WHOLE and V_FRACT. - -2023-06-09 Pan Li - - * config/riscv/riscv-protos.h (enum frm_field_enum): Adjust - literal to int. - -2023-06-09 liuhongt - - PR target/110108 - * config/i386/i386.cc (ix86_gimple_fold_builtin): Explicitly - view_convert_expr mask to signed type when folding pblendvb - builtins. - -2023-06-09 liuhongt - - PR target/110108 - * config/i386/i386.cc (ix86_gimple_fold_builtin): Fold - _mm{,256,512}_abs_{epi8,epi16,epi32,epi64} into gimple - ABSU_EXPR + VCE, don't fold _mm_abs_{pi8,pi16,pi32} w/o - TARGET_64BIT. - * config/i386/i386-builtin.def: Replace CODE_FOR_nothing with - real codename for __builtin_ia32_pabs{b,w,d}. - -2023-06-08 Andrew MacLeod - - * gimple-range-op.cc - (gimple_range_op_handler::gimple_range_op_handler): Adjust. - (gimple_range_op_handler::maybe_builtin_call): Adjust. - * gimple-range-op.h (operand1, operand2): Use m_operator. - * range-op.cc (integral_table, pointer_table): Relocate. - (get_op_handler): Rename from get_handler and handle all types. - (range_op_handler::range_op_handler): Relocate. - (range_op_handler::set_op_handler): Relocate and adjust. - (range_op_handler::range_op_handler): Relocate. - (dispatch_trio): New. - (RO_III, RO_IFI, RO_IFF, RO_FFF, RO_FIF, RO_FII): New consts. - (range_op_handler::dispatch_kind): New. - (range_op_handler::fold_range): Relocate and Use new dispatch value. - (range_op_handler::op1_range): Ditto. - (range_op_handler::op2_range): Ditto. - (range_op_handler::lhs_op1_relation): Ditto. - (range_op_handler::lhs_op2_relation): Ditto. - (range_op_handler::op1_op2_relation): Ditto. - (range_op_handler::set_op_handler): Use m_operator member. - * range-op.h (range_op_handler::operator bool): Use m_operator. - (range_op_handler::dispatch_kind): New. - (range_op_handler::m_valid): Delete. - (range_op_handler::m_int): Delete - (range_op_handler::m_float): Delete - (range_op_handler::m_operator): New. - (range_op_table::operator[]): Relocate from .cc file. - (range_op_table::set): Ditto. - * value-range.h (class vrange): Make range_op_handler a friend. - -2023-06-08 Andrew MacLeod - - * gimple-range-op.cc (cfn_constant_float_p): Change base class. - (cfn_pass_through_arg1): Adjust using statemenmt. - (cfn_signbit): Change base class, adjust using statement. - (cfn_copysign): Ditto. - (cfn_sqrt): Ditto. - (cfn_sincos): Ditto. - * range-op-float.cc (fold_range): Change class to range_operator. - (rv_fold): Ditto. - (op1_range): Ditto - (op2_range): Ditto - (lhs_op1_relation): Ditto. - (lhs_op2_relation): Ditto. - (op1_op2_relation): Ditto. - (foperator_*): Ditto. - (class float_table): New. Inherit from range_op_table. - (floating_tree_table) Change to range_op_table pointer. - (class floating_op_table): Delete. - * range-op.cc (operator_equal): Adjust using statement. - (operator_not_equal): Ditto. - (operator_lt, operator_le, operator_gt, operator_ge): Ditto. - (operator_minus, operator_cast): Ditto. - (operator_bitwise_and, pointer_plus_operator): Ditto. - (get_float_handle): Change return type. - * range-op.h (range_operator_float): Delete. Relocate all methods - into class range_operator. - (range_op_handler::m_float): Change type to range_operator. - (floating_op_table): Delete. - (floating_tree_table): Change type. - -2023-06-08 Andrew MacLeod - - * range-op.cc (range_operator::fold_range): Call virtual routine. - (range_operator::update_bitmask): New. - (operator_equal::update_bitmask): New. - (operator_not_equal::update_bitmask): New. - (operator_lt::update_bitmask): New. - (operator_le::update_bitmask): New. - (operator_gt::update_bitmask): New. - (operator_ge::update_bitmask): New. - (operator_ge::update_bitmask): New. - (operator_plus::update_bitmask): New. - (operator_minus::update_bitmask): New. - (operator_pointer_diff::update_bitmask): New. - (operator_min::update_bitmask): New. - (operator_max::update_bitmask): New. - (operator_mult::update_bitmask): New. - (operator_div:operator_div):New. - (operator_div::update_bitmask): New. - (operator_div::m_code): New member. - (operator_exact_divide::operator_exact_divide): New constructor. - (operator_lshift::update_bitmask): New. - (operator_rshift::update_bitmask): New. - (operator_bitwise_and::update_bitmask): New. - (operator_bitwise_or::update_bitmask): New. - (operator_bitwise_xor::update_bitmask): New. - (operator_trunc_mod::update_bitmask): New. - (op_ident, op_unknown, op_ptr_min_max): New. - (op_nop, op_convert): Delete. - (op_ssa, op_paren, op_obj_type): Delete. - (op_realpart, op_imagpart): Delete. - (op_ptr_min, op_ptr_max): Delete. - (pointer_plus_operator:update_bitmask): New. - (range_op_table::set): Do not use m_code. - (integral_table::integral_table): Adjust to single instances. - * range-op.h (range_operator::range_operator): Delete. - (range_operator::m_code): Delete. - (range_operator::update_bitmask): New. - -2023-06-08 Andrew MacLeod - - * range-op-float.cc (range_operator_float::fold_range): Return - NAN of the result type. - -2023-06-08 Jakub Jelinek - - * optabs.cc (expand_ffs): Add forward declaration. - (expand_doubleword_clz): Rename to ... - (expand_doubleword_clz_ctz_ffs): ... this. Add UNOPTAB argument, - handle also doubleword CTZ and FFS in addition to CLZ. - (expand_unop): Adjust caller. Also call it for doubleword - ctz_optab and ffs_optab. - -2023-06-08 Jakub Jelinek - - PR target/110152 - * config/i386/i386-expand.cc (ix86_expand_vector_init_general): For - n_words == 2 recurse with mmx_ok as first argument rather than false. - -2023-06-07 Roger Sayle - - * wide-int.cc (wi::bitreverse_large): Use HOST_WIDE_INT_1U to - avoid sign extension/undefined behaviour when setting each bit. - -2023-06-07 Roger Sayle - Uros Bizjak - - * config/i386/i386-expand.cc (ix86_expand_builtin) : - Use new x86_stc instruction when the carry flag must be set. - * config/i386/i386.cc (ix86_cc_mode): Use CCCmode for *x86_cmc. - (ix86_rtx_costs): Provide accurate rtx_costs for *x86_cmc. - * config/i386/i386.h (TARGET_SLOW_STC): New define. - * config/i386/i386.md (UNSPEC_STC): New UNSPEC for stc. - (x86_stc): New define_insn. - (define_peephole2): Convert x86_stc into alternate implementation - on pentium4 without -Os when a QImode register is available. - (*x86_cmc): New define_insn. - (define_peephole2): Convert *x86_cmc into alternate implementation - on pentium4 without -Os when a QImode register is available. - (*setccc): New define_insn_and_split for a no-op CCCmode move. - (*setcc_qi_negqi_ccc_1_): New define_insn_and_split to - recognize (and eliminate) the carry flag being copied to itself. - (*setcc_qi_negqi_ccc_2_): Likewise. - * config/i386/x86-tune.def (X86_TUNE_SLOW_STC): New tuning flag. - -2023-06-07 Andrew Pinski - - * match.pd: Fix comment for the - `(zero_one ==/!= 0) ? y : z y` patterns. - -2023-06-07 Jeff Law - Jeff Law - - * config/riscv/bitmanip.md (rotrdi3, rotrsi3, rotlsi3): New expanders. - (rotrsi3_sext): Expose generator. - (rotlsi3 pattern): Hide generator. - * config/riscv/riscv-protos.h (riscv_emit_binary): New function - declaration. - * config/riscv/riscv.cc (riscv_emit_binary): Removed static - * config/riscv/riscv.md (addsi3, subsi3, negsi2): Hide generator. - (mulsi3, si3): Likewise. - (addsi3, subsi3, negsi2, mulsi3, si3): New expanders. - (addv4, subv4, mulv4): Use riscv_emit_binary. - (mulsidi3): Likewise. - (addsi3_extended, subsi3_extended, negsi2_extended): Expose generator. - (mulsi3_extended, si3_extended): Likewise. - (splitter for shadd feeding divison): Update RTL pattern to account - for changes in how 32 bit ops are expanded for TARGET_64BIT. - * loop-iv.cc (get_biv_step_1): Process src of extension when it PLUS. - -2023-06-07 Dimitar Dimitrov - - PR target/109725 - * config/riscv/riscv.cc (riscv_print_operand): Calculate - memmodel only when it is valid. - -2023-06-07 Dimitar Dimitrov - - * config/riscv/riscv.cc (riscv_const_insns): Recursively call - for constant element of a vector. - -2023-06-07 Jakub Jelinek - - * match.pd (zero_one_valued_p): Don't handle integer_zerop specially, - instead compare tree_nonzero_bits <= 1U rather than just == 1. - -2023-06-07 Alex Coplan - - PR target/110132 - * config/aarch64/aarch64-builtins.cc (aarch64_general_simulate_builtin): - New. Use it ... - (aarch64_init_ls64_builtins): ... here. Switch to declaring public ACLE - names for builtins. - (aarch64_general_init_builtins): Ensure we invoke the arm_acle.h - setup if in_lto_p, just like we do for SVE. - * config/aarch64/arm_acle.h: (__arm_ld64b): Delete. - (__arm_st64b): Delete. - (__arm_st64bv): Delete. - (__arm_st64bv0): Delete. - -2023-06-07 Alex Coplan - - PR target/110100 - * config/aarch64/aarch64-builtins.cc (aarch64_expand_builtin_ls64): - Use input operand for the destination address. - * config/aarch64/aarch64.md (st64b): Fix constraint on address - operand. - -2023-06-07 Alex Coplan - - PR target/110100 - * config/aarch64/aarch64-builtins.cc (aarch64_init_ls64_builtins_types): - Replace eight consecutive spaces with tabs. - (aarch64_init_ls64_builtins): Likewise. - (aarch64_expand_builtin_ls64): Likewise. - * config/aarch64/aarch64.md (ld64b): Likewise. - (st64b): Likewise. - (st64bv): Likewise - (st64bv0): Likewise. - -2023-06-07 Vladimir N. Makarov - - * ira-costs.cc: (find_costs_and_classes): Constrain classes of pic - offset table pseudo to a general reg subset. - -2023-06-07 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_sqmovun): - Rename to... - (*aarch64_sqmovun_insn): ... This. Reimplement - with RTL codes. - (aarch64_sqmovun [SD_HSDI]): Reimplement with RTL codes. - (aarch64_sqxtun2_le): Likewise. - (aarch64_sqxtun2_be): Likewise. - (aarch64_sqxtun2): Adjust for the above. - (aarch64_sqmovun): New define_expand. - * config/aarch64/iterators.md (UNSPEC_SQXTUN): Delete. - (half_mask): New mode attribute. - * config/aarch64/predicates.md (aarch64_simd_umax_half_mode): - New predicate. - -2023-06-07 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_addp): - Reimplement as... - (aarch64_addp_insn): ... This... - (aarch64_addp_insn): ... And this. - (aarch64_addp): New define_expand. - -2023-06-07 Juzhe-Zhong - - * config/riscv/riscv-protos.h (expand_vec_perm_const): New function. - * config/riscv/riscv-v.cc - (rvv_builder::can_duplicate_repeating_sequence_p): Support POLY - handling. - (rvv_builder::single_step_npatterns_p): New function. - (rvv_builder::npatterns_all_equal_p): Ditto. - (const_vec_all_in_range_p): Support POLY handling. - (gen_const_vector_dup): Ditto. - (emit_vlmax_gather_insn): Add vrgatherei16. - (emit_vlmax_masked_gather_mu_insn): Ditto. - (expand_const_vector): Add VLA SLP const vector support. - (expand_vec_perm): Support POLY. - (struct expand_vec_perm_d): New struct. - (shuffle_generic_patterns): New function. - (expand_vec_perm_const_1): Ditto. - (expand_vec_perm_const): Ditto. - * config/riscv/riscv.cc (riscv_vectorize_vec_perm_const): Ditto. - (TARGET_VECTORIZE_VEC_PERM_CONST): New targethook. - -2023-06-07 Andrew Pinski - - PR middle-end/110117 - * expr.cc (expand_single_bit_test): Handle - const_int from expand_expr. - -2023-06-07 Andrew Pinski - - * expr.cc (do_store_flag): Rearrange the - TER code so that it overrides the nonzero bits - info if we had `a & POW2`. - -2023-06-07 Andrew Pinski - - PR tree-optimization/110134 - * match.pd (-A CMP -B -> B CMP A): Allow EQ/NE for all integer - types. - (-A CMP CST -> B CMP (-CST)): Likewise. - -2023-06-07 Andrew Pinski - - PR tree-optimization/89263 - PR tree-optimization/99069 - PR tree-optimization/20083 - PR tree-optimization/94898 - * match.pd: Add patterns to optimize `a ? onezero : onezero` with - one of the operands are constant. - -2023-06-07 Andrew Pinski - - * match.pd (zero_one_valued_p): Match 0 integer constant - too. - -2023-06-07 Pan Li - - * config/riscv/riscv-vector-builtins-types.def - (vfloat32mf2_t): Take RVV_REQUIRE_ELEN_FP_16 as requirement. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat32m8_t): Ditto. - (vint16mf4_t): Ditto. - (vint16mf2_t): Ditto. - (vint16m1_t): Ditto. - (vint16m2_t): Ditto. - (vint16m4_t): Ditto. - (vint16m8_t): Ditto. - (vuint16mf4_t): Ditto. - (vuint16mf2_t): Ditto. - (vuint16m1_t): Ditto. - (vuint16m2_t): Ditto. - (vuint16m4_t): Ditto. - (vuint16m8_t): Ditto. - (vint32mf2_t): Ditto. - (vint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vuint32mf2_t): Ditto. - (vuint32m1_t): Ditto. - (vuint32m2_t): Ditto. - (vuint32m4_t): Ditto. - (vuint32m8_t): Ditto. - -2023-06-07 Jason Merrill - - PR c++/58487 - * doc/invoke.texi: Document it. - -2023-06-06 Roger Sayle - - * doc/rtl.texi (bitreverse, copysign): Document new RTX codes. - * rtl.def (BITREVERSE, COPYSIGN): Define new RTX codes. - * simplify-rtx.cc (simplify_unary_operation_1): Optimize - NOT (BITREVERSE x) as BITREVERSE (NOT x). - Optimize POPCOUNT (BITREVERSE x) as POPCOUNT x. - Optimize PARITY (BITREVERSE x) as PARITY x. - Optimize BITREVERSE (BITREVERSE x) as x. - (simplify_const_unary_operation) : Evaluate - BITREVERSE of a constant integer at compile-time. - (simplify_binary_operation_1) : Optimize - COPY_SIGN (x, x) as x. Optimize COPYSIGN (x, C) as ABS x - or NEG (ABS x) for constant C. Optimize COPYSIGN (ABS x, y) - and COPYSIGN (NEG x, y) as COPYSIGN (x, y). - Optimize COPYSIGN (x, ABS y) as ABS x. - Optimize COPYSIGN (COPYSIGN (x, y), z) as COPYSIGN (x, z). - Optimize COPYSIGN (x, COPYSIGN (y, z)) as COPYSIGN (x, z). - (simplify_const_binary_operation): Evaluate COPYSIGN of constant - arguments at compile-time. - -2023-06-06 Uros Bizjak - - * rtl.h (function_invariant_p): Change return type from int to bool. - * reload1.cc (function_invariant_p): Change return type from - int to bool and adjust function body accordingly. - -2023-06-06 Juzhe-Zhong - - * config/riscv/autovec-opt.md (*_fma): New pattern. - (*single_mult_plus): Ditto. - (*double_mult_plus): Ditto. - (*sign_zero_extend_fma): Ditto. - (*zero_sign_extend_fma): Ditto. - * config/riscv/riscv-protos.h (enum insn_type): New enum. - -2023-06-06 Kwok Cheung Yeung - Tobias Burnus - - * gimplify.cc (omp_notice_variable): Apply GOVD_MAP_ALLOC_ONLY flag - and defaultmap flags if the defaultmap has GOVD_MAP_FORCE_PRESENT flag - set. - (omp_get_attachment): Handle map clauses with 'present' modifier. - (omp_group_base): Likewise. - (gimplify_scan_omp_clauses): Reorder present maps to come first. - Set GOVD flags for present defaultmaps. - (gimplify_adjust_omp_clauses_1): Set map kind for present defaultmaps. - * omp-low.cc (scan_sharing_clauses): Handle 'always, present' map - clauses. - (lower_omp_target): Handle map clauses with 'present' modifier. - Handle 'to' and 'from' clauses with 'present'. - * tree-core.h (enum omp_clause_defaultmap_kind): Add - OMP_CLAUSE_DEFAULTMAP_PRESENT defaultmap kind. - * tree-pretty-print.cc (dump_omp_clause): Handle 'map', 'to' and - 'from' clauses with 'present' modifier. Handle present defaultmap. - * tree.h (OMP_CLAUSE_MOTION_PRESENT): New #define. - -2023-06-06 Segher Boessenkool - - * config/rs6000/genfusion.pl: Delete some dead code. - -2023-06-06 Segher Boessenkool - - * config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): New, rewritten and - split out from... - (gen_ld_cmpi_p10): ... this. - -2023-06-06 Jeevitha Palanisamy - - PR target/106907 - * config/rs6000/rs6000.cc (vec_const_128bit_to_bytes): Remove - duplicate expression. - -2023-06-06 Kyrylo Tkachov - - * config/aarch64/aarch64-builtins.cc (aarch64_general_gimple_fold_builtin): - Handle unsigned reduc_plus_scal_ builtins. - * config/aarch64/aarch64-simd-builtins.def (addp): Delete DImode instances. - * config/aarch64/aarch64-simd.md (aarch64_addpdi): Delete. - * config/aarch64/arm_neon.h (vpaddd_s64): Reimplement with - __builtin_aarch64_reduc_plus_scal_v2di. - (vpaddd_u64): Reimplement with __builtin_aarch64_reduc_plus_scal_v2di_uu. - -2023-06-06 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_shr_n): Delete. - (aarch64_rshr_n_insn): New define_insn. - (aarch64_rshr_n): New define_expand. - -2023-06-06 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_shrn_insn_le): Delete. - (aarch64_shrn_insn_be): Delete. - (*aarch64_shrn_vect): Rename to... - (*aarch64_shrn): ... This. - (aarch64_shrn): Remove reference to the above deleted patterns. - (aarch64_rshrn_insn_le): Delete. - (aarch64_rshrn_insn_be): Delete. - (aarch64_rshrn_insn): New define_insn. - (aarch64_rshrn): Remove references to the above deleted patterns. - -2023-06-06 Kyrylo Tkachov - - * config/aarch64/aarch64-protos.h (aarch64_parallel_select_half_p): - Define prototype. - (aarch64_pars_overlap_p): Likewise. - * config/aarch64/aarch64-simd.md (aarch64_addlv): - Express in terms of UNSPEC_ADDV. - (*aarch64_addlv_ze): Likewise. - (*aarch64_addlv_reduction): Define. - (*aarch64_uaddlv_reduction_2): Likewise. - * config/aarch64/aarch64.cc (aarch64_parallel_select_half_p): Define. - (aarch64_pars_overlap_p): Likewise. - * config/aarch64/iterators.md (UNSPEC_SADDLV, UNSPEC_UADDLV): Delete. - (VQUADW): New mode attribute. - (VWIDE2X_S): Likewise. - (USADDLV): Delete. - (su): Delete handling of UNSPEC_SADDLV, UNSPEC_UADDLV. - * config/aarch64/predicates.md (vect_par_cnst_select_half): Define. - -2023-06-06 Richard Biener - - PR middle-end/110055 - * gimplify.cc (gimplify_target_expr): Do not emit - CLOBBERs for variables which have static storage duration - after gimplifying their initializers. - -2023-06-06 Richard Biener - - PR tree-optimization/109143 - * tree-ssa-structalias.cc (solution_set_expand): Avoid - one bitmap iteration and optimize bit range setting. - -2023-06-06 Hans-Peter Nilsson - - PR bootstrap/110120 - * postreload.cc (reload_cse_move2add, move2add_use_add2_insn): Use - XVECEXP, not XEXP, to access first item of a PARALLEL. - -2023-06-06 Pan Li - - * config/riscv/riscv-vector-builtins-types.def - (vfloat16mf4_t): Add vfloat16mf4_t to WF operations. - (vfloat16mf2_t): Likewise. - (vfloat16m1_t): Likewise. - (vfloat16m2_t): Likewise. - (vfloat16m4_t): Likewise. - (vfloat16m8_t): Likewise. - * config/riscv/vector-iterators.md: Add FP=16 to VWF, VWF_ZVE64, - VWLMUL1, VWLMUL1_ZVE64, vwlmul1 and vwlmul1_zve64. - -2023-06-06 Fei Gao - - * config/riscv/riscv.cc (riscv_adjust_libcall_cfi_prologue): Use Pmode - for cfi reg/mem machmode - (riscv_adjust_libcall_cfi_epilogue): Use Pmode for cfi reg machmode - -2023-06-06 Li Xu - - * config/riscv/vector-iterators.md: - Fix 'REQUIREMENT' for machine_mode 'MODE'. - * config/riscv/vector.md (@pred_indexed_store - ): change VNX16_QHSI to VNX16_QHSDI. - (@pred_indexed_store): Ditto. - -2023-06-06 Pan Li - - * config/riscv/vector-iterators.md: Fix typo in mode attr. - -2023-06-05 Andre Vieira - Joel Hutton - - * doc/generic.texi: Remove old tree codes. - * expr.cc (expand_expr_real_2): Remove old tree code cases. - * gimple-pretty-print.cc (dump_binary_rhs): Likewise. - * optabs-tree.cc (optab_for_tree_code): Likewise. - (supportable_half_widening_operation): Likewise. - * tree-cfg.cc (verify_gimple_assign_binary): Likewise. - * tree-inline.cc (estimate_operator_cost): Likewise. - (op_symbol_code): Likewise. - * tree-vect-data-refs.cc (vect_get_smallest_scalar_type): Likewise. - (vect_analyze_data_ref_accesses): Likewise. - * tree-vect-generic.cc (expand_vector_operations_1): Likewise. - * cfgexpand.cc (expand_debug_expr): Likewise. - * tree-vect-stmts.cc (vectorizable_conversion): Likewise. - (supportable_widening_operation): Likewise. - * gimple-range-op.cc (gimple_range_op_handler::maybe_non_standard): - Likewise. - * optabs.def (vec_widen_ssubl_hi_optab, vec_widen_ssubl_lo_optab, - vec_widen_saddl_hi_optab, vec_widen_saddl_lo_optab, - vec_widen_usubl_hi_optab, vec_widen_usubl_lo_optab, - vec_widen_uaddl_hi_optab, vec_widen_uaddl_lo_optab): Remove optabs. - * tree-pretty-print.cc (dump_generic_node): Remove tree code definition. - * tree.def (WIDEN_PLUS_EXPR, WIDEN_MINUS_EXPR, VEC_WIDEN_PLUS_HI_EXPR, - VEC_WIDEN_PLUS_LO_EXPR, VEC_WIDEN_MINUS_HI_EXPR, - VEC_WIDEN_MINUS_LO_EXPR): Likewise. - -2023-06-05 Andre Vieira - Joel Hutton - Tamar Christina - - * config/aarch64/aarch64-simd.md (vec_widen_addl_lo_): Rename - this ... - (vec_widen_add_lo_): ... to this. - (vec_widen_addl_hi_): Rename this ... - (vec_widen_add_hi_): ... to this. - (vec_widen_subl_lo_): Rename this ... - (vec_widen_sub_lo_): ... to this. - (vec_widen_subl_hi_): Rename this ... - (vec_widen_sub_hi_): ...to this. - * doc/generic.texi: Document new IFN codes. - * internal-fn.cc (lookup_hilo_internal_fn): Add lookup function. - (commutative_binary_fn_p): Add widen_plus fn's. - (widening_fn_p): New function. - (narrowing_fn_p): New function. - (direct_internal_fn_optab): Change visibility. - * internal-fn.def (DEF_INTERNAL_WIDENING_OPTAB_FN): Macro to define an - internal_fn that expands into multiple internal_fns for widening. - (IFN_VEC_WIDEN_PLUS, IFN_VEC_WIDEN_PLUS_HI, IFN_VEC_WIDEN_PLUS_LO, - IFN_VEC_WIDEN_PLUS_EVEN, IFN_VEC_WIDEN_PLUS_ODD, - IFN_VEC_WIDEN_MINUS, IFN_VEC_WIDEN_MINUS_HI, - IFN_VEC_WIDEN_MINUS_LO, IFN_VEC_WIDEN_MINUS_ODD, - IFN_VEC_WIDEN_MINUS_EVEN): Define widening plus,minus functions. - * internal-fn.h (direct_internal_fn_optab): Declare new prototype. - (lookup_hilo_internal_fn): Likewise. - (widening_fn_p): Likewise. - (Narrowing_fn_p): Likewise. - * optabs.cc (commutative_optab_p): Add widening plus optabs. - * optabs.def (OPTAB_D): Define widen add, sub optabs. - * tree-vect-patterns.cc (vect_recog_widen_op_pattern): Support - patterns with a hi/lo or even/odd split. - (vect_recog_sad_pattern): Refactor to use new IFN codes. - (vect_recog_widen_plus_pattern): Likewise. - (vect_recog_widen_minus_pattern): Likewise. - (vect_recog_average_pattern): Likewise. - * tree-vect-stmts.cc (vectorizable_conversion): Add support for - _HILO IFNs. - (supportable_widening_operation): Likewise. - * tree.def (WIDEN_SUM_EXPR): Update example to use new IFNs. - -2023-06-05 Andre Vieira - Joel Hutton - - * tree-vect-patterns.cc: Add include for gimple-iterator. - (vect_recog_widen_op_pattern): Refactor to use code_helper. - (vect_gimple_build): New function. - * tree-vect-stmts.cc (simple_integer_narrowing): Refactor to use - code_helper. - (vectorizable_call): Likewise. - (vect_gen_widened_results_half): Likewise. - (vect_create_vectorized_demotion_stmts): Likewise. - (vect_create_vectorized_promotion_stmts): Likewise. - (vect_create_half_widening_stmts): Likewise. - (vectorizable_conversion): Likewise. - (supportable_widening_operation): Likewise. - (supportable_narrowing_operation): Likewise. - * tree-vectorizer.h (supportable_widening_operation): Change - prototype to use code_helper. - (supportable_narrowing_operation): Likewise. - (vect_gimple_build): New function prototype. - * tree.h (code_helper::safe_as_tree_code): New function. - (code_helper::safe_as_fn_code): New function. - -2023-06-05 Roger Sayle - - * wide-int.cc (wi::bitreverse_large): New function implementing - bit reversal of an integer. - * wide-int.h (wi::bitreverse): New (template) function prototype. - (bitreverse_large): Prototype helper function/implementation. - (wi::bitreverse): New template wrapper around bitreverse_large. - -2023-06-05 Uros Bizjak - - * rtl.h (print_rtl_single): Change return type from int to void. - (print_rtl_single_with_indent): Ditto. - * print-rtl.h (class rtx_writer): Ditto. Change m_sawclose to bool. - * print-rtl.cc (rtx_writer::rtx_writer): Update for m_sawclose change. - (rtx_writer::print_rtx_operand_code_0): Ditto. - (rtx_writer::print_rtx_operand_codes_E_and_V): Ditto. - (rtx_writer::print_rtx_operand_code_i): Ditto. - (rtx_writer::print_rtx_operand_code_u): Ditto. - (rtx_writer::print_rtx_operand): Ditto. - (rtx_writer::print_rtx): Ditto. - (rtx_writer::finish_directive): Ditto. - (print_rtl_single): Change return type from int to void - and adjust function body accordingly. - (rtx_writer::print_rtl_single_with_indent): Ditto. - -2023-06-05 Uros Bizjak - - * rtl.h (reg_classes_intersect_p): Change return type from int to bool. - (reg_class_subset_p): Ditto. - * reginfo.cc (reg_classes_intersect_p): Ditto. - (reg_class_subset_p): Ditto. - -2023-06-05 Pan Li - - * config/riscv/riscv-vector-builtins-types.def - (vfloat32mf2_t): New type for DEF_RVV_WEXTF_OPS. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat32m8_t): Ditto. - (vint16mf4_t): New type for DEF_RVV_CONVERT_I_OPS. - (vint16mf2_t): Ditto. - (vint16m1_t): Ditto. - (vint16m2_t): Ditto. - (vint16m4_t): Ditto. - (vint16m8_t): Ditto. - (vuint16mf4_t): New type for DEF_RVV_CONVERT_U_OPS. - (vuint16mf2_t): Ditto. - (vuint16m1_t): Ditto. - (vuint16m2_t): Ditto. - (vuint16m4_t): Ditto. - (vuint16m8_t): Ditto. - (vint32mf2_t): New type for DEF_RVV_WCONVERT_I_OPS. - (vint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vuint32mf2_t): New type for DEF_RVV_WCONVERT_U_OPS. - (vuint32m1_t): Ditto. - (vuint32m2_t): Ditto. - (vuint32m4_t): Ditto. - (vuint32m8_t): Ditto. - * config/riscv/vector-iterators.md: Add FP=16 support for V, - VWCONVERTI, VCONVERT, VNCONVERT, VMUL1 and vlmul1. - -2023-06-05 Andrew Pinski - - PR bootstrap/110085 - * Makefile.in (clean): Remove the removing of - MULTILIB_DIR/MULTILIB_OPTIONS directories. - -2023-06-05 YunQiang Su - - * config/mips/mips-protos.h (mips_emit_speculation_barrier): New - prototype. - * config/mips/mips.cc (speculation_barrier_libfunc): New static - variable. - (mips_init_libfuncs): Initialize it. - (mips_emit_speculation_barrier): New function. - * config/mips/mips.md (speculation_barrier): Call - mips_emit_speculation_barrier. - -2023-06-05 Juzhe-Zhong - - * config/riscv/riscv-v.cc (class rvv_builder): Reorganize functions. - (rvv_builder::can_duplicate_repeating_sequence_p): Ditto. - (rvv_builder::repeating_sequence_use_merge_profitable_p): Ditto. - (rvv_builder::get_merged_repeating_sequence): Ditto. - (rvv_builder::get_merge_scalar_mask): Ditto. - (emit_scalar_move_insn): Ditto. - (emit_vlmax_integer_move_insn): Ditto. - (emit_nonvlmax_integer_move_insn): Ditto. - (emit_vlmax_gather_insn): Ditto. - (emit_vlmax_masked_gather_mu_insn): Ditto. - (get_repeating_sequence_dup_machine_mode): Ditto. - -2023-06-05 Juzhe-Zhong - - * config/riscv/autovec.md: Split arguments. - * config/riscv/riscv-protos.h (expand_vec_perm): Ditto. - * config/riscv/riscv-v.cc (expand_vec_perm): Ditto. - -2023-06-04 Andrew Pinski - - * expr.cc (do_store_flag): Improve for single bit testing - not against zero but against that single bit. - -2023-06-04 Andrew Pinski - - * expr.cc (do_store_flag): Extend the one bit checking case - to handle the case where we don't have an and but rather still - one bit is known to be non-zero. - -2023-06-04 Jeff Law - - * config/h8300/constraints.md (Zz): Make this a normal - constraint. - * config/h8300/h8300.cc (TARGET_LRA_P): Remove. - * config/h8300/logical.md (H8/SX bit patterns): Remove. - -2023-06-04 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md (*btrue_INT_MIN, *eqne_INT_MIN): - New insn_and_split patterns. - -2023-06-04 Juzhe-Zhong - - PR target/110109 - * config/riscv/riscv-vector-builtins-bases.cc: Change expand approach. - * config/riscv/vector.md (@vlmul_extx2): Remove it. - (@vlmul_extx4): Ditto. - (@vlmul_extx8): Ditto. - (@vlmul_extx16): Ditto. - (@vlmul_extx32): Ditto. - (@vlmul_extx64): Ditto. - (*vlmul_extx2): Ditto. - (*vlmul_extx4): Ditto. - (*vlmul_extx8): Ditto. - (*vlmul_extx16): Ditto. - (*vlmul_extx32): Ditto. - (*vlmul_extx64): Ditto. - -2023-06-04 Pan Li - - * config/riscv/riscv-vector-builtins-types.def - (vfloat32mf2_t): Add vfloat32mf2_t type to vfncvt.f.f.w operations. - (vfloat32m1_t): Likewise. - (vfloat32m2_t): Likewise. - (vfloat32m4_t): Likewise. - (vfloat32m8_t): Likewise. - * config/riscv/riscv-vector-builtins.def: Fix typo in comments. - * config/riscv/vector-iterators.md: Add single to half machine - mode conversion. - -2023-06-04 Juzhe-Zhong - - * config/riscv/autovec-opt.md (*not): Move to autovec-opt.md. - (*n): Ditto. - * config/riscv/autovec.md (*not): Ditto. - (*n): Ditto. - * config/riscv/vector.md: Ditto. - -2023-06-04 Roger Sayle - - PR target/110083 - * config/i386/i386-features.cc (scalar_chain::convert_compare): - Update or delete REG_EQUAL notes, converting CONST_INT and - CONST_WIDE_INT immediate operands to a suitable CONST_VECTOR. - -2023-06-04 Jason Merrill - - PR c++/97720 - * tree-eh.cc (lower_resx): Pass the exception pointer to the - failure_decl. - * except.h: Tweak comment. - -2023-06-04 Hans-Peter Nilsson - - * postreload.cc (move2add_use_add2_insn): Handle - trivial single_sets. Rename variable PAT to SET. - (move2add_use_add3_insn, reload_cse_move2add): Similar. - -2023-06-04 Pan Li - - * config/riscv/riscv-vector-builtins-types.def - (vfloat16mf4_t): Add the float16 type to DEF_RVV_F_OPS. - (vfloat16mf2_t): Likewise. - (vfloat16m1_t): Likewise. - (vfloat16m2_t): Likewise. - (vfloat16m4_t): Likewise. - (vfloat16m8_t): Likewise. - * config/riscv/riscv.md: Add vfloat16*_t to attr mode. - * config/riscv/vector-iterators.md: Add vfloat16*_t machine mode - to V, V_WHOLE, V_FRACT, VINDEX, VM, VEL and sew. - * config/riscv/vector.md: Add vfloat16*_t machine mode to sew, - vlmul and ratio. - -2023-06-03 Fei Gao - - * config/riscv/riscv.cc (riscv_expand_epilogue): fix cfi issue with - correct offset. - -2023-06-03 Die Li - - * config/riscv/thead.md (*th_cond_gpr_mov): Delete. - -2023-06-03 Juzhe-Zhong - - * config/riscv/predicates.md: Change INTVAL into UINTVAL. - -2023-06-03 Juzhe-Zhong - - * config/riscv/vector.md: Add vector-opt.md. - * config/riscv/autovec-opt.md: New file. - -2023-06-03 liuhongt - - PR tree-optimization/110067 - * gimple-ssa-store-merging.cc (find_bswap_or_nop): Don't try - bswap + rotate when TYPE_PRECISION(n->type) > n->range. - -2023-06-03 liuhongt - - PR target/92658 - * config/i386/mmx.md (truncv2hiv2qi2): New define_insn. - (truncv2si2): Ditto. - -2023-06-02 Andrew Pinski - - PR rtl-optimization/102733 - * dse.cc (store_info): Add addrspace field. - (record_store): Record the address space - and check to make sure they are the same. - -2023-06-02 Andrew Pinski - - PR rtl-optimization/110042 - * ifcvt.cc (bbs_ok_for_cmove_arith): Allow paradoxical subregs. - (bb_valid_for_noce_process_p): Strip the subreg for the SET_DEST. - -2023-06-02 Iain Sandoe - - PR target/110044 - * config/rs6000/rs6000.cc (darwin_rs6000_special_round_type_align): - Make sure that we do not have a cap on field alignment before altering - the struct layout based on the type alignment of the first entry. - -2023-06-02 David Faust - - PR debug/110073 - * btfout.cc (btf_absolute_func_id): New function. - (btf_asm_func_type): Call it here. Change index parameter from - size_t to ctf_id_t. Use PRIu64 formatter. - -2023-06-02 Alex Coplan - - * btfout.cc (btf_asm_type): Use PRIu64 instead of %lu for uint64_t. - (btf_asm_datasec_type): Likewise. - -2023-06-02 Carl Love - - * config/rs6000/rs6000-builtins.def (__builtin_altivec_tr_stxvrhx, - __builtin_altivec_tr_stxvrwx): Fix type of third argument. - -2023-06-02 Jason Merrill - - PR c++/110070 - PR c++/105838 - * tree.h (DECL_MERGEABLE): New. - * tree-core.h (struct tree_decl_common): Mention it. - * gimplify.cc (gimplify_init_constructor): Check it. - * cgraph.cc (symtab_node::address_can_be_compared_p): Likewise. - * varasm.cc (categorize_decl_for_section): Likewise. - -2023-06-02 Uros Bizjak - - * rtl.h (stack_regs_mentioned): Change return type from int to bool. - * reg-stack.cc (struct_block_info_def): Change "done" to bool. - (stack_regs_mentioned_p): Change return type from int to bool - and adjust function body accordingly. - (stack_regs_mentioned): Ditto. - (check_asm_stack_operands): Ditto. Change "malformed_asm" - variable to bool. - (move_for_stack_reg): Recode handling of control_flow_insn_deleted. - (swap_rtx_condition_1): Change return type from int to bool - and adjust function body accordingly. Change "r" variable to bool. - (swap_rtx_condition): Change return type from int to bool - and adjust function body accordingly. - (subst_stack_regs_pat): Recode handling of control_flow_insn_deleted. - (subst_stack_regs): Ditto. - (convert_regs_entry): Change return type from int to bool and adjust - function body accordingly. Change "inserted" variable to bool. - (convert_regs_1): Recode handling of control_flow_insn_deleted. - (convert_regs_2): Recode handling of cfg_altered. - (convert_regs): Ditto. Change "inserted" variable to bool. - -2023-06-02 Jason Merrill - - PR c++/95226 - * varasm.cc (output_constant) [REAL_TYPE]: Check that sizes match. - (initializer_constant_valid_p_1): Compare float precision. - -2023-06-02 Alexander Monakov - - * doc/extend.texi (Vector Extensions): Clarify bitwise shift - semantics. - -2023-06-02 Ju-Zhe Zhong - - * tree-vect-loop-manip.cc (vect_set_loop_controls_directly): Change decrement IV flow. - (vect_set_loop_condition_partial_vectors): Ditto. - -2023-06-02 Georg-Johann Lay - - PR target/110088 - * config/avr/avr.md: Add an RTL peephole to optimize operations on - non-LD_REGS after a move from LD_REGS. - (piaop): New code iterator. - -2023-06-02 Thomas Schwinge - - PR testsuite/66005 - * doc/install.texi: Document (optional) Perl usage for parallel - testing of libgomp. - -2023-06-02 Thomas Schwinge - - PR bootstrap/82856 - * doc/install.texi (Perl): Back to requiring "Perl version 5.6.1 (or - later)". - -2023-06-02 Juzhe-Zhong - KuanLin Chen - - * config/riscv/riscv-vector-builtins-bases.cc: Add _mu overloaded intrinsics. - * config/riscv/riscv-vector-builtins-shapes.cc (struct fault_load_def): Ditto. - -2023-06-02 Juzhe-Zhong - - * config/riscv/riscv-v.cc (expand_vec_series): Optimize reverse series index vector. - -2023-06-02 Juzhe-Zhong - - * config/riscv/predicates.md: Change INTVAL into UINTVAL. - -2023-06-02 Juzhe-Zhong - - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_VXRM_ENUM): Add - __RISCV_ prefix. - (DEF_RVV_FRM_ENUM): Ditto. - -2023-06-02 Juzhe-Zhong - - * config/riscv/riscv-vector-builtins-bases.cc: Change vwadd.wv/vwsub.wv - intrinsic API expander - * config/riscv/vector.md - (@pred_single_widen_): Remove it. - (@pred_single_widen_sub): New pattern. - (@pred_single_widen_add): New pattern. - -2023-06-02 Juzhe-Zhong - - * config/riscv/autovec.md (vec_perm): New pattern. - * config/riscv/predicates.md (vector_perm_operand): New predicate. - * config/riscv/riscv-protos.h (enum insn_type): New enum. - (expand_vec_perm): New function. - * config/riscv/riscv-v.cc (const_vec_all_in_range_p): Ditto. - (gen_const_vector_dup): Ditto. - (emit_vlmax_gather_insn): Ditto. - (emit_vlmax_masked_gather_mu_insn): Ditto. - (expand_vec_perm): Ditto. - -2023-06-01 Jason Merrill - - * doc/invoke.texi (-Wpedantic): Improve clarity. - -2023-06-01 Uros Bizjak - - * rtl.h (exp_equiv_p): Change return type from int to bool. - * cse.cc (mention_regs): Change return type from int to bool - and adjust function body accordingly. - (exp_equiv_p): Ditto. - (insert_regs): Ditto. Change "modified" function argument to bool - and update usage accordingly. - (record_jump_cond): Remove always zero "reversed_nonequality" - function argument and update usage accordingly. - (fold_rtx): Change "changed" variable to bool. - (record_jump_equiv): Remove unneeded "reversed_nonequality" variable. - (is_dead_reg): Change return type from int to bool. - -2023-06-01 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md (adddi3, subdi3): - New RTL generation patterns implemented according to the instruc- - tion idioms described in the Xtensa ISA reference manual (p. 600). - -2023-06-01 Roger Sayle - Uros Bizjak - - PR target/109973 - * config/i386/i386-builtin.def (__builtin_ia32_ptestz128): Use new - CODE_for_sse4_1_ptestzv2di. - (__builtin_ia32_ptestc128): Use new CODE_for_sse4_1_ptestcv2di. - (__builtin_ia32_ptestz256): Use new CODE_for_avx_ptestzv4di. - (__builtin_ia32_ptestc256): Use new CODE_for_avx_ptestcv4di. - * config/i386/i386-expand.cc (ix86_expand_branch): Use CCZmode - when expanding UNSPEC_PTEST to compare against zero. - * config/i386/i386-features.cc (scalar_chain::convert_compare): - Likewise generate CCZmode UNSPEC_PTESTs when converting comparisons. - (general_scalar_chain::convert_insn): Use CCZmode for COMPARE result. - (timode_scalar_chain::convert_insn): Use CCZmode for COMPARE result. - * config/i386/i386-protos.h (ix86_match_ptest_ccmode): Prototype. - * config/i386/i386.cc (ix86_match_ptest_ccmode): New predicate to - check for suitable matching modes for the UNSPEC_PTEST pattern. - * config/i386/sse.md (define_split): When splitting UNSPEC_MOVMSK - to UNSPEC_PTEST, preserve the FLAG_REG mode as CCZ. - (*_ptest): Add asterisk to hide define_insn. Remove - ":CC" mode of FLAGS_REG, instead use ix86_match_ptest_ccmode. - (_ptestz): New define_expand to specify CCZ. - (_ptestc): New define_expand to specify CCC. - (_ptest): A define_expand using CC to preserve the - current behavior. - (*ptest_and): Specify CCZ to only perform this optimization - when only the Z flag is required. - -2023-06-01 Jonathan Wakely - - PR target/109954 - * doc/invoke.texi (x86 Options): Fix description of -m32 option. - -2023-06-01 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (*aarch64_simd_mov): - Add =r,m and =r,m alternatives. - (load_pair): Likewise. - (vec_store_pair): Likewise. - -2023-06-01 Pan Li - - * common/config/riscv/riscv-common.cc: Add FP_16 mask to zvfhmin - and zvfh. - * config/riscv/genrvv-type-indexer.cc (valid_type): Allow FP16. - (main): Disable FP16 tuple. - * config/riscv/riscv-opts.h (MASK_VECTOR_ELEN_FP_16): New macro. - (TARGET_VECTOR_ELEN_FP_16): Ditto. - * config/riscv/riscv-vector-builtins.cc (check_required_extensions): - Add FP16. - * config/riscv/riscv-vector-builtins.def (vfloat16mf4_t): New type. - (vfloat16mf2_t): Ditto. - (vfloat16m1_t): Ditto. - (vfloat16m2_t): Ditto. - (vfloat16m4_t): Ditto. - (vfloat16m8_t): Ditto. - * config/riscv/riscv-vector-builtins.h (RVV_REQUIRE_ELEN_FP_16): - New macro. - * config/riscv/riscv-vector-switch.def (ENTRY): Allow FP16 - machine mode based on TARGET_VECTOR_ELEN_FP_16. - -2023-06-01 Juzhe-Zhong - - * config/riscv/riscv-vector-builtins.cc (register_frm): New function. - (DEF_RVV_FRM_ENUM): New macro. - (handle_pragma_vector): Add FRM enum - * config/riscv/riscv-vector-builtins.def (DEF_RVV_FRM_ENUM): New macro. - (RNE): Ditto. - (RTZ): Ditto. - (RDN): Ditto. - (RUP): Ditto. - (RMM): Ditto. - -2023-05-31 Roger Sayle - Richard Sandiford - - * fold-const-call.cc (fold_const_call_ss) : - Update call to wi::bswap. - * simplify-rtx.cc (simplify_const_unary_operation) : - Update call to wi::bswap. - * tree-ssa-ccp.cc (evaluate_stmt) : - Update calls to wi::bswap. - * wide-int.cc (wide_int_storage::bswap): Remove/rename to... - (wi::bswap_large): New function, with revised API. - * wide-int.h (wi::bswap): New (template) function prototype. - (wide_int_storage::bswap): Remove method. - (sext_large, zext_large): Consistent indentation/line wrapping. - (bswap_large): Prototype helper function containing implementation. - (wi::bswap): New template wrapper around bswap_large. - -2023-05-31 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (dot_prod): Rename to... - (dot_prod): ... This. - (usdot_prod): Rename to... - (usdot_prod): ... This. - (aarch64_dot_lane): Rename to... - (aarch64_dot_lane): ... This. - (aarch64_dot_laneq): Rename to... - (aarch64_dot_laneq): ... This. - (aarch64_dot_lane): Rename to... - (aarch64_dot_lane): - ... This. - -2023-05-31 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_sqdmulh): Rename to... - (aarch64_sqdmulh): ... This. - (aarch64_sqdmulh_n): Rename to... - (aarch64_sqdmulh_n): ... This. - (aarch64_sqdmulh_lane): Rename to... - (aarch64_sqdmulh_lane): ... This. - (aarch64_sqdmulh_laneq): Rename to... - (aarch64_sqdmulh_laneq): ... This. - (aarch64_sqrdmlh): Rename to... - (aarch64_sqrdmlh): ... This. - (aarch64_sqrdmlh_lane): Rename to... - (aarch64_sqrdmlh_lane): ... This. - (aarch64_sqrdmlh_laneq): Rename to... - (aarch64_sqrdmlh_laneq): ... This. - -2023-05-31 David Faust - - * btfout.cc (btf_kind_names): New. - (btf_kind_name): New. - (btf_absolute_var_id): New utility function. - (btf_relative_var_id): Likewise. - (btf_relative_func_id): Likewise. - (btf_absolute_datasec_id): Likewise. - (btf_asm_type_ref): New. - (btf_asm_type): Update asm comments and use btf_asm_type_ref (). - (btf_asm_array): Likewise. Accept ctf_container_ref parameter. - (btf_asm_varent): Likewise. - (btf_asm_func_arg): Likewise. - (btf_asm_datasec_entry): Likewise. - (btf_asm_datasec_type): Likewise. - (btf_asm_func_type): Likewise. Add index parameter. - (btf_asm_enum_const): Likewise. - (btf_asm_sou_member): Likewise. - (output_btf_vars): Update btf_asm_* call accordingly. - (output_asm_btf_sou_fields): Likewise. - (output_asm_btf_enum_list): Likewise. - (output_asm_btf_func_args_list): Likewise. - (output_asm_btf_vlen_bytes): Likewise. - (output_btf_func_types): Add ctf_container_ref parameter. - Pass it to btf_asm_func_type. - (output_btf_datasec_types): Update btf_asm_datsec_type call similarly. - (btf_output): Update output_btf_func_types call similarly. - -2023-05-31 David Faust - - * btfout.cc (btf_asm_type): Add dedicated cases for BTF_KIND_ARRAY - and BTF_KIND_FWD which do not use the size/type field at all. - -2023-05-31 Uros Bizjak - - * rtl.h (subreg_lowpart_p): Change return type from int to bool. - (active_insn_p): Ditto. - (in_sequence_p): Ditto. - (unshare_all_rtl): Change return type from int to void. - * emit-rtl.h (mem_expr_equal_p): Change return type from int to bool. - * emit-rtl.cc (subreg_lowpart_p): Change return type from int to bool - and adjust function body accordingly. - (mem_expr_equal_p): Ditto. - (unshare_all_rtl): Change return type from int to void - and adjust function body accordingly. - (verify_rtx_sharing): Remove unneeded return. - (active_insn_p): Change return type from int to bool - and adjust function body accordingly. - (in_sequence_p): Ditto. - -2023-05-31 Uros Bizjak - - * rtl.h (true_dependence): Change return type from int to bool. - (canon_true_dependence): Ditto. - (read_dependence): Ditto. - (anti_dependence): Ditto. - (canon_anti_dependence): Ditto. - (output_dependence): Ditto. - (canon_output_dependence): Ditto. - (may_alias_p): Ditto. - * alias.h (alias_sets_conflict_p): Ditto. - (alias_sets_must_conflict_p): Ditto. - (objects_must_conflict_p): Ditto. - (nonoverlapping_memrefs_p): Ditto. - * alias.cc (rtx_equal_for_memref_p): Remove forward declaration. - (record_set): Ditto. - (base_alias_check): Ditto. - (find_base_value): Ditto. - (mems_in_disjoint_alias_sets_p): Ditto. - (get_alias_set_entry): Ditto. - (decl_for_component_ref): Ditto. - (write_dependence_p): Ditto. - (memory_modified_1): Ditto. - (mems_in_disjoint_alias_set_p): Change return type from int to bool - and adjust function body accordingly. - (alias_sets_conflict_p): Ditto. - (alias_sets_must_conflict_p): Ditto. - (objects_must_conflict_p): Ditto. - (rtx_equal_for_memref_p): Ditto. - (base_alias_check): Ditto. - (read_dependence): Ditto. - (nonoverlapping_memrefs_p): Ditto. - (true_dependence_1): Ditto. - (true_dependence): Ditto. - (canon_true_dependence): Ditto. - (write_dependence_p): Ditto. - (anti_dependence): Ditto. - (canon_anti_dependence): Ditto. - (output_dependence): Ditto. - (canon_output_dependence): Ditto. - (may_alias_p): Ditto. - (init_alias_analysis): Change "changed" variable to bool. - -2023-05-31 Juzhe-Zhong - - * config/riscv/autovec.md (2): Change - expand into define_insn_and_split. - -2023-05-31 Juzhe-Zhong - - * config/riscv/vector.md: Remove FRM. - -2023-05-31 Juzhe-Zhong - - * config/riscv/vector.md: Remove FRM. - -2023-05-31 Juzhe-Zhong - - * config/riscv/vector.md: Remove FRM. - -2023-05-31 Christophe Lyon - - PR target/110039 - * config/aarch64/aarch64.md (aarch64_rev16si2_alt3): New - pattern. - -2023-05-31 Richard Biener - - PR ipa/109983 - PR tree-optimization/109143 - * tree-ssa-structalias.cc (struct topo_info): Remove. - (init_topo_info): Likewise. - (free_topo_info): Likewise. - (compute_topo_order): Simplify API, put the component - with ESCAPED last so it's processed first. - (topo_visit): Adjust. - (solve_graph): Likewise. - -2023-05-31 Richard Biener - - * tree-ssa-structalias.cc (constraint_stats::num_avoided_edges): - New. - (add_graph_edge): Count redundant edges we avoid to create. - (dump_sa_stats): Dump them. - (ipa_pta_execute): Do not dump generating constraints when - we are not dumping them. - -2023-05-31 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (*aarch64_simd_mov): Rewrite - output template to avoid explicit switch on which_alternative. - (*aarch64_simd_mov): Likewise. - (and3): Likewise. - (ior3): Likewise. - * config/aarch64/aarch64.md (*mov_aarch64): Likewise. - -2023-05-31 Takayuki 'January June' Suwa - - * config/xtensa/predicates.md (xtensa_bit_join_operator): - New predicate. - * config/xtensa/xtensa.md (ior_op): Remove. - (*shlrd_reg): Rename from "*shlrd_reg_", and add the - insn_and_split pattern of the same name to express and capture - the bit-combining operation with both sides swapped. - In addition, replace use of code iterator with new operator - predicate. - (*shlrd_const, *shlrd_per_byte): - Likewise regarding the code iterator. - -2023-05-31 Cui, Lili - - PR tree-optimization/110038 - * params.opt: Add a limit on tree-reassoc-width. - * tree-ssa-reassoc.cc - (rewrite_expr_tree_parallel): Add width limit. - -2023-05-31 Pan Li - - * common/config/riscv/riscv-common.cc: - (riscv_implied_info): Add zvfh item. - (riscv_ext_version_table): Ditto. - (riscv_ext_flag_table): Ditto. - * config/riscv/riscv-opts.h (MASK_ZVFH): New macro. - (TARGET_ZVFH): Ditto. - -2023-05-30 liuhongt - - PR tree-optimization/108804 - * tree-vect-patterns.cc (vect_get_range_info): Remove static. - * tree-vect-stmts.cc (vect_create_vectorized_demotion_stmts): - Add new parameter narrow_src_p. - (vectorizable_conversion): Enhance NARROW FLOAT_EXPR - vectorization by truncating to lower precision. - * tree-vectorizer.h (vect_get_range_info): New declare. - -2023-05-30 Vladimir N. Makarov - - * lra-int.h (lra_update_sp_offset): Add the prototype. - * lra.cc (setup_sp_offset): Change the return type. Use - lra_update_sp_offset. - * lra-eliminations.cc (lra_update_sp_offset): New function. - (lra_process_new_insns): Push the current insn to reprocess if the - input reload changes sp offset. - -2023-05-30 Uros Bizjak - - PR target/110041 - * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): - Fix misleading identation. - -2023-05-30 Uros Bizjak - - * rtl.h (comparison_dominates_p): Change return type from int to bool. - (condjump_p): Ditto. - (any_condjump_p): Ditto. - (any_uncondjump_p): Ditto. - (simplejump_p): Ditto. - (returnjump_p): Ditto. - (eh_returnjump_p): Ditto. - (onlyjump_p): Ditto. - (invert_jump_1): Ditto. - (invert_jump): Ditto. - (rtx_renumbered_equal_p): Ditto. - (redirect_jump_1): Ditto. - (redirect_jump): Ditto. - (condjump_in_parallel_p): Ditto. - * jump.cc (invert_exp_1): Adjust forward declaration. - (comparison_dominates_p): Change return type from int to bool - and adjust function body accordingly. - (simplejump_p): Ditto. - (condjump_p): Ditto. - (condjump_in_parallel_p): Ditto. - (any_uncondjump_p): Ditto. - (any_condjump_p): Ditto. - (returnjump_p): Ditto. - (eh_returnjump_p): Ditto. - (onlyjump_p): Ditto. - (redirect_jump_1): Ditto. - (redirect_jump): Ditto. - (invert_exp_1): Ditto. - (invert_jump_1): Ditto. - (invert_jump): Ditto. - (rtx_renumbered_equal_p): Ditto. - -2023-05-30 Andrew Pinski - - * fold-const.cc (minmax_from_comparison): Add support for NE_EXPR. - * match.pd ((cond (cmp (convert1? x) c1) (convert2? x) c2) pattern): - Add ne as a possible cmp. - ((a CMP b) ? minmax : minmax pattern): Likewise. - -2023-05-30 Andrew Pinski - - * match.pd (`(a CMP CST1) ? max : a`): New - pattern. - -2023-05-30 Roger Sayle - - * simplify-rtx.cc (simplify_binary_operation_1) : Use wide-int - instead of HWI_COMPUTABLE_MODE_P and UINTVAL in transformation of - (and (extend X) C) as (zero_extend (and X C)), to also optimize - modes wider than HOST_WIDE_INT. - -2023-05-30 Roger Sayle - - PR target/107172 - * simplify-rtx.cc (simplify_const_relational_operation): Return - early if we have a MODE_CC comparison that isn't a COMPARE against - const0_rtx. - -2023-05-30 Robin Dapp - - * config/riscv/riscv.cc (riscv_const_insns): Allow - const_vec_duplicates. - -2023-05-30 liuhongt - - PR middle-end/108938 - * gimple-ssa-store-merging.cc (is_bswap_or_nop_p): New - function, cut from original find_bswap_or_nop function. - (find_bswap_or_nop): Add a new parameter, detect bswap + - rotate and save rotate result in the new parameter. - (bswap_replace): Add a new parameter to indicate rotate and - generate rotate stmt if needed. - (maybe_optimize_vector_constructor): Adjust for new rotate - parameter in the upper 2 functions. - (pass_optimize_bswap::execute): Ditto. - (imm_store_chain_info::output_merged_store): Ditto. - -2023-05-30 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_adalp): Delete. - (aarch64_adalp): New define_expand. - (*aarch64_adalp_insn): New define_insn. - (aarch64_addlp): Convert to define_expand. - (*aarch64_addlp_insn): New define_insn. - * config/aarch64/iterators.md (UNSPEC_SADDLP, UNSPEC_UADDLP): Delete. - (ADALP): Likewise. - (USADDLP): Likewise. - * config/aarch64/predicates.md (vect_par_cnst_even_or_odd_half): Define. - -2023-05-30 Kyrylo Tkachov - - * config/aarch64/aarch64-builtins.cc (VAR1): Move to after inclusion of - aarch64-builtin-iterators.h. Add definition to remap shadd, uhadd, - srhadd, urhadd builtin codes for standard optab ones. - * config/aarch64/aarch64-simd.md (avg3_floor): Rename to... - (avg3_floor): ... This. Expand to RTL codes rather than - unspec. - (avg3_ceil): Rename to... - (avg3_ceil): ... This. Expand to RTL codes rather than - unspec. - (aarch64_hsub): New define_expand. - (aarch64_h): Split into... - (*aarch64_h_insn): ... This... - (*aarch64_rhadd_insn): ... And this. - -2023-05-30 Andreas Schwab - - PR target/110036 - * config/riscv/riscv.cc (riscv_asan_shadow_offset): Update to - match libsanitizer. - -2023-05-30 Kyrylo Tkachov - - * config/aarch64/aarch64-modes.def (V16HI, V8SI, V4DI, V2TI): New modes. - * config/aarch64/aarch64-protos.h (aarch64_const_vec_rnd_cst_p): - Declare prototype. - (aarch64_const_vec_rsra_rnd_imm_p): Likewise. - * config/aarch64/aarch64-simd.md (*aarch64_simd_sra): Rename to... - (aarch64_sra_n_insn): ... This. - (aarch64_rsra_n_insn): New define_insn. - (aarch64_sra_n): New define_expand. - (aarch64_rsra_n): Likewise. - (aarch64_sra_n): Rename to... - (aarch64_sra_ndi): ... This. - * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Add - any_target_p argument. - (aarch64_extract_vec_duplicate_wide_int): Define. - (aarch64_const_vec_rsra_rnd_imm_p): Likewise. - (aarch64_const_vec_rnd_cst_p): Likewise. - (aarch64_vector_mode_supported_any_target_p): Likewise. - (TARGET_VECTOR_MODE_SUPPORTED_ANY_TARGET_P): Likewise. - * config/aarch64/iterators.md (UNSPEC_SRSRA, UNSPEC_URSRA): Delete. - (VSRA): Adjust for the above. - (sur): Likewise. - (V2XWIDE): New mode_attr. - (vec_or_offset): Likewise. - (SHIFTEXTEND): Likewise. - * config/aarch64/predicates.md (aarch64_simd_rsra_rnd_imm_vec): New - predicate. - * doc/tm.texi (TARGET_VECTOR_MODE_SUPPORTED_P): Adjust description to - clarify that it applies to current target options. - (TARGET_VECTOR_MODE_SUPPORTED_ANY_TARGET_P): Document. - * doc/tm.texi.in: Regenerate. - * stor-layout.cc (mode_for_vector): Check - vector_mode_supported_any_target_p when iterating through vector modes. - * target.def (TARGET_VECTOR_MODE_SUPPORTED_P): Adjust description to - clarify that it applies to current target options. - (TARGET_VECTOR_MODE_SUPPORTED_ANY_TARGET_P): Define. - -2023-05-30 Lili Cui - - PR tree-optimization/98350 - * tree-ssa-reassoc.cc - (rewrite_expr_tree_parallel): Rewrite this function. - (rank_ops_for_fma): New. - (reassociate_bb): Handle new function. - -2023-05-30 Uros Bizjak - - * rtl.h (rtx_addr_can_trap_p): Change return type from int to bool. - (rtx_unstable_p): Ditto. - (reg_mentioned_p): Ditto. - (reg_referenced_p): Ditto. - (reg_used_between_p): Ditto. - (reg_set_between_p): Ditto. - (modified_between_p): Ditto. - (no_labels_between_p): Ditto. - (modified_in_p): Ditto. - (reg_set_p): Ditto. - (multiple_sets): Ditto. - (set_noop_p): Ditto. - (noop_move_p): Ditto. - (reg_overlap_mentioned_p): Ditto. - (dead_or_set_p): Ditto. - (dead_or_set_regno_p): Ditto. - (find_reg_fusage): Ditto. - (find_regno_fusage): Ditto. - (side_effects_p): Ditto. - (volatile_refs_p): Ditto. - (volatile_insn_p): Ditto. - (may_trap_p_1): Ditto. - (may_trap_p): Ditto. - (may_trap_or_fault_p): Ditto. - (computed_jump_p): Ditto. - (auto_inc_p): Ditto. - (loc_mentioned_in_p): Ditto. - * rtlanal.cc (computed_jump_p_1): Adjust forward declaration. - (rtx_unstable_p): Change return type from int to bool - and adjust function body accordingly. - (rtx_addr_can_trap_p): Ditto. - (reg_mentioned_p): Ditto. - (no_labels_between_p): Ditto. - (reg_used_between_p): Ditto. - (reg_referenced_p): Ditto. - (reg_set_between_p): Ditto. - (reg_set_p): Ditto. - (modified_between_p): Ditto. - (modified_in_p): Ditto. - (multiple_sets): Ditto. - (set_noop_p): Ditto. - (noop_move_p): Ditto. - (reg_overlap_mentioned_p): Ditto. - (dead_or_set_p): Ditto. - (dead_or_set_regno_p): Ditto. - (find_reg_fusage): Ditto. - (find_regno_fusage): Ditto. - (remove_node_from_insn_list): Ditto. - (volatile_insn_p): Ditto. - (volatile_refs_p): Ditto. - (side_effects_p): Ditto. - (may_trap_p_1): Ditto. - (may_trap_p): Ditto. - (may_trap_or_fault_p): Ditto. - (computed_jump_p): Ditto. - (auto_inc_p): Ditto. - (loc_mentioned_in_p): Ditto. - * combine.cc (can_combine_p): Update indirect function. - -2023-05-30 Juzhe-Zhong - - * config/riscv/autovec.md (2): New pattern. - * config/riscv/iterators.md: New attribute. - * config/riscv/vector-iterators.md: New attribute. - -2023-05-30 From: Juzhe-Zhong - - * config/riscv/riscv.md: Fix signed and unsigned comparison - warning. - -2023-05-30 Juzhe-Zhong - - * config/riscv/autovec.md (fnma4): New pattern. - (*fnma): Ditto. - -2023-05-29 Die Li - - * config/riscv/riscv.cc (riscv_expand_conditional_move_onesided): - Delete. - (riscv_expand_conditional_move): Reuse the TARGET_SFB_ALU expand - process for TARGET_XTHEADCONDMOV - -2023-05-29 Uros Bizjak - - PR target/110021 - * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): Also require - TARGET_AVX512BW to generate truncv16hiv16qi2. - -2023-05-29 Jivan Hakobyan - - * config/riscv/riscv.md (and3): New expander. - (*and3) New pattern. - * config/riscv/predicates.md (arith_operand_or_mode_mask): New - predicate. - -2023-05-29 Pan Li - - * config/riscv/riscv-v.cc (emit_vlmax_insn): Remove unnecessary - comments and rename local variables. - (emit_nonvlmax_insn): Diito. - (emit_vlmax_merge_insn): Ditto. - (emit_vlmax_cmp_insn): Ditto. - (emit_vlmax_cmp_mu_insn): Ditto. - (emit_scalar_move_insn): Ditto. - -2023-05-29 Pan Li - - * config/riscv/riscv-v.cc (emit_vlmax_insn): Eliminate the - magic number. - (emit_nonvlmax_insn): Ditto. - (emit_vlmax_merge_insn): Ditto. - (emit_vlmax_cmp_insn): Ditto. - (emit_vlmax_cmp_mu_insn): Ditto. - (expand_vec_series): Ditto. - -2023-05-29 Pan Li - - * config/riscv/riscv-protos.h (enum insn_type): New type. - * config/riscv/riscv-v.cc (RVV_INSN_OPERANDS_MAX): New macro. - (rvv_builder::can_duplicate_repeating_sequence_p): Align the referenced - class member. - (rvv_builder::get_merged_repeating_sequence): Ditto. - (rvv_builder::repeating_sequence_use_merge_profitable_p): New function - to evaluate the optimization cost. - (rvv_builder::get_merge_scalar_mask): New function to get the merge - mask. - (emit_scalar_move_insn): New function to emit vmv.s.x. - (emit_vlmax_integer_move_insn): New function to emit vlmax vmv.v.x. - (emit_nonvlmax_integer_move_insn): New function to emit nonvlmax - vmv.v.x. - (get_repeating_sequence_dup_machine_mode): New function to get the dup - machine mode. - (expand_vector_init_merge_repeating_sequence): New function to perform - the optimization. - (expand_vec_init): Add this vector init optimization. - * config/riscv/riscv.h (BITS_PER_WORD): New macro. - -2023-05-29 Eric Botcazou - - * tree-ssa-loop-manip.cc (create_iv): Try harder to find a SLOC to - put onto the increment when it is inserted after the position. - -2023-05-29 Eric Botcazou - - * match.pd ((T)P - (T)(P + A) -> -(T) A): Avoid artificial overflow - on constants. - -2023-05-29 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (source_equal_p): Fix ICE. - -2023-05-29 Juzhe-Zhong - - * config/riscv/autovec.md (fma4): New pattern. - (*fma): Ditto. - * config/riscv/riscv-protos.h (enum insn_type): New enum. - (emit_vlmax_ternary_insn): New function. - * config/riscv/riscv-v.cc (emit_vlmax_ternary_insn): Ditto. - -2023-05-29 Juzhe-Zhong - - * config/riscv/vector.md: Fix vimuladd instruction bug. - -2023-05-29 Juzhe-Zhong - - * config/riscv/riscv.cc (global_state_unknown_p): New function. - (riscv_mode_after): Fix incorrect VXM. - -2023-05-29 Pan Li - - * common/config/riscv/riscv-common.cc: - (riscv_implied_info): Add zvfhmin item. - (riscv_ext_version_table): Ditto. - (riscv_ext_flag_table): Ditto. - * config/riscv/riscv-opts.h (MASK_ZVFHMIN): New macro. - (TARGET_ZFHMIN): Align indent. - (TARGET_ZFH): Ditto. - (TARGET_ZVFHMIN): New macro. - -2023-05-27 liuhongt - - PR target/100711 - * config/i386/sse.md (*andnot3): Extend below splitter - to VI_AVX2 to cover more modes. - -2023-05-27 liuhongt - - * config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): - Remove ATOM and ICELAKE(and later) core processors. - -2023-05-26 Robin Dapp - - * config/riscv/autovec.md (2): Add vneg/vnot. - (abs2): Add. - * config/riscv/riscv-protos.h (emit_vlmax_masked_mu_insn): - Declare. - * config/riscv/riscv-v.cc (emit_vlmax_masked_mu_insn): New - function. - -2023-05-26 Robin Dapp - Juzhe Zhong - - * config/riscv/autovec.md (2): New - expander. - (2): Dito. - (2): Dito. - (trunc2): Dito. - (trunc2): Dito. - (trunc2): Dito. - * config/riscv/riscv-protos.h (vectorize_related_mode): Define. - (autovectorize_vector_modes): Define. - * config/riscv/riscv-v.cc (vectorize_related_mode): Implement - hook. - (autovectorize_vector_modes): Implement hook. - * config/riscv/riscv.cc (riscv_autovectorize_vector_modes): - Implement target hook. - (riscv_vectorize_related_mode): Implement target hook. - (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): Define. - (TARGET_VECTORIZE_RELATED_MODE): Define. - * config/riscv/vector-iterators.md: Add lowercase versions of - mode_attr iterators. - -2023-05-26 Andrew Stubbs - Tobias Burnus - - * config/gcn/gcn-hsa.h (XNACKOPT): New macro. - (ASM_SPEC): Use XNACKOPT. - * config/gcn/gcn-opts.h (enum sram_ecc_type): Rename to ... - (enum hsaco_attr_type): ... this, and generalize the names. - (TARGET_XNACK): New macro. - * config/gcn/gcn.cc (gcn_option_override): Update to sorry for all - but -mxnack=off. - (output_file_start): Update xnack handling. - (gcn_hsa_declare_function_name): Use TARGET_XNACK. - * config/gcn/gcn.opt (-mxnack): Add the "on/off/any" syntax. - (sram_ecc_type): Rename to ... - (hsaco_attr_type: ... this.) - * config/gcn/mkoffload.cc (SET_XNACK_ANY): New macro. - (TEST_XNACK): Delete. - (TEST_XNACK_ANY): New macro. - (TEST_XNACK_ON): New macro. - (main): Support the new -mxnack=on/off/any syntax. - * doc/invoke.texi (-mxnack): Update for new syntax. - -2023-05-26 Andrew Pinski - - * genmatch.cc (emit_debug_printf): New function. - (dt_simplify::gen_1): Emit printf into the code - before the `return true` or returning the folded result - instead of emitting it always. - -2023-05-26 Takayuki 'January June' Suwa - - * config/xtensa/xtensa-protos.h - (xtensa_expand_block_set_unrolled_loop, - xtensa_expand_block_set_small_loop): Remove. - (xtensa_expand_block_set): New prototype. - * config/xtensa/xtensa.cc - (xtensa_expand_block_set_libcall): New subfunction. - (xtensa_expand_block_set_unrolled_loop, - xtensa_expand_block_set_small_loop): Rewrite as subfunctions. - (xtensa_expand_block_set): New function that calls the above - subfunctions. - * config/xtensa/xtensa.md (memsetsi): Change to invoke only - xtensa_expand_block_set(). - -2023-05-26 Takayuki 'January June' Suwa - - * config/xtensa/xtensa-protos.h (xtensa_m1_or_1_thru_15): - New prototype. - * config/xtensa/xtensa.cc (xtensa_m1_or_1_thru_15): - New function. - * config/xtensa/constraints.md (O): - Change to use the above function. - * config/xtensa/xtensa.md (*subsi3_from_const): - New insn_and_split pattern. - -2023-05-26 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md (*extzvsi-1bit_ashlsi3): - Retract excessive line folding, and correct the value of - the "length" insn attribute related to TARGET_DENSITY. - (*extzvsi-1bit_addsubx): Ditto. - -2023-05-26 Uros Bizjak - - * config/i386/i386-expand.cc (ix86_expand_vecop_qihi): - Do not disable call to ix86_expand_vecop_qihi2. - -2023-05-26 liuhongt - - PR target/109610 - PR target/109858 - * ira-costs.cc (scan_one_insn): Only use NO_REGS in cost - calculation when !hard_regno_mode_ok for GENERAL_REGS and - mode, otherwise still use GENERAL_REGS. - -2023-05-26 Juzhe-Zhong - - * config/riscv/riscv.cc (vector_zero_call_used_regs): Add - explict VL and drop VL in ops. - -2023-05-25 Jin Ma - - * sched-deps.cc (sched_macro_fuse_insns): Insns should not be fusion - in different BB blocks. - -2023-05-25 Uros Bizjak - - * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): - Rewrite to expand to 2x-wider (e.g. V16QI -> V16HImode) - instructions when available. Emulate truncation via - ix86_expand_vec_perm_const_1 when native truncate insn - is not available. - (ix86_expand_vecop_qihi_partial) : Use pmovzx - when available. Trivially rename some variables. - (ix86_expand_vecop_qihi): Unconditionally call ix86_expand_vecop_qihi2. - * config/i386/i386.cc (ix86_multiplication_cost): Rewrite cost - calculation of V*QImode emulations to account for generation of - 2x-wider mode instructions. - (ix86_shift_rotate_cost): Update cost calculation of V*QImode - emulations to account for generation of 2x-wider mode instructions. - -2023-05-25 Georg-Johann Lay - - PR target/104327 - * config/avr/avr.cc (avr_can_inline_p): New static function. - (TARGET_CAN_INLINE_P): Define to that function. - -2023-05-25 Georg-Johann Lay - - PR target/82931 - * config/avr/avr.md (*movbitqi.0): Rename to *movbit.0-6. - Handle any bit position and use mode QISI. - * config/avr/avr.cc (avr_rtx_costs_1) [IOR]: Return a cost - of 2 insns for bit-transfer of respective style. - -2023-05-25 Christophe Lyon - - * config/arm/iterators.md (MVE_6): Remove. - * config/arm/mve.md: Replace MVE_6 with MVE_5. - -2023-05-25 Ju-Zhe Zhong - Richard Sandiford - - * tree-vect-loop-manip.cc (vect_adjust_loop_lens_control): New - function. - (vect_set_loop_controls_directly): Add decrement IV support. - (vect_set_loop_condition_partial_vectors): Ditto. - * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): New - variable. - * tree-vectorizer.h (LOOP_VINFO_USING_DECREMENTING_IV_P): New - macro. - -2023-05-25 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_fcadd): Rename to... - (aarch64_fcadd): ... This. - Fix canonicalization of PLUS operands. - (aarch64_fcmla): Rename to... - (aarch64_fcmla): ... This. - Fix canonicalization of PLUS operands. - (aarch64_fcmla_lane): Rename to... - (aarch64_fcmla_lane): ... This. - Fix canonicalization of PLUS operands. - (aarch64_fcmla_laneqv4hf): Rename to... - (aarch64_fcmla_laneqv4hf): ... This. - Fix canonicalization of PLUS operands. - (aarch64_fcmlaq_lane): Fix canonicalization of PLUS operands. - -2023-05-25 Chris Sidebottom - - * config/arm/arm.md (rbitsi2): Rename to... - (arm_rbit): ... This. - (ctzsi2): Adjust for the above. - (arm_rev16si2): Convert to define_expand. - (arm_rev16si2_alt1): New pattern. - (arm_rev16si2_alt): Rename to... - (*arm_rev16si2_alt2): ... This. - * config/arm/arm_acle.h (__ror, __rorl, __rorll, __clz, __clzl, __clzll, - __cls, __clsl, __clsll, __revsh, __rev, __revl, __revll, __rev16, - __rev16l, __rev16ll, __rbit, __rbitl, __rbitll): Define intrinsics. - * config/arm/arm_acle_builtins.def (rbit, rev16si2): Define builtins. - -2023-05-25 Alex Coplan - - PR target/109800 - * config/arm/arm.md (movdf): Generate temporary pseudo in DImode - instead of DFmode. - * config/arm/vfp.md (no_literal_pool_df_immediate): Rather than punning an - lvalue DFmode pseudo into DImode, use a DImode pseudo and pun it into - DFmode as an rvalue. - -2023-05-25 Richard Biener - - PR target/109955 - * tree-vect-stmts.cc (vectorizable_condition): For - embedded comparisons also handle the case when the target - only provides vec_cmp and vcond_mask. - -2023-05-25 Claudiu Zissulescu - - * config/arc/arc.cc (arc_call_tls_get_addr): Simplify access using - TLS Local Dynamic. - -2023-05-25 Prathamesh Kulkarni - - * config/aarch64/aarch64.cc (scalar_move_insn_p): New function. - (seq_cost_ignoring_scalar_moves): Likewise. - (aarch64_expand_vector_init): Call seq_cost_ignoring_scalar_moves. - -2023-05-25 Kyrylo Tkachov - - * config/aarch64/arm_neon.h (vcage_f64): Reimplement with builtins. - (vcage_f32): Likewise. - (vcages_f32): Likewise. - (vcageq_f32): Likewise. - (vcaged_f64): Likewise. - (vcageq_f64): Likewise. - (vcagts_f32): Likewise. - (vcagt_f32): Likewise. - (vcagt_f64): Likewise. - (vcagtq_f32): Likewise. - (vcagtd_f64): Likewise. - (vcagtq_f64): Likewise. - (vcale_f32): Likewise. - (vcale_f64): Likewise. - (vcaled_f64): Likewise. - (vcales_f32): Likewise. - (vcaleq_f32): Likewise. - (vcaleq_f64): Likewise. - (vcalt_f32): Likewise. - (vcalt_f64): Likewise. - (vcaltd_f64): Likewise. - (vcaltq_f32): Likewise. - (vcaltq_f64): Likewise. - (vcalts_f32): Likewise. - -2023-05-25 Hu, Lin1 - - PR target/109173 - PR target/109174 - * config/i386/avx512bwintrin.h (_mm512_srli_epi16): Change type from - int to const int or const int to const unsigned int. - (_mm512_mask_srli_epi16): Ditto. - (_mm512_slli_epi16): Ditto. - (_mm512_mask_slli_epi16): Ditto. - (_mm512_maskz_slli_epi16): Ditto. - (_mm512_srai_epi16): Ditto. - (_mm512_mask_srai_epi16): Ditto. - (_mm512_maskz_srai_epi16): Ditto. - * config/i386/avx512fintrin.h (_mm512_slli_epi64): Ditto. - (_mm512_mask_slli_epi64): Ditto. - (_mm512_maskz_slli_epi64): Ditto. - (_mm512_srli_epi64): Ditto. - (_mm512_mask_srli_epi64): Ditto. - (_mm512_maskz_srli_epi64): Ditto. - (_mm512_srai_epi64): Ditto. - (_mm512_mask_srai_epi64): Ditto. - (_mm512_maskz_srai_epi64): Ditto. - (_mm512_slli_epi32): Ditto. - (_mm512_mask_slli_epi32): Ditto. - (_mm512_maskz_slli_epi32): Ditto. - (_mm512_srli_epi32): Ditto. - (_mm512_mask_srli_epi32): Ditto. - (_mm512_maskz_srli_epi32): Ditto. - (_mm512_srai_epi32): Ditto. - (_mm512_mask_srai_epi32): Ditto. - (_mm512_maskz_srai_epi32): Ditto. - * config/i386/avx512vlbwintrin.h (_mm256_mask_srai_epi16): Ditto. - (_mm256_maskz_srai_epi16): Ditto. - (_mm_mask_srai_epi16): Ditto. - (_mm_maskz_srai_epi16): Ditto. - (_mm256_mask_slli_epi16): Ditto. - (_mm256_maskz_slli_epi16): Ditto. - (_mm_mask_slli_epi16): Ditto. - (_mm_maskz_slli_epi16): Ditto. - (_mm_maskz_srli_epi16): Ditto. - * config/i386/avx512vlintrin.h (_mm256_mask_srli_epi32): Ditto. - (_mm256_maskz_srli_epi32): Ditto. - (_mm_mask_srli_epi32): Ditto. - (_mm_maskz_srli_epi32): Ditto. - (_mm256_mask_srli_epi64): Ditto. - (_mm256_maskz_srli_epi64): Ditto. - (_mm_mask_srli_epi64): Ditto. - (_mm_maskz_srli_epi64): Ditto. - (_mm256_mask_srai_epi32): Ditto. - (_mm256_maskz_srai_epi32): Ditto. - (_mm_mask_srai_epi32): Ditto. - (_mm_maskz_srai_epi32): Ditto. - (_mm256_srai_epi64): Ditto. - (_mm256_mask_srai_epi64): Ditto. - (_mm256_maskz_srai_epi64): Ditto. - (_mm_srai_epi64): Ditto. - (_mm_mask_srai_epi64): Ditto. - (_mm_maskz_srai_epi64): Ditto. - (_mm_mask_slli_epi32): Ditto. - (_mm_maskz_slli_epi32): Ditto. - (_mm_mask_slli_epi64): Ditto. - (_mm_maskz_slli_epi64): Ditto. - (_mm256_mask_slli_epi32): Ditto. - (_mm256_maskz_slli_epi32): Ditto. - (_mm256_mask_slli_epi64): Ditto. - (_mm256_maskz_slli_epi64): Ditto. - -2023-05-25 Juzhe-Zhong - - * config/riscv/vector.md: Remove FRM_REGNUM dependency in rtz - instructions. - -2023-05-25 Aldy Hernandez - - * data-streamer-in.cc (streamer_read_value_range): Handle NANs. - * data-streamer-out.cc (streamer_write_vrange): Same. - * value-range.h (class vrange): Make streamer_write_vrange a friend. - -2023-05-25 Aldy Hernandez - - * value-query.cc (range_query::get_tree_range): Set NAN directly - if necessary. - * value-range.cc (frange::set): Assert that bounds are not NAN. - -2023-05-25 Aldy Hernandez - - * value-range.cc (add_vrange): Handle known NANs. - -2023-05-25 Aldy Hernandez - - * value-range.h (frange::set_nan): New. - -2023-05-25 Alexandre Oliva - - PR target/100106 - * emit-rtl.cc (validate_subreg): Reject a SUBREG of a MEM that - requires stricter alignment than MEM's. - -2023-05-24 Andrew MacLeod - - PR tree-optimization/107822 - PR tree-optimization/107986 - * Makefile.in (OBJS): Add gimple-range-phi.o. - * gimple-range-cache.h (ranger_cache::m_estimate): New - phi_analyzer pointer member. - * gimple-range-fold.cc (fold_using_range::range_of_phi): Use - phi_analyzer if no loop info is available. - * gimple-range-phi.cc: New file. - * gimple-range-phi.h: New file. - * tree-vrp.cc (execute_ranger_vrp): Utililze a phi_analyzer. - -2023-05-24 Andrew MacLeod - - * gimple-range-fold.cc (fur_list::fur_list): Add range_query param - to contructors. - (fold_range): Add range_query parameter. - (fur_relation::fur_relation): New. - (fur_relation::trio): New. - (fur_relation::register_relation): New. - (fold_relations): New. - * gimple-range-fold.h (fold_range): Adjust prototypes. - (fold_relations): New. - -2023-05-24 Andrew MacLeod - - * gimple-range-cache.cc (ssa_cache::range_of_expr): New. - * gimple-range-cache.h (class ssa_cache): Inherit from range_query. - (ranger_cache::const_query): New. - * gimple-range.cc (gimple_ranger::const_query): New. - * gimple-range.h (gimple_ranger::const_query): New prototype. - -2023-05-24 Andrew MacLeod - - * gimple-range-cache.cc (ssa_cache::dump): Use get_range. - (ssa_cache::dump_range_query): Delete. - (ssa_lazy_cache::dump_range_query): Delete. - (ssa_lazy_cache::get_range): Move from header file. - (ssa_lazy_cache::clear_range): ditto. - (ssa_lazy_cache::clear): Ditto. - * gimple-range-cache.h (class ssa_cache): Virtualize. - (class ssa_lazy_cache): Inherit and virtualize. - -2023-05-24 Aldy Hernandez - - * value-range.h (vrange::kind): Remove. - -2023-05-24 Roger Sayle - - PR middle-end/109840 - * match.pd : Preserve zero-extension when - optimizing popcount((T)bswap(x)) and popcount((T)rotate(x,y)) as - popcount((T)x), so the popcount's argument keeps the same type. - : Likewise preserve extensions when - simplifying parity((T)bswap(x)) and parity((T)rotate(x,y)) as - parity((T)x), so that the parity's argument type is the same. - -2023-05-24 Aldy Hernandez - - * ipa-cp.cc (ipa_value_range_from_jfunc): Use new ipa_vr API. - (ipcp_store_vr_results): Same. - * ipa-prop.cc (ipa_vr::ipa_vr): New. - (ipa_vr::get_vrange): New. - (ipa_vr::set_unknown): New. - (ipa_vr::streamer_read): New. - (ipa_vr::streamer_write): New. - (write_ipcp_transformation_info): Use new ipa_vr API. - (read_ipcp_transformation_info): Same. - (ipa_vr::nonzero_p): Delete. - (ipcp_update_vr): Use new ipa_vr API. - * ipa-prop.h (class ipa_vr): Provide an API and hide internals. - * ipa-sra.cc (zap_useless_ipcp_results): Use new ipa_vr API. - -2023-05-24 Jan-Benedict Glaw - - * config/mcore/mcore.cc (output_inline_const) Make buffer smaller to - silence overflow warnings later on. - -2023-05-24 Uros Bizjak - - * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): - Remove handling of V8QImode. - * config/i386/mmx.md (vv8qi3): Move from sse.md. - Call ix86_expand_vecop_qihi_partial. Enable for TARGET_MMX_WITH_SSE. - (vv4qi3): Ditto. - * config/i386/sse.md (vv8qi3): Remove. - -2023-05-24 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_simd_lshr): Rename to... - (aarch64_simd_lshr): ... This. - (aarch64_simd_ashr): Rename to... - (aarch64_simd_ashr): ... This. - (aarch64_simd_imm_shl): Rename to... - (aarch64_simd_imm_shl): ... This. - (aarch64_simd_reg_sshl): Rename to... - (aarch64_simd_reg_sshl): ... This. - (aarch64_simd_reg_shl_unsigned): Rename to... - (aarch64_simd_reg_shl_unsigned): ... This. - (aarch64_simd_reg_shl_signed): Rename to... - (aarch64_simd_reg_shl_signed): ... This. - (vec_shr_): Rename to... - (vec_shr_): ... This. - (aarch64_shl): Rename to... - (aarch64_shl): ... This. - (aarch64_qshl): Rename to... - (aarch64_qshl): ... This. - -2023-05-24 Richard Biener - - PR target/109944 - * config/i386/i386-expand.cc (ix86_expand_vector_init_general): - Perform final vector composition using - ix86_expand_vector_init_general instead of setting - the highpart and lowpart which causes spilling. - -2023-05-24 Andrew MacLeod - - PR tree-optimization/109695 - * gimple-range-cache.cc (ranger_cache::get_global_range): Add - changed param. - * gimple-range-cache.h (ranger_cache::get_global_range): Ditto. - * gimple-range.cc (gimple_ranger::range_of_stmt): Pass changed - flag to set_global_range. - (gimple_ranger::prefill_stmt_dependencies): Ditto. - -2023-05-24 Andrew MacLeod - - PR tree-optimization/109695 - * gimple-range-cache.cc (temporal_cache::temporal_value): Return - a positive int. - (temporal_cache::current_p): Check always_current method. - (temporal_cache::set_always_current): Add param and set value - appropriately. - (temporal_cache::always_current_p): New. - (ranger_cache::get_global_range): Adjust. - (ranger_cache::set_global_range): set always current first. - -2023-05-24 Andrew MacLeod - - PR tree-optimization/109695 - * gimple-range-cache.cc (ranger_cache::get_global_range): Call - fold_range with global query to choose an initial value. - -2023-05-24 Juzhe-Zhong - - * config/riscv/riscv-protos.h (enum frm_field_enum): Add FRM_ - prefix. - -2023-05-24 Richard Biener - - PR tree-optimization/109849 - * tree-ssa-pre.cc (do_hoist_insertion): Do not intersect - expressions but take the first sets. - -2023-05-24 Gaius Mulley - - PR modula2/109952 - * doc/gm2.texi (High procedure function): New node. - (Using): New menu entry for High procedure function. - -2023-05-24 Richard Sandiford - - PR rtl-optimization/109940 - * early-remat.cc (postorder_index): Rename to... - (rpo_index): ...this. - (compare_candidates): Sort by decreasing rpo_index rather than - increasing postorder_index. - (early_remat::sort_candidates): Calculate the forward RPO from - DF_FORWARD. - (early_remat::local_phase): Follow forward RPO using DF_FORWARD, - rather than DF_BACKWARD in reverse. - -2023-05-24 Kyrylo Tkachov - - PR target/109939 - * config/arm/arm-builtins.cc (SAT_BINOP_UNSIGNED_IMM_QUALIFIERS): Use - qualifier_none for the return operand. - -2023-05-24 Juzhe-Zhong - - * config/riscv/autovec.md (3): New pattern. - (one_cmpl2): Ditto. - (*not): Ditto. - (*n): Ditto. - * config/riscv/riscv-v.cc (expand_vec_cmp_float): Change to - one_cmpl. - -2023-05-24 Kewen Lin - - * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Adjust the - calculation on n_perms by considering nvectors_per_build. - -2023-05-24 Juzhe-Zhong - Richard Sandiford - - * config/riscv/autovec.md (@vcond_mask_): New pattern. - (vec_cmp): New pattern. - (vec_cmpu): New pattern. - (vcond): New pattern. - (vcondu): New pattern. - * config/riscv/riscv-protos.h (enum insn_type): Add new enum. - (emit_vlmax_merge_insn): New function. - (emit_vlmax_cmp_insn): Ditto. - (emit_vlmax_cmp_mu_insn): Ditto. - (expand_vec_cmp): Ditto. - (expand_vec_cmp_float): Ditto. - (expand_vcond): Ditto. - * config/riscv/riscv-v.cc (emit_vlmax_merge_insn): Ditto. - (emit_vlmax_cmp_insn): Ditto. - (emit_vlmax_cmp_mu_insn): Ditto. - (get_cmp_insn_code): Ditto. - (expand_vec_cmp): Ditto. - (expand_vec_cmp_float): Ditto. - (expand_vcond): Ditto. - -2023-05-24 Pan Li - - * config/riscv/genrvv-type-indexer.cc (main): Add - unsigned_eew*_lmul1_interpret for indexer. - * config/riscv/riscv-vector-builtins-functions.def (vreinterpret): - Register vuint*m1_t interpret function. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_UNSIGNED_EEW8_LMUL1_INTERPRET_OPS): - New macro for vuint8m1_t. - (DEF_RVV_UNSIGNED_EEW16_LMUL1_INTERPRET_OPS): Likewise. - (DEF_RVV_UNSIGNED_EEW32_LMUL1_INTERPRET_OPS): Likewise. - (DEF_RVV_UNSIGNED_EEW64_LMUL1_INTERPRET_OPS): Likewise. - (vbool1_t): Add to unsigned_eew*_interpret_ops. - (vbool2_t): Likewise. - (vbool4_t): Likewise. - (vbool8_t): Likewise. - (vbool16_t): Likewise. - (vbool32_t): Likewise. - (vbool64_t): Likewise. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_UNSIGNED_EEW8_LMUL1_INTERPRET_OPS): - New macro for vuint*m1_t. - (DEF_RVV_UNSIGNED_EEW16_LMUL1_INTERPRET_OPS): Likewise. - (DEF_RVV_UNSIGNED_EEW32_LMUL1_INTERPRET_OPS): Likewise. - (DEF_RVV_UNSIGNED_EEW64_LMUL1_INTERPRET_OPS): Likewise. - (required_extensions_p): Add vuint*m1_t interpret case. - * config/riscv/riscv-vector-builtins.def (unsigned_eew8_lmul1_interpret): - Add vuint*m1_t interpret to base type. - (unsigned_eew16_lmul1_interpret): Likewise. - (unsigned_eew32_lmul1_interpret): Likewise. - (unsigned_eew64_lmul1_interpret): Likewise. - -2023-05-24 Pan Li - - * config/riscv/genrvv-type-indexer.cc (EEW_SIZE_LIST): New macro - for the eew size list. - (LMUL1_LOG2): New macro for the log2 value of lmul=1. - (main): Add signed_eew*_lmul1_interpret for indexer. - * config/riscv/riscv-vector-builtins-functions.def (vreinterpret): - Register vint*m1_t interpret function. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_SIGNED_EEW8_LMUL1_INTERPRET_OPS): - New macro for vint8m1_t. - (DEF_RVV_SIGNED_EEW16_LMUL1_INTERPRET_OPS): Likewise. - (DEF_RVV_SIGNED_EEW32_LMUL1_INTERPRET_OPS): Likewise. - (DEF_RVV_SIGNED_EEW64_LMUL1_INTERPRET_OPS): Likewise. - (vbool1_t): Add to signed_eew*_interpret_ops. - (vbool2_t): Likewise. - (vbool4_t): Likewise. - (vbool8_t): Likewise. - (vbool16_t): Likewise. - (vbool32_t): Likewise. - (vbool64_t): Likewise. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_SIGNED_EEW8_LMUL1_INTERPRET_OPS): - New macro for vint*m1_t. - (DEF_RVV_SIGNED_EEW16_LMUL1_INTERPRET_OPS): Likewise. - (DEF_RVV_SIGNED_EEW32_LMUL1_INTERPRET_OPS): Likewise. - (DEF_RVV_SIGNED_EEW64_LMUL1_INTERPRET_OPS): Likewise. - (required_extensions_p): Add vint8m1_t interpret case. - * config/riscv/riscv-vector-builtins.def (signed_eew8_lmul1_interpret): - Add vint*m1_t interpret to base type. - (signed_eew16_lmul1_interpret): Likewise. - (signed_eew32_lmul1_interpret): Likewise. - (signed_eew64_lmul1_interpret): Likewise. - -2023-05-24 Juzhe-Zhong - - * config/riscv/autovec.md: Adjust for new interface. - * config/riscv/riscv-protos.h (emit_vlmax_insn): Add VL operand. - (emit_nonvlmax_insn): Add AVL operand. - * config/riscv/riscv-v.cc (emit_vlmax_insn): Add VL operand. - (emit_nonvlmax_insn): Add AVL operand. - (sew64_scalar_helper): Adjust for new interface. - (expand_tuple_move): Ditto. - * config/riscv/vector.md: Ditto. - -2023-05-24 Juzhe-Zhong - - * config/riscv/riscv-v.cc (expand_vec_series): Remove magic number. - (expand_const_vector): Ditto. - (legitimize_move): Ditto. - (sew64_scalar_helper): Ditto. - (expand_tuple_move): Ditto. - (expand_vector_init_insert_elems): Ditto. - * config/riscv/riscv.cc (vector_zero_call_used_regs): Ditto. - -2023-05-24 liuhongt - - PR target/109900 - * config/i386/i386.cc (ix86_gimple_fold_builtin): Fold - _mm{,256,512}_abs_{epi8,epi16,epi32,epi64} and - _mm_abs_{pi8,pi16,pi32} into gimple ABS_EXPR. - (ix86_masked_all_ones): Handle 64-bit mask. - * config/i386/i386-builtin.def: Replace icode of related - non-mask simd abs builtins with CODE_FOR_nothing. - -2023-05-23 Martin Uecker - - PR c/109450 - * function.cc (gimplify_parm_type): Remove function. - (gimplify_parameters): Call gimplify_type_sizes. - -2023-05-23 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md (*addsubx): Rename from '*addx', - and change to also accept '*subx' pattern. - (*subx): Remove. - -2023-05-23 Takayuki 'January June' Suwa - - * config/xtensa/predicates.md (addsub_operator): New. - * config/xtensa/xtensa.md (*extzvsi-1bit_ashlsi3, - *extzvsi-1bit_addsubx): New insn_and_split patterns. - * config/xtensa/xtensa.cc (xtensa_rtx_costs): - Add a special case about ifcvt 'noce_try_cmove()' to handle - constant loads that do not fit into signed 12 bits in the - patterns added above. - -2023-05-23 Richard Biener - - PR tree-optimization/109747 - * tree-vect-slp.cc (vect_prologue_cost_for_slp): Pass down - the SLP node only once to the cost hook. - -2023-05-23 Georg-Johann Lay - - * config/avr/avr.cc (avr_insn_cost): New static function. - (TARGET_INSN_COST): Define to that function. - -2023-05-23 Richard Biener - - PR target/109944 - * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): - For vector construction or splats apply GPR->XMM move - costing. QImode memory can be handled directly only - with SSE4.1 pinsrb. - -2023-05-23 Richard Biener - - PR tree-optimization/108752 - * tree-vect-stmts.cc (vectorizable_operation): For bit - operations with generic word_mode vectors do not cost - an extra stmt. For plus, minus and negate also cost the - constant materialization. - -2023-05-23 Uros Bizjak - - * config/i386/i386-expand.cc (ix86_expand_vecop_qihi_partial): - Call ix86_expand_vec_shift_qihi_constant for shifts - with constant count operand. - * config/i386/i386.cc (ix86_shift_rotate_cost): - Handle V4QImode and V8QImode. - * config/i386/mmx.md (v8qi3): New insn pattern. - (v4qi3): Ditto. - -2023-05-23 Juzhe-Zhong - - * config/riscv/vector.md: Add mode. - -2023-05-23 Aldy Hernandez - - PR tree-optimization/109934 - * value-range.cc (irange::invert): Remove buggy special case. - -2023-05-23 Richard Biener - - * tree-ssa-pre.cc (compute_antic_aux): Dump the correct - ANTIC_OUT. - -2023-05-23 Richard Sandiford - - PR target/109632 - * config/aarch64/aarch64.cc (aarch64_modes_tieable_p): Allow - subregs between any scalars that are 64 bits or smaller. - * config/aarch64/iterators.md (SUBDI_BITS): New int iterator. - (bits_etype): New int attribute. - * config/aarch64/aarch64.md (*insv_reg_) - (*aarch64_bfi_): New patterns. - (*aarch64_bfidi_subreg_): Likewise. - -2023-05-23 Richard Sandiford - - * doc/md.texi: Document that can be used to refer to the - numerical value of an int iterator FOO. Tweak other parts of - the int iterator documentation. - * read-rtl.cc (iterator_group::has_self_attr): New field. - (map_attr_string): When has_self_attr is true, make - expand to the current value of iterator FOO. - (initialize_iterators): Set has_self_attr for int iterators. - -2023-05-23 Juzhe-Zhong - - * config/riscv/autovec.md: Refactor the framework of RVV auto-vectorization. - * config/riscv/riscv-protos.h (RVV_MISC_OP_NUM): Ditto. - (RVV_UNOP_NUM): New macro. - (RVV_BINOP_NUM): Ditto. - (legitimize_move): Refactor the framework of RVV auto-vectorization. - (emit_vlmax_op): Ditto. - (emit_vlmax_reg_op): Ditto. - (emit_len_op): Ditto. - (emit_len_binop): Ditto. - (emit_vlmax_tany_many): Ditto. - (emit_nonvlmax_tany_many): Ditto. - (sew64_scalar_helper): Ditto. - (expand_tuple_move): Ditto. - * config/riscv/riscv-v.cc (emit_pred_op): Ditto. - (emit_pred_binop): Ditto. - (emit_vlmax_op): Ditto. - (emit_vlmax_tany_many): New function. - (emit_len_op): Remove. - (emit_nonvlmax_tany_many): New function. - (emit_vlmax_reg_op): Remove. - (emit_len_binop): Ditto. - (emit_index_op): Ditto. - (expand_vec_series): Refactor the framework of RVV auto-vectorization. - (expand_const_vector): Ditto. - (legitimize_move): Ditto. - (sew64_scalar_helper): Ditto. - (expand_tuple_move): Ditto. - (expand_vector_init_insert_elems): Ditto. - * config/riscv/riscv.cc (vector_zero_call_used_regs): Ditto. - * config/riscv/vector.md: Ditto. - -2023-05-23 Kyrylo Tkachov - - PR target/109855 - * config/aarch64/aarch64-simd.md (add_vec_concat_subst_le): Add predicate - and constraint for operand 0. - (add_vec_concat_subst_be): Likewise. - -2023-05-23 Richard Biener - - PR tree-optimization/109849 - * tree-ssa-pre.cc (do_hoist_insertion): Compute ANTIC_OUT - and use that to determine what to hoist. - -2023-05-23 Eric Botcazou - - * fold-const.cc (native_encode_initializer) : Apply the - specific treatment for bit-fields only if they have an integral type - and filter out non-integral bit-fields that do not start and end on - a byte boundary. - -2023-05-23 Aldy Hernandez - - PR tree-optimization/109920 - * value-range.h (RESIZABLE>::~int_range): Use delete[]. - -2023-05-22 Uros Bizjak - - * config/i386/i386.cc (ix86_shift_rotate_cost): Correct - calcuation of integer vector mode costs to reflect generated - instruction sequences of different integer vector modes and - different target ABIs. Remove "speed" function argument. - (ix86_rtx_costs): Update call for removed function argument. - (ix86_vector_costs::add_stmt_cost): Ditto. - -2023-05-22 Aldy Hernandez - - * value-range.h (class Value_Range): Implement set_zero, - set_nonzero, and nonzero_p. - -2023-05-22 Uros Bizjak - - * config/i386/i386.cc (ix86_multiplication_cost): Add - the cost of a memory read to the cost of V?QImode sequences. - -2023-05-22 Juzhe-Zhong - - * config/riscv/riscv-v.cc: Add "m_" prefix. - -2023-05-22 Ju-Zhe Zhong - - * tree-vect-loop.cc (vect_get_loop_len): Fix issue for - multiple-rgroup of length. - * tree-vect-stmts.cc (vectorizable_store): Ditto. - (vectorizable_load): Ditto. - * tree-vectorizer.h (vect_get_loop_len): Ditto. - -2023-05-22 Juzhe-Zhong - - * config/riscv/riscv.cc (riscv_const_insns): Reorganize the - codes. - -2023-05-22 Kewen Lin - - * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Refactor the - handling for the case index == count. - -2023-05-21 Georg-Johann Lay - - PR target/90622 - * config/avr/avr.cc (avr_fold_builtin) [AVR_BUILTIN_INSERT_BITS]: - Don't fold to XOR / AND / XOR if just one bit is copied to the - same position. - -2023-05-21 Roger Sayle - - * config/nvptx/nvptx.cc (nvptx_expand_brev): Expand target - builtin for bit reversal using brev instruction. - (enum nvptx_builtins): Add NVPTX_BUILTIN_BREV and - NVPTX_BUILTIN_BREVLL. - (nvptx_init_builtins): Define "brev" and "brevll". - (nvptx_expand_builtin): Expand NVPTX_BUILTIN_BREV and - NVPTX_BUILTIN_BREVLL via nvptx_expand_brev function. - * doc/extend.texi (Nvidia PTX Builtin-in Functions): New - section, document __builtin_nvptx_brev{,ll}. - -2023-05-21 Jakub Jelinek - - PR tree-optimization/109505 - * match.pd ((x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2), - Combine successive equal operations with constants, - (A +- CST1) +- CST2 -> A + CST3, (CST1 - A) +- CST2 -> CST3 - A, - CST1 - (CST2 - A) -> CST3 + A): Use ! on ops with 2 CONSTANT_CLASS_P - operands. - -2023-05-21 Andrew Pinski - - * expr.cc (expand_single_bit_test): Correct bitpos for big-endian. - -2023-05-21 Pan Li - - * config/riscv/genrvv-type-indexer.cc (BOOL_SIZE_LIST): Add the - rest bool size, aka 2, 4, 8, 16, 32, 64. - * config/riscv/riscv-vector-builtins-functions.def (vreinterpret): - Register vbool[2|4|8|16|32|64] interpret function. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_BOOL2_INTERPRET_OPS): - New macro for vbool2_t. - (DEF_RVV_BOOL4_INTERPRET_OPS): Likewise. - (DEF_RVV_BOOL8_INTERPRET_OPS): Likewise. - (DEF_RVV_BOOL16_INTERPRET_OPS): Likewise. - (DEF_RVV_BOOL32_INTERPRET_OPS): Likewise. - (DEF_RVV_BOOL64_INTERPRET_OPS): Likewise. - (vint8m1_t): Add the type to bool[2|4|8|16|32|64]_interpret_ops. - (vint16m1_t): Likewise. - (vint32m1_t): Likewise. - (vint64m1_t): Likewise. - (vuint8m1_t): Likewise. - (vuint16m1_t): Likewise. - (vuint32m1_t): Likewise. - (vuint64m1_t): Likewise. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_BOOL2_INTERPRET_OPS): - New macro for vbool2_t. - (DEF_RVV_BOOL4_INTERPRET_OPS): Likewise. - (DEF_RVV_BOOL8_INTERPRET_OPS): Likewise. - (DEF_RVV_BOOL16_INTERPRET_OPS): Likewise. - (DEF_RVV_BOOL32_INTERPRET_OPS): Likewise. - (DEF_RVV_BOOL64_INTERPRET_OPS): Likewise. - (required_extensions_p): Add vbool[2|4|8|16|32|64] interpret case. - * config/riscv/riscv-vector-builtins.def (bool2_interpret): Add - vbool2_t interprect to base type. - (bool4_interpret): Likewise. - (bool8_interpret): Likewise. - (bool16_interpret): Likewise. - (bool32_interpret): Likewise. - (bool64_interpret): Likewise. - -2023-05-21 Andrew Pinski - - PR middle-end/109919 - * expr.cc (expand_single_bit_test): Don't use the - target for expand_expr. - -2023-05-20 Gerald Pfeifer - - * doc/install.texi (Specific): Remove de facto empty alpha*-*-* - section. - -2023-05-20 Pan Li - - * mode-switching.cc (entity_map): Initialize the array to zero. - (bb_info): Ditto. - -2023-05-20 Triffid Hunter - - PR target/105753 - * config/avr/avr.md (divmodpsi, udivmodpsi, divmodsi, udivmodsi): - Remove superfluous "parallel" in insn pattern. - ([u]divmod4): Tidy code. Use gcc_unreachable() instead of - printing error text to assembly. - -2023-05-20 Andrew Pinski - - * expr.cc (fold_single_bit_test): Rename to ... - (expand_single_bit_test): This and expand directly. - (do_store_flag): Update for the rename function. - -2023-05-20 Andrew Pinski - - * expr.cc (fold_single_bit_test): Use BIT_FIELD_REF - instead of shift/and. - -2023-05-20 Andrew Pinski - - * expr.cc (fold_single_bit_test): Add an assert - and simplify based on code being NE_EXPR or EQ_EXPR. - -2023-05-20 Andrew Pinski - - * expr.cc (fold_single_bit_test): Take inner and bitnum - instead of arg0 and arg1. Update the code. - (do_store_flag): Don't create a tree when calling - fold_single_bit_test instead just call it with the bitnum - and the inner tree. - -2023-05-20 Andrew Pinski - - * expr.cc (fold_single_bit_test): Use get_def_for_expr - instead of checking the inner's code. - -2023-05-20 Andrew Pinski - - * expr.cc (fold_single_bit_test_into_sign_test): Inline into ... - (fold_single_bit_test): This and simplify. - -2023-05-20 Andrew Pinski - - * fold-const.cc (fold_single_bit_test_into_sign_test): Move to - expr.cc. - (fold_single_bit_test): Likewise. - * expr.cc (fold_single_bit_test_into_sign_test): Move from fold-const.cc - (fold_single_bit_test): Likewise and make static. - * fold-const.h (fold_single_bit_test): Remove declaration. - -2023-05-20 Die Li - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Fix mode - checking. - -2023-05-20 Raphael Moreira Zinsly - - * config/riscv/bitmanip.md (branch_bext): New split pattern. - -2023-05-20 Raphael Moreira Zinsly - - PR target/106888 - * config/riscv/bitmanip.md - (disi2): Match with any_extend. - (disi2_sext): New pattern to match - with sign extend using an ANDI instruction. - -2023-05-19 Nathan Sidwell - - PR other/99451 - * opts.h (handle_deferred_dump_options): Declare. - * opts-global.cc (handle_common_deferred_options): Do not handle - dump options here. - (handle_deferred_dump_options): New. - * toplev.cc (toplev::main): Call it after plugin init. - -2023-05-19 Joern Rennecke - - * config/riscv/constraints.md (DsS, DsD): Restore agreement - with shiftm1 mode attribute. - -2023-05-19 Andrew Pinski - - PR driver/33980 - * gcc.cc (default_compilers["@c-header"]): Add %w - after the --output-pch. - -2023-05-19 Vineet Gupta - - * config/riscv/riscv.cc (riscv_split_integer): if loval is equal - to hival, ASHIFT the corresponding regs. - -2023-05-19 Robin Dapp - - * config/riscv/riscv.cc (riscv_const_insns): Remove else. - -2023-05-19 Jakub Jelinek - - PR tree-optimization/105776 - * tree-ssa-math-opts.cc (arith_overflow_check_p): If cast_stmt is - non-NULL, allow division statement to have a cast as single imm use - rather than comparison/condition. - (match_arith_overflow): In that case remove the cast stmt in addition - to the division statement. - -2023-05-19 Jakub Jelinek - - PR tree-optimization/101856 - * tree-ssa-math-opts.cc (match_arith_overflow): Pattern detect - unsigned __builtin_mul_overflow_p even when umulv4_optab doesn't - support it but umul_highpart_optab does. - -2023-05-19 Eric Botcazou - - * varasm.cc (output_constructor_bitfield): Call tree_to_uhwi instead - of tree_to_shwi on array indices. Minor tweaks. - -2023-05-18 Bernhard Reutner-Fischer - - * alias.cc (ref_all_alias_ptr_type_p): Use _P() defines from tree.h. - * attribs.cc (diag_attr_exclusions): Ditto. - (decl_attributes): Ditto. - (build_type_attribute_qual_variant): Ditto. - * builtins.cc (fold_builtin_carg): Ditto. - (fold_builtin_next_arg): Ditto. - (do_mpc_arg2): Ditto. - * cfgexpand.cc (expand_return): Ditto. - * cgraph.h (decl_in_symtab_p): Ditto. - (symtab_node::get_create): Ditto. - * dwarf2out.cc (base_type_die): Ditto. - (implicit_ptr_descriptor): Ditto. - (gen_array_type_die): Ditto. - (gen_type_die_with_usage): Ditto. - (optimize_location_into_implicit_ptr): Ditto. - * expr.cc (do_store_flag): Ditto. - * fold-const.cc (negate_expr_p): Ditto. - (fold_negate_expr_1): Ditto. - (fold_convert_const): Ditto. - (fold_convert_loc): Ditto. - (constant_boolean_node): Ditto. - (fold_binary_op_with_conditional_arg): Ditto. - (build_fold_addr_expr_with_type_loc): Ditto. - (fold_comparison): Ditto. - (fold_checksum_tree): Ditto. - (tree_unary_nonnegative_warnv_p): Ditto. - (integer_valued_real_unary_p): Ditto. - (fold_read_from_constant_string): Ditto. - * gcc-rich-location.cc (maybe_range_label_for_tree_type_mismatch::get_text): Ditto. - * gimple-expr.cc (useless_type_conversion_p): Ditto. - (is_gimple_reg): Ditto. - (is_gimple_asm_val): Ditto. - (mark_addressable): Ditto. - * gimple-expr.h (is_gimple_variable): Ditto. - (virtual_operand_p): Ditto. - * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): Ditto. - * gimplify.cc (gimplify_bind_expr): Ditto. - (gimplify_return_expr): Ditto. - (gimple_add_padding_init_for_auto_var): Ditto. - (gimplify_addr_expr): Ditto. - (omp_add_variable): Ditto. - (omp_notice_variable): Ditto. - (omp_get_base_pointer): Ditto. - (omp_strip_components_and_deref): Ditto. - (omp_strip_indirections): Ditto. - (omp_accumulate_sibling_list): Ditto. - (omp_build_struct_sibling_lists): Ditto. - (gimplify_adjust_omp_clauses_1): Ditto. - (gimplify_adjust_omp_clauses): Ditto. - (gimplify_omp_for): Ditto. - (goa_lhs_expr_p): Ditto. - (gimplify_one_sizepos): Ditto. - * graphite-scop-detection.cc (scop_detection::graphite_can_represent_scev): Ditto. - * ipa-devirt.cc (odr_types_equivalent_p): Ditto. - * ipa-prop.cc (ipa_set_jf_constant): Ditto. - (propagate_controlled_uses): Ditto. - * ipa-sra.cc (type_prevails_p): Ditto. - (scan_expr_access): Ditto. - * optabs-tree.cc (optab_for_tree_code): Ditto. - * toplev.cc (wrapup_global_declaration_1): Ditto. - * trans-mem.cc (transaction_invariant_address_p): Ditto. - * tree-cfg.cc (verify_types_in_gimple_reference): Ditto. - (verify_gimple_comparison): Ditto. - (verify_gimple_assign_binary): Ditto. - (verify_gimple_assign_single): Ditto. - * tree-complex.cc (get_component_ssa_name): Ditto. - * tree-emutls.cc (lower_emutls_2): Ditto. - * tree-inline.cc (copy_tree_body_r): Ditto. - (estimate_move_cost): Ditto. - (copy_decl_for_dup_finish): Ditto. - * tree-nested.cc (convert_nonlocal_omp_clauses): Ditto. - (note_nonlocal_vla_type): Ditto. - (convert_local_omp_clauses): Ditto. - (remap_vla_decls): Ditto. - (fixup_vla_decls): Ditto. - * tree-parloops.cc (loop_has_vector_phi_nodes): Ditto. - * tree-pretty-print.cc (print_declaration): Ditto. - (print_call_name): Ditto. - * tree-sra.cc (compare_access_positions): Ditto. - * tree-ssa-alias.cc (compare_type_sizes): Ditto. - * tree-ssa-ccp.cc (get_default_value): Ditto. - * tree-ssa-coalesce.cc (populate_coalesce_list_for_outofssa): Ditto. - * tree-ssa-dom.cc (reduce_vector_comparison_to_scalar_comparison): Ditto. - * tree-ssa-forwprop.cc (can_propagate_from): Ditto. - * tree-ssa-propagate.cc (may_propagate_copy): Ditto. - * tree-ssa-sccvn.cc (fully_constant_vn_reference_p): Ditto. - * tree-ssa-sink.cc (statement_sink_location): Ditto. - * tree-ssa-structalias.cc (type_must_have_pointers): Ditto. - * tree-ssa-ter.cc (find_replaceable_in_bb): Ditto. - * tree-ssa-uninit.cc (warn_uninit): Ditto. - * tree-ssa.cc (maybe_rewrite_mem_ref_base): Ditto. - (non_rewritable_mem_ref_base): Ditto. - * tree-streamer-in.cc (lto_input_ts_type_non_common_tree_pointers): Ditto. - * tree-streamer-out.cc (write_ts_type_non_common_tree_pointers): Ditto. - * tree-vect-generic.cc (do_binop): Ditto. - (do_cond): Ditto. - * tree-vect-stmts.cc (vect_init_vector): Ditto. - * tree-vector-builder.h (tree_vector_builder::note_representative): Ditto. - * tree.cc (sign_mask_for): Ditto. - (verify_type_variant): Ditto. - (gimple_canonical_types_compatible_p): Ditto. - (verify_type): Ditto. - * ubsan.cc (get_ubsan_type_info_for_type): Ditto. - * var-tracking.cc (prepare_call_arguments): Ditto. - (vt_add_function_parameters): Ditto. - * varasm.cc (decode_addr_const): Ditto. - -2023-05-18 Bernhard Reutner-Fischer - - * omp-low.cc (scan_sharing_clauses): Use _P() defines from tree.h. - (lower_reduction_clauses): Ditto. - (lower_send_clauses): Ditto. - (lower_omp_task_reductions): Ditto. - * omp-oacc-neuter-broadcast.cc (install_var_field): Ditto. - (worker_single_copy): Ditto. - * omp-offload.cc (oacc_rewrite_var_decl): Ditto. - * omp-simd-clone.cc (plausible_type_for_simd_clone): Ditto. - -2023-05-18 Bernhard Reutner-Fischer - - * lto-streamer-in.cc (lto_input_var_decl_ref): Use _P defines from - tree.h. - (lto_read_body_or_constructor): Ditto. - * lto-streamer-out.cc (tree_is_indexable): Ditto. - (lto_output_var_decl_ref): Ditto. - (DFS::DFS_write_tree_body): Ditto. - (wrap_refs): Ditto. - (write_symbol_extension_info): Ditto. - -2023-05-18 Bernhard Reutner-Fischer - - * config/aarch64/aarch64.cc (aarch64_short_vector_p): Use _P - defines from tree.h. - (aarch64_mangle_type): Ditto. - * config/alpha/alpha.cc (alpha_in_small_data_p): Ditto. - (alpha_gimplify_va_arg_1): Ditto. - * config/arc/arc.cc (arc_encode_section_info): Ditto. - (arc_is_aux_reg_p): Ditto. - (arc_is_uncached_mem_p): Ditto. - (arc_handle_aux_attribute): Ditto. - * config/arm/arm.cc (arm_handle_isr_attribute): Ditto. - (arm_handle_cmse_nonsecure_call): Ditto. - (arm_set_default_type_attributes): Ditto. - (arm_is_segment_info_known): Ditto. - (arm_mangle_type): Ditto. - * config/arm/unknown-elf.h (IN_NAMED_SECTION_P): Ditto. - * config/avr/avr.cc (avr_lookup_function_attribute1): Ditto. - (avr_decl_absdata_p): Ditto. - (avr_insert_attributes): Ditto. - (avr_section_type_flags): Ditto. - (avr_encode_section_info): Ditto. - * config/bfin/bfin.cc (bfin_handle_l2_attribute): Ditto. - * config/bpf/bpf.cc (bpf_core_compute): Ditto. - * config/c6x/c6x.cc (c6x_in_small_data_p): Ditto. - * config/csky/csky.cc (csky_handle_isr_attribute): Ditto. - (csky_mangle_type): Ditto. - * config/darwin-c.cc (darwin_pragma_unused): Ditto. - * config/darwin.cc (is_objc_metadata): Ditto. - * config/epiphany/epiphany.cc (epiphany_function_ok_for_sibcall): Ditto. - * config/epiphany/epiphany.h (ROUND_TYPE_ALIGN): Ditto. - * config/frv/frv.cc (frv_emit_movsi): Ditto. - * config/gcn/gcn-tree.cc (gcn_lockless_update): Ditto. - * config/gcn/gcn.cc (gcn_asm_output_symbol_ref): Ditto. - * config/h8300/h8300.cc (h8300_encode_section_info): Ditto. - * config/i386/i386-expand.cc: Ditto. - * config/i386/i386.cc (type_natural_mode): Ditto. - (ix86_function_arg): Ditto. - (ix86_data_alignment): Ditto. - (ix86_local_alignment): Ditto. - (ix86_simd_clone_compute_vecsize_and_simdlen): Ditto. - * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Ditto. - (i386_pe_type_dllexport_p): Ditto. - (i386_pe_adjust_class_at_definition): Ditto. - * config/i386/winnt.cc (i386_pe_determine_dllimport_p): Ditto. - (i386_pe_binds_local_p): Ditto. - (i386_pe_section_type_flags): Ditto. - * config/ia64/ia64.cc (ia64_encode_section_info): Ditto. - (ia64_gimplify_va_arg): Ditto. - (ia64_in_small_data_p): Ditto. - * config/iq2000/iq2000.cc (iq2000_function_arg): Ditto. - * config/lm32/lm32.cc (lm32_in_small_data_p): Ditto. - * config/loongarch/loongarch.cc (loongarch_handle_model_attribute): Ditto. - * config/m32c/m32c.cc (m32c_insert_attributes): Ditto. - * config/mcore/mcore.cc (mcore_mark_dllimport): Ditto. - (mcore_encode_section_info): Ditto. - * config/microblaze/microblaze.cc (microblaze_elf_in_small_data_p): Ditto. - * config/mips/mips.cc (mips_output_aligned_decl_common): Ditto. - * config/mmix/mmix.cc (mmix_encode_section_info): Ditto. - * config/nvptx/nvptx.cc (nvptx_encode_section_info): Ditto. - (pass_in_memory): Ditto. - (nvptx_generate_vector_shuffle): Ditto. - (nvptx_lockless_update): Ditto. - * config/pa/pa.cc (pa_function_arg_padding): Ditto. - (pa_function_value): Ditto. - (pa_function_arg): Ditto. - * config/pa/pa.h (IN_NAMED_SECTION_P): Ditto. - (TEXT_SPACE_P): Ditto. - * config/pa/som.h (MAKE_DECL_ONE_ONLY): Ditto. - * config/pdp11/pdp11.cc (pdp11_return_in_memory): Ditto. - * config/riscv/riscv.cc (riscv_in_small_data_p): Ditto. - (riscv_mangle_type): Ditto. - * config/rl78/rl78.cc (rl78_insert_attributes): Ditto. - (rl78_addsi3_internal): Ditto. - * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Ditto. - * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Ditto. - * config/rs6000/freebsd64.h (ROUND_TYPE_ALIGN): Ditto. - * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Ditto. - * config/rs6000/rs6000-call.cc (rs6000_function_arg_boundary): Ditto. - (rs6000_function_arg_advance_1): Ditto. - (rs6000_function_arg): Ditto. - (rs6000_pass_by_reference): Ditto. - * config/rs6000/rs6000-logue.cc (rs6000_function_ok_for_sibcall): Ditto. - * config/rs6000/rs6000.cc (rs6000_data_alignment): Ditto. - (rs6000_set_default_type_attributes): Ditto. - (rs6000_elf_in_small_data_p): Ditto. - (IN_NAMED_SECTION): Ditto. - (rs6000_xcoff_encode_section_info): Ditto. - (rs6000_function_value): Ditto. - (invalid_arg_for_unprototyped_fn): Ditto. - * config/s390/s390-c.cc (s390_fn_types_compatible): Ditto. - (s390_vec_n_elem): Ditto. - * config/s390/s390.cc (s390_check_type_for_vector_abi): Ditto. - (s390_function_arg_integer): Ditto. - (s390_return_in_memory): Ditto. - (s390_encode_section_info): Ditto. - * config/sh/sh.cc (sh_gimplify_va_arg_expr): Ditto. - (sh_function_value): Ditto. - * config/sol2.cc (solaris_insert_attributes): Ditto. - * config/sparc/sparc.cc (function_arg_slotno): Ditto. - * config/sparc/sparc.h (ROUND_TYPE_ALIGN): Ditto. - * config/stormy16/stormy16.cc (xstormy16_encode_section_info): Ditto. - (xstormy16_handle_below100_attribute): Ditto. - * config/v850/v850.cc (v850_encode_section_info): Ditto. - (v850_insert_attributes): Ditto. - * config/visium/visium.cc (visium_pass_by_reference): Ditto. - (visium_return_in_memory): Ditto. - * config/xtensa/xtensa.cc (xtensa_multibss_section_type_flags): Ditto. - -2023-05-18 Uros Bizjak - - * config/i386/i386-expand.cc (ix86_expand_vecop_qihi_partial): New. - (ix86_expand_vecop_qihi): Add op2vec bool variable. - Do not set REG_EQUAL note. - * config/i386/i386-protos.h (ix86_expand_vecop_qihi_partial): - Add prototype. - * config/i386/i386.cc (ix86_multiplication_cost): Handle - V4QImode and V8QImode. - * config/i386/mmx.md (mulv8qi3): New expander. - (mulv4qi3): Ditto. - * config/i386/sse.md (mulv8qi3): Remove. - -2023-05-18 Georg-Johann Lay - - * config/avr/gen-avr-mmcu-specs.cc: Remove stale */ after // comment. - -2023-05-18 Jonathan Wakely - - PR bootstrap/105831 - * config.gcc: Use = operator instead of ==. - -2023-05-18 Michael Bäuerle - - PR bootstrap/105831 - * config/nvptx/gen-opt.sh: Use = operator instead of ==. - * configure.ac: Likewise. - * configure: Regenerate. - -2023-05-18 Stam Markianos-Wright - - * config/arm/arm_mve.h: (__ARM_mve_typeid): Add more pointer types. - (__ARM_mve_coerce1): Remove. - (__ARM_mve_coerce2): Remove. - (__ARM_mve_coerce3): Remove. - (__ARM_mve_coerce_i_scalar): New. - (__ARM_mve_coerce_s8_ptr): New. - (__ARM_mve_coerce_u8_ptr): New. - (__ARM_mve_coerce_s16_ptr): New. - (__ARM_mve_coerce_u16_ptr): New. - (__ARM_mve_coerce_s32_ptr): New. - (__ARM_mve_coerce_u32_ptr): New. - (__ARM_mve_coerce_s64_ptr): New. - (__ARM_mve_coerce_u64_ptr): New. - (__ARM_mve_coerce_f_scalar): New. - (__ARM_mve_coerce_f16_ptr): New. - (__ARM_mve_coerce_f32_ptr): New. - (__arm_vst4q): Change _coerce_ overloads. - (__arm_vbicq): Change _coerce_ overloads. - (__arm_vld1q): Change _coerce_ overloads. - (__arm_vld1q_z): Change _coerce_ overloads. - (__arm_vld2q): Change _coerce_ overloads. - (__arm_vld4q): Change _coerce_ overloads. - (__arm_vldrhq_gather_offset): Change _coerce_ overloads. - (__arm_vldrhq_gather_offset_z): Change _coerce_ overloads. - (__arm_vldrhq_gather_shifted_offset): Change _coerce_ overloads. - (__arm_vldrhq_gather_shifted_offset_z): Change _coerce_ overloads. - (__arm_vldrwq_gather_offset): Change _coerce_ overloads. - (__arm_vldrwq_gather_offset_z): Change _coerce_ overloads. - (__arm_vldrwq_gather_shifted_offset): Change _coerce_ overloads. - (__arm_vldrwq_gather_shifted_offset_z): Change _coerce_ overloads. - (__arm_vst1q_p): Change _coerce_ overloads. - (__arm_vst2q): Change _coerce_ overloads. - (__arm_vst1q): Change _coerce_ overloads. - (__arm_vstrhq): Change _coerce_ overloads. - (__arm_vstrhq_p): Change _coerce_ overloads. - (__arm_vstrhq_scatter_offset_p): Change _coerce_ overloads. - (__arm_vstrhq_scatter_offset): Change _coerce_ overloads. - (__arm_vstrhq_scatter_shifted_offset_p): Change _coerce_ overloads. - (__arm_vstrhq_scatter_shifted_offset): Change _coerce_ overloads. - (__arm_vstrwq_p): Change _coerce_ overloads. - (__arm_vstrwq): Change _coerce_ overloads. - (__arm_vstrwq_scatter_offset): Change _coerce_ overloads. - (__arm_vstrwq_scatter_offset_p): Change _coerce_ overloads. - (__arm_vstrwq_scatter_shifted_offset): Change _coerce_ overloads. - (__arm_vstrwq_scatter_shifted_offset_p): Change _coerce_ overloads. - (__arm_vsetq_lane): Change _coerce_ overloads. - (__arm_vldrbq_gather_offset): Change _coerce_ overloads. - (__arm_vdwdupq_x_u8): Change _coerce_ overloads. - (__arm_vdwdupq_x_u16): Change _coerce_ overloads. - (__arm_vdwdupq_x_u32): Change _coerce_ overloads. - (__arm_viwdupq_x_u8): Change _coerce_ overloads. - (__arm_viwdupq_x_u16): Change _coerce_ overloads. - (__arm_viwdupq_x_u32): Change _coerce_ overloads. - (__arm_vidupq_x_u8): Change _coerce_ overloads. - (__arm_vddupq_x_u8): Change _coerce_ overloads. - (__arm_vidupq_x_u16): Change _coerce_ overloads. - (__arm_vddupq_x_u16): Change _coerce_ overloads. - (__arm_vidupq_x_u32): Change _coerce_ overloads. - (__arm_vddupq_x_u32): Change _coerce_ overloads. - (__arm_vldrdq_gather_offset): Change _coerce_ overloads. - (__arm_vldrdq_gather_offset_z): Change _coerce_ overloads. - (__arm_vldrdq_gather_shifted_offset): Change _coerce_ overloads. - (__arm_vldrdq_gather_shifted_offset_z): Change _coerce_ overloads. - (__arm_vldrbq_gather_offset_z): Change _coerce_ overloads. - (__arm_vidupq_u16): Change _coerce_ overloads. - (__arm_vidupq_u32): Change _coerce_ overloads. - (__arm_vidupq_u8): Change _coerce_ overloads. - (__arm_vddupq_u16): Change _coerce_ overloads. - (__arm_vddupq_u32): Change _coerce_ overloads. - (__arm_vddupq_u8): Change _coerce_ overloads. - (__arm_viwdupq_m): Change _coerce_ overloads. - (__arm_viwdupq_u16): Change _coerce_ overloads. - (__arm_viwdupq_u32): Change _coerce_ overloads. - (__arm_viwdupq_u8): Change _coerce_ overloads. - (__arm_vdwdupq_m): Change _coerce_ overloads. - (__arm_vdwdupq_u16): Change _coerce_ overloads. - (__arm_vdwdupq_u32): Change _coerce_ overloads. - (__arm_vdwdupq_u8): Change _coerce_ overloads. - (__arm_vstrbq): Change _coerce_ overloads. - (__arm_vstrbq_p): Change _coerce_ overloads. - (__arm_vstrbq_scatter_offset_p): Change _coerce_ overloads. - (__arm_vstrdq_scatter_offset_p): Change _coerce_ overloads. - (__arm_vstrdq_scatter_offset): Change _coerce_ overloads. - (__arm_vstrdq_scatter_shifted_offset_p): Change _coerce_ overloads. - (__arm_vstrdq_scatter_shifted_offset): Change _coerce_ overloads. - -2023-05-18 Stam Markianos-Wright - - * config/arm/arm_mve.h (__arm_vbicq): Change coerce on - scalar constant. - -2023-05-18 Stam Markianos-Wright - - * config/arm/arm_mve.h (__arm_vadcq_s32): Fix arithmetic. - (__arm_vadcq_u32): Likewise. - (__arm_vadcq_m_s32): Likewise. - (__arm_vadcq_m_u32): Likewise. - (__arm_vsbcq_s32): Likewise. - (__arm_vsbcq_u32): Likewise. - (__arm_vsbcq_m_s32): Likewise. - (__arm_vsbcq_m_u32): Likewise. - * config/arm/mve.md (get_fpscr_nzcvqc): Make unspec_volatile. - -2023-05-18 Andrea Corallo - - * config/arm/mve.md (mve_vrndq_m_f, mve_vrev64q_f) - (mve_vrev32q_fv8hf, mve_vcvttq_f32_f16v4sf) - (mve_vcvtbq_f32_f16v4sf, mve_vcvtq_to_f_) - (mve_vrev64q_, mve_vcvtq_from_f_) - (mve_vmovltq_, mve_vmovlbq_) - (mve_vcvtpq_, mve_vcvtnq_) - (mve_vcvtmq_, mve_vcvtaq_) - (mve_vmvnq_n_, mve_vrev16q_v16qi) - (mve_vctpq, mve_vbrsrq_n_f) - (mve_vbrsrq_n_, mve_vandq_f, mve_vbicq_f) - (mve_vctpq_m, mve_vcvtbq_f16_f32v8hf) - (mve_vcvttq_f16_f32v8hf, mve_veorq_f) - (mve_vmlaldavxq_s, mve_vmlsldavq_s) - (mve_vmlsldavxq_s, mve_vornq_f, mve_vorrq_f) - (mve_vrmlaldavhxq_sv4si, mve_vcvtq_m_to_f_) - (mve_vshlcq_, mve_vmvnq_m_) - (mve_vpselq_, mve_vcvtbq_m_f16_f32v8hf) - (mve_vcvtbq_m_f32_f16v4sf, mve_vcvttq_m_f16_f32v8hf) - (mve_vcvttq_m_f32_f16v4sf, mve_vmlaldavq_p_) - (mve_vmlsldavaq_s, mve_vmlsldavaxq_s) - (mve_vmlsldavq_p_s, mve_vmlsldavxq_p_s) - (mve_vmvnq_m_n_, mve_vorrq_m_n_) - (mve_vpselq_f, mve_vrev32q_m_fv8hf) - (mve_vrev32q_m_, mve_vrev64q_m_f) - (mve_vrmlaldavhaxq_sv4si, mve_vrmlaldavhxq_p_sv4si) - (mve_vrmlsldavhaxq_sv4si, mve_vrmlsldavhq_p_sv4si) - (mve_vrmlsldavhxq_p_sv4si, mve_vrev16q_m_v16qi) - (mve_vrmlaldavhq_p_v4si, mve_vrmlsldavhaq_sv4si) - (mve_vandq_m_, mve_vbicq_m_) - (mve_veorq_m_, mve_vornq_m_) - (mve_vorrq_m_, mve_vandq_m_f) - (mve_vbicq_m_f, mve_veorq_m_f, mve_vornq_m_f) - (mve_vorrq_m_f) - (mve_vstrdq_scatter_shifted_offset_p_v2di_insn) - (mve_vstrdq_scatter_shifted_offset_v2di_insn) - (mve_vstrdq_scatter_base_wb_p_v2di) : Fix spacing and - capitalization in the emitted asm. - -2023-05-18 Andrea Corallo - - * config/arm/constraints.md (mve_vldrd_immediate): Move it to - predicates.md. - (Ri): Move constraint definition from predicates.md. - (Rl): Define new constraint. - * config/arm/mve.md (mve_vstrwq_scatter_base_wb_p_v4si): Add - missing constraint. - (mve_vstrwq_scatter_base_wb_p_fv4sf): Add missing Up constraint - for op 1, use mve_vstrw_immediate predicate and Rl constraint for - op 2. Fix asm output spacing. - (mve_vstrdq_scatter_base_wb_p_v2di): Add missing constraint. - * config/arm/predicates.md (Ri) Move constraint to constraints.md - (mve_vldrd_immediate): Move it from - constraints.md. - (mve_vstrw_immediate): New predicate. - -2023-05-18 Pan Li - Ju-Zhe Zhong - Kito Cheng - Richard Biener - Richard Sandiford - - * combine.cc (struct reg_stat_type): Extend machine_mode to 16 bits. - * cse.cc (struct qty_table_elem): Extend machine_mode to 16 bits - (struct table_elt): Extend machine_mode to 16 bits. - (struct set): Ditto. - * genmodes.cc (emit_mode_wider): Extend type from char to short. - (emit_mode_complex): Ditto. - (emit_mode_inner): Ditto. - (emit_class_narrowest_mode): Ditto. - * genopinit.cc (main): Extend the machine_mode limit. - * ira-int.h (struct ira_allocno): Extend machine_mode to 16 bits and - re-ordered the struct fields for padding. - * machmode.h (MACHINE_MODE_BITSIZE): New macro. - (GET_MODE_2XWIDER_MODE): Extend type from char to short. - (get_mode_alignment): Extend type from char to short. - * ree.cc (struct ext_modified): Extend machine_mode to 16 bits and - removed the ATTRIBUTE_PACKED. - * rtl-ssa/accesses.h: Extend machine_mode to 16 bits, narrow - * rtl-ssa/internals.inl (rtl_ssa::access_info): Adjust the assignment. - m_kind to 2 bits and remove m_spare. - * rtl.h (RTX_CODE_BITSIZE): New macro. - (struct rtx_def): Swap both the bit size and location between the - rtx_code and the machine_mode. - (subreg_shape::unique_id): Extend the machine_mode limit. - * rtlanal.h: Extend machine_mode to 16 bits. - * tree-core.h (struct tree_type_common): Extend machine_mode to 16 - bits and re-ordered the struct fields for padding. - (struct tree_decl_common): Extend machine_mode to 16 bits. - -2023-05-17 Jin Ma - - * genrecog.cc (print_nonbool_test): Fix type error of - switch (SUBREG_BYTE (op))'. - -2023-05-17 Jin Ma - - * common/config/riscv/riscv-common.cc: Remove - trailing spaces on lines. - * config/riscv/riscv.cc (riscv_legitimize_move): Likewise. - * config/riscv/riscv.h (enum reg_class): Likewise. - * config/riscv/riscv.md: Likewise. - -2023-05-17 John David Anglin - - * config/pa/pa.md (clear_cache): New. - -2023-05-17 Arsen Arsenović - - * doc/extend.texi (C++ Concepts) : Remove extraneous - parenthesis. Fix misnamed index entry. - : Fix misnamed index entry. - -2023-05-17 Jivan Hakobyan - - * config/riscv/riscv.md (*3_mask): New pattern, - combined from ... - (*si3_mask, *di3_mask): Here. - (*si3_mask_1, *di3_mask_1): And here. - * config/riscv/bitmanip.md (*3_mask): New - pattern. - (*si3_sext_mask): Likewise. - * config/riscv/iterators.md (shiftm1): Use const_si_mask_operand - and const_di_mask_operand. - (bitmanip_rotate): New iterator. - (bitmanip_optab): Add rotates. - * config/riscv/predicates.md (const_si_mask_operand): Renamed - from const31_operand. Generalize to handle more mask constants. - (const_di_mask_operand): Similarly. - -2023-05-17 Jakub Jelinek - - PR c++/109884 - * config/i386/i386-builtin-types.def (FLOAT128): Use - float128t_type_node rather than float128_type_node. - -2023-05-17 Alexander Monakov - - * tree-ssa-math-opts.cc (convert_mult_to_fma): Enable only for - FP_CONTRACT_FAST (no functional change). - -2023-05-17 Uros Bizjak - - * config/i386/i386.cc (ix86_multiplication_cost): Correct - calcuation of integer vector mode costs to reflect generated - instruction sequences of different integer vector modes and - different target ABIs. - -2023-05-17 Juzhe-Zhong - - * config/riscv/riscv-opts.h (enum riscv_entity): New enum. - * config/riscv/riscv.cc (riscv_emit_mode_set): New function. - (riscv_mode_needed): Ditto. - (riscv_mode_after): Ditto. - (riscv_mode_entry): Ditto. - (riscv_mode_exit): Ditto. - (riscv_mode_priority): Ditto. - (TARGET_MODE_EMIT): New target hook. - (TARGET_MODE_NEEDED): Ditto. - (TARGET_MODE_AFTER): Ditto. - (TARGET_MODE_ENTRY): Ditto. - (TARGET_MODE_EXIT): Ditto. - (TARGET_MODE_PRIORITY): Ditto. - * config/riscv/riscv.h (OPTIMIZE_MODE_SWITCHING): Ditto. - (NUM_MODES_FOR_MODE_SWITCHING): Ditto. - * config/riscv/riscv.md: Add csrwvxrm. - * config/riscv/vector.md (rnu,rne,rdn,rod,none): New attribute. - (vxrmsi): New pattern. - -2023-05-17 Juzhe-Zhong - - * config/riscv/riscv-vector-builtins-bases.cc: Introduce rounding mode. - * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Ditto. - (struct narrow_alu_def): Ditto. - * config/riscv/riscv-vector-builtins.cc (function_builder::apply_predication): Ditto. - (function_expander::use_exact_insn): Ditto. - * config/riscv/riscv-vector-builtins.h (function_checker::arg_num): New function. - (function_base::has_rounding_mode_operand_p): New function. - -2023-05-17 Andrew Pinski - - * tree-ssa-forwprop.cc (simplify_builtin_call): Check - against 0 instead of calling integer_zerop. - -2023-05-17 Juzhe-Zhong - - * config/riscv/riscv-vector-builtins.cc (register_vxrm): New function. - (DEF_RVV_VXRM_ENUM): New macro. - (handle_pragma_vector): Add vxrm enum register. - * config/riscv/riscv-vector-builtins.def (DEF_RVV_VXRM_ENUM): New macro. - (RNU): Ditto. - (RNE): Ditto. - (RDN): Ditto. - (ROD): Ditto. - -2023-05-17 Aldy Hernandez - - * value-range.h (Value_Range::operator=): New. - -2023-05-17 Aldy Hernandez - - * value-range.cc (vrange::operator=): Add a stub to copy - unsupported ranges. - * value-range.h (is_a ): New. - (Value_Range::operator=): Support copying unsupported ranges. - -2023-05-17 Aldy Hernandez - - * data-streamer-in.cc (streamer_read_real_value): New. - (streamer_read_value_range): New. - * data-streamer-out.cc (streamer_write_real_value): New. - (streamer_write_vrange): New. - * data-streamer.h (streamer_write_vrange): New. - (streamer_read_value_range): New. - -2023-05-17 Jonathan Wakely - - PR c++/109532 - * doc/invoke.texi (Code Gen Options): Note that -fshort-enums - is ignored for a fixed underlying type. - (C++ Dialect Options): Likewise for -fstrict-enums. - -2023-05-17 Tobias Burnus - - * gimplify.cc (gimplify_scan_omp_clauses): Remove Fortran - special case. - -2023-05-17 Stefan Schulze Frielinghaus - - * config/s390/s390.cc (TARGET_ATOMIC_ALIGN_FOR_MODE): - New. - (s390_atomic_align_for_mode): New. - -2023-05-17 Jakub Jelinek - - * wide-int.cc (wi::from_array): Add missing closing paren in function - comment. - -2023-05-17 Kewen Lin - - * tree-vect-loop.cc (vect_analyze_loop_1): Don't retry analysis with - suggested unroll factor once the previous analysis fails. - -2023-05-17 Pan Li - - * config/riscv/genrvv-type-indexer.cc (BOOL_SIZE_LIST): New - macro. - (main): Add bool1 to the type indexer. - * config/riscv/riscv-vector-builtins-functions.def - (vreinterpret): Register vbool1 interpret function. - * config/riscv/riscv-vector-builtins-types.def - (DEF_RVV_BOOL1_INTERPRET_OPS): New macro. - (vint8m1_t): Add the type to bool1_interpret_ops. - (vint16m1_t): Ditto. - (vint32m1_t): Ditto. - (vint64m1_t): Ditto. - (vuint8m1_t): Ditto. - (vuint16m1_t): Ditto. - (vuint32m1_t): Ditto. - (vuint64m1_t): Ditto. - * config/riscv/riscv-vector-builtins.cc - (DEF_RVV_BOOL1_INTERPRET_OPS): New macro. - (required_extensions_p): Add bool1 interpret case. - * config/riscv/riscv-vector-builtins.def - (bool1_interpret): Add bool1 interpret to base type. - * config/riscv/vector.md (@vreinterpret): Add new expand - with VB dest for vreinterpret. - -2023-05-17 Jiufu Guo - - PR target/106708 - * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Support building - constants through "lis; xoris". - -2023-05-16 Ajit Kumar Agarwal - - * common/config/rs6000/rs6000-common.cc: Add REE pass as a - default rs6000 target pass for O2 and above. - * doc/invoke.texi: Document -free - -2023-05-16 Kito Cheng - - * common/config/riscv/riscv-common.cc (riscv_compute_multilib): - Fix wrong select_kind... - -2023-05-16 Stefan Schulze Frielinghaus - - * config/s390/s390-protos.h (s390_expand_setmem): Change - function signature. - * config/s390/s390.cc (s390_expand_setmem): For memset's less - than or equal to 256 byte do not perform a libc call. - * config/s390/s390.md: Change expander into a version which - takes 8 operands. - -2023-05-16 Stefan Schulze Frielinghaus - - * config/s390/s390-protos.h (s390_expand_movmem): New. - * config/s390/s390.cc (s390_expand_movmem): New. - * config/s390/s390.md (movmem): New. - (*mvcrl): New. - (mvcrl): New. - -2023-05-16 Stefan Schulze Frielinghaus - - * config/s390/s390-protos.h (s390_expand_cpymem): Change - function signature. - * config/s390/s390.cc (s390_expand_cpymem): For memcpy's less - than or equal to 256 byte do not perform a libc call. - (s390_expand_insv): Adapt new function signature of - s390_expand_cpymem. - * config/s390/s390.md: Change expander into a version which - takes 8 operands. - -2023-05-16 Andrew Pinski - - PR tree-optimization/109424 - * match.pd: Add patterns for min/max of zero_one_valued - values to `&`/`|`. - -2023-05-16 Juzhe-Zhong - - * config/riscv/riscv-protos.h (enum frm_field_enum): New enum. - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_ternop_insn): Add default rounding mode. - (function_expander::use_widen_ternop_insn): Ditto. - * config/riscv/riscv.cc (riscv_hard_regno_nregs): Add FRM REGNUM. - (riscv_hard_regno_mode_ok): Ditto. - (riscv_conditional_register_usage): Ditto. - * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Ditto. - (FRM_REG_P): Ditto. - (RISCV_DWARF_FRM): Ditto. - * config/riscv/riscv.md: Ditto. - * config/riscv/vector-iterators.md: split no frm and has frm operations. - * config/riscv/vector.md (@pred__scalar): New pattern. - (@pred_): Ditto. - -2023-05-15 Aldy Hernandez - - PR tree-optimization/109695 - * value-range.cc (irange::operator=): Resize range. - (irange::union_): Same. - (irange::intersect): Same. - (irange::invert): Same. - (int_range_max): Default to 3 sub-ranges and resize as needed. - * value-range.h (irange::maybe_resize): New. - (~int_range): New. - (int_range::int_range): Adjust for resizing. - (int_range::operator=): Same. - -2023-05-15 Aldy Hernandez - - * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Avoid unnecessary - range copying - * value-range.cc (irange::union_nonzero_bits): Return TRUE only - when range changed. - -2023-05-15 Juzhe-Zhong - - * config/riscv/riscv-protos.h (enum vxrm_field_enum): New enum. - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_exact_insn): Add default rounding mode operand. - * config/riscv/riscv.cc (riscv_hard_regno_nregs): Add VXRM_REGNUM. - (riscv_hard_regno_mode_ok): Ditto. - (riscv_conditional_register_usage): Ditto. - * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Ditto. - (VXRM_REG_P): Ditto. - (RISCV_DWARF_VXRM): Ditto. - * config/riscv/riscv.md: Ditto. - * config/riscv/vector.md: Ditto - -2023-05-15 Pan Li - - * optabs.cc (maybe_gen_insn): Add case to generate instruction - that has 11 operands. - -2023-05-15 Kyrylo Tkachov - - * config/aarch64/aarch64.cc (aarch64_rtx_costs, NEG case): Add costing - logic for vector modes. - -2023-05-15 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_cm): Rename to... - (aarch64_cm): ... This. - (aarch64_cmtst): Rename to... - (aarch64_cmtst): ... This. - (*aarch64_cmtst_same_): Rename to... - (*aarch64_cmtst_same_): ... This. - (*aarch64_cmtstdi): Rename to... - (*aarch64_cmtstdi): ... This. - (aarch64_fac): Rename to... - (aarch64_fac): ... This. - -2023-05-15 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_s): Rename to... - (aarch64_s): ... This. - -2023-05-15 Pan Li - Juzhe-Zhong - kito-cheng - - * config/riscv/riscv-v.cc (const_vlmax_p): New function for - deciding the mode is constant or not. - (set_len_and_policy): Optimize VLS-VLMAX code gen to vsetivli. - -2023-05-15 Richard Biener - - PR tree-optimization/109848 - * tree-ssa-forwprop.cc (pass_forwprop::execute): Put the - TARGET_MEM_REF address preparation before the store, not - before the CTOR. - -2023-05-15 Juzhe-Zhong - - * config/riscv/riscv.cc - (riscv_vectorize_preferred_vector_alignment): New function. - (TARGET_VECTORIZE_PREFERRED_VECTOR_ALIGNMENT): New target hook. - -2023-05-14 Andrew Pinski - - PR tree-optimization/109829 - * match.pd: Add pattern for `signbit(x) !=/== 0 ? x : -x`. - -2023-05-14 Uros Bizjak - - PR target/109807 - * config/i386/i386.cc: Revert the 2023-05-11 change. - (ix86_widen_mult_cost): Return high value instead of - ICEing for unsupported modes. - -2023-05-14 Ard Biesheuvel - - * config/i386/i386.cc (x86_function_profiler): Take - ix86_direct_extern_access into account when generating calls - to __fentry__() - -2023-05-14 Pan Li - - * config/riscv/riscv-vector-builtins.cc (required_extensions_p): - Refactor the or pattern to switch cases. - -2023-05-13 Prathamesh Kulkarni - - * config/aarch64/aarch64.cc (aarch64_expand_vector_init_fallback): Rename - aarch64_expand_vector_init to this, and remove interleaving case. - Recursively call aarch64_expand_vector_init_fallback, instead of - aarch64_expand_vector_init. - (aarch64_unzip_vector_init): New function. - (aarch64_expand_vector_init): Likewise. - -2023-05-13 Kito Cheng - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::cleanup_insns): - Pull out function call from the gcc_assert. - -2023-05-13 Kito Cheng - - * config/riscv/riscv-vsetvl.cc (vlmul_to_str): New. - (policy_to_str): New. - (vector_insn_info::dump): Use vlmul_to_str and policy_to_str. - -2023-05-13 Andrew Pinski - - PR tree-optimization/109834 - * match.pd (popcount(bswap(x))->popcount(x)): Fix up unsigned type checking. - (popcount(rotate(x,y))->popcount(x)): Likewise. - -2023-05-12 Uros Bizjak - - * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): Also - reject ymm instructions for TARGET_PREFER_AVX128. Use generic - gen_extend_insn to generate zero/sign extension instructions. - Fix comments. - (ix86_expand_vecop_qihi): Initialize interleave functions - for MULT code only. Fix comments. - -2023-05-12 Uros Bizjak - - PR target/109797 - * config/i386/mmx.md (mulv2si3): Remove expander. - (mulv2si3): Rename insn pattern from *mulv2si. - -2023-05-12 Tobias Burnus - - PR libstdc++/109816 - * lto-cgraph.cc (output_symtab): Guard lto_output_toplevel_asms by - '!lto_stream_offload_p'. - -2023-05-12 Kito Cheng - Juzhe-Zhong - - PR target/109743 - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::get_vsetvl_at_end): New. - (local_avl_compatible_p): New. - (pass_vsetvl::local_eliminate_vsetvl_insn): Enhance local optimizations - for LCM, rewrite as a backward algorithm. - (pass_vsetvl::cleanup_insns): Use new local_eliminate_vsetvl_insn - interface, handle a BB at once. - -2023-05-12 Richard Biener - - PR tree-optimization/64731 - * tree-ssa-forwprop.cc (pass_forwprop::execute): Also - handle TARGET_MEM_REF destinations of stores from vector - CTORs. - -2023-05-12 Richard Biener - - PR tree-optimization/109791 - * match.pd (minus (convert ADDR_EXPR@0) (convert (pointer_plus @1 @2))): - New pattern. - (minus (convert (pointer_plus @1 @2)) (convert ADDR_EXPR@0)): - Likewise. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vsriq): New. - * config/arm/arm-mve-builtins-base.def (vsriq): New. - * config/arm/arm-mve-builtins-base.h (vsriq): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vsriq. - * config/arm/arm_mve.h (vsriq): Remove. - (vsriq_m): Remove. - (vsriq_n_u8): Remove. - (vsriq_n_s8): Remove. - (vsriq_n_u16): Remove. - (vsriq_n_s16): Remove. - (vsriq_n_u32): Remove. - (vsriq_n_s32): Remove. - (vsriq_m_n_s8): Remove. - (vsriq_m_n_u8): Remove. - (vsriq_m_n_s16): Remove. - (vsriq_m_n_u16): Remove. - (vsriq_m_n_s32): Remove. - (vsriq_m_n_u32): Remove. - (__arm_vsriq_n_u8): Remove. - (__arm_vsriq_n_s8): Remove. - (__arm_vsriq_n_u16): Remove. - (__arm_vsriq_n_s16): Remove. - (__arm_vsriq_n_u32): Remove. - (__arm_vsriq_n_s32): Remove. - (__arm_vsriq_m_n_s8): Remove. - (__arm_vsriq_m_n_u8): Remove. - (__arm_vsriq_m_n_s16): Remove. - (__arm_vsriq_m_n_u16): Remove. - (__arm_vsriq_m_n_s32): Remove. - (__arm_vsriq_m_n_u32): Remove. - (__arm_vsriq): Remove. - (__arm_vsriq_m): Remove. - -2023-05-12 Christophe Lyon - - * config/arm/iterators.md (mve_insn): Add vsri. - * config/arm/mve.md (mve_vsriq_n_): Rename into ... - (@mve_q_n_): .,. this. - (mve_vsriq_m_n_): Rename into ... - (@mve_q_m_n_): ... this. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (ternary_rshift): New. - * config/arm/arm-mve-builtins-shapes.h (ternary_rshift): New. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vsliq): New. - * config/arm/arm-mve-builtins-base.def (vsliq): New. - * config/arm/arm-mve-builtins-base.h (vsliq): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vsliq. - * config/arm/arm_mve.h (vsliq): Remove. - (vsliq_m): Remove. - (vsliq_n_u8): Remove. - (vsliq_n_s8): Remove. - (vsliq_n_u16): Remove. - (vsliq_n_s16): Remove. - (vsliq_n_u32): Remove. - (vsliq_n_s32): Remove. - (vsliq_m_n_s8): Remove. - (vsliq_m_n_s32): Remove. - (vsliq_m_n_s16): Remove. - (vsliq_m_n_u8): Remove. - (vsliq_m_n_u32): Remove. - (vsliq_m_n_u16): Remove. - (__arm_vsliq_n_u8): Remove. - (__arm_vsliq_n_s8): Remove. - (__arm_vsliq_n_u16): Remove. - (__arm_vsliq_n_s16): Remove. - (__arm_vsliq_n_u32): Remove. - (__arm_vsliq_n_s32): Remove. - (__arm_vsliq_m_n_s8): Remove. - (__arm_vsliq_m_n_s32): Remove. - (__arm_vsliq_m_n_s16): Remove. - (__arm_vsliq_m_n_u8): Remove. - (__arm_vsliq_m_n_u32): Remove. - (__arm_vsliq_m_n_u16): Remove. - (__arm_vsliq): Remove. - (__arm_vsliq_m): Remove. - -2023-05-12 Christophe Lyon - - * config/arm/iterators.md (mve_insn>): Add vsli. - * config/arm/mve.md (mve_vsliq_n_): Rename into ... - (@mve_q_n_): ... this. - (mve_vsliq_m_n_): Rename into ... - (@mve_q_m_n_): ... this. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (ternary_lshift): New. - * config/arm/arm-mve-builtins-shapes.h (ternary_lshift): New. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vpselq): New. - * config/arm/arm-mve-builtins-base.def (vpselq): New. - * config/arm/arm-mve-builtins-base.h (vpselq): New. - * config/arm/arm_mve.h (vpselq): Remove. - (vpselq_u8): Remove. - (vpselq_s8): Remove. - (vpselq_u16): Remove. - (vpselq_s16): Remove. - (vpselq_u32): Remove. - (vpselq_s32): Remove. - (vpselq_u64): Remove. - (vpselq_s64): Remove. - (vpselq_f16): Remove. - (vpselq_f32): Remove. - (__arm_vpselq_u8): Remove. - (__arm_vpselq_s8): Remove. - (__arm_vpselq_u16): Remove. - (__arm_vpselq_s16): Remove. - (__arm_vpselq_u32): Remove. - (__arm_vpselq_s32): Remove. - (__arm_vpselq_u64): Remove. - (__arm_vpselq_s64): Remove. - (__arm_vpselq_f16): Remove. - (__arm_vpselq_f32): Remove. - (__arm_vpselq): Remove. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (vpsel): New. - * config/arm/arm-mve-builtins-shapes.h (vpsel): New. - -2023-05-12 Christophe Lyon - - * config/arm/arm.cc (arm_expand_vcond): Use gen_mve_q instead of - gen_mve_vpselq. - * config/arm/iterators.md (MVE_VPSELQ_F): New. - (mve_insn): Add vpsel. - * config/arm/mve.md (@mve_vpselq_): Rename into ... - (@mve_q_): ... this. - (@mve_vpselq_f): Rename into ... - (@mve_q_f): ... this. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vfmaq, vfmasq, vfmsq): New. - * config/arm/arm-mve-builtins-base.def (vfmaq, vfmasq, vfmsq): New. - * config/arm/arm-mve-builtins-base.h (vfmaq, vfmasq, vfmsq): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vfmaq, vfmasq, - vfmsq. - * config/arm/arm_mve.h (vfmaq): Remove. - (vfmasq): Remove. - (vfmsq): Remove. - (vfmaq_m): Remove. - (vfmasq_m): Remove. - (vfmsq_m): Remove. - (vfmaq_f16): Remove. - (vfmaq_n_f16): Remove. - (vfmasq_n_f16): Remove. - (vfmsq_f16): Remove. - (vfmaq_f32): Remove. - (vfmaq_n_f32): Remove. - (vfmasq_n_f32): Remove. - (vfmsq_f32): Remove. - (vfmaq_m_f32): Remove. - (vfmaq_m_f16): Remove. - (vfmaq_m_n_f32): Remove. - (vfmaq_m_n_f16): Remove. - (vfmasq_m_n_f32): Remove. - (vfmasq_m_n_f16): Remove. - (vfmsq_m_f32): Remove. - (vfmsq_m_f16): Remove. - (__arm_vfmaq_f16): Remove. - (__arm_vfmaq_n_f16): Remove. - (__arm_vfmasq_n_f16): Remove. - (__arm_vfmsq_f16): Remove. - (__arm_vfmaq_f32): Remove. - (__arm_vfmaq_n_f32): Remove. - (__arm_vfmasq_n_f32): Remove. - (__arm_vfmsq_f32): Remove. - (__arm_vfmaq_m_f32): Remove. - (__arm_vfmaq_m_f16): Remove. - (__arm_vfmaq_m_n_f32): Remove. - (__arm_vfmaq_m_n_f16): Remove. - (__arm_vfmasq_m_n_f32): Remove. - (__arm_vfmasq_m_n_f16): Remove. - (__arm_vfmsq_m_f32): Remove. - (__arm_vfmsq_m_f16): Remove. - (__arm_vfmaq): Remove. - (__arm_vfmasq): Remove. - (__arm_vfmsq): Remove. - (__arm_vfmaq_m): Remove. - (__arm_vfmasq_m): Remove. - (__arm_vfmsq_m): Remove. - -2023-05-12 Christophe Lyon - - * config/arm/iterators.md (MVE_FP_M_BINARY): Add VFMAQ_M_F, - VFMSQ_M_F. - (MVE_FP_M_N_BINARY): Add VFMAQ_M_N_F, VFMASQ_M_N_F. - (MVE_VFMxQ_F, MVE_VFMAxQ_N_F): New. - (mve_insn): Add vfma, vfmas, vfms. - * config/arm/mve.md (mve_vfmaq_f, mve_vfmsq_f): Merge - into ... - (@mve_q_f): ... this. - (mve_vfmaq_n_f, mve_vfmasq_n_f): Merge into ... - (@mve_q_n_f): ... this. - (mve_vfmaq_m_f, mve_vfmsq_m_f): Merge into - @mve_q_m_f. - (mve_vfmaq_m_n_f, mve_vfmasq_m_n_f): Merge into - @mve_q_m_n_f. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (ternary_opt_n): New. - * config/arm/arm-mve-builtins-shapes.h (ternary_opt_n): New. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc - (FUNCTION_WITH_RTX_M_N_NO_F): New. - (vmvnq): New. - * config/arm/arm-mve-builtins-base.def (vmvnq): New. - * config/arm/arm-mve-builtins-base.h (vmvnq): New. - * config/arm/arm_mve.h (vmvnq): Remove. - (vmvnq_m): Remove. - (vmvnq_x): Remove. - (vmvnq_s8): Remove. - (vmvnq_s16): Remove. - (vmvnq_s32): Remove. - (vmvnq_n_s16): Remove. - (vmvnq_n_s32): Remove. - (vmvnq_u8): Remove. - (vmvnq_u16): Remove. - (vmvnq_u32): Remove. - (vmvnq_n_u16): Remove. - (vmvnq_n_u32): Remove. - (vmvnq_m_u8): Remove. - (vmvnq_m_s8): Remove. - (vmvnq_m_u16): Remove. - (vmvnq_m_s16): Remove. - (vmvnq_m_u32): Remove. - (vmvnq_m_s32): Remove. - (vmvnq_m_n_s16): Remove. - (vmvnq_m_n_u16): Remove. - (vmvnq_m_n_s32): Remove. - (vmvnq_m_n_u32): Remove. - (vmvnq_x_s8): Remove. - (vmvnq_x_s16): Remove. - (vmvnq_x_s32): Remove. - (vmvnq_x_u8): Remove. - (vmvnq_x_u16): Remove. - (vmvnq_x_u32): Remove. - (vmvnq_x_n_s16): Remove. - (vmvnq_x_n_s32): Remove. - (vmvnq_x_n_u16): Remove. - (vmvnq_x_n_u32): Remove. - (__arm_vmvnq_s8): Remove. - (__arm_vmvnq_s16): Remove. - (__arm_vmvnq_s32): Remove. - (__arm_vmvnq_n_s16): Remove. - (__arm_vmvnq_n_s32): Remove. - (__arm_vmvnq_u8): Remove. - (__arm_vmvnq_u16): Remove. - (__arm_vmvnq_u32): Remove. - (__arm_vmvnq_n_u16): Remove. - (__arm_vmvnq_n_u32): Remove. - (__arm_vmvnq_m_u8): Remove. - (__arm_vmvnq_m_s8): Remove. - (__arm_vmvnq_m_u16): Remove. - (__arm_vmvnq_m_s16): Remove. - (__arm_vmvnq_m_u32): Remove. - (__arm_vmvnq_m_s32): Remove. - (__arm_vmvnq_m_n_s16): Remove. - (__arm_vmvnq_m_n_u16): Remove. - (__arm_vmvnq_m_n_s32): Remove. - (__arm_vmvnq_m_n_u32): Remove. - (__arm_vmvnq_x_s8): Remove. - (__arm_vmvnq_x_s16): Remove. - (__arm_vmvnq_x_s32): Remove. - (__arm_vmvnq_x_u8): Remove. - (__arm_vmvnq_x_u16): Remove. - (__arm_vmvnq_x_u32): Remove. - (__arm_vmvnq_x_n_s16): Remove. - (__arm_vmvnq_x_n_s32): Remove. - (__arm_vmvnq_x_n_u16): Remove. - (__arm_vmvnq_x_n_u32): Remove. - (__arm_vmvnq): Remove. - (__arm_vmvnq_m): Remove. - (__arm_vmvnq_x): Remove. - -2023-05-12 Christophe Lyon - - * config/arm/iterators.md (mve_insn): Add vmvn. - * config/arm/mve.md (mve_vmvnq_n_): Rename into ... - (@mve_q_n_): ... this. - (mve_vmvnq_m_): Rename into ... - (@mve_q_m_): ... this. - (mve_vmvnq_m_n_): Rename into ... - (@mve_q_m_n_): ... this. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (mvn): New. - * config/arm/arm-mve-builtins-shapes.h (mvn): New. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vbrsrq): New. - * config/arm/arm-mve-builtins-base.def (vbrsrq): New. - * config/arm/arm-mve-builtins-base.h (vbrsrq): New. - * config/arm/arm_mve.h (vbrsrq): Remove. - (vbrsrq_m): Remove. - (vbrsrq_x): Remove. - (vbrsrq_n_f16): Remove. - (vbrsrq_n_f32): Remove. - (vbrsrq_n_u8): Remove. - (vbrsrq_n_s8): Remove. - (vbrsrq_n_u16): Remove. - (vbrsrq_n_s16): Remove. - (vbrsrq_n_u32): Remove. - (vbrsrq_n_s32): Remove. - (vbrsrq_m_n_s8): Remove. - (vbrsrq_m_n_s32): Remove. - (vbrsrq_m_n_s16): Remove. - (vbrsrq_m_n_u8): Remove. - (vbrsrq_m_n_u32): Remove. - (vbrsrq_m_n_u16): Remove. - (vbrsrq_m_n_f32): Remove. - (vbrsrq_m_n_f16): Remove. - (vbrsrq_x_n_s8): Remove. - (vbrsrq_x_n_s16): Remove. - (vbrsrq_x_n_s32): Remove. - (vbrsrq_x_n_u8): Remove. - (vbrsrq_x_n_u16): Remove. - (vbrsrq_x_n_u32): Remove. - (vbrsrq_x_n_f16): Remove. - (vbrsrq_x_n_f32): Remove. - (__arm_vbrsrq_n_u8): Remove. - (__arm_vbrsrq_n_s8): Remove. - (__arm_vbrsrq_n_u16): Remove. - (__arm_vbrsrq_n_s16): Remove. - (__arm_vbrsrq_n_u32): Remove. - (__arm_vbrsrq_n_s32): Remove. - (__arm_vbrsrq_m_n_s8): Remove. - (__arm_vbrsrq_m_n_s32): Remove. - (__arm_vbrsrq_m_n_s16): Remove. - (__arm_vbrsrq_m_n_u8): Remove. - (__arm_vbrsrq_m_n_u32): Remove. - (__arm_vbrsrq_m_n_u16): Remove. - (__arm_vbrsrq_x_n_s8): Remove. - (__arm_vbrsrq_x_n_s16): Remove. - (__arm_vbrsrq_x_n_s32): Remove. - (__arm_vbrsrq_x_n_u8): Remove. - (__arm_vbrsrq_x_n_u16): Remove. - (__arm_vbrsrq_x_n_u32): Remove. - (__arm_vbrsrq_n_f16): Remove. - (__arm_vbrsrq_n_f32): Remove. - (__arm_vbrsrq_m_n_f32): Remove. - (__arm_vbrsrq_m_n_f16): Remove. - (__arm_vbrsrq_x_n_f16): Remove. - (__arm_vbrsrq_x_n_f32): Remove. - (__arm_vbrsrq): Remove. - (__arm_vbrsrq_m): Remove. - (__arm_vbrsrq_x): Remove. - -2023-05-12 Christophe Lyon - - * config/arm/iterators.md (MVE_VBRSR_M_N_FP, MVE_VBRSR_N_FP): New. - (mve_insn): Add vbrsr. - * config/arm/mve.md (mve_vbrsrq_n_f): Rename into ... - (@mve_q_n_f): ... this. - (mve_vbrsrq_n_): Rename into ... - (@mve_q_n_): ... this. - (mve_vbrsrq_m_n_): Rename into ... - (@mve_q_m_n_): ... this. - (mve_vbrsrq_m_n_f): Rename into ... - (@mve_q_m_n_f): ... this. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_imm32): New. - * config/arm/arm-mve-builtins-shapes.h (binary_imm32): New. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vqshluq): New. - * config/arm/arm-mve-builtins-base.def (vqshluq): New. - * config/arm/arm-mve-builtins-base.h (vqshluq): New. - * config/arm/arm_mve.h (vqshluq): Remove. - (vqshluq_m): Remove. - (vqshluq_n_s8): Remove. - (vqshluq_n_s16): Remove. - (vqshluq_n_s32): Remove. - (vqshluq_m_n_s8): Remove. - (vqshluq_m_n_s16): Remove. - (vqshluq_m_n_s32): Remove. - (__arm_vqshluq_n_s8): Remove. - (__arm_vqshluq_n_s16): Remove. - (__arm_vqshluq_n_s32): Remove. - (__arm_vqshluq_m_n_s8): Remove. - (__arm_vqshluq_m_n_s16): Remove. - (__arm_vqshluq_m_n_s32): Remove. - (__arm_vqshluq): Remove. - (__arm_vqshluq_m): Remove. - -2023-05-12 Christophe Lyon - - * config/arm/iterators.md (mve_insn): Add vqshlu. - (supf): Add VQSHLUQ_M_N_S, VQSHLUQ_N_S. - (VQSHLUQ_M_N, VQSHLUQ_N): New. - * config/arm/mve.md (mve_vqshluq_n_s): Change name into ... - (@mve_q_n_): ... this. - (mve_vqshluq_m_n_s): Change name into ... - (@mve_q_m_n_): ... this. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc - (binary_lshift_unsigned): New. - * config/arm/arm-mve-builtins-shapes.h - (binary_lshift_unsigned): New. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vrmlaldavhaq) - (vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq): New. - * config/arm/arm-mve-builtins-base.def (vrmlaldavhaq) - (vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq): New. - * config/arm/arm-mve-builtins-base.h (vrmlaldavhaq) - (vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq): New. - * config/arm/arm-mve-builtins-functions.h: Handle vrmlaldavhaq, - vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq. - * config/arm/arm_mve.h (vrmlaldavhaq): Remove. - (vrmlaldavhaxq): Remove. - (vrmlsldavhaq): Remove. - (vrmlsldavhaxq): Remove. - (vrmlaldavhaq_p): Remove. - (vrmlaldavhaxq_p): Remove. - (vrmlsldavhaq_p): Remove. - (vrmlsldavhaxq_p): Remove. - (vrmlaldavhaq_s32): Remove. - (vrmlaldavhaq_u32): Remove. - (vrmlaldavhaxq_s32): Remove. - (vrmlsldavhaq_s32): Remove. - (vrmlsldavhaxq_s32): Remove. - (vrmlaldavhaq_p_s32): Remove. - (vrmlaldavhaq_p_u32): Remove. - (vrmlaldavhaxq_p_s32): Remove. - (vrmlsldavhaq_p_s32): Remove. - (vrmlsldavhaxq_p_s32): Remove. - (__arm_vrmlaldavhaq_s32): Remove. - (__arm_vrmlaldavhaq_u32): Remove. - (__arm_vrmlaldavhaxq_s32): Remove. - (__arm_vrmlsldavhaq_s32): Remove. - (__arm_vrmlsldavhaxq_s32): Remove. - (__arm_vrmlaldavhaq_p_s32): Remove. - (__arm_vrmlaldavhaq_p_u32): Remove. - (__arm_vrmlaldavhaxq_p_s32): Remove. - (__arm_vrmlsldavhaq_p_s32): Remove. - (__arm_vrmlsldavhaxq_p_s32): Remove. - (__arm_vrmlaldavhaq): Remove. - (__arm_vrmlaldavhaxq): Remove. - (__arm_vrmlsldavhaq): Remove. - (__arm_vrmlsldavhaxq): Remove. - (__arm_vrmlaldavhaq_p): Remove. - (__arm_vrmlaldavhaxq_p): Remove. - (__arm_vrmlsldavhaq_p): Remove. - (__arm_vrmlsldavhaxq_p): Remove. - -2023-05-12 Christophe Lyon - - * config/arm/iterators.md (MVE_VRMLxLDAVHAxQ) - (MVE_VRMLxLDAVHAxQ_P): New. - (mve_insn): Add vrmlaldavha, vrmlaldavhax, vrmlsldavha, - vrmlsldavhax. - (supf): Add VRMLALDAVHAXQ_P_S, VRMLALDAVHAXQ_S, VRMLSLDAVHAQ_P_S, - VRMLSLDAVHAQ_S, VRMLSLDAVHAXQ_P_S, VRMLSLDAVHAXQ_S, - VRMLALDAVHAQ_P_S. - * config/arm/mve.md (mve_vrmlaldavhaq_v4si) - (mve_vrmlaldavhaxq_sv4si, mve_vrmlsldavhaxq_sv4si) - (mve_vrmlsldavhaq_sv4si): Merge into ... - (@mve_q_v4si): ... this. - (mve_vrmlaldavhaq_p_sv4si, mve_vrmlaldavhaq_p_uv4si) - (mve_vrmlaldavhaxq_p_sv4si, mve_vrmlsldavhaq_p_sv4si) - (mve_vrmlsldavhaxq_p_sv4si): Merge into ... - (@mve_q_p_v4si): ... this. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vqdmullbq, vqdmulltq): New. - * config/arm/arm-mve-builtins-base.def (vqdmullbq, vqdmulltq): - New. - * config/arm/arm-mve-builtins-base.h (vqdmullbq, vqdmulltq): New. - * config/arm/arm_mve.h (vqdmulltq): Remove. - (vqdmullbq): Remove. - (vqdmullbq_m): Remove. - (vqdmulltq_m): Remove. - (vqdmulltq_s16): Remove. - (vqdmulltq_n_s16): Remove. - (vqdmullbq_s16): Remove. - (vqdmullbq_n_s16): Remove. - (vqdmulltq_s32): Remove. - (vqdmulltq_n_s32): Remove. - (vqdmullbq_s32): Remove. - (vqdmullbq_n_s32): Remove. - (vqdmullbq_m_n_s32): Remove. - (vqdmullbq_m_n_s16): Remove. - (vqdmullbq_m_s32): Remove. - (vqdmullbq_m_s16): Remove. - (vqdmulltq_m_n_s32): Remove. - (vqdmulltq_m_n_s16): Remove. - (vqdmulltq_m_s32): Remove. - (vqdmulltq_m_s16): Remove. - (__arm_vqdmulltq_s16): Remove. - (__arm_vqdmulltq_n_s16): Remove. - (__arm_vqdmullbq_s16): Remove. - (__arm_vqdmullbq_n_s16): Remove. - (__arm_vqdmulltq_s32): Remove. - (__arm_vqdmulltq_n_s32): Remove. - (__arm_vqdmullbq_s32): Remove. - (__arm_vqdmullbq_n_s32): Remove. - (__arm_vqdmullbq_m_n_s32): Remove. - (__arm_vqdmullbq_m_n_s16): Remove. - (__arm_vqdmullbq_m_s32): Remove. - (__arm_vqdmullbq_m_s16): Remove. - (__arm_vqdmulltq_m_n_s32): Remove. - (__arm_vqdmulltq_m_n_s16): Remove. - (__arm_vqdmulltq_m_s32): Remove. - (__arm_vqdmulltq_m_s16): Remove. - (__arm_vqdmulltq): Remove. - (__arm_vqdmullbq): Remove. - (__arm_vqdmullbq_m): Remove. - (__arm_vqdmulltq_m): Remove. - -2023-05-12 Christophe Lyon - - * config/arm/iterators.md (MVE_VQDMULLxQ, MVE_VQDMULLxQ_M) - (MVE_VQDMULLxQ_M_N, MVE_VQDMULLxQ_N): New. - (mve_insn): Add vqdmullb, vqdmullt. - (supf): Add VQDMULLBQ_S, VQDMULLBQ_M_S, VQDMULLBQ_M_N_S, - VQDMULLBQ_N_S, VQDMULLTQ_S, VQDMULLTQ_M_S, VQDMULLTQ_M_N_S, - VQDMULLTQ_N_S. - * config/arm/mve.md (mve_vqdmullbq_n_s) - (mve_vqdmulltq_n_s): Merge into ... - (@mve_q_n_): ... this. - (mve_vqdmullbq_s, mve_vqdmulltq_s): Merge into ... - (@mve_q_): ... this. - (mve_vqdmullbq_m_n_s, mve_vqdmulltq_m_n_s): Merge into - ... - (@mve_q_m_n_): ... this. - (mve_vqdmullbq_m_s, mve_vqdmulltq_m_s): Merge into ... - (@mve_q_m_): ... this. - -2023-05-12 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_widen_opt_n): New. - * config/arm/arm-mve-builtins-shapes.h (binary_widen_opt_n): New. - -2023-05-12 Kito Cheng - - * common/config/riscv/riscv-common.cc (riscv_select_multilib_by_abi): - Drop unused parameter. - (riscv_select_multilib): Ditto. - (riscv_compute_multilib): Update call site of - riscv_select_multilib_by_abi and riscv_select_multilib_by_abi. - -2023-05-12 Juzhe Zhong - - * config/riscv/autovec.md (vec_init): New pattern. - * config/riscv/riscv-protos.h (expand_vec_init): New function. - * config/riscv/riscv-v.cc (class rvv_builder): New class. - (rvv_builder::can_duplicate_repeating_sequence_p): New function. - (rvv_builder::get_merged_repeating_sequence): Ditto. - (expand_vector_init_insert_elems): Ditto. - (expand_vec_init): Ditto. - * config/riscv/vector-iterators.md: New attribute. - -2023-05-12 Haochen Gui - - * config/rs6000/rs6000-builtins.def - (__builtin_vsx_scalar_insert_exp): Replace bif-pattern from xsiexpdp - to xsiexpdp_di. - (__builtin_vsx_scalar_insert_exp_dp): Replace bif-pattern from - xsiexpdpf to xsiexpdpf_di. - * config/rs6000/vsx.md (xsiexpdp): Rename to... - (xsiexpdp_): ..., set the mode of second operand to GPR and - replace TARGET_64BIT with TARGET_POWERPC64. - (xsiexpdpf): Rename to... - (xsiexpdpf_): ..., set the mode of second operand to GPR and - replace TARGET_64BIT with TARGET_POWERPC64. - -2023-05-12 Haochen Gui - - * config/rs6000/rs6000-builtins.def - (__builtin_vsx_scalar_extract_sig): Set return type to const signed - long long. - * config/rs6000/vsx.md (xsxsigdp): Replace TARGET_64BIT with - TARGET_POWERPC64. - -2023-05-12 Haochen Gui - - * config/rs6000/rs6000-builtins.def - (__builtin_vsx_scalar_extract_exp): Set return type to const signed - int and set its bif-pattern to xsxexpdp_si, move it from power9-64 - to power9 catalog. - * config/rs6000/vsx.md (xsxexpdp): Rename to ... - (xsxexpdp_): ..., set mode of operand 0 to GPR and remove - TARGET_64BIT check. - * doc/extend.texi (scalar_extract_exp): Remove 64-bit environment - requirement when it has a 64-bit argument. - -2023-05-12 Pan Li - Richard Sandiford - Richard Biener - Jakub Jelinek - - * mux-utils.h: Add overload operator == and != for pointer_mux. - * var-tracking.cc: Included mux-utils.h for pointer_tmux. - (decl_or_value): Changed from void * to pointer_mux. - (dv_is_decl_p): Reconciled to the new type, aka pointer_mux. - (dv_as_decl): Ditto. - (dv_as_opaque): Removed due to unnecessary. - (struct variable_hasher): Take decl_or_value as compare_type. - (variable_hasher::equal): Diito. - (dv_from_decl): Reconciled to the new type, aka pointer_mux. - (dv_from_value): Ditto. - (attrs_list_member): Ditto. - (vars_copy): Ditto. - (var_reg_decl_set): Ditto. - (var_reg_delete_and_set): Ditto. - (find_loc_in_1pdv): Ditto. - (canonicalize_values_star): Ditto. - (variable_post_merge_new_vals): Ditto. - (dump_onepart_variable_differences): Ditto. - (variable_different_p): Ditto. - (set_slot_part): Ditto. - (clobber_slot_part): Ditto. - (clobber_variable_part): Ditto. - -2023-05-11 mtsamis - - * match.pd: simplify vector shift + bit_and + multiply. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vmlaq, vmlasq, vqdmlahq) - (vqdmlashq, vqrdmlahq, vqrdmlashq): New. - * config/arm/arm-mve-builtins-base.def (vmlaq, vmlasq, vqdmlahq) - (vqdmlashq, vqrdmlahq, vqrdmlashq): New. - * config/arm/arm-mve-builtins-base.h (vmlaq, vmlasq, vqdmlahq) - (vqdmlashq, vqrdmlahq, vqrdmlashq): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vmlaq, vmlasq, - vqdmlahq, vqdmlashq, vqrdmlahq, vqrdmlashq. - * config/arm/arm_mve.h (vqrdmlashq): Remove. - (vqrdmlahq): Remove. - (vqdmlashq): Remove. - (vqdmlahq): Remove. - (vmlasq): Remove. - (vmlaq): Remove. - (vmlaq_m): Remove. - (vmlasq_m): Remove. - (vqdmlashq_m): Remove. - (vqdmlahq_m): Remove. - (vqrdmlahq_m): Remove. - (vqrdmlashq_m): Remove. - (vmlasq_n_u8): Remove. - (vmlaq_n_u8): Remove. - (vqrdmlashq_n_s8): Remove. - (vqrdmlahq_n_s8): Remove. - (vqdmlahq_n_s8): Remove. - (vqdmlashq_n_s8): Remove. - (vmlasq_n_s8): Remove. - (vmlaq_n_s8): Remove. - (vmlasq_n_u16): Remove. - (vmlaq_n_u16): Remove. - (vqrdmlashq_n_s16): Remove. - (vqrdmlahq_n_s16): Remove. - (vqdmlashq_n_s16): Remove. - (vqdmlahq_n_s16): Remove. - (vmlasq_n_s16): Remove. - (vmlaq_n_s16): Remove. - (vmlasq_n_u32): Remove. - (vmlaq_n_u32): Remove. - (vqrdmlashq_n_s32): Remove. - (vqrdmlahq_n_s32): Remove. - (vqdmlashq_n_s32): Remove. - (vqdmlahq_n_s32): Remove. - (vmlasq_n_s32): Remove. - (vmlaq_n_s32): Remove. - (vmlaq_m_n_s8): Remove. - (vmlaq_m_n_s32): Remove. - (vmlaq_m_n_s16): Remove. - (vmlaq_m_n_u8): Remove. - (vmlaq_m_n_u32): Remove. - (vmlaq_m_n_u16): Remove. - (vmlasq_m_n_s8): Remove. - (vmlasq_m_n_s32): Remove. - (vmlasq_m_n_s16): Remove. - (vmlasq_m_n_u8): Remove. - (vmlasq_m_n_u32): Remove. - (vmlasq_m_n_u16): Remove. - (vqdmlashq_m_n_s8): Remove. - (vqdmlashq_m_n_s32): Remove. - (vqdmlashq_m_n_s16): Remove. - (vqdmlahq_m_n_s8): Remove. - (vqdmlahq_m_n_s32): Remove. - (vqdmlahq_m_n_s16): Remove. - (vqrdmlahq_m_n_s8): Remove. - (vqrdmlahq_m_n_s32): Remove. - (vqrdmlahq_m_n_s16): Remove. - (vqrdmlashq_m_n_s8): Remove. - (vqrdmlashq_m_n_s32): Remove. - (vqrdmlashq_m_n_s16): Remove. - (__arm_vmlasq_n_u8): Remove. - (__arm_vmlaq_n_u8): Remove. - (__arm_vqrdmlashq_n_s8): Remove. - (__arm_vqdmlashq_n_s8): Remove. - (__arm_vqrdmlahq_n_s8): Remove. - (__arm_vqdmlahq_n_s8): Remove. - (__arm_vmlasq_n_s8): Remove. - (__arm_vmlaq_n_s8): Remove. - (__arm_vmlasq_n_u16): Remove. - (__arm_vmlaq_n_u16): Remove. - (__arm_vqrdmlashq_n_s16): Remove. - (__arm_vqdmlashq_n_s16): Remove. - (__arm_vqrdmlahq_n_s16): Remove. - (__arm_vqdmlahq_n_s16): Remove. - (__arm_vmlasq_n_s16): Remove. - (__arm_vmlaq_n_s16): Remove. - (__arm_vmlasq_n_u32): Remove. - (__arm_vmlaq_n_u32): Remove. - (__arm_vqrdmlashq_n_s32): Remove. - (__arm_vqdmlashq_n_s32): Remove. - (__arm_vqrdmlahq_n_s32): Remove. - (__arm_vqdmlahq_n_s32): Remove. - (__arm_vmlasq_n_s32): Remove. - (__arm_vmlaq_n_s32): Remove. - (__arm_vmlaq_m_n_s8): Remove. - (__arm_vmlaq_m_n_s32): Remove. - (__arm_vmlaq_m_n_s16): Remove. - (__arm_vmlaq_m_n_u8): Remove. - (__arm_vmlaq_m_n_u32): Remove. - (__arm_vmlaq_m_n_u16): Remove. - (__arm_vmlasq_m_n_s8): Remove. - (__arm_vmlasq_m_n_s32): Remove. - (__arm_vmlasq_m_n_s16): Remove. - (__arm_vmlasq_m_n_u8): Remove. - (__arm_vmlasq_m_n_u32): Remove. - (__arm_vmlasq_m_n_u16): Remove. - (__arm_vqdmlahq_m_n_s8): Remove. - (__arm_vqdmlahq_m_n_s32): Remove. - (__arm_vqdmlahq_m_n_s16): Remove. - (__arm_vqrdmlahq_m_n_s8): Remove. - (__arm_vqrdmlahq_m_n_s32): Remove. - (__arm_vqrdmlahq_m_n_s16): Remove. - (__arm_vqrdmlashq_m_n_s8): Remove. - (__arm_vqrdmlashq_m_n_s32): Remove. - (__arm_vqrdmlashq_m_n_s16): Remove. - (__arm_vqdmlashq_m_n_s8): Remove. - (__arm_vqdmlashq_m_n_s16): Remove. - (__arm_vqdmlashq_m_n_s32): Remove. - (__arm_vmlasq): Remove. - (__arm_vmlaq): Remove. - (__arm_vqrdmlashq): Remove. - (__arm_vqdmlashq): Remove. - (__arm_vqrdmlahq): Remove. - (__arm_vqdmlahq): Remove. - (__arm_vmlaq_m): Remove. - (__arm_vmlasq_m): Remove. - (__arm_vqdmlahq_m): Remove. - (__arm_vqrdmlahq_m): Remove. - (__arm_vqrdmlashq_m): Remove. - (__arm_vqdmlashq_m): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (MVE_VMLxQ_N): New. - (mve_insn): Add vmla, vmlas, vqdmlah, vqdmlash, vqrdmlah, - vqrdmlash. - (supf): Add VQDMLAHQ_N_S, VQDMLASHQ_N_S, VQRDMLAHQ_N_S, - VQRDMLASHQ_N_S. - * config/arm/mve.md (mve_vmlaq_n_) - (mve_vmlasq_n_, mve_vqdmlahq_n_) - (mve_vqdmlashq_n_, mve_vqrdmlahq_n_) - (mve_vqrdmlashq_n_): Merge into ... - (@mve_q_n_): ... this. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (ternary_n): New. - * config/arm/arm-mve-builtins-shapes.h (ternary_n): New. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vqdmladhq, vqdmladhxq) - (vqdmlsdhq, vqdmlsdhxq, vqrdmladhq, vqrdmladhxq, vqrdmlsdhq) - (vqrdmlsdhxq): New. - * config/arm/arm-mve-builtins-base.def (vqdmladhq, vqdmladhxq) - (vqdmlsdhq, vqdmlsdhxq, vqrdmladhq, vqrdmladhxq, vqrdmlsdhq) - (vqrdmlsdhxq): New. - * config/arm/arm-mve-builtins-base.h (vqdmladhq, vqdmladhxq) - (vqdmlsdhq, vqdmlsdhxq, vqrdmladhq, vqrdmladhxq, vqrdmlsdhq) - (vqrdmlsdhxq): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vqrdmladhq, - vqrdmladhxq, vqrdmlsdhq, vqrdmlsdhxq vqdmladhq, vqdmladhxq, - vqdmlsdhq, vqdmlsdhxq. - * config/arm/arm_mve.h (vqrdmlsdhxq): Remove. - (vqrdmlsdhq): Remove. - (vqrdmladhxq): Remove. - (vqrdmladhq): Remove. - (vqdmlsdhxq): Remove. - (vqdmlsdhq): Remove. - (vqdmladhxq): Remove. - (vqdmladhq): Remove. - (vqdmladhq_m): Remove. - (vqdmladhxq_m): Remove. - (vqdmlsdhq_m): Remove. - (vqdmlsdhxq_m): Remove. - (vqrdmladhq_m): Remove. - (vqrdmladhxq_m): Remove. - (vqrdmlsdhq_m): Remove. - (vqrdmlsdhxq_m): Remove. - (vqrdmlsdhxq_s8): Remove. - (vqrdmlsdhq_s8): Remove. - (vqrdmladhxq_s8): Remove. - (vqrdmladhq_s8): Remove. - (vqdmlsdhxq_s8): Remove. - (vqdmlsdhq_s8): Remove. - (vqdmladhxq_s8): Remove. - (vqdmladhq_s8): Remove. - (vqrdmlsdhxq_s16): Remove. - (vqrdmlsdhq_s16): Remove. - (vqrdmladhxq_s16): Remove. - (vqrdmladhq_s16): Remove. - (vqdmlsdhxq_s16): Remove. - (vqdmlsdhq_s16): Remove. - (vqdmladhxq_s16): Remove. - (vqdmladhq_s16): Remove. - (vqrdmlsdhxq_s32): Remove. - (vqrdmlsdhq_s32): Remove. - (vqrdmladhxq_s32): Remove. - (vqrdmladhq_s32): Remove. - (vqdmlsdhxq_s32): Remove. - (vqdmlsdhq_s32): Remove. - (vqdmladhxq_s32): Remove. - (vqdmladhq_s32): Remove. - (vqdmladhq_m_s8): Remove. - (vqdmladhq_m_s32): Remove. - (vqdmladhq_m_s16): Remove. - (vqdmladhxq_m_s8): Remove. - (vqdmladhxq_m_s32): Remove. - (vqdmladhxq_m_s16): Remove. - (vqdmlsdhq_m_s8): Remove. - (vqdmlsdhq_m_s32): Remove. - (vqdmlsdhq_m_s16): Remove. - (vqdmlsdhxq_m_s8): Remove. - (vqdmlsdhxq_m_s32): Remove. - (vqdmlsdhxq_m_s16): Remove. - (vqrdmladhq_m_s8): Remove. - (vqrdmladhq_m_s32): Remove. - (vqrdmladhq_m_s16): Remove. - (vqrdmladhxq_m_s8): Remove. - (vqrdmladhxq_m_s32): Remove. - (vqrdmladhxq_m_s16): Remove. - (vqrdmlsdhq_m_s8): Remove. - (vqrdmlsdhq_m_s32): Remove. - (vqrdmlsdhq_m_s16): Remove. - (vqrdmlsdhxq_m_s8): Remove. - (vqrdmlsdhxq_m_s32): Remove. - (vqrdmlsdhxq_m_s16): Remove. - (__arm_vqrdmlsdhxq_s8): Remove. - (__arm_vqrdmlsdhq_s8): Remove. - (__arm_vqrdmladhxq_s8): Remove. - (__arm_vqrdmladhq_s8): Remove. - (__arm_vqdmlsdhxq_s8): Remove. - (__arm_vqdmlsdhq_s8): Remove. - (__arm_vqdmladhxq_s8): Remove. - (__arm_vqdmladhq_s8): Remove. - (__arm_vqrdmlsdhxq_s16): Remove. - (__arm_vqrdmlsdhq_s16): Remove. - (__arm_vqrdmladhxq_s16): Remove. - (__arm_vqrdmladhq_s16): Remove. - (__arm_vqdmlsdhxq_s16): Remove. - (__arm_vqdmlsdhq_s16): Remove. - (__arm_vqdmladhxq_s16): Remove. - (__arm_vqdmladhq_s16): Remove. - (__arm_vqrdmlsdhxq_s32): Remove. - (__arm_vqrdmlsdhq_s32): Remove. - (__arm_vqrdmladhxq_s32): Remove. - (__arm_vqrdmladhq_s32): Remove. - (__arm_vqdmlsdhxq_s32): Remove. - (__arm_vqdmlsdhq_s32): Remove. - (__arm_vqdmladhxq_s32): Remove. - (__arm_vqdmladhq_s32): Remove. - (__arm_vqdmladhq_m_s8): Remove. - (__arm_vqdmladhq_m_s32): Remove. - (__arm_vqdmladhq_m_s16): Remove. - (__arm_vqdmladhxq_m_s8): Remove. - (__arm_vqdmladhxq_m_s32): Remove. - (__arm_vqdmladhxq_m_s16): Remove. - (__arm_vqdmlsdhq_m_s8): Remove. - (__arm_vqdmlsdhq_m_s32): Remove. - (__arm_vqdmlsdhq_m_s16): Remove. - (__arm_vqdmlsdhxq_m_s8): Remove. - (__arm_vqdmlsdhxq_m_s32): Remove. - (__arm_vqdmlsdhxq_m_s16): Remove. - (__arm_vqrdmladhq_m_s8): Remove. - (__arm_vqrdmladhq_m_s32): Remove. - (__arm_vqrdmladhq_m_s16): Remove. - (__arm_vqrdmladhxq_m_s8): Remove. - (__arm_vqrdmladhxq_m_s32): Remove. - (__arm_vqrdmladhxq_m_s16): Remove. - (__arm_vqrdmlsdhq_m_s8): Remove. - (__arm_vqrdmlsdhq_m_s32): Remove. - (__arm_vqrdmlsdhq_m_s16): Remove. - (__arm_vqrdmlsdhxq_m_s8): Remove. - (__arm_vqrdmlsdhxq_m_s32): Remove. - (__arm_vqrdmlsdhxq_m_s16): Remove. - (__arm_vqrdmlsdhxq): Remove. - (__arm_vqrdmlsdhq): Remove. - (__arm_vqrdmladhxq): Remove. - (__arm_vqrdmladhq): Remove. - (__arm_vqdmlsdhxq): Remove. - (__arm_vqdmlsdhq): Remove. - (__arm_vqdmladhxq): Remove. - (__arm_vqdmladhq): Remove. - (__arm_vqdmladhq_m): Remove. - (__arm_vqdmladhxq_m): Remove. - (__arm_vqdmlsdhq_m): Remove. - (__arm_vqdmlsdhxq_m): Remove. - (__arm_vqrdmladhq_m): Remove. - (__arm_vqrdmladhxq_m): Remove. - (__arm_vqrdmlsdhq_m): Remove. - (__arm_vqrdmlsdhxq_m): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (MVE_VQxDMLxDHxQ_S): New. - (mve_insn): Add vqdmladh, vqdmladhx, vqdmlsdh, vqdmlsdhx, - vqrdmladh, vqrdmladhx, vqrdmlsdh, vqrdmlsdhx. - (supf): Add VQDMLADHQ_S, VQDMLADHXQ_S, VQDMLSDHQ_S, VQDMLSDHXQ_S, - VQRDMLADHQ_S,VQRDMLADHXQ_S, VQRDMLSDHQ_S, VQRDMLSDHXQ_S. - * config/arm/mve.md (mve_vqrdmladhq_s) - (mve_vqrdmladhxq_s, mve_vqrdmlsdhq_s) - (mve_vqrdmlsdhxq_s, mve_vqdmlsdhxq_s) - (mve_vqdmlsdhq_s, mve_vqdmladhxq_s) - (mve_vqdmladhq_s): Merge into ... - (@mve_q_): ... this. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (ternary): New. - * config/arm/arm-mve-builtins-shapes.h (ternary): New. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vmlaldavaq, vmlaldavaxq) - (vmlsldavaq, vmlsldavaxq): New. - * config/arm/arm-mve-builtins-base.def (vmlaldavaq, vmlaldavaxq) - (vmlsldavaq, vmlsldavaxq): New. - * config/arm/arm-mve-builtins-base.h (vmlaldavaq, vmlaldavaxq) - (vmlsldavaq, vmlsldavaxq): New. - * config/arm/arm_mve.h (vmlaldavaq): Remove. - (vmlaldavaxq): Remove. - (vmlsldavaq): Remove. - (vmlsldavaxq): Remove. - (vmlaldavaq_p): Remove. - (vmlaldavaxq_p): Remove. - (vmlsldavaq_p): Remove. - (vmlsldavaxq_p): Remove. - (vmlaldavaq_s16): Remove. - (vmlaldavaxq_s16): Remove. - (vmlsldavaq_s16): Remove. - (vmlsldavaxq_s16): Remove. - (vmlaldavaq_u16): Remove. - (vmlaldavaq_s32): Remove. - (vmlaldavaxq_s32): Remove. - (vmlsldavaq_s32): Remove. - (vmlsldavaxq_s32): Remove. - (vmlaldavaq_u32): Remove. - (vmlaldavaq_p_s32): Remove. - (vmlaldavaq_p_s16): Remove. - (vmlaldavaq_p_u32): Remove. - (vmlaldavaq_p_u16): Remove. - (vmlaldavaxq_p_s32): Remove. - (vmlaldavaxq_p_s16): Remove. - (vmlsldavaq_p_s32): Remove. - (vmlsldavaq_p_s16): Remove. - (vmlsldavaxq_p_s32): Remove. - (vmlsldavaxq_p_s16): Remove. - (__arm_vmlaldavaq_s16): Remove. - (__arm_vmlaldavaxq_s16): Remove. - (__arm_vmlsldavaq_s16): Remove. - (__arm_vmlsldavaxq_s16): Remove. - (__arm_vmlaldavaq_u16): Remove. - (__arm_vmlaldavaq_s32): Remove. - (__arm_vmlaldavaxq_s32): Remove. - (__arm_vmlsldavaq_s32): Remove. - (__arm_vmlsldavaxq_s32): Remove. - (__arm_vmlaldavaq_u32): Remove. - (__arm_vmlaldavaq_p_s32): Remove. - (__arm_vmlaldavaq_p_s16): Remove. - (__arm_vmlaldavaq_p_u32): Remove. - (__arm_vmlaldavaq_p_u16): Remove. - (__arm_vmlaldavaxq_p_s32): Remove. - (__arm_vmlaldavaxq_p_s16): Remove. - (__arm_vmlsldavaq_p_s32): Remove. - (__arm_vmlsldavaq_p_s16): Remove. - (__arm_vmlsldavaxq_p_s32): Remove. - (__arm_vmlsldavaxq_p_s16): Remove. - (__arm_vmlaldavaq): Remove. - (__arm_vmlaldavaxq): Remove. - (__arm_vmlsldavaq): Remove. - (__arm_vmlsldavaxq): Remove. - (__arm_vmlaldavaq_p): Remove. - (__arm_vmlaldavaxq_p): Remove. - (__arm_vmlsldavaq_p): Remove. - (__arm_vmlsldavaxq_p): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (MVE_VMLxLDAVAxQ, MVE_VMLxLDAVAxQ_P): - New. - (mve_insn): Add vmlaldava, vmlaldavax, vmlsldava, vmlsldavax. - (supf): Add VMLALDAVAXQ_P_S, VMLALDAVAXQ_S, VMLSLDAVAQ_P_S, - VMLSLDAVAQ_S, VMLSLDAVAXQ_P_S, VMLSLDAVAXQ_S. - * config/arm/mve.md (mve_vmlaldavaq_) - (mve_vmlsldavaq_s, mve_vmlsldavaxq_s) - (mve_vmlaldavaxq_s): Merge into ... - (@mve_q_): ... this. - (mve_vmlaldavaq_p_, mve_vmlaldavaxq_p_) - (mve_vmlsldavaq_p_s, mve_vmlsldavaxq_p_s): Merge into - ... - (@mve_q_p_): ... this. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_acca_int64): New. - * config/arm/arm-mve-builtins-shapes.h (binary_acca_int64): New. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vrmlaldavhq, vrmlaldavhxq) - (vrmlsldavhq, vrmlsldavhxq): New. - * config/arm/arm-mve-builtins-base.def (vrmlaldavhq, vrmlaldavhxq) - (vrmlsldavhq, vrmlsldavhxq): New. - * config/arm/arm-mve-builtins-base.h (vrmlaldavhq, vrmlaldavhxq) - (vrmlsldavhq, vrmlsldavhxq): New. - * config/arm/arm-mve-builtins-functions.h - (unspec_mve_function_exact_insn_pred_p): Handle vrmlaldavhq, - vrmlaldavhxq, vrmlsldavhq, vrmlsldavhxq. - * config/arm/arm_mve.h (vrmlaldavhq): Remove. - (vrmlsldavhxq): Remove. - (vrmlsldavhq): Remove. - (vrmlaldavhxq): Remove. - (vrmlaldavhq_p): Remove. - (vrmlaldavhxq_p): Remove. - (vrmlsldavhq_p): Remove. - (vrmlsldavhxq_p): Remove. - (vrmlaldavhq_u32): Remove. - (vrmlsldavhxq_s32): Remove. - (vrmlsldavhq_s32): Remove. - (vrmlaldavhxq_s32): Remove. - (vrmlaldavhq_s32): Remove. - (vrmlaldavhq_p_s32): Remove. - (vrmlaldavhxq_p_s32): Remove. - (vrmlsldavhq_p_s32): Remove. - (vrmlsldavhxq_p_s32): Remove. - (vrmlaldavhq_p_u32): Remove. - (__arm_vrmlaldavhq_u32): Remove. - (__arm_vrmlsldavhxq_s32): Remove. - (__arm_vrmlsldavhq_s32): Remove. - (__arm_vrmlaldavhxq_s32): Remove. - (__arm_vrmlaldavhq_s32): Remove. - (__arm_vrmlaldavhq_p_s32): Remove. - (__arm_vrmlaldavhxq_p_s32): Remove. - (__arm_vrmlsldavhq_p_s32): Remove. - (__arm_vrmlsldavhxq_p_s32): Remove. - (__arm_vrmlaldavhq_p_u32): Remove. - (__arm_vrmlaldavhq): Remove. - (__arm_vrmlsldavhxq): Remove. - (__arm_vrmlsldavhq): Remove. - (__arm_vrmlaldavhxq): Remove. - (__arm_vrmlaldavhq_p): Remove. - (__arm_vrmlaldavhxq_p): Remove. - (__arm_vrmlsldavhq_p): Remove. - (__arm_vrmlsldavhxq_p): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (MVE_VRMLxLDAVxQ, MVE_VRMLxLDAVHxQ_P): - New. - (mve_insn): Add vrmlaldavh, vrmlaldavhx, vrmlsldavh, vrmlsldavhx. - (supf): Add VRMLALDAVHXQ_P_S, VRMLALDAVHXQ_S, VRMLSLDAVHQ_P_S, - VRMLSLDAVHQ_S, VRMLSLDAVHXQ_P_S, VRMLSLDAVHXQ_S. - * config/arm/mve.md (mve_vrmlaldavhxq_sv4si) - (mve_vrmlsldavhq_sv4si, mve_vrmlsldavhxq_sv4si) - (mve_vrmlaldavhq_v4si): Merge into ... - (@mve_q_v4si): ... this. - (mve_vrmlaldavhxq_p_sv4si, mve_vrmlsldavhq_p_sv4si) - (mve_vrmlsldavhxq_p_sv4si, mve_vrmlaldavhq_p_v4si): Merge - into ... - (@mve_q_p_v4si): ... this. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vmlaldavq, vmlaldavxq) - (vmlsldavq, vmlsldavxq): New. - * config/arm/arm-mve-builtins-base.def (vmlaldavq, vmlaldavxq) - (vmlsldavq, vmlsldavxq): New. - * config/arm/arm-mve-builtins-base.h (vmlaldavq, vmlaldavxq) - (vmlsldavq, vmlsldavxq): New. - * config/arm/arm_mve.h (vmlaldavq): Remove. - (vmlsldavxq): Remove. - (vmlsldavq): Remove. - (vmlaldavxq): Remove. - (vmlaldavq_p): Remove. - (vmlaldavxq_p): Remove. - (vmlsldavq_p): Remove. - (vmlsldavxq_p): Remove. - (vmlaldavq_u16): Remove. - (vmlsldavxq_s16): Remove. - (vmlsldavq_s16): Remove. - (vmlaldavxq_s16): Remove. - (vmlaldavq_s16): Remove. - (vmlaldavq_u32): Remove. - (vmlsldavxq_s32): Remove. - (vmlsldavq_s32): Remove. - (vmlaldavxq_s32): Remove. - (vmlaldavq_s32): Remove. - (vmlaldavq_p_s16): Remove. - (vmlaldavxq_p_s16): Remove. - (vmlsldavq_p_s16): Remove. - (vmlsldavxq_p_s16): Remove. - (vmlaldavq_p_u16): Remove. - (vmlaldavq_p_s32): Remove. - (vmlaldavxq_p_s32): Remove. - (vmlsldavq_p_s32): Remove. - (vmlsldavxq_p_s32): Remove. - (vmlaldavq_p_u32): Remove. - (__arm_vmlaldavq_u16): Remove. - (__arm_vmlsldavxq_s16): Remove. - (__arm_vmlsldavq_s16): Remove. - (__arm_vmlaldavxq_s16): Remove. - (__arm_vmlaldavq_s16): Remove. - (__arm_vmlaldavq_u32): Remove. - (__arm_vmlsldavxq_s32): Remove. - (__arm_vmlsldavq_s32): Remove. - (__arm_vmlaldavxq_s32): Remove. - (__arm_vmlaldavq_s32): Remove. - (__arm_vmlaldavq_p_s16): Remove. - (__arm_vmlaldavxq_p_s16): Remove. - (__arm_vmlsldavq_p_s16): Remove. - (__arm_vmlsldavxq_p_s16): Remove. - (__arm_vmlaldavq_p_u16): Remove. - (__arm_vmlaldavq_p_s32): Remove. - (__arm_vmlaldavxq_p_s32): Remove. - (__arm_vmlsldavq_p_s32): Remove. - (__arm_vmlsldavxq_p_s32): Remove. - (__arm_vmlaldavq_p_u32): Remove. - (__arm_vmlaldavq): Remove. - (__arm_vmlsldavxq): Remove. - (__arm_vmlsldavq): Remove. - (__arm_vmlaldavxq): Remove. - (__arm_vmlaldavq_p): Remove. - (__arm_vmlaldavxq_p): Remove. - (__arm_vmlsldavq_p): Remove. - (__arm_vmlsldavxq_p): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (MVE_VMLxLDAVxQ, MVE_VMLxLDAVxQ_P): New. - (mve_insn): Add vmlaldav, vmlaldavx, vmlsldav, vmlsldavx. - (supf): Add VMLALDAVXQ_S, VMLSLDAVQ_S, VMLSLDAVXQ_S, - VMLALDAVXQ_P_S, VMLSLDAVQ_P_S, VMLSLDAVXQ_P_S. - * config/arm/mve.md (mve_vmlaldavq_) - (mve_vmlaldavxq_s, mve_vmlsldavq_s) - (mve_vmlsldavxq_s): Merge into ... - (@mve_q_): ... this. - (mve_vmlaldavq_p_, mve_vmlaldavxq_p_s) - (mve_vmlsldavq_p_s, mve_vmlsldavxq_p_s): Merge into - ... - (@mve_q_p_): ... this. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_acc_int64): New. - * config/arm/arm-mve-builtins-shapes.h (binary_acc_int64): New. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vabavq): New. - * config/arm/arm-mve-builtins-base.def (vabavq): New. - * config/arm/arm-mve-builtins-base.h (vabavq): New. - * config/arm/arm_mve.h (vabavq): Remove. - (vabavq_p): Remove. - (vabavq_s8): Remove. - (vabavq_s16): Remove. - (vabavq_s32): Remove. - (vabavq_u8): Remove. - (vabavq_u16): Remove. - (vabavq_u32): Remove. - (vabavq_p_s8): Remove. - (vabavq_p_u8): Remove. - (vabavq_p_s16): Remove. - (vabavq_p_u16): Remove. - (vabavq_p_s32): Remove. - (vabavq_p_u32): Remove. - (__arm_vabavq_s8): Remove. - (__arm_vabavq_s16): Remove. - (__arm_vabavq_s32): Remove. - (__arm_vabavq_u8): Remove. - (__arm_vabavq_u16): Remove. - (__arm_vabavq_u32): Remove. - (__arm_vabavq_p_s8): Remove. - (__arm_vabavq_p_u8): Remove. - (__arm_vabavq_p_s16): Remove. - (__arm_vabavq_p_u16): Remove. - (__arm_vabavq_p_s32): Remove. - (__arm_vabavq_p_u32): Remove. - (__arm_vabavq): Remove. - (__arm_vabavq_p): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (mve_insn): Add vabav. - * config/arm/mve.md (mve_vabavq_): Rename into ... - (@mve_q_): ... this,. - (mve_vabavq_p_): Rename into ... - (@mve_q_p_): ... this,. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vmladavaxq, vmladavaq) - (vmlsdavaq, vmlsdavaxq): New. - * config/arm/arm-mve-builtins-base.def (vmladavaxq, vmladavaq) - (vmlsdavaq, vmlsdavaxq): New. - * config/arm/arm-mve-builtins-base.h (vmladavaxq, vmladavaq) - (vmlsdavaq, vmlsdavaxq): New. - * config/arm/arm_mve.h (vmladavaq): Remove. - (vmlsdavaxq): Remove. - (vmlsdavaq): Remove. - (vmladavaxq): Remove. - (vmladavaq_p): Remove. - (vmladavaxq_p): Remove. - (vmlsdavaq_p): Remove. - (vmlsdavaxq_p): Remove. - (vmladavaq_u8): Remove. - (vmlsdavaxq_s8): Remove. - (vmlsdavaq_s8): Remove. - (vmladavaxq_s8): Remove. - (vmladavaq_s8): Remove. - (vmladavaq_u16): Remove. - (vmlsdavaxq_s16): Remove. - (vmlsdavaq_s16): Remove. - (vmladavaxq_s16): Remove. - (vmladavaq_s16): Remove. - (vmladavaq_u32): Remove. - (vmlsdavaxq_s32): Remove. - (vmlsdavaq_s32): Remove. - (vmladavaxq_s32): Remove. - (vmladavaq_s32): Remove. - (vmladavaq_p_s8): Remove. - (vmladavaq_p_s32): Remove. - (vmladavaq_p_s16): Remove. - (vmladavaq_p_u8): Remove. - (vmladavaq_p_u32): Remove. - (vmladavaq_p_u16): Remove. - (vmladavaxq_p_s8): Remove. - (vmladavaxq_p_s32): Remove. - (vmladavaxq_p_s16): Remove. - (vmlsdavaq_p_s8): Remove. - (vmlsdavaq_p_s32): Remove. - (vmlsdavaq_p_s16): Remove. - (vmlsdavaxq_p_s8): Remove. - (vmlsdavaxq_p_s32): Remove. - (vmlsdavaxq_p_s16): Remove. - (__arm_vmladavaq_u8): Remove. - (__arm_vmlsdavaxq_s8): Remove. - (__arm_vmlsdavaq_s8): Remove. - (__arm_vmladavaxq_s8): Remove. - (__arm_vmladavaq_s8): Remove. - (__arm_vmladavaq_u16): Remove. - (__arm_vmlsdavaxq_s16): Remove. - (__arm_vmlsdavaq_s16): Remove. - (__arm_vmladavaxq_s16): Remove. - (__arm_vmladavaq_s16): Remove. - (__arm_vmladavaq_u32): Remove. - (__arm_vmlsdavaxq_s32): Remove. - (__arm_vmlsdavaq_s32): Remove. - (__arm_vmladavaxq_s32): Remove. - (__arm_vmladavaq_s32): Remove. - (__arm_vmladavaq_p_s8): Remove. - (__arm_vmladavaq_p_s32): Remove. - (__arm_vmladavaq_p_s16): Remove. - (__arm_vmladavaq_p_u8): Remove. - (__arm_vmladavaq_p_u32): Remove. - (__arm_vmladavaq_p_u16): Remove. - (__arm_vmladavaxq_p_s8): Remove. - (__arm_vmladavaxq_p_s32): Remove. - (__arm_vmladavaxq_p_s16): Remove. - (__arm_vmlsdavaq_p_s8): Remove. - (__arm_vmlsdavaq_p_s32): Remove. - (__arm_vmlsdavaq_p_s16): Remove. - (__arm_vmlsdavaxq_p_s8): Remove. - (__arm_vmlsdavaxq_p_s32): Remove. - (__arm_vmlsdavaxq_p_s16): Remove. - (__arm_vmladavaq): Remove. - (__arm_vmlsdavaxq): Remove. - (__arm_vmlsdavaq): Remove. - (__arm_vmladavaxq): Remove. - (__arm_vmladavaq_p): Remove. - (__arm_vmladavaxq_p): Remove. - (__arm_vmlsdavaq_p): Remove. - (__arm_vmlsdavaxq_p): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_acca_int32): New. - * config/arm/arm-mve-builtins-shapes.h (binary_acca_int32): New. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vmladavq, vmladavxq) - (vmlsdavq, vmlsdavxq): New. - * config/arm/arm-mve-builtins-base.def (vmladavq, vmladavxq) - (vmlsdavq, vmlsdavxq): New. - * config/arm/arm-mve-builtins-base.h (vmladavq, vmladavxq) - (vmlsdavq, vmlsdavxq): New. - * config/arm/arm_mve.h (vmladavq): Remove. - (vmlsdavxq): Remove. - (vmlsdavq): Remove. - (vmladavxq): Remove. - (vmladavq_p): Remove. - (vmlsdavxq_p): Remove. - (vmlsdavq_p): Remove. - (vmladavxq_p): Remove. - (vmladavq_u8): Remove. - (vmlsdavxq_s8): Remove. - (vmlsdavq_s8): Remove. - (vmladavxq_s8): Remove. - (vmladavq_s8): Remove. - (vmladavq_u16): Remove. - (vmlsdavxq_s16): Remove. - (vmlsdavq_s16): Remove. - (vmladavxq_s16): Remove. - (vmladavq_s16): Remove. - (vmladavq_u32): Remove. - (vmlsdavxq_s32): Remove. - (vmlsdavq_s32): Remove. - (vmladavxq_s32): Remove. - (vmladavq_s32): Remove. - (vmladavq_p_u8): Remove. - (vmlsdavxq_p_s8): Remove. - (vmlsdavq_p_s8): Remove. - (vmladavxq_p_s8): Remove. - (vmladavq_p_s8): Remove. - (vmladavq_p_u16): Remove. - (vmlsdavxq_p_s16): Remove. - (vmlsdavq_p_s16): Remove. - (vmladavxq_p_s16): Remove. - (vmladavq_p_s16): Remove. - (vmladavq_p_u32): Remove. - (vmlsdavxq_p_s32): Remove. - (vmlsdavq_p_s32): Remove. - (vmladavxq_p_s32): Remove. - (vmladavq_p_s32): Remove. - (__arm_vmladavq_u8): Remove. - (__arm_vmlsdavxq_s8): Remove. - (__arm_vmlsdavq_s8): Remove. - (__arm_vmladavxq_s8): Remove. - (__arm_vmladavq_s8): Remove. - (__arm_vmladavq_u16): Remove. - (__arm_vmlsdavxq_s16): Remove. - (__arm_vmlsdavq_s16): Remove. - (__arm_vmladavxq_s16): Remove. - (__arm_vmladavq_s16): Remove. - (__arm_vmladavq_u32): Remove. - (__arm_vmlsdavxq_s32): Remove. - (__arm_vmlsdavq_s32): Remove. - (__arm_vmladavxq_s32): Remove. - (__arm_vmladavq_s32): Remove. - (__arm_vmladavq_p_u8): Remove. - (__arm_vmlsdavxq_p_s8): Remove. - (__arm_vmlsdavq_p_s8): Remove. - (__arm_vmladavxq_p_s8): Remove. - (__arm_vmladavq_p_s8): Remove. - (__arm_vmladavq_p_u16): Remove. - (__arm_vmlsdavxq_p_s16): Remove. - (__arm_vmlsdavq_p_s16): Remove. - (__arm_vmladavxq_p_s16): Remove. - (__arm_vmladavq_p_s16): Remove. - (__arm_vmladavq_p_u32): Remove. - (__arm_vmlsdavxq_p_s32): Remove. - (__arm_vmlsdavq_p_s32): Remove. - (__arm_vmladavxq_p_s32): Remove. - (__arm_vmladavq_p_s32): Remove. - (__arm_vmladavq): Remove. - (__arm_vmlsdavxq): Remove. - (__arm_vmlsdavq): Remove. - (__arm_vmladavxq): Remove. - (__arm_vmladavq_p): Remove. - (__arm_vmlsdavxq_p): Remove. - (__arm_vmlsdavq_p): Remove. - (__arm_vmladavxq_p): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (MVE_VMLxDAVQ, MVE_VMLxDAVQ_P) - (MVE_VMLxDAVAQ, MVE_VMLxDAVAQ_P): New. - (mve_insn): Add vmladava, vmladavax, vmladav, vmladavx, vmlsdava, - vmlsdavax, vmlsdav, vmlsdavx. - (supf): Add VMLADAVAXQ_P_S, VMLADAVAXQ_S, VMLADAVXQ_P_S, - VMLADAVXQ_S, VMLSDAVAQ_P_S, VMLSDAVAQ_S, VMLSDAVAXQ_P_S, - VMLSDAVAXQ_S, VMLSDAVQ_P_S, VMLSDAVQ_S, VMLSDAVXQ_P_S, - VMLSDAVXQ_S. - * config/arm/mve.md (mve_vmladavq_) - (mve_vmladavxq_s, mve_vmlsdavq_s) - (mve_vmlsdavxq_s): Merge into ... - (@mve_q_): ... this. - (mve_vmlsdavaq_s, mve_vmladavaxq_s) - (mve_vmlsdavaxq_s, mve_vmladavaq_): Merge into - ... - (@mve_q_): ... this. - (mve_vmladavq_p_, mve_vmladavxq_p_s) - (mve_vmlsdavq_p_s, mve_vmlsdavxq_p_s): Merge into ... - (@mve_q_p_): ... this. - (mve_vmladavaq_p_, mve_vmladavaxq_p_s) - (mve_vmlsdavaq_p_s, mve_vmlsdavaxq_p_s): Merge into - ... - (@mve_q_p_): ... this. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_acc_int32): New. - * config/arm/arm-mve-builtins-shapes.h (binary_acc_int32): New. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vaddlvaq): New. - * config/arm/arm-mve-builtins-base.def (vaddlvaq): New. - * config/arm/arm-mve-builtins-base.h (vaddlvaq): New. - * config/arm/arm_mve.h (vaddlvaq): Remove. - (vaddlvaq_p): Remove. - (vaddlvaq_u32): Remove. - (vaddlvaq_s32): Remove. - (vaddlvaq_p_s32): Remove. - (vaddlvaq_p_u32): Remove. - (__arm_vaddlvaq_u32): Remove. - (__arm_vaddlvaq_s32): Remove. - (__arm_vaddlvaq_p_s32): Remove. - (__arm_vaddlvaq_p_u32): Remove. - (__arm_vaddlvaq): Remove. - (__arm_vaddlvaq_p): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (unary_widen_acc): New. - * config/arm/arm-mve-builtins-shapes.h (unary_widen_acc): New. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (mve_insn): Add vaddlva. - * config/arm/mve.md (mve_vaddlvaq_v4si): Rename into ... - (@mve_q_v4si): ... this. - (mve_vaddlvaq_p_v4si): Rename into ... - (@mve_q_p_v4si): ... this. - -2023-05-11 Uros Bizjak - - PR target/109807 - * config/i386/i386.cc (ix86_widen_mult_cost): - Handle V4HImode and V2SImode. - -2023-05-11 Andrew Pinski - - * tree-ssa-dce.cc (simple_dce_from_worklist): For ssa names - defined by a phi node with more than one uses, allow for the - only uses are in that same defining statement. - -2023-05-11 Robin Dapp - - * config/riscv/riscv.cc (riscv_const_insns): Add permissible - vector constants. - -2023-05-11 Pan Li - - * config/riscv/vector.md: Add comments for simplifying to vmset. - -2023-05-11 Robin Dapp - - * config/riscv/autovec.md (3): Add scalar shift - pattern. - (v3): Add vector shift pattern. - * config/riscv/vector-iterators.md: New iterator. - -2023-05-11 Robin Dapp - - * config/riscv/autovec.md: Use renamed functions. - * config/riscv/riscv-protos.h (emit_vlmax_op): Rename. - (emit_vlmax_reg_op): To this. - (emit_nonvlmax_op): Rename. - (emit_len_op): To this. - (emit_nonvlmax_binop): Rename. - (emit_len_binop): To this. - * config/riscv/riscv-v.cc (emit_pred_op): Add default parameter. - (emit_pred_binop): Remove vlmax_p. - (emit_vlmax_op): Rename. - (emit_vlmax_reg_op): To this. - (emit_nonvlmax_op): Rename. - (emit_len_op): To this. - (emit_nonvlmax_binop): Rename. - (emit_len_binop): To this. - (sew64_scalar_helper): Use renamed functions. - (expand_tuple_move): Use renamed functions. - * config/riscv/riscv.cc (vector_zero_call_used_regs): Use - renamed functions. - * config/riscv/vector.md: Use renamed functions. - -2023-05-11 Robin Dapp - Michael Collison - - * config/riscv/autovec.md (3): Add integer binops. - * config/riscv/riscv-protos.h (emit_nonvlmax_binop): Declare. - * config/riscv/riscv-v.cc (emit_pred_op): New function. - (set_expander_dest_and_mask): New function. - (emit_pred_binop): New function. - (emit_nonvlmax_binop): New function. - -2023-05-11 Pan Li - - * cfgloopmanip.cc (create_empty_loop_on_edge): Add PLUS_EXPR. - * gimple-loop-interchange.cc - (tree_loop_interchange::map_inductions_to_loop): Ditto. - * tree-ssa-loop-ivcanon.cc (create_canonical_iv): Ditto. - * tree-ssa-loop-ivopts.cc (create_new_iv): Ditto. - * tree-ssa-loop-manip.cc (create_iv): Ditto. - (tree_transform_and_unroll_loop): Ditto. - (canonicalize_loop_ivs): Ditto. - * tree-ssa-loop-manip.h (create_iv): Ditto. - * tree-vect-data-refs.cc (vect_create_data_ref_ptr): Ditto. - * tree-vect-loop-manip.cc (vect_set_loop_controls_directly): - Ditto. - (vect_set_loop_condition_normal): Ditto. - * tree-vect-loop.cc (vect_create_epilog_for_reduction): Ditto. - * tree-vect-stmts.cc (vectorizable_store): Ditto. - (vectorizable_load): Ditto. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vmovlbq, vmovltq): New. - * config/arm/arm-mve-builtins-base.def (vmovlbq, vmovltq): New. - * config/arm/arm-mve-builtins-base.h (vmovlbq, vmovltq): New. - * config/arm/arm_mve.h (vmovlbq): Remove. - (vmovltq): Remove. - (vmovlbq_m): Remove. - (vmovltq_m): Remove. - (vmovlbq_x): Remove. - (vmovltq_x): Remove. - (vmovlbq_s8): Remove. - (vmovlbq_s16): Remove. - (vmovltq_s8): Remove. - (vmovltq_s16): Remove. - (vmovltq_u8): Remove. - (vmovltq_u16): Remove. - (vmovlbq_u8): Remove. - (vmovlbq_u16): Remove. - (vmovlbq_m_s8): Remove. - (vmovltq_m_s8): Remove. - (vmovlbq_m_u8): Remove. - (vmovltq_m_u8): Remove. - (vmovlbq_m_s16): Remove. - (vmovltq_m_s16): Remove. - (vmovlbq_m_u16): Remove. - (vmovltq_m_u16): Remove. - (vmovlbq_x_s8): Remove. - (vmovlbq_x_s16): Remove. - (vmovlbq_x_u8): Remove. - (vmovlbq_x_u16): Remove. - (vmovltq_x_s8): Remove. - (vmovltq_x_s16): Remove. - (vmovltq_x_u8): Remove. - (vmovltq_x_u16): Remove. - (__arm_vmovlbq_s8): Remove. - (__arm_vmovlbq_s16): Remove. - (__arm_vmovltq_s8): Remove. - (__arm_vmovltq_s16): Remove. - (__arm_vmovltq_u8): Remove. - (__arm_vmovltq_u16): Remove. - (__arm_vmovlbq_u8): Remove. - (__arm_vmovlbq_u16): Remove. - (__arm_vmovlbq_m_s8): Remove. - (__arm_vmovltq_m_s8): Remove. - (__arm_vmovlbq_m_u8): Remove. - (__arm_vmovltq_m_u8): Remove. - (__arm_vmovlbq_m_s16): Remove. - (__arm_vmovltq_m_s16): Remove. - (__arm_vmovlbq_m_u16): Remove. - (__arm_vmovltq_m_u16): Remove. - (__arm_vmovlbq_x_s8): Remove. - (__arm_vmovlbq_x_s16): Remove. - (__arm_vmovlbq_x_u8): Remove. - (__arm_vmovlbq_x_u16): Remove. - (__arm_vmovltq_x_s8): Remove. - (__arm_vmovltq_x_s16): Remove. - (__arm_vmovltq_x_u8): Remove. - (__arm_vmovltq_x_u16): Remove. - (__arm_vmovlbq): Remove. - (__arm_vmovltq): Remove. - (__arm_vmovlbq_m): Remove. - (__arm_vmovltq_m): Remove. - (__arm_vmovlbq_x): Remove. - (__arm_vmovltq_x): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (unary_widen): New. - * config/arm/arm-mve-builtins-shapes.h (unary_widen): New. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (mve_insn): Add vmovlb, vmovlt. - (VMOVLBQ, VMOVLTQ): Merge into ... - (VMOVLxQ): ... this. - (VMOVLTQ_M, VMOVLBQ_M): Merge into ... - (VMOVLxQ_M): ... this. - * config/arm/mve.md (mve_vmovltq_) - (mve_vmovlbq_): Merge into ... - (@mve_q_): ... this. - (mve_vmovlbq_m_, mve_vmovltq_m_): Merge - into ... - (@mve_q_m_): ... this. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vaddlvq): New. - * config/arm/arm-mve-builtins-base.def (vaddlvq): New. - * config/arm/arm-mve-builtins-base.h (vaddlvq): New. - * config/arm/arm-mve-builtins-functions.h - (unspec_mve_function_exact_insn_pred_p): Handle vaddlvq. - * config/arm/arm_mve.h (vaddlvq): Remove. - (vaddlvq_p): Remove. - (vaddlvq_s32): Remove. - (vaddlvq_u32): Remove. - (vaddlvq_p_s32): Remove. - (vaddlvq_p_u32): Remove. - (__arm_vaddlvq_s32): Remove. - (__arm_vaddlvq_u32): Remove. - (__arm_vaddlvq_p_s32): Remove. - (__arm_vaddlvq_p_u32): Remove. - (__arm_vaddlvq): Remove. - (__arm_vaddlvq_p): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (mve_insn): Add vaddlv. - * config/arm/mve.md (mve_vaddlvq_v4si): Rename into ... - (@mve_q_v4si): ... this. - (mve_vaddlvq_p_v4si): Rename into ... - (@mve_q_p_v4si): ... this. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (unary_acc): New. - * config/arm/arm-mve-builtins-shapes.h (unary_acc): New. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vaddvaq): New. - * config/arm/arm-mve-builtins-base.def (vaddvaq): New. - * config/arm/arm-mve-builtins-base.h (vaddvaq): New. - * config/arm/arm_mve.h (vaddvaq): Remove. - (vaddvaq_p): Remove. - (vaddvaq_u8): Remove. - (vaddvaq_s8): Remove. - (vaddvaq_u16): Remove. - (vaddvaq_s16): Remove. - (vaddvaq_u32): Remove. - (vaddvaq_s32): Remove. - (vaddvaq_p_u8): Remove. - (vaddvaq_p_s8): Remove. - (vaddvaq_p_u16): Remove. - (vaddvaq_p_s16): Remove. - (vaddvaq_p_u32): Remove. - (vaddvaq_p_s32): Remove. - (__arm_vaddvaq_u8): Remove. - (__arm_vaddvaq_s8): Remove. - (__arm_vaddvaq_u16): Remove. - (__arm_vaddvaq_s16): Remove. - (__arm_vaddvaq_u32): Remove. - (__arm_vaddvaq_s32): Remove. - (__arm_vaddvaq_p_u8): Remove. - (__arm_vaddvaq_p_s8): Remove. - (__arm_vaddvaq_p_u16): Remove. - (__arm_vaddvaq_p_s16): Remove. - (__arm_vaddvaq_p_u32): Remove. - (__arm_vaddvaq_p_s32): Remove. - (__arm_vaddvaq): Remove. - (__arm_vaddvaq_p): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (unary_int32_acc): New. - * config/arm/arm-mve-builtins-shapes.h (unary_int32_acc): New. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (mve_insn): Add vaddva. - * config/arm/mve.md (mve_vaddvaq_): Rename into ... - (@mve_q_): ... this. - (mve_vaddvaq_p_): Rename into ... - (@mve_q_p_): ... this. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vaddvq): New. - * config/arm/arm-mve-builtins-base.def (vaddvq): New. - * config/arm/arm-mve-builtins-base.h (vaddvq): New. - * config/arm/arm_mve.h (vaddvq): Remove. - (vaddvq_p): Remove. - (vaddvq_s8): Remove. - (vaddvq_s16): Remove. - (vaddvq_s32): Remove. - (vaddvq_u8): Remove. - (vaddvq_u16): Remove. - (vaddvq_u32): Remove. - (vaddvq_p_u8): Remove. - (vaddvq_p_s8): Remove. - (vaddvq_p_u16): Remove. - (vaddvq_p_s16): Remove. - (vaddvq_p_u32): Remove. - (vaddvq_p_s32): Remove. - (__arm_vaddvq_s8): Remove. - (__arm_vaddvq_s16): Remove. - (__arm_vaddvq_s32): Remove. - (__arm_vaddvq_u8): Remove. - (__arm_vaddvq_u16): Remove. - (__arm_vaddvq_u32): Remove. - (__arm_vaddvq_p_u8): Remove. - (__arm_vaddvq_p_s8): Remove. - (__arm_vaddvq_p_u16): Remove. - (__arm_vaddvq_p_s16): Remove. - (__arm_vaddvq_p_u32): Remove. - (__arm_vaddvq_p_s32): Remove. - (__arm_vaddvq): Remove. - (__arm_vaddvq_p): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (unary_int32): New. - * config/arm/arm-mve-builtins-shapes.h (unary_int32): New. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (mve_insn): Add vaddv. - * config/arm/mve.md (@mve_vaddvq_): Rename into ... - (@mve_q_): ... this. - (mve_vaddvq_p_): Rename into ... - (@mve_q_p_): ... this. - * config/arm/vec-common.md: Use gen_mve_q instead of - gen_mve_vaddvq. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_ONLY_N): New. - (vdupq): New. - * config/arm/arm-mve-builtins-base.def (vdupq): New. - * config/arm/arm-mve-builtins-base.h: (vdupq): New. - * config/arm/arm_mve.h (vdupq_n): Remove. - (vdupq_m): Remove. - (vdupq_n_f16): Remove. - (vdupq_n_f32): Remove. - (vdupq_n_s8): Remove. - (vdupq_n_s16): Remove. - (vdupq_n_s32): Remove. - (vdupq_n_u8): Remove. - (vdupq_n_u16): Remove. - (vdupq_n_u32): Remove. - (vdupq_m_n_u8): Remove. - (vdupq_m_n_s8): Remove. - (vdupq_m_n_u16): Remove. - (vdupq_m_n_s16): Remove. - (vdupq_m_n_u32): Remove. - (vdupq_m_n_s32): Remove. - (vdupq_m_n_f16): Remove. - (vdupq_m_n_f32): Remove. - (vdupq_x_n_s8): Remove. - (vdupq_x_n_s16): Remove. - (vdupq_x_n_s32): Remove. - (vdupq_x_n_u8): Remove. - (vdupq_x_n_u16): Remove. - (vdupq_x_n_u32): Remove. - (vdupq_x_n_f16): Remove. - (vdupq_x_n_f32): Remove. - (__arm_vdupq_n_s8): Remove. - (__arm_vdupq_n_s16): Remove. - (__arm_vdupq_n_s32): Remove. - (__arm_vdupq_n_u8): Remove. - (__arm_vdupq_n_u16): Remove. - (__arm_vdupq_n_u32): Remove. - (__arm_vdupq_m_n_u8): Remove. - (__arm_vdupq_m_n_s8): Remove. - (__arm_vdupq_m_n_u16): Remove. - (__arm_vdupq_m_n_s16): Remove. - (__arm_vdupq_m_n_u32): Remove. - (__arm_vdupq_m_n_s32): Remove. - (__arm_vdupq_x_n_s8): Remove. - (__arm_vdupq_x_n_s16): Remove. - (__arm_vdupq_x_n_s32): Remove. - (__arm_vdupq_x_n_u8): Remove. - (__arm_vdupq_x_n_u16): Remove. - (__arm_vdupq_x_n_u32): Remove. - (__arm_vdupq_n_f16): Remove. - (__arm_vdupq_n_f32): Remove. - (__arm_vdupq_m_n_f16): Remove. - (__arm_vdupq_m_n_f32): Remove. - (__arm_vdupq_x_n_f16): Remove. - (__arm_vdupq_x_n_f32): Remove. - (__arm_vdupq_n): Remove. - (__arm_vdupq_m): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (unary_n): New. - * config/arm/arm-mve-builtins-shapes.h (unary_n): New. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (MVE_FP_M_N_VDUPQ_ONLY) - (MVE_FP_N_VDUPQ_ONLY): New. - (mve_insn): Add vdupq. - * config/arm/mve.md (mve_vdupq_n_f): Rename into ... - (@mve_q_n_f): ... this. - (mve_vdupq_n_): Rename into ... - (@mve_q_n_): ... this. - (mve_vdupq_m_n_): Rename into ... - (@mve_q_m_n_): ... this. - (mve_vdupq_m_n_f): Rename into ... - (@mve_q_m_n_f): ... this. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vrev16q, vrev32q, vrev64q): - New. - * config/arm/arm-mve-builtins-base.def (vrev16q, vrev32q) - (vrev64q): New. - * config/arm/arm-mve-builtins-base.h (vrev16q, vrev32q) - (vrev64q): New. - * config/arm/arm_mve.h (vrev16q): Remove. - (vrev32q): Remove. - (vrev64q): Remove. - (vrev64q_m): Remove. - (vrev16q_m): Remove. - (vrev32q_m): Remove. - (vrev16q_x): Remove. - (vrev32q_x): Remove. - (vrev64q_x): Remove. - (vrev64q_f16): Remove. - (vrev64q_f32): Remove. - (vrev32q_f16): Remove. - (vrev16q_s8): Remove. - (vrev32q_s8): Remove. - (vrev32q_s16): Remove. - (vrev64q_s8): Remove. - (vrev64q_s16): Remove. - (vrev64q_s32): Remove. - (vrev64q_u8): Remove. - (vrev64q_u16): Remove. - (vrev64q_u32): Remove. - (vrev32q_u8): Remove. - (vrev32q_u16): Remove. - (vrev16q_u8): Remove. - (vrev64q_m_u8): Remove. - (vrev64q_m_s8): Remove. - (vrev64q_m_u16): Remove. - (vrev64q_m_s16): Remove. - (vrev64q_m_u32): Remove. - (vrev64q_m_s32): Remove. - (vrev16q_m_s8): Remove. - (vrev32q_m_f16): Remove. - (vrev16q_m_u8): Remove. - (vrev32q_m_s8): Remove. - (vrev64q_m_f16): Remove. - (vrev32q_m_u8): Remove. - (vrev32q_m_s16): Remove. - (vrev64q_m_f32): Remove. - (vrev32q_m_u16): Remove. - (vrev16q_x_s8): Remove. - (vrev16q_x_u8): Remove. - (vrev32q_x_s8): Remove. - (vrev32q_x_s16): Remove. - (vrev32q_x_u8): Remove. - (vrev32q_x_u16): Remove. - (vrev64q_x_s8): Remove. - (vrev64q_x_s16): Remove. - (vrev64q_x_s32): Remove. - (vrev64q_x_u8): Remove. - (vrev64q_x_u16): Remove. - (vrev64q_x_u32): Remove. - (vrev32q_x_f16): Remove. - (vrev64q_x_f16): Remove. - (vrev64q_x_f32): Remove. - (__arm_vrev16q_s8): Remove. - (__arm_vrev32q_s8): Remove. - (__arm_vrev32q_s16): Remove. - (__arm_vrev64q_s8): Remove. - (__arm_vrev64q_s16): Remove. - (__arm_vrev64q_s32): Remove. - (__arm_vrev64q_u8): Remove. - (__arm_vrev64q_u16): Remove. - (__arm_vrev64q_u32): Remove. - (__arm_vrev32q_u8): Remove. - (__arm_vrev32q_u16): Remove. - (__arm_vrev16q_u8): Remove. - (__arm_vrev64q_m_u8): Remove. - (__arm_vrev64q_m_s8): Remove. - (__arm_vrev64q_m_u16): Remove. - (__arm_vrev64q_m_s16): Remove. - (__arm_vrev64q_m_u32): Remove. - (__arm_vrev64q_m_s32): Remove. - (__arm_vrev16q_m_s8): Remove. - (__arm_vrev16q_m_u8): Remove. - (__arm_vrev32q_m_s8): Remove. - (__arm_vrev32q_m_u8): Remove. - (__arm_vrev32q_m_s16): Remove. - (__arm_vrev32q_m_u16): Remove. - (__arm_vrev16q_x_s8): Remove. - (__arm_vrev16q_x_u8): Remove. - (__arm_vrev32q_x_s8): Remove. - (__arm_vrev32q_x_s16): Remove. - (__arm_vrev32q_x_u8): Remove. - (__arm_vrev32q_x_u16): Remove. - (__arm_vrev64q_x_s8): Remove. - (__arm_vrev64q_x_s16): Remove. - (__arm_vrev64q_x_s32): Remove. - (__arm_vrev64q_x_u8): Remove. - (__arm_vrev64q_x_u16): Remove. - (__arm_vrev64q_x_u32): Remove. - (__arm_vrev64q_f16): Remove. - (__arm_vrev64q_f32): Remove. - (__arm_vrev32q_f16): Remove. - (__arm_vrev32q_m_f16): Remove. - (__arm_vrev64q_m_f16): Remove. - (__arm_vrev64q_m_f32): Remove. - (__arm_vrev32q_x_f16): Remove. - (__arm_vrev64q_x_f16): Remove. - (__arm_vrev64q_x_f32): Remove. - (__arm_vrev16q): Remove. - (__arm_vrev32q): Remove. - (__arm_vrev64q): Remove. - (__arm_vrev64q_m): Remove. - (__arm_vrev16q_m): Remove. - (__arm_vrev32q_m): Remove. - (__arm_vrev16q_x): Remove. - (__arm_vrev32q_x): Remove. - (__arm_vrev64q_x): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (MVE_V8HF, MVE_V16QI) - (MVE_FP_VREV64Q_ONLY, MVE_FP_M_VREV64Q_ONLY, MVE_FP_VREV32Q_ONLY) - (MVE_FP_M_VREV32Q_ONLY): New iterators. - (mve_insn): Add vrev16q, vrev32q, vrev64q. - * config/arm/mve.md (mve_vrev64q_f): Rename into ... - (@mve_q_f): ... this - (mve_vrev32q_fv8hf): Rename into @mve_q_f. - (mve_vrev64q_): Rename into ... - (@mve_q_): ... this. - (mve_vrev32q_): Rename into - @mve_q_. - (mve_vrev16q_v16qi): Rename into - @mve_q_. - (mve_vrev64q_m_): Rename into - @mve_q_m_. - (mve_vrev32q_m_fv8hf): Rename into @mve_q_m_f. - (mve_vrev32q_m_): Rename into - @mve_q_m_. - (mve_vrev64q_m_f): Rename into @mve_q_m_f. - (mve_vrev16q_m_v16qi): Rename into - @mve_q_m_. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vcmpeqq, vcmpneq, vcmpgeq) - (vcmpgtq, vcmpleq, vcmpltq, vcmpcsq, vcmphiq): New. - * config/arm/arm-mve-builtins-base.def (vcmpeqq, vcmpneq, vcmpgeq) - (vcmpgtq, vcmpleq, vcmpltq, vcmpcsq, vcmphiq): New. - * config/arm/arm-mve-builtins-base.h (vcmpeqq, vcmpneq, vcmpgeq) - (vcmpgtq, vcmpleq, vcmpltq, vcmpcsq, vcmphiq): New. - * config/arm/arm-mve-builtins-functions.h (class - unspec_based_mve_function_exact_insn_vcmp): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vcmp. - * config/arm/arm_mve.h (vcmpneq): Remove. - (vcmphiq): Remove. - (vcmpeqq): Remove. - (vcmpcsq): Remove. - (vcmpltq): Remove. - (vcmpleq): Remove. - (vcmpgtq): Remove. - (vcmpgeq): Remove. - (vcmpneq_m): Remove. - (vcmphiq_m): Remove. - (vcmpeqq_m): Remove. - (vcmpcsq_m): Remove. - (vcmpcsq_m_n): Remove. - (vcmpltq_m): Remove. - (vcmpleq_m): Remove. - (vcmpgtq_m): Remove. - (vcmpgeq_m): Remove. - (vcmpneq_s8): Remove. - (vcmpneq_s16): Remove. - (vcmpneq_s32): Remove. - (vcmpneq_u8): Remove. - (vcmpneq_u16): Remove. - (vcmpneq_u32): Remove. - (vcmpneq_n_u8): Remove. - (vcmphiq_u8): Remove. - (vcmphiq_n_u8): Remove. - (vcmpeqq_u8): Remove. - (vcmpeqq_n_u8): Remove. - (vcmpcsq_u8): Remove. - (vcmpcsq_n_u8): Remove. - (vcmpneq_n_s8): Remove. - (vcmpltq_s8): Remove. - (vcmpltq_n_s8): Remove. - (vcmpleq_s8): Remove. - (vcmpleq_n_s8): Remove. - (vcmpgtq_s8): Remove. - (vcmpgtq_n_s8): Remove. - (vcmpgeq_s8): Remove. - (vcmpgeq_n_s8): Remove. - (vcmpeqq_s8): Remove. - (vcmpeqq_n_s8): Remove. - (vcmpneq_n_u16): Remove. - (vcmphiq_u16): Remove. - (vcmphiq_n_u16): Remove. - (vcmpeqq_u16): Remove. - (vcmpeqq_n_u16): Remove. - (vcmpcsq_u16): Remove. - (vcmpcsq_n_u16): Remove. - (vcmpneq_n_s16): Remove. - (vcmpltq_s16): Remove. - (vcmpltq_n_s16): Remove. - (vcmpleq_s16): Remove. - (vcmpleq_n_s16): Remove. - (vcmpgtq_s16): Remove. - (vcmpgtq_n_s16): Remove. - (vcmpgeq_s16): Remove. - (vcmpgeq_n_s16): Remove. - (vcmpeqq_s16): Remove. - (vcmpeqq_n_s16): Remove. - (vcmpneq_n_u32): Remove. - (vcmphiq_u32): Remove. - (vcmphiq_n_u32): Remove. - (vcmpeqq_u32): Remove. - (vcmpeqq_n_u32): Remove. - (vcmpcsq_u32): Remove. - (vcmpcsq_n_u32): Remove. - (vcmpneq_n_s32): Remove. - (vcmpltq_s32): Remove. - (vcmpltq_n_s32): Remove. - (vcmpleq_s32): Remove. - (vcmpleq_n_s32): Remove. - (vcmpgtq_s32): Remove. - (vcmpgtq_n_s32): Remove. - (vcmpgeq_s32): Remove. - (vcmpgeq_n_s32): Remove. - (vcmpeqq_s32): Remove. - (vcmpeqq_n_s32): Remove. - (vcmpneq_n_f16): Remove. - (vcmpneq_f16): Remove. - (vcmpltq_n_f16): Remove. - (vcmpltq_f16): Remove. - (vcmpleq_n_f16): Remove. - (vcmpleq_f16): Remove. - (vcmpgtq_n_f16): Remove. - (vcmpgtq_f16): Remove. - (vcmpgeq_n_f16): Remove. - (vcmpgeq_f16): Remove. - (vcmpeqq_n_f16): Remove. - (vcmpeqq_f16): Remove. - (vcmpneq_n_f32): Remove. - (vcmpneq_f32): Remove. - (vcmpltq_n_f32): Remove. - (vcmpltq_f32): Remove. - (vcmpleq_n_f32): Remove. - (vcmpleq_f32): Remove. - (vcmpgtq_n_f32): Remove. - (vcmpgtq_f32): Remove. - (vcmpgeq_n_f32): Remove. - (vcmpgeq_f32): Remove. - (vcmpeqq_n_f32): Remove. - (vcmpeqq_f32): Remove. - (vcmpeqq_m_f16): Remove. - (vcmpeqq_m_f32): Remove. - (vcmpneq_m_u8): Remove. - (vcmpneq_m_n_u8): Remove. - (vcmphiq_m_u8): Remove. - (vcmphiq_m_n_u8): Remove. - (vcmpeqq_m_u8): Remove. - (vcmpeqq_m_n_u8): Remove. - (vcmpcsq_m_u8): Remove. - (vcmpcsq_m_n_u8): Remove. - (vcmpneq_m_s8): Remove. - (vcmpneq_m_n_s8): Remove. - (vcmpltq_m_s8): Remove. - (vcmpltq_m_n_s8): Remove. - (vcmpleq_m_s8): Remove. - (vcmpleq_m_n_s8): Remove. - (vcmpgtq_m_s8): Remove. - (vcmpgtq_m_n_s8): Remove. - (vcmpgeq_m_s8): Remove. - (vcmpgeq_m_n_s8): Remove. - (vcmpeqq_m_s8): Remove. - (vcmpeqq_m_n_s8): Remove. - (vcmpneq_m_u16): Remove. - (vcmpneq_m_n_u16): Remove. - (vcmphiq_m_u16): Remove. - (vcmphiq_m_n_u16): Remove. - (vcmpeqq_m_u16): Remove. - (vcmpeqq_m_n_u16): Remove. - (vcmpcsq_m_u16): Remove. - (vcmpcsq_m_n_u16): Remove. - (vcmpneq_m_s16): Remove. - (vcmpneq_m_n_s16): Remove. - (vcmpltq_m_s16): Remove. - (vcmpltq_m_n_s16): Remove. - (vcmpleq_m_s16): Remove. - (vcmpleq_m_n_s16): Remove. - (vcmpgtq_m_s16): Remove. - (vcmpgtq_m_n_s16): Remove. - (vcmpgeq_m_s16): Remove. - (vcmpgeq_m_n_s16): Remove. - (vcmpeqq_m_s16): Remove. - (vcmpeqq_m_n_s16): Remove. - (vcmpneq_m_u32): Remove. - (vcmpneq_m_n_u32): Remove. - (vcmphiq_m_u32): Remove. - (vcmphiq_m_n_u32): Remove. - (vcmpeqq_m_u32): Remove. - (vcmpeqq_m_n_u32): Remove. - (vcmpcsq_m_u32): Remove. - (vcmpcsq_m_n_u32): Remove. - (vcmpneq_m_s32): Remove. - (vcmpneq_m_n_s32): Remove. - (vcmpltq_m_s32): Remove. - (vcmpltq_m_n_s32): Remove. - (vcmpleq_m_s32): Remove. - (vcmpleq_m_n_s32): Remove. - (vcmpgtq_m_s32): Remove. - (vcmpgtq_m_n_s32): Remove. - (vcmpgeq_m_s32): Remove. - (vcmpgeq_m_n_s32): Remove. - (vcmpeqq_m_s32): Remove. - (vcmpeqq_m_n_s32): Remove. - (vcmpeqq_m_n_f16): Remove. - (vcmpgeq_m_f16): Remove. - (vcmpgeq_m_n_f16): Remove. - (vcmpgtq_m_f16): Remove. - (vcmpgtq_m_n_f16): Remove. - (vcmpleq_m_f16): Remove. - (vcmpleq_m_n_f16): Remove. - (vcmpltq_m_f16): Remove. - (vcmpltq_m_n_f16): Remove. - (vcmpneq_m_f16): Remove. - (vcmpneq_m_n_f16): Remove. - (vcmpeqq_m_n_f32): Remove. - (vcmpgeq_m_f32): Remove. - (vcmpgeq_m_n_f32): Remove. - (vcmpgtq_m_f32): Remove. - (vcmpgtq_m_n_f32): Remove. - (vcmpleq_m_f32): Remove. - (vcmpleq_m_n_f32): Remove. - (vcmpltq_m_f32): Remove. - (vcmpltq_m_n_f32): Remove. - (vcmpneq_m_f32): Remove. - (vcmpneq_m_n_f32): Remove. - (__arm_vcmpneq_s8): Remove. - (__arm_vcmpneq_s16): Remove. - (__arm_vcmpneq_s32): Remove. - (__arm_vcmpneq_u8): Remove. - (__arm_vcmpneq_u16): Remove. - (__arm_vcmpneq_u32): Remove. - (__arm_vcmpneq_n_u8): Remove. - (__arm_vcmphiq_u8): Remove. - (__arm_vcmphiq_n_u8): Remove. - (__arm_vcmpeqq_u8): Remove. - (__arm_vcmpeqq_n_u8): Remove. - (__arm_vcmpcsq_u8): Remove. - (__arm_vcmpcsq_n_u8): Remove. - (__arm_vcmpneq_n_s8): Remove. - (__arm_vcmpltq_s8): Remove. - (__arm_vcmpltq_n_s8): Remove. - (__arm_vcmpleq_s8): Remove. - (__arm_vcmpleq_n_s8): Remove. - (__arm_vcmpgtq_s8): Remove. - (__arm_vcmpgtq_n_s8): Remove. - (__arm_vcmpgeq_s8): Remove. - (__arm_vcmpgeq_n_s8): Remove. - (__arm_vcmpeqq_s8): Remove. - (__arm_vcmpeqq_n_s8): Remove. - (__arm_vcmpneq_n_u16): Remove. - (__arm_vcmphiq_u16): Remove. - (__arm_vcmphiq_n_u16): Remove. - (__arm_vcmpeqq_u16): Remove. - (__arm_vcmpeqq_n_u16): Remove. - (__arm_vcmpcsq_u16): Remove. - (__arm_vcmpcsq_n_u16): Remove. - (__arm_vcmpneq_n_s16): Remove. - (__arm_vcmpltq_s16): Remove. - (__arm_vcmpltq_n_s16): Remove. - (__arm_vcmpleq_s16): Remove. - (__arm_vcmpleq_n_s16): Remove. - (__arm_vcmpgtq_s16): Remove. - (__arm_vcmpgtq_n_s16): Remove. - (__arm_vcmpgeq_s16): Remove. - (__arm_vcmpgeq_n_s16): Remove. - (__arm_vcmpeqq_s16): Remove. - (__arm_vcmpeqq_n_s16): Remove. - (__arm_vcmpneq_n_u32): Remove. - (__arm_vcmphiq_u32): Remove. - (__arm_vcmphiq_n_u32): Remove. - (__arm_vcmpeqq_u32): Remove. - (__arm_vcmpeqq_n_u32): Remove. - (__arm_vcmpcsq_u32): Remove. - (__arm_vcmpcsq_n_u32): Remove. - (__arm_vcmpneq_n_s32): Remove. - (__arm_vcmpltq_s32): Remove. - (__arm_vcmpltq_n_s32): Remove. - (__arm_vcmpleq_s32): Remove. - (__arm_vcmpleq_n_s32): Remove. - (__arm_vcmpgtq_s32): Remove. - (__arm_vcmpgtq_n_s32): Remove. - (__arm_vcmpgeq_s32): Remove. - (__arm_vcmpgeq_n_s32): Remove. - (__arm_vcmpeqq_s32): Remove. - (__arm_vcmpeqq_n_s32): Remove. - (__arm_vcmpneq_m_u8): Remove. - (__arm_vcmpneq_m_n_u8): Remove. - (__arm_vcmphiq_m_u8): Remove. - (__arm_vcmphiq_m_n_u8): Remove. - (__arm_vcmpeqq_m_u8): Remove. - (__arm_vcmpeqq_m_n_u8): Remove. - (__arm_vcmpcsq_m_u8): Remove. - (__arm_vcmpcsq_m_n_u8): Remove. - (__arm_vcmpneq_m_s8): Remove. - (__arm_vcmpneq_m_n_s8): Remove. - (__arm_vcmpltq_m_s8): Remove. - (__arm_vcmpltq_m_n_s8): Remove. - (__arm_vcmpleq_m_s8): Remove. - (__arm_vcmpleq_m_n_s8): Remove. - (__arm_vcmpgtq_m_s8): Remove. - (__arm_vcmpgtq_m_n_s8): Remove. - (__arm_vcmpgeq_m_s8): Remove. - (__arm_vcmpgeq_m_n_s8): Remove. - (__arm_vcmpeqq_m_s8): Remove. - (__arm_vcmpeqq_m_n_s8): Remove. - (__arm_vcmpneq_m_u16): Remove. - (__arm_vcmpneq_m_n_u16): Remove. - (__arm_vcmphiq_m_u16): Remove. - (__arm_vcmphiq_m_n_u16): Remove. - (__arm_vcmpeqq_m_u16): Remove. - (__arm_vcmpeqq_m_n_u16): Remove. - (__arm_vcmpcsq_m_u16): Remove. - (__arm_vcmpcsq_m_n_u16): Remove. - (__arm_vcmpneq_m_s16): Remove. - (__arm_vcmpneq_m_n_s16): Remove. - (__arm_vcmpltq_m_s16): Remove. - (__arm_vcmpltq_m_n_s16): Remove. - (__arm_vcmpleq_m_s16): Remove. - (__arm_vcmpleq_m_n_s16): Remove. - (__arm_vcmpgtq_m_s16): Remove. - (__arm_vcmpgtq_m_n_s16): Remove. - (__arm_vcmpgeq_m_s16): Remove. - (__arm_vcmpgeq_m_n_s16): Remove. - (__arm_vcmpeqq_m_s16): Remove. - (__arm_vcmpeqq_m_n_s16): Remove. - (__arm_vcmpneq_m_u32): Remove. - (__arm_vcmpneq_m_n_u32): Remove. - (__arm_vcmphiq_m_u32): Remove. - (__arm_vcmphiq_m_n_u32): Remove. - (__arm_vcmpeqq_m_u32): Remove. - (__arm_vcmpeqq_m_n_u32): Remove. - (__arm_vcmpcsq_m_u32): Remove. - (__arm_vcmpcsq_m_n_u32): Remove. - (__arm_vcmpneq_m_s32): Remove. - (__arm_vcmpneq_m_n_s32): Remove. - (__arm_vcmpltq_m_s32): Remove. - (__arm_vcmpltq_m_n_s32): Remove. - (__arm_vcmpleq_m_s32): Remove. - (__arm_vcmpleq_m_n_s32): Remove. - (__arm_vcmpgtq_m_s32): Remove. - (__arm_vcmpgtq_m_n_s32): Remove. - (__arm_vcmpgeq_m_s32): Remove. - (__arm_vcmpgeq_m_n_s32): Remove. - (__arm_vcmpeqq_m_s32): Remove. - (__arm_vcmpeqq_m_n_s32): Remove. - (__arm_vcmpneq_n_f16): Remove. - (__arm_vcmpneq_f16): Remove. - (__arm_vcmpltq_n_f16): Remove. - (__arm_vcmpltq_f16): Remove. - (__arm_vcmpleq_n_f16): Remove. - (__arm_vcmpleq_f16): Remove. - (__arm_vcmpgtq_n_f16): Remove. - (__arm_vcmpgtq_f16): Remove. - (__arm_vcmpgeq_n_f16): Remove. - (__arm_vcmpgeq_f16): Remove. - (__arm_vcmpeqq_n_f16): Remove. - (__arm_vcmpeqq_f16): Remove. - (__arm_vcmpneq_n_f32): Remove. - (__arm_vcmpneq_f32): Remove. - (__arm_vcmpltq_n_f32): Remove. - (__arm_vcmpltq_f32): Remove. - (__arm_vcmpleq_n_f32): Remove. - (__arm_vcmpleq_f32): Remove. - (__arm_vcmpgtq_n_f32): Remove. - (__arm_vcmpgtq_f32): Remove. - (__arm_vcmpgeq_n_f32): Remove. - (__arm_vcmpgeq_f32): Remove. - (__arm_vcmpeqq_n_f32): Remove. - (__arm_vcmpeqq_f32): Remove. - (__arm_vcmpeqq_m_f16): Remove. - (__arm_vcmpeqq_m_f32): Remove. - (__arm_vcmpeqq_m_n_f16): Remove. - (__arm_vcmpgeq_m_f16): Remove. - (__arm_vcmpgeq_m_n_f16): Remove. - (__arm_vcmpgtq_m_f16): Remove. - (__arm_vcmpgtq_m_n_f16): Remove. - (__arm_vcmpleq_m_f16): Remove. - (__arm_vcmpleq_m_n_f16): Remove. - (__arm_vcmpltq_m_f16): Remove. - (__arm_vcmpltq_m_n_f16): Remove. - (__arm_vcmpneq_m_f16): Remove. - (__arm_vcmpneq_m_n_f16): Remove. - (__arm_vcmpeqq_m_n_f32): Remove. - (__arm_vcmpgeq_m_f32): Remove. - (__arm_vcmpgeq_m_n_f32): Remove. - (__arm_vcmpgtq_m_f32): Remove. - (__arm_vcmpgtq_m_n_f32): Remove. - (__arm_vcmpleq_m_f32): Remove. - (__arm_vcmpleq_m_n_f32): Remove. - (__arm_vcmpltq_m_f32): Remove. - (__arm_vcmpltq_m_n_f32): Remove. - (__arm_vcmpneq_m_f32): Remove. - (__arm_vcmpneq_m_n_f32): Remove. - (__arm_vcmpneq): Remove. - (__arm_vcmphiq): Remove. - (__arm_vcmpeqq): Remove. - (__arm_vcmpcsq): Remove. - (__arm_vcmpltq): Remove. - (__arm_vcmpleq): Remove. - (__arm_vcmpgtq): Remove. - (__arm_vcmpgeq): Remove. - (__arm_vcmpneq_m): Remove. - (__arm_vcmphiq_m): Remove. - (__arm_vcmpeqq_m): Remove. - (__arm_vcmpcsq_m): Remove. - (__arm_vcmpltq_m): Remove. - (__arm_vcmpleq_m): Remove. - (__arm_vcmpgtq_m): Remove. - (__arm_vcmpgeq_m): Remove. - -2023-05-11 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (cmp): New. - * config/arm/arm-mve-builtins-shapes.h (cmp): New. - -2023-05-11 Christophe Lyon - - * config/arm/iterators.md (MVE_CMP_M, MVE_CMP_M_F, MVE_CMP_M_N) - (MVE_CMP_M_N_F, mve_cmp_op1): New. - (isu): Add VCMP* - (supf): Likewise. - * config/arm/mve.md (mve_vcmpq_n_): Rename into ... - (@mve_vcmpq_n_): ... this. - (mve_vcmpeqq_m_f, mve_vcmpgeq_m_f) - (mve_vcmpgtq_m_f, mve_vcmpleq_m_f) - (mve_vcmpltq_m_f, mve_vcmpneq_m_f): Merge into ... - (@mve_vcmpq_m_f): ... this. - (mve_vcmpcsq_m_u, mve_vcmpeqq_m_) - (mve_vcmpgeq_m_s, mve_vcmpgtq_m_s) - (mve_vcmphiq_m_u, mve_vcmpleq_m_s) - (mve_vcmpltq_m_s, mve_vcmpneq_m_): Merge into - ... - (@mve_vcmpq_m_): ... this. - (mve_vcmpcsq_m_n_u, mve_vcmpeqq_m_n_) - (mve_vcmpgeq_m_n_s, mve_vcmpgtq_m_n_s) - (mve_vcmphiq_m_n_u, mve_vcmpleq_m_n_s) - (mve_vcmpltq_m_n_s, mve_vcmpneq_m_n_): Merge - into ... - (@mve_vcmpq_m_n_): ... this. - (mve_vcmpeqq_m_n_f, mve_vcmpgeq_m_n_f) - (mve_vcmpgtq_m_n_f, mve_vcmpleq_m_n_f) - (mve_vcmpltq_m_n_f, mve_vcmpneq_m_n_f): Merge into ... - (@mve_vcmpq_m_n_f): ... this. - -2023-05-11 Roger Sayle - - * match.pd : Simplify popcount(X|Y) + - popcount(X&Y) as popcount(X)+popcount(Y). Likewise, simplify - popcount(X)+popcount(Y)-popcount(X&Y) as popcount(X|Y), and - vice versa. - -2023-05-11 Roger Sayle - - * match.pd : Simplify popcount(bswap(x)) - as popcount(x). Simplify popcount(rotate(x,y)) as popcount(x). - : Simplify parity(bswap(x)) as parity(x). - Simplify parity(rotate(x,y)) as parity(x). - -2023-05-11 Juzhe-Zhong - - * config/riscv/autovec.md (@vec_series): New pattern - * config/riscv/riscv-protos.h (expand_vec_series): New function. - * config/riscv/riscv-v.cc (emit_binop): Ditto. - (emit_index_op): Ditto. - (expand_vec_series): Ditto. - (expand_const_vector): Add series vector handling. - * config/riscv/riscv.cc (riscv_const_insns): Enable series vector for testing. - -2023-05-10 Roger Sayle - - * config/i386/i386.md (*concat3_1): Use preferred - [(const_int 0)] idiom, instead of [(clobber (const_int 0))]. - (*concat3_2): Likewise. - (*concat3_3): Likewise. - (*concat3_4): Likewise. - (*concat3_5): Likewise. - (*concat3_6): Likewise. - (*concat3_7): Likewise. - -2023-05-10 Uros Bizjak - - PR target/92658 - * config/i386/mmx.md (sse4_1_v2qiv2si2): New insn pattern. - (v4qiv4hi2): New expander. - (v2hiv2si2): Ditto. - (v2qiv2si2): Ditto. - (v2qiv2hi2): Ditto. - -2023-05-10 Jeff Law - - * config/h8300/constraints.md (Q): Make this a special memory - constraint. - (Zz): Similarly. - -2023-05-10 Jakub Jelinek - - PR fortran/109788 - * ipa-prop.cc (ipa_get_callee_param_type): Don't return TREE_VALUE (t) - if t is void_list_node. - -2023-05-10 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_sqmovun_insn_le): Delete. - (aarch64_sqmovun_insn_be): Delete. - (aarch64_sqmovun): New define_insn. - (aarch64_sqmovun): Delete expander. - -2023-05-10 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_): - Rename to... - (aarch64_): ... This. - (aarch64_rev): Rename to... - (aarch64_rev): ... This. - -2023-05-10 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_q): - Rename to... - (aarch64_q): ... This. - (aarch64_qadd): Rename to... - (aarch64_qadd): ... This. - -2023-05-10 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md - (aarch64_qshrn_n_insn_le): Delete. - (aarch64_qshrn_n_insn_be): Delete. - (aarch64_qshrn_n_insn): New define_insn. - (aarch64_qshrn_n): Simplify expander. - -2023-05-10 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_xtn_insn_le): Delete. - (aarch64_xtn_insn_be): Likewise. - (trunc2): Rename to... - (trunc2): ... This. - (aarch64_xtn): Move under the above. Just emit the truncate RTL. - (aarch64_qmovn): Likewise. - (aarch64_qmovn): New define_insn. - (aarch64_qmovn_insn_le): Delete. - (aarch64_qmovn_insn_be): Likewise. - -2023-05-10 Li Xu - - * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): For vfmv.f.s/vmv.x.s - intruction replace null avl with (const_int 0). - -2023-05-10 Juzhe-Zhong - - * config/riscv/riscv.cc (riscv_support_vector_misalignment): Fix - incorrect codes. - -2023-05-10 Juzhe-Zhong - - PR target/109773 - * config/riscv/riscv-vsetvl.cc (avl_source_has_vsetvl_p): New function. - (source_equal_p): Fix dead loop in vsetvl avl checking. - -2023-05-10 Hans-Peter Nilsson - - * config/cris/cris.cc (cris_postdbr_cmpelim): Correct mode - of modeadjusted_dccr. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vmaxaq, vminaq): New. - * config/arm/arm-mve-builtins-base.def (vmaxaq, vminaq): New. - * config/arm/arm-mve-builtins-base.h (vmaxaq, vminaq): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vmaxaq and - vminaq. - * config/arm/arm_mve.h (vminaq): Remove. - (vmaxaq): Remove. - (vminaq_m): Remove. - (vmaxaq_m): Remove. - (vminaq_s8): Remove. - (vmaxaq_s8): Remove. - (vminaq_s16): Remove. - (vmaxaq_s16): Remove. - (vminaq_s32): Remove. - (vmaxaq_s32): Remove. - (vminaq_m_s8): Remove. - (vmaxaq_m_s8): Remove. - (vminaq_m_s16): Remove. - (vmaxaq_m_s16): Remove. - (vminaq_m_s32): Remove. - (vmaxaq_m_s32): Remove. - (__arm_vminaq_s8): Remove. - (__arm_vmaxaq_s8): Remove. - (__arm_vminaq_s16): Remove. - (__arm_vmaxaq_s16): Remove. - (__arm_vminaq_s32): Remove. - (__arm_vmaxaq_s32): Remove. - (__arm_vminaq_m_s8): Remove. - (__arm_vmaxaq_m_s8): Remove. - (__arm_vminaq_m_s16): Remove. - (__arm_vmaxaq_m_s16): Remove. - (__arm_vminaq_m_s32): Remove. - (__arm_vmaxaq_m_s32): Remove. - (__arm_vminaq): Remove. - (__arm_vmaxaq): Remove. - (__arm_vminaq_m): Remove. - (__arm_vmaxaq_m): Remove. - -2023-05-09 Christophe Lyon - - * config/arm/iterators.md (MVE_VMAXAVMINAQ, MVE_VMAXAVMINAQ_M): - New. - (mve_insn): Add vmaxa, vmina. - (supf): Add VMAXAQ_S, VMAXAQ_M_S, VMINAQ_S, VMINAQ_M_S. - * config/arm/mve.md (mve_vmaxaq_s, mve_vminaq_s): - Merge into ... - (@mve_q_): ... this. - (mve_vmaxaq_m_s, mve_vminaq_m_s): Merge into ... - (@mve_q_m_): ... this. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_maxamina): New. - * config/arm/arm-mve-builtins-shapes.h (binary_maxamina): New. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vmaxnmaq, vminnmaq): New. - * config/arm/arm-mve-builtins-base.def (vmaxnmaq, vminnmaq): New. - * config/arm/arm-mve-builtins-base.h (vmaxnmaq, vminnmaq): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vmaxnmaq and - vminnmaq. - * config/arm/arm_mve.h (vminnmaq): Remove. - (vmaxnmaq): Remove. - (vmaxnmaq_m): Remove. - (vminnmaq_m): Remove. - (vminnmaq_f16): Remove. - (vmaxnmaq_f16): Remove. - (vminnmaq_f32): Remove. - (vmaxnmaq_f32): Remove. - (vmaxnmaq_m_f16): Remove. - (vminnmaq_m_f16): Remove. - (vmaxnmaq_m_f32): Remove. - (vminnmaq_m_f32): Remove. - (__arm_vminnmaq_f16): Remove. - (__arm_vmaxnmaq_f16): Remove. - (__arm_vminnmaq_f32): Remove. - (__arm_vmaxnmaq_f32): Remove. - (__arm_vmaxnmaq_m_f16): Remove. - (__arm_vminnmaq_m_f16): Remove. - (__arm_vmaxnmaq_m_f32): Remove. - (__arm_vminnmaq_m_f32): Remove. - (__arm_vminnmaq): Remove. - (__arm_vmaxnmaq): Remove. - (__arm_vmaxnmaq_m): Remove. - (__arm_vminnmaq_m): Remove. - -2023-05-09 Christophe Lyon - - * config/arm/iterators.md (MVE_VMAXNMA_VMINNMAQ) - (MVE_VMAXNMA_VMINNMAQ_M): New. - (mve_insn): Add vmaxnma, vminnma. - * config/arm/mve.md (mve_vmaxnmaq_f, mve_vminnmaq_f): - Merge into ... - (@mve_q_f): ... this. - (mve_vmaxnmaq_m_f, mve_vminnmaq_m_f): Merge into ... - (@mve_q_m_f): ... this. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_PRED_P_F): New. - (vmaxnmavq, vmaxnmvq, vminnmavq, vminnmvq): New. - * config/arm/arm-mve-builtins-base.def (vmaxnmavq, vmaxnmvq) - (vminnmavq, vminnmvq): New. - * config/arm/arm-mve-builtins-base.h (vmaxnmavq, vmaxnmvq) - (vminnmavq, vminnmvq): New. - * config/arm/arm_mve.h (vminnmvq): Remove. - (vminnmavq): Remove. - (vmaxnmvq): Remove. - (vmaxnmavq): Remove. - (vmaxnmavq_p): Remove. - (vmaxnmvq_p): Remove. - (vminnmavq_p): Remove. - (vminnmvq_p): Remove. - (vminnmvq_f16): Remove. - (vminnmavq_f16): Remove. - (vmaxnmvq_f16): Remove. - (vmaxnmavq_f16): Remove. - (vminnmvq_f32): Remove. - (vminnmavq_f32): Remove. - (vmaxnmvq_f32): Remove. - (vmaxnmavq_f32): Remove. - (vmaxnmavq_p_f16): Remove. - (vmaxnmvq_p_f16): Remove. - (vminnmavq_p_f16): Remove. - (vminnmvq_p_f16): Remove. - (vmaxnmavq_p_f32): Remove. - (vmaxnmvq_p_f32): Remove. - (vminnmavq_p_f32): Remove. - (vminnmvq_p_f32): Remove. - (__arm_vminnmvq_f16): Remove. - (__arm_vminnmavq_f16): Remove. - (__arm_vmaxnmvq_f16): Remove. - (__arm_vmaxnmavq_f16): Remove. - (__arm_vminnmvq_f32): Remove. - (__arm_vminnmavq_f32): Remove. - (__arm_vmaxnmvq_f32): Remove. - (__arm_vmaxnmavq_f32): Remove. - (__arm_vmaxnmavq_p_f16): Remove. - (__arm_vmaxnmvq_p_f16): Remove. - (__arm_vminnmavq_p_f16): Remove. - (__arm_vminnmvq_p_f16): Remove. - (__arm_vmaxnmavq_p_f32): Remove. - (__arm_vmaxnmvq_p_f32): Remove. - (__arm_vminnmavq_p_f32): Remove. - (__arm_vminnmvq_p_f32): Remove. - (__arm_vminnmvq): Remove. - (__arm_vminnmavq): Remove. - (__arm_vmaxnmvq): Remove. - (__arm_vmaxnmavq): Remove. - (__arm_vmaxnmavq_p): Remove. - (__arm_vmaxnmvq_p): Remove. - (__arm_vminnmavq_p): Remove. - (__arm_vminnmvq_p): Remove. - (__arm_vmaxnmavq_m): Remove. - (__arm_vmaxnmvq_m): Remove. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-functions.h - (unspec_mve_function_exact_insn_pred_p): Use code_for_mve_q_p_f. - -2023-05-09 Christophe Lyon - - * config/arm/iterators.md (MVE_VMAXNMxV_MINNMxVQ) - (MVE_VMAXNMxV_MINNMxVQ_P): New. - (mve_insn): Add vmaxnmav, vmaxnmv, vminnmav, vminnmv. - * config/arm/mve.md (mve_vmaxnmavq_f, mve_vmaxnmvq_f) - (mve_vminnmavq_f, mve_vminnmvq_f): Merge into ... - (@mve_q_f): ... this. - (mve_vmaxnmavq_p_f, mve_vmaxnmvq_p_f) - (mve_vminnmavq_p_f, mve_vminnmvq_p_f): Merge into ... - (@mve_q_p_f): ... this. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vmaxnmq, vminnmq): New. - * config/arm/arm-mve-builtins-base.def (vmaxnmq, vminnmq): New. - * config/arm/arm-mve-builtins-base.h (vmaxnmq, vminnmq): New. - * config/arm/arm_mve.h (vminnmq): Remove. - (vmaxnmq): Remove. - (vmaxnmq_m): Remove. - (vminnmq_m): Remove. - (vminnmq_x): Remove. - (vmaxnmq_x): Remove. - (vminnmq_f16): Remove. - (vmaxnmq_f16): Remove. - (vminnmq_f32): Remove. - (vmaxnmq_f32): Remove. - (vmaxnmq_m_f32): Remove. - (vmaxnmq_m_f16): Remove. - (vminnmq_m_f32): Remove. - (vminnmq_m_f16): Remove. - (vminnmq_x_f16): Remove. - (vminnmq_x_f32): Remove. - (vmaxnmq_x_f16): Remove. - (vmaxnmq_x_f32): Remove. - (__arm_vminnmq_f16): Remove. - (__arm_vmaxnmq_f16): Remove. - (__arm_vminnmq_f32): Remove. - (__arm_vmaxnmq_f32): Remove. - (__arm_vmaxnmq_m_f32): Remove. - (__arm_vmaxnmq_m_f16): Remove. - (__arm_vminnmq_m_f32): Remove. - (__arm_vminnmq_m_f16): Remove. - (__arm_vminnmq_x_f16): Remove. - (__arm_vminnmq_x_f32): Remove. - (__arm_vmaxnmq_x_f16): Remove. - (__arm_vmaxnmq_x_f32): Remove. - (__arm_vminnmq): Remove. - (__arm_vmaxnmq): Remove. - (__arm_vmaxnmq_m): Remove. - (__arm_vminnmq_m): Remove. - (__arm_vminnmq_x): Remove. - (__arm_vmaxnmq_x): Remove. - -2023-05-09 Christophe Lyon - - * config/arm/iterators.md (MAX_MIN_F): New. - (MVE_FP_M_BINARY): Add VMAXNMQ_M_F, VMINNMQ_M_F. - (mve_insn): Add vmaxnm, vminnm. - (max_min_f_str): New. - * config/arm/mve.md (mve_vmaxnmq_f, mve_vminnmq_f): - Merge into ... - (@mve_q_f): ... this. - (mve_vmaxnmq_m_f, mve_vminnmq_m_f): Merge into ... - (@mve_q_m_f): ... this. - -2023-05-09 Christophe Lyon - - * config/arm/vec-common.md (smin3): Use VDQWH iterator. - (smax3): Likewise. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_PRED_P_S_U) - (FUNCTION_PRED_P_S): New. - (vmaxavq, vminavq, vmaxvq, vminvq): New. - * config/arm/arm-mve-builtins-base.def (vmaxavq, vminavq, vmaxvq) - (vminvq): New. - * config/arm/arm-mve-builtins-base.h (vmaxavq, vminavq, vmaxvq) - (vminvq): New. - * config/arm/arm_mve.h (vminvq): Remove. - (vmaxvq): Remove. - (vminvq_p): Remove. - (vmaxvq_p): Remove. - (vminvq_u8): Remove. - (vmaxvq_u8): Remove. - (vminvq_s8): Remove. - (vmaxvq_s8): Remove. - (vminvq_u16): Remove. - (vmaxvq_u16): Remove. - (vminvq_s16): Remove. - (vmaxvq_s16): Remove. - (vminvq_u32): Remove. - (vmaxvq_u32): Remove. - (vminvq_s32): Remove. - (vmaxvq_s32): Remove. - (vminvq_p_u8): Remove. - (vmaxvq_p_u8): Remove. - (vminvq_p_s8): Remove. - (vmaxvq_p_s8): Remove. - (vminvq_p_u16): Remove. - (vmaxvq_p_u16): Remove. - (vminvq_p_s16): Remove. - (vmaxvq_p_s16): Remove. - (vminvq_p_u32): Remove. - (vmaxvq_p_u32): Remove. - (vminvq_p_s32): Remove. - (vmaxvq_p_s32): Remove. - (__arm_vminvq_u8): Remove. - (__arm_vmaxvq_u8): Remove. - (__arm_vminvq_s8): Remove. - (__arm_vmaxvq_s8): Remove. - (__arm_vminvq_u16): Remove. - (__arm_vmaxvq_u16): Remove. - (__arm_vminvq_s16): Remove. - (__arm_vmaxvq_s16): Remove. - (__arm_vminvq_u32): Remove. - (__arm_vmaxvq_u32): Remove. - (__arm_vminvq_s32): Remove. - (__arm_vmaxvq_s32): Remove. - (__arm_vminvq_p_u8): Remove. - (__arm_vmaxvq_p_u8): Remove. - (__arm_vminvq_p_s8): Remove. - (__arm_vmaxvq_p_s8): Remove. - (__arm_vminvq_p_u16): Remove. - (__arm_vmaxvq_p_u16): Remove. - (__arm_vminvq_p_s16): Remove. - (__arm_vmaxvq_p_s16): Remove. - (__arm_vminvq_p_u32): Remove. - (__arm_vmaxvq_p_u32): Remove. - (__arm_vminvq_p_s32): Remove. - (__arm_vmaxvq_p_s32): Remove. - (__arm_vminvq): Remove. - (__arm_vmaxvq): Remove. - (__arm_vminvq_p): Remove. - (__arm_vmaxvq_p): Remove. - (vminavq): Remove. - (vmaxavq): Remove. - (vminavq_p): Remove. - (vmaxavq_p): Remove. - (vminavq_s8): Remove. - (vmaxavq_s8): Remove. - (vminavq_s16): Remove. - (vmaxavq_s16): Remove. - (vminavq_s32): Remove. - (vmaxavq_s32): Remove. - (vminavq_p_s8): Remove. - (vmaxavq_p_s8): Remove. - (vminavq_p_s16): Remove. - (vmaxavq_p_s16): Remove. - (vminavq_p_s32): Remove. - (vmaxavq_p_s32): Remove. - (__arm_vminavq_s8): Remove. - (__arm_vmaxavq_s8): Remove. - (__arm_vminavq_s16): Remove. - (__arm_vmaxavq_s16): Remove. - (__arm_vminavq_s32): Remove. - (__arm_vmaxavq_s32): Remove. - (__arm_vminavq_p_s8): Remove. - (__arm_vmaxavq_p_s8): Remove. - (__arm_vminavq_p_s16): Remove. - (__arm_vmaxavq_p_s16): Remove. - (__arm_vminavq_p_s32): Remove. - (__arm_vmaxavq_p_s32): Remove. - (__arm_vminavq): Remove. - (__arm_vmaxavq): Remove. - (__arm_vminavq_p): Remove. - (__arm_vmaxavq_p): Remove. - -2023-05-09 Christophe Lyon - - * config/arm/iterators.md (MVE_VMAXVQ_VMINVQ, MVE_VMAXVQ_VMINVQ_P): New. - (mve_insn): Add vmaxav, vmaxv, vminav, vminv. - (supf): Add VMAXAVQ_S, VMAXAVQ_P_S, VMINAVQ_S, VMINAVQ_P_S. - * config/arm/mve.md (mve_vmaxavq_s, mve_vmaxvq_) - (mve_vminavq_s, mve_vminvq_): Merge into ... - (@mve_q_): ... this. - (mve_vmaxavq_p_s, mve_vmaxvq_p_) - (mve_vminavq_p_s, mve_vminvq_p_): Merge into ... - (@mve_q_p_): ... this. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-functions.h (class - unspec_mve_function_exact_insn_pred_p): New. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_maxavminav): New. - * config/arm/arm-mve-builtins-shapes.h (binary_maxavminav): New. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_maxvminv): New. - * config/arm/arm-mve-builtins-shapes.h (binary_maxvminv): New. - -2023-05-09 Richard Sandiford - - * config/aarch64/aarch64-protos.h (aarch64_adjust_reg_alloc_order): - Declare. - * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define. - (ADJUST_REG_ALLOC_ORDER): Likewise. - * config/aarch64/aarch64.cc (aarch64_adjust_reg_alloc_order): New - function. - * config/aarch64/aarch64-sve.md (*vcond_mask_): Use - Upa rather than Upl for unpredicated movprfx alternatives. - -2023-05-09 Jeff Law - - * config/h8300/testcompare.md: Add peephole2 which uses a memory - load to set flags, thus eliminating a compare against zero. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vshllbq, vshlltq): New. - * config/arm/arm-mve-builtins-base.def (vshllbq, vshlltq): New. - * config/arm/arm-mve-builtins-base.h (vshllbq, vshlltq): New. - * config/arm/arm_mve.h (vshlltq): Remove. - (vshllbq): Remove. - (vshllbq_m): Remove. - (vshlltq_m): Remove. - (vshllbq_x): Remove. - (vshlltq_x): Remove. - (vshlltq_n_u8): Remove. - (vshllbq_n_u8): Remove. - (vshlltq_n_s8): Remove. - (vshllbq_n_s8): Remove. - (vshlltq_n_u16): Remove. - (vshllbq_n_u16): Remove. - (vshlltq_n_s16): Remove. - (vshllbq_n_s16): Remove. - (vshllbq_m_n_s8): Remove. - (vshllbq_m_n_s16): Remove. - (vshllbq_m_n_u8): Remove. - (vshllbq_m_n_u16): Remove. - (vshlltq_m_n_s8): Remove. - (vshlltq_m_n_s16): Remove. - (vshlltq_m_n_u8): Remove. - (vshlltq_m_n_u16): Remove. - (vshllbq_x_n_s8): Remove. - (vshllbq_x_n_s16): Remove. - (vshllbq_x_n_u8): Remove. - (vshllbq_x_n_u16): Remove. - (vshlltq_x_n_s8): Remove. - (vshlltq_x_n_s16): Remove. - (vshlltq_x_n_u8): Remove. - (vshlltq_x_n_u16): Remove. - (__arm_vshlltq_n_u8): Remove. - (__arm_vshllbq_n_u8): Remove. - (__arm_vshlltq_n_s8): Remove. - (__arm_vshllbq_n_s8): Remove. - (__arm_vshlltq_n_u16): Remove. - (__arm_vshllbq_n_u16): Remove. - (__arm_vshlltq_n_s16): Remove. - (__arm_vshllbq_n_s16): Remove. - (__arm_vshllbq_m_n_s8): Remove. - (__arm_vshllbq_m_n_s16): Remove. - (__arm_vshllbq_m_n_u8): Remove. - (__arm_vshllbq_m_n_u16): Remove. - (__arm_vshlltq_m_n_s8): Remove. - (__arm_vshlltq_m_n_s16): Remove. - (__arm_vshlltq_m_n_u8): Remove. - (__arm_vshlltq_m_n_u16): Remove. - (__arm_vshllbq_x_n_s8): Remove. - (__arm_vshllbq_x_n_s16): Remove. - (__arm_vshllbq_x_n_u8): Remove. - (__arm_vshllbq_x_n_u16): Remove. - (__arm_vshlltq_x_n_s8): Remove. - (__arm_vshlltq_x_n_s16): Remove. - (__arm_vshlltq_x_n_u8): Remove. - (__arm_vshlltq_x_n_u16): Remove. - (__arm_vshlltq): Remove. - (__arm_vshllbq): Remove. - (__arm_vshllbq_m): Remove. - (__arm_vshlltq_m): Remove. - (__arm_vshllbq_x): Remove. - (__arm_vshlltq_x): Remove. - -2023-05-09 Christophe Lyon - - * config/arm/iterators.md (mve_insn): Add vshllb, vshllt. - (VSHLLBQ_N, VSHLLTQ_N): Remove. - (VSHLLxQ_N): New. - (VSHLLBQ_M_N, VSHLLTQ_M_N): Remove. - (VSHLLxQ_M_N): New. - * config/arm/mve.md (mve_vshllbq_n_) - (mve_vshlltq_n_): Merge into ... - (@mve_q_n_): ... this. - (mve_vshllbq_m_n_, mve_vshlltq_m_n_): - Merge into ... - (@mve_q_m_n_): ... this. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_widen_n): New. - * config/arm/arm-mve-builtins-shapes.h (binary_widen_n): New. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vmovnbq, vmovntq, vqmovnbq) - (vqmovntq, vqmovunbq, vqmovuntq): New. - * config/arm/arm-mve-builtins-base.def (vmovnbq, vmovntq) - (vqmovnbq, vqmovntq, vqmovunbq, vqmovuntq): New. - * config/arm/arm-mve-builtins-base.h (vmovnbq, vmovntq, vqmovnbq) - (vqmovntq, vqmovunbq, vqmovuntq): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vmovnbq, - vmovntq, vqmovnbq, vqmovntq, vqmovunbq, vqmovuntq. - * config/arm/arm_mve.h (vqmovntq): Remove. - (vqmovnbq): Remove. - (vqmovnbq_m): Remove. - (vqmovntq_m): Remove. - (vqmovntq_u16): Remove. - (vqmovnbq_u16): Remove. - (vqmovntq_s16): Remove. - (vqmovnbq_s16): Remove. - (vqmovntq_u32): Remove. - (vqmovnbq_u32): Remove. - (vqmovntq_s32): Remove. - (vqmovnbq_s32): Remove. - (vqmovnbq_m_s16): Remove. - (vqmovntq_m_s16): Remove. - (vqmovnbq_m_u16): Remove. - (vqmovntq_m_u16): Remove. - (vqmovnbq_m_s32): Remove. - (vqmovntq_m_s32): Remove. - (vqmovnbq_m_u32): Remove. - (vqmovntq_m_u32): Remove. - (__arm_vqmovntq_u16): Remove. - (__arm_vqmovnbq_u16): Remove. - (__arm_vqmovntq_s16): Remove. - (__arm_vqmovnbq_s16): Remove. - (__arm_vqmovntq_u32): Remove. - (__arm_vqmovnbq_u32): Remove. - (__arm_vqmovntq_s32): Remove. - (__arm_vqmovnbq_s32): Remove. - (__arm_vqmovnbq_m_s16): Remove. - (__arm_vqmovntq_m_s16): Remove. - (__arm_vqmovnbq_m_u16): Remove. - (__arm_vqmovntq_m_u16): Remove. - (__arm_vqmovnbq_m_s32): Remove. - (__arm_vqmovntq_m_s32): Remove. - (__arm_vqmovnbq_m_u32): Remove. - (__arm_vqmovntq_m_u32): Remove. - (__arm_vqmovntq): Remove. - (__arm_vqmovnbq): Remove. - (__arm_vqmovnbq_m): Remove. - (__arm_vqmovntq_m): Remove. - (vmovntq): Remove. - (vmovnbq): Remove. - (vmovnbq_m): Remove. - (vmovntq_m): Remove. - (vmovntq_u16): Remove. - (vmovnbq_u16): Remove. - (vmovntq_s16): Remove. - (vmovnbq_s16): Remove. - (vmovntq_u32): Remove. - (vmovnbq_u32): Remove. - (vmovntq_s32): Remove. - (vmovnbq_s32): Remove. - (vmovnbq_m_s16): Remove. - (vmovntq_m_s16): Remove. - (vmovnbq_m_u16): Remove. - (vmovntq_m_u16): Remove. - (vmovnbq_m_s32): Remove. - (vmovntq_m_s32): Remove. - (vmovnbq_m_u32): Remove. - (vmovntq_m_u32): Remove. - (__arm_vmovntq_u16): Remove. - (__arm_vmovnbq_u16): Remove. - (__arm_vmovntq_s16): Remove. - (__arm_vmovnbq_s16): Remove. - (__arm_vmovntq_u32): Remove. - (__arm_vmovnbq_u32): Remove. - (__arm_vmovntq_s32): Remove. - (__arm_vmovnbq_s32): Remove. - (__arm_vmovnbq_m_s16): Remove. - (__arm_vmovntq_m_s16): Remove. - (__arm_vmovnbq_m_u16): Remove. - (__arm_vmovntq_m_u16): Remove. - (__arm_vmovnbq_m_s32): Remove. - (__arm_vmovntq_m_s32): Remove. - (__arm_vmovnbq_m_u32): Remove. - (__arm_vmovntq_m_u32): Remove. - (__arm_vmovntq): Remove. - (__arm_vmovnbq): Remove. - (__arm_vmovnbq_m): Remove. - (__arm_vmovntq_m): Remove. - (vqmovuntq): Remove. - (vqmovunbq): Remove. - (vqmovunbq_m): Remove. - (vqmovuntq_m): Remove. - (vqmovuntq_s16): Remove. - (vqmovunbq_s16): Remove. - (vqmovuntq_s32): Remove. - (vqmovunbq_s32): Remove. - (vqmovunbq_m_s16): Remove. - (vqmovuntq_m_s16): Remove. - (vqmovunbq_m_s32): Remove. - (vqmovuntq_m_s32): Remove. - (__arm_vqmovuntq_s16): Remove. - (__arm_vqmovunbq_s16): Remove. - (__arm_vqmovuntq_s32): Remove. - (__arm_vqmovunbq_s32): Remove. - (__arm_vqmovunbq_m_s16): Remove. - (__arm_vqmovuntq_m_s16): Remove. - (__arm_vqmovunbq_m_s32): Remove. - (__arm_vqmovuntq_m_s32): Remove. - (__arm_vqmovuntq): Remove. - (__arm_vqmovunbq): Remove. - (__arm_vqmovunbq_m): Remove. - (__arm_vqmovuntq_m): Remove. - -2023-05-09 Christophe Lyon - - * config/arm/iterators.md (MVE_MOVN, MVE_MOVN_M): New. - (mve_insn): Add vmovnb, vmovnt, vqmovnb, vqmovnt, vqmovunb, - vqmovunt. - (isu): Likewise. - (supf): Add VQMOVUNBQ_M_S, VQMOVUNBQ_S, VQMOVUNTQ_M_S, - VQMOVUNTQ_S. - * config/arm/mve.md (mve_vmovnbq_) - (mve_vmovntq_, mve_vqmovnbq_) - (mve_vqmovntq_, mve_vqmovunbq_s) - (mve_vqmovuntq_s): Merge into ... - (@mve_q_): ... this. - (mve_vmovnbq_m_, mve_vmovntq_m_) - (mve_vqmovnbq_m_, mve_vqmovntq_m_) - (mve_vqmovunbq_m_s, mve_vqmovuntq_m_s): Merge into ... - (@mve_q_m_): ... this. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_move_narrow): New. - (binary_move_narrow_unsigned): New. - * config/arm/arm-mve-builtins-shapes.h (binary_move_narrow): New. - (binary_move_narrow_unsigned): New. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_ONLY_F): New. - (vrndaq, vrndmq, vrndnq, vrndpq, vrndq, vrndxq): New. - * config/arm/arm-mve-builtins-base.def (vrndaq, vrndmq, vrndnq) - (vrndpq, vrndq, vrndxq): New. - * config/arm/arm-mve-builtins-base.h (vrndaq, vrndmq, vrndnq) - (vrndpq, vrndq, vrndxq): New. - * config/arm/arm_mve.h (vrndxq): Remove. - (vrndq): Remove. - (vrndpq): Remove. - (vrndnq): Remove. - (vrndmq): Remove. - (vrndaq): Remove. - (vrndaq_m): Remove. - (vrndmq_m): Remove. - (vrndnq_m): Remove. - (vrndpq_m): Remove. - (vrndq_m): Remove. - (vrndxq_m): Remove. - (vrndq_x): Remove. - (vrndnq_x): Remove. - (vrndmq_x): Remove. - (vrndpq_x): Remove. - (vrndaq_x): Remove. - (vrndxq_x): Remove. - (vrndxq_f16): Remove. - (vrndxq_f32): Remove. - (vrndq_f16): Remove. - (vrndq_f32): Remove. - (vrndpq_f16): Remove. - (vrndpq_f32): Remove. - (vrndnq_f16): Remove. - (vrndnq_f32): Remove. - (vrndmq_f16): Remove. - (vrndmq_f32): Remove. - (vrndaq_f16): Remove. - (vrndaq_f32): Remove. - (vrndaq_m_f16): Remove. - (vrndmq_m_f16): Remove. - (vrndnq_m_f16): Remove. - (vrndpq_m_f16): Remove. - (vrndq_m_f16): Remove. - (vrndxq_m_f16): Remove. - (vrndaq_m_f32): Remove. - (vrndmq_m_f32): Remove. - (vrndnq_m_f32): Remove. - (vrndpq_m_f32): Remove. - (vrndq_m_f32): Remove. - (vrndxq_m_f32): Remove. - (vrndq_x_f16): Remove. - (vrndq_x_f32): Remove. - (vrndnq_x_f16): Remove. - (vrndnq_x_f32): Remove. - (vrndmq_x_f16): Remove. - (vrndmq_x_f32): Remove. - (vrndpq_x_f16): Remove. - (vrndpq_x_f32): Remove. - (vrndaq_x_f16): Remove. - (vrndaq_x_f32): Remove. - (vrndxq_x_f16): Remove. - (vrndxq_x_f32): Remove. - (__arm_vrndxq_f16): Remove. - (__arm_vrndxq_f32): Remove. - (__arm_vrndq_f16): Remove. - (__arm_vrndq_f32): Remove. - (__arm_vrndpq_f16): Remove. - (__arm_vrndpq_f32): Remove. - (__arm_vrndnq_f16): Remove. - (__arm_vrndnq_f32): Remove. - (__arm_vrndmq_f16): Remove. - (__arm_vrndmq_f32): Remove. - (__arm_vrndaq_f16): Remove. - (__arm_vrndaq_f32): Remove. - (__arm_vrndaq_m_f16): Remove. - (__arm_vrndmq_m_f16): Remove. - (__arm_vrndnq_m_f16): Remove. - (__arm_vrndpq_m_f16): Remove. - (__arm_vrndq_m_f16): Remove. - (__arm_vrndxq_m_f16): Remove. - (__arm_vrndaq_m_f32): Remove. - (__arm_vrndmq_m_f32): Remove. - (__arm_vrndnq_m_f32): Remove. - (__arm_vrndpq_m_f32): Remove. - (__arm_vrndq_m_f32): Remove. - (__arm_vrndxq_m_f32): Remove. - (__arm_vrndq_x_f16): Remove. - (__arm_vrndq_x_f32): Remove. - (__arm_vrndnq_x_f16): Remove. - (__arm_vrndnq_x_f32): Remove. - (__arm_vrndmq_x_f16): Remove. - (__arm_vrndmq_x_f32): Remove. - (__arm_vrndpq_x_f16): Remove. - (__arm_vrndpq_x_f32): Remove. - (__arm_vrndaq_x_f16): Remove. - (__arm_vrndaq_x_f32): Remove. - (__arm_vrndxq_x_f16): Remove. - (__arm_vrndxq_x_f32): Remove. - (__arm_vrndxq): Remove. - (__arm_vrndq): Remove. - (__arm_vrndpq): Remove. - (__arm_vrndnq): Remove. - (__arm_vrndmq): Remove. - (__arm_vrndaq): Remove. - (__arm_vrndaq_m): Remove. - (__arm_vrndmq_m): Remove. - (__arm_vrndnq_m): Remove. - (__arm_vrndpq_m): Remove. - (__arm_vrndq_m): Remove. - (__arm_vrndxq_m): Remove. - (__arm_vrndq_x): Remove. - (__arm_vrndnq_x): Remove. - (__arm_vrndmq_x): Remove. - (__arm_vrndpq_x): Remove. - (__arm_vrndaq_x): Remove. - (__arm_vrndxq_x): Remove. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITHOUT_N_NO_U_F): New. - (vabsq, vnegq, vclsq, vclzq, vqabsq, vqnegq): New. - * config/arm/arm-mve-builtins-base.def (vabsq, vnegq, vclsq) - (vclzq, vqabsq, vqnegq): New. - * config/arm/arm-mve-builtins-base.h (vabsq, vnegq, vclsq, vclzq) - (vqabsq, vqnegq): New. - * config/arm/arm_mve.h (vabsq): Remove. - (vabsq_m): Remove. - (vabsq_x): Remove. - (vabsq_f16): Remove. - (vabsq_f32): Remove. - (vabsq_s8): Remove. - (vabsq_s16): Remove. - (vabsq_s32): Remove. - (vabsq_m_s8): Remove. - (vabsq_m_s16): Remove. - (vabsq_m_s32): Remove. - (vabsq_m_f16): Remove. - (vabsq_m_f32): Remove. - (vabsq_x_s8): Remove. - (vabsq_x_s16): Remove. - (vabsq_x_s32): Remove. - (vabsq_x_f16): Remove. - (vabsq_x_f32): Remove. - (__arm_vabsq_s8): Remove. - (__arm_vabsq_s16): Remove. - (__arm_vabsq_s32): Remove. - (__arm_vabsq_m_s8): Remove. - (__arm_vabsq_m_s16): Remove. - (__arm_vabsq_m_s32): Remove. - (__arm_vabsq_x_s8): Remove. - (__arm_vabsq_x_s16): Remove. - (__arm_vabsq_x_s32): Remove. - (__arm_vabsq_f16): Remove. - (__arm_vabsq_f32): Remove. - (__arm_vabsq_m_f16): Remove. - (__arm_vabsq_m_f32): Remove. - (__arm_vabsq_x_f16): Remove. - (__arm_vabsq_x_f32): Remove. - (__arm_vabsq): Remove. - (__arm_vabsq_m): Remove. - (__arm_vabsq_x): Remove. - (vnegq): Remove. - (vnegq_m): Remove. - (vnegq_x): Remove. - (vnegq_f16): Remove. - (vnegq_f32): Remove. - (vnegq_s8): Remove. - (vnegq_s16): Remove. - (vnegq_s32): Remove. - (vnegq_m_s8): Remove. - (vnegq_m_s16): Remove. - (vnegq_m_s32): Remove. - (vnegq_m_f16): Remove. - (vnegq_m_f32): Remove. - (vnegq_x_s8): Remove. - (vnegq_x_s16): Remove. - (vnegq_x_s32): Remove. - (vnegq_x_f16): Remove. - (vnegq_x_f32): Remove. - (__arm_vnegq_s8): Remove. - (__arm_vnegq_s16): Remove. - (__arm_vnegq_s32): Remove. - (__arm_vnegq_m_s8): Remove. - (__arm_vnegq_m_s16): Remove. - (__arm_vnegq_m_s32): Remove. - (__arm_vnegq_x_s8): Remove. - (__arm_vnegq_x_s16): Remove. - (__arm_vnegq_x_s32): Remove. - (__arm_vnegq_f16): Remove. - (__arm_vnegq_f32): Remove. - (__arm_vnegq_m_f16): Remove. - (__arm_vnegq_m_f32): Remove. - (__arm_vnegq_x_f16): Remove. - (__arm_vnegq_x_f32): Remove. - (__arm_vnegq): Remove. - (__arm_vnegq_m): Remove. - (__arm_vnegq_x): Remove. - (vclsq): Remove. - (vclsq_m): Remove. - (vclsq_x): Remove. - (vclsq_s8): Remove. - (vclsq_s16): Remove. - (vclsq_s32): Remove. - (vclsq_m_s8): Remove. - (vclsq_m_s16): Remove. - (vclsq_m_s32): Remove. - (vclsq_x_s8): Remove. - (vclsq_x_s16): Remove. - (vclsq_x_s32): Remove. - (__arm_vclsq_s8): Remove. - (__arm_vclsq_s16): Remove. - (__arm_vclsq_s32): Remove. - (__arm_vclsq_m_s8): Remove. - (__arm_vclsq_m_s16): Remove. - (__arm_vclsq_m_s32): Remove. - (__arm_vclsq_x_s8): Remove. - (__arm_vclsq_x_s16): Remove. - (__arm_vclsq_x_s32): Remove. - (__arm_vclsq): Remove. - (__arm_vclsq_m): Remove. - (__arm_vclsq_x): Remove. - (vclzq): Remove. - (vclzq_m): Remove. - (vclzq_x): Remove. - (vclzq_s8): Remove. - (vclzq_s16): Remove. - (vclzq_s32): Remove. - (vclzq_u8): Remove. - (vclzq_u16): Remove. - (vclzq_u32): Remove. - (vclzq_m_u8): Remove. - (vclzq_m_s8): Remove. - (vclzq_m_u16): Remove. - (vclzq_m_s16): Remove. - (vclzq_m_u32): Remove. - (vclzq_m_s32): Remove. - (vclzq_x_s8): Remove. - (vclzq_x_s16): Remove. - (vclzq_x_s32): Remove. - (vclzq_x_u8): Remove. - (vclzq_x_u16): Remove. - (vclzq_x_u32): Remove. - (__arm_vclzq_s8): Remove. - (__arm_vclzq_s16): Remove. - (__arm_vclzq_s32): Remove. - (__arm_vclzq_u8): Remove. - (__arm_vclzq_u16): Remove. - (__arm_vclzq_u32): Remove. - (__arm_vclzq_m_u8): Remove. - (__arm_vclzq_m_s8): Remove. - (__arm_vclzq_m_u16): Remove. - (__arm_vclzq_m_s16): Remove. - (__arm_vclzq_m_u32): Remove. - (__arm_vclzq_m_s32): Remove. - (__arm_vclzq_x_s8): Remove. - (__arm_vclzq_x_s16): Remove. - (__arm_vclzq_x_s32): Remove. - (__arm_vclzq_x_u8): Remove. - (__arm_vclzq_x_u16): Remove. - (__arm_vclzq_x_u32): Remove. - (__arm_vclzq): Remove. - (__arm_vclzq_m): Remove. - (__arm_vclzq_x): Remove. - (vqabsq): Remove. - (vqnegq): Remove. - (vqnegq_m): Remove. - (vqabsq_m): Remove. - (vqabsq_s8): Remove. - (vqabsq_s16): Remove. - (vqabsq_s32): Remove. - (vqnegq_s8): Remove. - (vqnegq_s16): Remove. - (vqnegq_s32): Remove. - (vqnegq_m_s8): Remove. - (vqabsq_m_s8): Remove. - (vqnegq_m_s16): Remove. - (vqabsq_m_s16): Remove. - (vqnegq_m_s32): Remove. - (vqabsq_m_s32): Remove. - (__arm_vqabsq_s8): Remove. - (__arm_vqabsq_s16): Remove. - (__arm_vqabsq_s32): Remove. - (__arm_vqnegq_s8): Remove. - (__arm_vqnegq_s16): Remove. - (__arm_vqnegq_s32): Remove. - (__arm_vqnegq_m_s8): Remove. - (__arm_vqabsq_m_s8): Remove. - (__arm_vqnegq_m_s16): Remove. - (__arm_vqabsq_m_s16): Remove. - (__arm_vqnegq_m_s32): Remove. - (__arm_vqabsq_m_s32): Remove. - (__arm_vqabsq): Remove. - (__arm_vqnegq): Remove. - (__arm_vqnegq_m): Remove. - (__arm_vqabsq_m): Remove. - -2023-05-09 Christophe Lyon - - * config/arm/iterators.md (MVE_INT_M_UNARY, MVE_INT_UNARY) - (MVE_FP_UNARY, MVE_FP_M_UNARY): New. - (mve_insn): Add vabs, vcls, vclz, vneg, vqabs, vqneg, vrnda, - vrndm, vrndn, vrndp, vrnd, vrndx. - (isu): Add VABSQ_M_S, VCLSQ_M_S, VCLZQ_M_S, VCLZQ_M_U, VNEGQ_M_S, - VQABSQ_M_S, VQNEGQ_M_S. - (mve_mnemo): New. - * config/arm/mve.md (mve_vrndq_m_f, mve_vrndxq_f) - (mve_vrndq_f, mve_vrndpq_f, mve_vrndnq_f) - (mve_vrndmq_f, mve_vrndaq_f): Merge into ... - (@mve_q_f): ... this. - (mve_vnegq_f, mve_vabsq_f): Merge into ... - (mve_vq_f): ... this. - (mve_vnegq_s, mve_vabsq_s): Merge into ... - (mve_vq_s): ... this. - (mve_vclsq_s, mve_vqnegq_s, mve_vqabsq_s): Merge into ... - (@mve_q_): ... this. - (mve_vabsq_m_s, mve_vclsq_m_s) - (mve_vclzq_m_, mve_vnegq_m_s) - (mve_vqabsq_m_s, mve_vqnegq_m_s): Merge into ... - (@mve_q_m_): ... this. - (mve_vabsq_m_f, mve_vnegq_m_f, mve_vrndaq_m_f) - (mve_vrndmq_m_f, mve_vrndnq_m_f, mve_vrndpq_m_f) - (mve_vrndxq_m_f): Merge into ... - (@mve_q_m_f): ... this. - -2023-05-09 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (unary): New. - * config/arm/arm-mve-builtins-shapes.h (unary): New. - -2023-05-09 Jakub Jelinek - - * mux-utils.h: Fix comment typo, avoides -> avoids. - -2023-05-09 Jakub Jelinek - - PR tree-optimization/109778 - * wide-int.h (wi::lrotate, wi::rrotate): Call wi::lrshift on - wi::zext (x, width) rather than x if width != precision, rather - than using wi::zext (right, width) after the shift. - * tree-ssa-ccp.cc (bit_value_binop): Call wi::ext on the results - of wi::lrotate or wi::rrotate. - -2023-05-09 Alexander Monakov - - * genmatch.cc (get_out_file): Make static and rename to ... - (choose_output): ... this. Reimplement. Update all uses ... - (decision_tree::gen): ... here and ... - (main): ... here. - -2023-05-09 Alexander Monakov - - * genmatch.cc (showUsage): Reimplement as ... - (usage): ...this. Adjust all uses. - (main): Print usage when no arguments. Add missing 'return 1'. - -2023-05-09 Alexander Monakov - - * genmatch.cc (header_file): Make static. - (emit_func): Rename to... - (fp_decl): ... this. Adjust all uses. - (fp_decl_done): New function. Use it... - (decision_tree::gen): ... here and... - (write_predicate): ... here. - (main): Adjust. - -2023-05-09 Richard Sandiford - - * ira-conflicts.cc (can_use_same_reg_p): Skip over non-matching - earlyclobbers. - -2023-05-08 Roger Sayle - Uros Bizjak - - * config/i386/i386.md (any_or_plus): Move definition earlier. - (*insvti_highpart_1): New define_insn_and_split to overwrite - (insv) the highpart of a TImode register/memory. - -2023-05-08 Eugene Rozenfeld - - * auto-profile.cc (auto_profile): Check todo from early_inline - to see if cleanup_tree_vfg needs to be called. - (early_inline): Return todo from early_inliner. - -2023-05-08 Kito Cheng - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::get_vector_info): - New. - (pass_vsetvl::get_block_info): New. - (pass_vsetvl::update_vector_info): New. - (pass_vsetvl::simple_vsetvl): Use get_vector_info. - (pass_vsetvl::compute_local_backward_infos): Ditto. - (pass_vsetvl::transfer_before): Ditto. - (pass_vsetvl::transfer_after): Ditto. - (pass_vsetvl::emit_local_forward_vsetvls): Ditto. - (pass_vsetvl::local_eliminate_vsetvl_insn): Ditto. - (pass_vsetvl::cleanup_insns): Ditto. - (pass_vsetvl::compute_local_backward_infos): Use - update_vector_info. - -2023-05-08 Jeff Law - - * config/stormy16/stormy16.md (zero_extendhisi2): Fix length. - -2023-05-08 Richard Biener - Michael Meissner - - PR middle-end/108623 - * tree-core.h (tree_type_common): Bump up precision field to 16 bits. - Align bit fields > 1 bit to at least an 8-bit boundary. - -2023-05-08 Andrew Pinski - - PR tree-optimization/109424 - PR tree-optimization/59424 - * tree-ssa-phiopt.cc (factor_out_conditional_conversion): Rename to ... - (factor_out_conditional_operation): This and add support for all unary - operations. - (pass_phiopt::execute): Update call to factor_out_conditional_conversion - to call factor_out_conditional_operation instead. - -2023-05-08 Andrew Pinski - - * tree-ssa-phiopt.cc (pass_phiopt::execute): Loop - over factor_out_conditional_conversion. - -2023-05-08 Andrew Pinski - - PR tree-optimization/49959 - PR tree-optimization/103771 - * tree-ssa-phiopt.cc (pass_phiopt::execute): Support - Diamond shapped bb form for factor_out_conditional_conversion. - -2023-05-08 Juzhe-Zhong - - * config/riscv/autovec.md (movmisalign): New pattern. - * config/riscv/riscv-protos.h (riscv_vector_mask_mode_p): Delete. - (riscv_vector_get_mask_mode): Ditto. - (get_mask_policy_no_pred): Ditto. - (get_tail_policy_no_pred): Ditto. - (get_mask_mode): New function. - * config/riscv/riscv-v.cc (get_mask_policy_no_pred): Delete. - (get_tail_policy_no_pred): Ditto. - (riscv_vector_mask_mode_p): Ditto. - (riscv_vector_get_mask_mode): Ditto. - (get_mask_mode): New function. - * config/riscv/riscv-vector-builtins.cc (use_real_merge_p): Remove - global extern. - (get_tail_policy_for_pred): Ditto. - * config/riscv/riscv-vector-builtins.h (get_tail_policy_for_pred): Ditto. - (get_mask_policy_for_pred): Ditto - * config/riscv/riscv.cc (riscv_get_mask_mode): Refine codes. - -2023-05-08 Kito Cheng - - * common/config/riscv/riscv-common.cc (riscv_select_multilib_by_abi): New. - (riscv_select_multilib): New. - (riscv_compute_multilib): Extract logic to riscv_select_multilib and - also handle select_by_abi. - * config/riscv/elf.h (RISCV_USE_CUSTOMISED_MULTI_LIB): Change it - to select_by_abi_arch_cmodel from 1. - * config/riscv/linux.h (RISCV_USE_CUSTOMISED_MULTI_LIB): Define. - * config/riscv/riscv-opts.h (enum riscv_multilib_select_kind): New. - -2023-05-08 Alexander Monakov - - * Makefile.in: (gimple-match-head.o-warn): Remove. - (GIMPLE_MATCH_PD_SEQ_SRC): Do not depend on - gimple-match-exports.cc. - (gimple-match-auto.h): Only depend on s-gimple-match. - (generic-match-auto.h): Likewise. - -2023-05-08 Andrew Pinski - - PR tree-optimization/109691 - * tree-ssa-dce.cc (simple_dce_from_worklist): Add need_eh_cleanup - argument. - If the removed statement can throw, have need_eh_cleanup - include the bb of that statement. - * tree-ssa-dce.h (simple_dce_from_worklist): Update declaration. - * tree-ssa-propagate.cc (struct prop_stats_d): Remove - num_dce. - (substitute_and_fold_dom_walker::substitute_and_fold_dom_walker): - Initialize dceworklist instead of stmts_to_remove. - (substitute_and_fold_dom_walker::~substitute_and_fold_dom_walker): - Destore dceworklist instead of stmts_to_remove. - (substitute_and_fold_dom_walker::before_dom_children): - Set dceworklist instead of adding to stmts_to_remove. - (substitute_and_fold_engine::substitute_and_fold): - Call simple_dce_from_worklist instead of poping - from the list. - Don't update the stat on removal statements. - -2023-05-07 Andrew Pinski - - PR target/109762 - * config/aarch64/aarch64-builtins.cc (aarch64_simd_switcher::aarch64_simd_switcher): - Change argument type to aarch64_feature_flags. - * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Change - constructor argument type to aarch64_feature_flags. - Change m_old_asm_isa_flags to be aarch64_feature_flags. - -2023-05-07 Jiufu Guo - - * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Generate - more parallel code if can_create_pseudo_p. - -2023-05-07 Roger Sayle - - PR target/43644 - * lower-subreg.cc (resolve_simple_move): Don't emit a clobber - immediately before moving a multi-word register by parts. - -2023-05-06 Jeff Law - - * config/riscv/riscv-v.cc (riscv_vector_preferred_simd_mode): Delete. - -2023-05-06 Michael Collison - - * tree-vect-slp.cc (can_duplicate_and_interleave_p): - Check that GET_MODE_NUNITS is a multiple of 2. - -2023-05-06 Michael Collison - - * config/riscv/riscv.cc - (riscv_estimated_poly_value): Implement - TARGET_ESTIMATED_POLY_VALUE. - (riscv_preferred_simd_mode): Implement - TARGET_VECTORIZE_PREFERRED_SIMD_MODE. - (riscv_get_mask_mode): Implement TARGET_VECTORIZE_GET_MASK_MODE. - (riscv_empty_mask_is_expensive): Implement - TARGET_VECTORIZE_EMPTY_MASK_IS_EXPENSIVE. - (riscv_vectorize_create_costs): Implement - TARGET_VECTORIZE_CREATE_COSTS. - (riscv_support_vector_misalignment): Implement - TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT. - (TARGET_ESTIMATED_POLY_VALUE): Register target macro. - (TARGET_VECTORIZE_GET_MASK_MODE): Ditto. - (TARGET_VECTORIZE_EMPTY_MASK_IS_EXPENSIVE): Ditto. - (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): Ditto. - -2023-05-06 Jeff Law - - * config/riscv/riscv-v.cc (autovec_use_vlmax_p): Remove - duplicate definition. - -2023-05-06 Michael Collison - - * config/riscv/riscv-v.cc (autovec_use_vlmax_p): New function. - (riscv_vector_preferred_simd_mode): Ditto. - (get_mask_policy_no_pred): Ditto. - (get_tail_policy_no_pred): Ditto. - (riscv_vector_mask_mode_p): Ditto. - (riscv_vector_get_mask_mode): Ditto. - -2023-05-06 Michael Collison - - * config/riscv/riscv-vector-builtins.cc (get_tail_policy_for_pred): - Remove static declaration to to make externally visible. - (get_mask_policy_for_pred): Ditto. - * config/riscv/riscv-vector-builtins.h (get_tail_policy_for_pred): - New external declaration. - (get_mask_policy_for_pred): Ditto. - -2023-05-06 Michael Collison - - * config/riscv/riscv-protos.h (riscv_vector_mask_mode_p): New. - (riscv_vector_get_mask_mode): Ditto. - (get_mask_policy_no_pred): Ditto. - (get_tail_policy_no_pred): Ditto. - -2023-05-06 Xi Ruoyao - - * config/loongarch/loongarch.h (struct machine_function): Add - reg_is_wrapped_separately array for register wrapping - information. - * config/loongarch/loongarch.cc - (loongarch_get_separate_components): New function. - (loongarch_components_for_bb): Likewise. - (loongarch_disqualify_components): Likewise. - (loongarch_process_components): Likewise. - (loongarch_emit_prologue_components): Likewise. - (loongarch_emit_epilogue_components): Likewise. - (loongarch_set_handled_components): Likewise. - (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define. - (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise. - (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise. - (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise. - (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise. - (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise. - (loongarch_for_each_saved_reg): Skip registers that are wrapped - separately. - -2023-05-06 Xi Ruoyao - - PR other/109522 - * Makefile.in (s-macro_list): Pass -nostdinc to - $(GCC_FOR_TARGET). - -2023-05-06 Juzhe-Zhong - - * config/riscv/riscv-protos.h (preferred_simd_mode): New function. - * config/riscv/riscv-v.cc (autovec_use_vlmax_p): Ditto. - (preferred_simd_mode): Ditto. - * config/riscv/riscv.cc (riscv_get_arg_info): Handle RVV type in function arg. - (riscv_convert_vector_bits): Adjust for RVV auto-vectorization. - (riscv_preferred_simd_mode): New function. - (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): New target hook support. - * config/riscv/vector.md: Add autovec.md. - * config/riscv/autovec.md: New file. - -2023-05-06 Jakub Jelinek - - * real.h (dconst_pi): Define. - (dconst_e_ptr): Formatting fix. - (dconst_pi_ptr): Declare. - * real.cc (dconst_pi_ptr): New function. - * gimple-range-op.cc (cfn_sincos::fold_range): Intersect the generic - boundaries range with range computed from sin/cos of the particular - bounds if the argument range is shorter than 2*pi. - (cfn_sincos::op1_range): Take bulps into account when determining - which result ranges are always invalid or behave like known NAN. - -2023-05-06 Aldy Hernandez - - * gimple-range-cache.cc (sbr_sparse_bitmap::set_bb_range): Do not - pass type to vrange_storage::equal_p. - * value-range-storage.cc (vrange_storage::equal_p): Remove type. - (irange_storage::equal_p): Same. - (frange_storage::equal_p): Same. - * value-range-storage.h (class frange_storage): Same. - -2023-05-06 Juzhe-Zhong - - PR target/109748 - * config/riscv/riscv-vsetvl.cc (local_eliminate_vsetvl_insn): Remove it. - (pass_vsetvl::local_eliminate_vsetvl_insn): New function. - -2023-05-06 liuhongt - - * combine.cc (maybe_swap_commutative_operands): Canonicalize - vec_merge when mask is constant. - * doc/md.texi: Document vec_merge canonicalization. - -2023-05-06 Jakub Jelinek - - * value-range.h (frange_arithmetic): Declare. - * range-op-float.cc (frange_arithmetic): No longer static. - * gimple-range-op.cc (frange_mpfr_arg1): New function. - (cfn_sqrt::fold_range): Intersect the generic boundaries range - with range computed from sqrt of the particular bounds. - (cfn_sqrt::op1_range): Intersect the generic boundaries range - with range computed from squared particular bounds. - -2023-05-06 Jakub Jelinek - - * Makefile.in (check_p_numbers): Rename to one_to_9999, move - earlier with helper variables also renamed. - (MATCH_SPLUT_SEQ): Use $(wordlist 1,$(NUM_MATCH_SPLITS),$(one_to_9999)) - instead of $(shell seq 1 $(NUM_MATCH_SPLITS)). - (check_p_subdirs): Use $(one_to_9999) instead of $(check_p_numbers). - -2023-05-06 Hans-Peter Nilsson - - * config/cris/cris.md (splitop): Add PLUS. - * config/cris/cris.cc (cris_split_constant): Also handle - PLUS when a split into two insns may be useful. - -2023-05-05 Hans-Peter Nilsson - - * config/cris/cris.md (movandsplit1): New define_peephole2. - -2023-05-05 Hans-Peter Nilsson - - * config/cris/cris.md (lsrandsplit1): New define_peephole2. - -2023-05-05 Hans-Peter Nilsson - - * doc/md.texi (define_peephole2): Document order of scanning. - -2023-05-05 Pan Li - Ju-Zhe Zhong - - * config/riscv/vector.md: Allow const as the operand of RVV - indexed load/store. - -2023-05-05 Pan Li - - * config/riscv/riscv.h (VECTOR_STORE_FLAG_VALUE): Add new macro - consumed by simplify_rtx. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vrshrq, vshrq): New. - * config/arm/arm-mve-builtins-base.def (vrshrq, vshrq): New. - * config/arm/arm-mve-builtins-base.h (vrshrq, vshrq): New. - * config/arm/arm_mve.h (vshrq): Remove. - (vrshrq): Remove. - (vrshrq_m): Remove. - (vshrq_m): Remove. - (vrshrq_x): Remove. - (vshrq_x): Remove. - (vshrq_n_s8): Remove. - (vshrq_n_s16): Remove. - (vshrq_n_s32): Remove. - (vshrq_n_u8): Remove. - (vshrq_n_u16): Remove. - (vshrq_n_u32): Remove. - (vrshrq_n_u8): Remove. - (vrshrq_n_s8): Remove. - (vrshrq_n_u16): Remove. - (vrshrq_n_s16): Remove. - (vrshrq_n_u32): Remove. - (vrshrq_n_s32): Remove. - (vrshrq_m_n_s8): Remove. - (vrshrq_m_n_s32): Remove. - (vrshrq_m_n_s16): Remove. - (vrshrq_m_n_u8): Remove. - (vrshrq_m_n_u32): Remove. - (vrshrq_m_n_u16): Remove. - (vshrq_m_n_s8): Remove. - (vshrq_m_n_s32): Remove. - (vshrq_m_n_s16): Remove. - (vshrq_m_n_u8): Remove. - (vshrq_m_n_u32): Remove. - (vshrq_m_n_u16): Remove. - (vrshrq_x_n_s8): Remove. - (vrshrq_x_n_s16): Remove. - (vrshrq_x_n_s32): Remove. - (vrshrq_x_n_u8): Remove. - (vrshrq_x_n_u16): Remove. - (vrshrq_x_n_u32): Remove. - (vshrq_x_n_s8): Remove. - (vshrq_x_n_s16): Remove. - (vshrq_x_n_s32): Remove. - (vshrq_x_n_u8): Remove. - (vshrq_x_n_u16): Remove. - (vshrq_x_n_u32): Remove. - (__arm_vshrq_n_s8): Remove. - (__arm_vshrq_n_s16): Remove. - (__arm_vshrq_n_s32): Remove. - (__arm_vshrq_n_u8): Remove. - (__arm_vshrq_n_u16): Remove. - (__arm_vshrq_n_u32): Remove. - (__arm_vrshrq_n_u8): Remove. - (__arm_vrshrq_n_s8): Remove. - (__arm_vrshrq_n_u16): Remove. - (__arm_vrshrq_n_s16): Remove. - (__arm_vrshrq_n_u32): Remove. - (__arm_vrshrq_n_s32): Remove. - (__arm_vrshrq_m_n_s8): Remove. - (__arm_vrshrq_m_n_s32): Remove. - (__arm_vrshrq_m_n_s16): Remove. - (__arm_vrshrq_m_n_u8): Remove. - (__arm_vrshrq_m_n_u32): Remove. - (__arm_vrshrq_m_n_u16): Remove. - (__arm_vshrq_m_n_s8): Remove. - (__arm_vshrq_m_n_s32): Remove. - (__arm_vshrq_m_n_s16): Remove. - (__arm_vshrq_m_n_u8): Remove. - (__arm_vshrq_m_n_u32): Remove. - (__arm_vshrq_m_n_u16): Remove. - (__arm_vrshrq_x_n_s8): Remove. - (__arm_vrshrq_x_n_s16): Remove. - (__arm_vrshrq_x_n_s32): Remove. - (__arm_vrshrq_x_n_u8): Remove. - (__arm_vrshrq_x_n_u16): Remove. - (__arm_vrshrq_x_n_u32): Remove. - (__arm_vshrq_x_n_s8): Remove. - (__arm_vshrq_x_n_s16): Remove. - (__arm_vshrq_x_n_s32): Remove. - (__arm_vshrq_x_n_u8): Remove. - (__arm_vshrq_x_n_u16): Remove. - (__arm_vshrq_x_n_u32): Remove. - (__arm_vshrq): Remove. - (__arm_vrshrq): Remove. - (__arm_vrshrq_m): Remove. - (__arm_vshrq_m): Remove. - (__arm_vrshrq_x): Remove. - (__arm_vshrq_x): Remove. - -2023-05-05 Christophe Lyon - - * config/arm/iterators.md (MVE_VSHRQ_M_N, MVE_VSHRQ_N): New. - (mve_insn): Add vrshr, vshr. - * config/arm/mve.md (mve_vshrq_n_) - (mve_vrshrq_n_): Merge into ... - (@mve_q_n_): ... this. - (mve_vrshrq_m_n_, mve_vshrq_m_n_): Merge - into ... - (@mve_q_m_n_): ... this. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_rshift): New. - * config/arm/arm-mve-builtins-shapes.h (binary_rshift): New. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_ONLY_N_NO_U_F): New. - (vqshrunbq, vqshruntq, vqrshrunbq, vqrshruntq): New. - * config/arm/arm-mve-builtins-base.def (vqshrunbq, vqshruntq) - (vqrshrunbq, vqrshruntq): New. - * config/arm/arm-mve-builtins-base.h (vqshrunbq, vqshruntq) - (vqrshrunbq, vqrshruntq): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vqshrunbq, - vqshruntq, vqrshrunbq, vqrshruntq. - * config/arm/arm_mve.h (vqrshrunbq): Remove. - (vqrshruntq): Remove. - (vqrshrunbq_m): Remove. - (vqrshruntq_m): Remove. - (vqrshrunbq_n_s16): Remove. - (vqrshrunbq_n_s32): Remove. - (vqrshruntq_n_s16): Remove. - (vqrshruntq_n_s32): Remove. - (vqrshrunbq_m_n_s32): Remove. - (vqrshrunbq_m_n_s16): Remove. - (vqrshruntq_m_n_s32): Remove. - (vqrshruntq_m_n_s16): Remove. - (__arm_vqrshrunbq_n_s16): Remove. - (__arm_vqrshrunbq_n_s32): Remove. - (__arm_vqrshruntq_n_s16): Remove. - (__arm_vqrshruntq_n_s32): Remove. - (__arm_vqrshrunbq_m_n_s32): Remove. - (__arm_vqrshrunbq_m_n_s16): Remove. - (__arm_vqrshruntq_m_n_s32): Remove. - (__arm_vqrshruntq_m_n_s16): Remove. - (__arm_vqrshrunbq): Remove. - (__arm_vqrshruntq): Remove. - (__arm_vqrshrunbq_m): Remove. - (__arm_vqrshruntq_m): Remove. - (vqshrunbq): Remove. - (vqshruntq): Remove. - (vqshrunbq_m): Remove. - (vqshruntq_m): Remove. - (vqshrunbq_n_s16): Remove. - (vqshruntq_n_s16): Remove. - (vqshrunbq_n_s32): Remove. - (vqshruntq_n_s32): Remove. - (vqshrunbq_m_n_s32): Remove. - (vqshrunbq_m_n_s16): Remove. - (vqshruntq_m_n_s32): Remove. - (vqshruntq_m_n_s16): Remove. - (__arm_vqshrunbq_n_s16): Remove. - (__arm_vqshruntq_n_s16): Remove. - (__arm_vqshrunbq_n_s32): Remove. - (__arm_vqshruntq_n_s32): Remove. - (__arm_vqshrunbq_m_n_s32): Remove. - (__arm_vqshrunbq_m_n_s16): Remove. - (__arm_vqshruntq_m_n_s32): Remove. - (__arm_vqshruntq_m_n_s16): Remove. - (__arm_vqshrunbq): Remove. - (__arm_vqshruntq): Remove. - (__arm_vqshrunbq_m): Remove. - (__arm_vqshruntq_m): Remove. - -2023-05-05 Christophe Lyon - - * config/arm/iterators.md (MVE_SHRN_N): Add VQRSHRUNBQ, - VQRSHRUNTQ, VQSHRUNBQ, VQSHRUNTQ. - (MVE_SHRN_M_N): Likewise. - (mve_insn): Add vqrshrunb, vqrshrunt, vqshrunb, vqshrunt. - (isu): Add VQRSHRUNBQ, VQRSHRUNTQ, VQSHRUNBQ, VQSHRUNTQ. - (supf): Likewise. - * config/arm/mve.md (mve_vqrshrunbq_n_s): Remove. - (mve_vqrshruntq_n_s): Remove. - (mve_vqshrunbq_n_s): Remove. - (mve_vqshruntq_n_s): Remove. - (mve_vqrshrunbq_m_n_s): Remove. - (mve_vqrshruntq_m_n_s): Remove. - (mve_vqshrunbq_m_n_s): Remove. - (mve_vqshruntq_m_n_s): Remove. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc - (binary_rshift_narrow_unsigned): New. - * config/arm/arm-mve-builtins-shapes.h - (binary_rshift_narrow_unsigned): New. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_ONLY_N_NO_F): New. - (vshrnbq, vshrntq, vrshrnbq, vrshrntq, vqshrnbq, vqshrntq) - (vqrshrnbq, vqrshrntq): New. - * config/arm/arm-mve-builtins-base.def (vshrnbq, vshrntq) - (vrshrnbq, vrshrntq, vqshrnbq, vqshrntq, vqrshrnbq, vqrshrntq): - New. - * config/arm/arm-mve-builtins-base.h (vshrnbq, vshrntq, vrshrnbq) - (vrshrntq, vqshrnbq, vqshrntq, vqrshrnbq, vqrshrntq): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vshrnbq, - vshrntq, vrshrnbq, vrshrntq, vqshrnbq, vqshrntq, vqrshrnbq, - vqrshrntq. - * config/arm/arm_mve.h (vshrnbq): Remove. - (vshrntq): Remove. - (vshrnbq_m): Remove. - (vshrntq_m): Remove. - (vshrnbq_n_s16): Remove. - (vshrntq_n_s16): Remove. - (vshrnbq_n_u16): Remove. - (vshrntq_n_u16): Remove. - (vshrnbq_n_s32): Remove. - (vshrntq_n_s32): Remove. - (vshrnbq_n_u32): Remove. - (vshrntq_n_u32): Remove. - (vshrnbq_m_n_s32): Remove. - (vshrnbq_m_n_s16): Remove. - (vshrnbq_m_n_u32): Remove. - (vshrnbq_m_n_u16): Remove. - (vshrntq_m_n_s32): Remove. - (vshrntq_m_n_s16): Remove. - (vshrntq_m_n_u32): Remove. - (vshrntq_m_n_u16): Remove. - (__arm_vshrnbq_n_s16): Remove. - (__arm_vshrntq_n_s16): Remove. - (__arm_vshrnbq_n_u16): Remove. - (__arm_vshrntq_n_u16): Remove. - (__arm_vshrnbq_n_s32): Remove. - (__arm_vshrntq_n_s32): Remove. - (__arm_vshrnbq_n_u32): Remove. - (__arm_vshrntq_n_u32): Remove. - (__arm_vshrnbq_m_n_s32): Remove. - (__arm_vshrnbq_m_n_s16): Remove. - (__arm_vshrnbq_m_n_u32): Remove. - (__arm_vshrnbq_m_n_u16): Remove. - (__arm_vshrntq_m_n_s32): Remove. - (__arm_vshrntq_m_n_s16): Remove. - (__arm_vshrntq_m_n_u32): Remove. - (__arm_vshrntq_m_n_u16): Remove. - (__arm_vshrnbq): Remove. - (__arm_vshrntq): Remove. - (__arm_vshrnbq_m): Remove. - (__arm_vshrntq_m): Remove. - (vrshrnbq): Remove. - (vrshrntq): Remove. - (vrshrnbq_m): Remove. - (vrshrntq_m): Remove. - (vrshrnbq_n_s16): Remove. - (vrshrntq_n_s16): Remove. - (vrshrnbq_n_u16): Remove. - (vrshrntq_n_u16): Remove. - (vrshrnbq_n_s32): Remove. - (vrshrntq_n_s32): Remove. - (vrshrnbq_n_u32): Remove. - (vrshrntq_n_u32): Remove. - (vrshrnbq_m_n_s32): Remove. - (vrshrnbq_m_n_s16): Remove. - (vrshrnbq_m_n_u32): Remove. - (vrshrnbq_m_n_u16): Remove. - (vrshrntq_m_n_s32): Remove. - (vrshrntq_m_n_s16): Remove. - (vrshrntq_m_n_u32): Remove. - (vrshrntq_m_n_u16): Remove. - (__arm_vrshrnbq_n_s16): Remove. - (__arm_vrshrntq_n_s16): Remove. - (__arm_vrshrnbq_n_u16): Remove. - (__arm_vrshrntq_n_u16): Remove. - (__arm_vrshrnbq_n_s32): Remove. - (__arm_vrshrntq_n_s32): Remove. - (__arm_vrshrnbq_n_u32): Remove. - (__arm_vrshrntq_n_u32): Remove. - (__arm_vrshrnbq_m_n_s32): Remove. - (__arm_vrshrnbq_m_n_s16): Remove. - (__arm_vrshrnbq_m_n_u32): Remove. - (__arm_vrshrnbq_m_n_u16): Remove. - (__arm_vrshrntq_m_n_s32): Remove. - (__arm_vrshrntq_m_n_s16): Remove. - (__arm_vrshrntq_m_n_u32): Remove. - (__arm_vrshrntq_m_n_u16): Remove. - (__arm_vrshrnbq): Remove. - (__arm_vrshrntq): Remove. - (__arm_vrshrnbq_m): Remove. - (__arm_vrshrntq_m): Remove. - (vqshrnbq): Remove. - (vqshrntq): Remove. - (vqshrnbq_m): Remove. - (vqshrntq_m): Remove. - (vqshrnbq_n_s16): Remove. - (vqshrntq_n_s16): Remove. - (vqshrnbq_n_u16): Remove. - (vqshrntq_n_u16): Remove. - (vqshrnbq_n_s32): Remove. - (vqshrntq_n_s32): Remove. - (vqshrnbq_n_u32): Remove. - (vqshrntq_n_u32): Remove. - (vqshrnbq_m_n_s32): Remove. - (vqshrnbq_m_n_s16): Remove. - (vqshrnbq_m_n_u32): Remove. - (vqshrnbq_m_n_u16): Remove. - (vqshrntq_m_n_s32): Remove. - (vqshrntq_m_n_s16): Remove. - (vqshrntq_m_n_u32): Remove. - (vqshrntq_m_n_u16): Remove. - (__arm_vqshrnbq_n_s16): Remove. - (__arm_vqshrntq_n_s16): Remove. - (__arm_vqshrnbq_n_u16): Remove. - (__arm_vqshrntq_n_u16): Remove. - (__arm_vqshrnbq_n_s32): Remove. - (__arm_vqshrntq_n_s32): Remove. - (__arm_vqshrnbq_n_u32): Remove. - (__arm_vqshrntq_n_u32): Remove. - (__arm_vqshrnbq_m_n_s32): Remove. - (__arm_vqshrnbq_m_n_s16): Remove. - (__arm_vqshrnbq_m_n_u32): Remove. - (__arm_vqshrnbq_m_n_u16): Remove. - (__arm_vqshrntq_m_n_s32): Remove. - (__arm_vqshrntq_m_n_s16): Remove. - (__arm_vqshrntq_m_n_u32): Remove. - (__arm_vqshrntq_m_n_u16): Remove. - (__arm_vqshrnbq): Remove. - (__arm_vqshrntq): Remove. - (__arm_vqshrnbq_m): Remove. - (__arm_vqshrntq_m): Remove. - (vqrshrnbq): Remove. - (vqrshrntq): Remove. - (vqrshrnbq_m): Remove. - (vqrshrntq_m): Remove. - (vqrshrnbq_n_s16): Remove. - (vqrshrnbq_n_u16): Remove. - (vqrshrnbq_n_s32): Remove. - (vqrshrnbq_n_u32): Remove. - (vqrshrntq_n_s16): Remove. - (vqrshrntq_n_u16): Remove. - (vqrshrntq_n_s32): Remove. - (vqrshrntq_n_u32): Remove. - (vqrshrnbq_m_n_s32): Remove. - (vqrshrnbq_m_n_s16): Remove. - (vqrshrnbq_m_n_u32): Remove. - (vqrshrnbq_m_n_u16): Remove. - (vqrshrntq_m_n_s32): Remove. - (vqrshrntq_m_n_s16): Remove. - (vqrshrntq_m_n_u32): Remove. - (vqrshrntq_m_n_u16): Remove. - (__arm_vqrshrnbq_n_s16): Remove. - (__arm_vqrshrnbq_n_u16): Remove. - (__arm_vqrshrnbq_n_s32): Remove. - (__arm_vqrshrnbq_n_u32): Remove. - (__arm_vqrshrntq_n_s16): Remove. - (__arm_vqrshrntq_n_u16): Remove. - (__arm_vqrshrntq_n_s32): Remove. - (__arm_vqrshrntq_n_u32): Remove. - (__arm_vqrshrnbq_m_n_s32): Remove. - (__arm_vqrshrnbq_m_n_s16): Remove. - (__arm_vqrshrnbq_m_n_u32): Remove. - (__arm_vqrshrnbq_m_n_u16): Remove. - (__arm_vqrshrntq_m_n_s32): Remove. - (__arm_vqrshrntq_m_n_s16): Remove. - (__arm_vqrshrntq_m_n_u32): Remove. - (__arm_vqrshrntq_m_n_u16): Remove. - (__arm_vqrshrnbq): Remove. - (__arm_vqrshrntq): Remove. - (__arm_vqrshrnbq_m): Remove. - (__arm_vqrshrntq_m): Remove. - -2023-05-05 Christophe Lyon - - * config/arm/iterators.md (MVE_SHRN_N, MVE_SHRN_M_N): New. - (mve_insn): Add vqrshrnb, vqrshrnt, vqshrnb, vqshrnt, vrshrnb, - vrshrnt, vshrnb, vshrnt. - (isu): New. - * config/arm/mve.md (mve_vqrshrnbq_n_) - (mve_vqrshrntq_n_, mve_vqshrnbq_n_) - (mve_vqshrntq_n_, mve_vrshrnbq_n_) - (mve_vrshrntq_n_, mve_vshrnbq_n_) - (mve_vshrntq_n_): Merge into ... - (@mve_q_n_): ... this. - (mve_vqrshrnbq_m_n_, mve_vqrshrntq_m_n_) - (mve_vqshrnbq_m_n_, mve_vqshrntq_m_n_) - (mve_vrshrnbq_m_n_, mve_vrshrntq_m_n_) - (mve_vshrnbq_m_n_, mve_vshrntq_m_n_): - Merge into ... - (@mve_q_m_n_): ... this. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_rshift_narrow): - New. - * config/arm/arm-mve-builtins-shapes.h (binary_rshift_narrow): New. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_RTX_M_NO_F): New. - (vmaxq, vminq): New. - * config/arm/arm-mve-builtins-base.def (vmaxq, vminq): New. - * config/arm/arm-mve-builtins-base.h (vmaxq, vminq): New. - * config/arm/arm_mve.h (vminq): Remove. - (vmaxq): Remove. - (vmaxq_m): Remove. - (vminq_m): Remove. - (vminq_x): Remove. - (vmaxq_x): Remove. - (vminq_u8): Remove. - (vmaxq_u8): Remove. - (vminq_s8): Remove. - (vmaxq_s8): Remove. - (vminq_u16): Remove. - (vmaxq_u16): Remove. - (vminq_s16): Remove. - (vmaxq_s16): Remove. - (vminq_u32): Remove. - (vmaxq_u32): Remove. - (vminq_s32): Remove. - (vmaxq_s32): Remove. - (vmaxq_m_s8): Remove. - (vmaxq_m_s32): Remove. - (vmaxq_m_s16): Remove. - (vmaxq_m_u8): Remove. - (vmaxq_m_u32): Remove. - (vmaxq_m_u16): Remove. - (vminq_m_s8): Remove. - (vminq_m_s32): Remove. - (vminq_m_s16): Remove. - (vminq_m_u8): Remove. - (vminq_m_u32): Remove. - (vminq_m_u16): Remove. - (vminq_x_s8): Remove. - (vminq_x_s16): Remove. - (vminq_x_s32): Remove. - (vminq_x_u8): Remove. - (vminq_x_u16): Remove. - (vminq_x_u32): Remove. - (vmaxq_x_s8): Remove. - (vmaxq_x_s16): Remove. - (vmaxq_x_s32): Remove. - (vmaxq_x_u8): Remove. - (vmaxq_x_u16): Remove. - (vmaxq_x_u32): Remove. - (__arm_vminq_u8): Remove. - (__arm_vmaxq_u8): Remove. - (__arm_vminq_s8): Remove. - (__arm_vmaxq_s8): Remove. - (__arm_vminq_u16): Remove. - (__arm_vmaxq_u16): Remove. - (__arm_vminq_s16): Remove. - (__arm_vmaxq_s16): Remove. - (__arm_vminq_u32): Remove. - (__arm_vmaxq_u32): Remove. - (__arm_vminq_s32): Remove. - (__arm_vmaxq_s32): Remove. - (__arm_vmaxq_m_s8): Remove. - (__arm_vmaxq_m_s32): Remove. - (__arm_vmaxq_m_s16): Remove. - (__arm_vmaxq_m_u8): Remove. - (__arm_vmaxq_m_u32): Remove. - (__arm_vmaxq_m_u16): Remove. - (__arm_vminq_m_s8): Remove. - (__arm_vminq_m_s32): Remove. - (__arm_vminq_m_s16): Remove. - (__arm_vminq_m_u8): Remove. - (__arm_vminq_m_u32): Remove. - (__arm_vminq_m_u16): Remove. - (__arm_vminq_x_s8): Remove. - (__arm_vminq_x_s16): Remove. - (__arm_vminq_x_s32): Remove. - (__arm_vminq_x_u8): Remove. - (__arm_vminq_x_u16): Remove. - (__arm_vminq_x_u32): Remove. - (__arm_vmaxq_x_s8): Remove. - (__arm_vmaxq_x_s16): Remove. - (__arm_vmaxq_x_s32): Remove. - (__arm_vmaxq_x_u8): Remove. - (__arm_vmaxq_x_u16): Remove. - (__arm_vmaxq_x_u32): Remove. - (__arm_vminq): Remove. - (__arm_vmaxq): Remove. - (__arm_vmaxq_m): Remove. - (__arm_vminq_m): Remove. - (__arm_vminq_x): Remove. - (__arm_vmaxq_x): Remove. - -2023-05-05 Christophe Lyon - - * config/arm/iterators.md (MAX_MIN_SU): New. - (max_min_su_str): New. - (max_min_supf): New. - * config/arm/mve.md (mve_vmaxq_s, mve_vmaxq_u) - (mve_vminq_s, mve_vminq_u): Merge into ... - (mve_q_): ... this. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_M_N_R): New. - (vqshlq, vshlq): New. - * config/arm/arm-mve-builtins-base.def (vqshlq, vshlq): New. - * config/arm/arm-mve-builtins-base.h (vqshlq, vshlq): New. - * config/arm/arm_mve.h (vshlq): Remove. - (vshlq_r): Remove. - (vshlq_n): Remove. - (vshlq_m_r): Remove. - (vshlq_m): Remove. - (vshlq_m_n): Remove. - (vshlq_x): Remove. - (vshlq_x_n): Remove. - (vshlq_s8): Remove. - (vshlq_s16): Remove. - (vshlq_s32): Remove. - (vshlq_u8): Remove. - (vshlq_u16): Remove. - (vshlq_u32): Remove. - (vshlq_r_u8): Remove. - (vshlq_n_u8): Remove. - (vshlq_r_s8): Remove. - (vshlq_n_s8): Remove. - (vshlq_r_u16): Remove. - (vshlq_n_u16): Remove. - (vshlq_r_s16): Remove. - (vshlq_n_s16): Remove. - (vshlq_r_u32): Remove. - (vshlq_n_u32): Remove. - (vshlq_r_s32): Remove. - (vshlq_n_s32): Remove. - (vshlq_m_r_u8): Remove. - (vshlq_m_r_s8): Remove. - (vshlq_m_r_u16): Remove. - (vshlq_m_r_s16): Remove. - (vshlq_m_r_u32): Remove. - (vshlq_m_r_s32): Remove. - (vshlq_m_u8): Remove. - (vshlq_m_s8): Remove. - (vshlq_m_u16): Remove. - (vshlq_m_s16): Remove. - (vshlq_m_u32): Remove. - (vshlq_m_s32): Remove. - (vshlq_m_n_s8): Remove. - (vshlq_m_n_s32): Remove. - (vshlq_m_n_s16): Remove. - (vshlq_m_n_u8): Remove. - (vshlq_m_n_u32): Remove. - (vshlq_m_n_u16): Remove. - (vshlq_x_s8): Remove. - (vshlq_x_s16): Remove. - (vshlq_x_s32): Remove. - (vshlq_x_u8): Remove. - (vshlq_x_u16): Remove. - (vshlq_x_u32): Remove. - (vshlq_x_n_s8): Remove. - (vshlq_x_n_s16): Remove. - (vshlq_x_n_s32): Remove. - (vshlq_x_n_u8): Remove. - (vshlq_x_n_u16): Remove. - (vshlq_x_n_u32): Remove. - (__arm_vshlq_s8): Remove. - (__arm_vshlq_s16): Remove. - (__arm_vshlq_s32): Remove. - (__arm_vshlq_u8): Remove. - (__arm_vshlq_u16): Remove. - (__arm_vshlq_u32): Remove. - (__arm_vshlq_r_u8): Remove. - (__arm_vshlq_n_u8): Remove. - (__arm_vshlq_r_s8): Remove. - (__arm_vshlq_n_s8): Remove. - (__arm_vshlq_r_u16): Remove. - (__arm_vshlq_n_u16): Remove. - (__arm_vshlq_r_s16): Remove. - (__arm_vshlq_n_s16): Remove. - (__arm_vshlq_r_u32): Remove. - (__arm_vshlq_n_u32): Remove. - (__arm_vshlq_r_s32): Remove. - (__arm_vshlq_n_s32): Remove. - (__arm_vshlq_m_r_u8): Remove. - (__arm_vshlq_m_r_s8): Remove. - (__arm_vshlq_m_r_u16): Remove. - (__arm_vshlq_m_r_s16): Remove. - (__arm_vshlq_m_r_u32): Remove. - (__arm_vshlq_m_r_s32): Remove. - (__arm_vshlq_m_u8): Remove. - (__arm_vshlq_m_s8): Remove. - (__arm_vshlq_m_u16): Remove. - (__arm_vshlq_m_s16): Remove. - (__arm_vshlq_m_u32): Remove. - (__arm_vshlq_m_s32): Remove. - (__arm_vshlq_m_n_s8): Remove. - (__arm_vshlq_m_n_s32): Remove. - (__arm_vshlq_m_n_s16): Remove. - (__arm_vshlq_m_n_u8): Remove. - (__arm_vshlq_m_n_u32): Remove. - (__arm_vshlq_m_n_u16): Remove. - (__arm_vshlq_x_s8): Remove. - (__arm_vshlq_x_s16): Remove. - (__arm_vshlq_x_s32): Remove. - (__arm_vshlq_x_u8): Remove. - (__arm_vshlq_x_u16): Remove. - (__arm_vshlq_x_u32): Remove. - (__arm_vshlq_x_n_s8): Remove. - (__arm_vshlq_x_n_s16): Remove. - (__arm_vshlq_x_n_s32): Remove. - (__arm_vshlq_x_n_u8): Remove. - (__arm_vshlq_x_n_u16): Remove. - (__arm_vshlq_x_n_u32): Remove. - (__arm_vshlq): Remove. - (__arm_vshlq_r): Remove. - (__arm_vshlq_n): Remove. - (__arm_vshlq_m_r): Remove. - (__arm_vshlq_m): Remove. - (__arm_vshlq_m_n): Remove. - (__arm_vshlq_x): Remove. - (__arm_vshlq_x_n): Remove. - (vqshlq): Remove. - (vqshlq_r): Remove. - (vqshlq_n): Remove. - (vqshlq_m_r): Remove. - (vqshlq_m_n): Remove. - (vqshlq_m): Remove. - (vqshlq_u8): Remove. - (vqshlq_r_u8): Remove. - (vqshlq_n_u8): Remove. - (vqshlq_s8): Remove. - (vqshlq_r_s8): Remove. - (vqshlq_n_s8): Remove. - (vqshlq_u16): Remove. - (vqshlq_r_u16): Remove. - (vqshlq_n_u16): Remove. - (vqshlq_s16): Remove. - (vqshlq_r_s16): Remove. - (vqshlq_n_s16): Remove. - (vqshlq_u32): Remove. - (vqshlq_r_u32): Remove. - (vqshlq_n_u32): Remove. - (vqshlq_s32): Remove. - (vqshlq_r_s32): Remove. - (vqshlq_n_s32): Remove. - (vqshlq_m_r_u8): Remove. - (vqshlq_m_r_s8): Remove. - (vqshlq_m_r_u16): Remove. - (vqshlq_m_r_s16): Remove. - (vqshlq_m_r_u32): Remove. - (vqshlq_m_r_s32): Remove. - (vqshlq_m_n_s8): Remove. - (vqshlq_m_n_s32): Remove. - (vqshlq_m_n_s16): Remove. - (vqshlq_m_n_u8): Remove. - (vqshlq_m_n_u32): Remove. - (vqshlq_m_n_u16): Remove. - (vqshlq_m_s8): Remove. - (vqshlq_m_s32): Remove. - (vqshlq_m_s16): Remove. - (vqshlq_m_u8): Remove. - (vqshlq_m_u32): Remove. - (vqshlq_m_u16): Remove. - (__arm_vqshlq_u8): Remove. - (__arm_vqshlq_r_u8): Remove. - (__arm_vqshlq_n_u8): Remove. - (__arm_vqshlq_s8): Remove. - (__arm_vqshlq_r_s8): Remove. - (__arm_vqshlq_n_s8): Remove. - (__arm_vqshlq_u16): Remove. - (__arm_vqshlq_r_u16): Remove. - (__arm_vqshlq_n_u16): Remove. - (__arm_vqshlq_s16): Remove. - (__arm_vqshlq_r_s16): Remove. - (__arm_vqshlq_n_s16): Remove. - (__arm_vqshlq_u32): Remove. - (__arm_vqshlq_r_u32): Remove. - (__arm_vqshlq_n_u32): Remove. - (__arm_vqshlq_s32): Remove. - (__arm_vqshlq_r_s32): Remove. - (__arm_vqshlq_n_s32): Remove. - (__arm_vqshlq_m_r_u8): Remove. - (__arm_vqshlq_m_r_s8): Remove. - (__arm_vqshlq_m_r_u16): Remove. - (__arm_vqshlq_m_r_s16): Remove. - (__arm_vqshlq_m_r_u32): Remove. - (__arm_vqshlq_m_r_s32): Remove. - (__arm_vqshlq_m_n_s8): Remove. - (__arm_vqshlq_m_n_s32): Remove. - (__arm_vqshlq_m_n_s16): Remove. - (__arm_vqshlq_m_n_u8): Remove. - (__arm_vqshlq_m_n_u32): Remove. - (__arm_vqshlq_m_n_u16): Remove. - (__arm_vqshlq_m_s8): Remove. - (__arm_vqshlq_m_s32): Remove. - (__arm_vqshlq_m_s16): Remove. - (__arm_vqshlq_m_u8): Remove. - (__arm_vqshlq_m_u32): Remove. - (__arm_vqshlq_m_u16): Remove. - (__arm_vqshlq): Remove. - (__arm_vqshlq_r): Remove. - (__arm_vqshlq_n): Remove. - (__arm_vqshlq_m_r): Remove. - (__arm_vqshlq_m_n): Remove. - (__arm_vqshlq_m): Remove. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-functions.h (class - unspec_mve_function_exact_insn_vshl): New. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_lshift_r): New. - * config/arm/arm-mve-builtins-shapes.h (binary_lshift_r): New. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins.cc (has_inactive_argument) - (finish_opt_n_resolution): Handle MODE_r. - * config/arm/arm-mve-builtins.def (r): New mode. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_lshift): New. - * config/arm/arm-mve-builtins-shapes.h (binary_lshift): New. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITHOUT_N): New. - (vabdq): New. - * config/arm/arm-mve-builtins-base.def (vabdq): New. - * config/arm/arm-mve-builtins-base.h (vabdq): New. - * config/arm/arm_mve.h (vabdq): Remove. - (vabdq_m): Remove. - (vabdq_x): Remove. - (vabdq_u8): Remove. - (vabdq_s8): Remove. - (vabdq_u16): Remove. - (vabdq_s16): Remove. - (vabdq_u32): Remove. - (vabdq_s32): Remove. - (vabdq_f16): Remove. - (vabdq_f32): Remove. - (vabdq_m_s8): Remove. - (vabdq_m_s32): Remove. - (vabdq_m_s16): Remove. - (vabdq_m_u8): Remove. - (vabdq_m_u32): Remove. - (vabdq_m_u16): Remove. - (vabdq_m_f32): Remove. - (vabdq_m_f16): Remove. - (vabdq_x_s8): Remove. - (vabdq_x_s16): Remove. - (vabdq_x_s32): Remove. - (vabdq_x_u8): Remove. - (vabdq_x_u16): Remove. - (vabdq_x_u32): Remove. - (vabdq_x_f16): Remove. - (vabdq_x_f32): Remove. - (__arm_vabdq_u8): Remove. - (__arm_vabdq_s8): Remove. - (__arm_vabdq_u16): Remove. - (__arm_vabdq_s16): Remove. - (__arm_vabdq_u32): Remove. - (__arm_vabdq_s32): Remove. - (__arm_vabdq_m_s8): Remove. - (__arm_vabdq_m_s32): Remove. - (__arm_vabdq_m_s16): Remove. - (__arm_vabdq_m_u8): Remove. - (__arm_vabdq_m_u32): Remove. - (__arm_vabdq_m_u16): Remove. - (__arm_vabdq_x_s8): Remove. - (__arm_vabdq_x_s16): Remove. - (__arm_vabdq_x_s32): Remove. - (__arm_vabdq_x_u8): Remove. - (__arm_vabdq_x_u16): Remove. - (__arm_vabdq_x_u32): Remove. - (__arm_vabdq_f16): Remove. - (__arm_vabdq_f32): Remove. - (__arm_vabdq_m_f32): Remove. - (__arm_vabdq_m_f16): Remove. - (__arm_vabdq_x_f16): Remove. - (__arm_vabdq_x_f32): Remove. - (__arm_vabdq): Remove. - (__arm_vabdq_m): Remove. - (__arm_vabdq_x): Remove. - -2023-05-05 Christophe Lyon - - * config/arm/iterators.md (MVE_FP_M_BINARY): Add vabdq. - (MVE_FP_VABDQ_ONLY): New. - (mve_insn): Add vabd. - * config/arm/mve.md (mve_vabdq_f): Move into ... - (@mve_q_f): ... this. - (mve_vabdq_m_f): Remove. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vqrdmulhq): New. - * config/arm/arm-mve-builtins-base.def (vqrdmulhq): New. - * config/arm/arm-mve-builtins-base.h (vqrdmulhq): New. - * config/arm/arm_mve.h (vqrdmulhq): Remove. - (vqrdmulhq_m): Remove. - (vqrdmulhq_s8): Remove. - (vqrdmulhq_n_s8): Remove. - (vqrdmulhq_s16): Remove. - (vqrdmulhq_n_s16): Remove. - (vqrdmulhq_s32): Remove. - (vqrdmulhq_n_s32): Remove. - (vqrdmulhq_m_n_s8): Remove. - (vqrdmulhq_m_n_s32): Remove. - (vqrdmulhq_m_n_s16): Remove. - (vqrdmulhq_m_s8): Remove. - (vqrdmulhq_m_s32): Remove. - (vqrdmulhq_m_s16): Remove. - (__arm_vqrdmulhq_s8): Remove. - (__arm_vqrdmulhq_n_s8): Remove. - (__arm_vqrdmulhq_s16): Remove. - (__arm_vqrdmulhq_n_s16): Remove. - (__arm_vqrdmulhq_s32): Remove. - (__arm_vqrdmulhq_n_s32): Remove. - (__arm_vqrdmulhq_m_n_s8): Remove. - (__arm_vqrdmulhq_m_n_s32): Remove. - (__arm_vqrdmulhq_m_n_s16): Remove. - (__arm_vqrdmulhq_m_s8): Remove. - (__arm_vqrdmulhq_m_s32): Remove. - (__arm_vqrdmulhq_m_s16): Remove. - (__arm_vqrdmulhq): Remove. - (__arm_vqrdmulhq_m): Remove. - -2023-05-05 Christophe Lyon - - * config/arm/iterators.md (MVE_SHIFT_M_R, MVE_SHIFT_M_N) - (MVE_SHIFT_N, MVE_SHIFT_R): New. - (mve_insn): Add vqshl, vshl. - * config/arm/mve.md (mve_vqshlq_n_) - (mve_vshlq_n_): Merge into ... - (@mve_q_n_): ... this. - (mve_vqshlq_r_, mve_vshlq_r_): Merge into - ... - (@mve_q_r_): ... this. - (mve_vqshlq_m_r_, mve_vshlq_m_r_): Merge - into ... - (@mve_q_m_r_): ... this. - (mve_vqshlq_m_n_, mve_vshlq_m_n_): Merge - into ... - (@mve_q_m_n_): ... this. - * config/arm/vec-common.md (mve_vshlq_): Transform - into ... - (@mve_q_): ... this. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vqrshlq, vrshlq): New. - * config/arm/arm-mve-builtins-base.def (vqrshlq, vrshlq): New. - * config/arm/arm-mve-builtins-base.h (vqrshlq, vrshlq): New. - * config/arm/arm-mve-builtins.cc (has_inactive_argument): Handle - vqrshlq, vrshlq. - * config/arm/arm_mve.h (vrshlq): Remove. - (vrshlq_m_n): Remove. - (vrshlq_m): Remove. - (vrshlq_x): Remove. - (vrshlq_u8): Remove. - (vrshlq_n_u8): Remove. - (vrshlq_s8): Remove. - (vrshlq_n_s8): Remove. - (vrshlq_u16): Remove. - (vrshlq_n_u16): Remove. - (vrshlq_s16): Remove. - (vrshlq_n_s16): Remove. - (vrshlq_u32): Remove. - (vrshlq_n_u32): Remove. - (vrshlq_s32): Remove. - (vrshlq_n_s32): Remove. - (vrshlq_m_n_u8): Remove. - (vrshlq_m_n_s8): Remove. - (vrshlq_m_n_u16): Remove. - (vrshlq_m_n_s16): Remove. - (vrshlq_m_n_u32): Remove. - (vrshlq_m_n_s32): Remove. - (vrshlq_m_s8): Remove. - (vrshlq_m_s32): Remove. - (vrshlq_m_s16): Remove. - (vrshlq_m_u8): Remove. - (vrshlq_m_u32): Remove. - (vrshlq_m_u16): Remove. - (vrshlq_x_s8): Remove. - (vrshlq_x_s16): Remove. - (vrshlq_x_s32): Remove. - (vrshlq_x_u8): Remove. - (vrshlq_x_u16): Remove. - (vrshlq_x_u32): Remove. - (__arm_vrshlq_u8): Remove. - (__arm_vrshlq_n_u8): Remove. - (__arm_vrshlq_s8): Remove. - (__arm_vrshlq_n_s8): Remove. - (__arm_vrshlq_u16): Remove. - (__arm_vrshlq_n_u16): Remove. - (__arm_vrshlq_s16): Remove. - (__arm_vrshlq_n_s16): Remove. - (__arm_vrshlq_u32): Remove. - (__arm_vrshlq_n_u32): Remove. - (__arm_vrshlq_s32): Remove. - (__arm_vrshlq_n_s32): Remove. - (__arm_vrshlq_m_n_u8): Remove. - (__arm_vrshlq_m_n_s8): Remove. - (__arm_vrshlq_m_n_u16): Remove. - (__arm_vrshlq_m_n_s16): Remove. - (__arm_vrshlq_m_n_u32): Remove. - (__arm_vrshlq_m_n_s32): Remove. - (__arm_vrshlq_m_s8): Remove. - (__arm_vrshlq_m_s32): Remove. - (__arm_vrshlq_m_s16): Remove. - (__arm_vrshlq_m_u8): Remove. - (__arm_vrshlq_m_u32): Remove. - (__arm_vrshlq_m_u16): Remove. - (__arm_vrshlq_x_s8): Remove. - (__arm_vrshlq_x_s16): Remove. - (__arm_vrshlq_x_s32): Remove. - (__arm_vrshlq_x_u8): Remove. - (__arm_vrshlq_x_u16): Remove. - (__arm_vrshlq_x_u32): Remove. - (__arm_vrshlq): Remove. - (__arm_vrshlq_m_n): Remove. - (__arm_vrshlq_m): Remove. - (__arm_vrshlq_x): Remove. - (vqrshlq): Remove. - (vqrshlq_m_n): Remove. - (vqrshlq_m): Remove. - (vqrshlq_u8): Remove. - (vqrshlq_n_u8): Remove. - (vqrshlq_s8): Remove. - (vqrshlq_n_s8): Remove. - (vqrshlq_u16): Remove. - (vqrshlq_n_u16): Remove. - (vqrshlq_s16): Remove. - (vqrshlq_n_s16): Remove. - (vqrshlq_u32): Remove. - (vqrshlq_n_u32): Remove. - (vqrshlq_s32): Remove. - (vqrshlq_n_s32): Remove. - (vqrshlq_m_n_u8): Remove. - (vqrshlq_m_n_s8): Remove. - (vqrshlq_m_n_u16): Remove. - (vqrshlq_m_n_s16): Remove. - (vqrshlq_m_n_u32): Remove. - (vqrshlq_m_n_s32): Remove. - (vqrshlq_m_s8): Remove. - (vqrshlq_m_s32): Remove. - (vqrshlq_m_s16): Remove. - (vqrshlq_m_u8): Remove. - (vqrshlq_m_u32): Remove. - (vqrshlq_m_u16): Remove. - (__arm_vqrshlq_u8): Remove. - (__arm_vqrshlq_n_u8): Remove. - (__arm_vqrshlq_s8): Remove. - (__arm_vqrshlq_n_s8): Remove. - (__arm_vqrshlq_u16): Remove. - (__arm_vqrshlq_n_u16): Remove. - (__arm_vqrshlq_s16): Remove. - (__arm_vqrshlq_n_s16): Remove. - (__arm_vqrshlq_u32): Remove. - (__arm_vqrshlq_n_u32): Remove. - (__arm_vqrshlq_s32): Remove. - (__arm_vqrshlq_n_s32): Remove. - (__arm_vqrshlq_m_n_u8): Remove. - (__arm_vqrshlq_m_n_s8): Remove. - (__arm_vqrshlq_m_n_u16): Remove. - (__arm_vqrshlq_m_n_s16): Remove. - (__arm_vqrshlq_m_n_u32): Remove. - (__arm_vqrshlq_m_n_s32): Remove. - (__arm_vqrshlq_m_s8): Remove. - (__arm_vqrshlq_m_s32): Remove. - (__arm_vqrshlq_m_s16): Remove. - (__arm_vqrshlq_m_u8): Remove. - (__arm_vqrshlq_m_u32): Remove. - (__arm_vqrshlq_m_u16): Remove. - (__arm_vqrshlq): Remove. - (__arm_vqrshlq_m_n): Remove. - (__arm_vqrshlq_m): Remove. - -2023-05-05 Christophe Lyon - - * config/arm/iterators.md (MVE_RSHIFT_M_N, MVE_RSHIFT_N): New. - (mve_insn): Add vqrshl, vrshl. - * config/arm/mve.md (mve_vqrshlq_n_) - (mve_vrshlq_n_): Merge into ... - (@mve_q_n_): ... this. - (mve_vqrshlq_m_n_, mve_vrshlq_m_n_): Merge - into ... - (@mve_q_m_n_): ... this. - -2023-05-05 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_round_lshift): New. - * config/arm/arm-mve-builtins-shapes.h (binary_round_lshift): New. - -2023-05-05 Juzhe-Zhong - - PR target/109615 - * config/riscv/riscv-vsetvl.cc (avl_info::multiple_source_equal_p): Add - denegrate PHI optmization. - -2023-05-05 Uros Bizjak - - * config/i386/predicates.md (register_no_SP_operand): - Rename from index_register_operand. - (call_register_operand): Update for rename. - * config/i386/i386.md (*lea_general_[1234]): Update for rename. - -2023-05-05 Tamar Christina - - PR bootstrap/84402 - * Makefile.in (NUM_MATCH_SPLITS, MATCH_SPLITS_SEQ, - GIMPLE_MATCH_PD_SEQ_SRC, GIMPLE_MATCH_PD_SEQ_O, - GENERIC_MATCH_PD_SEQ_SRC, GENERIC_MATCH_PD_SEQ_O): New. - (OBJS, MOSTLYCLEANFILES, .PRECIOUS): Use them. - (s-match): Split into s-generic-match and s-gimple-match. - * configure.ac (with-matchpd-partitions, - DEFAULT_MATCHPD_PARTITIONS): New. - * configure: Regenerate. - -2023-05-05 Tamar Christina - - PR bootstrap/84402 - * genmatch.cc (emit_func, SIZED_BASED_CHUNKS, get_out_file): New. - (decision_tree::gen): Accept list of files instead of single and update - to write function definition to header and main file. - (write_predicate): Likewise. - (write_header): Emit pragmas and new includes. - (main): Create file buffers and cleanup. - (showUsage, write_header_includes): New. - -2023-05-05 Tamar Christina - - PR bootstrap/84402 - * Makefile.in (OBJS): Add gimple-match-exports.o. - * genmatch.cc (decision_tree::gen): Export gimple_gimplify helpers. - * gimple-match-head.cc (gimple_simplify, gimple_resimplify1, - gimple_resimplify2, gimple_resimplify3, gimple_resimplify4, - gimple_resimplify5, constant_for_folding, convert_conditional_op, - maybe_resimplify_conditional_op, gimple_match_op::resimplify, - maybe_build_generic_op, build_call_internal, maybe_push_res_to_seq, - do_valueize, try_conditional_simplification, gimple_extract, - gimple_extract_op, canonicalize_code, commutative_binary_op_p, - commutative_ternary_op_p, first_commutative_argument, - associative_binary_op_p, directly_supported_p, - get_conditional_internal_fn): Moved to gimple-match-exports.cc - * gimple-match-exports.cc: New file. - -2023-05-05 Tamar Christina - - PR bootstrap/84402 - * genmatch.cc (decision_tree::gen, write_predicate): Generate new - debug_dump var. - (dt_simplify::gen_1): Use it. - -2023-05-05 Tamar Christina - - PR bootstrap/84402 - * genmatch.cc (output_line_directive): Only emit commented directive - when -vv. - -2023-05-05 Tamar Christina - - PR bootstrap/84402 - * genmatch.cc (dt_simplify::gen_1): Only emit labels if used. - -2023-05-05 Tobias Burnus - - * config/gcn/gcn.cc (gcn_vectorize_builtin_vectorized_function): Remove - unused in_mode/in_n variables. - -2023-05-05 Richard Biener - - PR tree-optimization/109735 - * tree-vect-stmts.cc (vectorizable_operation): Perform - conversion for POINTER_DIFF_EXPR unconditionally. - -2023-05-05 Uros Bizjak - - * config/i386/mmx.md (mulv2si3): New expander. - (*mulv2si3): New insn pattern. - -2023-05-05 Tobias Burnus - Thomas Schwinge - - PR libgomp/108098 - * config/nvptx/mkoffload.cc (process): Emit dummy procedure - alongside reverse-offload function table to prevent NULL values - of the function addresses. - -2023-05-05 Jakub Jelinek - - * builtins.cc (do_mpfr_ckconv, do_mpc_ckconv): Fix comment typo, - mpft_t -> mpfr_t. - * fold-const-call.cc (do_mpfr_ckconv, do_mpc_ckconv): Likewise. - -2023-05-05 Andrew Pinski - - PR tree-optimization/109732 - * tree-ssa-phiopt.cc (match_simplify_replacement): Fix the selection - of the argtrue/argfalse. - -2023-05-05 Andrew Pinski - - PR tree-optimization/109722 - * match.pd: Extend the `ABS == 0` pattern - to cover `ABSU == 0` too. - -2023-05-04 Uros Bizjak - - PR target/109733 - * config/i386/predicates.md (index_reg_operand): New predicate. - * config/i386/i386.md (ashift to lea spliter): Use - general_reg_operand and index_reg_operand predicates. - -2023-05-04 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_hn2_insn_le): - Rename and reimplement with RTL codes to... - (aarch64_hn2_insn_le): .. This. - (aarch64_rhn2_insn_le): New pattern. - (aarch64_hn2_insn_be): Rename and reimplement with RTL - codes to... - (aarch64_hn2_insn_be): ... This. - (aarch64_rhn2_insn_be): New pattern. - (aarch64_hn2): Rename and adjust expander to... - (aarch64_hn2): ... This. - (aarch64_rhn2): New expander. - * config/aarch64/iterators.md (UNSPEC_ADDHN, UNSPEC_RADDHN, - UNSPEC_SUBHN, UNSPEC_RSUBHN): Delete unspecs. - (ADDSUBHN): Delete. - (sur): Remove handling of the above. - (addsub): Likewise. - -2023-05-04 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_hn_insn_le): - Delete. - (aarch64_hn_insn): New define_insn. - (aarch64_hn_insn_be): Delete. - (aarch64_rhn_insn): New define_insn. - (aarch64_hn): Delete. - (aarch64_hn): New define_expand. - (aarch64_rhn): Likewise. - * config/aarch64/predicates.md (aarch64_simd_raddsubhn_imm_vec): - New predicate. - -2023-05-04 Andrew Pinski - - * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Handle - diamond form bb with forwarder only empty blocks better. - -2023-05-04 Andrew Pinski - - * tree-ssa-threadupdate.cc (copy_phi_arg_into_existing_phi): Move to ... - * tree-cfg.cc (copy_phi_arg_into_existing_phi): Here and remove static. - (gimple_duplicate_sese_tail): Use copy_phi_arg_into_existing_phi instead - of an inline version of it. - * tree-cfgcleanup.cc (remove_forwarder_block): Likewise. - * tree-cfg.h (copy_phi_arg_into_existing_phi): New declaration. - -2023-05-04 Andrew Pinski - - * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Change - the default argument value for dce_ssa_names to nullptr. - Check to make sure dce_ssa_names is a non-nullptr before - calling simple_dce_from_worklist. - -2023-05-04 Uros Bizjak - - * config/i386/predicates.md (index_register_operand): Reject - arg_pointer_rtx, frame_pointer_rtx, stack_pointer_rtx and - VIRTUAL_REGISTER_P operands. Allow subregs of memory before reload. - (call_register_no_elim_operand): Rewrite as ... - (call_register_operand): ... this. - (call_insn_operand): Use call_register_operand predicate. - -2023-05-04 Richard Biener - - PR tree-optimization/109721 - * tree-vect-stmts.cc (vectorizable_operation): Make sure - to test word_mode for all !target_support_p operations. - -2023-05-04 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_aba): Rename to... - (aarch64_aba): ... This. - (aarch64_mla): Rename to... - (aarch64_mla): ... This. - (*aarch64_mla_elt): Rename to... - (*aarch64_mla_elt): ... This. - (*aarch64_mla_elt_): Rename to... - (*aarch64_mla_elt_): ... This. - (aarch64_mla_n): Rename to... - (aarch64_mla_n): ... This. - (aarch64_mls): Rename to... - (aarch64_mls): ... This. - (*aarch64_mls_elt): Rename to... - (*aarch64_mls_elt): ... This. - (*aarch64_mls_elt_): Rename to... - (*aarch64_mls_elt_): ... This. - (aarch64_mls_n): Rename to... - (aarch64_mls_n): ... This. - (fma4): Rename to... - (fma4): ... This. - (*aarch64_fma4_elt): Rename to... - (*aarch64_fma4_elt): ... This. - (*aarch64_fma4_elt_): Rename to... - (*aarch64_fma4_elt_): ... This. - (*aarch64_fma4_elt_from_dup): Rename to... - (*aarch64_fma4_elt_from_dup): ... This. - (fnma4): Rename to... - (fnma4): ... This. - (*aarch64_fnma4_elt): Rename to... - (*aarch64_fnma4_elt): ... This. - (*aarch64_fnma4_elt_): Rename to... - (*aarch64_fnma4_elt_): ... This. - (*aarch64_fnma4_elt_from_dup): Rename to... - (*aarch64_fnma4_elt_from_dup): ... This. - (aarch64_simd_bsl_internal): Rename to... - (aarch64_simd_bsl_internal): ... This. - (*aarch64_simd_bsl_alt): Rename to... - (*aarch64_simd_bsl_alt): ... This. - -2023-05-04 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_abd): Rename to... - (aarch64_abd): ... This. - (fabd3): Rename to... - (fabd3): ... This. - (aarch64_p): Rename to... - (aarch64_p): ... This. - (aarch64_faddp): Rename to... - (aarch64_faddp): ... This. - -2023-05-04 Martin Liska - - * gcov.cc (GCOV_JSON_FORMAT_VERSION): New definition. - (print_version): Use it. - (generate_results): Likewise. - -2023-05-04 Richard Biener - - * tree-cfg.h (last_stmt): Rename to ... - (last_nondebug_stmt): ... this. - * tree-cfg.cc (last_stmt): Rename to ... - (last_nondebug_stmt): ... this. - (assign_discriminators): Adjust. - (group_case_labels_stmt): Likewise. - (gimple_can_duplicate_bb_p): Likewise. - (execute_fixup_cfg): Likewise. - * auto-profile.cc (afdo_propagate_circuit): Likewise. - * gimple-range.cc (gimple_ranger::range_on_exit): Likewise. - * omp-expand.cc (workshare_safe_to_combine_p): Likewise. - (determine_parallel_type): Likewise. - (adjust_context_and_scope): Likewise. - (expand_task_call): Likewise. - (remove_exit_barrier): Likewise. - (expand_omp_taskreg): Likewise. - (expand_omp_for_init_counts): Likewise. - (expand_omp_for_init_vars): Likewise. - (expand_omp_for_static_chunk): Likewise. - (expand_omp_simd): Likewise. - (expand_oacc_for): Likewise. - (expand_omp_for): Likewise. - (expand_omp_sections): Likewise. - (expand_omp_atomic_fetch_op): Likewise. - (expand_omp_atomic_cas): Likewise. - (expand_omp_atomic): Likewise. - (expand_omp_target): Likewise. - (expand_omp): Likewise. - (omp_make_gimple_edges): Likewise. - * trans-mem.cc (tm_region_init): Likewise. - * tree-inline.cc (redirect_all_calls): Likewise. - * tree-parloops.cc (gen_parallel_loop): Likewise. - * tree-ssa-loop-ch.cc (do_while_loop_p): Likewise. - * tree-ssa-loop-ivcanon.cc (canonicalize_loop_induction_variables): - Likewise. - * tree-ssa-loop-ivopts.cc (stmt_after_ip_normal_pos): Likewise. - (may_eliminate_iv): Likewise. - * tree-ssa-loop-manip.cc (standard_iv_increment_position): Likewise. - * tree-ssa-loop-niter.cc (do_warn_aggressive_loop_optimizations): - Likewise. - (estimate_numbers_of_iterations): Likewise. - * tree-ssa-loop-split.cc (compute_added_num_insns): Likewise. - * tree-ssa-loop-unswitch.cc (get_predicates_for_bb): Likewise. - (set_predicates_for_bb): Likewise. - (init_loop_unswitch_info): Likewise. - (hoist_guard): Likewise. - * tree-ssa-phiopt.cc (match_simplify_replacement): Likewise. - (minmax_replacement): Likewise. - * tree-ssa-reassoc.cc (update_range_test): Likewise. - (optimize_range_tests_to_bit_test): Likewise. - (optimize_range_tests_var_bound): Likewise. - (optimize_range_tests): Likewise. - (no_side_effect_bb): Likewise. - (suitable_cond_bb): Likewise. - (maybe_optimize_range_tests): Likewise. - (reassociate_bb): Likewise. - * tree-vrp.cc (rvrp_folder::pre_fold_bb): Likewise. - -2023-05-04 Jakub Jelinek - - PR debug/109676 - * config/i386/i386-features.cc (timode_scalar_chain::convert_insn): - If src is REG, change its mode to V1TImode and call fix_debug_reg_uses - for it only if it still has TImode. Don't decide whether to call - fix_debug_reg_uses based on whether SRC is ever set or not. - -2023-05-04 Hans-Peter Nilsson - - * config/cris/cris.cc (cris_split_constant): New function. - * config/cris/cris.md (splitop): New iterator. - (opsplit1): New define_peephole2. - * config/cris/cris-protos.h (cris_split_constant): Declare. - (cris_splittable_constant_p): New macro. - -2023-05-04 Hans-Peter Nilsson - - * config/cris/cris.cc (TARGET_SPILL_CLASS): Define - to ALL_REGS. - -2023-05-04 Hans-Peter Nilsson - - * config/cris/cris.cc (cris_side_effect_mode_ok): Use - lra_in_progress, not reload_in_progress. - * config/cris/cris.md ("movdi", "*addi_reload"): Ditto. - * config/cris/constraints.md ("Q"): Ditto. - -2023-05-03 Andrew Pinski - - * tree-ssa-dce.cc (simple_dce_from_worklist): Record - stats on removed number of statements and phis. - -2023-05-03 Aldy Hernandez - - PR tree-optimization/109711 - * value-range.cc (irange::verify_range): Allow types of - error_mark_node. - -2023-05-03 Alexander Monakov - - PR sanitizer/90746 - * calls.cc (can_implement_as_sibling_call_p): Reject calls - to __sanitizer_cov_trace_pc. - -2023-05-03 Richard Sandiford - - PR target/109661 - * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Add - a new ABI break parameter for GCC 14. Set it to the alignment - of enums that have an underlying type. Take the true alignment - of such enums from the TYPE_ALIGN of the underlying type's - TYPE_MAIN_VARIANT. - (aarch64_function_arg_boundary): Update accordingly. - (aarch64_layout_arg, aarch64_gimplify_va_arg_expr): Likewise. - Warn about ABI differences. - -2023-05-03 Richard Sandiford - - PR target/109661 - * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Rename - ABI break variables to abi_break_gcc_9 and abi_break_gcc_13. - (aarch64_layout_arg, aarch64_function_arg_boundary): Likewise. - (aarch64_gimplify_va_arg_expr): Likewise. - -2023-05-03 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_M_N_NO_F) - (FUNCTION_WITHOUT_N_NO_F, FUNCTION_WITH_M_N_NO_U_F): New. - (vhaddq, vhsubq, vmulhq, vqaddq, vqsubq, vqdmulhq, vrhaddq) - (vrmulhq): New. - * config/arm/arm-mve-builtins-base.def (vhaddq, vhsubq, vmulhq) - (vqaddq, vqsubq, vqdmulhq, vrhaddq, vrmulhq): New. - * config/arm/arm-mve-builtins-base.h (vhaddq, vhsubq, vmulhq) - (vqaddq, vqsubq, vqdmulhq, vrhaddq, vrmulhq): New. - * config/arm/arm_mve.h (vhsubq): Remove. - (vhaddq): Remove. - (vhaddq_m): Remove. - (vhsubq_m): Remove. - (vhaddq_x): Remove. - (vhsubq_x): Remove. - (vhsubq_u8): Remove. - (vhsubq_n_u8): Remove. - (vhaddq_u8): Remove. - (vhaddq_n_u8): Remove. - (vhsubq_s8): Remove. - (vhsubq_n_s8): Remove. - (vhaddq_s8): Remove. - (vhaddq_n_s8): Remove. - (vhsubq_u16): Remove. - (vhsubq_n_u16): Remove. - (vhaddq_u16): Remove. - (vhaddq_n_u16): Remove. - (vhsubq_s16): Remove. - (vhsubq_n_s16): Remove. - (vhaddq_s16): Remove. - (vhaddq_n_s16): Remove. - (vhsubq_u32): Remove. - (vhsubq_n_u32): Remove. - (vhaddq_u32): Remove. - (vhaddq_n_u32): Remove. - (vhsubq_s32): Remove. - (vhsubq_n_s32): Remove. - (vhaddq_s32): Remove. - (vhaddq_n_s32): Remove. - (vhaddq_m_n_s8): Remove. - (vhaddq_m_n_s32): Remove. - (vhaddq_m_n_s16): Remove. - (vhaddq_m_n_u8): Remove. - (vhaddq_m_n_u32): Remove. - (vhaddq_m_n_u16): Remove. - (vhaddq_m_s8): Remove. - (vhaddq_m_s32): Remove. - (vhaddq_m_s16): Remove. - (vhaddq_m_u8): Remove. - (vhaddq_m_u32): Remove. - (vhaddq_m_u16): Remove. - (vhsubq_m_n_s8): Remove. - (vhsubq_m_n_s32): Remove. - (vhsubq_m_n_s16): Remove. - (vhsubq_m_n_u8): Remove. - (vhsubq_m_n_u32): Remove. - (vhsubq_m_n_u16): Remove. - (vhsubq_m_s8): Remove. - (vhsubq_m_s32): Remove. - (vhsubq_m_s16): Remove. - (vhsubq_m_u8): Remove. - (vhsubq_m_u32): Remove. - (vhsubq_m_u16): Remove. - (vhaddq_x_n_s8): Remove. - (vhaddq_x_n_s16): Remove. - (vhaddq_x_n_s32): Remove. - (vhaddq_x_n_u8): Remove. - (vhaddq_x_n_u16): Remove. - (vhaddq_x_n_u32): Remove. - (vhaddq_x_s8): Remove. - (vhaddq_x_s16): Remove. - (vhaddq_x_s32): Remove. - (vhaddq_x_u8): Remove. - (vhaddq_x_u16): Remove. - (vhaddq_x_u32): Remove. - (vhsubq_x_n_s8): Remove. - (vhsubq_x_n_s16): Remove. - (vhsubq_x_n_s32): Remove. - (vhsubq_x_n_u8): Remove. - (vhsubq_x_n_u16): Remove. - (vhsubq_x_n_u32): Remove. - (vhsubq_x_s8): Remove. - (vhsubq_x_s16): Remove. - (vhsubq_x_s32): Remove. - (vhsubq_x_u8): Remove. - (vhsubq_x_u16): Remove. - (vhsubq_x_u32): Remove. - (__arm_vhsubq_u8): Remove. - (__arm_vhsubq_n_u8): Remove. - (__arm_vhaddq_u8): Remove. - (__arm_vhaddq_n_u8): Remove. - (__arm_vhsubq_s8): Remove. - (__arm_vhsubq_n_s8): Remove. - (__arm_vhaddq_s8): Remove. - (__arm_vhaddq_n_s8): Remove. - (__arm_vhsubq_u16): Remove. - (__arm_vhsubq_n_u16): Remove. - (__arm_vhaddq_u16): Remove. - (__arm_vhaddq_n_u16): Remove. - (__arm_vhsubq_s16): Remove. - (__arm_vhsubq_n_s16): Remove. - (__arm_vhaddq_s16): Remove. - (__arm_vhaddq_n_s16): Remove. - (__arm_vhsubq_u32): Remove. - (__arm_vhsubq_n_u32): Remove. - (__arm_vhaddq_u32): Remove. - (__arm_vhaddq_n_u32): Remove. - (__arm_vhsubq_s32): Remove. - (__arm_vhsubq_n_s32): Remove. - (__arm_vhaddq_s32): Remove. - (__arm_vhaddq_n_s32): Remove. - (__arm_vhaddq_m_n_s8): Remove. - (__arm_vhaddq_m_n_s32): Remove. - (__arm_vhaddq_m_n_s16): Remove. - (__arm_vhaddq_m_n_u8): Remove. - (__arm_vhaddq_m_n_u32): Remove. - (__arm_vhaddq_m_n_u16): Remove. - (__arm_vhaddq_m_s8): Remove. - (__arm_vhaddq_m_s32): Remove. - (__arm_vhaddq_m_s16): Remove. - (__arm_vhaddq_m_u8): Remove. - (__arm_vhaddq_m_u32): Remove. - (__arm_vhaddq_m_u16): Remove. - (__arm_vhsubq_m_n_s8): Remove. - (__arm_vhsubq_m_n_s32): Remove. - (__arm_vhsubq_m_n_s16): Remove. - (__arm_vhsubq_m_n_u8): Remove. - (__arm_vhsubq_m_n_u32): Remove. - (__arm_vhsubq_m_n_u16): Remove. - (__arm_vhsubq_m_s8): Remove. - (__arm_vhsubq_m_s32): Remove. - (__arm_vhsubq_m_s16): Remove. - (__arm_vhsubq_m_u8): Remove. - (__arm_vhsubq_m_u32): Remove. - (__arm_vhsubq_m_u16): Remove. - (__arm_vhaddq_x_n_s8): Remove. - (__arm_vhaddq_x_n_s16): Remove. - (__arm_vhaddq_x_n_s32): Remove. - (__arm_vhaddq_x_n_u8): Remove. - (__arm_vhaddq_x_n_u16): Remove. - (__arm_vhaddq_x_n_u32): Remove. - (__arm_vhaddq_x_s8): Remove. - (__arm_vhaddq_x_s16): Remove. - (__arm_vhaddq_x_s32): Remove. - (__arm_vhaddq_x_u8): Remove. - (__arm_vhaddq_x_u16): Remove. - (__arm_vhaddq_x_u32): Remove. - (__arm_vhsubq_x_n_s8): Remove. - (__arm_vhsubq_x_n_s16): Remove. - (__arm_vhsubq_x_n_s32): Remove. - (__arm_vhsubq_x_n_u8): Remove. - (__arm_vhsubq_x_n_u16): Remove. - (__arm_vhsubq_x_n_u32): Remove. - (__arm_vhsubq_x_s8): Remove. - (__arm_vhsubq_x_s16): Remove. - (__arm_vhsubq_x_s32): Remove. - (__arm_vhsubq_x_u8): Remove. - (__arm_vhsubq_x_u16): Remove. - (__arm_vhsubq_x_u32): Remove. - (__arm_vhsubq): Remove. - (__arm_vhaddq): Remove. - (__arm_vhaddq_m): Remove. - (__arm_vhsubq_m): Remove. - (__arm_vhaddq_x): Remove. - (__arm_vhsubq_x): Remove. - (vmulhq): Remove. - (vmulhq_m): Remove. - (vmulhq_x): Remove. - (vmulhq_u8): Remove. - (vmulhq_s8): Remove. - (vmulhq_u16): Remove. - (vmulhq_s16): Remove. - (vmulhq_u32): Remove. - (vmulhq_s32): Remove. - (vmulhq_m_s8): Remove. - (vmulhq_m_s32): Remove. - (vmulhq_m_s16): Remove. - (vmulhq_m_u8): Remove. - (vmulhq_m_u32): Remove. - (vmulhq_m_u16): Remove. - (vmulhq_x_s8): Remove. - (vmulhq_x_s16): Remove. - (vmulhq_x_s32): Remove. - (vmulhq_x_u8): Remove. - (vmulhq_x_u16): Remove. - (vmulhq_x_u32): Remove. - (__arm_vmulhq_u8): Remove. - (__arm_vmulhq_s8): Remove. - (__arm_vmulhq_u16): Remove. - (__arm_vmulhq_s16): Remove. - (__arm_vmulhq_u32): Remove. - (__arm_vmulhq_s32): Remove. - (__arm_vmulhq_m_s8): Remove. - (__arm_vmulhq_m_s32): Remove. - (__arm_vmulhq_m_s16): Remove. - (__arm_vmulhq_m_u8): Remove. - (__arm_vmulhq_m_u32): Remove. - (__arm_vmulhq_m_u16): Remove. - (__arm_vmulhq_x_s8): Remove. - (__arm_vmulhq_x_s16): Remove. - (__arm_vmulhq_x_s32): Remove. - (__arm_vmulhq_x_u8): Remove. - (__arm_vmulhq_x_u16): Remove. - (__arm_vmulhq_x_u32): Remove. - (__arm_vmulhq): Remove. - (__arm_vmulhq_m): Remove. - (__arm_vmulhq_x): Remove. - (vqsubq): Remove. - (vqaddq): Remove. - (vqaddq_m): Remove. - (vqsubq_m): Remove. - (vqsubq_u8): Remove. - (vqsubq_n_u8): Remove. - (vqaddq_u8): Remove. - (vqaddq_n_u8): Remove. - (vqsubq_s8): Remove. - (vqsubq_n_s8): Remove. - (vqaddq_s8): Remove. - (vqaddq_n_s8): Remove. - (vqsubq_u16): Remove. - (vqsubq_n_u16): Remove. - (vqaddq_u16): Remove. - (vqaddq_n_u16): Remove. - (vqsubq_s16): Remove. - (vqsubq_n_s16): Remove. - (vqaddq_s16): Remove. - (vqaddq_n_s16): Remove. - (vqsubq_u32): Remove. - (vqsubq_n_u32): Remove. - (vqaddq_u32): Remove. - (vqaddq_n_u32): Remove. - (vqsubq_s32): Remove. - (vqsubq_n_s32): Remove. - (vqaddq_s32): Remove. - (vqaddq_n_s32): Remove. - (vqaddq_m_n_s8): Remove. - (vqaddq_m_n_s32): Remove. - (vqaddq_m_n_s16): Remove. - (vqaddq_m_n_u8): Remove. - (vqaddq_m_n_u32): Remove. - (vqaddq_m_n_u16): Remove. - (vqaddq_m_s8): Remove. - (vqaddq_m_s32): Remove. - (vqaddq_m_s16): Remove. - (vqaddq_m_u8): Remove. - (vqaddq_m_u32): Remove. - (vqaddq_m_u16): Remove. - (vqsubq_m_n_s8): Remove. - (vqsubq_m_n_s32): Remove. - (vqsubq_m_n_s16): Remove. - (vqsubq_m_n_u8): Remove. - (vqsubq_m_n_u32): Remove. - (vqsubq_m_n_u16): Remove. - (vqsubq_m_s8): Remove. - (vqsubq_m_s32): Remove. - (vqsubq_m_s16): Remove. - (vqsubq_m_u8): Remove. - (vqsubq_m_u32): Remove. - (vqsubq_m_u16): Remove. - (__arm_vqsubq_u8): Remove. - (__arm_vqsubq_n_u8): Remove. - (__arm_vqaddq_u8): Remove. - (__arm_vqaddq_n_u8): Remove. - (__arm_vqsubq_s8): Remove. - (__arm_vqsubq_n_s8): Remove. - (__arm_vqaddq_s8): Remove. - (__arm_vqaddq_n_s8): Remove. - (__arm_vqsubq_u16): Remove. - (__arm_vqsubq_n_u16): Remove. - (__arm_vqaddq_u16): Remove. - (__arm_vqaddq_n_u16): Remove. - (__arm_vqsubq_s16): Remove. - (__arm_vqsubq_n_s16): Remove. - (__arm_vqaddq_s16): Remove. - (__arm_vqaddq_n_s16): Remove. - (__arm_vqsubq_u32): Remove. - (__arm_vqsubq_n_u32): Remove. - (__arm_vqaddq_u32): Remove. - (__arm_vqaddq_n_u32): Remove. - (__arm_vqsubq_s32): Remove. - (__arm_vqsubq_n_s32): Remove. - (__arm_vqaddq_s32): Remove. - (__arm_vqaddq_n_s32): Remove. - (__arm_vqaddq_m_n_s8): Remove. - (__arm_vqaddq_m_n_s32): Remove. - (__arm_vqaddq_m_n_s16): Remove. - (__arm_vqaddq_m_n_u8): Remove. - (__arm_vqaddq_m_n_u32): Remove. - (__arm_vqaddq_m_n_u16): Remove. - (__arm_vqaddq_m_s8): Remove. - (__arm_vqaddq_m_s32): Remove. - (__arm_vqaddq_m_s16): Remove. - (__arm_vqaddq_m_u8): Remove. - (__arm_vqaddq_m_u32): Remove. - (__arm_vqaddq_m_u16): Remove. - (__arm_vqsubq_m_n_s8): Remove. - (__arm_vqsubq_m_n_s32): Remove. - (__arm_vqsubq_m_n_s16): Remove. - (__arm_vqsubq_m_n_u8): Remove. - (__arm_vqsubq_m_n_u32): Remove. - (__arm_vqsubq_m_n_u16): Remove. - (__arm_vqsubq_m_s8): Remove. - (__arm_vqsubq_m_s32): Remove. - (__arm_vqsubq_m_s16): Remove. - (__arm_vqsubq_m_u8): Remove. - (__arm_vqsubq_m_u32): Remove. - (__arm_vqsubq_m_u16): Remove. - (__arm_vqsubq): Remove. - (__arm_vqaddq): Remove. - (__arm_vqaddq_m): Remove. - (__arm_vqsubq_m): Remove. - (vqdmulhq): Remove. - (vqdmulhq_m): Remove. - (vqdmulhq_s8): Remove. - (vqdmulhq_n_s8): Remove. - (vqdmulhq_s16): Remove. - (vqdmulhq_n_s16): Remove. - (vqdmulhq_s32): Remove. - (vqdmulhq_n_s32): Remove. - (vqdmulhq_m_n_s8): Remove. - (vqdmulhq_m_n_s32): Remove. - (vqdmulhq_m_n_s16): Remove. - (vqdmulhq_m_s8): Remove. - (vqdmulhq_m_s32): Remove. - (vqdmulhq_m_s16): Remove. - (__arm_vqdmulhq_s8): Remove. - (__arm_vqdmulhq_n_s8): Remove. - (__arm_vqdmulhq_s16): Remove. - (__arm_vqdmulhq_n_s16): Remove. - (__arm_vqdmulhq_s32): Remove. - (__arm_vqdmulhq_n_s32): Remove. - (__arm_vqdmulhq_m_n_s8): Remove. - (__arm_vqdmulhq_m_n_s32): Remove. - (__arm_vqdmulhq_m_n_s16): Remove. - (__arm_vqdmulhq_m_s8): Remove. - (__arm_vqdmulhq_m_s32): Remove. - (__arm_vqdmulhq_m_s16): Remove. - (__arm_vqdmulhq): Remove. - (__arm_vqdmulhq_m): Remove. - (vrhaddq): Remove. - (vrhaddq_m): Remove. - (vrhaddq_x): Remove. - (vrhaddq_u8): Remove. - (vrhaddq_s8): Remove. - (vrhaddq_u16): Remove. - (vrhaddq_s16): Remove. - (vrhaddq_u32): Remove. - (vrhaddq_s32): Remove. - (vrhaddq_m_s8): Remove. - (vrhaddq_m_s32): Remove. - (vrhaddq_m_s16): Remove. - (vrhaddq_m_u8): Remove. - (vrhaddq_m_u32): Remove. - (vrhaddq_m_u16): Remove. - (vrhaddq_x_s8): Remove. - (vrhaddq_x_s16): Remove. - (vrhaddq_x_s32): Remove. - (vrhaddq_x_u8): Remove. - (vrhaddq_x_u16): Remove. - (vrhaddq_x_u32): Remove. - (__arm_vrhaddq_u8): Remove. - (__arm_vrhaddq_s8): Remove. - (__arm_vrhaddq_u16): Remove. - (__arm_vrhaddq_s16): Remove. - (__arm_vrhaddq_u32): Remove. - (__arm_vrhaddq_s32): Remove. - (__arm_vrhaddq_m_s8): Remove. - (__arm_vrhaddq_m_s32): Remove. - (__arm_vrhaddq_m_s16): Remove. - (__arm_vrhaddq_m_u8): Remove. - (__arm_vrhaddq_m_u32): Remove. - (__arm_vrhaddq_m_u16): Remove. - (__arm_vrhaddq_x_s8): Remove. - (__arm_vrhaddq_x_s16): Remove. - (__arm_vrhaddq_x_s32): Remove. - (__arm_vrhaddq_x_u8): Remove. - (__arm_vrhaddq_x_u16): Remove. - (__arm_vrhaddq_x_u32): Remove. - (__arm_vrhaddq): Remove. - (__arm_vrhaddq_m): Remove. - (__arm_vrhaddq_x): Remove. - (vrmulhq): Remove. - (vrmulhq_m): Remove. - (vrmulhq_x): Remove. - (vrmulhq_u8): Remove. - (vrmulhq_s8): Remove. - (vrmulhq_u16): Remove. - (vrmulhq_s16): Remove. - (vrmulhq_u32): Remove. - (vrmulhq_s32): Remove. - (vrmulhq_m_s8): Remove. - (vrmulhq_m_s32): Remove. - (vrmulhq_m_s16): Remove. - (vrmulhq_m_u8): Remove. - (vrmulhq_m_u32): Remove. - (vrmulhq_m_u16): Remove. - (vrmulhq_x_s8): Remove. - (vrmulhq_x_s16): Remove. - (vrmulhq_x_s32): Remove. - (vrmulhq_x_u8): Remove. - (vrmulhq_x_u16): Remove. - (vrmulhq_x_u32): Remove. - (__arm_vrmulhq_u8): Remove. - (__arm_vrmulhq_s8): Remove. - (__arm_vrmulhq_u16): Remove. - (__arm_vrmulhq_s16): Remove. - (__arm_vrmulhq_u32): Remove. - (__arm_vrmulhq_s32): Remove. - (__arm_vrmulhq_m_s8): Remove. - (__arm_vrmulhq_m_s32): Remove. - (__arm_vrmulhq_m_s16): Remove. - (__arm_vrmulhq_m_u8): Remove. - (__arm_vrmulhq_m_u32): Remove. - (__arm_vrmulhq_m_u16): Remove. - (__arm_vrmulhq_x_s8): Remove. - (__arm_vrmulhq_x_s16): Remove. - (__arm_vrmulhq_x_s32): Remove. - (__arm_vrmulhq_x_u8): Remove. - (__arm_vrmulhq_x_u16): Remove. - (__arm_vrmulhq_x_u32): Remove. - (__arm_vrmulhq): Remove. - (__arm_vrmulhq_m): Remove. - (__arm_vrmulhq_x): Remove. - -2023-05-03 Christophe Lyon - - * config/arm/iterators.md (MVE_INT_SU_BINARY): New. - (mve_insn): Add vabdq, vhaddq, vhsubq, vmulhq, vqaddq, vqdmulhq, - vqrdmulhq, vqrshlq, vqshlq, vqsubq, vrhaddq, vrmulhq, vrshlq. - (supf): Add VQDMULHQ_S, VQRDMULHQ_S. - * config/arm/mve.md (mve_vabdq_) - (@mve_vhaddq_, mve_vhsubq_) - (mve_vmulhq_, mve_vqaddq_) - (mve_vqdmulhq_s, mve_vqrdmulhq_s) - (mve_vqrshlq_, mve_vqshlq_) - (mve_vqsubq_, @mve_vrhaddq_) - (mve_vrmulhq_, mve_vrshlq_): Merge into - ... - (@mve_q_): ... this. - * config/arm/vec-common.md (avg3_floor, uavg3_floor) - (avg3_ceil, uavg3_ceil): Use gen_mve_q instead of - gen_mve_vhaddq / gen_mve_vrhaddq. - -2023-05-03 Christophe Lyon - - * config/arm/iterators.md (MVE_INT_SU_M_N_BINARY): New. - (mve_insn): Add vhaddq, vhsubq, vmlaq, vmlasq, vqaddq, vqdmlahq, - vqdmlashq, vqdmulhq, vqrdmlahq, vqrdmlashq, vqrdmulhq, vqsubq. - (supf): Add VQDMLAHQ_M_N_S, VQDMLASHQ_M_N_S, VQRDMLAHQ_M_N_S, - VQRDMLASHQ_M_N_S, VQDMULHQ_M_N_S, VQRDMULHQ_M_N_S. - * config/arm/mve.md (mve_vhaddq_m_n_) - (mve_vhsubq_m_n_, mve_vmlaq_m_n_) - (mve_vmlasq_m_n_, mve_vqaddq_m_n_) - (mve_vqdmlahq_m_n_s, mve_vqdmlashq_m_n_s) - (mve_vqrdmlahq_m_n_s, mve_vqrdmlashq_m_n_s) - (mve_vqsubq_m_n_, mve_vqdmulhq_m_n_s) - (mve_vqrdmulhq_m_n_s): Merge into ... - (@mve_q_m_n_): ... this. - -2023-05-03 Christophe Lyon - - * config/arm/iterators.md (MVE_INT_SU_N_BINARY): New. - (mve_insn): Add vhaddq, vhsubq, vqaddq, vqdmulhq, vqrdmulhq, - vqsubq. - (supf): Add VQDMULHQ_N_S, VQRDMULHQ_N_S. - * config/arm/mve.md (mve_vhaddq_n_) - (mve_vhsubq_n_, mve_vqaddq_n_) - (mve_vqdmulhq_n_s, mve_vqrdmulhq_n_s) - (mve_vqsubq_n_): Merge into ... - (@mve_q_n_): ... this. - -2023-05-03 Christophe Lyon - - * config/arm/iterators.md (MVE_INT_SU_M_BINARY): New. - (mve_insn): Add vabdq, vhaddq, vhsubq, vmaxq, vminq, vmulhq, - vqaddq, vqdmladhq, vqdmladhxq, vqdmlsdhq, vqdmlsdhxq, vqdmulhq, - vqrdmladhq, vqrdmladhxq, vqrdmlsdhq, vqrdmlsdhxq, vqrdmulhq, - vqrshlq, vqshlq, vqsubq, vrhaddq, vrmulhq, vrshlq, vshlq. - (supf): Add VQDMLADHQ_M_S, VQDMLADHXQ_M_S, VQDMLSDHQ_M_S, - VQDMLSDHXQ_M_S, VQDMULHQ_M_S, VQRDMLADHQ_M_S, VQRDMLADHXQ_M_S, - VQRDMLSDHQ_M_S, VQRDMLSDHXQ_M_S, VQRDMULHQ_M_S. - * config/arm/mve.md (@mve_q_m_): New. - (mve_vshlq_m_): Merged into - @mve_q_m_. - (mve_vabdq_m_): Likewise. - (mve_vhaddq_m_): Likewise. - (mve_vhsubq_m_): Likewise. - (mve_vmaxq_m_): Likewise. - (mve_vminq_m_): Likewise. - (mve_vmulhq_m_): Likewise. - (mve_vqaddq_m_): Likewise. - (mve_vqrshlq_m_): Likewise. - (mve_vqshlq_m_): Likewise. - (mve_vqsubq_m_): Likewise. - (mve_vrhaddq_m_): Likewise. - (mve_vrmulhq_m_): Likewise. - (mve_vrshlq_m_): Likewise. - (mve_vqdmladhq_m_s): Likewise. - (mve_vqdmladhxq_m_s): Likewise. - (mve_vqdmlsdhq_m_s): Likewise. - (mve_vqdmlsdhxq_m_s): Likewise. - (mve_vqdmulhq_m_s): Likewise. - (mve_vqrdmladhq_m_s): Likewise. - (mve_vqrdmladhxq_m_s): Likewise. - (mve_vqrdmlsdhq_m_s): Likewise. - (mve_vqrdmlsdhxq_m_s): Likewise. - (mve_vqrdmulhq_m_s): Likewise. - -2023-05-03 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITHOUT_M_N): New. (vcreateq): New. - * config/arm/arm-mve-builtins-base.def (vcreateq): New. - * config/arm/arm-mve-builtins-base.h (vcreateq): New. - * config/arm/arm_mve.h (vcreateq_f16): Remove. - (vcreateq_f32): Remove. - (vcreateq_u8): Remove. - (vcreateq_u16): Remove. - (vcreateq_u32): Remove. - (vcreateq_u64): Remove. - (vcreateq_s8): Remove. - (vcreateq_s16): Remove. - (vcreateq_s32): Remove. - (vcreateq_s64): Remove. - (__arm_vcreateq_u8): Remove. - (__arm_vcreateq_u16): Remove. - (__arm_vcreateq_u32): Remove. - (__arm_vcreateq_u64): Remove. - (__arm_vcreateq_s8): Remove. - (__arm_vcreateq_s16): Remove. - (__arm_vcreateq_s32): Remove. - (__arm_vcreateq_s64): Remove. - (__arm_vcreateq_f16): Remove. - (__arm_vcreateq_f32): Remove. - -2023-05-03 Christophe Lyon - - * config/arm/iterators.md (MVE_FP_CREATE_ONLY): New. - (mve_insn): Add VCREATEQ_S, VCREATEQ_U, VCREATEQ_F. - * config/arm/mve.md (mve_vcreateq_f): Rename into ... - (@mve_q_f): ... this. - (mve_vcreateq_): Rename into ... - (@mve_q_): ... this. - -2023-05-03 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (create): New. - * config/arm/arm-mve-builtins-shapes.h: (create): New. - -2023-05-03 Christophe Lyon - - * config/arm/arm-mve-builtins-functions.h (class - unspec_mve_function_exact_insn): New. - -2023-05-03 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_RTX_M_N_NO_N_F): New. - (vorrq): New. - * config/arm/arm-mve-builtins-base.def (vorrq): New. - * config/arm/arm-mve-builtins-base.h (vorrq): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vorrq. - * config/arm/arm_mve.h (vorrq): Remove. - (vorrq_m_n): Remove. - (vorrq_m): Remove. - (vorrq_x): Remove. - (vorrq_u8): Remove. - (vorrq_s8): Remove. - (vorrq_u16): Remove. - (vorrq_s16): Remove. - (vorrq_u32): Remove. - (vorrq_s32): Remove. - (vorrq_n_u16): Remove. - (vorrq_f16): Remove. - (vorrq_n_s16): Remove. - (vorrq_n_u32): Remove. - (vorrq_f32): Remove. - (vorrq_n_s32): Remove. - (vorrq_m_n_s16): Remove. - (vorrq_m_n_u16): Remove. - (vorrq_m_n_s32): Remove. - (vorrq_m_n_u32): Remove. - (vorrq_m_s8): Remove. - (vorrq_m_s32): Remove. - (vorrq_m_s16): Remove. - (vorrq_m_u8): Remove. - (vorrq_m_u32): Remove. - (vorrq_m_u16): Remove. - (vorrq_m_f32): Remove. - (vorrq_m_f16): Remove. - (vorrq_x_s8): Remove. - (vorrq_x_s16): Remove. - (vorrq_x_s32): Remove. - (vorrq_x_u8): Remove. - (vorrq_x_u16): Remove. - (vorrq_x_u32): Remove. - (vorrq_x_f16): Remove. - (vorrq_x_f32): Remove. - (__arm_vorrq_u8): Remove. - (__arm_vorrq_s8): Remove. - (__arm_vorrq_u16): Remove. - (__arm_vorrq_s16): Remove. - (__arm_vorrq_u32): Remove. - (__arm_vorrq_s32): Remove. - (__arm_vorrq_n_u16): Remove. - (__arm_vorrq_n_s16): Remove. - (__arm_vorrq_n_u32): Remove. - (__arm_vorrq_n_s32): Remove. - (__arm_vorrq_m_n_s16): Remove. - (__arm_vorrq_m_n_u16): Remove. - (__arm_vorrq_m_n_s32): Remove. - (__arm_vorrq_m_n_u32): Remove. - (__arm_vorrq_m_s8): Remove. - (__arm_vorrq_m_s32): Remove. - (__arm_vorrq_m_s16): Remove. - (__arm_vorrq_m_u8): Remove. - (__arm_vorrq_m_u32): Remove. - (__arm_vorrq_m_u16): Remove. - (__arm_vorrq_x_s8): Remove. - (__arm_vorrq_x_s16): Remove. - (__arm_vorrq_x_s32): Remove. - (__arm_vorrq_x_u8): Remove. - (__arm_vorrq_x_u16): Remove. - (__arm_vorrq_x_u32): Remove. - (__arm_vorrq_f16): Remove. - (__arm_vorrq_f32): Remove. - (__arm_vorrq_m_f32): Remove. - (__arm_vorrq_m_f16): Remove. - (__arm_vorrq_x_f16): Remove. - (__arm_vorrq_x_f32): Remove. - (__arm_vorrq): Remove. - (__arm_vorrq_m_n): Remove. - (__arm_vorrq_m): Remove. - (__arm_vorrq_x): Remove. - -2023-05-03 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_orrq): New. - * config/arm/arm-mve-builtins-shapes.h (binary_orrq): New. - * config/arm/arm-mve-builtins.cc (preds_m_or_none): Remove static. - * config/arm/arm-mve-builtins.h (preds_m_or_none): Declare. - -2023-05-03 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_RTX_M): New. - (vandq,veorq): New. - * config/arm/arm-mve-builtins-base.def (vandq, veorq): New. - * config/arm/arm-mve-builtins-base.h (vandq, veorq): New. - * config/arm/arm_mve.h (vandq): Remove. - (vandq_m): Remove. - (vandq_x): Remove. - (vandq_u8): Remove. - (vandq_s8): Remove. - (vandq_u16): Remove. - (vandq_s16): Remove. - (vandq_u32): Remove. - (vandq_s32): Remove. - (vandq_f16): Remove. - (vandq_f32): Remove. - (vandq_m_s8): Remove. - (vandq_m_s32): Remove. - (vandq_m_s16): Remove. - (vandq_m_u8): Remove. - (vandq_m_u32): Remove. - (vandq_m_u16): Remove. - (vandq_m_f32): Remove. - (vandq_m_f16): Remove. - (vandq_x_s8): Remove. - (vandq_x_s16): Remove. - (vandq_x_s32): Remove. - (vandq_x_u8): Remove. - (vandq_x_u16): Remove. - (vandq_x_u32): Remove. - (vandq_x_f16): Remove. - (vandq_x_f32): Remove. - (__arm_vandq_u8): Remove. - (__arm_vandq_s8): Remove. - (__arm_vandq_u16): Remove. - (__arm_vandq_s16): Remove. - (__arm_vandq_u32): Remove. - (__arm_vandq_s32): Remove. - (__arm_vandq_m_s8): Remove. - (__arm_vandq_m_s32): Remove. - (__arm_vandq_m_s16): Remove. - (__arm_vandq_m_u8): Remove. - (__arm_vandq_m_u32): Remove. - (__arm_vandq_m_u16): Remove. - (__arm_vandq_x_s8): Remove. - (__arm_vandq_x_s16): Remove. - (__arm_vandq_x_s32): Remove. - (__arm_vandq_x_u8): Remove. - (__arm_vandq_x_u16): Remove. - (__arm_vandq_x_u32): Remove. - (__arm_vandq_f16): Remove. - (__arm_vandq_f32): Remove. - (__arm_vandq_m_f32): Remove. - (__arm_vandq_m_f16): Remove. - (__arm_vandq_x_f16): Remove. - (__arm_vandq_x_f32): Remove. - (__arm_vandq): Remove. - (__arm_vandq_m): Remove. - (__arm_vandq_x): Remove. - (veorq_m): Remove. - (veorq_x): Remove. - (veorq_u8): Remove. - (veorq_s8): Remove. - (veorq_u16): Remove. - (veorq_s16): Remove. - (veorq_u32): Remove. - (veorq_s32): Remove. - (veorq_f16): Remove. - (veorq_f32): Remove. - (veorq_m_s8): Remove. - (veorq_m_s32): Remove. - (veorq_m_s16): Remove. - (veorq_m_u8): Remove. - (veorq_m_u32): Remove. - (veorq_m_u16): Remove. - (veorq_m_f32): Remove. - (veorq_m_f16): Remove. - (veorq_x_s8): Remove. - (veorq_x_s16): Remove. - (veorq_x_s32): Remove. - (veorq_x_u8): Remove. - (veorq_x_u16): Remove. - (veorq_x_u32): Remove. - (veorq_x_f16): Remove. - (veorq_x_f32): Remove. - (__arm_veorq_u8): Remove. - (__arm_veorq_s8): Remove. - (__arm_veorq_u16): Remove. - (__arm_veorq_s16): Remove. - (__arm_veorq_u32): Remove. - (__arm_veorq_s32): Remove. - (__arm_veorq_m_s8): Remove. - (__arm_veorq_m_s32): Remove. - (__arm_veorq_m_s16): Remove. - (__arm_veorq_m_u8): Remove. - (__arm_veorq_m_u32): Remove. - (__arm_veorq_m_u16): Remove. - (__arm_veorq_x_s8): Remove. - (__arm_veorq_x_s16): Remove. - (__arm_veorq_x_s32): Remove. - (__arm_veorq_x_u8): Remove. - (__arm_veorq_x_u16): Remove. - (__arm_veorq_x_u32): Remove. - (__arm_veorq_f16): Remove. - (__arm_veorq_f32): Remove. - (__arm_veorq_m_f32): Remove. - (__arm_veorq_m_f16): Remove. - (__arm_veorq_x_f16): Remove. - (__arm_veorq_x_f32): Remove. - (__arm_veorq): Remove. - (__arm_veorq_m): Remove. - (__arm_veorq_x): Remove. - -2023-05-03 Christophe Lyon - - * config/arm/iterators.md (MVE_INT_M_BINARY_LOGIC) - (MVE_FP_M_BINARY_LOGIC): New. - (MVE_INT_M_N_BINARY_LOGIC): New. - (MVE_INT_N_BINARY_LOGIC): New. - (mve_insn): Add vand, veor, vorr, vbic. - * config/arm/mve.md (mve_vandq_m_) - (mve_veorq_m_, mve_vorrq_m_) - (mve_vbicq_m_): Merge into ... - (@mve_q_m_): ... this. - (mve_vandq_m_f, mve_veorq_m_f, mve_vorrq_m_f) - (mve_vbicq_m_f): Merge into ... - (@mve_q_m_f): ... this. - (mve_vorrq_n_) - (mve_vbicq_n_): Merge into ... - (@mve_q_n_): ... this. - (mve_vorrq_m_n_, mve_vbicq_m_n_): Merge - into ... - (@mve_q_m_n_): ... this. - -2023-05-03 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary): New. - * config/arm/arm-mve-builtins-shapes.h (binary): New. - -2023-05-03 Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_RTX_M_N): - New. - (vaddq, vmulq, vsubq): New. - * config/arm/arm-mve-builtins-base.def (vaddq, vmulq, vsubq): New. - * config/arm/arm-mve-builtins-base.h (vaddq, vmulq, vsubq): New. - * config/arm/arm_mve.h (vaddq): Remove. - (vaddq_m): Remove. - (vaddq_x): Remove. - (vaddq_n_u8): Remove. - (vaddq_n_s8): Remove. - (vaddq_n_u16): Remove. - (vaddq_n_s16): Remove. - (vaddq_n_u32): Remove. - (vaddq_n_s32): Remove. - (vaddq_n_f16): Remove. - (vaddq_n_f32): Remove. - (vaddq_m_n_s8): Remove. - (vaddq_m_n_s32): Remove. - (vaddq_m_n_s16): Remove. - (vaddq_m_n_u8): Remove. - (vaddq_m_n_u32): Remove. - (vaddq_m_n_u16): Remove. - (vaddq_m_s8): Remove. - (vaddq_m_s32): Remove. - (vaddq_m_s16): Remove. - (vaddq_m_u8): Remove. - (vaddq_m_u32): Remove. - (vaddq_m_u16): Remove. - (vaddq_m_f32): Remove. - (vaddq_m_f16): Remove. - (vaddq_m_n_f32): Remove. - (vaddq_m_n_f16): Remove. - (vaddq_s8): Remove. - (vaddq_s16): Remove. - (vaddq_s32): Remove. - (vaddq_u8): Remove. - (vaddq_u16): Remove. - (vaddq_u32): Remove. - (vaddq_f16): Remove. - (vaddq_f32): Remove. - (vaddq_x_s8): Remove. - (vaddq_x_s16): Remove. - (vaddq_x_s32): Remove. - (vaddq_x_n_s8): Remove. - (vaddq_x_n_s16): Remove. - (vaddq_x_n_s32): Remove. - (vaddq_x_u8): Remove. - (vaddq_x_u16): Remove. - (vaddq_x_u32): Remove. - (vaddq_x_n_u8): Remove. - (vaddq_x_n_u16): Remove. - (vaddq_x_n_u32): Remove. - (vaddq_x_f16): Remove. - (vaddq_x_f32): Remove. - (vaddq_x_n_f16): Remove. - (vaddq_x_n_f32): Remove. - (__arm_vaddq_n_u8): Remove. - (__arm_vaddq_n_s8): Remove. - (__arm_vaddq_n_u16): Remove. - (__arm_vaddq_n_s16): Remove. - (__arm_vaddq_n_u32): Remove. - (__arm_vaddq_n_s32): Remove. - (__arm_vaddq_m_n_s8): Remove. - (__arm_vaddq_m_n_s32): Remove. - (__arm_vaddq_m_n_s16): Remove. - (__arm_vaddq_m_n_u8): Remove. - (__arm_vaddq_m_n_u32): Remove. - (__arm_vaddq_m_n_u16): Remove. - (__arm_vaddq_m_s8): Remove. - (__arm_vaddq_m_s32): Remove. - (__arm_vaddq_m_s16): Remove. - (__arm_vaddq_m_u8): Remove. - (__arm_vaddq_m_u32): Remove. - (__arm_vaddq_m_u16): Remove. - (__arm_vaddq_s8): Remove. - (__arm_vaddq_s16): Remove. - (__arm_vaddq_s32): Remove. - (__arm_vaddq_u8): Remove. - (__arm_vaddq_u16): Remove. - (__arm_vaddq_u32): Remove. - (__arm_vaddq_x_s8): Remove. - (__arm_vaddq_x_s16): Remove. - (__arm_vaddq_x_s32): Remove. - (__arm_vaddq_x_n_s8): Remove. - (__arm_vaddq_x_n_s16): Remove. - (__arm_vaddq_x_n_s32): Remove. - (__arm_vaddq_x_u8): Remove. - (__arm_vaddq_x_u16): Remove. - (__arm_vaddq_x_u32): Remove. - (__arm_vaddq_x_n_u8): Remove. - (__arm_vaddq_x_n_u16): Remove. - (__arm_vaddq_x_n_u32): Remove. - (__arm_vaddq_n_f16): Remove. - (__arm_vaddq_n_f32): Remove. - (__arm_vaddq_m_f32): Remove. - (__arm_vaddq_m_f16): Remove. - (__arm_vaddq_m_n_f32): Remove. - (__arm_vaddq_m_n_f16): Remove. - (__arm_vaddq_f16): Remove. - (__arm_vaddq_f32): Remove. - (__arm_vaddq_x_f16): Remove. - (__arm_vaddq_x_f32): Remove. - (__arm_vaddq_x_n_f16): Remove. - (__arm_vaddq_x_n_f32): Remove. - (__arm_vaddq): Remove. - (__arm_vaddq_m): Remove. - (__arm_vaddq_x): Remove. - (vmulq): Remove. - (vmulq_m): Remove. - (vmulq_x): Remove. - (vmulq_u8): Remove. - (vmulq_n_u8): Remove. - (vmulq_s8): Remove. - (vmulq_n_s8): Remove. - (vmulq_u16): Remove. - (vmulq_n_u16): Remove. - (vmulq_s16): Remove. - (vmulq_n_s16): Remove. - (vmulq_u32): Remove. - (vmulq_n_u32): Remove. - (vmulq_s32): Remove. - (vmulq_n_s32): Remove. - (vmulq_n_f16): Remove. - (vmulq_f16): Remove. - (vmulq_n_f32): Remove. - (vmulq_f32): Remove. - (vmulq_m_n_s8): Remove. - (vmulq_m_n_s32): Remove. - (vmulq_m_n_s16): Remove. - (vmulq_m_n_u8): Remove. - (vmulq_m_n_u32): Remove. - (vmulq_m_n_u16): Remove. - (vmulq_m_s8): Remove. - (vmulq_m_s32): Remove. - (vmulq_m_s16): Remove. - (vmulq_m_u8): Remove. - (vmulq_m_u32): Remove. - (vmulq_m_u16): Remove. - (vmulq_m_f32): Remove. - (vmulq_m_f16): Remove. - (vmulq_m_n_f32): Remove. - (vmulq_m_n_f16): Remove. - (vmulq_x_s8): Remove. - (vmulq_x_s16): Remove. - (vmulq_x_s32): Remove. - (vmulq_x_n_s8): Remove. - (vmulq_x_n_s16): Remove. - (vmulq_x_n_s32): Remove. - (vmulq_x_u8): Remove. - (vmulq_x_u16): Remove. - (vmulq_x_u32): Remove. - (vmulq_x_n_u8): Remove. - (vmulq_x_n_u16): Remove. - (vmulq_x_n_u32): Remove. - (vmulq_x_f16): Remove. - (vmulq_x_f32): Remove. - (vmulq_x_n_f16): Remove. - (vmulq_x_n_f32): Remove. - (__arm_vmulq_u8): Remove. - (__arm_vmulq_n_u8): Remove. - (__arm_vmulq_s8): Remove. - (__arm_vmulq_n_s8): Remove. - (__arm_vmulq_u16): Remove. - (__arm_vmulq_n_u16): Remove. - (__arm_vmulq_s16): Remove. - (__arm_vmulq_n_s16): Remove. - (__arm_vmulq_u32): Remove. - (__arm_vmulq_n_u32): Remove. - (__arm_vmulq_s32): Remove. - (__arm_vmulq_n_s32): Remove. - (__arm_vmulq_m_n_s8): Remove. - (__arm_vmulq_m_n_s32): Remove. - (__arm_vmulq_m_n_s16): Remove. - (__arm_vmulq_m_n_u8): Remove. - (__arm_vmulq_m_n_u32): Remove. - (__arm_vmulq_m_n_u16): Remove. - (__arm_vmulq_m_s8): Remove. - (__arm_vmulq_m_s32): Remove. - (__arm_vmulq_m_s16): Remove. - (__arm_vmulq_m_u8): Remove. - (__arm_vmulq_m_u32): Remove. - (__arm_vmulq_m_u16): Remove. - (__arm_vmulq_x_s8): Remove. - (__arm_vmulq_x_s16): Remove. - (__arm_vmulq_x_s32): Remove. - (__arm_vmulq_x_n_s8): Remove. - (__arm_vmulq_x_n_s16): Remove. - (__arm_vmulq_x_n_s32): Remove. - (__arm_vmulq_x_u8): Remove. - (__arm_vmulq_x_u16): Remove. - (__arm_vmulq_x_u32): Remove. - (__arm_vmulq_x_n_u8): Remove. - (__arm_vmulq_x_n_u16): Remove. - (__arm_vmulq_x_n_u32): Remove. - (__arm_vmulq_n_f16): Remove. - (__arm_vmulq_f16): Remove. - (__arm_vmulq_n_f32): Remove. - (__arm_vmulq_f32): Remove. - (__arm_vmulq_m_f32): Remove. - (__arm_vmulq_m_f16): Remove. - (__arm_vmulq_m_n_f32): Remove. - (__arm_vmulq_m_n_f16): Remove. - (__arm_vmulq_x_f16): Remove. - (__arm_vmulq_x_f32): Remove. - (__arm_vmulq_x_n_f16): Remove. - (__arm_vmulq_x_n_f32): Remove. - (__arm_vmulq): Remove. - (__arm_vmulq_m): Remove. - (__arm_vmulq_x): Remove. - (vsubq): Remove. - (vsubq_m): Remove. - (vsubq_x): Remove. - (vsubq_n_f16): Remove. - (vsubq_n_f32): Remove. - (vsubq_u8): Remove. - (vsubq_n_u8): Remove. - (vsubq_s8): Remove. - (vsubq_n_s8): Remove. - (vsubq_u16): Remove. - (vsubq_n_u16): Remove. - (vsubq_s16): Remove. - (vsubq_n_s16): Remove. - (vsubq_u32): Remove. - (vsubq_n_u32): Remove. - (vsubq_s32): Remove. - (vsubq_n_s32): Remove. - (vsubq_f16): Remove. - (vsubq_f32): Remove. - (vsubq_m_s8): Remove. - (vsubq_m_u8): Remove. - (vsubq_m_s16): Remove. - (vsubq_m_u16): Remove. - (vsubq_m_s32): Remove. - (vsubq_m_u32): Remove. - (vsubq_m_n_s8): Remove. - (vsubq_m_n_s32): Remove. - (vsubq_m_n_s16): Remove. - (vsubq_m_n_u8): Remove. - (vsubq_m_n_u32): Remove. - (vsubq_m_n_u16): Remove. - (vsubq_m_f32): Remove. - (vsubq_m_f16): Remove. - (vsubq_m_n_f32): Remove. - (vsubq_m_n_f16): Remove. - (vsubq_x_s8): Remove. - (vsubq_x_s16): Remove. - (vsubq_x_s32): Remove. - (vsubq_x_n_s8): Remove. - (vsubq_x_n_s16): Remove. - (vsubq_x_n_s32): Remove. - (vsubq_x_u8): Remove. - (vsubq_x_u16): Remove. - (vsubq_x_u32): Remove. - (vsubq_x_n_u8): Remove. - (vsubq_x_n_u16): Remove. - (vsubq_x_n_u32): Remove. - (vsubq_x_f16): Remove. - (vsubq_x_f32): Remove. - (vsubq_x_n_f16): Remove. - (vsubq_x_n_f32): Remove. - (__arm_vsubq_u8): Remove. - (__arm_vsubq_n_u8): Remove. - (__arm_vsubq_s8): Remove. - (__arm_vsubq_n_s8): Remove. - (__arm_vsubq_u16): Remove. - (__arm_vsubq_n_u16): Remove. - (__arm_vsubq_s16): Remove. - (__arm_vsubq_n_s16): Remove. - (__arm_vsubq_u32): Remove. - (__arm_vsubq_n_u32): Remove. - (__arm_vsubq_s32): Remove. - (__arm_vsubq_n_s32): Remove. - (__arm_vsubq_m_s8): Remove. - (__arm_vsubq_m_u8): Remove. - (__arm_vsubq_m_s16): Remove. - (__arm_vsubq_m_u16): Remove. - (__arm_vsubq_m_s32): Remove. - (__arm_vsubq_m_u32): Remove. - (__arm_vsubq_m_n_s8): Remove. - (__arm_vsubq_m_n_s32): Remove. - (__arm_vsubq_m_n_s16): Remove. - (__arm_vsubq_m_n_u8): Remove. - (__arm_vsubq_m_n_u32): Remove. - (__arm_vsubq_m_n_u16): Remove. - (__arm_vsubq_x_s8): Remove. - (__arm_vsubq_x_s16): Remove. - (__arm_vsubq_x_s32): Remove. - (__arm_vsubq_x_n_s8): Remove. - (__arm_vsubq_x_n_s16): Remove. - (__arm_vsubq_x_n_s32): Remove. - (__arm_vsubq_x_u8): Remove. - (__arm_vsubq_x_u16): Remove. - (__arm_vsubq_x_u32): Remove. - (__arm_vsubq_x_n_u8): Remove. - (__arm_vsubq_x_n_u16): Remove. - (__arm_vsubq_x_n_u32): Remove. - (__arm_vsubq_n_f16): Remove. - (__arm_vsubq_n_f32): Remove. - (__arm_vsubq_f16): Remove. - (__arm_vsubq_f32): Remove. - (__arm_vsubq_m_f32): Remove. - (__arm_vsubq_m_f16): Remove. - (__arm_vsubq_m_n_f32): Remove. - (__arm_vsubq_m_n_f16): Remove. - (__arm_vsubq_x_f16): Remove. - (__arm_vsubq_x_f32): Remove. - (__arm_vsubq_x_n_f16): Remove. - (__arm_vsubq_x_n_f32): Remove. - (__arm_vsubq): Remove. - (__arm_vsubq_m): Remove. - (__arm_vsubq_x): Remove. - * config/arm/arm_mve_builtins.def (vsubq_u, vsubq_s, vsubq_f): - Remove. - (vmulq_u, vmulq_s, vmulq_f): Remove. - * config/arm/mve.md (mve_vsubq_): Remove. - (mve_vmulq_): Remove. - -2023-05-03 Christophe Lyon - - * config/arm/iterators.md (MVE_INT_BINARY_RTX, MVE_INT_M_BINARY) - (MVE_INT_M_N_BINARY, MVE_INT_N_BINARY, MVE_FP_M_BINARY) - (MVE_FP_M_N_BINARY, MVE_FP_N_BINARY, mve_addsubmul, mve_insn): New - iterators. - * config/arm/mve.md - (mve_vsubq_n_f, mve_vaddq_n_f, mve_vmulq_n_f): - Factorize into ... - (@mve_q_n_f): ... this. - (mve_vaddq_n_, mve_vmulq_n_) - (mve_vsubq_n_): Factorize into ... - (@mve_q_n_): ... this. - (mve_vaddq, mve_vmulq, mve_vsubq): Factorize - into ... - (mve_q): ... this. - (mve_vaddq_f, mve_vmulq_f, mve_vsubq_f): - Factorize into ... - (mve_q_f): ... this. - (mve_vaddq_m_, mve_vmulq_m_) - (mve_vsubq_m_): Factorize into ... - (@mve_q_m_): ... this, - (mve_vaddq_m_n_, mve_vmulq_m_n_) - (mve_vsubq_m_n_): Factorize into ... - (@mve_q_m_n_): ... this. - (mve_vaddq_m_f, mve_vmulq_m_f, mve_vsubq_m_f): - Factorize into ... - (@mve_q_m_f): ... this. - (mve_vaddq_m_n_f, mve_vmulq_m_n_f) - (mve_vsubq_m_n_f): Factorize into ... - (@mve_q_m_n_f): ... this. - -2023-05-03 Christophe Lyon - - * config/arm/arm-mve-builtins-functions.h (class - unspec_based_mve_function_base): New. - (class unspec_based_mve_function_exact_insn): New. - -2023-05-03 Christophe Lyon - - * config/arm/arm-mve-builtins-shapes.cc (binary_opt_n): New. - * config/arm/arm-mve-builtins-shapes.h (binary_opt_n): New. - -2023-05-03 Murray Steele - Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (class - vuninitializedq_impl): New. - * config/arm/arm-mve-builtins-base.def (vuninitializedq): New. - * config/arm/arm-mve-builtins-base.h (vuninitializedq): New - declaration. - * config/arm/arm-mve-builtins-shapes.cc (inherent): New. - * config/arm/arm-mve-builtins-shapes.h (inherent): New - declaration. - * config/arm/arm_mve_types.h (__arm_vuninitializedq): Move to ... - * config/arm/arm_mve.h (__arm_vuninitializedq): ... here. - (__arm_vuninitializedq_u8): Remove. - (__arm_vuninitializedq_u16): Remove. - (__arm_vuninitializedq_u32): Remove. - (__arm_vuninitializedq_u64): Remove. - (__arm_vuninitializedq_s8): Remove. - (__arm_vuninitializedq_s16): Remove. - (__arm_vuninitializedq_s32): Remove. - (__arm_vuninitializedq_s64): Remove. - (__arm_vuninitializedq_f16): Remove. - (__arm_vuninitializedq_f32): Remove. - -2023-05-03 Murray Steele - Christophe Lyon - - * config/arm/arm-mve-builtins-base.cc (vreinterpretq_impl): New class. - * config/arm/arm-mve-builtins-base.def: Define vreinterpretq. - * config/arm/arm-mve-builtins-base.h (vreinterpretq): New declaration. - * config/arm/arm-mve-builtins-shapes.cc (parse_element_type): New function. - (parse_type): Likewise. - (parse_signature): Likewise. - (build_one): Likewise. - (build_all): Likewise. - (overloaded_base): New struct. - (unary_convert_def): Likewise. - * config/arm/arm-mve-builtins-shapes.h (unary_convert): Declare. - * config/arm/arm-mve-builtins.cc (TYPES_reinterpret_signed1): New - macro. - (TYPES_reinterpret_unsigned1): Likewise. - (TYPES_reinterpret_integer): Likewise. - (TYPES_reinterpret_integer1): Likewise. - (TYPES_reinterpret_float1): Likewise. - (TYPES_reinterpret_float): Likewise. - (reinterpret_integer): New. - (reinterpret_float): New. - (handle_arm_mve_h): Register builtins. - * config/arm/arm_mve.h (vreinterpretq_s16): Remove. - (vreinterpretq_s32): Likewise. - (vreinterpretq_s64): Likewise. - (vreinterpretq_s8): Likewise. - (vreinterpretq_u16): Likewise. - (vreinterpretq_u32): Likewise. - (vreinterpretq_u64): Likewise. - (vreinterpretq_u8): Likewise. - (vreinterpretq_f16): Likewise. - (vreinterpretq_f32): Likewise. - (vreinterpretq_s16_s32): Likewise. - (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. - (__arm_vreinterpretq_f16): Likewise. - (__arm_vreinterpretq_f32): Likewise. - (__arm_vreinterpretq_s16): Likewise. - (__arm_vreinterpretq_s32): Likewise. - (__arm_vreinterpretq_s64): Likewise. - (__arm_vreinterpretq_s8): Likewise. - (__arm_vreinterpretq_u16): Likewise. - (__arm_vreinterpretq_u32): Likewise. - (__arm_vreinterpretq_u64): Likewise. - (__arm_vreinterpretq_u8): Likewise. - * config/arm/arm_mve_types.h (__arm_vreinterpretq_s16_s32): Remove. - (__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_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. - (__arm_vreinterpretq_s16): Likewise. - (__arm_vreinterpretq_s32): Likewise. - (__arm_vreinterpretq_s64): Likewise. - (__arm_vreinterpretq_s8): Likewise. - (__arm_vreinterpretq_u16): Likewise. - (__arm_vreinterpretq_u32): Likewise. - (__arm_vreinterpretq_u64): Likewise. - (__arm_vreinterpretq_u8): Likewise. - (__arm_vreinterpretq_f16): Likewise. - (__arm_vreinterpretq_f32): Likewise. - * config/arm/mve.md (@arm_mve_reinterpret): New pattern. - * config/arm/unspecs.md: (REINTERPRET): New unspec. - -2023-05-03 Murray Steele - Christophe Lyon - Christophe Lyon - Christophe Lyon - Christophe Lyon - - * config/arm/arm-builtins.cc (arm_general_add_builtin_function): - New function. - (arm_init_builtin): Use arm_general_add_builtin_function instead - of arm_add_builtin_function. - (arm_init_acle_builtins): Likewise. - (arm_init_mve_builtins): Likewise. - (arm_init_crypto_builtins): Likewise. - (arm_init_builtins): Likewise. - (arm_general_builtin_decl): New function. - (arm_builtin_decl): Defer to numberspace-specialized functions. - (arm_expand_builtin_args): Rename into arm_general_expand_builtin_args. - (arm_expand_builtin_1): Rename into arm_general_expand_builtin_1 and ... - (arm_general_expand_builtin_1): ... specialize for general builtins. - (arm_expand_acle_builtin): Use arm_general_expand_builtin - instead of arm_expand_builtin. - (arm_expand_mve_builtin): Likewise. - (arm_expand_neon_builtin): Likewise. - (arm_expand_vfp_builtin): Likewise. - (arm_general_expand_builtin): New function. - (arm_expand_builtin): Specialize for general builtins. - (arm_general_check_builtin_call): New function. - (arm_check_builtin_call): Specialize for general builtins. - (arm_describe_resolver): Validate numberspace. - (arm_cde_end_args): Likewise. - * config/arm/arm-protos.h (enum arm_builtin_class): New enum. - (ARM_BUILTIN_SHIFT, ARM_BUILTIN_CLASS): New constants. - -2023-05-03 Martin Liska - - PR target/109713 - * config/riscv/sync.md: Add gcc_unreachable to a switch. - -2023-05-03 Richard Biener - - * tree-ssa-loop-split.cc (split_at_bb_p): Avoid last_stmt. - (patch_loop_exit): Likewise. - (connect_loops): Likewise. - (split_loop): Likewise. - (control_dep_semi_invariant_p): Likewise. - (do_split_loop_on_cond): Likewise. - (split_loop_on_cond): Likewise. - * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): - Likewise. - (simplify_loop_version): Likewise. - (evaluate_bbs): Likewise. - (find_loop_guard): Likewise. - (clean_up_after_unswitching): Likewise. - * tree-ssa-math-opts.cc (maybe_optimize_guarding_check): - Likewise. - (optimize_spaceship): Take a gcond * argument, avoid - last_stmt. - (math_opts_dom_walker::after_dom_children): Adjust call to - optimize_spaceship. - * tree-vrp.cc (maybe_set_nonzero_bits): Avoid last_stmt. - * value-pointer-equiv.cc (pointer_equiv_analyzer::visit_edge): - Likewise. - -2023-05-03 Andreas Schwab - - * config/riscv/linux.h (LIB_SPEC): Don't redefine. - -2023-05-03 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins-bases.cc (fold_fault_load): - New function. - (class vlseg): New class. - (class vsseg): Ditto. - (class vlsseg): Ditto. - (class vssseg): Ditto. - (class seg_indexed_load): Ditto. - (class seg_indexed_store): Ditto. - (class vlsegff): Ditto. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vlseg): - Ditto. - (vsseg): Ditto. - (vlsseg): Ditto. - (vssseg): Ditto. - (vluxseg): Ditto. - (vloxseg): Ditto. - (vsuxseg): Ditto. - (vsoxseg): Ditto. - (vlsegff): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct - seg_loadstore_def): Ditto. - (struct seg_indexed_loadstore_def): Ditto. - (struct seg_fault_load_def): Ditto. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc - (function_builder::append_nf): New function. - * config/riscv/riscv-vector-builtins.def (vfloat32m1x2_t): - Change ptr from double into float. - (vfloat32m1x3_t): Ditto. - (vfloat32m1x4_t): Ditto. - (vfloat32m1x5_t): Ditto. - (vfloat32m1x6_t): Ditto. - (vfloat32m1x7_t): Ditto. - (vfloat32m1x8_t): Ditto. - (vfloat32m2x2_t): Ditto. - (vfloat32m2x3_t): Ditto. - (vfloat32m2x4_t): Ditto. - (vfloat32m4x2_t): Ditto. - * config/riscv/riscv-vector-builtins.h: Add segment intrinsics. - * config/riscv/riscv-vsetvl.cc (fault_first_load_p): Adapt for - segment ff load. - * config/riscv/riscv.md: Add segment instructions. - * config/riscv/vector-iterators.md: Support segment intrinsics. - * config/riscv/vector.md (@pred_unit_strided_load): New - pattern. - (@pred_unit_strided_store): Ditto. - (@pred_strided_load): Ditto. - (@pred_strided_store): Ditto. - (@pred_fault_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - -2023-05-03 Ju-Zhe Zhong - - * config/riscv/genrvv-type-indexer.cc (valid_type): Adapt for - tuple type support. - (inttype): Ditto. - (floattype): Ditto. - (main): Ditto. - * config/riscv/riscv-vector-builtins-bases.cc: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vset): Add - tuple type vset. - (vget): Add tuple type vget. - * config/riscv/riscv-vector-builtins-types.def - (DEF_RVV_TUPLE_OPS): New macro. - (vint8mf8x2_t): Ditto. - (vuint8mf8x2_t): Ditto. - (vint8mf8x3_t): Ditto. - (vuint8mf8x3_t): Ditto. - (vint8mf8x4_t): Ditto. - (vuint8mf8x4_t): Ditto. - (vint8mf8x5_t): Ditto. - (vuint8mf8x5_t): Ditto. - (vint8mf8x6_t): Ditto. - (vuint8mf8x6_t): Ditto. - (vint8mf8x7_t): Ditto. - (vuint8mf8x7_t): Ditto. - (vint8mf8x8_t): Ditto. - (vuint8mf8x8_t): Ditto. - (vint8mf4x2_t): Ditto. - (vuint8mf4x2_t): Ditto. - (vint8mf4x3_t): Ditto. - (vuint8mf4x3_t): Ditto. - (vint8mf4x4_t): Ditto. - (vuint8mf4x4_t): Ditto. - (vint8mf4x5_t): Ditto. - (vuint8mf4x5_t): Ditto. - (vint8mf4x6_t): Ditto. - (vuint8mf4x6_t): Ditto. - (vint8mf4x7_t): Ditto. - (vuint8mf4x7_t): Ditto. - (vint8mf4x8_t): Ditto. - (vuint8mf4x8_t): Ditto. - (vint8mf2x2_t): Ditto. - (vuint8mf2x2_t): Ditto. - (vint8mf2x3_t): Ditto. - (vuint8mf2x3_t): Ditto. - (vint8mf2x4_t): Ditto. - (vuint8mf2x4_t): Ditto. - (vint8mf2x5_t): Ditto. - (vuint8mf2x5_t): Ditto. - (vint8mf2x6_t): Ditto. - (vuint8mf2x6_t): Ditto. - (vint8mf2x7_t): Ditto. - (vuint8mf2x7_t): Ditto. - (vint8mf2x8_t): Ditto. - (vuint8mf2x8_t): Ditto. - (vint8m1x2_t): Ditto. - (vuint8m1x2_t): Ditto. - (vint8m1x3_t): Ditto. - (vuint8m1x3_t): Ditto. - (vint8m1x4_t): Ditto. - (vuint8m1x4_t): Ditto. - (vint8m1x5_t): Ditto. - (vuint8m1x5_t): Ditto. - (vint8m1x6_t): Ditto. - (vuint8m1x6_t): Ditto. - (vint8m1x7_t): Ditto. - (vuint8m1x7_t): Ditto. - (vint8m1x8_t): Ditto. - (vuint8m1x8_t): Ditto. - (vint8m2x2_t): Ditto. - (vuint8m2x2_t): Ditto. - (vint8m2x3_t): Ditto. - (vuint8m2x3_t): Ditto. - (vint8m2x4_t): Ditto. - (vuint8m2x4_t): Ditto. - (vint8m4x2_t): Ditto. - (vuint8m4x2_t): Ditto. - (vint16mf4x2_t): Ditto. - (vuint16mf4x2_t): Ditto. - (vint16mf4x3_t): Ditto. - (vuint16mf4x3_t): Ditto. - (vint16mf4x4_t): Ditto. - (vuint16mf4x4_t): Ditto. - (vint16mf4x5_t): Ditto. - (vuint16mf4x5_t): Ditto. - (vint16mf4x6_t): Ditto. - (vuint16mf4x6_t): Ditto. - (vint16mf4x7_t): Ditto. - (vuint16mf4x7_t): Ditto. - (vint16mf4x8_t): Ditto. - (vuint16mf4x8_t): Ditto. - (vint16mf2x2_t): Ditto. - (vuint16mf2x2_t): Ditto. - (vint16mf2x3_t): Ditto. - (vuint16mf2x3_t): Ditto. - (vint16mf2x4_t): Ditto. - (vuint16mf2x4_t): Ditto. - (vint16mf2x5_t): Ditto. - (vuint16mf2x5_t): Ditto. - (vint16mf2x6_t): Ditto. - (vuint16mf2x6_t): Ditto. - (vint16mf2x7_t): Ditto. - (vuint16mf2x7_t): Ditto. - (vint16mf2x8_t): Ditto. - (vuint16mf2x8_t): Ditto. - (vint16m1x2_t): Ditto. - (vuint16m1x2_t): Ditto. - (vint16m1x3_t): Ditto. - (vuint16m1x3_t): Ditto. - (vint16m1x4_t): Ditto. - (vuint16m1x4_t): Ditto. - (vint16m1x5_t): Ditto. - (vuint16m1x5_t): Ditto. - (vint16m1x6_t): Ditto. - (vuint16m1x6_t): Ditto. - (vint16m1x7_t): Ditto. - (vuint16m1x7_t): Ditto. - (vint16m1x8_t): Ditto. - (vuint16m1x8_t): Ditto. - (vint16m2x2_t): Ditto. - (vuint16m2x2_t): Ditto. - (vint16m2x3_t): Ditto. - (vuint16m2x3_t): Ditto. - (vint16m2x4_t): Ditto. - (vuint16m2x4_t): Ditto. - (vint16m4x2_t): Ditto. - (vuint16m4x2_t): Ditto. - (vint32mf2x2_t): Ditto. - (vuint32mf2x2_t): Ditto. - (vint32mf2x3_t): Ditto. - (vuint32mf2x3_t): Ditto. - (vint32mf2x4_t): Ditto. - (vuint32mf2x4_t): Ditto. - (vint32mf2x5_t): Ditto. - (vuint32mf2x5_t): Ditto. - (vint32mf2x6_t): Ditto. - (vuint32mf2x6_t): Ditto. - (vint32mf2x7_t): Ditto. - (vuint32mf2x7_t): Ditto. - (vint32mf2x8_t): Ditto. - (vuint32mf2x8_t): Ditto. - (vint32m1x2_t): Ditto. - (vuint32m1x2_t): Ditto. - (vint32m1x3_t): Ditto. - (vuint32m1x3_t): Ditto. - (vint32m1x4_t): Ditto. - (vuint32m1x4_t): Ditto. - (vint32m1x5_t): Ditto. - (vuint32m1x5_t): Ditto. - (vint32m1x6_t): Ditto. - (vuint32m1x6_t): Ditto. - (vint32m1x7_t): Ditto. - (vuint32m1x7_t): Ditto. - (vint32m1x8_t): Ditto. - (vuint32m1x8_t): Ditto. - (vint32m2x2_t): Ditto. - (vuint32m2x2_t): Ditto. - (vint32m2x3_t): Ditto. - (vuint32m2x3_t): Ditto. - (vint32m2x4_t): Ditto. - (vuint32m2x4_t): Ditto. - (vint32m4x2_t): Ditto. - (vuint32m4x2_t): Ditto. - (vint64m1x2_t): Ditto. - (vuint64m1x2_t): Ditto. - (vint64m1x3_t): Ditto. - (vuint64m1x3_t): Ditto. - (vint64m1x4_t): Ditto. - (vuint64m1x4_t): Ditto. - (vint64m1x5_t): Ditto. - (vuint64m1x5_t): Ditto. - (vint64m1x6_t): Ditto. - (vuint64m1x6_t): Ditto. - (vint64m1x7_t): Ditto. - (vuint64m1x7_t): Ditto. - (vint64m1x8_t): Ditto. - (vuint64m1x8_t): Ditto. - (vint64m2x2_t): Ditto. - (vuint64m2x2_t): Ditto. - (vint64m2x3_t): Ditto. - (vuint64m2x3_t): Ditto. - (vint64m2x4_t): Ditto. - (vuint64m2x4_t): Ditto. - (vint64m4x2_t): Ditto. - (vuint64m4x2_t): Ditto. - (vfloat32mf2x2_t): Ditto. - (vfloat32mf2x3_t): Ditto. - (vfloat32mf2x4_t): Ditto. - (vfloat32mf2x5_t): Ditto. - (vfloat32mf2x6_t): Ditto. - (vfloat32mf2x7_t): Ditto. - (vfloat32mf2x8_t): Ditto. - (vfloat32m1x2_t): Ditto. - (vfloat32m1x3_t): Ditto. - (vfloat32m1x4_t): Ditto. - (vfloat32m1x5_t): Ditto. - (vfloat32m1x6_t): Ditto. - (vfloat32m1x7_t): Ditto. - (vfloat32m1x8_t): Ditto. - (vfloat32m2x2_t): Ditto. - (vfloat32m2x3_t): Ditto. - (vfloat32m2x4_t): Ditto. - (vfloat32m4x2_t): Ditto. - (vfloat64m1x2_t): Ditto. - (vfloat64m1x3_t): Ditto. - (vfloat64m1x4_t): Ditto. - (vfloat64m1x5_t): Ditto. - (vfloat64m1x6_t): Ditto. - (vfloat64m1x7_t): Ditto. - (vfloat64m1x8_t): Ditto. - (vfloat64m2x2_t): Ditto. - (vfloat64m2x3_t): Ditto. - (vfloat64m2x4_t): Ditto. - (vfloat64m4x2_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TUPLE_OPS): - Ditto. - (DEF_RVV_TYPE_INDEX): Ditto. - (rvv_arg_type_info::get_tuple_subpart_type): New function. - (DEF_RVV_TUPLE_TYPE): New macro. - * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE_INDEX): - Adapt for tuple vget/vset support. - (vint8mf4_t): Ditto. - (vuint8mf4_t): Ditto. - (vint8mf2_t): Ditto. - (vuint8mf2_t): Ditto. - (vint8m1_t): Ditto. - (vuint8m1_t): Ditto. - (vint8m2_t): Ditto. - (vuint8m2_t): Ditto. - (vint8m4_t): Ditto. - (vuint8m4_t): Ditto. - (vint8m8_t): Ditto. - (vuint8m8_t): Ditto. - (vint16mf4_t): Ditto. - (vuint16mf4_t): Ditto. - (vint16mf2_t): Ditto. - (vuint16mf2_t): Ditto. - (vint16m1_t): Ditto. - (vuint16m1_t): Ditto. - (vint16m2_t): Ditto. - (vuint16m2_t): Ditto. - (vint16m4_t): Ditto. - (vuint16m4_t): Ditto. - (vint16m8_t): Ditto. - (vuint16m8_t): Ditto. - (vint32mf2_t): Ditto. - (vuint32mf2_t): Ditto. - (vint32m1_t): Ditto. - (vuint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vuint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vuint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vuint32m8_t): Ditto. - (vint64m1_t): Ditto. - (vuint64m1_t): Ditto. - (vint64m2_t): Ditto. - (vuint64m2_t): Ditto. - (vint64m4_t): Ditto. - (vuint64m4_t): Ditto. - (vint64m8_t): Ditto. - (vuint64m8_t): Ditto. - (vfloat32mf2_t): Ditto. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat32m8_t): Ditto. - (vfloat64m1_t): Ditto. - (vfloat64m2_t): Ditto. - (vfloat64m4_t): Ditto. - (vfloat64m8_t): Ditto. - (tuple_subpart): Add tuple subpart base type. - * config/riscv/riscv-vector-builtins.h (struct - rvv_arg_type_info): Ditto. - (tuple_type_field): New function. - -2023-05-03 Ju-Zhe Zhong - - * config/riscv/riscv-modes.def (RVV_TUPLE_MODES): New macro. - (RVV_TUPLE_PARTIAL_MODES): Ditto. - * config/riscv/riscv-protos.h (riscv_v_ext_tuple_mode_p): New - function. - (get_nf): Ditto. - (get_subpart_mode): Ditto. - (get_tuple_mode): Ditto. - (expand_tuple_move): Ditto. - * config/riscv/riscv-v.cc (ENTRY): New macro. - (TUPLE_ENTRY): Ditto. - (get_nf): New function. - (get_subpart_mode): Ditto. - (get_tuple_mode): Ditto. - (expand_tuple_move): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TUPLE_TYPE): - New macro. - (register_tuple_type): New function - * config/riscv/riscv-vector-builtins.def (DEF_RVV_TUPLE_TYPE): - New macro. - (vint8mf8x2_t): New macro. - (vuint8mf8x2_t): Ditto. - (vint8mf8x3_t): Ditto. - (vuint8mf8x3_t): Ditto. - (vint8mf8x4_t): Ditto. - (vuint8mf8x4_t): Ditto. - (vint8mf8x5_t): Ditto. - (vuint8mf8x5_t): Ditto. - (vint8mf8x6_t): Ditto. - (vuint8mf8x6_t): Ditto. - (vint8mf8x7_t): Ditto. - (vuint8mf8x7_t): Ditto. - (vint8mf8x8_t): Ditto. - (vuint8mf8x8_t): Ditto. - (vint8mf4x2_t): Ditto. - (vuint8mf4x2_t): Ditto. - (vint8mf4x3_t): Ditto. - (vuint8mf4x3_t): Ditto. - (vint8mf4x4_t): Ditto. - (vuint8mf4x4_t): Ditto. - (vint8mf4x5_t): Ditto. - (vuint8mf4x5_t): Ditto. - (vint8mf4x6_t): Ditto. - (vuint8mf4x6_t): Ditto. - (vint8mf4x7_t): Ditto. - (vuint8mf4x7_t): Ditto. - (vint8mf4x8_t): Ditto. - (vuint8mf4x8_t): Ditto. - (vint8mf2x2_t): Ditto. - (vuint8mf2x2_t): Ditto. - (vint8mf2x3_t): Ditto. - (vuint8mf2x3_t): Ditto. - (vint8mf2x4_t): Ditto. - (vuint8mf2x4_t): Ditto. - (vint8mf2x5_t): Ditto. - (vuint8mf2x5_t): Ditto. - (vint8mf2x6_t): Ditto. - (vuint8mf2x6_t): Ditto. - (vint8mf2x7_t): Ditto. - (vuint8mf2x7_t): Ditto. - (vint8mf2x8_t): Ditto. - (vuint8mf2x8_t): Ditto. - (vint8m1x2_t): Ditto. - (vuint8m1x2_t): Ditto. - (vint8m1x3_t): Ditto. - (vuint8m1x3_t): Ditto. - (vint8m1x4_t): Ditto. - (vuint8m1x4_t): Ditto. - (vint8m1x5_t): Ditto. - (vuint8m1x5_t): Ditto. - (vint8m1x6_t): Ditto. - (vuint8m1x6_t): Ditto. - (vint8m1x7_t): Ditto. - (vuint8m1x7_t): Ditto. - (vint8m1x8_t): Ditto. - (vuint8m1x8_t): Ditto. - (vint8m2x2_t): Ditto. - (vuint8m2x2_t): Ditto. - (vint8m2x3_t): Ditto. - (vuint8m2x3_t): Ditto. - (vint8m2x4_t): Ditto. - (vuint8m2x4_t): Ditto. - (vint8m4x2_t): Ditto. - (vuint8m4x2_t): Ditto. - (vint16mf4x2_t): Ditto. - (vuint16mf4x2_t): Ditto. - (vint16mf4x3_t): Ditto. - (vuint16mf4x3_t): Ditto. - (vint16mf4x4_t): Ditto. - (vuint16mf4x4_t): Ditto. - (vint16mf4x5_t): Ditto. - (vuint16mf4x5_t): Ditto. - (vint16mf4x6_t): Ditto. - (vuint16mf4x6_t): Ditto. - (vint16mf4x7_t): Ditto. - (vuint16mf4x7_t): Ditto. - (vint16mf4x8_t): Ditto. - (vuint16mf4x8_t): Ditto. - (vint16mf2x2_t): Ditto. - (vuint16mf2x2_t): Ditto. - (vint16mf2x3_t): Ditto. - (vuint16mf2x3_t): Ditto. - (vint16mf2x4_t): Ditto. - (vuint16mf2x4_t): Ditto. - (vint16mf2x5_t): Ditto. - (vuint16mf2x5_t): Ditto. - (vint16mf2x6_t): Ditto. - (vuint16mf2x6_t): Ditto. - (vint16mf2x7_t): Ditto. - (vuint16mf2x7_t): Ditto. - (vint16mf2x8_t): Ditto. - (vuint16mf2x8_t): Ditto. - (vint16m1x2_t): Ditto. - (vuint16m1x2_t): Ditto. - (vint16m1x3_t): Ditto. - (vuint16m1x3_t): Ditto. - (vint16m1x4_t): Ditto. - (vuint16m1x4_t): Ditto. - (vint16m1x5_t): Ditto. - (vuint16m1x5_t): Ditto. - (vint16m1x6_t): Ditto. - (vuint16m1x6_t): Ditto. - (vint16m1x7_t): Ditto. - (vuint16m1x7_t): Ditto. - (vint16m1x8_t): Ditto. - (vuint16m1x8_t): Ditto. - (vint16m2x2_t): Ditto. - (vuint16m2x2_t): Ditto. - (vint16m2x3_t): Ditto. - (vuint16m2x3_t): Ditto. - (vint16m2x4_t): Ditto. - (vuint16m2x4_t): Ditto. - (vint16m4x2_t): Ditto. - (vuint16m4x2_t): Ditto. - (vint32mf2x2_t): Ditto. - (vuint32mf2x2_t): Ditto. - (vint32mf2x3_t): Ditto. - (vuint32mf2x3_t): Ditto. - (vint32mf2x4_t): Ditto. - (vuint32mf2x4_t): Ditto. - (vint32mf2x5_t): Ditto. - (vuint32mf2x5_t): Ditto. - (vint32mf2x6_t): Ditto. - (vuint32mf2x6_t): Ditto. - (vint32mf2x7_t): Ditto. - (vuint32mf2x7_t): Ditto. - (vint32mf2x8_t): Ditto. - (vuint32mf2x8_t): Ditto. - (vint32m1x2_t): Ditto. - (vuint32m1x2_t): Ditto. - (vint32m1x3_t): Ditto. - (vuint32m1x3_t): Ditto. - (vint32m1x4_t): Ditto. - (vuint32m1x4_t): Ditto. - (vint32m1x5_t): Ditto. - (vuint32m1x5_t): Ditto. - (vint32m1x6_t): Ditto. - (vuint32m1x6_t): Ditto. - (vint32m1x7_t): Ditto. - (vuint32m1x7_t): Ditto. - (vint32m1x8_t): Ditto. - (vuint32m1x8_t): Ditto. - (vint32m2x2_t): Ditto. - (vuint32m2x2_t): Ditto. - (vint32m2x3_t): Ditto. - (vuint32m2x3_t): Ditto. - (vint32m2x4_t): Ditto. - (vuint32m2x4_t): Ditto. - (vint32m4x2_t): Ditto. - (vuint32m4x2_t): Ditto. - (vint64m1x2_t): Ditto. - (vuint64m1x2_t): Ditto. - (vint64m1x3_t): Ditto. - (vuint64m1x3_t): Ditto. - (vint64m1x4_t): Ditto. - (vuint64m1x4_t): Ditto. - (vint64m1x5_t): Ditto. - (vuint64m1x5_t): Ditto. - (vint64m1x6_t): Ditto. - (vuint64m1x6_t): Ditto. - (vint64m1x7_t): Ditto. - (vuint64m1x7_t): Ditto. - (vint64m1x8_t): Ditto. - (vuint64m1x8_t): Ditto. - (vint64m2x2_t): Ditto. - (vuint64m2x2_t): Ditto. - (vint64m2x3_t): Ditto. - (vuint64m2x3_t): Ditto. - (vint64m2x4_t): Ditto. - (vuint64m2x4_t): Ditto. - (vint64m4x2_t): Ditto. - (vuint64m4x2_t): Ditto. - (vfloat32mf2x2_t): Ditto. - (vfloat32mf2x3_t): Ditto. - (vfloat32mf2x4_t): Ditto. - (vfloat32mf2x5_t): Ditto. - (vfloat32mf2x6_t): Ditto. - (vfloat32mf2x7_t): Ditto. - (vfloat32mf2x8_t): Ditto. - (vfloat32m1x2_t): Ditto. - (vfloat32m1x3_t): Ditto. - (vfloat32m1x4_t): Ditto. - (vfloat32m1x5_t): Ditto. - (vfloat32m1x6_t): Ditto. - (vfloat32m1x7_t): Ditto. - (vfloat32m1x8_t): Ditto. - (vfloat32m2x2_t): Ditto. - (vfloat32m2x3_t): Ditto. - (vfloat32m2x4_t): Ditto. - (vfloat32m4x2_t): Ditto. - (vfloat64m1x2_t): Ditto. - (vfloat64m1x3_t): Ditto. - (vfloat64m1x4_t): Ditto. - (vfloat64m1x5_t): Ditto. - (vfloat64m1x6_t): Ditto. - (vfloat64m1x7_t): Ditto. - (vfloat64m1x8_t): Ditto. - (vfloat64m2x2_t): Ditto. - (vfloat64m2x3_t): Ditto. - (vfloat64m2x4_t): Ditto. - (vfloat64m4x2_t): Ditto. - * config/riscv/riscv-vector-builtins.h (DEF_RVV_TUPLE_TYPE): - Ditto. - * config/riscv/riscv-vector-switch.def (TUPLE_ENTRY): Ditto. - * config/riscv/riscv.cc (riscv_v_ext_tuple_mode_p): New - function. - (TUPLE_ENTRY): Ditto. - (riscv_v_ext_mode_p): New function. - (riscv_v_adjust_nunits): Add tuple mode adjustment. - (riscv_classify_address): Ditto. - (riscv_binary_cost): Ditto. - (riscv_rtx_costs): Ditto. - (riscv_secondary_memory_needed): Ditto. - (riscv_hard_regno_nregs): Ditto. - (riscv_hard_regno_mode_ok): Ditto. - (riscv_vector_mode_supported_p): Ditto. - (riscv_regmode_natural_size): Ditto. - (riscv_array_mode): New function. - (TARGET_ARRAY_MODE): New target hook. - * config/riscv/riscv.md: Add tuple modes. - * config/riscv/vector-iterators.md: Ditto. - * config/riscv/vector.md (mov): Add tuple modes data - movement. - (*mov_): Ditto. - -2023-05-03 Richard Biener - - * cse.cc (cse_insn): Track an equivalence to the destination - separately and delay using src_related for it. - -2023-05-03 Richard Biener - - * cse.cc (HASH): Turn into inline function and mix - in another HASH_SHIFT bits. - (SAFE_HASH): Likewise. - -2023-05-03 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_h): Rename to... - (aarch64_h): ... This. - -2023-05-03 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (add3): Rename to... - (add3): ... This. - (sub3): Rename to... - (sub3): ... This. - (mul3): Rename to... - (mul3): ... This. - (*div3): Rename to... - (*div3): ... This. - (neg2): Rename to... - (neg2): ... This. - (abs2): Rename to... - (abs2): ... This. - (2): Rename to... - (2): ... This. - (3): Rename to... - (3): ... This. - (*sqrt2): Rename to... - (*sqrt2): ... This. - -2023-05-03 Kito Cheng - - * doc/md.texi (RISC-V): Add vr, vm, vd constarint. - -2023-05-03 Martin Liska - - PR tree-optimization/109693 - * value-range-storage.cc (vrange_allocator::vrange_allocator): - Remove unused field. - * value-range-storage.h: Likewise. - -2023-05-02 Andrew Pinski - - * tree-ssa-phiopt.cc (move_stmt): New function. - (match_simplify_replacement): Use move_stmt instead - of the inlined version. - -2023-05-02 Andrew Pinski - - * match.pd (a != 0 ? CLRSB(a) : CST -> CLRSB(a)): New - pattern. - -2023-05-02 Andrew Pinski - - PR tree-optimization/109702 - * match.pd: Fix "a != 0 ? FUNC(a) : CST" patterns - for FUNC of POPCOUNT BSWAP FFS PARITY CLZ and CTZ. - -2023-05-02 Andrew Pinski - - PR target/109657 - * config/aarch64/aarch64.md (*cmov_insn_m1): New - insn_and_split pattern. - -2023-05-02 Patrick O'Neill - - * config/riscv/sync.md (atomic_load): Implement atomic - load mapping. - -2023-05-02 Patrick O'Neill - - * config/riscv/sync.md (mem_thread_fence_1): Change fence - depending on the given memory model. - -2023-05-02 Patrick O'Neill - - * config/riscv/riscv-protos.h (riscv_union_memmodels): Expose - riscv_union_memmodels function to sync.md. - * config/riscv/riscv.cc (riscv_union_memmodels): Add function to - get the union of two memmodels in sync.md. - (riscv_print_operand): Add %I and %J flags that output the - optimal LR/SC flag bits for a given memory model. - * config/riscv/sync.md: Remove static .aqrl bits on LR op/.rl - bits on SC op and replace with optimized %I, %J flags. - -2023-05-02 Patrick O'Neill - - * config/riscv/riscv.cc - (riscv_memmodel_needs_amo_release): Change function name. - (riscv_print_operand): Remove unneeded %F case. - * config/riscv/sync.md: Remove unneeded fences. - -2023-05-02 Patrick O'Neill - - PR target/89835 - * config/riscv/sync.md (atomic_store): Use simple store - instruction in combination with fence(s). - -2023-05-02 Patrick O'Neill - - * config/riscv/riscv.cc (riscv_print_operand): Change behavior - of %A to include release bits. - -2023-05-02 Patrick O'Neill - - * config/riscv/sync.md (atomic_cas_value_strong): Change - FENCE/LR.aq/SC.aq into sequentially consistent LR.aqrl/SC.rl - pair. - -2023-05-02 Patrick O'Neill - - * config/riscv/sync.md: Change LR.aq/SC.rl pairs into - sequentially consistent LR.aqrl/SC.rl pairs. - -2023-05-02 Patrick O'Neill - - * config/riscv/riscv.cc: Remove MEMMODEL_SYNC_* cases and - sanitize memmodel input with memmodel_base. - -2023-05-02 Yanzhang Wang - Pan Li - - PR target/109617 - * config/riscv/vector-iterators.md: Support VNx2HI and VNX4DI when MIN_VLEN >= 128. - -2023-05-02 Romain Naour - - * config/riscv/genrvv-type-indexer.cc: Use log2 from the C header, without - the namespace. - -2023-05-02 Martin Liska - - * doc/invoke.texi: Update documentation based on param.opt file. - -2023-05-02 Richard Biener - - PR tree-optimization/109672 - * tree-vect-stmts.cc (vectorizable_operation): For plus, - minus and negate always check the vector mode is word mode. - -2023-05-01 Andrew Pinski - - * tree-ssa-phiopt.cc: Update comment about - how the transformation are implemented. - -2023-05-01 Jeff Law - - * config/stormy16/stormy16.cc (TARGET_LRA_P): Remove defintion. - -2023-05-01 Jeff Law - - * config/cris/cris.cc (TARGET_LRA_P): Remove. - * config/epiphany/epiphany.cc (TARGET_LRA_P): Remove. - * config/iq2000/iq2000.cc (TARGET_LRA_P): Remove. - * config/m32r/m32r.cc (TARGET_LRA_P): Remove. - * config/microblaze/microblaze.cc (TARGET_LRA_P): Remove. - * config/mmix/mmix.cc (TARGET_LRA_P): Remove. - -2023-05-01 Rasmus Villemoes - - * print-tree.h (PRINT_DECL_REMAP_DEBUG): New flag. - * print-tree.cc (print_decl_identifier): Implement it. - * toplev.cc (output_stack_usage_1): Use it. - -2023-05-01 Aldy Hernandez - - * value-range.h (class int_range): Remove gt_ggc_mx and gt_pch_nx - friends. - -2023-05-01 Aldy Hernandez - - * value-range.h (irange::set_nonzero): Inline. - -2023-05-01 Aldy Hernandez - - * gimple-range-op.cc (cfn_ffs::fold_range): Use the correct - precision. - * gimple-ssa-warn-alloca.cc (alloca_call_type): Use <2> for - invalid_range, as it is an inverse range. - * tree-vrp.cc (find_case_label_range): Avoid trees. - * value-range.cc (irange::irange_set): Delete. - (irange::irange_set_1bit_anti_range): Delete. - (irange::irange_set_anti_range): Delete. - (irange::set): Cleanup. - * value-range.h (class irange): Remove irange_set, - irange_set_anti_range, irange_set_1bit_anti_range. - (irange::set_undefined): Remove set to m_type. - -2023-05-01 Aldy Hernandez - - * range-op.cc (update_known_bitmask): Adjust for irange containing - wide_ints internally. - * tree-ssanames.cc (set_nonzero_bits): Same. - * tree-ssanames.h (set_nonzero_bits): Same. - * value-range-storage.cc (irange_storage::set_irange): Same. - (irange_storage::get_irange): Same. - * value-range.cc (irange::operator=): Same. - (irange::irange_set): Same. - (irange::irange_set_1bit_anti_range): Same. - (irange::irange_set_anti_range): Same. - (irange::set): Same. - (irange::verify_range): Same. - (irange::contains_p): Same. - (irange::irange_single_pair_union): Same. - (irange::union_): Same. - (irange::irange_contains_p): Same. - (irange::intersect): Same. - (irange::invert): Same. - (irange::set_range_from_nonzero_bits): Same. - (irange::set_nonzero_bits): Same. - (mask_to_wi): Same. - (irange::intersect_nonzero_bits): Same. - (irange::union_nonzero_bits): Same. - (gt_ggc_mx): Same. - (gt_pch_nx): Same. - (tree_range): Same. - (range_tests_strict_enum): Same. - (range_tests_misc): Same. - (range_tests_nonzero_bits): Same. - * value-range.h (irange::type): Same. - (irange::varying_compatible_p): Same. - (irange::irange): Same. - (int_range::int_range): Same. - (irange::set_undefined): Same. - (irange::set_varying): Same. - (irange::lower_bound): Same. - (irange::upper_bound): Same. - -2023-05-01 Aldy Hernandez - - * gimple-range-fold.cc (tree_lower_bound): Delete. - (tree_upper_bound): Delete. - (vrp_val_max): Delete. - (vrp_val_min): Delete. - (fold_using_range::range_of_ssa_name_with_loop_info): Call - range_of_var_in_loop. - * vr-values.cc (valid_value_p): Delete. - (fix_overflow): Delete. - (get_scev_info): New. - (bounds_of_var_in_loop): Refactor into... - (induction_variable_may_overflow_p): ...this, - (range_from_loop_direction): ...and this, - (range_of_var_in_loop): ...and this. - * vr-values.h (bounds_of_var_in_loop): Delete. - (range_of_var_in_loop): New. - -2023-05-01 Aldy Hernandez - - * gimple-range-fold.cc (adjust_pointer_diff_expr): Rewrite with - irange_val*. - (vrp_val_max): New. - (vrp_val_min): New. - * gimple-range-op.cc (cfn_strlen::fold_range): Use irange_val_*. - * range-op.cc (max_limit): Same. - (min_limit): Same. - (plus_minus_ranges): Same. - (operator_rshift::op1_range): Same. - (operator_cast::inside_domain_p): Same. - * value-range.cc (vrp_val_is_max): Delete. - (vrp_val_is_min): Delete. - (range_tests_misc): Use irange_val_*. - * value-range.h (vrp_val_is_min): Delete. - (vrp_val_is_max): Delete. - (vrp_val_max): Delete. - (irange_val_min): New. - (vrp_val_min): Delete. - (irange_val_max): New. - * vr-values.cc (check_for_binary_op_overflow): Use irange_val_*. - -2023-05-01 Aldy Hernandez - - * fold-const.cc (expr_not_equal_to): Convert to irange wide_int API. - * gimple-fold.cc (size_must_be_zero_p): Same. - * gimple-loop-versioning.cc - (loop_versioning::prune_loop_conditions): Same. - * gimple-range-edge.cc (gcond_edge_range): Same. - (gimple_outgoing_range::calc_switch_ranges): Same. - * gimple-range-fold.cc (adjust_imagpart_expr): Same. - (adjust_realpart_expr): Same. - (fold_using_range::range_of_address): Same. - (fold_using_range::relation_fold_and_or): Same. - * gimple-range-gori.cc (gori_compute::gori_compute): Same. - (range_is_either_true_or_false): Same. - * gimple-range-op.cc (cfn_toupper_tolower::get_letter_range): Same. - (cfn_clz::fold_range): Same. - (cfn_ctz::fold_range): Same. - * gimple-range-tests.cc (class test_expr_eval): Same. - * gimple-ssa-warn-alloca.cc (alloca_call_type): Same. - * ipa-cp.cc (ipa_value_range_from_jfunc): Same. - (propagate_vr_across_jump_function): Same. - (decide_whether_version_node): Same. - * ipa-prop.cc (ipa_get_value_range): Same. - * ipa-prop.h (ipa_range_set_and_normalize): Same. - * range-op.cc (get_shift_range): Same. - (value_range_from_overflowed_bounds): Same. - (value_range_with_overflow): Same. - (create_possibly_reversed_range): Same. - (equal_op1_op2_relation): Same. - (not_equal_op1_op2_relation): Same. - (lt_op1_op2_relation): Same. - (le_op1_op2_relation): Same. - (gt_op1_op2_relation): Same. - (ge_op1_op2_relation): Same. - (operator_mult::op1_range): Same. - (operator_exact_divide::op1_range): Same. - (operator_lshift::op1_range): Same. - (operator_rshift::op1_range): Same. - (operator_cast::op1_range): Same. - (operator_logical_and::fold_range): Same. - (set_nonzero_range_from_mask): Same. - (operator_bitwise_or::op1_range): Same. - (operator_bitwise_xor::op1_range): Same. - (operator_addr_expr::fold_range): Same. - (pointer_plus_operator::wi_fold): Same. - (pointer_or_operator::op1_range): Same. - (INT): Same. - (UINT): Same. - (INT16): Same. - (UINT16): Same. - (SCHAR): Same. - (UCHAR): Same. - (range_op_cast_tests): Same. - (range_op_lshift_tests): Same. - (range_op_rshift_tests): Same. - (range_op_bitwise_and_tests): Same. - (range_relational_tests): Same. - * range.cc (range_zero): Same. - (range_nonzero): Same. - * range.h (range_true): Same. - (range_false): Same. - (range_true_and_false): Same. - * tree-data-ref.cc (split_constant_offset_1): Same. - * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same. - * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same. - (find_unswitching_predicates_for_bb): Same. - * tree-ssa-phiopt.cc (value_replacement): Same. - * tree-ssa-threadbackward.cc - (back_threader::find_taken_edge_cond): Same. - * tree-ssanames.cc (ssa_name_has_boolean_range): Same. - * tree-vrp.cc (find_case_label_range): Same. - * value-query.cc (range_query::get_tree_range): Same. - * value-range.cc (irange::set_nonnegative): Same. - (frange::contains_p): Same. - (frange::singleton_p): Same. - (frange::internal_singleton_p): Same. - (irange::irange_set): Same. - (irange::irange_set_1bit_anti_range): Same. - (irange::irange_set_anti_range): Same. - (irange::set): Same. - (irange::operator==): Same. - (irange::singleton_p): Same. - (irange::contains_p): Same. - (irange::set_range_from_nonzero_bits): Same. - (DEFINE_INT_RANGE_INSTANCE): Same. - (INT): Same. - (UINT): Same. - (SCHAR): Same. - (UINT128): Same. - (UCHAR): Same. - (range): New. - (tree_range): New. - (range_int): New. - (range_uint): New. - (range_uint128): New. - (range_uchar): New. - (range_char): New. - (build_range3): Convert to irange wide_int API. - (range_tests_irange3): Same. - (range_tests_int_range_max): Same. - (range_tests_strict_enum): Same. - (range_tests_misc): Same. - (range_tests_nonzero_bits): Same. - (range_tests_nan): Same. - (range_tests_signed_zeros): Same. - * value-range.h (Value_Range::Value_Range): Same. - (irange::set): Same. - (irange::nonzero_p): Same. - (irange::contains_p): Same. - (range_includes_zero_p): Same. - (irange::set_nonzero): Same. - (irange::set_zero): Same. - (contains_zero_p): Same. - (frange::contains_p): Same. - * vr-values.cc - (simplify_using_ranges::op_with_boolean_value_range_p): Same. - (bounds_of_var_in_loop): Same. - (simplify_using_ranges::legacy_fold_cond_overflow): Same. - -2023-05-01 Aldy Hernandez - - * value-range.cc (irange::irange_union): Rename to... - (irange::union_): ...this. - (irange::irange_intersect): Rename to... - (irange::intersect): ...this. - * value-range.h (irange::union_): Delete. - (irange::intersect): Delete. - -2023-05-01 Aldy Hernandez - - * vr-values.cc (bounds_of_var_in_loop): Convert to irange API. - -2023-05-01 Aldy Hernandez - - * vr-values.cc (check_for_binary_op_overflow): Tidy up by using - ranger API. - (compare_ranges): Delete. - (compare_range_with_value): Delete. - (bounds_of_var_in_loop): Tidy up by using ranger API. - (simplify_using_ranges::fold_cond_with_ops): Cleanup and rename - from vrp_evaluate_conditional_warnv_with_ops_using_ranges. - (simplify_using_ranges::legacy_fold_cond_overflow): Remove - strict_overflow_p and only_ranges. - (simplify_using_ranges::legacy_fold_cond): Adjust call to - legacy_fold_cond_overflow. - (simplify_using_ranges::simplify_abs_using_ranges): Adjust for - rename. - (range_fits_type_p): Rename value_range to irange. - * vr-values.h (range_fits_type_p): Adjust prototype. - -2023-05-01 Aldy Hernandez - - * value-range.cc (irange::irange_set_anti_range): Remove uses of - tree_lower_bound and tree_upper_bound. - (irange::verify_range): Same. - (irange::operator==): Same. - (irange::singleton_p): Same. - * value-range.h (irange::tree_lower_bound): Delete. - (irange::tree_upper_bound): Delete. - (irange::lower_bound): Delete. - (irange::upper_bound): Delete. - (irange::zero_p): Remove uses of tree_lower_bound and - tree_upper_bound. - -2023-05-01 Aldy Hernandez - - * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Remove - kind() call. - (determine_value_range): Same. - (record_nonwrapping_iv): Same. - (infer_loop_bounds_from_signedness): Same. - (scev_var_range_cant_overflow): Same. - * tree-vrp.cc (operand_less_p): Delete. - * tree-vrp.h (operand_less_p): Delete. - * value-range.cc (get_legacy_range): Remove uses of deprecated API. - (irange::value_inside_range): Delete. - * value-range.h (vrange::kind): Delete. - (irange::num_pairs): Remove check of m_kind. - (irange::min): Delete. - (irange::max): Delete. - -2023-05-01 Aldy Hernandez - - * gimple-fold.cc (maybe_fold_comparisons_from_match_pd): Adjust - for vrange_storage. - * gimple-range-cache.cc (sbr_vector::sbr_vector): Same. - (sbr_vector::grow): Same. - (sbr_vector::set_bb_range): Same. - (sbr_vector::get_bb_range): Same. - (sbr_sparse_bitmap::sbr_sparse_bitmap): Same. - (sbr_sparse_bitmap::set_bb_range): Same. - (sbr_sparse_bitmap::get_bb_range): Same. - (block_range_cache::block_range_cache): Same. - (ssa_global_cache::ssa_global_cache): Same. - (ssa_global_cache::get_global_range): Same. - (ssa_global_cache::set_global_range): Same. - * gimple-range-cache.h: Same. - * gimple-range-edge.cc - (gimple_outgoing_range::gimple_outgoing_range): Same. - (gimple_outgoing_range::switch_edge_range): Same. - (gimple_outgoing_range::calc_switch_ranges): Same. - * gimple-range-edge.h: Same. - * gimple-range-infer.cc - (infer_range_manager::infer_range_manager): Same. - (infer_range_manager::get_nonzero): Same. - (infer_range_manager::maybe_adjust_range): Same. - (infer_range_manager::add_range): Same. - * gimple-range-infer.h: Rename obstack_vrange_allocator to - vrange_allocator. - * tree-core.h (struct irange_storage_slot): Remove. - (struct tree_ssa_name): Remove irange_info and frange_info. Make - range_info a pointer to vrange_storage. - * tree-ssanames.cc (range_info_fits_p): Adjust for vrange_storage. - (range_info_alloc): Same. - (range_info_free): Same. - (range_info_get_range): Same. - (range_info_set_range): Same. - (get_nonzero_bits): Same. - * value-query.cc (get_ssa_name_range_info): Same. - * value-range-storage.cc (class vrange_internal_alloc): New. - (class vrange_obstack_alloc): New. - (class vrange_ggc_alloc): New. - (vrange_allocator::vrange_allocator): New. - (vrange_allocator::~vrange_allocator): New. - (vrange_storage::alloc_slot): New. - (vrange_allocator::alloc): New. - (vrange_allocator::free): New. - (vrange_allocator::clone): New. - (vrange_allocator::clone_varying): New. - (vrange_allocator::clone_undefined): New. - (vrange_storage::alloc): New. - (vrange_storage::set_vrange): Remove slot argument. - (vrange_storage::get_vrange): Same. - (vrange_storage::fits_p): Same. - (vrange_storage::equal_p): New. - (irange_storage::write_lengths_address): New. - (irange_storage::lengths_address): New. - (irange_storage_slot::alloc_slot): Remove. - (irange_storage::alloc): New. - (irange_storage_slot::irange_storage_slot): Remove. - (irange_storage::irange_storage): New. - (write_wide_int): New. - (irange_storage_slot::set_irange): Remove. - (irange_storage::set_irange): New. - (read_wide_int): New. - (irange_storage_slot::get_irange): Remove. - (irange_storage::get_irange): New. - (irange_storage_slot::size): Remove. - (irange_storage::equal_p): New. - (irange_storage_slot::num_wide_ints_needed): Remove. - (irange_storage::size): New. - (irange_storage_slot::fits_p): Remove. - (irange_storage::fits_p): New. - (irange_storage_slot::dump): Remove. - (irange_storage::dump): New. - (frange_storage_slot::alloc_slot): Remove. - (frange_storage::alloc): New. - (frange_storage_slot::set_frange): Remove. - (frange_storage::set_frange): New. - (frange_storage_slot::get_frange): Remove. - (frange_storage::get_frange): New. - (frange_storage_slot::fits_p): Remove. - (frange_storage::equal_p): New. - (frange_storage::fits_p): New. - (ggc_vrange_allocator): New. - (ggc_alloc_vrange_storage): New. - * value-range-storage.h (class vrange_storage): Rewrite. - (class irange_storage): Rewrite. - (class frange_storage): Rewrite. - (class obstack_vrange_allocator): Remove. - (class ggc_vrange_allocator): Remove. - (vrange_allocator::alloc_vrange): Remove. - (vrange_allocator::alloc_irange): Remove. - (vrange_allocator::alloc_frange): Remove. - (ggc_alloc_vrange_storage): New. - * value-range.h (class irange): Rename vrange_allocator to - irange_storage. - (class frange): Same. - -2023-04-30 Roger Sayle - - * config/stormy16/stormy16.md (neghi2): Rewrite pattern using - inc to avoid clobbering the carry flag. - -2023-04-30 Andrew Pinski - - * match.pd: Add patterns for "a != 0 ? FUNC(a) : CST" - for FUNC of POPCOUNT BSWAP FFS PARITY CLZ and CTZ. - -2023-04-30 Andrew Pinski - - * tree-ssa-phiopt.cc (empty_bb_or_one_feeding_into_p): - Allow some builtin/internal function calls which - are known not to trap/throw. - (phiopt_worker::match_simplify_replacement): - Use name instead of getting the lhs again. - -2023-04-30 Joakim Nohlgård - - * configure: Regenerate. - * configure.ac: Use ld -r in the check for HAVE_LD_RO_RW_SECTION_MIXING - -2023-04-29 Hans-Peter Nilsson - - * reload1.cc (emit_insn_if_valid_for_reload_1): Rename from - emit_insn_if_valid_for_reload. - (emit_insn_if_valid_for_reload): Call new helper, and if a SET fails - to be recognized, also try emitting a parallel that clobbers - TARGET_FLAGS_REGNUM, as applicable. - -2023-04-29 Roger Sayle - - * config/stormy16/stormy16.md (neghi2): Convert from a define_expand - to a define_insn. - (*rotatehi_1): New define_insn for efficient 2 insn sequence. - (*rotatehi_8, *rotaterthi_8): New define_insn to emit a swpb. - -2023-04-29 Roger Sayle - - * config/stormy16/stormy16.md (any_lshift): New code iterator. - (any_or_plus): Likewise. - (any_rotate): Likewise. - (*_and_internal): New define_insn_and_split to - recognize a logical shift followed by an AND, and split it - again after reload. - (*swpn): New define_insn matching xstormy16's swpn. - (*swpn_zext): New define_insn recognizing swpn followed by - zero_extendqihi2, i.e. with the high byte set to zero. - (*swpn_sext): Likewise, for swpn followed by cbw. - (*swpn_sext_2): Likewise, for an alternate RTL form. - (*swpn_zext_ior): A pre-reload splitter so that an swpn+zext+ior - sequence is split in the correct place to recognize the *swpn_zext - followed by any_or_plus (ior, xor or plus) instruction. - -2023-04-29 Mikael Pettersson - - PR target/105525 - * config.gcc (vax-*-linux*): Add glibc-stdint.h. - (lm32-*-uclinux*): Likewise. - -2023-04-29 Fei Gao - - * config/riscv/riscv.cc (riscv_avoid_save_libcall): helper function - for riscv_use_save_libcall. - (riscv_use_save_libcall): call riscv_avoid_save_libcall. - (riscv_compute_frame_info): restructure to decouple stack allocation - for rv32e w/o save-restore. - -2023-04-28 Eugene Rozenfeld - - * doc/install.texi: Fix documentation typo - -2023-04-28 Matevos Mehrabyan - - * config/riscv/iterators.md (only_div, paired_mod): New iterators. - (u): Add div/udiv cases. - * config/riscv/riscv-protos.h (riscv_use_divmod_expander): Prototype. - * config/riscv/riscv.cc (struct riscv_tune_param): Add field for - divmod expansion. - (rocket_tune_info, sifive_7_tune_info): Initialize new field. - (thead_c906_tune_info): Likewise. - (optimize_size_tune_info): Likewise. - (riscv_use_divmod_expander): New function. - * config/riscv/riscv.md (divmod4): New expander. - -2023-04-28 Karen Sargsyan - - * config/riscv/bitmanip.md: Added clmulr instruction. - * config/riscv/riscv-builtins.cc (AVAIL): Add new. - * config/riscv/riscv.md: (UNSPEC_CLMULR): Add new unspec type. - (type): Add clmul - * config/riscv/riscv-cmo.def: Added built-in function for clmulr. - * config/riscv/crypto.md: Move clmul[h] instructions to bitmanip.md. - * config/riscv/riscv-scalar-crypto.def: Move clmul[h] built-in - functions to riscv-cmo.def. - * config/riscv/generic.md: Add clmul to list of instructions - using the generic_imul reservation. - -2023-04-28 Jivan Hakobyan - - * config/riscv/bitmanip.md: Added expanders for minu/maxu instructions - -2023-04-28 Andrew Pinski - - PR tree-optimization/100958 - * tree-ssa-phiopt.cc (two_value_replacement): Remove. - (pass_phiopt::execute): Don't call two_value_replacement. - * match.pd (a !=/== CST1 ? CST2 : CST3): Add pattern to - handle what two_value_replacement did. - -2023-04-28 Andrew Pinski - - * match.pd: Add patterns for - "(A CMP B) ? MIN/MAX : MIN/MAX ". - -2023-04-28 Andrew Pinski - - * match.pd: Factor out the deciding the min/max from - the "(cond (cmp (convert1? x) c1) (convert2? x) c2)" - pattern to ... - * fold-const.cc (minmax_from_comparison): this new function. - * fold-const.h (minmax_from_comparison): New prototype. - -2023-04-28 Roger Sayle - - PR rtl-optimization/109476 - * lower-subreg.cc: Include explow.h for force_reg. - (find_decomposable_shift_zext): Pass an additional SPEED_P argument. - If decomposing a suitable LSHIFTRT and we're not splitting - ZERO_EXTEND (based on the current SPEED_P), then use a ZERO_EXTEND - instead of setting a high part SUBREG to zero, which helps combine. - (decompose_multiword_subregs): Update call to resolve_shift_zext. - -2023-04-28 Richard Biener - - * tree-vect-data-refs.cc (vect_analyze_data_refs): Always - consider scatters. - * tree-vect-stmts.cc (vect_model_store_cost): Pass in the - gather-scatter info and cost emulated scatters accordingly. - (get_load_store_type): Support emulated scatters. - (vectorizable_store): Likewise. Emulate them by extracting - scalar offsets and data, doing scalar stores. - -2023-04-28 Richard Biener - - * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): - Tame down element extracts and scalar loads for gather/scatter - similar to elementwise strided accesses. - -2023-04-28 Pan Li - kito-cheng - - * config/riscv/vector.md: Add new define split to perform - the simplification. - -2023-04-28 Richard Biener - - PR ipa/109652 - * ipa-param-manipulation.cc - (ipa_param_body_adjustments::modify_expression): Allow - conversion of a register to a non-register type. Elide - conversions inside BIT_FIELD_REFs. - -2023-04-28 Richard Biener - - PR tree-optimization/109644 - * tree-cfg.cc (verify_types_in_gimple_reference): Check - register constraints on the outermost VIEW_CONVERT_EXPR - only. Do not allow register or invariant bases on - multi-level or possibly variable index handled components. - -2023-04-28 Richard Biener - - * gimplify.cc (gimplify_compound_lval): When there's a - non-register type produced by one of the handled component - operations make sure we get a non-register base. - -2023-04-28 Richard Biener - - PR tree-optimization/108752 - * tree-vect-generic.cc (build_replicated_const): Rename - to build_replicated_int_cst and move to tree.{h,cc}. - (do_plus_minus): Adjust. - (do_negate): Likewise. - * tree-vect-stmts.cc (vectorizable_operation): Emit emulated - arithmetic vector operations in lowered form. - * tree.h (build_replicated_int_cst): Declare. - * tree.cc (build_replicated_int_cst): Moved from - tree-vect-generic.cc build_replicated_const. - -2023-04-28 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_rbit): Rename to... - (aarch64_rbit): ... This. - (neg2): Rename to... - (neg2): ... This. - (abs2): Rename to... - (abs2): ... This. - (aarch64_abs): Rename to... - (aarch64_abs): ... This. - (one_cmpl2): Rename to... - (one_cmpl2): ... This. - (clrsb2): Rename to... - (clrsb2): ... This. - (clz2): Rename to... - (clz2): ... This. - (popcount2): Rename to... - (popcount2): ... This. - -2023-04-28 Jakub Jelinek - - * gimple-range-op.cc (class cfn_sqrt): New type. - (op_cfn_sqrt): New variable. - (gimple_range_op_handler::maybe_builtin_call): Handle - CASE_CFN_SQRT{,_FN}. - -2023-04-28 Aldy Hernandez - Jakub Jelinek - - * value-range.h (frange_nextafter): Declare. - * gimple-range-op.cc (class cfn_sincos): New. - (op_cfn_sin, op_cfn_cos): New variables. - (gimple_range_op_handler::maybe_builtin_call): Handle - CASE_CFN_{SIN,COS}{,_FN}. - -2023-04-28 Jakub Jelinek - - * target.def (libm_function_max_error): New target hook. - * doc/tm.texi.in (TARGET_LIBM_FUNCTION_MAX_ERROR): Add. - * doc/tm.texi: Regenerated. - * targhooks.h (default_libm_function_max_error, - glibc_linux_libm_function_max_error): Declare. - * targhooks.cc: Include case-cfn-macros.h. - (default_libm_function_max_error, - glibc_linux_libm_function_max_error): New functions. - * config/linux.h (TARGET_LIBM_FUNCTION_MAX_ERROR): Redefine. - * config/linux-protos.h (linux_libm_function_max_error): Declare. - * config/linux.cc: Include target.h and targhooks.h. - (linux_libm_function_max_error): New function. - * config/arc/arc.cc: Include targhooks.h and case-cfn-macros.h. - (arc_libm_function_max_error): New function. - (TARGET_LIBM_FUNCTION_MAX_ERROR): Redefine. - * config/i386/i386.cc (ix86_libc_has_fast_function): Formatting fix. - (ix86_libm_function_max_error): New function. - (TARGET_LIBM_FUNCTION_MAX_ERROR): Redefine. - * config/rs6000/rs6000-protos.h - (rs6000_linux_libm_function_max_error): Declare. - * config/rs6000/rs6000-linux.cc: Include target.h, targhooks.h, tree.h - and case-cfn-macros.h. - (rs6000_linux_libm_function_max_error): New function. - * config/rs6000/linux.h (TARGET_LIBM_FUNCTION_MAX_ERROR): Redefine. - * config/rs6000/linux64.h (TARGET_LIBM_FUNCTION_MAX_ERROR): Redefine. - * config/or1k/or1k.cc: Include targhooks.h and case-cfn-macros.h. - (or1k_libm_function_max_error): New function. - (TARGET_LIBM_FUNCTION_MAX_ERROR): Redefine. - -2023-04-28 Alexandre Oliva - - * gimple-harden-conditionals.cc (insert_edge_check_and_trap): - Move detach value calls... - (pass_harden_conditional_branches::execute): ... here. - (pass_harden_compares::execute): Detach values before - compares. - -2023-04-27 Andrew Stubbs - - * config/gcn/gcn-valu.md (cmul3): Use gcn_gen_undef. - (cml4): Likewise. - (vec_addsub3): Likewise. - (cadd3): Likewise. - (vec_fmaddsub4): Likewise. - (vec_fmsubadd4): Likewise, and use sub for the odd lanes. - -2023-04-27 Andrew Pinski - - * tree-ssa-phiopt.cc (phiopt_early_allow): Allow for - up to 2 min/max expressions in the sequence/match code. - -2023-04-27 Andrew Pinski - - * rtlanal.cc (may_trap_p_1): Treat SMIN/SMAX similar as - COMPARISON. - * tree-eh.cc (operation_could_trap_helper_p): Treate - MIN_EXPR/MAX_EXPR similar as other comparisons. - -2023-04-27 Andrew Pinski - - * tree-ssa-phiopt.cc (cond_store_replacement): Remove - prototype. - (cond_if_else_store_replacement): Likewise. - (get_non_trapping): Likewise. - (store_elim_worker): Move into ... - (pass_cselim::execute): This. - -2023-04-27 Andrew Pinski - - * tree-ssa-phiopt.cc (two_value_replacement): Remove - prototype. - (match_simplify_replacement): Likewise. - (factor_out_conditional_conversion): Likewise. - (value_replacement): Likewise. - (minmax_replacement): Likewise. - (spaceship_replacement): Likewise. - (cond_removal_in_builtin_zero_pattern): Likewise. - (hoist_adjacent_loads): Likewise. - (tree_ssa_phiopt_worker): Move into ... - (pass_phiopt::execute): this. - -2023-04-27 Andrew Pinski - - * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Remove - do_store_elim argument and split that part out to ... - (store_elim_worker): This new function. - (pass_cselim::execute): Call store_elim_worker. - (pass_phiopt::execute): Update call to tree_ssa_phiopt_worker. - -2023-04-27 Jan Hubicka - - * cfgloopmanip.h (unloop_loops): Export. - * tree-ssa-loop-ch.cc (ch_base::copy_headers): Unloop loops - that no longer loop. - * tree-ssa-loop-ivcanon.cc (unloop_loops): Export; do not free - vectors of loops to unloop. - (canonicalize_induction_variables): Free vectors here. - (tree_unroll_loops_completely): Free vectors here. - -2023-04-27 Richard Biener - - PR tree-optimization/109170 - * gimple-range-op.cc (gimple_range_op_handler::maybe_builtin_call): - Handle __builtin_expect and similar via cfn_pass_through_arg1 - and inspecting the calls fnspec. - * builtins.cc (builtin_fnspec): Handle BUILT_IN_EXPECT - and BUILT_IN_EXPECT_WITH_PROBABILITY. - -2023-04-27 Alexandre Oliva - - * genmultilib: Use CONFIG_SHELL to run sub-scripts. - -2023-04-27 Aldy Hernandez - - PR tree-optimization/109639 - * ipa-cp.cc (ipa_value_range_from_jfunc): Normalize range. - (propagate_vr_across_jump_function): Same. - * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Same. - * ipa-prop.h (ipa_range_set_and_normalize): New. - * value-range.cc (irange::set): Assert min and max are INTEGER_CST. - -2023-04-27 Richard Biener - - * match.pd (BIT_FIELD_REF CONSTRUCTOR@0 @1 @2): Do not - create a CTOR operand in the result when simplifying GIMPLE. - -2023-04-27 Richard Biener - - * gimplify.cc (gimplify_compound_lval): When the base - gimplified to a register make sure to split up chains - of operations. - -2023-04-27 Richard Biener - - PR ipa/109607 - * ipa-param-manipulation.h - (ipa_param_body_adjustments::modify_expression): Add extra_stmts - argument. - * ipa-param-manipulation.cc - (ipa_param_body_adjustments::modify_expression): Likewise. - When we need a conversion and the replacement is a register - split the conversion out. - (ipa_param_body_adjustments::modify_assignment): Pass - extra_stmts to RHS modify_expression. - -2023-04-27 Jonathan Wakely - - * doc/extend.texi (Zero Length): Describe example. - -2023-04-27 Richard Biener - - PR tree-optimization/109594 - * tree-ssa.cc (non_rewritable_mem_ref_base): Constrain - what we rewrite to a register based on the above. - -2023-04-26 Patrick O'Neill - - * config/riscv/riscv.cc: Fix whitespace. - * config/riscv/sync.md: Fix whitespace. - -2023-04-26 Andrew MacLeod - - PR tree-optimization/108697 - * gimple-range-cache.cc (ssa_global_cache::clear_range): Do - not clear the vector on an out of range query. - (ssa_cache::dump): Use dump_range_query instead of get_range. - (ssa_cache::dump_range_query): New. - (ssa_lazy_cache::dump_range_query): New. - (ssa_lazy_cache::set_range): New. - * gimple-range-cache.h (ssa_cache::dump_range_query): New. - (class ssa_lazy_cache): New. - (ssa_lazy_cache::ssa_lazy_cache): New. - (ssa_lazy_cache::~ssa_lazy_cache): New. - (ssa_lazy_cache::get_range): New. - (ssa_lazy_cache::clear_range): New. - (ssa_lazy_cache::clear): New. - (ssa_lazy_cache::dump): New. - * gimple-range-path.cc (path_range_query::path_range_query): Do - not allocate a ssa_cache object nor has_cache bitmap. - (path_range_query::~path_range_query): Do not free objects. - (path_range_query::clear_cache): Remove. - (path_range_query::get_cache): Adjust. - (path_range_query::set_cache): Remove. - (path_range_query::dump): Don't call through a pointer. - (path_range_query::internal_range_of_expr): Set cache directly. - (path_range_query::reset_path): Clear cache directly. - (path_range_query::ssa_range_in_phi): Fold with globals only. - (path_range_query::compute_ranges_in_phis): Simply set range. - (path_range_query::compute_ranges_in_block): Call cache directly. - * gimple-range-path.h (class path_range_query): Replace bitmap - and cache pointer with lazy cache object. - * gimple-range.h (class assume_query): Use ssa_lazy_cache. - -2023-04-26 Andrew MacLeod - - * gimple-range-cache.cc (ssa_cache::ssa_cache): Rename. - (ssa_cache::~ssa_cache): Rename. - (ssa_cache::has_range): New. - (ssa_cache::get_range): Rename. - (ssa_cache::set_range): Rename. - (ssa_cache::clear_range): Rename. - (ssa_cache::clear): Rename. - (ssa_cache::dump): Rename and use get_range. - (ranger_cache::get_global_range): Use get_range and set_range. - (ranger_cache::range_of_def): Use get_range. - * gimple-range-cache.h (class ssa_cache): Rename class and methods. - (class ranger_cache): Use ssa_cache. - * gimple-range-path.cc (path_range_query::path_range_query): Use - ssa_cache. - (path_range_query::get_cache): Use get_range. - (path_range_query::set_cache): Use set_range. - * gimple-range-path.h (class path_range_query): Use ssa_cache. - * gimple-range.cc (assume_query::assume_range_p): Use get_range. - (assume_query::range_of_expr): Use get_range. - (assume_query::assume_query): Use set_range. - (assume_query::calculate_op): Use get_range and set_range. - * gimple-range.h (class assume_query): Use ssa_cache. - -2023-04-26 Andrew MacLeod - - * gimple-range-cache.cc (sbr_vector::sbr_vector): Add parameter - and local to optionally zero memory. - (br_vector::grow): Only zero memory if flag is set. - (class sbr_lazy_vector): New. - (sbr_lazy_vector::sbr_lazy_vector): New. - (sbr_lazy_vector::set_bb_range): New. - (sbr_lazy_vector::get_bb_range): New. - (sbr_lazy_vector::bb_range_p): New. - (block_range_cache::set_bb_range): Check flags and Use sbr_lazy_vector. - * gimple-range-gori.cc (gori_map::calculate_gori): Use - param_vrp_switch_limit. - (gori_compute::gori_compute): Use param_vrp_switch_limit. - * params.opt (vrp_sparse_threshold): Rename from evrp_sparse_threshold. - (vrp_switch_limit): Rename from evrp_switch_limit. - (vrp_vector_threshold): New. - -2023-04-26 Andrew MacLeod - - * value-relation.cc (dom_oracle::query_relation): Check early for lack - of any relation. - * value-relation.h (equiv_oracle::has_equiv_p): New. - -2023-04-26 Andrew MacLeod - - PR tree-optimization/109417 - * gimple-range-gori.cc (range_def_chain::register_dependency): - Save the ssa version number, not the pointer. - (gori_compute::may_recompute_p): No need to check if a dependency - is in the free list. - * gimple-range-gori.h (class range_def_chain): Change ssa1 and ssa2 - fields to be unsigned int instead of trees. - (ange_def_chain::depend1): Adjust. - (ange_def_chain::depend2): Adjust. - * gimple-range.h: Include "ssa.h" to inline ssa_name(). - -2023-04-26 David Edelsohn - - * config/rs6000/aix72.h (TARGET_DEFAULT): Use ISA_2_6_MASKS_SERVER. - * config/rs6000/aix73.h (TARGET_DEFAULT): Use ISA_2_7_MASKS_SERVER. - (PROCESSOR_DEFAULT): Use PROCESSOR_POWER8. - -2023-04-26 Patrick O'Neill - - PR target/104338 - * config/riscv/riscv-protos.h: Add helper function stubs. - * config/riscv/riscv.cc: Add helper functions for subword masking. - * config/riscv/riscv.opt: Add command-line flags -minline-atomics and - -mno-inline-atomics. - * config/riscv/sync.md: Add masking logic and inline asm for fetch_and_op, - fetch_and_nand, CAS, and exchange ops. - * doc/invoke.texi: Add blurb regarding new command-line flags - -minline-atomics and -mno-inline-atomics. - -2023-04-26 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_rshrn2_insn_le): - Reimplement using standard RTL codes instead of unspec. - (aarch64_rshrn2_insn_be): Likewise. - (aarch64_rshrn2): Adjust for the above. - * config/aarch64/aarch64.md (UNSPEC_RSHRN): Delete. - -2023-04-26 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_rshrn_insn_le): Reimplement - with standard RTL codes instead of an UNSPEC. - (aarch64_rshrn_insn_be): Likewise. - (aarch64_rshrn): Adjust for the above. - * config/aarch64/predicates.md (aarch64_simd_rshrn_imm_vec): Define. - -2023-04-26 Pan Li - Ju-Zhe Zhong - - * config/riscv/riscv.cc (riscv_classify_address): Allow - const0_rtx for the RVV load/store. - -2023-04-26 Aldy Hernandez - - * range-op.cc (range_op_cast_tests): Remove legacy support. - * value-range-storage.h (vrange_allocator::alloc_irange): Same. - * value-range.cc (irange::operator=): Same. - (get_legacy_range): Same. - (irange::copy_legacy_to_multi_range): Delete. - (irange::copy_to_legacy): Delete. - (irange::irange_set_anti_range): Delete. - (irange::set): Remove legacy support. - (irange::verify_range): Same. - (irange::legacy_lower_bound): Delete. - (irange::legacy_upper_bound): Delete. - (irange::legacy_equal_p): Delete. - (irange::operator==): Remove legacy support. - (irange::singleton_p): Same. - (irange::value_inside_range): Same. - (irange::contains_p): Same. - (intersect_ranges): Delete. - (irange::legacy_intersect): Delete. - (union_ranges): Delete. - (irange::legacy_union): Delete. - (irange::legacy_verbose_union_): Delete. - (irange::legacy_verbose_intersect): Delete. - (irange::irange_union): Remove legacy support. - (irange::irange_intersect): Same. - (irange::intersect): Same. - (irange::invert): Same. - (ranges_from_anti_range): Delete. - (gt_pch_nx): Adjust for legacy removal. - (gt_ggc_mx): Same. - (range_tests_legacy): Delete. - (range_tests_misc): Adjust for legacy removal. - (range_tests): Same. - * value-range.h (class irange): Same. - (irange::legacy_mode_p): Delete. - (ranges_from_anti_range): Delete. - (irange::nonzero_p): Adjust for legacy removal. - (irange::lower_bound): Same. - (irange::upper_bound): Same. - (irange::union_): Same. - (irange::intersect): Same. - (irange::set_nonzero): Same. - (irange::set_zero): Same. - * vr-values.cc (simplify_using_ranges::legacy_fold_cond_overflow): Same. - -2023-04-26 Aldy Hernandez - - * value-range.cc (irange::copy_legacy_to_multi_range): Rewrite use - of range_has_numeric_bounds_p with irange API. - (range_has_numeric_bounds_p): Delete. - * value-range.h (range_has_numeric_bounds_p): Delete. - -2023-04-26 Aldy Hernandez - - * tree-data-ref.cc (compute_distributive_range): Replace uses of - range_int_cst_p with irange API. - * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. - * tree-vrp.h (range_int_cst_p): Delete. - * vr-values.cc (check_for_binary_op_overflow): Replace usees of - range_int_cst_p with irange API. - (vr_set_zero_nonzero_bits): Same. - (range_fits_type_p): Same. - (simplify_using_ranges::simplify_casted_cond): Same. - * tree-vrp.cc (range_int_cst_p): Remove. - -2023-04-26 Aldy Hernandez - - * tree-ssa-strlen.cc (compare_nonzero_chars): Convert to wide_ints. - -2023-04-26 Aldy Hernandez - - * builtins.cc (expand_builtin_strnlen): Rewrite deprecated irange - API uses to new API. - * gimple-predicate-analysis.cc (find_var_cmp_const): Same. - * internal-fn.cc (get_min_precision): Same. - * match.pd: Same. - * tree-affine.cc (expr_to_aff_combination): Same. - * tree-data-ref.cc (dr_step_indicator): Same. - * tree-dfa.cc (get_ref_base_and_extent): Same. - * tree-scalar-evolution.cc (iv_can_overflow_p): Same. - * tree-ssa-phiopt.cc (two_value_replacement): Same. - * tree-ssa-pre.cc (insert_into_preds_of_block): Same. - * tree-ssa-reassoc.cc (optimize_range_tests_to_bit_test): Same. - * tree-ssa-strlen.cc (compare_nonzero_chars): Same. - * tree-switch-conversion.cc (bit_test_cluster::emit): Same. - * tree-vect-patterns.cc (vect_recog_divmod_pattern): Same. - * tree.cc (get_range_pos_neg): Same. - -2023-04-26 Aldy Hernandez - - * ipa-prop.cc (ipa_print_node_jump_functions_for_edge): Use - vrange::dump instead of ad-hoc dumper. - * tree-ssa-strlen.cc (dump_strlen_info): Same. - * value-range-pretty-print.cc (visit): Pass TDF_NOUID to - dump_generic_node. - -2023-04-26 Aldy Hernandez - - * range-op.cc (operator_cast::op1_range): Use - create_possibly_reversed_range. - (operator_bitwise_and::simple_op1_range_solver): Same. - * value-range.cc (swap_out_of_order_endpoints): Delete. - (irange::set): Remove call to swap_out_of_order_endpoints. - -2023-04-26 Aldy Hernandez - - * builtins.cc (determine_block_size): Convert use of legacy API to - get_legacy_range. - * gimple-array-bounds.cc (check_out_of_bounds_and_warn): Same. - (array_bounds_checker::check_array_ref): Same. - * gimple-ssa-warn-restrict.cc - (builtin_memref::extend_offset_range): Same. - * ipa-cp.cc (ipcp_store_vr_results): Same. - * ipa-fnsummary.cc (set_switch_stmt_execution_predicate): Same. - * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same. - (ipa_write_jump_function): Same. - * pointer-query.cc (get_size_range): Same. - * tree-data-ref.cc (split_constant_offset): Same. - * tree-ssa-strlen.cc (get_range): Same. - (maybe_diag_stxncpy_trunc): Same. - (strlen_pass::get_len_or_size): Same. - (strlen_pass::count_nonzero_bytes_addr): Same. - * tree-vect-patterns.cc (vect_get_range_info): Same. - * value-range.cc (irange::maybe_anti_range): Remove. - (get_legacy_range): New. - (irange::copy_to_legacy): Use get_legacy_range. - (ranges_from_anti_range): Same. - * value-range.h (class irange): Remove maybe_anti_range. - (get_legacy_range): New. - * vr-values.cc (check_for_binary_op_overflow): Convert use of - legacy API to get_legacy_range. - (compare_ranges): Same. - (compare_range_with_value): Same. - (bounds_of_var_in_loop): Same. - (find_case_label_ranges): Same. - (simplify_using_ranges::simplify_switch_using_ranges): Same. - -2023-04-26 Aldy Hernandez - - * value-range-pretty-print.cc (vrange_printer::visit): Remove - constant_p use. - * value-range.cc (irange::constant_p): Remove. - (irange::get_nonzero_bits_from_range): Remove constant_p use. - * value-range.h (class irange): Remove constant_p. - (irange::num_pairs): Remove constant_p use. - -2023-04-26 Aldy Hernandez - - * value-range.cc (irange::copy_legacy_to_multi_range): Remove - symbolics support. - (irange::set): Same. - (irange::legacy_lower_bound): Same. - (irange::legacy_upper_bound): Same. - (irange::contains_p): Same. - (range_tests_legacy): Same. - (irange::normalize_addresses): Remove. - (irange::normalize_symbolics): Remove. - (irange::symbolic_p): Remove. - * value-range.h (class irange): Remove symbolic_p, - normalize_symbolics, and normalize_addresses. - * vr-values.cc (simplify_using_ranges::two_valued_val_range_p): - Remove symbolics support. - -2023-04-26 Aldy Hernandez - - * value-range.cc (irange::may_contain_p): Remove. - * value-range.h (range_includes_zero_p): Rewrite may_contain_p - usage with contains_p. - * vr-values.cc (compare_range_with_value): Same. - -2023-04-26 Aldy Hernandez - - * tree-vrp.cc (supported_types_p): Remove. - (defined_ranges_p): Remove. - (range_fold_binary_expr): Remove. - (range_fold_unary_expr): Remove. - * tree-vrp.h (range_fold_unary_expr): Remove. - (range_fold_binary_expr): Remove. - -2023-04-26 Aldy Hernandez - - * ipa-cp.cc (ipa_vr_operation_and_type_effects): Convert to ranger API. - (ipa_value_range_from_jfunc): Same. - (propagate_vr_across_jump_function): Same. - * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Same. - * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Same. - * vr-values.cc (bounds_of_var_in_loop): Same. - -2023-04-26 Aldy Hernandez - - * gimple-array-bounds.cc (array_bounds_checker::get_value_range): - Add irange argument. - (check_out_of_bounds_and_warn): Remove check for vr. - (array_bounds_checker::check_array_ref): Remove pointer qualifier - for vr and adjust accordingly. - * gimple-array-bounds.h (get_value_range): Add irange argument. - * value-query.cc (class equiv_allocator): Delete. - (range_query::get_value_range): Delete. - (range_query::range_query): Remove allocator access. - (range_query::~range_query): Same. - * value-query.h (get_value_range): Delete. - * vr-values.cc - (simplify_using_ranges::op_with_boolean_value_range_p): Remove - call to get_value_range. - (check_for_binary_op_overflow): Same. - (simplify_using_ranges::legacy_fold_cond_overflow): Same. - (simplify_using_ranges::simplify_abs_using_ranges): Same. - (simplify_using_ranges::simplify_cond_using_ranges_1): Same. - (simplify_using_ranges::simplify_casted_cond): Same. - (simplify_using_ranges::simplify_switch_using_ranges): Same. - (simplify_using_ranges::two_valued_val_range_p): Same. - -2023-04-26 Aldy Hernandez - - * vr-values.cc - (simplify_using_ranges::vrp_evaluate_conditional_warnv_with_ops): - Rename to... - (simplify_using_ranges::legacy_fold_cond_overflow): ...this. - (simplify_using_ranges::vrp_visit_cond_stmt): Rename to... - (simplify_using_ranges::legacy_fold_cond): ...this. - (simplify_using_ranges::fold_cond): Rename - vrp_evaluate_conditional_warnv_with_ops to - legacy_fold_cond_overflow. - * vr-values.h (class vr_values): Replace vrp_visit_cond_stmt and - vrp_evaluate_conditional_warnv_with_ops with legacy_fold_cond and - legacy_fold_cond_overflow respectively. - -2023-04-26 Aldy Hernandez - - * vr-values.cc (get_vr_for_comparison): Remove. - (compare_name_with_value): Same. - (vrp_evaluate_conditional_warnv_with_ops): Remove calls to - compare_name_with_value. - * vr-values.h: Remove compare_name_with_value. - Remove get_vr_for_comparison. - -2023-04-26 Roger Sayle - - * config/stormy16/stormy16.md (bswaphi2): New define_insn. - (bswapsi2): New define_insn. - (swaphi): New define_insn to exchange two registers (swpw). - (define_peephole2): Recognize exchange of registers as swaphi. - -2023-04-26 Richard Biener - - * gimple-range-path.cc (path_range_query::compute_outgoing_relations): - Avoid last_stmt. - * ipa-pure-const.cc (pass_nothrow::execute): Likewise. - * predict.cc (apply_return_prediction): Likewise. - * sese.cc (set_ifsese_condition): Likewise. Simplify. - * tree-cfg.cc (assert_unreachable_fallthru_edge_p): Avoid last_stmt. - (make_edges_bb): Likewise. - (make_cond_expr_edges): Likewise. - (end_recording_case_labels): Likewise. - (make_gimple_asm_edges): Likewise. - (cleanup_dead_labels): Likewise. - (group_case_labels): Likewise. - (gimple_can_merge_blocks_p): Likewise. - (gimple_merge_blocks): Likewise. - (find_taken_edge): Likewise. Also handle empty fallthru blocks. - (gimple_duplicate_sese_tail): Avoid last_stmt. - (find_loop_dist_alias): Likewise. - (gimple_block_ends_with_condjump_p): Likewise. - (gimple_purge_dead_eh_edges): Likewise. - (gimple_purge_dead_abnormal_call_edges): Likewise. - (pass_warn_function_return::execute): Likewise. - (execute_fixup_cfg): Likewise. - * tree-eh.cc (redirect_eh_edge_1): Likewise. - (pass_lower_resx::execute): Likewise. - (pass_lower_eh_dispatch::execute): Likewise. - (cleanup_empty_eh): Likewise. - * tree-if-conv.cc (if_convertible_bb_p): Likewise. - (predicate_bbs): Likewise. - (ifcvt_split_critical_edges): Likewise. - * tree-loop-distribution.cc (create_edge_for_control_dependence): - Likewise. - (loop_distribution::transform_reduction_loop): Likewise. - * tree-parloops.cc (transform_to_exit_first_loop_alt): Likewise. - (try_transform_to_exit_first_loop_alt): Likewise. - (transform_to_exit_first_loop): Likewise. - (create_parallel_loop): Likewise. - * tree-scalar-evolution.cc (get_loop_exit_condition): Likewise. - * tree-ssa-dce.cc (mark_last_stmt_necessary): Likewise. - (eliminate_unnecessary_stmts): Likewise. - * tree-ssa-dom.cc - (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): - Likewise. - * tree-ssa-ifcombine.cc (ifcombine_ifandif): Likewise. - (pass_tree_ifcombine::execute): Likewise. - * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Likewise. - (should_duplicate_loop_header_p): Likewise. - * tree-ssa-loop-ivcanon.cc (create_canonical_iv): Likewise. - (tree_estimate_loop_size): Likewise. - (try_unroll_loop_completely): Likewise. - * tree-ssa-loop-ivopts.cc (tree_ssa_iv_optimize_loop): Likewise. - * tree-ssa-loop-manip.cc (ip_normal_pos): Likewise. - (canonicalize_loop_ivs): Likewise. - * tree-ssa-loop-niter.cc (determine_value_range): Likewise. - (bound_difference): Likewise. - (number_of_iterations_popcount): Likewise. - (number_of_iterations_cltz): Likewise. - (number_of_iterations_cltz_complement): Likewise. - (simplify_using_initial_conditions): Likewise. - (number_of_iterations_exit_assumptions): Likewise. - (loop_niter_by_eval): Likewise. - (estimate_numbers_of_iterations): Likewise. - -2023-04-26 Ju-Zhe Zhong - - * config/riscv/vector.md: Refine vmadc/vmsbc RA constraint. - -2023-04-26 Kewen Lin - - PR target/108758 - * config/rs6000/rs6000-builtins.def - (__builtin_vsx_scalar_cmp_exp_qp_eq, __builtin_vsx_scalar_cmp_exp_qp_gt - __builtin_vsx_scalar_cmp_exp_qp_lt, - __builtin_vsx_scalar_cmp_exp_qp_unordered): Move from stanza ieee128-hw - to power9-vector. - -2023-04-26 Kewen Lin - - PR target/109069 - * config/rs6000/altivec.md (sldoi_to_mov): Replace predicate - easy_vector_constant with const_vector_each_byte_same, add - handlings in preparation for !easy_vector_constant, and update - VECTOR_UNIT_ALTIVEC_OR_VSX_P with VECTOR_MEM_ALTIVEC_OR_VSX_P. - * config/rs6000/predicates.md (const_vector_each_byte_same): New - predicate. - -2023-04-26 Juzhe-Zhong - - * config/riscv/vector.md (*pred_cmp_merge_tie_mask): New pattern. - (*pred_ltge_merge_tie_mask): Ditto. - (*pred_cmp_scalar_merge_tie_mask): Ditto. - (*pred_eqne_scalar_merge_tie_mask): Ditto. - (*pred_cmp_extended_scalar_merge_tie_mask): Ditto. - (*pred_eqne_extended_scalar_merge_tie_mask): Ditto. - (*pred_cmp_narrow_merge_tie_mask): Ditto. - -2023-04-26 Ju-Zhe Zhong - - * config/riscv/vector.md: Fix redundant vmv1r.v. - -2023-04-26 Ju-Zhe Zhong - - * config/riscv/vector.md: Fix RA constraint. - -2023-04-26 Pan Li - - PR target/109272 - * tree-ssa-sccvn.cc (vn_reference_eq): add type vector subparts - check for vn_reference equal. - -2023-04-26 Ju-Zhe Zhong - - * config/riscv/riscv-opts.h (enum riscv_autovec_preference_enum): Add enum for - auto-vectorization preference. - (enum riscv_autovec_lmul_enum): Add enum for choosing LMUL of RVV - auto-vectorization. - * config/riscv/riscv.opt: Add compile option for RVV auto-vectorization. - -2023-04-26 Jivan Hakobyan - - * config/riscv/bitmanip.md: Updated predicates of bclri_nottwobits - and bclridisi_nottwobits patterns. - * config/riscv/predicates.md: (not_uimm_extra_bit_or_nottwobits): Adjust - predicate to avoid splitting arith constants. - (const_nottwobits_not_arith_operand): New predicate. - -2023-04-25 Hans-Peter Nilsson - - * recog.cc (peep2_attempt, peep2_update_life): Correct - head-comment description of parameter match_len. - -2023-04-25 Vineet Gupta - - * config/riscv/riscv.md: riscv_move_integer() drop in_splitter arg. - riscv_split_symbol() drop in_splitter arg. - * config/riscv/riscv.cc: riscv_move_integer() drop in_splitter arg. - riscv_split_symbol() drop in_splitter arg. - riscv_force_temporary() drop in_splitter arg. - * config/riscv/riscv-protos.h: riscv_move_integer() drop in_splitter arg. - riscv_split_symbol() drop in_splitter arg. - -2023-04-25 Eric Botcazou - - * tree-ssa.cc (insert_debug_temp_for_var_def): Do not create - superfluous debug temporaries for single GIMPLE assignments. - -2023-04-25 Richard Biener - - PR tree-optimization/109609 - * attr-fnspec.h (arg_max_access_size_given_by_arg_p): - Clarify semantics. - * tree-ssa-alias.cc (check_fnspec): Correctly interpret - the size given by arg_max_access_size_given_by_arg_p as - maximum, not exact, size. - -2023-04-25 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (orn3): Rename to... - (orn3): ... This. - (bic3): Rename to... - (bic3): ... This. - (3): Rename to... - (3): ... This. - -2023-04-25 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (div3): New define_expand. - * config/aarch64/iterators.md (VQDIV): New mode iterator. - (vnx2di): New mode attribute. - -2023-04-25 Richard Biener - - PR rtl-optimization/109585 - * tree-ssa-alias.cc (aliasing_component_refs_p): Fix typo. - -2023-04-25 Jakub Jelinek - - PR target/109566 - * config/rs6000/rs6000.cc (rs6000_is_valid_rotate_dot_mask): For - !TARGET_64BIT, don't return true if UINTVAL (mask) << (63 - nb) - is larger than signed int maximum. - -2023-04-25 Martin Liska - - * doc/gcov.texi: Document the new "calls" field and document - the API bump. Mention also "block_ids" for lines. - * gcov.cc (output_intermediate_json_line): Output info about - calls and extend branches as well. - (generate_results): Bump version to 2. - (output_line_details): Use block ID instead of a non-sensual - index. - -2023-04-25 Roger Sayle - - * config/stormy16/stormy16.md (zero_extendqihi2): Restore/fix - length attribute for the first (memory operand) alternative. - -2023-04-25 Victor Do Nascimento - - * config/aarch64/aarch64-simd.md(aarch64_simd_stp): New. - * config/aarch64/constraints.md: Make "Umn" relaxed memory - constraint. - * config/aarch64/iterators.md(ldpstp_vel_sz): New. - -2023-04-25 Aldy Hernandez - - * value-range.cc (frange::set): Adjust constructor. - * value-range.h (nan_state::nan_state): Replace default - constructor with one taking an argument. - -2023-04-25 Aldy Hernandez - - * ipa-cp.cc (ipa_range_contains_p): New. - (decide_whether_version_node): Use it. - -2023-04-24 Prathamesh Kulkarni - - * tree-ssa-forwprop.cc (is_combined_permutation_identity): Try to - simplify two successive VEC_PERM_EXPRs with same VLA mask, - where mask chooses elements in reverse order. - -2023-04-24 Andrew Pinski - - * tree-ssa-phiopt.cc (match_simplify_replacement): Add new arguments - and support diamond shaped basic block form. - (tree_ssa_phiopt_worker): Update call to match_simplify_replacement - -2023-04-24 Andrew Pinski - - * tree-ssa-phiopt.cc (empty_bb_or_one_feeding_into_p): - Instead of calling last_and_only_stmt, look for the last statement - manually. - -2023-04-24 Andrew Pinski - - * tree-ssa-phiopt.cc (empty_bb_or_one_feeding_into_p): - New function. - (match_simplify_replacement): Call - empty_bb_or_one_feeding_into_p instead of doing it inline. - -2023-04-24 Andrew Pinski - - PR tree-optimization/68894 - * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Remove the - continue for the do_hoist_loads diamond case. - -2023-04-24 Andrew Pinski - - * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Rearrange - code for better code readability. - -2023-04-24 Andrew Pinski - - PR tree-optimization/109604 - * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Move the - diamond form check from ... - (minmax_replacement): Here. - -2023-04-24 Patrick Palka - - * tree.cc (strip_array_types): Don't define here. - (is_typedef_decl): Don't define here. - (typedef_variant_p): Don't define here. - * tree.h (strip_array_types): Define here. - (is_typedef_decl): Define here. - (typedef_variant_p): Define here. - -2023-04-24 Frederik Harwath - - * doc/generic.texi (OpenMP): Add != to allowed - conditions and state that vars can be unsigned. - * tree.def (OMP_FOR): Likewise. - -2023-04-24 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (mulv2di3): New expander. - -2023-04-24 Rainer Orth - - * doc/install.texi: Consistently use Solaris rather than Solaris 2. - Remove explicit Solaris 11 references. - Markup fixes. - (Options specification, --with-gnu-as): as and gas always differ - on Solaris. - Remove /usr/ccs/bin reference. - (Installing GCC: Binaries, Solaris (SPARC, Intel)): Remove. - (i?86-*-solaris2*): Merge assembler, linker recommendations ... - (*-*-solaris2*): ... here. - Update bundled GCC versions. - Don't refer to pre-built binaries. - Remove /bin/sh warning. - Update assembler, linker recommendations. - Document GNAT bootstrap compiler. - (sparc-sun-solaris2*): Remove non-UltraSPARC reference. - (sparc64-*-solaris2*): Move content... - (sparcv9-*-solaris2*): ...here. - Add GDC for 64-bit bootstrap compilers. - -2023-04-24 Kyrylo Tkachov - - PR target/109406 - * config/aarch64/aarch64-sve.md (3): Handle TARGET_SVE2 MUL - case. - * config/aarch64/aarch64-sve2.md (*aarch64_mul_unpredicated_): New - pattern. - -2023-04-24 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_abal2): Rename to... - (aarch64_abal2_insn): ... This. Use RTL codes instead of unspec. - (aarch64_abal2): New define_expand. - * config/aarch64/aarch64.cc (aarch64_abd_rtx_p): New function. - (aarch64_rtx_costs): Handle ABD rtxes. - * config/aarch64/aarch64.md (UNSPEC_SABAL2, UNSPEC_UABAL2): Delete. - * config/aarch64/iterators.md (ABAL2): Delete. - (sur): Remove handling of UNSPEC_UABAL2 and UNSPEC_SABAL2. - -2023-04-24 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_abal): Rename to... - (aarch64_abal): ... This. Use RTL codes instead of unspec. - (sadv16qi): Rename to... - (sadv16qi): ... This. Adjust for the above. - * config/aarch64/aarch64-sve.md (sad): Rename to... - (sad): ... This. Adjust for the above. - * config/aarch64/aarch64.md (UNSPEC_SABAL, UNSPEC_UABAL): Delete. - * config/aarch64/iterators.md (ABAL): Delete. - (sur): Remove handling of UNSPEC_SABAL and UNSPEC_UABAL. - -2023-04-24 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_abdl2): Rename to... - (aarch64_abdl2_insn): ... This. Use RTL codes instead of unspec. - (aarch64_abdl2): New define_expand. - * config/aarch64/aarch64.md (UNSPEC_SABDL2, UNSPEC_UABDL2): Delete. - * config/aarch64/iterators.md (ABDL2): Delete. - (sur): Remove handling of UNSPEC_SABDL2 and UNSPEC_UABDL2. - -2023-04-24 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_abdl): Rename to... - (aarch64_abdl): ... This. Use standard RTL ops instead of - unspec. - * config/aarch64/aarch64.md (UNSPEC_SABDL, UNSPEC_UABDL): Delete. - * config/aarch64/iterators.md (ABDL): Delete. - (sur): Remove handling of UNSPEC_SABDL and UNSPEC_UABDL. - -2023-04-24 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md - (*aarch64_addlv_ze): New pattern. - -2023-04-24 Richard Biener - - * gimple-ssa-split-paths.cc (is_feasible_trace): Avoid - last_stmt. - * graphite-scop-detection.cc (single_pred_cond_non_loop_exit): - Likewise. - * ipa-fnsummary.cc (set_cond_stmt_execution_predicate): Likewise. - (set_switch_stmt_execution_predicate): Likewise. - (phi_result_unknown_predicate): Likewise. - * ipa-prop.cc (compute_complex_ancestor_jump_func): Likewise. - (ipa_analyze_indirect_call_uses): Likewise. - * predict.cc (predict_iv_comparison): Likewise. - (predict_extra_loop_exits): Likewise. - (predict_loops): Likewise. - (tree_predict_by_opcode): Likewise. - * gimple-predicate-analysis.cc (predicate::init_from_control_deps): - Likewise. - * gimple-pretty-print.cc (dump_implicit_edges): Likewise. - * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Likewise. - (replace_phi_edge_with_variable): Likewise. - (two_value_replacement): Likewise. - (value_replacement): Likewise. - (minmax_replacement): Likewise. - (spaceship_replacement): Likewise. - (cond_removal_in_builtin_zero_pattern): Likewise. - * tree-ssa-reassoc.cc (maybe_optimize_range_tests): Likewise. - * tree-ssa-sccvn.cc (vn_phi_eq): Likewise. - (vn_phi_lookup): Likewise. - (vn_phi_insert): Likewise. - * tree-ssa-structalias.cc (compute_points_to_sets): Likewise. - * tree-ssa-threadbackward.cc (back_threader::maybe_thread_block): - Likewise. - (back_threader_profitability::possibly_profitable_path_p): - Likewise. - * tree-ssa-threadedge.cc (jump_threader::thread_outgoing_edges): - Likewise. - * tree-switch-conversion.cc (pass_convert_switch::execute): - Likewise. - (pass_lower_switch::execute): Likewise. - * tree-tailcall.cc (tree_optimize_tail_calls_1): Likewise. - * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise. - * tree-vect-slp.cc (vect_slp_function): Likewise. - * tree-vect-stmts.cc (cfun_returns): Likewise. - * tree-vectorizer.cc (vect_loop_vectorized_call): Likewise. - (vect_loop_dist_alias_call): Likewise. - -2023-04-24 Richard Biener - - * cfgcleanup.cc (outgoing_edges_match): Use FORWARDER_BLOCK_P. - -2023-04-24 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc - (vector_infos_manager::all_avail_in_compatible_p): New function. - (pass_vsetvl::refine_vsetvls): Optimize vsetvls. - * config/riscv/riscv-vsetvl.h: New function. - -2023-04-24 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::pre_vsetvl): Add function - comment for cleanup_insns. - -2023-04-24 Juzhe-Zhong - - * config/riscv/vector-iterators.md: New unspec to refine fault first load pattern. - * config/riscv/vector.md: Refine fault first load pattern to erase avl from instructions - with the fault first load property. - -2023-04-23 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_): Rename to... - (aarch64_float_truncate_lo_): ... This. - -2023-04-23 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (aarch64_addp): Rename to... - (aarch64_addp): ... This. - -2023-04-23 Roger Sayle - - * config/stormy16/stormy16.cc (xstormy16_rtx_costs): Rewrite to - provide reasonable values for common arithmetic operations and - immediate operands (in several machine modes). - -2023-04-23 Roger Sayle - - * config/stormy16/stormy16.cc (xstormy16_print_operand): Add %h - format specifier to output high_part register name of SImode reg. - * config/stormy16/stormy16.md (extendhisi2): New define_insn. - (zero_extendqihi2): Fix lengths, consistent formatting and add - "and Rx,#255" alternative, for documentation purposes. - (zero_extendhisi2): New define_insn. - -2023-04-23 Roger Sayle - - * config/stormy16/stormy16.cc (xstormy16_output_shift): Implement - SImode shifts by two by performing a single bit SImode shift twice. - -2023-04-23 Aldy Hernandez - - PR tree-optimization/109593 - * value-range.cc (frange::operator==): Handle NANs. - -2023-04-23 liuhongt - - PR rtl-optimization/108707 - * ira-costs.cc (scan_one_insn): Use NO_REGS instead of - GENERAL_REGS when preferred reg_class is not known. - -2023-04-22 Andrew Pinski - - * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): - Change the code around slightly to move diamond - handling for do_store_elim/do_hoist_loads out of - the big if/else. - -2023-04-22 Andrew Pinski - - * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): - Remove check on empty_block_p. - -2023-04-22 Jakub Jelinek - - PR bootstrap/109589 - * system.h (class auto_mpz): Workaround PR62101 bug in GCC 4.8 and 4.9. - * realmpfr.h (class auto_mpfr): Likewise. - -2023-04-22 Jakub Jelinek - - PR tree-optimization/109583 - * match.pd (fneg/fadd simplify): Don't call related_vector_mode - if vec_mode is not VECTOR_MODE_P. - -2023-04-22 Jan Hubicka - Ondrej Kubanek - - * cfgloopmanip.h (adjust_loop_info_after_peeling): Declare. - * tree-ssa-loop-ch.cc (ch_base::copy_headers): Fix updating of - loop profile and bounds after header duplication. - * tree-ssa-loop-ivcanon.cc (adjust_loop_info_after_peeling): - Break out from try_peel_loop; fix handling of 0 iterations. - (try_peel_loop): Use adjust_loop_info_after_peeling. - -2023-04-21 Andrew MacLeod - - PR tree-optimization/109546 - * tree-vrp.cc (remove_unreachable::remove_and_update_globals): Do - not fold conditions with ADDR_EXPR early. - -2023-04-21 Kyrylo Tkachov - - * config/aarch64/aarch64.md (aarch64_umax3_insn): Delete. - (umax3): Emit raw UMAX RTL instead of going through gen_ function - for umax. - (3): New define_expand for MAXMIN_NOUMAX codes. - (*aarch64_3_zero): Define. - (*aarch64_3_cssc): Likewise. - * config/aarch64/iterators.md (maxminand): New code attribute. - -2023-04-21 Kyrylo Tkachov - - PR target/108779 - * config/aarch64/aarch64-opts.h (enum aarch64_tp_reg): Define. - * config/aarch64/aarch64-protos.h (aarch64_output_load_tp): - Define prototype. - * config/aarch64/aarch64.cc (aarch64_tpidr_register): Declare. - (aarch64_override_options_internal): Handle the above. - (aarch64_output_load_tp): New function. - * config/aarch64/aarch64.md (aarch64_load_tp_hard): Call - aarch64_output_load_tp. - * config/aarch64/aarch64.opt (aarch64_tp_reg): Define enum. - (mtp=): New option. - * doc/invoke.texi (AArch64 Options): Document -mtp=. - -2023-04-21 Kyrylo Tkachov - - PR target/99195 - * config/aarch64/aarch64-simd.md (add_vec_concat_subst_le): Define. - (add_vec_concat_subst_be): Likewise. - (vczle): Likewise. - (vczbe): Likewise. - (add3): Rename to... - (add3): ... This. - (sub3): Rename to... - (sub3): ... This. - (mul3): Rename to... - (mul3): ... This. - (and3): Rename to... - (and3): ... This. - (ior3): Rename to... - (ior3): ... This. - (xor3): Rename to... - (xor3): ... This. - * config/aarch64/iterators.md (VDZ): Define. - -2023-04-21 Patrick Palka - - * tree.cc (walk_tree_1): Avoid repeatedly dereferencing tp - and type_p. - -2023-04-21 Jan Hubicka - - * tree-ssa-loop-ch.cc (ch_base::copy_headers): Fix previous - commit. - -2023-04-21 Vineet Gupta - - * expmed.h (x_shift*_cost): convert to int [speed][mode][shift]. - (shift*_cost_ptr ()): Access x_shift*_cost array directly. - -2023-04-21 Prathamesh Kulkarni - - * config/aarch64/aarch64.cc (aarch64_simd_dup_constant): Use - force_reg instead of copy_to_mode_reg. - (aarch64_expand_vector_init): Likewise. - -2023-04-21 Uroš Bizjak - - * config/i386/i386.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Remove. - (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P): Ditto. - (REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P): Ditto. - (FIRST_INDEX_REG, LAST_INDEX_REG): New defines. - (LEGACY_INDEX_REG_P, LEGACY_INDEX_REGNO_P): New macros. - (INDEX_REG_P, INDEX_REGNO_P): Ditto. - (REGNO_OK_FOR_INDEX_P): Use INDEX_REGNO_P predicates. - (REGNO_OK_FOR_INDEX_NONSTRICT_P): New macro. - (EG_OK_FOR_BASE_NONSTRICT_P): Ditto. - * config/i386/predicates.md (index_register_operand): - Use REGNO_OK_FOR_INDEX_P and REGNO_OK_FOR_INDEX_NONSTRICT_P macros. - * config/i386/i386.cc (ix86_legitimate_address_p): Use - REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_BASE_NONSTRICT_P, - REGNO_OK_FOR_INDEX_P and REGNO_OK_FOR_INDEX_NONSTRICT_P macros. - -2023-04-21 Jan Hubicka - Ondrej Kubanek - - * tree-ssa-loop-ch.cc (ch_base::copy_headers): Update loop header and - latch. - -2023-04-21 Richard Biener - - * is-a.h (safe_is_a): New. - -2023-04-21 Richard Biener - - * gimple-iterator.h (gimple_stmt_iterator::operator*): Add. - (gphi_iterator::operator*): Likewise. - -2023-04-21 Jan Hubicka - Michal Jires - - * ipa-inline.cc (class inline_badness): New class. - (edge_heap_t, edge_heap_node_t): Use inline_badness for badness instead - of sreal. - (update_edge_key): Update. - (lookup_recursive_calls): Likewise. - (recursive_inlining): Likewise. - (add_new_edges_to_heap): Likewise. - (inline_small_functions): Likewise. - -2023-04-21 Jan Hubicka - - * ipa-devirt.cc (odr_types_equivalent_p): Cleanup warned checks. - -2023-04-21 Richard Biener - - PR tree-optimization/109573 - * tree-vect-loop.cc (vectorizable_live_operation): Allow - unhandled SSA copy as well. Demote assert to checking only. - -2023-04-21 Richard Biener - - * df-core.cc (df_analyze): Compute RPO on the reverse graph - for DF_BACKWARD problems. - (loop_post_order_compute): Rename to ... - (loop_rev_post_order_compute): ... this, compute a RPO. - (loop_inverted_post_order_compute): Rename to ... - (loop_inverted_rev_post_order_compute): ... this, compute a RPO. - (df_analyze_loop): Use RPO on the forward graph for DF_FORWARD - problems, RPO on the inverted graph for DF_BACKWARD. - -2023-04-21 Richard Biener - - * cfganal.h (inverted_rev_post_order_compute): Rename - from ... - (inverted_post_order_compute): ... this. Add struct function - argument, change allocation to a C array. - * cfganal.cc (inverted_rev_post_order_compute): Likewise. - * lcm.cc (compute_antinout_edge): Adjust. - * lra-lives.cc (lra_create_live_ranges_1): Likewise. - * tree-ssa-dce.cc (remove_dead_stmt): Likewise. - * tree-ssa-pre.cc (compute_antic): Likewise. - -2023-04-21 Richard Biener - - * df.h (df_d::postorder_inverted): Change back to int *, - clarify comments. - * df-core.cc (rest_of_handle_df_finish): Adjust. - (df_analyze_1): Likewise. - (df_analyze): For DF_FORWARD problems use RPO on the forward - graph. Adjust. - (loop_inverted_post_order_compute): Adjust API. - (df_analyze_loop): Adjust. - (df_get_n_blocks): Likewise. - (df_get_postorder): Likewise. - -2023-04-21 Juzhe-Zhong - - PR target/108270 - * config/riscv/riscv-vsetvl.cc - (vector_infos_manager::all_empty_predecessor_p): New function. - (pass_vsetvl::backward_demand_fusion): Ditto. - * config/riscv/riscv-vsetvl.h: Ditto. - -2023-04-21 Robin Dapp - - PR target/109582 - * config/riscv/generic.md: Change standard names to insn names. - -2023-04-21 Richard Biener - - * lcm.cc (compute_antinout_edge): Use RPO on the inverted graph. - (compute_laterin): Use RPO. - (compute_available): Likewise. - -2023-04-21 Peng Fan - - * config/loongarch/gnu-user.h (MUSL_DYNAMIC_LINKER): Redefine. - -2023-04-21 Juzhe-Zhong - - PR target/109547 - * config/riscv/riscv-vsetvl.cc (local_eliminate_vsetvl_insn): New function. - (vector_insn_info::skip_avl_compatible_p): Ditto. - (vector_insn_info::merge): Remove default value. - (pass_vsetvl::compute_local_backward_infos): Ditto. - (pass_vsetvl::cleanup_insns): Add local vsetvl elimination. - * config/riscv/riscv-vsetvl.h: Ditto. - -2023-04-20 Alejandro Colomar - - * doc/extend.texi (Common Function Attributes): Remove duplicate - word. - -2023-04-20 Andrew MacLeod - - PR tree-optimization/109564 - * gimple-range-fold.cc (fold_using_range::range_of_phi): Do no ignore - UNDEFINED range names when deciding if all PHI arguments are the same, - -2023-04-20 Jakub Jelinek - - PR tree-optimization/109011 - * tree-vect-patterns.cc (vect_recog_ctz_ffs_pattern): Use - .CTZ (X) = .POPCOUNT ((X - 1) & ~X) in preference to - .CTZ (X) = PREC - .POPCOUNT (X | -X). - -2023-04-20 Vladimir N. Makarov - - * lra-constraints.cc (match_reload): Exclude some hard regs for - multi-reg inout reload pseudos used in asm in different mode. - -2023-04-20 Uros Bizjak - - * config/arm/arm.cc (thumb1_legitimate_address_p): - Use VIRTUAL_REGISTER_P predicate. - (arm_eliminable_register): Ditto. - * config/avr/avr.md (push_1): Ditto. - * config/bfin/predicates.md (register_no_elim_operand): Ditto. - * config/h8300/predicates.md (register_no_sp_elim_operand): Ditto. - * config/i386/predicates.md (register_no_elim_operand): Ditto. - * config/iq2000/predicates.md (call_insn_operand): Ditto. - * config/microblaze/microblaze.h (CALL_INSN_OP): Ditto. - -2023-04-20 Uros Bizjak - - PR target/78952 - * config/i386/predicates.md (extract_operator): New predicate. - * config/i386/i386.md (any_extract): Remove code iterator. - (*cmpqi_ext_1_mem_rex64): Use extract_operator predicate. - (*cmpqi_ext_1): Ditto. - (*cmpqi_ext_2): Ditto. - (*cmpqi_ext_3_mem_rex64): Ditto. - (*cmpqi_ext_3): Ditto. - (*cmpqi_ext_4): Ditto. - (*extzvqi_mem_rex64): Ditto. - (*extzvqi): Ditto. - (*insvqi_2): Ditto. - (*extendqi_ext_1): Ditto. - (*addqi_ext_0): Ditto. - (*addqi_ext_1): Ditto. - (*addqi_ext_2): Ditto. - (*subqi_ext_0): Ditto. - (*subqi_ext_2): Ditto. - (*testqi_ext_1): Ditto. - (*testqi_ext_2): Ditto. - (*andqi_ext_0): Ditto. - (*andqi_ext_1): Ditto. - (*andqi_ext_1_cc): Ditto. - (*andqi_ext_2): Ditto. - (*qi_ext_0): Ditto. - (*qi_ext_1): Ditto. - (*qi_ext_2): Ditto. - (*xorqi_ext_1_cc): Ditto. - (*negqi_ext_2): Ditto. - (*ashlqi_ext_2): Ditto. - (*qi_ext_2): Ditto. - -2023-04-20 Raphael Zinsly - - PR target/108248 - * config/riscv/bitmanip.md (clz, ctz, pcnt, min, max patterns): Use - as the type to allow for fine grained control of - scheduling these insns. - * config/riscv/generic.md (generic_alu): Add bitmanip, clz, ctz, pcnt, - min, max. - * config/riscv/riscv.md (type attribute): Add types for clz, ctz, - pcnt, signed and unsigned min/max. - -2023-04-20 Juzhe-Zhong - kito-cheng - - * config/riscv/riscv.h (enum reg_class): Fix RVV register order. - -2023-04-20 Ju-Zhe Zhong - kito-cheng - - PR target/109535 - * config/riscv/riscv-vsetvl.cc (count_regno_occurrences): New function. - (pass_vsetvl::cleanup_insns): Fix bug. - -2023-04-20 Andrew Stubbs - - * config/gcn/gcn-valu.md (vnsi, VnSI): Add scalar modes. - (ldexp3): Delete. - (ldexp3): Change "B" to "A". - -2023-04-20 Jakub Jelinek - Jonathan Wakely - - * tree.h (built_in_function_equal_p): New helper function. - (fndecl_built_in_p): Turn into variadic template to support - 1 or more built_in_function arguments. - * builtins.cc (fold_builtin_expect): Use 3 argument fndecl_built_in_p. - * gimplify.cc (goa_stabilize_expr): Likewise. - * cgraphclones.cc (cgraph_node::create_clone): Likewise. - * ipa-fnsummary.cc (compute_fn_summary): Likewise. - * omp-low.cc (setjmp_or_longjmp_p): Likewise. - * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee, - cgraph_update_edges_for_call_stmt_node, - cgraph_edge::verify_corresponds_to_fndecl, - cgraph_node::verify_node): Likewise. - * tree-stdarg.cc (optimize_va_list_gpr_fpr_size): Likewise. - * gimple-ssa-warn-access.cc (matching_alloc_calls_p): Likewise. - * ipa-prop.cc (try_make_edge_direct_virtual_call): Likewise. - -2023-04-20 Jakub Jelinek - - PR tree-optimization/109011 - * tree-vect-patterns.cc (vect_recog_ctz_ffs_pattern): New function. - (vect_recog_popcount_clz_ctz_ffs_pattern): Move vect_pattern_detected - call later. Don't punt for IFN_CTZ or IFN_FFS if it doesn't have - direct optab support, but has instead IFN_CLZ, IFN_POPCOUNT or - for IFN_FFS IFN_CTZ support, use vect_recog_ctz_ffs_pattern for that - case. - (vect_vect_recog_func_ptrs): Add ctz_ffs entry. - -2023-04-20 Richard Biener - - * df-core.cc (rest_of_handle_df_initialize): Remove - computation of df->postorder, df->postorder_inverted and - df->n_blocks. - -2023-04-20 Haochen Jiang - - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AVX_UNSET): Add OPTION_MASK_ISA2_VAES_UNSET. - (ix86_handle_option): Set AVX flag for VAES. - * config/i386/i386-builtins.cc (ix86_init_mmx_sse_builtins): - Add OPTION_MASK_ISA2_VAES_UNSET. - (def_builtin): Share builtin between AES and VAES. - * config/i386/i386-expand.cc (ix86_check_builtin_isa_match): - Ditto. - * config/i386/i386.md (aes): New isa attribute. - * config/i386/sse.md (aesenc): Add pattern for VAES with xmm. - (aesenclast): Ditto. - (aesdec): Ditto. - (aesdeclast): Ditto. - * config/i386/vaesintrin.h: Remove redundant avx target push. - * config/i386/wmmintrin.h (_mm_aesdec_si128): Change to macro. - (_mm_aesdeclast_si128): Ditto. - (_mm_aesenc_si128): Ditto. - (_mm_aesenclast_si128): Ditto. - -2023-04-20 Hu, Lin1 - - * config/i386/avx2intrin.h - (_MM_REDUCE_OPERATOR_BASIC_EPI16): New macro. - (_MM_REDUCE_OPERATOR_MAX_MIN_EP16): Ditto. - (_MM256_REDUCE_OPERATOR_BASIC_EPI16): Ditto. - (_MM256_REDUCE_OPERATOR_MAX_MIN_EP16): Ditto. - (_MM_REDUCE_OPERATOR_BASIC_EPI8): Ditto. - (_MM_REDUCE_OPERATOR_MAX_MIN_EP8): Ditto. - (_MM256_REDUCE_OPERATOR_BASIC_EPI8): Ditto. - (_MM256_REDUCE_OPERATOR_MAX_MIN_EP8): Ditto. - (_mm_reduce_add_epi16): New instrinsics. - (_mm_reduce_mul_epi16): Ditto. - (_mm_reduce_and_epi16): Ditto. - (_mm_reduce_or_epi16): Ditto. - (_mm_reduce_max_epi16): Ditto. - (_mm_reduce_max_epu16): Ditto. - (_mm_reduce_min_epi16): Ditto. - (_mm_reduce_min_epu16): Ditto. - (_mm256_reduce_add_epi16): Ditto. - (_mm256_reduce_mul_epi16): Ditto. - (_mm256_reduce_and_epi16): Ditto. - (_mm256_reduce_or_epi16): Ditto. - (_mm256_reduce_max_epi16): Ditto. - (_mm256_reduce_max_epu16): Ditto. - (_mm256_reduce_min_epi16): Ditto. - (_mm256_reduce_min_epu16): Ditto. - (_mm_reduce_add_epi8): Ditto. - (_mm_reduce_mul_epi8): Ditto. - (_mm_reduce_and_epi8): Ditto. - (_mm_reduce_or_epi8): Ditto. - (_mm_reduce_max_epi8): Ditto. - (_mm_reduce_max_epu8): Ditto. - (_mm_reduce_min_epi8): Ditto. - (_mm_reduce_min_epu8): Ditto. - (_mm256_reduce_add_epi8): Ditto. - (_mm256_reduce_mul_epi8): Ditto. - (_mm256_reduce_and_epi8): Ditto. - (_mm256_reduce_or_epi8): Ditto. - (_mm256_reduce_max_epi8): Ditto. - (_mm256_reduce_max_epu8): Ditto. - (_mm256_reduce_min_epi8): Ditto. - (_mm256_reduce_min_epu8): Ditto. - * config/i386/avx512vlbwintrin.h: - (_mm_mask_reduce_add_epi16): Ditto. - (_mm_mask_reduce_mul_epi16): Ditto. - (_mm_mask_reduce_and_epi16): Ditto. - (_mm_mask_reduce_or_epi16): Ditto. - (_mm_mask_reduce_max_epi16): Ditto. - (_mm_mask_reduce_max_epu16): Ditto. - (_mm_mask_reduce_min_epi16): Ditto. - (_mm_mask_reduce_min_epu16): Ditto. - (_mm256_mask_reduce_add_epi16): Ditto. - (_mm256_mask_reduce_mul_epi16): Ditto. - (_mm256_mask_reduce_and_epi16): Ditto. - (_mm256_mask_reduce_or_epi16): Ditto. - (_mm256_mask_reduce_max_epi16): Ditto. - (_mm256_mask_reduce_max_epu16): Ditto. - (_mm256_mask_reduce_min_epi16): Ditto. - (_mm256_mask_reduce_min_epu16): Ditto. - (_mm_mask_reduce_add_epi8): Ditto. - (_mm_mask_reduce_mul_epi8): Ditto. - (_mm_mask_reduce_and_epi8): Ditto. - (_mm_mask_reduce_or_epi8): Ditto. - (_mm_mask_reduce_max_epi8): Ditto. - (_mm_mask_reduce_max_epu8): Ditto. - (_mm_mask_reduce_min_epi8): Ditto. - (_mm_mask_reduce_min_epu8): Ditto. - (_mm256_mask_reduce_add_epi8): Ditto. - (_mm256_mask_reduce_mul_epi8): Ditto. - (_mm256_mask_reduce_and_epi8): Ditto. - (_mm256_mask_reduce_or_epi8): Ditto. - (_mm256_mask_reduce_max_epi8): Ditto. - (_mm256_mask_reduce_max_epu8): Ditto. - (_mm256_mask_reduce_min_epi8): Ditto. - (_mm256_mask_reduce_min_epu8): Ditto. - -2023-04-20 Haochen Jiang - - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA_VPCLMULQDQ_SET): - Add OPTION_MASK_ISA_PCLMUL_SET and OPTION_MASK_ISA_AVX_SET. - (OPTION_MASK_ISA_AVX_UNSET): - Add OPTION_MASK_ISA_VPCLMULQDQ_UNSET. - (OPTION_MASK_ISA_PCLMUL_UNSET): Ditto. - * config/i386/i386.md (vpclmulqdqvl): New. - * config/i386/sse.md (pclmulqdq): Add evex encoding. - * config/i386/vpclmulqdqintrin.h: Remove redudant avx target - push. - -2023-04-20 Haochen Jiang - - * config/i386/avx512vlbwintrin.h - (_mm_mask_blend_epi16): Remove __OPTIMIZE__ wrapper. - (_mm_mask_blend_epi8): Ditto. - (_mm256_mask_blend_epi16): Ditto. - (_mm256_mask_blend_epi8): Ditto. - * config/i386/avx512vlintrin.h - (_mm256_mask_blend_pd): Ditto. - (_mm256_mask_blend_ps): Ditto. - (_mm256_mask_blend_epi64): Ditto. - (_mm256_mask_blend_epi32): Ditto. - (_mm_mask_blend_pd): Ditto. - (_mm_mask_blend_ps): Ditto. - (_mm_mask_blend_epi64): Ditto. - (_mm_mask_blend_epi32): Ditto. - * config/i386/sse.md (VF_AVX512BWHFBF16): Removed. - (VF_AVX512HFBFVL): Move it before the first usage. - (_blendm): Change iterator from VF_AVX512BWHFBF16 - to VF_AVX512HFBFVL. - -2023-04-20 Haochen Jiang - - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA_AVX512VBMI2_SET): Change OPTION_MASK_ISA_AVX512F_SET - to OPTION_MASK_ISA_AVX512BW_SET. - (OPTION_MASK_ISA_AVX512F_UNSET): - Remove OPTION_MASK_ISA_AVX512VBMI2_UNSET. - (OPTION_MASK_ISA_AVX512BW_UNSET): - Add OPTION_MASK_ISA_AVX512VBMI2_UNSET. - * config/i386/avx512vbmi2intrin.h: Do not push avx512bw. - * config/i386/avx512vbmi2vlintrin.h: Ditto. - * config/i386/i386-builtin.def: Remove OPTION_MASK_ISA_AVX512BW. - * config/i386/sse.md (VI12_AVX512VLBW): Removed. - (VI12_VI48F_AVX512VLBW): Rename to VI12_VI48F_AVX512VL. - (compress_mask): Change iterator from VI12_AVX512VLBW to - VI12_AVX512VL. - (compressstore_mask): Ditto. - (expand_mask): Ditto. - (expand_maskz): Ditto. - (*expand_mask): Change iterator from VI12_VI48F_AVX512VLBW to - VI12_VI48F_AVX512VL. - -2023-04-20 Haochen Jiang - - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA_AVX512BITALG_SET): - Change OPTION_MASK_ISA_AVX512F_SET - to OPTION_MASK_ISA_AVX512BW_SET. - (OPTION_MASK_ISA_AVX512F_UNSET): - Remove OPTION_MASK_ISA_AVX512BITALG_SET. - (OPTION_MASK_ISA_AVX512BW_UNSET): - Add OPTION_MASK_ISA_AVX512BITALG_SET. - * config/i386/avx512bitalgintrin.h: Do not push avx512bw. - * config/i386/i386-builtin.def: - Remove redundant OPTION_MASK_ISA_AVX512BW. - * config/i386/sse.md (VI1_AVX512VLBW): Removed. - (avx512vl_vpshufbitqmb): - Change the iterator from VI1_AVX512VLBW to VI1_AVX512VL. - -2023-04-20 Haochen Jiang - - * config/i386/i386-expand.cc - (ix86_check_builtin_isa_match): Correct wrong comments. - Add a new macro SHARE_BUILTIN and refactor the current if - clauses to macro. - -2023-04-20 Mo, Zewei - - * config/i386/cpuid.h: Open a new section for Extended Features - Leaf (%eax == 7, %ecx == 0) and Extended Features Sub-leaf (%eax == 7, - %ecx == 1). - -2023-04-20 Hu, Lin1 - - * config/i386/sse.md: Modify insn vperm{i,f} - and vshuf{i,f}. - -2023-04-19 Max Filippov - - * config/xtensa/xtensa-opts.h: New header. - * config/xtensa/xtensa.h (STRICT_ALIGNMENT): Redefine as - xtensa_strict_align. - * config/xtensa/xtensa.cc (xtensa_option_override): When - -m[no-]strict-align is not specified in the command line set - xtensa_strict_align to 0 if the hardware supports both unaligned - loads and stores or to 1 otherwise. - * config/xtensa/xtensa.opt (mstrict-align): New option. - * doc/invoke.texi (Xtensa Options): Document -m[no-]strict-align. - -2023-04-19 Max Filippov - - * config/xtensa/xtensa-dynconfig.cc (xtensa_get_config_v4): New - function. - -2023-04-19 Andrew Pinski - - * config/i386/i386.md (*movsicc_noc_zext_1): New pattern. - -2023-04-19 Juzhe-Zhong - - * config/riscv/riscv-modes.def (FLOAT_MODE): Add chunk 128 support. - (VECTOR_BOOL_MODE): Ditto. - (ADJUST_NUNITS): Ditto. - (ADJUST_ALIGNMENT): Ditto. - (ADJUST_BYTESIZE): Ditto. - (ADJUST_PRECISION): Ditto. - (RVV_MODES): Ditto. - (VECTOR_MODE_WITH_PREFIX): Ditto. - * config/riscv/riscv-v.cc (ENTRY): Ditto. - (get_vlmul): Ditto. - (get_ratio): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Ditto. - * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Ditto. - (vbool64_t): Ditto. - (vbool32_t): Ditto. - (vbool16_t): Ditto. - (vbool8_t): Ditto. - (vbool4_t): Ditto. - (vbool2_t): Ditto. - (vbool1_t): Ditto. - (vint8mf8_t): Ditto. - (vuint8mf8_t): Ditto. - (vint8mf4_t): Ditto. - (vuint8mf4_t): Ditto. - (vint8mf2_t): Ditto. - (vuint8mf2_t): Ditto. - (vint8m1_t): Ditto. - (vuint8m1_t): Ditto. - (vint8m2_t): Ditto. - (vuint8m2_t): Ditto. - (vint8m4_t): Ditto. - (vuint8m4_t): Ditto. - (vint8m8_t): Ditto. - (vuint8m8_t): Ditto. - (vint16mf4_t): Ditto. - (vuint16mf4_t): Ditto. - (vint16mf2_t): Ditto. - (vuint16mf2_t): Ditto. - (vint16m1_t): Ditto. - (vuint16m1_t): Ditto. - (vint16m2_t): Ditto. - (vuint16m2_t): Ditto. - (vint16m4_t): Ditto. - (vuint16m4_t): Ditto. - (vint16m8_t): Ditto. - (vuint16m8_t): Ditto. - (vint32mf2_t): Ditto. - (vuint32mf2_t): Ditto. - (vint32m1_t): Ditto. - (vuint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vuint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vuint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vuint32m8_t): Ditto. - (vint64m1_t): Ditto. - (vuint64m1_t): Ditto. - (vint64m2_t): Ditto. - (vuint64m2_t): Ditto. - (vint64m4_t): Ditto. - (vuint64m4_t): Ditto. - (vint64m8_t): Ditto. - (vuint64m8_t): Ditto. - (vfloat32mf2_t): Ditto. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat32m8_t): Ditto. - (vfloat64m1_t): Ditto. - (vfloat64m2_t): Ditto. - (vfloat64m4_t): Ditto. - (vfloat64m8_t): Ditto. - * config/riscv/riscv-vector-switch.def (ENTRY): Ditto. - * config/riscv/riscv.cc (riscv_legitimize_poly_move): Ditto. - (riscv_convert_vector_bits): Ditto. - * config/riscv/riscv.md: - * config/riscv/vector-iterators.md: - * config/riscv/vector.md - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_store): Ditto. - (@pred_reduc_): Ditto. - (@pred_widen_reduc_plus): Ditto. - (@pred_reduc_plus): Ditto. - (@pred_widen_reduc_plus): Ditto. - -2023-04-19 Pan Li - - * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): - Align IOR (A | (~A) -> -1) optimization MODE_CLASS condition to AND. - -2023-04-19 Uros Bizjak - - PR target/78904 - PR target/78952 - * config/i386/i386.md (*cmpqi_ext_1_mem_rex64): New insn pattern. - (*cmpqi_ext_1): Use nonimmediate_operand predicate - for operand 0. Use any_extract code iterator. - (*cmpqi_ext_1 peephole2): New peephole2 pattern. - (*cmpqi_ext_2): Use any_extract code iterator. - (*cmpqi_ext_3_mem_rex64): New insn pattern. - (*cmpqi_ext_1): Use general_operand predicate - for operand 1. Use any_extract code iterator. - (*cmpqi_ext_3 peephole2): New peephole2 pattern. - (*cmpqi_ext_4): Use any_extract code iterator. - -2023-04-19 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_saddw2): Delete. - (aarch64_uaddw2): Delete. - (aarch64_ssubw2): Delete. - (aarch64_usubw2): Delete. - (aarch64_w2): New define_expand. - -2023-04-19 Richard Biener - - * tree-ssa-structalias.cc (do_ds_constraint): Use - solve_add_graph_edge. - -2023-04-19 Richard Biener - - * tree-ssa-structalias.cc (solve_add_graph_edge): New function, - split out from ... - (do_sd_constraint): ... here. - -2023-04-19 Richard Biener - - * tree-cfg.cc (gimple_can_merge_blocks_p): Remove condition - rejecting the merge when A contains only a non-local label. - -2023-04-19 Uros Bizjak - - * rtl.h (VIRTUAL_REGISTER_P): New predicate. - (VIRTUAL_REGISTER_NUM_P): Ditto. - (REGNO_PTR_FRAME_P): Use VIRTUAL_REGISTER_NUM_P predicate. - * expr.cc (force_operand): Use VIRTUAL_REGISTER_P predicate. - * function.cc (instantiate_decl_rtl): Ditto. - * rtlanal.cc (rtx_addr_can_trap_p_1): Ditto. - (nonzero_address_p): Ditto. - (refers_to_regno_p): Use VIRTUAL_REGISTER_NUM_P predicate. - -2023-04-19 Aldy Hernandez - - * value-range.h (Value_Range::Value_Range): Avoid pointer sharing. - -2023-04-19 Richard Biener - - * system.h (auto_mpz::operator->()): New. - * realmpfr.h (auto_mpfr::operator->()): New. - * builtins.cc (do_mpfr_lgamma_r): Use auto_mpfr. - * real.cc (real_from_string): Likewise. - (dconst_e_ptr): Likewise. - (dconst_sqrt2_ptr): Likewise. - * tree-ssa-loop-niter.cc (refine_value_range_using_guard): - Use auto_mpz. - (bound_difference_of_offsetted_base): Likewise. - (number_of_iterations_ne): Likewise. - (number_of_iterations_lt_to_ne): Likewise. - * ubsan.cc: Include realmpfr.h. - (ubsan_instrument_float_cast): Use auto_mpfr. - -2023-04-19 Richard Biener - - * tree-ssa-structalias.cc (solve_graph): Remove self-copy - edges, remove edges from escaped after special-casing them. - -2023-04-19 Richard Biener - - * tree-ssa-structalias.cc (do_sd_constraint): Fixup escape - special casing. - -2023-04-19 Richard Biener - - * tree-ssa-structalias.cc (do_sd_constraint): Do not write - to the LHS varinfo solution member. - -2023-04-19 Richard Biener - - * tree-ssa-structalias.cc (topo_visit): Look at the real - destination of edges. - -2023-04-19 Richard Biener - - PR tree-optimization/44794 - * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): - If an epilogue loop is required set its iteration upper bound. - -2023-04-19 Xi Ruoyao - - PR target/109465 - * config/loongarch/loongarch-protos.h - (loongarch_expand_block_move): Add a parameter as alignment RTX. - * config/loongarch/loongarch.h: - (LARCH_MAX_MOVE_BYTES_PER_LOOP_ITER): Remove. - (LARCH_MAX_MOVE_BYTES_STRAIGHT): Remove. - (LARCH_MAX_MOVE_OPS_PER_LOOP_ITER): Define. - (LARCH_MAX_MOVE_OPS_STRAIGHT): Define. - (MOVE_RATIO): Use LARCH_MAX_MOVE_OPS_PER_LOOP_ITER instead of - LARCH_MAX_MOVE_BYTES_PER_LOOP_ITER. - * config/loongarch/loongarch.cc (loongarch_expand_block_move): - Take the alignment from the parameter, but set it to - UNITS_PER_WORD if !TARGET_STRICT_ALIGN. Limit the length of - straight-line implementation with LARCH_MAX_MOVE_OPS_STRAIGHT - instead of LARCH_MAX_MOVE_BYTES_STRAIGHT. - (loongarch_block_move_straight): When there are left-over bytes, - half the mode size instead of falling back to byte mode at once. - (loongarch_block_move_loop): Limit the length of loop body with - LARCH_MAX_MOVE_OPS_PER_LOOP_ITER instead of - LARCH_MAX_MOVE_BYTES_PER_LOOP_ITER. - * config/loongarch/loongarch.md (cpymemsi): Pass the alignment - to loongarch_expand_block_move. - -2023-04-19 Xi Ruoyao - - * config/loongarch/loongarch.cc - (loongarch_setup_incoming_varargs): Don't save more GARs than - cfun->va_list_gpr_size / UNITS_PER_WORD. - -2023-04-19 Richard Biener - - * tree-ssa-loop-manip.cc (determine_exit_conditions): Fix - no epilogue condition. - -2023-04-19 Richard Biener - - * gimple.h (gimple_assign_load): Outline... - * gimple.cc (gimple_assign_load): ... here. Avoid - get_base_address and instead just strip the outermost - handled component, treating a remaining handled component - as load. - -2023-04-19 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (neg): Delete builtins - definition. - * config/aarch64/arm_fp16.h (vnegh_f16): Reimplement using normal negation. - -2023-04-19 Jakub Jelinek - - PR tree-optimization/109011 - * tree-vect-patterns.cc (vect_recog_popcount_pattern): Rename to ... - (vect_recog_popcount_clz_ctz_ffs_pattern): ... this. Handle also - CLZ, CTZ and FFS. Remove vargs variable, use - gimple_build_call_internal rather than gimple_build_call_internal_vec. - (vect_vect_recog_func_ptrs): Adjust popcount entry. - -2023-04-19 Jakub Jelinek - - PR target/109040 - * dse.cc (replace_read): If read_reg is a SUBREG of a word mode - REG, for WORD_REGISTER_OPERATIONS copy SUBREG_REG of it into - a new REG rather than the SUBREG. - -2023-04-19 Prathamesh Kulkarni - - * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set_zero): - New pattern. - -2023-04-19 Kyrylo Tkachov - - PR target/108840 - * config/aarch64/aarch64.cc (aarch64_rtx_costs): Merge ASHIFT and - ROTATE, ROTATERT, LSHIFTRT, ASHIFTRT cases. Handle subregs in op1. - -2023-04-19 Richard Biener - - PR rtl-optimization/109237 - * cse.cc (insn_live_p): Remove NEXT_INSN walk, instead check - TREE_VISITED on INSN_VAR_LOCATION_DECL. - (delete_trivially_dead_insns): Maintain TREE_VISITED on - active debug bind INSN_VAR_LOCATION_DECL. - -2023-04-19 Richard Biener - - PR rtl-optimization/109237 - * cfgcleanup.cc (bb_is_just_return): Walk insns backwards. - -2023-04-19 Christophe Lyon - - * doc/install.texi (enable-decimal-float): Add AArch64. - -2023-04-19 liuhongt - - PR rtl-optimization/109351 - * ira.cc (setup_class_subset_and_memory_move_costs): Check - hard_regno_mode_ok before setting lowest memory move cost for - the mode with different reg classes. - -2023-04-18 Jason Merrill - - * doc/invoke.texi: Remove stray @gol. - -2023-04-18 Takayuki 'January June' Suwa - - * ifcvt.cc (cond_move_process_if_block): Consider the result of - targetm.noce_conversion_profitable_p() when replacing the original - sequence with the converted one. - -2023-04-18 Mark Harmstone - - * common.opt (gcodeview): Add new option. - * gcc.cc (driver_handle_option); Handle OPT_gcodeview. - * opts.cc (command_handle_option): Similarly. - * doc/invoke.texi: Add documentation for -gcodeview. - -2023-04-18 Andrew Pinski - - * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Remove declaration. - (make_pass_phiopt): Make execute out of line. - (tree_ssa_cs_elim): Move code into ... - (pass_cselim::execute): here. - -2023-04-18 Sam James - - * system.h: Drop unused INCLUDE_PTHREAD_H. - -2023-04-18 Kevin Lee - - * tree-vect-data-refs.cc (vect_grouped_store_supported): Add new - condition. - -2023-04-18 Sinan Lin - - * config/riscv/bitmanip.md (rotr3 expander): Enable for ZBKB. - (bswapdi2, bswapsi2): Similarly. - -2023-04-18 Uros Bizjak - - PR target/94908 - * config/i386/i386-builtin.def (__builtin_ia32_insertps128): - Use CODE_FOR_sse4_1_insertps_v4sf. - * config/i386/i386-expand.cc (expand_vec_perm_insertps): New. - (expand_vec_perm_1): Call expand_vec_per_insertps. - * config/i386/i386.md ("unspec"): Declare UNSPEC_INSERTPS here. - * config/i386/mmx.md (mmxscalarmode): New mode attribute. - (@sse4_1_insertps_): New insn pattern. - * config/i386/sse.md (@sse4_1_insertps_): Macroize insn - pattern from sse4_1_insertps using VI4F_128 mode iterator. - -2023-04-18 Aldy Hernandez - - * value-range.cc (gt_ggc_mx): New. - (gt_pch_nx): New. - * value-range.h (class vrange): Add GTY marker. - (class frange): Same. - (gt_ggc_mx): Remove. - (gt_pch_nx): Remove. - -2023-04-18 Victor L. Do Nascimento - - * lra-constraints.cc (constraint_unique): New. - (process_address_1): Apply constraint_unique test. - * recog.cc (constrain_operands): Allow relaxed memory - constaints. - -2023-04-18 Kito Cheng - - * doc/extend.texi (Target Builtins): Add RISC-V Vector - Intrinsics. - (RISC-V Vector Intrinsics): Document GCC implemented which - version of RISC-V vector intrinsics and its reference. - -2023-04-18 Richard Biener - - PR middle-end/108786 - * bitmap.h (bitmap_clear_first_set_bit): New. - * bitmap.cc (bitmap_first_set_bit_worker): Rename from - bitmap_first_set_bit and add optional clearing of the bit. - (bitmap_first_set_bit): Wrap bitmap_first_set_bit_worker. - (bitmap_clear_first_set_bit): Likewise. - * df-core.cc (df_worklist_dataflow_doublequeue): Use - bitmap_clear_first_set_bit. - * graphite-scop-detection.cc (scop_detection::merge_sese): - Likewise. - * sanopt.cc (sanitize_asan_mark_unpoison): Likewise. - (sanitize_asan_mark_poison): Likewise. - * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Likewise. - * tree-into-ssa.cc (rewrite_blocks): Likewise. - * tree-ssa-dce.cc (simple_dce_from_worklist): Likewise. - * tree-ssa-sccvn.cc (do_rpo_vn_1): Likewise. - -2023-04-18 Richard Biener - - * tree-ssa-structalias.cc (dump_sa_stats): Split out from... - (dump_sa_points_to_info): ... this function. - (compute_points_to_sets): Guard large dumps with TDF_DETAILS, - and call dump_sa_stats guarded with TDF_STATS. - (ipa_pta_execute): Likewise. - (compute_may_aliases): Guard dump_alias_info with - TDF_DETAILS|TDF_ALIAS. - -2023-04-18 Andrew Pinski - - * tree-ssa-phiopt.cc (gimple_simplify_phiopt): Dump - the expression that is being tried when TDF_FOLDING - is true. - (phiopt_worker::match_simplify_replacement): Dump - the sequence which was created by gimple_simplify_phiopt - when TDF_FOLDING is true. - -2023-04-18 Andrew Pinski - - * tree-ssa-phiopt.cc (match_simplify_replacement): - Simplify code that does the movement slightly. - -2023-04-18 Kyrylo Tkachov - - * config/aarch64/aarch64.md (@aarch64_rev16): Change to - define_expand. - (rev162): Rename to... - (aarch64_rev162_alt1): ... This. - (rev162_alt): Rename to... - (*aarch64_rev162_alt2): ... This. - -2023-04-18 Aldy Hernandez - - * emit-rtl.cc (init_emit_once): Initialize dconstm0. - * gimple-range-op.cc (class cfn_signbit): Remove dconstm0 - declaration. - * range-op-float.cc (zero_range): Use dconstm0. - (zero_to_inf_range): Same. - * real.h (dconstm0): New. - * value-range.cc (frange::flush_denormals_to_zero): Use dconstm0. - (frange::set_zero): Do not declare dconstm0. - -2023-04-18 Richard Biener - - * system.h (class auto_mpz): New, - * realmpfr.h (class auto_mpfr): Likewise. - * fold-const-call.cc (do_mpfr_arg1): Use auto_mpfr. - (do_mpfr_arg2): Likewise. - * tree-ssa-loop-niter.cc (bound_difference): Use auto_mpz; - -2023-04-18 Kyrylo Tkachov - - * config/aarch64/aarch64-builtins.cc (aarch64_init_simd_intrinsics): Take - builtin flags from intrinsic data rather than hardcoded FLAG_AUTO_FP. - -2023-04-18 Aldy Hernandez - - * value-range.cc (frange::operator==): Adjust for NAN. - (range_tests_nan): Remove some NAN tests. - -2023-04-18 Aldy Hernandez - - * inchash.cc (hash::add_real_value): New. - * inchash.h (class hash): Add add_real_value. - * value-range.cc (add_vrange): New. - * value-range.h (inchash::add_vrange): New. - -2023-04-18 Richard Biener - - PR tree-optimization/109539 - * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): - Re-implement pointer relatedness for PHIs. - -2023-04-18 Andrew Stubbs - - * config/gcn/gcn-valu.md (SV_SFDF): New iterator. - (SV_FP): New iterator. - (scalar_mode, SCALAR_MODE): Add identity mappings for scalar modes. - (recip2): Unify the two patterns using SV_FP. - (div_scale): New insn. - (div_fmas): New insn. - (div_fixup): New insn. - (div3): Unify the two expanders and rewrite using hardfp. - * config/gcn/gcn.cc (gcn_md_reorg): Support "vccwait" attribute. - * config/gcn/gcn.md (unspec): Add UNSPEC_DIV_SCALE, UNSPEC_DIV_FMAS, - and UNSPEC_DIV_FIXUP. - (vccwait): New attribute. - -2023-04-18 Kyrylo Tkachov - - * config/aarch64/aarch64.cc (aarch64_validate_mcpu): Add hint to use -march - if the argument matches that. - -2023-04-18 Kyrylo Tkachov - - * config/aarch64/atomics.md - (*aarch64_atomic_load_rcpc_zext): - Use SD_HSDI for destination mode iterator. - -2023-04-18 Jin Ma - - * common/config/riscv/riscv-common.cc (multi_letter_subset_rank): Swap the order - of z-extensions and s-extensions. - (riscv_subset_list::parse): Likewise. - -2023-04-18 Jakub Jelinek - - PR tree-optimization/109240 - * match.pd (fneg/fadd): Rewrite such that it handles both plus as - first vec_perm operand and minus as second using fneg/fadd and - minus as first vec_perm operand and plus as second using fneg/fsub. - -2023-04-18 Aldy Hernandez - - * data-streamer.cc (bp_pack_real_value): New. - (bp_unpack_real_value): New. - * data-streamer.h (bp_pack_real_value): New. - (bp_unpack_real_value): New. - * tree-streamer-in.cc (unpack_ts_real_cst_value_fields): Use - bp_unpack_real_value. - * tree-streamer-out.cc (pack_ts_real_cst_value_fields): Use - bp_pack_real_value. - -2023-04-18 Aldy Hernandez - - * wide-int.h (WIDE_INT_MAX_HWIS): New. - (class fixed_wide_int_storage): Use it. - (trailing_wide_ints ::set_precision): Use it. - (trailing_wide_ints ::extra_size): Use it. - -2023-04-18 Xi Ruoyao - - * config/loongarch/loongarch-protos.h - (loongarch_addu16i_imm12_operand_p): New function prototype. - (loongarch_split_plus_constant): Likewise. - * config/loongarch/loongarch.cc - (loongarch_addu16i_imm12_operand_p): New function. - (loongarch_split_plus_constant): Likewise. - * config/loongarch/loongarch.h (ADDU16I_OPERAND): New macro. - (DUAL_IMM12_OPERAND): Likewise. - (DUAL_ADDU16I_OPERAND): Likewise. - * config/loongarch/constraints.md (La, Lb, Lc, Ld, Le): New - constraint. - * config/loongarch/predicates.md (const_dual_imm12_operand): New - predicate. - (const_addu16i_operand): Likewise. - (const_addu16i_imm12_di_operand): Likewise. - (const_addu16i_imm12_si_operand): Likewise. - (plus_di_operand): Likewise. - (plus_si_operand): Likewise. - (plus_si_extend_operand): Likewise. - * config/loongarch/loongarch.md (add3): Convert to - define_insn_and_split. Use plus__operand predicate - instead of arith_operand. Add alternatives for La, Lb, Lc, Ld, - and Le constraints. - (*addsi3_extended): Convert to define_insn_and_split. Use - plus_si_extend_operand instead of arith_operand. Add - alternatives for La and Le alternatives. - -2023-04-18 Aldy Hernandez - - * value-range.h (Value_Range::Value_Range): New. - (Value_Range::contains_p): New. - -2023-04-18 Aldy Hernandez - - * value-range.h (class vrange): Make m_discriminator const. - (class irange): Make m_max_ranges const. Adjust constructors - accordingly. - (class unsupported_range): Construct vrange appropriately. - (class frange): Same. - -2023-04-18 Lulu Cheng - - * config/loongarch/loongarch.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Remove the macro - definition. - -2023-04-18 Lulu Cheng - - * doc/extend.texi: Add section for LoongArch Base Built-in functions. - -2023-04-18 Fei Gao - - * config/riscv/riscv.cc (riscv_first_stack_step): Make codes more - readable. - (riscv_expand_epilogue): Likewise. - -2023-04-17 Fei Gao - - * config/riscv/riscv.cc (riscv_expand_prologue): Consider save-restore in - stack allocation. - (riscv_expand_epilogue): Consider save-restore in stack deallocation. - -2023-04-17 Andrew Pinski - - * tree-ssa-phiopt.cc (gate_hoist_loads): Remove - prototype. - -2023-04-17 Aldy Hernandez - - * gimple-ssa-warn-alloca.cc (pass_walloca::execute): Do not export - global ranges. - -2023-04-17 Fei Gao - - * config/riscv/riscv.cc (riscv_first_stack_step): Add a new function - parameter remaining_size. - (riscv_compute_frame_info): Adapt new riscv_first_stack_step interface. - (riscv_expand_prologue): Likewise. - (riscv_expand_epilogue): Likewise. - -2023-04-17 Feng Wang - - * config/riscv/bitmanip.md (rotrsi3_sext): Support generating - roriw for constant counts. - * rtl.h (reverse_rotate_by_imm_p): Add function declartion - * simplify-rtx.cc (reverse_rotate_by_imm_p): New function. - (simplify_context::simplify_binary_operation_1): Use it. - * expmed.cc (expand_shift_1): Likewise. - -2023-04-17 Martin Jambor - - PR ipa/107769 - PR ipa/109318 - * cgraph.h (symtab_node::find_reference): Add parameter use_type. - * ipa-prop.h (ipa_pass_through_data): New flag refdesc_decremented. - (ipa_zap_jf_refdesc): New function. - (ipa_get_jf_pass_through_refdesc_decremented): Likewise. - (ipa_set_jf_pass_through_refdesc_decremented): Likewise. - * ipa-cp.cc (ipcp_discover_new_direct_edges): Provide a value for - the new parameter of find_reference. - (adjust_references_in_caller): Likewise. Make sure the constant jump - function is not used to decrement a refdec counter again. Only - decrement refdesc counters when the pass_through jump function allows - it. Added a detailed dump when decrementing refdesc counters. - * ipa-prop.cc (ipa_print_node_jump_functions_for_edge): Dump new flag. - (ipa_set_jf_simple_pass_through): Initialize the new flag. - (ipa_set_jf_unary_pass_through): Likewise. - (ipa_set_jf_arith_pass_through): Likewise. - (remove_described_reference): Provide a value for the new parameter of - find_reference. - (update_jump_functions_after_inlining): Zap refdesc of new jfunc if - the previous pass_through had a flag mandating that we do so. - (propagate_controlled_uses): Likewise. Only decrement refdesc - counters when the pass_through jump function allows it. - (ipa_edge_args_sum_t::duplicate): Provide a value for the new - parameter of find_reference. - (ipa_write_jump_function): Assert the new flag does not have to be - streamed. - * symtab.cc (symtab_node::find_reference): Add parameter use_type, use - it in searching. - -2023-04-17 Philipp Tomsich - Di Zhao - - * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION): - Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE. - * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): - Check for the above tuning option when processing loads. - -2023-04-17 Richard Biener - - PR tree-optimization/109524 - * tree-vrp.cc (remove_unreachable::m_list): Change to a - vector of pairs of block indices. - (remove_unreachable::maybe_register_block): Adjust. - (remove_unreachable::remove_and_update_globals): Likewise. - Deal with removed blocks. - -2023-04-16 Jeff Law - - PR target/109508 - * config/riscv/riscv.cc (riscv_expand_conditional_move): For - TARGET_SFB_ALU, force the true arm into a register. - -2023-04-15 John David Anglin - - PR target/104989 - * config/pa/pa-protos.h (pa_function_arg_size): Update prototype. - * config/pa/pa.cc (pa_function_arg): Return NULL_RTX if argument - size is zero. - (pa_arg_partial_bytes): Don't call pa_function_arg_size twice. - (pa_function_arg_size): Change return type to int. Return zero - for arguments larger than 1 GB. Update comments. - -2023-04-15 Jakub Jelinek - - PR tree-optimization/109154 - * tree-if-conv.cc (predicate_scalar_phi): For complex PHIs, emit just - args_len - 1 COND_EXPRs rather than args_len. Formatting fix. - -2023-04-15 Jason Merrill - - PR c++/109514 - * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): - Overhaul lhs_ref.ref analysis. - -2023-04-14 Richard Biener - - PR tree-optimization/109502 - * tree-vect-stmts.cc (vectorizable_assignment): Fix - check for conversion between mask and non-mask types. - -2023-04-14 Jeff Law - Jakub Jelinek - - PR target/108947 - PR target/109040 - * combine.cc (simplify_and_const_int_1): Compute nonzero_bits in - word_mode rather than mode if WORD_REGISTER_OPERATIONS and mode is - smaller than word_mode. - * simplify-rtx.cc (simplify_context::simplify_binary_operation_1) - : Likewise. - -2023-04-14 Jakub Jelinek - - * loop-iv.cc (iv_number_of_iterations): Use gen_int_mode instead - of GEN_INT. - -2023-04-13 Andrew MacLeod - - PR tree-optimization/108139 - PR tree-optimization/109462 - * gimple-range-cache.cc (ranger_cache::fill_block_cache): Remove - equivalency check for PHI nodes. - * gimple-range-fold.cc (fold_using_range::range_of_phi): Ensure def - does not dominate single-arg equivalency edges. - -2023-04-13 Richard Sandiford - - PR target/108910 - * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Do - not trust TYPE_ALIGN for pointer types; use POINTER_SIZE instead. - -2023-04-13 Richard Biener - - PR tree-optimization/109491 - * tree-ssa-sccvn.cc (expressions_equal_p): Restore the - NULL operands test. - -2023-04-12 Ju-Zhe Zhong - - PR target/109479 - * config/riscv/riscv-vector-builtins-types.def (vint8mf8_t): Fix predicate. - (vint16mf4_t): Ditto. - (vint32mf2_t): Ditto. - (vint64m1_t): Ditto. - (vint64m2_t): Ditto. - (vint64m4_t): Ditto. - (vint64m8_t): Ditto. - (vuint8mf8_t): Ditto. - (vuint16mf4_t): Ditto. - (vuint32mf2_t): Ditto. - (vuint64m1_t): Ditto. - (vuint64m2_t): Ditto. - (vuint64m4_t): Ditto. - (vuint64m8_t): Ditto. - (vfloat32mf2_t): Ditto. - (vbool64_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (register_builtin_type): Add comments. - (register_vector_type): Ditto. - (check_required_extensions): Fix condition. - * config/riscv/riscv-vector-builtins.h (RVV_REQUIRE_ZVE64): Remove it. - (RVV_REQUIRE_ELEN_64): New define. - (RVV_REQUIRE_MIN_VLEN_64): Ditto. - * config/riscv/riscv-vector-switch.def (TARGET_VECTOR_FP32): Remove it. - (TARGET_VECTOR_FP64): Ditto. - (ENTRY): Fix predicate. - * config/riscv/vector-iterators.md: Fix predicate. - -2023-04-12 Jakub Jelinek - - PR tree-optimization/109410 - * tree-ssa-reassoc.cc (build_and_add_sum): Split edge from entry - block if first statement of the function is a call to returns_twice - function. - -2023-04-12 Jakub Jelinek - - PR target/109458 - * config/i386/i386.cc: Include rtl-error.h. - (ix86_print_operand): For z modifier warning, use warning_for_asm - if this_is_asm_operands. For Z modifier errors, use %c and code - instead of hardcoded Z. - -2023-04-12 Costas Argyris - - * config/i386/x-mingw32-utf8: Remove extrataneous $@ - -2023-04-12 Andrew MacLeod - - PR tree-optimization/109462 - * gimple-range-cache.cc (ranger_cache::fill_block_cache): Don't - check for equivalences if NAME is a phi node. - -2023-04-12 Richard Biener - - PR tree-optimization/109473 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): - Convert scalar result to the computation type before performing - the reduction adjustment. - -2023-04-12 Richard Biener - - PR tree-optimization/109469 - * tree-vect-slp.cc (vect_slp_function): Skip region starts with - a returns-twice call. - -2023-04-12 Richard Biener - - PR tree-optimization/109434 - * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Properly - handle possibly throwing calls when processing the LHS - and may-defs are not OK. - -2023-04-11 Lin Sinan - - * config/riscv/predicates.md (uimm_extra_bit_or_twobits): Adjust - predicate to avoid splitting arith constants. - -2023-04-11 Yanzhang Wang - Pan Li - Ju-Zhe Zhong - Kito Cheng - - PR target/109104 - * config/riscv/riscv-protos.h (emit_hard_vlmax_vsetvl): New. - * config/riscv/riscv-v.cc (emit_hard_vlmax_vsetvl): New. - (emit_vlmax_vsetvl): Use emit_hard_vlmax_vsetvl. - * config/riscv/riscv.cc (vector_zero_call_used_regs): New. - (riscv_zero_call_used_regs): New. - (TARGET_ZERO_CALL_USED_REGS): New. - -2023-04-11 Martin Liska - - PR driver/108241 - * opts.cc (finish_options): Drop also - x_flag_var_tracking_assignments. - -2023-04-11 Andre Vieira - - PR tree-optimization/108888 - * tree-if-conv.cc (predicate_statements): Fix gimple call check. - -2023-04-11 Haochen Gui - - PR target/108812 - * config/rs6000/vsx.md (vsx_sign_extend_qi_): Rename to... - (vsx_sign_extend_v16qi_): ... this. - (vsx_sign_extend_hi_): Rename to... - (vsx_sign_extend_v8hi_): ... this. - (vsx_sign_extend_si_v2di): Rename to... - (vsx_sign_extend_v4si_v2di): ... this. - (vsignextend_qi_): Remove. - (vsignextend_hi_): Remove. - (vsignextend_si_v2di): Remove. - (vsignextend_v2di_v1ti): Remove. - (*xxspltib__split): Replace gen_vsx_sign_extend_qi_v2di with - gen_vsx_sign_extend_v16qi_v2di and gen_vsx_sign_extend_qi_v4si - with gen_vsx_sign_extend_v16qi_v4si. - * config/rs6000/rs6000.md (split for DI constant generation): - Replace gen_vsx_sign_extend_qi_si with gen_vsx_sign_extend_v16qi_si. - (split for HSDI constant generation): Replace gen_vsx_sign_extend_qi_di - with gen_vsx_sign_extend_v16qi_di and gen_vsx_sign_extend_qi_si - with gen_vsx_sign_extend_v16qi_si. - * config/rs6000/rs6000-builtins.def (__builtin_altivec_vsignextsb2d): - Set bif-pattern to vsx_sign_extend_v16qi_v2di. - (__builtin_altivec_vsignextsb2w): Set bif-pattern to - vsx_sign_extend_v16qi_v4si. - (__builtin_altivec_visgnextsh2d): Set bif-pattern to - vsx_sign_extend_v8hi_v2di. - (__builtin_altivec_vsignextsh2w): Set bif-pattern to - vsx_sign_extend_v8hi_v4si. - (__builtin_altivec_vsignextsw2d): Set bif-pattern to - vsx_sign_extend_si_v2di. - (__builtin_altivec_vsignext): Set bif-pattern to - vsx_sign_extend_v2di_v1ti. - * config/rs6000/rs6000-builtin.cc (lxvrse_expand_builtin): Replace - gen_vsx_sign_extend_qi_v2di with gen_vsx_sign_extend_v16qi_v2di, - gen_vsx_sign_extend_hi_v2di with gen_vsx_sign_extend_v8hi_v2di and - gen_vsx_sign_extend_si_v2di with gen_vsx_sign_extend_v4si_v2di. - -2023-04-10 Michael Meissner - - PR target/70243 - * config/rs6000/vsx.md (vsx_fmav4sf4): Do not generate vmaddfp. - (vsx_nfmsv4sf4): Do not generate vnmsubfp. - -2023-04-10 Haochen Jiang - - * config/i386/i386.h (PTA_GRANITERAPIDS): Add PTA_AMX_COMPLEX. - -2023-04-10 Haochen Jiang - - * common/config/i386/cpuinfo.h (get_available_features): - Detect AMX-COMPLEX. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AMX_COMPLEX_SET, - OPTION_MASK_ISA2_AMX_COMPLEX_UNSET): New. - (ix86_handle_option): Handle -mamx-complex. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AMX_COMPLEX. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - amx-complex. - * config.gcc: Add amxcomplexintrin.h. - * config/i386/cpuid.h (bit_AMX_COMPLEX): New. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __AMX_COMPLEX__. - * config/i386/i386-isa.def (AMX_COMPLEX): Add DEF_PTA(AMX_COMPLEX). - * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): - Handle amx-complex. - * config/i386/i386.opt: Add option -mamx-complex. - * config/i386/immintrin.h: Include amxcomplexintrin.h. - * doc/extend.texi: Document amx-complex. - * doc/invoke.texi: Document -mamx-complex. - * doc/sourcebuild.texi: Document target amx-complex. - * config/i386/amxcomplexintrin.h: New file. - -2023-04-08 Jakub Jelinek - - PR tree-optimization/109392 - * tree-vect-generic.cc (tree_vec_extract): Handle failure - of maybe_push_res_to_seq better. - -2023-04-08 Jakub Jelinek - - * Makefile.in (CORETYPES_H): Depend on align.h, poly-int.h and - poly-int-types.h. - (SYSTEM_H): Depend on $(HASHTAB_H). - * config/riscv/t-riscv (build/genrvv-type-indexer.o): Remove unused - dependency on $(RTL_BASE_H), remove redundant dependency on - insn-modes.h. - -2023-04-06 Richard Earnshaw - - PR target/107674 - * config/arm/arm.cc (arm_effective_regno): New function. - (mve_vector_mem_operand): Use it. - -2023-04-06 Andrew MacLeod - - PR tree-optimization/109417 - * gimple-range-gori.cc (gori_compute::may_recompute_p): Check if - dependency is in SSA_NAME_FREE_LIST. - -2023-04-06 Andrew Pinski - - PR tree-optimization/109427 - * params.opt (-param=vect-induction-float=): - Fix option attribute typo for IntegerRange. - -2023-04-05 Jeff Law - - PR target/108892 - * combine.cc (combine_instructions): Force re-recognition when - after restoring the body of an insn to its original form. - -2023-04-05 Martin Jambor - - PR ipa/108959 - * ipa-sra.cc (zap_useless_ipcp_results): New function. - (process_isra_node_results): Call it. - -2023-04-05 Ju-Zhe Zhong - - * config/riscv/vector.md: Fix incorrect operand order. - -2023-04-05 Juzhe-Zhong - - * config/riscv/riscv-vsetvl.cc - (pass_vsetvl::compute_local_backward_infos): Update user vsetvl in local - demand fusion. - -2023-04-05 Li Xu - - * config/riscv/riscv-vector-builtins.def: Fix typo. - * config/riscv/riscv.cc (riscv_dwarf_poly_indeterminate_value): Ditto. - * config/riscv/vector-iterators.md: Ditto. - -2023-04-04 Hans-Peter Nilsson - - * doc/md.texi (Including Patterns): Fix page break. - -2023-04-04 Jakub Jelinek - - PR tree-optimization/109386 - * range-op-float.cc (foperator_lt::op1_range, foperator_lt::op2_range, - foperator_le::op1_range, foperator_le::op2_range, - foperator_gt::op1_range, foperator_gt::op2_range, - foperator_ge::op1_range, foperator_ge::op2_range): Make r varying for - BRS_FALSE case even if the other op is maybe_isnan, not just - known_isnan. - (foperator_unordered_lt::op1_range, foperator_unordered_lt::op2_range, - foperator_unordered_le::op1_range, foperator_unordered_le::op2_range, - foperator_unordered_gt::op1_range, foperator_unordered_gt::op2_range, - foperator_unordered_ge::op1_range, foperator_unordered_ge::op2_range): - Make r varying for BRS_TRUE case even if the other op is maybe_isnan, - not just known_isnan. - -2023-04-04 Marek Polacek - - PR sanitizer/109107 - * fold-const.cc (fold_binary_loc): Use TYPE_OVERFLOW_SANITIZED - when associating. - * match.pd: Use TYPE_OVERFLOW_SANITIZED. - -2023-04-04 Stam Markianos-Wright - - * config/arm/mve.md (mve_vcvtq_n_to_f_): Swap operands. - (mve_vcreateq_f): Swap operands. - -2023-04-04 Andrew Stubbs - - * config/gcn/gcn-valu.md (one_cmpl2): New. - -2023-04-04 Jakub Jelinek - - PR target/109384 - * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): - Reword diagnostics about zfinx conflict with f, formatting fixes. - -2023-04-04 Rainer Orth - - * config/sol2.h (LIB_SPEC): Don't link with -lpthread. - -2023-04-04 Richard Biener - - PR tree-optimization/109304 - * tree-profile.cc (tree_profiling): Use symtab node - availability to decide whether to skip adjusting calls. - Do not adjust calls to internal functions. - -2023-04-04 Kewen Lin - - PR target/108807 - * config/rs6000/rs6000.cc (rs6000_expand_vector_set_var_p9): Fix gen - function for permutation control vector by considering big endianness. - -2023-04-04 Kewen Lin - - PR target/108699 - * config/rs6000/altivec.md (*p9v_parity2): Rename to ... - (rs6000_vprtyb2): ... this. - * config/rs6000/rs6000-builtins.def (VPRTYBD): Replace parityv2di2 with - rs6000_vprtybv2di2. - (VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2. - (VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2. - * config/rs6000/vector.md (parity2 with VEC_IP): Expand with - popcountv16qi2 and the corresponding rs6000_vprtyb2. - -2023-04-04 Hans-Peter Nilsson - Sandra Loosemore - - * doc/md.texi (Insn Splitting): Tweak wording for readability. - -2023-04-03 Martin Jambor - - PR ipa/109303 - * ipa-prop.cc (determine_known_aggregate_parts): Check that the - offset + size will be representable in unsigned int. - -2023-04-03 Rainer Orth - - * configure.ac (ZSTD_LIB): Move before zstd.h check. - Unset gcc_cv_header_zstd_h without libzstd. - * configure: Regenerate. - -2023-04-03 Martin Liska - - * doc/invoke.texi: Document new param. - -2023-04-03 Cupertino Miranda - - * doc/sourcebuild.texi (const_volatile_readonly_section): Document - new check_effective_target function. - -2023-04-03 Li Xu - - * config/riscv/riscv-vector-builtins.def (vuint32m8_t): Fix typo. - (vfloat32m8_t): Likewise - -2023-04-03 liuhongt - - * doc/md.texi: Document signbitm2. - -2023-04-02 Juzhe-Zhong - kito-cheng - - * config/riscv/vector.md: Fix RA constraint. - -2023-04-02 Juzhe-Zhong - - * config/riscv/riscv-protos.h (gen_avl_for_scalar_move): New function. - * config/riscv/riscv-v.cc (gen_avl_for_scalar_move): New function. - * config/riscv/vector.md: Fix scalar move bug. - -2023-04-01 Jakub Jelinek - - * range-op-float.cc (foperator_equal::fold_range): If at least - one of the op ranges is not singleton and neither is NaN and all - 4 bounds are zero, return [1, 1]. - (foperator_not_equal::fold_range): In the same case return [0, 0]. - -2023-04-01 Jakub Jelinek - - * range-op-float.cc (foperator_equal::fold_range): Perform the - non-singleton handling regardless of maybe_isnan (op1, op2). - (foperator_not_equal::fold_range): Likewise. - (foperator_lt::fold_range, foperator_le::fold_range, - foperator_gt::fold_range, foperator_ge::fold_range): Perform the - real_* comparison check which results in range_false (type) - even if maybe_isnan (op1, op2). Simplify. - (foperator_ltgt): New class. - (fop_ltgt): New variable. - (floating_op_table::floating_op_table): Handle LTGT_EXPR using - fop_ltgt. - -2023-04-01 Jakub Jelinek - - PR target/109254 - * builtins.cc (apply_args_size): If targetm.calls.get_raw_arg_mode - returns VOIDmode, handle it like if the register isn't used for - passing arguments at all. - (apply_result_size): If targetm.calls.get_raw_result_mode returns - VOIDmode, handle it like if the register isn't used for returning - results at all. - * target.def (get_raw_result_mode, get_raw_arg_mode): Document what it - means to return VOIDmode. - * doc/tm.texi: Regenerated. - * config/aarch64/aarch64.cc (aarch64_function_value_regno_p): Return - TARGET_SVE for P0_REGNUM. - (aarch64_function_arg_regno_p): Also return true for p0-p3. - (aarch64_get_reg_raw_mode): Return VOIDmode for PR_REGNUM_P regs. - -2023-03-31 Vladimir N. Makarov - - * lra-constraints.cc: (combine_reload_insn): New function. - -2023-03-31 Jakub Jelinek - - PR tree-optimization/91645 - * range-op-float.cc (foperator_unordered_lt::fold_range, - foperator_unordered_le::fold_range, - foperator_unordered_gt::fold_range, - foperator_unordered_ge::fold_range, - foperator_unordered_equal::fold_range): Call the ordered - fold_range on ranges with cleared NaNs. - * value-query.cc (range_query::get_tree_range): Handle also - COMPARISON_CLASS_P trees. - -2023-03-31 Kito Cheng - Andrew Pinski - - PR target/109328 - * config/riscv/t-riscv: Add missing dependencies. - -2023-03-31 liuhongt - - * config/i386/i386.cc (inline_memory_move_cost): Return 100 - for MASK_REGS when MODE_SIZE > 8. - -2023-03-31 liuhongt - - PR target/85048 - * config/i386/i386-builtin.def (BDESC): Adjust icode name from - ufloat/ufix to floatuns/fixuns. - * config/i386/i386-expand.cc - (ix86_expand_vector_convert_uns_vsivsf): Adjust comments. - * config/i386/sse.md - (ufloat2): - Renamed to .. - (floatuns2):.. this. - (_ufix_notrunc): - Renamed to .. - (_fixuns_notrunc): - .. this. - (fix_truncv16sfv16si2): - Renamed to .. - (fix_truncv16sfv16si2):.. this. - (ufloat2): Renamed to .. - (floatuns2): .. this. - (ufloatv2siv2df2): Renamed to .. - (floatunsv2siv2df2): .. this. - (ufix_notrunc2): - Renamed to .. - (fixuns_notrunc2): - .. this. - (ufix_notruncv2dfv2si2): Renamed to .. - (fixuns_notruncv2dfv2si2):.. this. - (ufix_notruncv2dfv2si2_mask): Renamed to .. - (fixuns_notruncv2dfv2si2_mask): .. this. - (*ufix_notruncv2dfv2si2_mask_1): Renamed to .. - (*fixuns_notruncv2dfv2si2_mask_1): .. this. - (ufix_truncv2dfv2si2): Renamed to .. - (*fixuns_truncv2dfv2si2): .. this. - (ufix_truncv2dfv2si2_mask): Renamed to .. - (fixuns_truncv2dfv2si2_mask): .. this. - (*ufix_truncv2dfv2si2_mask_1): Renamed to .. - (*fixuns_truncv2dfv2si2_mask_1): .. this. - (ufix_truncv4dfv4si2): Renamed to .. - (fixuns_truncv4dfv4si2): .. this. - (ufix_notrunc2): - Renamed to .. - (fixuns_notrunc2): - .. this. - (ufix_trunc2): Renamed to .. - (fixuns_trunc2): - .. this. - -2023-03-30 Andrew MacLeod - - PR tree-optimization/109154 - * gimple-range-gori.cc (gori_compute::may_recompute_p): Add depth limit. - * gimple-range-gori.h (may_recompute_p): Add depth param. - * params.opt (ranger-recompute-depth): New param. - -2023-03-30 Jason Merrill - - PR c++/107897 - PR c++/108887 - * cgraph.h: Move reset() from cgraph_node to symtab_node. - * cgraphunit.cc (symtab_node::reset): Adjust. Also call - remove_from_same_comdat_group. - -2023-03-30 Richard Biener - - PR tree-optimization/107561 - * gimple-ssa-warn-access.cc (get_size_range): Add flags - argument and pass it on. - (check_access): When querying for the size range pass - SR_ALLOW_ZERO when the known destination size is zero. - -2023-03-30 Richard Biener - - PR tree-optimization/109342 - * tree-ssa-sccvn.cc (vn_nary_op_get_predicated_value): New - overload for edge. When that edge is a backedge use - dominated_by_p directly. - -2023-03-30 liuhongt - - * config/i386/i386-expand.cc (expand_vec_perm_blend): Generate - vpblendd instead of vpblendw for V4SI under avx2. - -2023-03-29 Hans-Peter Nilsson - - * config/cris/cris.cc (cris_rtx_costs) [CONST_INT]: Return 0 - for many quick operands, for register-sized modes. - -2023-03-29 Jiawei - - * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): - New check. - -2023-03-29 Martin Liska - - PR bootstrap/109310 - * configure.ac: Emit a warning for deprecated option - --enable-link-mutex. - * configure: Regenerate. - -2023-03-29 Richard Biener - - PR tree-optimization/109331 - * tree-ssa-forwprop.cc (pass_forwprop::execute): When we - discover a taken edge make sure to cleanup the CFG. - -2023-03-29 Richard Biener - - PR tree-optimization/109327 - * tree-ssa-forwprop.cc (pass_forwprop::execute): Deal with - already removed stmts when draining to_remove. - -2023-03-29 Richard Biener - - PR ipa/106124 - * dwarf2out.cc (lookup_type_die): Reset TREE_ASM_WRITTEN - so we can re-create the DIE for the type if required. - -2023-03-29 Jakub Jelinek - Richard Biener - - PR tree-optimization/109301 - * tree-ssa-math-opts.cc (pass_data_cse_sincos): Change - properties_provided from PROP_gimple_opt_math to 0. - (pass_data_expand_powcabs): Change properties_provided from 0 to - PROP_gimple_opt_math. - -2023-03-29 Richard Biener - - PR tree-optimization/109154 - * tree-if-conv.cc (gen_phi_arg_condition): Handle single - inverted condition specially by inverting at the caller. - (gen_phi_arg_condition): Swap COND_EXPR arms if requested. - -2023-03-28 David Malcolm - - PR c/107002 - * diagnostic-show-locus.cc (column_range::column_range): Factor - out assertion conditional into... - (column_range::valid_p): ...this new function. - (line_corrections::add_hint): Don't attempt to consolidate hints - if it would lead to invalid column_range instances. - -2023-03-28 Kito Cheng - - PR target/109312 - * config/riscv/riscv-c.cc (riscv_ext_version_value): New. - (riscv_cpu_cpp_builtins): Define __riscv_v_intrinsic and - minor refactor. - -2023-03-28 Alexander Monakov - - PR rtl-optimization/109187 - * haifa-sched.cc (autopref_rank_for_schedule): Avoid use of overflowing - subtraction in three-way comparison. - -2023-03-28 Andrew MacLeod - - PR tree-optimization/109265 - PR tree-optimization/109274 - * gimple-range-gori.cc (gori_compute::compute_operand_range): Do - not create a relation record is op1 and op2 are the same symbol. - (gori_compute::compute_operand1_range): Pass op1 == op2 to the - handler for this stmt, but create a new record only if this statement - generates a relation based on the ranges. - (gori_compute::compute_operand2_range): Ditto. - * value-relation.h (value_relation::set_relation): Always create the - record that is requested. - -2023-03-28 Richard Biener - - PR tree-optimization/107087 - * tree-ssa-forwprop.cc (pass_forwprop::execute): Track - executable regions to avoid useless work and to better - propagate degenerate PHIs. - -2023-03-28 Costas Argyris - - * config/i386/x-mingw32-utf8: update comments. - -2023-03-28 Richard Sandiford - - PR target/109072 - * config/aarch64/aarch64-protos.h (aarch64_vector_load_decl): Declare. - * config/aarch64/aarch64.h (machine_function::vector_load_decls): New - variable. - * config/aarch64/aarch64-builtins.cc (aarch64_record_vector_load_arg): - New function. - (aarch64_general_gimple_fold_builtin): Delay folding of vld1 until - after inlining. Record which decls are loaded from. Fix handling - of vops for loads and stores. - * config/aarch64/aarch64.cc (aarch64_vector_load_decl): New function. - (aarch64_accesses_vector_load_decl_p): Likewise. - (aarch64_vector_costs::m_stores_to_vector_load_decl): New member - variable. - (aarch64_vector_costs::add_stmt_cost): If the function has a vld1 - that loads from a decl, treat vector stores to those decls as - zero cost. - (aarch64_vector_costs::finish_cost): ...and in that case, - if the vector code does nothing more than a store, give the - prologue a zero cost as well. - -2023-03-28 Richard Biener - - PR bootstrap/84402 - PR tree-optimization/108129 - * genmatch.cc (lower_for): For (match ...) delay - substituting into the match operator if possible. - (dt_operand::gen_gimple_expr): For user_id look at the - first substitute for determining how to access operands. - (dt_operand::gen_generic_expr): Likewise. - (dt_node::gen_kids): Properly sort user_ids according - to their substitutes. - (dt_node::gen_kids_1): Code-generate user_id matching. - -2023-03-28 Jakub Jelinek - Jonathan Wakely - - * gcov-tool.cc (do_merge, do_merge_stream, do_rewrite, do_overlap): - Use subcommand rather than sub-command in function comments. - -2023-03-28 Jakub Jelinek - - PR tree-optimization/109154 - * value-range.h (frange::flush_denormals_to_zero): Make it public - rather than private. - * value-range.cc (frange::set): Don't call flush_denormals_to_zero - here. - * range-op-float.cc (range_operator_float::fold_range): Call - flush_denormals_to_zero. - -2023-03-28 Jakub Jelinek - - PR middle-end/106190 - * sanopt.cc (pass_sanopt::execute): Return TODO_cleanup_cfg if any - of the IFN_{UB,HWA,A}SAN_* internal fns are lowered. - -2023-03-28 Jakub Jelinek - - * range-op-float.cc (float_widen_lhs_range): Use pass get_nan_state - as 4th argument to set to avoid clear_nan and union_ calls. - -2023-03-28 Jakub Jelinek - - PR target/109276 - * config/i386/i386.cc (assign_386_stack_local): For DImode - with SLOT_FLOATxFDI_387 and -m32 -mpreferred-stack-boundary=2 pass - align 32 rather than 0 to assign_stack_local. - -2023-03-28 Eric Botcazou - - PR target/109140 - * config/sparc/sparc.cc (sparc_expand_vcond): Call signed_condition - on operand #3 to get the final condition code. Use std::swap. - * config/sparc/sparc.md (vcondv8qiv8qi): New VIS 4 expander. - (fucmp8_vis): Move around. - (fpcmpu_vis): Likewise. - (vcondu): New VIS 4 expander. - -2023-03-28 Eric Botcazou - - * doc/gm2.texi: Add missing Next, Previous and Top fields to most - top-level sections. - -2023-03-28 Costas Argyris - - * config.host: Pull in i386/x-mingw32-utf8 Makefile - fragment and reference utf8rc-mingw32.o explicitly - for mingw hosts. - * config/i386/sym-mingw32.cc: prevent name mangling of - stub symbol. - * config/i386/x-mingw32-utf8: Make utf8rc-mingw32.o - depend on manifest file explicitly. - -2023-03-28 Richard Biener - - Revert: - 2023-03-27 Richard Biener - - PR rtl-optimization/109237 - * cfgcleanup.cc (bb_is_just_return): Walk insns backwards. - -2023-03-28 Richard Biener - - * common.opt (gdwarf): Remove Negative(gdwarf-). - -2023-03-28 Richard Biener - - * common.opt (gdwarf): Add RejectNegative. - (gdwarf-): Likewise. - (ggdb): Likewise. - (gvms): Likewise. - -2023-03-28 Hans-Peter Nilsson - - * config/cris/constraints.md ("T"): Correct to - define_memory_constraint. - -2023-03-28 Hans-Peter Nilsson - - * config/cris/cris.md (BW2): New mode-iterator. - (lra_szext_decomposed, lra_szext_decomposed_indirect_with_offset): New - peephole2s. - -2023-03-28 Hans-Peter Nilsson - - * config/cris/cris.md ("*add3_addi"): Improve to bail only - for possible eliminable compares. - -2023-03-28 Hans-Peter Nilsson - - * config/cris/constraints.md ("R"): Remove unused constraint. - -2023-03-27 Jonathan Wakely - - PR gcov-profile/109297 - * gcov-tool.cc (merge_usage): Fix "subcomand" typo. - (merge_stream_usage): Likewise. - (overlap_usage): Likewise. - -2023-03-27 Christoph Müllner - - PR target/109296 - * config/riscv/thead.md: Add missing mode specifiers. - -2023-03-27 Philipp Tomsich - Jiangning Liu - Manolis Tsamis - - * config/aarch64/aarch64.cc: Update vector costs for ampere1. - -2023-03-27 Richard Biener - - PR rtl-optimization/109237 - * cfgcleanup.cc (bb_is_just_return): Walk insns backwards. - -2023-03-27 Richard Biener - - PR lto/109263 - * lto-wrapper.cc (run_gcc): Parse alternate debug options - as well, they always enable debug. - -2023-03-27 Kewen Lin - - PR target/109167 - * config/rs6000/emmintrin.h (_mm_bslli_si128): Move the implementation - from ... - (_mm_slli_si128): ... here. Change to call _mm_bslli_si128 directly. - -2023-03-27 Kewen Lin - - PR target/109082 - * config/rs6000/emmintrin.h (_mm_bslli_si128): Check __N is not less - than zero when calling vec_sld. - (_mm_bsrli_si128): Return __A if __N is zero, check __N is bigger than - zero when calling vec_sld. - (_mm_slli_si128): Return __A if _imm5 is zero, check _imm5 is bigger - than zero when calling vec_sld. - -2023-03-27 Sandra Loosemore - - * doc/generic.texi (OpenMP): Document OMP_SIMD, OMP_DISTRIBUTE, - OMP_TASKLOOP, and OMP_LOOP with OMP_FOR. Document how collapsed - loops are represented and which fields are vectors. Add - documentation for OMP_FOR_PRE_BODY field. Document internal - form of non-rectangular loops and OMP_FOR_NON_RECTANGULAR. - * tree.def (OMP_FOR): Make documentation consistent with the - Texinfo manual, to fill some gaps and correct errors. - -2023-03-26 Andreas Schwab - - PR target/106282 - * config/m68k/m68k.h (FINAL_PRESCAN_INSN): Define. - * config/m68k/m68k.cc (m68k_final_prescan_insn): Define. - (handle_move_double): Call it before handle_movsi. - * config/m68k/m68k-protos.h: Declare it. - -2023-03-26 Jakub Jelinek - - PR tree-optimization/109230 - * match.pd (fneg/fadd simplify): Verify also odd permutation indexes. - -2023-03-26 Jakub Jelinek - - PR ipa/105685 - * predict.cc (compute_function_frequency): Don't call - warn_function_cold if function already has cold attribute. - -2023-03-26 Gerald Pfeifer - - * doc/install.texi: Remove anachronistic note - related to languages built and separate source tarballs. - -2023-03-25 David Malcolm - - PR analyzer/109098 - * diagnostic-format-sarif.cc (read_until_eof): Delete. - (maybe_read_file): Delete. - (sarif_builder::maybe_make_artifact_content_object): Use - get_source_file_content rather than maybe_read_file. - Reject it if it's not valid UTF-8. - * input.cc (file_cache_slot::get_full_file_content): New. - (get_source_file_content): New. - (selftest::check_cpp_valid_utf8_p): New. - (selftest::test_cpp_valid_utf8_p): New. - (selftest::input_cc_tests): Call selftest::test_cpp_valid_utf8_p. - * input.h (get_source_file_content): New prototype. - -2023-03-24 David Malcolm - - * doc/analyzer.texi (Debugging the Analyzer): Add notes on useful - debugging options. - (Special Functions for Debugging the Analyzer): Convert to a - table, and rewrite in places. - (Other Debugging Techniques): Add notes on how to compare two - different exploded graphs. - -2023-03-24 David Malcolm - - PR other/109163 - * json.cc: Update comments to indicate that we now preserve - insertion order of keys within objects. - (object::print): Traverse keys in insertion order. - (object::set): Preserve insertion order of keys. - (selftest::test_writing_objects): Add an additional key to verify - that we preserve insertion order. - * json.h (object::m_keys): New field. - -2023-03-24 Andrew MacLeod - - PR tree-optimization/109238 - * gimple-range-cache.cc (ranger_cache::resolve_dom): Ignore - predecessors which this block dominates. - -2023-03-24 Richard Biener - - PR tree-optimization/106912 - * tree-profile.cc (tree_profiling): Update stmts only when - profiling or testing coverage. Make sure to update calls - fntype, stripping 'const' there. - -2023-03-24 Jakub Jelinek - - PR middle-end/109258 - * builtins.cc (inline_expand_builtin_bytecmp): Return NULL_RTX early - if target == const0_rtx. - -2023-03-24 Alexandre Oliva - - * doc/sourcebuild.texi (weak_undefined, posix_memalign): - Document options and effective targets. - -2023-03-24 Costas Argyris - - * config/i386/x-mingw32-utf8: Make HOST_EXTRA_OBJS_SYMBOL - optional. - -2023-03-23 Pat Haugen - - * config/rs6000/rs6000.md (*mod3, umod3): Add - non-earlyclobber alternative. - -2023-03-23 Andrew Pinski - - PR c/84900 - * fold-const.cc (maybe_lvalue_p): Treat COMPOUND_LITERAL_EXPR - as a lvalue. - -2023-03-23 Richard Biener - - PR tree-optimization/107569 - * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): - Do not push SSA names with zero uses as available leader. - (process_bb): Likewise. - -2023-03-23 Richard Biener - - PR tree-optimization/109262 - * tree-ssa-forwprop.cc (pass_forwprop::execute): When - combining a piecewise complex load avoid touching loads - that throw internally. Use fun, not cfun throughout. - -2023-03-23 Jakub Jelinek - - * value-range.cc (irange::irange_union, irange::intersect): Fix - comment spelling bugs. - * gimple-range-trace.cc (range_tracer::do_header): Likewise. - * gimple-range-trace.h: Likewise. - * gimple-range-edge.cc: Likewise. - (gimple_outgoing_range_stmt_p, - gimple_outgoing_range::switch_edge_range, - gimple_outgoing_range::edge_range_p): Likewise. - * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies, - gimple_ranger::fold_stmt, gimple_ranger::register_transitive_infer, - assume_query::assume_query, assume_query::calculate_phi): Likewise. - * gimple-range-edge.h: Likewise. - * value-range.h (Value_Range::set, Value_Range::lower_bound, - Value_Range::upper_bound, frange::set_undefined): Likewise. - * gimple-range-gori.h (range_def_chain::depend, gori_map::m_outgoing, - gori_compute): Likewise. - * gimple-range-fold.h (fold_using_range): Likewise. - * gimple-range-path.cc (path_range_query::compute_ranges_in_phis): - Likewise. - * gimple-range-gori.cc (range_def_chain::in_chain_p, - range_def_chain::dump, gori_map::calculate_gori, - gori_compute::compute_operand_range_switch, - gori_compute::logical_combine, gori_compute::refine_using_relation, - gori_compute::compute_operand1_range, gori_compute::may_recompute_p): - Likewise. - * gimple-range.h: Likewise. - (enable_ranger): Likewise. - * range-op.h (empty_range_varying): Likewise. - * value-query.h (value_query): Likewise. - * gimple-range-cache.cc (block_range_cache::set_bb_range, - block_range_cache::dump, ssa_global_cache::clear_global_range, - temporal_cache::temporal_value, temporal_cache::current_p, - ranger_cache::range_of_def, ranger_cache::propagate_updated_value, - ranger_cache::range_from_dom, ranger_cache::register_inferred_value): - Likewise. - * gimple-range-fold.cc (fur_edge::get_phi_operand, - fur_stmt::get_operand, gimple_range_adjustment, - fold_using_range::range_of_phi, - fold_using_range::relation_fold_and_or): Likewise. - * value-range-storage.h (irange_storage_slot::MAX_INTS): Likewise. - * value-query.cc (range_query::value_of_expr, - range_query::value_on_edge, range_query::query_relation): Likewise. - * tree-vrp.cc (remove_unreachable::remove_and_update_globals, - intersect_range_with_nonzero_bits): Likewise. - * gimple-range-infer.cc (gimple_infer_range::check_assume_func, - exit_range): Likewise. - * value-relation.h: Likewise. - (equiv_oracle, relation_trio::relation_trio, value_relation, - value_relation::value_relation, pe_min): Likewise. - * range-op-float.cc (range_operator_float::rv_fold, - frange_arithmetic, foperator_unordered_equal::op1_range, - foperator_div::rv_fold): Likewise. - * gimple-range-op.cc (cfn_clz::fold_range): Likewise. - * value-relation.cc (equiv_oracle::query_relation, - equiv_oracle::register_equiv, equiv_oracle::add_equiv_to_block, - value_relation::apply_transitive, relation_chain_head::find_relation, - dom_oracle::query_relation, dom_oracle::find_relation_block, - dom_oracle::find_relation_dom, path_oracle::register_equiv): Likewise. - * range-op.cc (range_operator::wi_fold_in_parts_equiv, - create_possibly_reversed_range, adjust_op1_for_overflow, - operator_mult::wi_fold, operator_exact_divide::op1_range, - operator_cast::lhs_op1_relation, operator_cast::fold_pair, - operator_cast::fold_range, operator_abs::wi_fold, range_op_cast_tests, - range_op_lshift_tests): Likewise. - -2023-03-23 Andrew Stubbs - - * config/gcn/gcn.cc (gcn_class_max_nregs): Handle vectors in SGPRs. - (move_callee_saved_registers): Detect the bug condition early. - -2023-03-23 Andrew Stubbs - - * config/gcn/gcn-protos.h (gcn_stepped_zero_int_parallel_p): New. - * config/gcn/gcn-valu.md (V_1REG_ALT): New. - (V_2REG_ALT): New. - (vec_extract_nop): New. - (vec_extract_nop): New. - (vec_extract): Use new patterns. - * config/gcn/gcn.cc (gcn_stepped_zero_int_parallel_p): New. - * config/gcn/predicates.md (ascending_zero_int_parallel): New. - -2023-03-23 Jakub Jelinek - - PR tree-optimization/109176 - * tree-vect-generic.cc (expand_vector_condition): If a has - vector boolean type and is a comparison, also check if both - the comparison and VEC_COND_EXPR could be successfully expanded - individually. - -2023-03-23 Pan Li - Ju-Zhe Zhong - - PR target/108654 - PR target/108185 - * config/riscv/riscv-modes.def (ADJUST_BYTESIZE): Adjust size - for vector mask modes. - * config/riscv/riscv.cc (riscv_v_adjust_bytesize): New. - * config/riscv/riscv.h (riscv_v_adjust_bytesize): New. - -2023-03-23 Songhe Zhu - - * config/riscv/multilib-generator: Adjusting the loop of 'alt' in 'alts'. - -2023-03-23 Ju-Zhe Zhong - - PR target/109244 - * config/riscv/riscv-protos.h (emit_vlmax_vsetvl): Define as global. - (emit_vlmax_op): Ditto. - * config/riscv/riscv-v.cc (get_sew): New function. - (emit_vlmax_vsetvl): Adapt function. - (emit_pred_op): Ditto. - (emit_vlmax_op): Ditto. - (emit_nonvlmax_op): Ditto. - (legitimize_move): Fix LRA ICE. - (gen_no_side_effects_vsetvl_rtx): Adapt function. - * config/riscv/vector.md (@mov_lra): New pattern. - (@mov_lra): Ditto. - (*mov_lra): Ditto. - (*mov_lra): Ditto. - -2023-03-23 Ju-Zhe Zhong - - PR target/109228 - * config/riscv/riscv-vector-builtins-bases.cc (class vlenb): Add - __riscv_vlenb support. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vlenb): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct vlenb_def): Ditto. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc: Ditto. - -2023-03-23 Ju-Zhe Zhong - kito-cheng - - * config/riscv/riscv-vsetvl.cc (reg_available_p): Fix bugs. - (pass_vsetvl::compute_local_backward_infos): Fix bugs. - (pass_vsetvl::need_vsetvl): Fix bugs. - (pass_vsetvl::backward_demand_fusion): Fix bugs. - (pass_vsetvl::demand_fusion): Fix bugs. - (eliminate_insn): Fix bugs. - (insert_vsetvl): Ditto. - (pass_vsetvl::emit_local_forward_vsetvls): Ditto. - * config/riscv/riscv-vsetvl.h (enum vsetvl_type): Ditto. - * config/riscv/vector.md: Ditto. - -2023-03-23 Ju-Zhe Zhong - kito-cheng - - * config/riscv/riscv-vector-builtins-bases.cc: Fix ternary bug. - * config/riscv/vector-iterators.md (nmsac): Ditto. - (nmsub): Ditto. - (msac): Ditto. - (msub): Ditto. - (nmadd): Ditto. - (nmacc): Ditto. - * config/riscv/vector.md (@pred_mul_): Ditto. - (@pred_mul_plus): Ditto. - (*pred_madd): Ditto. - (*pred_macc): Ditto. - (*pred_mul_plus): Ditto. - (@pred_mul_plus_scalar): Ditto. - (*pred_madd_scalar): Ditto. - (*pred_macc_scalar): Ditto. - (*pred_mul_plus_scalar): Ditto. - (*pred_madd_extended_scalar): Ditto. - (*pred_macc_extended_scalar): Ditto. - (*pred_mul_plus_extended_scalar): Ditto. - (@pred_minus_mul): Ditto. - (*pred_): Ditto. - (*pred_nmsub): Ditto. - (*pred_): Ditto. - (*pred_nmsac): Ditto. - (*pred_mul_): Ditto. - (*pred_minus_mul): Ditto. - (@pred_mul__scalar): Ditto. - (@pred_minus_mul_scalar): Ditto. - (*pred__scalar): Ditto. - (*pred_nmsub_scalar): Ditto. - (*pred__scalar): Ditto. - (*pred_nmsac_scalar): Ditto. - (*pred_mul__scalar): Ditto. - (*pred_minus_mul_scalar): Ditto. - (*pred__extended_scalar): Ditto. - (*pred_nmsub_extended_scalar): Ditto. - (*pred__extended_scalar): Ditto. - (*pred_nmsac_extended_scalar): Ditto. - (*pred_mul__extended_scalar): Ditto. - (*pred_minus_mul_extended_scalar): Ditto. - (*pred_): Ditto. - (*pred_): Ditto. - (*pred__scalar): Ditto. - (*pred__scalar): Ditto. - (@pred_neg_mul_): Ditto. - (@pred_mul_neg_): Ditto. - (*pred_): Ditto. - (*pred_): Ditto. - (*pred_): Ditto. - (*pred_): Ditto. - (*pred_neg_mul_): Ditto. - (*pred_mul_neg_): Ditto. - (@pred_neg_mul__scalar): Ditto. - (@pred_mul_neg__scalar): Ditto. - (*pred__scalar): Ditto. - (*pred__scalar): Ditto. - (*pred__scalar): Ditto. - (*pred__scalar): Ditto. - (*pred_neg_mul__scalar): Ditto. - (*pred_mul_neg__scalar): Ditto. - (@pred_widen_neg_mul_): Ditto. - (@pred_widen_mul_neg_): Ditto. - (@pred_widen_neg_mul__scalar): Ditto. - (@pred_widen_mul_neg__scalar): Ditto. - -2023-03-23 liuhongt - - * builtins.cc (builtin_memset_read_str): Replace - targetm.gen_memset_scratch_rtx with gen_reg_rtx. - (builtin_memset_gen_str): Ditto. - * config/i386/i386-expand.cc - (ix86_convert_const_wide_int_to_broadcast): Replace - ix86_gen_scratch_sse_rtx with gen_reg_rtx. - (ix86_expand_vector_move): Ditto. - * config/i386/i386-protos.h (ix86_gen_scratch_sse_rtx): - Removed. - * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Removed. - (TARGET_GEN_MEMSET_SCRATCH_RTX): Removed. - * doc/tm.texi: Remove TARGET_GEN_MEMSET_SCRATCH_RTX. - * doc/tm.texi.in: Ditto. - * target.def: Ditto. - -2023-03-22 Vladimir N. Makarov - - * lra.cc (lra): Do not repeat inheritance and live range splitting - when asm error is found. - -2023-03-22 Andrew Jenner - - * config/gcn/gcn-protos.h (gcn_expand_dpp_swap_pairs_insn) - (gcn_expand_dpp_distribute_even_insn) - (gcn_expand_dpp_distribute_odd_insn): Declare. - * config/gcn/gcn-valu.md (@dpp_swap_pairs) - (@dpp_distribute_even, @dpp_distribute_odd) - (cmul3, cml4, vec_addsub3) - (cadd3, vec_fmaddsub4, vec_fmsubadd4) - (fms4, fms4_negop2, fms4) - (fms4_negop2): New patterns. - * config/gcn/gcn.cc (gcn_expand_dpp_swap_pairs_insn) - (gcn_expand_dpp_distribute_even_insn) - (gcn_expand_dpp_distribute_odd_insn): New functions. - * config/gcn/gcn.md: Add entries to unspec enum. - -2023-03-22 Aldy Hernandez - - PR tree-optimization/109008 - * value-range.cc (frange::set): Add nan_state argument. - * value-range.h (class nan_state): New. - (frange::get_nan_state): New. - -2023-03-22 Martin Liska - - * configure: Regenerate. - -2023-03-21 Joseph Myers - - * stor-layout.cc (finalize_type_size): Copy TYPE_TYPELESS_STORAGE - to variants. - -2023-03-21 Andrew MacLeod - - PR tree-optimization/109192 - * gimple-range-gori.cc (gori_compute::compute_operand_range): - Terminate gori calculations if a relation is not relevant. - * value-relation.h (value_relation::set_relation): Allow - equality between op1 and op2 if they are the same. - -2023-03-21 Richard Biener - - PR tree-optimization/109219 - * tree-vect-loop.cc (vectorizable_reduction): Check - slp_node, not STMT_SLP_TYPE. - * tree-vect-stmts.cc (vectorizable_condition): Likewise. - * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): - Remove assertion on STMT_SLP_TYPE. - -2023-03-21 Jakub Jelinek - - PR tree-optimization/109215 - * tree.h (enum special_array_member): Adjust comments for int_0 - and trail_0. - * tree.cc (component_ref_sam_type): Clear zero_elts if memtype - has zero sized element type and the array has variable number of - elements or constant one or more elements. - (component_ref_size): Adjust comments, formatting fix. - -2023-03-21 Arsen Arsenović - - * configure.ac: Add check for the Texinfo 6.8 - CONTENTS_OUTPUT_LOCATION customization variable and set it if - supported. - * configure: Regenerate. - * Makefile.in (MAKEINFO_TOC_INLINE_FLAG): New variable. Set by - configure.ac to -c CONTENTS_OUTPUT_LOCATION=inline if - CONTENTS_OUTPUT_LOCATION support is detected, empty otherwise. - ($(build_htmldir)/%/index.html): Pass MAKEINFO_TOC_INLINE_FLAG. - -2023-03-21 Arsen Arsenović - - * doc/extend.texi: Associate use_hazard_barrier_return index - entry with its attribute. - * doc/invoke.texi: Associate -fcanon-prefix-map index entry with - its attribute - -2023-03-21 Arsen Arsenović - - * doc/implement-c.texi: Remove usage of @gol. - * doc/invoke.texi: Ditto. - * doc/sourcebuild.texi: Ditto. - * doc/include/gcc-common.texi: Remove @gol. In new Makeinfo and - texinfo.tex versions, the bug it was working around appears to - be gone. - -2023-03-21 Arsen Arsenović - - * doc/include/texinfo.tex: Update to 2023-01-17.19. - -2023-03-21 Arsen Arsenović - - * doc/include/gcc-common.texi: Add @defbuiltin{,x} and - @enddefbuiltin for defining built-in functions. - * doc/extend.texi: Apply @defbuiltin{,x} to many, but not all, - places where it should be used. - -2023-03-21 Arsen Arsenović - - * doc/extend.texi (Formatted Output Function Checking): New - subsection for grouping together printf et al. - (Exception handling) Fix missing @ sign before copyright - header, which lead to the copyright line leaking into - '(gcc)Exception handling'. - * doc/gcc.texi: Set document language to en_US. - (@copying): Wrap front cover texts in quotations, move in manual - description text. - -2023-03-21 Arsen Arsenović - - * doc/gcc.texi: Add the Indices appendix, to make texinfo - generate nice indices overview page. - -2023-03-21 Richard Biener - - PR tree-optimization/109170 - * gimple-range-op.cc (cfn_pass_through_arg1): New. - (gimple_range_op_handler::maybe_builtin_call): Handle - __builtin_expect via cfn_pass_through_arg1. - -2023-03-20 Michael Meissner - - PR target/109067 - * config/rs6000/rs6000.cc (create_complex_muldiv): Delete. - (init_float128_ieee): Delete code to switch complex multiply and divide - for long double. - (complex_multiply_builtin_code): New helper function. - (complex_divide_builtin_code): Likewise. - (rs6000_mangle_decl_assembler_name): Add support for mangling the name - of complex 128-bit multiply and divide built-in functions. - -2023-03-20 Peter Bergner - - PR target/109178 - * config/rs6000/rs6000-builtin.cc (stv_expand_builtin): Use tmode. - -2023-03-19 Jonny Grant - - * doc/extend.texi (Common Function Attributes) : - Correct typo. - -2023-03-18 Peter Bergner - - PR rtl-optimization/109179 - * lra-constraints.cc (combine_reload_insn): Enforce TO is not a debug - insn or note. Move the tests earlier to guard lra_get_insn_recog_data. - -2023-03-17 Jakub Jelinek - - PR target/105554 - * function.h (push_struct_function): Add ABSTRACT_P argument defaulted - to false. - * function.cc (push_struct_function): Add ABSTRACT_P argument, pass it - to allocate_struct_function instead of false. - * tree-inline.cc (initialize_cfun): Don't copy DECL_ARGUMENTS - nor DECL_RESULT here. Pass true as ABSTRACT_P to - push_struct_function. Call targetm.target_option.relayout_function - after it. - (tree_function_versioning): Formatting fix. - -2023-03-17 Vladimir N. Makarov - - * lra-constraints.cc: Include hooks.h. - (combine_reload_insn): New function. - (lra_constraints): Call it. - -2023-03-17 Ju-Zhe Zhong - kito-cheng - - * config/riscv/riscv-v.cc (legitimize_move): Allow undef value - as legitimate value. - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_ternop_insn): Fix bugs of ternary intrinsic. - (function_expander::use_widen_ternop_insn): Ditto. - * config/riscv/vector.md (@vundefined): New pattern. - (pred_mul__undef_merge): Remove. - (*pred_mul__undef_merge_scalar): Ditto. - (*pred_mul__undef_merge_extended_scalar): Ditto. - (pred_neg_mul__undef_merge): Ditto. - (*pred_neg_mul__undef_merge_scalar): Ditto. - -2023-03-17 Ju-Zhe Zhong - - PR target/109092 - * config/riscv/riscv.md: Fix subreg bug. - -2023-03-17 Jakub Jelinek - - PR middle-end/108685 - * omp-expand.cc (expand_omp_for_ordered_loops): Add L0_BB argument, - use its loop_father rather than BODY_BB's loop_father. - (expand_omp_for_generic): Adjust expand_omp_for_ordered_loops caller. - If broken_loop with ordered > collapse and at least one of those - extra loops aren't guaranteed to have at least one iteration, change - l0_bb's loop_father to entry_bb's loop_father. Set cont_bb's - loop_father to l0_bb's loop_father rather than l1_bb's. - -2023-03-17 Jakub Jelinek - - PR plugins/108634 - * gdbhooks.py (TreePrinter.to_string): Wrap - gdb.parse_and_eval('tree_code_type') in a try block, parse - and eval 'tree_code_type_tmpl<0>::tree_code_type' instead if it - raises exception. Update comments for the recent tree_code_type - changes. - -2023-03-17 Sandra Loosemore - - * doc/extend.texi (BPF Built-in Functions): Fix numerous markup - issues. Add more line breaks to example so it doesn't overflow - the margins. - -2023-03-17 Sandra Loosemore - - * doc/extend.texi (Common Function Attributes) : Fix bad - line breaks in examples. - : Fix bad line breaks in running text, also copy-edit - for consistency. - (Extended Asm) : Fix @multitable width. - * doc/invoke.texi (Option Summary) : Fix misplaced - @gol. - (C++ Dialect Options) <-fcontracts>: Add line break in example. - <-Wctad-maybe-unsupported>: Likewise. - <-Winvalid-constexpr>: Likewise. - (Warning Options) <-Wdangling-pointer>: Likewise. - <-Winterference-size>: Likewise. - <-Wvla-parameter>: Likewise. - (Static Analyzer Options): Fix bad line breaks in running text, - plus add some missing markup. - (Optimize Options) : Fix more bad line - breaks in running text. - -2023-03-16 Uros Bizjak - - * config/i386/i386-expand.cc (expand_vec_perm_pblendv): - Handle 8-byte modes only with TARGET_MMX_WITH_SSE. - (expand_vec_perm_2perm_pblendv): Ditto. - -2023-03-16 Martin Liska - - PR middle-end/106133 - * gcc.cc (driver_handle_option): Use x_main_input_basename - if x_dump_base_name is null. - * opts.cc (common_handle_option): Likewise. - -2023-03-16 Richard Biener - - PR tree-optimization/109123 - * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): - Do not emit -Wuse-after-free late. - (pass_waccess::check_call): Always check call pointer uses. - -2023-03-16 Richard Biener - - PR tree-optimization/109141 - * tree-dfa.h (renumber_gimple_stmt_uids_in_block): New. - * tree-dfa.cc (renumber_gimple_stmt_uids_in_block): Split - out from ... - (renumber_gimple_stmt_uids): ... here and - (renumber_gimple_stmt_uids_in_blocks): ... here. - * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): - Use renumber_gimple_stmt_uids_in_block to also assign UIDs - to PHIs. - (pass_waccess::check_pointer_uses): Process all PHIs. - -2023-03-15 David Malcolm - - PR analyzer/109097 - * diagnostic-format-sarif.cc (class sarif_invocation): New. - (class sarif_ice_notification): New. - (sarif_builder::m_invocation_obj): New field. - (sarif_invocation::add_notification_for_ice): New. - (sarif_invocation::prepare_to_flush): New. - (sarif_ice_notification::sarif_ice_notification): New. - (sarif_builder::sarif_builder): Add m_invocation_obj. - (sarif_builder::end_diagnostic): Special-case DK_ICE and - DK_ICE_NOBT. - (sarif_builder::flush_to_file): Call prepare_to_flush on - m_invocation_obj. Pass the latter to make_top_level_object. - (sarif_builder::make_result_object): Move creation of "locations" - array to... - (sarif_builder::make_locations_arr): ...this new function. - (sarif_builder::make_top_level_object): Add "invocation_obj" param - and pass it to make_run_object. - (sarif_builder::make_run_object): Add "invocation_obj" param and - use it. - (sarif_ice_handler): New callback. - (diagnostic_output_format_init_sarif): Wire up sarif_ice_handler. - * diagnostic.cc (diagnostic_initialize): Initialize new field - "ice_handler_cb". - (diagnostic_action_after_output): If it is set, make one attempt - to call ice_handler_cb. - * diagnostic.h (diagnostic_context::ice_handler_cb): New field. - -2023-03-15 Uros Bizjak - - * config/i386/i386-expand.cc (expand_vec_perm_blend): - Handle 8-byte modes only with TARGET_MMX_WITH_SSE. Handle V2SFmode - and fix V2HImode handling. - (expand_vec_perm_1): Try to emit BLEND instruction - before MOVSS/MOVSD. - * config/i386/mmx.md (*mmx_blendps): New insn pattern. - -2023-03-15 Tobias Burnus - - * omp-low.cc (omp_runtime_api_call): Add omp_in_explicit_task. - -2023-03-15 Richard Biener - - * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): - Do not diagnose clobbers. - -2023-03-15 Richard Biener - - PR tree-optimization/109139 - * tree-ssa-live.cc (remove_unused_locals): Look at the - base address for unused decls on the LHS of .DEFERRED_INIT. - -2023-03-15 Xi Ruoyao - - PR other/109086 - * builtins.cc (inline_string_cmp): Force the character - difference into "result" pseudo-register, instead of reassign - the pseudo-register. - -2023-03-15 Christoph Müllner - - * config.gcc: Add thead.o to RISC-V extra_objs. - * config/riscv/peephole.md: Add mempair peephole passes. - * config/riscv/riscv-protos.h (riscv_split_64bit_move_p): New - prototype. - (th_mempair_operands_p): Likewise. - (th_mempair_order_operands): Likewise. - (th_mempair_prepare_save_restore_operands): Likewise. - (th_mempair_save_restore_regs): Likewise. - (th_mempair_output_move): Likewise. - * config/riscv/riscv.cc (riscv_save_reg): Move code. - (riscv_restore_reg): Move code. - (riscv_for_each_saved_reg): Add code to emit mempair insns. - * config/riscv/t-riscv: Add thead.cc. - * config/riscv/thead.md (*th_mempair_load_2): - New insn. - (*th_mempair_store_2): Likewise. - (*th_mempair_load_extendsidi2): Likewise. - (*th_mempair_load_zero_extendsidi2): Likewise. - * config/riscv/thead.cc: New file. - -2023-03-15 Christoph Müllner - - * config/riscv/constraints.md (TARGET_XTHEADFMV ? FP_REGS : NO_REGS) - New constraint "th_f_fmv". - (TARGET_XTHEADFMV ? GR_REGS : NO_REGS): New constraint - "th_r_fmv". - * config/riscv/riscv.cc (riscv_split_doubleword_move): - Add split code for XTheadFmv. - (riscv_secondary_memory_needed): XTheadFmv does not need - secondary memory. - * config/riscv/riscv.md: Add new UNSPEC_XTHEADFMV and - UNSPEC_XTHEADFMV_HW. Add support for XTheadFmv to - movdf_hardfloat_rv32. - * config/riscv/thead.md (th_fmv_hw_w_x): New INSN. - (th_fmv_x_w): New INSN. - (th_fmv_x_hw): New INSN. - -2023-03-15 Christoph Müllner - - * config/riscv/riscv.md (maddhisi4): New expand. - (msubhisi4): New expand. - * config/riscv/thead.md (*th_mula): New pattern. - (*th_mulawsi): New pattern. - (*th_mulawsi2): New pattern. - (*th_maddhisi4): New pattern. - (*th_sextw_maddhisi4): New pattern. - (*th_muls): New pattern. - (*th_mulswsi): New pattern. - (*th_mulswsi2): New pattern. - (*th_msubhisi4): New pattern. - (*th_sextw_msubhisi4): New pattern. - -2023-03-15 Christoph Müllner - - * config/riscv/iterators.md (TARGET_64BIT): Add GPR2 iterator. - * config/riscv/riscv-protos.h (riscv_expand_conditional_move): - Add prototype. - * config/riscv/riscv.cc (riscv_rtx_costs): Add costs for - XTheadCondMov. - (riscv_expand_conditional_move): New function. - (riscv_expand_conditional_move_onesided): New function. - * config/riscv/riscv.md: Add support for XTheadCondMov. - * config/riscv/thead.md (*th_cond_mov): Add - support for XTheadCondMov. - (*th_cond_gpr_mov): Likewise. - -2023-03-15 Christoph Müllner - - * config/riscv/bitmanip.md (clzdi2): New expand. - (clzsi2): New expand. - (ctz2): New expand. - (popcount2): New expand. - (si2): Rename INSN. - (*si2): Hide INSN name. - (di2): Rename INSN. - (*di2): Hide INSN name. - (rotrsi3): Remove INSN. - (rotr3): Add expand. - (*rotrsi3): New INSN. - (rotrdi3): Rename INSN. - (*rotrdi3): Hide INSN name. - (rotrsi3_sext): Rename INSN. - (*rotrsi3_sext): Hide INSN name. - (bswap2): Remove INSN. - (bswapdi2): Add expand. - (bswapsi2): Add expand. - (*bswap2): Hide INSN name. - * config/riscv/riscv.cc (riscv_rtx_costs): Add costs for sign - extraction. - * config/riscv/riscv.md (extv): New expand. - (extzv): New expand. - * config/riscv/thead.md (*th_srri3): New INSN. - (*th_ext): New INSN. - (*th_extu): New INSN. - (*th_clz2): New INSN. - (*th_rev2): New INSN. - -2023-03-15 Christoph Müllner - - * config/riscv/riscv.cc (riscv_rtx_costs): Add xthead:tst cost. - * config/riscv/thead.md (*th_tst3): New INSN. - -2023-03-15 Christoph Müllner - - * config/riscv/riscv.md: Include thead.md - * config/riscv/thead.md: New file. - -2023-03-15 Christoph Müllner - - * config/riscv/riscv-cores.def (RISCV_CORE): Add "thead-c906". - -2023-03-15 Christoph Müllner - - * common/config/riscv/riscv-common.cc: Add xthead* extensions. - * config/riscv/riscv-opts.h (MASK_XTHEADBA): New. - (MASK_XTHEADBB): New. - (MASK_XTHEADBS): New. - (MASK_XTHEADCMO): New. - (MASK_XTHEADCONDMOV): New. - (MASK_XTHEADFMEMIDX): New. - (MASK_XTHEADFMV): New. - (MASK_XTHEADINT): New. - (MASK_XTHEADMAC): New. - (MASK_XTHEADMEMIDX): New. - (MASK_XTHEADMEMPAIR): New. - (MASK_XTHEADSYNC): New. - (TARGET_XTHEADBA): New. - (TARGET_XTHEADBB): New. - (TARGET_XTHEADBS): New. - (TARGET_XTHEADCMO): New. - (TARGET_XTHEADCONDMOV): New. - (TARGET_XTHEADFMEMIDX): New. - (TARGET_XTHEADFMV): New. - (TARGET_XTHEADINT): New. - (TARGET_XTHEADMAC): New. - (TARGET_XTHEADMEMIDX): New. - (TARGET_XTHEADMEMPAIR): new. - (TARGET_XTHEADSYNC): New. - * config/riscv/riscv.opt: Add riscv_xthead_subext. - -2023-03-15 Hu, Lin1 - - PR target/109117 - * config/i386/i386-builtin.def (__builtin_ia32_vaesdec_v16qi, - __builtin_ia32_vaesdeclast_v16qi,__builtin_ia32_vaesenc_v16qi, - __builtin_ia32_vaesenclast_v16qi): Require OPTION_MASK_ISA_AVX512VL. - -2023-03-14 Jakub Jelinek - - PR target/109109 - * config/i386/i386-expand.cc (split_double_concat): Fix splitting - when lo is equal to dhi and hi is a MEM which uses dlo register. - -2023-03-14 Martin Jambor - - PR ipa/107925 - * ipa-cp.cc (update_profiling_info): Drop counts of orig_node to - global0 instead of zeroing when it does not have as many counts as - it should. - -2023-03-14 Martin Jambor - - PR ipa/107925 - * ipa-cp.cc (update_specialized_profile): Drop orig_node_count to - ipa count, remove assert, lenient_count_portion_handling, dump - also orig_node_count. - -2023-03-14 Uros Bizjak - - * config/i386/i386-expand.cc (expand_vec_perm_movs): - Handle V2SImode for TARGET_MMX_WITH_SSE. - * config/i386/mmx.md (*mmx_movss_): Rename from *mmx_movss - using V2FI mode iterator to handle both V2SI and V2SF modes. - -2023-03-14 Sam James - - * config/riscv/genrvv-type-indexer.cc: Avoid calloc() poisoning on musl by - including earlier. - * system.h: Add INCLUDE_SSTREAM. - -2023-03-14 Richard Biener - - * tree-ssa-live.cc (remove_unused_locals): Do not treat - the .DEFERRED_INIT of a variable as use, instead remove - that if it is the only use. - -2023-03-14 Eric Botcazou - - PR rtl-optimization/107762 - * expr.cc (emit_group_store): Revert latest change. - -2023-03-14 Andre Vieira - - PR tree-optimization/109005 - * tree-if-conv.cc (get_bitfield_rep): Replace BLKmode check with - aggregate type check. - -2023-03-14 Jakub Jelinek - - PR tree-optimization/109115 - * tree-vect-patterns.cc (vect_recog_divmod_pattern): Don't use - r.upper_bound () on r.undefined_p () range. - -2023-03-14 Jan Hubicka - - PR tree-optimization/106896 - * profile-count.cc (profile_count::to_sreal_scale): Synchronize - implementatoin with probability_in; avoid some asserts. - -2023-03-13 Max Filippov - - * config/xtensa/linux.h (TARGET_ASM_FILE_END): New macro. - -2023-03-13 Sean Bright - - * doc/invoke.texi (Warning Options): Remove errant 'See' - before @xref. - -2023-03-13 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.h (REG_OK_STRICT, REG_OK_FOR_INDEX_P, - REG_OK_FOR_BASE_P): Remove. - -2023-03-13 Ju-Zhe Zhong - - * config/riscv/vector-iterators.md (=vd,vr): Fine tune. - (=vd,vd,vr,vr): Ditto. - * config/riscv/vector.md: Ditto. - -2023-03-13 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_compare_insn): Add operand predicate check. - -2023-03-13 Ju-Zhe Zhong - - * config/riscv/vector.md: Fine tune RA constraints. - -2023-03-13 Tobias Burnus - - * config/gcn/mkoffload.cc (main): Pass -save-temps on for the - hsaco assemble/link. - -2023-03-13 Richard Biener - - PR tree-optimization/109046 - * tree-ssa-forwprop.cc (pass_forwprop::execute): Combine - piecewise complex loads. - -2023-03-12 Jakub Jelinek - - * config/aarch64/aarch64.h (aarch64_bf16_type_node): Remove. - (aarch64_bf16_ptr_type_node): Adjust comment. - * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr): Use - bfloat16_type_node rather than aarch64_bf16_type_node. - (aarch64_libgcc_floating_mode_supported_p, - aarch64_scalar_mode_supported_p): Also support BFmode. - (aarch64_invalid_conversion, aarch64_invalid_unary_op): Remove. - (aarch64_invalid_binary_op): Remove BFmode related rejections. - (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP): Don't redefine. - * config/aarch64/aarch64-builtins.cc (aarch64_bf16_type_node): Remove. - (aarch64_int_or_fp_type): Use bfloat16_type_node rather than - aarch64_bf16_type_node. - (aarch64_init_simd_builtin_types): Likewise. - (aarch64_init_bf16_types): Likewise. Don't create bfloat16_type_node, - which is created in tree.cc already. - * config/aarch64/aarch64-sve-builtins.def (svbfloat16_t): Likewise. - -2023-03-12 Roger Sayle - - PR middle-end/109031 - * tree-chrec.cc (chrec_apply): When folding "{a, +, a} (x-1)", - ensure that the type of x is as wide or wider than the type of a. - -2023-03-12 Tamar Christina - - PR target/108583 - * config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv3): Remove. - (*bitmask_shift_plus): New. - * config/aarch64/aarch64-sve2.md (*bitmask_shift_plus): New. - (@aarch64_bitmask_udiv3): Remove. - * config/aarch64/aarch64.cc - (aarch64_vectorize_can_special_div_by_constant, - TARGET_VECTORIZE_CAN_SPECIAL_DIV_BY_CONST): Removed. - (TARGET_VECTORIZE_PREFERRED_DIV_AS_SHIFTS_OVER_MULT, - aarch64_vectorize_preferred_div_as_shifts_over_mult): New. - -2023-03-12 Tamar Christina - - PR target/108583 - * target.def (preferred_div_as_shifts_over_mult): New. - * doc/tm.texi.in: Document it. - * doc/tm.texi: Regenerate. - * targhooks.cc (default_preferred_div_as_shifts_over_mult): New. - * targhooks.h (default_preferred_div_as_shifts_over_mult): New. - * tree-vect-patterns.cc (vect_recog_divmod_pattern): Use it. - -2023-03-12 Tamar Christina - Richard Sandiford - - PR target/108583 - * tree-ssa-math-opts.cc (convert_mult_to_fma): Inhibit FMA in case not - single use. - -2023-03-12 Tamar Christina - Andrew MacLeod - - PR target/108583 - * gimple-range-op.h (gimple_range_op_handler): Add maybe_non_standard. - * gimple-range-op.cc (gimple_range_op_handler::gimple_range_op_handler): - Use it. - (gimple_range_op_handler::maybe_non_standard): New. - * range-op.cc (class operator_widen_plus_signed, - operator_widen_plus_signed::wi_fold, class operator_widen_plus_unsigned, - operator_widen_plus_unsigned::wi_fold, class operator_widen_mult_signed, - operator_widen_mult_signed::wi_fold, class operator_widen_mult_unsigned, - operator_widen_mult_unsigned::wi_fold, - ptr_op_widen_mult_signed, ptr_op_widen_mult_unsigned, - ptr_op_widen_plus_signed, ptr_op_widen_plus_unsigned): New. - * range-op.h (ptr_op_widen_mult_signed, ptr_op_widen_mult_unsigned, - ptr_op_widen_plus_signed, ptr_op_widen_plus_unsigned): New - -2023-03-12 Tamar Christina - - PR target/108583 - * doc/tm.texi (TARGET_VECTORIZE_CAN_SPECIAL_DIV_BY_CONST): Remove. - * doc/tm.texi.in: Likewise. - * explow.cc (round_push, align_dynamic_address): Revert previous patch. - * expmed.cc (expand_divmod): Likewise. - * expmed.h (expand_divmod): Likewise. - * expr.cc (force_operand, expand_expr_divmod): Likewise. - * optabs.cc (expand_doubleword_mod, expand_doubleword_divmod): Likewise. - * target.def (can_special_div_by_const): Remove. - * target.h: Remove tree-core.h include - * targhooks.cc (default_can_special_div_by_const): Remove. - * targhooks.h (default_can_special_div_by_const): Remove. - * tree-vect-generic.cc (expand_vector_operation): Remove hook. - * tree-vect-patterns.cc (vect_recog_divmod_pattern): Remove hook. - * tree-vect-stmts.cc (vectorizable_operation): Remove hook. - -2023-03-12 Sandra Loosemore - - * doc/install.texi2html: Fix issue number typo in comment. - -2023-03-12 Gaius Mulley - - * doc/gm2.texi (Elementary data types): Equivalence BOOLEAN with - bool. - -2023-03-12 Sandra Loosemore - - * doc/invoke.texi (Optimize Options): Add markup to - description of asan-kernel-mem-intrinsic-prefix, and clarify - wording slightly. - -2023-03-11 Gerald Pfeifer - - * doc/extend.texi (Named Address Spaces): Drop a redundant link - to AVR-LibC. - -2023-03-11 Jeff Law - - PR web/88860 - * doc/extend.texi: Clarify Attribute Syntax a bit. - -2023-03-11 Sandra Loosemore - - * doc/install.texi (Prerequisites): Suggest using newer versions - of Texinfo. - (Final install): Clean up and modernize discussion of how to - build or obtain the GCC manuals. - * doc/install.texi2html: Update comment to point to the PR instead - of "makeinfo 4.7 brokenness" (it's not specific to that version). - -2023-03-10 Jakub Jelinek - - PR target/107703 - * optabs.cc (expand_fix): For conversions from BFmode to integral, - use shifts to convert it to SFmode first and then convert SFmode - to integral. - -2023-03-10 Andrew Pinski - - * config/aarch64/aarch64.md: Add a new define_split - to help combine. - -2023-03-10 Richard Biener - - * tree-ssa-structalias.cc (solve_graph): Immediately - iterate self-cycles. - -2023-03-10 Jakub Jelinek - - PR tree-optimization/109008 - * range-op-float.cc (float_widen_lhs_range): If not - -frounding-math and not IBM double double format, extend lhs - range just by 0.5ulp rather than 1ulp in each direction. - -2023-03-10 Jakub Jelinek - - PR target/107998 - * config.gcc (x86_64-*-cygwin*): Don't add i386/t-cygwin-w64 into - $tmake_file. - * config/i386/t-cygwin-w64: Remove. - -2023-03-10 Jakub Jelinek - - PR plugins/108634 - * tree-core.h (tree_code_type, tree_code_length): For C++11 or - C++14, don't declare as extern const arrays. - (tree_code_type_tmpl, tree_code_length_tmpl): New types with - static constexpr member arrays for C++11 or C++14. - * tree.h (TREE_CODE_CLASS): For C++11 or C++14 use - tree_code_type_tmpl <0>::tree_code_type instead of tree_code_type. - (TREE_CODE_LENGTH): For C++11 or C++14 use - tree_code_length_tmpl <0>::tree_code_length instead of - tree_code_length. - * tree.cc (tree_code_type, tree_code_length): Remove. - -2023-03-10 Jakub Jelinek - - PR other/108464 - * common.opt (fcanon-prefix-map): New option. - * opts.cc: Include file-prefix-map.h. - (flag_canon_prefix_map): New variable. - (common_handle_option): Handle OPT_fcanon_prefix_map. - (gen_command_line_string): Ignore OPT_fcanon_prefix_map. - * file-prefix-map.h (flag_canon_prefix_map): Declare. - * file-prefix-map.cc (struct file_prefix_map): Add canonicalize - member. - (add_prefix_map): Initialize canonicalize member from - flag_canon_prefix_map, and if true canonicalize it using lrealpath. - (remap_filename): Revert 2022-11-01 and 2022-11-07 changes, - use lrealpath result only for map->canonicalize map entries. - * lto-opts.cc (lto_write_options): Ignore OPT_fcanon_prefix_map. - * opts-global.cc (handle_common_deferred_options): Clear - flag_canon_prefix_map at the start and handle OPT_fcanon_prefix_map. - * doc/invoke.texi (-fcanon-prefix-map): Document. - (-ffile-prefix-map, -fdebug-prefix-map, -fprofile-prefix-map): Add - see also for -fcanon-prefix-map. - * doc/cppopts.texi (-fmacro-prefix-map): Likewise. - -2023-03-10 Jakub Jelinek - - PR c/108079 - * cgraphunit.cc (check_global_declaration): Don't warn for unused - variables which have OPT_Wunused_variable warning suppressed. - -2023-03-10 Jakub Jelinek - - PR tree-optimization/109008 - * range-op-float.cc (float_widen_lhs_range): If lb is - minimum representable finite number or ub is maximum - representable finite number, instead of widening it to - -inf or inf widen it to negative or positive 0x0.8p+(EMAX+1). - Temporarily clear flag_finite_math_only when canonicalizing - the widened range. - -2023-03-10 Ju-Zhe Zhong - - * config/riscv/riscv-builtins.cc (riscv_gimple_fold_builtin): New function. - * config/riscv/riscv-protos.h (riscv_gimple_fold_builtin): Ditto. - (gimple_fold_builtin): Ditto. - * config/riscv/riscv-vector-builtins-bases.cc (class read_vl): New class. - (class vleff): Ditto. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (read_vl): Ditto. - (vleff): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct read_vl_def): Ditto. - (struct fault_load_def): Ditto. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc - (rvv_arg_type_info::get_tree_type): Add size_ptr. - (gimple_folder::gimple_folder): New class. - (gimple_folder::fold): Ditto. - (gimple_fold_builtin): New function. - (get_read_vl_instance): Ditto. - (get_read_vl_decl): Ditto. - * config/riscv/riscv-vector-builtins.def (size_ptr): Add size_ptr. - * config/riscv/riscv-vector-builtins.h (class gimple_folder): New class. - (get_read_vl_instance): New function. - (get_read_vl_decl): Ditto. - * config/riscv/riscv-vsetvl.cc (fault_first_load_p): Ditto. - (read_vl_insn_p): Ditto. - (available_occurrence_p): Ditto. - (backward_propagate_worthwhile_p): Ditto. - (gen_vsetvl_pat): Adapt for vleff support. - (get_forward_read_vl_insn): New function. - (get_backward_fault_first_load_insn): Ditto. - (source_equal_p): Adapt for vleff support. - (first_ratio_invalid_for_second_sew_p): Remove. - (first_ratio_invalid_for_second_lmul_p): Ditto. - (first_lmul_less_than_second_lmul_p): Ditto. - (first_ratio_less_than_second_ratio_p): Ditto. - (support_relaxed_compatible_p): New function. - (vector_insn_info::operator>): Remove. - (vector_insn_info::operator>=): Refine. - (vector_insn_info::parse_insn): Adapt for vleff support. - (vector_insn_info::compatible_p): Ditto. - (vector_insn_info::update_fault_first_load_avl): New function. - (pass_vsetvl::transfer_after): Adapt for vleff support. - (pass_vsetvl::demand_fusion): Ditto. - (pass_vsetvl::cleanup_insns): Ditto. - * config/riscv/riscv-vsetvl.def (DEF_INCOMPATIBLE_COND): Remove - redundant condtions. - * config/riscv/riscv-vsetvl.h (struct demands_cond): New function. - * config/riscv/riscv.cc (TARGET_GIMPLE_FOLD_BUILTIN): New target hook. - * config/riscv/riscv.md: Adapt for vleff support. - * config/riscv/t-riscv: Ditto. - * config/riscv/vector-iterators.md: New iterator. - * config/riscv/vector.md (read_vlsi): New pattern. - (read_vldi_zero_extend): Ditto. - (@pred_fault_load): Ditto. - -2023-03-10 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_ternop_insn): Use maybe_gen_insn instead. - (function_expander::use_widen_ternop_insn): Ditto. - * optabs.cc (maybe_gen_insn): Extend nops handling. - -2023-03-10 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins-bases.cc: Split indexed load - patterns according to RVV ISA. - * config/riscv/vector-iterators.md: New iterators. - * config/riscv/vector.md - (@pred_indexed_load): Remove. - (@pred_indexed_load_same_eew): New pattern. - (@pred_indexed_load_x2_greater_eew): Ditto. - (@pred_indexed_load_x4_greater_eew): Ditto. - (@pred_indexed_load_x8_greater_eew): Ditto. - (@pred_indexed_load_x2_smaller_eew): Ditto. - (@pred_indexed_load_x4_smaller_eew): Ditto. - (@pred_indexed_load_x8_smaller_eew): Ditto. - (@pred_indexed_load): Remove. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_load): Ditto. - -2023-03-10 Michael Collison - - * tree-vect-loop-manip.cc (vect_do_peeling): Use - result of constant_lower_bound instead of vf for the lower - bound of the epilog loop trip count. - -2023-03-09 Tamar Christina - - * passes.cc (emergency_dump_function): Finish graph generation. - -2023-03-09 Tamar Christina - - * config/aarch64/aarch64.md (tbranch_3): Restrict to SHORT - and bottom bit only. - -2023-03-09 Andrew Pinski - - PR tree-optimization/108980 - * gimple-array-bounds.cc (array_bounds_checker::check_array_ref): - Reorgnize the call to warning for not strict flexible arrays - to be before the check of warned. - -2023-03-09 Jason Merrill - - * doc/extend.texi: Comment out __is_deducible docs. - -2023-03-09 Jason Merrill - - PR c++/105841 - * doc/extend.texi (Type Traits):: Document __is_deducible. - -2023-03-09 Costas Argyris - - PR driver/108865 - * config.host: add object for x86_64-*-mingw*. - * config/i386/sym-mingw32.cc: dummy file to attach - symbol. - * config/i386/utf8-mingw32.rc: windres resource file. - * config/i386/winnt-utf8.manifest: XML manifest to - enable UTF-8. - * config/i386/x-mingw32: reference to x-mingw32-utf8. - * config/i386/x-mingw32-utf8: Makefile fragment to - embed UTF-8 manifest. - -2023-03-09 Vladimir N. Makarov - - * lra-constraints.cc (process_alt_operands): Use operand modes for - clobbered regs instead of the biggest access mode. - -2023-03-09 Richard Biener - - PR middle-end/108995 - * fold-const.cc (extract_muldiv_1): Avoid folding - (CST * b) / CST2 when sanitizing overflow and we rely on - overflow being undefined. - -2023-03-09 Jakub Jelinek - Richard Biener - - PR tree-optimization/109008 - * range-op-float.cc (float_widen_lhs_range): New function. - (foperator_plus::op1_range, foperator_minus::op1_range, - foperator_minus::op2_range, foperator_mult::op1_range, - foperator_div::op1_range, foperator_div::op2_range): Use it. - -2023-03-07 Jonathan Grant - - PR sanitizer/81649 - * doc/invoke.texi (Instrumentation Options): Clarify - LeakSanitizer behavior. - -2023-03-07 Benson Muite - - * doc/install.texi (Prerequisites): Add link to gmplib.org. - -2023-03-07 Pan Li - Ju-Zhe Zhong - - PR target/108185 - PR target/108654 - * config/riscv/riscv-modes.def (ADJUST_PRECISION): Adjust VNx*BI - modes. - * config/riscv/riscv.cc (riscv_v_adjust_precision): New. - * config/riscv/riscv.h (riscv_v_adjust_precision): New. - * genmodes.cc (adj_precision): New. - (ADJUST_PRECISION): New. - (emit_mode_adjustments): Handle ADJUST_PRECISION. - -2023-03-07 Hans-Peter Nilsson - - * doc/sourcebuild.texi: Document check_effective_target_tail_call. - -2023-03-06 Paul-Antoine Arras - - * config/gcn/gcn-valu.md (3_exec): Add patterns for - {s|u}{max|min} in QI, HI and DI modes. - (3): Add pattern for {s|u}{max|min} in DI mode. - (cond_): Add pattern for cond_f{max|min}. - (cond_): Add pattern for cond_{s|u}{max|min}. - * config/gcn/gcn.cc (gcn_spill_class): Allow the exec register to be - saved in SGPRs. - -2023-03-06 Richard Biener - - PR tree-optimization/109025 - * tree-vect-loop.cc (vect_is_simple_reduction): Verify - the inner LC PHI use is the inner loop PHI latch definition - before classifying an outer PHI as double reduction. - -2023-03-06 Jan Hubicka - - PR target/108429 - * config/i386/x86-tune.def (X86_TUNE_USE_SCATTER_2PARTS): Enable for - generic. - (X86_TUNE_USE_SCATTER_4PARTS): Likewise. - (X86_TUNE_USE_SCATTER): Likewise. - -2023-03-06 Xi Ruoyao - - PR target/109000 - * config/loongarch/loongarch.h (FP_RETURN): Use - TARGET_*_FLOAT_ABI instead of TARGET_*_FLOAT. - (UNITS_PER_FP_ARG): Likewise. - -2023-03-05 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (reg_available_p): Fix bug. - (pass_vsetvl::backward_demand_fusion): Ditto. - -2023-03-05 Liao Shihua - SiYu Wu - - * config/riscv/crypto.md (riscv_sm3p0_): Add ZKSED's and ZKSH's - instructions. - (riscv_sm3p1_): New. - (riscv_sm4ed_): New. - (riscv_sm4ks_): New. - * config/riscv/riscv-builtins.cc (AVAIL): Add ZKSED's and ZKSH's AVAIL. - * config/riscv/riscv-scalar-crypto.def (RISCV_BUILTIN): Add ZKSED's and - ZKSH's built-in functions. - -2023-03-05 Liao Shihua - SiYu Wu - - * config/riscv/crypto.md (riscv_sha256sig0_): Add ZKNH's instructions. - (riscv_sha256sig1_): New. - (riscv_sha256sum0_): New. - (riscv_sha256sum1_): New. - (riscv_sha512sig0h): New. - (riscv_sha512sig0l): New. - (riscv_sha512sig1h): New. - (riscv_sha512sig1l): New. - (riscv_sha512sum0r): New. - (riscv_sha512sum1r): New. - (riscv_sha512sig0): New. - (riscv_sha512sig1): New. - (riscv_sha512sum0): New. - (riscv_sha512sum1): New. - * config/riscv/riscv-builtins.cc (AVAIL): And ZKNH's AVAIL. - * config/riscv/riscv-scalar-crypto.def (RISCV_BUILTIN): And ZKNH's - built-in functions. - (DIRECT_BUILTIN): Add new. - -2023-03-05 Liao Shihua - SiYu Wu - - * config/riscv/constraints.md (D03): Add constants of bs and rnum. - (DsA): New. - * config/riscv/crypto.md (riscv_aes32dsi): Add ZKND's and ZKNE's instructions. - (riscv_aes32dsmi): New. - (riscv_aes64ds): New. - (riscv_aes64dsm): New. - (riscv_aes64im): New. - (riscv_aes64ks1i): New. - (riscv_aes64ks2): New. - (riscv_aes32esi): New. - (riscv_aes32esmi): New. - (riscv_aes64es): New. - (riscv_aes64esm): New. - * config/riscv/riscv-builtins.cc (AVAIL): Add ZKND's and ZKNE's AVAIL. - * config/riscv/riscv-scalar-crypto.def (DIRECT_BUILTIN): Add ZKND's and - ZKNE's built-in functions. - -2023-03-05 Liao Shihua - SiYu Wu - - * config/riscv/bitmanip.md: Add ZBKB's instructions. - * config/riscv/riscv-builtins.cc (AVAIL): Add new. - * config/riscv/riscv.md: Add new type for crypto instructions. - * config/riscv/crypto.md: Add Scalar Cryptography extension's machine - description file. - * config/riscv/riscv-scalar-crypto.def: Add Scalar Cryptography - extension's built-in function file. - -2023-03-05 Liao Shihua - SiYu Wu - - * config/riscv/riscv-builtins.cc (RISCV_FTYPE_NAME2): New. - (RISCV_FTYPE_NAME3): New. - (RISCV_ATYPE_QI): New. - (RISCV_ATYPE_HI): New. - (RISCV_FTYPE_ATYPES2): New. - (RISCV_FTYPE_ATYPES3): New. - * config/riscv/riscv-ftypes.def (2): New. - (3): New. - -2023-03-05 Vineet Gupta - - * config/riscv/riscv.cc (riscv_rtx_costs): Fixed IN_RANGE() to - use exact_log2(). - -2023-03-05 Ju-Zhe Zhong - kito-cheng - - * config/riscv/predicates.md (vector_any_register_operand): New predicate. - * config/riscv/riscv-c.cc (riscv_check_builtin_call): New function. - (riscv_register_pragmas): Add builtin function check call. - * config/riscv/riscv-protos.h (RVV_VUNDEF): Adapt macro. - (check_builtin_call): New function. - * config/riscv/riscv-vector-builtins-bases.cc (class vundefined): New class. - (class vreinterpret): Ditto. - (class vlmul_ext): Ditto. - (class vlmul_trunc): Ditto. - (class vset): Ditto. - (class vget): Ditto. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vluxei8): Change name. - (vluxei16): Ditto. - (vluxei32): Ditto. - (vluxei64): Ditto. - (vloxei8): Ditto. - (vloxei16): Ditto. - (vloxei32): Ditto. - (vloxei64): Ditto. - (vsuxei8): Ditto. - (vsuxei16): Ditto. - (vsuxei32): Ditto. - (vsuxei64): Ditto. - (vsoxei8): Ditto. - (vsoxei16): Ditto. - (vsoxei32): Ditto. - (vsoxei64): Ditto. - (vundefined): Add new intrinsic. - (vreinterpret): Ditto. - (vlmul_ext): Ditto. - (vlmul_trunc): Ditto. - (vset): Ditto. - (vget): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct return_mask_def): New class. - (struct narrow_alu_def): Ditto. - (struct reduc_alu_def): Ditto. - (struct vundefined_def): Ditto. - (struct misc_def): Ditto. - (struct vset_def): Ditto. - (struct vget_def): Ditto. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_EEW8_INTERPRET_OPS): New def. - (DEF_RVV_EEW16_INTERPRET_OPS): Ditto. - (DEF_RVV_EEW32_INTERPRET_OPS): Ditto. - (DEF_RVV_EEW64_INTERPRET_OPS): Ditto. - (DEF_RVV_X2_VLMUL_EXT_OPS): Ditto. - (DEF_RVV_X4_VLMUL_EXT_OPS): Ditto. - (DEF_RVV_X8_VLMUL_EXT_OPS): Ditto. - (DEF_RVV_X16_VLMUL_EXT_OPS): Ditto. - (DEF_RVV_X32_VLMUL_EXT_OPS): Ditto. - (DEF_RVV_X64_VLMUL_EXT_OPS): Ditto. - (DEF_RVV_LMUL1_OPS): Ditto. - (DEF_RVV_LMUL2_OPS): Ditto. - (DEF_RVV_LMUL4_OPS): Ditto. - (vint16mf4_t): Ditto. - (vint16mf2_t): Ditto. - (vint16m1_t): Ditto. - (vint16m2_t): Ditto. - (vint16m4_t): Ditto. - (vint16m8_t): Ditto. - (vint32mf2_t): Ditto. - (vint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vint64m1_t): Ditto. - (vint64m2_t): Ditto. - (vint64m4_t): Ditto. - (vint64m8_t): Ditto. - (vuint16mf4_t): Ditto. - (vuint16mf2_t): Ditto. - (vuint16m1_t): Ditto. - (vuint16m2_t): Ditto. - (vuint16m4_t): Ditto. - (vuint16m8_t): Ditto. - (vuint32mf2_t): Ditto. - (vuint32m1_t): Ditto. - (vuint32m2_t): Ditto. - (vuint32m4_t): Ditto. - (vuint32m8_t): Ditto. - (vuint64m1_t): Ditto. - (vuint64m2_t): Ditto. - (vuint64m4_t): Ditto. - (vuint64m8_t): Ditto. - (vint8mf4_t): Ditto. - (vint8mf2_t): Ditto. - (vint8m1_t): Ditto. - (vint8m2_t): Ditto. - (vint8m4_t): Ditto. - (vint8m8_t): Ditto. - (vuint8mf4_t): Ditto. - (vuint8mf2_t): Ditto. - (vuint8m1_t): Ditto. - (vuint8m2_t): Ditto. - (vuint8m4_t): Ditto. - (vuint8m8_t): Ditto. - (vint8mf8_t): Ditto. - (vuint8mf8_t): Ditto. - (vfloat32mf2_t): Ditto. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat64m1_t): Ditto. - (vfloat64m2_t): Ditto. - (vfloat64m4_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Ditto. - (DEF_RVV_EEW8_INTERPRET_OPS): Ditto. - (DEF_RVV_EEW16_INTERPRET_OPS): Ditto. - (DEF_RVV_EEW32_INTERPRET_OPS): Ditto. - (DEF_RVV_EEW64_INTERPRET_OPS): Ditto. - (DEF_RVV_X2_VLMUL_EXT_OPS): Ditto. - (DEF_RVV_X4_VLMUL_EXT_OPS): Ditto. - (DEF_RVV_X8_VLMUL_EXT_OPS): Ditto. - (DEF_RVV_X16_VLMUL_EXT_OPS): Ditto. - (DEF_RVV_X32_VLMUL_EXT_OPS): Ditto. - (DEF_RVV_X64_VLMUL_EXT_OPS): Ditto. - (DEF_RVV_LMUL1_OPS): Ditto. - (DEF_RVV_LMUL2_OPS): Ditto. - (DEF_RVV_LMUL4_OPS): Ditto. - (DEF_RVV_TYPE_INDEX): Ditto. - (required_extensions_p): Adapt for new intrinsic support/ - (get_required_extensions): New function. - (check_required_extensions): Ditto. - (unsigned_base_type_p): Remove. - (rvv_arg_type_info::get_scalar_ptr_type): New function. - (get_mode_for_bitsize): Remove. - (rvv_arg_type_info::get_scalar_const_ptr_type): New function. - (rvv_arg_type_info::get_base_vector_type): Ditto. - (rvv_arg_type_info::get_function_type_index): Ditto. - (DEF_RVV_BASE_TYPE): New def. - (function_builder::apply_predication): New class. - (function_expander::mask_mode): Ditto. - (function_checker::function_checker): Ditto. - (function_checker::report_non_ice): Ditto. - (function_checker::report_out_of_range): Ditto. - (function_checker::require_immediate): Ditto. - (function_checker::require_immediate_range): Ditto. - (function_checker::check): Ditto. - (check_builtin_call): Ditto. - * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): New def. - (DEF_RVV_BASE_TYPE): Ditto. - (DEF_RVV_TYPE_INDEX): Ditto. - (vbool64_t): Ditto. - (vbool32_t): Ditto. - (vbool16_t): Ditto. - (vbool8_t): Ditto. - (vbool4_t): Ditto. - (vbool2_t): Ditto. - (vbool1_t): Ditto. - (vuint8mf8_t): Ditto. - (vuint8mf4_t): Ditto. - (vuint8mf2_t): Ditto. - (vuint8m1_t): Ditto. - (vuint8m2_t): Ditto. - (vint8m4_t): Ditto. - (vuint8m4_t): Ditto. - (vint8m8_t): Ditto. - (vuint8m8_t): Ditto. - (vint16mf4_t): Ditto. - (vuint16mf2_t): Ditto. - (vuint16m1_t): Ditto. - (vuint16m2_t): Ditto. - (vuint16m4_t): Ditto. - (vuint16m8_t): Ditto. - (vint32mf2_t): Ditto. - (vuint32m1_t): Ditto. - (vuint32m2_t): Ditto. - (vuint32m4_t): Ditto. - (vuint32m8_t): Ditto. - (vuint64m1_t): Ditto. - (vuint64m2_t): Ditto. - (vuint64m4_t): Ditto. - (vuint64m8_t): Ditto. - (vfloat32mf2_t): Ditto. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat32m8_t): Ditto. - (vfloat64m1_t): Ditto. - (vfloat64m4_t): Ditto. - (vector): Move it def. - (scalar): Ditto. - (mask): Ditto. - (signed_vector): Ditto. - (unsigned_vector): Ditto. - (unsigned_scalar): Ditto. - (vector_ptr): Ditto. - (scalar_ptr): Ditto. - (scalar_const_ptr): Ditto. - (void): Ditto. - (size): Ditto. - (ptrdiff): Ditto. - (unsigned_long): Ditto. - (long): Ditto. - (eew8_index): Ditto. - (eew16_index): Ditto. - (eew32_index): Ditto. - (eew64_index): Ditto. - (shift_vector): Ditto. - (double_trunc_vector): Ditto. - (quad_trunc_vector): Ditto. - (oct_trunc_vector): Ditto. - (double_trunc_scalar): Ditto. - (double_trunc_signed_vector): Ditto. - (double_trunc_unsigned_vector): Ditto. - (double_trunc_unsigned_scalar): Ditto. - (double_trunc_float_vector): Ditto. - (float_vector): Ditto. - (lmul1_vector): Ditto. - (widen_lmul1_vector): Ditto. - (eew8_interpret): Ditto. - (eew16_interpret): Ditto. - (eew32_interpret): Ditto. - (eew64_interpret): Ditto. - (vlmul_ext_x2): Ditto. - (vlmul_ext_x4): Ditto. - (vlmul_ext_x8): Ditto. - (vlmul_ext_x16): Ditto. - (vlmul_ext_x32): Ditto. - (vlmul_ext_x64): Ditto. - * config/riscv/riscv-vector-builtins.h (DEF_RVV_BASE_TYPE): New def. - (struct function_type_info): New function. - (struct rvv_arg_type_info): Ditto. - (class function_checker): New class. - (rvv_arg_type_info::get_scalar_type): New function. - (rvv_arg_type_info::get_vector_type): Ditto. - (function_expander::ret_mode): New function. - (function_checker::arg_mode): Ditto. - (function_checker::ret_mode): Ditto. - * config/riscv/t-riscv: Add generator. - * config/riscv/vector-iterators.md: New iterators. - * config/riscv/vector.md (vundefined): New pattern. - (@vundefined): Ditto. - (@vreinterpret): Ditto. - (@vlmul_extx2): Ditto. - (@vlmul_extx4): Ditto. - (@vlmul_extx8): Ditto. - (@vlmul_extx16): Ditto. - (@vlmul_extx32): Ditto. - (@vlmul_extx64): Ditto. - (*vlmul_extx2): Ditto. - (*vlmul_extx4): Ditto. - (*vlmul_extx8): Ditto. - (*vlmul_extx16): Ditto. - (*vlmul_extx32): Ditto. - (*vlmul_extx64): Ditto. - * config/riscv/genrvv-type-indexer.cc: New file. - -2023-03-05 Ju-Zhe Zhong - - * config/riscv/riscv-protos.h (enum vlen_enum): New enum. - (slide1_sew64_helper): New function. - * config/riscv/riscv-v.cc (compute_vlmax): Ditto. - (get_unknown_min_value): Ditto. - (force_vector_length_operand): Ditto. - (gen_no_side_effects_vsetvl_rtx): Ditto. - (get_vl_x2_rtx): Ditto. - (slide1_sew64_helper): Ditto. - * config/riscv/riscv-vector-builtins-bases.cc (class slideop): New class. - (class vrgather): Ditto. - (class vrgatherei16): Ditto. - (class vcompress): Ditto. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vslideup): Ditto. - (vslidedown): Ditto. - (vslide1up): Ditto. - (vslide1down): Ditto. - (vfslide1up): Ditto. - (vfslide1down): Ditto. - (vrgather): Ditto. - (vrgatherei16): Ditto. - (vcompress): Ditto. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_EI16_OPS): New macro. - (vint8mf8_t): Ditto. - (vint8mf4_t): Ditto. - (vint8mf2_t): Ditto. - (vint8m1_t): Ditto. - (vint8m2_t): Ditto. - (vint8m4_t): Ditto. - (vint16mf4_t): Ditto. - (vint16mf2_t): Ditto. - (vint16m1_t): Ditto. - (vint16m2_t): Ditto. - (vint16m4_t): Ditto. - (vint16m8_t): Ditto. - (vint32mf2_t): Ditto. - (vint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vint64m1_t): Ditto. - (vint64m2_t): Ditto. - (vint64m4_t): Ditto. - (vint64m8_t): Ditto. - (vuint8mf8_t): Ditto. - (vuint8mf4_t): Ditto. - (vuint8mf2_t): Ditto. - (vuint8m1_t): Ditto. - (vuint8m2_t): Ditto. - (vuint8m4_t): Ditto. - (vuint16mf4_t): Ditto. - (vuint16mf2_t): Ditto. - (vuint16m1_t): Ditto. - (vuint16m2_t): Ditto. - (vuint16m4_t): Ditto. - (vuint16m8_t): Ditto. - (vuint32mf2_t): Ditto. - (vuint32m1_t): Ditto. - (vuint32m2_t): Ditto. - (vuint32m4_t): Ditto. - (vuint32m8_t): Ditto. - (vuint64m1_t): Ditto. - (vuint64m2_t): Ditto. - (vuint64m4_t): Ditto. - (vuint64m8_t): Ditto. - (vfloat32mf2_t): Ditto. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat32m8_t): Ditto. - (vfloat64m1_t): Ditto. - (vfloat64m2_t): Ditto. - (vfloat64m4_t): Ditto. - (vfloat64m8_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_EI16_OPS): Ditto. - * config/riscv/riscv.md: Adjust RVV instruction types. - * config/riscv/vector-iterators.md (down): New iterator. - (=vd,vr): New attribute. - (UNSPEC_VSLIDE1UP): New unspec. - * config/riscv/vector.md (@pred_slide): New pattern. - (*pred_slide): Ditto. - (*pred_slide_extended): Ditto. - (@pred_gather): Ditto. - (@pred_gather_scalar): Ditto. - (@pred_gatherei16): Ditto. - (@pred_compress): Ditto. - -2023-03-05 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins.cc: Remove void_type_node. - -2023-03-05 Ju-Zhe Zhong - - * config/riscv/constraints.md (Wb1): New constraint. - * config/riscv/predicates.md - (vector_least_significant_set_mask_operand): New predicate. - (vector_broadcast_mask_operand): Ditto. - * config/riscv/riscv-protos.h (enum vlmul_type): Adjust. - (gen_scalar_move_mask): New function. - * config/riscv/riscv-v.cc (gen_scalar_move_mask): Ditto. - * config/riscv/riscv-vector-builtins-bases.cc (class vmv): New class. - (class vmv_s): Ditto. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vmv_x): Ditto. - (vmv_s): Ditto. - (vfmv_f): Ditto. - (vfmv_s): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct scalar_move_def): Ditto. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc (function_expander::mask_mode): Ditto. - (function_expander::use_exact_insn): New function. - (function_expander::use_contiguous_load_insn): New function. - (function_expander::use_contiguous_store_insn): New function. - (function_expander::use_ternop_insn): New function. - (function_expander::use_widen_ternop_insn): New function. - (function_expander::use_scalar_move_insn): New function. - * config/riscv/riscv-vector-builtins.def (s): New operand suffix. - * config/riscv/riscv-vector-builtins.h - (function_expander::add_scalar_move_mask_operand): New class. - * config/riscv/riscv-vsetvl.cc (ignore_vlmul_insn_p): New function. - (scalar_move_insn_p): Ditto. - (has_vsetvl_killed_avl_p): Ditto. - (anticipatable_occurrence_p): Ditto. - (insert_vsetvl): Ditto. - (get_vl_vtype_info): Ditto. - (calculate_sew): Ditto. - (calculate_vlmul): Ditto. - (incompatible_avl_p): Ditto. - (different_sew_p): Ditto. - (different_lmul_p): Ditto. - (different_ratio_p): Ditto. - (different_tail_policy_p): Ditto. - (different_mask_policy_p): Ditto. - (possible_zero_avl_p): Ditto. - (first_ratio_invalid_for_second_sew_p): Ditto. - (first_ratio_invalid_for_second_lmul_p): Ditto. - (second_ratio_invalid_for_first_sew_p): Ditto. - (second_ratio_invalid_for_first_lmul_p): Ditto. - (second_sew_less_than_first_sew_p): Ditto. - (first_sew_less_than_second_sew_p): Ditto. - (compare_lmul): Ditto. - (second_lmul_less_than_first_lmul_p): Ditto. - (first_lmul_less_than_second_lmul_p): Ditto. - (first_ratio_less_than_second_ratio_p): Ditto. - (second_ratio_less_than_first_ratio_p): Ditto. - (DEF_INCOMPATIBLE_COND): Ditto. - (greatest_sew): Ditto. - (first_sew): Ditto. - (second_sew): Ditto. - (first_vlmul): Ditto. - (second_vlmul): Ditto. - (first_ratio): Ditto. - (second_ratio): Ditto. - (vlmul_for_first_sew_second_ratio): Ditto. - (ratio_for_second_sew_first_vlmul): Ditto. - (DEF_SEW_LMUL_FUSE_RULE): Ditto. - (always_unavailable): Ditto. - (avl_unavailable_p): Ditto. - (sew_unavailable_p): Ditto. - (lmul_unavailable_p): Ditto. - (ge_sew_unavailable_p): Ditto. - (ge_sew_lmul_unavailable_p): Ditto. - (ge_sew_ratio_unavailable_p): Ditto. - (DEF_UNAVAILABLE_COND): Ditto. - (same_sew_lmul_demand_p): Ditto. - (propagate_avl_across_demands_p): Ditto. - (reg_available_p): Ditto. - (avl_info::has_non_zero_avl): Ditto. - (vl_vtype_info::has_non_zero_avl): Ditto. - (vector_insn_info::operator>=): Refactor. - (vector_insn_info::parse_insn): Adjust for scalar move. - (vector_insn_info::demand_vl_vtype): Remove. - (vector_insn_info::compatible_p): New function. - (vector_insn_info::compatible_avl_p): Ditto. - (vector_insn_info::compatible_vtype_p): Ditto. - (vector_insn_info::available_p): Ditto. - (vector_insn_info::merge): Ditto. - (vector_insn_info::fuse_avl): Ditto. - (vector_insn_info::fuse_sew_lmul): Ditto. - (vector_insn_info::fuse_tail_policy): Ditto. - (vector_insn_info::fuse_mask_policy): Ditto. - (vector_insn_info::dump): Ditto. - (vector_infos_manager::release): Ditto. - (pass_vsetvl::compute_local_backward_infos): Adjust for scalar move support. - (pass_vsetvl::get_backward_fusion_type): Adjust for scalar move support. - (pass_vsetvl::hard_empty_block_p): Ditto. - (pass_vsetvl::backward_demand_fusion): Ditto. - (pass_vsetvl::forward_demand_fusion): Ditto. - (pass_vsetvl::refine_vsetvls): Ditto. - (pass_vsetvl::cleanup_vsetvls): Ditto. - (pass_vsetvl::commit_vsetvls): Ditto. - (pass_vsetvl::propagate_avl): Ditto. - * config/riscv/riscv-vsetvl.h (enum demand_status): New class. - (struct demands_pair): Ditto. - (struct demands_cond): Ditto. - (struct demands_fuse_rule): Ditto. - * config/riscv/vector-iterators.md: New iterator. - * config/riscv/vector.md (@pred_broadcast): New pattern. - (*pred_broadcast): Ditto. - (*pred_broadcast_extended_scalar): Ditto. - (@pred_extract_first): Ditto. - (*pred_extract_first): Ditto. - (@pred_extract_first_trunc): Ditto. - * config/riscv/riscv-vsetvl.def: New file. - -2023-03-05 Lin Sinan - - * config/riscv/bitmanip.md: allow 0 constant in max/min - pattern. - -2023-03-05 Lin Sinan - - * config/riscv/bitmanip.md: Fix wrong index in the check. - -2023-03-04 Jakub Jelinek - - PR middle-end/109006 - * vec.cc (test_auto_alias): Adjust comment for removal of - m_vecdata. - * read-rtl-function.cc (function_reader::parse_block): Likewise. - * gdbhooks.py: Likewise. - -2023-03-04 Jakub Jelinek - - PR testsuite/108973 - * selftest-diagnostic.cc - (test_diagnostic_context::test_diagnostic_context): Set - caret_max_width to 80. - -2023-03-03 Alexandre Oliva - - * gimple-ssa-warn-access.cc - (pass_waccess::check_dangling_stores): Skip non-stores. - -2023-03-03 Alexandre Oliva - - * config/arm/vfp.md (*thumb2_movsi_vfp): Drop blank after tab - after vmsr and vmrs, and lower the case of P0. - -2023-03-03 Jonathan Wakely - - PR middle-end/109006 - * gdbhooks.py (VecPrinter): Handle vec as well as vec*. - -2023-03-03 Jonathan Wakely - - PR middle-end/109006 - * gdbhooks.py (VecPrinter): Adjust for new vec layout. - -2023-03-03 Jakub Jelinek - - PR c/108986 - * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes): - Return immediately if OPT_Wnonnull or OPT_Wstringop_overflow_ is - suppressed on stmt. For [static %E] warning, print access_nelts - rather than access_size. Fix up comment wording. - -2023-03-03 Robin Dapp - - * config/s390/driver-native.cc (s390_host_detect_local_cpu): Use - arch14 instead of z16. - -2023-03-03 Anthony Green - - * config/moxie/moxie.cc (TARGET_LRA_P): Remove. - -2023-03-03 Anthony Green - - * config/moxie/constraints.md (A, B, W): Change - define_constraint to define_memory_constraint. - -2023-03-03 Xi Ruoyao - - * toplev.cc (process_options): Fix the spelling of - "-fstack-clash-protection". - -2023-03-03 Richard Biener - - PR tree-optimization/109002 - * tree-ssa-pre.cc (compute_partial_antic_aux): Properly - PHI-translate ANTIC_IN. - -2023-03-03 Jakub Jelinek - - PR tree-optimization/108988 - * gimple-fold.cc (gimple_fold_builtin_fputs): Fold len to - size_type_node before passing it as argument to fwrite. Formatting - fixes. - -2023-03-03 Richard Biener - - PR target/108738 - * config/i386/i386.opt (--param x86-stv-max-visits): New param. - * doc/invoke.texi (--param x86-stv-max-visits): Document it. - * config/i386/i386-features.h (scalar_chain::max_visits): New. - (scalar_chain::build): Add bitmap parameter, return boolean. - (scalar_chain::add_insn): Likewise. - (scalar_chain::analyze_register_chain): Likewise. - * config/i386/i386-features.cc (scalar_chain::scalar_chain): - Initialize max_visits. - (scalar_chain::analyze_register_chain): When we exhaust - max_visits, abort. Also abort when running into any - disallowed insn. - (scalar_chain::add_insn): Propagate abort. - (scalar_chain::build): Likewise. When aborting amend - the set of disallowed insn with the insns set. - (convert_scalars_to_vector): Adjust. Do not convert aborted - chains. - -2023-03-03 Richard Biener - - PR debug/108772 - * dwarf2out.cc (dwarf2out_late_global_decl): Do not - generate a DIE for a function scope static. - -2023-03-03 Alexandre Oliva - - * config/vx-common.h (WINT_TYPE): Alias to "wchar_t". - -2023-03-02 Jakub Jelinek - - PR target/108883 - * target.h (emit_support_tinfos_callback): New typedef. - * targhooks.h (default_emit_support_tinfos): Declare. - * targhooks.cc (default_emit_support_tinfos): New function. - * target.def (emit_support_tinfos): New target hook. - * doc/tm.texi.in (emit_support_tinfos): Document it. - * doc/tm.texi: Regenerated. - * config/i386/i386.cc (ix86_emit_support_tinfos): New function. - (TARGET_EMIT_SUPPORT_TINFOS): Redefine. - -2023-03-02 Vladimir N. Makarov - - * ira-costs.cc: Include print-rtl.h. - (record_reg_classes, scan_one_insn): Add code to print debug info. - (record_operand_costs): Find and use smaller cost for hard reg - move. - -2023-03-02 Kwok Cheung Yeung - Paul-Antoine Arras - - * builtins.cc (mathfn_built_in_explicit): New. - * config/gcn/gcn.cc: Include case-cfn-macros.h. - (mathfn_built_in_explicit): Add prototype. - (gcn_vectorize_builtin_vectorized_function): New. - (gcn_libc_has_function): New. - (TARGET_LIBC_HAS_FUNCTION): Define. - (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define. - -2023-03-02 Richard Sandiford - - PR tree-optimization/108979 - * tree-vect-stmts.cc (vectorizable_operation): Don't mask - operations on invariants. - -2023-03-02 Robin Dapp - - * config/s390/predicates.md (vll_bias_operand): Add -1 bias. - * config/s390/s390.cc (s390_option_override_internal): Make - partial vector usage the default from z13 on. - * config/s390/vector.md (len_load_v16qi): Add. - (len_store_v16qi): Add. - -2023-03-02 Andre Vieira - - * simplify-rtx.cc (simplify_context::simplify_subreg): Use byte instead - of constant 0 offset. - -2023-03-02 Robert Suchanek - - * config/mips/mips.cc (mips_set_text_contents_type): Use HOST_WIDE_INT - instead of long. - * config/mips/mips-protos.h (mips_set_text_contents_type): Likewise. - -2023-03-02 Junxian Zhu - - * config.gcc: add -with-{no-}msa build option. - * config/mips/mips.h: Likewise. - * doc/install.texi: Likewise. - -2023-03-02 Richard Sandiford - - PR tree-optimization/108603 - * explow.cc (convert_memory_address_addr_space_1): Only wrap - the result of a recursive call in a CONST if no instructions - were emitted. - -2023-03-02 Richard Sandiford - - PR tree-optimization/108430 - * tree-vect-stmts.cc (vectorizable_condition): Fix handling - of inverted condition. - -2023-03-02 Jakub Jelinek - - PR c++/108934 - * fold-const.cc (native_interpret_expr) : Before memcmp - comparison copy the bytes from ptr to a temporary buffer and clearing - padding bits in there. - -2023-03-01 Tobias Burnus - - PR middle-end/108545 - * gimplify.cc (struct tree_operand_hash_no_se): New. - (omp_index_mapping_groups_1, omp_index_mapping_groups, - omp_reindex_mapping_groups, omp_mapped_by_containing_struct, - omp_tsort_mapping_groups_1, omp_tsort_mapping_groups, - oacc_resolve_clause_dependencies, omp_build_struct_sibling_lists, - gimplify_scan_omp_clauses): Use tree_operand_hash_no_se instead - of tree_operand_hash. - -2023-03-01 LIU Hao - - PR pch/14940 - * config/i386/host-mingw32.cc (mingw32_gt_pch_get_address): - Remove the size limit `pch_VA_max_size` - -2023-03-01 Tobias Burnus - - PR middle-end/108546 - * omp-low.cc (lower_omp_target): Remove optional handling - on the receiver side, i.e. inside target (data), for - use_device_ptr. - -2023-03-01 Jakub Jelinek - - PR debug/108967 - * cfgexpand.cc (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR - and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR. - -2023-03-01 Richard Biener - - PR tree-optimization/108970 - * tree-vect-loop-manip.cc (slpeel_can_duplicate_loop_p): - Check we can copy the BBs. - (slpeel_tree_duplicate_loop_to_edge_cfg): Avoid redundant - check. - (vect_do_peeling): Streamline error handling. - -2023-03-01 Richard Biener - - PR tree-optimization/108950 - * tree-vect-patterns.cc (vect_recog_widen_sum_pattern): - Check oprnd0 is defined in the loop. - * tree-vect-loop.cc (vectorizable_reduction): Record all - operands vector types, compute that of invariants and - properly update their SLP nodes. - -2023-03-01 Kewen Lin - - PR target/108240 - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Allow - implicit powerpc64 setting to be unset if 64 bit is enabled implicitly. - -2023-02-28 Qing Zhao - - PR middle-end/107411 - PR middle-end/107411 - * gimplify.cc (gimple_add_init_for_auto_var): Use sprintf to replace - xasprintf. - * tree-ssa-uninit.cc (warn_uninit): Handle the case when the - LHS varaible of a .DEFERRED_INIT call doesn't have a DECL_NAME. - -2023-02-28 Jakub Jelinek - - PR sanitizer/108894 - * ubsan.cc (ubsan_expand_bounds_ifn): Emit index >= bound - comparison rather than index > bound. - * gimple-fold.cc (gimple_fold_call): Use tree_int_cst_lt - rather than tree_int_cst_le for IFN_UBSAN_BOUND comparison. - * doc/invoke.texi (-fsanitize=bounds): Document that whether - flexible array member-like arrays are instrumented or not depends - on -fstrict-flex-arrays* options of strict_flex_array attributes. - (-fsanitize=bounds-strict): Document that flexible array members - are not instrumented. - -2023-02-27 Uroš Bizjak - - PR target/108922 - Revert: - * config/i386/i386.md (fmodxf3): Enable for flag_finite_math_only only. - (fmod3): Ditto. - (fpremxf4_i387): Ditto. - (reminderxf3): Ditto. - (reminder3): Ditto. - (fprem1xf4_i387): Ditto. - -2023-02-27 Roger Sayle - - * simplify-rtx.cc (simplify_unary_operation_1) : Avoid - generating FFS with mismatched operand and result modes, by using - an explicit SIGN_EXTEND/ZERO_EXTEND. - : Likewise, for POPCOUNT of ZERO_EXTEND. - : Likewise, for PARITY of {ZERO,SIGN}_EXTEND. - -2023-02-27 Patrick Palka - - * hash-table.h (gt_pch_nx(hash_table)): Remove static. - * lra-int.h (lra_change_class): Likewise. - * recog.h (which_op_alt): Likewise. - * sel-sched-ir.h (sel_bb_empty_or_nop_p): Declare inline - instead of static. - -2023-02-27 Takayuki 'January June' Suwa - - * config/xtensa/xtensa-protos.h (xtensa_match_CLAMPS_imms_p): - New prototype. - * config/xtensa/xtensa.cc (xtensa_match_CLAMPS_imms_p): - New function. - * config/xtensa/xtensa.h (TARGET_CLAMPS): New macro definition. - * config/xtensa/xtensa.md (*xtensa_clamps): New insn pattern. - -2023-02-27 Max Filippov - - * config/xtensa/xtensa-dynconfig.cc (xtensa_get_config_v2) - (xtensa_get_config_v3): New functions. - -2023-02-27 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_abs): Fix typo in comment. - -2023-02-27 Lulu Cheng - - * config/host-linux.cc (TRY_EMPTY_VM_SPACE): Modify the value of - the macro to 0x1000000000. - -2023-02-25 Gaius Mulley - - PR modula2/108261 - * doc/gm2.texi (-fm2-pathname): New option documented. - (-fm2-pathnameI): New option documented. - (-fm2-prefix=): New option documented. - (-fruntime-modules=): Update default module list. - -2023-02-25 Max Filippov - - PR target/108919 - * config/xtensa/xtensa-protos.h - (xtensa_prepare_expand_call): Rename to xtensa_expand_call. - * config/xtensa/xtensa.cc (xtensa_prepare_expand_call): Rename - to xtensa_expand_call. - (xtensa_expand_call): Emit the call and add a clobber expression - for the static chain to it in case of windowed ABI. - * config/xtensa/xtensa.md (call, call_value, sibcall) - (sibcall_value): Call xtensa_expand_call and complete expansion - right after that call. - -2023-02-24 Richard Biener - - * vec.h (vec::m_vecdata): Remove. - (vec::m_vecpfx): Align as T to avoid - changing alignment of vec and simplifying - address. - (vec::address): Compute as this + 1. - (vec::embedded_size): Use sizeof the - vector instead of the offset of the m_vecdata member. - (auto_vec::m_data): Turn storage into - uninitialized unsigned char. - (auto_vec::auto_vec): Allow allocation of one - stack member. Initialize m_vec in a special way to - avoid later stringop overflow diagnostics. - * vec.cc (test_auto_alias): New. - (vec_cc_tests): Call it. - -2023-02-24 Richard Biener - - * vec.h (vec::lower_bound): Adjust to - take a const reference to the object, use address to - access data. - (vec::contains): Use address to access data. - (vec::operator[]): Use address instead of - m_vecdata to access data. - (vec::iterate): Likewise. - (vec::copy): Likewise. - (vec::quick_push): Likewise. - (vec::pop): Likewise. - (vec::quick_insert): Likewise. - (vec::ordered_remove): Likewise. - (vec::unordered_remove): Likewise. - (vec::block_remove): Likewise. - (vec::address): Likewise. - -2023-02-24 Martin Liska - - PR sanitizer/108834 - * asan.cc (asan_add_global): Use proper TU name for normal - global variables (and aux_base_name for the artificial one). - -2023-02-24 Jakub Jelinek - - * config/i386/i386-builtin.def: Update description of BDESC - and BDESC_FIRST in file comment to include mask2. - -2023-02-24 Kyrylo Tkachov - - * config/aarch64/aarch64-cores.def (FLAGS): Update comment. - -2023-02-24 Jakub Jelinek - - PR middle-end/108854 - * cgraphclones.cc (duplicate_thunk_for_node): If no parameter - changes are needed, copy at least DECL_ARGUMENTS PARM_DECL - nodes and adjust their DECL_CONTEXT. - -2023-02-24 Jakub Jelinek - - PR target/108881 - * config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16bf, - __builtin_ia32_cvtne2ps2bf16_v16bf_mask, - __builtin_ia32_cvtne2ps2bf16_v16bf_maskz, - __builtin_ia32_cvtne2ps2bf16_v8bf, - __builtin_ia32_cvtne2ps2bf16_v8bf_mask, - __builtin_ia32_cvtne2ps2bf16_v8bf_maskz, - __builtin_ia32_cvtneps2bf16_v8sf_mask, - __builtin_ia32_cvtneps2bf16_v8sf_maskz, - __builtin_ia32_cvtneps2bf16_v4sf_mask, - __builtin_ia32_cvtneps2bf16_v4sf_maskz, - __builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask, - __builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf, - __builtin_ia32_dpbf16ps_v4sf_mask, - __builtin_ia32_dpbf16ps_v4sf_maskz): Require also - OPTION_MASK_ISA_AVX512VL. - -2023-02-24 Sebastian Huber - - * config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs. - Add non-compact 32-bit multilibs. - -2023-02-24 Junxian Zhu - - * config/mips/mips.md (*clo2): New pattern. - -2023-02-24 Prachi Godbole - - * config/mips/mips.h (machine_function): New variable - use_hazard_barrier_return_p. - * config/mips/mips.md (UNSPEC_JRHB): New unspec. - (mips_hb_return_internal): New insn pattern. - * config/mips/mips.cc (mips_attribute_table): Add attribute - use_hazard_barrier_return. - (mips_use_hazard_barrier_return_p): New static function. - (mips_function_attr_inlinable_p): Likewise. - (mips_compute_frame_info): Set use_hazard_barrier_return_p. - Emit error for unsupported architecture choice. - (mips_function_ok_for_sibcall, mips_can_use_return_insn): - Return false for use_hazard_barrier_return. - (mips_expand_epilogue): Emit hazard barrier return. - * doc/extend.texi: Document use_hazard_barrier_return. - -2023-02-23 Max Filippov - - * config/xtensa/xtensa-dynconfig.cc (config.h, system.h) - (coretypes.h, diagnostic.h, intl.h): Use "..." instead of <...> - for the gcc-internal headers. - -2023-02-23 Max Filippov - - * config/xtensa/t-xtensa (xtensa-dynconfig.o): Use $(COMPILE) - and $(POSTCOMPILE) instead of manual dependency listing. - * config/xtensa/xtensa-dynconfig.c: Rename to ... - * config/xtensa/xtensa-dynconfig.cc: ... this. - -2023-02-23 Arsen Arsenović - - * doc/cfg.texi: Reorder index entries around @items. - * doc/cpp.texi: Ditto. - * doc/cppenv.texi: Ditto. - * doc/cppopts.texi: Ditto. - * doc/generic.texi: Ditto. - * doc/install.texi: Ditto. - * doc/extend.texi: Ditto. - * doc/invoke.texi: Ditto. - * doc/md.texi: Ditto. - * doc/rtl.texi: Ditto. - * doc/tm.texi.in: Ditto. - * doc/trouble.texi: Ditto. - * doc/tm.texi: Regenerate. - -2023-02-23 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md: New peephole2 pattern that eliminates - the occurrence of general-purpose register used only once and for - transferring intermediate value. - -2023-02-23 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.cc (machine_function): Add new member - 'eliminated_callee_saved_bmp'. - (xtensa_can_eliminate_callee_saved_reg_p): New function to - determine whether the register can be eliminated or not. - (xtensa_expand_prologue): Add invoking the above function and - elimination the use of callee-saved register by using its stack - slot through the stack pointer (or the frame pointer if needed) - directly. - (xtensa_expand_prologue): Modify to not emit register restoration - insn from its stack slot if the register is already eliminated. - -2023-02-23 Jakub Jelinek - - PR translation/108890 - * config/xtensa/xtensa-dynconfig.c (xtensa_load_config): Drop _()s - around fatal_error format strings. - -2023-02-23 Richard Biener - - * tree-ssa-structalias.cc (handle_lhs_call): Do not - re-create rhsc, only truncate it. - -2023-02-23 Jakub Jelinek - - PR middle-end/106258 - * ipa-prop.cc (try_make_edge_direct_virtual_call): Handle - BUILT_IN_UNREACHABLE_TRAP like BUILT_IN_UNREACHABLE. - -2023-02-23 Richard Biener - - * tree-if-conv.cc (tree_if_conversion): Properly manage - memory of refs and the contained data references. - -2023-02-23 Richard Biener - - PR tree-optimization/108888 - * tree-if-conv.cc (if_convertible_stmt_p): Set PLF_2 on - calls to predicate. - (predicate_statements): Only predicate calls with PLF_2. - -2023-02-23 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md - (zero_cost_loop_start, zero_cost_loop_end, loop_end): - Add missing "SI:" to PLUS RTXes. - -2023-02-23 Max Filippov - - PR target/108876 - * config/xtensa/xtensa.cc (xtensa_expand_epilogue): - Emit (use (reg:SI A0_REG)) at the end in the sibling call - (i.e. the same place as (return) in the normal call). - -2023-02-23 Max Filippov - - Revert: - 2023-02-21 Max Filippov - - PR target/108876 - * config/xtensa/xtensa.cc (xtensa_expand_epilogue): Drop emit_use - for A0_REG. - * config/xtensa/xtensa.md (sibcall, sibcall_internal) - (sibcall_value, sibcall_value_internal): Add 'use' expression - for A0_REG. - -2023-02-23 Arsen Arsenović - - * doc/cppdiropts.texi: Reorder @opindex commands to precede - @items they relate to. - * doc/cppopts.texi: Ditto. - * doc/cppwarnopts.texi: Ditto. - * doc/invoke.texi: Ditto. - * doc/lto.texi: Ditto. - -2023-02-22 Andrew Stubbs - - * internal-fn.cc (expand_MASK_CALL): New. - * internal-fn.def (MASK_CALL): New. - * internal-fn.h (expand_MASK_CALL): New prototype. - * omp-simd-clone.cc (simd_clone_adjust_argument_types): Set vector_type - for mask arguments also. - * tree-if-conv.cc: Include cgraph.h. - (if_convertible_stmt_p): Do if conversions for calls to SIMD calls. - (predicate_statements): Convert functions to IFN_MASK_CALL. - * tree-vect-loop.cc (vect_get_datarefs_in_loop): Recognise - IFN_MASK_CALL as a SIMD function call. - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Handle - IFN_MASK_CALL as an inbranch SIMD function call. - Generate the mask vector arguments. - -2023-02-22 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins-bases.cc (class reducop): New class. - (class widen_reducop): Ditto. - (class freducop): Ditto. - (class widen_freducop): Ditto. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vredsum): Add reduction support. - (vredmaxu): Ditto. - (vredmax): Ditto. - (vredminu): Ditto. - (vredmin): Ditto. - (vredand): Ditto. - (vredor): Ditto. - (vredxor): Ditto. - (vwredsum): Ditto. - (vwredsumu): Ditto. - (vfredusum): Ditto. - (vfredosum): Ditto. - (vfredmax): Ditto. - (vfredmin): Ditto. - (vfwredosum): Ditto. - (vfwredusum): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct reduc_alu_def): Ditto. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_WI_OPS): New macro. - (DEF_RVV_WU_OPS): Ditto. - (DEF_RVV_WF_OPS): Ditto. - (vint8mf8_t): Ditto. - (vint8mf4_t): Ditto. - (vint8mf2_t): Ditto. - (vint8m1_t): Ditto. - (vint8m2_t): Ditto. - (vint8m4_t): Ditto. - (vint8m8_t): Ditto. - (vint16mf4_t): Ditto. - (vint16mf2_t): Ditto. - (vint16m1_t): Ditto. - (vint16m2_t): Ditto. - (vint16m4_t): Ditto. - (vint16m8_t): Ditto. - (vint32mf2_t): Ditto. - (vint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vuint8mf8_t): Ditto. - (vuint8mf4_t): Ditto. - (vuint8mf2_t): Ditto. - (vuint8m1_t): Ditto. - (vuint8m2_t): Ditto. - (vuint8m4_t): Ditto. - (vuint8m8_t): Ditto. - (vuint16mf4_t): Ditto. - (vuint16mf2_t): Ditto. - (vuint16m1_t): Ditto. - (vuint16m2_t): Ditto. - (vuint16m4_t): Ditto. - (vuint16m8_t): Ditto. - (vuint32mf2_t): Ditto. - (vuint32m1_t): Ditto. - (vuint32m2_t): Ditto. - (vuint32m4_t): Ditto. - (vuint32m8_t): Ditto. - (vfloat32mf2_t): Ditto. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat32m8_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_WI_OPS): Ditto. - (DEF_RVV_WU_OPS): Ditto. - (DEF_RVV_WF_OPS): Ditto. - (required_extensions_p): Add reduction support. - (rvv_arg_type_info::get_base_vector_type): Ditto. - (rvv_arg_type_info::get_tree_type): Ditto. - * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Ditto. - * config/riscv/riscv.md: Ditto. - * config/riscv/vector-iterators.md (minu): Ditto. - * config/riscv/vector.md (@pred_reduc_): New patern. - (@pred_reduc_): Ditto. - (@pred_widen_reduc_plus): Ditto. - (@pred_widen_reduc_plus):Ditto. - (@pred_reduc_plus): Ditto. - (@pred_reduc_plus): Ditto. - (@pred_widen_reduc_plus): Ditto. - -2023-02-22 Ju-Zhe Zhong - - * config/riscv/iterators.md: New iterator. - * config/riscv/riscv-vector-builtins-bases.cc (class widen_binop): New class. - (enum ternop_type): New enum. - (class vmacc): New class. - (class imac): Ditto. - (class vnmsac): Ditto. - (enum widen_ternop_type): New enum. - (class vmadd): Ditto. - (class vnmsub): Ditto. - (class iwmac): Ditto. - (class vwmacc): Ditto. - (class vwmaccu): Ditto. - (class vwmaccsu): Ditto. - (class vwmaccus): Ditto. - (class reverse_binop): Ditto. - (class vfmacc): Ditto. - (class vfnmsac): Ditto. - (class vfmadd): Ditto. - (class vfnmsub): Ditto. - (class vfnmacc): Ditto. - (class vfmsac): Ditto. - (class vfnmadd): Ditto. - (class vfmsub): Ditto. - (class vfwmacc): Ditto. - (class vfwnmacc): Ditto. - (class vfwmsac): Ditto. - (class vfwnmsac): Ditto. - (class float_misc): Ditto. - (class fcmp): Ditto. - (class vfclass): Ditto. - (class vfcvt_x): Ditto. - (class vfcvt_rtz_x): Ditto. - (class vfcvt_f): Ditto. - (class vfwcvt_x): Ditto. - (class vfwcvt_rtz_x): Ditto. - (class vfwcvt_f): Ditto. - (class vfncvt_x): Ditto. - (class vfncvt_rtz_x): Ditto. - (class vfncvt_f): Ditto. - (class vfncvt_rod_f): Ditto. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: - * config/riscv/riscv-vector-builtins-functions.def (vzext): Ditto. - (vsext): Ditto. - (vfadd): Ditto. - (vfsub): Ditto. - (vfrsub): Ditto. - (vfwadd): Ditto. - (vfwsub): Ditto. - (vfmul): Ditto. - (vfdiv): Ditto. - (vfrdiv): Ditto. - (vfwmul): Ditto. - (vfmacc): Ditto. - (vfnmsac): Ditto. - (vfmadd): Ditto. - (vfnmsub): Ditto. - (vfnmacc): Ditto. - (vfmsac): Ditto. - (vfnmadd): Ditto. - (vfmsub): Ditto. - (vfwmacc): Ditto. - (vfwnmacc): Ditto. - (vfwmsac): Ditto. - (vfwnmsac): Ditto. - (vfsqrt): Ditto. - (vfrsqrt7): Ditto. - (vfrec7): Ditto. - (vfmin): Ditto. - (vfmax): Ditto. - (vfsgnj): Ditto. - (vfsgnjn): Ditto. - (vfsgnjx): Ditto. - (vfneg): Ditto. - (vfabs): Ditto. - (vmfeq): Ditto. - (vmfne): Ditto. - (vmflt): Ditto. - (vmfle): Ditto. - (vmfgt): Ditto. - (vmfge): Ditto. - (vfclass): Ditto. - (vfmerge): Ditto. - (vfmv_v): Ditto. - (vfcvt_x): Ditto. - (vfcvt_xu): Ditto. - (vfcvt_rtz_x): Ditto. - (vfcvt_rtz_xu): Ditto. - (vfcvt_f): Ditto. - (vfwcvt_x): Ditto. - (vfwcvt_xu): Ditto. - (vfwcvt_rtz_x): Ditto. - (vfwcvt_rtz_xu): Ditto. - (vfwcvt_f): Ditto. - (vfncvt_x): Ditto. - (vfncvt_xu): Ditto. - (vfncvt_rtz_x): Ditto. - (vfncvt_rtz_xu): Ditto. - (vfncvt_f): Ditto. - (vfncvt_rod_f): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Ditto. - (struct move_def): Ditto. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_WEXTF_OPS): New macro. - (DEF_RVV_CONVERT_I_OPS): Ditto. - (DEF_RVV_CONVERT_U_OPS): Ditto. - (DEF_RVV_WCONVERT_I_OPS): Ditto. - (DEF_RVV_WCONVERT_U_OPS): Ditto. - (DEF_RVV_WCONVERT_F_OPS): Ditto. - (vfloat64m1_t): Ditto. - (vfloat64m2_t): Ditto. - (vfloat64m4_t): Ditto. - (vfloat64m8_t): Ditto. - (vint32mf2_t): Ditto. - (vint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vint64m1_t): Ditto. - (vint64m2_t): Ditto. - (vint64m4_t): Ditto. - (vint64m8_t): Ditto. - (vuint32mf2_t): Ditto. - (vuint32m1_t): Ditto. - (vuint32m2_t): Ditto. - (vuint32m4_t): Ditto. - (vuint32m8_t): Ditto. - (vuint64m1_t): Ditto. - (vuint64m2_t): Ditto. - (vuint64m4_t): Ditto. - (vuint64m8_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_CONVERT_I_OPS): Ditto. - (DEF_RVV_CONVERT_U_OPS): Ditto. - (DEF_RVV_WCONVERT_I_OPS): Ditto. - (DEF_RVV_WCONVERT_U_OPS): Ditto. - (DEF_RVV_WCONVERT_F_OPS): Ditto. - (DEF_RVV_F_OPS): Ditto. - (DEF_RVV_WEXTF_OPS): Ditto. - (required_extensions_p): Adjust for floating-point support. - (check_required_extensions): Ditto. - (unsigned_base_type_p): Ditto. - (get_mode_for_bitsize): Ditto. - (rvv_arg_type_info::get_base_vector_type): Ditto. - (rvv_arg_type_info::get_tree_type): Ditto. - * config/riscv/riscv-vector-builtins.def (v_f): New define. - (f): New define. - (f_v): New define. - (xu_v): New define. - (f_w): New define. - (xu_w): New define. - * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): New enum. - (function_expander::arg_mode): New function. - * config/riscv/vector-iterators.md (sof): New iterator. - (vfrecp): Ditto. - (copysign): Ditto. - (n): Ditto. - (msac): Ditto. - (msub): Ditto. - (fixuns_trunc): Ditto. - (floatuns): Ditto. - * config/riscv/vector.md (@pred_broadcast): New pattern. - (@pred_): Ditto. - (@pred__scalar): Ditto. - (@pred__reverse_scalar): Ditto. - (@pred_): Ditto. - (@pred__scalar): Ditto. - (@pred_mul_): Ditto. - (pred_mul__undef_merge): Ditto. - (*pred_): Ditto. - (*pred_): Ditto. - (*pred_mul_): Ditto. - (@pred_mul__scalar): Ditto. - (*pred_mul__undef_merge_scalar): Ditto. - (*pred__scalar): Ditto. - (*pred__scalar): Ditto. - (*pred_mul__scalar): Ditto. - (@pred_neg_mul_): Ditto. - (pred_neg_mul__undef_merge): Ditto. - (*pred_): Ditto. - (*pred_): Ditto. - (*pred_neg_mul_): Ditto. - (@pred_neg_mul__scalar): Ditto. - (*pred_neg_mul__undef_merge_scalar): Ditto. - (*pred__scalar): Ditto. - (*pred__scalar): Ditto. - (*pred_neg_mul__scalar): Ditto. - (@pred_): Ditto. - (@pred_class): Ditto. - (@pred_dual_widen_): Ditto. - (@pred_dual_widen__scalar): Ditto. - (@pred_single_widen_): Ditto. - (@pred_single_widen__scalar): Ditto. - (@pred_widen_mul_): Ditto. - (@pred_widen_mul__scalar): Ditto. - (@pred_widen_neg_mul_): Ditto. - (@pred_widen_neg_mul__scalar): Ditto. - (@pred_cmp): Ditto. - (*pred_cmp): Ditto. - (*pred_cmp_narrow): Ditto. - (@pred_cmp_scalar): Ditto. - (*pred_cmp_scalar): Ditto. - (*pred_cmp_scalar_narrow): Ditto. - (@pred_eqne_scalar): Ditto. - (*pred_eqne_scalar): Ditto. - (*pred_eqne_scalar_narrow): Ditto. - (@pred_merge_scalar): Ditto. - (@pred_fcvt_x_f): Ditto. - (@pred_): Ditto. - (@pred_): Ditto. - (@pred_widen_fcvt_x_f): Ditto. - (@pred_widen_): Ditto. - (@pred_widen_): Ditto. - (@pred_extend): Ditto. - (@pred_narrow_fcvt_x_f): Ditto. - (@pred_narrow_): Ditto. - (@pred_narrow_): Ditto. - (@pred_trunc): Ditto. - (@pred_rod_trunc): Ditto. - -2023-02-22 Jakub Jelinek - - PR middle-end/106258 - * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee, - cgraph_update_edges_for_call_stmt_node, cgraph_node::verify_node): - Handle BUILT_IN_UNREACHABLE_TRAP like BUILT_IN_UNREACHABLE. - * cgraphclones.cc (cgraph_node::create_clone): Likewise. - -2023-02-22 Thomas Schwinge - - * common.opt (-Wcomplain-wrong-lang): New. - * doc/invoke.texi (-Wno-complain-wrong-lang): Document it. - * opts-common.cc (prune_options): Handle it. - * opts-global.cc (complain_wrong_lang): Use it. - -2023-02-21 David Malcolm - - PR analyzer/108830 - * doc/invoke.texi: Document -fno-analyzer-suppress-followups. - -2023-02-21 Max Filippov - - PR target/108876 - * config/xtensa/xtensa.cc (xtensa_expand_epilogue): Drop emit_use - for A0_REG. - * config/xtensa/xtensa.md (sibcall, sibcall_internal) - (sibcall_value, sibcall_value_internal): Add 'use' expression - for A0_REG. - -2023-02-21 Richard Biener - - PR tree-optimization/108691 - * tree-ssa-dce.cc (eliminate_unnecessary_stmts): Remove - assert about calls_setjmp not becoming true when it was false. - -2023-02-21 Richard Biener - - PR tree-optimization/108793 - * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap): - Use convert operands to niter_type when computing num. - -2023-02-21 Richard Biener - - Revert: - 2023-02-13 Richard Biener - - PR tree-optimization/108691 - * tree-cfg.cc (notice_special_calls): When the CFG is built - honor gimple_call_ctrl_altering_p. - * cfgexpand.cc (expand_call_stmt): Clear cfun->calls_setjmp - temporarily if the call is not control-altering. - * calls.cc (emit_call_1): Do not add REG_SETJMP if - cfun->calls_setjmp is not set. Do not alter cfun->calls_setjmp. - -2023-02-21 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.cc (xtensa_call_save_reg): Change to return - true if register A0 (return address register) when -Og is specified. - -2023-02-20 Uroš Bizjak - - * config/i386/predicates.md - (general_x64constmem_operand): New predicate. - * config/i386/i386.md (*cmpqi_ext_1): - Use nonimm_x64constmem_operand. - (*cmpqi_ext_3): Use general_x64constmem_operand. - (*addqi_ext_1): Ditto. - (*testqi_ext_1): Ditto. - (*andqi_ext_1): Ditto. - (*andqi_ext_1_cc): Ditto. - (*qi_ext_1): Ditto. - (*xorqi_ext_1_cc): Ditto. - -2023-02-20 Jakub Jelinek - - PR target/108862 - * config/rs6000/rs6000.md (umaddditi4): Swap gen_maddlddi4 with - gen_umadddi4_highpart{,_le}. - -2023-02-20 Kito Cheng - - * config/riscv/riscv.md (prefetch): Use r instead of p for the - address operand. - (riscv_prefetchi_): Ditto. - -2023-02-20 Richard Biener - - PR tree-optimization/108816 - * tree-vect-loop-manip.cc (vect_loop_versioning): Adjust - versioning condition split prerequesite, assert required - invariant. - -2023-02-20 Richard Biener - - PR tree-optimization/108825 - * tree-ssa-loop-manip.cc (verify_loop_closed_ssa): For - loop-local verfication only verify there's no pending SSA - update. - -2023-02-20 Richard Biener - - PR tree-optimization/108819 - * tree-ssa-loop-niter.cc (number_of_iterations_cltz): Check - we have an SSA name as iv_2 as expected. - -2023-02-18 Jakub Jelinek - - PR tree-optimization/108819 - * tree-ssa-reassoc.cc (update_ops): Fold new stmt in place. - -2023-02-18 Jakub Jelinek - - PR target/108832 - * config/i386/i386-protos.h (ix86_replace_reg_with_reg): Declare. - * config/i386/i386-expand.cc (ix86_replace_reg_with_reg): New - function. - * config/i386/i386.md: Replace replace_rtx calls in all peephole2s - with ix86_replace_reg_with_reg. - -2023-02-18 Gerald Pfeifer - - * doc/invoke.texi (AVR Options): Update link to AVR-LibC. - -2023-02-18 Xi Ruoyao - - * config.gcc (triplet_abi): Set its value based on $with_abi, - instead of $target. - (la_canonical_triplet): Set it after $triplet_abi is set - correctly. - * config/loongarch/t-linux (MULTILIB_OSDIRNAMES): Make the - multiarch tuple for lp64d "loongarch64-linux-gnu" (without - "f64" suffix). - -2023-02-18 Andrew Pinski - - * match.pd: Remove #if GIMPLE around the - "1 - a" pattern - -2023-02-18 Andrew Pinski - - * value-query.h (get_range_query): Return the global ranges - for a nullptr func. - -2023-02-17 Siddhesh Poyarekar - - * doc/invoke.texi (@item -Wall): Fix typo in - -Wuse-after-free. - -2023-02-17 Uroš Bizjak - - PR target/108831 - * config/i386/predicates.md - (nonimm_x64constmem_operand): New predicate. - * config/i386/i386.md (*addqi_ext_0): New insn pattern. - (*subqi_ext_0): Ditto. - (*andqi_ext_0): Ditto. - (*qi_ext_0): Ditto. - -2023-02-17 Uroš Bizjak - - PR target/108805 - * simplify-rtx.cc (simplify_context::simplify_subreg): Use - int_outermode instead of GET_MODE (tem) to prevent - VOIDmode from entering simplify_gen_subreg. - -2023-02-17 Richard Biener - - PR tree-optimization/108821 - * tree-ssa-loop-im.cc (sm_seq_valid_bb): We can also not - move volatile accesses. - -2023-02-17 Richard Biener - - * tree-ssa.cc (ssa_undefined_value_p): Assert we are not - called on virtual operands. - * tree-ssa-sccvn.cc (vn_phi_lookup): Guard - ssa_undefined_value_p calls. - (vn_phi_insert): Likewise. - (set_ssa_val_to): Likewise. - (visit_phi): Avoid extra work with equivalences for - virtual operand PHIs. - -2023-02-17 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins-bases.cc (class mask_logic): New - class. - (class mask_nlogic): Ditto. - (class mask_notlogic): Ditto. - (class vmmv): Ditto. - (class vmclr): Ditto. - (class vmset): Ditto. - (class vmnot): Ditto. - (class vcpop): Ditto. - (class vfirst): Ditto. - (class mask_misc): Ditto. - (class viota): Ditto. - (class vid): Ditto. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vmand): Ditto. - (vmnand): Ditto. - (vmandn): Ditto. - (vmxor): Ditto. - (vmor): Ditto. - (vmnor): Ditto. - (vmorn): Ditto. - (vmxnor): Ditto. - (vmmv): Ditto. - (vmclr): Ditto. - (vmset): Ditto. - (vmnot): Ditto. - (vcpop): Ditto. - (vfirst): Ditto. - (vmsbf): Ditto. - (vmsif): Ditto. - (vmsof): Ditto. - (viota): Ditto. - (vid): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Ditto. - (struct mask_alu_def): Ditto. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc: Ditto. - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::cleanup_insns): Fix bug - for dest it scalar RVV intrinsics. - * config/riscv/vector-iterators.md (sof): New iterator. - * config/riscv/vector.md (@pred_n): New pattern. - (@pred_not): New pattern. - (@pred_popcount): New pattern. - (@pred_ffs): New pattern. - (@pred_): New pattern. - (@pred_iota): New pattern. - (@pred_series): New pattern. - -2023-02-17 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins-functions.def (vadc): Rename. - (vsbc): Ditto. - (vmerge): Ditto. - (vmv_v): Ditto. - * config/riscv/riscv-vector-builtins.cc: Ditto. - -2023-02-17 Ju-Zhe Zhong - kito-cheng - - * config/riscv/riscv-protos.h (sew64_scalar_helper): New function. - * config/riscv/riscv-v.cc (has_vi_variant_p): Adjust. - (sew64_scalar_helper): New function. - * config/riscv/vector.md: Normalization. - -2023-02-17 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins-functions.def (vsetvlmax): Rearrange. - (vsm): Ditto. - (vsse): Ditto. - (vsoxei64): Ditto. - (vsub): Ditto. - (vand): Ditto. - (vor): Ditto. - (vxor): Ditto. - (vsll): Ditto. - (vsra): Ditto. - (vsrl): Ditto. - (vmin): Ditto. - (vmax): Ditto. - (vminu): Ditto. - (vmaxu): Ditto. - (vmul): Ditto. - (vmulh): Ditto. - (vmulhu): Ditto. - (vmulhsu): Ditto. - (vdiv): Ditto. - (vrem): Ditto. - (vdivu): Ditto. - (vremu): Ditto. - (vnot): Ditto. - (vsext): Ditto. - (vzext): Ditto. - (vwadd): Ditto. - (vwsub): Ditto. - (vwmul): Ditto. - (vwmulu): Ditto. - (vwmulsu): Ditto. - (vwaddu): Ditto. - (vwsubu): Ditto. - (vsbc): Ditto. - (vmsbc): Ditto. - (vnsra): Ditto. - (vmerge): Ditto. - (vmv_v): Ditto. - (vmsne): Ditto. - (vmslt): Ditto. - (vmsgt): Ditto. - (vmsle): Ditto. - (vmsge): Ditto. - (vmsltu): Ditto. - (vmsgtu): Ditto. - (vmsleu): Ditto. - (vmsgeu): Ditto. - (vnmsac): Ditto. - (vmadd): Ditto. - (vnmsub): Ditto. - (vwmacc): Ditto. - (vsadd): Ditto. - (vssub): Ditto. - (vssubu): Ditto. - (vaadd): Ditto. - (vasub): Ditto. - (vasubu): Ditto. - (vsmul): Ditto. - (vssra): Ditto. - (vssrl): Ditto. - (vnclip): Ditto. - -2023-02-17 Ju-Zhe Zhong - - * config/riscv/vector.md (@pred_): Rearrange. - (@pred__scalar): Ditto. - (*pred__scalar): Ditto. - (*pred__extended_scalar): Ditto. - -2023-02-17 Ju-Zhe Zhong - - * config/riscv/riscv-protos.h (riscv_run_selftests): Remove 'extern'. - (init_builtins): Ditto. - (mangle_builtin_type): Ditto. - (verify_type_context): Ditto. - (handle_pragma_vector): Ditto. - (builtin_decl): Ditto. - (expand_builtin): Ditto. - (const_vec_all_same_in_range_p): Ditto. - (legitimize_move): Ditto. - (emit_vlmax_op): Ditto. - (emit_nonvlmax_op): Ditto. - (get_vlmul): Ditto. - (get_ratio): Ditto. - (get_ta): Ditto. - (get_ma): Ditto. - (get_avl_type): Ditto. - (calculate_ratio): Ditto. - (enum vlmul_type): Ditto. - (simm5_p): Ditto. - (neg_simm5_p): Ditto. - (has_vi_variant_p): Ditto. - -2023-02-17 Ju-Zhe Zhong - - * config/riscv/riscv-protos.h (simm32_p): Remove. - * config/riscv/riscv-v.cc (simm32_p): Ditto. - * config/riscv/vector.md: Use immediate_operand - instead of riscv_vector::simm32_p. - -2023-02-16 Gerald Pfeifer - - * doc/invoke.texi (Optimize Options): Reword the explanation - getting minimal, maximal and default values of a parameter. - -2023-02-16 Patrick Palka - - * addresses.h: Mechanically drop 'static' from 'static inline' - functions via s/^static inline/inline/g. - * asan.h: Likewise. - * attribs.h: Likewise. - * basic-block.h: Likewise. - * bitmap.h: Likewise. - * cfghooks.h: Likewise. - * cfgloop.h: Likewise. - * cgraph.h: Likewise. - * cselib.h: Likewise. - * data-streamer.h: Likewise. - * debug.h: Likewise. - * df.h: Likewise. - * diagnostic.h: Likewise. - * dominance.h: Likewise. - * dumpfile.h: Likewise. - * emit-rtl.h: Likewise. - * except.h: Likewise. - * expmed.h: Likewise. - * expr.h: Likewise. - * fixed-value.h: Likewise. - * gengtype.h: Likewise. - * gimple-expr.h: Likewise. - * gimple-iterator.h: Likewise. - * gimple-predict.h: Likewise. - * gimple-range-fold.h: Likewise. - * gimple-ssa.h: Likewise. - * gimple.h: Likewise. - * graphite.h: Likewise. - * hard-reg-set.h: Likewise. - * hash-map.h: Likewise. - * hash-set.h: Likewise. - * hash-table.h: Likewise. - * hwint.h: Likewise. - * input.h: Likewise. - * insn-addr.h: Likewise. - * internal-fn.h: Likewise. - * ipa-fnsummary.h: Likewise. - * ipa-icf-gimple.h: Likewise. - * ipa-inline.h: Likewise. - * ipa-modref.h: Likewise. - * ipa-prop.h: Likewise. - * ira-int.h: Likewise. - * ira.h: Likewise. - * lra-int.h: Likewise. - * lra.h: Likewise. - * lto-streamer.h: Likewise. - * memmodel.h: Likewise. - * omp-general.h: Likewise. - * optabs-query.h: Likewise. - * optabs.h: Likewise. - * plugin.h: Likewise. - * pretty-print.h: Likewise. - * range.h: Likewise. - * read-md.h: Likewise. - * recog.h: Likewise. - * regs.h: Likewise. - * rtl-iter.h: Likewise. - * rtl.h: Likewise. - * sbitmap.h: Likewise. - * sched-int.h: Likewise. - * sel-sched-ir.h: Likewise. - * sese.h: Likewise. - * sparseset.h: Likewise. - * ssa-iterators.h: Likewise. - * system.h: Likewise. - * target-globals.h: Likewise. - * target.h: Likewise. - * timevar.h: Likewise. - * tree-chrec.h: Likewise. - * tree-data-ref.h: Likewise. - * tree-iterator.h: Likewise. - * tree-outof-ssa.h: Likewise. - * tree-phinodes.h: Likewise. - * tree-scalar-evolution.h: Likewise. - * tree-sra.h: Likewise. - * tree-ssa-alias.h: Likewise. - * tree-ssa-live.h: Likewise. - * tree-ssa-loop-manip.h: Likewise. - * tree-ssa-loop.h: Likewise. - * tree-ssa-operands.h: Likewise. - * tree-ssa-propagate.h: Likewise. - * tree-ssa-sccvn.h: Likewise. - * tree-ssa.h: Likewise. - * tree-ssanames.h: Likewise. - * tree-streamer.h: Likewise. - * tree-switch-conversion.h: Likewise. - * tree-vectorizer.h: Likewise. - * tree.h: Likewise. - * wide-int.h: Likewise. - -2023-02-16 Jakub Jelinek - - PR tree-optimization/108657 - * tree-ssa-dse.cc (initialize_ao_ref_for_dse): If lhs of stmt - exists and is not a SSA_NAME, call ao_ref_init even if the stmt - is a call to internal or builtin function. - -2023-02-16 Jonathan Wakely - - * doc/invoke.texi (C++ Dialect Options): Suggest adding a - using-declaration to unhide functions. - -2023-02-16 Jakub Jelinek - - PR tree-optimization/108783 - * tree-ssa-reassoc.cc (eliminate_redundant_comparison): If lcode - is equal to TREE_CODE (t), op1 to newop1 and op2 to newop2, set - t to curr->op. Otherwise, punt if either newop1 or newop2 are - SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs. - -2023-02-16 Richard Biener - - PR tree-optimization/108791 - * tree-ssa-forwprop.cc (optimize_vector_load): Build - the ADDR_EXPR of a TARGET_MEM_REF using a more meaningful - type. - -2023-02-15 Eric Botcazou - - PR target/90458 - * config/i386/i386.cc (ix86_compute_frame_layout): Disable the - effects of -fstack-clash-protection for TARGET_STACK_PROBE. - (ix86_expand_prologue): Likewise. - -2023-02-15 Jan-Benedict Glaw - - * config/bpf/bpf.cc (bpf_option_override): Fix doubled space. - -2023-02-15 Uroš Bizjak - - * config/i386/i386.md (*cmpqi_ext_1): Use - int248_register_operand predicate in zero_extract sub-RTX. - (*cmpqi_ext_2): Ditto. - (*cmpqi_ext_3): Ditto. - (*cmpqi_ext_4): Ditto. - (*extzvqi_mem_rex64): Ditto. - (*extzvqi): Ditto. - (*insvqi_1_mem_rex64): Ditto. - (@insv_1): Ditto. - (*insvqi_1): Ditto. - (*insvqi_2): Ditto. - (*insvqi_3): Ditto. - (*extendqi_ext_1): Ditto. - (*addqi_ext_1): Ditto. - (*addqi_ext_2): Ditto. - (*subqi_ext_2): Ditto. - (*testqi_ext_1): Ditto. - (*testqi_ext_2): Ditto. - (*andqi_ext_1): Ditto. - (*andqi_ext_1_cc): Ditto. - (*andqi_ext_2): Ditto. - (*qi_ext_1): Ditto. - (*qi_ext_2): Ditto. - (*xorqi_ext_1_cc): Ditto. - (*negqi_ext_2): Ditto. - (*ashlqi_ext_2): Ditto. - (*qi_ext_2): Ditto. - -2023-02-15 Uroš Bizjak - - * config/i386/predicates.md (int248_register_operand): - Rename from extr_register_operand. - * config/i386/i386.md (*extv): Update for renamed predicate. - (*extzx): Ditto. - (*ashl3_doubleword_mask): Use int248_register_operand predicate. - (*ashl3_mask): Ditto. - (*3_mask): Ditto. - (*3_doubleword_mask): Ditto. - (*3_mask): Ditto. - (*_mask): Ditto. - (*btr_mask): Ditto. - (*jcc_bt_mask_1): Ditto. - -2023-02-15 Richard Biener - - PR middle-end/26854 - * df-core.cc (df_worklist_propagate_forward): Put later - blocks on worklist and only earlier blocks on pending. - (df_worklist_propagate_backward): Likewise. - (df_worklist_dataflow_doublequeue): Change the iteration - to process new blocks in the same iteration if that - maintains the iteration order. - -2023-02-15 Marek Polacek - - PR middle-end/106080 - * gimple-ssa-warn-access.cc (is_auto_decl): Remove. Use auto_var_p - instead. - -2023-02-15 Ju-Zhe Zhong - - * config/riscv/predicates.md: Refine codes. - * config/riscv/riscv-protos.h (RVV_VUNDEF): New macro. - * config/riscv/riscv-v.cc: Refine codes. - * config/riscv/riscv-vector-builtins-bases.cc (enum ternop_type): New - enum. - (class imac): New class. - (enum widen_ternop_type): New enum. - (class iwmac): New class. - (BASE): New class. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vmacc): Ditto. - (vnmsac): Ditto. - (vmadd): Ditto. - (vnmsub): Ditto. - (vwmacc): Ditto. - (vwmaccu): Ditto. - (vwmaccsu): Ditto. - (vwmaccus): Ditto. - * config/riscv/riscv-vector-builtins.cc - (function_builder::apply_predication): Adjust for multiply-add support. - (function_expander::add_vundef_operand): Refine codes. - (function_expander::use_ternop_insn): New function. - (function_expander::use_widen_ternop_insn): Ditto. - * config/riscv/riscv-vector-builtins.h: New function. - * config/riscv/vector.md (@pred_mul_): New pattern. - (pred_mul__undef_merge): Ditto. - (*pred_): Ditto. - (*pred_): Ditto. - (*pred_mul_): Ditto. - (@pred_mul__scalar): Ditto. - (*pred_mul__undef_merge_scalar): Ditto. - (*pred__scalar): Ditto. - (*pred__scalar): Ditto. - (*pred_mul__scalar): Ditto. - (*pred_mul__undef_merge_extended_scalar): Ditto. - (*pred__extended_scalar): Ditto. - (*pred__extended_scalar): Ditto. - (*pred_mul__extended_scalar): Ditto. - (@pred_widen_mul_plus): Ditto. - (@pred_widen_mul_plus_scalar): Ditto. - (@pred_widen_mul_plussu): Ditto. - (@pred_widen_mul_plussu_scalar): Ditto. - (@pred_widen_mul_plusus_scalar): Ditto. - -2023-02-15 Ju-Zhe Zhong - - * config/riscv/predicates.md (vector_mask_operand): Refine the codes. - (vector_all_trues_mask_operand): New predicate. - (vector_undef_operand): New predicate. - (ltge_operator): New predicate. - (comparison_except_ltge_operator): New predicate. - (comparison_except_eqge_operator): New predicate. - (ge_operator): New predicate. - * config/riscv/riscv-v.cc (has_vi_variant_p): Add compare support. - * config/riscv/riscv-vector-builtins-bases.cc (class icmp): New class. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vmseq): Ditto. - (vmsne): Ditto. - (vmslt): Ditto. - (vmsgt): Ditto. - (vmsle): Ditto. - (vmsge): Ditto. - (vmsltu): Ditto. - (vmsgtu): Ditto. - (vmsleu): Ditto. - (vmsgeu): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc - (struct return_mask_def): Adjust for compare support. - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_compare_insn): New function. - * config/riscv/riscv-vector-builtins.h - (function_expander::add_integer_operand): Ditto. - * config/riscv/riscv.cc (riscv_print_operand): Add compare support. - * config/riscv/riscv.md: Add vector min/max attributes. - * config/riscv/vector-iterators.md (xnor): New iterator. - * config/riscv/vector.md (@pred_cmp): New pattern. - (*pred_cmp): Ditto. - (*pred_cmp_narrow): Ditto. - (@pred_ltge): Ditto. - (*pred_ltge): Ditto. - (*pred_ltge_narrow): Ditto. - (@pred_cmp_scalar): Ditto. - (*pred_cmp_scalar): Ditto. - (*pred_cmp_scalar_narrow): Ditto. - (@pred_eqne_scalar): Ditto. - (*pred_eqne_scalar): Ditto. - (*pred_eqne_scalar_narrow): Ditto. - (*pred_cmp_extended_scalar): Ditto. - (*pred_cmp_extended_scalar_narrow): Ditto. - (*pred_eqne_extended_scalar): Ditto. - (*pred_eqne_extended_scalar_narrow): Ditto. - (@pred_ge_scalar): Ditto. - (@pred_): Ditto. - (@pred_n): Ditto. - (@pred_n): Ditto. - (@pred_not): Ditto. - -2023-02-15 Martin Jambor - - PR ipa/108679 - * ipa-sra.cc (push_param_adjustments_for_index): Do not omit - creation of non-scalar replacements even if IPA-CP knows their - contents. - -2023-02-15 Jakub Jelinek - - PR target/108787 - PR target/103109 - * config/rs6000/rs6000.md (maddditi4): Change into umaddditi4 only - expander, change operand 3 to be TImode, emit maddlddi4 and - umadddi4_highpart{,_le} with its low half and finally add the high - half to the result. - -2023-02-15 Martin Liska - - * doc/invoke.texi: Document --param=asan-kernel-mem-intrinsic-prefix. - -2023-02-15 Richard Biener - - * sanopt.cc (sanitize_asan_mark_unpoison): Use bitmap - for with_poison and alias worklist to it. - (sanitize_asan_mark_poison): Likewise. - -2023-02-15 Richard Biener - - PR target/108738 - * config/i386/i386-features.cc (scalar_chain::add_to_queue): - Combine bitmap test and set. - (scalar_chain::add_insn): Likewise. - (scalar_chain::analyze_register_chain): Remove redundant - attempt to add to queue and instead strengthen assert. - Sink common attempts to mark the def dual-mode. - (scalar_chain::add_to_queue): Remove redundant insn bitmap - check. - -2023-02-15 Richard Biener - - PR target/108738 - * config/i386/i386-features.cc (convert_scalars_to_vector): - Switch candidates bitmaps to tree view before building the chains. - -2023-02-15 Hans-Peter Nilsson - - * reload1.cc (gen_reload): Correct rtx parameter for fatal_insn - "failure trying to reload" call. - -2023-02-15 Hans-Peter Nilsson - - * gdbinit.in (phrs): New command. - * sel-sched-dump.cc (debug_hard_reg_set): Remove debug-function. - * ira-color.cc (debug_hard_reg_set): New, calling print_hard_reg_set. - -2023-02-14 David Faust - - PR target/108790 - * config/bpf/constraints.md (q): New memory constraint. - * config/bpf/bpf.md (zero_extendhidi2): Use it here. - (zero_extendqidi2): Likewise. - (zero_extendsidi2): Likewise. - (*mov): Likewise. - -2023-02-14 Andrew Pinski - - PR tree-optimization/108355 - PR tree-optimization/96921 - * match.pd: Add pattern for "1 - bool_val". - -2023-02-14 Richard Biener - - * tree-ssa-sccvn.cc (vn_phi_compute_hash): Key skipping - basic block index hashing on the availability of ->cclhs. - (vn_phi_eq): Avoid re-doing sanity checks for CSE but - rely on ->cclhs availability. - (vn_phi_lookup): Set ->cclhs only when we are eventually - going to CSE the PHI. - (vn_phi_insert): Likewise. - -2023-02-14 Eric Botcazou - - * gimplify.cc (gimplify_save_expr): Add missing guard. - -2023-02-14 Richard Biener - - PR tree-optimization/108782 - * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): - Make sure we're not vectorizing an inner loop. - -2023-02-14 Jakub Jelinek - - PR sanitizer/108777 - * params.opt (-param=asan-kernel-mem-intrinsic-prefix=): New param. - * asan.h (asan_memfn_rtl): Declare. - * asan.cc (asan_memfn_rtls): New variable. - (asan_memfn_rtl): New function. - * builtins.cc (expand_builtin): If - param_asan_kernel_mem_intrinsic_prefix and function is - kernel-{,hw}address sanitized, emit calls to - __{,hw}asan_{memcpy,memmove,memset} rather than - {memcpy,memmove,memset}. Use sanitize_flags_p (SANITIZE_ADDRESS) - instead of flag_sanitize & SANITIZE_ADDRESS to check if - asan_intercepted_p functions shouldn't be expanded inline. - -2023-02-14 Richard Sandiford - - PR tree-optimization/96373 - * tree-vect-stmts.cc (vectorizable_operation): Predicate trapping - operations on the loop mask. Reject partial vectors if this isn't - possible. - -2023-02-13 Richard Sandiford - - PR rtl-optimization/108681 - * lra-spills.cc (lra_final_code_change): Extend subreg replacement - code to handle bare uses and clobbers. - -2023-02-13 Vladimir N. Makarov - - * ira.cc (ira_update_equiv_info_by_shuffle_insn): Clear equiv - caller_save_p flag when clearing defined_p flag. - (setup_reg_equiv): Ditto. - * lra-constraints.cc (lra_constraints): Ditto. - -2023-02-13 Uroš Bizjak - - PR target/108516 - * config/i386/predicates.md (extr_register_operand): - New special predicate. - * config/i386/i386.md (*extv): Use extr_register_operand - as operand 1 predicate. - (*exzv): Ditto. - (*extendqi_ext_1): New insn pattern. - -2023-02-13 Richard Biener - - PR tree-optimization/28614 - * tree-ssa-sccvn.cc (can_track_predicate_on_edge): Avoid - walking all edges in most cases. - (vn_nary_op_insert_pieces_predicated): Avoid repeated - calls to can_track_predicate_on_edge unless checking is - enabled. - (process_bb): Instead call it once here for each edge - we register possibly multiple predicates on. - -2023-02-13 Richard Biener - - PR tree-optimization/108691 - * tree-cfg.cc (notice_special_calls): When the CFG is built - honor gimple_call_ctrl_altering_p. - * cfgexpand.cc (expand_call_stmt): Clear cfun->calls_setjmp - temporarily if the call is not control-altering. - * calls.cc (emit_call_1): Do not add REG_SETJMP if - cfun->calls_setjmp is not set. Do not alter cfun->calls_setjmp. - -2023-02-13 Stefan Schulze Frielinghaus - - PR target/108102 - * config/s390/s390.cc (s390_bb_fallthru_entry_likely): Remove. - (struct s390_sched_state): Initialise to zero. - (s390_sched_variable_issue): For better debuggability also emit - the current side. - (s390_sched_init): Unconditionally reset scheduler state. - -2023-02-13 Richard Sandiford - - * ifcvt.h (noce_if_info::cond_inverted): New field. - * ifcvt.cc (cond_move_convert_if_block): Swap the then and else - values when cond_inverted is true. - (noce_find_if_block): Allow the condition to be inverted when - handling conditional moves. - -2023-02-13 Stefan Schulze Frielinghaus - - * config/s390/predicates.md (execute_operation): Use - constrain_operands instead of extract_constrain_insn in order to - determine wheter there exists a valid alternative. - -2023-02-13 Claudiu Zissulescu - - * common/config/arc/arc-common.cc (arc_option_optimization_table): - Remove millicode from list. - -2023-02-13 Martin Liska - - * doc/invoke.texi: Document ira-simple-lra-insn-threshold. - -2023-02-13 Richard Biener - - PR tree-optimization/106722 - * tree-ssa-dce.cc (mark_last_stmt_necessary): Return - whether we marked a stmt. - (mark_control_dependent_edges_necessary): When - mark_last_stmt_necessary didn't mark any stmt make sure - to mark its control dependent edges. - (propagate_necessity): Likewise. - -2023-02-13 Kito Cheng - - * config/riscv/riscv.h (RISCV_DWARF_VLENB): New. - (DWARF_FRAME_REGISTERS): New. - (DWARF_REG_TO_UNWIND_COLUMN): New. - -2023-02-12 Gerald Pfeifer - - * doc/sourcebuild.texi: Remove (broken) direct reference to - "The GNU configure and build system". - -2023-02-12 Jin Ma - - * config/riscv/riscv.cc (riscv_adjust_libcall_cfi_prologue): Change - gen_add3_insn to gen_rtx_SET. - (riscv_adjust_libcall_cfi_epilogue): Likewise. - -2023-02-12 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins-bases.cc (class sat_op): New class. - (class vnclip): Ditto. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vaadd): Ditto. - (vasub): Ditto. - (vaaddu): Ditto. - (vasubu): Ditto. - (vsmul): Ditto. - (vssra): Ditto. - (vssrl): Ditto. - (vnclipu): Ditto. - (vnclip): Ditto. - * config/riscv/vector-iterators.md (su): Add instruction. - (aadd): Ditto. - (vaalu): Ditto. - * config/riscv/vector.md (@pred_): New pattern. - (@pred__scalar): Ditto. - (*pred__scalar): Ditto. - (*pred__extended_scalar): Ditto. - (@pred_narrow_clip): Ditto. - (@pred_narrow_clip_scalar): Ditto. - -2023-02-12 Ju-Zhe Zhong - - * config/riscv/constraints.md (Wbr): Remove unused constraint. - * config/riscv/predicates.md: Fix move operand predicate. - * config/riscv/riscv-vector-builtins-bases.cc (class vnshift): New class. - (class vncvt_x): Ditto. - (class vmerge): Ditto. - (class vmv_v): Ditto. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vsra): Ditto. - (vsrl): Ditto. - (vnsrl): Ditto. - (vnsra): Ditto. - (vncvt_x): Ditto. - (vmerge): Ditto. - (vmv_v): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct narrow_alu_def): Ditto. - (struct move_def): Ditto. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_WEXTI_OPS): New variable. - (DEF_RVV_WEXTU_OPS): Ditto - * config/riscv/riscv-vector-builtins.def (x_x_w): Fix type for suffix. - (v_v): Ditto. - (v_x): Ditto. - (x_w): Ditto. - (x): Ditto. - * config/riscv/riscv.cc (riscv_print_operand): Refine ASM printting rule. - * config/riscv/vector-iterators.md (nmsac):New iterator. - (nmsub): New iterator. - * config/riscv/vector.md (@pred_merge): New pattern. - (@pred_merge_scalar): New pattern. - (*pred_merge_scalar): New pattern. - (*pred_merge_extended_scalar): New pattern. - (@pred_narrow_): New pattern. - (@pred_narrow__scalar): New pattern. - (@pred_trunc): New pattern. - -2023-02-12 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins-bases.cc (class vmadc): New class. - (class vmsbc): Ditto. - (BASE): Define new class. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vmadc): New define. - (vmsbc): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct return_mask_def): - New class. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_exact_insn): Adjust for new support - * config/riscv/riscv-vector-builtins.h - (function_base::has_merge_operand_p): New function. - * config/riscv/vector-iterators.md: New iterator. - * config/riscv/vector.md (@pred_madc): New pattern. - (@pred_msbc): Ditto. - (@pred_madc_scalar): Ditto. - (@pred_msbc_scalar): Ditto. - (*pred_madc_scalar): Ditto. - (*pred_madc_extended_scalar): Ditto. - (*pred_msbc_scalar): Ditto. - (*pred_msbc_extended_scalar): Ditto. - (@pred_madc_overflow): Ditto. - (@pred_msbc_overflow): Ditto. - (@pred_madc_overflow_scalar): Ditto. - (@pred_msbc_overflow_scalar): Ditto. - (*pred_madc_overflow_scalar): Ditto. - (*pred_madc_overflow_extended_scalar): Ditto. - (*pred_msbc_overflow_scalar): Ditto. - (*pred_msbc_overflow_extended_scalar): Ditto. - -2023-02-12 Ju-Zhe Zhong - - * config/riscv/riscv-protos.h (simm5_p): Add vadc/vsbc support. - * config/riscv/riscv-v.cc (simm32_p): Ditto. - * config/riscv/riscv-vector-builtins-bases.cc (class vadc): New class. - (class vsbc): Ditto. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vadc): Ditto. - (vsbc): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc - (struct no_mask_policy_def): Ditto. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc - (rvv_arg_type_info::get_base_vector_type): Add vadc/vsbc support. - (rvv_arg_type_info::get_tree_type): Ditto. - (function_expander::use_exact_insn): Ditto. - * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Ditto. - (function_base::use_mask_predication_p): New function. - * config/riscv/vector-iterators.md: New iterator. - * config/riscv/vector.md (@pred_adc): New pattern. - (@pred_sbc): Ditto. - (@pred_adc_scalar): Ditto. - (@pred_sbc_scalar): Ditto. - (*pred_adc_scalar): Ditto. - (*pred_adc_extended_scalar): Ditto. - (*pred_sbc_scalar): Ditto. - (*pred_sbc_extended_scalar): Ditto. - -2023-02-12 Ju-Zhe Zhong - - * config/riscv/vector.md: use "zero" reg. - -2023-02-12 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins-bases.cc (class widen_binop): New - class. - (class vwmulsu): Ditto. - (class vwcvt): Ditto. - (BASE): Add integer widening support. - * config/riscv/riscv-vector-builtins-bases.h: Ditto - * config/riscv/riscv-vector-builtins-functions.def (vwadd): New class. - (vwsub): New class. - (vwmul): New class. - (vwmulu): New class. - (vwmulsu): New class. - (vwaddu): New class. - (vwsubu): New class. - (vwcvt_x): New class. - (vwcvtu_x): New class. - * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): New - class. - (struct widen_alu_def): New class. - (SHAPE): New class. - * config/riscv/riscv-vector-builtins-shapes.h: New class. - * config/riscv/riscv-vector-builtins.cc - (rvv_arg_type_info::get_base_vector_type): Add integer widening support. - (rvv_arg_type_info::get_tree_type): Ditto. - * config/riscv/riscv-vector-builtins.def (x_x_v): Change into "x_v" - (x_v): Ditto. - * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Add integer - widening support. - * config/riscv/riscv-vsetvl.cc (change_insn): Fix reg_equal use bug. - * config/riscv/riscv.h (X0_REGNUM): New constant. - * config/riscv/vector-iterators.md: New iterators. - * config/riscv/vector.md - (@pred_dual_widen_): New - pattern. - (@pred_dual_widen__scalar): - Ditto. - (@pred_single_widen_): Ditto. - (@pred_single_widen__scalar): - Ditto. - (@pred_widen_mulsu): Ditto. - (@pred_widen_mulsu_scalar): Ditto. - (@pred_): Ditto. - -2023-02-12 Ju-Zhe Zhong - kito-cheng - - * common/config/riscv/riscv-common.cc: Add flag for 'V' extension. - * config/riscv/riscv-vector-builtins-bases.cc (class vmulh): New class. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vmulh): Add vmulh - API support. - (vmulhu): Ditto. - (vmulhsu): Ditto. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_FULL_V_I_OPS): - New macro. - (DEF_RVV_FULL_V_U_OPS): Ditto. - (vint8mf8_t): Ditto. - (vint8mf4_t): Ditto. - (vint8mf2_t): Ditto. - (vint8m1_t): Ditto. - (vint8m2_t): Ditto. - (vint8m4_t): Ditto. - (vint8m8_t): Ditto. - (vint16mf4_t): Ditto. - (vint16mf2_t): Ditto. - (vint16m1_t): Ditto. - (vint16m2_t): Ditto. - (vint16m4_t): Ditto. - (vint16m8_t): Ditto. - (vint32mf2_t): Ditto. - (vint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vint64m1_t): Ditto. - (vint64m2_t): Ditto. - (vint64m4_t): Ditto. - (vint64m8_t): Ditto. - (vuint8mf8_t): Ditto. - (vuint8mf4_t): Ditto. - (vuint8mf2_t): Ditto. - (vuint8m1_t): Ditto. - (vuint8m2_t): Ditto. - (vuint8m4_t): Ditto. - (vuint8m8_t): Ditto. - (vuint16mf4_t): Ditto. - (vuint16mf2_t): Ditto. - (vuint16m1_t): Ditto. - (vuint16m2_t): Ditto. - (vuint16m4_t): Ditto. - (vuint16m8_t): Ditto. - (vuint32mf2_t): Ditto. - (vuint32m1_t): Ditto. - (vuint32m2_t): Ditto. - (vuint32m4_t): Ditto. - (vuint32m8_t): Ditto. - (vuint64m1_t): Ditto. - (vuint64m2_t): Ditto. - (vuint64m4_t): Ditto. - (vuint64m8_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_FULL_V_I_OPS): Ditto. - (DEF_RVV_FULL_V_U_OPS): Ditto. - (check_required_extensions): Add vmulh support. - (rvv_arg_type_info::get_tree_type): Ditto. - * config/riscv/riscv-vector-builtins.h (RVV_REQUIRE_FULL_V): Ditto. - (enum rvv_base_type): Ditto. - * config/riscv/riscv.opt: Add 'V' extension flag. - * config/riscv/vector-iterators.md (su): New iterator. - * config/riscv/vector.md (@pred_mulh): New pattern. - (@pred_mulh_scalar): Ditto. - (*pred_mulh_scalar): Ditto. - (*pred_mulh_extended_scalar): Ditto. - -2023-02-12 Ju-Zhe Zhong - - * config/riscv/iterators.md: Add sign_extend/zero_extend. - * config/riscv/riscv-vector-builtins-bases.cc (class ext): New class. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Add vsext/vzext support. - * config/riscv/riscv-vector-builtins-functions.def (vsext): New macro - define. - (vzext): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Adjust - for vsext/vzext support. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_WEXTI_OPS): New - macro define. - (DEF_RVV_QEXTI_OPS): Ditto. - (DEF_RVV_OEXTI_OPS): Ditto. - (DEF_RVV_WEXTU_OPS): Ditto. - (DEF_RVV_QEXTU_OPS): Ditto. - (DEF_RVV_OEXTU_OPS): Ditto. - (vint16mf4_t): Ditto. - (vint16mf2_t): Ditto. - (vint16m1_t): Ditto. - (vint16m2_t): Ditto. - (vint16m4_t): Ditto. - (vint16m8_t): Ditto. - (vint32mf2_t): Ditto. - (vint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vint32m8_t): Ditto. - (vint64m1_t): Ditto. - (vint64m2_t): Ditto. - (vint64m4_t): Ditto. - (vint64m8_t): Ditto. - (vuint16mf4_t): Ditto. - (vuint16mf2_t): Ditto. - (vuint16m1_t): Ditto. - (vuint16m2_t): Ditto. - (vuint16m4_t): Ditto. - (vuint16m8_t): Ditto. - (vuint32mf2_t): Ditto. - (vuint32m1_t): Ditto. - (vuint32m2_t): Ditto. - (vuint32m4_t): Ditto. - (vuint32m8_t): Ditto. - (vuint64m1_t): Ditto. - (vuint64m2_t): Ditto. - (vuint64m4_t): Ditto. - (vuint64m8_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_WEXTI_OPS): Ditto. - (DEF_RVV_QEXTI_OPS): Ditto. - (DEF_RVV_OEXTI_OPS): Ditto. - (DEF_RVV_WEXTU_OPS): Ditto. - (DEF_RVV_QEXTU_OPS): Ditto. - (DEF_RVV_OEXTU_OPS): Ditto. - (rvv_arg_type_info::get_base_vector_type): Add sign_exted/zero_extend - support. - (rvv_arg_type_info::get_tree_type): Ditto. - * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Ditto. - * config/riscv/vector-iterators.md (z): New attribute. - * config/riscv/vector.md (@pred__vf2): New pattern. - (@pred__vf4): Ditto. - (@pred__vf8): Ditto. - -2023-02-12 Ju-Zhe Zhong - - * config/riscv/iterators.md: Add saturating Addition && Subtraction. - * config/riscv/riscv-v.cc (has_vi_variant_p): Ditto. - * config/riscv/riscv-vector-builtins-bases.cc (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vsadd): New def. - (vssub): Ditto. - (vsaddu): Ditto. - (vssubu): Ditto. - * config/riscv/vector-iterators.md (sll.vi): Adjust for Saturating - support. - (sll.vv): Ditto. - (%3,%v4): Ditto. - (%3,%4): Ditto. - * config/riscv/vector.md (@pred_): New pattern. - (@pred__scalar): New pattern. - (*pred__scalar): New pattern. - (*pred__extended_scalar): New pattern. - -2023-02-12 Ju-Zhe Zhong - - * config/riscv/iterators.md: Add neg and not. - * config/riscv/riscv-vector-builtins-bases.cc (class unop): New class. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vadd): Rename binop - into alu. - (vsub): Ditto. - (vand): Ditto. - (vor): Ditto. - (vxor): Ditto. - (vsll): Ditto. - (vsra): Ditto. - (vsrl): Ditto. - (vmin): Ditto. - (vmax): Ditto. - (vminu): Ditto. - (vmaxu): Ditto. - (vmul): Ditto. - (vdiv): Ditto. - (vrem): Ditto. - (vdivu): Ditto. - (vremu): Ditto. - (vrsub): Ditto. - (vneg): Ditto. - (vnot): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct binop_def): Ditto. - (struct alu_def): Ditto. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc: Support unary C/C/++. - * config/riscv/vector-iterators.md: New iterator. - * config/riscv/vector.md (@pred_): New pattern - -2023-02-12 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::compute_probabilities): Skip exit block. - -2023-02-11 Jakub Jelinek - - PR ipa/108605 - * ipa-cp.cc (ipa_agg_value_from_jfunc): Return NULL_TREE also if - item->offset bit position is too large to be representable as - unsigned int byte position. - -2023-02-11 Gerald Pfeifer - - * doc/extend.texi (Other Builtins): Adjust link to WG14 N965. - -2023-02-10 Vladimir N. Makarov - - * ira.cc (update_equiv_regs): Set up ira_reg_equiv for - valid_combine only when ira_use_lra_p is true. - -2023-02-10 Vladimir N. Makarov - - * params.opt (ira-simple-lra-insn-threshold): Add new param. - * ira.cc (ira): Use the param to switch on simple LRA. - -2023-02-10 Andrew MacLeod - - PR tree-optimization/108687 - * gimple-range-cache.cc (ranger_cache::range_on_edge): Revert - back to RFD_NONE mode for calculations. - (ranger_cache::propagate_cache): Call the internal edge range API - with RFD_READ_ONLY instead of changing the external routine. - -2023-02-10 Andrew MacLeod - - PR tree-optimization/108520 - * gimple-range-infer.cc (check_assume_func): Invoke - gimple_range_global directly instead using global_range_query. - * value-query.cc (get_range_global): Add function context and - avoid calling nonnull_arg_p if not cfun. - (gimple_range_global): Add function context pointer. - * value-query.h (imple_range_global): Add function context. - -2023-02-10 Ju-Zhe Zhong - - * config/riscv/constraints.md (Wdm): Adjust constraint. - (Wbr): New constraint. - * config/riscv/predicates.md (reg_or_int_operand): New predicate. - * config/riscv/riscv-protos.h (emit_pred_op): Remove function. - (emit_vlmax_op): New function. - (emit_nonvlmax_op): Ditto. - (simm32_p): Ditto. - (neg_simm5_p): Ditto. - (has_vi_variant_p): Ditto. - * config/riscv/riscv-v.cc (emit_pred_op): Adjust function. - (emit_vlmax_op): New function. - (emit_nonvlmax_op): Ditto. - (expand_const_vector): Adjust function. - (legitimize_move): Ditto. - (simm32_p): New function. - (simm5_p): Ditto. - (neg_simm5_p): Ditto. - (has_vi_variant_p): Ditto. - * config/riscv/riscv-vector-builtins-bases.cc (class vrsub): New class. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vmin): Remove - unsigned cases. - (vmax): Ditto. - (vminu): Remove signed cases. - (vmaxu): Ditto. - (vdiv): Remove unsigned cases. - (vrem): Ditto. - (vdivu): Remove signed cases. - (vremu): Ditto. - (vadd): Adjust. - (vsub): Ditto. - (vrsub): New class. - (vand): Adjust. - (vor): Ditto. - (vxor): Ditto. - (vmul): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_U_OPS): New macro. - * config/riscv/riscv.h: change VL/VTYPE as fixed reg. - * config/riscv/vector-iterators.md: New iterators. - * config/riscv/vector.md (@pred_broadcast): Adjust pattern for vx - support. - (@pred__scalar): New pattern. - (@pred_sub_reverse_scalar): Ditto. - (*pred__scalar): Ditto. - (*pred__extended_scalar): Ditto. - (*pred_sub_reverse_scalar): Ditto. - (*pred_sub_extended_reverse_scalar): Ditto. - -2023-02-10 Richard Biener - - PR tree-optimization/108724 - * tree-vect-stmts.cc (vectorizable_operation): Avoid - using word_mode vectors when vector lowering will - decompose them to elementwise operations. - -2023-02-10 Jakub Jelinek - - Revert: - 2023-02-09 Martin Liska - - PR target/100758 - * doc/extend.texi: Document that the function - does not work correctly for old VIA processors. - -2023-02-10 Andrew Pinski - Andrew Macleod - - PR tree-optimization/108684 - * tree-ssa-dce.cc (simple_dce_from_worklist): - Check all ssa names and not just non-vdef ones - before accepting the inline-asm. - Call unlink_stmt_vdef on the statement before - removing it. - -2023-02-09 Vladimir N. Makarov - - * ira.h (struct ira_reg_equiv_s): Add new field caller_save_p. - * ira.cc (validate_equiv_mem): Check memref address variance. - (no_equiv): Clear caller_save_p flag. - (update_equiv_regs): Define caller save equivalence for - valid_combine. - (setup_reg_equiv): Clear defined_p flag for caller save equivalence. - * lra-constraints.cc (lra_copy_reg_equiv): Add new arg - call_save_p. Use caller save equivalence depending on the arg. - (split_reg): Adjust the call. - -2023-02-09 Jakub Jelinek - - PR target/100758 - * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Formatting fixes. - (cpu_indicator_init): Call get_available_features for all CPUs with - max_level >= 1, rather than just Intel, AMD or Zhaoxin. Formatting - fixes. - -2023-02-09 Jakub Jelinek - - PR tree-optimization/108688 - * match.pd (bit_field_ref [bit_insert]): Simplify BIT_FIELD_REF - of BIT_INSERT_EXPR extracting exactly all inserted bits even - when without mode precision. Formatting fixes. - -2023-02-09 Andrew Pinski - - PR tree-optimization/108688 - * match.pd (bit_field_ref [bit_insert]): Avoid generating - BIT_FIELD_REFs of non-mode-precision integral operands. - -2023-02-09 Martin Liska - - PR target/100758 - * doc/extend.texi: Document that the function - does not work correctly for old VIA processors. - -2023-02-09 Andreas Schwab - - * lto-wrapper.cc (merge_and_complain): Handle - -funwind-tables and -fasynchronous-unwind-tables. - (append_compiler_options): Likewise. - -2023-02-09 Richard Biener - - PR tree-optimization/26854 - * tree-into-ssa.cc (update_ssa): Turn blocks_to_update to tree - view around insert_updated_phi_nodes_for. - * tree-ssa-alias.cc (maybe_skip_until): Allocate visited bitmap - in tree view. - (walk_aliased_vdefs_1): Likewise. - -2023-02-08 Gerald Pfeifer - - * doc/include/gpl_v3.texi: Change fsf.org to www.fsf.org. - -2023-02-08 Srinath Parvathaneni - - PR target/108505 - * config.gcc (tm_mlib_file): Define new variable. - -2023-02-08 Jakub Jelinek - - PR tree-optimization/108692 - * tree-vect-patterns.cc (vect_widened_op_tree): If rhs_code is - widened_code which is different from code, don't call - vect_look_through_possible_promotion but instead just check op is - SSA_NAME with integral type for which vect_is_simple_use is true - and call set_op on this_unprom. - -2023-02-08 Andrea Corallo - - * config/aarch64/aarch64-protos.h (aarch_ra_sign_key): Remove - declaration. - * config/aarch64/aarch64.cc (aarch_ra_sign_key): Remove - definition. - * config/aarch64/aarch64.opt (aarch64_ra_sign_key): Rename - to 'aarch_ra_sign_key'. - * config/arm/aarch-common.cc (aarch_ra_sign_key): Remove - declaration. - * config/arm/arm-protos.h (aarch_ra_sign_key): Likewise. - * config/arm/arm.cc (enum aarch_key_type): Remove definition. - * config/arm/arm.opt: Define. - -2023-02-08 Richard Sandiford - - PR tree-optimization/108316 - * tree-vect-stmts.cc (get_load_store_type): When using - internal functions for gather/scatter, make sure that the type - of the offset argument is consistent with the offset vector type. - -2023-02-08 Vladimir N. Makarov - - Revert: - 2023-02-07 Vladimir N. Makarov - - * ira.h (struct ira_reg_equiv_s): Add new field caller_save_p. - * ira.cc (validate_equiv_mem): Check memref address variance. - (update_equiv_regs): Define caller save equivalence for - valid_combine. - (setup_reg_equiv): Clear defined_p flag for caller save equivalence. - * lra-constraints.cc (lra_copy_reg_equiv): Add new arg - call_save_p. Use caller save equivalence depending on the arg. - (split_reg): Adjust the call. - -2023-02-08 Jakub Jelinek - - * tree.def (SAD_EXPR): Remove outdated comment about missing - WIDEN_MINUS_EXPR. - -2023-02-07 Marek Polacek - - * doc/invoke.texi: Update -fchar8_t documentation. - -2023-02-07 Vladimir N. Makarov - - * ira.h (struct ira_reg_equiv_s): Add new field caller_save_p. - * ira.cc (validate_equiv_mem): Check memref address variance. - (update_equiv_regs): Define caller save equivalence for - valid_combine. - (setup_reg_equiv): Clear defined_p flag for caller save equivalence. - * lra-constraints.cc (lra_copy_reg_equiv): Add new arg - call_save_p. Use caller save equivalence depending on the arg. - (split_reg): Adjust the call. - -2023-02-07 Richard Biener - - PR tree-optimization/26854 - * gimple-fold.cc (has_use_on_stmt): Look at stmt operands - instead of immediate uses. - -2023-02-07 Jakub Jelinek - - PR tree-optimization/106923 - * ipa-split.cc (execute_split_functions): Don't split returns_twice - functions. - -2023-02-07 Jakub Jelinek - - PR tree-optimization/106433 - * cgraph.cc (set_const_flag_1): Recurse on simd clones too. - (cgraph_node::set_pure_flag): Call set_pure_flag_1 on simd clones too. - -2023-02-07 Jan Hubicka - - * config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Turn off - for znver4. - -2023-02-06 Andrew Stubbs - - * config/gcn/mkoffload.cc (gcn_stack_size): New global variable. - (process_asm): Create a constructor for GCN_STACK_SIZE. - (main): Parse the -mstack-size option. - -2023-02-06 Alex Coplan - - PR target/104921 - * config/aarch64/aarch64-simd.md (aarch64_bfmlal_lanev4sf): - Use correct constraint for operand 3. - -2023-02-06 Martin Jambor - - * ipa-sra.cc (adjust_parameter_descriptions): Fix a typo in a dump. - -2023-02-06 Xi Ruoyao - - * config/loongarch/loongarch.md (bytepick_w_ashift_amount): - New define_int_iterator. - (bytepick_d_ashift_amount): Likewise. - (bytepick_imm): New define_int_attr. - (bytepick_w_lshiftrt_amount): Likewise. - (bytepick_d_lshiftrt_amount): Likewise. - (bytepick_w_): New define_insn template. - (bytepick_w__extend): Likewise. - (bytepick_d_): Likewise. - (bytepick_w): Remove unused define_insn. - (bytepick_d): Likewise. - (UNSPEC_BYTEPICK_W): Remove unused unspec. - (UNSPEC_BYTEPICK_D): Likewise. - * config/loongarch/predicates.md (const_0_to_3_operand): - Remove unused define_predicate. - (const_0_to_7_operand): Likewise. - -2023-02-06 Jakub Jelinek - - PR tree-optimization/108655 - * ubsan.cc (sanitize_unreachable_fn): For -funreachable-traps - or -fsanitize=unreachable -fsanitize-trap=unreachable return - BUILT_IN_UNREACHABLE_TRAP decl rather than BUILT_IN_TRAP. - -2023-02-05 Gerald Pfeifer - - * doc/install.texi (Specific): Remove PW32. - -2023-02-03 Jakub Jelinek - - PR tree-optimization/108647 - * range-op.cc (operator_equal::op1_range, - operator_not_equal::op1_range): Don't test op2 bound - equality if op2.undefined_p (), instead set_varying. - (operator_lt::op1_range, operator_le::op1_range, - operator_gt::op1_range, operator_ge::op1_range): Return false if - op2.undefined_p (). - (operator_lt::op2_range, operator_le::op2_range, - operator_gt::op2_range, operator_ge::op2_range): Return false if - op1.undefined_p (). - -2023-02-03 Aldy Hernandez - - PR tree-optimization/108639 - * value-range.cc (irange::legacy_equal_p): Compare nonzero bits as - widest_int. - (irange::operator==): Same. - -2023-02-03 Aldy Hernandez - - PR tree-optimization/108647 - * range-op-float.cc (foperator_lt::op1_range): Handle undefined ranges. - (foperator_lt::op2_range): Same. - (foperator_le::op1_range): Same. - (foperator_le::op2_range): Same. - (foperator_gt::op1_range): Same. - (foperator_gt::op2_range): Same. - (foperator_ge::op1_range): Same. - (foperator_ge::op2_range): Same. - (foperator_unordered_lt::op1_range): Same. - (foperator_unordered_lt::op2_range): Same. - (foperator_unordered_le::op1_range): Same. - (foperator_unordered_le::op2_range): Same. - (foperator_unordered_gt::op1_range): Same. - (foperator_unordered_gt::op2_range): Same. - (foperator_unordered_ge::op1_range): Same. - (foperator_unordered_ge::op2_range): Same. - -2023-02-03 Andrew MacLeod - - PR tree-optimization/107570 - * tree-vrp.cc (remove_and_update_globals): Reset SCEV. - -2023-02-03 Gaius Mulley - - * doc/gm2.texi (Internals): Remove from menu. - (Using): Comment out ifnohtml conditional. - (Documentation): Use gcc url. - (License): Node simplified. - (Copying): New node. Include gpl_v3_without_node. - (Contributing): Node simplified. - (Internals): Commented out. - (Libraries): Node simplified. - (Indices): Ditto. - (Contents): Ditto. - (Functions): Ditto. - -2023-02-03 Christophe Lyon - - * config/arm/mve.md (mve_vabavq_p_): Add length - attribute. - (mve_vqshluq_m_n_s): Likewise. - (mve_vshlq_m_): Likewise. - (mve_vsriq_m_n_): Likewise. - (mve_vsubq_m_): Likewise. - -2023-02-03 Martin Jambor - - PR ipa/108384 - * ipa-sra.cc (push_param_adjustments_for_index): Remove a size check - when comparing to an IPA-CP value. - (dump_list_of_param_indices): New function. - (adjust_parameter_descriptions): Check for mismatching IPA-CP values. - Dump removed candidates using dump_list_of_param_indices. - * ipa-param-manipulation.cc - (ipa_param_body_adjustments::modify_expression): Add assert checking - sizes of a VIEW_CONVERT_EXPR will match. - (ipa_param_body_adjustments::modify_assignment): Likewise. - -2023-02-03 Monk Chiang - - * config/riscv/riscv.h: Remove VL_REGS, VTYPE_REGS class. - * config/riscv/riscv.cc: Ditto. - -2023-02-03 Ju-Zhe Zhong - - * config/riscv/vector-iterators.md (sll.vi): Fix constraint bug. - (sll.vv): Ditto. - (%3,%4): Ditto. - (%3,%v4): Ditto. - * config/riscv/vector.md: Ditto. - -2023-02-03 Ju-Zhe Zhong - - * config/riscv/predicates.md (pmode_reg_or_uimm5_operand): New predicate. - * config/riscv/riscv-vector-builtins-bases.cc: New class. - * config/riscv/riscv-vector-builtins-functions.def (vsll): Ditto. - (vsra): Ditto. - (vsrl): Ditto. - * config/riscv/riscv-vector-builtins.cc: Ditto. - * config/riscv/vector.md (@pred__scalar): New pattern. - -2023-02-02 Iain Sandoe - - * toplev.cc (toplev::main): Only print the version information header - from toplevel main(). - -2023-02-02 Paul-Antoine Arras - - * config/gcn/gcn-valu.md (cond_): Add - cond_{ashl|ashr|lshr} - -2023-02-02 Richard Sandiford - - PR rtl-optimization/108086 - * rtl-ssa/insns.h (insn_info): Make m_num_defs a full unsigned int. - Adjust size-related commentary accordingly. - -2023-02-02 Richard Sandiford - - PR rtl-optimization/108508 - * rtl-ssa/accesses.cc (function_info::split_clobber_group): When - the splay tree search gives the first clobber in the second group, - make sure that the root of the first clobber group is updated - correctly. Enter the new clobber group into the definition splay - tree. - -2023-02-02 Jin Ma - - * common/config/riscv/riscv-common.cc (riscv_compute_multilib): - Fix finding best match score. - -2023-02-02 Jakub Jelinek - - PR debug/106746 - PR rtl-optimization/108463 - PR target/108484 - * cselib.cc (cselib_current_insn): Move declaration earlier. - (cselib_hasher::equal): For debug only locs, temporarily override - cselib_current_insn to their l->setting_insn for the - rtx_equal_for_cselib_1 call, so that unsuccessful comparisons don't - promote some debug locs. - * sched-deps.cc (sched_analyze_2) : For MEMs in DEBUG_INSNs - when using cselib call cselib_lookup_from_insn on the address but - don't substitute it. - -2023-02-02 Richard Biener - - PR middle-end/108625 - * genmatch.cc (expr::gen_transform): Also disallow resimplification - from pushing to lseq with force_leaf. - (dt_simplify::gen_1): Likewise. - -2023-02-02 Andrew Stubbs - - * config/gcn/gcn-run.cc: Include libgomp-gcn.h. - (struct kernargs): Replace the common content with kernargs_abi. - (struct heap): Delete. - (main): Read GCN_STACK_SIZE envvar. - Allocate space for the device stacks. - Write the new kernargs fields. - * config/gcn/gcn.cc (gcn_option_override): Remove stack_size_opt. - (default_requested_args): Remove PRIVATE_SEGMENT_BUFFER_ARG and - PRIVATE_SEGMENT_WAVE_OFFSET_ARG. - (gcn_addr_space_convert): Mask the QUEUE_PTR_ARG content. - (gcn_expand_prologue): Move the TARGET_PACKED_WORK_ITEMS to the top. - Set up the stacks from the values in the kernargs, not private. - (gcn_expand_builtin_1): Match the stack configuration in the prologue. - (gcn_hsa_declare_function_name): Turn off the private segment. - (gcn_conditional_register_usage): Ensure QUEUE_PTR is fixed. - * config/gcn/gcn.h (FIXED_REGISTERS): Fix the QUEUE_PTR register. - * config/gcn/gcn.opt (mstack-size): Change the description. - -2023-02-02 Andre Vieira - - PR target/108443 - * config/arm/arm.h (VALID_MVE_PRED_MODE): Add V2QI. - * config/arm/arm.cc (thumb2_legitimate_address_p): Use HImode for - addressing MVE predicate modes. - (mve_bool_vec_to_const): Change to represent correct MVE predicate - format. - (arm_hard_regno_mode_ok): Use VALID_MVE_PRED_MODE instead of checking - modes. - (arm_vector_mode_supported_p): Likewise. - (arm_mode_to_pred_mode): Add V2QI. - * config/arm/arm-builtins.cc (UNOP_PRED_UNONE_QUALIFIERS): New - qualifier. - (UNOP_PRED_PRED_QUALIFIERS): New qualifier - (BINOP_PRED_UNONE_PRED_QUALIFIERS): New qualifier. - (v2qi_UP): New macro. - (v4bi_UP): New macro. - (v8bi_UP): New macro. - (v16bi_UP): New macro. - (arm_expand_builtin_args): Make it able to expand the new predicate - modes. - * config/arm/arm-modes.def (V2QI): New mode. - * config/arm/arm-simd-builtin-types.def (Pred1x16_t, Pred2x8_t - Pred4x4_t): Remove unused predicate builtin types. - * config/arm/arm_mve.h (__arm_vctp16q, __arm_vctp32q, __arm_vctp64q, - __arm_vctp8q, __arm_vpnot, __arm_vctp8q_m, __arm_vctp64q_m, - __arm_vctp32q_m, __arm_vctp16q_m): Use predicate modes. - * config/arm/arm_mve_builtins.def (vctp16q, vctp32q, vctp64q, vctp8q, - vpnot, vctp8q_m, vctp16q_m, vctp32q_m, vctp64q_m): Likewise. - * config/arm/constraints.md (DB): Check for VALID_MVE_PRED_MODE instead - of MODE_VECTOR_BOOL. - * config/arm/iterators.md (MVE_7, MVE_7_HI): Add V2QI - (MVE_VPRED): Likewise. - (MVE_vpred): Add V2QI and map upper case predicate modes to lower case. - (MVE_vctp): New mode attribute. - (mode1): Remove. - (VCTPQ): Remove. - (VCTPQ_M): Remove. - * config/arm/mve.md (mve_vctpqhi): Rename this... - (mve_vctpq): ... to this. And use new mode - attributes. - (mve_vpnothi): Rename this... - (mve_vpnotv16bi): ... to this. - (mve_vctpq_mhi): Rename this... - (mve_vctpq_m):... to this. - (mve_vldrdq_gather_base_z_v2di, - mve_vldrdq_gather_offset_z_v2di, - mve_vldrdq_gather_shifted_offset_z_v2di, - mve_vstrdq_scatter_base_p_v2di, - mve_vstrdq_scatter_offset_p_v2di, - mve_vstrdq_scatter_offset_p_v2di_insn, - mve_vstrdq_scatter_shifted_offset_p_v2di, - mve_vstrdq_scatter_shifted_offset_p_v2di_insn, - mve_vstrdq_scatter_base_wb_p_v2di, - mve_vldrdq_gather_base_wb_z_v2di, - mve_vldrdq_gather_base_nowb_z_v2di, - mve_vldrdq_gather_base_wb_z_v2di_insn): Use V2QI insead of HI for - predicates. - * config/arm/unspecs.md (VCTP8Q, VCTP16Q, VCTP32Q, VCTP64Q): Replace - these... - (VCTP): ... with this. - (VCTP8Q_M, VCTP16Q_M, VCTP32Q_M, VCTP64Q_M): Replace these... - (VCTP_M): ... with this. - * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Use - VALID_MVE_PRED_MODE instead of checking for MODE_VECTOR_BOOL class. - -2023-02-02 Andre Vieira - - PR target/107674 - * config/arm/arm.cc (arm_hard_regno_mode_ok): Use new MACRO. - (arm_modes_tieable_p): Make MVE predicate modes tieable. - * config/arm/arm.h (VALID_MVE_PRED_MODE): New define. - * simplify-rtx.cc (simplify_context::simplify_subreg): Teach - simplify_subreg to simplify subregs where the outermode is not scalar. - -2023-02-02 Andre Vieira - - PR target/107674 - * config/arm/arm-builtins.cc (arm_simd_builtin_type): Rewrite to use - new qualifiers parameter and use unsigned short type for MVE predicate. - (arm_init_builtin): Call arm_simd_builtin_type with qualifiers - parameter. - (arm_init_crypto_builtins): Likewise. - -2023-02-02 Jakub Jelinek - - PR ipa/107300 - * builtins.def (BUILT_IN_UNREACHABLE_TRAP): New builtin. - * internal-fn.def (TRAP): Remove. - * internal-fn.cc (expand_TRAP): Remove. - * tree.cc (build_common_builtin_nodes): Define - BUILT_IN_UNREACHABLE_TRAP if not yet defined. - (builtin_decl_unreachable): Use BUILT_IN_UNREACHABLE_TRAP - instead of BUILT_IN_TRAP. - * gimple.cc (gimple_build_builtin_unreachable): Remove - emitting internal function for BUILT_IN_TRAP. - * asan.cc (maybe_instrument_call): Handle BUILT_IN_UNREACHABLE_TRAP. - * cgraph.cc (cgraph_edge::verify_corresponds_to_fndecl): Handle - BUILT_IN_UNREACHABLE_TRAP instead of BUILT_IN_TRAP. - * ipa-devirt.cc (possible_polymorphic_call_target_p): Handle - BUILT_IN_UNREACHABLE_TRAP. - * builtins.cc (expand_builtin, is_inexpensive_builtin): Likewise. - * tree-cfg.cc (verify_gimple_call, - pass_warn_function_return::execute): Likewise. - * attribs.cc (decl_attributes): Don't report exclusions on - BUILT_IN_UNREACHABLE_TRAP either. - -2023-02-02 liuhongt - - PR tree-optimization/108601 - * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Removed. - * tree-vect-loop.cc - (vectorizable_nonlinear_induction): Remove - vect_can_peel_nonlinear_iv_p. - (vect_can_peel_nonlinear_iv_p): Don't peel - nonlinear iv(mult or shift) for epilog when vf is not - constant and moved the defination to .. - * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): - .. Here. - -2023-02-02 Jakub Jelinek - - PR middle-end/108435 - * tree-nested.cc (convert_nonlocal_omp_clauses) - : If info->new_local_var_chain and *seq - is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND - before calling declare_vars. - (convert_nonlocal_omp_clauses) : Merge - with the OMP_CLAUSE_LASTPRIVATE handling except for whether - seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause) - or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause). - -2023-02-01 Tamar Christina - - * common/config/aarch64/aarch64-common.cc - (struct aarch64_option_extension): Add native_detect and document struct - a bit more. - (all_extensions): Set new field native_detect. - * config/aarch64/aarch64.cc (struct aarch64_option_extension): Delete - unused struct. - -2023-02-01 Martin Liska - - * ipa-devirt.cc (odr_types_equivalent_p): Respect *warned - value if set. - -2023-02-01 Andrew MacLeod - - PR tree-optimization/108356 - * gimple-range-cache.cc (ranger_cache::range_on_edge): Always - do a search of the DOM tree for a range. - -2023-02-01 Martin Liska - - PR ipa/108509 - * cgraphunit.cc (walk_polymorphic_call_targets): Insert - ony non-null values. - * ipa.cc (walk_polymorphic_call_targets): Likewise. - -2023-02-01 Martin Liska - - PR driver/108572 - * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Report error only for - -gz=zstd. - -2023-02-01 Jakub Jelinek - - PR debug/108573 - * ree.cc (combine_reaching_defs): Don't return false for paradoxical - subregs in DEBUG_INSNs. - -2023-02-01 Richard Sandiford - - * compare-elim.cc (find_flags_uses_in_insn): Guard use of SET_SRC. - -2023-02-01 Andreas Krebbel - - * config/s390/s390.cc (s390_restore_gpr_p): New function. - (s390_preserve_gpr_arg_in_range_p): New function. - (s390_preserve_gpr_arg_p): New function. - (s390_preserve_fpr_arg_p): New function. - (s390_register_info_stdarg_fpr): Rename to ... - (s390_register_info_arg_fpr): ... this. Add -mpreserve-args handling. - (s390_register_info_stdarg_gpr): Rename to ... - (s390_register_info_arg_gpr): ... this. Add -mpreserve-args handling. - (s390_register_info): Use the renamed functions above. - (s390_optimize_register_info): Likewise. - (save_fpr): Generate CFI for -mpreserve-args. - (save_gprs): Generate CFI for -mpreserve-args. Drop return value. - (s390_emit_prologue): Adjust to changed calling convention of save_gprs. - (s390_optimize_prologue): Likewise. - * config/s390/s390.opt: New option -mpreserve-args - -2023-02-01 Andreas Krebbel - - * config/s390/s390.cc (save_gprs): Use gen_frame_mem. - (restore_gprs): Likewise. - (s390_emit_stack_tie): Make the stack_tie to be dependent on the - frame pointer if a frame-pointer is used. - (s390_emit_prologue): Emit stack_tie when frame-pointer is needed. - * config/s390/s390.md (stack_tie): Add a register operand and - rename to ... - (@stack_tie): ... this. - -2023-02-01 Andreas Krebbel - - * dwarf2cfi.cc (dwarf2out_frame_debug_cfa_restore): Add - EMIT_CFI parameter. - (dwarf2out_frame_debug): Add case for REG_CFA_NORESTORE. - * reg-notes.def (REG_CFA_NOTE): New reg note definition. - -2023-02-01 Richard Biener - - PR middle-end/108500 - * dominance.cc (assign_dfs_numbers): Replace recursive DFS - with tree traversal algorithm. - -2023-02-01 Jason Merrill - - * doc/invoke.texi: Document -Wno-changes-meaning. - -2023-02-01 David Malcolm - - * doc/invoke.texi (Static Analyzer Options): Add notes about - limitations of -fanalyzer. - -2023-01-31 Ju-Zhe Zhong - - * config/riscv/constraints.md (vj): New. - (vk): Ditto - * config/riscv/iterators.md: Add more opcode. - * config/riscv/predicates.md (vector_arith_operand): New. - (vector_neg_arith_operand): New. - (vector_shift_operand): New. - * config/riscv/riscv-vector-builtins-bases.cc (class binop): New. - * config/riscv/riscv-vector-builtins-bases.h: (vadd): New. - (vsub): Ditto. - (vand): Ditto. - (vor): Ditto. - (vxor): Ditto. - (vsll): Ditto. - (vsra): Ditto. - (vsrl): Ditto. - (vmin): Ditto. - (vmax): Ditto. - (vminu): Ditto. - (vmaxu): Ditto. - (vmul): Ditto. - (vdiv): Ditto. - (vrem): Ditto. - (vdivu): Ditto. - (vremu): Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vadd): New. - (vsub): Ditto. - (vand): Ditto. - (vor): Ditto. - (vxor): Ditto. - (vsll): Ditto. - (vsra): Ditto. - (vsrl): Ditto. - (vmin): Ditto. - (vmax): Ditto. - (vminu): Ditto. - (vmaxu): Ditto. - (vmul): Ditto. - (vdiv): Ditto. - (vrem): Ditto. - (vdivu): Ditto. - (vremu): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct binop_def): New. - * config/riscv/riscv-vector-builtins-shapes.h (binop): New. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New. - (DEF_RVV_U_OPS): New. - (rvv_arg_type_info::get_base_vector_type): Handle - RVV_BASE_shift_vector. - (rvv_arg_type_info::get_tree_type): Ditto. - * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Add - RVV_BASE_shift_vector. - * config/riscv/riscv.cc (riscv_print_operand): Handle 'V'. - * config/riscv/vector-iterators.md: Handle more opcode. - * config/riscv/vector.md (@pred_): New. - -2023-01-31 Philipp Tomsich - - PR target/108589 - * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Check - REG_P on SET_DEST. - -2023-01-31 Richard Sandiford - - PR tree-optimization/108608 - * tree-vect-loop.cc (vect_transform_reduction): Handle single - def-use cycles that involve function calls rather than tree codes. - -2023-01-31 Andrew MacLeod - - PR tree-optimization/108385 - * gimple-range-gori.cc (gori_compute::compute_operand_range): - Allow VARYING computations to continue if there is a relation. - * range-op.cc (pointer_plus_operator::op2_range): New. - -2023-01-31 Andrew MacLeod - - PR tree-optimization/108359 - * range-op.cc (range_operator::wi_fold_in_parts_equiv): New. - (range_operator::fold_range): If op1 is equivalent to op2 then - invoke new fold_in_parts_equiv to operate on sub-components. - * range-op.h (wi_fold_in_parts_equiv): New prototype. - -2023-01-31 Andrew MacLeod - - * gimple-range-gori.cc (gori_compute::compute_operand_range): Do - not abort calculations if there is a valid relation available. - (gori_compute::refine_using_relation): Pass correct relation trio. - (gori_compute::compute_operand1_range): Create trio and use it. - (gori_compute::compute_operand2_range): Ditto. - * range-op.cc (operator_plus::op1_range): Use correct trio member. - (operator_minus::op1_range): Use correct trio member. - * value-relation.cc (value_relation::create_trio): New. - * value-relation.h (value_relation::create_trio): New prototype. - -2023-01-31 Jakub Jelinek - - PR target/108599 - * config/i386/i386-expand.cc - (ix86_convert_const_wide_int_to_broadcast): Return nullptr if - CONST_WIDE_INT_NUNITS (op) times HOST_BITS_PER_WIDE_INT isn't - equal to bitsize of mode. - -2023-01-31 Jakub Jelinek - - PR rtl-optimization/108596 - * bb-reorder.cc (fix_up_fall_thru_edges): Handle the case where cur_bb - ends with asm goto and has a crossing fallthrough edge to the same bb - that contains at least one of its labels by restoring EDGE_CROSSING - flag even on possible edge from cur_bb to new_bb successor. - -2023-01-31 Jakub Jelinek - - PR c++/105593 - * config/i386/avx512erintrin.h (_mm512_exp2a23_round_pd, - _mm512_exp2a23_round_ps, _mm512_rcp28_round_pd, _mm512_rcp28_round_ps, - _mm512_rsqrt28_round_pd, _mm512_rsqrt28_round_ps): Use - _mm512_undefined_pd () or _mm512_undefined_ps () instead of using - uninitialized automatic variable __W. - -2023-01-31 Gerald Pfeifer - - * doc/include/fdl.texi: Change fsf.org to www.fsf.org. - -2023-01-30 Ju-Zhe Zhong - - * config/riscv/riscv-protos.h (get_vector_mode): New function. - * config/riscv/riscv-v.cc (get_vector_mode): Ditto. - * config/riscv/riscv-vector-builtins-bases.cc (enum lst_type): New enum. - (class loadstore): Adjust for indexed loads/stores support. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: New function declare. - * config/riscv/riscv-vector-builtins-functions.def (vluxei8): Ditto. - (vluxei16): Ditto. - (vluxei32): Ditto. - (vluxei64): Ditto. - (vloxei8): Ditto. - (vloxei16): Ditto. - (vloxei32): Ditto. - (vloxei64): Ditto. - (vsuxei8): Ditto. - (vsuxei16): Ditto. - (vsuxei32): Ditto. - (vsuxei64): Ditto. - (vsoxei8): Ditto. - (vsoxei16): Ditto. - (vsoxei32): Ditto. - (vsoxei64): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc - (struct indexed_loadstore_def): New class. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc (required_extensions_p): Adjust - for indexed loads/stores support. - (check_required_extensions): Ditto. - (rvv_arg_type_info::get_base_vector_type): New function. - (rvv_arg_type_info::get_tree_type): Ditto. - (function_builder::add_unique_function): Adjust for indexed loads/stores - support. - (function_expander::use_exact_insn): New function. - * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Adjust for - indexed loads/stores support. - (struct rvv_arg_type_info): Ditto. - (function_expander::index_mode): New function. - (function_base::apply_tail_policy_p): Ditto. - (function_base::apply_mask_policy_p): Ditto. - * config/riscv/vector-iterators.md (unspec): New unspec. - * config/riscv/vector.md (unspec): Ditto. - (@pred_indexed_load): New - pattern. - (@pred_indexed_store): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_store): Ditto. - (@pred_indexed_load): Ditto. - (@pred_indexed_store): Ditto. - -2023-01-30 Flavio Cruz - - * config.gcc: Recognize x86_64-*-gnu* targets and include - i386/gnu64.h. - * config/i386/gnu64.h: Define configuration for new target - including ld.so location. - -2023-01-30 Philipp Tomsich - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update - ampere1a to include SM4. - -2023-01-30 Andrew Pinski - - PR tree-optimization/108582 - * tree-ssa-phiopt.cc (match_simplify_replacement): Add check - for middlebb to have no phi nodes. - -2023-01-30 Richard Biener - - PR tree-optimization/108574 - * tree-ssa-sccvn.cc (visit_phi): Instead of swapping - sameval and def, ignore the equivalence if there's the - danger of oscillating between two values. - -2023-01-30 Andreas Schwab - - * common/config/riscv/riscv-common.cc - (riscv_option_optimization_table) - [TARGET_DEFAULT_ASYNC_UNWIND_TABLES]: Enable - -fasynchronous-unwind-tables and -funwind-tables. - * config.gcc (riscv*-*-linux*): Define - TARGET_DEFAULT_ASYNC_UNWIND_TABLES. - -2023-01-30 YunQiang Su - - * Makefile.in (CROSS_SYSTEM_HEADER_DIR): set according the - value of includedir. - -2023-01-30 Richard Biener - - PR ipa/108511 - * cgraph.cc (possibly_call_in_translation_unit_p): Relax - assert. - -2023-01-30 liuhongt - - * config/i386/i386.opt: Change AVX512FP16 to AVX512-FP16. - * doc/invoke.texi: Ditto. - -2023-01-29 Jan Hubicka - - * ipa-utils.cc: Include calls.h, cfgloop.h and cfganal.h - (stmt_may_terminate_function_p): If assuming return or EH - volatile asm is safe. - (find_always_executed_bbs): Fix handling of terminating BBS and - infinite loops; add debug output. - * tree-ssa-alias.cc (stmt_kills_ref_p): Fix debug output - -2023-01-28 Philipp Tomsich - - * config/aarch64/aarch64.cc (aarch64_uxt_size): fix an - off-by-one in checking the permissible shift-amount. - -2023-01-28 Gerald Pfeifer - - * doc/extend.texi (Named Address Spaces): Update link to the - AVR-Libc manual. - -2023-01-28 Gerald Pfeifer - - * doc/standards.texi (Standards): Fix markup. - -2023-01-28 Gerald Pfeifer - - * doc/standards.texi (Standards): Update link to Objective-C book. - -2023-01-28 Gerald Pfeifer - - * doc/invoke.texi (Instrumentation Options): Update reference to - AddressSanitizer. - -2023-01-28 Gerald Pfeifer - - * doc/standards.texi: Update Go1 link. - -2023-01-28 Ju-Zhe Zhong - - * config/riscv/predicates.md (pmode_reg_or_0_operand): New predicate. - * config/riscv/riscv-vector-builtins-bases.cc (class loadstore): - Support vlse/vsse. - (BASE): Ditto. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vlse): New class. - (vsse): New class. - * config/riscv/riscv-vector-builtins.cc - (function_expander::use_contiguous_load_insn): Support vlse/vsse. - * config/riscv/vector.md (@pred_strided_load): New md pattern. - (@pred_strided_store): Ditto. - -2023-01-28 Ju-Zhe Zhong - - * config/riscv/vector.md (tail_policy_op_idx): Remove. - (mask_policy_op_idx): Remove. - (avl_type_op_idx): Remove. - -2023-01-27 Richard Sandiford - - PR tree-optimization/96373 - * tree.h (sign_mask_for): Declare. - * tree.cc (sign_mask_for): New function. - (signed_or_unsigned_type_for): For vector types, try to use the - related_int_vector_mode. - * genmatch.cc (commutative_op): Handle conditional internal functions. - * match.pd: Fold an IFN_COND_MUL+copysign into an IFN_COND_XOR+and. - -2023-01-27 Richard Sandiford - - * tree-vectorizer.cc (vector_costs::compare_inside_loop_cost): - Use the likely minimum VF when bounding the denominators to - the estimated number of iterations. - -2023-01-27 Richard Biener - - PR target/55522 - * doc/invoke.texi (-shared): Clarify effect on -ffast-math - and -Ofast FP environment side-effects. - -2023-01-27 Richard Biener - - PR target/55522 - * config/mips/gnu-user.h (GNU_USER_TARGET_MATHFILE_SPEC): - Don't add crtfastmath.o for -shared. - -2023-01-27 Richard Biener - - PR target/55522 - * config/ia64/linux.h (ENDFILE_SPEC): Don't add crtfastmath.o - for -shared. - -2023-01-27 Richard Biener - - PR target/55522 - * config/alpha/linux.h (ENDFILE_SPEC): Don't add - crtfastmath.o for -shared. - -2023-01-27 Andrew MacLeod - - PR tree-optimization/108306 - * range-op.cc (operator_lshift::fold_range): Return [0, 0] not - varying for shifts that are always out of void range. - (operator_rshift::fold_range): Return [0, 0] not - varying for shifts that are always out of void range. - -2023-01-27 Andrew MacLeod - - PR tree-optimization/108447 - * gimple-range-fold.cc (old_using_range::relation_fold_and_or): - Do not attempt to fold HONOR_NAN types. - -2023-01-27 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins-shapes.cc (struct loadstore_def): - Remove _m suffix for "vop_m" C++ overloaded API name. - -2023-01-27 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins-bases.cc (BASE): Add vlm/vsm support. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (vlm): New define. - (vsm): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct loadstore_def): Add vlm/vsm support. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_B_OPS): Ditto. - (vbool64_t): Ditto. - (vbool32_t): Ditto. - (vbool16_t): Ditto. - (vbool8_t): Ditto. - (vbool4_t): Ditto. - (vbool2_t): Ditto. - (vbool1_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_B_OPS): Ditto. - (rvv_arg_type_info::get_tree_type): Ditto. - (function_expander::use_contiguous_load_insn): Ditto. - * config/riscv/vector.md (@pred_store): Ditto. - -2023-01-27 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (vsetvl_insn_p): Add condition to avoid ICE. - (vsetvl_discard_result_insn_p): New function. - (reg_killed_by_bb_p): rename to find_reg_killed_by. - (find_reg_killed_by): New name. - (get_vl): allow it to be called by more functions. - (has_vsetvl_killed_avl_p): Add condition. - (get_avl): allow it to be called by more functions. - (insn_should_be_added_p): New function. - (get_all_nonphi_defs): Refine function. - (get_all_sets): Ditto. - (get_same_bb_set): New function. - (any_insn_in_bb_p): Ditto. - (any_set_in_bb_p): Ditto. - (get_vl_vtype_info): Add VLMAX forward optimization. - (source_equal_p): Fix issues. - (extract_single_source): Refine. - (avl_info::multiple_source_equal_p): New function. - (avl_info::operator==): Adjust for final version. - (vl_vtype_info::operator==): Ditto. - (vl_vtype_info::same_avl_p): Ditto. - (vector_insn_info::parse_insn): Ditto. - (vector_insn_info::available_p): New function. - (vector_insn_info::merge): Adjust for final version. - (vector_insn_info::dump): Add hard_empty. - (pass_vsetvl::hard_empty_block_p): New function. - (pass_vsetvl::backward_demand_fusion): Adjust for final version. - (pass_vsetvl::forward_demand_fusion): Ditto. - (pass_vsetvl::demand_fusion): Ditto. - (pass_vsetvl::cleanup_illegal_dirty_blocks): New function. - (pass_vsetvl::compute_local_properties): Adjust for final version. - (pass_vsetvl::can_refine_vsetvl_p): Ditto. - (pass_vsetvl::refine_vsetvls): Ditto. - (pass_vsetvl::commit_vsetvls): Ditto. - (pass_vsetvl::propagate_avl): New function. - (pass_vsetvl::lazy_vsetvl): Adjust for new version. - * config/riscv/riscv-vsetvl.h (enum def_type): New enum. - -2023-01-27 Jakub Jelinek - - PR other/108560 - * doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len - from size_t to int. - -2023-01-27 Jakub Jelinek - - PR ipa/106061 - * cgraph.cc (cgraph_edge::verify_corresponds_to_fndecl): Allow - redirection of calls to __builtin_trap in addition to redirection - to __builtin_unreachable. - -2023-01-27 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (before_p): Fix bug. - -2023-01-27 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): Refine function args. - (emit_vsetvl_insn): Ditto. - -2023-01-27 Ju-Zhe Zhong - - * config/riscv/vector.md: Fix constraints. - -2023-01-27 Ju-Zhe Zhong - - * config/riscv/vector-iterators.md: Add TARGET_MIN_VLEN > 32 predicates. - -2023-01-27 Patrick Palka - Jakub Jelinek - - * tree-core.h (tree_code_type, tree_code_length): For - C++17 and later, add inline keyword, otherwise don't define - the arrays, but declare extern arrays. - * tree.cc (tree_code_type, tree_code_length): Define these - arrays for C++14 and older. - -2023-01-27 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.h: Change it into public. - -2023-01-27 Ju-Zhe Zhong - - * config/riscv/riscv-passes.def (INSERT_PASS_BEFORE): Reorder VSETVL - pass. - -2023-01-27 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::execute): Always call split_all_insns. - -2023-01-27 Ju-Zhe Zhong - - * config/riscv/vector.md: Fix incorrect attributes. - -2023-01-27 Richard Biener - - PR target/55522 - * config/loongarch/gnu-user.h (GNU_USER_TARGET_MATHFILE_SPEC): - Don't add crtfastmath.o for -shared. - -2023-01-27 Alexandre Oliva - - * doc/options.texi (option, RejectNegative): Mention that - -g-started options are also implicitly negatable. - -2023-01-26 Kito Cheng - - * config/riscv/riscv-vector-builtins.cc (register_builtin_types): - Use get_typenode_from_name to get fixed-width integer type - nodes. - * config/riscv/riscv-vector-builtins.def: Update define with - fixed-width integer type nodes. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (same_bb_and_before_p): Remove it. - (real_insn_and_same_bb_p): New function. - (same_bb_and_after_or_equal_p): Remove it. - (before_p): New function. - (reg_killed_by_bb_p): Ditto. - (has_vsetvl_killed_avl_p): Ditto. - (get_vl): Move location so that we can call it. - (anticipatable_occurrence_p): Fix issue of AVL=REG support. - (available_occurrence_p): Ditto. - (dominate_probability_p): Remove it. - (can_backward_propagate_p): Remove it. - (get_all_nonphi_defs): New function. - (get_all_predecessors): Ditto. - (any_insn_in_bb_p): Ditto. - (insert_vsetvl): Adjust AVL REG. - (source_equal_p): New function. - (extract_single_source): Ditto. - (avl_info::single_source_equal_p): Ditto. - (avl_info::operator==): Adjust for AVL=REG. - (vl_vtype_info::same_avl_p): Ditto. - (vector_insn_info::set_demand_info): Remove it. - (vector_insn_info::compatible_p): Adjust for AVL=REG. - (vector_insn_info::compatible_avl_p): New function. - (vector_insn_info::merge): Adjust AVL=REG. - (vector_insn_info::dump): Ditto. - (pass_vsetvl::merge_successors): Remove it. - (enum fusion_type): New enum. - (pass_vsetvl::get_backward_fusion_type): New function. - (pass_vsetvl::backward_demand_fusion): Adjust for AVL=REG. - (pass_vsetvl::forward_demand_fusion): Ditto. - (pass_vsetvl::demand_fusion): Ditto. - (pass_vsetvl::prune_expressions): Ditto. - (pass_vsetvl::compute_local_properties): Ditto. - (pass_vsetvl::cleanup_vsetvls): Ditto. - (pass_vsetvl::commit_vsetvls): Ditto. - (pass_vsetvl::init): Ditto. - * config/riscv/riscv-vsetvl.h (enum fusion_type): New enum. - (enum merge_type): New enum. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc - (vector_infos_manager::vector_infos_manager): Add probability. - (vector_infos_manager::dump): Ditto. - (pass_vsetvl::compute_probabilities): Ditto. - * config/riscv/riscv-vsetvl.h (struct vector_block_info): Ditto. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (vector_insn_info::operator==): Remove dirty_pat. - (vector_insn_info::merge): Ditto. - (vector_insn_info::dump): Ditto. - (pass_vsetvl::merge_successors): Ditto. - (pass_vsetvl::backward_demand_fusion): Ditto. - (pass_vsetvl::forward_demand_fusion): Ditto. - (pass_vsetvl::commit_vsetvls): Ditto. - * config/riscv/riscv-vsetvl.h: Ditto. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (add_label_notes): Rename insn to - rinsn. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::backward_demand_fusion): Refine codes. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::forward_demand_fusion): - Add pre-check for redundant flow. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (vector_infos_manager::create_bitmap_vectors): New function. - (vector_infos_manager::free_bitmap_vectors): Ditto. - (pass_vsetvl::pre_vsetvl): Adjust codes. - * config/riscv/riscv-vsetvl.h: New function declaration. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (can_backward_propagate_p): Fix for null iter_bb. - (vector_insn_info::set_demand_info): New function. - (pass_vsetvl::emit_local_forward_vsetvls): Adjust for refinement of Phase 3. - (pass_vsetvl::merge_successors): Ditto. - (pass_vsetvl::compute_global_backward_infos): Ditto. - (pass_vsetvl::backward_demand_fusion): Ditto. - (pass_vsetvl::forward_demand_fusion): Ditto. - (pass_vsetvl::demand_fusion): New function. - (pass_vsetvl::lazy_vsetvl): Adjust for refinement of phase 3. - * config/riscv/riscv-vsetvl.h: New function declaration. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (vector_insn_info::operator>=): Fix available condition. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (change_vsetvl_insn): New function. - (pass_vsetvl::compute_global_backward_infos): Simplify codes. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (loop_basic_block_p): Adjust function. - (backward_propagate_worthwhile_p): Fix non-worthwhile. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (change_insn): Adjust in_group in validate_change. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vsetvl.cc (vector_infos_manager::all_same_avl_p): New function. - (pass_vsetvl::can_refine_vsetvl_p): Add AVL check. - (pass_vsetvl::commit_vsetvls): Ditto. - * config/riscv/riscv-vsetvl.h: New function declaration. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/vector.md: - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins-bases.cc (class loadstore): use - pred_store for vse. - * config/riscv/riscv-vector-builtins.cc - (function_expander::add_mem_operand): Refine function. - (function_expander::use_contiguous_load_insn): Adjust new - implementation. - (function_expander::use_contiguous_store_insn): Ditto. - * config/riscv/riscv-vector-builtins.h: Refine function. - * config/riscv/vector.md (@pred_store): New pattern. - -2023-01-26 Ju-Zhe Zhong - - * config/riscv/riscv-vector-builtins.cc: Change to scalar pointer. - -2023-01-26 Marek Polacek - - PR middle-end/108543 - * opts.cc (parse_sanitizer_options): Don't always clear SANITIZE_ADDRESS - if it was previously set. - -2023-01-26 Jakub Jelinek - - PR tree-optimization/108540 - * range-op-float.cc (foperator_equal::fold_range): If both op1 and op2 - are singletons, use range_true even if op1 != op2 - when one range is [-0.0, -0.0] and another [0.0, 0.0]. Similarly, - even if intersection of the ranges is empty and one has - zero low bound and another zero high bound, use range_true_and_false - rather than range_false. - (foperator_not_equal::fold_range): If both op1 and op2 - are singletons, use range_false even if op1 != op2 - when one range is [-0.0, -0.0] and another [0.0, 0.0]. Similarly, - even if intersection of the ranges is empty and one has - zero low bound and another zero high bound, use range_true_and_false - rather than range_true. - -2023-01-26 Jakub Jelinek - - * value-relation.cc (kind_string): Add const. - (rr_negate_table, rr_swap_table, rr_intersect_table, - rr_union_table, rr_transitive_table): Add static const, change - element type from relation_kind to unsigned char. - (relation_negate, relation_swap, relation_intersect, relation_union, - relation_transitive): Cast rr_*_table element to relation_kind. - (relation_to_code): Add static const. - (relation_tests): Assert VREL_LAST is smaller than UCHAR_MAX. - -2023-01-26 Richard Biener - - PR tree-optimization/108547 - * gimple-predicate-analysis.cc (value_sat_pred_p): - Use widest_int. - -2023-01-26 Siddhesh Poyarekar - - PR tree-optimization/108522 - * tree-object-size.cc (compute_object_offset): Make EXPR - argument non-const. Call component_ref_field_offset. - -2023-01-26 Kyrylo Tkachov - - * config/aarch64/aarch64-option-extensions.def (cssc): Specify - FEATURE_STRING field. - -2023-01-26 Gerald Pfeifer - - * doc/sourcebuild.texi: Refer to projects as GCC and GDB. - -2023-01-25 Iain Sandoe - - PR modula2/102343 - PR modula2/108182 - * gcc.cc: Provide default specs for Modula-2 so that when the - language is not built-in better diagnostics are emitted for - attempts to use .mod or .m2i file extensions. - -2023-01-25 Andrea Corallo - - * config/arm/mve.md (mve_vqnegq_s): Fix spacing. - -2023-01-25 Andrea Corallo - - * config/arm/mve.md (mve_vqabsq_s): Fix spacing. - -2023-01-25 Andrea Corallo - - * config/arm/mve.md (mve_vnegq_f, mve_vnegq_s): - Fix spacing. - -2023-01-25 Andrea Corallo - - * config/arm/mve.md (@mve_vclzq_s): Fix spacing. - -2023-01-25 Andrea Corallo - - * config/arm/mve.md (mve_vclsq_s): Fix spacing. - -2023-01-25 Richard Biener - - PR tree-optimization/108523 - * tree-ssa-sccvn.cc (visit_phi): Avoid using the exclusive - backedge value for the result when using predication to - prove equivalence. - -2023-01-25 Richard Biener - - * doc/lto.texi (Command line options): Reword and update reference - to removed lto_read_all_file_options. - -2023-01-25 Richard Sandiford - - * config/aarch64/aarch64.md (umax3): Separate the CNT and CSSC - tests. - -2023-01-25 Gerald Pfeifer - - * doc/contrib.texi: Add Jose E. Marchesi. - -2023-01-25 Jakub Jelinek - - PR tree-optimization/108498 - * gimple-ssa-store-merging.cc (class store_operand_info): - End coment with full stop rather than comma. - (split_group): Likewise. - (merged_store_group::apply_stores): Clear string_concatenation if - start or end aren't on a byte boundary. - -2023-01-25 Siddhesh Poyarekar - Jakub Jelinek - - PR tree-optimization/108522 - * tree-object-size.cc (compute_object_offset): Use - TREE_OPERAND(ref, 2) for COMPONENT_REF when available. - -2023-01-24 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md: - Fix exit from loops detecting references before overwriting in the - split pattern. - -2023-01-24 Vladimir N. Makarov - - * lra-constraints.cc (get_hard_regno): Remove final_p arg. Always - do elimination but only for hard register. - (operands_match_p, uses_hard_regs_p, process_alt_operands): Adjust - calls of get_hard_regno. - -2023-01-24 Stefan Schulze Frielinghaus - - * config/s390/s390-d.cc (s390_d_target_versions): Fix detection - of CPU version. - -2023-01-24 Andre Vieira - - PR target/108177 - * config/arm/mve.md (mve_vstrbq_p_, mve_vstrhq_p_fv8hf, - mve_vstrhq_p_, mve_vstrwq_p_v4si): Add memory operand - as input operand. - -2023-01-24 Xianmiao Qu - - * config.gcc(csky-*-linux*): Define CSKY_ENABLE_MULTILIB - and only include 'csky/t-csky-linux' when enable multilib. - * config/csky/csky-linux-elf.h(SYSROOT_SUFFIX_SPEC): Don't - define it when disable multilib. - -2023-01-24 Richard Biener - - PR tree-optimization/108500 - * dominance.h (calculate_dominance_info): Add parameter - to indicate fast-query compute, defaulted to true. - * dominance.cc (calculate_dominance_info): Honor - fast-query compute parameter. - * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Do - not compute the dominator fast-query DFS numbers. - -2023-01-24 Eric Biggers - - PR bootstrap/90543 - * optc-save-gen.awk: Fix copy-and-paste error. - -2023-01-24 Jakub Jelinek - - PR c++/108474 - * cgraphbuild.cc: Include gimplify.h. - (record_reference): Replace VAR_DECLs with DECL_HAS_VALUE_EXPR_P with - their corresponding DECL_VALUE_EXPR expressions after unsharing. - -2023-01-24 Srinath Parvathaneni - - PR target/108505 - * config.gcc (tm_file): Move the variable out of loop. - -2023-01-24 Lulu Cheng - Yang Yujie - - PR target/107731 - * config/loongarch/loongarch.cc (loongarch_classify_address): - Add precessint for CONST_INT. - (loongarch_print_operand_reloc): Operand modifier 'c' is supported. - (loongarch_print_operand): Increase the processing of '%c'. - * doc/extend.texi: Adds documents for LoongArch operand modifiers. - And port the public operand modifiers information to this document. - -2023-01-23 Srinath Parvathaneni - - * doc/invoke.texi (-mbranch-protection): Update documentation. - -2023-01-23 Richard Biener - - PR target/55522 - * config/sparc/freebsd.h (ENDFILE_SPEC): Don't add crtfastmath.o - for -shared. - * config/sparc/linux.h (ENDFILE_SPEC): Likewise. - * config/sparc/linux64.h (ENDFILE_SPEC): Likewise. - * config/sparc/sp-elf.h (ENDFILE_SPEC): Likewise. - * config/sparc/sp64-elf.h (ENDFILE_SPEC): Likewise. - -2023-01-23 Srinath Parvathaneni - - * config/arm/aout.h (ra_auth_code): Add entry in enum. - * config/arm/arm.cc (emit_multi_reg_push): Add RA_AUTH_CODE register - to dwarf frame expression. - (arm_emit_multi_reg_pop): Restore RA_AUTH_CODE register. - (arm_expand_prologue): Update frame related information and reg notes - for pac/pacbit insn. - (arm_regno_class): Check for pac pseudo reigster. - (arm_dbx_register_number): Assign ra_auth_code register number in dwarf. - (arm_init_machine_status): Set pacspval_needed to zero. - (arm_debugger_regno): Check for PAC register. - (arm_unwind_emit_sequence): Print .save directive with ra_auth_code - register. - (arm_unwind_emit_set): Add entry for IP_REGNUM in switch case. - (arm_unwind_emit): Update REG_CFA_REGISTER case._ - * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Modify. - (DWARF_PAC_REGNUM): Define. - (IS_PAC_REGNUM): Likewise. - (enum reg_class): Add PAC_REG entry. - (machine_function): Add pacbti_needed state to structure. - * config/arm/arm.md (RA_AUTH_CODE): Define. - -2023-01-23 Srinath Parvathaneni - - * config.gcc ($tm_file): Update variable. - * config/arm/arm-mlib.h: Create new header file. - * config/arm/t-rmprofile (MULTI_ARCH_DIRS_RM): Rename mbranch-protection - multilib arch directory. - (MULTILIB_REUSE): Add multilib reuse rules. - (MULTILIB_MATCHES): Add multilib match rules. - -2023-01-23 Srinath Parvathaneni - - * config/arm/arm-cpus.in (cortex-m85): Define new CPU. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Likewise. - * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m85. - * (-mfix-cmse-cve-2021-35465): Likewise. - -2023-01-23 Richard Biener - - PR tree-optimization/108482 - * tree-vect-generic.cc (expand_vector_operations): Fold remaining - .LOOP_DIST_ALIAS calls. - -2023-01-23 Andrea Corallo - - * config.gcc (arm*-*-*): Add 'aarch-bti-insert.o' object. - * config/arm/arm-protos.h: Update. - * config/arm/aarch-common-protos.h: Declare - 'aarch_bti_arch_check'. - * config/arm/arm.cc (aarch_bti_enabled) Update. - (aarch_bti_j_insn_p, aarch_pac_insn_p, aarch_gen_bti_c) - (aarch_gen_bti_j, aarch_bti_arch_check): New functions. - * config/arm/arm.md (bti_nop): New insn. - * config/arm/t-arm (PASSES_EXTRA): Add 'arm-passes.def'. - (aarch-bti-insert.o): New target. - * config/arm/unspecs.md (VUNSPEC_BTI_NOP): New unspec. - * config/arm/aarch-bti-insert.cc (rest_of_insert_bti): Verify arch - compatibility. - (gate): Make use of 'aarch_bti_arch_check'. - * config/arm/arm-passes.def: New file. - * config/aarch64/aarch64.cc (aarch_bti_arch_check): New function. - -2023-01-23 Andrea Corallo - - * config.gcc (aarch64*-*-*): Rename 'aarch64-bti-insert.o' into - 'aarch-bti-insert.o'. - * config/aarch64/aarch64-protos.h: Remove 'aarch64_bti_enabled' - proto. - * config/aarch64/aarch64.cc (aarch_bti_enabled): Rename. - (aarch_bti_j_insn_p, aarch_pac_insn_p): New functions. - (aarch64_output_mi_thunk) - (aarch64_print_patchable_function_entry) - (aarch64_file_end_indicate_exec_stack): Update renamed function - calls to renamed functions. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Likewise. - * config/aarch64/t-aarch64 (aarch-bti-insert.o): Update - target. - * config/aarch64/aarch64-bti-insert.cc: Delete. - * config/arm/aarch-bti-insert.cc: New file including and - generalizing code from aarch64-bti-insert.cc. - * config/arm/aarch-common-protos.h: Update. - -2023-01-23 Andrea Corallo - - * config/arm/arm.h (arm_arch8m_main): Declare it. - * config/arm/arm-protos.h (arm_current_function_pac_enabled_p): - Declare it. - * config/arm/arm.cc (arm_arch8m_main): Define it. - (arm_option_reconfigure_globals): Set arm_arch8m_main. - (arm_compute_frame_layout, arm_expand_prologue) - (thumb2_expand_return, arm_expand_epilogue) - (arm_conditional_register_usage): Update for pac codegen. - (arm_current_function_pac_enabled_p): New function. - (aarch_bti_enabled) New function. - (use_return_insn): Return zero when pac is enabled. - * config/arm/arm.md (pac_ip_lr_sp, pacbti_ip_lr_sp, aut_ip_lr_sp): - Add new patterns. - * config/arm/unspecs.md (UNSPEC_PAC_NOP) - (VUNSPEC_PACBTI_NOP, VUNSPEC_AUT_NOP): Add unspecs. - -2023-01-23 Andrea Corallo - - * config/arm/t-rmprofile: Add multilib rules for march +pacbti and - mbranch-protection. - -2023-01-23 Andrea Corallo - Tejas Belagod - - * config/arm/arm.cc (arm_file_start): Emit EABI attributes for - Tag_PAC_extension, Tag_BTI_extension, TAG_BTI_use, TAG_PACRET_use. - -2023-01-23 Andrea Corallo - Tejas Belagod - Srinath Parvathaneni - - * ginclude/unwind-arm-common.h (_Unwind_VRS_RegClass): Introduce - new pseudo register class _UVRSC_PAC. - -2023-01-23 Andrea Corallo - Tejas Belagod - - * config/arm/arm-c.cc (arm_cpu_builtins): Define - __ARM_FEATURE_BTI_DEFAULT, __ARM_FEATURE_PAC_DEFAULT, - __ARM_FEATURE_PAUTH and __ARM_FEATURE_BTI. - -2023-01-23 Andrea Corallo - Tejas Belagod - - * doc/sourcebuild.texi: Document arm_pacbti_hw. - -2023-01-23 Andrea Corallo - Tejas Belagod - Richard Earnshaw - - * config/arm/arm.cc (arm_configure_build_target): Parse and validate - -mbranch-protection option and initialize appropriate data structures. - * config/arm/arm.opt (-mbranch-protection): New option. - * doc/invoke.texi (Arm Options): Document it. - -2023-01-23 Andrea Corallo - Tejas Belagod - - * config/arm/arm.h (TARGET_HAVE_PACBTI): New macro. - * config/arm/arm-cpus.in (pacbti): New feature. - * doc/invoke.texi (Arm Options): Document it. - -2023-01-23 Andrea Corallo - Tejas Belagod - - * common/config/aarch64/aarch64-common.cc: Include aarch-common.h. - (all_architectures): Fix comment. - (aarch64_parse_extension): Rename return type, enum value names. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Rename - factored out aarch_ra_sign_scope and aarch_ra_sign_key variables. - Also rename corresponding enum values. - * config/aarch64/aarch64-opts.h (aarch64_function_type): Factor - out aarch64_function_type and move it to common code as - aarch_function_type in aarch-common.h. - * config/aarch64/aarch64-protos.h: Include common types header, - move out types aarch64_parse_opt_result and aarch64_key_type to - aarch-common.h - * config/aarch64/aarch64.cc: Move mbranch-protection parsing types - and functions out into aarch-common.h and aarch-common.cc. Fix up - all the name changes resulting from the move. - * config/aarch64/aarch64.md: Fix up aarch64_ra_sign_key type name change - and enum value. - * config/aarch64/aarch64.opt: Include aarch-common.h to import - type move. Fix up name changes from factoring out common code and - data. - * config/arm/aarch-common-protos.h: Export factored out routines to both - backends. - * config/arm/aarch-common.cc: Include newly factored out types. - Move all mbranch-protection code and data structures from - aarch64.cc. - * config/arm/aarch-common.h: New header that declares types shared - between aarch32 and aarch64 backends. - * config/arm/arm-protos.h: Declare types and variables that are - made common to aarch64 and aarch32 backends - aarch_ra_sign_key, - aarch_ra_sign_scope and aarch_enable_bti. - * config/arm/arm.opt (config/arm/aarch-common.h): Include header. - (aarch_ra_sign_scope, aarch_enable_bti): Declare variable. - * config/arm/arm.cc: Add missing includes. - -2023-01-23 Tobias Burnus - - * doc/install.texi (amdgcn, nvptx): Require newlib 4.3.0. - -2023-01-23 Richard Biener - - PR tree-optimization/108449 - * cgraphunit.cc (check_global_declaration): Do not turn - undefined statics into externs. - -2023-01-22 Dimitar Dimitrov - - * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI - and HI input modes. - * config/pru/pru.md (clz): Fix generated code for QI and HI - input modes. - -2023-01-22 Cupertino Miranda - - * config/v850/v850.cc (v850_select_section): Put const volatile - objects into read-only sections. - -2023-01-20 Tejas Belagod - - * config/aarch64/arm_neon.h (vmull_p64, vmull_high_p64, vaeseq_u8, - vaesdq_u8, vaesmcq_u8, vaesimcq_u8): Gate under "nothing+aes". - (vsha1*_u32, vsha256*_u32): Gate under "nothing+sha2". - -2023-01-20 Jakub Jelinek - - PR tree-optimization/108457 - * tree-ssa-loop-niter.cc (build_cltz_expr): Use - SCALAR_INT_TYPE_MODE (utype) directly as C[LT]Z_DEFINED_VALUE_AT_ZERO - argument instead of a temporary. Formatting fixes. - -2023-01-19 Jakub Jelinek - - PR tree-optimization/108447 - * value-relation.cc (rr_union_table): Fix VREL_UNDEFINED row order. - (relation_tests): Add self-tests for relation_{intersect,union} - commutativity. - * selftest.h (relation_tests): Declare. - * function-tests.cc (test_ranges): Call it. - -2023-01-19 H.J. Lu - - PR target/108436 - * config/i386/i386-expand.cc (ix86_expand_builtin): Check - invalid third argument to __builtin_ia32_prefetch. - -2023-01-19 Jakub Jelinek - - PR middle-end/108459 - * omp-expand.cc (expand_omp_for_init_counts): Use fold_build1 rather - than fold_unary for NEGATE_EXPR. - -2023-01-19 Christophe Lyon - - PR target/108411 - * config/aarch64/aarch64.cc (aarch64_layout_arg): Improve - comment. Move assert about alignment a bit later. - -2023-01-19 Jakub Jelinek - - PR tree-optimization/108440 - * tree-ssa-forwprop.cc: Include gimple-range.h. - (simplify_rotate): For the forms with T2 wider than T and shift counts of - Y and B - Y add & (B - 1) masking for the rotate count if Y could be equal - to B. For the forms with T2 wider than T and shift counts of - Y and (-Y) & (B - 1), don't punt if range could be [B, B2], but only if - range doesn't guarantee Y < B or Y = N * B. If range doesn't guarantee - Y < B, also add & (B - 1) masking for the rotate count. Use lazily created - pass specific ranger instead of get_global_range_query. - (pass_forwprop::execute): Disable that ranger at the end of pass if it has - been created. - -2023-01-19 Prathamesh Kulkarni - - * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set): Use - exact_log2 (INTVAL (operands[2])) >= 0 as condition for gating - the pattern. - (aarch64_simd_vec_copy_lane): Likewise. - (aarch64_simd_vec_copy_lane_): Likewise. - -2023-01-19 Alexandre Oliva - - PR debug/106746 - * sched-deps.cc (sched_analyze_2): Skip cselib address lookup - within debug insns. - -2023-01-18 Martin Jambor - - PR ipa/107944 - * cgraph.cc (cgraph_node::remove): Check whether nodes up the - lcone_of chain also do not need the body. - -2023-01-18 Richard Biener - - Revert: - 2022-12-16 Richard Biener - - PR middle-end/108086 - * tree-inline.cc (remap_ssa_name): Do not unshare the - result from the decl_map. - -2023-01-18 Murray Steele - - PR target/108442 - * config/arm/arm_mve.h (__arm_vst1q_p_u8): Use prefixed intrinsic - function. - (__arm_vst1q_p_s8): Likewise. - (__arm_vld1q_z_u8): Likewise. - (__arm_vld1q_z_s8): Likewise. - (__arm_vst1q_p_u16): Likewise. - (__arm_vst1q_p_s16): Likewise. - (__arm_vld1q_z_u16): Likewise. - (__arm_vld1q_z_s16): Likewise. - (__arm_vst1q_p_u32): Likewise. - (__arm_vst1q_p_s32): Likewise. - (__arm_vld1q_z_u32): Likewise. - (__arm_vld1q_z_s32): Likewise. - (__arm_vld1q_z_f16): Likewise. - (__arm_vst1q_p_f16): Likewise. - (__arm_vld1q_z_f32): Likewise. - (__arm_vst1q_p_f32): Likewise. - -2023-01-18 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md (xorsi3_internal): - Rename from the original of "xorsi3". - (xorsi3): New expansion pattern that emits addition rather than - bitwise-XOR when the second source is a constant of -2147483648 - if TARGET_DENSITY. - -2023-01-18 Kewen Lin - Andrew Pinski - - PR target/108396 - * config/rs6000/rs6000-overload.def (VEC_VSUBCUQ): Fix typo - vec_vsubcuqP with vec_vsubcuq. - -2023-01-18 Kewen Lin - - PR target/108348 - * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the - support for invalid uses of MMA opaque type in function arguments. - -2023-01-18 liuhongt - - PR target/55522 - * config/i386/cygwin.h (ENDFILE_SPEC): Link crtfastmath.o - whenever -mdaz-ftz is specified. Don't link crtfastmath.o when - -share or -mno-daz-ftz is specified. - * config/i386/darwin.h (ENDFILE_SPEC): Ditto. - * config/i386/mingw32.h (ENDFILE_SPEC): Ditto. - -2023-01-17 Jose E. Marchesi - - * config/bpf/bpf.cc (bpf_option_override): Disable - -fstack-protector. - -2023-01-17 Jakub Jelinek - - PR tree-optimization/106523 - * tree-ssa-forwprop.cc (simplify_rotate): For the - patterns with (-Y) & (B - 1) in one operand's shift - count and Y in another, if T2 has wider precision than T, - punt if Y could have a value in [B, B2 - 1] range. - -2023-01-16 H.J. Lu - - PR target/105980 - * config/i386/i386.cc (x86_output_mi_thunk): Disable - -mforce-indirect-call for PIC in 32-bit mode. - -2023-01-16 Jan Hubicka - - PR ipa/106077 - * ipa-modref.cc (modref_access_analysis::analyze): Use - find_always_executed_bbs. - * ipa-sra.cc (process_scan_results): Likewise. - * ipa-utils.cc (stmt_may_terminate_function_p): New function. - (find_always_executed_bbs): New function. - * ipa-utils.h (stmt_may_terminate_function_p): Declare. - (find_always_executed_bbs): Declare. - -2023-01-16 Jan Hubicka - - * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Guard scatter - by TARGET_USE_SCATTER. - * config/i386/i386.h (TARGET_USE_SCATTER_2PARTS, - TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New macros. - * config/i386/x86-tune.def (TARGET_USE_SCATTER_2PARTS, - TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New tunes. - (X86_TUNE_AVOID_256FMA_CHAINS, X86_TUNE_AVOID_512FMA_CHAINS): Disable - for znver4. (X86_TUNE_USE_GATHER): Disable for zen4. - -2023-01-16 Richard Biener - - PR target/55522 - * config/sol2.h (ENDFILE_SPEC): Don't add crtfastmath.o for -shared. - -2023-01-16 Stam Markianos-Wright - - PR target/96795 - PR target/107515 - * config/arm/arm_mve.h (__ARM_mve_coerce2): Split types. - (__ARM_mve_coerce3): Likewise. - -2023-01-16 Andrew Carlotti - - * tree-ssa-loop-niter.cc (build_popcount_expr): Add IFN support. - -2023-01-16 Andrew Carlotti - - * tree-ssa-loop-niter.cc (number_of_iterations_cltz): New. - (number_of_iterations_bitcount): Add call to the above. - (number_of_iterations_exit_assumptions): Add EQ_EXPR case for - c[lt]z idiom recognition. - -2023-01-16 Andrew Carlotti - - * doc/sourcebuild.texi: Add missing target attributes. - -2023-01-16 Andrew Carlotti - - PR tree-optimization/94793 - * tree-scalar-evolution.cc (expression_expensive_p): Add checks - for c[lt]z optabs. - * tree-ssa-loop-niter.cc (build_cltz_expr): New. - (number_of_iterations_cltz_complement): New. - (number_of_iterations_bitcount): Add call to the above. - -2023-01-16 Jonathan Wakely - - * doc/extend.texi (Common Function Attributes): Fix grammar. - -2023-01-16 Jakub Jelinek - - PR other/108413 - * config/riscv/riscv-vsetvl.h: Add space in between Copyright and (C). - * config/riscv/riscv-vsetvl.cc: Likewise. - -2023-01-16 Jakub Jelinek - - PR c++/105593 - * config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily - disable -Winit-self using pragma GCC diagnostic ignored. - * config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128): - Likewise. - * config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps, - _mm256_undefined_si256): Likewise. - * config/i386/avx512fintrin.h (_mm512_undefined_pd, - _mm512_undefined_ps, _mm512_undefined_epi32): Likewise. - * config/i386/avx512fp16intrin.h (_mm_undefined_ph, - _mm256_undefined_ph, _mm512_undefined_ph): Likewise. - -2023-01-16 Kewen Lin - - PR target/108272 - * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the - support for invalid uses in inline asm, factor out the checking and - erroring to lambda function check_and_error_invalid_use. - -2023-01-15 Aldy Hernandez - - PR tree-optimization/107608 - * range-op-float.cc (range_operator_float::fold_range): Avoid - folding into INF when flag_trapping_math. - * value-range.h (frange::known_isinf): Return false for possible NANs. - -2023-01-15 Xianmiao Qu - - * config.gcc (csky-*-*): Support --with-float=softfp. - -2023-01-14 Takayuki 'January June' Suwa - - * config/xtensa/xtensa-protos.h (order_regs_for_local_alloc): - Rename to xtensa_adjust_reg_alloc_order. - * config/xtensa/xtensa.cc (xtensa_adjust_reg_alloc_order): - Ditto. And also remove code to reorder register numbers for - leaf functions, rename the tables, and adjust the allocation - order for the call0 ABI to use register A0 more. - (xtensa_leaf_regs): Remove. - * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Cosmetics. - (order_regs_for_local_alloc): Rename as the above. - (LEAF_REGISTERS, LEAF_REG_REMAP, leaf_function): Remove. - -2023-01-14 Prathamesh Kulkarni - - * config/aarch64/aarch64-sve.md (aarch64_vec_duplicate_vq_le): - Change to define_insn_and_split to fold ldr+dup to ld1rq. - * config/aarch64/predicates.md (aarch64_sve_dup_ld1rq_operand): New. - -2023-01-14 Alexandre Oliva - - * hash-table.h (is_deleted): Precheck !is_empty. - (mark_deleted): Postcheck !is_empty. - (copy constructor): Test is_empty before is_deleted. - -2023-01-14 Alexandre Oliva - - PR target/40457 - * config/arm/arm.md (movmisaligndi): Prefer aligned SImode - moves. - -2023-01-13 Eric Botcazou - - PR rtl-optimization/108274 - * function.cc (thread_prologue_and_epilogue_insns): Also update the - DF information for calls in a few more cases. - -2023-01-13 John David Anglin - - * config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): Delete define. - * config/pa/pa.cc (pa_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE - define. - * config/pa/pa.h (TARGET_SYNC_LIBCALLS): Use flag_sync_libcalls. - (MAX_SYNC_LIBFUNC_SIZE): Define. - (TARGET_CPU_CPP_BUILTINS): Define __SOFTFP__ when soft float is - enabled. - * config/pa/pa.md (atomic_storeqi): Emit __atomic_exchange_1 - libcall when sync libcalls are disabled. - (atomic_storehi, atomic_storesi, atomic_storedi): Likewise. - (atomic_loaddi): Emit __atomic_load_8 libcall when sync libcalls - are disabled on 32-bit target. - * config/pa/pa.opt (matomic-libcalls): New option. - * doc/invoke.texi (HPPA Options): Update. - -2023-01-13 Alexander Monakov - - PR rtl-optimization/108117 - PR rtl-optimization/108132 - * sched-deps.cc (deps_analyze_insn): Do not schedule across - calls before reload. - -2023-01-13 Srinath Parvathaneni - - * common/config/arm/arm-common.cc (arm_canon_arch_option_1): Ignore cde - options for -mlibarch. - * config/arm/arm-cpus.in (begin cpu cortex-m55): Add cde options. - * doc/invoke.texi (CDE): Document options for Cortex-M55 CPU. - -2023-01-13 Qing Zhao - - * attribs.cc (strict_flex_array_level_of): Move this function to ... - * attribs.h (strict_flex_array_level_of): Remove the declaration. - * gimple-array-bounds.cc (array_bounds_checker::check_array_ref): - replace the referece to strict_flex_array_level_of with - DECL_NOT_FLEXARRAY. - * tree.cc (component_ref_size): Likewise. - -2023-01-13 Richard Biener - - PR target/55522 - * config/arm/linux-eabi.h (ENDFILE_SPEC): Don't add - crtfastmath.o for -shared. - * config/arm/unknown-elf.h (STARTFILE_SPEC): Likewise. - -2023-01-13 Richard Biener - - PR target/55522 - * config/aarch64/aarch64-elf-raw.h (ENDFILE_SPEC): Don't add - crtfastmath.o for -shared. - * config/aarch64/aarch64-freebsd.h (GNU_USER_TARGET_MATHFILE_SPEC): - Likewise. - * config/aarch64/aarch64-linux.h (GNU_USER_TARGET_MATHFILE_SPEC): - Likewise. - -2023-01-13 Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_dwarf_frame_reg_mode): New - function. - (TARGET_DWARF_FRAME_REG_MODE): Define. - -2023-01-13 Richard Biener - - PR target/107209 - * config/aarch64/aarch64.cc (aarch64_gimple_fold_builtin): Don't - update EH info on the fly. - -2023-01-13 Richard Biener - - PR tree-optimization/108387 - * tree-ssa-sccvn.cc (visit_nary_op): Check for SSA_NAME - value before inserting expression into the tables. - -2023-01-12 Andrew Pinski - Roger Sayle - - PR tree-optimization/92342 - * match.pd ((m1 CMP m2) * d -> (m1 CMP m2) ? d : 0): - Use tcc_comparison and :c for the multiply. - (b & -(a CMP c) -> (a CMP c)?b:0): New pattern. - -2023-01-12 Christophe Lyon - Richard Sandiford - - PR target/105549 - * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): - Check DECL_PACKED for bitfield. - (aarch64_layout_arg): Warn when parameter passing ABI changes. - (aarch64_function_arg_boundary): Do not warn here. - (aarch64_gimplify_va_arg_expr): Warn when parameter passing ABI - changes. - -2023-01-12 Christophe Lyon - Richard Sandiford - - * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Fix - comment. - (aarch64_layout_arg): Factorize warning conditions. - (aarch64_function_arg_boundary): Fix typo. - * function.cc (currently_expanding_function_start): New variable. - (expand_function_start): Handle - currently_expanding_function_start. - * function.h (currently_expanding_function_start): Declare. - -2023-01-12 Richard Biener - - PR tree-optimization/99412 - * tree-ssa-reassoc.cc (is_phi_for_stmt): Remove. - (swap_ops_for_binary_stmt): Remove reduction handling. - (rewrite_expr_tree_parallel): Adjust. - (reassociate_bb): Likewise. - * tree-parloops.cc (build_new_reduction): Handle MINUS_EXPR. - -2023-01-12 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md (ctzsi2, ffssi2): - Rearrange the emitting codes. - -2023-01-12 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md (*btrue): - Correct value of the attribute "length" that depends on - TARGET_DENSITY and operands, and add '?' character to the register - constraint of the compared operand. - -2023-01-12 Alexandre Oliva - - * hash-table.h (expand): Check elements and deleted counts. - (verify): Likewise. - -2023-01-11 Roger Sayle - - PR tree-optimization/71343 - * tree-ssa-sccvn.cc (visit_nary_op) : Make - the value number of the expression X << C the same as the value - number for the multiplication X * (1< - - PR target/108293 - * config/bpf/bpf.cc (bpf_print_operand): Correct handling for - floating point modes. - -2023-01-11 Eric Botcazou - - PR tree-optimization/108199 - * tree-sra.cc (sra_modify_expr): Deal with reverse storage order - for bit-field references. - -2023-01-11 Kewen Lin - - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make - OPTION_MASK_P10_FUSION implicit setting honour Power10 tuning setting. - * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER): Remove - OPTION_MASK_P10_FUSION. - -2023-01-11 Richard Biener - - PR tree-optimization/107767 - * tree-cfgcleanup.cc (phi_alternatives_equal): Export. - * tree-cfgcleanup.h (phi_alternatives_equal): Declare. - * tree-switch-conversion.cc (switch_conversion::collect): - Count unique non-default targets accounting for later - merging opportunities. - -2023-01-11 Martin Liska - - PR middle-end/107976 - * params.opt: Limit JT params. - * stmt.cc (emit_case_dispatch_table): Use auto_vec. - -2023-01-11 Richard Biener - - PR tree-optimization/108352 - * tree-ssa-threadbackward.cc - (back_threader_profitability::profitable_path_p): Adjust - heuristic that allows non-multi-way branch threads creating - irreducible loops. - * doc/invoke.texi (--param fsm-scale-path-blocks): Remove. - (--param fsm-scale-path-stmts): Adjust. - * params.opt (--param=fsm-scale-path-blocks=): Remove. - (-param=fsm-scale-path-stmts=): Adjust description. - -2023-01-11 Richard Biener - - PR tree-optimization/108353 - * tree-ssa-propagate.cc (cfg_blocks_back, ssa_edge_worklist_back): - Remove. - (add_ssa_edge): Simplify. - (add_control_edge): Likewise. - (ssa_prop_init): Likewise. - (ssa_prop_fini): Likewise. - (ssa_propagation_engine::ssa_propagate): Likewise. - -2023-01-11 Andreas Krebbel - - * config/s390/s390.md (*not): New pattern. - -2023-01-11 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.cc (xtensa_insn_cost): - Let insn cost for size be obtained by applying COSTS_N_INSNS() - to instruction length and then dividing by 3. - -2023-01-10 Richard Biener - - PR tree-optimization/106293 - * tree-ssa-dse.cc (dse_classify_store): Use a worklist to - process degenerate PHI defs. - -2023-01-10 Roger Sayle - - PR rtl-optimization/106421 - * cprop.cc (bypass_block): Check that DEST is local to this - function (non-NULL) before calling find_edge. - -2023-01-10 Martin Jambor - - PR ipa/108110 - * ipa-param-manipulation.h (ipa_param_body_adjustments): New members - sort_replacements, lookup_first_base_replacement and - m_sorted_replacements_p. - * ipa-param-manipulation.cc: Define INCLUDE_ALGORITHM. - (ipa_param_body_adjustments::register_replacement): Set - m_sorted_replacements_p to false. - (compare_param_body_replacement): New function. - (ipa_param_body_adjustments::sort_replacements): Likewise. - (ipa_param_body_adjustments::common_initialization): Call - sort_replacements. - (ipa_param_body_adjustments::ipa_param_body_adjustments): Initialize - m_sorted_replacements_p. - (ipa_param_body_adjustments::lookup_replacement_1): Rework to use - std::lower_bound. - (ipa_param_body_adjustments::lookup_first_base_replacement): New - function. - (ipa_param_body_adjustments::modify_call_stmt): Use - lookup_first_base_replacement. - * omp-simd-clone.cc (ipa_simd_modify_function_body): Call - adjustments->sort_replacements. - -2023-01-10 Richard Biener - - PR tree-optimization/108314 - * tree-vect-stmts.cc (vectorizable_condition): Do not - perform BIT_NOT_EXPR optimization for EXTRACT_LAST_REDUCTION. - -2023-01-10 Xianmiao Qu - - * config/csky/csky-linux-elf.h (SYSROOT_SUFFIX_SPEC): New. - -2023-01-10 Xianmiao Qu - - * config/csky/csky.h (MULTILIB_DEFAULTS): Fix float abi option. - -2023-01-10 Xianmiao Qu - - * config/csky/csky.cc (csky_cpu_cpp_builtins): Add builtin - defines for soft float abi. - -2023-01-10 Xianmiao Qu - - * config/csky/csky.md (smart_bseti): Change condition to CSKY_ISA_FEATURE (E1). - (smart_bclri): Likewise. - (fast_bseti): Change condition to CSKY_ISA_FEATURE (E2). - (fast_bclri): Likewise. - (fast_cmpnesi_i): Likewise. - (*fast_cmpltsi_i): Likewise. - (*fast_cmpgeusi_i): Likewise. - -2023-01-10 Xianmiao Qu - - * config/csky/csky_insn_fpuv3.md (lsi2): Test - flag_fp_int_builtin_inexact || !flag_trapping_math. - (2): Likewise. - -2023-01-10 Andreas Krebbel - - * config/s390/s390.cc (s390_register_info): Check call_used_regs - instead of hard-coding the register numbers for call saved - registers. - (s390_optimize_register_info): Likewise. - -2023-01-09 Eric Botcazou - - * doc/gm2.texi (Overview): Fix @node markers. - (Using): Likewise. Remove subsections that were moved to Overview - from the menu and move others around. - -2023-01-09 Richard Biener - - PR middle-end/108209 - * genmatch.cc (commutative_op): Fix return value for - user-id with non-commutative first replacement. - -2023-01-09 Jakub Jelinek - - PR target/107453 - * calls.cc (expand_call): For calls with - TYPE_NO_NAMED_ARGS_STDARG_P (funtype) use zero for n_named_args. - Formatting fix. - -2023-01-09 Richard Biener - - PR middle-end/69482 - * cfgexpand.cc (discover_nonconstant_array_refs_r): Volatile - qualified accesses also force objects to memory. - -2023-01-09 Martin Liska - - PR lto/108330 - * lto-cgraph.cc (compute_ltrans_boundary): Do not insert - NULL (deleleted value) to a hash_set. - -2023-01-08 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md (*splice_bits): - New insn_and_split pattern. - -2023-01-07 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.cc - (xtensa_split_imm_two_addends, xtensa_emit_add_imm): - New helper functions. - (xtensa_set_return_address, xtensa_output_mi_thunk): - Change to use the helper function. - (xtensa_emit_adjust_stack_ptr): Ditto. - And also change to try reusing the content of scratch register - A9 if the register is not modified in the function body. - -2023-01-07 LIU Hao - - PR middle-end/108300 - * config/xtensa/xtensa-dynconfig.c: Define `WIN32_LEAN_AND_MEAN` - before . - * diagnostic-color.cc: Likewise. - * plugin.cc: Likewise. - * prefix.cc: Likewise. - -2023-01-06 Joseph Myers - - * doc/extend.texi (__builtin_tgmath): Do not restate standard rule - for handling real integer types. - -2023-01-06 Tamar Christina - - Revert: - 2022-12-12 Tamar Christina - - * config/aarch64/aarch64-simd.md (*aarch64_simd_movv2hf): New. - (mov, movmisalign, aarch64_dup_lane, - aarch64_store_lane0, aarch64_simd_vec_set, - @aarch64_simd_vec_copy_lane, vec_set, - reduc__scal_, reduc__scal_, - aarch64_reduc__internal, aarch64_get_lane, - vec_init, vec_extract): Support V2HF. - (aarch64_simd_dupv2hf): New. - * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): - Add E_V2HFmode. - * config/aarch64/iterators.md (VHSDF_P): New. - (V2F, VMOVE, nunits, Vtype, Vmtype, Vetype, stype, VEL, - Vel, q, vp): Add V2HF. - * config/arm/types.md (neon_fp_reduc_add_h): New. - -2023-01-06 Martin Liska - - PR middle-end/107966 - * doc/options.texi: Fix Var documentation in internal manual. - -2023-01-05 Roger Sayle - - Revert: - 2023-01-03 Roger Sayle - - * config/i386/i386-expand.cc (ix86_expand_int_movcc): Rewrite - RTL expansion to allow condition (mask) to be shared/reused, - by avoiding overwriting pseudos and adding REG_EQUAL notes. - -2023-01-05 Iain Sandoe - - * common.opt: Add -static-libgm2. - * config/darwin.h (LINK_SPEC): Handle static-libgm2. - * doc/gm2.texi: Document static-libgm2. - * gcc.cc (driver_handle_option): Allow static-libgm2. - -2023-01-05 Tejas Joshi - - * common/config/i386/i386-common.cc (processor_alias_table): - Use CPU_ZNVER4 for znver4. - * config/i386/i386.md: Add znver4.md. - * config/i386/znver4.md: New. - -2023-01-04 Jakub Jelinek - - PR tree-optimization/108253 - * tree-vrp.cc (maybe_set_nonzero_bits): Handle var with pointer - types. - -2023-01-04 Jakub Jelinek - - PR middle-end/108237 - * generic-match-head.cc: Include tree-pass.h. - (canonicalize_math_p, optimize_vectors_before_lowering_p): Define - to false if cfun and cfun->curr_properties has PROP_gimple_opt_math - resp. PROP_gimple_lvec property set. - -2023-01-04 Jakub Jelinek - - PR sanitizer/108256 - * convert.cc (do_narrow): Punt for MULT_EXPR if original - type doesn't wrap around and -fsanitize=signed-integer-overflow - is on. - * fold-const.cc (fold_unary_loc) : Likewise. - -2023-01-04 Hu, Lin1 - - * common/config/i386/cpuinfo.h (get_intel_cpu): Handle Emeraldrapids. - * common/config/i386/i386-common.cc: Add Emeraldrapids. - -2023-01-04 Hu, Lin1 - - * common/config/i386/cpuinfo.h (get_intel_cpu): Remove case 0xb5 - for meteorlake. - -2023-01-03 Sandra Loosemore - - * cgraph.h (struct cgraph_node): Add gc_candidate bit, modify - default constructor to initialize it. - * cgraphunit.cc (expand_all_functions): Save gc_candidate functions - for last and iterate to handle recursive calls. Delete leftover - candidates at the end. - * omp-simd-clone.cc (simd_clone_create): Set gc_candidate bit - on local clones. - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Clear - gc_candidate bit when a clone is used. - -2023-01-03 Florian Weimer - - Revert: - 2023-01-02 Florian Weimer - - * dwarf2cfi.cc (init_return_column_size): Remove. - (init_one_dwarf_reg_size): Adjust. - (generate_dwarf_reg_sizes): New function. Extracted - from expand_builtin_init_dwarf_reg_sizes. - (expand_builtin_init_dwarf_reg_sizes): Call - generate_dwarf_reg_sizes. - * target.def (init_dwarf_reg_sizes_extra): Adjust - hook signature. - * config/msp430/msp430.cc - (msp430_init_dwarf_reg_sizes_extra): Adjust. - * config/rs6000/rs6000.cc - (rs6000_init_dwarf_reg_sizes_extra): Likewise. - * doc/tm.texi: Update. - -2023-01-03 Florian Weimer - - Revert: - 2023-01-02 Florian Weimer - - * debug.h (dwarf_reg_sizes_constant): Declare. - * dwarf2cfi.cc (dwarf_reg_sizes_constant): New function. - -2023-01-03 Siddhesh Poyarekar - - PR tree-optimization/105043 - * doc/extend.texi (Object Size Checking): Split out into two - subsections and mention _FORTIFY_SOURCE. - -2023-01-03 Roger Sayle - - * config/i386/i386-expand.cc (ix86_expand_int_movcc): Rewrite - RTL expansion to allow condition (mask) to be shared/reused, - by avoiding overwriting pseudos and adding REG_EQUAL notes. - -2023-01-03 Roger Sayle - - PR target/108229 - * config/i386/i386-features.cc - (general_scalar_chain::compute_convert_gain) : Consider - the gain/cost of converting a MEM operand. - -2023-01-03 Jakub Jelinek - - PR middle-end/108264 - * expr.cc (store_expr): For stores into SUBREG_PROMOTED_* targets - from source which doesn't have scalar integral mode first convert - it to outer_mode. - -2023-01-03 Jakub Jelinek - - PR rtl-optimization/108263 - * cfgrtl.cc (fixup_reorder_chain): Avoid trying to redirect - asm goto to EXIT. - -2023-01-02 Alexander Monakov - - PR target/87832 - * config/i386/lujiazui.md (lujiazui_div): New automaton. - (lua_div): New unit. - (lua_idiv_qi): Correct unit in the reservation. - (lua_idiv_qi_load): Ditto. - (lua_idiv_hi): Ditto. - (lua_idiv_hi_load): Ditto. - (lua_idiv_si): Ditto. - (lua_idiv_si_load): Ditto. - (lua_idiv_di): Ditto. - (lua_idiv_di_load): Ditto. - (lua_fdiv_SF): Ditto. - (lua_fdiv_SF_load): Ditto. - (lua_fdiv_DF): Ditto. - (lua_fdiv_DF_load): Ditto. - (lua_fdiv_XF): Ditto. - (lua_fdiv_XF_load): Ditto. - (lua_ssediv_SF): Ditto. - (lua_ssediv_load_SF): Ditto. - (lua_ssediv_V4SF): Ditto. - (lua_ssediv_load_V4SF): Ditto. - (lua_ssediv_V8SF): Ditto. - (lua_ssediv_load_V8SF): Ditto. - (lua_ssediv_SD): Ditto. - (lua_ssediv_load_SD): Ditto. - (lua_ssediv_V2DF): Ditto. - (lua_ssediv_load_V2DF): Ditto. - (lua_ssediv_V4DF): Ditto. - (lua_ssediv_load_V4DF): Ditto. - -2023-01-02 Florian Weimer - - * debug.h (dwarf_reg_sizes_constant): Declare. - * dwarf2cfi.cc (dwarf_reg_sizes_constant): New function. - -2023-01-02 Florian Weimer - - * dwarf2cfi.cc (init_return_column_size): Remove. - (init_one_dwarf_reg_size): Adjust. - (generate_dwarf_reg_sizes): New function. Extracted - from expand_builtin_init_dwarf_reg_sizes. - (expand_builtin_init_dwarf_reg_sizes): Call - generate_dwarf_reg_sizes. - * target.def (init_dwarf_reg_sizes_extra): Adjust - hook signature. - * config/msp430/msp430.cc - (msp430_init_dwarf_reg_sizes_extra): Adjust. - * config/rs6000/rs6000.cc - (rs6000_init_dwarf_reg_sizes_extra): Likewise. - * doc/tm.texi: Update. - -2023-01-02 Jakub Jelinek - - * gcc.cc (process_command): Update copyright notice dates. - * gcov-dump.cc (print_version): Ditto. - * gcov.cc (print_version): Ditto. - * gcov-tool.cc (print_version): Ditto. - * gengtype.cc (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. - -2023-01-01 Roger Sayle - Uroš Bizjak - - * config/i386/i386.md (extendditi2): New define_insn. - (define_split): Use DWIH mode iterator to treat new extendditi2 - identically to existing extendsidi2_1. - (define_peephole2): Likewise. - (define_peephole2): Likewise. - (define_Split): Likewise. - -Copyright (C) 2023 Free Software Foundation, Inc. +Copyright (C) 2024 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/ChangeLog-2023 b/gcc/ChangeLog-2023 new file mode 100644 index 000000000000..c55e0f46c17f --- /dev/null +++ b/gcc/ChangeLog-2023 @@ -0,0 +1,54880 @@ +2023-12-31 Uros Bizjak + Roger Sayle + + PR target/43644 + * config/i386/i386.md (*add3_doubleword_concat_zext): Tweak + order of instructions after split, to minimize number of moves. + +2023-12-29 Jan Hubicka + + * config/i386/x86-tune.def (X86_TUNE_AVOID_128FMA_CHAINS, + X86_TUNE_AVOID_256FMA_CHAINS): Enable for znver4 and Core. + +2023-12-29 Tamar Christina + + PR target/110625 + * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost): + Adjust throughput and latency calculations for vector conversions. + (class aarch64_vector_costs): Add m_num_last_promote_demote. + +2023-12-29 Xi Ruoyao + + * config/loongarch/loongarch.md (bstrins__for_ior_mask): + For the condition, remove unneeded trailing "\" and move "&&" to + follow GNU coding style. NFC. + +2023-12-29 Xi Ruoyao + + * config/loongarch/predicates.md + (symbolic_pcrel_offset_operand): New define_predicate. + (mem_simple_ldst_operand): Likewise. + * config/loongarch/loongarch-protos.h + (loongarch_rewrite_mem_for_simple_ldst): Declare. + * config/loongarch/loongarch.cc + (loongarch_rewrite_mem_for_simple_ldst): Implement. + * config/loongarch/loongarch.md (simple_load): New + define_insn_and_rewrite. + (simple_load_ext): Likewise. + (simple_store): Likewise. + (define_peephole2): Remove la.local/[f]ld peepholes. + +2023-12-29 Uros Bizjak + + PR target/113133 + * config/i386/i386.md + (TARGET_USE_VECTOR_FP_CONVERTS SF->DF float_extend splitter): + Do not handle xmm16+ with TARGET_EVEX512. + +2023-12-29 Juzhe-Zhong + + * config/riscv/riscv-v.cc (is_vlmax_len_p): New function. + (expand_load_store): Disallow transformation into VLMAX when len is in range of [0,31] + (expand_cond_len_op): Ditto. + (expand_gather_scatter): Ditto. + (expand_lanes_load_store): Ditto. + (expand_fold_extract_last): Ditto. + +2023-12-28 Uros Bizjak + + * config/i386/i386.cc (ix86_unary_operator_ok): Move from here... + * config/i386/i386-expand.cc (ix86_unary_operator_ok): ... to here. + * config/i386/i386-protos.h: Re-arrange ix86_{unary|binary}_operator_ok + and ix86_expand_{unary|binary}_operator prototypes. + * config/i386/i386.md: Cosmetic changes with the usage of + TARGET_APX_NDD in ix86_expand_{unary|binary}_operator + and ix86_{unary|binary}_operator_ok function calls. + +2023-12-28 Juzhe-Zhong + + * config/riscv/riscv-vector-costs.cc (is_gimple_assign_or_call): Change interface. + (get_live_range): New function. + +2023-12-27 Xi Ruoyao + + PR target/113148 + * config/loongarch/loongarch.cc (loongarch_secondary_reload): + Check if regno == -1 besides MEM_P (x) for reloading FCCmode + from/to FPR to/from memory. + +2023-12-27 Xi Ruoyao + + * config/loongarch/loongarch.md (rotl3): + New define_expand. + * config/loongarch/simd.md (vrotl3): Likewise. + (rotl3): Likewise. + +2023-12-27 Juzhe-Zhong + + PR target/113112 + * config/riscv/riscv-vector-costs.cc (is_gimple_assign_or_call): New function. + (get_first_lane_point): Ditto. + (get_last_lane_point): Ditto. + (max_number_of_live_regs): Refine live point dump. + (compute_estimated_lmul): Make unknown NITERS loop be aware of liveness. + (costs::better_main_loop_than_p): Ditto. + * config/riscv/riscv-vector-costs.h (struct stmt_point): Add new member. + +2023-12-27 Chenghui Pan + + * config/loongarch/lasx.md: Use loongarch_split_move and + loongarch_split_move_p directly. + * config/loongarch/loongarch-protos.h + (loongarch_split_move): Remove unnecessary argument. + (loongarch_split_move_insn_p): Delete. + (loongarch_split_move_insn): Delete. + * config/loongarch/loongarch.cc + (loongarch_split_move_insn_p): Delete. + (loongarch_load_store_insns): Use loongarch_split_move_p + directly. + (loongarch_split_move): remove the unnecessary processing. + (loongarch_split_move_insn): Delete. + * config/loongarch/lsx.md: Use loongarch_split_move and + loongarch_split_move_p directly. + +2023-12-27 Chenghui Pan + + * config/loongarch/lasx.md (vec_concatv4di): Delete. + (vec_concatv8si): Delete. + (vec_concatv16hi): Delete. + (vec_concatv32qi): Delete. + (vec_concatv4df): Delete. + (vec_concatv8sf): Delete. + (vec_concat): New template with insn output fixed. + +2023-12-27 Li Wei + + * config/loongarch/loongarch.md: Adjust. + +2023-12-27 Haochen Gui + + * config/rs6000/rs6000-string.cc (expand_block_compare): Assert + only P7 above can enter this function. Remove P7 CPU test and let + P7 BE do the expand. + +2023-12-27 Haochen Gui + + * config/rs6000/rs6000.md (cmpmemsi): Fail when optimizing for size. + +2023-12-27 Haochen Gui + + * config/rs6000/rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED): + Remove. + * config/rs6000/rs6000-string.cc (select_block_compare_mode): + Replace TARGET_EFFICIENT_OVERLAPPING_UNALIGNED with + targetm.slow_unaligned_access. + (expand_block_compare_gpr): Likewise. + (expand_block_compare): Likewise. + (expand_strncmp_gpr_sequence): Likewise. + +2023-12-26 Juzhe-Zhong + + PR target/113112 + * config/riscv/riscv-vector-costs.cc (compute_estimated_lmul): Tweak LMUL estimation. + (has_unexpected_spills_p): Ditto. + (costs::record_potential_unexpected_spills): Ditto. + +2023-12-25 Juzhe-Zhong + + * config/riscv/riscv-vector-costs.cc (compute_estimated_lmul): Allow + fractional vecrtor. + (preferred_new_lmul_p): Move RVV V_REGS liveness computation into analyze_loop_vinfo. + (has_unexpected_spills_p): New function. + (costs::record_potential_unexpected_spills): Ditto. + (costs::better_main_loop_than_p): Move RVV V_REGS liveness computation into + analyze_loop_vinfo. + * config/riscv/riscv-vector-costs.h: New functions and variables. + +2023-12-25 Tamar Christina + + PR bootstrap/113132 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): Initialize vec_stmts; + +2023-12-25 Jeevitha Palanisamy + Peter Bergner + + PR target/110320 + * config/rs6000/rs6000.cc (rs6000_conditional_register_usage): Change + GPR2 to volatile and non-fixed register for PCREL. + * config/rs6000/rs6000.h (FIXED_REGISTERS): Modify GPR2 to not fixed. + +2023-12-25 Andrew Pinski + + PR tree-optimization/19832 + * match.pd (`(a != b) ? (a + b) : (2 * a)`): Add `:c` + on the plus operator. + +2023-12-24 Tamar Christina + + * doc/sourcebuild.texi (check_effective_target_vect_early_break_hw, + check_effective_target_vect_early_break): Document. + +2023-12-24 Tamar Christina + + * config/aarch64/aarch64-simd.md (cbranch4): New. + +2023-12-24 Tamar Christina + + * tree-if-conv.cc (idx_within_array_bound): Expose. + * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): New. + (vect_analyze_data_ref_dependences): Use it. + * tree-vect-loop-manip.cc (vect_iv_increment_position): New. + (vect_set_loop_controls_directly, + vect_set_loop_condition_partial_vectors, + vect_set_loop_condition_partial_vectors_avx512, + vect_set_loop_condition_normal): Support multiple exits. + (slpeel_tree_duplicate_loop_to_edge_cfg): Support LCSAA peeling for + multiple exits. + (slpeel_can_duplicate_loop_p): Change vectorizer from looking at BB + count and instead look at loop shape. + (vect_update_ivs_after_vectorizer): Drop asserts. + (vect_gen_vector_loop_niters_mult_vf): Support peeled vector iterations. + (vect_do_peeling): Support multiple exits. + (vect_loop_versioning): Likewise. + * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Initialise + early_breaks. + (vect_analyze_loop_form): Support loop flows with more than single BB + loop body. + (vect_create_loop_vinfo): Support niters analysis for multiple exits. + (vect_analyze_loop): Likewise. + (vect_get_vect_def): New. + (vect_create_epilog_for_reduction): Support early exit reductions. + (vectorizable_live_operation_1): New. + (find_connected_edge): New. + (vectorizable_live_operation): Support early exit live operations. + (move_early_exit_stmts): New. + (vect_transform_loop): Use it. + * tree-vect-patterns.cc (vect_init_pattern_stmt): Support gcond. + (vect_recog_bitfield_ref_pattern): Support gconds and bools. + (vect_recog_gcond_pattern): New. + (possible_vector_mask_operation_p): Support gcond masks. + (vect_determine_mask_precision): Likewise. + (vect_mark_pattern_stmts): Set gcond def type. + (can_vectorize_live_stmts): Force early break inductions to be live. + * tree-vect-stmts.cc (vect_stmt_relevant_p): Add relevancy analysis for + early breaks. + (vect_mark_stmts_to_be_vectorized): Process gcond usage. + (perm_mask_for_reverse): Expose. + (vectorizable_comparison_1): New. + (vectorizable_early_exit): New. + (vect_analyze_stmt): Support early break and gcond. + (vect_transform_stmt): Likewise. + (vect_is_simple_use): Likewise. + (vect_get_vector_types_for_stmt): Likewise. + * tree-vectorizer.cc (pass_vectorize::execute): Update exits for value + numbering. + * tree-vectorizer.h (enum vect_def_type): Add vect_condition_def. + (LOOP_VINFO_EARLY_BREAKS, LOOP_VINFO_EARLY_BRK_STORES, + LOOP_VINFO_EARLY_BREAKS_VECT_PEELED, LOOP_VINFO_EARLY_BRK_DEST_BB, + LOOP_VINFO_EARLY_BRK_VUSES): New. + (is_loop_header_bb_p): Drop assert. + (class loop): Add early_breaks, early_break_stores, early_break_dest_bb, + early_break_vuses. + (vect_iv_increment_position, perm_mask_for_reverse, + ref_within_array_bound): New. + (slpeel_tree_duplicate_loop_to_edge_cfg): Update for early breaks. + +2023-12-24 Tamar Christina + + * tree-ssa-loop-im.cc (determine_max_movement): Import insn-codes.h + and optabs-tree.h and check for vector compare motion out of gcond. + +2023-12-24 Hans-Peter Nilsson + + PR middle-end/113109 + * config/cris/cris.cc (cris_eh_return_handler_rtx): New function. + * config/cris/cris-protos.h (cris_eh_return_handler_rtx): Prototype. + * config/cris/cris.h (EH_RETURN_HANDLER_RTX): Redefine to call + cris_eh_return_handler_rtx. + +2023-12-23 Xi Ruoyao + + * config/loongarch/loongarch.md (rotrsi3_extend): New + define_insn. + +2023-12-23 Xi Ruoyao + + * config/loongarch/loongarch-tune.h + (loongarch_rtx_cost_data::movcf2gr): New field. + (loongarch_rtx_cost_data::movcf2gr_): New method. + (loongarch_rtx_cost_data::use_movcf2gr): New method. + * config/loongarch/loongarch-def.cc + (loongarch_rtx_cost_data::loongarch_rtx_cost_data): Set movcf2gr + to COSTS_N_INSNS (7) and movgr2cf to COSTS_N_INSNS (15), based + on timing on LA464. + (loongarch_cpu_rtx_cost_data): Set movcf2gr and movgr2cf to + COSTS_N_INSNS (1) for LA664. + (loongarch_rtx_cost_optimize_size): Set movcf2gr and movgr2cf to + COSTS_N_INSNS (1) + 1. + * config/loongarch/predicates.md (loongarch_fcmp_operator): New + predicate. + * config/loongarch/loongarch.md (movfcc): Change to + define_expand. + (movfcc_internal): New define_insn. + (fcc_to_): New define_insn. + (cstore4): New define_expand. + * config/loongarch/loongarch.cc + (loongarch_hard_regno_mode_ok_uncached): Allow FCCmode in GPRs + and GPRs. + (loongarch_secondary_reload): Reload FCCmode via FPR and/or GPR. + (loongarch_emit_float_compare): Call gen_reg_rtx instead of + loongarch_allocate_fcc. + (loongarch_allocate_fcc): Remove. + (loongarch_move_to_gpr_cost): Handle FCC_REGS -> GR_REGS. + (loongarch_move_from_gpr_cost): Handle GR_REGS -> FCC_REGS. + (loongarch_register_move_cost): Handle FCC_REGS -> FCC_REGS, + FCC_REGS -> FP_REGS, and FP_REGS -> FCC_REGS. + +2023-12-23 YunQiang Su + + * config/mips/driver-native.cc (host_detect_local_cpu): + don't add nan2008 option for -mtune=native. + +2023-12-23 YunQiang Su + + PR target/112759 + * config/mips/driver-native.cc (host_detect_local_cpu): + Put the ret to the end of args of reconcat. + +2023-12-23 Juzhe-Zhong + + PR target/113112 + * config/riscv/riscv-vector-costs.cc (max_number_of_live_regs): Refine dump information. + (preferred_new_lmul_p): Make PHI initial value into live regs calculation. + +2023-12-22 Sandra Loosemore + + * omp-general.cc (omp_context_name_list_prop): Remove static qualifer. + * omp-general.h (omp_context_name_list_prop): Declare. + * tree-cfg.cc (dump_function_to_file): Intercept + "omp declare variant base" attribute for special handling. + * tree-pretty-print.cc: Include omp-general.h. + (dump_omp_context_selector): New. + (print_omp_context_selector): New. + * tree-pretty-print.h (print_omp_context_selector): Declare. + +2023-12-22 Jakub Jelinek + + PR rtl-optimization/112758 + * combine.cc (make_compopund_operation_int): Optimize AND of a SUBREG + based on nonzero_bits of SUBREG_REG and constant mask on + WORD_REGISTER_OPERATIONS targets only if it is a zero extending + MEM load. + +2023-12-22 Jakub Jelinek + + PR tree-optimization/112941 + * symtab-thunks.cc (expand_thunk): Check aggregate_value_p regardless + of whether is_gimple_reg_type (restype) or not. + +2023-12-22 Jakub Jelinek + + PR tree-optimization/113102 + * gimple-lower-bitint.cc (gimple_lower_bitint): Handle unreleased + large/huge _BitInt SSA_NAMEs. + +2023-12-22 Jakub Jelinek + + PR tree-optimization/113102 + * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): Only + use m_data[save_data_cnt] if it is non-NULL. + +2023-12-22 Christophe Lyon + + * Makefile.in: Allow overriding EXEPCT. + +2023-12-22 chenxiaolong + + * doc/extend.texi:Add modifiers to the vector of asm in the doc. + * doc/md.texi:Refine the description of the modifier 'f' in the doc. + +2023-12-21 Andrew Pinski + + PR middle-end/112951 + * doc/md.texi (cond_copysign): Document. + (cond_len_copysign): Likewise. + * optabs.def: Reorder cond_copysign to be before + cond_fmin. Likewise for cond_len_copysign. + +2023-12-21 Andre Vieira (lists) + + PR middle-end/113040 + * omp-simd-clone.cc (simd_clone_adjust_argument_types): Add multiple + vector arguments where simdlen is larger than veclen. + +2023-12-21 Uros Bizjak + + PR target/113044 + * config/i386/i386.md (*ashlqi_ext_1): Move from the + high register of the input operand. + (*qi_ext_1): Ditto. + +2023-12-21 Vladimir N. Makarov + + Revert: + 2023-12-18 Vladimir N. Makarov + + PR rtl-optimization/112918 + * lra-constraints.cc (SMALL_REGISTER_CLASS_P): Move before in_class_p. + (in_class_p): Restrict condition for narrowing class in case of + allow_all_reload_class_changes_p. + (process_alt_operands): Pass true for + allow_all_reload_class_changes_p in calls of in_class_p. + (curr_insn_transform): Ditto for reg operand win. + +2023-12-21 Julian Brown + + * gimplify.cc (omp_segregate_mapping_groups): Handle "present" groups. + (gimplify_scan_omp_clauses): Use mapping group functionality to + iterate through mapping nodes. Remove most gimplification of + OMP_CLAUSE_MAP nodes from here, but still populate ctx->variables + splay tree. + (gimplify_adjust_omp_clauses): Move most gimplification of + OMP_CLAUSE_MAP nodes here. + +2023-12-21 Alex Coplan + + PR target/113093 + * config/aarch64/aarch64-ldp-fusion.cc (latest_hazard_before): + If the insn is throwing, record the previous insn as a hazard to + prevent moving it from the end of the BB. + +2023-12-21 Jakub Jelinek + + * gimple-fold.cc (maybe_fold_comparisons_from_match_pd): + Use unsigned char buffers for lhs1 and lhs2 instead of allocating + them through XALLOCA. + * collect2.cc (maybe_run_lto_and_relink): Swap xcalloc arguments. + +2023-12-21 Richard Sandiford + + PR target/113094 + * config/aarch64/aarch64-early-ra.cc (apply_allocation): Stub + out instructions that are going to be deleted before iterating + over the rest. + +2023-12-21 Richard Sandiford + + PR target/112948 + * config/aarch64/aarch64-early-ra.cc (find_strided_accesses): Fix + cut-&-pasto. + +2023-12-21 Jakub Jelinek + + PR tree-optimization/112941 + * gimple-lower-bitint.cc (gimple_lower_bitint): Disallow merging + a cast with multiplication, division or conversion to floating point + if rhs1 of the cast is result of another single use cast in the same + bb. + +2023-12-21 chenxiaolong + + * doc/extend.texi:According to the documents submitted earlier, + Two problems with function return types and using the actual types + of parameters instead of variable names were found and fixed. + +2023-12-21 Jiajie Chen + + * doc/extend.texi(__lsx_vabsd_di): remove extra `i' in name. + (__lsx_vfrintrm_d, __lsx_vfrintrm_s, __lsx_vfrintrne_d, + __lsx_vfrintrne_s, __lsx_vfrintrp_d, __lsx_vfrintrp_s, __lsx_vfrintrz_d, + __lsx_vfrintrz_s): fix return types. + (__lsx_vld, __lsx_vldi, __lsx_vldrepl_b, __lsx_vldrepl_d, + __lsx_vldrepl_h, __lsx_vldrepl_w, __lsx_vmaxi_b, __lsx_vmaxi_d, + __lsx_vmaxi_h, __lsx_vmaxi_w, __lsx_vmini_b, __lsx_vmini_d, + __lsx_vmini_h, __lsx_vmini_w, __lsx_vsrani_d_q, __lsx_vsrarni_d_q, + __lsx_vsrlni_d_q, __lsx_vsrlrni_d_q, __lsx_vssrani_d_q, + __lsx_vssrarni_d_q, __lsx_vssrarni_du_q, __lsx_vssrlni_d_q, + __lsx_vssrlrni_du_q, __lsx_vst, __lsx_vstx, __lsx_vssrani_du_q, + __lsx_vssrlni_du_q, __lsx_vssrlrni_d_q): add missing semicolon. + (__lsx_vpickve2gr_bu, __lsx_vpickve2gr_hu): fix typo in return + type. + (__lsx_vstelm_b, __lsx_vstelm_d, __lsx_vstelm_h, + __lsx_vstelm_w): use imm type for the last argument. + (__lsx_vsigncov_b, __lsx_vsigncov_h, __lsx_vsigncov_w, + __lsx_vsigncov_d): remove duplicate definitions. + +2023-12-21 Jiahao Xu + + * config/loongarch/lasx.md: Use zero expansion instruction. + * config/loongarch/lsx.md: Ditto. + +2023-12-21 Alexandre Oliva + + PR target/112778 + * builtins.cc (try_store_by_multiple_pieces): Drop obsolete + comment. + +2023-12-21 Kewen Lin + + PR rtl-optimization/112995 + * sel-sched.cc (try_replace_dest_reg): Check the validity of the + replaced insn before actually replacing dest in expr. + +2023-12-21 Kewen Lin + + * dbgcnt.def (sched_block): Remove. + * sched-rgn.cc (schedule_region): Remove the support of debug count + sched_block. + +2023-12-21 Jason Merrill + + PR c++/37722 + * doc/extend.texi: Document that computed goto does not + call destructors. + +2023-12-21 Jason Merrill + + PR c++/106213 + * opts-common.cc (control_warning_option): Call + handle_generated_option for all cl_var_types. + +2023-12-20 Juzhe-Zhong + + PR target/113087 + * config/riscv/riscv-v.cc (expand_select_vl): Optimize SELECT_VL. + +2023-12-20 Juzhe-Zhong + + PR target/113087 + * config/riscv/riscv-vsetvl.cc: Disallow fusion when VL modification pollutes non AVL use. + +2023-12-20 Rimvydas Jasinskas + + * doc/invoke.texi: Document the new file extensions + +2023-12-20 Richard Sandiford + + PR rtl-optimization/111702 + * cse.cc (set::mode): Move earlier. + (set::src_in_memory, set::src_volatile): Convert to bitfields. + (set::is_fake_set): New member variable. + (add_to_set): Add an is_fake_set parameter. + (find_sets_in_insn): Update calls accordingly. + (cse_insn): Do not apply REG_EQUAL notes to fake sets. Do not + try to optimize them either, or validate changes to them. + +2023-12-20 Kuan-Lin Chen + + * config/riscv/predicates.md (move_operand): Reject symbolic operands + with a type SYMBOL_FORCE_TO_MEM. + (call_insn_operand): Support for CM_Large. + (pcrel_symbol_operand): New. + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Add builtin_define + "__riscv_cmodel_large". + * config/riscv/riscv-opts.h (riscv_code_model): Add CM_LARGE. + * config/riscv/riscv-protos.h (riscv_symbol_type): Add + SYMBOL_FORCE_TO_MEM. + * config/riscv/riscv.cc (riscv_classify_symbol) Support CM_LARGE model. + (riscv_symbol_insns) Add SYMBOL_FORCE_TO_MEM. + (riscv_cannot_force_const_mem): Ditto. + (riscv_split_symbol): Ditto. + (riscv_force_address): Check pseudo reg available before force_reg. + (riscv_size_ok_for_small_data_p): Disable in CM_LARGE model. + (riscv_can_use_per_function_literal_pools_p): New. + (riscv_elf_select_rtx_section): Handle per-function literal pools. + (riscv_output_mi_thunk): Add riscv_in_thunk_func. + (riscv_option_override): Support CM_LARGE model. + (riscv_function_ok_for_sibcall): Disable sibcalls in CM_LARGE model. + (riscv_in_thunk_func): New static. + * config/riscv/riscv.md (unspec): Define UNSPEC_FORCE_FOR_MEM. + (*large_load_address): New. + * config/riscv/riscv.opt (code_model): New. + +2023-12-20 Wang Pengcheng + + * config/riscv/riscv.cc (riscv_macro_fusion_pair_p): Fix condition. + +2023-12-20 Andre Vieira + + PR target/112787 + * tree-vect-generic.cc (type_for_widest_vector_mode): Change function to + use original vector type and check widest vector mode has at most the + same number of elements. + (get_compute_type): Pass original vector type rather than the element + type to type_for_widest_vector_mode and remove now obsolete check for + the number of elements. + +2023-12-20 Siddhesh Poyarekar + + * tree-object-size.cc (object_size_info): Remove UNKNOWNS. + Drop all references to it. + (object_sizes_set): Move unknowns propagation code to... + (gimplify_size_expressions): ... here. Also free reexamine + bitmap. + (propagate_unknowns): New parameter UNKNOWNS. Update callers. + +2023-12-20 Thomas Schwinge + + * config/gcn/gcn.h (LIBSTDCXX): Define to "gcc". + +2023-12-20 Richard Biener + + * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Also handle + CTOR and VIEW_CONVERT up to the load when performing chain DCE. + +2023-12-20 Xi Ruoyao + + * config/loongarch/loongarch.cc + (loongarch_expand_vector_init_same): Remove "temp2" and reuse + "temp" instead. + (loongarch_expand_vector_init): Use gcc_unreachable () instead + of gcc_assert (0), and fix the comment for it. + +2023-12-20 Xi Ruoyao + + PR target/113033 + * config/loongarch/loongarch.cc + (loongarch_expand_vector_init_same): Replace gen_reg_rtx + + emit_move_insn with force_reg. + (loongarch_expand_vector_init): Likewise. + +2023-12-20 Xi Ruoyao + + PR target/113034 + * config/loongarch/lasx.md (UNSPEC_LASX_XVFCMP_*): Remove. + (lasx_xvfcmp_caf_): Remove. + (lasx_xvfcmp_cune_): Remove. + (FSC256_UNS): Remove. + (fsc256): Remove. + (lasx_xvfcmp__): Remove. + (lasx_xvfcmp__): Remove. + * config/loongarch/lsx.md (UNSPEC_LSX_XVFCMP_*): Remove. + (lsx_vfcmp_caf_): Remove. + (lsx_vfcmp_cune_): Remove. + (vfcond): Remove. + (fcc): Remove. + (FSC_UNS): Remove. + (fsc): Remove. + (lsx_vfcmp__): Remove. + (lsx_vfcmp__): Remove. + * config/loongarch/simd.md + (fcond_simd): New define_code_iterator. + (_vfcmp__): + New define_insn. + (fcond_simd_rev): New define_code_iterator. + (fcond_rev_asm): New define_code_attr. + (_vfcmp__): + New define_insn. + (fcond_inv): New define_code_iterator. + (fcond_inv_rev): New define_code_iterator. + (fcond_inv_rev_asm): New define_code_attr. + (_vfcmp__): New define_insn. + (_vfcmp__): + New define_insn. + (UNSPEC_SIMD_FCMP_CAF, UNSPEC_SIMD_FCMP_SAF, + UNSPEC_SIMD_FCMP_SEQ, UNSPEC_SIMD_FCMP_SUN, + UNSPEC_SIMD_FCMP_SUEQ, UNSPEC_SIMD_FCMP_CNE, + UNSPEC_SIMD_FCMP_SOR, UNSPEC_SIMD_FCMP_SUNE): New unspecs. + (SIMD_FCMP): New define_int_iterator. + (fcond_unspec): New define_int_attr. + (_vfcmp__): New define_insn. + * config/loongarch/loongarch.cc (loongarch_expand_lsx_cmp): + Remove unneeded special cases. + +2023-12-20 demin.han + + * config/riscv/riscv-vector-costs.cc (max_number_of_live_regs): Fix + max live vregs calc + (preferred_new_lmul_p): Ditto + +2023-12-20 Jakub Jelinek + + PR target/112962 + * config/i386/i386-builtins.cc (ix86_builtins): Increase by one + element. + (def_builtin): If not -fnon-call-exceptions, set TREE_NOTHROW on + the builtin FUNCTION_DECL. Add leaf attribute to DECL_ATTRIBUTES. + (ix86_add_new_builtins): Likewise. + +2023-12-20 Jakub Jelinek + + PR tree-optimization/112941 + * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): If + save_cast_conditional, instead of adding assignment of t4 to + m_data[save_data_cnt + 1] before m_gsi, add phi nodes such that + t4 propagates to m_bb loop. For constant idx, use + m_data[save_data_cnt] rather than m_data[save_data_cnt + 1] if inside + of the m_bb loop. + (bitint_large_huge::lower_mergeable_stmt): Clear m_bb when no longer + expanding inside of that loop. + (bitint_large_huge::lower_comparison_stmt): Likewise. + (bitint_large_huge::lower_addsub_overflow): Likewise. + (bitint_large_huge::lower_mul_overflow): Likewise. + (bitint_large_huge::lower_bit_query): Likewise. + +2023-12-20 Jakub Jelinek + + * doc/invoke.texi (-Walloc-size): Add to the list of + warning options, remove unnecessary line-break. + (-Wcalloc-transposed-args): Document new warning. + +2023-12-20 Alex Coplan + + PR target/113062 + * config/aarch64/aarch64-ldp-fusion.cc + (ldp_bb_info::track_access): Punt on accesses with invalid + register operands, move definition of mem_size closer to its + first use. + +2023-12-20 Pan Li + + * config/riscv/riscv-v.cc (rvv_builder::npatterns_vid_diff_repeated_p): + New function to predicate the diff to vid is repeated or not. + (expand_const_vector): Add restriction + for the vid-diff code gen and implement general one. + +2023-12-20 Juzhe-Zhong + + * config/riscv/riscv.cc (riscv_legitimize_move): Fix ICE. + +2023-12-20 Alexandre Oliva + + PR middle-end/112917 + * builtins.cc (expand_bultin_stack_address): Add + STACK_POINTER_OFFSET. + * doc/extend.texi (__builtin_stack_address): Adjust. + +2023-12-20 Alexandre Oliva + + PR rtl-optimization/113002 + * cfgrtl.cc (commit_one_edge_insertion): Tolerate jumps in the + inserted sequence during expand. + +2023-12-20 Alexandre Oliva + + * builtins.cc (delta_type): New template class. + (set_apply_args_size, get_apply_args_size): Replace with... + (saved_apply_args_size): ... this. + (set_apply_result_size, get_apply_result_size): Replace with... + (saved_apply_result_size): ... this. + (apply_args_size, apply_result_size): Adjust. + +2023-12-20 Jeff Law + + * config/mcore/mcore.h (CC1_SPEC): Do not set -funsigned-bitfields. + +2023-12-20 Haochen Jiang + + * config/i386/avx512bwintrin.h: Allow 64 bit mask intrin usage + for -mno-evex512. + * config/i386/i386-builtin.def: Remove OPTION_MASK_ISA2_EVEX512 + for 64 bit mask builtins. + * config/i386/i386.cc (ix86_hard_regno_mode_ok): Allow 64 bit + mask register for -mno-evex512. + * config/i386/i386.md (SWI1248_AVX512BWDQ_64): Remove + TARGET_EVEX512. + (*zero_extendsidi2): Change isa attribute to avx512bw. + (kmov_isa): Ditto. + (*anddi_1): Ditto. + (*andn_1): Remove TARGET_EVEX512. + (*one_cmplsi2_1_zext): Change isa attribute to avx512bw. + (*ashl3_1): Ditto. + (*lshr3_1): Ditto. + * config/i386/sse.md (SWI1248_AVX512BWDQ): Remove TARGET_EVEX512. + (SWI1248_AVX512BW): Ditto. + (SWI1248_AVX512BWDQ2): Ditto. + (*knotsi_1_zext): Ditto. + (kunpckdi): Ditto. + (SWI24_MASK): Removed. + (vec_pack_trunc_): Change iterator from SWI24_MASK to SWI24. + (vec_unpacks_lo_di): Remove TARGET_EVEX512. + (SWI48x_MASK): Removed. + (vec_unpacks_hi_): Change iterator from SWI48x_MASK to SWI48x. + +2023-12-20 Siddhesh Poyarekar + + PR tree-optimization/113012 + * tree-object-size.cc (compute_builtin_object_size): Expand + comment for dynamic object sizes. + (collect_object_sizes_for): Always set COMPUTED bitmap for + dynamic object sizes. + +2023-12-20 Alexandre Oliva + + * ipa-strub.cc (gsi_insert_finally_seq_after_call): Likewise. + (pass_ipa_strub::adjust_at_calls_call): Likewise. + +2023-12-20 Alexandre Oliva + + * gcc.cc (process_command): Use LD_PIE_SPEC only if defined. + +2023-12-19 Marek Polacek + + PR tree-optimization/113069 + * gimple-ssa-sccopy.cc (scc_discovery): Remove unused member. + +2023-12-19 Sandra Loosemore + + * omp-general.cc (vendor_properties): Add "hpe". + (atomic_default_mem_order_properties): Add "acquire" and "release". + (omp_context_selector_matches): Handle "acquire" and "release". + +2023-12-19 Sandra Loosemore + + * omp-selectors.h: New file. + * omp-general.h: Include omp-selectors.h. + (OMP_TSS_CODE, OMP_TSS_NAME): New. + (OMP_TS_CODE, OMP_TS_NAME): New. + (make_trait_set_selector, make_trait_selector): Adjust declarations. + (omp_construct_traits_to_codes): Likewise. + (omp_context_selector_set_compare): Likewise. + (omp_get_context_selector): Likewise. + (omp_get_context_selector_list): New. + * omp-general.cc (omp_construct_traits_to_codes): Pass length in + as argument instead of returning it. Make it table-driven. + (omp_tss_map): New. + (kind_properties, vendor_properties, extension_properties): New. + (atomic_default_mem_order_properties): New. + (omp_ts_map): New. + (omp_check_context_selector): Simplify lookup and dispatch logic. + (omp_mark_declare_variant): Ignore variants with unknown construct + selectors. Adjust for new representation. + (make_trait_set_selector, make_trait_selector): Adjust for new + representations. + (omp_context_selector_matches): Simplify dispatch logic. Avoid + fixed-sized buffers and adjust call to omp_construct_traits_to_codes. + (omp_context_selector_props_compare): Adjust for new representations + and simplify dispatch logic. + (omp_context_selector_set_compare): Likewise. + (omp_context_selector_compare): Likewise. + (omp_get_context_selector): Adjust for new representations, and split + out... + (omp_get_context_selector_list): New function. + (omp_lookup_tss_code): New. + (omp_lookup_ts_code): New. + (omp_context_compute_score): Adjust for new representations. Avoid + fixed-sized buffers and magic numbers. Adjust call to + omp_construct_traits_to_codes. + * gimplify.cc (omp_construct_selector_matches): Avoid use of + fixed-size buffer. Adjust call to omp_construct_traits_to_codes. + +2023-12-19 Sandra Loosemore + + * omp-general.h (OMP_TP_NAMELIST_NODE): New. + * omp-general.cc (omp_context_name_list_prop): Move earlier + in the file, and adjust for new representation. + (omp_check_context_selector): Adjust this too. + (omp_context_selector_props_compare): Likewise. + +2023-12-19 Sandra Loosemore + + * omp-general.h (OMP_TS_SCORE_NODE): New. + (OMP_TSS_ID, OMP_TSS_TRAIT_SELECTORS): New. + (OMP_TS_ID, OMP_TS_SCORE, OMP_TS_PROPERTIES): New. + (OMP_TP_NAME, OMP_TP_VALUE): New. + (make_trait_set_selector): Declare. + (make_trait_selector): Declare. + (make_trait_property): Declare. + (omp_constructor_traits_to_codes): Rename to + omp_construct_traits_to_codes. + * omp-general.cc (omp_constructor_traits_to_codes): Rename + to omp_construct_traits_to_codes. Use new accessors. + (omp_check_context_selector): Use new accessors. + (make_trait_set_selector): New. + (make_trait_selector): New. + (make_trait_property): New. + (omp_context_name_list_prop): Use new accessors. + (omp_context_selector_matches): Use new accessors. + (omp_context_selector_props_compare): Use new accessors. + (omp_context_selector_set_compare): Use new accessors. + (omp_get_context_selector): Use new accessors. + (omp_context_compute_score): Use new accessors. + * gimplify.cc (omp_construct_selector_matches): Adjust for renaming + of omp_constructor_traits_to_codes. + +2023-12-19 David Faust + + PR debug/111735 + * btfout.cc (btf_fwd_to_enum_p): New. + (btf_asm_type_ref): Special case references to enum forwards. + (btf_asm_type): Special case enum forwards. Rename btf_size_type to + btf_size, and change chained ifs switching on btf_kind into else ifs. + +2023-12-19 Richard Biener + + PR tree-optimization/113080 + * tree-scalar-evolution.cc (expression_expensive_p): Allow + a tiny bit of growth due to expansion of shared trees. + (final_value_replacement_loop): Add comment. + +2023-12-19 Richard Biener + + PR tree-optimization/113073 + * tree-vect-stmts.cc (vectorizable_load): Properly ensure + to exempt only vector-size aligned overreads. + +2023-12-19 Roger Sayle + + * config/i386/i386-expand.cc + (ix86_convert_const_wide_int_to_broadcast): Remove static. + (ix86_expand_move): Don't attempt to convert wide constants + to SSE using ix86_convert_const_wide_int_to_broadcast here. + (ix86_split_long_move): Always un-cprop multi-word constants. + * config/i386/i386-expand.h + (ix86_convert_const_wide_int_to_broadcast): Prototype here. + * config/i386/i386-features.cc: Include i386-expand.h. + (timode_scalar_chain::convert_insn): When converting TImode to + V1TImode, try ix86_convert_const_wide_int_to_broadcast. + +2023-12-19 Juzhe-Zhong + + * config/riscv/riscv-v.cc (expand_const_vector): Use builder.inner_mode (). + +2023-12-19 Jakub Jelinek + + PR target/112816 + * config/i386/mmx.md (signbitv2sf2, signbit2): Force operands[1] + into a REG. + +2023-12-19 Alex Coplan + + PR target/113061 + * config/aarch64/predicates.md (aarch64_stp_reg_operand): Fix + parentheses to match intent. + +2023-12-19 Jiufu Guo + + PR rtl-optimization/112525 + PR target/30271 + * dse.cc (get_group_info): Add arg_pointer_rtx as frame_related. + (check_mem_read_rtx): Add parameter to indicate if it is checking mem + for call insn. + (scan_insn): Add mem checking on call usage. + +2023-12-19 Feng Wang + + * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): + Add new macro for match function. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_FUNCTION): + Add one more parameter for macro expanding. + (handle_pragma_vector): Add match function calls. + * config/riscv/riscv-vector-builtins.h (enum required_ext): + Add enum defination for required extension. + (struct function_group_info): Add one more parameter for checking required-ext. + +2023-12-18 Vladimir N. Makarov + + PR rtl-optimization/112918 + * lra-constraints.cc (SMALL_REGISTER_CLASS_P): Move before in_class_p. + (in_class_p): Restrict condition for narrowing class in case of + allow_all_reload_class_changes_p. + (process_alt_operands): Pass true for + allow_all_reload_class_changes_p in calls of in_class_p. + (curr_insn_transform): Ditto for reg operand win. + +2023-12-18 Uros Bizjak + + * config/i386/i386.md (redundant compare peephole2): + New peephole2 pattern. + +2023-12-18 Andreas Krebbel + + * config/s390/s390.cc (s390_encode_section_info): Replace + SYMBOL_REF_LOCAL_P with decl_binds_to_current_def_p. + +2023-12-18 Andrew Pinski + + PR tree-optimization/113054 + * gimple-ssa-sccopy.cc: Wrap the local types + with an anonymous namespace. + +2023-12-18 Richard Biener + + PR middle-end/111975 + * tree-pretty-print.cc (dump_generic_node): Dump + sizetype as __SIZETYPE__ with TDF_GIMPLE. + Dump unnamed vector types as T [[gnu::vector_size(n)]] with + TDF_GIMPLE. + * tree-ssa-address.cc (create_mem_ref_raw): Never generate + a NULL STEP when INDEX is specified. + +2023-12-18 Gerald Pfeifer + + PR target/69374 + * doc/install.texi (Specific) : Remove section. + (Specific) : Remove references to GCC 2.95 and + 3.0. Also libffi has been ported now. + +2023-12-18 Juzhe-Zhong + + PR target/112432 + * config/riscv/riscv.md (none,W21,W42,W84,W43,W86,W87): Add W0. + (none,W21,W42,W84,W43,W86,W87,W0): Ditto. + * config/riscv/vector.md: Ditto. + +2023-12-18 Richard Biener + + PR c/111975 + * tree-pretty-print.cc (dump_mem_ref): Use TDF_GIMPLE path + also for TARGET_MEM_REF and amend it. + +2023-12-18 Juzhe-Zhong + + * config/riscv/riscv.cc (riscv_regmode_natural_size): Fix ICE for + FIXED-VLMAX of -march=rv32gc_zve32f. + +2023-12-18 Jakub Jelinek + + PR tree-optimization/113013 + * tree-object-size.cc (alloc_object_size): Return size_unknown if + corresponding argument(s) don't have integral type or have integral + type with higher precision than sizetype. Don't check arg1 >= 0 + uselessly. Compare argument indexes against gimple_call_num_args + in unsigned type rather than int. Formatting fixes. + +2023-12-18 Pan Li + + * config/riscv/riscv-v.cc (expand_const_vector): Take step2 + instead of step1 for second series. + +2023-12-18 liushuyu + + * config.gcc: Add loongarch-d.o to d_target_objs for LoongArch + architecture. + * config/loongarch/t-loongarch: Add object target for loongarch-d.cc. + * config/loongarch/loongarch-d.cc + (loongarch_d_target_versions): add interface function to define builtin + D versions for LoongArch architecture. + (loongarch_d_handle_target_float_abi): add interface function to define + builtin D traits for LoongArch architecture. + (loongarch_d_register_target_info): add interface function to register + loongarch_d_handle_target_float_abi function. + * config/loongarch/loongarch-d.h + (loongarch_d_target_versions): add function prototype. + (loongarch_d_register_target_info): Likewise. + +2023-12-18 xuli + + * config/riscv/vector.md: Add viota avl_type attribute. + +2023-12-18 Pan Li + + * config/riscv/riscv.cc (riscv_expand_mult_with_const_int): + Change int into HOST_WIDE_INT. + (riscv_legitimize_poly_move): Ditto. + +2023-12-17 Xi Ruoyao + + * config/loongarch/loongarch.md (alslsi3_extend): New + define_insn. + +2023-12-17 Xi Ruoyao + + PR target/112936 + * config/loongarch/loongarch-def.cc + (loongarch_rtx_cost_data::loongarch_rtx_cost_data): Update + instruction costs per micro-benchmark results. + (loongarch_rtx_cost_optimize_size): Set all instruction costs + to (COSTS_N_INSNS (1) + 1). + * config/loongarch/loongarch.cc (loongarch_rtx_costs): Remove + special case for multiplication when optimizing for size. + Adjust division cost when TARGET_64BIT && !TARGET_DIV32. + Account the extra cost when TARGET_CHECK_ZERO_DIV and + optimizing for speed. + +2023-12-17 Xi Ruoyao + + * config/loongarch/loongarch-def.cc (rtl.h): Include. + (COSTS_N_INSNS): Remove the macro definition. + +2023-12-17 Gerald Pfeifer + + PR target/69374 + * doc/install.texi (Specific) : Remove a note on + GCC 4.3. + Remove details on how the HP assembler, which we document as not + working, breaks. + : Note that only the HP linker is supported. + +2023-12-17 Gerald Pfeifer + + PR other/69374 + * doc/install.texi (Installing GCC): Remove reference to + buildstat.html. + (Testing): Ditto. + (Final install): Remove section on submitting information for + buildstat.html. Adjust the request for feedback. + +2023-12-16 David Malcolm + + * json.cc (print_escaped_json_string): New, taken from + string::print. + (object::print): Use it for printing keys. + (string::print): Move implementation to + print_escaped_json_string. + (selftest::test_writing_objects): Add a key containing + quote, backslash, and control characters. + +2023-12-16 Andrew Carlotti + + * config/aarch64/aarch64-feature-deps.h (fmv_deps_): + Define aarch64_feature_flags mask foreach FMV feature. + * config/aarch64/aarch64-option-extensions.def: Use new macros + to define FMV feature extensions. + * config/aarch64/aarch64.cc (aarch64_option_valid_attribute_p): + Check for target_version attribute after processing target + attribute. + (aarch64_fmv_feature_data): New. + (aarch64_parse_fmv_features): New. + (aarch64_process_target_version_attr): New. + (aarch64_option_valid_version_attribute_p): New. + (get_feature_mask_for_version): New. + (compare_feature_masks): New. + (aarch64_compare_version_priority): New. + (build_ifunc_arg_type): New. + (make_resolver_func): New. + (add_condition_to_bb): New. + (dispatch_function_versions): New. + (aarch64_generate_version_dispatcher_body): New. + (aarch64_get_function_versions_dispatcher): New. + (aarch64_common_function_versions): New. + (aarch64_mangle_decl_assembler_name): New. + (TARGET_OPTION_VALID_VERSION_ATTRIBUTE_P): New implementation. + (TARGET_OPTION_EXPANDED_CLONES_ATTRIBUTE): New implementation. + (TARGET_OPTION_FUNCTION_VERSIONS): New implementation. + (TARGET_COMPARE_VERSION_PRIORITY): New implementation. + (TARGET_GENERATE_VERSION_DISPATCHER_BODY): New implementation. + (TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): New implementation. + (TARGET_MANGLE_DECL_ASSEMBLER_NAME): New implementation. + * config/aarch64/aarch64.h (TARGET_HAS_FMV_TARGET_ATTRIBUTE): + Set target macro. + * config/arm/aarch-common.h (enum aarch_parse_opt_result): Add + new value to report duplicate FMV feature. + * common/config/aarch64/cpuinfo.h: New file. + +2023-12-16 Andrew Carlotti + + * attribs.cc (decl_attributes): Pass attribute name to target. + (is_function_default_version): Update comment to specify + incompatibility with target_version attributes. + * cgraphclones.cc (cgraph_node::create_version_clone_with_body): + Call valid_version_attribute_p for target_version attributes. + * defaults.h (TARGET_HAS_FMV_TARGET_ATTRIBUTE): New macro. + * target.def (valid_version_attribute_p): New hook. + * doc/tm.texi.in: Add new hook. + * doc/tm.texi: Regenerate. + * multiple_target.cc (create_dispatcher_calls): Remove redundant + is_function_default_version check. + (expand_target_clones): Use target macro to pick attribute name. + * targhooks.cc (default_target_option_valid_version_attribute_p): + New. + * targhooks.h (default_target_option_valid_version_attribute_p): + New. + * tree.h (DECL_FUNCTION_VERSIONED): Update comment to include + target_version attributes. + +2023-12-16 Andrew Carlotti + + * common/config/aarch64/aarch64-common.cc + (struct aarch64_option_extension): Remove unused field. + (all_extensions): Ditto. + (aarch64_get_extension_string_for_isa_flags): Remove filtering + of features without native detection. + * config/aarch64/driver-aarch64.cc (host_detect_local_cpu): + Explicitly add expected features that lack cpuinfo detection. + +2023-12-16 Andrew Carlotti + + * common/config/aarch64/aarch64-common.cc + (aarch64_get_extension_string_for_isa_flags): Fix generation of + the "+nocrypto" extension. + * config/aarch64/aarch64.h (AARCH64_ISA_CRYPTO): Remove. + (TARGET_CRYPTO): Remove. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): + Don't use TARGET_CRYPTO. + +2023-12-15 Mary Bennett + + * config/riscv/constraints.md: CVP2 -> CV_alu_pow2. + * config/riscv/corev.md: Likewise. + +2023-12-15 Mary Bennett + + * common/config/riscv/riscv-common.cc: Add XCVelw. + * config/riscv/corev.def: Likewise. + * config/riscv/corev.md: Likewise. + * config/riscv/riscv-builtins.cc (AVAIL): Likewise. + * config/riscv/riscv-ftypes.def: Likewise. + * config/riscv/riscv.opt: Likewise. + * doc/extend.texi: Add XCVelw builtin documentation. + * doc/sourcebuild.texi: Likewise. + +2023-12-15 Jeff Law + + PR target/110201 + * config/riscv/constraints.md (D03, DsA): Remove unused constraints. + * config/riscv/predicates.md (const_0_3_operand): New predicate. + (const_0_10_operand): Likewise. + * config/riscv/crypto.md (riscv_aes32dsi): Use new predicate. Drop + unnecessary constraint. + (riscv_aes32dsmi, riscv_aes64im, riscv_aes32esi): Likewise. + (riscv_aes32esmi, *riscv__si): Likewise. + (riscv__di_extend, riscv__si): Likewise. + +2023-12-15 Alex Coplan + + * config.gcc: Add aarch64-ldp-fusion.o to extra_objs for aarch64. + * config/aarch64/aarch64-passes.def: Add copies of pass_ldp_fusion + before and after RA. + * config/aarch64/aarch64-protos.h (make_pass_ldp_fusion): Declare. + * config/aarch64/aarch64.opt (-mearly-ldp-fusion): New. + (-mlate-ldp-fusion): New. + (--param=aarch64-ldp-alias-check-limit): New. + (--param=aarch64-ldp-writeback): New. + * config/aarch64/t-aarch64: Add rule for aarch64-ldp-fusion.o. + * config/aarch64/aarch64-ldp-fusion.cc: New file. + * doc/invoke.texi (AArch64 Options): Document new + -m{early,late}-ldp-fusion options. + +2023-12-15 Alex Coplan + + * config/aarch64/aarch64-ldpstp.md: Abstract ldp/stp + representation from peepholes, allowing use of new form. + * config/aarch64/aarch64-modes.def (V2x4QImode): Define. + * config/aarch64/aarch64-protos.h + (aarch64_finish_ldpstp_peephole): Declare. + (aarch64_swap_ldrstr_operands): Delete declaration. + (aarch64_gen_load_pair): Adjust parameters. + (aarch64_gen_store_pair): Likewise. + * config/aarch64/aarch64-simd.md (load_pair): + Delete. + (vec_store_pair): Delete. + (load_pair): Delete. + (vec_store_pair): Delete. + * config/aarch64/aarch64.cc (aarch64_pair_mode_for_mode): New. + (aarch64_gen_store_pair): Adjust to use new unspec form of stp. + Drop second mem from parameters. + (aarch64_gen_load_pair): Likewise. + (aarch64_pair_mem_from_base): New. + (aarch64_save_callee_saves): Emit REG_CFA_OFFSET notes for + frame-related saves. Adjust call to aarch64_gen_store_pair + (aarch64_restore_callee_saves): Adjust calls to + aarch64_gen_load_pair to account for change in interface. + (aarch64_process_components): Likewise. + (aarch64_classify_address): Handle 32-byte pair mems in + LDP_STP_N case. + (aarch64_print_operand): Likewise. + (aarch64_copy_one_block_and_progress_pointers): Adjust calls to + account for change in aarch64_gen_{load,store}_pair interface. + (aarch64_set_one_block_and_progress_pointer): Likewise. + (aarch64_finish_ldpstp_peephole): New. + (aarch64_gen_adjusted_ldpstp): Adjust to use generation helper. + * config/aarch64/aarch64.md (ldpstp): New attribute. + (load_pair_sw_): Delete. + (load_pair_dw_): Delete. + (load_pair_dw_): Delete. + (*load_pair_): New. + (*load_pair_16): New. + (store_pair_sw_): Delete. + (store_pair_dw_): Delete. + (store_pair_dw_): Delete. + (*store_pair_): New. + (*store_pair_16): New. + (*load_pair_extendsidi2_aarch64): Adjust to use new form. + (*zero_extendsidi2_aarch64): Likewise. + * config/aarch64/iterators.md (VPAIR): New. + * config/aarch64/predicates.md (aarch64_mem_pair_operand): Change to + a special predicate derived from aarch64_mem_pair_operator. + +2023-12-15 Alex Coplan + + * config/aarch64/aarch64-protos.h (aarch64_ldpstp_operand_mode_p): Declare. + * config/aarch64/aarch64.cc (aarch64_gen_storewb_pair): Build RTL + directly instead of invoking named pattern. + (aarch64_gen_loadwb_pair): Likewise. + (aarch64_ldpstp_operand_mode_p): New. + * config/aarch64/aarch64.md (loadwb_pair_): Replace with + ... + (*loadwb_post_pair_): ... this. Generalize as described + in cover letter. + (loadwb_pair_): Delete (superseded by the + above). + (*loadwb_post_pair_16): New. + (*loadwb_pre_pair_): New. + (loadwb_pair_): Delete. + (*loadwb_pre_pair_16): New. + (storewb_pair_): Replace with ... + (*storewb_pre_pair_): ... this. Generalize as + described in cover letter. + (*storewb_pre_pair_16): New. + (storewb_pair_): Delete. + (*storewb_post_pair_): New. + (storewb_pair_): Delete. + (*storewb_post_pair_16): New. + * config/aarch64/predicates.md (aarch64_mem_pair_operator): New. + (pmode_plus_operator): New. + (aarch64_ldp_reg_operand): New. + (aarch64_stp_reg_operand): New. + +2023-12-15 Alex Coplan + + * config/aarch64/aarch64.cc (aarch64_print_address_internal): Handle SVE + modes when printing ldp/stp addresses. + +2023-12-15 Alex Coplan + + * config/aarch64/aarch64-protos.h (aarch64_const_zero_rtx_p): New. + * config/aarch64/aarch64.cc (aarch64_const_zero_rtx_p): New. + Use it ... + (aarch64_print_operand): ... here. Recognize CONST0_RTXes in + modes other than VOIDmode. + +2023-12-15 Xiao Zeng + + * common/config/riscv/riscv-common.cc: + (riscv_implied_info): Add zvfbfmin item. + (riscv_ext_version_table): Ditto. + (riscv_ext_flag_table): Ditto. + * config/riscv/riscv.opt: + (MASK_ZVFBFMIN): New macro. + (MASK_VECTOR_ELEN_BF_16): Ditto. + (TARGET_ZVFBFMIN): Ditto. + +2023-12-15 Wilco Dijkstra + + * config/aarch64/aarch64.opt (aarch64_mops_memmove_size_threshold): + Change default. + * config/aarch64/aarch64.md (cpymemdi): Add a parameter. + (movmemdi): Call aarch64_expand_cpymem. + * config/aarch64/aarch64.cc (aarch64_copy_one_block): Rename function, + simplify, support storing generated loads/stores. + (aarch64_expand_cpymem): Support expansion of memmove. + * config/aarch64/aarch64-protos.h (aarch64_expand_cpymem): Add bool arg. + +2023-12-15 Juzhe-Zhong + + * config/riscv/riscv-v.cc (shuffle_merge_patterns): Fix bug. + +2023-12-15 Jakub Jelinek + + * target.h (struct bitint_info): Add abi_limb_mode member, adjust + comment. + * target.def (bitint_type_info): Mention abi_limb_mode instead of + limb_mode. + * varasm.cc (output_constant): Use abi_limb_mode rather than + limb_mode. + * stor-layout.cc (finish_bitfield_representative): Likewise. Assert + that if precision is smaller or equal to abi_limb_mode precision or + if info.big_endian is different from WORDS_BIG_ENDIAN, info.limb_mode + must be the same as info.abi_limb_mode. + (layout_type): Use abi_limb_mode rather than limb_mode. + * gimple-fold.cc (clear_padding_bitint_needs_padding_p): Likewise. + (clear_padding_type): Likewise. + * config/i386/i386.cc (ix86_bitint_type_info): Also set + info->abi_limb_mode. + * doc/tm.texi: Regenerated. + +2023-12-15 Julian Brown + + * gimplify.cc (extract_base_bit_offset): Add VARIABLE_OFFSET parameter. + (omp_get_attachment, omp_group_last, omp_group_base, + omp_directive_maps_explicitly): Add GOMP_MAP_STRUCT_UNORD support. + (omp_accumulate_sibling_list): Update calls to extract_base_bit_offset. + Support GOMP_MAP_STRUCT_UNORD. + (omp_build_struct_sibling_lists, gimplify_scan_omp_clauses, + gimplify_adjust_omp_clauses, gimplify_omp_target_update): Add + GOMP_MAP_STRUCT_UNORD support. + * omp-low.cc (lower_omp_target): Add GOMP_MAP_STRUCT_UNORD support. + * tree-pretty-print.cc (dump_omp_clause): Likewise. + +2023-12-15 Alex Coplan + + PR target/112906 + * config/aarch64/aarch64-sve.md (@aarch64_vec_duplicate_vq_le): + Use force_reload_address to reload addresses that aren't suitable for + ld1rq in the pre-RA splitter. + +2023-12-15 Alex Coplan + + PR target/112906 + * emit-rtl.cc (address_reload_context::emit_autoinc): New. + (force_reload_address): New. + * emit-rtl.h (struct address_reload_context): Declare. + (force_reload_address): Declare. + * lra-constraints.cc (class lra_autoinc_reload_context): New. + (emit_inc): Drop IN parameter, invoke + code moved to emit-rtl.cc:address_reload_context::emit_autoinc. + (curr_insn_transform): Drop redundant IN parameter in call to + emit_inc. + * recog.h (class recog_data_saver): New. + +2023-12-15 Jakub Jelinek + + PR tree-optimization/113024 + * match.pd (two conversions in a row): Simplify scalar integer + sign-extension followed by truncation. + +2023-12-15 Jakub Jelinek + + PR tree-optimization/113003 + * gimple-lower-bitint.cc (arith_overflow_arg_kind): New function. + (gimple_lower_bitint): Use it to catch .{ADD,SUB,MUL}_OVERFLOW + calls with large/huge INTEGER_CST arguments. + +2023-12-15 Gerald Pfeifer + + * doc/install.texi (Specific) : Update nvptx-tools + Github link. + +2023-12-15 Hongyu Wang + + PR target/112824 + * config/i386/i386-options.cc (ix86_option_override_internal): + Sync ix86_move_max/ix86_store_max with prefer_vector_width when + it is explicitly set. + +2023-12-15 Haochen Jiang + + * config/i386/driver-i386.cc (host_detect_local_cpu): Do not + set Grand Ridge depending on RAO-INT. + * config/i386/i386.h: Remove PTA_RAOINT from PTA_GRANDRIDGE. + * doc/invoke.texi: Adjust documentation. + +2023-12-15 Juzhe-Zhong + + PR target/112387 + * config/riscv/riscv.cc: Adapt generic cost model same ARM SVE. + +2023-12-15 Juzhe-Zhong + + PR target/111153 + * tree-vect-loop.cc (vect_estimate_min_profitable_iters): + Remove address cost for select_vl/decrement IV. + +2023-12-14 Andrew Pinski + + PR middle-end/111260 + * optabs.cc (emit_conditional_move): Change the modes to be + equal before forcing the constant to a register. + +2023-12-14 Di Zhao + + PR tree-optimization/110279 + * doc/invoke.texi: New parameter fully-pipelined-fma. + * params.opt: New parameter fully-pipelined-fma. + * tree-ssa-reassoc.cc (get_mult_latency_consider_fma): Return + the latency of MULT_EXPRs that can't be hidden by the FMAs. + (get_reassociation_width): Search for a smaller width + considering the benefit of fully pipelined FMA. + (rank_ops_for_fma): Return the number of MULT_EXPRs. + (reassociate_bb): Pass the number of MULT_EXPRs to + get_reassociation_width; avoid calling + get_reassociation_width twice. + +2023-12-14 Robin Dapp + + PR target/112999 + * expmed.cc (extract_bit_field_1): Ensure better mode + has fitting unit_precision. + +2023-12-14 Robin Dapp + + PR target/112773 + * config/riscv/autovec.md (vec_extractbi): New expander + calling vec_extractqi. + * config/riscv/riscv-protos.h (riscv_legitimize_poly_move): + Export. + (emit_vec_extract): Change argument from poly_int64 to rtx. + * config/riscv/riscv-v.cc (shuffle_extract_and_slide1up_patterns): + Ditto. + * config/riscv/riscv.cc (riscv_legitimize_poly_move): Export. + (riscv_legitimize_move): Use rtx instead of poly_int64. + * expmed.cc (store_bit_field_1): Change BITSIZE to PRECISION. + (extract_bit_field_1): Change BITSIZE to PRECISION and use + return mode from insn_data as target mode. + +2023-12-14 Alex Coplan + + * doc/extend.texi: Document AArch64 Operand Modifiers. + +2023-12-14 Richard Biener + + PR tree-optimization/113018 + * tree-vect-slp.cc (vect_slp_check_for_roots): Only start + SLP discovery from stmts with a LHS. + +2023-12-14 Richard Biener + + PR tree-optimization/112793 + * tree-vect-slp.cc (vect_schedule_slp_node): Already + code-generated constant/external nodes are OK. + +2023-12-14 Richard Sandiford + + * config/aarch64/aarch64-early-ra.cc (allocno_info::is_equiv): New + member variable. + (allocno_info::equiv_allocno): Replace with... + (allocno_info::related_allocno): ...this member variable. + (allocno_info::chain_prev): Put into an enum with... + (allocno_info::last_use_point): ...this new member variable. + (color_info::num_fpr_preferences): New member variable. + (early_ra::m_shared_allocnos): Likewise. + (allocno_info::is_shared): New member function. + (allocno_info::is_equiv_to): Likewise. + (early_ra::dump_allocnos): Dump sharing information. Tweak column + widths. + (early_ra::fpr_preference): Check ALLOWS_NONFPR before returning -2. + (early_ra::start_new_region): Handle m_shared_allocnos. + (early_ra::create_allocno_group): Set related_allocno rather than + equiv_allocno. + (early_ra::record_allocno_use): Likewise. Detect multiple calls + for the same program point. Update last_use_point and is_equiv. + Clear is_strong_copy_src rather than is_strong_copy_dest. + (early_ra::record_allocno_def): Use related_allocno rather than + equiv_allocno. Update last_use_point. + (early_ra::valid_equivalence_p): Replace with... + (early_ra::find_related_start): ...this new function. + (early_ra::record_copy): Look for cases where a destination copy chain + can be shared with the source allocno. + (early_ra::find_strided_accesses): Update for equiv_allocno-> + related_allocno change. Only call consider_strong_copy_src_chain + at the head of a copy chain. + (early_ra::is_chain_candidate): Skip shared allocnos. Update for + new representation of equivalent allocnos. + (early_ra::chain_allocnos): Update for new representation of + equivalent allocnos. + (early_ra::try_to_chain_allocnos): Likewise. + (early_ra::merge_fpr_info): New function, split out from... + (early_ra::set_single_color_rep): ...here. + (early_ra::form_chains): Handle shared allocnos. + (early_ra::process_copies): Count the number of FPR preferences. + (early_ra::cmp_decreasing_size): Rename to... + (early_ra::cmp_allocation_order): ...this. Sort equal-sized groups + by the number of FPR preferences. + (early_ra::finalize_allocation): Handle shared allocnos. + (early_ra::process_region): Reset chain_prev as well as chain_next. + +2023-12-14 Alexandre Oliva + + PR middle-end/112938 + * ipa-strub.cc (pass_ipa_strub::execute): Pass volatile args + by reference to internal strub wrapped bodies. + +2023-12-14 Alexandre Oliva + + PR middle-end/112938 + * ipa-strub.cc (pass_ipa_strub::execute): Handle promoted + volatile args in internal strub. Simplify. + +2023-12-14 Thomas Schwinge + + * gimple-ssa-sccopy.cc: '#define INCLUDE_ALGORITHM' instead of + '#include '. + +2023-12-14 Feng Wang + + Revert: + 2023-12-12 Feng Wang + + * config/riscv/riscv-vector-builtins-functions.def (DEF_RVV_FUNCTION): + Add AVAIL argument. + (read_vl): Using AVAIL argument default value. + (vlenb): Ditto. + (vsetvl): Ditto. + (vsetvlmax): Ditto. + (vle): Ditto. + (vse): Ditto. + (vlm): Ditto. + (vsm): Ditto. + (vlse): Ditto. + (vsse): Ditto. + (vluxei8): Ditto. + (vluxei16): Ditto. + (vluxei32): Ditto. + (vluxei64): Ditto. + (vloxei8): Ditto. + (vloxei16): Ditto. + (vloxei32): Ditto. + (vloxei64): Ditto. + (vsuxei8): Ditto. + (vsuxei16): Ditto. + (vsuxei32): Ditto. + (vsuxei64): Ditto. + (vsoxei8): Ditto. + (vsoxei16): Ditto. + (vsoxei32): Ditto. + (vsoxei64): Ditto. + (vleff): Ditto. + (vadd): Ditto. + (vsub): Ditto. + (vrsub): Ditto. + (vneg): Ditto. + (vwaddu): Ditto. + (vwsubu): Ditto. + (vwadd): Ditto. + (vwsub): Ditto. + (vwcvt_x): Ditto. + (vwcvtu_x): Ditto. + (vzext): Ditto. + (vsext): Ditto. + (vadc): Ditto. + (vmadc): Ditto. + (vsbc): Ditto. + (vmsbc): Ditto. + (vand): Ditto. + (vor): Ditto. + (vxor): Ditto. + (vnot): Ditto. + (vsll): Ditto. + (vsra): Ditto. + (vsrl): Ditto. + (vnsrl): Ditto. + (vnsra): Ditto. + (vncvt_x): Ditto. + (vmseq): Ditto. + (vmsne): Ditto. + (vmsltu): Ditto. + (vmslt): Ditto. + (vmsleu): Ditto. + (vmsle): Ditto. + (vmsgtu): Ditto. + (vmsgt): Ditto. + (vmsgeu): Ditto. + (vmsge): Ditto. + (vminu): Ditto. + (vmin): Ditto. + (vmaxu): Ditto. + (vmax): Ditto. + (vmul): Ditto. + (vmulh): Ditto. + (vmulhu): Ditto. + (vmulhsu): Ditto. + (vdivu): Ditto. + (vdiv): Ditto. + (vremu): Ditto. + (vrem): Ditto. + (vwmul): Ditto. + (vwmulu): Ditto. + (vwmulsu): Ditto. + (vmacc): Ditto. + (vnmsac): Ditto. + (vmadd): Ditto. + (vnmsub): Ditto. + (vwmaccu): Ditto. + (vwmacc): Ditto. + (vwmaccsu): Ditto. + (vwmaccus): Ditto. + (vmerge): Ditto. + (vmv_v): Ditto. + (vsaddu): Ditto. + (vsadd): Ditto. + (vssubu): Ditto. + (vssub): Ditto. + (vaaddu): Ditto. + (vaadd): Ditto. + (vasubu): Ditto. + (vasub): Ditto. + (vsmul): Ditto. + (vssrl): Ditto. + (vssra): Ditto. + (vnclipu): Ditto. + (vnclip): Ditto. + (vfadd): Ditto. + (vfsub): Ditto. + (vfrsub): Ditto. + (vfadd_frm): Ditto. + (vfsub_frm): Ditto. + (vfrsub_frm): Ditto. + (vfwadd): Ditto. + (vfwsub): Ditto. + (vfwadd_frm): Ditto. + (vfwsub_frm): Ditto. + (vfmul): Ditto. + (vfdiv): Ditto. + (vfrdiv): Ditto. + (vfmul_frm): Ditto. + (vfdiv_frm): Ditto. + (vfrdiv_frm): Ditto. + (vfwmul): Ditto. + (vfwmul_frm): Ditto. + (vfmacc): Ditto. + (vfnmsac): Ditto. + (vfmadd): Ditto. + (vfnmsub): Ditto. + (vfnmacc): Ditto. + (vfmsac): Ditto. + (vfnmadd): Ditto. + (vfmsub): Ditto. + (vfmacc_frm): Ditto. + (vfnmacc_frm): Ditto. + (vfmsac_frm): Ditto. + (vfnmsac_frm): Ditto. + (vfmadd_frm): Ditto. + (vfnmadd_frm): Ditto. + (vfmsub_frm): Ditto. + (vfnmsub_frm): Ditto. + (vfwmacc): Ditto. + (vfwnmacc): Ditto. + (vfwmsac): Ditto. + (vfwnmsac): Ditto. + (vfwmacc_frm): Ditto. + (vfwnmacc_frm): Ditto. + (vfwmsac_frm): Ditto. + (vfwnmsac_frm): Ditto. + (vfsqrt): Ditto. + (vfsqrt_frm): Ditto. + (vfrsqrt7): Ditto. + (vfrec7): Ditto. + (vfrec7_frm): Ditto. + (vfmin): Ditto. + (vfmax): Ditto. + (vfsgnj): Ditto. + (vfsgnjn): Ditto. + (vfsgnjx): Ditto. + (vfneg): Ditto. + (vfabs): Ditto. + (vmfeq): Ditto. + (vmfne): Ditto. + (vmflt): Ditto. + (vmfle): Ditto. + (vmfgt): Ditto. + (vmfge): Ditto. + (vfclass): Ditto. + (vfmerge): Ditto. + (vfmv_v): Ditto. + (vfcvt_x): Ditto. + (vfcvt_xu): Ditto. + (vfcvt_rtz_x): Ditto. + (vfcvt_rtz_xu): Ditto. + (vfcvt_f): Ditto. + (vfcvt_x_frm): Ditto. + (vfcvt_xu_frm): Ditto. + (vfcvt_f_frm): Ditto. + (vfwcvt_x): Ditto. + (vfwcvt_xu): Ditto. + (vfwcvt_rtz_x): Ditto. + (vfwcvt_rtz_xu) Ditto.: + (vfwcvt_f): Ditto. + (vfwcvt_x_frm): Ditto. + (vfwcvt_xu_frm) Ditto.: + (vfncvt_x): Ditto. + (vfncvt_xu): Ditto. + (vfncvt_rtz_x): Ditto. + (vfncvt_rtz_xu): Ditto. + (vfncvt_f): Ditto. + (vfncvt_rod_f): Ditto. + (vfncvt_x_frm): Ditto. + (vfncvt_xu_frm): Ditto. + (vfncvt_f_frm): Ditto. + (vredsum): Ditto. + (vredmaxu): Ditto. + (vredmax): Ditto. + (vredminu): Ditto. + (vredmin): Ditto. + (vredand): Ditto. + (vredor): Ditto. + (vredxor): Ditto. + (vwredsum): Ditto. + (vwredsumu): Ditto. + (vfredusum): Ditto. + (vfredosum): Ditto. + (vfredmax): Ditto. + (vfredmin): Ditto. + (vfredusum_frm): Ditto. + (vfredosum_frm): Ditto. + (vfwredosum): Ditto. + (vfwredusum): Ditto. + (vfwredosum_frm): Ditto. + (vfwredusum_frm): Ditto. + (vmand): Ditto. + (vmnand): Ditto. + (vmandn): Ditto. + (vmxor): Ditto. + (vmor): Ditto. + (vmnor): Ditto. + (vmorn): Ditto. + (vmxnor): Ditto. + (vmmv): Ditto. + (vmclr): Ditto. + (vmset): Ditto. + (vmnot): Ditto. + (vcpop): Ditto. + (vfirst): Ditto. + (vmsbf): Ditto. + (vmsif): Ditto. + (vmsof): Ditto. + (viota): Ditto. + (vid): Ditto. + (vmv_x): Ditto. + (vmv_s): Ditto. + (vfmv_f): Ditto. + (vfmv_s): Ditto. + (vslideup): Ditto. + (vslidedown): Ditto. + (vslide1up): Ditto. + (vslide1down): Ditto. + (vfslide1up): Ditto. + (vfslide1down): Ditto. + (vrgather): Ditto. + (vrgatherei16): Ditto. + (vcompress): Ditto. + (vundefined): Ditto. + (vreinterpret): Ditto. + (vlmul_ext): Ditto. + (vlmul_trunc): Ditto. + (vset): Ditto. + (vget): Ditto. + (vcreate): Ditto. + (vlseg): Ditto. + (vsseg): Ditto. + (vlsseg): Ditto. + (vssseg): Ditto. + (vluxseg): Ditto. + (vloxseg): Ditto. + (vsuxseg): Ditto. + (vsoxseg): Ditto. + (vlsegff): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_FUNCTION): Using variadic macro. + * config/riscv/riscv-vector-builtins.h (struct function_group_info): + Add avail function interface into struct. + * config/riscv/t-riscv: Add dependency + * config/riscv/riscv-vector-builtins-avail.h: New file.The definition of AVAIL marco. + +2023-12-14 Jakub Jelinek + + PR tree-optimization/112994 + * match.pd ((t * u) / (t * v) -> (u / v)): New simplification. + +2023-12-14 Jakub Jelinek + + PR tree-optimization/112994 + * match.pd ((t * 2) / 2 -> t): Adjust comment to use u instead of 2. + Punt without range checks if TYPE_OVERFLOW_SANITIZED. + ((t * u) / v -> t * (u / v)): New simplification. + +2023-12-14 Filip Kastl + + * Makefile.in: Added sccopy pass. + * passes.def: Added sccopy pass before LTO streaming and before + RTL expansion. + * tree-pass.h (make_pass_sccopy): Added sccopy pass. + * gimple-ssa-sccopy.cc: New file. + +2023-12-14 Martin Jambor + + PR tree-optimization/111807 + * tree-sra.cc (build_ref_for_model): Allow offset smaller than + model->offset when gsi is non-NULL. Adjust function comment. + +2023-12-14 liuhongt + + PR target/112992 + * config/i386/i386-expand.cc + (ix86_convert_const_wide_int_to_broadcast): Don't convert to + broadcast for vec_dup{v4di,v8si} when TARGET_AVX2 is not + available. + (ix86_broadcast_from_constant): Allow broadcast for V4DI/V8SI + when !TARGET_AVX2 since it will be forced to memory later. + (ix86_expand_vector_move): Force constant to mem for + vec_dup{vssi,v4di} when TARGET_AVX2 is not available. + +2023-12-14 Juzhe-Zhong + + PR target/111153 + * config/riscv/riscv-protos.h (struct common_vector_cost): New struct. + (struct scalable_vector_cost): Ditto. + (struct cpu_vector_cost): Ditto. + * config/riscv/riscv-vector-costs.cc (costs::add_stmt_cost): Add RVV + builtin vectorization cost + * config/riscv/riscv.cc (struct riscv_tune_param): Ditto. + (get_common_costs): New function. + (riscv_builtin_vectorization_cost): Ditto. + (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): New targethook. + +2023-12-13 Richard Ball + + * config.gcc: Adds new header to config. + * config/aarch64/aarch64-builtins.cc (enum aarch64_type_qualifiers): + Moved to header file. + (ENTRY): Likewise. + (enum aarch64_simd_type): Likewise. + (struct aarch64_simd_type_info): Remove static. + (GTY): Likewise. + * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): + Defines pragma for arm_neon_sve_bridge.h. + * config/aarch64/aarch64-protos.h: + Add handle_arm_neon_sve_bridge_h + * config/aarch64/aarch64-sve-builtins-base.h: New intrinsics. + * config/aarch64/aarch64-sve-builtins-base.cc + (class svget_neonq_impl): New intrinsic implementation. + (class svset_neonq_impl): Likewise. + (class svdup_neonq_impl): Likewise. + (NEON_SVE_BRIDGE_FUNCTION): New intrinsics. + * config/aarch64/aarch64-sve-builtins-functions.h + (NEON_SVE_BRIDGE_FUNCTION): Defines macro for NEON_SVE_BRIDGE + functions. + * config/aarch64/aarch64-sve-builtins-shapes.h: New shapes. + * config/aarch64/aarch64-sve-builtins-shapes.cc + (parse_element_type): Add NEON element types. + (parse_type): Likewise. + (struct get_neonq_def): Defines function shape for get_neonq. + (struct set_neonq_def): Defines function shape for set_neonq. + (struct dup_neonq_def): Defines function shape for dup_neonq. + * config/aarch64/aarch64-sve-builtins.cc + (DEF_SVE_TYPE_SUFFIX): Changed to be called through + SVE_NEON macro. + (DEF_SVE_NEON_TYPE_SUFFIX): Defines + macro for NEON_SVE_BRIDGE type suffixes. + (DEF_NEON_SVE_FUNCTION): Defines + macro for NEON_SVE_BRIDGE functions. + (function_resolver::infer_neon128_vector_type): Infers type suffix + for overloaded functions. + (handle_arm_neon_sve_bridge_h): Handles #pragma arm_neon_sve_bridge.h. + * config/aarch64/aarch64-sve-builtins.def + (DEF_SVE_NEON_TYPE_SUFFIX): Macro for handling neon_sve type suffixes. + (bf16): Replace entry with neon-sve entry. + (f16): Likewise. + (f32): Likewise. + (f64): Likewise. + (s8): Likewise. + (s16): Likewise. + (s32): Likewise. + (s64): Likewise. + (u8): Likewise. + (u16): Likewise. + (u32): Likewise. + (u64): Likewise. + * config/aarch64/aarch64-sve-builtins.h + (GCC_AARCH64_SVE_BUILTINS_H): Include aarch64-builtins.h. + (ENTRY): Add aarch64_simd_type definiton. + (enum aarch64_simd_type): Add neon information to type_suffix_info. + (struct type_suffix_info): New function. + * config/aarch64/aarch64-sve.md + (@aarch64_sve_get_neonq_): New intrinsic insn for big endian. + (@aarch64_sve_set_neonq_): Likewise. + * config/aarch64/iterators.md: Add UNSPEC_SET_NEONQ. + * config/aarch64/aarch64-builtins.h: New file. + * config/aarch64/aarch64-neon-sve-bridge-builtins.def: New file. + * config/aarch64/arm_neon_sve_bridge.h: New file. + +2023-12-13 Patrick Palka + + * doc/invoke.texi (C++ Dialect Options): Document + -fdiagnostics-all-candidates. + +2023-12-13 Julian Brown + + * gimplify.cc (omp_map_clause_descriptor_p): New function. + (build_omp_struct_comp_nodes, omp_get_attachment, omp_group_base): Use + above function. + (omp_tsort_mapping_groups): Process nodes that have + OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P set after those that don't. Add + enter_exit_data parameter. + (omp_resolve_clause_dependencies): Remove GOMP_MAP_TO_PSET mappings if + we're mapping the whole containing derived-type variable. + (omp_accumulate_sibling_list): Adjust GOMP_MAP_TO_PSET handling. + Remove GOMP_MAP_ALWAYS_POINTER handling. + (gimplify_scan_omp_clauses): Pass enter_exit argument to + omp_tsort_mapping_groups. Don't adjust/remove GOMP_MAP_TO_PSET + mappings for derived-type components here. + * tree.h (OMP_CLAUSE_RELEASE_DESCRIPTOR): New macro. + * tree-pretty-print.cc (dump_omp_clause): Show + OMP_CLAUSE_RELEASE_DESCRIPTOR in dump output (with + GOMP_MAP_TO_PSET-like syntax). + +2023-12-13 Julian Brown + + * gimplify.cc (build_struct_comp_nodes): Don't process + GOMP_MAP_ATTACH_DETACH "middle" nodes here. + (omp_mapping_group): Add REPROCESS_STRUCT and FRAGILE booleans for + nested struct handling. + (omp_strip_components_and_deref, omp_strip_indirections): Remove + functions. + (omp_get_attachment): Handle GOMP_MAP_DETACH here. + (omp_group_last): Handle GOMP_MAP_*, GOMP_MAP_DETACH, + GOMP_MAP_ATTACH_DETACH groups for "exit data" of reference-to-pointer + component array sections. + (omp_gather_mapping_groups_1): Initialise reprocess_struct and fragile + fields. + (omp_group_base): Handle GOMP_MAP_ATTACH_DETACH after GOMP_MAP_STRUCT. + (omp_index_mapping_groups_1): Skip reprocess_struct groups. + (omp_get_nonfirstprivate_group, omp_directive_maps_explicitly, + omp_resolve_clause_dependencies, omp_first_chained_access_token): New + functions. + (omp_check_mapping_compatibility): Adjust accepted node combinations + for "from" clauses using release instead of alloc. + (omp_accumulate_sibling_list): Add GROUP_MAP, ADDR_TOKENS, FRAGILE_P, + REPROCESSING_STRUCT, ADDED_TAIL parameters. Use OMP address tokenizer + to analyze addresses. Reimplement nested struct handling, and + implement "fragile groups". + (omp_build_struct_sibling_lists): Adjust for changes to + omp_accumulate_sibling_list. Recalculate bias for ATTACH_DETACH nodes + after GOMP_MAP_STRUCT nodes. + (gimplify_scan_omp_clauses): Call omp_resolve_clause_dependencies. Use + OMP address tokenizer. + (gimplify_adjust_omp_clauses_1): Use build_fold_indirect_ref_loc + instead of build_simple_mem_ref_loc. + * omp-general.cc (omp-general.h, tree-pretty-print.h): Include. + (omp_addr_tokenizer): New namespace. + (omp_addr_tokenizer::omp_addr_token): New. + (omp_addr_tokenizer::omp_parse_component_selector, + omp_addr_tokenizer::omp_parse_ref, + omp_addr_tokenizer::omp_parse_pointer, + omp_addr_tokenizer::omp_parse_access_method, + omp_addr_tokenizer::omp_parse_access_methods, + omp_addr_tokenizer::omp_parse_structure_base, + omp_addr_tokenizer::omp_parse_structured_expr, + omp_addr_tokenizer::omp_parse_array_expr, + omp_addr_tokenizer::omp_access_chain_p, + omp_addr_tokenizer::omp_accessed_addr): New functions. + (omp_parse_expr, debug_omp_tokenized_addr): New functions. + * omp-general.h (omp_addr_tokenizer::access_method_kinds, + omp_addr_tokenizer::structure_base_kinds, + omp_addr_tokenizer::token_type, + omp_addr_tokenizer::omp_addr_token, + omp_addr_tokenizer::omp_access_chain_p, + omp_addr_tokenizer::omp_accessed_addr): New. + (omp_addr_token, omp_parse_expr): New. + * omp-low.cc (scan_sharing_clauses): Skip error check for references + to pointers. + * tree.h (OMP_CLAUSE_ATTACHMENT_MAPPING_ERASED): New macro. + +2023-12-13 Andrew Stubbs + + * config/gcn/gcn-hsa.h (NO_XNACK): Change the defaults. + * config/gcn/gcn-opts.h (enum hsaco_attr_type): Add HSACO_ATTR_DEFAULT. + * config/gcn/gcn.cc (gcn_option_override): Set the default flag_xnack. + * config/gcn/gcn.opt: Add -mxnack=default. + * doc/invoke.texi: Document the -mxnack default. + +2023-12-13 Andrew Stubbs + + * config/gcn/gcn-hsa.h (NO_XNACK): Ignore missing -march. + (XNACKOPT): Match on/off; ignore any. + * config/gcn/gcn-valu.md (gather_insn_1offset): + Add xnack compatible alternatives. + (gather_insn_2offsets): Likewise. + * config/gcn/gcn.cc (gcn_option_override): Permit -mxnack for devices + other than Fiji and gfx1030. + (gcn_expand_epilogue): Remove early-clobber problems. + (gcn_hsa_declare_function_name): Obey -mxnack setting. + * config/gcn/gcn.md (xnack): New attribute. + (enabled): Rework to include "xnack" attribute. + (*movbi): Add xnack compatible alternatives. + (*mov_insn): Likewise. + (*mov_insn): Likewise. + (*mov_insn): Likewise. + (*movti_insn): Likewise. + * config/gcn/gcn.opt (-mxnack): Change the default to "any". + * doc/invoke.texi: Remove placeholder notice for -mxnack. + +2023-12-13 Andrew Carlotti + + * config/aarch64/x-aarch64: Add missing dependencies. + +2023-12-13 Roger Sayle + Jeff Law + + * config/arc/arc.md (*extvsi_n_0): New define_insn_and_split to + implement SImode sign extract using a AND, XOR and MINUS sequence. + +2023-12-13 Feng Wang + + * common/config/riscv/riscv-common.cc: Modify implied ISA info. + * config/riscv/arch-canonicalize: Add crypto vector implied info. + +2023-12-13 Juzhe-Zhong + + PR target/112929 + PR target/112988 + * config/riscv/riscv-vsetvl.cc + (pre_vsetvl::compute_lcm_local_properties): Remove full available. + (pre_vsetvl::pre_global_vsetvl_info): Add full available optimization. + +2023-12-13 Juzhe-Zhong + + PR target/111317 + * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Adjust for COST for decrement IV. + +2023-12-13 Jakub Jelinek + + PR tree-optimization/112940 + * gimple-lower-bitint.cc (struct bitint_large_huge): Add another + argument to prepare_data_in_out method defaulted to NULL_TREE. + (bitint_large_huge::handle_operand): Pass another argument to + prepare_data_in_out instead of emitting an assignment to set it. + (bitint_large_huge::prepare_data_in_out): Add VAL_OUT argument. + If non-NULL, use it as PHI argument instead of creating a new + SSA_NAME. + (bitint_large_huge::handle_cast): Pass rext as another argument + to 2 prepare_data_in_out calls instead of emitting assignments + to set them. + +2023-12-13 Jakub Jelinek + + PR middle-end/112953 + * attribs.cc (free_attr_data): Use delete x rather than delete[] x. + +2023-12-13 Jakub Jelinek + + PR target/112962 + * config/i386/i386.cc (ix86_gimple_fold_builtin): For shifts + and abs without lhs replace with nop. + +2023-12-13 Richard Biener + + * emit-rtl.cc (set_mem_attributes_minus_bitpos): Preserve + the offset when rewriting an exising MEM_REF base for + stack slot sharing. + +2023-12-13 Richard Biener + + PR tree-optimization/112991 + PR tree-optimization/112961 + * tree-ssa-sccvn.h (do_rpo_vn): Add skip_entry_phis argument. + * tree-ssa-sccvn.cc (do_rpo_vn): Likewise. + (do_rpo_vn_1): Likewise, merge with auto-processing. + (run_rpo_vn): Adjust. + (pass_fre::execute): Likewise. + * tree-if-conv.cc (tree_if_conversion): Revert last change. + Value-number latch block but disable value-numbering of + entry PHIs. + * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust. + +2023-12-13 Richard Biener + + PR tree-optimization/112990 + * match.pd (bit_insert @0 (BIT_FIELD_REF @1 ..) ..): + Restrict to vector modes after lowering. + +2023-12-13 Richard Biener + + PR middle-end/111591 + * cfgexpand.cc (update_alias_info_with_stack_vars): Document + why not adjusting TBAA info on accesses is OK. + +2023-12-13 Alexandre Oliva + + * doc/invoke.texi (multiflags): Drop extraneous period, use + @pxref instead. + +2023-12-13 Victor Do Nascimento + + * config/aarch64/aarch64-builtins.cc: + (AARCH64_PLD): New enum aarch64_builtins entry. + (AARCH64_PLDX): Likewise. + (AARCH64_PLI): Likewise. + (AARCH64_PLIX): Likewise. + (aarch64_init_prefetch_builtin): New. + (aarch64_general_init_builtins): Call prefetch init function. + (aarch64_expand_prefetch_builtin): New. + (aarch64_general_expand_builtin): Add prefetch expansion. + (require_const_argument): New. + * config/aarch64/aarch64.md (UNSPEC_PLDX): New. + (aarch64_pldx): Likewise. + * config/aarch64/arm_acle.h (__pld): Likewise. + (__pli): Likewise. + (__plix): Likewise. + (__pldx): Likewise. + +2023-12-13 Kewen Lin + + PR tree-optimization/112788 + * value-range.h (range_compatible_p): Workaround same type mode but + different type precision issue for rs6000 scalar float types + _Float128 and long double. + +2023-12-13 Jiufu Guo + + * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Add code to use + pli for 34bit constant. + +2023-12-13 Jiufu Guo + + * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Add new + parameter to record number of instructions to build the constant. + (num_insns_constant_gpr): Call rs6000_emit_set_long_const to compute + num_insn. + +2023-12-12 Juzhe-Zhong + + * config/riscv/riscv-vector-costs.cc (costs::analyze_loop_vinfo): New function. + (costs::record_potential_vls_unrolling): Ditto. + (costs::prefer_unrolled_loop): Ditto. + (costs::better_main_loop_than_p): Ditto. + (costs::add_stmt_cost): Ditto. + * config/riscv/riscv-vector-costs.h (enum cost_type_enum): New enum. + * config/riscv/t-riscv: Add new include files. + +2023-12-12 Juzhe-Zhong + + * config/riscv/riscv-vector-costs.cc (get_current_lmul): Remove it. + (compute_estimated_lmul): New function. + (costs::costs): Refactor. + (costs::preferred_new_lmul_p): Ditto. + (preferred_new_lmul_p): Ditto. + (costs::better_main_loop_than_p): Ditto. + * config/riscv/riscv-vector-costs.h (struct autovec_info): Remove it. + +2023-12-12 Martin Jambor + + PR tree-optimization/112822 + * tree-sra.cc (load_assign_lhs_subreplacements): Invoke + force_gimple_operand_gsi also when LHS has partial stores and RHS is a + VIEW_CONVERT_EXPR. + +2023-12-12 Jason Merrill + Nathaniel Shead + + * tree-core.h (enum clobber_kind): Rename CLOBBER_EOL to + CLOBBER_STORAGE_END. Add CLOBBER_STORAGE_BEGIN, + CLOBBER_OBJECT_BEGIN, CLOBBER_OBJECT_END. + * gimple-lower-bitint.cc + * gimple-ssa-warn-access.cc + * gimplify.cc + * tree-inline.cc + * tree-ssa-ccp.cc: Adjust for rename. + * tree-pretty-print.cc: And handle new values. + +2023-12-12 Szabolcs Nagy + + * config/aarch64/aarch64.cc (aarch64_override_options): Update. + (aarch64_handle_attr_branch_protection): Update. + * config/arm/aarch-common-protos.h (aarch_parse_branch_protection): + Remove. + (aarch_validate_mbranch_protection): Add new argument. + * config/arm/aarch-common.cc (aarch_handle_no_branch_protection): + Update. + (aarch_handle_standard_branch_protection): Update. + (aarch_handle_pac_ret_protection): Update. + (aarch_handle_pac_ret_leaf): Update. + (aarch_handle_pac_ret_b_key): Update. + (aarch_handle_bti_protection): Update. + (aarch_parse_branch_protection): Remove. + (next_tok): New. + (aarch_validate_mbranch_protection): Rewrite. + * config/arm/aarch-common.h (struct aarch_branch_protect_type): + Add field "alone". + * config/arm/arm.cc (arm_configure_build_target): Update. + +2023-12-12 Szabolcs Nagy + + * config/aarch64/aarch64.cc (aarch64_override_options_after_change_1): + Do not override branch_protection options. + (aarch64_override_options): Remove accepted_branch_protection_string. + * config/arm/aarch-common.cc (BRANCH_PROTECT_STR_MAX): Remove. + (aarch_parse_branch_protection): Remove + accepted_branch_protection_string. + * config/arm/arm.cc: Likewise. + +2023-12-12 Richard Biener + + PR tree-optimization/112736 + * tree-vect-stmts.cc (vectorizable_load): Extend optimization + to avoid peeling for gaps to handle single-element non-groups + we now allow with SLP. + +2023-12-12 Richard Biener + + PR ipa/92606 + * ipa-icf.cc (sem_item_optimizer::merge_classes): Check + both source and alias for the no_icf attribute. + * doc/extend.texi (no_icf): Document variable attribute. + +2023-12-12 Richard Biener + + PR tree-optimization/112961 + * tree-if-conv.cc (tree_if_conversion): Instead of excluding + the latch block from VN, add a fake entry edge. + +2023-12-12 Xi Ruoyao + + PR middle-end/107723 + * convert.cc (convert_to_integer_1) [case BUILT_IN_TRUNC]: Break + early if !flag_fp_int_builtin_inexact and flag_trapping_math. + +2023-12-12 Pan Li + + * config/riscv/riscv-avlprop.cc (avl_can_be_propagated_p): + Disable the avl propogation for the vcompress. + +2023-12-12 Xi Ruoyao + + * config/loongarch/loongarch-opts.h (la_target): Move into #if + for loongarch-def.h. + (loongarch_init_target): Likewise. + (loongarch_config_target): Likewise. + (loongarch_update_gcc_opt_status): Likewise. + +2023-12-12 Xi Ruoyao + + * config/loongarch/loongarch.cc (loongarch_explicit_relocs_p): + Return true for SYMBOL_PCREL64. Return true for SYMBOL_GOT_DISP + if TARGET_CMODEL_EXTREME. + (loongarch_split_symbol): Check for la_opt_explicit_relocs != + EXPLICIT_RELOCS_NONE instead of TARGET_EXPLICIT_RELOCS. + (loongarch_print_operand_reloc): Likewise. + (loongarch_option_override_internal): Likewise. + (loongarch_handle_model_attribute): Likewise. + * doc/invoke.texi (-mcmodel=extreme): Update the compatibility + between it and -mexplicit-relocs=. + +2023-12-12 Richard Biener + + PR tree-optimization/112939 + * tree-ssa-sccvn.cc (visit_phi): When all args are undefined + make sure we end up with a value that was visited, otherwise + fall back to .VN_TOP. + +2023-12-12 liuhongt + + PR target/112891 + * config/i386/i386.cc (ix86_avx_u128_mode_after): Return + AVX_U128_ANY if callee_abi doesn't clobber all_sse_regs to + align with ix86_avx_u128_mode_needed. + (ix86_avx_u128_mode_needed): Return AVX_U128_ClEAN for + sibling_call. + +2023-12-12 Alexandre Oliva + + PR target/112334 + * builtins.h (target_builtins): Add fields for apply_args_size + and apply_result_size. + * builtins.cc (apply_args_size, apply_result_size): Cache + results in fields rather than in static variables. + (get_apply_args_size, set_apply_args_size): New. + (get_apply_result_size, set_apply_result_size): New. + +2023-12-12 Hongyu Wang + + PR target/112943 + * config/i386/i386.md (ashl3): Add TARGET_APX_NDD to + ix86_expand_binary_operator call. + (3): Likewise for rshift. + (di3): Likewise for DImode rotate. + (3): Likewise for SWI124 rotate. + +2023-12-12 Feng Wang + + * config/riscv/riscv-vector-builtins-functions.def (DEF_RVV_FUNCTION): + Add AVAIL argument. + (read_vl): Using AVAIL argument default value. + (vlenb): Ditto. + (vsetvl): Ditto. + (vsetvlmax): Ditto. + (vle): Ditto. + (vse): Ditto. + (vlm): Ditto. + (vsm): Ditto. + (vlse): Ditto. + (vsse): Ditto. + (vluxei8): Ditto. + (vluxei16): Ditto. + (vluxei32): Ditto. + (vluxei64): Ditto. + (vloxei8): Ditto. + (vloxei16): Ditto. + (vloxei32): Ditto. + (vloxei64): Ditto. + (vsuxei8): Ditto. + (vsuxei16): Ditto. + (vsuxei32): Ditto. + (vsuxei64): Ditto. + (vsoxei8): Ditto. + (vsoxei16): Ditto. + (vsoxei32): Ditto. + (vsoxei64): Ditto. + (vleff): Ditto. + (vadd): Ditto. + (vsub): Ditto. + (vrsub): Ditto. + (vneg): Ditto. + (vwaddu): Ditto. + (vwsubu): Ditto. + (vwadd): Ditto. + (vwsub): Ditto. + (vwcvt_x): Ditto. + (vwcvtu_x): Ditto. + (vzext): Ditto. + (vsext): Ditto. + (vadc): Ditto. + (vmadc): Ditto. + (vsbc): Ditto. + (vmsbc): Ditto. + (vand): Ditto. + (vor): Ditto. + (vxor): Ditto. + (vnot): Ditto. + (vsll): Ditto. + (vsra): Ditto. + (vsrl): Ditto. + (vnsrl): Ditto. + (vnsra): Ditto. + (vncvt_x): Ditto. + (vmseq): Ditto. + (vmsne): Ditto. + (vmsltu): Ditto. + (vmslt): Ditto. + (vmsleu): Ditto. + (vmsle): Ditto. + (vmsgtu): Ditto. + (vmsgt): Ditto. + (vmsgeu): Ditto. + (vmsge): Ditto. + (vminu): Ditto. + (vmin): Ditto. + (vmaxu): Ditto. + (vmax): Ditto. + (vmul): Ditto. + (vmulh): Ditto. + (vmulhu): Ditto. + (vmulhsu): Ditto. + (vdivu): Ditto. + (vdiv): Ditto. + (vremu): Ditto. + (vrem): Ditto. + (vwmul): Ditto. + (vwmulu): Ditto. + (vwmulsu): Ditto. + (vmacc): Ditto. + (vnmsac): Ditto. + (vmadd): Ditto. + (vnmsub): Ditto. + (vwmaccu): Ditto. + (vwmacc): Ditto. + (vwmaccsu): Ditto. + (vwmaccus): Ditto. + (vmerge): Ditto. + (vmv_v): Ditto. + (vsaddu): Ditto. + (vsadd): Ditto. + (vssubu): Ditto. + (vssub): Ditto. + (vaaddu): Ditto. + (vaadd): Ditto. + (vasubu): Ditto. + (vasub): Ditto. + (vsmul): Ditto. + (vssrl): Ditto. + (vssra): Ditto. + (vnclipu): Ditto. + (vnclip): Ditto. + (vfadd): Ditto. + (vfsub): Ditto. + (vfrsub): Ditto. + (vfadd_frm): Ditto. + (vfsub_frm): Ditto. + (vfrsub_frm): Ditto. + (vfwadd): Ditto. + (vfwsub): Ditto. + (vfwadd_frm): Ditto. + (vfwsub_frm): Ditto. + (vfmul): Ditto. + (vfdiv): Ditto. + (vfrdiv): Ditto. + (vfmul_frm): Ditto. + (vfdiv_frm): Ditto. + (vfrdiv_frm): Ditto. + (vfwmul): Ditto. + (vfwmul_frm): Ditto. + (vfmacc): Ditto. + (vfnmsac): Ditto. + (vfmadd): Ditto. + (vfnmsub): Ditto. + (vfnmacc): Ditto. + (vfmsac): Ditto. + (vfnmadd): Ditto. + (vfmsub): Ditto. + (vfmacc_frm): Ditto. + (vfnmacc_frm): Ditto. + (vfmsac_frm): Ditto. + (vfnmsac_frm): Ditto. + (vfmadd_frm): Ditto. + (vfnmadd_frm): Ditto. + (vfmsub_frm): Ditto. + (vfnmsub_frm): Ditto. + (vfwmacc): Ditto. + (vfwnmacc): Ditto. + (vfwmsac): Ditto. + (vfwnmsac): Ditto. + (vfwmacc_frm): Ditto. + (vfwnmacc_frm): Ditto. + (vfwmsac_frm): Ditto. + (vfwnmsac_frm): Ditto. + (vfsqrt): Ditto. + (vfsqrt_frm): Ditto. + (vfrsqrt7): Ditto. + (vfrec7): Ditto. + (vfrec7_frm): Ditto. + (vfmin): Ditto. + (vfmax): Ditto. + (vfsgnj): Ditto. + (vfsgnjn): Ditto. + (vfsgnjx): Ditto. + (vfneg): Ditto. + (vfabs): Ditto. + (vmfeq): Ditto. + (vmfne): Ditto. + (vmflt): Ditto. + (vmfle): Ditto. + (vmfgt): Ditto. + (vmfge): Ditto. + (vfclass): Ditto. + (vfmerge): Ditto. + (vfmv_v): Ditto. + (vfcvt_x): Ditto. + (vfcvt_xu): Ditto. + (vfcvt_rtz_x): Ditto. + (vfcvt_rtz_xu): Ditto. + (vfcvt_f): Ditto. + (vfcvt_x_frm): Ditto. + (vfcvt_xu_frm): Ditto. + (vfcvt_f_frm): Ditto. + (vfwcvt_x): Ditto. + (vfwcvt_xu): Ditto. + (vfwcvt_rtz_x): Ditto. + (vfwcvt_rtz_xu) Ditto.: + (vfwcvt_f): Ditto. + (vfwcvt_x_frm): Ditto. + (vfwcvt_xu_frm) Ditto.: + (vfncvt_x): Ditto. + (vfncvt_xu): Ditto. + (vfncvt_rtz_x): Ditto. + (vfncvt_rtz_xu): Ditto. + (vfncvt_f): Ditto. + (vfncvt_rod_f): Ditto. + (vfncvt_x_frm): Ditto. + (vfncvt_xu_frm): Ditto. + (vfncvt_f_frm): Ditto. + (vredsum): Ditto. + (vredmaxu): Ditto. + (vredmax): Ditto. + (vredminu): Ditto. + (vredmin): Ditto. + (vredand): Ditto. + (vredor): Ditto. + (vredxor): Ditto. + (vwredsum): Ditto. + (vwredsumu): Ditto. + (vfredusum): Ditto. + (vfredosum): Ditto. + (vfredmax): Ditto. + (vfredmin): Ditto. + (vfredusum_frm): Ditto. + (vfredosum_frm): Ditto. + (vfwredosum): Ditto. + (vfwredusum): Ditto. + (vfwredosum_frm): Ditto. + (vfwredusum_frm): Ditto. + (vmand): Ditto. + (vmnand): Ditto. + (vmandn): Ditto. + (vmxor): Ditto. + (vmor): Ditto. + (vmnor): Ditto. + (vmorn): Ditto. + (vmxnor): Ditto. + (vmmv): Ditto. + (vmclr): Ditto. + (vmset): Ditto. + (vmnot): Ditto. + (vcpop): Ditto. + (vfirst): Ditto. + (vmsbf): Ditto. + (vmsif): Ditto. + (vmsof): Ditto. + (viota): Ditto. + (vid): Ditto. + (vmv_x): Ditto. + (vmv_s): Ditto. + (vfmv_f): Ditto. + (vfmv_s): Ditto. + (vslideup): Ditto. + (vslidedown): Ditto. + (vslide1up): Ditto. + (vslide1down): Ditto. + (vfslide1up): Ditto. + (vfslide1down): Ditto. + (vrgather): Ditto. + (vrgatherei16): Ditto. + (vcompress): Ditto. + (vundefined): Ditto. + (vreinterpret): Ditto. + (vlmul_ext): Ditto. + (vlmul_trunc): Ditto. + (vset): Ditto. + (vget): Ditto. + (vcreate): Ditto. + (vlseg): Ditto. + (vsseg): Ditto. + (vlsseg): Ditto. + (vssseg): Ditto. + (vluxseg): Ditto. + (vloxseg): Ditto. + (vsuxseg): Ditto. + (vsoxseg): Ditto. + (vlsegff): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_FUNCTION): Using variadic macro. + * config/riscv/riscv-vector-builtins.h (struct function_group_info): + Add avail function interface into struct. + * config/riscv/t-riscv: Add dependency + * config/riscv/riscv-vector-builtins-avail.h: New file.The definition of AVAIL marco. + +2023-12-12 Juzhe-Zhong + + * config/riscv/riscv-protos.h (estimated_poly_value): New function. + * config/riscv/riscv-v.cc (estimated_poly_value): Ditto. + * config/riscv/riscv.cc (riscv_estimated_poly_value): Move RVV POLY + VALUE estimation to riscv-v.cc + +2023-12-12 Yang Yujie + + * config/loongarch/loongarch.cc: Do not restore the saved eh_return + data registers ($r4-$r7) for a normal return of a function that calls + __builtin_eh_return elsewhere. + * config/loongarch/loongarch-protos.h: Same. + * config/loongarch/loongarch.md: Same. + +2023-12-11 Richard Sandiford + + * recog.cc (constrain_operands): Pass VOIDmode to + strict_memory_address_p for 'p' constraints in asms. + * rtl-ssa/changes.cc (recog_level2): Skip redundant constrain_operands + for asms. + +2023-12-11 Jason Merrill + + * common.opt: Add comment. + +2023-12-11 Alexandre Oliva + + PR middle-end/112784 + * expr.cc (emit_block_move_via_loop): Call int_mode_for_size + for maybe-too-wide sizes. + (emit_block_cmp_via_loop): Likewise. + +2023-12-11 Alexandre Oliva + + PR target/112778 + * builtins.cc (can_store_by_multiple_pieces): New. + (try_store_by_multiple_pieces): Call it. + +2023-12-11 Alexandre Oliva + + PR target/112804 + * builtins.cc (try_store_by_multiple_pieces): Use ptr's mode + for the increment. + +2023-12-11 Alexandre Oliva + + * doc/invoke.texi (multiflags): Add period after @xref to + silence warning. + +2023-12-11 Alexandre Oliva + + * config/rl78/rl78.cc (TARGET_HAVE_STRUB_SUPPORT_FOR): Disable. + +2023-12-11 Alexandre Oliva + + * ipa-strub.cc (pass_ipa_strub::execute): Check that we don't + add indirection to pointer parameters, and document attribute + access non-interactions. + +2023-12-11 Roger Sayle + + PR rtl-optimization/112380 + * combine.cc (expand_field_assignment): Check if gen_lowpart + returned a CLOBBER, and avoid calling gen_simplify_binary with + it if so. + +2023-12-11 Andrew Pinski + + PR target/111867 + * config/aarch64/aarch64.cc (aarch64_float_const_representable_p): For BFmode, + only accept +0.0. + +2023-12-11 Andrew Pinski + + PR tree-optimization/111972 + PR tree-optimization/110637 + * match.pd (`(convert)(zeroone !=/== CST)`): Match + and simplify to ((convert)zeroone){,^1}. + * fold-const.cc (fold_binary_loc): Remove + transformation of `(~a) & 1` and `(a ^ 1) & 1` + into `(convert)(a == 0)`. + +2023-12-11 Andrew Pinski + + PR middle-end/112935 + * expr.cc (expand_expr_real_2): Use + gimple_zero_one_valued_p instead of tree_nonzero_bits + to find boolean defined expressions. + +2023-12-11 Mikael Pettersson + + PR target/112413 + * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): For + TARGET_LONG_JUMP_TABLE_OFFSETS, reference the jump table + via its label. + * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise. + * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise. + +2023-12-11 Andre Vieira + + * config/aarch64/aarch64.cc (lane_size): New function. + (aarch64_simd_clone_compute_vecsize_and_simdlen): Determine simdlen according to NDS rule + and reject combination of simdlen and types that lead to vectors larger than 128bits. + +2023-12-11 Juzhe-Zhong + + * rtl-ssa/insns.cc (function_info::record_use): Add !ordered_p case. + +2023-12-11 Juzhe-Zhong + + * config/riscv/riscv-v.cc (get_gather_index_mode): New function. + (shuffle_series_patterns): Robostify shuffle index. + (shuffle_generic_patterns): Ditto. + +2023-12-11 Victor Do Nascimento + + * config/aarch64/arm_neon.h (vldap1_lane_u64): Add + `const' to `__builtin_aarch64_simd_di *' cast. + (vldap1q_lane_u64): Likewise. + (vldap1_lane_s64): Cast __src to `const __builtin_aarch64_simd_di *'. + (vldap1q_lane_s64): Likewise. + (vldap1_lane_f64): Cast __src to `const __builtin_aarch64_simd_df *'. + (vldap1q_lane_f64): Cast __src to `const __builtin_aarch64_simd_df *'. + (vldap1_lane_p64): Add `const' to `__builtin_aarch64_simd_di *' cast. + (vldap1q_lane_p64): Add `const' to `__builtin_aarch64_simd_di *' cast. + (vstl1_lane_u64): remove stray `const'. + (vstl1_lane_s64): Cast __src to `__builtin_aarch64_simd_di *'. + (vstl1q_lane_s64): Likewise. + (vstl1_lane_f64): Cast __src to `const __builtin_aarch64_simd_df *'. + (vstl1q_lane_f64): Likewise. + +2023-12-11 Robin Dapp + + PR target/112853 + * config/riscv/riscv-v.cc (expand_const_vector): Fix step + calculation. + (modulo_sel_indices): Also perform modulo for variable-length + constants. + (shuffle_series): Recognize series permutations. + (expand_vec_perm_const_1): Add shuffle_series. + +2023-12-11 liuhongt + + * match.pd (VCE (a cmp b ? -1 : 0) < 0) ? c : d ---> (VCE ((a + cmp b) ? (VCE:c) : (VCE:d))): New gimple simplication. + +2023-12-11 Juzhe-Zhong + + PR target/112431 + * config/riscv/vector.md: Support highest overlap for wv instructions. + +2023-12-11 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (extract_single_source): Fix ICE. + +2023-12-11 Jakub Jelinek + + * doc/extend.texi (__sync_fetch_and_add, __sync_fetch_and_sub, + __sync_fetch_and_or, __sync_fetch_and_and, __sync_fetch_and_xor, + __sync_fetch_and_nand, __sync_add_and_fetch, __sync_sub_and_fetch, + __sync_or_and_fetch, __sync_and_and_fetch, __sync_xor_and_fetch, + __sync_nand_and_fetch, __sync_bool_compare_and_swap, + __sync_val_compare_and_swap, __sync_lock_test_and_set, + __sync_lock_release, __atomic_load_n, __atomic_load, __atomic_store_n, + __atomic_store, __atomic_exchange_n, __atomic_exchange, + __atomic_compare_exchange_n, __atomic_compare_exchange, + __atomic_add_fetch, __atomic_sub_fetch, __atomic_and_fetch, + __atomic_xor_fetch, __atomic_or_fetch, __atomic_nand_fetch, + __atomic_fetch_add, __atomic_fetch_sub, __atomic_fetch_and, + __atomic_fetch_xor, __atomic_fetch_or, __atomic_fetch_nand, + __atomic_test_and_set, __atomic_clear, __atomic_thread_fence, + __atomic_signal_fence, __atomic_always_lock_free, + __atomic_is_lock_free, __builtin_add_overflow, + __builtin_sadd_overflow, __builtin_saddl_overflow, + __builtin_saddll_overflow, __builtin_uadd_overflow, + __builtin_uaddl_overflow, __builtin_uaddll_overflow, + __builtin_sub_overflow, __builtin_ssub_overflow, + __builtin_ssubl_overflow, __builtin_ssubll_overflow, + __builtin_usub_overflow, __builtin_usubl_overflow, + __builtin_usubll_overflow, __builtin_mul_overflow, + __builtin_smul_overflow, __builtin_smull_overflow, + __builtin_smulll_overflow, __builtin_umul_overflow, + __builtin_umull_overflow, __builtin_umulll_overflow, + __builtin_add_overflow_p, __builtin_sub_overflow_p, + __builtin_mul_overflow_p, __builtin_addc, __builtin_addcl, + __builtin_addcll, __builtin_subc, __builtin_subcl, __builtin_subcll, + __builtin_alloca, __builtin_alloca_with_align, + __builtin_alloca_with_align_and_max, __builtin_speculation_safe_value, + __builtin_nan, __builtin_nand32, __builtin_nand64, __builtin_nand128, + __builtin_nanf, __builtin_nanl, __builtin_nanf@var{n}, + __builtin_nanf@var{n}x, __builtin_nans, __builtin_nansd32, + __builtin_nansd64, __builtin_nansd128, __builtin_nansf, + __builtin_nansl, __builtin_nansf@var{n}, __builtin_nansf@var{n}x, + __builtin_ffs, __builtin_clz, __builtin_ctz, __builtin_clrsb, + __builtin_popcount, __builtin_parity, __builtin_bswap16, + __builtin_bswap32, __builtin_bswap64, __builtin_bswap128, + __builtin_extend_pointer, __builtin_goacc_parlevel_id, + __builtin_goacc_parlevel_size, vec_clrl, vec_clrr, vec_mulh, vec_mul, + vec_div, vec_dive, vec_mod, __builtin_rx_mvtc): Use @var{...} around + parameter names. + (vec_rl, vec_sl, vec_sr, vec_sra): Likewise. Use @var{...} also + around A, B and R in description. + +2023-12-11 Juzhe-Zhong + + * config/riscv/riscv-selftests.cc (riscv_run_selftests): + Remove poly self test when FIXED-VLMAX. + +2023-12-11 Fei Gao + Xiao Zeng + + * ifcvt.cc (noce_cond_zero_binary_op_supported): Add support for AND. + (noce_bbs_ok_for_cond_zero_arith): Likewise. + (noce_try_cond_zero_arith): Likewise. + +2023-12-11 liuhongt + + PR target/112904 + * config/i386/mmx.md (*xop_pcmov_): New define_insn. + +2023-12-11 Haochen Gui + + PR target/112707 + * config/rs6000/rs6000.h (TARGET_FCTID): Define. + * config/rs6000/rs6000.md (lrintdi2): Add guard TARGET_FCTID. + * (lrounddi2): Replace TARGET_FPRND with TARGET_FCTID. + +2023-12-11 Haochen Gui + + PR target/112707 + * config/rs6000/rs6000.md (expand lrintsi2): New. + (insn lrintsi2): Rename to... + (*lrintsi): ...this. + (lrintsi_di): New. + +2023-12-10 Fei Gao + Xiao Zeng + + * ifcvt.cc (noce_cond_zero_binary_op_supported): Add support for shift + like op. + +2023-12-10 Richard Sandiford + + PR target/112931 + PR target/112933 + * config/aarch64/aarch64-protos.h (aarch64_sve_reinterpret): Declare. + * config/aarch64/aarch64.cc (aarch64_sve_reinterpret): New function. + * config/aarch64/aarch64-sve-builtins-sme.cc (svread_za_impl::expand) + (svwrite_za_impl::expand): Use it to cast the SVE register to the + right mode. + +2023-12-10 Richard Sandiford + + PR target/112930 + * config/aarch64/aarch64.cc (aarch64_sme_mode_switch_regs::add_reg): + Force specific SVE modes for single registers as well as structures. + +2023-12-10 Jason Merrill + + * doc/invoke.texi (-fpermissive): Mention ObjC++ for -Wnarrowing. + +2023-12-10 Jeff Law + + * config/h8300/addsub.md (uaddv4, usubv4): New expanders. + (uaddv): New define_insn_and_split plus post-reload pattern. + +2023-12-10 Jeff Law + + * config/h8300/h8300-protos.h (use_extvsi): Prototype. + * config/h8300/combiner.md: Two new define_insn_and_split patterns + to implement signed bitfield extractions. + * config/h8300/h8300.cc (use_extvsi): New function. + +2023-12-10 Jeff Law + + * config/h8300/combiner.md (single bit signed bitfield extraction): Fix + length computation when the bit we want is in the low half word. + +2023-12-10 Jeff Law + + * config/h8300/h8300.cc (compute_a_shift_length): Fix computation + of logical shifts on the H8/SX. + +2023-12-09 Jakub Jelinek + + PR tree-optimization/112887 + * tree-ssa-phiopt.cc (hoist_adjacent_loads): Change type of + param_align, param_align_bits, offset1, offset2, size2 and align1 + variables from int or unsigned int to unsigned HOST_WIDE_INT. + +2023-12-09 Costas Argyris + Jakub Jelinek + + PR driver/93019 + * gcc.cc (driver::finalize): Call XDELETEVEC on mdswitches before + clearing it. + +2023-12-09 Jakub Jelinek + + * attribs.h (any_nonignored_attribute_p): Declare. + * attribs.cc (any_nonignored_attribute_p): New function. + +2023-12-09 Juzhe-Zhong + + PR target/112932 + * config/riscv/vector.md (movmisalign): Fix VLSmode bugs. + +2023-12-09 Alexandre Oliva + + * tree-emutls.cc: Include diagnostic-core.h. + (pass_ipa_lower_emutls::gate): Skip if errors were seen. + +2023-12-08 Vladimir N. Makarov + + PR rtl-optimization/112875 + * lra-eliminations.cc (lra_eliminate_regs_1): Change an assert. + Add ASM_OPERANDS case. + +2023-12-08 Robin Dapp + + PR target/112109 + * config/riscv/riscv-protos.h (expand_strcmp): Declare. + * config/riscv/riscv-string.cc (riscv_expand_strcmp): Add + strategy handling and delegation to scalar and vector expanders. + (expand_strcmp): Vectorized implementation. + * config/riscv/riscv.md: Add TARGET_VECTOR to strcmp and strncmp + expander. + +2023-12-08 Robin Dapp + + PR target/112109 + * config/riscv/riscv-protos.h (expand_rawmemchr): Add strlen + parameter. + * config/riscv/riscv-string.cc (riscv_expand_strlen): Call + rawmemchr. + (expand_rawmemchr): Add strlen handling. + * config/riscv/riscv.md: Add TARGET_VECTOR to strlen expander. + +2023-12-08 Richard Sandiford + + * config/aarch64/aarch64-early-ra.cc (allocno_info::chain_next): + Put into an enum with... + (allocno_info::last_def_point): ...new member variable. + (allocno_info::m_current_bb_point): New member variable. + (likely_operand_match_p): Switch based on get_constraint_type, + rather than based on rtx code. Handle relaxed and special memory + constraints. + (early_ra::record_copy): Allow the source of an equivalence to be + assigned to more than once. + (early_ra::record_allocno_use): Invalidate any previous equivalence. + Initialize last_def_point. + (early_ra::record_allocno_def): Set last_def_point. + (early_ra::valid_equivalence_p): New function, split out from... + (early_ra::record_copy): ...here. Use last_def_point to handle + source registers that have a later definition. + (make_pass_aarch64_early_ra): Fix comment. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vld1q_u8_x2, vld1q_u16_x2, vld1q_u32_x2, vld1q_u64_x2): New. + (vld1q_s8_x2, vld1q_s16_x2, vld1q_s32_x2, vld1q_s64_x2): New. + (vld1q_f16_x2, vld1q_f32_x2): New. + (vld1q_p8_x2, vld1q_p16_x2, vld1q_p64_x2): New. + (vld1q_bf16_x2): New. + * config/arm/arm_neon_builtins.def (vld1_x2): New entries. + * config/arm/neon.md (vld1_x2): New. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vld1q_u8_x3, vld1q_u16_x3, vld1q_u32_x3, vld1q_u64_x3): New. + (vld1q_s8_x3, vld1q_s16_x3, vld1q_s32_x3, vld1q_s64_x3): New. + (vld1q_f16_x3, vld1q_f32_x3): New. + (vld1q_p8_x3, vld1q_p16_x3, vld1q_p64_x3): New. + (vld1q_bf16_x3): New. + * config/arm/arm_neon_builtins.def (vld1_x3): New entries. + * config/arm/neon.md (vld1_x3): New. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vld1q_u8_x4, vld1q_u16_x4, vld1q_u32_x4, vld1q_u64_x4): New. + (vld1q_s8_x4, vld1q_s16_x4, vld1q_s32_x4, vld1q_s64_x4): New. + (vld1q_f16_x4, vld1q_f32_x4): New. + (vld1q_p8_x4, vld1q_p16_x4, vld1q_p64_x4): New. + (vld1q_bf16_x4): New. + * config/arm/arm_neon_builtins.def (vld1_x4): New entries. + * config/arm/neon.md (vld1_x4): New. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vst1_u8_x2, vst1_u16_x2, vst1_u32_x2, vst1_u64_x2): New. + (vst1_s8_x2, vst1_s16_x2, vst1_s32_x2, vst1_s64_x2): New. + (vst1_f16_x2, vst1_f32_x2): New. + (vst1_p8_x2, vst1_p16_x2, vst1_p64_x2): New. + (vst1_bf16_x2): New. + * config/arm/arm_neon_builtins.def (vst1_x2): New entries. + * config/arm/neon.md (vst1_x2): New. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vst1_u8_x3, vst1_u16_x3, vst1_u32_x3, vst1_u64_x3): New. + (vst1_s8_x3, vst1_s16_x3, vst1_s32_x3, vst1_s64_x3): New. + (vst1_f16_x3, vst1_f32_x3): New. + (vst1_p8_x3, vst1_p16_x3, vst1_p64_x3): New. + (vst1_bf16_x3): New. + * config/arm/arm_neon_builtins.def (vst1_x3): New entries. + * config/arm/neon.md (vst1_x3): New. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vst1_u8_x4, vst1_u16_x4, vst1_u32_x4, vst1_u64_x4): New. + (vst1_s8_x4, vst1_s16_x4, vst1_s32_x4, vst1_s64_x4): New. + (vst1_f16_x4, vst1_f32_x4): New. + (vst1_p8_x4, vst1_p16_x4, vst1_p64_x4): New. + (vst1_bf16_x4): New. + * config/arm/arm_neon_builtins.def (vst1_x4): New entries. + * config/arm/neon.md (vst1_x4): New. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vst1q_u8_x2, vst1q_u16_x2, vst1q_u32_x2, vst1q_u64_x2): New. + (vst1q_s8_x2, vst1q_s16_x2, vst1q_s32_x2, vst1q_s64_x2): New. + (vst1q_f16_x2, vst1q_f32_x2): New. + (vst1q_p8_x2, vst1q_p16_x2, vst1q_p64_x2): New. + (vst1q_bf16_x2): New. + * config/arm/arm_neon_builtins.def (vst1q_x2): New entries. + * config/arm/neon.md + (neon_vst1_x2): Updated from + neon_vst1_x2. + * config/arm/iterators.md (VMEMX2): New mode iterator. + (VMEMX2_q): New mode attribute. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vst1q_u8_x3, vst1q_u16_x3, vst1q_u32_x3, vst1q_u64_x3): New. + (vst1q_s8_x3, vst1q_s16_x3, vst1q_s32_x3, vst1q_s64_x3): New. + (vst1q_f16_x3, vst1q_f32_x3): New. + (vst1q_p8_x3, vst1q_p16_x3, vst1q_p64_x3): New. + (vst1q_bf16_x3): New. + * config/arm/arm_neon_builtins.def (vst1q_x3): New entries. + * config/arm/neon.md (neon_vst1q_x3): New. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vst1q_u8_x4, vst1q_u16_x4, vst1q_u32_x4, vst1q_u64_x4): New. + (vst1q_s8_x4, vst1q_s16_x4, vst1q_s32_x4, vst1q_s64_x4): New. + (vst1q_f16_x4, vst1q_f32_x4): New. + (vst1q_p8_x4, vst1q_p16_x4, vst1q_p64_x4): New. + (vst1q_bf16_x4): New. + * config/arm/arm_neon_builtins.def (vst1q_x4): New entries. + * config/arm/neon.md (neon_vst1q_x4): New. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vld1_u8_x2, vld1_u16_x2, vld1_u32_x2, vld1_u64_x2): New + (vld1_s8_x2, vld1_s16_x2, vld1_s32_x2, vld1_s64_x2): New. + (vld1_f16_x2, vld1_f32_x2): New. + (vld1_p8_x2, vld1_p16_x2, vld1_p64_x2): New. + (vld1_bf16_x2): New. + (vld1q_types_x2): Updated to use vld1q_x2 from + arm_neon_builtins.def + * config/arm/arm_neon_builtins.def + (vld1_x2): Updated entries. + (vld1q_x2): New entries, but comes from the old vld1_x2 + * config/arm/neon.md + (neon_vld1_x2): Updated + from neon_vld1_x2. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vld1_u8_x3, vld1_u16_x3, vld1_u32_x3, vld1_u64_x3): New + (vld1_s8_x3, vld1_s16_x3, vld1_s32_x3, vld1_s64_x3): New. + (vld1_f16_x3, vld1_f32_x3): New. + (vld1_p8_x3, vld1_p16_x3, vld1_p64_x3): New. + (vld1_bf16_x3): New. + (vld1q_types_x3): Updated to use vld1q_x3 from + arm_neon_builtins.def + * config/arm/arm_neon_builtins.def + (vld1_x3): Updated entries. + (vld1q_x3): New entries, but comes from the old vld1_x2 + * config/arm/neon.md (neon_vld1q_x3): Updated from + neon_vld1_x3. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vld1_u8_x4, vld1_u16_x4, vld1_u32_x4, vld1_u64_x4): New + (vld1_s8_x4, vld1_s16_x4, vld1_s32_x4, vld1_s64_x4): New. + (vld1_f16_x4, vld1_f32_x4): New. + (vld1_p8_x4, vld1_p16_x4, vld1_p64_x4): New. + (vld1_bf16_x4): New. + (vld1q_types_x4): Updated to use vld1q_x4 + from arm_neon_builtins.def + * config/arm/arm_neon_builtins.def + (vld1_x4): Updated entries. + (vld1q_x4): New entries, but comes from the old vld1_x2 + * config/arm/neon.md (neon_vld1q_x4): + Updated from neon_vld1_x4. + +2023-12-08 Tobias Burnus + + * builtin-types.def (BT_FN_PTR_PTR_SIZE_PTRMODE_PTRMODE): New. + * omp-builtins.def (BUILT_IN_GOMP_REALLOC): New. + * builtins.cc (builtin_fnspec): Handle it. + * gimple-ssa-warn-access.cc (fndecl_alloc_p, + matching_alloc_calls_p): Likewise. + * gimple.cc (nonfreeing_call_p): Likewise. + * predict.cc (expr_expected_value_1): Likewise. + * tree-ssa-ccp.cc (evaluate_stmt): Likewise. + * tree.cc (fndecl_dealloc_argno): Likewise. + +2023-12-08 Richard Biener + + PR tree-optimization/112909 + * tree-ssa-uninit.cc (find_uninit_use): Look through a + single level of SSA name copies with single use. + +2023-12-08 Jiahao Xu + + * config/loongarch/loongarch.cc (loongarch_try_expand_lsx_vshuf_const): Use + simplify_gen_subreg instead of gen_rtx_SUBREG. + (loongarch_expand_vec_perm_const_2): Ditto. + (loongarch_expand_vec_cond_expr): Ditto. + +2023-12-08 Jiahao Xu + + * config/loongarch/loongarch.cc (loongarch_vector_costs::determine_suggested_unroll_factor): + If m_has_recip is true, uf return 1. + (loongarch_vector_costs::add_stmt_cost): Detect the use of approximate instruction sequence. + +2023-12-08 Jiahao Xu + + * config/loongarch/genopts/loongarch.opt.in (recip_mask): New variable. + (-mrecip, -mrecip): New options. + * config/loongarch/lasx.md (div3): New expander. + (*div3): Rename. + (sqrt2): New expander. + (*sqrt2): Rename. + (rsqrt2): New expander. + * config/loongarch/loongarch-protos.h (loongarch_emit_swrsqrtsf): New prototype. + (loongarch_emit_swdivsf): Ditto. + * config/loongarch/loongarch.cc (loongarch_option_override_internal): Set + recip_mask for -mrecip and -mrecip= options. + (loongarch_emit_swrsqrtsf): New function. + (loongarch_emit_swdivsf): Ditto. + * config/loongarch/loongarch.h (RECIP_MASK_NONE, RECIP_MASK_DIV, RECIP_MASK_SQRT + RECIP_MASK_RSQRT, RECIP_MASK_VEC_DIV, RECIP_MASK_VEC_SQRT, RECIP_MASK_VEC_RSQRT + RECIP_MASK_ALL): New bitmasks. + (TARGET_RECIP_DIV, TARGET_RECIP_SQRT, TARGET_RECIP_RSQRT, TARGET_RECIP_VEC_DIV + TARGET_RECIP_VEC_SQRT, TARGET_RECIP_VEC_RSQRT): New tests. + * config/loongarch/loongarch.md (sqrt2): New expander. + (*sqrt2): Rename. + (rsqrt2): New expander. + * config/loongarch/loongarch.opt (recip_mask): New variable. + (-mrecip, -mrecip): New options. + * config/loongarch/lsx.md (div3): New expander. + (*div3): Rename. + (sqrt2): New expander. + (*sqrt2): Rename. + (rsqrt2): New expander. + * config/loongarch/predicates.md (reg_or_vecotr_1_operand): New predicate. + * doc/invoke.texi (LoongArch Options): Document new options. + +2023-12-08 Jiahao Xu + + * config/loongarch/lasx.md (lasx_xvfrecip_): Renamed to .. + (recip3): .. this. + * config/loongarch/loongarch-builtins.cc (CODE_FOR_lsx_vfrecip_d): Redefine + to new pattern name. + (CODE_FOR_lsx_vfrecip_s): Ditto. + (CODE_FOR_lasx_xvfrecip_d): Ditto. + (CODE_FOR_lasx_xvfrecip_s): Ditto. + (loongarch_expand_builtin_direct): For the vector recip instructions, construct a + temporary parameter const1_vector. + * config/loongarch/lsx.md (lsx_vfrecip_): Renamed to .. + (recip3): .. this. + * config/loongarch/predicates.md (const_vector_1_operand): New predicate. + +2023-12-08 Jiahao Xu + + * config/loongarch/lasx.md (lasx_xvfrsqrt_): Renamed to .. + (rsqrt2): .. this. + * config/loongarch/loongarch-builtins.cc + (CODE_FOR_lsx_vfrsqrt_d): Redefine to standard pattern name. + (CODE_FOR_lsx_vfrsqrt_s): Ditto. + (CODE_FOR_lasx_xvfrsqrt_d): Ditto. + (CODE_FOR_lasx_xvfrsqrt_s): Ditto. + * config/loongarch/loongarch.cc (use_rsqrt_p): New function. + (loongarch_optab_supported_p): Ditto. + (TARGET_OPTAB_SUPPORTED_P): New hook. + * config/loongarch/loongarch.md (*rsqrta): Remove. + (*rsqrt2): New insn pattern. + (*rsqrtb): Remove. + * config/loongarch/lsx.md (lsx_vfrsqrt_): Renamed to .. + (rsqrt2): .. this. + +2023-12-08 Jiahao Xu + + * config/loongarch/genopts/isa-evolution.in (fecipe): Add. + * config/loongarch/larchintrin.h (__frecipe_s): New intrinsic. + (__frecipe_d): Ditto. + (__frsqrte_s): Ditto. + (__frsqrte_d): Ditto. + * config/loongarch/lasx.md (lasx_xvfrecipe_): New insn pattern. + (lasx_xvfrsqrte_): Ditto. + * config/loongarch/lasxintrin.h (__lasx_xvfrecipe_s): New intrinsic. + (__lasx_xvfrecipe_d): Ditto. + (__lasx_xvfrsqrte_s): Ditto. + (__lasx_xvfrsqrte_d): Ditto. + * config/loongarch/loongarch-builtins.cc (AVAIL_ALL): Add predicates. + (LSX_EXT_BUILTIN): New macro. + (LASX_EXT_BUILTIN): Ditto. + * config/loongarch/loongarch-cpucfg-map.h: Regenerate. + * config/loongarch/loongarch-c.cc: Add builtin macro "__loongarch_frecipe". + * config/loongarch/loongarch-def.cc: Regenerate. + * config/loongarch/loongarch-str.h (OPTSTR_FRECIPE): Regenerate. + * config/loongarch/loongarch.cc (loongarch_asm_code_end): Dump status for TARGET_FRECIPE. + * config/loongarch/loongarch.md (loongarch_frecipe_): New insn pattern. + (loongarch_frsqrte_): Ditto. + * config/loongarch/loongarch.opt: Regenerate. + * config/loongarch/lsx.md (lsx_vfrecipe_): New insn pattern. + (lsx_vfrsqrte_): Ditto. + * config/loongarch/lsxintrin.h (__lsx_vfrecipe_s): New intrinsic. + (__lsx_vfrecipe_d): Ditto. + (__lsx_vfrsqrte_s): Ditto. + (__lsx_vfrsqrte_d): Ditto. + * doc/extend.texi: Add documentation for LoongArch new builtins and intrinsics. + +2023-12-08 Richard Biener + + * tree-outof-ssa.cc (rewrite_out_of_ssa): Dump GIMPLE once only, + after final IL adjustments. + +2023-12-08 Pan Li + + * config/riscv/vector-iterators.md: Replace RVVM2SI to RVVM2SF + for mode attr V_F2DI_CONVERT_BRIDGE. + +2023-12-08 Jiahao Xu + + * config/loongarch/lasx.md (xorsign3): New expander. + * config/loongarch/loongarch.cc (loongarch_can_change_mode_class): Allow + conversion between LSX vector mode and scalar fp mode. + * config/loongarch/loongarch.md (@xorsign3): New expander. + * config/loongarch/lsx.md (@xorsign3): Ditto. + +2023-12-08 Jakub Jelinek + + PR tree-optimization/112902 + * gimple-lower-bitint.cc (gimple_lower_bitint): For a narrowing + or same precision cast don't set SSA_NAME_VERSION in m_names only + if use_stmt is mergeable_op or fall through into the check that + use is a store or rhs1 is not mergeable or other reasons prevent + merging. + +2023-12-08 Jakub Jelinek + + PR tree-optimization/112901 + * vr-values.cc + (simplify_using_ranges::simplify_float_conversion_using_ranges): + Return false if rhs1 has BITINT_TYPE type with BLKmode TYPE_MODE. + +2023-12-08 Jakub Jelinek + + PR middle-end/112411 + * haifa-sched.cc (extend_h_i_d): Use 3U instead of 3 in + 3 * get_max_uid () / 2 calculation. + +2023-12-08 Lulu Cheng + + * config/loongarch/genopts/loongarch-strings: Delete STR_ISA_BASE_LA64V110. + * config/loongarch/genopts/loongarch.opt.in: Likewise. + * config/loongarch/loongarch-cpu.cc (ISA_BASE_LA64V110_FEATURES): Delete macro. + (fill_native_cpu_config): Define a new variable hw_isa_evolution record the + extended instruction set support read from cpucfg. + * config/loongarch/loongarch-def.cc: Set evolution at initialization. + * config/loongarch/loongarch-def.h (ISA_BASE_LA64V100): Delete. + (ISA_BASE_LA64V110): Likewise. + (N_ISA_BASE_TYPES): Likewise. + (defined): Likewise. + * config/loongarch/loongarch-opts.cc: Likewise. + * config/loongarch/loongarch-opts.h (TARGET_64BIT): Likewise. + (ISA_BASE_IS_LA64V110): Likewise. + * config/loongarch/loongarch-str.h (STR_ISA_BASE_LA64V110): Likewise. + * config/loongarch/loongarch.opt: Regenerate. + +2023-12-08 Xi Ruoyao + + * config/loongarch/loongarch-def.h: Remove extern "C". + (loongarch_isa_base_strings): Declare as loongarch_def_array + instead of plain array. + (loongarch_isa_ext_strings): Likewise. + (loongarch_abi_base_strings): Likewise. + (loongarch_abi_ext_strings): Likewise. + (loongarch_cmodel_strings): Likewise. + (loongarch_cpu_strings): Likewise. + (loongarch_cpu_default_isa): Likewise. + (loongarch_cpu_issue_rate): Likewise. + (loongarch_cpu_multipass_dfa_lookahead): Likewise. + (loongarch_cpu_cache): Likewise. + (loongarch_cpu_align): Likewise. + (loongarch_cpu_rtx_cost_data): Likewise. + (loongarch_isa): Add a constructor and field setter functions. + * config/loongarch/loongarch-opts.h (loongarch-defs.h): Do not + include for target libraries. + * config/loongarch/loongarch-opts.cc: Comment code that doesn't + run and causes compilation errors. + * config/loongarch/loongarch-tune.h (LOONGARCH_TUNE_H): Likewise. + (struct loongarch_rtx_cost_data): Likewise. + (struct loongarch_cache): Likewise. + (struct loongarch_align): Likewise. + * config/loongarch/t-loongarch: Compile loongarch-def.cc with the + C++ compiler. + * config/loongarch/loongarch-def-array.h: New file for a + std:array like data structure with position setter function. + * config/loongarch/loongarch-def.c: Rename to ... + * config/loongarch/loongarch-def.cc: ... here. + (loongarch_cpu_strings): Define as loongarch_def_array instead + of plain array. + (loongarch_cpu_default_isa): Likewise. + (loongarch_cpu_cache): Likewise. + (loongarch_cpu_align): Likewise. + (loongarch_cpu_rtx_cost_data): Likewise. + (loongarch_cpu_issue_rate): Likewise. + (loongarch_cpu_multipass_dfa_lookahead): Likewise. + (loongarch_isa_base_strings): Likewise. + (loongarch_isa_ext_strings): Likewise. + (loongarch_abi_base_strings): Likewise. + (loongarch_abi_ext_strings): Likewise. + (loongarch_cmodel_strings): Likewise. + (abi_minimal_isa): Likewise. + (loongarch_rtx_cost_optimize_size): Use field setter functions + instead of designated initializers. + (loongarch_rtx_cost_data): Implement default constructor. + +2023-12-08 Jakub Jelinek + + PR middle-end/112411 + * params.opt (-param=min-nondebug-insn-uid=): Add + IntegerRange(0, 1073741824). + * lra.cc (check_and_expand_insn_recog_data): Use 3U rather than 3 + in * 3 / 2 computation and if the result is smaller or equal to + index, use index + 1. + +2023-12-08 Haochen Jiang + + * config/i386/driver-i386.cc (host_detect_local_cpu): + Do not append "-mno-" for Xeon Phi ISAs. + * config/i386/i386-options.cc (ix86_option_override_internal): + Emit a warning for KNL/KNM targets. + * config/i386/i386.opt: Emit a warning for Xeon Phi ISAs. + +2023-12-08 Juzhe-Zhong + + * config/riscv/riscv-vector-costs.cc (costs::better_main_loop_than_p): + Remove redundant check. + +2023-12-08 Hao Liu + + PR tree-optimization/112774 + * tree-pretty-print.cc: if nonwrapping flag is set, chrec will be + printed with additional info. + * tree-scalar-evolution.cc: add record_nonwrapping_chrec and + nonwrapping_chrec_p to set and check the new flag respectively. + * tree-scalar-evolution.h: Likewise. + * tree-ssa-loop-niter.cc (idx_infer_loop_bounds, + infer_loop_bounds_from_pointer_arith, infer_loop_bounds_from_signedness, + scev_probably_wraps_p): call record_nonwrapping_chrec before + record_nonwrapping_iv, call nonwrapping_chrec_p to check the flag is + set and return false from scev_probably_wraps_p. + * tree-vect-loop.cc (vect_analyze_loop): call + free_numbers_of_iterations_estimates explicitly. + * tree-core.h: document the nothrow_flag usage in CHREC_NOWRAP + * tree.h: add CHREC_NOWRAP(NODE), base.nothrow_flag is used to + represent the nonwrapping info. + +2023-12-08 Fei Gao + + * ifcvt.cc (noce_try_cond_zero_arith): New function. + (noce_emit_czero, get_base_reg): Likewise. + (noce_cond_zero_binary_op_supported): Likewise. + (noce_bbs_ok_for_cond_zero_arith): Likewise. + (noce_process_if_block): Use noce_try_cond_zero_arith. + Co-authored-by: Xiao Zeng + +2023-12-07 Juzhe-Zhong + + * config/riscv/riscv-protos.h (expand_vec_series): Adapt function. + * config/riscv/riscv-v.cc (rvv_builder::double_steps_npatterns_p): New function. + (expand_vec_series): Adapt function. + (expand_const_vector): Support new interleave vector with different step. + +2023-12-07 Richard Sandiford + + PR rtl-optimization/106694 + PR rtl-optimization/109078 + PR rtl-optimization/109391 + * config.gcc: Add aarch64-early-ra.o for AArch64 targets. + * config/aarch64/t-aarch64 (aarch64-early-ra.o): New rule. + * config/aarch64/aarch64-opts.h (aarch64_early_ra_scope): New enum. + * config/aarch64/aarch64.opt (mearly_ra): New option. + * doc/invoke.texi: Document it. + * common/config/aarch64/aarch64-common.cc + (aarch_option_optimization_table): Use -mearly-ra=strided by + default for -O2 and above. + * config/aarch64/aarch64-passes.def (pass_aarch64_early_ra): New pass. + * config/aarch64/aarch64-protos.h (aarch64_strided_registers_p) + (make_pass_aarch64_early_ra): Declare. + * config/aarch64/aarch64-sme.md (@aarch64_sme_lut): + Add a stride_type attribute. + (@aarch64_sme_lut_strided2): New pattern. + (@aarch64_sme_lut_strided4): Likewise. + * config/aarch64/aarch64-sve-builtins-base.cc (svld1_impl::expand) + (svldnt1_impl::expand, svst1_impl::expand, svstn1_impl::expand): Handle + new way of defining multi-register loads and stores. + * config/aarch64/aarch64-sve.md (@aarch64_ld1) + (@aarch64_ldnt1, @aarch64_st1) + (@aarch64_stnt1): Delete. + * config/aarch64/aarch64-sve2.md (@aarch64_) + (@aarch64__strided2): New patterns. + (@aarch64__strided4): Likewise. + (@aarch64_): Likewise. + (@aarch64__strided2): Likewise. + (@aarch64__strided4): Likewise. + * config/aarch64/aarch64.cc (aarch64_strided_registers_p): New + function. + * config/aarch64/aarch64.md (UNSPEC_LD1_SVE_COUNT): Delete. + (UNSPEC_ST1_SVE_COUNT, UNSPEC_LDNT1_SVE_COUNT): Likewise. + (UNSPEC_STNT1_SVE_COUNT): Likewise. + (stride_type): New attribute. + * config/aarch64/constraints.md (Uwd, Uwt): New constraints. + * config/aarch64/iterators.md (UNSPEC_LD1_COUNT, UNSPEC_LDNT1_COUNT) + (UNSPEC_ST1_COUNT, UNSPEC_STNT1_COUNT): New unspecs. + (optab): Handle them. + (LD1_COUNT, ST1_COUNT): New iterators. + * config/aarch64/aarch64-early-ra.cc: New file. + +2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vld1_u8_x4, vld1_u16_x4, vld1_u32_x4, vld1_u64_x4): New + (vld1_s8_x4, vld1_s16_x4, vld1_s32_x4, vld1_s64_x4): New. + (vld1_f16_x4, vld1_f32_x4): New. + (vld1_p8_x4, vld1_p16_x4, vld1_p64_x4): New. + (vld1_bf16_x4): New. + (vld1q_types_x4): Updated to use vld1q_x4 + from arm_neon_builtins.def + * config/arm/arm_neon_builtins.def + (vld1_x4): Updated entries. + (vld1q_x4): New entries, but comes from the old vld1_x2 + * config/arm/neon.md (neon_vld1q_x4): + Updated from neon_vld1_x4. + +2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vld1_u8_x3, vld1_u16_x3, vld1_u32_x3, vld1_u64_x3): New + (vld1_s8_x3, vld1_s16_x3, vld1_s32_x3, vld1_s64_x3): New. + (vld1_f16_x3, vld1_f32_x3): New. + (vld1_p8_x3, vld1_p16_x3, vld1_p64_x3): New. + (vld1_bf16_x3): New. + (vld1q_types_x3): Updated to use vld1q_x3 from + arm_neon_builtins.def + * config/arm/arm_neon_builtins.def + (vld1_x3): Updated entries. + (vld1q_x3): New entries, but comes from the old vld1_x2 + * config/arm/neon.md (neon_vld1q_x3): Updated from + neon_vld1_x3. + +2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vld1_u8_x2, vld1_u16_x2, vld1_u32_x2, vld1_u64_x2): New + (vld1_s8_x2, vld1_s16_x2, vld1_s32_x2, vld1_s64_x2): New. + (vld1_f16_x2, vld1_f32_x2): New. + (vld1_p8_x2, vld1_p16_x2, vld1_p64_x2): New. + (vld1_bf16_x2): New. + (vld1q_types_x2): Updated to use vld1q_x2 from + arm_neon_builtins.def + * config/arm/arm_neon_builtins.def + (vld1_x2): Updated entries. + (vld1q_x2): New entries, but comes from the old vld1_x2 + * config/arm/neon.md + (neon_vld1_x2): Updated + from neon_vld1_x2. + +2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vst1q_u8_x4, vst1q_u16_x4, vst1q_u32_x4, vst1q_u64_x4): New. + (vst1q_s8_x4, vst1q_s16_x4, vst1q_s32_x4, vst1q_s64_x4): New. + (vst1q_f16_x4, vst1q_f32_x4): New. + (vst1q_p8_x4, vst1q_p16_x4, vst1q_p64_x4): New. + (vst1q_bf16_x4): New. + * config/arm/arm_neon_builtins.def (vst1q_x4): New entries. + * config/arm/neon.md (neon_vst1q_x4): New. + +2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vst1q_u8_x3, vst1q_u16_x3, vst1q_u32_x3, vst1q_u64_x3): New. + (vst1q_s8_x3, vst1q_s16_x3, vst1q_s32_x3, vst1q_s64_x3): New. + (vst1q_f16_x3, vst1q_f32_x3): New. + (vst1q_p8_x3, vst1q_p16_x3, vst1q_p64_x3): New. + (vst1q_bf16_x3): New. + * config/arm/arm_neon_builtins.def (vst1q_x3): New entries. + * config/arm/neon.md (neon_vst1q_x3): New. + +2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vst1q_u8_x2, vst1q_u16_x2, vst1q_u32_x2, vst1q_u64_x2): New. + (vst1q_s8_x2, vst1q_s16_x2, vst1q_s32_x2, vst1q_s64_x2): New. + (vst1q_f16_x2, vst1q_f32_x2): New. + (vst1q_p8_x2, vst1q_p16_x2, vst1q_p64_x2): New. + (vst1q_bf16_x2): New. + * config/arm/arm_neon_builtins.def (vst1q_x2): New entries. + * config/arm/neon.md + (neon_vst1_x2): Updated from + neon_vst1_x2. + * config/arm/iterators.md (VMEMX2): New mode iterator. + (VMEMX2_q): New mode attribute. + +2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vst1_u8_x4, vst1_u16_x4, vst1_u32_x4, vst1_u64_x4): New. + (vst1_s8_x4, vst1_s16_x4, vst1_s32_x4, vst1_s64_x4): New. + (vst1_f16_x4, vst1_f32_x4): New. + (vst1_p8_x4, vst1_p16_x4, vst1_p64_x4): New. + (vst1_bf16_x4): New. + * config/arm/arm_neon_builtins.def (vst1_x4): New entries. + * config/arm/neon.md (vst1_x4): New. + +2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vst1_u8_x3, vst1_u16_x3, vst1_u32_x3, vst1_u64_x3): New. + (vst1_s8_x3, vst1_s16_x3, vst1_s32_x3, vst1_s64_x3): New. + (vst1_f16_x3, vst1_f32_x3): New. + (vst1_p8_x3, vst1_p16_x3, vst1_p64_x3): New. + (vst1_bf16_x3): New. + * config/arm/arm_neon_builtins.def (vst1_x3): New entries. + * config/arm/neon.md (vst1_x3): New. + +2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vst1_u8_x2, vst1_u16_x2, vst1_u32_x2, vst1_u64_x2): New. + (vst1_s8_x2, vst1_s16_x2, vst1_s32_x2, vst1_s64_x2): New. + (vst1_f16_x2, vst1_f32_x2): New. + (vst1_p8_x2, vst1_p16_x2, vst1_p64_x2): New. + (vst1_bf16_x2): New. + * config/arm/arm_neon_builtins.def (vst1_x2): New entries. + * config/arm/neon.md (vst1_x2): New. + +2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vld1q_u8_x4, vld1q_u16_x4, vld1q_u32_x4, vld1q_u64_x4): New. + (vld1q_s8_x4, vld1q_s16_x4, vld1q_s32_x4, vld1q_s64_x4): New. + (vld1q_f16_x4, vld1q_f32_x4): New. + (vld1q_p8_x4, vld1q_p16_x4, vld1q_p64_x4): New. + (vld1q_bf16_x4): New. + * config/arm/arm_neon_builtins.def (vld1_x4): New entries. + * config/arm/neon.md (vld1_x4): New. + +2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vld1q_u8_x3, vld1q_u16_x3, vld1q_u32_x3, vld1q_u64_x3): New. + (vld1q_s8_x3, vld1q_s16_x3, vld1q_s32_x3, vld1q_s64_x3): New. + (vld1q_f16_x3, vld1q_f32_x3): New. + (vld1q_p8_x3, vld1q_p16_x3, vld1q_p64_x3): New. + (vld1q_bf16_x3): New. + * config/arm/arm_neon_builtins.def (vld1_x3): New entries. + * config/arm/neon.md (vld1_x3): New. + +2023-12-07 Ezra Sitorus + + * config/arm/arm_neon.h + (vld1q_u8_x2, vld1q_u16_x2, vld1q_u32_x2, vld1q_u64_x2): New. + (vld1q_s8_x2, vld1q_s16_x2, vld1q_s32_x2, vld1q_s64_x2): New. + (vld1q_f16_x2, vld1q_f32_x2): New. + (vld1q_p8_x2, vld1q_p16_x2, vld1q_p64_x2): New. + (vld1q_bf16_x2): New. + * config/arm/arm_neon_builtins.def (vld1_x2): New entries. + * config/arm/neon.md (vld1_x2): New. + +2023-12-07 Stefan Schulze Frielinghaus + + * config/s390/vecintrin.h (vec_step): Expand vec_step to + __builtin_s390_vec_step. + +2023-12-07 Alexandre Oliva + + * target.def (have_strub_support_for): New hook. + * doc/tm.texi.in: Document it. + * doc/tm.texi: Rebuild. + * ipa-strub.cc: Include target.h. + (strub_target_support_p): New. + (can_strub_p): Call it. Test for no flag_split_stack. + (pass_ipa_strub::adjust_at_calls_call): Check for target + support. + * config/nvptx/nvptx.cc (TARGET_HAVE_STRUB_SUPPORT_FOR): + Disable. + * doc/sourcebuild.texi (strub): Document new effective + target. + +2023-12-07 Juzhe-Zhong + + * config/riscv/riscv-avlprop.cc (simplify_replace_avl): New function. + (simplify_replace_vlmax_avl): Fix bug. + * config/riscv/t-riscv: Add a new include file. + +2023-12-07 Christoph Müllner + + * config/riscv/thead.cc (th_memidx_classify_address_index): + Require TARGET_XTHEADMEMIDX for FP modes. + * config/riscv/thead.md: Require TARGET_XTHEADMEMIDX for all + XTheadFMemIdx pattern. + +2023-12-07 Jakub Jelinek + + PR middle-end/112881 + * expr.cc (count_type_elements): Handle BITINT_TYPE like INTEGER_TYPE. + +2023-12-07 Jakub Jelinek + + PR tree-optimization/112880 + * tree-ssa-dce.cc (maybe_optimize_arith_overflow): Use + unsigned_type_for instead of conditionally calling + build_nonstandard_integer_type. + +2023-12-07 Victor Do Nascimento + + * config/aarch64/arm_neon.h (vldap1_lane_u64): New. + (vldap1q_lane_u64): Likewise. + (vldap1_lane_s64): Likewise. + (vldap1q_lane_s64): Likewise. + (vldap1_lane_f64): Likewise. + (vldap1q_lane_f64): Likewise. + (vldap1_lane_p64): Likewise. + (vldap1q_lane_p64): Likewise. + (vstl1_lane_u64): Likewise. + (vstl1q_lane_u64): Likewise. + (vstl1_lane_s64): Likewise. + (vstl1q_lane_s64): Likewise. + (vstl1_lane_f64): Likewise. + (vstl1q_lane_f64): Likewise. + (vstl1_lane_p64): Likewise. + (vstl1q_lane_p64): Likewise. + +2023-12-07 Victor Do Nascimento + + * config/aarch64/aarch64-simd-builtins.def + (vec_ldap1_lane): New. + (vec_stl1_lane): Likewise. + * config/aarch64/aarch64-simd.md + (aarch64_vec_stl1_lanes_lane): New. + (aarch64_vec_stl1_lane): Likewise. + (aarch64_vec_ldap1_lanes_lane): Likewise. + (aarch64_vec_ldap1_lane): Likewise. + * config/aarch64/aarch64.md (UNSPEC_LDAP1_LANE): New. + (UNSPEC_STL1_LANE): Likewise. + +2023-12-07 Victor Do Nascimento + + * config/aarch64/iterators.md (V12DIF): New. + (V12DUP): Likewise. + (VEL): Add support for all V12DIF-associated modes. + (Vetype): Add support for V1DI and V1DF. + (Vel): Likewise. + +2023-12-07 Victor Do Nascimento + + * config/aarch64/aarch64-option-extensions.def (rcpc3): New. + * config/aarch64/aarch64.h (AARCH64_ISA_RCPC3): Likewise. + (TARGET_RCPC3): Likewise. + * doc/invoke.texi (rcpc3): Document feature in AArch64 Options. + +2023-12-07 Hongyu Wang + + * config/i386/i386-expand.cc (ix86_split_ashl_ndd): New + function to split NDD form lshift. + (ix86_split_rshift_ndd): Likewise for l/ashiftrt. + * config/i386/i386-protos.h (ix86_split_ashl_ndd): New + prototype. + (ix86_split_rshift_ndd): Likewise. + * config/i386/i386.md (ashl3_doubleword): Add NDD + alternative, call ndd split function when operands[0] + not equal to operands[1]. + (define_split for doubleword lshift): Likewise. + (define_peephole for doubleword lshift): Likewise. + (3_doubleword): Likewise for l/ashiftrt. + (define_split for doubleword l/ashiftrt): Likewise. + (define_peephole for doubleword l/ashiftrt): Likewise. + +2023-12-07 Hongyu Wang + + * config/i386/i386.md (*movcc_noc): Extend with new constraints + to support NDD. + (*movsicc_noc_zext): Likewise. + (*movsicc_noc_zext_1): Likewise. + (*movqicc_noc): Likewise. + +2023-12-07 Hongyu Wang + + * config/i386/i386.md (x86_64_shld_ndd): New define_insn. + (x86_64_shld_ndd_1): Likewise. + (*x86_64_shld_ndd_2): Likewise. + (x86_shld_ndd): Likewise. + (x86_shld_ndd_1): Likewise. + (*x86_shld_ndd_2): Likewise. + (x86_64_shrd_ndd): Likewise. + (x86_64_shrd_ndd_1): Likewise. + (*x86_64_shrd_ndd_2): Likewise. + (x86_shrd_ndd): Likewise. + (x86_shrd_ndd_1): Likewise. + (*x86_shrd_ndd_2): Likewise. + (*x86_64_shld_shrd_1_nozext): Adjust codegen under TARGET_APX_NDD. + (*x86_shld_shrd_1_nozext): Likewise. + (*x86_64_shrd_shld_1_nozext): Likewise. + (*x86_shrd_shld_1_nozext): Likewise. + +2023-12-07 Hongyu Wang + + * config/i386/i386.md (*3_1): Extend with a new + alternative to support NDD for SI/DI rotate, and adjust output + template. + (*si3_1_zext): Likewise. + (*3_1): Likewise for QI/HI modes. + (rcrsi2): Likewise, and use nonimmediate_operand for operands[1] + to accept memory input for NDD alternative. + (rcrdi2): Likewise. + +2023-12-07 Hongyu Wang + + * config/i386/i386.md (ashr3_cvt): Extend with new + alternatives to support NDD, and adjust output templates. + (*ashr3_1): Likewise for SI/DI mode. + (*lshr3_1): Likewise. + (*si3_1_zext): Likewise. + (*ashr3_1): Likewise for QI/HI mode. + (*lshrqi3_1): Likewise. + (*lshrhi3_1): Likewise. + (3_cmp): Likewise. + (*3_cconly): Likewise. + (*ashrsi3_cvt_zext): Likewise, and use nonimmediate_operand for + operands[1] to accept memory input for NDD alternative. + (*highpartdisi2): Likewise. + (*si3_cmp_zext): Likewise. + (3_carry): Likewise. + +2023-12-07 Hongyu Wang + + * config/i386/i386.md (*ashl3_1): Extend with new + alternatives to support NDD, limit the new alternative to + generate sal only, and adjust output template for NDD. + (*ashlsi3_1_zext): Likewise. + (*ashlhi3_1): Likewise. + (*ashlqi3_1): Likewise. + (*ashl3_cmp): Likewise. + (*ashlsi3_cmp_zext): Likewise, and use nonimmediate_operand for + operands[1] to accept memory input for NDD alternative. + (*ashl3_cconly): Likewise. + (*ashl3_doubleword_highpart): Adjust codegen for NDD. + +2023-12-07 Kong Lingling + + * config/i386/i386.md (3): Add new alternative for NDD + and adjust output templates. + (*_1): Likewise. + (*qi_1): Likewise. + (*notxor_1): Likewise. + (*si_1_zext): Likewise. + (*notxorqi_1): Likewise. + (*_2): Likewise. + (*si_2_zext): Likewise. + (*si_2_zext_imm): Likewise. + (*si_1_zext_imm): Likewise, and use nonimmediate_operand for + operands[1] to accept memory input for NDD alternative. + (*one_cmplsi2_2_zext): Likewise. + (define_split for *one_cmplsi2_2_zext): Use nonimmediate_operand for + operands[3]. + (*3_doubleword): Add NDD constraints, adopt '&' to NDD dest + and emit move for optimized case if operands[0] != operands[1] or + operands[4] != operands[5]. + (define_split for QI highpart OR/XOR): Prohibit splitter to split NDD + form OR/XOR insn to qi_ext_3. + (define_split for QI strict_lowpart optimization): Prohibit splitter to + split NDD form AND insn to *3_1_slp. + +2023-12-07 Kong Lingling + + * config/i386/i386.md (and3): Add NDD alternatives and adjust + output template. + (*anddi_1): Likewise. + (*and_1): Likewise. + (*andqi_1): Likewise. + (*andsi_1_zext): Likewise. + (*anddi_2): Likewise. + (*andsi_2_zext): Likewise. + (*andqi_2_maybe_si): Likewise. + (*and_2): Likewise. + (*and3_doubleword): Add NDD alternative, adopt '&' to NDD dest and + emit move for optimized case if operands[0] not equal to operands[1]. + (define_split for QI highpart AND): Prohibit splitter to split NDD + form AND insn to qi_ext_3. + (define_split for QI strict_lowpart optimization): Prohibit splitter to + split NDD form AND insn to *3_1_slp. + (define_split for zero_extend and optimization): Prohibit splitter to + split NDD form AND insn to zero_extend insn. + +2023-12-07 Kong Lingling + + * config/i386/i386.md (one_cmpl2): Add new constraints for NDD + and adjust output template. + (*one_cmpl2_1): Likewise. + (*one_cmplqi2_1): Likewise. + (*one_cmpl2_doubleword): Likewise, and adopt '&' to NDD dest. + (*one_cmpl2_2): Likewise. + (*one_cmplsi2_1_zext): Likewise, and use nonimmediate_operand for + operands[1] to accept memory input for NDD alternative. + +2023-12-07 Kong Lingling + + * config/i386/i386-expand.cc (ix86_expand_unary_operator): Add use_ndd + parameter and adjust for NDD. + * config/i386/i386-protos.h: Add use_ndd parameter for + ix86_unary_operator_ok and ix86_expand_unary_operator. + * config/i386/i386.cc (ix86_unary_operator_ok): Add use_ndd parameter + and adjust for NDD. + * config/i386/i386.md (neg2): Add new constraint for NDD and + adjust output template. + (*neg_1): Likewise. + (*neg2_doubleword): Likewise and adopt '&' to NDD dest. + (*neg_2): Likewise. + (*neg_ccc_1): Likewise. + (*neg_ccc_2): Likewise. + (*negsi_1_zext): Likewise, and use nonimmediate_operand for operands[1] + to accept memory input for NDD alternatives. + (*negsi_2_zext): Likewise. + +2023-12-07 Kong Lingling + + * config/i386/i386.md (*sub3_doubleword): Add new alternative for + NDD, adopt '&' modifier to NDD dest and emit move when operands[0] not + equal to operands[1]. + (*sub3_doubleword_zext): Likewise. + (*subv4_doubleword): Likewise. + (*subv4_doubleword_1): Likewise. + (*subv4_overflow_1): Add NDD alternatives and adjust output + templates. + (*subv4_overflow_2): Likewise. + (@sub3_carry): Likewise. + (*addsi3_carry_zext_0r): Likewise, and use nonimmediate_operand for + operands[1] to accept memory input for NDD alternative. + (*subsi3_carry_zext): Likewise. + (subborrow): Parse TARGET_APX_NDD to ix86_binary_operator_ok. + (subborrow_0): Likewise. + (*sub3_eq): Likewise. + (*sub3_ne): Likewise. + (*sub3_eq_1): Likewise. + +2023-12-07 Kong Lingling + + * config/i386/i386-expand.cc (ix86_fixup_binary_operands_no_copy): + Add use_ndd parameter and parse it. + * config/i386/i386-protos.h (ix86_fixup_binary_operands_no_copy): + Change define. + * config/i386/i386.md (sub3): Add new alternatives for NDD + and adjust output templates. + (*sub_1): Likewise. + (*sub_2): Likewise. + (subv4): Likewise. + (*subv4): Likewise. + (subv4_1): Likewise. + (usubv4): Likewise. + (*sub_3): Likewise. + (*subsi_1_zext): Likewise, and use nonimmediate_operand for operands[1] + to accept memory input for NDD alternatives. + (*subsi_2_zext): Likewise. + (*subsi_3_zext): Likewise. + +2023-12-07 Kong Lingling + + * config/i386/i386.md (*add3_doubleword): Add ndd alternatives, + adopt '&' to ndd dest and move operands[1] to operands[0] when they are + not equal. + (*add3_doubleword_cc_overflow_1): Likewise. + (*addv4_doubleword): Likewise. + (*addv4_doubleword_1): Likewise. + (*add3_doubleword_zext): Likewise. + (addv4_overflow_1): Add ndd alternatives. + (*addv4_overflow_2): Likewise. + (@add3_carry): Likewise. + (*add3_carry_0): Likewise. + (*addsi3_carry_zext): Likewise. + (addcarry): Likewise. + (addcarry_0): Likewise. + (*addcarry_1): Likewise. + (*add3_eq): Likewise. + (*add3_ne): Likewise. + (*addsi3_carry_zext_0): Likewise, and use nonimmediate_operand for + operands[1] to accept memory input for NDD alternative. + +2023-12-07 Hongyu Wang + + * config/i386/constraints.md (je): New constraint. + * config/i386/i386-protos.h (x86_poff_operand_p): New function to + check any *POFF constant in operand. + * config/i386/i386.cc (x86_poff_operand_p): New prototype. + * config/i386/i386.md (*add_1): Split out je alternative for add. + +2023-12-07 Kong Lingling + + * config/i386/i386.md: (addsi_1_zext): Add new alternatives for + NDD and adjust output templates. + (*add_2): Likewise. + (*addsi_2_zext): Likewise. + (*add_3): Likewise. + (*addsi_3_zext): Likewise. + (*adddi_4): Likewise. + (*add_4): Likewise. + (*add_5): Likewise. + (*addv4): Likewise. + (*addv4_1): Likewise. + (*add3_cconly_overflow_1): Likewise. + (*add3_cc_overflow_1): Likewise. + (*addsi3_zext_cc_overflow_1): Likewise. + (*add3_cconly_overflow_2): Likewise. + (*add3_cc_overflow_2): Likewise. + (*addsi3_zext_cc_overflow_2): Likewise. + +2023-12-07 Kong Lingling + + * config/i386/i386-expand.cc (ix86_fixup_binary_operands): Add + new use_ndd flag to check whether ndd can be used for this binop + and adjust operand emit. + (ix86_binary_operator_ok): Likewise. + (ix86_expand_binary_operator): Likewise, and void postreload + expand generate lea pattern when use_ndd is explicit parsed. + * config/i386/i386-options.cc (ix86_option_override_internal): + Prohibit apx subfeatures when not in 64bit mode. + * config/i386/i386-protos.h (ix86_binary_operator_ok): + Add use_ndd flag. + (ix86_fixup_binary_operand): Likewise. + (ix86_expand_binary_operand): Likewise. + * config/i386/i386.md (*add_1): Extend with new alternatives + to support NDD, and adjust output template. + (*addhi_1): Likewise. + (*addqi_1): Likewise. + +2023-12-07 David Malcolm + + PR analyzer/103546 + PR analyzer/112850 + * doc/invoke.texi: Add -Wanalyzer-symbol-too-complex. + +2023-12-06 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (extract_single_source): new function. + (pre_vsetvl::compute_lcm_local_properties): Fix ICE. + +2023-12-06 Victor Do Nascimento + + * config/aarch64/aarch64-builtins.cc (AARCH64_RSR128): New + `enum aarch64_builtins' value. + (AARCH64_WSR128): Likewise. + (aarch64_init_rwsr_builtins): Init `__builtin_aarch64_rsr128' + and `__builtin_aarch64_wsr128' builtins. + (aarch64_expand_rwsr_builtin): Extend function to handle + `__builtin_aarch64_{rsr|wsr}128'. + * config/aarch64/aarch64-protos.h (aarch64_retrieve_sysreg): + Update function signature. + * config/aarch64/aarch64.cc (F_REG_128): New. + (aarch64_retrieve_sysreg): Add 128-bit register mode check. + * config/aarch64/aarch64.md (UNSPEC_SYSREG_RTI): New. + (UNSPEC_SYSREG_WTI): Likewise. + (aarch64_read_sysregti): Likewise. + (aarch64_write_sysregti): Likewise. + * config/aarch64/arm_acle.h (__arm_rsr128): New. + (__arm_wsr128): Likewise. + +2023-12-06 Victor Do Nascimento + + * config/aarch64/aarch64-sys-regs.def: Copy from Binutils. + +2023-12-06 Victor Do Nascimento + + * config/aarch64/aarch64-option-extensions.def (gcs): New. + * config/aarch64/aarch64.h (AARCH64_ISA_GCS): New. + (TARGET_THE): Likewise. + * doc/invoke.texi (AArch64 Options): Describe GCS. + +2023-12-06 Victor Do Nascimento + + * config/aarch64/aarch64-c.cc (__ARM_FEATURE_SYSREG128): New. + * config/aarch64/aarch64-arches.def (armv8.9-a): New. + (armv9.4-a): Likewise. + * config/aarch64/aarch64-option-extensions.def (d128): Likewise. + (the): Likewise. + * config/aarch64/aarch64.h (AARCH64_ISA_V9_4A): Likewise. + (AARCH64_ISA_V8_9A): Likewise. + (TARGET_ARMV9_4): Likewise. + (AARCH64_ISA_D128): Likewise. + (AARCH64_ISA_THE): Likewise. + (TARGET_D128): Likewise. + * doc/invoke.texi (AArch64 Options): Document new -march flags + and extensions. + +2023-12-06 Eric Gallager + + * Makefile.in: Remove qmtest-related targets. + +2023-12-06 David Malcolm + + * common.opt (fdiagnostics-json-formatting): New. + * diagnostic-format-json.cc: Add "formatted" boolean + to json_output_format and subclasses, and to the + diagnostic_output_format_init_json_* functions. Use it when + printing JSON. + * diagnostic-format-sarif.cc: Likewise for sarif_builder, + sarif_output_format, and the various + diagnostic_output_format_init_sarif_* functions. + * diagnostic.cc (diagnostic_output_format_init): Add + "json_formatting" boolean and pass on to the various cases. + * diagnostic.h (diagnostic_output_format_init): Add + "json_formatted" param. + (diagnostic_output_format_init_json_stderr): Add "formatted" param + (diagnostic_output_format_init_json_file): Likewise. + (diagnostic_output_format_init_sarif_stderr): Likewise. + (diagnostic_output_format_init_sarif_file): Likewise. + (diagnostic_output_format_init_sarif_stream): Likewise. + * doc/invoke.texi (-fdiagnostics-format=json): Remove discussion + about JSON output needing formatting. + (-fno-diagnostics-json-formatting): Add. + * gcc.cc (driver_handle_option): Use + opts->x_flag_diagnostics_json_formatting. + * gcov.cc (generate_results): Pass "false" for new formatting + option when printing json. + * json.cc (value::dump): Add new "formatted" param. + (object::print): Likewise, using it to add whitespace to format + the JSON output. + (array::print): Likewise. + (float_number::print): Add new "formatted" param. + (integer_number::print): Likewise. + (string::print): Likewise. + (literal::print): Likewise. + (selftest::assert_print_eq): Add "formatted" param. + (ASSERT_PRINT_EQ): Add "FORMATTED" param. + (selftest::test_writing_objects): Test both formatted and + unformatted printing. + (selftest::test_writing_arrays): Likewise. + (selftest::test_writing_float_numbers): Update for new param of + ASSERT_PRINT_EQ. + (selftest::test_writing_integer_numbers): Likewise. + (selftest::test_writing_strings): Likewise. + (selftest::test_writing_literals): Likewise. + (selftest::test_formatting): New. + (selftest::json_cc_tests): Call it. + * json.h (value::print): Add "formatted" param. + (value::dump): Likewise. + (object::print): Likewise. + (array::print): Likewise. + (float_number::print): Likewise. + (integer_number::print): Likewise. + (string::print): Likewise. + (literal::print): Likewise. + * optinfo-emit-json.cc (optrecord_json_writer::write): Pass + "false" for new formatting option when printing json. + (selftest::test_building_json_from_dump_calls): Likewise. + * opts.cc (common_handle_option): Use + opts->x_flag_diagnostics_json_formatting. + +2023-12-06 David Malcolm + + * diagnostic-format-json.cc (on_begin_diagnostic): Convert param + to const reference. + (on_end_diagnostic): Likewise. + (json_output_format::on_end_diagnostic): Likewise. + * diagnostic-format-sarif.cc + (sarif_invocation::add_notification_for_ice): Likewise. + (sarif_result::on_nested_diagnostic): Likewise. + (sarif_ice_notification::sarif_ice_notification): Likewise. + (sarif_builder::end_diagnostic): Likewise. + (sarif_builder::make_result_object): Likewise. + (make_reporting_descriptor_object_for_warning): Likewise. + (sarif_builder::make_locations_arr): Likewise. + (sarif_output_format::on_begin_diagnostic): Likewise. + (sarif_output_format::on_end_diagnostic): Likewise. + * diagnostic.cc (default_diagnostic_starter): Make diagnostic_info + param const. + (default_diagnostic_finalizer): Likewise. + (diagnostic_context::report_diagnostic): Pass diagnostic by + reference to on_{begin,end}_diagnostic. + (diagnostic_text_output_format::on_begin_diagnostic): Convert + param to const reference. + (diagnostic_text_output_format::on_end_diagnostic): Likewise. + * diagnostic.h (diagnostic_starter_fn): Make diagnostic_info param + const. + (diagnostic_finalizer_fn): Likeewise. + (diagnostic_output_format::on_begin_diagnostic): Convert param to + const reference. + (diagnostic_output_format::on_end_diagnostic): Likewise. + (diagnostic_text_output_format::on_begin_diagnostic): Likewise. + (diagnostic_text_output_format::on_end_diagnostic): Likewise. + (default_diagnostic_starter): Make diagnostic_info param const. + (default_diagnostic_finalizer): Likewise. + * langhooks-def.h (lhd_print_error_function): Make diagnostic_info + param const. + * langhooks.cc (lhd_print_error_function): Likewise. + * langhooks.h (lang_hooks::print_error_function): Likewise. + * tree-diagnostic.cc (diagnostic_report_current_function): + Likewise. + (default_tree_diagnostic_starter): Likewise. + (virt_loc_aware_diagnostic_finalizer): Likewise. + * tree-diagnostic.h (diagnostic_report_current_function): + Likewise. + (virt_loc_aware_diagnostic_finalizer): Likewise. + +2023-12-06 Andrew Stubbs + + * config/gcn/gcn-builtins.def (DISPATCH_PTR): New built-in. + * config/gcn/gcn.cc (gcn_init_machine_status): Disable global + addressing. + (gcn_expand_builtin_1): Implement GCN_BUILTIN_DISPATCH_PTR. + +2023-12-06 Juzhe-Zhong + + PR target/112855 + * config/riscv/riscv-vsetvl.cc + (pre_vsetvl::compute_lcm_local_properties): Fix transparant LCM data. + (pre_vsetvl::earliest_fuse_vsetvl_info): Disable earliest fusion for unrelated edge. + +2023-12-06 Marek Polacek + + PR target/112762 + * config/linux.h: Redefine TARGET_FORTIFY_SOURCE_DEFAULT_LEVEL for + glibc only. + +2023-12-06 Victor Do Nascimento + + * config/aarch64/aarch64.cc + (aarch64_test_sysreg_encoding_clashes): New. + (aarch64_run_selftests): add call to + aarch64_test_sysreg_encoding_clashes selftest. + +2023-12-06 Victor Do Nascimento + + * config/aarch64/aarch64-builtins.cc (aarch64_general_check_builtin_call): + New. + * config/aarch64/aarch64-c.cc (aarch64_check_builtin_call): + Add `aarch64_general_check_builtin_call' call. + * config/aarch64/aarch64-protos.h (aarch64_general_check_builtin_call): + New. + +2023-12-06 Victor Do Nascimento + + * config/aarch64/aarch64-builtins.cc (enum aarch64_builtins): + Add enums for new builtins. + (aarch64_init_rwsr_builtins): New. + (aarch64_general_init_builtins): Call aarch64_init_rwsr_builtins. + (aarch64_expand_rwsr_builtin): New. + (aarch64_general_expand_builtin): Call aarch64_general_expand_builtin. + * config/aarch64/aarch64.md (read_sysregdi): New insn_and_split. + (write_sysregdi): Likewise. + * config/aarch64/arm_acle.h (__arm_rsr): New. + (__arm_rsrp): Likewise. + (__arm_rsr64): Likewise. + (__arm_rsrf): Likewise. + (__arm_rsrf64): Likewise. + (__arm_wsr): Likewise. + (__arm_wsrp): Likewise. + (__arm_wsr64): Likewise. + (__arm_wsrf): Likewise. + (__arm_wsrf64): Likewise. + +2023-12-06 Victor Do Nascimento + + * config/aarch64/aarch64-protos.h (aarch64_valid_sysreg_name_p): New. + (aarch64_retrieve_sysreg): Likewise. + * config/aarch64/aarch64.cc (is_implem_def_reg): Likewise. + (aarch64_valid_sysreg_name_p): Likewise. + (aarch64_retrieve_sysreg): Likewise. + (aarch64_register_sysreg): Likewise. + (aarch64_init_sysregs): Likewise. + (aarch64_lookup_sysreg_map): Likewise. + * config/aarch64/predicates.md (aarch64_sysreg_string): New. + +2023-12-06 Victor Do Nascimento + + * config/aarch64/aarch64.cc (sysreg_t): New. + (aarch64_sysregs): Likewise. + (AARCH64_FEATURE): Likewise. + (AARCH64_FEATURES): Likewise. + (AARCH64_NO_FEATURES): Likewise. + * config/aarch64/aarch64.h (AARCH64_ISA_V8A): Add missing + ISA flag. + (AARCH64_ISA_V8_1A): Likewise. + (AARCH64_ISA_V8_7A): Likewise. + (AARCH64_ISA_V8_8A): Likewise. + (AARCH64_NO_FEATURES): Likewise. + (AARCH64_FL_RAS): New ISA flag alias. + (AARCH64_FL_LOR): Likewise. + (AARCH64_FL_PAN): Likewise. + (AARCH64_FL_AMU): Likewise. + (AARCH64_FL_SCXTNUM): Likewise. + (AARCH64_FL_ID_PFR2): Likewise. + (F_DEPRECATED): New. + (F_REG_READ): Likewise. + (F_REG_WRITE): Likewise. + (F_ARCHEXT): Likewise. + (F_REG_ALIAS): Likewise. + +2023-12-06 Victor Do Nascimento + + * config/aarch64/aarch64-sys-regs.def: New. + +2023-12-06 Robin Dapp + + PR target/112854 + PR target/112872 + * config/riscv/autovec.md (vec_initqi): New expander. + +2023-12-06 Jakub Jelinek + + PR rtl-optimization/112760 + * config/i386/i386-passes.def (pass_insert_vzeroupper): Insert + after pass_postreload_cse rather than pass_reload. + * config/i386/i386-features.cc (rest_of_handle_insert_vzeroupper): + Adjust comment for it. + +2023-12-06 Jakub Jelinek + + PR tree-optimization/112809 + * gimple-lower-bitint.cc (bitint_large_huge::lower_mergeable_stmt): For + separate_ext in kind == bitint_prec_huge mode if rem == 0, create for + i == cnt - 1 the loop rather than using size_int (end). + +2023-12-06 Jakub Jelinek + + * gcc.cc (driver_handle_option): Add /* FALLTHROUGH */ comment + between OPT_pie and OPT_r cases. + +2023-12-06 Tobias Burnus + + * tsystem.h (calloc, realloc): Declare when inhibit_libc. + +2023-12-06 Richard Biener + + PR tree-optimization/112843 + * tree-ssa-operands.cc (update_stmt_operands): Do not call + update_stmt from ranger. + * value-query.h (range_query::update_stmt): Remove. + * gimple-range.h (gimple_ranger::update_stmt): Likewise. + * gimple-range.cc (gimple_ranger::update_stmt): Likewise. + +2023-12-06 xuli + + * config/riscv/riscv.md: Remove. + +2023-12-06 Alexandre Oliva + + * Makefile.in (OBJS): Add ipa-strub.o. + (GTFILES): Add ipa-strub.cc. + * builtins.def (BUILT_IN_STACK_ADDRESS): New. + (BUILT_IN___STRUB_ENTER): New. + (BUILT_IN___STRUB_UPDATE): New. + (BUILT_IN___STRUB_LEAVE): New. + * builtins.cc: Include ipa-strub.h. + (STACK_STOPS, STACK_UNSIGNED): Define. + (expand_builtin_stack_address): New. + (expand_builtin_strub_enter): New. + (expand_builtin_strub_update): New. + (expand_builtin_strub_leave): New. + (expand_builtin): Call them. + * common.opt (fstrub=*): New options. + * doc/extend.texi (strub): New type attribute. + (__builtin_stack_address): New function. + (Stack Scrubbing): New section. + * doc/invoke.texi (-fstrub=*): New options. + (-fdump-ipa-*): New passes. + * gengtype-lex.l: Ignore multi-line pp-directives. + * ipa-inline.cc: Include ipa-strub.h. + (can_inline_edge_p): Test strub_inlinable_to_p. + * ipa-split.cc: Include ipa-strub.h. + (execute_split_functions): Test strub_splittable_p. + * ipa-strub.cc, ipa-strub.h: New. + * passes.def: Add strub_mode and strub passes. + * tree-cfg.cc (gimple_verify_flow_info): Note on debug stmts. + * tree-pass.h (make_pass_ipa_strub_mode): Declare. + (make_pass_ipa_strub): Declare. + (make_pass_ipa_function_and_variable_visibility): Fix + formatting. + * tree-ssa-ccp.cc (optimize_stack_restore): Keep restores + before strub leave. + * attribs.cc: Include ipa-strub.h. + (decl_attributes): Support applying attributes to function + type, rather than pointer type, at handler's request. + (comp_type_attributes): Combine strub_comptypes and target + comp_type results. + * doc/tm.texi.in (TARGET_STRUB_USE_DYNAMIC_ARRAY): New. + (TARGET_STRUB_MAY_USE_MEMSET): New. + * doc/tm.texi: Rebuilt. + * cgraph.h (symtab_node::reset): Add preserve_comdat_group + param, with a default. + * cgraphunit.cc (symtab_node::reset): Use it. + +2023-12-05 Juzhe-Zhong + + PR target/112851 + PR target/112852 + * config/riscv/riscv-v.cc (vls_mode_valid_p): Block VLSmodes according + TARGET_MAX_LMUL and BITS_PER_RISCV_VECTOR. + +2023-12-05 David Faust + + PR debug/112849 + * btfout.cc (btf_collect_datasec): Avoid incorrectly creating an + entry in a BTF_KIND_DATASEC record for extern variable decls without + a known section. + +2023-12-05 Jakub Jelinek + + PR target/112606 + * config/rs6000/rs6000.md (copysign3): Change predicate + of the last argument from gpc_reg_operand to any_operand. If + operands[2] is CONST_DOUBLE, emit abs or neg abs depending on + its sign, otherwise if it doesn't satisfy gpc_reg_operand, + force it to REG using copy_to_mode_reg. + +2023-12-05 Richard Sandiford + + * attribs.cc (handle_ignored_attributes_option): Add extra + braces to work around PR 16333 in older compilers. + * config/aarch64/aarch64.cc (aarch64_gnu_attribute_table): Likewise. + (aarch64_arm_attribute_table): Likewise. + * config/arm/arm.cc (arm_gnu_attribute_table): Likewise. + * config/i386/i386-options.cc (ix86_gnu_attribute_table): Likewise. + * config/ia64/ia64.cc (ia64_gnu_attribute_table): Likewise. + * config/rs6000/rs6000.cc (rs6000_gnu_attribute_table): Likewise. + * target-def.h (TARGET_GNU_ATTRIBUTES): Likewise. + * genhooks.cc (emit_init_macros): Likewise, when emitting the + instantiation of TARGET_ATTRIBUTE_TABLE. + * langhooks-def.h (LANG_HOOKS_INITIALIZER): Likewise, when + instantiating LANG_HOOKS_ATTRIBUTE_TABLE. + (LANG_HOOKS_ATTRIBUTE_TABLE): Define to be empty by default. + * target.def (attribute_table): Likewise. + +2023-12-05 Richard Biener + + PR middle-end/112860 + * passes.cc (should_skip_pass_p): Do not skip ISEL. + +2023-12-05 Richard Biener + + PR sanitizer/111736 + * asan.cc (asan_protect_global): Do not protect globals + in non-generic address-space. + +2023-12-05 Richard Biener + + PR ipa/92606 + * ipa-icf.cc (sem_variable::equals_wpa): Compare address-spaces. + +2023-12-05 Richard Biener + + PR middle-end/112830 + * gimplify.cc (gimplify_modify_expr): Avoid turning aggregate + copy of non-generic address-spaces to memcpy. + (gimplify_modify_expr_to_memcpy): Assert we are dealing with + a copy inside the generic address-space. + (gimplify_modify_expr_to_memset): Likewise. + * tree-cfg.cc (verify_gimple_assign_single): Allow + WITH_SIZE_EXPR as part of the RHS of an assignment. + * builtins.cc (get_memory_address): Assert we are dealing + with the generic address-space. + * tree-ssa-dce.cc (ref_may_be_aliased): Handle WITH_SIZE_EXPR. + +2023-12-05 Richard Biener + + PR tree-optimization/109689 + PR tree-optimization/112856 + * cfgloopmanip.h (unloop_loops): Adjust API. + * tree-ssa-loop-ivcanon.cc (unloop_loops): Take edges_to_remove + as parameter. + (canonicalize_induction_variables): Adjust. + (tree_unroll_loops_completely): Likewise. + * tree-ssa-loop-ch.cc (ch_base::copy_headers): Rewrite into + LC SSA if we unlooped some loops and we are in LC SSA. + +2023-12-05 Jakub Jelinek + + PR target/112845 + * config/i386/i386.md (movabsq $(i32 << shift), r64 peephole2): FAIL + if the new immediate is ix86_endbr_immediate_operand. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64.h (TARGET_STREAMING_SME2): New macro. + (P_ALIASES): Likewise. + (REGISTER_NAMES): Add pn aliases of the predicate registers. + (W8_W11_REGNUM_P): New macro. + (W8_W11_REGS): New register class. + (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly. + * config/aarch64/aarch64.cc (aarch64_print_operand): Add support + for %K, which prints a predicate as a counter. Handle tuples of + predicates. + (aarch64_regno_regclass): Handle W8_W11_REGS. + (aarch64_class_max_nregs): Likewise. + * config/aarch64/constraints.md (Uci, Uw2, Uw4): New constraints. + (x, y): Move further up file. + (Uph): Redefine as the high predicate registers, renaming the old + constraint to... + (Uih): ...this. + * config/aarch64/predicates.md (const_0_to_7_operand): New predicate. + (const_0_to_4_step_4_operand, const_0_to_6_step_2_operand): Likewise. + (const_0_to_12_step_4_operand, const_0_to_14_step_2_operand): Likewise. + (aarch64_simd_shift_imm_qi): Use const_0_to_7_operand. + * config/aarch64/iterators.md (VNx16SI_ONLY, VNx8SI_ONLY) + (VNx8DI_ONLY, SVE_FULL_BHSIx2, SVE_FULL_HF, SVE_FULL_SIx2_SDIx4) + (SVE_FULL_BHS, SVE_FULLx24, SVE_DIx24, SVE_BHSx24, SVE_Ix24) + (SVE_Fx24, SVE_SFx24, SME_ZA_BIx24, SME_ZA_BHIx124, SME_ZA_BHIx24) + (SME_ZA_HFx124, SME_ZA_HFx24, SME_ZA_HIx124, SME_ZA_HIx24) + (SME_ZA_SDIx24, SME_ZA_SDFx24): New mode iterators. + (UNSPEC_REVD, UNSPEC_CNTP_C, UNSPEC_PEXT, UNSPEC_PEXTx2): New unspecs. + (UNSPEC_PSEL, UNSPEC_PTRUE_C, UNSPEC_SQRSHR, UNSPEC_SQRSHRN) + (UNSPEC_SQRSHRU, UNSPEC_SQRSHRUN, UNSPEC_UQRSHR, UNSPEC_UQRSHRN) + (UNSPEC_UZP, UNSPEC_UZPQ, UNSPEC_ZIP, UNSPEC_ZIPQ, UNSPEC_BFMLSLB) + (UNSPEC_BFMLSLT, UNSPEC_FCVTN, UNSPEC_FDOT, UNSPEC_SQCVT): Likewise. + (UNSPEC_SQCVTN, UNSPEC_SQCVTU, UNSPEC_SQCVTUN, UNSPEC_UQCVT): Likewise. + (UNSPEC_SME_ADD, UNSPEC_SME_ADD_WRITE, UNSPEC_SME_BMOPA): Likewise. + (UNSPEC_SME_BMOPS, UNSPEC_SME_FADD, UNSPEC_SME_FDOT, UNSPEC_SME_FVDOT) + (UNSPEC_SME_FMLA, UNSPEC_SME_FMLS, UNSPEC_SME_FSUB, UNSPEC_SME_READ) + (UNSPEC_SME_SDOT, UNSPEC_SME_SVDOT, UNSPEC_SME_SMLA, UNSPEC_SME_SMLS) + (UNSPEC_SME_SUB, UNSPEC_SME_SUB_WRITE, UNSPEC_SME_SUDOT): Likewise. + (UNSPEC_SME_SUVDOT, UNSPEC_SME_UDOT, UNSPEC_SME_UVDOT): Likewise. + (UNSPEC_SME_UMLA, UNSPEC_SME_UMLS, UNSPEC_SME_USDOT): Likewise. + (UNSPEC_SME_USVDOT, UNSPEC_SME_WRITE): Likewise. + (Vetype, VNARROW, V2XWIDE, Ventype, V_INT_EQUIV, v_int_equiv) + (VSINGLE, vsingle, b): Add tuple modes. + (v2xwide, za32_offset_range, za64_offset_range, za32_long) + (za32_last_offset, vg_modifier, z_suffix, aligned_operand) + (aligned_fpr): New mode attributes. + (SVE_INT_BINARY_MULTI, SVE_INT_BINARY_SINGLE, SVE_INT_BINARY_MULTI) + (SVE_FP_BINARY_MULTI): New int iterators. + (SVE_BFLOAT_TERNARY_LONG): Add UNSPEC_BFMLSLB and UNSPEC_BFMLSLT. + (SVE_BFLOAT_TERNARY_LONG_LANE): Likewise. + (SVE_WHILE_ORDER, SVE2_INT_SHIFT_IMM_NARROWxN, SVE_QCVTxN) + (SVE2_SFx24_UNARY, SVE2_x24_PERMUTE, SVE2_x24_PERMUTEQ) + (UNSPEC_REVD_ONLY, SME2_INT_MOP, SME2_BMOP, SME_BINARY_SLICE_SDI) + (SME_BINARY_SLICE_SDF, SME_BINARY_WRITE_SLICE_SDI, SME_INT_DOTPROD) + (SME_INT_DOTPROD_LANE, SME_FP_DOTPROD, SME_FP_DOTPROD_LANE) + (SME_INT_TERNARY_SLICE, SME_FP_TERNARY_SLICE, BHSD_BITS) + (LUTI_BITS): New int iterators. + (optab, sve_int_op): Handle the new unspecs. + (sme_int_op, has_16bit_form): New int attributes. + (bits_etype): Handle 64. + * config/aarch64/aarch64.md (UNSPEC_LD1_SVE_COUNT): New unspec. + (UNSPEC_ST1_SVE_COUNT, UNSPEC_LDNT1_SVE_COUNT): Likewise. + (UNSPEC_STNT1_SVE_COUNT): Likewise. + * config/aarch64/atomics.md (cas_short_expected_imm): Use Uhi + rather than Uph for HImode immediates. + * config/aarch64/aarch64-sve.md (@aarch64_ld1) + (@aarch64_ldnt1, @aarch64_st1) + (@aarch64_stnt1): New patterns. + (@aarch64_dot_prod_lane): Extend to... + (@aarch64_dot_prod_lane) + (@aarch64_dot_prod_lane): + ...these new patterns. + (SVE_WHILE_B, SVE_WHILE_B_X2, SVE_WHILE_C): New constants. Add + SVE_WHILE_B to existing while patterns. + * config/aarch64/aarch64-sve2.md (@aarch64_sve_ptrue_c) + (@aarch64_sve_pext, @aarch64_sve_pextx2) + (@aarch64_sve_psel, *aarch64_sve_psel_plus) + (@aarch64_sve_cntp_c, 2) + (3, *3, @aarch64_sve_single_) + (@aarch64_sve_): New patterns. + (@aarch64_sve_single_, @aarch64_sve_clamp) + (*aarch64_sve_clamp_x, @aarch64_sve_clamp_single) + (@aarch64_sve_fclamp, *aarch64_sve_fclamp_x) + (@aarch64_sve_fclamp_single, 2) + (@aarch64_sve_dotvnx4sivnx8hi): New patterns. + (@aarch64_sve_): Likewise. + (*aarch64_sve_): Likewise. + (@aarch64_sve_single_): Likewise. + (aarch64_sve_fdotvnx4sfvnx8hf): Likewise. + (aarch64_fdot_prod_lanevnx4sfvnx8hf): Likewise. + (@aarch64_sve_): Likewise. + (@aarch64_sve_): Likewise. + (@aarch64_sve_): Likewise. + (truncvnx8sf2, @aarch64_sve_cvtn): Likewise. + (2, 2): Likewise. + (@aarch64_sve_sel): Likewise. + (@aarch64_sve_while_b_x2): Likewise. + (@aarch64_sve_while_c): Likewise. + (@aarch64_pred_, @cond_): Likewise. + (@aarch64_sve_): Likewise. + * config/aarch64/aarch64-sme.md (@aarch64_sme_) + (*aarch64_sme__plus, @aarch64_sme_read) + (*aarch64_sme_read_plus, @aarch64_sme_write): New patterns. + (*aarch64_sme_write_plus aarch64_sme_zero_zt0): Likewise. + (@aarch64_sme_, *aarch64_sme__plus) + (@aarch64_sme_single_): Likewise. + (*aarch64_sme_single__plus): Likewise. + (@aarch64_sme_) + (*aarch64_sme__plus) + (@aarch64_sme_single_) + (*aarch64_sme_single__plus) + (@aarch64_sme_single_sudot) + (*aarch64_sme_single_sudot_plus) + (@aarch64_sme_lane_) + (*aarch64_sme_lane__plus) + (@aarch64_sme_) + (*aarch64_sme__plus) + (@aarch64_sme_) + (*aarch64_sme__plus) + (@aarch64_sme_single_) + (*aarch64_sme_single__plus) + (@aarch64_sme_lane_) + (*aarch64_sme_lane_) + (@aarch64_sme_) + (*aarch64_sme__plus) + (@aarch64_sme_) + (*aarch64_sme__plus) + (@aarch64_sme_single_) + (*aarch64_sme_single__plus) + (@aarch64_sme_lane_) + (*aarch64_sme_lane_) + (@aarch64_sme_) + (@aarch64_sme_) + (@aarch64_sme_) + (*aarch64_sme__plus) + (@aarch64_sme_single_) + (*aarch64_sme_single__plus) + (@aarch64_sme_lane_) + (*aarch64_sme_lane__plus) + (@aarch64_sme_) + (*aarch64_sme__plus) + (@aarch64_sme_single_) + (*aarch64_sme_single__plus) + (@aarch64_sme_lane_) + (*aarch64_sme_lane_) + (@aarch64_sme_) + (*aarch64_sme__plus) + (@aarch64_sme_lane_) + (*aarch64_sme_lane_) + (@aarch64_sme_lut): Likewise. + (UNSPEC_SME_LUTI): New unspec. + * config/aarch64/aarch64-sve-builtins.def (single): New mode suffix. + (c8, c16, c32, c64): New type suffixes. + (vg1x2, vg1x4, vg2, vg2x1, vg2x2, vg2x4, vg4, vg4x1, vg4x2) + (vg4x4): New group suffixes. + * config/aarch64/aarch64-sve-builtins.h (CP_READ_ZT0) + (CP_WRITE_ZT0): New constants. + (get_svbool_t): Delete. + (function_resolver::report_mismatched_num_vectors): New member + function. + (function_resolver::resolve_conversion): Likewise. + (function_resolver::infer_predicate_type): Likewise. + (function_resolver::infer_64bit_scalar_integer_pair): Likewise. + (function_resolver::require_matching_predicate_type): Likewise. + (function_resolver::require_nonscalar_type): Likewise. + (function_resolver::finish_opt_single_resolution): Likewise. + (function_resolver::require_derived_vector_type): Add an + expected_num_vectors parameter. + (function_expander::map_to_rtx_codes): Add an extra parameter + for unconditional FP unspecs. + (function_instance::gp_type_index): New member function. + (function_instance::gp_type): Likewise. + (function_instance::gp_mode): Handle multi-vector operations. + * config/aarch64/aarch64-sve-builtins.cc (TYPES_all_count) + (TYPES_all_pred_count, TYPES_c, TYPES_bhs_data, TYPES_bhs_widen) + (TYPES_hs_data, TYPES_cvt_h_s_float, TYPES_cvt_s_s, TYPES_qcvt_x2) + (TYPES_qcvt_x4, TYPES_qrshr_x2, TYPES_qrshru_x2, TYPES_qrshr_x4) + (TYPES_qrshru_x4, TYPES_while_x, TYPES_while_x_c, TYPES_s_narrow_fsu) + (TYPES_za_s_b_signed, TYPES_za_s_b_unsigned, TYPES_za_s_b_integer) + (TYPES_za_s_h_integer, TYPES_za_s_h_data, TYPES_za_s_unsigned) + (TYPES_za_s_float, TYPES_za_s_data, TYPES_za_d_h_integer): New type + macros. + (groups_x2, groups_x12, groups_x4, groups_x24, groups_x124) + (groups_vg1x2, groups_vg1x4, groups_vg1x24, groups_vg2, groups_vg4) + (groups_vg24): New group arrays. + (function_instance::reads_global_state_p): Handle CP_READ_ZT0. + (function_instance::modifies_global_state_p): Handle CP_WRITE_ZT0. + (add_shared_state_attribute): Handle zt0 state. + (function_builder::add_overloaded_functions): Skip MODE_single + for non-tuple groups. + (function_resolver::report_mismatched_num_vectors): New function. + (function_resolver::resolve_to): Add a fallback error message for + the general two-type case. + (function_resolver::resolve_conversion): New function. + (function_resolver::infer_predicate_type): Likewise. + (function_resolver::infer_64bit_scalar_integer_pair): Likewise. + (function_resolver::require_matching_predicate_type): Likewise. + (function_resolver::require_matching_vector_type): Specifically + diagnose mismatched vector counts. + (function_resolver::require_derived_vector_type): Add an + expected_num_vectors parameter. Extend to handle cases where + tuples are expected. + (function_resolver::require_nonscalar_type): New function. + (function_resolver::check_gp_argument): Use gp_type_index rather + than hard-coding VECTOR_TYPE_svbool_t. + (function_resolver::finish_opt_single_resolution): New function. + (function_checker::require_immediate_either_or): Remove hard-coded + constants. + (function_expander::direct_optab_handler): New function. + (function_expander::use_pred_x_insn): Only add a strictness flag + is the insn has an operand for it. + (function_expander::map_to_rtx_codes): Take an unconditional + FP unspec as an extra parameter. Handle tuples and MODE_single. + (function_expander::map_to_unspecs): Handle tuples and MODE_single. + * config/aarch64/aarch64-sve-builtins-functions.h (read_zt0) + (write_zt0): New typedefs. + (full_width_access::memory_vector): Use the function's + vectors_per_tuple. + (rtx_code_function_base): Add an optional unconditional FP unspec. + (rtx_code_function::expand): Update accordingly. + (rtx_code_function_rotated::expand): Likewise. + (unspec_based_function_exact_insn::expand): Use tuple_mode instead + of vector_mode. + (unspec_based_uncond_function): New typedef. + (cond_or_uncond_unspec_function): New class. + (sme_1mode_function::expand): Handle single forms. + (sme_2mode_function_t): Likewise, adding a template parameter for them. + (sme_2mode_function): Update accordingly. + (sme_2mode_lane_function): New typedef. + (multireg_permute): New class. + (class integer_conversion): Likewise. + (while_comparison::expand): Handle svcount_t and svboolx2_t results. + * config/aarch64/aarch64-sve-builtins-shapes.h + (binary_int_opt_single_n, binary_opt_single_n, binary_single) + (binary_za_slice_lane, binary_za_slice_int_opt_single) + (binary_za_slice_opt_single, binary_za_slice_uint_opt_single) + (binaryx, clamp, compare_scalar_count, count_pred_c) + (dot_za_slice_int_lane, dot_za_slice_lane, dot_za_slice_uint_lane) + (extract_pred, inherent_zt, ldr_zt, read_za, read_za_slice) + (select_pred, shift_right_imm_narrowxn, storexn, str_zt) + (unary_convertxn, unary_za_slice, unaryxn, write_za) + (write_za_slice): Declare. + * config/aarch64/aarch64-sve-builtins-shapes.cc + (za_group_is_pure_overload): New function. + (apply_predication): Use the function's gp_type for the predicate, + instead of hard-coding the use of svbool_t. + (parse_element_type): Add support for "c" (svcount_t). + (parse_type): Add support for "c0" and "c1" (conversion destination + and source types). + (binary_za_slice_lane_base): New class. + (binary_za_slice_opt_single_base): Likewise. + (load_contiguous_base::resolve): Pass the group suffix to r.resolve. + (luti_lane_zt_base): New class. + (binary_int_opt_single_n, binary_opt_single_n, binary_single) + (binary_za_slice_lane, binary_za_slice_int_opt_single) + (binary_za_slice_opt_single, binary_za_slice_uint_opt_single) + (binaryx, clamp): New shapes. + (compare_scalar_def::build): Allow the return type to be a tuple. + (compare_scalar_def::expand): Pass the group suffix to r.resolve. + (compare_scalar_count, count_pred_c, dot_za_slice_int_lane) + (dot_za_slice_lane, dot_za_slice_uint_lane, extract_pred, inherent_zt) + (ldr_zt, read_za, read_za_slice, select_pred, shift_right_imm_narrowxn) + (storexn, str_zt): New shapes. + (ternary_qq_lane_def, ternary_qq_opt_n_def): Replace with... + (ternary_qq_or_011_lane_def, ternary_qq_opt_n_or_011_def): ...these + new classes. Allow a second suffix that specifies the type of the + second vector argument, and that is used to derive the third. + (unary_def::build): Extend to handle tuple types. + (unary_convert_def::build): Use the new c0 and c1 format specifiers. + (unary_convertxn, unary_za_slice, unaryxn, write_za): New shapes. + (write_za_slice): Likewise. + * config/aarch64/aarch64-sve-builtins-base.cc (svbic_impl::expand) + (svext_bhw_impl::expand): Update call to map_to_rtx_costs. + (svcntp_impl::expand): Handle svcount_t variants. + (svcvt_impl::expand): Handle unpredicated conversions separately, + dealing with tuples. + (svdot_impl::expand): Handle 2-way dot products. + (svdotprod_lane_impl::expand): Likewise. + (svld1_impl::fold): Punt on tuple loads. + (svld1_impl::expand): Handle tuple loads. + (svldnt1_impl::expand): Likewise. + (svpfalse_impl::fold): Punt on svcount_t forms. + (svptrue_impl::fold): Likewise. + (svptrue_impl::expand): Handle svcount_t forms. + (svrint_impl): New class. + (svsel_impl::fold): Punt on tuple forms. + (svsel_impl::expand): Handle tuple forms. + (svst1_impl::fold): Punt on tuple loads. + (svst1_impl::expand): Handle tuple loads. + (svstnt1_impl::expand): Likewise. + (svwhilelx_impl::fold): Punt on tuple forms. + (svdot_lane): Use UNSPEC_FDOT. + (svmax, svmaxnm, svmin, svminmm): Add unconditional FP unspecs. + (rinta, rinti, rintm, rintn, rintp, rintx, rintz): Use svrint_impl. + * config/aarch64/aarch64-sve-builtins-base.def (svcreate2, svget2) + (svset2, svundef2): Add _b variants. + (svcvt): Use unary_convertxn. + (svdot): Use ternary_qq_opt_n_or_011. + (svdot_lane): Use ternary_qq_or_011_lane. + (svmax, svmaxnm, svmin, svminnm): Use binary_opt_single_n. + (svpfalse): Add a form that returns svcount_t results. + (svrinta, svrintm, svrintn, svrintp): Use unaryxn. + (svsel): Use binaryxn. + (svst1, svstnt1): Use storexn. + * config/aarch64/aarch64-sve-builtins-sme.h + (svadd_za, svadd_write_za, svbmopa_za, svbmops_za, svdot_za) + (svdot_lane_za, svldr_zt, svluti2_lane_zt, svluti4_lane_zt) + (svmla_za, svmla_lane_za, svmls_za, svmls_lane_za, svread_za) + (svstr_zt, svsub_za, svsub_write_za, svsudot_za, svsudot_lane_za) + (svsuvdot_lane_za, svusdot_za, svusdot_lane_za, svusvdot_lane_za) + (svvdot_lane_za, svwrite_za, svzero_zt): Declare. + * config/aarch64/aarch64-sve-builtins-sme.cc (load_store_za_base): + Rename to... + (load_store_za_zt0_base): ...this and extend to tuples. + (load_za_base, store_za_base): Update accordingly. + (expand_ldr_str_zt0): New function. + (svldr_zt_impl, svluti_lane_zt_impl, svread_za_impl, svstr_zt_impl) + (svsudot_za_impl, svwrite_za_impl, svzero_zt_impl): New classes. + (svadd_za, svadd_write_za, svbmopa_za, svbmops_za, svdot_za) + (svdot_lane_za, svldr_zt, svluti2_lane_zt, svluti4_lane_zt) + (svmla_za, svmla_lane_za, svmls_za, svmls_lane_za, svread_za) + (svstr_zt, svsub_za, svsub_write_za, svsudot_za, svsudot_lane_za) + (svsuvdot_lane_za, svusdot_za, svusdot_lane_za, svusvdot_lane_za) + (svvdot_lane_za, svwrite_za, svzero_zt): New functions. + * config/aarch64/aarch64-sve-builtins-sme.def: Add SME2 intrinsics. + * config/aarch64/aarch64-sve-builtins-sve2.h + (svbfmlslb, svbfmlslb_lane, svbfmlslt, svbfmlslt_lane, svclamp) + (svcvtn, svpext, svpsel, svqcvt, svqcvtn, svqrshr, svqrshrn) + (svqrshru, svqrshrun, svrevd, svunpk, svuzp, svuzpq, svzip) + (svzipq): Declare. + * config/aarch64/aarch64-sve-builtins-sve2.cc (svclamp_impl) + (svcvtn_impl, svpext_impl, svpsel_impl): New classes. + (svqrshl_impl::fold): Update for change to svrshl shape. + (svrshl_impl::fold): Punt on tuple forms. + (svsqadd_impl::expand): Update call to map_to_rtx_codes. + (svunpk_impl): New class. + (svbfmlslb, svbfmlslb_lane, svbfmlslt, svbfmlslt_lane, svclamp) + (svcvtn, svpext, svpsel, svqcvt, svqcvtn, svqrshr, svqrshrn) + (svqrshru, svqrshrun, svrevd, svunpk, svuzp, svuzpq, svzip) + (svzipq): New functions. + * config/aarch64/aarch64-sve-builtins-sve2.def: Add SME2 intrinsics. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define + or undefine __ARM_FEATURE_SME2. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64.md (ZT0_REGNUM): New constant. + (LAST_FAKE_REGNUM): Bump to include it. + * config/aarch64/aarch64.h (FIXED_REGISTERS): Add an entry for ZT0. + (CALL_REALLY_USED_REGISTERS, REGISTER_NAMES): Likewise. + (REG_CLASS_CONTENTS): Likewise. + (machine_function): Add zt0_save_buffer. + (CUMULATIVE_ARGS): Add shared_zt0_flags; + * config/aarch64/aarch64.cc (aarch64_check_state_string): Handle zt0. + (aarch64_fntype_pstate_za, aarch64_fndecl_pstate_za): Likewise. + (aarch64_function_arg): Add the shared ZT0 flags as an extra + limb of the parallel. + (aarch64_init_cumulative_args): Initialize shared_zt0_flags. + (aarch64_extra_live_on_entry): Handle ZT0_REGNUM. + (aarch64_epilogue_uses): Likewise. + (aarch64_get_zt0_save_buffer, aarch64_save_zt0): New functions. + (aarch64_restore_zt0): Likewise. + (aarch64_start_call_args): Reject calls to functions that share + ZT0 from functions that have no ZT0 state. Save ZT0 around shared-ZA + calls that do not share ZT0. + (aarch64_expand_call): Handle ZT0. Reject calls to functions that + share ZT0 but not ZA from functions with ZA state. + (aarch64_end_call_args): Restore ZT0 after calls to shared-ZA functions + that do not share ZT0. + (aarch64_set_current_function): Require +sme2 for functions that + have ZT0 state. + (aarch64_function_attribute_inlinable_p): Don't allow functions to + be inlined if they have local zt0 state. + (AARCH64_IPA_CLOBBERS_ZT0): New constant. + (aarch64_update_ipa_fn_target_info): Record asms that clobber ZT0. + (aarch64_can_inline_p): Don't inline callees that clobber ZT0 + into functions that have ZT0 state. + (aarch64_comp_type_attributes): Check for compatible ZT0 sharing. + (aarch64_optimize_mode_switching): Use mode switching if the + function has ZT0 state. + (aarch64_mode_emit_local_sme_state): Save and restore ZT0 around + calls to private-ZA functions. + (aarch64_mode_needed_local_sme_state): Require ZA to be active + for instructions that access ZT0. + (aarch64_mode_entry): Mark ZA as dead on entry if the function + only shares state other than "za" itself. + (aarch64_mode_exit): Likewise mark ZA as dead on return. + (aarch64_md_asm_adjust): Extend handling of ZA clobbers to ZT0. + * config/aarch64/aarch64-c.cc (aarch64_define_unconditional_macros): + Define __ARM_STATE_ZT0. + * config/aarch64/aarch64-sme.md (UNSPECV_ASM_UPDATE_ZT0): New unspecv. + (aarch64_asm_update_zt0): New insn. + (UNSPEC_RESTORE_ZT0): New unspec. + (aarch64_sme_ldr_zt0, aarch64_restore_zt0): New insns. + (aarch64_sme_str_zt0): Likewise. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-modes.def (VNx32BI): New mode. + * config/aarch64/aarch64-protos.h (aarch64_split_double_move): Declare. + * config/aarch64/aarch64-sve-builtins.cc + (register_tuple_type): Handle tuples of predicates. + (handle_arm_sve_h): Define svboolx2_t as a pair of two svbool_ts. + * config/aarch64/aarch64-sve.md (movvnx32bi): New insn. + * config/aarch64/aarch64.cc + (pure_scalable_type_info::piece::get_rtx): Use VNx32BI for pairs + of predicates. + (pure_scalable_type_info::add_piece): Don't try to form pairs of + predicates. + (VEC_STRUCT): Generalize comment. + (aarch64_classify_vector_mode): Handle VNx32BI. + (aarch64_array_mode): Likewise. Return BLKmode for arrays of + predicates that have no associated mode, rather than allowing + an integer mode to be chosen. + (aarch64_hard_regno_nregs): Handle VNx32BI. + (aarch64_hard_regno_mode_ok): Likewise. + (aarch64_split_double_move): New function, split out from... + (aarch64_split_128bit_move): ...here. + (aarch64_ptrue_reg): Tighten assert to aarch64_sve_pred_mode_p. + (aarch64_pfalse_reg): Likewise. + (aarch64_sve_same_pred_for_ptest_p): Likewise. + (aarch64_sme_mode_switch_regs::add_reg): Handle VNx32BI. + (aarch64_expand_mov_immediate): Restrict handling of boolean vector + constants to single-predicate modes. + (aarch64_classify_address): Handle VNx32BI, ensuring that both halves + can be addressed. + (aarch64_class_max_nregs): Handle VNx32BI. + (aarch64_member_type_forces_blk): Don't for BLKmode for svboolx2_t. + (aarch64_simd_valid_immediate): Allow all-zeros and all-ones for + VNx32BI. + (aarch64_mov_operand_p): Restrict predicate constant canonicalization + to single-predicate modes. + (aarch64_evpc_ext): Generalize exclusion to all predicate modes. + (aarch64_evpc_rev_local, aarch64_evpc_dup): Likewise. + * config/aarch64/constraints.md (PR_REGS): New predicate. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins-base.cc + (svreinterpret_impl::fold): Handle reinterprets between svbool_t + and svcount_t. + (svreinterpret_impl::expand): Likewise. + * config/aarch64/aarch64-sve-builtins-base.def (svreinterpret): Add + b<->c forms. + * config/aarch64/aarch64-sve-builtins.cc (TYPES_reinterpret_b): New + type suffix list. + (wrap_type_in_struct, register_type_decl): New functions, split out + from... + (register_tuple_type): ...here. + (register_builtin_types): Handle svcount_t. + (handle_arm_sve_h): Don't create tuples of svcount_t. + * config/aarch64/aarch64-sve-builtins.def (svcount_t): New type. + (c): New type suffix. + * config/aarch64/aarch64-sve-builtins.h (TYPE_count): New type class. + +2023-12-05 Richard Sandiford + + * doc/invoke.texi: Document +sme2. + * doc/sourcebuild.texi: Document aarch64_sme2. + * config/aarch64/aarch64-option-extensions.def (AARCH64_OPT_EXTENSION): + Add sme2. + * config/aarch64/aarch64.h (AARCH64_ISA_SME2, TARGET_SME2): New macros. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_function_ok_for_sibcall): + Enforce PSTATE.SM and PSTATE.ZA restrictions. + (aarch64_expand_epilogue): Save and restore the arguments + to a sibcall around any change to PSTATE.SM. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64.cc: Include symbol-summary.h, ipa-prop.h, + and ipa-fnsummary.h + (aarch64_function_attribute_inlinable_p): New function. + (AARCH64_IPA_SM_FIXED, AARCH64_IPA_CLOBBERS_ZA): New constants. + (aarch64_need_ipa_fn_target_info): New function. + (aarch64_update_ipa_fn_target_info): Likewise. + (aarch64_can_inline_p): Restrict the previous ISA flag checks + to non-modal features. Prevent callees that require a particular + PSTATE.SM state from being inlined into callers that can't guarantee + that state. Also prevent callees that have ZA state from being + inlined into callers that don't. Finally, prevent callees that + clobber ZA from being inlined into callers that have ZA state. + (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Define. + (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise. + (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64.cc: Include except.h + (aarch64_sme_mode_switch_regs::add_call_preserved_reg): New function. + (aarch64_sme_mode_switch_regs::add_call_preserved_regs): Likewise. + (aarch64_need_old_pstate_sm): Return true if the function has + a nonlocal-goto or exception receiver. + (aarch64_switch_pstate_sm_for_landing_pad): New function. + (aarch64_switch_pstate_sm_for_jump): Likewise. + (pass_switch_pstate_sm::gate): Enable the pass for all + streaming and streaming-compatible functions. + (pass_switch_pstate_sm::execute): Handle non-local gotos and their + receivers. Handle exception handler entry points. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_arm_attribute_table): Add + arm::locally_streaming. + (aarch64_fndecl_is_locally_streaming): New function. + (aarch64_fndecl_sm_state): Handle locally-streaming functions. + (aarch64_cfun_enables_pstate_sm): New function. + (aarch64_add_offset): Add an argument that specifies whether + the streaming vector length should be used instead of the + prevailing one. + (aarch64_split_add_offset, aarch64_add_sp, aarch64_sub_sp): Likewise. + (aarch64_allocate_and_probe_stack_space): Likewise. + (aarch64_expand_mov_immediate): Update calls accordingly. + (aarch64_need_old_pstate_sm): Return true for locally-streaming + streaming-compatible functions. + (aarch64_layout_frame): Force all call-preserved Z and P registers + to be saved and restored if the function switches PSTATE.SM in the + prologue. + (aarch64_get_separate_components): Disable shrink-wrapping of + such Z and P saves and restores. + (aarch64_use_late_prologue_epilogue): New function. + (aarch64_expand_prologue): Measure SVE lengths in the streaming + vector length for locally-streaming functions, then emit code + to enable streaming mode. + (aarch64_expand_epilogue): Likewise in reverse. + (TARGET_USE_LATE_PROLOGUE_EPILOGUE): Define. + * config/aarch64/aarch64-c.cc (aarch64_define_unconditional_macros): + Define __arm_locally_streaming. + +2023-12-05 Richard Sandiford + + * doc/invoke.texi: Document +sme-i16i64 and +sme-f64f64. + * config.gcc (aarch64*-*-*): Add arm_sme.h to the list of headers + to install and aarch64-sve-builtins-sme.o to the list of objects + to build. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define + or undefine TARGET_SME, TARGET_SME_I16I64 and TARGET_SME_F64F64. + (aarch64_pragma_aarch64): Handle arm_sme.h. + * config/aarch64/aarch64-option-extensions.def (sme-i16i64) + (sme-f64f64): New extensions. + * config/aarch64/aarch64-protos.h (aarch64_sme_vq_immediate) + (aarch64_addsvl_addspl_immediate_p, aarch64_output_addsvl_addspl) + (aarch64_output_sme_zero_za): Declare. + (aarch64_output_move_struct): Delete. + (aarch64_sme_ldr_vnum_offset): Declare. + (aarch64_sve::handle_arm_sme_h): Likewise. + * config/aarch64/aarch64.h (AARCH64_ISA_SM_ON): New macro. + (AARCH64_ISA_SME_I16I64, AARCH64_ISA_SME_F64F64): Likewise. + (TARGET_STREAMING, TARGET_STREAMING_SME): Likewise. + (TARGET_SME_I16I64, TARGET_SME_F64F64): Likewise. + * config/aarch64/aarch64.cc (aarch64_sve_rdvl_factor_p): Rename to... + (aarch64_sve_rdvl_addvl_factor_p): ...this. + (aarch64_sve_rdvl_immediate_p): Update accordingly. + (aarch64_rdsvl_immediate_p, aarch64_add_offset): Likewise. + (aarch64_sme_vq_immediate): Likewise. Make public. + (aarch64_sve_addpl_factor_p): New function. + (aarch64_sve_addvl_addpl_immediate_p): Use + aarch64_sve_rdvl_addvl_factor_p and aarch64_sve_addpl_factor_p. + (aarch64_addsvl_addspl_immediate_p): New function. + (aarch64_output_addsvl_addspl): Likewise. + (aarch64_cannot_force_const_mem): Return true for RDSVL immediates. + (aarch64_classify_index): Handle .Q scaling for VNx1TImode. + (aarch64_classify_address): Likewise for vnum offsets. + (aarch64_output_sme_zero_za): New function. + (aarch64_sme_ldr_vnum_offset_p): Likewise. + * config/aarch64/predicates.md (aarch64_addsvl_addspl_immediate): + New predicate. + (aarch64_pluslong_operand): Include it for SME. + * config/aarch64/constraints.md (Ucj, Uav): New constraints. + * config/aarch64/iterators.md (VNx1TI_ONLY): New mode iterator. + (SME_ZA_I, SME_ZA_SDI, SME_ZA_SDF_I, SME_MOP_BHI): Likewise. + (SME_MOP_HSDF): Likewise. + (UNSPEC_SME_ADDHA, UNSPEC_SME_ADDVA, UNSPEC_SME_FMOPA) + (UNSPEC_SME_FMOPS, UNSPEC_SME_LD1_HOR, UNSPEC_SME_LD1_VER) + (UNSPEC_SME_READ_HOR, UNSPEC_SME_READ_VER, UNSPEC_SME_SMOPA) + (UNSPEC_SME_SMOPS, UNSPEC_SME_ST1_HOR, UNSPEC_SME_ST1_VER) + (UNSPEC_SME_SUMOPA, UNSPEC_SME_SUMOPS, UNSPEC_SME_UMOPA) + (UNSPEC_SME_UMOPS, UNSPEC_SME_USMOPA, UNSPEC_SME_USMOPS) + (UNSPEC_SME_WRITE_HOR, UNSPEC_SME_WRITE_VER): New unspecs. + (elem_bits): Handle x2 and x4 structure modes, plus VNx1TI. + (Vetype, Vesize, VPRED): Handle VNx1TI. + (b): New mode attribute. + (SME_LD1, SME_READ, SME_ST1, SME_WRITE, SME_BINARY_SDI, SME_INT_MOP) + (SME_FP_MOP): New int iterators. + (optab): Handle SME unspecs. + (hv): New int attribute. + * config/aarch64/aarch64.md (*add3_aarch64): Handle ADDSVL + and ADDSPL. + * config/aarch64/aarch64-sme.md (UNSPEC_SME_LDR): New unspec. + (@aarch64_sme_, @aarch64_sme__plus) + (aarch64_sme_ldr0, @aarch64_sme_ldrn): New patterns. + (UNSPEC_SME_STR): New unspec. + (@aarch64_sme_, @aarch64_sme__plus) + (aarch64_sme_str0, @aarch64_sme_strn): New patterns. + (@aarch64_sme_): Likewise. + (*aarch64_sme__plus): Likewise. + (@aarch64_sme_): Likewise. + (@aarch64_sme_): Likewise. + (*aarch64_sme__plus): Likewise. + (@aarch64_sme_): Likewise. + (UNSPEC_SME_ZERO): New unspec. + (aarch64_sme_zero): New pattern. + (@aarch64_sme_): Likewise. + (@aarch64_sme_): Likewise. + (@aarch64_sme_): Likewise. + * config/aarch64/aarch64-sve-builtins.def: Add ZA type suffixes. + Include aarch64-sve-builtins-sme.def. + (DEF_SME_ZA_FUNCTION): New macro. + * config/aarch64/aarch64-sve-builtins.h (CP_READ_ZA): New call + property. + (CP_WRITE_ZA): Likewise. + (PRED_za_m): New predication type. + (type_suffix_index): Handle DEF_SME_ZA_SUFFIX. + (type_suffix_info): Add vector_p and za_p fields. + (function_instance::num_za_tiles): New member function. + (function_builder::get_attributes): Add an aarch64_feature_flags + argument. + (function_expander::get_contiguous_base): Take a base argument + number, a vnum argument number, and an argument that indicates + whether the vnum parameter is a factor of the SME vector length + or the prevailing vector length. + (function_expander::add_integer_operand): Take a poly_int64. + (sve_switcher::sve_switcher): Take a base set of flags. + (sme_switcher): New class. + (scalar_types): Add a null entry for NUM_VECTOR_TYPES. + * config/aarch64/aarch64-sve-builtins.cc: Include + aarch64-sve-builtins-sme.h. + (pred_suffixes): Add an entry for PRED_za_m. + (type_suffixes): Initialize vector_p and za_p. Handle ZA suffixes. + (TYPES_all_za, TYPES_d_za, TYPES_za_bhsd_data, TYPES_za_all_data) + (TYPES_za_s_integer, TYPES_za_d_integer, TYPES_mop_base) + (TYPES_mop_base_signed, TYPES_mop_base_unsigned, TYPES_mop_i16i64) + (TYPES_mop_i16i64_signed, TYPES_mop_i16i64_unsigned, TYPES_za): New + type suffix macros. + (preds_m, preds_za_m): New predication lists. + (function_groups): Handle DEF_SME_ZA_FUNCTION. + (scalar_types): Add an entry for NUM_VECTOR_TYPES. + (find_type_suffix_for_scalar_type): Check positively for vectors + rather than negatively for predicates. + (check_required_extensions): Handle PSTATE.SM and PSTATE.ZA + requirements. + (report_out_of_range): Handle the case where the minimum and + maximum are the same. + (function_instance::reads_global_state_p): Return true for functions + that read ZA. + (function_instance::modifies_global_state_p): Return true for functions + that write to ZA. + (sve_switcher::sve_switcher): Add a base flags argument. + (function_builder::get_name): Handle "__arm_" prefixes. + (add_attribute): Add an overload that takes a namespaces. + (add_shared_state_attribute): New function. + (function_builder::get_attributes): Take the required feature flags + as argument. Add streaming and ZA attributes where appropriate. + (function_builder::add_unique_function): Update calls accordingly. + (function_resolver::check_gp_argument): Assert that the predication + isn't ZA _m predication. + (function_checker::function_checker): Don't bias the argument + number for ZA _m predication. + (function_expander::get_contiguous_base): Add arguments that + specify the base argument number, the vnum argument number, + and an argument that indicates whether the vnum parameter is + a factor of the SME vector length or the prevailing vector length. + Handle the SME case. + (function_expander::add_input_operand): Handle pmode_register_operand. + (function_expander::add_integer_operand): Take a poly_int64. + (init_builtins): Call handle_arm_sme_h for LTO. + (handle_arm_sve_h): Skip SME intrinsics. + (handle_arm_sme_h): New function. + * config/aarch64/aarch64-sve-builtins-functions.h + (read_write_za, write_za): New classes. + (unspec_based_sme_function, za_arith_function): New using aliases. + (quiet_za_arith_function): Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.h + (binary_za_int_m, binary_za_m, binary_za_uint_m, bool_inherent) + (inherent_za, inherent_mask_za, ldr_za, load_za, read_za_m, store_za) + (str_za, unary_za_m, write_za_m): Declare. + * config/aarch64/aarch64-sve-builtins-shapes.cc (apply_predication): + Expect za_m functions to have an existing governing predicate. + (binary_za_m_base, binary_za_int_m_def, binary_za_m_def): New classes. + (binary_za_uint_m_def, bool_inherent_def, inherent_za_def): Likewise. + (inherent_mask_za_def, ldr_za_def, load_za_def, read_za_m_def) + (store_za_def, str_za_def, unary_za_m_def, write_za_m_def): Likewise. + * config/aarch64/arm_sme.h: New file. + * config/aarch64/aarch64-sve-builtins-sme.h: Likewise. + * config/aarch64/aarch64-sve-builtins-sme.cc: Likewise. + * config/aarch64/aarch64-sve-builtins-sme.def: Likewise. + * config/aarch64/t-aarch64 (aarch64-sve-builtins.o): Depend on + aarch64-sve-builtins-sme.def and aarch64-sve-builtins-sme.h. + (aarch64-sve-builtins-sme.o): New rule. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins.h + (function_shape::has_merge_argument_p): New member function. + * config/aarch64/aarch64-sve-builtins.cc: + (function_resolver::check_gp_argument): Use it. + (function_expander::get_fallback_value): Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.cc + (apply_predication): Likewise. + (unary_convert_narrowt_def::has_merge_argument_p): New function. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins-functions.h + (unspec_based_function_base): Allow type suffix 1 to determine + the mode of the operation. + (unspec_based_function): Update accordingly. + (unspec_based_fused_function): Likewise. + (unspec_based_fused_lane_function): Likewise. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-modes.def: Add VNx1TI. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64.h (W12_W15_REGNUM_P): New macro. + (W12_W15_REGS): New register class. + (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it. + * config/aarch64/aarch64.cc (aarch64_regno_regclass) + (aarch64_class_max_nregs, aarch64_register_move_cost): Handle + W12_W15_REGS. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-isa-modes.def (ZA_ON): New ISA mode. + * config/aarch64/aarch64-protos.h (aarch64_rdsvl_immediate_p) + (aarch64_output_rdsvl, aarch64_optimize_mode_switching) + (aarch64_restore_za): Declare. + * config/aarch64/constraints.md (UsR): New constraint. + * config/aarch64/aarch64.md (LOWERING_REGNUM, TPIDR_BLOCK_REGNUM) + (SME_STATE_REGNUM, TPIDR2_SETUP_REGNUM, ZA_FREE_REGNUM) + (ZA_SAVED_REGNUM, ZA_REGNUM, FIRST_FAKE_REGNUM): New constants. + (LAST_FAKE_REGNUM): Likewise. + (UNSPEC_SAVE_NZCV, UNSPEC_RESTORE_NZCV, UNSPEC_SME_VQ): New unspecs. + (arches): Add sme. + (arch_enabled): Handle it. + (*cb1): Rename to... + (aarch64_cb1): ...this. + (*movsi_aarch64): Add an alternative for RDSVL. + (*movdi_aarch64): Likewise. + (aarch64_save_nzcv, aarch64_restore_nzcv): New insns. + * config/aarch64/aarch64-sme.md (UNSPEC_SMSTOP_ZA) + (UNSPEC_INITIAL_ZERO_ZA, UNSPEC_TPIDR2_SAVE, UNSPEC_TPIDR2_RESTORE) + (UNSPEC_READ_TPIDR2, UNSPEC_WRITE_TPIDR2, UNSPEC_SETUP_LOCAL_TPIDR2) + (UNSPEC_RESTORE_ZA, UNSPEC_START_PRIVATE_ZA_CALL): New unspecs. + (UNSPEC_END_PRIVATE_ZA_CALL, UNSPEC_COMMIT_LAZY_SAVE): Likewise. + (UNSPECV_ASM_UPDATE_ZA): New unspecv. + (aarch64_tpidr2_save, aarch64_smstart_za, aarch64_smstop_za) + (aarch64_initial_zero_za, aarch64_setup_local_tpidr2) + (aarch64_clear_tpidr2, aarch64_write_tpidr2, aarch64_read_tpidr2) + (aarch64_tpidr2_restore, aarch64_restore_za, aarch64_asm_update_za) + (aarch64_start_private_za_call, aarch64_end_private_za_call) + (aarch64_commit_lazy_save): New patterns. + * config/aarch64/aarch64.h (AARCH64_ISA_ZA_ON, TARGET_ZA): New macros. + (FIXED_REGISTERS, REGISTER_NAMES): Add the new fake ZA registers. + (CALL_USED_REGISTERS): Replace with... + (CALL_REALLY_USED_REGISTERS): ...this and add the fake ZA registers. + (FIRST_PSEUDO_REGISTER): Bump to include the fake ZA registers. + (FAKE_REGS): New register class. + (REG_CLASS_NAMES): Update accordingly. + (REG_CLASS_CONTENTS): Likewise. + (machine_function::tpidr2_block): New member variable. + (machine_function::tpidr2_block_ptr): Likewise. + (machine_function::za_save_buffer): Likewise. + (machine_function::next_asm_update_za_id): Likewise. + (CUMULATIVE_ARGS::shared_za_flags): Likewise. + (aarch64_mode_entity, aarch64_local_sme_state): New enums. + (aarch64_tristate_mode): Likewise. + (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING): Define. + * config/aarch64/aarch64.cc (AARCH64_STATE_SHARED, AARCH64_STATE_IN) + (AARCH64_STATE_OUT): New constants. + (aarch64_attribute_shared_state_flags): New function. + (aarch64_lookup_shared_state_flags, aarch64_fndecl_has_new_state) + (aarch64_check_state_string, cmp_string_csts): Likewise. + (aarch64_merge_string_arguments, aarch64_check_arm_new_against_type) + (handle_arm_new, handle_arm_shared): Likewise. + (handle_arm_new_za_attribute): New + (aarch64_arm_attribute_table): Add new, preserves, in, out, and inout. + (aarch64_hard_regno_nregs): Handle FAKE_REGS. + (aarch64_hard_regno_mode_ok): Likewise. + (aarch64_fntype_shared_flags, aarch64_fntype_pstate_za): New functions. + (aarch64_fntype_isa_mode): Include aarch64_fntype_pstate_za. + (aarch64_fndecl_has_state, aarch64_fndecl_pstate_za): New functions. + (aarch64_fndecl_isa_mode): Include aarch64_fndecl_pstate_za. + (aarch64_cfun_incoming_pstate_za, aarch64_cfun_shared_flags) + (aarch64_cfun_has_new_state, aarch64_cfun_has_state): New functions. + (aarch64_sme_vq_immediate, aarch64_sme_vq_unspec_p): Likewise. + (aarch64_rdsvl_immediate_p, aarch64_output_rdsvl): Likewise. + (aarch64_expand_mov_immediate): Handle RDSVL immediates. + (aarch64_function_arg): Add the ZA sharing flags as a third limb + of the PARALLEL. + (aarch64_init_cumulative_args): Record the ZA sharing flags. + (aarch64_extra_live_on_entry): New function. Handle the new + ZA-related fake registers. + (aarch64_epilogue_uses): Handle the new ZA-related fake registers. + (aarch64_cannot_force_const_mem): Handle UNSPEC_SME_VQ constants. + (aarch64_get_tpidr2_block, aarch64_get_tpidr2_ptr): New functions. + (aarch64_init_tpidr2_block, aarch64_restore_za): Likewise. + (aarch64_layout_frame): Check whether the current function creates + new ZA state. Record that it clobbers LR if so. + (aarch64_expand_prologue): Handle functions that create new ZA state. + (aarch64_expand_epilogue): Likewise. + (aarch64_create_tpidr2_block): New function. + (aarch64_restore_za): Likewise. + (aarch64_start_call_args): Disallow calls to shared-ZA functions + from functions that have no ZA state. Emit a marker instruction + before calls to private-ZA functions from functions that have + SME state. + (aarch64_expand_call): Add return registers for state that is + managed via attributes. Record the use and clobber information + for the ZA registers. + (aarch64_end_call_args): New function. + (aarch64_regno_regclass): Handle FAKE_REGS. + (aarch64_class_max_nregs): Likewise. + (aarch64_override_options_internal): Require TARGET_SME for + functions that have ZA state. + (aarch64_conditional_register_usage): Handle FAKE_REGS. + (aarch64_mov_operand_p): Handle RDSVL immediates. + (aarch64_comp_type_attributes): Check that the ZA sharing flags + are equal. + (aarch64_merge_decl_attributes): New function. + (aarch64_optimize_mode_switching, aarch64_mode_emit_za_save_buffer) + (aarch64_mode_emit_local_sme_state, aarch64_mode_emit): Likewise. + (aarch64_insn_references_sme_state_p): Likewise. + (aarch64_mode_needed_local_sme_state): Likewise. + (aarch64_mode_needed_za_save_buffer, aarch64_mode_needed): Likewise. + (aarch64_mode_after_local_sme_state, aarch64_mode_after): Likewise. + (aarch64_local_sme_confluence, aarch64_mode_confluence): Likewise. + (aarch64_one_shot_backprop, aarch64_local_sme_backprop): Likewise. + (aarch64_mode_backprop, aarch64_mode_entry): Likewise. + (aarch64_mode_exit, aarch64_mode_eh_handler): Likewise. + (aarch64_mode_priority, aarch64_md_asm_adjust): Likewise. + (TARGET_END_CALL_ARGS, TARGET_MERGE_DECL_ATTRIBUTES): Define. + (TARGET_MODE_EMIT, TARGET_MODE_NEEDED, TARGET_MODE_AFTER): Likewise. + (TARGET_MODE_CONFLUENCE, TARGET_MODE_BACKPROP): Likewise. + (TARGET_MODE_ENTRY, TARGET_MODE_EXIT): Likewise. + (TARGET_MODE_EH_HANDLER, TARGET_MODE_PRIORITY): Likewise. + (TARGET_EXTRA_LIVE_ON_ENTRY): Likewise. + (TARGET_MD_ASM_ADJUST): Use aarch64_md_asm_adjust. + * config/aarch64/aarch64-c.cc (aarch64_define_unconditional_macros): + Define __arm_new, __arm_preserves,__arm_in, __arm_out, and __arm_inout. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-passes.def + (pass_late_thread_prologue_and_epilogue): New pass. + * config/aarch64/aarch64-sme.md: New file. + * config/aarch64/aarch64.md: Include it. + (*tb1): Rename to... + (@aarch64_tb): ...this. + (call, call_value, sibcall, sibcall_value): Don't require operand 2 + to be a CONST_INT. + * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Return + the insn. + (make_pass_switch_sm_state): Declare. + * config/aarch64/aarch64.h (TARGET_STREAMING_COMPATIBLE): New macro. + (CALL_USED_REGISTER): Mark VG as call-preserved. + (aarch64_frame::old_svcr_offset): New member variable. + (machine_function::call_switches_sm_state): Likewise. + (CUMULATIVE_ARGS::num_sme_mode_switch_args): Likewise. + (CUMULATIVE_ARGS::sme_mode_switch_args): Likewise. + * config/aarch64/aarch64.cc: Include tree-pass.h and cfgbuild.h. + (aarch64_cfun_incoming_pstate_sm): New function. + (aarch64_call_switches_pstate_sm): Likewise. + (aarch64_reg_save_mode): Return DImode for VG_REGNUM. + (aarch64_callee_isa_mode): New function. + (aarch64_insn_callee_isa_mode): Likewise. + (aarch64_guard_switch_pstate_sm): Likewise. + (aarch64_switch_pstate_sm): Likewise. + (aarch64_sme_mode_switch_regs): New class. + (aarch64_record_sme_mode_switch_args): New function. + (aarch64_finish_sme_mode_switch_args): Likewise. + (aarch64_function_arg): Handle the end marker by returning a + PARALLEL that contains the ABI cookie that we used previously + alongside the result of aarch64_finish_sme_mode_switch_args. + (aarch64_init_cumulative_args): Initialize num_sme_mode_switch_args. + (aarch64_function_arg_advance): If a call would switch SM state, + record all argument registers that would need to be saved around + the mode switch. + (aarch64_need_old_pstate_sm): New function. + (aarch64_layout_frame): Decide whether the frame needs to store the + incoming value of PSTATE.SM and allocate a save slot for it if so. + If a function switches SME state, arrange to save the old value + of the DWARF VG register. Handle the case where this is the only + register save slot above the FP. + (aarch64_save_callee_saves): Handles saves of the DWARF VG register. + (aarch64_get_separate_components): Prevent such saves from being + shrink-wrapped. + (aarch64_old_svcr_mem): New function. + (aarch64_read_old_svcr): Likewise. + (aarch64_guard_switch_pstate_sm): Likewise. + (aarch64_expand_prologue): Handle saves of the DWARF VG register. + Initialize any SVCR save slot. + (aarch64_expand_call): Allow the cookie to be PARALLEL that contains + both the UNSPEC_CALLEE_ABI value and a list of registers that need + to be preserved across a change to PSTATE.SM. If the call does + involve such a change to PSTATE.SM, record the registers that + would be clobbered by this process. Also emit an instruction + to mark the temporary change in VG. Update call_switches_pstate_sm. + (aarch64_emit_call_insn): Return the emitted instruction. + (aarch64_frame_pointer_required): New function. + (aarch64_conditional_register_usage): Prevent VG_REGNUM from being + treated as a register operand. + (aarch64_switch_pstate_sm_for_call): New function. + (pass_data_switch_pstate_sm): New pass variable. + (pass_switch_pstate_sm): New pass class. + (make_pass_switch_pstate_sm): New function. + (TARGET_FRAME_POINTER_REQUIRED): Define. + * config/aarch64/t-aarch64 (s-check-sve-md): Add aarch64-sme.md. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64.h (TARGET_NON_STREAMING): New macro. + (TARGET_SVE2_AES, TARGET_SVE2_BITPERM): Use it. + (TARGET_SVE2_SHA3, TARGET_SVE2_SM4): Likewise. + * config/aarch64/aarch64-sve-builtins-base.def: Separate out + the functions that require PSTATE.SM to be 0 and guard them + with AARCH64_FL_SM_OFF. + * config/aarch64/aarch64-sve-builtins-sve2.def: Likewise. + * config/aarch64/aarch64-sve-builtins.cc (check_required_extensions): + Enforce AARCH64_FL_SM_OFF requirements. + * config/aarch64/aarch64-sve.md (aarch64_wrffr): Require + TARGET_NON_STREAMING + (aarch64_rdffr, aarch64_rdffr_z, *aarch64_rdffr_z_ptest): Likewise. + (*aarch64_rdffr_ptest, *aarch64_rdffr_z_cc, *aarch64_rdffr_cc) + (@aarch64_ldf1): Likewise. + (@aarch64_ldf1_) + (gather_load): Likewise + (mask_gather_load): Likewise. + (mask_gather_load): Likewise. + (*mask_gather_load_xtw_unpacked): Likewise. + (*mask_gather_load_sxtw): Likewise. + (*mask_gather_load_uxtw): Likewise. + (@aarch64_gather_load_) + (@aarch64_gather_load_ + ): Likewise. + (*aarch64_gather_load_ + _xtw_unpacked) + (*aarch64_gather_load_ + _sxtw): Likewise. + (*aarch64_gather_load_ + _uxtw): Likewise. + (@aarch64_ldff1_gather, @aarch64_ldff1_gather): Likewise. + (*aarch64_ldff1_gather_sxtw): Likewise. + (*aarch64_ldff1_gather_uxtw): Likewise. + (@aarch64_ldff1_gather_ + ): Likewise. + (@aarch64_ldff1_gather_ + ): Likewise. + (*aarch64_ldff1_gather_ + _sxtw): Likewise. + (*aarch64_ldff1_gather_ + _uxtw): Likewise. + (@aarch64_sve_gather_prefetch) + (@aarch64_sve_gather_prefetch) + (*aarch64_sve_gather_prefetch_sxtw) + (*aarch64_sve_gather_prefetch_uxtw) + (scatter_store): Likewise. + (mask_scatter_store): Likewise. + (*mask_scatter_store_xtw_unpacked) + (*mask_scatter_store_sxtw): Likewise. + (*mask_scatter_store_uxtw): Likewise. + (@aarch64_scatter_store_trunc) + (@aarch64_scatter_store_trunc) + (*aarch64_scatter_store_trunc_sxtw) + (*aarch64_scatter_store_trunc_uxtw) + (@aarch64_sve_ld1ro, @aarch64_adr): Likewise. + (*aarch64_adr_sxtw, *aarch64_adr_uxtw_unspec): Likewise. + (*aarch64_adr_uxtw_and, @aarch64_adr_shift): Likewise. + (*aarch64_adr_shift, *aarch64_adr_shift_sxtw): Likewise. + (*aarch64_adr_shift_uxtw, @aarch64_sve_add_): Likewise. + (@aarch64_sve_, fold_left_plus_): Likewise. + (mask_fold_left_plus_, @aarch64_sve_compact): Likewise. + * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt) + (@aarch64_gather_ldnt_ + ): Likewise. + (@aarch64_sve2_histcnt, @aarch64_sve2_histseg): Likewise. + (@aarch64_pred_): Likewise. + (*aarch64_pred__cc): Likewise. + (*aarch64_pred__ptest): Likewise. + * config/aarch64/iterators.md (SVE_FP_UNARY_INT): Make FEXPA + depend on TARGET_NON_STREAMING. + (SVE_BFLOAT_TERNARY_LONG): Likewise BFMMLA. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64.h (TARGET_BASE_SIMD): New macro. + (TARGET_SIMD): Require PSTATE.SM to be 0. + (AARCH64_ISA_SM_OFF): New macro. + * config/aarch64/aarch64.cc (aarch64_array_mode_supported_p): + Allow Advanced SIMD structure modes for TARGET_BASE_SIMD. + (aarch64_print_operand): Support '%Z'. + (aarch64_secondary_reload): Expect SVE moves to be used for + Advanced SIMD modes if SVE is enabled and non-streaming + Advanced SIMD isn't. + (aarch64_register_move_cost): Likewise. + (aarch64_simd_container_mode): Extend Advanced SIMD mode + handling to TARGET_BASE_SIMD. + (aarch64_expand_cpymem): Expand commentary. + * config/aarch64/aarch64.md (arches): Add base_simd and nobase_simd. + (arch_enabled): Handle it. + (*mov_aarch64): Extend UMOV alternative to TARGET_BASE_SIMD. + (*movti_aarch64): Use an SVE move instruction if non-streaming + SIMD isn't available. + (*mov_aarch64): Likewise. + (load_pair_dw_tftf): Extend to TARGET_BASE_SIMD. + (store_pair_dw_tftf): Likewise. + (loadwb_pair_): Likewise. + (storewb_pair_): Likewise. + * config/aarch64/aarch64-simd.md (*aarch64_simd_mov): + Allow UMOV in streaming mode. + (*aarch64_simd_mov): Use an SVE move instruction + if non-streaming SIMD isn't available. + (aarch64_store_lane0): Depend on TARGET_FLOAT rather than + TARGET_SIMD. + (aarch64_simd_mov_from_low): Likewise. Use fmov if + Advanced SIMD is completely disabled. + (aarch64_simd_mov_from_high): Use SVE EXT instructions if + non-streaming SIMD isn't available. + +2023-12-05 Richard Sandiford + + * doc/invoke.texi: Document SME. + * doc/sourcebuild.texi: Document aarch64_sve. + * config/aarch64/aarch64-option-extensions.def (sme): Define. + * config/aarch64/aarch64.h (AARCH64_ISA_SME): New macro. + (TARGET_SME): Likewise. + * config/aarch64/aarch64.cc (aarch64_override_options_internal): + Ensure that SME is present when compiling streaming code. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-isa-modes.def: New file. + * config/aarch64/aarch64.h: Include it in the feature enumerations. + (AARCH64_FL_SM_STATE, AARCH64_FL_ISA_MODES): New constants. + (AARCH64_FL_DEFAULT_ISA_MODE): Likewise. + (AARCH64_ISA_MODE): New macro. + (CUMULATIVE_ARGS): Add an isa_mode field. + * config/aarch64/aarch64-protos.h (aarch64_gen_callee_cookie): Declare. + (aarch64_tlsdesc_abi_id): Return an arm_pcs. + * config/aarch64/aarch64.cc (attr_streaming_exclusions) + (aarch64_gnu_attributes, aarch64_gnu_attribute_table) + (aarch64_arm_attributes, aarch64_arm_attribute_table): New tables. + (aarch64_attribute_table): Redefine to include the gnu and arm + attributes. + (aarch64_fntype_pstate_sm, aarch64_fntype_isa_mode): New functions. + (aarch64_fndecl_pstate_sm, aarch64_fndecl_isa_mode): Likewise. + (aarch64_gen_callee_cookie, aarch64_callee_abi): Likewise. + (aarch64_insn_callee_cookie, aarch64_insn_callee_abi): Use them. + (aarch64_function_arg, aarch64_output_mi_thunk): Likewise. + (aarch64_init_cumulative_args): Initialize the isa_mode field. + (aarch64_output_mi_thunk): Use aarch64_gen_callee_cookie to get + the ABI cookie. + (aarch64_override_options): Add the ISA mode to the feature set. + (aarch64_temporary_target::copy_from_fndecl): Likewise. + (aarch64_fndecl_options, aarch64_handle_attr_arch): Likewise. + (aarch64_set_current_function): Maintain the correct ISA mode. + (aarch64_tlsdesc_abi_id): Return an arm_pcs. + (aarch64_comp_type_attributes): Handle arm::streaming and + arm::streaming_compatible. + * config/aarch64/aarch64-c.cc (aarch64_define_unconditional_macros): + Define __arm_streaming and __arm_streaming_compatible. + * config/aarch64/aarch64.md (tlsdesc_small_): Use + aarch64_gen_callee_cookie to get the ABI cookie. + * config/aarch64/t-aarch64 (TM_H): Add all feature-related .def files. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins-base.cc + (svreinterpret_impl::fold): Punt on tuple forms. + (svreinterpret_impl::expand): Use tuple_mode instead of vector_mode. + * config/aarch64/aarch64-sve-builtins-base.def (svreinterpret): + Extend to x1234 groups. + * config/aarch64/aarch64-sve-builtins-functions.h + (multi_vector_function::vectors_per_tuple): If the function has + a group suffix, get the number of vectors from there. + * config/aarch64/aarch64-sve-builtins-shapes.h (reinterpret): Declare. + * config/aarch64/aarch64-sve-builtins-shapes.cc (reinterpret_def) + (reinterpret): New function shape. + * config/aarch64/aarch64-sve-builtins.cc (function_groups): Handle + DEF_SVE_FUNCTION_GS. + * config/aarch64/aarch64-sve-builtins.def (DEF_SVE_FUNCTION_GS): New + macro. + (DEF_SVE_FUNCTION): Forward to DEF_SVE_FUNCTION_GS by default. + * config/aarch64/aarch64-sve-builtins.h + (function_instance::tuple_mode): New member function. + (function_base::vectors_per_tuple): Take the function instance + as argument and get the number from the group suffix. + (function_instance::vectors_per_tuple): Update accordingly. + * config/aarch64/iterators.md (SVE_FULLx2, SVE_FULLx3, SVE_FULLx4) + (SVE_ALL_STRUCT): New mode iterators. + (SVE_STRUCT): Redefine in terms of SVE_FULL*. + * config/aarch64/aarch64-sve.md (@aarch64_sve_reinterpret) + (*aarch64_sve_reinterpret): Extend to SVE structure modes. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins.cc + (function_resolver::require_derived_vector_type): Add a specific + error message for the case in which the caller wants a single + vector whose element type matches a previous tuyple argument. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins.h + (function_resolver::lookup_form): Add an overload that takes + an sve_type rather than type and group suffixes. + (function_resolver::resolve_to): Likewise. + (function_resolver::infer_vector_or_tuple_type): Return an sve_type. + (function_resolver::infer_tuple_type): Likewise. + (function_resolver::require_matching_vector_type): Take an sve_type + rather than a type_suffix_index. + (function_resolver::require_derived_vector_type): Likewise. + * config/aarch64/aarch64-sve-builtins.cc (num_vectors_to_group): + New function. + (function_resolver::lookup_form): Add an overload that takes + an sve_type rather than type and group suffixes. + (function_resolver::resolve_to): Likewise. + (function_resolver::infer_vector_or_tuple_type): Return an sve_type. + (function_resolver::infer_tuple_type): Likewise. + (function_resolver::infer_vector_type): Update accordingly. + (function_resolver::require_matching_vector_type): Take an sve_type + rather than a type_suffix_index. + (function_resolver::require_derived_vector_type): Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.cc (get_def::resolve) + (set_def::resolve, store_def::resolve, tbl_tuple_def::resolve): Update + calls accordingly. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins.h + (function_resolver::require_matching_vector_type): Add a parameter + that specifies the number of the earlier argument that is being + matched against. + * config/aarch64/aarch64-sve-builtins.cc + (function_resolver::require_matching_vector_type): Likewise. + (require_derived_vector_type): Update calls accordingly. + (function_resolver::resolve_unary): Likewise. + (function_resolver::resolve_uniform): Likewise. + (function_resolver::resolve_uniform_opt_n): Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.cc + (binary_long_lane_def::resolve): Likewise. + (clast_def::resolve, ternary_uint_def::resolve): Likewise. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins.h + (function_resolver::infer_sve_type): New member function. + (function_resolver::report_incorrect_num_vectors): Likewise. + * config/aarch64/aarch64-sve-builtins.cc + (function_resolver::infer_sve_type): New function,. + (function_resolver::report_incorrect_num_vectors): New function, + split out from... + (function_resolver::infer_vector_or_tuple_type): ...here. Use + infer_sve_type. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins.h (sve_type): New struct. + (sve_type::operator==): New function. + (function_resolver::get_vector_type): Delete. + (function_resolver::report_no_such_form): Take an sve_type rather + than a type_suffix_index. + * config/aarch64/aarch64-sve-builtins.cc (get_vector_type): New + function. + (function_resolver::get_vector_type): Delete. + (function_resolver::report_no_such_form): Take an sve_type rather + than a type_suffix_index. + (find_sve_type): New function, split out from... + (function_resolver::infer_vector_or_tuple_type): ...here. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins-shapes.cc (build_one): Take + a group suffix index parameter. + (build_32_64, build_all): Update accordingly. Iterate over all + group suffixes. + * config/aarch64/aarch64-sve-builtins-sve2.cc (svqrshl_impl::fold) + (svqshl_impl::fold, svrshl_impl::fold): Update function_instance + constructors. + * config/aarch64/aarch64-sve-builtins.cc (group_suffixes): New array. + (groups_none): New constant. + (function_groups): Initialize the groups field. + (function_instance::hash): Hash the group index. + (function_builder::get_name): Add the group suffix. + (function_builder::add_overloaded_functions): Iterate over all + group suffixes. + (function_resolver::lookup_form): Take a group suffix parameter. + (function_resolver::resolve_to): Likewise. + * config/aarch64/aarch64-sve-builtins.def (DEF_SVE_GROUP_SUFFIX): New + macro. + (x2, x3, x4): New group suffixes. + * config/aarch64/aarch64-sve-builtins.h (group_suffix_index): New enum. + (group_suffix_info): New structure. + (function_group_info::groups): New member variable. + (function_instance::group_suffix_id): Likewise. + (group_suffixes): New array. + (function_instance::operator==): Compare the group suffixes. + (function_instance::group_suffix): New function. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins.cc (function_groups): Remove + implied requirement on SVE. + * config/aarch64/aarch64-sve-builtins-base.def: Explicitly require SVE. + * config/aarch64/aarch64-sve-builtins-sve2.def: Likewise. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-protos.h (aarch64_sve_rdvl_immediate_p) + (aarch64_output_sve_rdvl): Declare. + * config/aarch64/aarch64.cc (aarch64_sve_cnt_factor_p): New + function, split out from... + (aarch64_sve_cnt_immediate_p): ...here. + (aarch64_sve_rdvl_factor_p): New function. + (aarch64_sve_rdvl_immediate_p): Likewise. + (aarch64_output_sve_rdvl): Likewise. + (aarch64_offset_temporaries): Rewrite the SVE handling to use RDVL + for some cases. + (aarch64_expand_mov_immediate): Handle RDVL immediates. + (aarch64_mov_operand_p): Likewise. + * config/aarch64/constraints.md (Usr): New constraint. + * config/aarch64/aarch64.md (*mov_aarch64): Add an RDVL + alternative. + (*movsi_aarch64, *movdi_aarch64): Likewise. + +2023-12-05 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins.h: + (function_checker::require_immediate_lane_index): Add an argument + for the index of the indexed vector argument. + * config/aarch64/aarch64-sve-builtins.cc + (function_checker::require_immediate_lane_index): Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.cc + (ternary_bfloat_lane_base::check): Update accordingly. + (ternary_qq_lane_base::check): Likewise. + (binary_lane_def::check): Likewise. + (binary_long_lane_def::check): Likewise. + (ternary_lane_def::check): Likewise. + (ternary_lane_rotate_def::check): Likewise. + (ternary_long_lane_def::check): Likewise. + (ternary_qq_lane_rotate_def::check): Likewise. + +2023-12-05 Richard Sandiford + + * target.def (md_asm_adjust): Add a uses parameter. + * doc/tm.texi: Regenerate. + * cfgexpand.cc (expand_asm_loc): Update call to md_asm_adjust. + Handle any USEs created by the target. + (expand_asm_stmt): Likewise. + * recog.cc (asm_noperands): Handle asms with USEs. + (decode_asm_operands): Likewise. + * config/arm/aarch-common-protos.h (arm_md_asm_adjust): Add uses + parameter. + * config/arm/aarch-common.cc (arm_md_asm_adjust): Likewise. + * config/arm/arm.cc (thumb1_md_asm_adjust): Likewise. + * config/avr/avr.cc (avr_md_asm_adjust): Likewise. + * config/cris/cris.cc (cris_md_asm_adjust): Likewise. + * config/i386/i386.cc (ix86_md_asm_adjust): Likewise. + * config/mn10300/mn10300.cc (mn10300_md_asm_adjust): Likewise. + * config/nds32/nds32.cc (nds32_md_asm_adjust): Likewise. + * config/pdp11/pdp11.cc (pdp11_md_asm_adjust): Likewise. + * config/rs6000/rs6000.cc (rs6000_md_asm_adjust): Likewise. + * config/s390/s390.cc (s390_md_asm_adjust): Likewise. + * config/vax/vax.cc (vax_md_asm_adjust): Likewise. + * config/visium/visium.cc (visium_md_asm_adjust): Likewise. + +2023-12-05 Richard Sandiford + + * doc/tm.texi.in: Add TARGET_START_CALL_ARGS. + * doc/tm.texi: Regenerate. + * target.def (start_call_args): New hook. + (call_args, end_call_args): Add a parameter for the cumulative + argument information. + * hooks.h (hook_void_rtx_tree): Delete. + * hooks.cc (hook_void_rtx_tree): Likewise. + * targhooks.h (hook_void_CUMULATIVE_ARGS): Declare. + (hook_void_CUMULATIVE_ARGS_rtx_tree): Likewise. + * targhooks.cc (hook_void_CUMULATIVE_ARGS): New function. + (hook_void_CUMULATIVE_ARGS_rtx_tree): Likewise. + * calls.cc (expand_call): Call start_call_args before computing + and storing stack parameters. Pass the cumulative argument + information to call_args and end_call_args. + (emit_library_call_value_1): Likewise. + * config/nvptx/nvptx.cc (nvptx_call_args): Add a cumulative + argument parameter. + (nvptx_end_call_args): Likewise. + +2023-12-05 Richard Sandiford + + * doc/tm.texi.in: Add TARGET_EMIT_EPILOGUE_FOR_SIBCALL. + * doc/tm.texi: Regenerate. + * target.def (emit_epilogue_for_sibcall): New hook. + * calls.cc (can_implement_as_sibling_call_p): Use it. + * function.cc (thread_prologue_and_epilogue_insns): Likewise. + (reposition_prologue_and_epilogue_notes): Likewise. + * config/aarch64/aarch64-protos.h (aarch64_expand_epilogue): Take + an rtx_call_insn * rather than a bool. + * config/aarch64/aarch64.cc (aarch64_expand_epilogue): Likewise. + (TARGET_EMIT_EPILOGUE_FOR_SIBCALL): Define. + * config/aarch64/aarch64.md (epilogue): Update call. + (sibcall_epilogue): Delete. + +2023-12-05 Richard Sandiford + + * target.def (use_late_prologue_epilogue): New hook. + * doc/tm.texi.in: Add TARGET_USE_LATE_PROLOGUE_EPILOGUE. + * doc/tm.texi: Regenerate. + * passes.def (pass_late_thread_prologue_and_epilogue): New pass. + * tree-pass.h (make_pass_late_thread_prologue_and_epilogue): Declare. + * function.cc (pass_thread_prologue_and_epilogue::gate): New function. + (pass_data_late_thread_prologue_and_epilogue): New pass variable. + (pass_late_thread_prologue_and_epilogue): New pass class. + (make_pass_late_thread_prologue_and_epilogue): New function. + +2023-12-05 Kito Cheng + + * common/config/riscv/riscv-common.cc + (riscv_subset_list::check_conflict_ext): Check zcd conflicts + with zcmt and zcmp. + +2023-12-05 Richard Sandiford + + PR rtl-optimization/112278 + * lra-int.h (lra_update_biggest_mode): New function. + * lra-coalesce.cc (merge_pseudos): Use it. + * lra-lives.cc (process_bb_lives): Likewise. + * lra.cc (new_insn_reg): Likewise. + +2023-12-05 Jakub Jelinek + + PR tree-optimization/112843 + * gimple-lower-bitint.cc (gimple_lower_bitint): Change lhs of stmt + to lhs2 before building and inserting lhs = (cast) lhs2; assignment. + Adjust stmt operands before adjusting lhs. + +2023-12-05 xuli + + * config/riscv/riscv-v.cc (sew64_scalar_helper): Bugfix. + +2023-12-05 Jakub Jelinek + + PR target/112816 + * config/i386/sse.md ((eq (eq (lshiftrt x elt_bits-1) 0) 0)): New + splitter to turn psrld $31; pcmpeq; pcmpeq into psrad $31. + +2023-12-05 Juzhe-Zhong + + * config/riscv/autovec.md: Add blocker. + * config/riscv/riscv-protos.h (gather_scatter_valid_offset_p): New function. + * config/riscv/riscv-v.cc (gather_scatter_valid_offset_p): Ditto. + +2023-12-05 Richard Biener + + PR tree-optimization/112827 + PR tree-optimization/112848 + * tree-scalar-evolution.cc (final_value_replacement_loop): + Compute the insert location for each insert. + +2023-12-05 liuhongt + + * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): + Count sse_reg/gpr_regs for components not loaded from memory. + (ix86_vector_costs:ix86_vector_costs): New constructor. + (ix86_vector_costs::m_num_gpr_needed[3]): New private memeber. + (ix86_vector_costs::m_num_sse_needed[3]): Ditto. + (ix86_vector_costs::finish_cost): Estimate overall register + pressure cost. + (ix86_vector_costs::ix86_vect_estimate_reg_pressure): New + function. + +2023-12-05 liuhongt + + * config/i386/sse.md (udot_prodv64qi): New expander. + (udot_prod): Emulates with VEC_UNPACKU_EXPR + + DOT_PROD (short, int). + +2023-12-05 Marek Polacek + + PR c++/107687 + PR c++/110997 + * doc/invoke.texi: Document -fno-immediate-escalation. + +2023-12-04 Andrew Pinski + + * match.pd (zero_one_valued_p): For convert + make sure type is not a signed 1-bit integer. + +2023-12-04 Jeff Law + + * config/microblaze/microblaze.md (movhi): Use %i for half-word + loads to properly select between lhu/lhui. + +2023-12-04 Robin Dapp + + * config/riscv/riscv-string.cc (expand_rawmemchr): Increment + source address by vl * element_size. + +2023-12-04 Robin Dapp + + * config/riscv/riscv-opts.h (enum riscv_stringop_strategy_enum): + Rename... + (enum stringop_strategy_enum): ... to this. + * config/riscv/riscv-string.cc (riscv_expand_block_move): New + wrapper expander handling the strategies and delegation. + (riscv_expand_block_move_scalar): Rename function and make + static. + (expand_block_move): Remove strategy handling. + * config/riscv/riscv.md: Call expander wrapper. + * config/riscv/riscv.opt: Rename. + +2023-12-04 Richard Biener + + PR middle-end/112785 + * function.h (get_new_clique): New inline function handling + last_clique overflow. + * cfgrtl.cc (duplicate_insn_chain): Use it. + * tree-cfg.cc (gimple_duplicate_bb): Likewise. + * tree-inline.cc (remap_dependence_clique): Likewise. + +2023-12-04 Christoph Müllner + + PR target/112650 + * doc/invoke.texi: Document riscv-strcmp-inline-limit. + +2023-12-04 Juzhe-Zhong + + PR target/112431 + * config/riscv/vector.md: Fix incorrect overlap in v0. + +2023-12-04 Juzhe-Zhong + + PR target/112431 + * config/riscv/vector.md: Add highest-number overlap support. + +2023-12-04 Richard Biener + + PR tree-optimization/112818 + * tree-vect-stmts.cc (vectorizable_bswap): Check input and + output vector types have the same size. + +2023-12-04 Richard Biener + + PR tree-optimization/112827 + * tree-scalar-evolution.cc (final_value_replacement_loop): + Do not release SSA name but keep a dead initialization around. + +2023-12-04 Juzhe-Zhong + + PR target/112431 + * config/riscv/vector.md: Remove earlyclobber from widen reduction. + +2023-12-04 Indu Bhagat + + PR debug/112656 + * btfout.cc (btf_asm_type): Fixup ctti_name for all + BTF types of kind BTF_KIND_FUNC_PROTO. + +2023-12-04 Indu Bhagat + + PR debug/112768 + * btfout.cc (get_btf_type_name): New definition. + (btf_collect_datasec): Update dtd_name to the original type name + string. + (btf_asm_type_ref): Use the new get_btf_type_name function + instead. + (btf_asm_type): Likewise. + (btf_asm_func_type): Likewise. + +2023-12-04 Jakub Jelinek + + PR target/112837 + * config/i386/i386.cc (ix86_elim_entry_set_got): Before checking + for UNSPEC_SET_GOT check that SET_SRC is UNSPEC. Use SET_SRC and + SET_DEST macros instead of XEXP, rename vec variable to set. + +2023-12-04 Jakub Jelinek + + PR target/112816 + * config/i386/sse.md (signbit2): Force operands[1] into a REG. + +2023-12-04 Feng Wang + + * common/config/riscv/riscv-common.cc: Add zvkb ISA info. + * config/riscv/riscv.opt: Add Mask(ZVKB) + +2023-12-04 Fei Gao + Xiao Zeng + + * config/riscv/riscv.md (*movcc):move to sfb.md + * config/riscv/sfb.md: New file. + +2023-12-04 Kito Cheng + + * config/riscv/riscv-cores.def: Add sifive-x280. + * doc/invoke.texi (RISC-V Options): Add sifive-x280 + +2023-12-04 Kito Cheng + + * common/config/riscv/riscv-common.cc (riscv_implied_predicator_t): New. + (riscv_implied_info_t::riscv_implied_info_t): New. + (riscv_implied_info_t::match): New. + (riscv_implied_info): New entry for zcf. + (riscv_subset_list::handle_implied_ext): Use + riscv_implied_info_t::match. + (riscv_subset_list::check_implied_ext): Ditto. + (riscv_subset_list::handle_combine_ext): Ditto. + (riscv_subset_list::parse): Move zcf implication handling to + riscv_implied_infos. + +2023-12-04 Kito Cheng + + * common/config/riscv/riscv-common.cc + (riscv_subset_list::check_conflict_ext): New. + (riscv_subset_list::parse): Move checking conflict ext. to + check_conflict_ext. + * config/riscv/riscv-subset.h: + Add riscv_subset_list::check_conflict_ext. + +2023-12-04 Hu, Lin1 + + * common/config/i386/cpuinfo.h (get_available_features): Move USER_MSR + to the correct location. + +2023-12-04 Juzhe-Zhong + + * config/riscv/riscv.md: Rostify the constraints. + +2023-12-04 chenxiaolong + + * doc/extend.texi: Add information about the intrinsic function of the vector + instruction. + +2023-12-03 Jakub Jelinek + + PR middle-end/112807 + * gimple-lower-bitint.cc (bitint_large_huge::lower_addsub_overflow): + When choosing type0 and type1 types, if prec3 has small/middle bitint + kind, use maximum of type0 and type1's precision instead of prec3. + +2023-12-03 Jeff Law + + * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Add prototype for exit. + +2023-12-02 Richard Sandiford + + * attribs.cc (comp_type_attributes): Pass the full TREE_PURPOSE + to lookup_attribute_spec, rather than just the name. + (remove_attributes_matching): Likewise. + +2023-12-02 Richard Sandiford + + * attribs.cc (find_same_attribute): New function. + (decl_attributes, comp_type_attributes): Use it when looking + up one list's attributes in another list. + +2023-12-02 Richard Sandiford + + * Makefile.in (GTFILES): Add attribs.cc. + * attribs.cc (gnu_namespace_cache): New variable. + (get_gnu_namespace): New function. + (lookup_attribute_spec): Use it instead of get_identifier ("gnu"). + (get_attribute_namespace, attribs_cc_tests): Likewise. + +2023-12-02 Richard Sandiford + + * attribs.h (scoped_attribute_specs): New structure. + (register_scoped_attributes): Take a reference to a + scoped_attribute_specs instead of separate namespace and array + parameters. + * plugin.h (register_scoped_attributes): Likewise. + * attribs.cc (register_scoped_attributes): Likewise. + (attribute_tables): Change into an array of scoped_attribute_specs + pointers. Reduce to 1 element for frontends and 1 element for targets. + (empty_attribute_table): Delete. + (check_attribute_tables): Update for changes to attribute_tables. + Use a hash_set to identify duplicates. + (handle_ignored_attributes_option): Update for above changes. + (init_attributes): Likewise. + (excl_pair): Delete. + (test_attribute_exclusions): Update for above changes. Don't + enforce symmetry for standard attributes in the top-level namespace. + * langhooks-def.h (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Delete. + (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Likewise. + (LANG_HOOKS_INITIALIZER): Update accordingly. + (LANG_HOOKS_ATTRIBUTE_TABLE): Define to an empty constructor. + * langhooks.h (lang_hooks::common_attribute_table): Delete. + (lang_hooks::format_attribute_table): Likewise. + (lang_hooks::attribute_table): Redefine to an array of + scoped_attribute_specs pointers. + * target-def.h (TARGET_GNU_ATTRIBUTES): New macro. + * target.def (attribute_spec): Redefine to return an array of + scoped_attribute_specs pointers. + * tree-inline.cc (function_attribute_inlinable_p): Update accordingly. + * doc/tm.texi: Regenerate. + * config/aarch64/aarch64.cc (aarch64_attribute_table): Define using + TARGET_GNU_ATTRIBUTES. + * config/alpha/alpha.cc (vms_attribute_table): Likewise. + * config/avr/avr.cc (avr_attribute_table): Likewise. + * config/bfin/bfin.cc (bfin_attribute_table): Likewise. + * config/bpf/bpf.cc (bpf_attribute_table): Likewise. + * config/csky/csky.cc (csky_attribute_table): Likewise. + * config/epiphany/epiphany.cc (epiphany_attribute_table): Likewise. + * config/gcn/gcn.cc (gcn_attribute_table): Likewise. + * config/h8300/h8300.cc (h8300_attribute_table): Likewise. + * config/loongarch/loongarch.cc (loongarch_attribute_table): Likewise. + * config/m32c/m32c.cc (m32c_attribute_table): Likewise. + * config/m32r/m32r.cc (m32r_attribute_table): Likewise. + * config/m68k/m68k.cc (m68k_attribute_table): Likewise. + * config/mcore/mcore.cc (mcore_attribute_table): Likewise. + * config/microblaze/microblaze.cc (microblaze_attribute_table): + Likewise. + * config/mips/mips.cc (mips_attribute_table): Likewise. + * config/msp430/msp430.cc (msp430_attribute_table): Likewise. + * config/nds32/nds32.cc (nds32_attribute_table): Likewise. + * config/nvptx/nvptx.cc (nvptx_attribute_table): Likewise. + * config/riscv/riscv.cc (riscv_attribute_table): Likewise. + * config/rl78/rl78.cc (rl78_attribute_table): Likewise. + * config/rx/rx.cc (rx_attribute_table): Likewise. + * config/s390/s390.cc (s390_attribute_table): Likewise. + * config/sh/sh.cc (sh_attribute_table): Likewise. + * config/sparc/sparc.cc (sparc_attribute_table): Likewise. + * config/stormy16/stormy16.cc (xstormy16_attribute_table): Likewise. + * config/v850/v850.cc (v850_attribute_table): Likewise. + * config/visium/visium.cc (visium_attribute_table): Likewise. + * config/arc/arc.cc (arc_attribute_table): Likewise. Move further + down file. + * config/arm/arm.cc (arm_attribute_table): Update for above changes, + using... + (arm_gnu_attributes, arm_gnu_attribute_table): ...these new globals. + * config/i386/i386-options.h (ix86_attribute_table): Delete. + (ix86_gnu_attribute_table): Declare. + * config/i386/i386-options.cc (ix86_attribute_table): Replace with... + (ix86_gnu_attributes, ix86_gnu_attribute_table): ...these two globals. + * config/i386/i386.cc (ix86_attribute_table): Define as an array of + scoped_attribute_specs pointers. + * config/ia64/ia64.cc (ia64_attribute_table): Update for above changes, + using... + (ia64_gnu_attributes, ia64_gnu_attribute_table): ...these new globals. + * config/rs6000/rs6000.cc (rs6000_attribute_table): Update for above + changes, using... + (rs6000_gnu_attributes, rs6000_gnu_attribute_table): ...these new + globals. + +2023-12-02 Roger Sayle + + * config/riscv/riscv-vsetvl.cc (csetvl_info::parse_insn): Rename + local variable from demand_flags to dflags, to avoid conflicting + with (enumeration) type of the same name. + +2023-12-02 Li Wei + + * config/loongarch/loongarch.cc (loongarch_is_odd_extraction): + Supplementary function prototype. + (loongarch_is_even_extraction): Adjust. + (loongarch_try_expand_lsx_vshuf_const): Adjust. + (loongarch_is_extraction_permutation): Adjust. + (loongarch_expand_vec_perm_const_2): Adjust. + +2023-12-02 Li Wei + + * config/loongarch/loongarch.md (v2di): Used to simplify the + following templates. + (popcount2): New. + +2023-12-02 Li Wei + + * config/loongarch/loongarch.h (CTZ_DEFINED_VALUE_AT_ZERO): Add + description. + (CLZ_DEFINED_VALUE_AT_ZERO): Remove duplicate definition. + +2023-12-02 Juzhe-Zhong + + PR target/112801 + * config/riscv/vector.md: Add !TARGET_64BIT. + +2023-12-02 Pan Li + + PR target/112743 + * config/riscv/riscv.cc (riscv_legitimize_move): Take the + exist (U *mode) and handle DFmode like DImode when EEW is + 32bits for ZVE32F. + +2023-12-01 Andrew MacLeod + + * gimple-range-fold.h (range_compatible_p): Relocate. + * value-range.h (range_compatible_p): Here. + * range-op-mixed.h (operand_equal::operand_check_p): Call + range_compatible_p rather than comparing precision. + (operand_not_equal::operand_check_p): Ditto. + (operand_not_lt::operand_check_p): Ditto. + (operand_not_le::operand_check_p): Ditto. + (operand_not_gt::operand_check_p): Ditto. + (operand_not_ge::operand_check_p): Ditto. + (operand_plus::operand_check_p): Ditto. + (operand_abs::operand_check_p): Ditto. + (operand_minus::operand_check_p): Ditto. + (operand_negate::operand_check_p): Ditto. + (operand_mult::operand_check_p): Ditto. + (operand_bitwise_not::operand_check_p): Ditto. + (operand_bitwise_xor::operand_check_p): Ditto. + (operand_bitwise_and::operand_check_p): Ditto. + (operand_bitwise_or::operand_check_p): Ditto. + (operand_min::operand_check_p): Ditto. + (operand_max::operand_check_p): Ditto. + * range-op.cc (operand_lshift::operand_check_p): Ditto. + (operand_rshift::operand_check_p): Ditto. + (operand_logical_and::operand_check_p): Ditto. + (operand_logical_or::operand_check_p): Ditto. + (operand_logical_not::operand_check_p): Ditto. + +2023-12-01 Vladimir N. Makarov + + PR target/112445 + * lra.h (lra): Add one more arg. + * lra-int.h (lra_verbose, lra_dump_insns): New externals. + (lra_dump_insns_if_possible): Ditto. + * lra.cc (lra_dump_insns): Dump all insns. + (lra_dump_insns_if_possible): Dump all insns for lra_verbose >= 7. + (lra_verbose): New global. + (lra): Add new arg. Setup lra_verbose from its value. + * lra-assigns.cc (lra_split_hard_reg_for): Dump insns if rtl + was changed. + * lra-remat.cc (lra_remat): Dump insns if rtl was changed. + * lra-constraints.cc (lra_inheritance): Dump insns. + (lra_constraints, lra_undo_inheritance): Dump insns if rtl + was changed. + (remove_inheritance_pseudos): Use restore reg if it is set up. + * ira.cc: (lra): Pass internal_flag_ira_verbose. + +2023-12-01 Jakub Jelinek + + * doc/extend.texi (__builtin_addc, __builtin_addcl, __builtin_addcll, + __builtin_subc, __builtin_subcl, __builtin_subcll, + __builtin_stdc_bit_width, __builtin_stdc_count_ones, + __builtin_stdc_count_zeros, __builtin_stdc_first_leading_one, + __builtin_stdc_first_leading_zero, __builtin_stdc_first_trailing_one, + __builtin_stdc_first_trailing_zero, __builtin_stdc_has_single_bit, + __builtin_stdc_leading_ones, __builtin_stdc_leading_zeros, + __builtin_stdc_trailing_ones, __builtin_stdc_trailing_zeros, + __builtin_nvptx_brev, __builtin_nvptx_brevll, __builtin_darn, + __builtin_darn_raw, __builtin_ia32_vec_ext_v2di, + __builtin_ia32_crc32qi, __builtin_ia32_crc32hi, + __builtin_ia32_crc32si, __builtin_ia32_crc32di): Put {}s around + return type with spaces in it. + (__builtin_rx_mvfachi, __builtin_rx_mvfacmi): Remove superfluous + whitespace. + +2023-12-01 David Malcolm + + * diagnostic-core.h (emit_diagnostic_valist): New overload decl. + * diagnostic-format-sarif.cc (sarif_builder::make_result_object): + When we have metadata, call its maybe_add_sarif_properties vfunc. + * diagnostic-metadata.h (class sarif_object): Forward decl. + (diagnostic_metadata::~diagnostic_metadata): New. + (diagnostic_metadata::maybe_add_sarif_properties): New vfunc. + * diagnostic.cc (emit_diagnostic_valist): New overload. + +2023-12-01 David Malcolm + + PR analyzer/103533 + * doc/extend.texi: Remove stray reference to + -fanalyzer-checker=taint. + +2023-12-01 Juzhe-Zhong + + PR target/112431 + * config/riscv/vector.md: Support highpart overlap for vx/vf. + +2023-12-01 Juzhe-Zhong + + PR target/112431 + * config/riscv/vector.md: Support highpart overlap for indexed load. + +2023-12-01 Richard Biener + + * tree-vectorizer.h (vect_get_vec_defs): Re-order arguments. + * tree-vect-stmts.cc (vect_get_vec_defs): Likewise. + (vectorizable_condition): Update caller. + (vectorizable_comparison_1): Likewise. + (vectorizable_conversion): Specify the vector type to be + used for invariant/external defs. + * tree-vect-loop.cc (vect_transform_reduction): Update caller. + +2023-12-01 Jakub Jelinek + + PR middle-end/112770 + * gimple-lower-bitint.cc (gimple_lower_bitint): When adjusting + lhs of middle _BitInt setter which ends bb, insert cast on + the fallthru edge rather than after stmt. + +2023-12-01 Jakub Jelinek + + PR middle-end/112771 + * gimple-lower-bitint.cc (bitint_large_huge::handle_operand_addr): + Use mp = 1 if it is zero. + +2023-12-01 Jose E. Marchesi + + * config/bpf/bpf.cc (bpf_asm_named_section): New function. + (TARGET_ASM_NAMED_SECTION): Set to bpf_asm_named_section. + +2023-12-01 Di Zhao + + * config/aarch64/aarch64-tuning-flags.def + (AARCH64_EXTRA_TUNING_OPTION): New tuning option to avoid + cross-loop FMA. + * config/aarch64/aarch64.cc + (aarch64_override_options_internal): Set + param_avoid_fma_max_bits according to tuning option. + * config/aarch64/tuning_models/ampere1.h (ampere1_tunings): + Modify tunings related with FMA. + * config/aarch64/tuning_models/ampere1a.h (ampere1a_tunings): + Likewise. + * config/aarch64/tuning_models/ampere1b.h (ampere1b_tunings): + Likewise. + +2023-12-01 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins.h + (function_expander::result_mode): New member function. + * config/aarch64/aarch64-sve-builtins-base.cc + (svld234_impl::expand): Use it. + * config/aarch64/aarch64-sve-builtins.cc + (function_expander::get_reg_target): Likewise. + +2023-12-01 Jakub Jelinek + + * gimple-lower-bitint.cc (range_to_prec): Don't return -1 for + signed types. + (bitint_large_huge::lower_addsub_overflow): Fix up computation of + prec2. + (bitint_large_huge::lower_mul_overflow): Likewise. + +2023-12-01 Jakub Jelinek + + * gimple-lower-bitint.cc (bitint_large_huge::finish_arith_overflow): + When replacing use_stmt which is gsi_stmt (m_gsi), update m_gsi to + the new statement. + +2023-12-01 Jakub Jelinek + + PR middle-end/112750 + * gimple-lower-bitint.cc (bitint_large_huge::lower_addsub_overflow): + Use NE_EXPR rather than EQ_EXPR for g2 if !single_comparison and + adjust probabilities. + +2023-12-01 Xi Ruoyao + + * doc/install.texi: Deem srcdir == objdir broken, but objdir + as a subdirectory of srcdir fine. + +2023-12-01 Juergen Christ + + PR target/112753 + * config/s390/s390.cc (s390_md_asm_adjust): Return after dealing + with the outputs, if no further processing of long doubles is + required. + +2023-12-01 Jakub Jelinek + + PR target/112725 + * config/s390/s390.cc (s390_invalid_arg_for_unprototyped_fn): Return + NULL for __builtin_classify_type calls with vector arguments. + +2023-12-01 Florian Weimer + + * doc/invoke.texi (Warning Options): Document + -Wdeclaration-missing-parameter-type. + +2023-12-01 Florian Weimer + + * doc/invoke.texi (Warning Options): Document changes. + +2023-12-01 Florian Weimer + + * doc/invoke.texi (Warning Options): Document that + -Wreturn-mismatch is a permerror in C99 and later. + +2023-12-01 Florian Weimer + + PR c/91093 + PR c/96284 + * doc/invoke.texi (Warning Options): Document changes. + +2023-12-01 Florian Weimer + + * doc/invoke.texi (Warning Options): Document changes. + +2023-12-01 Florian Weimer + + * doc/invoke.texi (Warning Options): Document changes. + +2023-12-01 Juzhe-Zhong + + PR target/112776 + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::pre_global_vsetvl_info): Fix ratio. + +2023-11-30 Wilco Dijkstra + + PR target/111404 + * config/aarch64/aarch64.cc (aarch64_split_compare_and_swap): + For 128-bit store the loaded value and loop if needed. + +2023-11-30 Wilco Dijkstra + + PR target/103100 + * config/aarch64/aarch64.md (cpymemdi): Remove pattern condition. + (setmemdi): Likewise. + * config/aarch64/aarch64.cc (aarch64_expand_cpymem): Support + strict-align. Cleanup condition for using MOPS. + (aarch64_expand_setmem): Likewise. + +2023-11-30 Richard Biener + + PR tree-optimization/112767 + * tree-scalar-evolution.cc (final_value_replacement_loop): + Propagate constants to immediate uses immediately. + +2023-11-30 Richard Biener + + PR tree-optimization/112766 + * gimple-predicate-analysis.cc (find_var_cmp_const): + Support continuing the iteration and report every candidate. + (uninit_analysis::overlap): Iterate over all flag var + candidates. + +2023-11-30 Juzhe-Zhong + + PR target/112431 + * config/riscv/vector.md: Add widening overlap of vf2/vf4. + +2023-11-30 Juzhe-Zhong + + PR target/112431 + * config/riscv/vector.md: Remove earlyclobber for wx/wf instructions. + +2023-11-30 Jakub Jelinek + + PR middle-end/112733 + * wide-int.cc (wi::mul_internal): Don't allocate twice as much + space for u, v and r as needed. + (divmod_internal_2): Change return type from void to int, for n == 1 + return 1, otherwise before writing b_dividend into b_remainder set + n to MIN (n, m) and at the end return it. + (wi::divmod_internal): Don't allocate 4 times as much space for + b_quotient, b_remainder, b_dividend and b_divisor. Set n to + result of divmod_internal_2. + (wide_int_cc_tests): Add test for unsigned widest_int + wi::multiple_of_p of 1 and -128. + +2023-11-30 liuhongt + + * config/i386/sse.md (sdot_prodv64qi): New expander. + (sseunpackmodelower): New mode attr. + (sdot_prod): Emulate sdot_prodv*qi with sodt_prov*hi + when TARGET_VNNIINT8 is not available. + +2023-11-30 liuhongt + + * config/i386/sse.md: (reduc_plus_scal_): Use + vec_extract_lo instead of subreg. + (reduc__scal_): Ditto. + (reduc__scal_): Ditto. + (reduc__scal_): Ditto. + (reduc__scal_): Ditto. + +2023-11-30 Juzhe-Zhong + + PR target/112431 + * config/riscv/vector.md: Add widenning overlap. + +2023-11-30 Juzhe-Zhong + + * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Fix constraint. + * config/riscv/riscv.md (no,W21,W42,W84,W41,W81,W82): Rename vconstraint into group_overlap. + (no,yes): Ditto. + (none,W21,W42,W84,W43,W86,W87): Ditto. + * config/riscv/vector.md: Ditto. + +2023-11-30 Juzhe-Zhong + + * config/riscv/vector.md: Support highpart overlap for vext.vf2 + +2023-11-29 Philipp Tomsich + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere-1b + * config/aarch64/aarch64-cost-tables.h: Add ampere1b_extra_costs + * config/aarch64/aarch64-tune.md: Regenerate + * config/aarch64/aarch64.cc: Include ampere1b tuning model + * doc/invoke.texi: Document -mcpu=ampere1b + * config/aarch64/tuning_models/ampere1b.h: New file. + +2023-11-29 David Faust + + * config/bpf/bpf.h (ASM_COMMENT_START): Change from ';' to '#'. + +2023-11-29 Jakub Jelinek + + PR target/112725 + * config/rs6000/rs6000.cc (invalid_arg_for_unprototyped_fn): Return + NULL for __builtin_classify_type calls with vector arguments. + +2023-11-29 Andrew MacLeod + + PR tree-optimization/111922 + * ipa-cp.cc (ipa_vr_operation_and_type_effects): Check the + operands are valid before calling fold_range. + +2023-11-29 Andrew MacLeod + + * range-op-mixed.h (operator_equal::operand_check_p): New. + (operator_not_equal::operand_check_p): New. + (operator_lt::operand_check_p): New. + (operator_le::operand_check_p): New. + (operator_gt::operand_check_p): New. + (operator_ge::operand_check_p): New. + (operator_plus::operand_check_p): New. + (operator_abs::operand_check_p): New. + (operator_minus::operand_check_p): New. + (operator_negate::operand_check_p): New. + (operator_mult::operand_check_p): New. + (operator_bitwise_not::operand_check_p): New. + (operator_bitwise_xor::operand_check_p): New. + (operator_bitwise_and::operand_check_p): New. + (operator_bitwise_or::operand_check_p): New. + (operator_min::operand_check_p): New. + (operator_max::operand_check_p): New. + * range-op.cc (range_op_handler::fold_range): Check operand + parameter types. + (range_op_handler::op1_range): Ditto. + (range_op_handler::op2_range): Ditto. + (range_op_handler::operand_check_p): New. + (range_operator::operand_check_p): New. + (operator_lshift::operand_check_p): New. + (operator_rshift::operand_check_p): New. + (operator_logical_and::operand_check_p): New. + (operator_logical_or::operand_check_p): New. + (operator_logical_not::operand_check_p): New. + * range-op.h (range_operator::operand_check_p): New. + (range_op_handler::operand_check_p): New. + +2023-11-29 Martin Jambor + + PR tree-optimization/112711 + PR tree-optimization/112721 + * tree-sra.cc (build_access_from_call_arg): New parameter + CAN_BE_RETURNED, disqualify any candidate passed by reference if it is + true. Adjust leading comment. + (scan_function): Pass appropriate value to CAN_BE_RETURNED of + build_access_from_call_arg. + +2023-11-29 Thomas Schwinge + + * doc/sourcebuild.texi (Final Actions): Document + 'only_for_offload_target' wrapper. + +2023-11-29 Rainer Orth + + PR testsuite/112729 + * doc/sourcebuild.texi (Effective-Target Keywords, Environment + attributes): Document cfi. + +2023-11-29 Richard Biener + + PR middle-end/110237 + * internal-fn.cc (expand_partial_load_optab_fn): Clear + MEM_EXPR and MEM_OFFSET. + (expand_partial_store_optab_fn): Likewise. + +2023-11-29 Jakub Jelinek + + PR middle-end/112733 + * fold-const.cc (multiple_of_p): Pass SIGNED rather than + UNSIGNED for wi::multiple_of_p on widest_int arguments. + +2023-11-29 Juzhe-Zhong + kito-cheng + kito-cheng + + PR target/112431 + * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): New register filters. + * config/riscv/riscv.md (no,W21,W42,W84,W41,W81,W82): Ditto. + (no,yes): Ditto. + * config/riscv/vector.md: Support highpart register overlap for vwcvt. + +2023-11-29 xuli + + * config/riscv/riscv.cc (riscv_option_override): Eliminate warning. + +2023-11-29 Jakub Jelinek + + PR bootstrap/111601 + * fold-mem-offsets.cc (get_uses): Ignore DEBUG_INSN uses. Otherwise, + punt if use is in a different basic block from INSN or appears before + INSN in the same basic block. Formatting fixes. + (get_single_def_in_bb): Formatting fixes. + (fold_offsets_1, pass_fold_mem_offsets::execute): Comment formatting + fixes. + +2023-11-29 Xi Ruoyao + + * config/loongarch/simd.md (LSX_SCALAR_FRINT): New int iterator. + (VLSX_FOR_FMODE): New mode attribute. + (2): New expander, + expanding to vreplvei.{w/d} + frint{rp/rz/rm/rne}.{s.d}. + +2023-11-29 Xi Ruoyao + + * config/loongarch/loongarch.md (lrint_allow_inexact): Remove. + (2): Check if + == UNSPEC_FTINT instead of . + +2023-11-29 Xi Ruoyao + + * config/loongarch/lsx.md (bitimm): Move to ... + (UNSPEC_LSX_VROTR): Remove. + (lsx_vrotr_): Remove. + (lsx_vrotri_): Remove. + * config/loongarch/lasx.md (UNSPEC_LASX_XVROTR): Remove. + (lsx_vrotr_): Remove. + (lsx_vrotri_): Remove. + * config/loongarch/simd.md (bitimm): ... here. Expand it to + cover LASX modes. + (vrotr3): New define_insn. + (vrotri3): New define_insn. + * config/loongarch/loongarch-builtins.cc: + (CODE_FOR_lsx_vrotr_b): Use standard pattern name. + (CODE_FOR_lsx_vrotr_h): Likewise. + (CODE_FOR_lsx_vrotr_w): Likewise. + (CODE_FOR_lsx_vrotr_d): Likewise. + (CODE_FOR_lasx_xvrotr_b): Likewise. + (CODE_FOR_lasx_xvrotr_h): Likewise. + (CODE_FOR_lasx_xvrotr_w): Likewise. + (CODE_FOR_lasx_xvrotr_d): Likewise. + (CODE_FOR_lsx_vrotri_b): Define to standard pattern name. + (CODE_FOR_lsx_vrotri_h): Likewise. + (CODE_FOR_lsx_vrotri_w): Likewise. + (CODE_FOR_lsx_vrotri_d): Likewise. + (CODE_FOR_lasx_xvrotri_b): Likewise. + (CODE_FOR_lasx_xvrotri_h): Likewise. + (CODE_FOR_lasx_xvrotri_w): Likewise. + (CODE_FOR_lasx_xvrotri_d): Likewise. + +2023-11-29 Xi Ruoyao + + * config/loongarch/simd.md (muh): New code attribute mapping + any_extend to smul_highpart or umul_highpart. + (mul3_highpart): New define_insn. + * config/loongarch/lsx.md (UNSPEC_LSX_VMUH_S): Remove. + (UNSPEC_LSX_VMUH_U): Remove. + (lsx_vmuh_s_): Remove. + (lsx_vmuh_u_): Remove. + * config/loongarch/lasx.md (UNSPEC_LASX_XVMUH_S): Remove. + (UNSPEC_LASX_XVMUH_U): Remove. + (lasx_xvmuh_s_): Remove. + (lasx_xvmuh_u_): Remove. + * config/loongarch/loongarch-builtins.cc (CODE_FOR_lsx_vmuh_b): + Redefine to standard pattern name. + (CODE_FOR_lsx_vmuh_h): Likewise. + (CODE_FOR_lsx_vmuh_w): Likewise. + (CODE_FOR_lsx_vmuh_d): Likewise. + (CODE_FOR_lsx_vmuh_bu): Likewise. + (CODE_FOR_lsx_vmuh_hu): Likewise. + (CODE_FOR_lsx_vmuh_wu): Likewise. + (CODE_FOR_lsx_vmuh_du): Likewise. + (CODE_FOR_lasx_xvmuh_b): Likewise. + (CODE_FOR_lasx_xvmuh_h): Likewise. + (CODE_FOR_lasx_xvmuh_w): Likewise. + (CODE_FOR_lasx_xvmuh_d): Likewise. + (CODE_FOR_lasx_xvmuh_bu): Likewise. + (CODE_FOR_lasx_xvmuh_hu): Likewise. + (CODE_FOR_lasx_xvmuh_wu): Likewise. + (CODE_FOR_lasx_xvmuh_du): Likewise. + +2023-11-29 Xi Ruoyao + + PR target/112578 + * config/loongarch/lsx.md (UNSPEC_LSX_VFTINT_S, + UNSPEC_LSX_VFTINTRNE, UNSPEC_LSX_VFTINTRP, + UNSPEC_LSX_VFTINTRM, UNSPEC_LSX_VFRINTRNE_S, + UNSPEC_LSX_VFRINTRNE_D, UNSPEC_LSX_VFRINTRZ_S, + UNSPEC_LSX_VFRINTRZ_D, UNSPEC_LSX_VFRINTRP_S, + UNSPEC_LSX_VFRINTRP_D, UNSPEC_LSX_VFRINTRM_S, + UNSPEC_LSX_VFRINTRM_D): Remove. + (ILSX, FLSX): Move into ... + (VIMODE): Move into ... + (FRINT_S, FRINT_D): Remove. + (frint_pattern_s, frint_pattern_d, frint_suffix): Remove. + (lsx_vfrint_, lsx_vftint_s__, + lsx_vftintrne_w_s, lsx_vftintrne_l_d, lsx_vftintrp_w_s, + lsx_vftintrp_l_d, lsx_vftintrm_w_s, lsx_vftintrm_l_d, + lsx_vfrintrne_s, lsx_vfrintrne_d, lsx_vfrintrz_s, + lsx_vfrintrz_d, lsx_vfrintrp_s, lsx_vfrintrp_d, + lsx_vfrintrm_s, lsx_vfrintrm_d, + v4sf2, + v2df2, round2, + fix_trunc2): Remove. + * config/loongarch/lasx.md: Likewise. + * config/loongarch/simd.md: New file. + (ILSX, ILASX, FLSX, FLASX, VIMODE): ... here. + (IVEC, FVEC): New mode iterators. + (VIMODE): ... here. Extend it to work for all LSX/LASX vector + modes. + (x, wu, simd_isa, WVEC, vimode, simdfmt, simdifmt_for_f, + elebits): New mode attributes. + (UNSPEC_SIMD_FRINTRP, UNSPEC_SIMD_FRINTRZ, UNSPEC_SIMD_FRINT, + UNSPEC_SIMD_FRINTRM, UNSPEC_SIMD_FRINTRNE): New unspecs. + (SIMD_FRINT): New int iterator. + (simd_frint_rounding, simd_frint_pattern): New int attributes. + (_vfrint_): New + define_insn template for frint instructions. + (_vftint__): + Likewise, but for ftint instructions. + (2): New define_expand with + flag_fp_int_builtin_inexact checked. + (l2): Likewise. + (ftrunc2): New define_expand. It does not require + flag_fp_int_builtin_inexact. + (fix_trunc2): New define_insn_and_split. It does + not require flag_fp_int_builtin_inexact. + (include): Add lsx.md and lasx.md. + * config/loongarch/loongarch.md (include): Include simd.md, + instead of including lsx.md and lasx.md directly. + * config/loongarch/loongarch-builtins.cc + (CODE_FOR_lsx_vftint_w_s, CODE_FOR_lsx_vftint_l_d, + CODE_FOR_lasx_xvftint_w_s, CODE_FOR_lasx_xvftint_l_d): + Remove. + +2023-11-29 Alexandre Oliva + + * doc/extend.texi (hardbool): New type attribute. + * doc/invoke.texi (-ftrivial-auto-var-init): Document + representation vs values. + +2023-11-29 Alexandre Oliva + + * expr.cc (emit_block_move_hints): Take ctz of len. Obey + -finline-stringops. Use oriented or sized loop. + (emit_block_move): Take ctz of len, and pass it on. + (emit_block_move_via_sized_loop): New. + (emit_block_move_via_oriented_loop): New. + (emit_block_move_via_loop): Take incr. Move an incr-sized + block per iteration. + (emit_block_cmp_via_cmpmem): Take ctz of len. Obey + -finline-stringops. + (emit_block_cmp_via_loop): New. + * expr.h (emit_block_move): Add ctz of len defaulting to zero. + (emit_block_move_hints): Likewise. + (emit_block_cmp_hints): Likewise. + * builtins.cc (expand_builtin_memory_copy_args): Pass ctz of + len to emit_block_move_hints. + (try_store_by_multiple_pieces): Support starting with a loop. + (expand_builtin_memcmp): Pass ctz of len to + emit_block_cmp_hints. + (expand_builtin): Allow inline expansion of memset, memcpy, + memmove and memcmp if requested. + * common.opt (finline-stringops): New. + (ilsop_fn): New enum. + * flag-types.h (enum ilsop_fn): New. + * doc/invoke.texi (-finline-stringops): Add. + +2023-11-29 Pan Li + + PR target/112743 + * config/riscv/riscv-string.cc (expand_block_move): Add + precondition check for exact_div. + +2023-11-28 Roger Sayle + + * config/arc/arc.md: Make output template whitespace consistent. + +2023-11-28 Jose E. Marchesi + + * varasm.cc (assemble_external_libcall): Refer in assert only ifdef + ASM_OUTPUT_EXTERNAL. + +2023-11-28 Andrew Pinski + + PR tree-optimization/112738 + * match.pd (`(nop_convert)-(convert)a`): Reject + when the outer type is boolean. + +2023-11-28 Richard Biener + + PR middle-end/112732 + * tree.cc (build_opaque_vector_type): Reset TYPE_ALIAS_SET + of the newly built type. + +2023-11-28 Uros Bizjak + + PR target/112494 + * config/i386/i386.md (cmpstrnqi_1): Set FLAGS_REG to its previous + value when operand 2 equals zero. + (*cmpstrnqi_1): Ditto. + (*cmpstrnqi_1 peephole2): Ditto. + +2023-11-28 Cupertino Miranda + + Revert: + 2023-11-28 Cupertino Miranda + + * config/bpf/bpf.cc (bpf_output_call): Report error in case the + function call is for a builtin. + (bpf_external_libcall): Added target hook to detect and report + error when other external calls that are not builtins. + +2023-11-28 Jose E. Marchesi + + PR target/109253 + * varasm.cc (pending_libcall_symbols): New variable. + (process_pending_assemble_externals): Process + pending_libcall_symbols. + (assemble_external_libcall): Defer emitting external libcall + symbols to process_pending_assemble_externals. + +2023-11-28 Cupertino Miranda + + * btfout.cc (btf_calc_num_vbytes): Fixed logic for enum64. + (btf_asm_enum_const): Corrected logic for enum64 and smaller + than 4 bytes values. + +2023-11-28 Cupertino Miranda + + * config/bpf/bpf.cc (bpf_output_call): Report error in case the + function call is for a builtin. + (bpf_external_libcall): Added target hook to detect and report + error when other external calls that are not builtins. + +2023-11-28 Cupertino Miranda + + * config/bpf/bpf.cc (bpf_use_by_pieces_infrastructure_p): Added + function to bypass default behaviour. + * config/bpf/bpf.h (COMPARE_MAX_PIECES): Defined to 1024 bytes. + +2023-11-28 Cupertino Miranda + + * config/bpf/core-builtins.cc (core_mark_as_access_index): + Corrected check. + +2023-11-28 Cupertino Miranda + + * config/bpf/core-builtins.cc + (bpf_resolve_overloaded_core_builtin): Removed call. + (execute_lower_bpf_core): Added all to remove_parser_plugin. + +2023-11-28 Juzhe-Zhong + + PR target/112694 + * config/riscv/riscv-v.cc (expand_vec_perm_const): Disallow poly size (1, 1) VLA SLP. + +2023-11-28 Jakub Jelinek + + PR tree-optimization/112719 + * match.pd (parity(X)^parity(Y) -> parity(X^Y)): Handle case of + mismatched types. + * gimple-match-exports.cc (build_call_internal): Add special-case for + bit query ifns on large/huge BITINT_TYPE before bitint lowering. + +2023-11-28 Jakub Jelinek + + PR tree-optimization/112719 + * match.pd (popcount (X) + popcount (Y) -> POPCOUNT (X | Y)): Deal + with argument types with different precisions. + +2023-11-28 David Malcolm + + PR analyzer/109077 + * Makefile.in (PLUGIN_HEADERS): Add analyzer headers. + (install-plugin): Keep the directory structure for files in + "analyzer". + +2023-11-28 Juzhe-Zhong + + PR target/112713 + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::compute_lcm_local_properties): Fix regression. + +2023-11-28 David Malcolm + + * diagnostic-show-locus.cc (layout::maybe_add_location_range): + Don't print annotation lines for ranges when there's no column + info. + (selftest::test_one_liner_no_column): New. + (selftest::test_diagnostic_show_locus_one_liner): Call it. + +2023-11-28 David Malcolm + + * diagnostic.cc (diagnostic_get_location_text): Convert to... + (diagnostic_context::get_location_text): ...this, and convert + return type from char * to label_text. + (diagnostic_build_prefix): Update for above change. + (default_diagnostic_start_span_fn): Likewise. + (selftest::assert_location_text): Likewise. + * diagnostic.h (diagnostic_context::get_location_text): New decl. + +2023-11-27 Andrew Pinski + + * config/aarch64/aarch64.cc (aarch64_if_then_else_costs): + Handle csinv/csinc case of 1/-1. + +2023-11-27 Prathamesh Kulkarni + Richard Sandiford + + PR middle-end/111754 + * fold-const.cc (fold_vec_perm_cst): Set result's encoding to sel's + encoding, and set res_nelts_per_pattern to 2 if sel contains stepped + sequence but input vectors do not. + (test_nunits_min_2): New test Case 8. + (test_nunits_min_4): New tests Case 8 and Case 9. + +2023-11-27 Szabolcs Nagy + + * config/aarch64/aarch64.cc (aarch64_needs_frame_chain): Do not + force frame chain for eh_return. + +2023-11-27 Szabolcs Nagy + + * config/aarch64/aarch64-protos.h (aarch64_eh_return_handler_rtx): + Remove. + * config/aarch64/aarch64.cc (aarch64_return_address_signing_enabled): + Sign return address even in functions with eh_return. + (aarch64_expand_epilogue): Conditionally return with br or ret. + (aarch64_eh_return_handler_rtx): Remove. + * config/aarch64/aarch64.h (EH_RETURN_TAKEN_RTX): Define. + (EH_RETURN_STACKADJ_RTX): Change to R5. + (EH_RETURN_HANDLER_RTX): Change to R6. + * df-scan.cc: Handle EH_RETURN_TAKEN_RTX. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in: Document EH_RETURN_TAKEN_RTX. + * except.cc (expand_eh_return): Handle EH_RETURN_TAKEN_RTX. + +2023-11-27 Thomas Schwinge + + * config.gcc (extra_gcc_objs): Don't set. + * config/gcn/driver-gcn.cc: Remove. + * config/gcn/gcn-hsa.h (ASM_SPEC, EXTRA_SPEC_FUNCTIONS): Remove + 'last_arg' spec function. + * config/gcn/t-gcn-hsa (driver-gcn.o): Remove. + +2023-11-27 Thomas Schwinge + + PR target/112669 + * config/gcn/gcn.opt (march=, mtune=): Tag as 'Negative' of + themselves. + +2023-11-27 Samuel Thibault + + * config/i386/gnu.h: Use PIE_SPEC, add static-pie case. + * config/i386/gnu64.h: Use PIE_SPEC, add static-pie case. + +2023-11-27 Samuel Thibault + + * config/i386/t-gnu64: New file. + * config.gcc [x86_64-*-gnu*]: Add i386/t-gnu64 to + tmake_file. + +2023-11-27 Richard Sandiford + + PR target/106326 + * config/aarch64/aarch64-sve-builtins.h (is_ptrue): Declare. + * config/aarch64/aarch64-sve-builtins.cc (is_ptrue): New function. + (gimple_folder::redirect_pred_x): Likewise. + (gimple_folder::fold): Use it. + +2023-11-27 Richard Sandiford + + * config/aarch64/aarch64-sve-builtins.h (vector_cst_all_same): Declare. + * config/aarch64/aarch64-sve-builtins.cc (vector_cst_all_same): New + function, a generalized replacement of... + * config/aarch64/aarch64-sve-builtins-base.cc + (svlast_impl::vect_all_same): ...this. + (svlast_impl::fold): Update accordingly. + +2023-11-27 Richard Biener + + PR tree-optimization/112653 + * gimple-ssa.h (gimple_df): Add escaped_return solution. + * tree-ssa.cc (init_tree_ssa): Reset it. + (delete_tree_ssa): Likewise. + * tree-ssa-structalias.cc (escaped_return_id): New. + (find_func_aliases): Handle non-IPA return stmts by + adding to ESCAPED_RETURN. + (set_uids_in_ptset): Adjust HEAP escaping to also cover + escapes through return. + (init_base_vars): Initialize ESCAPED_RETURN. + (compute_points_to_sets): Replace ESCAPED post-processing + with recording the ESCAPED_RETURN solution. + * tree-ssa-alias.cc (ref_may_alias_global_p_1): Check + the ESCAPED_RETUNR solution. + (dump_alias_info): Dump it. + * cfgexpand.cc (update_alias_info_with_stack_vars): Update it. + * ipa-icf.cc (sem_item_optimizer::fixup_points_to_sets): + Likewise. + * tree-inline.cc (expand_call_inline): Reset it. + * tree-parloops.cc (parallelize_loops): Likewise. + * tree-sra.cc (maybe_add_sra_candidate): Check it. + +2023-11-27 Richard Biener + Richard Sandiford + + PR tree-optimization/112661 + * tree-vect-slp.cc (vect_get_and_check_slp_defs): Defer duplicate-and- + interleave test to... + (vect_build_slp_tree_2): ...here, once we have all the operands. + Skip the test for uniform vectors. + (vect_create_constant_vectors): Detect uniform vectors. Avoid + redundant conversions in that case. Use gimple_build_vector_from_val + to build the vector. + +2023-11-27 Richard Sandiford + + * attribs.cc (excl_hash_traits): Delete. + (test_attribute_exclusions): Use pair_hash and nofree_string_hash + instead. + +2023-11-27 Andrew Stubbs + + * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Disallow TImode. + +2023-11-27 Stefan Schulze Frielinghaus + + * config/s390/s390-builtin-types.def (BT_FN_UV8HI_UV8HI_UINT): + Add missing builtin type. + +2023-11-27 Stefan Schulze Frielinghaus + + * config/s390/s390-builtin-types.def: Remove types. + * config/s390/s390-builtins.def (O_U64): Remove 64-bit literal support. + Don't restrict s390_vec_rli and s390_verll[bhfg] to immediates. + * config/s390/s390.cc (s390_const_operand_ok): Remove 64-bit + literal support. + +2023-11-27 Alex Coplan + Iain Sandoe + + PR c++/60512 + * doc/cpp.texi: Document __has_{feature,extension}. + +2023-11-27 Richard Biener + + PR tree-optimization/112706 + * match.pd (ptr + o ==/!=/- ptr + o'): New patterns. + +2023-11-27 Stefan Schulze Frielinghaus + + * config/s390/s390-builtin-types.def: Add/remove types. + * config/s390/s390-builtins.def + (s390_vclfnhs,s390_vclfnls,s390_vcrnfs,s390_vcfn,s390_vcnf): + Replace type V8HI with UV8HI. + +2023-11-27 Stefan Schulze Frielinghaus + + * config/s390/s390-builtins.def + (s390_vcefb,s390_vcdgb,s390_vcelfb,s390_vcdlgb,s390_vcfeb,s390_vcgdb, + s390_vclfeb,s390_vclgdb): Remove flags for non-existing operands + 2 and 3. + +2023-11-27 Stefan Schulze Frielinghaus + + * config/s390/s390.md (*cmphi_ccu): For immediate operand 1 make + use of constraint n instead of D and chop of high bits in the + output template. + +2023-11-27 Jakub Jelinek + + PR target/112300 + * config.gcc (mips*-sde-elf*): Append to tm_defines rather than + overwriting them. + +2023-11-27 Juzhe-Zhong + + * config/riscv/autovec.md + (mask_len_gather_load): + Remove gather_scatter_valid_offset_mode_p. + (mask_len_gather_load): Ditto. + (mask_len_scatter_store): Ditto. + (mask_len_scatter_store): Ditto. + * config/riscv/predicates.md (const_1_or_8_operand): New predicate. + (vector_gs_scale_operand_64): Remove. + * config/riscv/riscv-protos.h (gather_scatter_valid_offset_mode_p): Remove. + * config/riscv/riscv-v.cc (expand_gather_scatter): Refine code. + (gather_scatter_valid_offset_mode_p): Remove. + * config/riscv/vector-iterators.md: Fix iterator bugs. + +2023-11-27 Tsukasa OI + + * common/config/riscv/riscv-common.cc + (riscv_ext_version_table): Set version to ratified 2.0. + (riscv_subset_list::parse_std_ext): Allow RV64E. + * config.gcc: Parse base ISA 'rv64e' and ABI 'lp64e'. + * config/riscv/arch-canonicalize: Parse base ISA 'rv64e'. + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): + Define different macro per XLEN. Add handling for ABI_LP64E. + * config/riscv/riscv-d.cc (riscv_d_handle_target_float_abi): + Add handling for ABI_LP64E. + * config/riscv/riscv-opts.h (enum riscv_abi_type): Add ABI_LP64E. + * config/riscv/riscv.cc (riscv_option_override): Enhance error + handling to support RV64E and LP64E. + (riscv_conditional_register_usage): Change "RV32E" in a comment + to "RV32E/RV64E". + * config/riscv/riscv.h + (UNITS_PER_FP_ARG): Add handling for ABI_LP64E. + (STACK_BOUNDARY): Ditto. + (ABI_STACK_BOUNDARY): Ditto. + (MAX_ARGS_IN_REGISTERS): Ditto. + (ABI_SPEC): Add support for "lp64e". + * config/riscv/riscv.opt: Parse -mabi=lp64e as ABI_LP64E. + * doc/invoke.texi: Add documentation of the LP64E ABI. + +2023-11-27 Jose E. Marchesi + + * config/bpf/bpf-helpers.h: Remove. + * config.gcc: Adapt accordingly. + +2023-11-27 Guo Jie + + * config/loongarch/loongarch.cc (loongarch_split_plus_constant): + avoid left shift of negative value -0x8000. + +2023-11-27 Guo Jie + + * config/loongarch/loongarch.cc + (enum loongarch_load_imm_method): Add new method. + (loongarch_build_integer): Add relevant implementations for + new method. + (loongarch_move_integer): Ditto. + +2023-11-26 Alexander Monakov + + * sort.cc: Use 'sorting networks' in comments. + +2023-11-26 Juzhe-Zhong + + PR target/112599 + * config/riscv/riscv-avlprop.cc (avl_can_be_propagated_p): Add slidedown. + (vlmax_ta_p): Ditto. + (pass_avlprop::get_vlmax_ta_preferred_avl): Ditto. + +2023-11-26 Juzhe-Zhong + + * config/riscv/riscv-avlprop.cc (alv_can_be_propagated_p): Fix typo. + (avl_can_be_propagated_p): Ditto. + (vlmax_ta_p): Ditto. + +2023-11-25 Gerald Pfeifer + + PR other/69374 + * doc/install.texi (Downloading the source): Sort the list of + front ends and add D, Go, and Modula-2. + +2023-11-25 Gerald Pfeifer + + PR target/69374 + * doc/install.texi (Specific) <*-*-freebsd*>: Remove older + contents referencing GCC 4.x. + +2023-11-25 Gerald Pfeifer + + * doc/standards.texi (Standards): Update ISO C++ reference. + +2023-11-25 Jakub Jelinek + + PR target/111408 + * config/i386/i386.md (*jcc_bt_mask, + *jcc_bt_mask_1): Add (const_int 0) as expected + second operand of bt_comparison_operator. + +2023-11-25 Andrew Pinski + Jakub Jelinek + + PR target/109977 + * config/aarch64/aarch64-simd.md (aarch64_simd_stp): Use + rather than % for alternative with r constraint on input operand. + +2023-11-24 Tobias Burnus + + * doc/install.texi (amdgcn-*-amdhsa): Fix URL to ROCm; + change 'in the future' to 'in LLVM 18'. + +2023-11-24 John David Anglin + + * config/pa/pa.cc (pa_emit_move_sequence): Use INT14_OK_STRICT + in a couple of places. + +2023-11-24 Martin Jambor + + PR middle-end/109849 + * tree-sra.cc (passed_by_ref_in_call): New. + (sra_initialize): Allocate passed_by_ref_in_call. + (sra_deinitialize): Free passed_by_ref_in_call. + (create_access): Add decl pool candidates only if they are not + already candidates. + (build_access_from_expr_1): Bail out on ADDR_EXPRs. + (build_access_from_call_arg): New function. + (asm_visit_addr): Rename to scan_visit_addr, change the + disqualification dump message. + (scan_function): Check taken addresses for all non-call statements, + including phi nodes. Process all call arguments, including the static + chain, build_access_from_call_arg. + (maybe_add_sra_candidate): Relax need_to_live_in_memory check to allow + non-escaped local variables. + (sort_and_splice_var_accesses): Disallow smaller-than-precision + replacements for aggregates passed by reference to functions. + (sra_modify_expr): Use a separate stmt iterator for adding satements + before the processed statement and after it. + (enum out_edge_check): New type. + (abnormal_edge_after_stmt_p): New function. + (sra_modify_call_arg): New function. + (sra_modify_assign): Adjust calls to sra_modify_expr. + (sra_modify_function_body): Likewise, use sra_modify_call_arg to + process call arguments, including the static chain. + +2023-11-24 Uros Bizjak + + PR target/112686 + * config/i386/i386.cc (ix86_expand_split_stack_prologue): Load + function address to a register for ix86_cmodel == CM_LARGE. + +2023-11-24 Tobias Burnus + + * doc/invoke.texi (-Wopenmp): Add. + * gimplify.cc (gimplify_omp_for): Add OPT_Wopenmp to warning_at. + * omp-expand.cc (expand_omp_ordered_sink): Likewise. + * omp-general.cc (omp_check_context_selector): Likewise. + * omp-low.cc (scan_omp_for, check_omp_nesting_restrictions, + lower_omp_ordered_clauses): Likewise. + * omp-simd-clone.cc (simd_clone_clauses_extract): Likewise. + +2023-11-24 Juzhe-Zhong + + PR target/112694 + * config/riscv/riscv-v.cc (preferred_simd_mode): Allow poly_int (1,1) vectors. + +2023-11-24 Alexander Monakov + + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Delete manual checks for old Valgrind headers. + * system.h (VALGRIND_MAKE_MEM_NOACCESS): Delete. + (VALGRIND_MAKE_MEM_DEFINED): Delete. + (VALGRIND_MAKE_MEM_UNDEFINED): Delete. + (VALGRIND_MALLOCLIKE_BLOCK): Delete. + (VALGRIND_FREELIKE_BLOCK): Delete. + +2023-11-24 Jakub Jelinek + + PR target/112681 + * config/i386/i386-expand.cc (ix86_expand_branch): Use + ix86_expand_vector_logical_operator to expand vector XOR rather than + gen_rtx_SET on gen_rtx_XOR. + +2023-11-24 Alex Coplan + + * rtl-ssa/access-utils.h (filter_accesses): New. + (remove_regno_access): New. + (check_remove_regno_access): New. + * rtl-ssa/accesses.cc (rtl_ssa::remove_note_accesses_base): Use + new filter_accesses helper. + +2023-11-24 Alex Coplan + + * rtl-ssa/accesses.cc (function_info::create_set): New. + * rtl-ssa/accesses.h (access_info::is_temporary): New. + * rtl-ssa/changes.cc (move_insn): Handle new (temporary) insns. + (function_info::finalize_new_accesses): Handle new/temporary + user-created accesses. + (function_info::apply_changes_to_insn): Ensure m_is_temp flag + on new insns gets cleared. + (function_info::change_insns): Handle new/temporary insns. + (function_info::create_insn): New. + * rtl-ssa/changes.h (class insn_change): Make function_info a + friend class. + * rtl-ssa/functions.h (function_info): Declare new entry points: + create_set, create_insn. Declare new change_alloc helper. + * rtl-ssa/insns.cc (insn_info::print_full): Identify temporary insns in + dump. + * rtl-ssa/insns.h (insn_info): Add new m_is_temp flag and accompanying + is_temporary accessor. + * rtl-ssa/internals.inl (insn_info::insn_info): Initialize m_is_temp to + false. + * rtl-ssa/member-fns.inl (function_info::change_alloc): New. + * rtl-ssa/movement.h (restrict_movement_for_defs_ignoring): Add + handling for temporary defs. + +2023-11-24 Jakub Jelinek + + PR tree-optimization/112673 + * match.pd (bit_field_ref (vce @0) -> bit_field_ref @0): Only simplify + if either @0 doesn't have scalar integral type or if it has mode + precision. + +2023-11-24 Jakub Jelinek + + PR middle-end/112679 + * gimple-lower-bitint.cc (gimple_lower_bitint): Also stop first loop on + floating point SSA_NAME set in FLOAT_EXPR assignment from BITINT_TYPE + INTEGER_CST. Set has_large_huge for those if that BITINT_TYPE is large + or huge. Set kind to such FLOAT_EXPR assignment rhs1 BITINT_TYPE's kind. + +2023-11-24 Richard Biener + + PR tree-optimization/112677 + * tree-vect-loop.cc (vectorizable_reduction): Use alloca + to allocate vectype_op. + +2023-11-24 Haochen Gui + + * expr.cc (by_pieces_ninsns): Include by pieces compare when + do the adjustment for overlap operations. Replace mov_optab + checks with gcc assertion. + +2023-11-24 Jakub Jelinek + + PR middle-end/112668 + * gimple-iterator.h (gsi_end, gsi_end_bb): New inline functions. + * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): After + temporarily adding statements after m_init_gsi, update m_init_gsi + such that later additions after it will be after the added statements. + (bitint_large_huge::handle_load): Likewise. When splitting + gsi_bb (m_init_gsi) basic block, update m_preheader_bb if needed + and update saved m_gsi as well if needed. + (bitint_large_huge::lower_mergeable_stmt, + bitint_large_huge::lower_comparison_stmt, + bitint_large_huge::lower_mul_overflow, + bitint_large_huge::lower_bit_query): Use gsi_end_bb. + +2023-11-24 Jakub Jelinek + + PR c++/112619 + * tree.cc (try_catch_may_fallthru): If second operand of + TRY_CATCH_EXPR is not a STATEMENT_LIST, handle it as if it was a + STATEMENT_LIST containing a single statement. + +2023-11-24 Richard Biener + + PR tree-optimization/112344 + * tree-chrec.cc (chrec_apply): Only use an unsigned add + when the overall increment doesn't fit the signed type. + +2023-11-24 Juzhe-Zhong + + PR target/112599 + * config/riscv/riscv-v.cc (shuffle_extract_and_slide1up_patterns): New function. + (expand_vec_perm_const_1): Add new optimization. + +2023-11-24 Juzhe-Zhong + + * config/riscv/riscv-v.cc (shuffle_bswap_pattern): Disable for NUNIT < 4. + +2023-11-24 Haochen Jiang + + PR target/112643 + * config/i386/driver-i386.cc (check_avx10_avx512_features): + Renamed to ... + (check_avx512_features): this and remove avx10 check. + (host_detect_local_cpu): Never append -mno-avx10.1-{256,512} to + avoid emitting warnings when building GCC with native arch. + * config/i386/i386-builtin.def (BDESC): Add missing AVX512VL for + 128/256 bit builtin for AVX512VP2INTERSECT. + * config/i386/i386-options.cc (ix86_option_override_internal): + Also check whether the AVX512 flags is set when trying to reset. + * config/i386/i386.h + (PTA_SKYLAKE_AVX512): Add missing PTA_EVEX512. + (PTA_ZNVER4): Ditto. + +2023-11-23 Georg-Johann Lay + + PR target/86776 + * config/avr/avr.cc (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define + to speculation_safe_value_not_needed. + +2023-11-23 Marek Polacek + + * common.opt (Whardened, fhardened): New options. + * config.in: Regenerate. + * config/bpf/bpf.cc: Include "opts.h". + (bpf_option_override): If flag_stack_protector_set_by_fhardened_p, do + not inform that -fstack-protector does not work. + * config/i386/i386-options.cc (ix86_option_override_internal): When + -fhardened, maybe enable -fcf-protection=full. + * config/linux-protos.h (linux_fortify_source_default_level): Declare. + * config/linux.cc (linux_fortify_source_default_level): New. + * config/linux.h (TARGET_FORTIFY_SOURCE_DEFAULT_LEVEL): Redefine. + * configure: Regenerate. + * configure.ac: Check if the linker supports '-z now' and '-z relro'. + Check if -fhardened is supported on $target_os. + * doc/invoke.texi: Document -fhardened and -Whardened. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in (TARGET_FORTIFY_SOURCE_DEFAULT_LEVEL): Add. + * gcc.cc (driver_handle_option): Remember if any link options or -static + were specified on the command line. + (process_command): When -fhardened, maybe enable -pie and + -Wl,-z,relro,-z,now. + * opts.cc (flag_stack_protector_set_by_fhardened_p): New global. + (finish_options): When -fhardened, enable + -ftrivial-auto-var-init=zero and -fstack-protector-strong. + (print_help_hardened): New. + (print_help): Call it. + * opts.h (flag_stack_protector_set_by_fhardened_p): Declare. + * target.def (fortify_source_default_level): New target hook. + * targhooks.cc (default_fortify_source_default_level): New. + * targhooks.h (default_fortify_source_default_level): Declare. + * toplev.cc (process_options): When -fhardened, enable + -fstack-clash-protection. If flag_stack_protector_set_by_fhardened_p, + do not warn that -fstack-protector not supported for this target. + Don't enable -fhardened when !HAVE_FHARDENED_SUPPORT. + +2023-11-23 Christophe Lyon + + * config/arm/arm-mve-builtins-functions.h + (full_width_access::memory_vector_mode): Add default clause. + +2023-11-23 Uros Bizjak + + PR target/112672 + * config/i386/i386.md (parityhi2): + Use temporary register in the call to gen_parityhi2_cmp. + +2023-11-23 Uros Bizjak + + PR target/89316 + * config/i386/i386.cc (ix86_expand_split_stack_prologue): Obtain + scratch regno when flag_force_indirect_call is set. On 64-bit + targets, call __morestack_large_model when flag_force_indirect_call + is set and on 32-bit targets with -fpic, manually expand PIC sequence + to call __morestack. Move the function address to an indirect + call scratch register. + +2023-11-23 Sebastian Huber + + PR tree-optimization/112678 + * tree-profile.cc (tree_profiling): Do not use atomic operations + for -fprofile-update=single. + +2023-11-23 Juergen Christ + + * config/s390/s390-c.cc (s390_cpu_cpp_builtins): Define + __GCC_ASM_FLAG_OUTPUTS__. + * config/s390/s390.cc (s390_canonicalize_comparison): More + UNSPEC_CC_TO_INT cases. + (s390_md_asm_adjust): Implement flags output. + * config/s390/s390.md (ccstore4): Allow mask operands. + * doc/extend.texi: Document flags output. + +2023-11-23 Juergen Christ + + * config/s390/s390.md: Split TImode loads. + +2023-11-23 Juergen Christ + + * config/s390/vector.md: (*vec_extract) Fix. + +2023-11-23 Di Zhao + + * tree-ssa-reassoc.cc (get_reassociation_width): check + for loop dependent FMAs. + (reassociate_bb): For 3 ops, refine the condition to call + swap_ops_for_binary_stmt. + +2023-11-23 Juzhe-Zhong + + * config/riscv/riscv-protos.h (emit_vec_extract): New function. + * config/riscv/riscv-v.cc (emit_vec_extract): Ditto. + * config/riscv/riscv.cc (riscv_legitimize_move): Refine codes. + +2023-11-23 Juzhe-Zhong + + PR target/112599 + PR target/112670 + * config/riscv/riscv-avlprop.cc (alv_can_be_propagated_p): New function. + (vlmax_ta_p): Disable vrgather AVL propagation. + +2023-11-23 Jakub Jelinek + + PR middle-end/112336 + * expr.cc (EXTEND_BITINT): Don't call reduce_to_bit_field_precision + if modifier is EXPAND_INITIALIZER. + +2023-11-23 Juzhe-Zhong + + * config/riscv/riscv-v.cc (emit_vlmax_gather_insn): Refine codes. + (emit_vlmax_masked_gather_mu_insn): Ditto. + (modulo_sel_indices): Ditto. + (expand_vec_perm): Ditto. + (shuffle_generic_patterns): Ditto. + +2023-11-23 Jakub Jelinek + + * doc/extend.texi (__builtin_stdc_bit_ceil, __builtin_stdc_bit_floor, + __builtin_stdc_bit_width, __builtin_stdc_count_ones, + __builtin_stdc_count_zeros, __builtin_stdc_first_leading_one, + __builtin_stdc_first_leading_zero, __builtin_stdc_first_trailing_one, + __builtin_stdc_first_trailing_zero, __builtin_stdc_has_single_bit, + __builtin_stdc_leading_ones, __builtin_stdc_leading_zeros, + __builtin_stdc_trailing_ones, __builtin_stdc_trailing_zeros): Document. + +2023-11-23 Richard Biener + + PR middle-end/32667 + * doc/md.texi (cpymem): Document that exact overlap of source + and destination needs to work. + * doc/standards.texi (ffreestanding): Mention memcpy is required + to handle the exact overlap case. + +2023-11-23 Jakub Jelinek + + PR c++/110348 + * doc/invoke.texi (-Wno-c++26-extensions): Document. + +2023-11-23 Manolis Tsamis + + * ifcvt.cc (noce_convert_multiple_sets_1): Remove old code. + +2023-11-23 Pan Li + + PR target/111720 + * dse.cc (get_stored_val): Allow vector mode if read size is + less than or equal to stored size. + +2023-11-23 Costas Argyris + + * configure.ac: Handle new --enable-win32-utf8-manifest + option. + * config.host: allow win32 utf8 manifest to be disabled + by user. + * configure: Regenerate. + +2023-11-22 John David Anglin + + PR target/112592 + * config/pa/pa.h (MAX_FIXED_MODE_SIZE): Define. + +2023-11-22 John David Anglin + + PR target/112617 + * config/pa/predicates.md (integer_store_memory_operand): Return + true for REG+D addresses when reload_in_progress is true. + +2023-11-22 Richard Biener + + PR tree-optimization/112344 + * tree-chrec.cc (chrec_apply): Perform the overall increment + calculation and increment in an unsigned type. + +2023-11-22 Andrew Stubbs + + * config/gcn/gcn-valu.md (*mov_4reg): Disparage AVGPR use when a + reload is required. + +2023-11-22 Vladimir N. Makarov + + PR rtl-optimization/112610 + * ira-costs.cc: (find_costs_and_classes): Remove arg. + Use ira_dump_file for printing. + (print_allocno_costs, print_pseudo_costs): Ditto. + (ira_costs): Adjust call of find_costs_and_classes. + (ira_set_pseudo_classes): Set up and restore ira_dump_file. + +2023-11-22 Juzhe-Zhong + + PR target/112598 + * config/riscv/riscv-v.cc (shuffle_compress_patterns): Fix vcompress bug. + +2023-11-22 Tamar Christina + + * config/aarch64/aarch64-simd.md + (aarch64_uaddw__zip, + aarch64_usubw__zip): Split into... + (aarch64_uaddw_lo_zip, aarch64_uaddw_hi_zip, + "aarch64_usubw_lo_zip, "aarch64_usubw_hi_zip): ... This. + * config/aarch64/iterators.md (PERM_EXTEND, perm_index): Remove. + (perm_hilo): Remove UNSPEC_ZIP1, UNSPEC_ZIP2. + +2023-11-22 Christophe Lyon + + * config/arm/arm-mve-builtins.cc + (function_resolver::infer_pointer_type): Remove spurious line. + +2023-11-22 Xi Ruoyao + + * config/loongarch/lsx.md (vec_perm): Make the + selector VIMODE. + * config/loongarch/loongarch.cc (loongarch_expand_vec_perm): + Use the mode of the selector (instead of the shuffled vector) + for truncating it. Operate on subregs in the selector mode if + the shuffled vector has a different mode (i. e. it's a + floating-point vector). + +2023-11-22 Hongyu Wang + + * config/i386/i386.md (push2_di): Adjust operand order for AT&T + syntax. + (pop2_di): Likewise. + (push2p_di): Likewise. + (pop2p_di): Likewise. + +2023-11-22 Juzhe-Zhong + + PR target/112598 + * config/riscv/riscv-v.cc (emit_vlmax_gather_insn): Adapt the priority. + (shuffle_generic_patterns): Fix permutation indice bug. + * config/riscv/vector-iterators.md: Fix VEI16 bug. + +2023-11-22 liuhongt + + * config/i386/sse.md (cbranch4): Extend to Vector + HI/QImode. + +2023-11-22 Maciej W. Rozycki + + PR target/111815 + * config/vax/vax.cc (index_term_p): Only accept the index scaler + as the RHS operand to ASHIFT. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/predicates.md (order_operator): Remove predicate. + * config/riscv/riscv.cc (riscv_rtx_costs): Update accordingly. + * config/riscv/riscv.md (*branch, *movcc) + (cstore4): Likewise. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv-protos.h (riscv_expand_float_scc): Add + `invert_ptr' parameter. + * config/riscv/riscv.cc (riscv_emit_float_compare): Add NE + inversion handling. + (riscv_expand_float_scc): Pass `invert_ptr' through to + `riscv_emit_float_compare'. + (riscv_expand_conditional_move): Pass `&invert' to + `riscv_expand_float_scc'. + * config/riscv/riscv.md (addcc): Likewise. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_emit_float_compare) : Handle + separately. + : Return operands supplied as is. + (riscv_emit_binary): Call `riscv_emit_binary' directly rather + than going through a temporary register for word-mode targets. + (riscv_expand_conditional_branch): Canonicalize the comparison + if not against constant zero. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/predicates.md (ne_operator): New predicate. + * config/riscv/riscv.cc (riscv_insn_cost): Handle branches on a + floating-point condition. + * config/riscv/riscv.md (@cbranch4): Rename expander to... + (@cbranch4): ... this. Only expand the RTX via + `riscv_expand_conditional_branch' for `!signed_order_operator' + operators, otherwise let it through. + (*cbranch4, *cbranch4): New insns and + splitters. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Don't + bail out in floating-point conditions. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_expand_float_scc): Suppress the + use of SUBREG if the conditional-set target is word-mode. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.md (addcc): New expander. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/predicates.md (movcc_operand): New predicate. + * config/riscv/riscv.cc (riscv_expand_conditional_move): Handle + generic targets. + * config/riscv/riscv.md (movcc): Likewise. + * config/riscv/riscv.opt (mmovcc): New option. + * doc/invoke.texi (Option Summary): Document it. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv-protos.h (riscv_emit_unary): New prototype. + * config/riscv/riscv.cc (riscv_emit_unary): New function. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Unify + conditional-move handling across all the relevant targets. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Also + accept constants for T-Head data input operands. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Also + accept constants for T-Head comparison operands. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Remove + the check for operand 1 being constant 0 in the Ventana/Zicond + case for equality comparisons. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Also + invert the condition for GEU and LEU. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_insn_cost): New function. + (riscv_max_noce_ifcvt_seq_cost): Likewise. + (riscv_noce_conversion_profitable_p): Likewise. + (TARGET_INSN_COST): New macro. + (TARGET_MAX_NOCE_IFCVT_SEQ_COST): New macro. + (TARGET_NOCE_CONVERSION_PROFITABLE_P): New macro. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Remove + extraneous variable for EQ vs NE operation selection. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Use + `nullptr' rather than 0 to initialize a pointer. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Use + `mode0' and `mode1' for `GET_MODE (op0)' and `GET_MODE (op1)'. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Use + `mode' for `GET_MODE (dest)' throughout. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.cc (riscv_emit_int_compare): Bail out if + NEED_EQ_NE_P but the comparison is neither EQ nor NE. + +2023-11-22 Maciej W. Rozycki + + * config/riscv/riscv.md (movcc): Move comment on SFB + patterns over to... + (*movcc): ... here. + +2023-11-21 Robin Dapp + + PR middle-end/112406 + * tree-vect-loop.cc (vectorize_fold_left_reduction): Allow + reduction index != 1. + (vect_transform_reduction): Handle reduction index != 1. + +2023-11-21 Richard Sandiford + + * common.md (aligned_register_operand): New predicate. + +2023-11-21 Richard Sandiford + + * ira-int.h (ira_allocno): Add a register_filters field. + (ALLOCNO_REGISTER_FILTERS): New macro. + (ALLOCNO_SET_REGISTER_FILTERS): Likewise. + * ira-build.cc (ira_create_allocno): Initialize register_filters. + (create_cap_allocno): Propagate register_filters. + (propagate_allocno_info): Likewise. + (propagate_some_info_from_allocno): Likewise. + * ira-lives.cc (process_register_constraint_filters): New function. + (process_bb_node_lives): Use it to record register filter + information. + * ira-color.cc (assign_hard_reg): Check register filters. + (improve_allocation, fast_allocation): Likewise. + +2023-11-21 Richard Sandiford + + * lra-constraints.cc (process_alt_operands): Check register filters. + +2023-11-21 Richard Sandiford + + * recog.h (operand_alternative): Add a register_filters field. + (alternative_register_filters): New function. + * recog.cc (preprocess_constraints): Calculate the filters field. + (constrain_operands): Check register filters. + +2023-11-21 Richard Sandiford + + * rtl.def (DEFINE_REGISTER_CONSTRAINT): Add an optional filter + operand. + * doc/md.texi (define_register_constraint): Document it. + * doc/tm.texi.in: Reference it in discussion about aligned registers. + * doc/tm.texi: Regenerate. + * gensupport.h (register_filters, get_register_filter_id): Declare. + * gensupport.cc (register_filter_map, register_filters): New variables. + (get_register_filter_id): New function. + (process_define_register_constraint): Likewise. + (process_rtx): Pass define_register_constraints to + process_define_register_constraint. + * genconfig.cc (main): Emit a definition of NUM_REGISTER_FILTERS. + * genpreds.cc (constraint_data): Add a filter field. + (add_constraint): Update accordingly. + (process_define_register_constraint): Pass the filter operand. + (write_init_reg_class_start_regs): New function. + (write_get_register_filter): Likewise. + (write_get_register_filter_id): Likewise. + (write_tm_preds_h): Write a definition of target_constraints, + plus helpers to test its contents. Write the get_register_filter* + functions. + (write_insn_preds_c): Write init_reg_class_start_regs. + * reginfo.cc (init_reg_class_start_regs): Declare. + (init_reg_sets): Call it. + * target-globals.h (this_target_constraints): Declare. + (target_globals): Add a constraints field. + (restore_target_globals): Update accordingly. + * target-globals.cc: Include tm_p.h. + (default_target_globals): Initialize the constraints field. + (save_target_globals): Handle the constraints field. + (target_globals::~target_globals): Likewise. + +2023-11-21 Richard Biener + + PR tree-optimization/112623 + * tree-ssa-forwprop.cc (simplify_vector_constructor): + Check the source mode of the insn for vector pack/unpacks. + +2023-11-21 Richard Biener + + * tree-vect-loop.cc (vect_analyze_loop_2): Move check + of VF against max_vf until VF is final. + +2023-11-21 Juzhe-Zhong + + PR target/112598 + * config/riscv/riscv.cc (riscv_const_insns): Disallow DI CONST_VECTOR on RV32. + +2023-11-21 Tamar Christina + + * config/aarch64/aarch64.cc (aarch64_override_options): Rework warnings. + +2023-11-21 Tamar Christina + + PR target/111370 + * config/aarch64/aarch64-arches.def (armv9-a, armv9.1-a, armv9.2-a, + armv9.3-a): Update to generic-armv9-a. + * config/aarch64/aarch64-cores.def (generic-armv9-a): New. + * config/aarch64/aarch64-tune.md: Regenerate. + * config/aarch64/aarch64.cc: Include generic_armv9_a.h. + * config/aarch64/tuning_models/generic_armv9_a.h: New file. + +2023-11-21 Tamar Christina + + PR target/111370 + * config/aarch64/aarch64-arches.def (armv8-9, armv8-a, armv8.1-a, + armv8.2-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, armv8.7-a, + armv8.8-a): Update to generic_armv8_a. + * config/aarch64/aarch64-cores.def (generic-armv8-a): New. + * config/aarch64/aarch64-tune.md: Regenerate. + * config/aarch64/aarch64.cc: Include generic_armv8_a.h + * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Change to + TARGET_CPU_generic_armv8_a. + * config/aarch64/tuning_models/generic_armv8_a.h: New file. + +2023-11-21 Tamar Christina + + PR target/111370 + * config/aarch64/aarch64-cores.def: Add generic. + * config/aarch64/aarch64-opts.h (enum aarch64_proc): Remove generic. + * config/aarch64/aarch64-tune.md: Regenerate + * config/aarch64/aarch64.cc (all_cores): Remove generic + * config/aarch64/aarch64.h (enum target_cpus): Remove + TARGET_CPU_generic. + +2023-11-21 Tamar Christina + + PR target/111370 + * config/aarch64/aarch64.cc (generic_addrcost_table, + exynosm1_addrcost_table, + xgene1_addrcost_table, + thunderx2t99_addrcost_table, + thunderx3t110_addrcost_table, + tsv110_addrcost_table, + qdf24xx_addrcost_table, + a64fx_addrcost_table, + neoversev1_addrcost_table, + neoversen2_addrcost_table, + neoversev2_addrcost_table, + generic_regmove_cost, + cortexa57_regmove_cost, + cortexa53_regmove_cost, + exynosm1_regmove_cost, + thunderx_regmove_cost, + xgene1_regmove_cost, + qdf24xx_regmove_cost, + thunderx2t99_regmove_cost, + thunderx3t110_regmove_cost, + tsv110_regmove_cost, + a64fx_regmove_cost, + neoversen2_regmove_cost, + neoversev1_regmove_cost, + neoversev2_regmove_cost, + generic_vector_cost, + a64fx_vector_cost, + qdf24xx_vector_cost, + thunderx_vector_cost, + tsv110_vector_cost, + cortexa57_vector_cost, + exynosm1_vector_cost, + xgene1_vector_cost, + thunderx2t99_vector_cost, + thunderx3t110_vector_cost, + ampere1_vector_cost, + generic_branch_cost, + generic_tunings, + cortexa35_tunings, + cortexa53_tunings, + cortexa57_tunings, + cortexa72_tunings, + cortexa73_tunings, + exynosm1_tunings, + thunderxt88_tunings, + thunderx_tunings, + tsv110_tunings, + xgene1_tunings, + emag_tunings, + qdf24xx_tunings, + saphira_tunings, + thunderx2t99_tunings, + thunderx3t110_tunings, + neoversen1_tunings, + ampere1_tunings, + ampere1a_tunings, + neoversev1_vector_cost, + neoversev1_tunings, + neoverse512tvb_vector_cost, + neoverse512tvb_tunings, + neoversen2_vector_cost, + neoversen2_tunings, + neoversev2_vector_cost, + neoversev2_tunings + a64fx_tunings): Split into own files. + * config/aarch64/tuning_models/a64fx.h: New file. + * config/aarch64/tuning_models/ampere1.h: New file. + * config/aarch64/tuning_models/ampere1a.h: New file. + * config/aarch64/tuning_models/cortexa35.h: New file. + * config/aarch64/tuning_models/cortexa53.h: New file. + * config/aarch64/tuning_models/cortexa57.h: New file. + * config/aarch64/tuning_models/cortexa72.h: New file. + * config/aarch64/tuning_models/cortexa73.h: New file. + * config/aarch64/tuning_models/emag.h: New file. + * config/aarch64/tuning_models/exynosm1.h: New file. + * config/aarch64/tuning_models/generic.h: New file. + * config/aarch64/tuning_models/neoverse512tvb.h: New file. + * config/aarch64/tuning_models/neoversen1.h: New file. + * config/aarch64/tuning_models/neoversen2.h: New file. + * config/aarch64/tuning_models/neoversev1.h: New file. + * config/aarch64/tuning_models/neoversev2.h: New file. + * config/aarch64/tuning_models/qdf24xx.h: New file. + * config/aarch64/tuning_models/saphira.h: New file. + * config/aarch64/tuning_models/thunderx.h: New file. + * config/aarch64/tuning_models/thunderx2t99.h: New file. + * config/aarch64/tuning_models/thunderx3t110.h: New file. + * config/aarch64/tuning_models/thunderxt88.h: New file. + * config/aarch64/tuning_models/tsv110.h: New file. + * config/aarch64/tuning_models/xgene1.h: New file. + +2023-11-21 Tamar Christina + + * config/aarch64/aarch64-simd.md (vec_unpack_lo__lo___zip): New. + (aarch64_uaddw__zip): New. + * config/aarch64/iterators.md (PERM_EXTEND, perm_index): New. + (perm_hilo): Add UNSPEC_ZIP1, UNSPEC_ZIP2. + +2023-11-21 Tamar Christina + + * config/aarch64/aarch64.cc (aarch64_adjust_stmt_cost): Guard mla. + (aarch64_vector_costs::count_ops): Likewise. + +2023-11-21 Sebastian Huber + + PR middle-end/112634 + * tree-profile.cc (gen_assign_counter_update): Cast the unsigned result type of + __atomic_add_fetch() to the signed counter type. + (gen_counter_update): Fix formatting. + +2023-11-21 Jakub Jelinek + + * tree-profile.cc (gen_counter_update, tree_profiling): Formatting + fixes. + +2023-11-21 Jakub Jelinek + + PR middle-end/112639 + * builtins.cc (fold_builtin_bit_query): If arg0 has side-effects, arg1 + is specified but cleared, call save_expr on arg0. + +2023-11-21 Hongyu Wang + + * config/i386/i386-expand.h (gen_push): Add default bool + parameter. + (gen_pop): Likewise. + * config/i386/i386-opts.h (enum apx_features): Add apx_ppx, add + it to apx_all. + * config/i386/i386.cc (ix86_emit_restore_reg_using_pop): Add + ppx_p parameter for function declaration. + (gen_push2): Add ppx_p parameter, emit push2p if ppx_p is true. + (gen_push): Likewise. + (ix86_emit_restore_reg_using_pop2): Likewise for pop2p. + (ix86_emit_save_regs): Emit pushp/push2p under TARGET_APX_PPX. + (ix86_emit_restore_reg_using_pop): Add ppx_p, emit popp insn + and adjust cfi when ppx_p is ture. + (ix86_emit_restore_reg_using_pop2): Add ppx_p and parse to its + callee. + (ix86_emit_restore_regs_using_pop2): Likewise. + (ix86_expand_epilogue): Parse TARGET_APX_PPX to + ix86_emit_restore_reg_using_pop. + * config/i386/i386.h (TARGET_APX_PPX): New. + * config/i386/i386.md (UNSPEC_APX_PPX): New unspec. + (pushp_di): New define_insn. + (popp_di): Likewise. + (push2p_di): Likewise. + (pop2p_di): Likewise. + * config/i386/i386.opt: Add apx_ppx enum. + +2023-11-21 Richard Biener + + PR tree-optimization/111970 + * tree-vect-stmts.cc (vectorizable_load): Fix offset calculation + for SLP gather load. + (vectorizable_store): Likewise for SLP scatter store. + +2023-11-21 Xi Ruoyao + + * config/loongarch/loongarch-def.h (stdint.h): Guard with #if to + exclude it for target libraries. + (loongarch_isa_base_features): Likewise. + (loongarch_isa): Likewise. + (loongarch_abi): Likewise. + (loongarch_target): Likewise. + (loongarch_cpu_default_isa): Likewise. + +2023-11-21 liuhongt + + PR target/112325 + * config/i386/i386-expand.cc (emit_reduc_half): Hanlde + V8QImode. + * config/i386/mmx.md (reduc__scal_): New expander. + (reduc__scal_v4qi): Ditto. + +2023-11-20 Marc Poulhiès + + * config/nvptx/nvptx.h (struct machine_function): Fix typo in variadic. + * config/nvptx/nvptx.cc (nvptx_function_arg_advance): Adjust to use fixed name. + (nvptx_declare_function_name): Likewise. + (nvptx_call_args): Likewise. + (nvptx_expand_call): Likewise. + +2023-11-20 Sebastian Huber + + * tree-profile.cc (gen_counter_update): Use unshare_expr() for the + counter expression in the second gimple_build_assign(). + +2023-11-20 Jan Hubicka + + * cgraph.cc (add_detected_attribute_1): New function. + (cgraph_node::add_detected_attribute): Likewise. + * cgraph.h (cgraph_node::add_detected_attribute): Declare. + * common.opt: Add -Wsuggest-attribute=returns_nonnull. + * doc/invoke.texi: Document new flag. + * gimple-range-fold.cc (fold_using_range::range_of_call): + Use known reutrn value ranges. + * ipa-prop.cc (struct ipa_return_value_summary): New type. + (class ipa_return_value_sum_t): New type. + (ipa_return_value_sum): New summary. + (ipa_record_return_value_range): New function. + (ipa_return_value_range): New function. + * ipa-prop.h (ipa_return_value_range): Declare. + (ipa_record_return_value_range): Declare. + * ipa-pure-const.cc (warn_function_returns_nonnull): New funcion. + * ipa-utils.h (warn_function_returns_nonnull): Declare. + * symbol-summary.h: Fix comment. + * tree-vrp.cc (execute_ranger_vrp): Record return values. + +2023-11-20 Richard Biener + + PR tree-optimization/112618 + * tree-vect-loop.cc (vect_transform_loop_stmt): For not + relevant and unused .MASK_CALL make sure we remove the + scalar stmt. + +2023-11-20 Richard Biener + + PR tree-optimization/112281 + * tree-loop-distribution.cc + (loop_distribution::pg_add_dependence_edges): For = in the + innermost common loop record a partition conflict. + +2023-11-20 Richard Biener + + PR middle-end/112622 + * convert.cc (convert_to_real_1): Use element_precision + where a vector type might appear. Provide specific + diagnostic for unexpected vector argument. + +2023-11-20 Juzhe-Zhong + + PR target/112597 + * config/riscv/vector-iterators.md: Remove VDEMOTE and VMDEMOTE. + * config/riscv/vector.md: Fix slide1 intermediate mode bug. + +2023-11-20 Robin Dapp + + * config/riscv/riscv-v.cc (gather_scatter_valid_offset_mode_p): + Add check for XLEN == 32. + * config/riscv/vector-iterators.md: Change VLS part of the + demote iterator to 2x elements modes + * config/riscv/vector.md: Adjust iterators and insn conditions. + +2023-11-20 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vld1_impl, vld1q) + (vst1_impl, vst1q): New. + * config/arm/arm-mve-builtins-base.def (vld1q, vst1q): New. + * config/arm/arm-mve-builtins-base.h (vld1q, vst1q): New. + * config/arm/arm_mve.h + (vld1q): Delete. + (vst1q): Delete. + (vld1q_s8): Delete. + (vld1q_s32): Delete. + (vld1q_s16): Delete. + (vld1q_u8): Delete. + (vld1q_u32): Delete. + (vld1q_u16): Delete. + (vld1q_f32): Delete. + (vld1q_f16): Delete. + (vst1q_f32): Delete. + (vst1q_f16): Delete. + (vst1q_s8): Delete. + (vst1q_s32): Delete. + (vst1q_s16): Delete. + (vst1q_u8): Delete. + (vst1q_u32): Delete. + (vst1q_u16): Delete. + (__arm_vld1q_s8): Delete. + (__arm_vld1q_s32): Delete. + (__arm_vld1q_s16): Delete. + (__arm_vld1q_u8): Delete. + (__arm_vld1q_u32): Delete. + (__arm_vld1q_u16): Delete. + (__arm_vst1q_s8): Delete. + (__arm_vst1q_s32): Delete. + (__arm_vst1q_s16): Delete. + (__arm_vst1q_u8): Delete. + (__arm_vst1q_u32): Delete. + (__arm_vst1q_u16): Delete. + (__arm_vld1q_f32): Delete. + (__arm_vld1q_f16): Delete. + (__arm_vst1q_f32): Delete. + (__arm_vst1q_f16): Delete. + (__arm_vld1q): Delete. + (__arm_vst1q): Delete. + * config/arm/mve.md (mve_vld1q_f): Rename into ... + (@mve_vld1q_f): ... this. + (mve_vld1q_): Rename into ... + (@mve_vld1q_) ... this. + (mve_vst1q_f): Rename into ... + (@mve_vst1q_f): ... this. + (mve_vst1q_): Rename into ... + (@mve_vst1q_) ... this. + +2023-11-20 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (load, store): New. + * config/arm/arm-mve-builtins-shapes.h (load, store): New. + +2023-11-20 Christophe Lyon + + * config/arm/arm-mve-builtins-functions.h (multi_vector_function) + (full_width_access): New classes. + * config/arm/arm-mve-builtins.cc + (find_type_suffix_for_scalar_type, infer_pointer_type) + (require_pointer_type, get_contiguous_base, add_mem_operand) + (add_fixed_operand, use_contiguous_load_insn) + (use_contiguous_store_insn): New. + * config/arm/arm-mve-builtins.h (memory_vector_mode) + (infer_pointer_type, require_pointer_type, get_contiguous_base) + (add_mem_operand) + (add_fixed_operand, use_contiguous_load_insn) + (use_contiguous_store_insn): New. + +2023-11-20 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (build_const_pointer): + New. + (parse_type): Add support for '_', 'al' and 'as'. + * config/arm/arm-mve-builtins.h (function_instance): Add + memory_scalar_type. + (function_base): Likewise. + +2023-11-20 Christophe Lyon + + * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Fix + initialization of arm_simd_types[].eltype. + * config/arm/arm-mve-builtins.def (DEF_MVE_TYPE): Fix scalar + types. + +2023-11-20 Jakub Jelinek + + * typeclass.h (enum type_class): Add vector_type_class. + * builtins.cc (type_to_class): Return vector_type_class for + VECTOR_TYPE. + * doc/extend.texi (__builtin_classify_type): Mention bit-precise + integer types and vector types. + +2023-11-20 Robin Dapp + + PR middle-end/112406 + * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern): + Convert masks for conditional operations as well. + +2023-11-20 Jakub Jelinek + + PR tree-optimization/90693 + * tree-ssa-math-opts.cc (match_single_bit_test): Mark POPCOUNT with + result only used in equality comparison against 1 with direct optab + support as .POPCOUNT call with 2 arguments. + * internal-fn.h (expand_POPCOUNT): Declare. + * internal-fn.def (DEF_INTERNAL_INT_EXT_FN): New macro, document it, + undefine at the end. + (POPCOUNT): Use it instead of DEF_INTERNAL_INT_FN. + * internal-fn.cc (DEF_INTERNAL_INT_EXT_FN): Define to nothing before + inclusion to define expanders. + (expand_POPCOUNT): New function. + +2023-11-20 Jakub Jelinek + + PR tree-optimization/90693 + * tree-ssa-math-opts.cc (match_single_bit_test): New function. + (math_opts_dom_walker::after_dom_children): Call it for EQ_EXPR + and NE_EXPR assignments and GIMPLE_CONDs. + +2023-11-20 Jakub Jelinek + + * internal-fn.def: Document missing DEF_INTERNAL* macros and make sure + they are all undefined at the end. + * internal-fn.cc (lookup_hilo_internal_fn, lookup_evenodd_internal_fn, + widening_fn_p, get_len_internal_fn): Don't undef DEF_INTERNAL_*FN + macros after inclusion of internal-fn.def. + +2023-11-20 Haochen Jiang + + * common/config/i386/cpuinfo.h (get_available_features): + Add avx10_set and version and detect avx10.1. + (cpu_indicator_init): Handle avx10.1-512. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AVX10_1_256_SET): New. + (OPTION_MASK_ISA2_AVX10_1_256_SET): Ditto. + (OPTION_MASK_ISA2_AVX10_1_512_UNSET): Ditto. + (OPTION_MASK_ISA2_AVX10_1_512_UNSET): Ditto. + (OPTION_MASK_ISA2_AVX2_UNSET): Modify for AVX10.1. + (ix86_handle_option): Handle -mavx10.1-256 and -mavx10.1-512. + Add indicator for explicit no-avx512 and no-avx10.1 options. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AVX10_1_256 and FEATURE_AVX10_1_512. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + AVX10_1_256 and AVX10_1_512. + * config/i386/cpuid.h (bit_AVX10): New. + (bit_AVX10_256): Ditto. + (bit_AVX10_512): Ditto. + * config/i386/driver-i386.cc (check_avx10_avx512_features): New. + (host_detect_local_cpu): Do not append "-mno-" options under + specific scenarios to avoid emitting a warning. + * config/i386/i386-isa.def + (EVEX512): Add DEF_PTA(EVEX512). + (AVX10_1_256): Add DEF_PTA(AVX10_1_256). + (AVX10_1_512): Add DEF_PTA(AVX10_1_512). + * config/i386/i386-options.cc (isa2_opts): Add -mavx10.1-256 and + -mavx10.1-512. + (ix86_function_specific_save): Save explicit no indicator. + (ix86_function_specific_restore): Restore explicit no indicator. + (ix86_valid_target_attribute_inner_p): Handle avx10.1, avx10.1-256 and + avx10.1-512. + (ix86_valid_target_attribute_tree): Handle avx512 function + attributes with avx10.1 command line option. + (ix86_option_override_internal): Handle AVX10.1 options. + * config/i386/i386.h: Add PTA_EVEX512 for AVX512 target + machines. + * config/i386/i386.opt: Add variable ix86_no_avx512_explicit and + ix86_no_avx10_1_explicit, option -mavx10.1, -mavx10.1-256 and + -mavx10.1-512. + * doc/extend.texi: Document avx10.1, avx10.1-256 and avx10.1-512. + * doc/invoke.texi: Document -mavx10.1, -mavx10.1-256 and -mavx10.1-512. + * doc/sourcebuild.texi: Document target avx10.1, avx10.1-256 + and avx10.1-512. + +2023-11-20 liuhongt + + PR target/112325 + * config/i386/sse.md (reduc__scal_): New expander. + (REDUC_ANY_LOGIC_MODE): New iterator. + (REDUC_PLUS_MODE): Extend to VxHI/SI/DImode. + (REDUC_SSE_PLUS_MODE): Ditto. + +2023-11-20 xuli + + PR target/112537 + * config/riscv/riscv-opts.h (enum riscv_stringop_strategy_enum): Strategy enum. + * config/riscv/riscv-string.cc (riscv_expand_block_move): Disabled based on options. + (expand_block_move): Ditto. + * config/riscv/riscv.opt: Add -mmemcpy-strategy=. + +2023-11-20 Lulu Cheng + + * config/loongarch/gnu-user.h (MUSL_ABI_SPEC): Modify suffix. + +2023-11-19 Juzhe-Zhong + + * config/riscv/riscv-v.cc (emit_vlmax_insn_lra): Optimize constant AVL. + +2023-11-19 Philipp Tomsich + + * config/riscv/riscv-protos.h (extract_base_offset_in_addr): Prototype. + * config/riscv/riscv.cc (riscv_fusion_pairs): New enum. + (riscv_tune_param): Add fusible_ops field. + (riscv_tune_param_rocket_tune_info): Initialize new field. + (riscv_tune_param_sifive_7_tune_info): Likewise. + (thead_c906_tune_info): Likewise. + (generic_oo_tune_info): Likewise. + (optimize_size_tune_info): Likewise. + (riscv_macro_fusion_p): New function. + (riscv_fusion_enabled_p): Likewise. + (riscv_macro_fusion_pair_p): Likewise. + (TARGET_SCHED_MACRO_FUSION_P): Define. + (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise. + (extract_base_offset_in_addr): Moved into riscv.cc from... + * config/riscv/thead.cc: Here. + Co-authored-by: Raphael Zinsly + Co-authored-by: Jeff Law + +2023-11-19 Jeff Law + + * config/c6x/c6x.md (mvilc): Add mode to UNSPEC source. + * config/mips/mips.md (rdhwr_synci_step_): Likewise. + * config/riscv/riscv.md (riscv_frcsr, riscv_frflags): Likewise. + * config/s390/s390.md (@split_stack_call): Likewise. + (@split_stack_cond_call): Likewise. + * config/sh/sh.md (sp_switch_1): Likewise. + +2023-11-19 David Malcolm + + * diagnostic.h: Include "rich-location.h". + * edit-context.h (class fixit_hint): New forward decl. + * gcc-rich-location.h: Include "rich-location.h". + * genmatch.cc: Likewise. + * pretty-print.h: Likewise. + +2023-11-19 David Malcolm + + * Makefile.in (CPPLIB_H): Add libcpp/include/rich-location.h. + * coretypes.h (class rich_location): New forward decl. + +2023-11-19 Juzhe-Zhong + + * config/riscv/riscv-v.cc (expand_tuple_move): Fix bug. + +2023-11-19 David Malcolm + + PR analyzer/107573 + * doc/invoke.texi: Add -Wanalyzer-undefined-behavior-strtok. + +2023-11-18 Xi Ruoyao + + * config/loongarch/predicates.md (const_call_insn_operand): + Remove buggy "HAVE_AS_SUPPORT_CALL36" conditions. Change "1" to + "true" to make the coding style consistent. + +2023-11-18 Xi Ruoyao + + * config/loongarch/genopts/isa-evolution.in: (lam-bh, lamcas): + Add. + * config/loongarch/loongarch-str.h: Regenerate. + * config/loongarch/loongarch.opt: Regenerate. + * config/loongarch/loongarch-cpucfg-map.h: Regenerate. + * config/loongarch/loongarch-cpu.cc + (ISA_BASE_LA64V110_FEATURES): Include OPTION_MASK_ISA_LAM_BH + and OPTION_MASK_ISA_LAMCAS. + * config/loongarch/sync.md (atomic_add): Use + TARGET_LAM_BH instead of ISA_BASE_IS_LA64V110. Remove empty + lines from assembly output. + (atomic_exchange_short): Likewise. + (atomic_exchange): Likewise. + (atomic_fetch_add_short): Likewise. + (atomic_fetch_add): Likewise. + (atomic_cas_value_strong_amcas): Use TARGET_LAMCAS instead + of ISA_BASE_IS_LA64V110. + (atomic_compare_and_swap): Likewise. + (atomic_compare_and_swap): Likewise. + (atomic_compare_and_swap): Likewise. + * config/loongarch/loongarch.cc (loongarch_asm_code_end): Dump + status if -mlam-bh and -mlamcas if -fverbose-asm. + +2023-11-18 Xi Ruoyao + + * config/loongarch/loongarch.cc (loongarch_print_operand): Don't + print dbar 0x700 if TARGET_LD_SEQ_SA. + * config/loongarch/sync.md (atomic_load): Likewise. + +2023-11-18 Xi Ruoyao + + * config/loongarch/loongarch.md (DIV): New mode iterator. + (3): Don't expand if TARGET_DIV32. + (di3_fake): Disable if TARGET_DIV32. + (*3): Allow SImode if TARGET_DIV32. + (si3_extended): New insn if TARGET_DIV32. + +2023-11-18 Xi Ruoyao + + * config/loongarch/loongarch-def.h: + (loongarch_isa_base_features): Declare. Define it in ... + * config/loongarch/loongarch-cpu.cc + (loongarch_isa_base_features): ... here. + (fill_native_cpu_config): If we know the base ISA of the CPU + model from PRID, use it instead of la64 (v1.0). Check if all + expected features of this base ISA is available, emit a warning + if not. + * config/loongarch/loongarch-opts.cc (config_target_isa): Enable + the features implied by the base ISA if not -march=native. + +2023-11-18 Xi Ruoyao + + * config/loongarch/genopts/isa-evolution.in: New data file. + * config/loongarch/genopts/genstr.sh: Translate info in + isa-evolution.in when generating loongarch-str.h, loongarch.opt, + and loongarch-cpucfg-map.h. + * config/loongarch/genopts/loongarch.opt.in (isa_evolution): + New variable. + * config/loongarch/t-loongarch: (loongarch-cpucfg-map.h): New + rule. + (loongarch-str.h): Depend on isa-evolution.in. + (loongarch.opt): Depend on isa-evolution.in. + (loongarch-cpu.o): Depend on loongarch-cpucfg-map.h. + * config/loongarch/loongarch-str.h: Regenerate. + * config/loongarch/loongarch-def.h (loongarch_isa): Add field + for evolution features. Add helper function to enable features + in this field. + Probe native CPU capability and save the corresponding options + into preset. + * config/loongarch/loongarch-cpu.cc (fill_native_cpu_config): + Probe native CPU capability and save the corresponding options + into preset. + (cache_cpucfg): Simplify with C++11-style for loop. + (cpucfg_useful_idx, N_CPUCFG_WORDS): Move to ... + * config/loongarch/loongarch.cc + (loongarch_option_override_internal): Enable the ISA evolution + feature options implied by -march and not explicitly disabled. + (loongarch_asm_code_end): New function, print ISA information as + comments in the assembly if -fverbose-asm. It makes easier to + debug things like -march=native. + (TARGET_ASM_CODE_END): Define. + * config/loongarch/loongarch.opt: Regenerate. + * config/loongarch/loongarch-cpucfg-map.h: Generate. + (cpucfg_useful_idx, N_CPUCFG_WORDS) ... here. + +2023-11-18 Xi Ruoyao + + * config/loongarch/genopts/loongarch-strings: + (STR_ISA_BASE_LA64V110): Add. + * config/loongarch/genopts/loongarch.opt.in: + (ISA_BASE_LA64V110): Add. + * config/loongarch/loongarch-def.c + (loongarch_isa_base_strings): Initialize [ISA_BASE_LA64V110] + to STR_ISA_BASE_LA64V110. + * config/loongarch/loongarch.opt: Regenerate. + * config/loongarch/loongarch-str.h: Regenerate. + +2023-11-18 Sebastian Huber + + * doc/invoke.texi (-fprofile-update): Clarify default method. Document + the atomic method behaviour. + * tree-profile.cc (enum counter_update_method): New. + (counter_update): Likewise. + (gen_counter_update): Use counter_update_method. Split the + atomic counter update in two 32-bit atomic operations if + necessary. + (tree_profiling): Select counter_update_method. + +2023-11-18 Sebastian Huber + + * tree-profile.cc (gen_assign_counter_update): New. + (gen_counter_update): Likewise. + (gimple_gen_edge_profiler): Use gen_counter_update(). + (gimple_gen_time_profiler): Likewise. + +2023-11-18 Sebastian Huber + + * config/rtems.h (TARGET_HAVE_LIBATOMIC): Define. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in (TARGET_HAVE_LIBATOMIC): Add. + * target.def (have_libatomic): New. + +2023-11-18 Sebastian Huber + + Revert: + 2023-11-18 Sebastian Huber + + * config/sparc/rtemself.h (SPARC_GCOV_TYPE_SIZE): Define. + * config/sparc/sparc.c (sparc_gcov_type_size): New. + (TARGET_GCOV_TYPE_SIZE): Redefine if SPARC_GCOV_TYPE_SIZE is defined. + * coverage.c (get_gcov_type): Use targetm.gcov_type_size(). + * doc/tm.texi (TARGET_GCOV_TYPE_SIZE): Add hook under "Misc". + * doc/tm.texi.in: Regenerate. + * target.def (gcov_type_size): New target hook. + * targhooks.c (default_gcov_type_size): New. + * targhooks.h (default_gcov_type_size): Declare. + * tree-profile.c (gimple_gen_edge_profiler): Use precision of + gcov_type_node. + (gimple_gen_time_profiler): Likewise. + +2023-11-18 Kito Cheng + + * config/riscv/riscv-target-attr.cc + (riscv_target_attr_parser::parse_arch): Use char[] for + std::unique_ptr to prevent mismatched new delete issue. + (riscv_process_one_target_attr): Ditto. + (riscv_process_target_attr): Ditto. + +2023-11-18 Juzhe-Zhong + + * config/riscv/vector-iterators.md: Refactor iterators. + +2023-11-18 Lulu Cheng + + * config/loongarch/sync.md (atomic_load): New template. + +2023-11-18 Lulu Cheng + + * config/loongarch/loongarch-def.h: Add comments. + * config/loongarch/loongarch-opts.h (ISA_BASE_IS_LA64V110): Define macro. + * config/loongarch/loongarch.cc (loongarch_memmodel_needs_rel_acq_fence): + Remove redundant code implementations. + * config/loongarch/sync.md (d): Added QI, HI support. + (atomic_add): New template. + (atomic_exchange_short): Likewise. + (atomic_cas_value_strong_amcas): Likewise.. + (atomic_fetch_add_short): Likewise. + +2023-11-18 Lulu Cheng + + * config.gcc: Support LA664. + * config/loongarch/genopts/loongarch-strings: Likewise. + * config/loongarch/genopts/loongarch.opt.in: Likewise. + * config/loongarch/loongarch-cpu.cc (fill_native_cpu_config): Likewise. + * config/loongarch/loongarch-def.c: Likewise. + * config/loongarch/loongarch-def.h (N_ISA_BASE_TYPES): Likewise. + (ISA_BASE_LA64V110): Define macro. + (N_ARCH_TYPES): Update value. + (N_TUNE_TYPES): Update value. + (CPU_LA664): New macro. + * config/loongarch/loongarch-opts.cc (isa_default_abi): Likewise. + (isa_base_compat_p): Likewise. + * config/loongarch/loongarch-opts.h (TARGET_64BIT): This parameter is enabled + when la_target.isa.base is equal to ISA_BASE_LA64V100 or ISA_BASE_LA64V110. + (TARGET_uARCH_LA664): Define macro. + * config/loongarch/loongarch-str.h (STR_CPU_LA664): Likewise. + * config/loongarch/loongarch.cc (loongarch_cpu_sched_reassociation_width): + Add LA664 support. + * config/loongarch/loongarch.opt: Regenerate. + +2023-11-18 Lulu Cheng + Xi Ruoyao + + * config.in: Regenerate. + * config/loongarch/loongarch-opts.h (HAVE_AS_SUPPORT_CALL36): Define macro. + * config/loongarch/loongarch.cc (loongarch_legitimize_call_address): + If binutils supports call36, the function call is not split over expand. + * config/loongarch/loongarch.md: Add call36 generation code. + * config/loongarch/predicates.md: Likewise. + * configure: Regenerate. + * configure.ac: Check whether binutils supports call36. + +2023-11-18 David Malcolm + + PR analyzer/106147 + * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-loop.o. + * doc/invoke.texi: Add -fdump-analyzer-infinite-loop and + -Wanalyzer-infinite-loop. Add missing CWE link for + -Wanalyzer-infinite-recursion. + * timevar.def (TV_ANALYZER_INFINITE_LOOPS): New. + +2023-11-17 Robin Dapp + + PR middle-end/112406 + PR middle-end/112552 + * tree-vect-loop.cc (vect_transform_reduction): Pass truth + vectype for mask operand. + +2023-11-17 Jakub Jelinek + + PR c++/107571 + * gimplify.cc (expand_FALLTHROUGH_r): Use wi->removed_stmt after + gsi_remove, change the way of passing fallthrough stmt at the end + of sequence to expand_FALLTHROUGH. Diagnose IFN_FALLTHROUGH + with GF_CALL_NOTHROW flag. + (expand_FALLTHROUGH): Change loc into array of 2 location_t elts, + don't test wi.callback_result, instead check whether first + elt is not UNKNOWN_LOCATION and in that case pedwarn with the + second location. + * gimple-walk.cc (walk_gimple_seq_mod): Clear wi->removed_stmt + after the flag has been used. + * internal-fn.def (FALLTHROUGH): Mention in comment the special + meaning of the TREE_NOTHROW/GF_CALL_NOTHROW flag on the calls. + +2023-11-17 Jakub Jelinek + + PR tree-optimization/112566 + PR tree-optimization/83171 + * match.pd (ctz(ext(X)) -> ctz(X), popcount(zext(X)) -> popcount(X), + parity(ext(X)) -> parity(X), ffs(ext(X)) -> ffs(X)): New + simplifications. + ( __builtin_ffs (X) == 0 -> X == 0): Use FFS rather than + BUILT_IN_FFS BUILT_IN_FFSL BUILT_IN_FFSLL BUILT_IN_FFSIMAX. + +2023-11-17 Jakub Jelinek + + PR tree-optimization/112374 + * tree-vect-loop.cc (check_reduction_path): Perform the cond_fn_p + special case only if op_use_stmt == use_stmt, use as_a rather than + dyn_cast in that case. + +2023-11-17 Richard Biener + + Revert: + 2023-11-14 Richard Biener + + PR tree-optimization/112281 + * tree-loop-distribution.cc (pg_add_dependence_edges): + Preserve stmt order when the innermost loop has exact + overlap. + +2023-11-17 Georg-Johann Lay + + PR target/53372 + * config/avr/avr.cc (avr_asm_named_section) [AVR_SECTION_PROGMEM]: + Only return some .progmem*.data section if the user did not + specify a section attribute. + (avr_section_type_flags) [avr_progmem_p]: Unset SECTION_NOTYPE + in returned section flags. + +2023-11-17 Xi Ruoyao + + * config/loongarch/lsx.md (copysign3): Allow operand[2] to + be an reg_or_vector_same_val_operand. If it's a const vector + with same negative elements, expand the copysign with a bitset + instruction. Otherwise, force it into an register. + * config/loongarch/lasx.md (copysign3): Likewise. + +2023-11-17 Haochen Gui + + PR target/111449 + * config/rs6000/vsx.md (*vsx_le_mem_to_mem_mov_ti): New. + +2023-11-17 Haochen Gui + + PR target/111449 + * config/rs6000/altivec.md (cbranchv16qi4): New expand pattern. + * config/rs6000/rs6000.cc (rs6000_generate_compare): Generate + insn sequence for V16QImode equality compare. + * config/rs6000/rs6000.h (MOVE_MAX_PIECES): Define. + (STORE_MAX_PIECES): Define. + +2023-11-17 Li Wei + + * config/loongarch/loongarch.h (CLZ_DEFINED_VALUE_AT_ZERO): + Implement. + (CTZ_DEFINED_VALUE_AT_ZERO): Same. + +2023-11-17 Richard Biener + + * dwarf2out.cc (add_AT_die_ref): Assert we do not add + a self-ref DW_AT_abstract_origin or DW_AT_specification. + +2023-11-17 Jiahao Xu + + * config/loongarch/loongarch.cc + (loongarch_builtin_vectorization_cost): Adjust. + +2023-11-16 Andrew Pinski + + PR rtl-optimization/112483 + * simplify-rtx.cc (simplify_binary_operation_1) : + Call simplify_unary_operation for NEG instead of + simplify_gen_unary. + +2023-11-16 Edwin Lu + + PR target/111557 + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): update macro name + +2023-11-16 Uros Bizjak + + PR target/78904 + * config/i386/i386.md (*addqi_ext2_0): + New define_insn_and_split pattern. + (*subqi_ext2_0): Ditto. + (*qi_ext2_0): Ditto. + +2023-11-16 John David Anglin + + PR rtl-optimization/112415 + * config/pa/pa.cc (pa_legitimate_address_p): Allow 14-bit + displacements before reload. Simplify logic flow. Revise + comments. + * config/pa/pa.h (TARGET_ELF64): New define. + (INT14_OK_STRICT): Update define and comment. + * config/pa/pa64-linux.h (TARGET_ELF64): Define. + * config/pa/predicates.md (base14_operand): Don't check + alignment of short displacements. + (integer_store_memory_operand): Don't return true when + reload_in_progress is true. Remove INT_5_BITS check. + (floating_point_store_memory_operand): Don't return true when + reload_in_progress is true. Use INT14_OK_STRICT to check + whether long displacements are always okay. + +2023-11-16 Uros Bizjak + + PR target/112567 + * config/i386/i386.md (*qi_ext_1_slp): + Fix generation of invalid RTX in split pattern. + +2023-11-16 David Malcolm + + * diagnostic.cc (diagnostic_context::set_option_hooks): Add + "lang_mask" param. + * diagnostic.h (diagnostic_context::option_enabled_p): Update for + move of m_lang_mask. + (diagnostic_context::set_option_hooks): Add "lang_mask" param. + (diagnostic_context::get_lang_mask): New. + (diagnostic_context::m_lang_mask): Move into m_option_callbacks, + thus making private. + * lto-wrapper.cc (main): Update for new lang_mask param of + set_option_hooks. + * toplev.cc (init_asm_output): Use get_lang_mask. + (general_init): Move initialization of global_dc's lang_mask to + new lang_mask param of set_option_hooks. + +2023-11-16 Tamar Christina + + PR tree-optimization/111878 + * tree-vect-loop-manip.cc (find_loop_location): Skip edges check if + latch incorrect. + +2023-11-16 Kito Cheng + + * config.gcc (riscv): Add riscv-target-attr.o. + * config/riscv/riscv-protos.h (riscv_declare_function_size) New. + (riscv_option_valid_attribute_p): New. + (riscv_override_options_internal): New. + (struct riscv_tune_info): New. + (riscv_parse_tune): New. + * config/riscv/riscv-target-attr.cc + (class riscv_target_attr_parser): New. + (struct riscv_attribute_info): New. + (riscv_attributes): New. + (riscv_target_attr_parser::parse_arch): New. + (riscv_target_attr_parser::handle_arch): New. + (riscv_target_attr_parser::handle_cpu): New. + (riscv_target_attr_parser::handle_tune): New. + (riscv_target_attr_parser::update_settings): New. + (riscv_process_one_target_attr): New. + (num_occurences_in_str): New. + (riscv_process_target_attr): New. + (riscv_option_valid_attribute_p): New. + * config/riscv/riscv.cc: Include target-globals.h and + riscv-subset.h. + (struct riscv_tune_info): Move to riscv-protos.h. + (get_tune_str): New. + (riscv_parse_tune): New parameter null_p. + (riscv_declare_function_size): New. + (riscv_option_override): Build target_option_default_node and + target_option_current_node. + (riscv_save_restore_target_globals): New. + (riscv_option_restore): New. + (riscv_previous_fndecl): New. + (riscv_set_current_function): Apply the target attribute. + (TARGET_OPTION_RESTORE): Define. + (TARGET_OPTION_VALID_ATTRIBUTE_P): Ditto. + * config/riscv/riscv.h (SWITCHABLE_TARGET): Define to 1. + (ASM_DECLARE_FUNCTION_SIZE) Define. + * config/riscv/riscv.opt (mtune=): Add Save attribute. + (mcpu=): Ditto. + (mcmodel=): Ditto. + * config/riscv/t-riscv: Add build rule for riscv-target-attr.o + * doc/extend.texi: Add doc for target attribute. + +2023-11-16 Kito Cheng + + PR target/112478 + * config/riscv/riscv.cc (riscv_save_return_addr_reg_p): Check ra + is ever lived. + +2023-11-16 liuhongt + + PR target/112532 + * config/i386/mmx.md (*vec_dup): Extend for V4HI and + V2HI. + +2023-11-16 Jakub Jelinek + + PR target/112526 + * config/i386/i386.md + (mov imm,%rax; mov %rdi,%rdx; mulx %rax -> mov imm,%rdx; mulx %rdi): + Verify in define_peephole2 that operands[2] dies or is overwritten + at the end of multiplication. + +2023-11-16 Jakub Jelinek + + PR tree-optimization/112536 + * tree-vect-slp.cc (arg0_map): New variable. + (vect_get_operand_map): For IFN_CLZ or IFN_CTZ, return arg0_map. + +2023-11-16 Juzhe-Zhong + + PR middle-end/112554 + * tree-vect-loop.cc (vect_determine_partial_vectors_and_peeling): + Clear SELECT_VL_P for non-partial vectorization. + +2023-11-16 Hongyu Wang + + * config/i386/sse.md (vec_extract_hi_): Add noavx512vl + alternative with attr addr gpr16 and "jm" constraint. + (vec_extract_hi_): Likewise for SF vector modes. + (@vec_extract_hi_): Likewise. + (*vec_extractv2ti): Likewise. + (vec_set_hi_): Likewise. + * config/i386/mmx.md (@sse4_1_insertps_): Correct gpr16 attr for + each alternative. + +2023-11-15 Uros Bizjak + + PR target/78904 + * config/i386/i386.md (*movstrictqi_ext_1): New insn pattern. + (*addqi_ext_2_slp): New define_insn_and_split pattern. + (*subqi_ext_2_slp): Ditto. + (*qi_ext_2_slp): Ditto. + +2023-11-15 Patrick O'Neill + + * common/config/riscv/riscv-common.cc + (riscv_subset_list::parse_std_ext): Emit an error and skip to + the next extension when a non-canonical ordering is detected. + +2023-11-15 Bernhard Reutner-Fischer + + * gcc-rich-location.cc (maybe_range_label_for_tree_type_mismatch::get_text): + Revert using the macro CAN_HAVE_LOCATION_P. + +2023-11-15 Juzhe-Zhong + + PR target/112447 + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::emit_vsetvl): Insert + local vsetvl info before LCM suggested one. + Tested-by: Patrick O'Neill # pre-commit-CI #679 + Co-developed-by: Vineet Gupta + +2023-11-15 Vineet Gupta + + * config/riscv/riscv.cc (riscv_sign_extend_if_not_subreg_prom): New. + * (riscv_extend_comparands): Call New function on operands. + +2023-11-15 Uros Bizjak + + * config/i386/i386.md (*addqi_ext_1_slp): + Add "&& " before "reload_completed" in split condition. + (*subqi_ext_1_slp): Ditto. + (*qi_ext_1_slp): Ditto. + +2023-11-15 Uros Bizjak + + PR target/112540 + * config/i386/i386.md (*addqi_ext_1_slp): + Correct operand numbers in split pattern. Replace !Q constraint + of operand 1 with !qm. Add insn constrain. + (*subqi_ext_1_slp): Ditto. + (*qi_ext_1_slp): Ditto. + +2023-11-15 Thomas Schwinge + + * doc/extend.texi (Nvidia PTX Built-in Functions): Fix + copy'n'paste-o in '__builtin_nvptx_brev' description. + +2023-11-15 Roger Sayle + Thomas Schwinge + + * config/nvptx/nvptx.md (UNSPEC_BITREV): Delete. + (bitrev2): Represent using bitreverse. + +2023-11-15 Andrew Stubbs + Andrew Jenner + + * config/gcn/constraints.md: Add "a" AVGPR constraint. + * config/gcn/gcn-valu.md (*mov): Add AVGPR alternatives. + (*mov_4reg): Likewise. + (@mov_sgprbase): Likewise. + (gather_insn_1offset): Likewise. + (gather_insn_1offset_ds): Likewise. + (gather_insn_2offsets): Likewise. + (scatter_expr): Likewise. + (scatter_insn_1offset_ds): Likewise. + (scatter_insn_2offsets): Likewise. + * config/gcn/gcn.cc (MAX_NORMAL_AVGPR_COUNT): Define. + (gcn_class_max_nregs): Handle AVGPR_REGS and ALL_VGPR_REGS. + (gcn_hard_regno_mode_ok): Likewise. + (gcn_regno_reg_class): Likewise. + (gcn_spill_class): Allow spilling to AVGPRs on TARGET_CDNA1_PLUS. + (gcn_sgpr_move_p): Handle AVGPRs. + (gcn_secondary_reload): Reload AVGPRs via VGPRs. + (gcn_conditional_register_usage): Handle AVGPRs. + (gcn_vgpr_equivalent_register_operand): New function. + (gcn_valid_move_p): Check for validity of AVGPR moves. + (gcn_compute_frame_offsets): Handle AVGPRs. + (gcn_memory_move_cost): Likewise. + (gcn_register_move_cost): Likewise. + (gcn_vmem_insn_p): Handle TYPE_VOP3P_MAI. + (gcn_md_reorg): Handle AVGPRs. + (gcn_hsa_declare_function_name): Likewise. + (print_reg): Likewise. + (gcn_dwarf_register_number): Likewise. + * config/gcn/gcn.h (FIRST_AVGPR_REG): Define. + (AVGPR_REGNO): Define. + (LAST_AVGPR_REG): Define. + (SOFT_ARG_REG): Update. + (FRAME_POINTER_REGNUM): Update. + (DWARF_LINK_REGISTER): Update. + (FIRST_PSEUDO_REGISTER): Update. + (AVGPR_REGNO_P): Define. + (enum reg_class): Add AVGPR_REGS and ALL_VGPR_REGS. + (REG_CLASS_CONTENTS): Add new register classes and add entries for + AVGPRs to all classes. + (REGISTER_NAMES): Add AVGPRs. + * config/gcn/gcn.md (FIRST_AVGPR_REG, LAST_AVGPR_REG): Define. + (AP_REGNUM, FP_REGNUM): Update. + (define_attr "type"): Add vop3p_mai. + (define_attr "unit"): Handle vop3p_mai. + (define_attr "gcn_version"): Add "cdna2". + (define_attr "enabled"): Handle cdna2. + (*mov_insn): Add AVGPR alternatives. + (*movti_insn): Likewise. + * config/gcn/mkoffload.cc (isa_has_combined_avgprs): New. + (process_asm): Process avgpr_count. + * config/gcn/predicates.md (gcn_avgpr_register_operand): New. + (gcn_avgpr_hard_register_operand): New. + * doc/md.texi: Document the "a" constraint. + +2023-11-15 Andrew Stubbs + + * config/gcn/gcn-valu.md (mov_sgprbase): Add @ modifier. + (reload_in): Delete. + (reload_out): Delete. + * config/gcn/gcn.cc (CODE_FOR): Delete. + (get_code_for_##PREFIX##vN##SUFFIX): Delete. + (CODE_FOR_OP): Delete. + (get_code_for_##PREFIX): Delete. + (gcn_secondary_reload): Replace "get_code_for" with "code_for". + +2023-11-15 Stefan Schulze Frielinghaus + + * config/s390/t-s390: Generate s390-gen-builtins.h without + linemarkers. + +2023-11-15 Richard Biener + + PR tree-optimization/112282 + * tree-if-conv.cc (ifcvt_hoist_invariants): Only hoist from + the loop header. + +2023-11-15 Richard Biener + + * tree-vect-slp.cc (vect_slp_region): Also clear visited flag when + we skipped an instance due to -fdbg-cnt. + +2023-11-15 Xi Ruoyao + + * config/loongarch/loongarch.cc + (loongarch_memmodel_needs_release_fence): Remove. + (loongarch_cas_failure_memorder_needs_acquire): New static + function. + (loongarch_print_operand): Redefine 'G' for the barrier on CAS + failure. + * config/loongarch/sync.md (atomic_cas_value_strong): + Remove the redundant barrier before the LL instruction, and + emit an acquire barrier on failure if needed by + failure_memorder. + (atomic_cas_value_cmp_and_7_): Likewise. + (atomic_cas_value_add_7_): Remove the unnecessary barrier + before the LL instruction. + (atomic_cas_value_sub_7_): Likewise. + (atomic_cas_value_and_7_): Likewise. + (atomic_cas_value_xor_7_): Likewise. + (atomic_cas_value_or_7_): Likewise. + (atomic_cas_value_nand_7_): Likewise. + (atomic_cas_value_exchange_7_): Likewise. + +2023-11-15 Juzhe-Zhong + + * config/riscv/riscv-v.cc (expand_vector_init_trailing_same_elem): New function. + (expand_vec_init): Add trailing optimization. + +2023-11-15 Pan Li + + * config/riscv/riscv-v.cc (rvv_builder::get_merge_scalar_mask): + Add inner_mode mask arg for mask int mode. + (get_repeating_sequence_dup_machine_mode): Add mask_bit_mode arg + to get the good enough vector int mode on precision. + (expand_vector_init_merge_repeating_sequence): Pass required args + to above func. + +2023-11-15 Juzhe-Zhong + + PR target/112535 + * config/riscv/riscv.cc (riscv_legitimate_address_p): Disallow RVV modes base address. + +2023-11-15 David Malcolm + + * json.cc (selftest::assert_print_eq): Add "loc" param and use + ASSERT_STREQ_AT. + (ASSERT_PRINT_EQ): New macro. + (selftest::test_writing_objects): Use ASSERT_PRINT_EQ to capture + source location of assertion. + (selftest::test_writing_arrays): Likewise. + (selftest::test_writing_float_numbers): Likewise. + (selftest::test_writing_integer_numbers): Likewise. + (selftest::test_writing_strings): Likewise. + (selftest::test_writing_literals): Likewise. + +2023-11-14 David Malcolm + + PR analyzer/103533 + * doc/invoke.texi (Static Analyzer Options): Add the six + -Wanalyzer-tainted-* warnings. Update documentation of each + warning to reflect removed requirement to use + -fanalyzer-checker=taint. Remove discussion of + -fanalyzer-checker=taint. + +2023-11-14 David Malcolm + + * diagnostic-format-json.cc + (json_output_format::on_end_diagnostic): Update calls to m_context + callbacks to use member functions; tighten up scopes. + * diagnostic-format-sarif.cc (sarif_builder::make_result_object): + Likewise. + (sarif_builder::make_reporting_descriptor_object_for_warning): + Likewise. + * diagnostic.cc (diagnostic_context::initialize): Update for + callbacks being moved into m_option_callbacks and being renamed. + (diagnostic_context::set_option_hooks): New. + (diagnostic_option_classifier::classify_diagnostic): Update call + to global_dc->m_option_enabled to use option_enabled_p. + (diagnostic_context::print_option_information): Update calls to + m_context callbacks to use member functions; tighten up scopes. + (diagnostic_context::diagnostic_enabled): Likewise. + * diagnostic.h (diagnostic_option_enabled_cb): New typedef. + (diagnostic_make_option_name_cb): New typedef. + (diagnostic_make_option_url_cb): New typedef. + (diagnostic_context::option_enabled_p): New. + (diagnostic_context::make_option_name): New. + (diagnostic_context::make_option_url): New. + (diagnostic_context::set_option_hooks): New decl. + (diagnostic_context::m_option_enabled): Rename to + m_option_enabled_cb and move within m_option_callbacks, using + typedef. + (diagnostic_context::m_option_state): Move within + m_option_callbacks. + (diagnostic_context::m_option_name): Rename to + m_make_option_name_cb and move within m_option_callbacks, using + typedef. + (diagnostic_context::m_get_option_url): Likewise, renaming to + m_make_option_url_cb. + * lto-wrapper.cc (print_lto_docs_link): Update call to m_context + callback to use member function. + (main): Use diagnostic_context::set_option_hooks. + * opts-diagnostic.h (option_name): Make context param const. + (get_option_url): Likewise. + * opts.cc (option_name): Likewise. + (get_option_url): Likewise. + * toplev.cc (general_init): Use + diagnostic_context::set_option_hooks. + +2023-11-14 David Malcolm + + * selftest-diagnostic.cc + (test_diagnostic_context::test_diagnostic_context): Use + diagnostic_start_span. + * tree-diagnostic-path.cc (struct event_range): Likewise. + +2023-11-14 David Malcolm + + * diagnostic-show-locus.cc (diagnostic_context::show_locus): + Update for renaming of text callbacks fields. + * diagnostic.cc (diagnostic_context::initialize): Likewise. + * diagnostic.h (class diagnostic_context): Add "friend" for + accessors to m_text_callbacks. + (diagnostic_context::m_text_callbacks): Make private, and add an + "m_" prefix to field names. + (diagnostic_starter): Convert from macro to inline function. + (diagnostic_start_span): New. + (diagnostic_finalizer): Convert from macro to inline function. + +2023-11-14 David Malcolm + + * diagnostic.h (diagnostic_ready_p): Convert from macro to inline + function. + +2023-11-14 Uros Bizjak + + PR target/78904 + * config/i386/i386.md (*addqi_ext_1_slp): + New define_insn_and_split pattern. + (*subqi_ext_1_slp): Ditto. + (*qi_ext_1_slp): Ditto. + +2023-11-14 Andrew Stubbs + + PR target/112481 + * expr.cc (store_constructor): Use OPTAB_WIDEN for mask adjustment. + +2023-11-14 David Malcolm + + * diagnostic-format-sarif.cc (sarif_builder::get_sarif_column): + Use m_context's file_cache. + (sarif_builder::maybe_make_artifact_content_object): Likewise. + (sarif_builder::get_source_lines): Likewise. + * diagnostic-show-locus.cc + (exploc_with_display_col::exploc_with_display_col): Add file_cache + param. + (layout::m_file_cache): New field. + (make_range): Add file_cache param. + (selftest::test_layout_range_for_single_point): Create and use a + temporary file_cache. + (selftest::test_layout_range_for_single_line): Likewise. + (selftest::test_layout_range_for_multiple_lines): Likewise. + (layout::layout): Initialize m_file_cache from the context and use it. + (layout::maybe_add_location_range): Use m_file_cache. + (layout::calculate_x_offset_display): Likewise. + (get_affected_range): Add file_cache param. + (get_printed_columns): Likewise. + (line_corrections::line_corrections): Likewwise. + (line_corrections::m_file_cache): New field. + (source_line::source_line): Add file_cache param. + (line_corrections::add_hint): Use m_file_cache. + (layout::print_trailing_fixits): Likewise. + (layout::print_line): Likewise. + (selftest::test_layout_x_offset_display_utf8): Create and use a + temporary file_cache. + (selftest::test_layout_x_offset_display_tab): Likewise. + (selftest::test_diagnostic_show_locus_one_liner_utf8): Likewise. + (selftest::test_add_location_if_nearby): Pass global_dc's + file_cache to temp_source_file ctor. + (selftest::test_overlapped_fixit_printing): Create and use a + temporary file_cache. + (selftest::test_overlapped_fixit_printing_utf8): Likewise. + (selftest::test_overlapped_fixit_printing_2): Use dc's file_cache. + * diagnostic.cc (diagnostic_context::initialize): Always create a + file_cache. + (diagnostic_context::initialize_input_context): Assume + m_file_cache has already been created. + (diagnostic_context::create_edit_context): Pass m_file_cache to + edit_context. + (convert_column_unit): Add file_cache param. + (diagnostic_context::converted_column): Use context's file_cache. + (print_parseable_fixits): Add file_cache param. + (diagnostic_context::report_diagnostic): Use context's file_cache. + (selftest::test_print_parseable_fixits_none): Create and use a + temporary file_cache. + (selftest::test_print_parseable_fixits_insert): Likewise. + (selftest::test_print_parseable_fixits_remove): Likewise. + (selftest::test_print_parseable_fixits_replace): Likewise. + (selftest::test_print_parseable_fixits_bytes_vs_display_columns): + Likewise. + * diagnostic.h (diagnostic_context::file_cache_init): Delete. + (diagnostic_context::get_file_cache): Convert return type from + pointer to reference. + * edit-context.cc (edited_file::get_file_cache): New. + (edited_file::m_edit_context): New. + (edit_context::edit_context): Add file_cache param. + (edit_context::get_or_insert_file): Pass this to edited_file's + ctor. + (edited_file::edited_file): Add edit_context param. + (edited_file::print_content): Use get_file_cache. + (edited_file::print_diff_hunk): Likewise. + (edited_file::print_run_of_changed_lines): Likewise. + (edited_file::get_or_insert_line): Likewise. + (edited_file::get_num_lines): Likewise. + (edited_line::edited_line): Pass in file_cache and use it. + (selftest::test_get_content): Create and use a + temporary file_cache. + (selftest::test_applying_fixits_insert_before): Likewise. + (selftest::test_applying_fixits_insert_after): Likewise. + (selftest::test_applying_fixits_insert_after_at_line_end): + Likewise. + (selftest::test_applying_fixits_insert_after_failure): Likewise. + (selftest::test_applying_fixits_insert_containing_newline): + Likewise. + (selftest::test_applying_fixits_growing_replace): Likewise. + (selftest::test_applying_fixits_shrinking_replace): Likewise. + (selftest::test_applying_fixits_replace_containing_newline): + Likewise. + (selftest::test_applying_fixits_remove): Likewise. + (selftest::test_applying_fixits_multiple): Likewise. + (selftest::test_applying_fixits_multiple_lines): Likewise. + (selftest::test_applying_fixits_modernize_named_init): Likewise. + (selftest::test_applying_fixits_modernize_named_init): Likewise. + (selftest::test_applying_fixits_unreadable_file): Likewise. + (selftest::test_applying_fixits_line_out_of_range): Likewise. + (selftest::test_applying_fixits_column_validation): Likewise. + (selftest::test_applying_fixits_column_validation): Likewise. + (selftest::test_applying_fixits_column_validation): Likewise. + (selftest::test_applying_fixits_column_validation): Likewise. + * edit-context.h (edit_context::edit_context): Add file_cache + param. + (edit_context::get_file_cache): New. + (edit_context::m_file_cache): New. + * final.cc: Include "diagnostic.h". + (asm_show_source): Use global_dc's file_cache. + * gcc-rich-location.cc (blank_line_before_p): Add file_cache + param. + (use_new_line): Likewise. + (gcc_rich_location::add_fixit_insert_formatted): Use global dc's + file_cache. + * input.cc (diagnostic_file_cache_init): Delete. + (diagnostic_context::file_cache_init): Delete. + (diagnostics_file_cache_forcibly_evict_file): Delete. + (file_cache::missing_trailing_newline_p): New. + (file_cache::evicted_cache_tab_entry): Don't call + diagnostic_file_cache_init. + (location_get_source_line): Delete. + (get_source_text_between): Add file_cache param. + (get_source_file_content): Delete. + (location_missing_trailing_newline): Delete. + (location_compute_display_column): Add file_cache param. + (dump_location_info): Create and use temporary file_cache. + (get_substring_ranges_for_loc): Add file_cache param. + (get_location_within_string): Likewise. + (get_source_range_for_char): Likewise. + (get_num_source_ranges_for_substring): Likewise. + (selftest::test_reading_source_line): Create and use temporary + file_cache. + (selftest::lexer_test::m_file_cache): New field. + (selftest::assert_char_at_range): Use test.m_file_cache. + (selftest::assert_num_substring_ranges): Likewise. + (selftest::assert_has_no_substring_ranges): Likewise. + (selftest::test_lexer_string_locations_concatenation_2): Likewise. + * input.h (class file_cache): New forward decl. + (location_compute_display_column): Add file_cache param. + (location_get_source_line): Delete. + (get_source_text_between): Add file_cache param. + (get_source_file_content): Delete. + (location_missing_trailing_newline): Delete. + (file_cache::missing_trailing_newline_p): New decl. + (diagnostics_file_cache_forcibly_evict_file): Delete. + * selftest.cc (named_temp_file::named_temp_file): Add file_cache + param. + (named_temp_file::~named_temp_file): Optionally evict the file + from the given file_cache. + (temp_source_file::temp_source_file): Add file_cache param. + * selftest.h (class file_cache): New forward decl. + (named_temp_file::named_temp_file): Add file_cache param. + (named_temp_file::m_file_cache): New field. + (temp_source_file::temp_source_file): Add file_cache param. + * substring-locations.h (get_location_within_string): Add + file_cache param. + +2023-11-14 David Malcolm + + * diagnostic-format-json.cc: Use type-specific "set_*" functions + of json::object to avoid naked new of json value subclasses. + * diagnostic-format-sarif.cc: Likewise. + * gcov.cc: Likewise. + * json.cc (object::set_string): New. + (object::set_integer): New. + (object::set_float): New. + (object::set_bool): New. + (selftest::test_writing_objects): Use object::set_string. + * json.h (object::set_string): New decl. + (object::set_integer): New decl. + (object::set_float): New decl. + (object::set_bool): New decl. + * optinfo-emit-json.cc: Use type-specific "set_*" functions of + json::object to avoid naked new of json value subclasses. + * timevar.cc: Likewise. + * tree-diagnostic-path.cc: Likewise. + +2023-11-14 Andrew MacLeod + + PR tree-optimization/112509 + * tree-vrp.cc (find_case_label_range): Create range from case labels. + +2023-11-14 Stefan Schulze Frielinghaus + + * config/s390/s390-builtin-types.def: Add/remove types. + * config/s390/s390-builtins.def (s390_vec_scatter_element_flt): + The type for the offset should be UV4SI instead of V4SF. + +2023-11-14 Saurabh Jha + + PR target/112337 + * config/arm/arm.cc (mve_vector_mem_operand): Add a REG_P check for INC + and DEC operations. + +2023-11-14 Richard Biener + + PR tree-optimization/111233 + PR tree-optimization/111652 + PR tree-optimization/111727 + PR tree-optimization/111838 + PR tree-optimization/112113 + * tree-ssa-loop-split.cc (patch_loop_exit): Get the new + guard code instead of the old guard stmt. + (split_loop): Adjust. + +2023-11-14 Richard Biener + + * tree-loop-distribution.cc (loop_distribution::data_dep_in_cycle_p): + Consider all loops in the nest when looking for + lambda_vector_zerop. + +2023-11-14 Richard Biener + + PR tree-optimization/112281 + * tree-loop-distribution.cc (pg_add_dependence_edges): + Preserve stmt order when the innermost loop has exact + overlap. + +2023-11-14 Jakub Jelinek + + PR target/112523 + PR ada/112514 + * config/i386/i386.md (3_doubleword_lowpart): Move + operands[1] aka low part of input rather than operands[3] aka high + part of input to output if not the same register. + +2023-11-14 Andreas Krebbel + + * config.gcc: Add s390-gen-builtins.h to target_gtfiles. + * config/s390/s390-builtins.h (s390_builtin_types) + (s390_builtin_fn_types, s390_builtin_decls): Add GTY marker. + * config/s390/t-s390 (EXTRA_GTYPE_DEPS): Add s390-gen-builtins.h. + Add build rule for s390-gen-builtins.h. + +2023-11-14 Andreas Krebbel + + * config/s390/s390-c.cc (s390_fn_types_compatible): Add a check + for error_mark_node. + +2023-11-14 Jakub Jelinek + + PR c/111309 + * builtins.def (BUILT_IN_CLZG, BUILT_IN_CTZG, BUILT_IN_CLRSBG, + BUILT_IN_FFSG, BUILT_IN_PARITYG, BUILT_IN_POPCOUNTG): New + builtins. + * builtins.cc (fold_builtin_bit_query): New function. + (fold_builtin_1): Use it for + BUILT_IN_{CLZ,CTZ,CLRSB,FFS,PARITY,POPCOUNT}G. + (fold_builtin_2): Use it for BUILT_IN_{CLZ,CTZ}G. + * fold-const-call.cc: Fix comment typo on tm.h inclusion. + (fold_const_call_ss): Handle + CFN_BUILT_IN_{CLZ,CTZ,CLRSB,FFS,PARITY,POPCOUNT}G. + (fold_const_call_sss): New function. + (fold_const_call_1): Call it for 2 argument functions returning + scalar when passed 2 INTEGER_CSTs. + * genmatch.cc (cmp_operand): For function calls also compare + number of arguments. + (fns_cmp): New function. + (dt_node::gen_kids): Sort fns and generic_fns. + (dt_node::gen_kids_1): Handle fns with the same id but different + number of arguments. + * match.pd (CLZ simplifications): Drop checks for defined behavior + at zero. Add variant of simplifications for IFN_CLZ with 2 arguments. + (CTZ simplifications): Drop checks for defined behavior at zero, + don't optimize precisions above MAX_FIXED_MODE_SIZE. Add variant of + simplifications for IFN_CTZ with 2 arguments. + (a != 0 ? CLZ(a) : CST -> .CLZ(a)): Use TREE_TYPE (@3) instead of + type, add BITINT_TYPE handling, create 2 argument IFN_CLZ rather than + one argument. Add variant for matching CLZ with 2 arguments. + (a != 0 ? CTZ(a) : CST -> .CTZ(a)): Similarly. + * gimple-lower-bitint.cc (bitint_large_huge::lower_bit_query): New + method. + (bitint_large_huge::lower_call): Use it for IFN_{CLZ,CTZ,CLRSB,FFS} + and IFN_{PARITY,POPCOUNT} calls. + * gimple-range-op.cc (cfn_clz::fold_range): Don't check + CLZ_DEFINED_VALUE_AT_ZERO for m_gimple_call_internal_p, instead + assume defined value at zero if the call has 2 arguments and use + second argument value for that case. + (cfn_ctz::fold_range): Similarly. + (gimple_range_op_handler::maybe_builtin_call): Use op_cfn_clz_internal + or op_cfn_ctz_internal only if internal fn call has 2 arguments and + set m_op2 in that case. + * tree-vect-patterns.cc (vect_recog_ctz_ffs_pattern, + vect_recog_popcount_clz_ctz_ffs_pattern): For value defined at zero + use second argument of calls if present, otherwise assume UB at zero, + create 2 argument .CLZ/.CTZ calls if needed. + * tree-vect-stmts.cc (vectorizable_call): Handle 2 argument .CLZ/.CTZ + calls. + * tree-ssa-loop-niter.cc (build_cltz_expr): Create 2 argument + .CLZ/.CTZ calls if needed. + * tree-ssa-forwprop.cc (simplify_count_trailing_zeroes): Create 2 + argument .CTZ calls if needed. + * tree-ssa-phiopt.cc (cond_removal_in_builtin_zero_pattern): Handle + 2 argument .CLZ/.CTZ calls, handle BITINT_TYPE, create 2 argument + .CLZ/.CTZ calls. + * doc/extend.texi (__builtin_clzg, __builtin_ctzg, __builtin_clrsbg, + __builtin_ffsg, __builtin_parityg, __builtin_popcountg): Document. + +2023-11-14 Xi Ruoyao + + PR target/112330 + * config/loongarch/genopts/loongarch.opt.in: Add + -m[no]-pass-relax-to-as. Change the default of -m[no]-relax to + account conditional branch relaxation support status. + * config/loongarch/loongarch.opt: Regenerate. + * configure.ac (gcc_cv_as_loongarch_cond_branch_relax): Check if + the assembler supports conditional branch relaxation. + * configure: Regenerate. + * config.in: Regenerate. Note that there are some unrelated + changes introduced by r14-5424 (which does not contain a + config.in regeneration). + * config/loongarch/loongarch-opts.h + (HAVE_AS_COND_BRANCH_RELAXATION): Define to 0 if not defined. + * config/loongarch/loongarch-driver.h (ASM_MRELAX_DEFAULT): + Define. + (ASM_MRELAX_SPEC): Define. + (ASM_SPEC): Use ASM_MRELAX_SPEC instead of "%{mno-relax}". + * config/loongarch/loongarch.cc: Take the setting of + -m[no-]relax into account when determining the default of + -mexplicit-relocs=. + * doc/invoke.texi: Document -m[no-]relax and + -m[no-]pass-mrelax-to-as for LoongArch. Update the default + value of -mexplicit-relocs=. + +2023-11-14 liuhongt + + PR tree-optimization/112496 + * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return + false when !tree_nop_conversion_p (TREE_TYPE (vectype), + TREE_TYPE (init_expr)). + +2023-11-14 Xi Ruoyao + + * config/loongarch/sync.md (mem_thread_fence): Remove redundant + check. + (mem_thread_fence_1): Emit finer-grained DBAR hints for + different memory models, instead of 0. + +2023-11-14 Jakub Jelinek + + PR middle-end/112511 + * tree.cc (type_contains_placeholder_1): Handle BITINT_TYPE like + INTEGER_TYPE. + +2023-11-14 Jakub Jelinek + Hu, Lin1 + + PR target/112435 + * config/i386/sse.md (avx512vl_shuf_32x4_1, + avx512dq_shuf_64x2_1): Add + alternative with just x instead of v constraints and xjm instead of + vm and use vblendps as optimization only with that alternative. + +2023-11-14 liuhongt + + PR tree-optimization/105735 + PR tree-optimization/111972 + * tree-scalar-evolution.cc + (analyze_and_compute_bitop_with_inv_effect): Handle bitop with + INTEGER_CST. + +2023-11-13 Arsen Arsenović + + * configure: Regenerate. + * aclocal.m4: Regenerate. + * Makefile.in (LIBDEPS): Remove (potential) ./ prefix from + LIBINTL_DEP. + * doc/install.texi: Document new (notable) flags added by the + optional gettext tree and by AM_GNU_GETTEXT. Document libintl/libc + with gettext dependency. + +2023-11-13 Uros Bizjak + + * config/i386/i386-expand.h (gen_pushfl): New prototype. + (gen_popfl): Ditto. + * config/i386/i386-expand.cc (ix86_expand_builtin) + [case IX86_BUILTIN_READ_FLAGS]: Use gen_pushfl. + [case IX86_BUILTIN_WRITE_FLAGS]: Use gen_popfl. + * config/i386/i386.cc (gen_pushfl): New function. + (gen_popfl): Ditto. + * config/i386/i386.md (unspec): Add UNSPEC_PUSHFL and UNSPEC_POPFL. + (@pushfl2): Rename from *pushfl2. + Rewrite as unspec using UNSPEC_PUSHFL. + (@popfl1): Rename from *popfl1. + Rewrite as unspec using UNSPEC_POPFL. + +2023-11-13 Uros Bizjak + + PR target/112494 + * config/i386/i386.cc (ix86_cc_mode) [default]: Return CCmode. + +2023-11-13 Robin Dapp + + * config/riscv/riscv-vsetvl.cc (source_equal_p): Use pointer + equality for REG_EQUAL. + +2023-11-13 Richard Biener + + PR tree-optimization/112495 + * tree-data-ref.cc (runtime_alias_check_p): Reject checks + between different address spaces. + +2023-11-13 Richard Biener + + PR middle-end/112487 + * tree-inline.cc (setup_one_parameter): When the parameter + is unused only insert a debug bind when there's not a gross + mismatch in value and declared parameter type. Do not assert + there effectively isn't. + +2023-11-13 Juzhe-Zhong + + * config/riscv/riscv-v.cc + (rvv_builder::combine_sequence_use_merge_profitable_p): New function. + (expand_vector_init_merge_combine_sequence): Ditto. + (expand_vec_init): Adapt for new optimization. + +2023-11-13 liuhongt + + * config/i386/i386-expand.cc + (ix86_expand_vector_init_duplicate): Handle V4HF/V4BF and + V2HF/V2BF. + (ix86_expand_vector_init_one_nonzero): Ditto. + (ix86_expand_vector_init_one_var): Ditto. + (ix86_expand_vector_init_general): Ditto. + (ix86_expand_vector_set_var): Ditto. + (ix86_expand_vector_set): Ditto. + (ix86_expand_vector_extract): Ditto. + * config/i386/mmx.md + (mmxdoublevecmode): Extend to V4HF/V4BF/V2HF/V2BF. + (*mmx_pinsrw): Extend to V4FI_64, add a new alternative (&x, + x, x), add a new define_split after the pattern. + (*mmx_pextrw): New define_insn. + (mmx_pshufw_1): Rename to .. + (mmx_pshufw_1): .. this, extend to V4FI_64. + (*mmx_pblendw64): Extend to V4FI_64. + (*vec_dup): New define_insn. + (vec_setv4hi): Rename to .. + (vec_set): .. this, and extend to V4FI_64 + (vec_extractv4hihi): Rename to .. + (vec_extract): .. this, and extend + to V4FI_64. + (vec_init): New define_insn. + (*pinsrw): Extend to V2FI_32, add a new alternative (&x, + x, x), and add a new define_split after it. + (*pextrw): New define_insn. + (vec_setv2hi): Rename to .. + (vec_set): .. this, extend to V2FI_32. + (vec_extractv2hihi): Rename to .. + (vec_extract): .. this, extend to + V2FI_32. + (*punpckwd): Extend to V2FI_32. + (*pshufw_1): Rename to .. + (*pshufw_1): .. this, extend to V2FI_32. + (vec_initv2hihi): Rename to .. + (vec_init): .. this, and extend to + V2FI_32. + (*vec_dup): New define_insn. + * config/i386/sse.md (*vec_extract): Refine constraint + from v to Yw. + +2023-11-13 Roger Sayle + + * config/arc/arc.md (UNSPEC_ARC_CC_NEZ): New UNSPEC that + represents the carry flag being set if the operand is non-zero. + (adc_f): New define_insn representing adc with updated flags. + (ashrdi3): New define_expand that only handles shifts by 1. + (ashrdi3_cnt1): New pre-reload define_insn_and_split. + (lshrdi3): New define_expand that only handles shifts by 1. + (lshrdi3_cnt1): New pre-reload define_insn_and_split. + (rrcsi2): New define_insn for rrc (SImode rotate right through carry). + (rrcsi2_carry): Likewise for rrc.f, as above but updating flags. + (rotldi3): New define_expand that only handles rotates by 1. + (rotldi3_cnt1): New pre-reload define_insn_and_split. + (rotrdi3): New define_expand that only handles rotates by 1. + (rotrdi3_cnt1): New pre-reload define_insn_and_split. + (lshrsi3_cnt1_carry): New define_insn for lsr.f. + (ashrsi3_cnt1_carry): New define_insn for asr.f. + (btst_0_carry): New define_insn for asr.f without result. + +2023-11-13 Roger Sayle + + * config/arc/arc.cc (TARGET_FOLD_BUILTIN): Define to + arc_fold_builtin. + (arc_fold_builtin): New function. Convert ARC_BUILTIN_SWAP + into a rotate. Evaluate ARC_BUILTIN_NORM and + ARC_BUILTIN_NORMW of constant arguments. + * config/arc/arc.md (UNSPEC_ARC_SWAP): Delete. + (normw): Make output template/assembler whitespace consistent. + (swap): Remove define_insn, only use of SWAP UNSPEC. + * config/arc/builtins.def: Tweak indentation. + (SWAP): Expand using rotlsi2_cnt16 instead of using swap. + +2023-11-13 Roger Sayle + + * config/i386/i386.md (3_doubleword_lowpart): New + define_insn_and_split to optimize register usage of doubleword + right shifts followed by truncation. + +2023-11-13 Jakub Jelinek + + * config/i386/constraints.md: Remove j constraint letter from list of + unused letters. + +2023-11-13 Xi Ruoyao + + PR rtl-optimization/112483 + * simplify-rtx.cc (simplify_binary_operation_1) : + Fix the simplification of (fcopysign x, NEGATIVE_CONST). + +2023-11-13 Jakub Jelinek + + PR tree-optimization/111967 + * gimple-range-cache.cc (block_range_cache::set_bb_range): Grow + m_ssa_ranges to num_ssa_names rather than num_ssa_names + 1. + (block_range_cache::dump): Iterate from 1 rather than 0. Don't use + ssa_name (x) unless m_ssa_ranges[x] is non-NULL. Iterate to + m_ssa_ranges.length () rather than num_ssa_names. + +2023-11-13 Xi Ruoyao + + * config/loongarch/loongarch.md (LD_AT_LEAST_32_BIT): New mode + iterator. + (ST_ANY): New mode iterator. + (define_peephole2): Use LD_AT_LEAST_32_BIT instead of GPR and + ST_ANY instead of QHWD for applicable patterns. + +2023-11-13 Xi Ruoyao + + PR target/112476 + * config/loongarch/loongarch.cc + (loongarch_expand_vec_cond_mask_expr): Call simplify_gen_subreg + instead of gen_rtx_SUBREG. + +2023-11-13 Pan Li + + * config/riscv/autovec.md: Add bridge mode to lrint and lround + pattern. + * config/riscv/riscv-protos.h (expand_vec_lrint): Add new arg + bridge machine mode. + (expand_vec_lround): Ditto. + * config/riscv/riscv-v.cc (emit_vec_widden_cvt_f_f): New helper + func impl to emit vfwcvt.f.f. + (emit_vec_rounding_to_integer): Handle the HF to DI rounding + with the bridge mode. + (expand_vec_lrint): Reorder the args. + (expand_vec_lround): Ditto. + (expand_vec_lceil): Ditto. + (expand_vec_lfloor): Ditto. + * config/riscv/vector-iterators.md: Add vector HFmode and bridge + mode for converting to DI. + +2023-11-12 Jeff Law + + Revert: + 2023-11-11 Jin Ma + + * haifa-sched.cc (use_or_clobber_starts_range_p): New. + (prune_ready_list): USE or CLOBBER should delay execution + if it starts a new live range. + +2023-11-12 Uros Bizjak + + * config/i386/i386.md (*stack_protect_set_4s__di): + Remove alternative 0. + +2023-11-11 Eric Botcazou + + * ipa-cp.cc (print_ipcp_constant_value): Move to... + (values_equal_for_ipcp_p): Deal with VAR_DECLs from the + constant pool. + * ipa-prop.cc (ipa_print_constant_value): ...here. Likewise. + (ipa_print_node_jump_functions_for_edge): Call the function + ipa_print_constant_value to print IPA_JF_CONST elements. + +2023-11-11 Jin Ma + + * haifa-sched.cc (use_or_clobber_starts_range_p): New. + (prune_ready_list): USE or CLOBBER should delay execution + if it starts a new live range. + +2023-11-11 Jakub Jelinek + + PR middle-end/112430 + * tree-ssa-math-opts.cc (match_uaddc_usubc): Remove temp_stmts in the + order they were pushed rather than in reverse order. Call + release_defs after gsi_remove. + +2023-11-11 Richard Sandiford + + * target.def (mode_switching.backprop): New hook. + * doc/tm.texi.in (TARGET_MODE_BACKPROP): New @hook. + * doc/tm.texi: Regenerate. + * mode-switching.cc (struct bb_info): Add single_succ. + (confluence_info): Add transp field. + (single_succ_confluence_n, single_succ_transfer): New functions. + (backprop_confluence_n, backprop_transfer): Likewise. + (optimize_mode_switching): Use them. Push mode transitions onto + a block's incoming edges, if the backprop hook requires it. + +2023-11-11 Richard Sandiford + + * target.def (mode_switching.confluence): New hook. + * doc/tm.texi (TARGET_MODE_CONFLUENCE): New @hook. + * doc/tm.texi.in: Regenerate. + * mode-switching.cc (confluence_info): New variable. + (mode_confluence, forward_confluence_n, forward_transfer): New + functions. + (optimize_mode_switching): Use them to calculate mode_in when + TARGET_MODE_CONFLUENCE is defined. + +2023-11-11 Richard Sandiford + + * mode-switching.cc (commit_mode_sets): Use 1-based edge aux values. + +2023-11-11 Richard Sandiford + + * target.def (mode_switching.after): Add a regs_live parameter. + * doc/tm.texi: Regenerate. + * config/epiphany/epiphany-protos.h (epiphany_mode_after): Update + accordingly. + * config/epiphany/epiphany.cc (epiphany_mode_needed): Likewise. + (epiphany_mode_after): Likewise. + * config/i386/i386.cc (ix86_mode_after): Likewise. + * config/riscv/riscv.cc (riscv_mode_after): Likewise. + * config/sh/sh.cc (sh_mode_after): Likewise. + * mode-switching.cc (optimize_mode_switching): Likewise. + +2023-11-11 Richard Sandiford + + * target.def (mode_switching.needed): Add a regs_live parameter. + * doc/tm.texi: Regenerate. + * config/epiphany/epiphany-protos.h (epiphany_mode_needed): Update + accordingly. + * config/epiphany/epiphany.cc (epiphany_mode_needed): Likewise. + * config/epiphany/mode-switch-use.cc (insert_uses): Likewise. + * config/i386/i386.cc (ix86_mode_needed): Likewise. + * config/riscv/riscv.cc (riscv_mode_needed): Likewise. + * config/sh/sh.cc (sh_mode_needed): Likewise. + * mode-switching.cc (optimize_mode_switching): Likewise. + (create_pre_exit): Likewise, using the DF simulate functions + to calculate the required information. + +2023-11-11 Richard Sandiford + + * target.def (mode_switching.eh_handler): New hook. + * doc/tm.texi.in (TARGET_MODE_EH_HANDLER): New @hook. + * doc/tm.texi: Regenerate. + * mode-switching.cc (optimize_mode_switching): Use eh_handler + to get the mode on entry to an exception handler. + +2023-11-11 Richard Sandiford + + * mode-switching.cc (optimize_mode_switching): Mark the exit + block as nontransparent if it requires a specific mode. + Handle the entry and exit mode as sibling rather than nested + concepts. Remove outdated comment. + +2023-11-11 Richard Sandiford + + * mode-switching.cc (optimize_mode_switching): Initially + compute transparency in a bit-per-block bitmap. + +2023-11-11 Richard Sandiford + + * mode-switching.cc (seginfo): Add a prev_mode field. + (new_seginfo): Take and initialize the prev_mode. + (optimize_mode_switching): Update calls accordingly. + Use the recorded modes during the emit phase, rather than + computing one on the fly. + +2023-11-11 Richard Sandiford + + * mode-switching.cc (add_seginfo): Replace head pointer with + a pointer to the tail pointer. + (optimize_mode_switching): Update calls accordingly. + +2023-11-11 Richard Sandiford + + * mode-switching.cc (optimize_mode_switching): Call + df_note_add_problem. + +2023-11-11 Richard Sandiford + + * target.def: Tweak documentation of mode-switching hooks. + * doc/tm.texi.in (OPTIMIZE_MODE_SWITCHING): Tweak documentation. + (NUM_MODES_FOR_MODE_SWITCHING): Likewise. + * doc/tm.texi: Regenerate. + +2023-11-11 Martin Uecker + + PR c/110815 + PR c/112428 + * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes): + remove warning for parameters declared with `static`. + +2023-11-11 Joern Rennecke + + * doc/sourcebuild.texi (Scan the assembly output): Document change. + +2023-11-10 Mao + + PR middle-end/110983 + * doc/invoke.texi (Option Summary): Add -fpatchable-function-entry. + +2023-11-10 Maciej W. Rozycki + + * config/riscv/riscv.md (length): Fix indentation for branch and + jump length calculation expressions. + +2023-11-10 Eric Botcazou + + * fold-const.cc (operand_compare::operand_equal_p) : + Deal with nonempty constant CONSTRUCTORs. + (operand_compare::hash_operand) : Hash DECL_FIELD_OFFSET + and DECL_FIELD_BIT_OFFSET for FIELD_DECLs. + +2023-11-10 Vladimir N. Makarov + + PR target/112337 + * ira-costs.cc: (validate_autoinc_and_mem_addr_p): New function. + (equiv_can_be_consumed_p): Use it. + +2023-11-10 Richard Sandiford + + * read-rtl.cc (md_reader::read_mapping): Allow iterators to + include other iterators. + * doc/md.texi: Document the change. + * config/aarch64/iterators.md (DREG2, VQ2, TX2, DX2, SX2): Include + the iterator that is being duplicated, rather than reproducing it. + (VSTRUCT_D): Redefine using VSTRUCT_[234]D. + (VSTRUCT_Q): Likewise VSTRUCT_[234]Q. + (VSTRUCT_2QD, VSTRUCT_3QD, VSTRUCT_4QD, VSTRUCT_QD): Redefine using + the individual D and Q iterators. + +2023-11-10 Uros Bizjak + + * config/i386/i386.md (stack_protect_set_1 peephole2): + Explicitly check operand 2 for word_mode. + (stack_protect_set_1 peephole2 #2): Ditto. + (stack_protect_set_2 peephole2): Ditto. + (stack_protect_set_3 peephole2): Ditto. + (*stack_protect_set_4z__di): New insn patter. + (*stack_protect_set_4s__di): Ditto. + (stack_protect_set_4 peephole2): New peephole2 pattern to + substitute stack protector scratch register clear with unrelated + register initialization involving zero/sign-extend instruction. + +2023-11-10 Uros Bizjak + + * config/i386/i386.md (shift): Use SAL insted of SLL + for ashift insn mnemonic. + +2023-11-10 Juzhe-Zhong + + PR tree-optimization/112438 + * tree-vect-loop.cc (vectorizable_induction): Bugfix when + LOOP_VINFO_USING_SELECT_VL_P. + +2023-11-10 Juzhe-Zhong + + * config/riscv/riscv-protos.h (enum insn_type): New enum. + * config/riscv/riscv-v.cc + (rvv_builder::combine_sequence_use_slideup_profitable_p): New function. + (expand_vector_init_slideup_combine_sequence): Ditto. + (expand_vec_init): Add slideup combine optimization. + +2023-11-10 Robin Dapp + + PR tree-optimization/112464 + * tree-vect-loop.cc (vectorize_fold_left_reduction): Use + vect_orig_stmt on scalar_dest_def_info. + +2023-11-10 Jin Ma + + * config/riscv/riscv.cc (riscv_for_each_saved_reg): Place the interrupt + operation before the XTheadMemPair. + +2023-11-10 Richard Biener + + PR tree-optimization/110221 + * tree-vect-slp.cc (vect_schedule_slp_node): When loop + masking / len is applied make sure to not schedule + intenal defs outside of the loop. + +2023-11-10 Andrew Stubbs + + * expr.cc (store_constructor): Add "and" operation to uniform mask + generation. + +2023-11-10 Andrew Stubbs + + PR target/112308 + * config/gcn/gcn-valu.md (add3): Fix B constraint + and switch to the new format. + (add3_dup): Likewise. + (add3_vcc): Likewise. + (add3_vcc_dup): Likewise. + (add3_vcc_zext_dup): Likewise. + (add3_vcc_zext_dup_exec): Likewise. + (add3_vcc_zext_dup2): Likewise. + (add3_vcc_zext_dup2_exec): Likewise. + +2023-11-10 Richard Biener + + PR middle-end/112469 + * match.pd (cond ? op a : b -> .COND_op (cond, a, b)): Add + missing view_converts. + +2023-11-10 Andrew Stubbs + + * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Add clobber to DImode + min/max instructions. + +2023-11-10 Chenghui Pan + + * config/loongarch/lsx.md: Fix instruction name typo in + lsx_vreplgr2vr_ template. + +2023-11-10 Juzhe-Zhong + + * config/riscv/autovec.md (vec_init): Split patterns. + +2023-11-10 Pan Li + + Revert: + 2023-11-10 Pan Li + * config/riscv/riscv-v.cc (expand_vector_init_trailing_same_elem): + New fun impl to expand the insn when trailing same elements. + (expand_vec_init): Try trailing same elements when vec_init. + +2023-11-10 Pan Li + + * config/riscv/riscv-v.cc (expand_vector_init_trailing_same_elem): + New fun impl to expand the insn when trailing same elements. + (expand_vec_init): Try trailing same elements when vec_init. + +2023-11-10 Juzhe-Zhong + + * config/riscv/autovec-opt.md (*cond_copysign): Remove. + * config/riscv/autovec.md (cond_copysign): New pattern. + +2023-11-10 Pan Li + + PR target/112432 + * internal-fn.def (LRINT): Add FLOATN support. + (LROUND): Ditto. + (LLRINT): Ditto. + (LLROUND): Ditto. + +2023-11-10 Jeff Law + + * config/h8300/combiner.md (single bit sign_extract): Avoid recently + added patterns for H8/SX. + (single bit zero_extract): New patterns. + +2023-11-10 liuhongt + + PR target/112443 + * config/i386/sse.md (*avx2_pcmp3_4): Fix swap condition + from LT to GT since there's not in the pattern. + (*avx2_pcmp3_5): Ditto. + +2023-11-10 Jose E. Marchesi + + * config/bpf/bpf.cc (bpf_print_register): Accept modifier code 'W' + to force emitting register names using the wN form. + * config/bpf/bpf.md (*mulsidi3_zeroextend): Force operands to + always use wN written form in pseudo-C assembly syntax. + +2023-11-09 David Malcolm + + * diagnostic-show-locus.cc (layout::m_line_table): New field. + (compatible_locations_p): Convert to... + (layout::compatible_locations_p): ...this, replacing uses of + line_table global with m_line_table. + (layout::layout): Convert "richloc" param from a pointer to a + const reference. Initialize m_line_table member. + (layout::maybe_add_location_range): Replace uses of line_table + global with m_line_table. Pass the latter to + linemap_client_expand_location_to_spelling_point. + (layout::print_leading_fixits): Pass m_line_table to + affects_line_p. + (layout::print_trailing_fixits): Likewise. + (gcc_rich_location::add_location_if_nearby): Update for change + to layout ctor params. + (diagnostic_show_locus): Convert to... + (diagnostic_context::maybe_show_locus): ...this, converting + richloc param from a pointer to a const reference. Make "loc" + const. Split out printing part of function to... + (diagnostic_context::show_locus): ...this. + (selftest::test_offset_impl): Update for change to layout ctor + params. + (selftest::test_layout_x_offset_display_utf8): Likewise. + (selftest::test_layout_x_offset_display_tab): Likewise. + (selftest::test_tab_expansion): Likewise. + * diagnostic.h (diagnostic_context::maybe_show_locus): New decl. + (diagnostic_context::show_locus): New decl. + (diagnostic_show_locus): Convert from a decl to an inline function. + * gdbinit.in (break-on-diagnostic): Update from a breakpoint + on diagnostic_show_locus to one on + diagnostic_context::maybe_show_locus. + * genmatch.cc (linemap_client_expand_location_to_spelling_point): + Add "set" param and use it in place of line_table global. + * input.cc (expand_location_1): Likewise. + (expand_location): Update for new param of expand_location_1. + (expand_location_to_spelling_point): Likewise. + (linemap_client_expand_location_to_spelling_point): Add "set" + param and use it in place of line_table global. + * tree-diagnostic-path.cc (event_range::print): Pass line_table + for new param of linemap_client_expand_location_to_spelling_point. + +2023-11-09 Uros Bizjak + + * config/i386/i386.md (@stack_protect_set_1__): + Use W mode iterator instead of SWI48. Output MOV instead of XOR + for TARGET_USE_MOV0. + (stack_protect_set_1 peephole2): Use integer modes with + mode size <= word mode size for operand 3. + (stack_protect_set_1 peephole2 #2): New peephole2 pattern to + substitute stack protector scratch register clear with unrelated + register initialization, originally in front of stack + protector sequence. + (*stack_protect_set_3__): New insn pattern. + (stack_protect_set_1 peephole2): New peephole2 pattern to + substitute stack protector scratch register clear with unrelated + register initialization involving LEA instruction. + +2023-11-09 Vladimir N. Makarov + + PR rtl-optimization/110215 + * ira-lives.cc: (add_conflict_from_region_landing_pads): New + function. + (process_bb_node_lives): Use it. + +2023-11-09 Alexandre Oliva + + * config/i386/i386.cc (symbolic_base_address_p, + base_address_p): New, factored out from... + (extract_base_offset_in_addr): ... here and extended to + recognize REG+GOTOFF, as in gcc.target/i386/sse2-load-multi.c + and sse2-store-multi.c with PIE enabled by default. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * config/aarch64/aarch64-sve.md (cond_copysign): New. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * config/aarch64/aarch64.md (copysign3): Handle + copysign (x, -1). + * config/aarch64/aarch64-simd.md (copysign3): Likewise. + * config/aarch64/aarch64-sve.md (copysign3): Likewise. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * config/aarch64/aarch64.md (3): Add SVE split case. + * config/aarch64/aarch64-simd.md (ior3): Likewise. + * config/aarch64/predicates.md(aarch64_orr_imm_sve_advsimd): New. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * config/aarch64/aarch64.md (*mov_aarch64, *movsi_aarch64, + *movdi_aarch64): Add new w -> Z case. + * config/aarch64/iterators.md (Vbtype): Add QI and HI. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * config/aarch64/aarch64-protos.h (aarch64_simd_special_constant_p, + aarch64_maybe_generate_simd_constant): New. + * config/aarch64/aarch64-simd.md (*aarch64_simd_mov, + *aarch64_simd_mov): Add new coden for special constants. + * config/aarch64/aarch64.cc (aarch64_extract_vec_duplicate_wide_int): + Take optional mode. + (aarch64_simd_special_constant_p, + aarch64_maybe_generate_simd_constant): New. + * config/aarch64/aarch64.md (*movdi_aarch64): Add new codegen for + special constants. + * config/aarch64/constraints.md (Dx): new. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * internal-fn.def (COPYSIGN): New. + * match.pd (UNCOND_BINARY, COND_BINARY): Map IFN_COPYSIGN to + IFN_COND_COPYSIGN. + * optabs.def (cond_copysign_optab, cond_len_copysign_optab): New. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * match.pd: Add new neg+abs rule, remove inverse copysign rule. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * match.pd: expand existing copysign optimizations. + +2023-11-09 Tatsuyuki Ishi + + PR driver/111605 + * collect2.cc (main): Do not prepend target triple to + -fuse-ld=lld,mold. + +2023-11-09 Richard Biener + + PR tree-optimization/111133 + * tree-vect-stmts.cc (vect_build_scatter_store_calls): + Remove and refactor to ... + (vect_build_one_scatter_store_call): ... this new function. + (vectorizable_store): Use vect_check_scalar_mask to record + the SLP node for the mask operand. Code generate scatters + with builtin decls from the main scatter vectorization + path and prepare that for SLP. + * tree-vect-slp.cc (vect_get_operand_map): Do not look + at the VDEF to decide between scatter or gather since that + doesn't work for patterns. Use the LHS being an SSA_NAME + or not instead. + +2023-11-09 Pan Li + + * config/riscv/riscv.cc (riscv_frm_emit_after_bb_end): Only + perform once emit when at least one succ edge is abnormal. + +2023-11-09 Richard Biener + + * tree-vect-loop.cc (vect_verify_full_masking_avx512): + Check we have integer mode masks as required by + vect_get_loop_mask. + +2023-11-09 Richard Biener + + PR tree-optimization/112444 + * tree-ssa-sccvn.cc (visit_phi): Avoid using not visited + defs as undefined vals. + +2023-11-09 YunQiang Su + + * config/mips/mips.cc(mips_option_override): Set mips_abs to + 2008, if mips_abs is default and mips_nan is 2008. + +2023-11-09 Florian Weimer + + * doc/invoke.texi (Warning Options): Document + -Wreturn-mismatch. Update -Wreturn-type documentation. + +2023-11-09 Stefan Schulze Frielinghaus + + * config/s390/s390.md: Remove UNSPEC_VEC_ELTSWAP. + * config/s390/vector.md (eltswapv16qi): New expander. + (*eltswapv16qi): New insn and splitter. + (eltswapv8hi): New insn and splitter. + (eltswap): New insn and splitter for modes V_HW_4 as well + as V_HW_2. + * config/s390/vx-builtins.md (eltswap): Remove. + (*eltswapv16qi): Remove. + (*eltswap): Remove. + (*eltswap_emu): Remove. + +2023-11-09 Stefan Schulze Frielinghaus + + * config/s390/s390.cc (expand_perm_with_rot): Remove. + (expand_perm_reverse_elements): New. + (expand_perm_with_vster): Remove. + (expand_perm_with_vstbrq): Remove. + (vectorize_vec_perm_const_1): Replace removed functions with new + one. + +2023-11-09 Stefan Schulze Frielinghaus + + * config/s390/s390.cc (expand_perm_with_merge): Deal with cases + where vmr{l,h} are still applicable if the operands are swapped. + (expand_perm_with_vpdi): Likewise for vpdi. + +2023-11-09 Stefan Schulze Frielinghaus + + * config/s390/s390.md (VX_CONV_INT): Remove iterator. + (gf): Add float mappings. + (TOINT, toint): New attribute. + (*fixuns_trunc2_z13): + Remove. + (*fixuns_trunc2_z13): Add. + (*fix_trunc2_bfp_z13): + Remove. + (*fix_trunc2_bfp_z13): Add. + (*floatuns2_z13): Remove. + (*floatuns2_z13): Add. + * config/s390/vector.md (VX_VEC_CONV_INT): Remove iterator. + (float2): Remove. + (float2): Add. + (floatuns2): Remove. + (floatuns2): Add. + (fix_trunc2): + Remove. + (fix_trunc2): Add. + (fixuns_trunc2): + Remove. + (fixuns_trunc2): Add. + +2023-11-09 Jakub Jelinek + + PR c/112339 + * attribs.cc (attribute_ignored_p): Only return true for + attr_namespace_ignored_p if as is NULL. + (decl_attributes): Never add ignored attributes. + +2023-11-09 Jin Ma + + * config/riscv/bitmanip.md: Avoid the conflict between + zbb and xtheadmemidx in patterns. + +2023-11-09 Richard Biener + + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Record + to the correct simd_clone_info. + +2023-11-09 Juzhe-Zhong + + * config/riscv/riscv-vector-costs.cc (costs::preferred_new_lmul_p): Fix ICE. + +2023-11-09 Alexandre Oliva + + * tree-cfg.cc (assign_discriminators): Handle debug stmts. + +2023-11-08 Uros Bizjak + + PR target/82524 + * config/i386/i386.md (*add_1_slp): + Split insn only for unmatched operand 0. + (*sub_1_slp): Ditto. + (*_1_slp): Merge pattern from "*and_1_slp" + and "*_1_slp" using any_logic code iterator. + Split insn only for unmatched operand 0. + (*neg1_slp): Split insn only for unmatched operand 0. + (*one_cmpl_1_slp): Ditto. + (*ashl3_1_slp): Ditto. + (*_1_slp): Ditto. + (*_1_slp): Ditto. + (*addqi_ext_1): Redefine as define_insn_and_split. Add + alternative 1 and split insn after reload for unmatched operand 0. + (*qi_ext_2): Merge pattern from + "*addqi_ext_2" and "*subqi_ext_2" using plusminus code + iterator. Redefine as define_insn_and_split. Add alternative 1 + and split insn after reload for unmatched operand 0. + (*subqi_ext_1): Redefine as define_insn_and_split. Add + alternative 1 and split insn after reload for unmatched operand 0. + (*qi_ext_0): Merge pattern from + "*andqi_ext_0" and and "*qi_ext_0" using + any_logic code iterator. + (*qi_ext_1): Merge pattern from + "*andqi_ext_1" and "*qi_ext_1" using + any_logic code iterator. Redefine as define_insn_and_split. Add + alternative 1 and split insn after reload for unmatched operand 0. + (*qi_ext_1_cc): Merge pattern from + "*andqi_ext_1_cc" and "*xorqi_ext_1_cc" using any_logic + code iterator. Redefine as define_insn_and_split. Add alternative 1 + and split insn after reload for unmatched operand 0. + (*qi_ext_2): Merge pattern from + "*andqi_ext_2" and "*qi_ext_2" using + any_logic code iterator. Redefine as define_insn_and_split. Add + alternative 1 and split insn after reload for unmatched operand 0. + (*qi_ext_3): Redefine as define_insn_and_split. + Add alternative 1 and split insn after reload for unmatched operand 0. + (*negqi_ext_1): Rename from "*negqi_ext_2". Add + alternative 1 and split insn after reload for unmatched operand 0. + (*one_cmplqi_ext_1): Ditto. + (*ashlqi_ext_1): Ditto. + (*qi_ext_1): Ditto. + +2023-11-08 Richard Biener + + * tree-vect-stmts.cc (vectorizable_load): Adjust offset + vector gathering for SLP of emulated gathers. + +2023-11-08 Richard Biener + + * tree-vectorizer.h (vect_slp_child_index_for_operand): + Add gatherscatter_p argument. + * tree-vect-slp.cc (vect_slp_child_index_for_operand): Likewise. + Pass it on. + * tree-vect-stmts.cc (vect_check_store_rhs): Turn the rhs + argument into an output, also output the SLP node associated + with it. + (vectorizable_simd_clone_call): Adjust. + (vectorizable_store): Likewise. + (vectorizable_load): Likewise. + +2023-11-08 Richard Biener + + * tree-vect-stmts.cc (vectorizable_load): Use the correct + vectorized mask operand. + +2023-11-08 Lehua Ding + + * config/riscv/vector.md (*vsetvldi_no_side_effects_si_extend): + New combine pattern. + +2023-11-08 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc: Fix ICE. + +2023-11-08 xuli + + * config/riscv/riscv-c.cc (riscv_check_builtin_call): Eliminate warning. + +2023-11-08 Hongyu Wang + + PR target/112394 + * config/i386/constraints.md (jc): New constraint that prohibits + EGPR on -mno-avx. + * config/i386/i386.md (*movdi_internal): Change r constraint + corresponds to Yd. + (*movti_internal): Likewise. + +2023-11-08 Florian Weimer + + * doc/invoke.texi (Warning Options): Mention C diagnostics + for -fpermissive. + +2023-11-08 Juzhe-Zhong + + PR target/112092 + * config/riscv/riscv-vector-builtins-bases.cc: Normalize the vsetvls. + +2023-11-08 Haochen Jiang + + PR target/111907 + * config/i386/i386.md (avx_noavx512vl): New definition for isa + attribute. + * config/i386/sse.md (*andnot3): Change isa attribute from + avx_noavx512f to avx_noavx512vl. + +2023-11-07 Pan Li + + * config/riscv/autovec.md: Remove the size check of lfloor. + * config/riscv/riscv-v.cc (expand_vec_lfloor): Leverage + emit_vec_rounding_to_integer for floor. + +2023-11-07 Robin Dapp + + PR tree-optimization/112361 + PR target/112359 + PR middle-end/112406 + * tree-if-conv.cc (convert_scalar_cond_reduction): Remember if + loop was versioned and only then create COND_OPs. + (predicate_scalar_phi): Do not create COND_OP when not + vectorizing. + * tree-vect-loop.cc (vect_expand_fold_left): Re-create + VEC_COND_EXPR. + (vectorize_fold_left_reduction): Pass mask to + vect_expand_fold_left. + +2023-11-07 Uros Bizjak + + * config/i386/predicates.md ("flags_reg_operand"): + Make predicate special to avoid automatic mode checks. + +2023-11-07 Martin Jambor + + * configure: Regenerate. + +2023-11-07 Kwok Cheung Yeung + + * lto-cgraph.cc (enum LTO_symtab_tags): Add tag for indirect + functions. + (output_offload_tables): Write indirect functions. + (input_offload_tables): read indirect functions. + * lto-section-names.h (OFFLOAD_IND_FUNC_TABLE_SECTION_NAME): New. + * omp-builtins.def (BUILT_IN_GOMP_TARGET_MAP_INDIRECT_PTR): New. + * omp-offload.cc (offload_ind_funcs): New. + (omp_discover_implicit_declare_target): Add functions marked with + 'omp declare target indirect' to indirect functions list. + (omp_finish_file): Add indirect functions to section for offload + indirect functions. + (execute_omp_device_lower): Redirect indirect calls on target by + passing function pointer to BUILT_IN_GOMP_TARGET_MAP_INDIRECT_PTR. + (pass_omp_device_lower::gate): Run pass_omp_device_lower if + indirect functions are present on an accelerator device. + * omp-offload.h (offload_ind_funcs): New. + * tree-core.h (omp_clause_code): Add OMP_CLAUSE_INDIRECT. + * tree.cc (omp_clause_num_ops): Add entry for OMP_CLAUSE_INDIRECT. + (omp_clause_code_name): Likewise. + * tree.h (OMP_CLAUSE_INDIRECT_EXPR): New. + * config/gcn/mkoffload.cc (process_asm): Process offload_ind_funcs + section. Count number of indirect functions. + (process_obj): Emit number of indirect functions. + * config/nvptx/mkoffload.cc (ind_func_ids, ind_funcs_tail): New. + (process): Emit offload_ind_func_table in PTX code. Emit indirect + function names and count in image. + * config/nvptx/nvptx.cc (nvptx_record_offload_symbol): Mark + indirect functions in PTX code with IND_FUNC_MAP. + +2023-11-07 Tobias Burnus + + * doc/invoke.texi (-fopenmp, -fopenmp-simd): Adjust wording for + attribute syntax supported also in C. + +2023-11-07 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_print_operand): Add a %Z + modifier for SVE registers. + +2023-11-07 Joseph Myers + + * builtins.def (DEF_C2X_BUILTIN): Rename to DEF_C23_BUILTIN and + use flag_isoc23 and function_c23_misc. + * config/rl78/rl78.cc (rl78_option_override): Compare + lang_hooks.name with "GNU C23" not "GNU C2X". + * coretypes.h (function_c2x_misc): Rename to function_c23_misc. + * doc/cpp.texi (@code{__has_attribute}): Refer to C23 instead of + C2x. + * doc/extend.texi: Likewise. + * doc/invoke.texi: Likewise. + * dwarf2out.cc (highest_c_language, gen_compile_unit_die): Compare + against and return "GNU C23" language string instead of "GNU C2X". + * ginclude/float.h: Refer to C23 instead of C2X in comments. + * ginclude/stdint-gcc.h: Likewise. + * glimits.h: Likewise. + * tree.h: Likewise. + +2023-11-07 Alexandre Oliva + + * doc/sourcebuild.texi (opt_mstrict_align): New target. + +2023-11-07 Lehua Ding + + * config/riscv/autovec-opt.md (*cond_len_): + New combine pattern. + (*cond_len_): Ditto. + (*cond_len_): Ditto. + (*cond_len_extend): Ditto. + (*cond_len_widen_reduc_plus_scal_): Ditto. + +2023-11-07 Juzhe-Zhong + + PR target/112399 + * config/riscv/riscv-avlprop.cc + (pass_avlprop::get_vlmax_ta_preferred_avl): Enhance AVL propagation. + * config/riscv/t-riscv: Add new include. + +2023-11-07 Pan Li + + * config/riscv/autovec.md: Remove the size check of lceil.l + * config/riscv/riscv-v.cc (expand_vec_lceil): Leverage + emit_vec_rounding_to_integer for ceil. + +2023-11-06 John David Anglin + + * config/pa/pa.cc (pa_asm_trampoline_template): Fix typo. + +2023-11-06 John David Anglin + + * config/pa/pa-linux.h (NEED_INDICATE_EXEC_STACK): Define to 1. + +2023-11-06 David Malcolm + + * diagnostic-show-locus.cc (class colorizer): Take just a + pretty_printer rather than a diagnostic_context. + (layout::layout): Make context param a const reference, + and pretty_printer param non-optional. + (layout::m_context): Drop field. + (layout::m_options): New field. + (layout::m_colorize_source_p): Drop field. + (layout::m_show_labels_p): Drop field. + (layout::m_show_line_numbers_p): Drop field. + (layout::print_gap_in_line_numbering): Use m_options. + (layout::calculate_line_spans): Likewise. + (layout::calculate_linenum_width): Likewise. + (layout::calculate_x_offset_display): Likewise. + (layout::print_source_line): Likewise. + (layout::start_annotation_line): Likewise. + (layout::print_annotation_line): Likewise. + (layout::print_line): Likewise. + (gcc_rich_location::add_location_if_nearby): Update for changes to + layout ctor. + (diagnostic_show_locus): Likewise. + (selftest::test_offset_impl): Likewise. + (selftest::test_layout_x_offset_display_utf8): Likewise. + (selftest::test_layout_x_offset_display_tab): Likewise. + (selftest::test_tab_expansion): Likewise. + * diagnostic.h (diagnostic_context::m_source_printing): Move + declaration of struct outside diagnostic_context as... + (struct diagnostic_source_printing_options)... this. + +2023-11-06 David Malcolm + + * diagnostic.cc (diagnostic_context::push_diagnostics): Convert + to... + (diagnostic_option_classifier::push): ...this. + (diagnostic_context::pop_diagnostics): Convert to... + (diagnostic_option_classifier::pop): ...this. + (diagnostic_context::initialize): Move code to... + (diagnostic_option_classifier::init): ...this new function. + (diagnostic_context::finish): Move code to... + (diagnostic_option_classifier::fini): ...this new function. + (diagnostic_context::classify_diagnostic): Convert to... + (diagnostic_option_classifier::classify_diagnostic): ...this. + (diagnostic_context::update_effective_level_from_pragmas): Convert + to... + (diagnostic_option_classifier::update_effective_level_from_pragmas): + ...this. + (diagnostic_context::diagnostic_enabled): Update for refactoring. + * diagnostic.h (struct diagnostic_classification_change_t): Move into... + (class diagnostic_option_classifier): ...this new class. + (diagnostic_context::option_unspecified_p): Update for move of + fields into m_option_classifier. + (diagnostic_context::classify_diagnostic): Likewise. + (diagnostic_context::push_diagnostics): Likewise. + (diagnostic_context::pop_diagnostics): Likewise. + (diagnostic_context::update_effective_level_from_pragmas): Delete. + (diagnostic_context::m_classify_diagnostic): Move into class + diagnostic_option_classifier. + (diagnostic_context::m_option_classifier): Likewise. + (diagnostic_context::m_classification_history): Likewise. + (diagnostic_context::m_n_classification_history): Likewise. + (diagnostic_context::m_push_list): Likewise. + (diagnostic_context::m_n_push): Likewise. + (diagnostic_context::m_option_classifier): New. + +2023-11-06 David Malcolm + + * diagnostic.cc (diagnostic_context::set_urlifier): New. + * diagnostic.h (diagnostic_context::set_urlifier): New decl. + (diagnostic_context::m_urlifier): Make private. + * gcc.cc (driver::global_initializations): Use set_urlifier rather + than directly setting field. + * toplev.cc (general_init): Likewise. + +2023-11-06 David Malcolm + + * diagnostic.cc (diagnostic_context::check_max_errors): Replace + uses of diagnostic_kind_count with simple field acesss. + (diagnostic_context::report_diagnostic): Likewise. + (diagnostic_text_output_format::~diagnostic_text_output_format): + Replace use of diagnostic_kind_count with + diagnostic_context::diagnostic_count. + * diagnostic.h (diagnostic_kind_count): Delete. + (errorcount): Replace use of diagnostic_kind_count with + diagnostic_context::diagnostic_count. + (warningcount): Likewise. + (werrorcount): Likewise. + (sorrycount): Likewise. + +2023-11-06 Christophe Lyon + + * doc/sourcebuild.texi (Other attributes): Document thread_fence + effective-target. + +2023-11-06 Uros Bizjak + + * config/i386/constraints.md (Bc): Remove constraint. + (Bn): Rewrite to use x86_extended_reg_mentioned_p predicate. + * config/i386/i386.cc (ix86_memory_address_reg_class): + Do not limit processing to TARGET_APX_EGPR. Exit early for + NULL insn. Do not check recog_data.insn before calling + extract_insn_cached. + (ix86_insn_base_reg_class): Handle ADDR_GPR8. + (ix86_regno_ok_for_insn_base_p): Ditto. + (ix86_insn_index_reg_class): Ditto. + * config/i386/i386.md (*cmpqi_ext_1_mem_rex64): + Remove insn pattern and corresponding peephole2 pattern. + (*cmpi_ext_1): Remove (m,Q) alternative. + Change (QBc,Q) alternative to (QBn,Q). Add "addr" attribute. + (*cmpqi_ext_3_mem_rex64): Remove insn pattern + and corresponding peephole2 pattern. + (*cmpi_ext_3): Remove (Q,m) alternative. + Change (Q,QnBc) alternative to (Q,QnBn). Add "addr" attribute. + (*extzvqi_mem_rex64): Remove insn pattern and + corresponding peephole2 pattern. + (*extzvqi): Remove (Q,m) alternative. Change (Q,QnBc) + alternative to (Q,QnBn). Add "addr" attribute. + (*insvqi_1_mem_rex64): Remove insn pattern and + corresponding peephole2 pattern. + (*insvqi_1): Remove (Q,m) alternative. Change (Q,QnBc) + alternative to (Q,QnBn). Add "addr" attribute. + (@insv_1): Ditto. + (*addqi_ext_0): Remove (m,0,Q) alternative. Change (QBc,0,Q) + alternative to (QBn,0,Q). Add "addr" attribute. + (*subqi_ext_0): Ditto. + (*andqi_ext_0): Ditto. + (*qi_ext_0): Ditto. + (*addqi_ext_1): Remove (Q,0,m) alternative. Change (Q,0,QnBc) + alternative to (Q,0,QnBn). Add "addr" attribute. + (*andqi_ext_1): Ditto. + (*andqi_ext_1_cc): Ditto. + (*qi_ext_1): Ditto. + (*xorqi_ext_1_cc): Ditto. + * config/i386/predicates.md (nonimm_x64constmem_operand): + Remove predicate. + (general_x64constmem_operand): Ditto. + (norex_memory_operand): Ditto. + +2023-11-06 Joseph Myers + + PR c/107954 + * doc/cpp.texi (__STDC_VERSION__): Refer to -std=c23 and + -std=gnu23 instead of -std=c2x and -std=gnu2x. + * doc/extend.texi (Attribute Syntax): Refer to C23 and -std=c23 + instead of C2x and -std=c2x. + * doc/invoke.texi (-Wc11-c23-compat, -std=c23, -std=gnu23) + (-std=iso9899:2024): Document, with -Wc11-c2x-compat, -std=c2x and + -std=gnu2x as deprecated aliases. Update descriptions of C23. + * doc/standards.texi (Standards): Describe C23 with C2X as an old + name. + +2023-11-06 Thomas Schwinge + + * config/nvptx/nvptx.h (MAKE_DECL_ONE_ONLY): Define. + +2023-11-06 Richard Biener + + PR tree-optimization/112405 + * tree-vect-stmts.cc (vectorizable_simd_clone_call): + Properly handle invariant and/or loop mask passing. + +2023-11-06 Pan Li + + * config/riscv/autovec.md: Remove the size check of lround. + * config/riscv/riscv-v.cc (expand_vec_lround): Leverage + emit_vec_rounding_to_integer for round. + +2023-11-06 Juzhe-Zhong + + * config/riscv/predicates.md: Adapt predicate. + * config/riscv/riscv-protos.h (can_be_broadcasted_p): New function. + * config/riscv/riscv-v.cc (can_be_broadcasted_p): Ditto. + * config/riscv/vector.md (vec_duplicate): New pattern. + (*vec_duplicate): Adapt vec_duplicate insn pattern. + +2023-11-06 Richard Biener + + PR tree-optimization/111950 + * tree-vect-loop-manip.cc (slpeel_duplicate_current_defs_from_edges): + Remove. + (find_guard_arg): Likewise. + (slpeel_update_phi_nodes_for_guard2): Likewise. + (slpeel_tree_duplicate_loop_to_edge_cfg): Remove calls to + slpeel_duplicate_current_defs_from_edges, do not elide + LC-PHIs for invariant values. + (vect_do_peeling): Materialize PHI arguments for the edge + around the epilog from the PHI defs of the main loop exit. + +2023-11-06 Richard Biener + + PR tree-optimization/112404 + * tree-vectorizer.h (get_mask_type_for_scalar_type): Declare + overload with SLP node argument. + * tree-vect-stmts.cc (get_mask_type_for_scalar_type): Implement it. + (vect_check_scalar_mask): Use it. + * tree-vect-slp.cc (vect_gather_slp_loads): Properly identify + loads also for nodes with children, like .MASK_LOAD. + * tree-vect-loop.cc (vect_analyze_loop_2): Look at the + representative for load nodes and check whether it is a grouped + access before looking for load-lanes support. + +2023-11-06 Robin Dapp + + PR tree-optimization/111760 + * config/riscv/autovec.md (vcond_mask_len_): Add + expander. + * config/riscv/riscv-protos.h (enum insn_type): Add. + * config/riscv/riscv-v.cc (needs_fp_rounding): Add !pred_mov. + * doc/md.texi: Add vcond_mask_len. + * gimple-match-exports.cc (maybe_resimplify_conditional_op): + Create VCOND_MASK_LEN when length masking. + * gimple-match.h (gimple_match_op::gimple_match_op): Always + initialize len and bias. + * internal-fn.cc (vec_cond_mask_len_direct): Add. + (direct_vec_cond_mask_len_optab_supported_p): Add. + (internal_fn_len_index): Add VCOND_MASK_LEN. + (internal_fn_mask_index): Ditto. + * internal-fn.def (VCOND_MASK_LEN): New internal function. + * match.pd: Combine unconditional unary, binary and ternary + operations into the respective COND_LEN operations. + * optabs.def (OPTAB_D): Add vcond_mask_len optab. + +2023-11-06 Richard Sandiford + + * explow.cc (align_dynamic_address): Do nothing if the required + alignment is a byte. + +2023-11-06 Richard Sandiford + + * function.h (get_stack_dynamic_offset): Declare. + * function.cc (get_stack_dynamic_offset): New function, + split out from... + (get_stack_dynamic_offset): ...here. + * explow.cc (allocate_dynamic_stack_space): Handle calls made + after virtual registers have been instantiated. + +2023-11-06 liuhongt + + PR target/112393 + * config/i386/i386-expand.cc (ix86_expand_vec_perm_vpermt2): + Avoid generating RTL code when d->testing_p. + +2023-11-06 Richard Biener + + PR tree-optimization/112369 + * tree.cc (strip_float_extensions): Use element_precision. + +2023-11-06 Richard Biener + + PR middle-end/112296 + * doc/extend.texi (__builtin_constant_p): Clarify that + side-effects are discarded. + +2023-11-06 Kewen Lin + + PR target/111828 + * config.in: Regenerate. + * config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Guard + inline asm handling under !HAVE_AS_POWER10_HTM. + * configure: Regenerate. + * configure.ac: Detect assembler support for HTM insns at power10. + +2023-11-06 xuli + Pan Li + + * config/riscv/riscv-c.cc (riscv_resolve_overloaded_builtin): New function for the hook. + (riscv_register_pragmas): Register the hook. + * config/riscv/riscv-protos.h (resolve_overloaded_builtin): New decl. + * config/riscv/riscv-vector-builtins-bases.cc: New function impl. + * config/riscv/riscv-vector-builtins-shapes.cc (build_one): Register overloaded function. + * config/riscv/riscv-vector-builtins.cc (struct non_overloaded_registered_function_hasher): + New hash table. + (function_builder::add_function): Add overloaded arg. + (function_builder::add_unique_function): Map overloaded function to non-overloaded function. + (function_builder::add_overloaded_function): New API impl. + (registered_function::overloaded_hash): Calculate hash value. + (has_vxrm_or_frm_p): New function impl. + (non_overloaded_registered_function_hasher::hash): Ditto. + (non_overloaded_registered_function_hasher::equal): Ditto. + (handle_pragma_vector): Allocate space for hash table. + (resolve_overloaded_builtin): New function impl. + * config/riscv/riscv-vector-builtins.h (function_base::may_require_frm_p): Ditto. + (function_base::may_require_vxrm_p): Ditto. + +2023-11-06 Haochen Jiang + + PR target/111889 + * config/i386/avx512bf16intrin.h: Push no-evex512 target. + * config/i386/avx512bf16vlintrin.h: Ditto. + * config/i386/avx512bitalgvlintrin.h: Ditto. + * config/i386/avx512bwintrin.h: Ditto. + * config/i386/avx512dqintrin.h: Ditto. + * config/i386/avx512fintrin.h: Ditto. + * config/i386/avx512fp16intrin.h: Ditto. + * config/i386/avx512fp16vlintrin.h: Ditto. + * config/i386/avx512ifmavlintrin.h: Ditto. + * config/i386/avx512vbmi2vlintrin.h: Ditto. + * config/i386/avx512vbmivlintrin.h: Ditto. + * config/i386/avx512vlbwintrin.h: Ditto. + * config/i386/avx512vldqintrin.h: Ditto. + * config/i386/avx512vlintrin.h: Ditto. + * config/i386/avx512vnnivlintrin.h: Ditto. + * config/i386/avx512vp2intersectvlintrin.h: Ditto. + * config/i386/avx512vpopcntdqvlintrin.h: Ditto. + +2023-11-06 Haochen Jiang + + * config/i386/avx512bf16vlintrin.h + (_mm_avx512_castsi128_ps): New. + (_mm256_avx512_castsi256_ps): Ditto. + (_mm_avx512_slli_epi32): Ditto. + (_mm256_avx512_slli_epi32): Ditto. + (_mm_avx512_cvtepi16_epi32): Ditto. + (_mm256_avx512_cvtepi16_epi32): Ditto. + (__attribute__): Change intrin call. + * config/i386/avx512bwintrin.h + (_mm_avx512_set_epi32): New. + (_mm_avx512_set_epi16): Ditto. + (_mm_avx512_set_epi8): Ditto. + (__attribute__): Change intrin call. + * config/i386/avx512fp16intrin.h: Ditto. + * config/i386/avx512fp16vlintrin.h + (_mm_avx512_set1_ps): New. + (_mm256_avx512_set1_ps): Ditto. + (_mm_avx512_and_si128): Ditto. + (_mm256_avx512_and_si256): Ditto. + (__attribute__): Change intrin call. + * config/i386/avx512vlbwintrin.h + (_mm_avx512_set1_epi32): New. + (_mm_avx512_set1_epi16): Ditto. + (_mm_avx512_set1_epi8): Ditto. + (_mm256_avx512_set_epi16): Ditto. + (_mm256_avx512_set_epi8): Ditto. + (_mm256_avx512_set1_epi16): Ditto. + (_mm256_avx512_set1_epi32): Ditto. + (_mm256_avx512_set1_epi8): Ditto. + (_mm_avx512_max_epi16): Ditto. + (_mm_avx512_min_epi16): Ditto. + (_mm_avx512_max_epu16): Ditto. + (_mm_avx512_min_epu16): Ditto. + (_mm_avx512_max_epi8): Ditto. + (_mm_avx512_min_epi8): Ditto. + (_mm_avx512_max_epu8): Ditto. + (_mm_avx512_min_epu8): Ditto. + (_mm256_avx512_max_epi16): Ditto. + (_mm256_avx512_min_epi16): Ditto. + (_mm256_avx512_max_epu16): Ditto. + (_mm256_avx512_min_epu16): Ditto. + (_mm256_avx512_insertf128_ps): Ditto. + (_mm256_avx512_extractf128_pd): Ditto. + (_mm256_avx512_extracti128_si256): Ditto. + (_MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI16): Ditto. + (_MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP16): Ditto. + (_MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI8): Ditto. + (_MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP8): Ditto. + (__attribute__): Change intrin call. + +2023-11-06 Haochen Jiang + + * config/i386/avx512bf16vlintrin.h: Change intrin call. + * config/i386/avx512fintrin.h + (_mm_avx512_undefined_ps): New. + (_mm_avx512_undefined_pd): Ditto. + (__attribute__): Change intrin call. + * config/i386/avx512vbmivlintrin.h: Ditto. + * config/i386/avx512vlbwintrin.h: Ditto. + * config/i386/avx512vldqintrin.h: Ditto. + * config/i386/avx512vlintrin.h + (_mm_avx512_undefined_si128): New. + (_mm256_avx512_undefined_ps): Ditto. + (_mm256_avx512_undefined_pd): Ditto. + (_mm256_avx512_undefined_si256): Ditto. + (__attribute__): Change intrin call. + +2023-11-06 Haochen Jiang + + * config/i386/avx512bitalgvlintrin.h: Change intrin call. + * config/i386/avx512dqintrin.h: Ditto. + * config/i386/avx512fintrin.h: + (_mm_avx512_setzero_ps): New. + (_mm_avx512_setzero_pd): Ditto. + (__attribute__): Change intrin call. + * config/i386/avx512fp16intrin.h: Ditto. + * config/i386/avx512fp16vlintrin.h: Ditto. + * config/i386/avx512vbmi2vlintrin.h: Ditto. + * config/i386/avx512vbmivlintrin.h: Ditto. + * config/i386/avx512vlbwintrin.h: Ditto. + * config/i386/avx512vldqintrin.h: Ditto. + * config/i386/avx512vlintrin.h + (_mm_avx512_setzero_si128): New. + (_mm256_avx512_setzero_pd): Ditto. + (_mm256_avx512_setzero_ps): Ditto. + (_mm256_avx512_setzero_si256): Ditto. + (__attribute__): Change intrin call. + * config/i386/avx512vpopcntdqvlintrin.h: Ditto. + * config/i386/gfniintrin.h: Ditto. + +2023-11-05 Uros Bizjak + + * config/i386/i386.h (enum reg_class): Add LEGACY_INDEX_REGS. + Rename LEGACY_REGS to LEGACY_GENERAL_REGS. + (REG_CLASS_NAMES): Ditto. + (REG_CLASS_CONTENTS): Ditto. + * config/i386/constraints.md ("R"): Update for rename. + +2023-11-05 Richard Sandiford + + * mode-switching.cc: Remove unused forward references. + (seginfo): Remove bbnum. + (new_seginfo): Remove associated argument. + (optimize_mode_switching): Update calls accordingly. + +2023-11-05 Richard Sandiford + + * read-rtl.cc (read_rtx_operand): Avoid spinning endlessly for + invalid [...] operands. + +2023-11-05 Richard Sandiford + + PR target/112105 + * config/aarch64/aarch64.cc (aarch64_modes_compatible_p): New + function, with the core logic extracted from... + (aarch64_can_change_mode_class): ...here. Extend the previous rules + to allow changes between partial SVE modes and other modes if + the other mode is no bigger than an element, and if no other rule + prevents it. Use the aarch64_modes_tieable_p handling of + partial Advanced SIMD structure modes. + (aarch64_modes_tieable_p): Use aarch64_modes_compatible_p. + Allow all vector mode ties that it allows. + +2023-11-05 Pan Li + + * config/riscv/autovec.md: Remove the size check of lrint. + * config/riscv/riscv-v.cc (emit_vec_narrow_cvt_x_f): New help + emit func impl. + (emit_vec_widden_cvt_x_f): New help emit func impl. + (emit_vec_rounding_to_integer): New func impl to emit the + rounding from FP to integer. + (expand_vec_lrint): Leverage emit_vec_rounding_to_integer. + * config/riscv/vector.md: Take V_VLSF for vfncvt. + +2023-11-05 Juzhe-Zhong + + * config/riscv/vector.md: Fix bug. + +2023-11-04 Sergei Trofimovich + + PR bootstrap/112379 + * gcc-urlifier.cc (get_url_suffix_for_quoted_text): Mark as + ATTRIBUTE_UNUSED. + +2023-11-04 Pan Li + + * config/riscv/vector-iterators.md: Remove HF modes. + +2023-11-04 David Malcolm + + * diagnostic.cc: Include "pretty-print-urlifier.h". + (diagnostic_context::initialize): Initialize m_urlifier. + (diagnostic_context::finish): Clean up m_urlifier + (diagnostic_report::diagnostic): m_urlifier to pp_format. + * diagnostic.h (diagnostic_context::m_urlifier): New field. + * gcc-urlifier.cc: New file. + * gcc-urlifier.def: New file. + * gcc-urlifier.h: New file. + * gcc.cc: Include "gcc-urlifier.h". + (driver::global_initializations): Initialize global_dc->m_urlifier. + * pretty-print-urlifier.h: New file. + * pretty-print.cc: Include "pretty-print-urlifier.h". + (obstack_append_string): New. + (urlify_quoted_string): New. + (pp_format): Add "urlifier" param and use it to implement optional + urlification of quoted text strings. + (pp_output_formatted_text): Make buffer a const pointer. + (selftest::pp_printf_with_urlifier): New. + (selftest::test_urlification): New. + (selftest::pretty_print_cc_tests): Call it. + * pretty-print.h (class urlifier): New forward declaration. + (pp_format): Add optional urlifier param. + * selftest-run-tests.cc (selftest::run_tests): Call + selftest::gcc_urlifier_cc_tests . + * selftest.h (selftest::gcc_urlifier_cc_tests): New decl. + * toplev.cc: Include "gcc-urlifier.h". + (general_init): Initialize global_dc->m_urlifier. + +2023-11-04 David Malcolm + + * Makefile.in (GCC_OBJS): Add gcc-urlifier.o. + (OBJS): Likewise. + +2023-11-04 David Malcolm + + * common.opt (fdiagnostics-text-art-charset=): Remove refererence + to diagnostic-text-art.h. + * coretypes.h (struct diagnostic_context): Replace forward decl + with... + (class diagnostic_context): ...this. + * diagnostic-format-json.cc: Update for changes to + diagnostic_context. + * diagnostic-format-sarif.cc: Likewise. + * diagnostic-show-locus.cc: Likewise. + * diagnostic-text-art.h: Deleted file, moving content... + (enum diagnostic_text_art_charset): ...to diagnostic.h, + (DIAGNOSTICS_TEXT_ART_CHARSET_DEFAULT): ...deleting, + (diagnostics_text_art_charset_init): ...deleting in favor of + diagnostic_context::set_text_art_charset. + * diagnostic.cc: Remove include of "diagnostic-text-art.h". + (pedantic_warning_kind): Update for field renaming. + (permissive_error_kind): Likewise. + (permissive_error_option): Likewise. + (diagnostic_initialize): Convert to... + (diagnostic_context::initialize): ...this, updating for field + renamings. + (diagnostic_color_init): Convert to... + (diagnostic_context::color_init): ...this. + (diagnostic_urls_init): Convert to... + (diagnostic_context::urls_init): ...this. + (diagnostic_initialize_input_context): Convert to... + (diagnostic_context::initialize_input_context): ...this. + (diagnostic_finish): Convert to... + (diagnostic_context::finish): ...this, updating for field + renamings. + (diagnostic_context::set_output_format): New. + (diagnostic_context::set_client_data_hooks): New. + (diagnostic_context::create_edit_context): New. + (diagnostic_converted_column): Convert to... + (diagnostic_context::converted_column): ...this. + (diagnostic_get_location_text): Update for field renaming. + (diagnostic_check_max_errors): Convert to... + (diagnostic_context::check_max_errors): ...this, updating for + field renamings. + (diagnostic_action_after_output): Convert to... + (diagnostic_context::action_after_output): ...this, updating for + field renamings. + (last_module_changed_p): Delete. + (set_last_module): Delete. + (includes_seen): Convert to... + (diagnostic_context::includes_seen_p): ...this, updating for field + renamings. + (diagnostic_report_current_module): Convert to... + (diagnostic_context::report_current_module): ...this, updating for + field renamings, and replacing uses of last_module_changed_p and + set_last_module to simple field accesses. + (diagnostic_show_any_path): Convert to... + (diagnostic_context::show_any_path): ...this. + (diagnostic_classify_diagnostic): Convert to... + (diagnostic_context::classify_diagnostic): ...this, updating for + field renamings. + (diagnostic_push_diagnostics): Convert to... + (diagnostic_context::push_diagnostics): ...this, updating for field + renamings. + (diagnostic_pop_diagnostics): Convert to... + (diagnostic_context::pop_diagnostics): ...this, updating for field + renamings. + (get_any_inlining_info): Convert to... + (diagnostic_context::get_any_inlining_info): ...this, updating for + field renamings. + (update_effective_level_from_pragmas): Convert to... + (diagnostic_context::update_effective_level_from_pragmas): + ...this, updating for field renamings. + (print_any_cwe): Convert to... + (diagnostic_context::print_any_cwe): ...this. + (print_any_rules): Convert to... + (diagnostic_context::print_any_rules): ...this. + (print_option_information): Convert to... + (diagnostic_context::print_option_information): ...this, updating + for field renamings. + (diagnostic_enabled): Convert to... + (diagnostic_context::diagnostic_enabled): ...this, updating for + field renamings. + (warning_enabled_at): Convert to... + (diagnostic_context::warning_enabled_at): ...this. + (diagnostic_report_diagnostic): Convert to... + (diagnostic_context::report_diagnostic): ...this, updating for + field renamings and conversions to member functions. + (diagnostic_append_note): Update for field renaming. + (diagnostic_impl): Use diagnostic_context::report_diagnostic + directly. + (diagnostic_n_impl): Likewise. + (diagnostic_emit_diagram): Convert to... + (diagnostic_context::emit_diagram): ...this, updating for field + renamings. + (error_recursion): Convert to... + (diagnostic_context::error_recursion): ...this. + (diagnostic_text_output_format::~diagnostic_text_output_format): + Use accessor. + (diagnostics_text_art_charset_init): Convert to... + (diagnostic_context::set_text_art_charset): ...this. + (assert_location_text): Update for field renamings. + * diagnostic.h (enum diagnostic_text_art_charset): Move here from + diagnostic-text-art.h. + (struct diagnostic_context): Convert to... + (class diagnostic_context): ...this. + (diagnostic_context::ice_handler_callback_t): New typedef. + (diagnostic_context::set_locations_callback_t): New typedef. + (diagnostic_context::initialize): New decl. + (diagnostic_context::color_init): New decl. + (diagnostic_context::urls_init): New decl. + (diagnostic_context::file_cache_init): New decl. + (diagnostic_context::finish): New decl. + (diagnostic_context::set_set_locations_callback): New. + (diagnostic_context::initialize_input_context): New decl. + (diagnostic_context::warning_enabled_at): New decl. + (diagnostic_context::option_unspecified_p): New. + (diagnostic_context::report_diagnostic): New decl. + (diagnostic_context::report_current_module): New decl. + (diagnostic_context::check_max_errors): New decl. + (diagnostic_context::action_after_output): New decl. + (diagnostic_context::classify_diagnostic): New decl. + (diagnostic_context::push_diagnostics): New decl. + (diagnostic_context::pop_diagnostics): New decl. + (diagnostic_context::emit_diagram): New decl. + (diagnostic_context::set_output_format): New decl. + (diagnostic_context::set_text_art_charset): New decl. + (diagnostic_context::set_client_data_hooks): New decl. + (diagnostic_context::create_edit_context): New decl. + (diagnostic_context::set_warning_as_error_requested): New. + (diagnostic_context::set_report_bug): New. + (diagnostic_context::set_extra_output_kind): New. + (diagnostic_context::set_show_cwe): New. + (diagnostic_context::set_show_rules): New. + (diagnostic_context::set_path_format): New. + (diagnostic_context::set_show_path_depths): New. + (diagnostic_context::set_show_option_requested): New. + (diagnostic_context::set_max_errors): New. + (diagnostic_context::set_escape_format): New. + (diagnostic_context::set_ice_handler_callback): New. + (diagnostic_context::warning_as_error_requested_p): New. + (diagnostic_context::show_path_depths_p): New. + (diagnostic_context::get_path_format): New. + (diagnostic_context::get_escape_format): New. + (diagnostic_context::get_file_cache): New. + (diagnostic_context::get_edit_context): New. + (diagnostic_context::get_client_data_hooks): New. + (diagnostic_context::get_diagram_theme): New. + (diagnostic_context::converted_column): New decl. + (diagnostic_context::diagnostic_count): New. + (diagnostic_context::includes_seen_p): New decl. + (diagnostic_context::print_any_cwe): New decl. + (diagnostic_context::print_any_rules): New decl. + (diagnostic_context::print_option_information): New decl. + (diagnostic_context::show_any_path): New decl. + (diagnostic_context::error_recursion): New decl. + (diagnostic_context::diagnostic_enabled): New decl. + (diagnostic_context::get_any_inlining_info): New decl. + (diagnostic_context::update_effective_level_from_pragmas): New + decl. + (diagnostic_context::m_file_cache): Make private. + (diagnostic_context::diagnostic_count): Rename to... + (diagnostic_context::m_diagnostic_count): ...this and make + private. + (diagnostic_context::warning_as_error_requested): Rename to... + (diagnostic_context::m_warning_as_error_requested): ...this and + make private. + (diagnostic_context::n_opts): Rename to... + (diagnostic_context::m_n_opts): ...this and make private. + (diagnostic_context::classify_diagnostic): Rename to... + (diagnostic_context::m_classify_diagnostic): ...this and make + private. + (diagnostic_context::classification_history): Rename to... + (diagnostic_context::m_classification_history): ...this and make + private. + (diagnostic_context::n_classification_history): Rename to... + (diagnostic_context::m_n_classification_history): ...this and make + private. + (diagnostic_context::push_list): Rename to... + (diagnostic_context::m_push_list): ...this and make private. + (diagnostic_context::n_push): Rename to... + (diagnostic_context::m_n_push): ...this and make private. + (diagnostic_context::show_cwe): Rename to... + (diagnostic_context::m_show_cwe): ...this and make private. + (diagnostic_context::show_rules): Rename to... + (diagnostic_context::m_show_rules): ...this and make private. + (diagnostic_context::path_format): Rename to... + (diagnostic_context::m_path_format): ...this and make private. + (diagnostic_context::show_path_depths): Rename to... + (diagnostic_context::m_show_path_depths): ...this and make + private. + (diagnostic_context::show_option_requested): Rename to... + (diagnostic_context::m_show_option_requested): ...this and make + private. + (diagnostic_context::abort_on_error): Rename to... + (diagnostic_context::m_abort_on_error): ...this. + (diagnostic_context::show_column): Rename to... + (diagnostic_context::m_show_column): ...this. + (diagnostic_context::pedantic_errors): Rename to... + (diagnostic_context::m_pedantic_errors): ...this. + (diagnostic_context::permissive): Rename to... + (diagnostic_context::m_permissive): ...this. + (diagnostic_context::opt_permissive): Rename to... + (diagnostic_context::m_opt_permissive): ...this. + (diagnostic_context::fatal_errors): Rename to... + (diagnostic_context::m_fatal_errors): ...this. + (diagnostic_context::dc_inhibit_warnings): Rename to... + (diagnostic_context::m_inhibit_warnings): ...this. + (diagnostic_context::dc_warn_system_headers): Rename to... + (diagnostic_context::m_warn_system_headers): ...this. + (diagnostic_context::max_errors): Rename to... + (diagnostic_context::m_max_errors): ...this and make private. + (diagnostic_context::internal_error): Rename to... + (diagnostic_context::m_internal_error): ...this. + (diagnostic_context::option_enabled): Rename to... + (diagnostic_context::m_option_enabled): ...this. + (diagnostic_context::option_state): Rename to... + (diagnostic_context::m_option_state): ...this. + (diagnostic_context::option_name): Rename to... + (diagnostic_context::m_option_name): ...this. + (diagnostic_context::get_option_url): Rename to... + (diagnostic_context::m_get_option_url): ...this. + (diagnostic_context::print_path): Rename to... + (diagnostic_context::m_print_path): ...this. + (diagnostic_context::make_json_for_path): Rename to... + (diagnostic_context::m_make_json_for_path): ...this. + (diagnostic_context::x_data): Rename to... + (diagnostic_context::m_client_aux_data): ...this. + (diagnostic_context::last_location): Rename to... + (diagnostic_context::m_last_location): ...this. + (diagnostic_context::last_module): Rename to... + (diagnostic_context::m_last_module): ...this and make private. + (diagnostic_context::lock): Rename to... + (diagnostic_context::m_lock): ...this and make private. + (diagnostic_context::lang_mask): Rename to... + (diagnostic_context::m_lang_mask): ...this. + (diagnostic_context::inhibit_notes_p): Rename to... + (diagnostic_context::m_inhibit_notes_p): ...this. + (diagnostic_context::report_bug): Rename to... + (diagnostic_context::m_report_bug): ...this and make private. + (diagnostic_context::extra_output_kind): Rename to... + (diagnostic_context::m_extra_output_kind): ...this and make + private. + (diagnostic_context::column_unit): Rename to... + (diagnostic_context::m_column_unit): ...this and make private. + (diagnostic_context::column_origin): Rename to... + (diagnostic_context::m_column_origin): ...this and make private. + (diagnostic_context::tabstop): Rename to... + (diagnostic_context::m_tabstop): ...this and make private. + (diagnostic_context::escape_format): Rename to... + (diagnostic_context::m_escape_format): ...this and make private. + (diagnostic_context::edit_context_ptr): Rename to... + (diagnostic_context::m_edit_context_ptr): ...this and make + private. + (diagnostic_context::set_locations_cb): Rename to... + (diagnostic_context::m_set_locations_cb): ...this and make + private. + (diagnostic_context::ice_handler_cb): Rename to... + (diagnostic_context::m_ice_handler_cb): ...this and make private. + (diagnostic_context::includes_seen): Rename to... + (diagnostic_context::m_includes_seen): ...this and make private. + (diagnostic_inhibit_notes): Update for field renaming. + (diagnostic_context_auxiliary_data): Likewise. + (diagnostic_abort_on_error): Convert from macro to inline function + and update for field renaming. + (diagnostic_kind_count): Convert from macro to inline function and + use diagnostic_count accessor. + (diagnostic_report_warnings_p): Update for field renaming. + (diagnostic_initialize): Convert decl to inline function calling + into diagnostic_context. + (diagnostic_color_init): Likewise. + (diagnostic_urls_init): Likewise. + (diagnostic_urls_init): Likewise. + (diagnostic_finish): Likewise. + (diagnostic_report_current_module): Likewise. + (diagnostic_show_any_path): Delete decl. + (diagnostic_initialize_input_context): Convert decl to inline + function calling into diagnostic_context. + (diagnostic_classify_diagnostic): Likewise. + (diagnostic_push_diagnostics): Likewise. + (diagnostic_pop_diagnostics): Likewise. + (diagnostic_report_diagnostic): Likewise. + (diagnostic_action_after_output): Likewise. + (diagnostic_check_max_errors): Likewise. + (diagnostic_file_cache_fini): Delete decl. + (diagnostic_converted_column): Delete decl. + (warning_enabled_at): Convert decl to inline function calling into + diagnostic_context. + (option_unspecified_p): New. + (diagnostic_emit_diagram): Delete decl. + * gcc.cc: Remove include of "diagnostic-text-art.h". + Update for changes to diagnostic_context. + * input.cc (diagnostic_file_cache_init): Move implementation + to... + (diagnostic_context::file_cache_init): ...this new member + function. + (diagnostic_file_cache_fini): Delete. + (diagnostics_file_cache_forcibly_evict_file): Update for + m_file_cache becoming private. + (location_get_source_line): Likewise. + (get_source_file_content): Likewise. + (location_missing_trailing_newline): Likewise. + * input.h (diagnostics_file_cache_fini): Delete. + * langhooks.cc: Update for changes to diagnostic_context. + * lto-wrapper.cc: Likewise. + * opts.cc: Remove include of "diagnostic-text-art.h". + Update for changes to diagnostic_context. + * selftest-diagnostic.cc: Update for changes to + diagnostic_context. + * toplev.cc: Likewise. + * tree-diagnostic-path.cc: Likewise. + * tree-diagnostic.cc: Likewise. + +2023-11-03 Martin Uecker + + PR c/98541 + * gimple-ssa-warn-access.cc + (pass_waccess::maybe_check_access_sizes): For VLA bounds + in parameters, only warn about null pointers with 'static'. + +2023-11-03 Andre Vieira + + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow unmasked + calls to use masked simdclones. + +2023-11-03 David Malcolm + + * diagnostic.cc (diagnostic_initialize): Update for consolidation + of group-based fields. + (diagnostic_report_diagnostic): Likewise. + (diagnostic_context::begin_group): New, based on body of + auto_diagnostic_group's ctor. + (diagnostic_context::end_group): New, based on body of + auto_diagnostic_group's dtor. + (auto_diagnostic_group::auto_diagnostic_group): Convert to a call + to begin_group. + (auto_diagnostic_group::~auto_diagnostic_group): Convert to a call + to end_group. + * diagnostic.h (diagnostic_context::begin_group): New decl. + (diagnostic_context::end_group): New decl. + (diagnostic_context::diagnostic_group_nesting_depth): Rename to... + (diagnostic_context::m_diagnostic_groups.m_nesting_depth): + ...this. + (diagnostic_context::diagnostic_group_emission_count): Rename + to... + (diagnostic_context::m_diagnostic_groups::m_emission_count): + ...this. + +2023-11-03 Andrew MacLeod + + PR tree-optimization/111766 + * range-op.cc (operator_equal::fold_range): Check constants + against the bitmask. + (operator_not_equal::fold_range): Ditto. + * value-range.h (irange_bitmask::member_p): New. + +2023-11-03 Andrew MacLeod + + * value-range.cc (irange_bitmask::adjust_range): New. + (irange::intersect_bitmask): Call adjust_range. + * value-range.h (irange_bitmask::adjust_range): New prototype. + +2023-11-03 Uros Bizjak + + * config/i386/i386.cc (ix86_memory_address_use_extended_reg_class_p): + Rename to ... + (ix86_memory_address_reg_class): ... this. Generalize address + register class handling to allow multiple address register classes. + Return maximal class for unrecognized instructions. Improve comments. + (ix86_insn_base_reg_class): Rewrite to handle + multiple address register classes. + (ix86_regno_ok_for_insn_base_p): Ditto. + (ix86_insn_index_reg_class): Ditto. + * config/i386/i386.md: Rename "gpr32" attribute to "addr" + and substitute its values with "0" -> "gpr16", "1" -> "*". + (addr): New attribute to limit allowed address register set. + (gpr32): Remove. + * config/i386/mmx.md: Rename "gpr32" attribute to "addr" + and substitute its values with "0" -> "gpr16", "1" -> "*". + * config/i386/sse.md: Ditto. + +2023-11-03 Richard Biener + + * tree-vect-loop.cc (vectorizable_live_operation): Simplify + LC PHI replacement. + +2023-11-03 Roger Sayle + + * config/arc/arc.md (addsi3): Fix GNU-style code formatting. + (adddi3): Change define_expand to generate a *adddi3. + (*adddi3): New define_insn_and_split to lower DImode additions + during the split1 pass (after combine and before reload). + (ashldi3): New define_expand to (only) generate *ashldi3_cnt1 + for DImode left shifts by a single bit. + (*ashldi3_cnt1): New define_insn_and_split to lower DImode + left shifts by one bit to an *adddi3. + +2023-11-03 Richard Sandiford + + * config/aarch64/aarch64.md (*cmov_uxtw_insn_insv): Remove + can_create_pseudo_p condition. + +2023-11-03 Juzhe-Zhong + + * tree-vect-slp.cc (vect_get_and_check_slp_defs): Support SLP for dummy mask -1. + * tree-vect-stmts.cc (vectorizable_load): Ditto. + +2023-11-03 Richard Biener + + PR tree-optimization/112366 + * tree-vect-loop.cc (vectorizable_live_operation): Remove + assert. + +2023-11-03 Richard Biener + + PR tree-optimization/112310 + * tree-ssa-pre.cc (do_hoist_insertion): Keep the union + of expressions, validate dependences are contained within + the hoistable set before hoisting. + +2023-11-03 Pan Li + + * config/riscv/autovec.md (lrint2): Remove. + (lround2): Ditto. + (lceil2): Ditto. + (lfloor2): Ditto. + (lrint2): New pattern for cvt from + FP to SI. + (lround2): Ditto. + (lceil2): Ditto. + (lfloor2): Ditto. + (lrint2): New pattern for cvt from + FP to DI. + (lround2): Ditto. + (lceil2): Ditto. + (lfloor2): Ditto. + * config/riscv/vector-iterators.md: Renew iterators for both + the SI and DI. + +2023-11-03 Juzhe-Zhong + + PR target/112326 + * config/riscv/riscv-avlprop.cc (get_insn_vtype_mode): New function. + (simplify_replace_vlmax_avl): Ditto. + (pass_avlprop::execute): Add immediate AVL simplification. + * config/riscv/riscv-protos.h (imm_avl_p): Rename. + * config/riscv/riscv-v.cc (const_vlmax_p): Ditto. + (imm_avl_p): Ditto. + (emit_vlmax_insn): Adapt for new interface name. + * config/riscv/vector.md (mode_idx): New attribute. + +2023-11-03 Pan Li + + Revert: + 2023-11-02 Pan Li + + * config/riscv/autovec.md (lrint2): Remove. + (lround2): Ditto. + (lceil2): Ditto. + (lfloor2): Ditto. + (lrint2): New pattern for cvt from + FP to SI. + (lround2): Ditto. + (lceil2): Ditto. + (lfloor2): Ditto. + (lrint2): New pattern for cvt from + FP to DI. + (lround2): Ditto. + (lceil2): Ditto. + (lfloor2): Ditto. + * config/riscv/vector-iterators.md: Renew iterators for both + the SI and DI. + +2023-11-02 Edwin Lu + + * config/riscv/riscv.cc (riscv_sched_variable_issue): add disabled assert + +2023-11-02 Jeff Law + + * config/h8300/combiner.md: Add new patterns for single bit + sign extractions. + +2023-11-02 Pan Li + + * config/riscv/autovec.md (lrint2): Remove. + (lround2): Ditto. + (lceil2): Ditto. + (lfloor2): Ditto. + (lrint2): New pattern for cvt from + FP to SI. + (lround2): Ditto. + (lceil2): Ditto. + (lfloor2): Ditto. + (lrint2): New pattern for cvt from + FP to DI. + (lround2): Ditto. + (lceil2): Ditto. + (lfloor2): Ditto. + * config/riscv/vector-iterators.md: Renew iterators for both + the SI and DI. + +2023-11-02 Sam James + + * doc/passes.texi (Dead code elimination): Explicitly say 'lifetime' + as this has become the standard term for what we're doing here. + +2023-11-02 Juzhe-Zhong + + * config/riscv/riscv-avlprop.cc + (pass_avlprop::get_vlmax_ta_preferred_avl): Don't allow + non-real insn AVL propation. + +2023-11-02 Robin Dapp + + PR middle-end/111401 + * internal-fn.cc (internal_fn_else_index): New function. + * internal-fn.h (internal_fn_else_index): Define. + * tree-if-conv.cc (convert_scalar_cond_reduction): Emit COND_OP + if supported. + (predicate_scalar_phi): Add whitespace. + * tree-vect-loop.cc (fold_left_reduction_fn): Add IFN_COND_OP. + (neutral_op_for_reduction): Return -0 for PLUS. + (check_reduction_path): Don't count else operand in COND_OP. + (vect_is_simple_reduction): Ditto. + (vect_create_epilog_for_reduction): Fix whitespace. + (vectorize_fold_left_reduction): Add COND_OP handling. + (vectorizable_reduction): Don't count else operand in COND_OP. + (vect_transform_reduction): Add COND_OP handling. + * tree-vectorizer.h (neutral_op_for_reduction): Add default + parameter. + +2023-11-02 Richard Biener + + PR tree-optimization/112320 + * gimple-fold.h (rewrite_to_defined_overflow): New overload + for in-place operation. + * gimple-fold.cc (rewrite_to_defined_overflow): Add stmt + iterator argument to worker, define separate API for + in-place and not in-place operation. + * tree-if-conv.cc (predicate_statements): Simplify. + * tree-scalar-evolution.cc (final_value_replacement_loop): + Likewise. + * tree-ssa-ifcombine.cc (pass_tree_ifcombine::execute): Adjust. + * tree-ssa-reassoc.cc (update_range_test): Likewise. + +2023-11-02 Uros Bizjak + + * config/i386/i386.md: Move stack protector patterns + above mov $0,%reg -> xor %reg,%reg peephole2 pattern. + +2023-11-02 liuhongt + + * config/i386/mmx.md (cmlav4hf4): New expander. + (cmla_conjv4hf4): Ditto. + (cmulv4hf3): Ditto. + (cmul_conjv4hf3): Ditto. + +2023-11-02 Juzhe-Zhong + + * config/riscv/vector.md: Fix redundant codes in attributes. + +2023-11-02 xuli + + * config/riscv/riscv-vector-builtins-bases.cc: Expand non-tuple intrinsics. + * config/riscv/riscv-vector-builtins-functions.def (vcreate): Define non-tuple intrinsics. + * config/riscv/riscv-vector-builtins-shapes.cc (struct vcreate_def): Ditto. + * config/riscv/riscv-vector-builtins.cc: Add arg types. + +2023-11-02 Pan Li + + * tree-vect-stmts.cc (vectorizable_internal_function): Add type + size check for vectype_out doesn't participating for optab query. + (vectorizable_call): Remove the type size check. + +2023-11-02 Juzhe-Zhong + + PR target/112327 + * config/riscv/vector.md: Add '0'. + +2023-11-01 Roger Sayle + + PR target/110551 + * config/i386/i386.md (*bmi2_umul3_1): Tidy condition + as operands[2] with predicate register_operand must be !MEM_P. + (peephole2): Optimize a mulx followed by a register-to-register + move, to place result in the correct destination if possible. + +2023-11-01 Patrick O'Neill + + * config/riscv/sync.md: Use riscv_subword_address function to + calculate the address and shift in atomic_test_and_set. + +2023-11-01 Vineet Gupta + + * config/riscv/riscv.cc (riscv_promote_function_mode): Fix mode + returned for libcall case. + +2023-11-01 Martin Uecker + + PR c/71219 + * doc/invoke.texi: Document -Walloc-size option. + +2023-11-01 Edwin Lu + + * genautomata.cc (write_automata): move endif + +2023-11-01 Andre Vieira + + * omp-simd-clone.cc (simd_clone_adjust_return_type): Hoist out code to + create return array and don't return new type. + (simd_clone_adjust_argument_types): Hoist out code that creates + ipa_param_body_adjustments and don't return them. + (simd_clone_adjust): Call TARGET_SIMD_CLONE_ADJUST after return and + argument types have been vectorized, create adjustments and return array + after the hook. + (expand_simd_clones): Call TARGET_SIMD_CLONE_ADJUST after return and + argument types have been vectorized. + +2023-11-01 Uros Bizjak + + PR target/112332 + * config/i386/i386.md (stack_protexct_set_2 peephole2): + Use general_gr_operand as operand 4 predicate. + +2023-11-01 Uros Bizjak + + * config/i386/i386.md (stack_protect_set): Explicitly + generate scratch register in word mode. + (@stack_protect_set_1_): Rename to ... + (@stack_protect_set_1__): ... this. + Use SWI48 mode iterator to match scratch register. + (stack_protexct_set_1 peephole2): Use PTR, W and SWI48 mode + iterators to match peephole sequence. Use general_operand + predicate for operand 4. Allow different operand 2 and operand 3 + registers and use peep2_reg_dead_p to ensure new scratch + register is dead before peephole seqeunce. Use peep2_reg_dead_p + to ensure old scratch register is dead after peephole sequence. + (*stack_protect_set_2_): Rename to ... + (*stack_protect_set_2__si): .. this. + (*stack_protect_set_3): Rename to ... + (*stack_protect_set_2__di): ... this. + Use PTR mode iterator to match stack protector memory move. + Use earlyclobber for all alternatives of operand 1. + (stack_protexct_set_2 peephole2): Use PTR, W and SWI48 mode + iterators to match peephole sequence. Use general_operand + predicate for operand 4. Allow different operand 2 and operand 3 + registers and use peep2_reg_dead_p to ensure new scratch + register is dead before peephole seqeunce. Use peep2_reg_dead_p + to ensure old scratch register is dead after peephole sequence. + +2023-11-01 xuli + + * config/riscv/riscv-vector-builtins-functions.def (vundefined): Add vundefine + intrinsics for tuple types. + * config/riscv/riscv-vector-builtins.cc: Ditto. + * config/riscv/vector.md (@vundefined): Ditto. + +2023-11-01 Juzhe-Zhong + + * tree-vect-slp.cc (vect_build_slp_tree_1): Fix whitespace. + +2023-10-31 David Malcolm + + * Makefile.in (ANALYZER_OBJS): Add analyzer/record-layout.o. + +2023-10-31 David Malcolm + + * input.cc (dump_location_info): Update for removal of + MACRO_MAP_EXPANSION_POINT_LOCATION. + * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): + Likewise. + +2023-10-31 David Malcolm + + * opts.cc (get_option_url): Update comment; the requirement to + pass DOCUMENTATION_ROOT_URL's value via -D was removed in + r10-8065-ge33a1eae25b8a8. + +2023-10-31 David Malcolm + + * pretty-print.cc (pretty_printer::pretty_printer): Initialize + m_skipping_null_url. + (pp_begin_url): Handle URL being null. + (pp_end_url): Likewise. + (selftest::test_null_urls): New. + (selftest::pretty_print_cc_tests): Call it. + * pretty-print.h (pretty_printer::m_skipping_null_url): New. + +2023-10-31 Juzhe-Zhong + + * tree-vect-slp.cc (vect_get_operand_map): Add MASK_LEN_GATHER_LOAD. + (vect_build_slp_tree_1): Ditto. + (vect_build_slp_tree_2): Ditto. + +2023-10-31 Cupertino Miranda + + * config/bpf/bpf-passes.def (pass_lower_bpf_core): Added pass. + * config/bpf/bpf-protos.h: Added prototype for new pass. + * config/bpf/bpf.cc (bpf_delegitimize_address): New function. + * config/bpf/bpf.md (mov_reloc_core): Prefixed + name with '*'. + * config/bpf/core-builtins.cc (cr_builtins) Added access_node to + struct. + (is_attr_preserve_access): Improved check. + (core_field_info): Make use of root_for_core_field_info + function. + (process_field_expr): Adapted to new functions. + (pack_type): Small improvement. + (bpf_handle_plugin_finish_type): Adapted to GTY(()). + (bpf_init_core_builtins): Changed to new function names. + (construct_builtin_core_reloc): Improved implementation. + (bpf_resolve_overloaded_core_builtin): Changed how + __builtin_preserve_access_index is converted. + (compute_field_expr): Corrected implementation. Added + access_node argument. + (bpf_core_get_index): Added valid argument. + (root_for_core_field_info, pack_field_expr) + (core_expr_with_field_expr_plus_base, make_core_safe_access_index) + (replace_core_access_index_comp_expr, maybe_get_base_for_field_expr) + (core_access_clean, core_is_access_index, core_mark_as_access_index) + (make_gimple_core_safe_access_index, execute_lower_bpf_core) + (make_pass_lower_bpf_core): Added functions. + (pass_data_lower_bpf_core): New pass struct. + (pass_lower_bpf_core): New gimple_opt_pass class. + (pack_field_expr_for_preserve_field) + (bpf_replace_core_move_operands): Removed function. + (bpf_enum_value_kind): Added GTY(()). + * config/bpf/core-builtins.h (bpf_field_info_kind, bpf_type_id_kind) + (bpf_type_info_kind, bpf_enum_value_kind): New enum. + * config/bpf/t-bpf: Added pass bpf-passes.def to PASSES_EXTRA. + +2023-10-31 Neal Frager + + * config/microblaze/microblaze.cc: Fix mcpu version check. + +2023-10-31 Patrick O'Neill + + * config/riscv/sync-rvwmo.md (atomic_load_rvwmo): Remove + TARGET_ATOMIC constraint + (atomic_store_rvwmo): Ditto. + * config/riscv/sync-ztso.md (atomic_load_ztso): Ditto. + (atomic_store_ztso): Ditto. + * config/riscv/sync.md (atomic_load): Ditto. + (atomic_store): Ditto. + +2023-10-31 Christoph Müllner + + * config/riscv/riscv.cc (riscv_index_reg_class): + Return GR_REGS for XTheadFMemIdx. + (riscv_regno_ok_for_index_p): Add support for XTheadFMemIdx. + * config/riscv/riscv.h (HARDFP_REG_P): New macro. + * config/riscv/thead.cc (is_fmemidx_mode): New function. + (th_memidx_classify_address_index): Add support for XTheadFMemIdx. + (th_fmemidx_output_index): New function. + (th_output_move): Add support for XTheadFMemIdx. + * config/riscv/thead.md (TH_M_ANYF): New mode iterator. + (TH_M_NOEXTF): Likewise. + (*th_fmemidx_movsf_hardfloat): New INSN. + (*th_fmemidx_movdf_hardfloat_rv64): Likewise. + (*th_fmemidx_I_a): Likewise. + (*th_fmemidx_I_c): Likewise. + (*th_fmemidx_US_a): Likewise. + (*th_fmemidx_US_c): Likewise. + (*th_fmemidx_UZ_a): Likewise. + (*th_fmemidx_UZ_c): Likewise. + +2023-10-31 Christoph Müllner + + * config/riscv/constraints.md (th_m_mia): New constraint. + (th_m_mib): Likewise. + (th_m_mir): Likewise. + (th_m_miu): Likewise. + * config/riscv/riscv-protos.h (enum riscv_address_type): + Add new address types ADDRESS_REG_REG, ADDRESS_REG_UREG, + and ADDRESS_REG_WB and their documentation. + (struct riscv_address_info): Add new field 'shift' and + document the field usage for the new address types. + (riscv_valid_base_register_p): New prototype. + (th_memidx_legitimate_modify_p): Likewise. + (th_memidx_legitimate_index_p): Likewise. + (th_classify_address): Likewise. + (th_output_move): Likewise. + (th_print_operand_address): Likewise. + * config/riscv/riscv.cc (riscv_index_reg_class): + Return GR_REGS for XTheadMemIdx. + (riscv_regno_ok_for_index_p): Add support for XTheadMemIdx. + (riscv_classify_address): Call th_classify_address() on top. + (riscv_output_move): Call th_output_move() on top. + (riscv_print_operand_address): Call th_print_operand_address() + on top. + * config/riscv/riscv.h (HAVE_POST_MODIFY_DISP): New macro. + (HAVE_PRE_MODIFY_DISP): Likewise. + * config/riscv/riscv.md (zero_extendqi2): Disable + for XTheadMemIdx. + (*zero_extendqi2_internal): Convert to expand, + create INSN with same name and disable it for XTheadMemIdx. + (extendsidi2): Likewise. + (*extendsidi2_internal): Disable for XTheadMemIdx. + * config/riscv/thead.cc (valid_signed_immediate): New helper + function. + (th_memidx_classify_address_modify): New function. + (th_memidx_legitimate_modify_p): Likewise. + (th_memidx_output_modify): Likewise. + (is_memidx_mode): Likewise. + (th_memidx_classify_address_index): Likewise. + (th_memidx_legitimate_index_p): Likewise. + (th_memidx_output_index): Likewise. + (th_classify_address): Likewise. + (th_output_move): Likewise. + (th_print_operand_address): Likewise. + * config/riscv/thead.md (*th_memidx_operand): New splitter. + (*th_memidx_zero_extendqi2): New INSN. + (*th_memidx_extendsidi2): Likewise. + (*th_memidx_zero_extendsidi2): Likewise. + (*th_memidx_zero_extendhi2): Likewise. + (*th_memidx_extend2): Likewise. + (*th_memidx_bb_zero_extendsidi2): Likewise. + (*th_memidx_bb_zero_extendhi2): Likewise. + (*th_memidx_bb_extendhi2): Likewise. + (*th_memidx_bb_extendqi2): Likewise. + (TH_M_ANYI): New mode iterator. + (TH_M_NOEXTI): Likewise. + (*th_memidx_I_a): New combiner optimization. + (*th_memidx_I_b): Likewise. + (*th_memidx_I_c): Likewise. + (*th_memidx_US_a): Likewise. + (*th_memidx_US_b): Likewise. + (*th_memidx_US_c): Likewise. + (*th_memidx_UZ_a): Likewise. + (*th_memidx_UZ_b): Likewise. + (*th_memidx_UZ_c): Likewise. + +2023-10-31 Carl Love + + * doc/extend.texi (__builtin_bcdsub_le, __builtin_bcdsub_ge): Add + documentation for the builti-ins. + +2023-10-31 Vladimir N. Makarov + + PR rtl-optimization/111971 + * lra-constraints.cc: (process_alt_operands): Don't check start + hard regs for regs originated from register variables. + +2023-10-31 Robin Dapp + + * config/riscv/autovec.md (3): fmax/fmin + expanders. + (cond_): Ditto. + (cond_len_): Ditto. + (reduc_fmax_scal_): Ditto. + (reduc_fmin_scal_): Ditto. + * config/riscv/riscv-v.cc (needs_fp_rounding): Add fmin/fmax. + * config/riscv/vector-iterators.md (fmin): New UNSPEC. + (UNSPEC_VFMIN): Ditto. + * config/riscv/vector.md (@pred_): Add + UNSPEC insn patterns. + (@pred__scalar): Ditto. + +2023-10-31 Robin Dapp + + PR bootstrap/84402 + PR target/111600 + * Makefile.in: Handle split insn-emit.cc. + * configure: Regenerate. + * configure.ac: Add --with-insnemit-partitions. + * genemit.cc (output_peephole2_scratches): Print to file instead + of stdout. + (print_code): Ditto. + (gen_rtx_scratch): Ditto. + (gen_exp): Ditto. + (gen_emit_seq): Ditto. + (emit_c_code): Ditto. + (gen_insn): Ditto. + (gen_expand): Ditto. + (gen_split): Ditto. + (output_add_clobbers): Ditto. + (output_added_clobbers_hard_reg_p): Ditto. + (print_overload_arguments): Ditto. + (print_overload_test): Ditto. + (handle_overloaded_code_for): Ditto. + (handle_overloaded_gen): Ditto. + (print_header): New function. + (handle_arg): New function. + (main): Split output into 10 files. + * gensupport.cc (count_patterns): New function. + * gensupport.h (count_patterns): Define. + * read-md.cc (md_reader::print_md_ptr_loc): Add file argument. + * read-md.h (class md_reader): Change definition. + +2023-10-31 Alexandre Oliva + + PR tree-optimization/111943 + * gimple-harden-control-flow.cc: Adjust copyright year. + (rt_bb_visited): Add vfalse and vtrue data members. + Zero-initialize them in the ctor. + (rt_bb_visited::insert_exit_check_on_edge): Upon encountering + abnormal edges, insert initializers for vfalse and vtrue on + entry, and insert the check sequence guarded by a conditional + in the dest block. + +2023-10-31 Richard Biener + + PR tree-optimization/112305 + * tree-scalar-evolution.h (expression_expensive): Adjust. + * tree-scalar-evolution.cc (expression_expensive): Record + when we see a COND_EXPR. + (final_value_replacement_loop): When the replacement contains + a COND_EXPR, rewrite it to defined overflow. + * tree-ssa-loop-ivopts.cc (may_eliminate_iv): Adjust. + +2023-10-31 Xi Ruoyao + + PR target/112299 + * config/loongarch/loongarch-opts.h (HAVE_AS_TLS): Define to 0 + if not defined yet. + +2023-10-31 Lehua Ding + + * gimple-match.h (gimple_match_op::gimple_match_op): + Add interfaces for more arguments. + (gimple_match_op::set_op): Add interfaces for more arguments. + * match.pd: Add support of combining cond_len_op + vec_cond + +2023-10-31 Haochen Jiang + + * config/i386/avx512cdintrin.h (target): Push evex512 for + avx512cd. + * config/i386/avx512vlintrin.h (target): Split avx512cdvl part + out from avx512vl. + * config/i386/i386-builtin.def (BDESC): Do not check evex512 + for builtins not needed. + +2023-10-31 Lehua Ding + + * config/riscv/autovec.md (2): + Change to define_expand. + +2023-10-31 liuhongt + + PR target/112276 + * config/i386/mmx.md (*mmx_pblendvb_v8qi_1): Change + define_split to define_insn_and_split to handle + immediate_operand for comparison. + (*mmx_pblendvb_v8qi_2): Ditto. + (*mmx_pblendvb__1): Ditto. + (*mmx_pblendvb_v4qi_2): Ditto. + (3): Remove define_split after it. + (v8qi3): Ditto. + (3): Ditto. + (v2hi3): Ditto. + +2023-10-31 Andrew Pinski + + * match.pd (`a == 1 ? b : a OP b`): New pattern. + (`a == -1 ? b : a & b`): New pattern. + +2023-10-31 Andrew Pinski + + * match.pd: (`a == 0 ? b : b + a`, + `a == 0 ? b : b - a`): New patterns. + +2023-10-31 Neal Frager + + * config/microblaze/microblaze.cc: Fix mcpu version check. + +2023-10-30 Mayshao + + * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Recognize yongfeng. + * common/config/i386/i386-common.cc: Add yongfeng. + * common/config/i386/i386-cpuinfo.h (enum processor_subtypes): + Add ZHAOXIN_FAM7H_YONGFENG. + * config.gcc: Add yongfeng. + * config/i386/driver-i386.cc (host_detect_local_cpu): + Let -march=native recognize yongfeng processors. + * config/i386/i386-c.cc (ix86_target_macros_internal): Add yongfeng. + * config/i386/i386-options.cc (m_YONGFENG): New definition. + (m_ZHAOXIN): Ditto. + * config/i386/i386.h (enum processor_type): Add PROCESSOR_YONGFENG. + * config/i386/i386.md: Add yongfeng. + * config/i386/lujiazui.md: Fix typo. + * config/i386/x86-tune-costs.h (struct processor_costs): + Add yongfeng costs. + * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add yongfeng. + (ix86_adjust_cost): Ditto. + * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Replace + m_LUJIAZUI with m_ZHAOXIN. + (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto. + (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto. + (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto. + (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto. + (X86_TUNE_MOVX): Ditto. + (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto. + (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto. + (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto. + (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto. + (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto. + (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto. + (X86_TUNE_USE_LEAVE): Ditto. + (X86_TUNE_PUSH_MEMORY): Ditto. + (X86_TUNE_LCP_STALL): Ditto. + (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto. + (X86_TUNE_OPT_AGU): Ditto. + (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto. + (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto. + (X86_TUNE_USE_SAHF): Ditto. + (X86_TUNE_USE_BT): Ditto. + (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto. + (X86_TUNE_ONE_IF_CONV_INSN): Ditto. + (X86_TUNE_AVOID_MFENCE): Ditto. + (X86_TUNE_EXPAND_ABS): Ditto. + (X86_TUNE_USE_SIMODE_FIOP): Ditto. + (X86_TUNE_USE_FFREEP): Ditto. + (X86_TUNE_EXT_80387_CONSTANTS): Ditto. + (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto. + (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto. + (X86_TUNE_SSE_TYPELESS_STORES): Ditto. + (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto. + (X86_TUNE_USE_GATHER_2PARTS): Add m_YONGFENG. + (X86_TUNE_USE_GATHER_4PARTS): Ditto. + (X86_TUNE_USE_GATHER_8PARTS): Ditto. + (X86_TUNE_AVOID_128FMA_CHAINS): Ditto. + * doc/extend.texi: Add details about yongfeng. + * doc/invoke.texi: Ditto. + * config/i386/yongfeng.md: New file to describe yongfeng processor. + +2023-10-30 Martin Jambor + + PR ipa/111157 + * ipa-prop.h (struct ipa_argagg_value): Newf flag killed. + * ipa-modref.cc (ipcp_argagg_and_kill_overlap_p): New function. + (update_signature): Mark any any IPA-CP aggregate constants at + positions known to be killed as killed. Move check that there is + clone_info after this pruning. + * ipa-cp.cc (ipa_argagg_value_list::dump): Dump the killed flag. + (ipa_argagg_value_list::push_adjusted_values): Clear the new flag. + (push_agg_values_from_plats): Likewise. + (ipa_push_agg_values_from_jfunc): Likewise. + (estimate_local_effects): Likewise. + (push_agg_values_for_index_from_edge): Likewise. + * ipa-prop.cc (write_ipcp_transformation_info): Stream the killed + flag. + (read_ipcp_transformation_info): Likewise. + (ipcp_get_aggregate_const): Update comment, assert that encountered + record does not have killed flag set. + (ipcp_transform_function): Prune all aggregate constants with killed + set. + +2023-10-30 Martin Jambor + + PR ipa/111157 + * ipa-prop.h (ipcp_transformation): New member function template + remove_argaggs_if. + * ipa-sra.cc (zap_useless_ipcp_results): Use remove_argaggs_if to + filter aggreagate constants. + +2023-10-30 Roger Sayle + + PR middle-end/101955 + * config/arc/arc.md (*extvsi_1_0): New define_insn_and_split + to convert sign extract of the least significant bit into an + AND $1 then a NEG when !TARGET_BARREL_SHIFTER. + +2023-10-30 Roger Sayle + + * config/arc/arc.cc (arc_rtx_costs): Improve cost estimates. + Provide reasonable values for SHIFTS and ROTATES by constant + bit counts depending upon TARGET_BARREL_SHIFTER. + (arc_insn_cost): Use insn attributes if the instruction is + recognized. Avoid calling get_attr_length for type "multi", + i.e. define_insn_and_split patterns without explicit type. + Fall-back to set_rtx_cost for single_set and pattern_cost + otherwise. + * config/arc/arc.h (COSTS_N_BYTES): Define helper macro. + (BRANCH_COST): Improve/correct definition. + (LOGICAL_OP_NON_SHORT_CIRCUIT): Preserve previous behavior. + +2023-10-30 Roger Sayle + + * config/arc/arc.cc (arc_split_ashl): Use lsl16 on TARGET_SWAP. + (arc_split_ashr): Use swap and sign-extend on TARGET_SWAP. + (arc_split_lshr): Use lsr16 on TARGET_SWAP. + (arc_split_rotl): Use swap on TARGET_SWAP. + (arc_split_rotr): Likewise. + * config/arc/arc.md (ANY_ROTATE): New code iterator. + (si2_cnt16): New define_insn for alternate form of + swap instruction on TARGET_SWAP. + (ashlsi2_cnt16): Rename from *ashlsi16_cnt16 and move earlier. + (lshrsi2_cnt16): New define_insn for LSR16 instruction. + (*ashlsi2_cnt16): See above. + +2023-10-30 Richard Ball + + * config/arm/aout.h: Change to use the Lrtx label. + * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Remove arm targets + from (!target_pure_code) condition. + (ADDR_VEC_ALIGN): Add align for tables in rodata section. + * config/arm/arm.cc (arm_output_casesi): Alter the function to include + .Lrtx label and remove adr instructions. + * config/arm/arm.md + (arm_casesi_internal): Use force_reg to generate ldr instructions that + would otherwise be out of range, and change rtl to accommodate force reg. + Additionally remove unnecessary register temp. + (casesi): Remove pure code check for Arm. + * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Remove arm + targets from JUMP_TABLES_IN_TEXT_SECTION definition. + +2023-10-30 Jeevitha Palanisamy + + PR target/106907 + * config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Change bitwise + xor to an equality and fix comment indentation. + +2023-10-30 Juzhe-Zhong + + * config/riscv/riscv-protos.h (sew64_scalar_helper): Fix bug. + * config/riscv/riscv-v.cc (sew64_scalar_helper): Ditto. + * config/riscv/vector.md: Ditto. + +2023-10-30 liuhongt + + PR target/104610 + * config/i386/i386-expand.cc (ix86_expand_branch): Handle + 512-bit vector with vpcmpeq + kortest. + * config/i386/i386.md (cbranchxi4): New expander. + * config/i386/sse.md: (cbranch4): Extend to V16SImode + and V8DImode. + +2023-10-30 Haochen Gui + + PR target/111449 + * expr.cc (qi_vector_mode_supported_p): Rename to... + (by_pieces_mode_supported_p): ...this, and extends it to do + the checking for both scalar and vector mode. + (widest_fixed_size_mode_for_size): Call + by_pieces_mode_supported_p to examine the mode. + (op_by_pieces_d::smallest_fixed_size_mode_for_size): Likewise. + +2023-10-29 Martin Uecker + + PR tree-optimization/109334 + * tree-object-size.cc (parm_object_size): Allow size + computation for implicit access attributes. + +2023-10-29 Max Filippov + + * config/xtensa/xtensa.h (TARGET_SALT): Change HW version from + 260000 (which corresponds to RF-2014.0) to 270000 (which + corresponds to RG-2015.0, the release where salt/saltu opcodes + were introduced). + +2023-10-29 Pan Li + + * config/riscv/riscv-avlprop.cc (pass_avlprop::execute): Use + reference type to prevent copying. + +2023-10-27 Vladimir N. Makarov + + PR rtl-optimization/112107 + * ira-costs.cc: (calculate_equiv_gains): Use NONDEBUG_INSN_P + instead of INSN_P. + +2023-10-27 Andrew Stubbs + + PR target/112088 + * config/gcn/gcn.cc (gcn_expand_epilogue): Fix kernel epilogue register + conflict. + +2023-10-27 Andrew Stubbs + + * config/gcn/gcn-valu.md + (vec_extract_nop): Mention "operands" in + condition to silence the warnings. + (vec_extract_nop): Likewise. + * config/gcn/gcn.md (*movti_insn): Likewise. + +2023-10-27 Richard Sandiford + + * recog.cc (insn_propagation::apply_to_pattern_1): Handle shared + ASM_OPERANDS. + +2023-10-27 Yangyu Chen + + * config/riscv/riscv.cc (rocket_tune_info): Fix int_div cost. + (sifive_7_tune_info, thead_c906_tune_info): Likewise. + +2023-10-27 Robin Dapp + + * config/riscv/autovec.md (rawmemchr): New expander. + * config/riscv/riscv-protos.h (gen_no_side_effects_vsetvl_rtx): + Define. + (expand_rawmemchr): Define. + * config/riscv/riscv-v.cc (force_vector_length_operand): Remove + static. + (expand_block_move): Move from here... + * config/riscv/riscv-string.cc (expand_block_move): ...to here. + (expand_rawmemchr): Add vectorized expander. + * internal-fn.cc (expand_RAWMEMCHR): Fix typo. + +2023-10-27 Vladimir N. Makarov + + * ira-costs.cc: (get_equiv_regno, calculate_equiv_gains): + Process reg equivalence invariants. + +2023-10-27 Uros Bizjak + + * config/i386/x86-tune.def (X86_TUNE_PARTIAL_MEMORY_READ_STALL): + i386: Fiy typo in "partial_memory_read_stall" tune option. + +2023-10-27 Victor Do Nascimento + + * config/aarch64/aarch64.cc (aarch64_print_operand): Add + support for CONST_STRING. + +2023-10-27 Roger Sayle + + PR target/110551 + * config/i386/i386.md (mul3): Make operands 1 and + 2 take "regiser_operand" and "nonimmediate_operand" respectively. + (mulqihi3): Likewise. + (*bmi2_umul3_1): Operand 2 needs to be register_operand + matching the %d constraint. Use umul_highpart RTX to represent + the highpart multiplication. + (*umul3_1): Operand 2 should use regiser_operand + predicate, and "a" rather than "0" as operands 0 and 2 have + different modes. + (define_split): For mul to mulx conversion, use the new + umul_highpart RTX representation. + (*mul3_1): Operand 1 should be register_operand + and the constraint %a as operands 0 and 1 have different modes. + (*mulqihi3_1): Operand 1 should be register_operand matching + the constraint %0. + (define_peephole2): Providing widening multiplication variants + of the peephole2s that tweak highpart multiplication register + allocation. + +2023-10-27 Lewis Hyatt + + PR preprocessor/87299 + * toplev.cc (no_backend): New static global. + (finalize): Remove argument no_backend, which is now a + static global. + (process_options): Likewise. + (do_compile): Likewise. + (target_reinit): Don't do anything in preprocess-only mode. + (toplev::main): Adapt to no_backend change. + (toplev::finalize): Likewise. + +2023-10-27 Andrew Pinski + + PR tree-optimization/101590 + PR tree-optimization/94884 + * match.pd (`(X BIT_OP Y) CMP X`): New pattern. + +2023-10-27 liuhongt + + PR target/103861 + * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle + V2HF/V2BF/V4HF/V4BFmode. + * config/i386/i386.cc (ix86_get_mask_mode): Return QImode when + data_mode is V4HF/V2HFmode. + * config/i386/mmx.md (vec_cmpv4hfqi): New expander. + (vcond_mask_v4hi): Ditto. + (vcond_mask_qi): Ditto. + (vec_cmpv2hfqi): Ditto. + (vcond_mask_v2hi): Ditto. + (mmx_plendvb_): Add 2 combine splitters after the + patterns. + (mmx_pblendvb_v8qi): Ditto. + (v2hi3): Add a combine splitter after the pattern. + (3): Ditto. + (v8qi3): Ditto. + (3): Ditto. + * config/i386/sse.md (vcond): Merge this with .. + (vcond): .. this into .. + (vcond): .. this, + and extend to V8BF/V16BF/V32BFmode. + +2023-10-26 Juzhe-Zhong + + * config/riscv/riscv-opts.h (TARGET_MAX_LMUL): New macro. + * config/riscv/riscv-v.cc (preferred_simd_mode): Adapt macro. + (autovectorize_vector_modes): Ditto. + (can_find_related_mode_p): Ditto. + +2023-10-26 Juzhe-Zhong + + PR target/111318 + PR target/111888 + * config.gcc: Add AVL propagation pass. + * config/riscv/riscv-passes.def (INSERT_PASS_AFTER): Ditto. + * config/riscv/riscv-protos.h (make_pass_avlprop): Ditto. + * config/riscv/t-riscv: Ditto. + * config/riscv/riscv-avlprop.cc: New file. + +2023-10-26 David Malcolm + + * doc/extend.texi (Common Function Attributes): Add + null_terminated_string_arg. + +2023-10-26 Andrew Pinski + + PR tree-optimization/111957 + * match.pd (`a != C1 ? abs(a) : C2`): New pattern. + +2023-10-26 Aldy Hernandez + + * range-op-float.cc (range_operator::fold_range): Delete unused + variable. + +2023-10-26 Aldy Hernandez + + * range-op-float.cc (range_operator::fold_range): Remove + superfluous code. + (range_operator::rv_fold): Remove unneeded arguments. + (operator_plus::rv_fold): Same. + (operator_minus::rv_fold): Same. + (operator_mult::rv_fold): Same. + (operator_div::rv_fold): Same. + * range-op-mixed.h: Remove lb, ub, and maybe_nan arguments from + rv_fold methods. + * range-op.h: Same. + +2023-10-26 Aldy Hernandez + + * range-op-float.cc (range_operator::fold_range): Pass frange + argument to rv_fold. + (range_operator::rv_fold): Add frange argument. + (operator_plus::rv_fold): Same. + (operator_minus::rv_fold): Same. + (operator_mult::rv_fold): Same. + (operator_div::rv_fold): Same. + * range-op-mixed.h: Add frange argument to rv_fold methods. + * range-op.h: Same. + +2023-10-26 Richard Ball + + * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add table output + for different machine modes for arm. + * config/arm/arm-protos.h (arm_output_casesi): New prototype. + * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Make arm use + ASM_OUTPUT_ADDR_DIFF_ELT. + (CASE_VECTOR_SHORTEN_MODE): Change table size calculation for + TARGET_ARM. + (LABEL_ALIGN_AFTER_BARRIER): Change to accommodate .p2align 2 + for TARGET_ARM. + * config/arm/arm.cc (arm_output_casesi): New function. + * config/arm/arm.md (arm_casesi_internal): Change casesi expand + and insn. + for arm to use new function arm_output_casesi. + +2023-10-26 Iain Sandoe + + * config/darwin.h + (darwin_label_is_anonymous_local_objc_name): Make metadata names + linker-visibile for GNU objective C. + +2023-10-26 Vladimir N. Makarov + + * dwarf2out.cc (reg_loc_descriptor): Use lra_eliminate_regs when + LRA is used. + * ira-costs.cc: Include regset.h. + (equiv_can_be_consumed_p, get_equiv_regno, calculate_equiv_gains): + New functions. + (find_costs_and_classes): Call calculate_equiv_gains and redefine + mem_cost of pseudos with equivs when LRA is used. + * var-tracking.cc: Include ira.h and lra.h. + (vt_initialize): Use lra_eliminate_regs when LRA is used. + +2023-10-26 Juzhe-Zhong + + * doc/md.texi: Adapt COND_LEN pseudo code. + +2023-10-26 Roger Sayle + Richard Biener + + PR rtl-optimization/91865 + * combine.cc (make_compound_operation): Avoid creating a + ZERO_EXTEND of a ZERO_EXTEND. + +2023-10-26 Jiahao Xu + + * config/loongarch/lasx.md (vcond_mask_): Change to + (vcond_mask_): this. + * config/loongarch/lsx.md (vcond_mask_): Change to + (vcond_mask_): this. + +2023-10-26 Thomas Schwinge + + * ipa-icf.cc (sem_item::target_supports_symbol_aliases_p): + 'gcc_checking_assert (TARGET_SUPPORTS_ALIASES);' before + 'return true;'. + * ipa-visibility.cc (function_and_variable_visibility): Change + '#ifdef ASM_OUTPUT_DEF' to 'if (TARGET_SUPPORTS_ALIASES)'. + * varasm.cc (output_constant_pool_contents) + [#ifdef ASM_OUTPUT_DEF]: + 'gcc_checking_assert (TARGET_SUPPORTS_ALIASES);'. + (do_assemble_alias) [#ifdef ASM_OUTPUT_DEF]: + 'if (!TARGET_SUPPORTS_ALIASES)', + 'gcc_checking_assert (seen_error ());'. + (assemble_alias): Change '#if !defined (ASM_OUTPUT_DEF)' to + 'if (!TARGET_SUPPORTS_ALIASES)'. + (default_asm_output_anchor): + 'gcc_checking_assert (TARGET_SUPPORTS_ALIASES);'. + +2023-10-26 Alexandre Oliva + + PR tree-optimization/111520 + * gimple-harden-conditionals.cc + (pass_harden_compares::execute): Set EH edge probability and + EH block execution count. + +2023-10-26 Alexandre Oliva + + * tree-eh.h (make_eh_edges): Rename to... + (make_eh_edge): ... this. + * tree-eh.cc: Likewise. Adjust all callers... + * gimple-harden-conditionals.cc: ... here, ... + * gimple-harden-control-flow.cc: ... here, ... + * tree-cfg.cc: ... here, ... + * tree-inline.cc: ... and here. + +2023-10-25 Iain Sandoe + + * config/darwin.cc (darwin_override_options): Handle fPIE. + +2023-10-25 Iain Sandoe + + * config.gcc: Use -E to to sed to indicate that we are using + extended REs. + +2023-10-25 Jason Merrill + + * tree-core.h (struct tree_base): Update address_space comment. + +2023-10-25 Wilco Dijkstra + + * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate) + Add support for immediates using MOV/EOR bitmask. + +2023-10-25 Uros Bizjak + + PR target/111698 + * config/i386/x86-tune.def (X86_TUNE_PARTIAL_MEMORY_READ_STALL): + New tune. + * config/i386/i386.h (TARGET_PARTIAL_MEMORY_READ_STALL): New macro. + * config/i386/i386.md: New peephole pattern to narrow test + instructions with immediate operands that test memory locations + for zero. + +2023-10-25 Andrew MacLeod + + * value-range.cc (irange::union_append): New. + (irange::union_): Call union_append when appropriate. + * value-range.h (irange::union_append): New prototype. + +2023-10-25 Chenghui Pan + + * config/loongarch/lasxintrin.h (__lasx_xvftintrnel_l_s): Fix comments. + (__lasx_xvfrintrne_s): Ditto. + (__lasx_xvfrintrne_d): Ditto. + (__lasx_xvfrintrz_s): Ditto. + (__lasx_xvfrintrz_d): Ditto. + (__lasx_xvfrintrp_s): Ditto. + (__lasx_xvfrintrp_d): Ditto. + (__lasx_xvfrintrm_s): Ditto. + (__lasx_xvfrintrm_d): Ditto. + * config/loongarch/lsxintrin.h (__lsx_vftintrneh_l_s): Ditto. + (__lsx_vfrintrne_s): Ditto. + (__lsx_vfrintrne_d): Ditto. + (__lsx_vfrintrz_s): Ditto. + (__lsx_vfrintrz_d): Ditto. + (__lsx_vfrintrp_s): Ditto. + (__lsx_vfrintrp_d): Ditto. + (__lsx_vfrintrm_s): Ditto. + (__lsx_vfrintrm_d): Ditto. + +2023-10-25 chenxiaolong + + * config/loongarch/loongarch.md (get_thread_pointer):Adds the + instruction template corresponding to the __builtin_thread_pointer + function. + * doc/extend.texi:Add the __builtin_thread_pointer function support + description to the documentation. + +2023-10-25 Richard Sandiford + + * Makefile.in (OBJS): Add rtl-ssa/movement.o. + * rtl-ssa/access-utils.h (accesses_include_nonfixed_hard_registers) + (single_set_info): New functions. + (remove_uses_of_def, accesses_reference_same_resource): Declare. + (insn_clobbers_resources): Likewise. + * rtl-ssa/accesses.cc (rtl_ssa::remove_uses_of_def): New function. + (rtl_ssa::accesses_reference_same_resource): Likewise. + (rtl_ssa::insn_clobbers_resources): Likewise. + * rtl-ssa/movement.h (can_move_insn_p): Declare. + * rtl-ssa/movement.cc: New file. + +2023-10-25 Richard Sandiford + + * rtl-ssa/functions.h (function_info::remains_available_at_insn): + New member function. + * rtl-ssa/accesses.cc (function_info::remains_available_at_insn): + Likewise. + (function_info::make_use_available): Avoid false negatives for + queries within an EBB. + +2023-10-25 Richard Sandiford + + * rtl-ssa/changes.cc: Include sreal.h. + (rtl_ssa::changes_are_worthwhile): When optimizing for speed, + scale the cost of each instruction by its execution frequency. + +2023-10-25 Richard Sandiford + + * rtl-ssa/access-utils.h (next_call_clobbers): New function. + (is_single_dominating_def, remains_available_on_exit): Replace with... + * rtl-ssa/functions.h (function_info::is_single_dominating_def) + (function_info::remains_available_on_exit): ...these new member + functions. + (function_info::m_clobbered_by_calls): New member variable. + * rtl-ssa/functions.cc (function_info::function_info): Explicitly + initialize m_clobbered_by_calls. + * rtl-ssa/insns.cc (function_info::record_call_clobbers): Update + m_clobbered_by_calls for each call-clobber note. + * rtl-ssa/member-fns.inl (function_info::is_single_dominating_def): + New function. Check for call clobbers. + * rtl-ssa/accesses.cc (function_info::remains_available_on_exit): + Likewise. + +2023-10-25 Richard Sandiford + + * rtl-ssa/internals.h (build_info::exit_block_dominator): New + member variable. + * rtl-ssa/blocks.cc (build_info::build_info): Initialize it. + (bb_walker::bb_walker): Use it, moving the computation of the + dominator to... + (function_info::process_all_blocks): ...here. + (function_info::place_phis): Add dominance frontiers for the + exit block. + +2023-10-25 Richard Sandiford + + * rtl-ssa/functions.h (function_info::process_uses_of_deleted_def): + New member function. + * rtl-ssa/changes.cc (function_info::process_uses_of_deleted_def): + Likewise. + (function_info::change_insns): Use it. + +2023-10-25 Richard Sandiford + + * rtl-ssa/changes.cc (function_info::finalize_new_accesses): + If a change describes a set of memory, ensure that that set + is kept, regardless of the insn pattern. + +2023-10-25 Richard Sandiford + + * rtl-ssa/changes.cc (function_info::apply_changes_to_insn): Remove + call to add_reg_unused_notes and instead... + (function_info::change_insns): ...use a separate loop here. + +2023-10-25 Richard Sandiford + + * rtl-ssa/blocks.cc (function_info::add_artificial_accesses): Force + global registers to be live on exit. Handle any block with zero + successors like an exit block. + +2023-10-25 Thomas Schwinge + + * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1): + Handle 'OMP_CLAUSE_SELF' like 'OMP_CLAUSE_IF'. + * omp-expand.cc (expand_omp_target): Handle 'OMP_CLAUSE_SELF' for + 'GF_OMP_TARGET_KIND_OACC_DATA_KERNELS'. + +2023-10-25 Thomas Schwinge + + * tree-core.h (omp_clause_code): Move 'OMP_CLAUSE_SELF' after + 'OMP_CLAUSE_IF'. + * tree-pretty-print.cc (dump_omp_clause): Adjust. + * tree.cc (omp_clause_num_ops, omp_clause_code_name): Likewise. + * tree.h: Likewise. + +2023-10-25 Juzhe-Zhong + + * config/riscv/riscv-protos.h (has_vl_op): Export from riscv-vsetvl to riscv-v + (tail_agnostic_p): Ditto. + (validate_change_or_fail): Ditto. + (nonvlmax_avl_type_p): Ditto. + (vlmax_avl_p): Ditto. + (get_sew): Ditto. + (enum vlmul_type): Ditto. + (count_regno_occurrences): Ditto. + * config/riscv/riscv-v.cc (has_vl_op): Ditto. + (get_default_ta): Ditto. + (tail_agnostic_p): Ditto. + (validate_change_or_fail): Ditto. + (nonvlmax_avl_type_p): Ditto. + (vlmax_avl_p): Ditto. + (get_sew): Ditto. + (enum vlmul_type): Ditto. + (get_vlmul): Ditto. + (count_regno_occurrences): Ditto. + * config/riscv/riscv-vsetvl.cc (vlmax_avl_p): Ditto. + (has_vl_op): Ditto. + (get_sew): Ditto. + (get_vlmul): Ditto. + (get_default_ta): Ditto. + (tail_agnostic_p): Ditto. + (count_regno_occurrences): Ditto. + (validate_change_or_fail): Ditto. + +2023-10-25 Chung-Lin Tang + + * gimplify.cc (gimplify_scan_omp_clauses): Add OMP_CLAUSE_SELF case. + (gimplify_adjust_omp_clauses): Likewise. + * omp-expand.cc (expand_omp_target): Add OMP_CLAUSE_SELF expansion code, + * omp-low.cc (scan_sharing_clauses): Add OMP_CLAUSE_SELF case. + * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_SELF enum. + * tree-nested.cc (convert_nonlocal_omp_clauses): Add OMP_CLAUSE_SELF + case. + (convert_local_omp_clauses): Likewise. + * tree-pretty-print.cc (dump_omp_clause): Add OMP_CLAUSE_SELF case. + * tree.cc (omp_clause_num_ops): Add OMP_CLAUSE_SELF entry. + (omp_clause_code_name): Likewise. + * tree.h (OMP_CLAUSE_SELF_EXPR): New macro. + +2023-10-25 Juzhe-Zhong + + * config/riscv/riscv-protos.h (vlmax_avl_type_p): New function. + * config/riscv/riscv-v.cc (vlmax_avl_type_p): Ditto. + * config/riscv/riscv-vsetvl.cc (get_avl): Adapt function. + * config/riscv/vector.md: Change avl_type into avl_type_idx. + +2023-10-24 Richard Sandiford + + * recog.cc (constrain_operands): Remove UNARY_P handling. + * reload.cc (find_reloads): Likewise. + +2023-10-24 Jose E. Marchesi + + * gcov-io.h: Fix record length encoding in comment. + +2023-10-24 Roger Sayle + + * config/i386/i386-features.cc (compute_convert_gain): Provide + more accurate values (sizes) for inter-unit moves with -Os. + +2023-10-24 Roger Sayle + Claudiu Zissulescu + + * config/arc/arc-protos.h (output_shift): Rename to... + (output_shift_loop): Tweak API to take an explicit rtx_code. + (arc_split_ashl): Prototype new function here. + (arc_split_ashr): Likewise. + (arc_split_lshr): Likewise. + (arc_split_rotl): Likewise. + (arc_split_rotr): Likewise. + * config/arc/arc.cc (output_shift): Delete local prototype. Rename. + (output_shift_loop): New function replacing output_shift to output + a zero overheap loop for SImode shifts and rotates on ARC targets + without barrel shifter (i.e. no hardware support for these insns). + (arc_split_ashl): New helper function to split *ashlsi3_nobs. + (arc_split_ashr): New helper function to split *ashrsi3_nobs. + (arc_split_lshr): New helper function to split *lshrsi3_nobs. + (arc_split_rotl): New helper function to split *rotlsi3_nobs. + (arc_split_rotr): New helper function to split *rotrsi3_nobs. + (arc_print_operand): Correct whitespace. + (arc_rtx_costs): Likewise. + (hwloop_optimize): Likewise. + * config/arc/arc.md (ANY_SHIFT_ROTATE): New define_code_iterator. + (define_code_attr insn): New code attribute to map to pattern name. + (si3): New expander unifying previous ashlsi3, + ashrsi3 and lshrsi3 define_expands. Adds rotlsi3 and rotrsi3. + (*si3_nobs): New define_insn_and_split that + unifies the previous *ashlsi3_nobs, *ashrsi3_nobs and *lshrsi3_nobs. + We now call arc_split_ in arc.cc to implement each split. + (shift_si3): Delete define_insn, all shifts/rotates are now split. + (shift_si3_loop): Rename to... + (si3_loop): define_insn to handle loop implementations of + SImode shifts and rotates, calling ouput_shift_loop for template. + (rotrsi3): Rename to... + (*rotrsi3_insn): define_insn for TARGET_BARREL_SHIFTER's ror. + (*rotlsi3): New define_insn_and_split to transform left rotates + into right rotates before reload. + (rotlsi3_cnt1): New define_insn_and_split to implement a left + rotate by one bit using an add.f followed by an adc. + * config/arc/predicates.md (shiftr4_operator): Delete. + +2023-10-24 Claudiu Zissulescu + + * config/arc/arc.md (mulsi3_700): Update pattern. + (mulsi3_v2): Likewise. + * config/arc/predicates.md (mpy_dest_reg_operand): Remove it. + +2023-10-24 Andrew Pinski + + PR tree-optimization/104376 + PR tree-optimization/101541 + * tree-ssa-phiopt.cc (factor_out_conditional_operation): + Allow nop conversions even if it is defined by a statement + inside the conditional. + +2023-10-24 Andrew Pinski + + PR tree-optimization/111913 + * match.pd (`popcount(X&Y) + popcount(X|Y)`): Add the resulting + type for popcount. + +2023-10-24 Richard Sandiford + + * rtl-ssa/blocks.cc (function_info::create_degenerate_phi): Check + whether the requested phi already exists. + +2023-10-24 Richard Sandiford + + * rtl-ssa.h: Include cfgbuild.h. + * rtl-ssa/movement.h (can_insert_after): Replace is_jump with the + more comprehensive control_flow_insn_p. + +2023-10-24 Richard Sandiford + + * rtl-ssa/changes.cc (function_info::perform_pending_updates): Check + whether an insn has been replaced by a note. + +2023-10-24 Richard Sandiford + + * rtl-ssa/member-fns.inl (first_any_insn_use): Handle null + m_first_use. + +2023-10-24 Richard Sandiford + + * config/i386/i386-expand.cc (ix86_split_mmx_punpck): Allow the + destination to be wider than the sources. Take the mode from the + first source. + (ix86_expand_sse_extend): Pass the destination directly to + ix86_split_mmx_punpck, rather than using a fresh register that + is half the size. + +2023-10-24 Richard Sandiford + + * config/i386/predicates.md (aeswidekl_operation): Protect + REGNO check with REG_P. + +2023-10-24 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_insn_cost): New function. + (TARGET_INSN_COST): Define. + +2023-10-24 Richard Sandiford + + * config/aarch64/atomics.md (aarch64_atomic_exchange): Require + !TARGET_LSE. + +2023-10-24 xuli + + PR target/111935 + * config/riscv/riscv-vector-builtins-bases.cc: fix bug. + +2023-10-24 Mark Harmstone + + * opts.cc (debug_type_names): Remove stabs and xcoff. + (df_set_names): Adjust. + +2023-10-24 Juzhe-Zhong + + PR target/111947 + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::compute_lcm_local_properties): Add REGNO check. + +2023-10-23 Lewis Hyatt + + PR preprocessor/36887 + * toplev.h (ident_hash_extra): Declare... + * stringpool.cc (ident_hash_extra): ...this new global variable. + (init_stringpool): Handle ident_hash_extra as well as ident_hash. + (ggc_mark_stringpool): Likewise. + (ggc_purge_stringpool): Likewise. + (struct string_pool_data_extra): New struct. + (spd2): New GC root variable. + (gt_pch_save_stringpool): Use spd2 to handle ident_hash_extra, + analogous to how spd is used to handle ident_hash. + (gt_pch_restore_stringpool): Likewise. + +2023-10-23 Robin Dapp + + PR tree-optimization/111794 + * tree-vect-stmts.cc (vectorizable_assignment): Add + same-precision exception for dest and source. + +2023-10-23 Robin Dapp + + * config/riscv/autovec.md (popcount2): New expander. + * config/riscv/riscv-protos.h (expand_popcount): Define. + * config/riscv/riscv-v.cc (expand_popcount): Vectorize popcount + with the WWG algorithm. + +2023-10-23 Richard Biener + + PR tree-optimization/111916 + * tree-sra.cc (sra_modify_assign): Do not lower all + BIT_FIELD_REF reads that are sra_handled_bf_read_p. + +2023-10-23 Richard Biener + + PR tree-optimization/111915 + * tree-vect-slp.cc (vect_build_slp_tree_1): Check all + accesses are either grouped or not. + +2023-10-23 Richard Biener + + PR ipa/111914 + * tree-inline.cc (setup_one_parameter): Move code emitting + a dummy load when not optimizing ... + (initialize_inlined_parameters): ... here to after when + we remapped the parameter type. + +2023-10-23 Oleg Endo + + PR target/111001 + * config/sh/sh_treg_combine.cc (sh_treg_combine::record_set_of_reg): + Skip over nop move insns. + +2023-10-23 Tamar Christina + + PR tree-optimization/111860 + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + Drop .MEM nodes only. + +2023-10-23 Andrew Pinski + + * match.pd (`(A - B) CMP 0 ? (A - B) : (B - A)`): + New patterns. + +2023-10-23 Andrew Pinski + + * convert.cc (convert_to_pointer_1): Return error_mark_node + after an error. + (convert_to_real_1): Likewise. + (convert_to_integer_1): Likewise. + (convert_to_complex_1): Likewise. + +2023-10-23 Andrew Pinski + + PR c/111903 + * convert.cc (convert_to_complex_1): Return + error_mark_node if either convert was an error + when converting from a scalar. + +2023-10-23 Richard Biener + + PR tree-optimization/111917 + * tree-ssa-loop-unswitch.cc (hoist_guard): Always insert + new conditional after last stmt. + +2023-10-23 Juzhe-Zhong + + PR target/111927 + * config/riscv/riscv-vsetvl.cc: Fix bug. + +2023-10-23 Pan Li + + * config/riscv/riscv-v.cc (emit_vec_cvt_x_f_rtz): Add insn type + arg. + (expand_vec_trunc): Take MA instead of MU for cvt_x_f_rtz. + +2023-10-23 Xi Ruoyao + + * doc/invoke.texi (-mexplicit-relocs=style): Document. + (-mexplicit-relocs): Document as an alias of + -mexplicit-relocs=always. + (-mno-explicit-relocs): Document as an alias of + -mexplicit-relocs=none. + (-mcmodel=extreme): Mention -mexplicit-relocs=always instead of + -mexplicit-relocs. + +2023-10-23 Xi Ruoyao + + * config/loongarch/predicates.md (symbolic_pcrel_operand): New + predicate. + * config/loongarch/loongarch.md (define_peephole2): Optimize + la.local + ld/st to pcalau12i + ld/st if the address is only used + once if -mexplicit-relocs=auto and -mcmodel=normal or medium. + +2023-10-23 Xi Ruoyao + + * config/loongarch/loongarch.cc (loongarch_explicit_relocs_p): + Return true for TLS symbol types if -mexplicit-relocs=auto. + (loongarch_call_tls_get_addr): Replace TARGET_EXPLICIT_RELOCS + with la_opt_explicit_relocs != EXPLICIT_RELOCS_NONE. + (loongarch_legitimize_tls_address): Likewise. + * config/loongarch/loongarch.md (@tls_low): Remove + TARGET_EXPLICIT_RELOCS from insn condition. + +2023-10-23 Xi Ruoyao + + * config/loongarch/loongarch-protos.h + (loongarch_explicit_relocs_p): Declare new function. + * config/loongarch/loongarch.cc (loongarch_explicit_relocs_p): + Implement. + (loongarch_symbol_insns): Call loongarch_explicit_relocs_p for + SYMBOL_GOT_DISP, instead of using TARGET_EXPLICIT_RELOCS. + (loongarch_split_symbol): Call loongarch_explicit_relocs_p for + deciding if return early, instead of using + TARGET_EXPLICIT_RELOCS. + (loongarch_output_move): CAll loongarch_explicit_relocs_p + instead of using TARGET_EXPLICIT_RELOCS. + * config/loongarch/loongarch.md (*low): Remove + TARGET_EXPLICIT_RELOCS from insn condition. + (@ld_from_got): Likewise. + * config/loongarch/predicates.md (move_operand): Call + loongarch_explicit_relocs_p instead of using + TARGET_EXPLICIT_RELOCS. + +2023-10-23 Xi Ruoyao + + * config/loongarch/genopts/loongarch-strings: Add strings for + -mexplicit-relocs={auto,none,always}. + * config/loongarch/genopts/loongarch.opt.in: Add options for + -mexplicit-relocs={auto,none,always}. + * config/loongarch/loongarch-str.h: Regenerate. + * config/loongarch/loongarch.opt: Regenerate. + * config/loongarch/loongarch-def.h + (EXPLICIT_RELOCS_AUTO): Define. + (EXPLICIT_RELOCS_NONE): Define. + (EXPLICIT_RELOCS_ALWAYS): Define. + (N_EXPLICIT_RELOCS_TYPES): Define. + * config/loongarch/loongarch.cc + (loongarch_option_override_internal): Error out if the old-style + -m[no-]explicit-relocs option is used with + -mexplicit-relocs={auto,none,always} together. Map + -mno-explicit-relocs to -mexplicit-relocs=none and + -mexplicit-relocs to -mexplicit-relocs=always for backward + compatibility. Set a proper default for -mexplicit-relocs= + based on configure-time probed linker capability. Update a + diagnostic message to mention -mexplicit-relocs=always instead + of the old-style -mexplicit-relocs. + (loongarch_handle_model_attribute): Update a diagnostic message + to mention -mexplicit-relocs=always instead of the old-style + -mexplicit-relocs. + * config/loongarch/loongarch.h (TARGET_EXPLICIT_RELOCS): Define. + +2023-10-23 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::fuse_local_vsetvl_info): Fix typo. + (pre_vsetvl::pre_global_vsetvl_info): Ditto. + +2023-10-23 Juzhe-Zhong + + * config/riscv/vector.md: Fix avl_type attribute of tuple mov. + +2023-10-23 Kewen Lin + + PR tree-optimization/111784 + * tree-vect-stmts.cc (vectorizable_store): Adjust costing way for + adjacent vector stores, by costing them with the total number + rather than costing them one by one. + (vectorizable_load): Adjust costing way for adjacent vector + loads, by costing them with the total number rather than costing + them one by one. + +2023-10-23 Haochen Jiang + + PR target/111753 + * config/i386/i386.cc (ix86_standard_x87sse_constant_load_p): + Do not split to xmm16+ when !TARGET_AVX512VL. + +2023-10-23 Pan Li + + * config/riscv/riscv-protos.h (enum insn_type): Add new type + values. + * config/riscv/riscv-v.cc (emit_vec_cvt_x_f): Add undef merge + operand handling. + (expand_vec_ceil): Take MA instead of MU for tmp register. + (expand_vec_floor): Ditto. + (expand_vec_nearbyint): Ditto. + (expand_vec_rint): Ditto. + (expand_vec_round): Ditto. + (expand_vec_roundeven): Ditto. + +2023-10-23 Lulu Cheng + + * config/loongarch/loongarch.h (CLEAR_INSN_CACHE): New definition. + +2023-10-23 Haochen Gui + + PR target/111449 + * expr.cc (can_use_qi_vectors): New function to return true if + we know how to implement OP using vectors of bytes. + (qi_vector_mode_supported_p): New function to check if optabs + exists for the mode and certain by pieces operations. + (widest_fixed_size_mode_for_size): Replace the second argument + with the type of by pieces operations. Call can_use_qi_vectors + and qi_vector_mode_supported_p to do the check. Call + scalar_mode_supported_p to check if the scalar mode is supported. + (by_pieces_ninsns): Pass the type of by pieces operation to + widest_fixed_size_mode_for_size. + (class op_by_pieces_d): Remove m_qi_vector_mode. Add m_op to + record the type of by pieces operations. + (op_by_pieces_d::op_by_pieces_d): Change last argument to the + type of by pieces operations, initialize m_op with it. Pass + m_op to function widest_fixed_size_mode_for_size. + (op_by_pieces_d::get_usable_mode): Pass m_op to function + widest_fixed_size_mode_for_size. + (op_by_pieces_d::smallest_fixed_size_mode_for_size): Call + can_use_qi_vectors and qi_vector_mode_supported_p to do the + check. + (op_by_pieces_d::run): Pass m_op to function + widest_fixed_size_mode_for_size. + (move_by_pieces_d::move_by_pieces_d): Set m_op to MOVE_BY_PIECES. + (store_by_pieces_d::store_by_pieces_d): Set m_op with the op. + (can_store_by_pieces): Pass the type of by pieces operations to + widest_fixed_size_mode_for_size. + (clear_by_pieces): Initialize class store_by_pieces_d with + CLEAR_BY_PIECES. + (compare_by_pieces_d::compare_by_pieces_d): Set m_op to + COMPARE_BY_PIECES. + +2023-10-23 liuhongt + + PR tree-optimization/111820 + PR tree-optimization/111833 + * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): Give + up vectorization for nonlinear iv vect_step_op_mul when + step_expr is not exact_log2 and niters is greater than + TYPE_PRECISION (TREE_TYPE (step_expr)). Also don't vectorize + for nagative niters_skip which will be used by fully masked + loop. + (vect_can_advance_ivs_p): Pass whole phi_info to + vect_can_peel_nonlinear_iv_p. + * tree-vect-loop.cc (vect_peel_nonlinear_iv_init): Optimize + init_expr * pow (step_expr, skipn) to init_expr + << (log2 (step_expr) * skipn) when step_expr is exact_log2. + +2023-10-23 liuhongt + + * config/i386/mmx.md (mmx_pinsrw): Remove. + +2023-10-22 Andrew Pinski + + PR target/110986 + * config/aarch64/aarch64.md (*cmov_insn_insv): New pattern. + (*cmov_uxtw_insn_insv): Likewise. + +2023-10-22 Francois-Xavier Coudert + + * doc/invoke.texi: Document the new -nodefaultrpaths option. + * doc/install.texi: Document the new --with-darwin-extra-rpath + option. + +2023-10-22 Iain Sandoe + + * Makefile.in: set ENABLE_DARWIN_AT_RPATH in site.tmp. + +2023-10-22 Iain Sandoe + + * configure.ac: Add --with-darwin-extra-rpath option. + * config/darwin.h: Handle DARWIN_EXTRA_RPATH. + * config.in: Regenerate. + * configure: Regenerate. + +2023-10-22 Iain Sandoe + + * aclocal.m4: Regenerate. + * configure: Regenerate. + * configure.ac: Handle Darwin rpaths. + * config/darwin.h: Handle Darwin rpaths. + * config/darwin.opt: Handle Darwin rpaths. + * Makefile.in: Handle Darwin rpaths. + +2023-10-22 Iain Sandoe + + * gcc.cc (RUNPATH_OPTION): New. + (do_spec_1): Provide '%P' as a spec to insert rpaths for + each compiler startfile path. + +2023-10-22 Andrew Burgess + Maxim Blinov + Francois-Xavier Coudert + Iain Sandoe + + * config.gcc: Default to heap trampolines on macOS 11 and above. + * config/i386/darwin.h: Define X86_CUSTOM_FUNCTION_TEST. + * config/i386/i386.h: Define X86_CUSTOM_FUNCTION_TEST. + * config/i386/i386.cc: Use X86_CUSTOM_FUNCTION_TEST. + +2023-10-22 Andrew Burgess + Maxim Blinov + Iain Sandoe + Francois-Xavier Coudert + + * builtins.def (BUILT_IN_NESTED_PTR_CREATED): Define. + (BUILT_IN_NESTED_PTR_DELETED): Ditto. + * common.opt (ftrampoline-impl): Add option to control + generation of trampoline instantiation (heap or stack). + * coretypes.h: Define enum trampoline_impl. + * tree-nested.cc (convert_tramp_reference_op): Don't bother calling + __builtin_adjust_trampoline for heap trampolines. + (finalize_nesting_tree_1): Emit calls to + __builtin_nested_...{created,deleted} if we're generating with + -ftrampoline-impl=heap. + * tree.cc (build_common_builtin_nodes): Build + __builtin_nested_...{created,deleted}. + * doc/invoke.texi (-ftrampoline-impl): Document. + +2023-10-22 Tsukasa OI + + * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): + Prohibit 'E' and 'H' combinations. + +2023-10-22 Tsukasa OI + + * common/config/riscv/riscv-common.cc (riscv_ext_version_table): + Change version number of the 'Zfa' extension to 1.0. + +2023-10-21 Pan Li + + PR target/111857 + * config/riscv/riscv-opts.h (TARGET_VECTOR_VLS): Remove. + * config/riscv/riscv-protos.h (vls_mode_valid_p): New func decl. + * config/riscv/riscv-v.cc (autovectorize_vector_modes): Replace + macro reference to func. + (vls_mode_valid_p): New func impl for vls mode valid or not. + * config/riscv/riscv-vector-switch.def (VLS_ENTRY): Replace + macro reference to func. + * config/riscv/vector-iterators.md: Ditto. + +2023-10-20 Roger Sayle + Uros Bizjak + + PR middle-end/101955 + PR tree-optimization/106245 + * config/i386/i386.md (*extv_1_0): New define_insn_and_split. + +2023-10-20 David Edelsohn + + * gimple-harden-control-flow.cc: Include memmodel.h. + +2023-10-20 David Edelsohn + + * gimple-harden-control-flow.cc: Include tm_p.h. + +2023-10-20 Andre Vieira + + PR tree-optimization/111882 + * tree-if-conv.cc (get_bitfield_rep): Return NULL_TREE for bitfields + with non-constant offsets. + +2023-10-20 Tamar Christina + + PR tree-optimization/111866 + * tree-vect-loop-manip.cc (vect_do_peeling): Pass null as vinfo to + vect_set_loop_condition during prolog peeling. + +2023-10-20 Richard Biener + + PR tree-optimization/111445 + * tree-scalar-evolution.cc (simple_iv_with_niters): + Add missing check for a sign-conversion. + +2023-10-20 Richard Biener + + PR tree-optimization/110243 + PR tree-optimization/111336 + * tree-ssa-loop-ivopts.cc (strip_offset_1): Rewrite + operations with undefined behavior on overflow to + unsigned arithmetic. + +2023-10-20 Richard Biener + + PR tree-optimization/111891 + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Fix + assert. + +2023-10-20 Andrew Stubbs + + * config.gcc: Allow --with-arch=gfx1030. + * config/gcn/gcn-hsa.h (NO_XNACK): gfx1030 does not support xnack. + (ASM_SPEC): gfx1030 needs -mattr=+wavefrontsize64 set. + * config/gcn/gcn-opts.h (enum processor_type): Add PROCESSOR_GFX1030. + (TARGET_GFX1030): New. + (TARGET_RDNA2): New. + * config/gcn/gcn-valu.md (@dpp_move): Disable for RDNA2. + (addc3): Add RDNA2 syntax variant. + (subc3): Likewise. + (2_exec): Add RDNA2 alternatives. + (vec_cmpdi): Likewise. + (vec_cmpdi): Likewise. + (vec_cmpdi_exec): Likewise. + (vec_cmpdi_exec): Likewise. + (vec_cmpdi_dup): Likewise. + (vec_cmpdi_dup_exec): Likewise. + (reduc__scal_): Disable for RDNA2. + (*_dpp_shr_): Likewise. + (*plus_carry_dpp_shr_): Likewise. + (*plus_carry_in_dpp_shr_): Likewise. + * config/gcn/gcn.cc (gcn_option_override): Recognise gfx1030. + (gcn_global_address_p): RDNA2 only allows smaller offsets. + (gcn_addr_space_legitimate_address_p): Likewise. + (gcn_omp_device_kind_arch_isa): Recognise gfx1030. + (gcn_expand_epilogue): Use VGPRs instead of SGPRs. + (output_file_start): Configure gfx1030. + * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Add __RDNA2__; + (ASSEMBLER_DIALECT): New. + * config/gcn/gcn.md (rdna): New define_attr. + (enabled): Use "rdna" attribute. + (gcn_return): Remove s_dcache_wb. + (addcsi3_scalar): Add RDNA2 syntax variant. + (addcsi3_scalar_zero): Likewise. + (addptrdi3): Likewise. + (mulsi3): v_mul_lo_i32 should be v_mul_lo_u32 on all ISA. + (*memory_barrier): Add RDNA2 syntax variant. + (atomic_load): Add RDNA2 cache control variants, and disable + scalar atomics for RDNA2. + (atomic_store): Likewise. + (atomic_exchange): Likewise. + * config/gcn/gcn.opt (gpu_type): Add gfx1030. + * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX1030): New. + (main): Recognise -march=gfx1030. + * config/gcn/t-omp-device: Add gfx1030 isa. + +2023-10-20 Richard Biener + + PR tree-optimization/111000 + * stor-layout.h (element_precision): Move .. + * tree.h (element_precision): .. here. + * tree-ssa-loop-im.cc (movement_possibility_1): Restrict + motion of shifts and rotates. + +2023-10-20 Alexandre Oliva + + * tree-core.h (ECF_XTHROW): New macro. + * tree.cc (set_call_expr): Add expected_throw attribute when + ECF_XTHROW is set. + (build_common_builtin_node): Add ECF_XTHROW to + __cxa_end_cleanup and _Unwind_Resume or _Unwind_SjLj_Resume. + * calls.cc (flags_from_decl_or_type): Check for expected_throw + attribute to set ECF_XTHROW. + * gimple.cc (gimple_build_call_from_tree): Propagate + ECF_XTHROW from decl flags to gimple call... + (gimple_call_flags): ... and back. + * gimple.h (GF_CALL_XTHROW): New gf_mask flag. + (gimple_call_set_expected_throw): New. + (gimple_call_expected_throw_p): New. + * Makefile.in (OBJS): Add gimple-harden-control-flow.o. + * builtins.def (BUILT_IN___HARDCFR_CHECK): New. + * common.opt (fharden-control-flow-redundancy): New. + (-fhardcfr-check-returning-calls): New. + (-fhardcfr-check-exceptions): New. + (-fhardcfr-check-noreturn-calls=*): New. + (Enum hardcfr_check_noreturn_calls): New. + (fhardcfr-skip-leaf): New. + * doc/invoke.texi: Document them. + (hardcfr-max-blocks, hardcfr-max-inline-blocks): New params. + * flag-types.h (enum hardcfr_noret): New. + * gimple-harden-control-flow.cc: New. + * params.opt (-param=hardcfr-max-blocks=): New. + (-param=hradcfr-max-inline-blocks=): New. + * passes.def (pass_harden_control_flow_redundancy): Add. + * tree-pass.h (make_pass_harden_control_flow_redundancy): + Declare. + * doc/extend.texi: Document expected_throw attribute. + +2023-10-20 Alex Coplan + + * rtl-ssa/changes.cc (function_info::change_insns): Ensure we call + ::remove_insn on deleted insns. + +2023-10-20 Richard Biener + + * doc/generic.texi ({L,R}ROTATE_EXPR): Document. + +2023-10-20 Oleg Endo + + PR target/101177 + * config/sh/sh.md (unnamed split pattern): Fix comparison of + find_regno_note result. + +2023-10-20 Richard Biener + + * tree-vect-loop.cc (update_epilogue_loop_vinfo): Rewrite + both STMT_VINFO_GATHER_SCATTER_P and VMAT_GATHER_SCATTER + stmt refs. + +2023-10-20 Richard Biener + + * tree-vect-slp.cc (off_map, off_op0_map, off_arg2_map, + off_arg3_arg2_map): New. + (vect_get_operand_map): Get flag whether the stmt was + recognized as gather or scatter and use the above + accordingly. + (vect_get_and_check_slp_defs): Adjust. + (vect_build_slp_tree_2): Likewise. + +2023-10-20 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::fuse_local_vsetvl_info): Rename variables. + (pre_vsetvl::pre_global_vsetvl_info): Ditto. + (pre_vsetvl::emit_vsetvl): Ditto. + +2023-10-20 Tamar Christina + Andre Vieira + + * tree-if-conv.cc (if_convertible_loop_p_1): Move check from here ... + (get_loop_body_if_conv_order): ... to here. + (if_convertible_loop_p): Remove single_exit check. + (tree_if_conversion): Move single_exit check to if-conversion part and + support multiple exits. + +2023-10-20 Tamar Christina + Andre Vieira + + * tree-vect-patterns.cc (vect_init_pattern_stmt): Copy STMT_VINFO_TYPE + from original statement. + (vect_recog_bitfield_ref_pattern): Support bitfields in gcond. + +2023-10-20 Juzhe-Zhong + + PR target/111848 + * config/riscv/riscv-selftests.cc (run_const_vector_selftests): Adapt selftest. + * config/riscv/riscv-v.cc (expand_const_vector): Change it into vec_duplicate splitter. + +2023-10-20 Lehua Ding + + PR target/111037 + PR target/111234 + PR target/111725 + * config/riscv/riscv-vsetvl.cc (bitmap_union_of_preds_with_entry): New. + (debug): Removed. + (compute_reaching_defintion): New. + (enum vsetvl_type): Moved. + (vlmax_avl_p): Moved. + (enum emit_type): Moved. + (vlmul_to_str): Moved. + (vlmax_avl_insn_p): Removed. + (policy_to_str): Moved. + (loop_basic_block_p): Removed. + (valid_sew_p): Removed. + (vsetvl_insn_p): Moved. + (vsetvl_vtype_change_only_p): Removed. + (after_or_same_p): Removed. + (before_p): Removed. + (anticipatable_occurrence_p): Removed. + (available_occurrence_p): Removed. + (insn_should_be_added_p): Removed. + (get_all_sets): Moved. + (get_same_bb_set): Moved. + (gen_vsetvl_pat): Removed. + (calculate_vlmul): Moved. + (get_max_int_sew): New. + (emit_vsetvl_insn): Removed. + (get_max_float_sew): New. + (eliminate_insn): Removed. + (insert_vsetvl): Removed. + (count_regno_occurrences): Moved. + (get_vl_vtype_info): Removed. + (enum def_type): Moved. + (validate_change_or_fail): Moved. + (change_insn): Removed. + (get_all_real_uses): Moved. + (get_forward_read_vl_insn): Removed. + (get_backward_fault_first_load_insn): Removed. + (change_vsetvl_insn): Removed. + (avl_source_has_vsetvl_p): Removed. + (source_equal_p): Moved. + (calculate_sew): Removed. + (same_equiv_note_p): Moved. + (get_expr_id): New. + (incompatible_avl_p): Removed. + (get_regno): New. + (different_sew_p): Removed. + (get_bb_index): New. + (different_lmul_p): Removed. + (has_no_uses): Moved. + (different_ratio_p): Removed. + (different_tail_policy_p): Removed. + (different_mask_policy_p): Removed. + (possible_zero_avl_p): Removed. + (enum demand_flags): New. + (second_ratio_invalid_for_first_sew_p): Removed. + (second_ratio_invalid_for_first_lmul_p): Removed. + (enum class): New. + (float_insn_valid_sew_p): Removed. + (second_sew_less_than_first_sew_p): Removed. + (first_sew_less_than_second_sew_p): Removed. + (class vsetvl_info): New. + (compare_lmul): Removed. + (second_lmul_less_than_first_lmul_p): Removed. + (second_ratio_less_than_first_ratio_p): Removed. + (DEF_INCOMPATIBLE_COND): Removed. + (greatest_sew): Removed. + (first_sew): Removed. + (second_sew): Removed. + (first_vlmul): Removed. + (second_vlmul): Removed. + (first_ratio): Removed. + (second_ratio): Removed. + (vlmul_for_first_sew_second_ratio): Removed. + (vlmul_for_greatest_sew_second_ratio): Removed. + (ratio_for_second_sew_first_vlmul): Removed. + (class vsetvl_block_info): New. + (DEF_SEW_LMUL_FUSE_RULE): New. + (always_unavailable): Removed. + (avl_unavailable_p): Removed. + (class demand_system): New. + (sew_unavailable_p): Removed. + (lmul_unavailable_p): Removed. + (ge_sew_unavailable_p): Removed. + (ge_sew_lmul_unavailable_p): Removed. + (ge_sew_ratio_unavailable_p): Removed. + (DEF_UNAVAILABLE_COND): Removed. + (same_sew_lmul_demand_p): Removed. + (propagate_avl_across_demands_p): Removed. + (reg_available_p): Removed. + (support_relaxed_compatible_p): Removed. + (demands_can_be_fused_p): Removed. + (earliest_pred_can_be_fused_p): Removed. + (vsetvl_dominated_by_p): Removed. + (avl_info::avl_info): Removed. + (avl_info::single_source_equal_p): Removed. + (avl_info::multiple_source_equal_p): Removed. + (DEF_SEW_LMUL_RULE): New. + (avl_info::operator=): Removed. + (avl_info::operator==): Removed. + (DEF_POLICY_RULE): New. + (avl_info::operator!=): Removed. + (avl_info::has_non_zero_avl): Removed. + (vl_vtype_info::vl_vtype_info): Removed. + (vl_vtype_info::operator==): Removed. + (DEF_AVL_RULE): New. + (vl_vtype_info::operator!=): Removed. + (vl_vtype_info::same_avl_p): Removed. + (vl_vtype_info::same_vtype_p): Removed. + (vl_vtype_info::same_vlmax_p): Removed. + (vector_insn_info::operator>=): Removed. + (vector_insn_info::operator==): Removed. + (class pre_vsetvl): New. + (vector_insn_info::parse_insn): Removed. + (vector_insn_info::compatible_p): Removed. + (vector_insn_info::skip_avl_compatible_p): Removed. + (vector_insn_info::compatible_avl_p): Removed. + (vector_insn_info::compatible_vtype_p): Removed. + (vector_insn_info::available_p): Removed. + (vector_insn_info::fuse_avl): Removed. + (vector_insn_info::fuse_sew_lmul): Removed. + (vector_insn_info::fuse_tail_policy): Removed. + (vector_insn_info::fuse_mask_policy): Removed. + (vector_insn_info::local_merge): Removed. + (vector_insn_info::global_merge): Removed. + (vector_insn_info::get_avl_or_vl_reg): Removed. + (vector_insn_info::update_fault_first_load_avl): Removed. + (vector_insn_info::dump): Removed. + (vector_infos_manager::vector_infos_manager): Removed. + (vector_infos_manager::create_expr): Removed. + (vector_infos_manager::get_expr_id): Removed. + (vector_infos_manager::all_same_ratio_p): Removed. + (vector_infos_manager::all_avail_in_compatible_p): Removed. + (vector_infos_manager::all_same_avl_p): Removed. + (vector_infos_manager::expr_set_num): Removed. + (vector_infos_manager::release): Removed. + (vector_infos_manager::create_bitmap_vectors): Removed. + (vector_infos_manager::free_bitmap_vectors): Removed. + (vector_infos_manager::dump): Removed. + (class pass_vsetvl): Adjust. + (pass_vsetvl::get_vector_info): Removed. + (pass_vsetvl::get_block_info): Removed. + (pass_vsetvl::update_vector_info): Removed. + (pass_vsetvl::update_block_info): Removed. + (pre_vsetvl::compute_avl_def_data): New. + (pass_vsetvl::simple_vsetvl): Removed. + (pass_vsetvl::compute_local_backward_infos): Removed. + (pass_vsetvl::need_vsetvl): Removed. + (pass_vsetvl::transfer_before): Removed. + (pass_vsetvl::transfer_after): Removed. + (pre_vsetvl::compute_vsetvl_def_data): New. + (pass_vsetvl::emit_local_forward_vsetvls): Removed. + (pass_vsetvl::prune_expressions): Removed. + (pass_vsetvl::compute_local_properties): Removed. + (pre_vsetvl::compute_lcm_local_properties): New. + (pass_vsetvl::earliest_fusion): Removed. + (pre_vsetvl::fuse_local_vsetvl_info): New. + (pass_vsetvl::vsetvl_fusion): Removed. + (pass_vsetvl::can_refine_vsetvl_p): Removed. + (pre_vsetvl::earliest_fuse_vsetvl_info): New. + (pass_vsetvl::refine_vsetvls): Removed. + (pass_vsetvl::cleanup_vsetvls): Removed. + (pass_vsetvl::commit_vsetvls): Removed. + (pass_vsetvl::pre_vsetvl): Removed. + (pass_vsetvl::get_vsetvl_at_end): Removed. + (local_avl_compatible_p): Removed. + (pass_vsetvl::local_eliminate_vsetvl_insn): Removed. + (pre_vsetvl::pre_global_vsetvl_info): New. + (get_first_vsetvl_before_rvv_insns): Removed. + (pass_vsetvl::global_eliminate_vsetvl_insn): Removed. + (pre_vsetvl::emit_vsetvl): New. + (pass_vsetvl::ssa_post_optimization): Removed. + (pre_vsetvl::cleaup): New. + (pre_vsetvl::remove_avl_operand): New. + (pass_vsetvl::df_post_optimization): Removed. + (pre_vsetvl::remove_unused_dest_operand): New. + (pass_vsetvl::init): Removed. + (pass_vsetvl::done): Removed. + (pass_vsetvl::compute_probabilities): Removed. + (pass_vsetvl::lazy_vsetvl): Adjust. + (pass_vsetvl::execute): Adjust. + * config/riscv/riscv-vsetvl.def (DEF_INCOMPATIBLE_COND): Removed. + (DEF_SEW_LMUL_RULE): New. + (DEF_SEW_LMUL_FUSE_RULE): Removed. + (DEF_POLICY_RULE): New. + (DEF_UNAVAILABLE_COND): Removed + (DEF_AVL_RULE): New demand type. + (sew_lmul): New demand type. + (ratio_only): New demand type. + (sew_only): New demand type. + (ge_sew): New demand type. + (ratio_and_ge_sew): New demand type. + (tail_mask_policy): New demand type. + (tail_policy_only): New demand type. + (mask_policy_only): New demand type. + (ignore_policy): New demand type. + (avl): New demand type. + (non_zero_avl): New demand type. + (ignore_avl): New demand type. + * config/riscv/t-riscv: Removed riscv-vsetvl.h + * config/riscv/riscv-vsetvl.h: Removed. + +2023-10-20 Alexandre Oliva + + * tree-eh.cc (make_eh_edges): Return the new edge. + * tree-eh.h (make_eh_edges): Likewise. + +2023-10-19 Marek Polacek + + * doc/contrib.texi: Add entry for Patrick Palka. + +2023-10-19 Andre Vieira + + * omp-simd-clone.cc (simd_clone_adjust_argument_types): Make function + compatible with mask parameters in clone. + * tree-vect-stmts.cc (vect_build_all_ones_mask): Allow vector boolean + typed masks. + (vectorizable_simd_clone_call): Enable the use of masked clones in + fully masked loops. + +2023-10-19 Andre Vieira + + PR tree-optimization/110485 + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Disable partial + vectors usage if a notinbranch simdclone has been selected. + +2023-10-19 Andre Vieira + + * tree-vect-data-refs.cc (vect_get_smallest_scalar_type): Special case + simd clone calls and only use types that are mapped to vectors. + (simd_clone_call_p): New helper function. + +2023-10-19 Andre Vieira + + * tree-parloops.cc (try_transform_to_exit_first_loop_alt): Accept + poly NIT and ALT_BOUND. + +2023-10-19 Andre Vieira + + * tree-parloops.cc (create_loop_fn): Copy specific target and + optimization options to clone. + +2023-10-19 Andre Vieira + + * omp-simd-clone.cc (simd_clone_subparts): Remove. + (simd_clone_init_simd_arrays): Replace simd_clone_supbarts with + TYPE_VECTOR_SUBPARTS. + (ipa_simd_modify_function_body): Likewise. + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Likewise. + (simd_clone_subparts): Remove. + +2023-10-19 Jason Merrill + + * ABOUT-GCC-NLS: Add usage guidance. + +2023-10-19 Jason Merrill + + * diagnostic-core.h (permerror): Rename new overloads... + (permerror_opt): To this. + * diagnostic.cc: Likewise. + +2023-10-19 Tamar Christina + + PR tree-optimization/111860 + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + Remove PHI nodes that dominate loop. + +2023-10-19 Richard Biener + + PR tree-optimization/111131 + * tree-vect-loop.cc (update_epilogue_loop_vinfo): Make + sure to update all gather/scatter stmt DRs, not only those + that eventually got VMAT_GATHER_SCATTER set. + * tree-vect-slp.cc (_slp_oprnd_info::first_gs_info): Add. + (vect_get_and_check_slp_defs): Handle gathers/scatters, + adding the offset as SLP operand and comparing base and scale. + (vect_build_slp_tree_1): Handle gathers. + (vect_build_slp_tree_2): Likewise. + +2023-10-19 Richard Biener + + * tree-vect-stmts.cc (vect_build_gather_load_calls): Rename + to ... + (vect_build_one_gather_load_call): ... this. Refactor, + inline widening/narrowing support ... + (vectorizable_load): ... here, do gather vectorization + with builtin decls along other gather vectorization. + +2023-10-19 Alex Coplan + + * config/aarch64/aarch64.md (load_pair_dw_tftf): Rename to ... + (load_pair_dw_): ... this. + (store_pair_dw_tftf): Rename to ... + (store_pair_dw_): ... this. + * config/aarch64/iterators.md (TX2): New. + +2023-10-19 Alex Coplan + + * rtl-ssa/changes.cc (function_info::finalize_new_accesses): Add new + parameter to give final insn position, infer use of mem if it isn't + specified explicitly. + (function_info::change_insns): Pass down final insn position to + finalize_new_accesses. + * rtl-ssa/functions.h: Add parameter to finalize_new_accesses. + +2023-10-19 Alex Coplan + + * rtl-ssa/accesses.cc (function_info::reparent_use): New. + * rtl-ssa/functions.h (function_info): Declare new member + function reparent_use. + +2023-10-19 Alex Coplan + + * rtl-ssa/access-utils.h (drop_memory_access): New. + +2023-10-19 Alex Coplan + + * rtl-ssa/insns.cc (function_info::add_insn_after): Ensure we + update the prev pointer on the following nondebug insn in the + case that !insn->is_debug_insn () && next->is_debug_insn (). + +2023-10-19 Haochen Jiang + + * config/i386/i386.h: Correct the ISA enabled for Arrow Lake. + Also make Clearwater Forest depends on Sierra Forest. + * config/i386/i386-options.cc: Revise the order of the macro + definition to avoid confusion. + * doc/extend.texi: Revise documentation. + * doc/invoke.texi: Correct documentation. + +2023-10-19 Andrew Stubbs + + * config.gcc (amdgcn): Switch default to --with-arch=gfx900. + Implement support for --with-multilib-list. + * config/gcn/t-gcn-hsa: Likewise. + * doc/install.texi: Likewise. + * doc/invoke.texi: Mark Fiji deprecated. + +2023-10-19 Jiahao Xu + + * config/loongarch/loongarch.cc (loongarch_vector_costs): Inherit from + vector_costs. Add a constructor. + (loongarch_vector_costs::add_stmt_cost): Use adjust_cost_for_freq to + adjust the cost for inner loops. + (loongarch_vector_costs::count_operations): New function. + (loongarch_vector_costs::determine_suggested_unroll_factor): Ditto. + (loongarch_vector_costs::finish_cost): Ditto. + (loongarch_builtin_vectorization_cost): Adjust. + * config/loongarch/loongarch.opt (loongarch-vect-unroll-limit): New parameter. + (loongarcg-vect-issue-info): Ditto. + (mmemvec-cost): Delete. + * config/loongarch/genopts/loongarch.opt.in + (loongarch-vect-unroll-limit): Ditto. + (loongarcg-vect-issue-info): Ditto. + (mmemvec-cost): Delete. + * doc/invoke.texi (loongarcg-vect-unroll-limit): Document new option. + +2023-10-19 Jiahao Xu + + * config/loongarch/lasx.md + (vec_widen_mult_even_v8si): New patterns. + (vec_widen_add_hi_): Ditto. + (vec_widen_add_lo_): Ditto. + (vec_widen_sub_hi_): Ditto. + (vec_widen_sub_lo_): Ditto. + (vec_widen_mult_hi_): Ditto. + (vec_widen_mult_lo_): Ditto. + * config/loongarch/loongarch.md (u_bool): New iterator. + * config/loongarch/loongarch-protos.h + (loongarch_expand_vec_widen_hilo): New prototype. + * config/loongarch/loongarch.cc + (loongarch_expand_vec_interleave): New function. + (loongarch_expand_vec_widen_hilo): New function. + +2023-10-19 Jiahao Xu + + * config/loongarch/lasx.md + (avg3_ceil): New patterns. + (uavg3_ceil): Ditto. + (avg3_floor): Ditto. + (uavg3_floor): Ditto. + (usadv32qi): Ditto. + (ssadv32qi): Ditto. + * config/loongarch/lsx.md + (avg3_ceil): New patterns. + (uavg3_ceil): Ditto. + (avg3_floor): Ditto. + (uavg3_floor): Ditto. + (usadv16qi): Ditto. + (ssadv16qi): Ditto. + +2023-10-18 Andrew Pinski + + PR middle-end/111863 + * expr.cc (do_store_flag): Don't over write arg0 + when stripping off `& POW2`. + +2023-10-18 Prathamesh Kulkarni + + PR tree-optimization/111648 + * fold-const.cc (valid_mask_for_fold_vec_perm_cst_p): If a1 + chooses base element from arg, ensure that it's a natural stepped + sequence. + (build_vec_cst_rand): New param natural_stepped and use it to + construct a naturally stepped sequence. + (test_nunits_min_2): Add new unit tests Case 6 and Case 7. + +2023-10-18 Dimitar Dimitrov + + * config/pru/pru.cc (pru_insn_cost): New function. + (TARGET_INSN_COST): Define for PRU. + +2023-10-18 Andrew Carlotti + + * config/aarch64/aarch64.cc (aarch64_test_fractional_cost): + Test <= instead of testing < twice. + +2023-10-18 Jakub Jelinek + + PR bootstrap/111852 + * cse.cc (cse_insn): Add workaround for GCC 4.8-4.9, instead of + using rtx_def type for memory_extend_buf, use unsigned char + arrayy with size of rtx_def and its alignment. + +2023-10-18 Jason Merrill + + * doc/invoke.texi: Move -fpermissive to Warning Options. + * diagnostic.cc (update_effective_level_from_pragmas): Remove + redundant system header check. + (diagnostic_report_diagnostic): Move down syshdr/-w check. + (diagnostic_impl): Handle DK_PERMERROR with an option number. + (permerror): Add new overloads. + * diagnostic-core.h (permerror): Declare them. + +2023-10-18 Tobias Burnus + + * gimplify.cc (gimplify_bind_expr): Remove "omp allocate" attribute + to avoid that auxillary statement list reaches LTO. + +2023-10-18 Jakub Jelinek + + PR tree-optimization/111845 + * tree-ssa-math-opts.cc (match_uaddc_usubc): Remember temporary + statements for the 4 operand addition or subtraction of 3 operands + from 1 operand cases and remove them when successful. Look for + nested additions even from rhs[2], not just rhs[1]. + +2023-10-18 Tobias Burnus + + PR target/111093 + * config/nvptx/nvptx.cc (nvptx_option_override): Issue fatal error + instead of an assert ICE when no -march= has been specified. + +2023-10-18 Iain Sandoe + + * config.in: Regenerate. + * config/darwin.cc (darwin_file_start): Add assembler directives + for the target OS version, where these are supported by the + assembler. + (darwin_override_options): Check for building >= macOS 10.14. + * configure: Regenerate. + * configure.ac: Check for assembler support of .build_version + directives. + +2023-10-18 Tamar Christina + + PR tree-optimization/109154 + * tree-if-conv.cc (INCLUDE_ALGORITHM): Remove. + (typedef struct ifcvt_arg_entry): New. + (cmp_arg_entry): New. + (gen_phi_arg_condition, gen_phi_nest_statement, + predicate_scalar_phi): Use them. + +2023-10-18 Tamar Christina + + PR tree-optimization/109154 + * config/aarch64/aarch64-simd.md (*aarch64_simd_mov): + Rewrite to new syntax. + (*aarch64_simd_mov + + PR tree-optimization/109154 + * tree-if-conv.cc (if_convertible_stmt_p): Allow any const IFN. + +2023-10-18 Tamar Christina + + PR tree-optimization/109154 + * match.pd: Add new cond_op rule. + +2023-10-18 Xi Ruoyao + + * config/loongarch/loongarch.md (movfcc): Use fcmp.caf.s for + zeroing a fcc. + +2023-10-18 Richard Biener + + * tree-vect-stmts.cc (vectorizable_simd_clone_call): + Relax check to again allow passing integer mode masks + as traditional vectors. + +2023-10-18 Tamar Christina + + * tree-loop-distribution.cc (copy_loop_before): Request no LCSSA. + * tree-vect-loop-manip.cc (adjust_phi_and_debug_stmts): Add additional + asserts. + (slpeel_tree_duplicate_loop_to_edge_cfg): Keep LCSSA during peeling. + (find_guard_arg): Look value up through explicit edge and original defs. + (vect_do_peeling): Use it. + (slpeel_update_phi_nodes_for_guard2): Take explicit exit edge. + (slpeel_update_phi_nodes_for_lcssa, slpeel_update_phi_nodes_for_loops): + Remove. + * tree-vect-loop.cc (vect_create_epilog_for_reduction): Initialize phi. + * tree-vectorizer.h (slpeel_tree_duplicate_loop_to_edge_cfg): Add + optional param to turn off LCSSA mode. + +2023-10-18 Tamar Christina + + * tree-if-conv.cc (tree_if_conversion): Record exits in aux. + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): Use + it. + * tree-vect-loop.cc (vect_get_loop_niters): Determine main exit. + (vec_init_loop_exit_info): Extend analysis when multiple exits. + (vect_analyze_loop_form): Record conds and determine main cond. + (vect_create_loop_vinfo): Extend bookkeeping of conds. + (vect_analyze_loop): Release conds. + * tree-vectorizer.h (LOOP_VINFO_LOOP_CONDS, + LOOP_VINFO_LOOP_IV_COND): New. + (struct vect_loop_form_info): Add conds, alt_loop_conds; + (struct loop_vec_info): Add conds, loop_iv_cond. + +2023-10-18 Tamar Christina + + * tree-loop-distribution.cc (copy_loop_before): Pass exit explicitly. + (loop_distribution::distribute_loop): Bail out of not single exit. + * tree-scalar-evolution.cc (get_loop_exit_condition): New. + * tree-scalar-evolution.h (get_loop_exit_condition): New. + * tree-vect-data-refs.cc (vect_enhance_data_refs_alignment): Pass exit + explicitly. + * tree-vect-loop-manip.cc (vect_set_loop_condition_partial_vectors, + vect_set_loop_condition_partial_vectors_avx512, + vect_set_loop_condition_normal, vect_set_loop_condition): Explicitly + take exit. + (slpeel_tree_duplicate_loop_to_edge_cfg): Explicitly take exit and + return new peeled corresponding peeled exit. + (slpeel_can_duplicate_loop_p): Explicitly take exit. + (find_loop_location): Handle not knowing an explicit exit. + (vect_update_ivs_after_vectorizer, vect_gen_vector_loop_niters_mult_vf, + find_guard_arg, slpeel_update_phi_nodes_for_loops, + slpeel_update_phi_nodes_for_guard2): Use new exits. + (vect_do_peeling): Update bookkeeping to keep track of exits. + * tree-vect-loop.cc (vect_get_loop_niters): Explicitly take exit to + analyze. + (vec_init_loop_exit_info): New. + (_loop_vec_info::_loop_vec_info): Initialize vec_loop_iv, + vec_epilogue_loop_iv, scalar_loop_iv. + (vect_analyze_loop_form): Initialize exits. + (vect_create_loop_vinfo): Set main exit. + (vect_create_epilog_for_reduction, vectorizable_live_operation, + vect_transform_loop): Use it. + (scale_profile_for_vect_loop): Explicitly take exit to scale. + * tree-vectorizer.cc (set_uid_loop_bbs): Initialize loop exit. + * tree-vectorizer.h (LOOP_VINFO_IV_EXIT, LOOP_VINFO_EPILOGUE_IV_EXIT, + LOOP_VINFO_SCALAR_IV_EXIT): New. + (struct loop_vec_info): Add vec_loop_iv, vec_epilogue_loop_iv, + scalar_loop_iv. + (vect_set_loop_condition, slpeel_can_duplicate_loop_p, + slpeel_tree_duplicate_loop_to_edge_cfg): Take explicit exits. + (vec_init_loop_exit_info): New. + (struct vect_loop_form_info): Add loop_exit. + +2023-10-18 Tamar Christina + + * tree-vect-stmts.cc (vectorizable_comparison): Refactor, splitting body + to ... + (vectorizable_comparison_1): ...This. + +2023-10-18 Juzhe-Zhong + + * config/riscv/riscv-v.cc (shuffle_consecutive_patterns): New function. + (expand_vec_perm_const_1): Add consecutive pattern recognition. + +2023-10-18 Haochen Jiang + + * common/config/i386/cpuinfo.h (get_intel_cpu): Add Panther + Lake. + * common/config/i386/i386-common.cc (processor_name): + Ditto. + (processor_alias_table): Ditto. + * common/config/i386/i386-cpuinfo.h (enum processor_types): + Add INTEL_PANTHERLAKE. + * config.gcc: Add -march=pantherlake. + * config/i386/driver-i386.cc (host_detect_local_cpu): Refactor + the if clause. Handle pantherlake. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Handle pantherlake. + * config/i386/i386-options.cc (processor_cost_table): Ditto. + (m_PANTHERLAKE): New. + (m_CORE_HYBRID): Add pantherlake. + * config/i386/i386.h (enum processor_type): Ditto. + * doc/extend.texi: Ditto. + * doc/invoke.texi: Ditto. + +2023-10-18 Haochen Jiang + + * config/i386/i386-options.cc (m_CORE_HYBRID): New. + * config/i386/x86-tune.def: Replace hybrid client tune to + m_CORE_HYBRID. + +2023-10-18 Haochen Jiang + + * common/config/i386/cpuinfo.h + (get_intel_cpu): Handle Clearwater Forest. + * common/config/i386/i386-common.cc (processor_name): + Add Clearwater Forest. + (processor_alias_table): Ditto. + * common/config/i386/i386-cpuinfo.h (enum processor_types): + Add INTEL_CLEARWATERFOREST. + * config.gcc: Add -march=clearwaterforest. + * config/i386/driver-i386.cc (host_detect_local_cpu): Handle + clearwaterforest. + * config/i386/i386-c.cc (ix86_target_macros_internal): Ditto. + * config/i386/i386-options.cc (processor_cost_table): Ditto. + (m_CLEARWATERFOREST): New. + (m_CORE_ATOM): Add clearwaterforest. + * config/i386/i386.h (enum processor_type): Ditto. + * doc/extend.texi: Ditto. + * doc/invoke.texi: Ditto. + +2023-10-18 liuhongt + + * config/i386/mmx.md (fma4): New expander. + (fms4): Ditto. + (fnma4): Ditto. + (fnms4): Ditto. + (vec_fmaddsubv4hf4): Ditto. + (vec_fmsubaddv4hf4): Ditto. + +2023-10-18 Juzhe-Zhong + + PR target/111832 + * config/riscv/riscv-vector-costs.cc (get_biggest_mode): New function. + +2023-10-17 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_layout_frame): Don't make + the position of the LR save slot dependent on stack clash + protection unless shadow call stacks are enabled. + +2023-10-17 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame): Add vectors that + store the list saved GPRs, FPRs and predicate registers. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize + the lists of saved registers. Use them to choose push candidates. + Invalidate pop candidates if we're not going to do a pop. + (aarch64_next_callee_save): Delete. + (aarch64_save_callee_saves): Take a list of registers, + rather than a range. Make !skip_wb select only write-back + candidates. + (aarch64_expand_prologue): Update calls accordingly. + (aarch64_restore_callee_saves): Take a list of registers, + rather than a range. Always skip pop candidates. Also skip + LR if shadow call stacks are enabled. + (aarch64_expand_epilogue): Update calls accordingly. + +2023-10-17 Richard Sandiford + + * cfgbuild.h (find_sub_basic_blocks): Declare. + * cfgbuild.cc (update_profile_for_new_sub_basic_block): New function, + split out from... + (find_many_sub_basic_blocks): ...here. + (find_sub_basic_blocks): New function. + * function.cc (thread_prologue_and_epilogue_insns): Handle + epilogues that contain jumps. + +2023-10-17 Andrew Pinski + + PR tree-optimization/110817 + * tree-ssanames.cc (ssa_name_has_boolean_range): Remove the + check for boolean type as they don't have "[0,1]" range. + +2023-10-17 Andrew Pinski + + PR tree-optimization/111432 + * match.pd (`a & (x | CST)`): New pattern. + +2023-10-17 Andre Vieira + + * tree-cfg.cc (move_sese_region_to_fn): Initialize profile_count for + new basic block. + +2023-10-17 Richard Biener + + PR tree-optimization/111846 + * tree-vectorizer.h (_slp_tree::simd_clone_info): Add. + (SLP_TREE_SIMD_CLONE_INFO): New. + * tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize + SLP_TREE_SIMD_CLONE_INFO. + (_slp_tree::~_slp_tree): Release it. + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Use + SLP_TREE_SIMD_CLONE_INFO or STMT_VINFO_SIMD_CLONE_INFO + dependent on if we're doing SLP. + +2023-10-17 Jakub Jelinek + + * wide-int-print.h (print_dec_buf_size): For length, divide number + of bits by 3 and add 3 instead of division by 4 and adding 4. + * wide-int-print.cc (print_decs): Remove superfluous ()s. Don't call + print_hex, instead call print_decu on either negated value after + printing - or on wi itself. + (print_decu): Don't call print_hex, instead print even large numbers + decimally. + (pp_wide_int_large): Assume len from print_dec_buf_size is big enough + even if it returns false. + * pretty-print.h (pp_wide_int): Use print_dec_buf_size to check if + pp_wide_int_large should be used. + * tree-pretty-print.cc (dump_generic_node): Use print_hex_buf_size + to compute needed buffer size. + +2023-10-17 Richard Biener + + PR middle-end/111818 + * tree-ssa.cc (maybe_optimize_var): When clearing + DECL_NOT_GIMPLE_REG_P always rewrite into SSA. + +2023-10-17 Richard Biener + + PR tree-optimization/111807 + * tree-sra.cc (build_ref_for_model): Only call + build_reconstructed_reference when the offsets are the same. + +2023-10-17 Vineet Gupta + + PR target/111466 + * expr.cc (expand_expr_real_2): Do not clear SUBREG_PROMOTED_VAR_P. + +2023-10-17 Chenghui Pan + + * config/loongarch/loongarch.cc (loongarch_expand_vector_group_init): + fix impl related to vec_initv32qiv16qi template to avoid ICE. + +2023-10-17 Lulu Cheng + Chenghua Xu + + * config/loongarch/loongarch.h (ASM_OUTPUT_ALIGN_WITH_NOP): + Delete. + +2023-10-17 Juzhe-Zhong + + * config/riscv/riscv-vector-costs.cc (max_number_of_live_regs): Fix big LMUL issue. + (get_store_value): New function. + +2023-10-16 Jeff Law + + * explow.cc (probe_stack_range): Handle case when expand_binop + does not construct its result in the expected location. + +2023-10-16 David Malcolm + + * diagnostic.cc (diagnostic_initialize): When LANG=C, update + default for -fdiagnostics-text-art-charset from emoji to ascii. + * doc/invoke.texi (fdiagnostics-text-art-charset): Document the above. + +2023-10-16 David Malcolm + + * diagnostic.cc (diagnostic_initialize): Ensure + context->extra_output_kind is initialized. + +2023-10-16 Uros Bizjak + + * config/i386/i386.cc (ix86_can_inline_p): + Handle CM_LARGE and CM_LARGE_PIC. + (x86_elf_aligned_decl_common): Ditto. + (x86_output_aligned_bss): Ditto. + * config/i386/i386.opt: Update doc for -mlarge-data-threshold=. + * doc/invoke.texi: Update doc for -mlarge-data-threshold=. + +2023-10-16 Christoph Müllner + + * config/riscv/riscv-protos.h (emit_block_move): Remove redundant + prototype. Improve comment. + * config/riscv/riscv.cc (riscv_block_move_straight): Move from riscv.cc + into riscv-string.cc. + (riscv_adjust_block_mem, riscv_block_move_loop): Likewise. + (riscv_expand_block_move): Likewise. + * config/riscv/riscv-string.cc (riscv_block_move_straight): Add moved + function. + (riscv_adjust_block_mem, riscv_block_move_loop): Likewise. + (riscv_expand_block_move): Likewise. + +2023-10-16 Manolis Tsamis + + * Makefile.in: Add fold-mem-offsets.o. + * passes.def: Schedule a new pass. + * tree-pass.h (make_pass_fold_mem_offsets): Declare. + * common.opt: New options. + * doc/invoke.texi: Document new option. + * fold-mem-offsets.cc: New file. + +2023-10-16 Andrew Pinski + + PR tree-optimization/101541 + * match.pd (A CMP 0 ? A : -A): Improve + using bitwise_equal_p. + +2023-10-16 Andrew Pinski + + PR tree-optimization/31531 + * match.pd (~X op ~Y): Allow for an optional nop convert. + (~X op C): Likewise. + +2023-10-16 Roger Sayle + + * config/arc/arc.md (*ashlsi3_1): New pre-reload splitter to + use bset dst,0,src to implement 1< + + * config/s390/vector.md (popcountv8hi2_vx): Sign extend each + unsigned vector element. + +2023-10-16 Juzhe-Zhong + + * config/riscv/riscv-vector-costs.cc (costs::preferred_new_lmul_p): Use VLS modes. + +2023-10-16 Jiufu Guo + + * fold-const.cc (expr_not_equal_to): Replace get_global_range_query + by get_range_query. + * gimple-fold.cc (size_must_be_zero_p): Likewise. + * gimple-range-fold.cc (fur_source::fur_source): Likewise. + * gimple-ssa-warn-access.cc (check_nul_terminated_array): Likewise. + * tree-dfa.cc (get_ref_base_and_extent): Likewise. + +2023-10-16 liuhongt + + * config/i386/mmx.md (V2FI_32): New mode iterator + (movd_v2hf_to_sse): Rename to .. + (movd__to_sse): .. this. + (movd_v2hf_to_sse_reg): Rename to .. + (movd__to_sse_reg): .. this. + (fix_trunc2): New + expander. + (fix_truncv2hfv2si2): Ditto. + (float2): Ditto. + (floatv2siv2hf2): Ditto. + (extendv2hfv2sf2): Ditto. + (truncv2sfv2hf2): Ditto. + * config/i386/sse.md (*vec_concatv8hf_movss): Rename to .. + (*vec_concat_movss): .. this. + +2023-10-16 liuhongt + + * config/i386/i386-expand.cc (ix86_sse_copysign_to_positive): + Handle HFmode. + (ix86_expand_round_sse4): Ditto. + * config/i386/i386.md (roundhf2): New expander. + (lroundhf2): Ditto. + (lrinthf2): Ditto. + (lhf2): Ditto. + * config/i386/mmx.md (sqrt2): Ditto. + (btrunc2): Ditto. + (nearbyint2): Ditto. + (rint2): Ditto. + (lrint2): Ditto. + (floor2): Ditto. + (lfloor2): Ditto. + (ceil2): Ditto. + (lceil2): Ditto. + (round2): Ditto. + (lround2): Ditto. + * config/i386/sse.md (lrint2): Ditto. + (lfloor2): Ditto. + (lceil2): Ditto. + (lround2): Ditto. + (sse4_1_round): Extend to V8HF. + (round2): Extend to V8HF/V16HF/V32HF. + +2023-10-15 Tobias Burnus + + * doc/invoke.texi (-fopenacc, -fopenmp, -fopenmp-simd): Use @samp not + @code; document more completely the supported Fortran sentinels. + +2023-10-15 Roger Sayle + + * optabs.cc (expand_subword_shift): Call simplify_expand_binop + instead of expand_binop. Optimize cases (i.e. avoid generating + RTL) when CARRIES or INTO_INPUT is zero. Use one_cmpl_optab + (i.e. NOT) instead of xor_optab with ~0 to calculate ~OP1. + +2023-10-15 Jakub Jelinek + + PR tree-optimization/111800 + * wide-int-print.h (print_dec_buf_size, print_decs_buf_size, + print_decu_buf_size, print_hex_buf_size): New inline functions. + * wide-int.cc (assert_deceq): Use print_dec_buf_size. + (assert_hexeq): Use print_hex_buf_size. + * wide-int-print.cc (print_decs): Use print_decs_buf_size. + (print_decu): Use print_decu_buf_size. + (print_hex): Use print_hex_buf_size. + (pp_wide_int_large): Use print_dec_buf_size. + * value-range.cc (irange_bitmask::dump): Use print_hex_buf_size. + * value-range-pretty-print.cc (vrange_printer::print_irange_bitmasks): + Likewise. + * tree-ssa-loop-niter.cc (do_warn_aggressive_loop_optimizations): Use + print_dec_buf_size. Use TYPE_SIGN macro in print_dec call argument. + +2023-10-15 Stefan Schulze Frielinghaus + + * combine.cc (simplify_compare_const): Fix handling of unsigned + constants. + +2023-10-15 Juzhe-Zhong + + * config/riscv/vector-iterators.md: Fix vsingle incorrect attribute for RVVM2x2QI. + +2023-10-14 Tobias Burnus + + * gimplify.cc (gimplify_bind_expr): Handle Fortran's + 'omp allocate' for stack variables. + +2023-10-14 Jakub Jelinek + + PR c/102989 + * tree-core.h (struct tree_base): Remove int_length.offset + member, change type of int_length.unextended and int_length.extended + from unsigned char to unsigned short. + * tree.h (TREE_INT_CST_OFFSET_NUNITS): Remove. + (wi::extended_tree ::get_len): Don't use TREE_INT_CST_OFFSET_NUNITS, + instead compute it at runtime from TREE_INT_CST_EXT_NUNITS and + TREE_INT_CST_NUNITS. + * tree.cc (wide_int_to_tree_1): Don't assert + TREE_INT_CST_OFFSET_NUNITS value. + (make_int_cst): Don't initialize TREE_INT_CST_OFFSET_NUNITS. + * wide-int.h (WIDE_INT_MAX_ELTS): Change from 255 to 1024. + (WIDEST_INT_MAX_ELTS): Change from 510 to 2048, adjust comment. + (trailing_wide_int_storage): Change m_len type from unsigned char * + to unsigned short *. + (trailing_wide_int_storage::trailing_wide_int_storage): Change second + argument from unsigned char * to unsigned short *. + (trailing_wide_ints): Change m_max_len type from unsigned char to + unsigned short. Change m_len element type from + struct{unsigned char len;} to unsigned short. + (trailing_wide_ints ::operator []): Remove .len from m_len + accesses. + * value-range-storage.h (irange_storage::lengths_address): Change + return type from const unsigned char * to const unsigned short *. + (irange_storage::write_lengths_address): Change return type from + unsigned char * to unsigned short *. + * value-range-storage.cc (irange_storage::write_lengths_address): + Likewise. + (irange_storage::lengths_address): Change return type from + const unsigned char * to const unsigned short *. + (write_wide_int): Change len argument type from unsigned char *& + to unsigned short *&. + (irange_storage::set_irange): Change len variable type from + unsigned char * to unsigned short *. + (read_wide_int): Change len argument type from unsigned char to + unsigned short. Use trailing_wide_int_storage + instead of trailing_wide_int_storage and + trailing_wide_int instead of trailing_wide_int. + (irange_storage::get_irange): Change len variable type from + unsigned char * to unsigned short *. + (irange_storage::size): Multiply n by sizeof (unsigned short) + in len_size variable initialization. + (irange_storage::dump): Change len variable type from + unsigned char * to unsigned short *. + +2023-10-14 Juzhe-Zhong + + * config/riscv/vector-iterators.md: Remove redundant iterators. + +2023-10-13 Andrew MacLeod + + PR tree-optimization/111622 + * value-relation.cc (equiv_oracle::add_partial_equiv): Do not + register a partial equivalence if an operand has no uses. + +2023-10-13 Richard Biener + + PR tree-optimization/111795 + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Handle + integer mode mask arguments. + +2023-10-13 Richard Biener + + * tree-vect-slp.cc (mask_call_maps): New. + (vect_get_operand_map): Handle IFN_MASK_CALL. + (vect_build_slp_tree_1): Likewise. + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Handle + SLP. + +2023-10-13 Richard Biener + + PR tree-optimization/111779 + * tree-sra.cc (sra_handled_bf_read_p): New function. + (build_access_from_expr_1): Handle some BIT_FIELD_REFs. + (sra_modify_expr): Likewise. + (make_fancy_name_1): Skip over BIT_FIELD_REF. + +2023-10-13 Richard Biener + + PR tree-optimization/111773 + * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do + not elide noreturn calls that are reflected to the IL. + +2023-10-13 Kito Cheng + + * config/riscv/riscv.cc (riscv_legitimize_poly_move): Bump + max_power to 64. + * config/riscv/riscv.h (MAX_POLY_VARIANT): New. + +2023-10-13 Pan Li + + * config/riscv/autovec.md (lfloor2): New + pattern for lfloor/lfloorf. + * config/riscv/riscv-protos.h (enum insn_type): New enum value. + (expand_vec_lfloor): New func decl for expanding lfloor. + * config/riscv/riscv-v.cc (expand_vec_lfloor): New func impl + for expanding lfloor. + +2023-10-13 Pan Li + + * config/riscv/autovec.md (lceil2): New + pattern] for lceil/lceilf. + * config/riscv/riscv-protos.h (enum insn_type): New enum value. + (expand_vec_lceil): New func decl for expanding lceil. + * config/riscv/riscv-v.cc (expand_vec_lceil): New func impl + for expanding lceil. + +2023-10-12 Michael Meissner + + PR target/111778 + * config/rs6000/rs6000.cc (can_be_built_by_li_lis_and_rldicl): Protect + code from shifts that are undefined. + (can_be_built_by_li_lis_and_rldicr): Likewise. + (can_be_built_by_li_and_rldic): Protect code from shifts that + undefined. Also replace uses of 1ULL with HOST_WIDE_INT_1U. + +2023-10-12 Alex Coplan + + * reg-notes.def (NOALIAS): Correct comment. + +2023-10-12 Jakub Jelinek + + PR bootstrap/111787 + * tree.h (wi::int_traits ::needs_write_val_arg): New + static data member. + (int_traits >::needs_write_val_arg): Likewise. + (wi::ints_for): Provide separate partial specializations for + generic_wide_int > and INL_CONST_PRECISION or that + and CONST_PRECISION, rather than using + int_traits >::precision_type as the second template + argument. + * rtl.h (wi::int_traits ::needs_write_val_arg): New + static data member. + * double-int.h (wi::int_traits ::needs_write_val_arg): + Likewise. + +2023-10-12 Mary Bennett + + PR middle-end/111777 + * doc/extend.texi: Change subsubsection to subsection for + CORE-V built-ins. + +2023-10-12 Tamar Christina + + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Add undef. + +2023-10-12 Jakub Jelinek + + * wide-int.h (widest_int_storage ::write_val): If l is small + and there is space in u.val array, store a canary value at the + end when checking. + (widest_int_storage ::set_len): Check the canary hasn't been + overwritten. + +2023-10-12 Jakub Jelinek + + PR c/102989 + * wide-int.h: Adjust file comment. + (WIDE_INT_MAX_INL_ELTS): Define to former value of WIDE_INT_MAX_ELTS. + (WIDE_INT_MAX_INL_PRECISION): Define. + (WIDE_INT_MAX_ELTS): Change to 255. Assert that WIDE_INT_MAX_INL_ELTS + is smaller than WIDE_INT_MAX_ELTS. + (RWIDE_INT_MAX_ELTS, RWIDE_INT_MAX_PRECISION, WIDEST_INT_MAX_ELTS, + WIDEST_INT_MAX_PRECISION): Define. + (WI_BINARY_RESULT_VAR, WI_UNARY_RESULT_VAR): Change write_val callers + to pass 0 as a new argument. + (class widest_int_storage): Likewise. + (widest_int, widest2_int): Change typedefs to use widest_int_storage + rather than fixed_wide_int_storage. + (enum wi::precision_type): Add INL_CONST_PRECISION enumerator. + (struct binary_traits): Add partial specializations for + INL_CONST_PRECISION. + (generic_wide_int): Add needs_write_val_arg static data member. + (int_traits): Likewise. + (wide_int_storage): Replace val non-static data member with a union + u of it and HOST_WIDE_INT *valp. Declare copy constructor, copy + assignment operator and destructor. Add unsigned int argument to + write_val. + (wide_int_storage::wide_int_storage): Initialize precision to 0 + in the default ctor. Remove unnecessary {}s around STATIC_ASSERTs. + Assert in non-default ctor T's precision_type is not + INL_CONST_PRECISION and allocate u.valp for large precision. Add + copy constructor. + (wide_int_storage::~wide_int_storage): New. + (wide_int_storage::operator=): Add copy assignment operator. In + assignment operator remove unnecessary {}s around STATIC_ASSERTs, + assert ctor T's precision_type is not INL_CONST_PRECISION and + if precision changes, deallocate and/or allocate u.valp. + (wide_int_storage::get_val): Return u.valp rather than u.val for + large precision. + (wide_int_storage::write_val): Likewise. Add an unused unsigned int + argument. + (wide_int_storage::set_len): Use write_val instead of writing val + directly. + (wide_int_storage::from, wide_int_storage::from_array): Adjust + write_val callers. + (wide_int_storage::create): Allocate u.valp for large precisions. + (wi::int_traits ::get_binary_precision): New. + (fixed_wide_int_storage::fixed_wide_int_storage): Make default + ctor defaulted. + (fixed_wide_int_storage::write_val): Add unused unsigned int argument. + (fixed_wide_int_storage::from, fixed_wide_int_storage::from_array): + Adjust write_val callers. + (wi::int_traits ::get_binary_precision): New. + (WIDEST_INT): Define. + (widest_int_storage): New template class. + (wi::int_traits ): New. + (trailing_wide_int_storage::write_val): Add unused unsigned int + argument. + (wi::get_binary_precision): Use + wi::int_traits ::get_binary_precision + rather than get_precision on get_binary_result. + (wi::copy): Adjust write_val callers. Don't call set_len if + needs_write_val_arg. + (wi::bit_not): If result.needs_write_val_arg, call write_val + again with upper bound estimate of len. + (wi::sext, wi::zext, wi::set_bit): Likewise. + (wi::bit_and, wi::bit_and_not, wi::bit_or, wi::bit_or_not, + wi::bit_xor, wi::add, wi::sub, wi::mul, wi::mul_high, wi::div_trunc, + wi::div_floor, wi::div_ceil, wi::div_round, wi::divmod_trunc, + wi::mod_trunc, wi::mod_floor, wi::mod_ceil, wi::mod_round, + wi::lshift, wi::lrshift, wi::arshift): Likewise. + (wi::bswap, wi::bitreverse): Assert result.needs_write_val_arg + is false. + (gt_ggc_mx, gt_pch_nx): Remove generic template for all + generic_wide_int, instead add functions and templates for each + storage of generic_wide_int. Make functions for + generic_wide_int and templates for + generic_wide_int > deleted. + (wi::mask, wi::shifted_mask): Adjust write_val calls. + * wide-int.cc (zeros): Decrease array size to 1. + (BLOCKS_NEEDED): Use CEIL. + (canonize): Use HOST_WIDE_INT_M1. + (wi::from_buffer): Pass 0 to write_val. + (wi::to_mpz): Use CEIL. + (wi::from_mpz): Likewise. Pass 0 to write_val. Use + WIDE_INT_MAX_INL_ELTS instead of WIDE_INT_MAX_ELTS. + (wi::mul_internal): Use WIDE_INT_MAX_INL_PRECISION instead of + MAX_BITSIZE_MODE_ANY_INT in automatic array sizes, for prec + above WIDE_INT_MAX_INL_PRECISION estimate precision from + lengths of operands. Use XALLOCAVEC allocated buffers for + prec above WIDE_INT_MAX_INL_PRECISION. + (wi::divmod_internal): Likewise. + (wi::lshift_large): For len > WIDE_INT_MAX_INL_ELTS estimate + it from xlen and skip. + (rshift_large_common): Remove xprecision argument, add len + argument with len computed in caller. Don't return anything. + (wi::lrshift_large, wi::arshift_large): Compute len here + and pass it to rshift_large_common, for lengths above + WIDE_INT_MAX_INL_ELTS using estimations from xlen if possible. + (assert_deceq, assert_hexeq): For lengths above + WIDE_INT_MAX_INL_ELTS use XALLOCAVEC allocated buffer. + (test_printing): Use WIDE_INT_MAX_INL_PRECISION instead of + WIDE_INT_MAX_PRECISION. + * wide-int-print.h (WIDE_INT_PRINT_BUFFER_SIZE): Use + WIDE_INT_MAX_INL_PRECISION instead of WIDE_INT_MAX_PRECISION. + * wide-int-print.cc (print_decs, print_decu, print_hex): For + lengths above WIDE_INT_MAX_INL_ELTS use XALLOCAVEC allocated buffer. + * tree.h (wi::int_traits>): Change precision_type + to INL_CONST_PRECISION for N == ADDR_MAX_PRECISION. + (widest_extended_tree): Use WIDEST_INT_MAX_PRECISION instead of + WIDE_INT_MAX_PRECISION. + (wi::ints_for): Use int_traits >::precision_type + instead of hard coded CONST_PRECISION. + (widest2_int_cst): Use WIDEST_INT_MAX_PRECISION instead of + WIDE_INT_MAX_PRECISION. + (wi::extended_tree ::get_len): Use WIDEST_INT_MAX_PRECISION rather + than WIDE_INT_MAX_PRECISION. + (wi::ints_for::zero): Use + wi::int_traits >::precision_type instead of + wi::CONST_PRECISION. + * tree.cc (build_replicated_int_cst): Formatting fix. Use + WIDE_INT_MAX_INL_ELTS rather than WIDE_INT_MAX_ELTS. + * print-tree.cc (print_node): Don't print TREE_UNAVAILABLE on + INTEGER_CSTs, TREE_VECs or SSA_NAMEs. + * double-int.h (wi::int_traits ::precision_type): Change + to INL_CONST_PRECISION from CONST_PRECISION. + * poly-int.h (struct poly_coeff_traits): Add partial specialization + for wi::INL_CONST_PRECISION. + * cfgloop.h (bound_wide_int): New typedef. + (struct nb_iter_bound): Change bound type from widest_int to + bound_wide_int. + (struct loop): Change nb_iterations_upper_bound, + nb_iterations_likely_upper_bound and nb_iterations_estimate type from + widest_int to bound_wide_int. + * cfgloop.cc (record_niter_bound): Return early if wi::min_precision + of i_bound is too large for bound_wide_int. Adjustments for the + widest_int to bound_wide_int type change in non-static data members. + (get_estimated_loop_iterations, get_max_loop_iterations, + get_likely_max_loop_iterations): Adjustments for the widest_int to + bound_wide_int type change in non-static data members. + * tree-vect-loop.cc (vect_transform_loop): Likewise. + * tree-ssa-loop-niter.cc (do_warn_aggressive_loop_optimizations): Use + XALLOCAVEC allocated buffer for i_bound len above + WIDE_INT_MAX_INL_ELTS. + (record_estimate): Return early if wi::min_precision of i_bound is too + large for bound_wide_int. Adjustments for the widest_int to + bound_wide_int type change in non-static data members. + (wide_int_cmp): Use bound_wide_int instead of widest_int. + (bound_index): Use bound_wide_int instead of widest_int. + (discover_iteration_bound_by_body_walk): Likewise. Use + widest_int::from to convert it to widest_int when passed to + record_niter_bound. + (maybe_lower_iteration_bound): Use widest_int::from to convert it to + widest_int when passed to record_niter_bound. + (estimate_numbers_of_iteration): Don't record upper bound if + loop->nb_iterations has too large precision for bound_wide_int. + (n_of_executions_at_most): Use widest_int::from. + * tree-ssa-loop-ivcanon.cc (remove_redundant_iv_tests): Adjust for + the widest_int to bound_wide_int changes. + * match.pd (fold_sign_changed_comparison simplification): Use + wide_int::from on wi::to_wide instead of wi::to_widest. + * value-range.h (irange::maybe_resize): Avoid using memcpy on + non-trivially copyable elements. + * value-range.cc (irange_bitmask::dump): Use XALLOCAVEC allocated + buffer for mask or value len above WIDE_INT_PRINT_BUFFER_SIZE. + * fold-const.cc (fold_convert_const_int_from_int, fold_unary_loc): + Use wide_int::from on wi::to_wide instead of wi::to_widest. + * tree-ssa-ccp.cc (bit_value_binop): Zero extend r1max from width + before calling wi::udiv_trunc. + * lto-streamer-out.cc (output_cfg): Adjustments for the widest_int to + bound_wide_int type change in non-static data members. + * lto-streamer-in.cc (input_cfg): Likewise. + (lto_input_tree_1): Use WIDE_INT_MAX_INL_ELTS rather than + WIDE_INT_MAX_ELTS. For length above WIDE_INT_MAX_INL_ELTS use + XALLOCAVEC allocated buffer. Formatting fix. + * data-streamer-in.cc (streamer_read_wide_int, + streamer_read_widest_int): Likewise. + * tree-affine.cc (aff_combination_expand): Use placement new to + construct name_expansion. + (free_name_expansion): Destruct name_expansion. + * gimple-ssa-strength-reduction.cc (struct slsr_cand_d): Change + index type from widest_int to offset_int. + (class incr_info_d): Change incr type from widest_int to offset_int. + (alloc_cand_and_find_basis, backtrace_base_for_ref, + restructure_reference, slsr_process_ref, create_mul_ssa_cand, + create_mul_imm_cand, create_add_ssa_cand, create_add_imm_cand, + slsr_process_add, cand_abs_increment, replace_mult_candidate, + replace_unconditional_candidate, incr_vec_index, + create_add_on_incoming_edge, create_phi_basis_1, + replace_conditional_candidate, record_increment, + record_phi_increments_1, phi_incr_cost_1, phi_incr_cost, + lowest_cost_path, total_savings, ncd_with_phi, ncd_of_cand_and_phis, + nearest_common_dominator_for_cands, insert_initializers, + all_phi_incrs_profitable_1, replace_one_candidate, + replace_profitable_candidates): Use offset_int rather than widest_int + and wi::to_offset rather than wi::to_widest. + * real.cc (real_to_integer): Use WIDE_INT_MAX_INL_ELTS rather than + 2 * WIDE_INT_MAX_ELTS and for words above that use XALLOCAVEC + allocated buffer. + * tree-ssa-loop-ivopts.cc (niter_for_exit): Use placement new + to construct tree_niter_desc and destruct it on failure. + (free_tree_niter_desc): Destruct tree_niter_desc if value is non-NULL. + * gengtype.cc (main): Remove widest_int handling. + * graphite-isl-ast-to-gimple.cc (widest_int_from_isl_expr_int): Use + WIDEST_INT_MAX_ELTS instead of WIDE_INT_MAX_ELTS. + * gimple-ssa-warn-alloca.cc (pass_walloca::execute): Use + WIDE_INT_MAX_INL_PRECISION instead of WIDE_INT_MAX_PRECISION and + assert get_len () fits into it. + * value-range-pretty-print.cc (vrange_printer::print_irange_bitmasks): + For mask or value lengths above WIDE_INT_MAX_INL_ELTS use XALLOCAVEC + allocated buffer. + * gimple-ssa-sprintf.cc (adjust_range_for_overflow): Use + wide_int::from on wi::to_wide instead of wi::to_widest. + * omp-general.cc (score_wide_int): New typedef. + (omp_context_compute_score): Use score_wide_int instead of widest_int + and adjust for those changes. + (struct omp_declare_variant_entry): Change score and + score_in_declare_simd_clone non-static data member type from widest_int + to score_wide_int. + (omp_resolve_late_declare_variant, omp_resolve_declare_variant): Use + score_wide_int instead of widest_int and adjust for those changes. + (omp_lto_output_declare_variant_alt): Likewise. + (omp_lto_input_declare_variant_alt): Likewise. + * godump.cc (go_output_typedef): Assert get_len () is smaller than + WIDE_INT_MAX_INL_ELTS. + +2023-10-12 Pan Li + + * config/riscv/autovec.md (lround2): New + pattern for lround/lroundf. + * config/riscv/riscv-protos.h (enum insn_type): New enum value. + (expand_vec_lround): New func decl for expanding lround. + * config/riscv/riscv-v.cc (expand_vec_lround): New func impl + for expanding lround. + +2023-10-12 Jakub Jelinek + + * dwarf2out.h (wide_int_ptr): Remove. + (dw_wide_int_ptr): New typedef. + (struct dw_val_node): Change type of val_wide from wide_int_ptr + to dw_wide_int_ptr. + (struct dw_wide_int): New type. + (dw_wide_int::elt): New method. + (dw_wide_int::operator ==): Likewise. + * dwarf2out.cc (get_full_len): Change argument type to + const dw_wide_int & from const wide_int &. Use CEIL. Call + get_precision method instead of calling wi::get_precision. + (alloc_dw_wide_int): New function. + (add_AT_wide): Change w argument type to const wide_int_ref & + from const wide_int &. Use alloc_dw_wide_int. + (mem_loc_descriptor, loc_descriptor): Use alloc_dw_wide_int. + (insert_wide_int): Change val argument type to const wide_int_ref & + from const wide_int &. + (add_const_value_attribute): Pass rtx_mode_t temporary directly to + add_AT_wide instead of using a temporary variable. + +2023-10-12 Richard Biener + + PR tree-optimization/111764 + * tree-vect-loop.cc (check_reduction_path): Remove the attempt + to allow x + x via special-casing of assigns. + +2023-10-12 Hu, Lin1 + + * common/config/i386/cpuinfo.h (get_available_features): + Detect USER_MSR. + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_USER_MSR_SET): New. + (OPTION_MASK_ISA2_USER_MSR_UNSET): Ditto. + (ix86_handle_option): Handle -musermsr. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_USER_MSR. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for usermsr. + * config.gcc: Add usermsrintrin.h + * config/i386/cpuid.h (bit_USER_MSR): New. + * config/i386/i386-builtin-types.def: + Add DEF_FUNCTION_TYPE (VOID, UINT64, UINT64). + * config/i386/i386-builtins.cc (ix86_init_mmx_sse_builtins): + Add __builtin_urdmsr and __builtin_uwrmsr. + * config/i386/i386-builtins.h (ix86_builtins): + Add IX86_BUILTIN_URDMSR and IX86_BUILTIN_UWRMSR. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Define __USER_MSR__. + * config/i386/i386-expand.cc (ix86_expand_builtin): + Handle new builtins. + * config/i386/i386-isa.def (USER_MSR): Add DEF_PTA(USER_MSR). + * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): + Handle usermsr. + * config/i386/i386.md (urdmsr): New define_insn. + (uwrmsr): Ditto. + * config/i386/i386.opt: Add option -musermsr. + * config/i386/x86gprintrin.h: Include usermsrintrin.h + * doc/extend.texi: Document usermsr. + * doc/invoke.texi: Document -musermsr. + * doc/sourcebuild.texi: Document target usermsr. + * config/i386/usermsrintrin.h: New file. + +2023-10-12 Yang Yujie + + * config.gcc: Add loongarch-driver.h to tm_files. + * config/loongarch/loongarch.h: Do not include loongarch-driver.h. + * config/loongarch/t-loongarch: Append loongarch-multilib.h to $(GTM_H) + instead of $(TM_H) for building generator programs. + +2023-10-12 Kewen Lin + + PR target/111367 + * config/rs6000/rs6000.md (stack_protect_setsi): Support prefixed + instruction emission and incorporate to stack_protect_set. + (stack_protect_setdi): Rename to ... + (stack_protect_set): ... this, adjust constraint. + (stack_protect_testsi): Support prefixed instruction emission and + incorporate to stack_protect_test. + (stack_protect_testdi): Rename to ... + (stack_protect_test): ... this, adjust constraint. + +2023-10-12 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_store): Consider generated + VEC_PERM_EXPR stmt for VMAT_CONTIGUOUS_REVERSE in costing as + vec_perm. + +2023-10-12 Kewen Lin + + * tree-vect-stmts.cc (vect_model_store_cost): Remove. + (vectorizable_store): Adjust the costing for the remaining memory + access types VMAT_CONTIGUOUS{, _DOWN, _REVERSE}. + +2023-10-12 Kewen Lin + + * tree-vect-stmts.cc (vect_model_store_cost): Assert it will never + get VMAT_CONTIGUOUS_PERMUTE and remove VMAT_CONTIGUOUS_PERMUTE related + handlings. + (vectorizable_store): Adjust the cost handling on + VMAT_CONTIGUOUS_PERMUTE without calling vect_model_store_cost. + +2023-10-12 Kewen Lin + + * tree-vect-stmts.cc (vect_model_store_cost): Assert it will never + get VMAT_LOAD_STORE_LANES. + (vectorizable_store): Adjust the cost handling on VMAT_LOAD_STORE_LANES + without calling vect_model_store_cost. Factor out new lambda function + update_prologue_cost. + +2023-10-12 Kewen Lin + + * tree-vect-stmts.cc (vect_model_store_cost): Assert it won't get + VMAT_ELEMENTWISE and VMAT_STRIDED_SLP any more, and remove their + related handlings. + (vectorizable_store): Adjust the cost handling on VMAT_ELEMENTWISE + and VMAT_STRIDED_SLP without calling vect_model_store_cost. + +2023-10-12 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_store): Adjust costing on + vectorizable_scan_store without calling vect_model_store_cost + any more. + +2023-10-12 Kewen Lin + + * tree-vect-stmts.cc (vect_model_store_cost): Assert it won't get + VMAT_GATHER_SCATTER any more, remove VMAT_GATHER_SCATTER related + handlings and the related parameter gs_info. + (vect_build_scatter_store_calls): Add the handlings on costing with + one more argument cost_vec. + (vectorizable_store): Adjust the cost handling on VMAT_GATHER_SCATTER + without calling vect_model_store_cost any more. + +2023-10-12 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_store): Move and duplicate the call + to vect_model_store_cost down to some different transform paths + according to the handlings of different vect_memory_access_types + or some special handling need. + +2023-10-12 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_store): Ensure the generated + vector store for some case of VMAT_ELEMENTWISE is supported. + +2023-10-12 Mo, Zewei + Hu Lin1 + Hongyu Wang + + * config/i386/i386.cc (gen_push2): New function to emit push2 + and adjust cfa offset. + (ix86_pro_and_epilogue_can_use_push2_pop2): New function to + determine whether push2/pop2 can be used. + (ix86_compute_frame_layout): Adjust preferred stack boundary + and stack alignment needed for push2/pop2. + (ix86_emit_save_regs): Emit push2 when available. + (ix86_emit_restore_reg_using_pop2): New function to emit pop2 + and adjust cfa info. + (ix86_emit_restore_regs_using_pop2): New function to loop + through the saved regs and call above. + (ix86_expand_epilogue): Call ix86_emit_restore_regs_using_pop2 + when push2pop2 available. + * config/i386/i386.md (push2_di): New pattern for push2. + (pop2_di): Likewise for pop2. + +2023-10-12 Pan Li + + * config/riscv/autovec.md (lrint2): Rename from. + (lrint2): Rename to. + * config/riscv/vector-iterators.md: Rename and remove TARGET_64BIT. + +2023-10-11 Kito Cheng + + * config/riscv/riscv-opts.h (TARGET_MIN_VLEN_OPTS): New. + +2023-10-11 Jeff Law + + * config/riscv/riscv.md (jump): Adjust sequence to use a "jump" + pseudo op instead of a "call" pseudo op. + +2023-10-11 Kito Cheng + + * config/riscv/riscv-subset.h (riscv_subset_list::parse_single_std_ext): + New. + (riscv_subset_list::parse_single_multiletter_ext): Ditto. + (riscv_subset_list::clone): Ditto. + (riscv_subset_list::parse_single_ext): Ditto. + (riscv_subset_list::set_loc): Ditto. + (riscv_set_arch_by_subset_list): Ditto. + * common/config/riscv/riscv-common.cc + (riscv_subset_list::parse_single_std_ext): New. + (riscv_subset_list::parse_single_multiletter_ext): Ditto. + (riscv_subset_list::clone): Ditto. + (riscv_subset_list::parse_single_ext): Ditto. + (riscv_subset_list::set_loc): Ditto. + (riscv_set_arch_by_subset_list): Ditto. + +2023-10-11 Kito Cheng + + * config/riscv/riscv.cc (riscv_convert_vector_bits): Get setting + from argument rather than get setting from global setting. + (riscv_override_options_internal): New, splited from + riscv_override_options, also take a gcc_options argument. + (riscv_option_override): Splited most part to + riscv_override_options_internal. + +2023-10-11 Kito Cheng + + * doc/options.texi (Mask): Document TARGET__P and + TARGET__OPTS_P. + (InverseMask): Ditto. + * opth-gen.awk (Mask): Generate TARGET__P and + TARGET__OPTS_P macro. + (InverseMask): Ditto. + +2023-10-11 Andrew Pinski + + PR tree-optimization/111282 + * match.pd (`a & ~(a ^ b)`, `a & (a == b)`, + `a & ((~a) ^ b)`): New patterns. + +2023-10-11 Mary Bennett + + * common/config/riscv/riscv-common.cc: Add the XCValu + extension. + * config/riscv/constraints.md: Add builtins for the XCValu + extension. + * config/riscv/predicates.md (immediate_register_operand): + Likewise. + * config/riscv/corev.def: Likewise. + * config/riscv/corev.md: Likewise. + * config/riscv/riscv-builtins.cc (AVAIL): Likewise. + (RISCV_ATYPE_UHI): Likewise. + * config/riscv/riscv-ftypes.def: Likewise. + * config/riscv/riscv.opt: Likewise. + * config/riscv/riscv.cc (riscv_print_operand): Likewise. + * doc/extend.texi: Add XCValu documentation. + * doc/sourcebuild.texi: Likewise. + +2023-10-11 Mary Bennett + + * common/config/riscv/riscv-common.cc: Add XCVmac. + * config/riscv/riscv-ftypes.def: Add XCVmac builtins. + * config/riscv/riscv-builtins.cc: Likewise. + * config/riscv/riscv.md: Likewise. + * config/riscv/riscv.opt: Likewise. + * doc/extend.texi: Add XCVmac builtin documentation. + * doc/sourcebuild.texi: Likewise. + * config/riscv/corev.def: New file. + * config/riscv/corev.md: New file. + +2023-10-11 Juzhe-Zhong + + * config/riscv/autovec.md: Fix index bug. + * config/riscv/riscv-protos.h (gather_scatter_valid_offset_mode_p): New function. + * config/riscv/riscv-v.cc (expand_gather_scatter): Fix index bug. + (gather_scatter_valid_offset_mode_p): New function. + +2023-10-11 Pan Li + + * config/riscv/autovec.md (lrint2): New pattern + for lrint/lintf. + * config/riscv/riscv-protos.h (expand_vec_lrint): New func decl + for expanding lint. + * config/riscv/riscv-v.cc (emit_vec_cvt_x_f): New helper func impl + for vfcvt.x.f.v. + (expand_vec_lrint): New function impl for expanding lint. + * config/riscv/vector-iterators.md: New mode attr and iterator. + +2023-10-11 Richard Biener + Jakub Jelinek + + PR tree-optimization/111519 + * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes): Add vuse + argument and pass it through to recursive calls and + count_nonzero_bytes_addr calls. Don't shadow the stmt argument, but + change stmt for gimple_assign_single_p statements for which we don't + immediately punt. + (strlen_pass::count_nonzero_bytes_addr): Add vuse argument and pass + it through to recursive calls and count_nonzero_bytes calls. Don't + use get_strinfo if gimple_vuse (stmt) is different from vuse. Don't + shadow the stmt argument. + +2023-10-11 Roger Sayle + + PR middle-end/101955 + PR tree-optimization/106245 + * simplify-rtx.cc (simplify_relational_operation_1): Simplify + the RTL (ne:SI (subreg:QI (ashift:SI x 7) 0) 0) to (and:SI x 1). + +2023-10-11 liuhongt + + PR target/111745 + * config/i386/mmx.md (divv4hf3): Refine predicate of + operands[2] with register_operand. + +2023-10-10 Andrew Waterman + Philipp Tomsich + Jeff Law + + * config/riscv/riscv.cc (struct machine_function): Track if a + far-branch/jump is used within a function (and $ra needs to be + saved). + (riscv_print_operand): Implement 'N' (inverse integer branch). + (riscv_far_jump_used_p): Implement. + (riscv_save_return_addr_reg_p): New function. + (riscv_save_reg_p): Use riscv_save_return_addr_reg_p. + * config/riscv/riscv.h (FIXED_REGISTERS): Update $ra. + (CALL_USED_REGISTERS): Update $ra. + * config/riscv/riscv.md: Add new types "ret" and "jalr". + (length attribute): Handle long conditional and unconditional + branches. + (conditional branch pattern): Handle case where jump can not + reach the intended target. + (indirect_jump, tablejump): Use new "jalr" type. + (simple_return): Use new "ret" type. + (simple_return_internal, eh_return_internal): Likewise. + (gpr_restore_return, riscv_mret): Likewise. + (riscv_uret, riscv_sret): Likewise. + * config/riscv/generic.md (generic_branch): Also recognize jalr & ret + types. + * config/riscv/sifive-7.md (sifive_7_jump): Likewise. + +2023-10-10 Andrew Pinski + + PR tree-optimization/111679 + * match.pd (`a | ((~a) ^ b)`): New pattern. + +2023-10-10 Juzhe-Zhong + + PR target/111751 + * config/riscv/autovec.md: Add VLS BOOL modes. + +2023-10-10 Richard Biener + + PR tree-optimization/111751 + * fold-const.cc (fold_view_convert_expr): Up the buffer size + to 128 bytes. + * tree-ssa-sccvn.cc (visit_reference_op_load): Special case + constants, giving up when re-interpretation to the target type + fails. + +2023-10-10 Richard Biener + + PR tree-optimization/111751 + * tree-ssa-sccvn.cc (visit_reference_op_load): Exempt + BLKmode result from the padding bits check. + +2023-10-10 Claudiu Zissulescu + + * config/arc/arc.cc (arc_select_cc_mode): Match NEG code with + the first operand. + * config/arc/arc.md (addsi_compare): Make pattern canonical. + (addsi_compare_2): Fix identation, constraint letters. + (addsi_compare_3): Likewise. + +2023-10-09 Eugene Rozenfeld + + * auto-profile.cc (afdo_calculate_branch_prob): Fix count comparisons + * tree-vect-loop-manip.cc (vect_do_peeling): Guard against zero count + when scaling loop profile + +2023-10-09 Andrew MacLeod + + PR tree-optimization/111694 + * gimple-range-cache.cc (ranger_cache::fill_block_cache): Adjust + equivalence range. + * value-relation.cc (adjust_equivalence_range): New. + * value-relation.h (adjust_equivalence_range): New prototype. + +2023-10-09 Andrew MacLeod + + * gimple-range-gori.cc (gori_compute::compute_operand1_range): Do + not call get_identity_relation. + (gori_compute::compute_operand2_range): Ditto. + * value-relation.cc (get_identity_relation): Remove. + * value-relation.h (get_identity_relation): Remove protyotype. + +2023-10-09 Robin Dapp + + * config/riscv/riscv-cores.def (RISCV_TUNE): Add parameter. + * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): + Add generic_ooo. + * config/riscv/riscv.cc (riscv_sched_adjust_cost): Implement + scheduler hook. + (TARGET_SCHED_ADJUST_COST): Define. + * config/riscv/riscv.md (no,yes"): Include generic-ooo.md + * config/riscv/riscv.opt: Add -madjust-lmul-cost. + * config/riscv/generic-ooo.md: New file. + * config/riscv/vector.md: Add vsetvl_pre. + +2023-10-09 Juzhe-Zhong + + * config/riscv/riscv-opts.h (TARGET_VECTOR_MISALIGN_SUPPORTED): New macro. + * config/riscv/riscv.cc (riscv_support_vector_misalignment): Depend on movmisalign pattern. + * config/riscv/vector.md (movmisalign): New pattern. + +2023-10-09 Xianmiao Qu + + * config/riscv/thead.cc (th_mempair_save_regs): Fix missing CFI + directives for store-pair instruction. + +2023-10-09 Richard Biener + + PR tree-optimization/111715 + * alias.cc (reference_alias_ptr_type_1): When we have + a type-punning ref at the base search for the access + path part that's still semantically valid. + +2023-10-09 Pan Li + + * config/riscv/riscv-v.cc (shuffle_bswap_pattern): New func impl + for shuffle bswap. + (expand_vec_perm_const_1): Add handling for shuffle bswap pattern. + +2023-10-09 Roger Sayle + + * config/i386/i386-expand.cc (ix86_split_ashr): Split shifts by + one into ashr[sd]i3_carry followed by rcr[sd]i2, if TARGET_USE_RCR + or -Oz. + (ix86_split_lshr): Likewise, split shifts by one bit into + lshr[sd]i3_carry followed by rcr[sd]i2, if TARGET_USE_RCR or -Oz. + * config/i386/i386.h (TARGET_USE_RCR): New backend macro. + * config/i386/i386.md (rcrsi2): New define_insn for rcrl. + (rcrdi2): New define_insn for rcrq. + (3_carry): New define_insn for right shifts that + set the carry flag from the least significant bit, modelled using + UNSPEC_CC_NE. + * config/i386/x86-tune.def (X86_TUNE_USE_RCR): New tuning parameter + controlling use of rcr 1 vs. shrd, which is significantly faster on + AMD processors. + +2023-10-09 Haochen Jiang + + * config/i386/i386.opt: Allow -mno-evex512. + +2023-10-09 Haochen Jiang + Hu, Lin1 + + * config/i386/sse.md (V48H_AVX512VL): Add TARGET_EVEX512. + (VFH): Ditto. + (VF2H): Ditto. + (VFH_AVX512VL): Ditto. + (VHFBF): Ditto. + (VHF_AVX512VL): Ditto. + (VI2H_AVX512VL): Ditto. + (VI2F_256_512): Ditto. + (VF48_I1248): Remove unused iterator. + (VF48H_AVX512VL): Add TARGET_EVEX512. + (VF_AVX512): Remove unused iterator. + (REDUC_PLUS_MODE): Add TARGET_EVEX512. + (REDUC_SMINMAX_MODE): Ditto. + (FMAMODEM): Ditto. + (VFH_SF_AVX512VL): Ditto. + (VEC_PERM_AVX2): Ditto. + +2023-10-09 Haochen Jiang + Hu, Lin1 + + * config/i386/sse.md (VI1_AVX512VL): Add TARGET_EVEX512. + (VI8_FVL): Ditto. + (VI1_AVX512F): Ditto. + (VI1_AVX512VNNI): Ditto. + (VI1_AVX512VL_F): Ditto. + (VI12_VI48F_AVX512VL): Ditto. + (*avx512f_permvar_truncv32hiv32qi_1): Ditto. + (sdot_prod): Ditto. + (VEC_PERM_AVX2): Ditto. + (VPERMI2): Ditto. + (VPERMI2I): Ditto. + (vpmadd52v8di): Ditto. + (usdot_prod): Ditto. + (vpdpbusd_v16si): Ditto. + (vpdpbusds_v16si): Ditto. + (vpdpwssd_v16si): Ditto. + (vpdpwssds_v16si): Ditto. + (VI48_AVX512VP2VL): Ditto. + (avx512vp2intersect_2intersectv16si): Ditto. + (VF_AVX512BF16VL): Ditto. + (VF1_AVX512_256): Ditto. + +2023-10-09 Haochen Jiang + + * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): + Make sure there is EVEX512 enabled. + (ix86_expand_vecop_qihi2): Refuse V32QI->V32HI when no EVEX512. + * config/i386/i386.cc (ix86_hard_regno_mode_ok): Disable 64 bit mask + when !TARGET_EVEX512. + * config/i386/i386.md (avx512bw_512): New. + (SWI1248_AVX512BWDQ_64): Add TARGET_EVEX512. + (*zero_extendsidi2): Change isa to avx512bw_512. + (kmov_isa): Ditto. + (*anddi_1): Ditto. + (*andn_1): Change isa to kmov_isa. + (*_1): Ditto. + (*notxor_1): Ditto. + (*one_cmpl2_1): Ditto. + (*one_cmplsi2_1_zext): Change isa to avx512bw_512. + (*ashl3_1): Change isa to kmov_isa. + (*lshr3_1): Ditto. + * config/i386/sse.md (VI12HFBF_AVX512VL): Add TARGET_EVEX512. + (VI1248_AVX512VLBW): Ditto. + (VHFBF_AVX512VL): Ditto. + (VI): Ditto. + (VIHFBF): Ditto. + (VI_AVX2): Ditto. + (VI1_AVX512): Ditto. + (VI12_256_512_AVX512VL): Ditto. + (VI2_AVX2_AVX512BW): Ditto. + (VI2_AVX512VNNIBW): Ditto. + (VI2_AVX512VL): Ditto. + (VI2HFBF_AVX512VL): Ditto. + (VI8_AVX2_AVX512BW): Ditto. + (VIMAX_AVX2_AVX512BW): Ditto. + (VIMAX_AVX512VL): Ditto. + (VI12_AVX2_AVX512BW): Ditto. + (VI124_AVX2_24_AVX512F_1_AVX512BW): Ditto. + (VI248_AVX512VL): Ditto. + (VI248_AVX512VLBW): Ditto. + (VI248_AVX2_8_AVX512F_24_AVX512BW): Ditto. + (VI248_AVX512BW): Ditto. + (VI248_AVX512BW_AVX512VL): Ditto. + (VI248_512): Ditto. + (VI124_256_AVX512F_AVX512BW): Ditto. + (VI_AVX512BW): Ditto. + (VIHFBF_AVX512BW): Ditto. + (SWI1248_AVX512BWDQ): Ditto. + (SWI1248_AVX512BW): Ditto. + (SWI1248_AVX512BWDQ2): Ditto. + (*knotsi_1_zext): Ditto. + (define_split for zero_extend + not): Ditto. + (kunpckdi): Ditto. + (REDUC_SMINMAX_MODE): Ditto. + (VEC_EXTRACT_MODE): Ditto. + (*avx512bw_permvar_truncv16siv16hi_1): Ditto. + (*avx512bw_permvar_truncv16siv16hi_1_hf): Ditto. + (truncv32hiv32qi2): Ditto. + (avx512bw_v32hiv32qi2): Ditto. + (avx512bw_v32hiv32qi2_mask): Ditto. + (avx512bw_v32hiv32qi2_mask_store): Ditto. + (usadv64qi): Ditto. + (VEC_PERM_AVX2): Ditto. + (AVX512ZEXTMASK): Ditto. + (SWI24_MASK): New. + (vec_pack_trunc_): Change iterator to SWI24_MASK. + (avx512bw_packsswb): Add TARGET_EVEX512. + (avx512bw_packssdw): Ditto. + (avx512bw_interleave_highv64qi): Ditto. + (avx512bw_interleave_lowv64qi): Ditto. + (avx512bw_pshuflwv32hi): Ditto. + (avx512bw_pshufhwv32hi): Ditto. + (vec_unpacks_lo_di): Ditto. + (SWI48x_MASK): New. + (vec_unpacks_hi_): Change iterator to SWI48x_MASK. + (avx512bw_umulhrswv32hi3): Add TARGET_EVEX512. + (VI1248_AVX512VL_AVX512BW): Ditto. + (avx512bw_v32qiv32hi2): Ditto. + (*avx512bw_zero_extendv32qiv32hi2_1): Ditto. + (*avx512bw_zero_extendv32qiv32hi2_2): Ditto. + (v32qiv32hi2): Ditto. + (pbroadcast_evex_isa): Change isa attribute to avx512bw_512. + (VPERMI2): Add TARGET_EVEX512. + (VPERMI2I): Ditto. + +2023-10-09 Haochen Jiang + + * config/i386/i386-expand.cc (ix86_expand_sse2_mulvxdi3): + Add TARGET_EVEX512 for 512 bit usage. + * config/i386/i386.cc (standard_sse_constant_opcode): Ditto. + * config/i386/sse.md (VF1_VF2_AVX512DQ): Ditto. + (VF1_128_256VL): Ditto. + (VF2_AVX512VL): Ditto. + (VI8_256_512): Ditto. + (fixuns_trunc2): + Ditto. + (AVX512_VEC): Ditto. + (AVX512_VEC_2): Ditto. + (VI4F_BRCST32x2): Ditto. + (VI8F_BRCST64x2): Ditto. + +2023-10-09 Haochen Jiang + + * config/i386/i386-builtins.cc + (ix86_vectorize_builtin_gather): Disable 512 bit gather + when !TARGET_EVEX512. + * config/i386/i386-expand.cc (ix86_valid_mask_cmp_mode): + Add TARGET_EVEX512. + (ix86_expand_int_sse_cmp): Ditto. + (ix86_expand_vector_init_one_nonzero): Disable subroutine + when !TARGET_EVEX512. + (ix86_emit_swsqrtsf): Add TARGET_EVEX512. + (ix86_vectorize_vec_perm_const): Disable subroutine when + !TARGET_EVEX512. + * config/i386/i386.cc + (standard_sse_constant_p): Add TARGET_EVEX512. + (standard_sse_constant_opcode): Ditto. + (ix86_get_ssemov): Ditto. + (ix86_legitimate_constant_p): Ditto. + (ix86_vectorize_builtin_scatter): Diable 512 bit scatter + when !TARGET_EVEX512. + * config/i386/i386.md (avx512f_512): New. + (movxi): Add TARGET_EVEX512. + (*movxi_internal_avx512f): Ditto. + (*movdi_internal): Change alternative 12 to ?Yv. Adjust mode + for alternative 13. + (*movsi_internal): Change alternative 8 to ?Yv. Adjust mode for + alternative 9. + (*movhi_internal): Change alternative 11 to *Yv. + (*movdf_internal): Change alternative 12 to Yv. + (*movsf_internal): Change alternative 5 to Yv. Adjust mode for + alternative 5 and 6. + (*mov_internal): Change alternative 4 to Yv. + (define_split for convert SF to DF): Add TARGET_EVEX512. + (extendbfsf2_1): Ditto. + * config/i386/predicates.md (bcst_mem_operand): Disable predicate + for 512 bit when !TARGET_EVEX512. + * config/i386/sse.md (VMOVE): Add TARGET_EVEX512. + (V48_AVX512VL): Ditto. + (V48_256_512_AVX512VL): Ditto. + (V48H_AVX512VL): Ditto. + (VI12_AVX512VL): Ditto. + (V): Ditto. + (V_512): Ditto. + (V_256_512): Ditto. + (VF): Ditto. + (VF1_VF2_AVX512DQ): Ditto. + (VFH): Ditto. + (VFB): Ditto. + (VF1): Ditto. + (VF1_AVX2): Ditto. + (VF2): Ditto. + (VF2H): Ditto. + (VF2_512_256): Ditto. + (VF2_512_256VL): Ditto. + (VF_512): Ditto. + (VFB_512): Ditto. + (VI48_AVX512VL): Ditto. + (VI1248_AVX512VLBW): Ditto. + (VF_AVX512VL): Ditto. + (VFH_AVX512VL): Ditto. + (VF1_AVX512VL): Ditto. + (VI): Ditto. + (VIHFBF): Ditto. + (VI_AVX2): Ditto. + (VI8): Ditto. + (VI8_AVX512VL): Ditto. + (VI2_AVX512F): Ditto. + (VI4_AVX512F): Ditto. + (VI4_AVX512VL): Ditto. + (VI48_AVX512F_AVX512VL): Ditto. + (VI8_AVX2_AVX512F): Ditto. + (VI8_AVX_AVX512F): Ditto. + (V8FI): Ditto. + (V16FI): Ditto. + (VI124_AVX2_24_AVX512F_1_AVX512BW): Ditto. + (VI248_AVX512VLBW): Ditto. + (VI248_AVX2_8_AVX512F_24_AVX512BW): Ditto. + (VI248_AVX512BW): Ditto. + (VI248_AVX512BW_AVX512VL): Ditto. + (VI48_AVX512F): Ditto. + (VI48_AVX_AVX512F): Ditto. + (VI12_AVX_AVX512F): Ditto. + (VI148_512): Ditto. + (VI124_256_AVX512F_AVX512BW): Ditto. + (VI48_512): Ditto. + (VI_AVX512BW): Ditto. + (VIHFBF_AVX512BW): Ditto. + (VI4F_256_512): Ditto. + (VI48F_256_512): Ditto. + (VI48F): Ditto. + (VI12_VI48F_AVX512VL): Ditto. + (V32_512): Ditto. + (AVX512MODE2P): Ditto. + (STORENT_MODE): Ditto. + (REDUC_PLUS_MODE): Ditto. + (REDUC_SMINMAX_MODE): Ditto. + (*andnot3): Change isa attribute to avx512f_512. + (*andnot3): Ditto. + (3): Ditto. + (tf3): Ditto. + (FMAMODEM): Add TARGET_EVEX512. + (FMAMODE_AVX512): Ditto. + (VFH_SF_AVX512VL): Ditto. + (avx512f_fix_notruncv16sfv16si): Ditto. + (fix_truncv16sfv16si2): + Ditto. + (avx512f_cvtdq2pd512_2): Ditto. + (avx512f_cvtpd2dq512): Ditto. + (fix_truncv8dfv8si2): + Ditto. + (avx512f_cvtpd2ps512): Ditto. + (vec_unpacks_lo_v16sf): Ditto. + (vec_unpacks_hi_v16sf): Ditto. + (vec_unpacks_float_hi_v16si): Ditto. + (vec_unpacks_float_lo_v16si): Ditto. + (vec_unpacku_float_hi_v16si): Ditto. + (vec_unpacku_float_lo_v16si): Ditto. + (vec_pack_sfix_trunc_v8df): Ditto. + (avx512f_vec_pack_sfix_v8df): Ditto. + (avx512f_unpckhps512): Ditto. + (avx512f_unpcklps512): Ditto. + (avx512f_movshdup512): Ditto. + (avx512f_movsldup512): Ditto. + (AVX512_VEC): Ditto. + (AVX512_VEC_2): Ditto. + (vec_extract_lo_v64qi): Ditto. + (vec_extract_hi_v64qi): Ditto. + (VEC_EXTRACT_MODE): Ditto. + (avx512f_unpckhpd512): Ditto. + (avx512f_movddup512): Ditto. + (avx512f_unpcklpd512): Ditto. + (*_vternlog_all): Ditto. + (*_vpternlog_1): Ditto. + (*_vpternlog_2): Ditto. + (*_vpternlog_3): Ditto. + (avx512f_shufps512_mask): Ditto. + (avx512f_shufps512_1): Ditto. + (avx512f_shufpd512_mask): Ditto. + (avx512f_shufpd512_1): Ditto. + (avx512f_interleave_highv8di): Ditto. + (avx512f_interleave_lowv8di): Ditto. + (vec_dupv2df): Ditto. + (trunc2): Ditto. + (*avx512f_2): Ditto. + (*avx512f_vpermvar_truncv8div8si_1): Ditto. + (avx512f_2_mask): Ditto. + (avx512f_2_mask_store): Ditto. + (truncv8div8qi2): Ditto. + (avx512f_v8div16qi2): Ditto. + (*avx512f_v8div16qi2_store_1): Ditto. + (*avx512f_v8div16qi2_store_2): Ditto. + (avx512f_v8div16qi2_mask): Ditto. + (*avx512f_v8div16qi2_mask_1): Ditto. + (*avx512f_v8div16qi2_mask_store_1): Ditto. + (avx512f_v8div16qi2_mask_store_2): Ditto. + (vec_widen_umult_even_v16si): Ditto. + (*vec_widen_umult_even_v16si): Ditto. + (vec_widen_smult_even_v16si): Ditto. + (*vec_widen_smult_even_v16si): Ditto. + (VEC_PERM_AVX2): Ditto. + (one_cmpl2): Ditto. + (one_cmpl2): Ditto. + (*one_cmpl2_pternlog_false_dep): Ditto. + (define_split to xor): Ditto. + (*andnot3): Ditto. + (define_split for ior): Ditto. + (*iornot3): Ditto. + (*xnor3): Ditto. + (*3): Ditto. + (avx512f_interleave_highv16si): Ditto. + (avx512f_interleave_lowv16si): Ditto. + (avx512f_pshufdv3_mask): Ditto. + (avx512f_pshufd_1): Ditto. + (*vec_extractv4ti): Ditto. + (VEXTRACTI128_MODE): Ditto. + (define_split to vec_extract): Ditto. + (VI1248_AVX512VL_AVX512BW): Ditto. + (avx512f_v16qiv16si2): Ditto. + (v16qiv16si2): Ditto. + (avx512f_v16hiv16si2): Ditto. + (v16hiv16si2): Ditto. + (avx512f_zero_extendv16hiv16si2_1): Ditto. + (avx512f_v8qiv8di2): Ditto. + (*avx512f_v8qiv8di2_1): Ditto. + (*avx512f_v8qiv8di2_2): Ditto. + (v8qiv8di2): Ditto. + (avx512f_v8hiv8di2): Ditto. + (v8hiv8di2): Ditto. + (avx512f_v8siv8di2): Ditto. + (*avx512f_zero_extendv8siv8di2_1): Ditto. + (*avx512f_zero_extendv8siv8di2_2): Ditto. + (v8siv8di2): Ditto. + (avx512f_roundps512_sfix): Ditto. + (vashrv8di3): Ditto. + (vashrv16si3): Ditto. + (pbroadcast_evex_isa): Change isa attribute to avx512f_512. + (vec_dupv4sf): Add TARGET_EVEX512. + (*vec_dupv4si): Ditto. + (*vec_dupv2di): Ditto. + (vec_dup): Change isa attribute to avx512f_512. + (VPERMI2): Add TARGET_EVEX512. + (VPERMI2I): Ditto. + (VEC_INIT_MODE): Ditto. + (VEC_INIT_HALF_MODE): Ditto. + (avx512f_vcvtph2ps512): + Ditto. + (avx512f_vcvtps2ph512_mask_sae): Ditto. + (avx512f_vcvtps2ph512): + Ditto. + (*avx512f_vcvtps2ph512): Ditto. + (INT_BROADCAST_MODE): Ditto. + +2023-10-09 Haochen Jiang + + * config/i386/i386-expand.cc (ix86_broadcast_from_constant): + Disable zmm broadcast for !TARGET_EVEX512. + * config/i386/i386-options.cc (ix86_option_override_internal): + Do not use PVW_512 when no-evex512. + (ix86_simd_clone_adjust): Add evex512 target into string. + * config/i386/i386.cc (type_natural_mode): Report ABI warning + when using zmm register w/o evex512. + (ix86_return_in_memory): Do not allow zmm when !TARGET_EVEX512. + (ix86_hard_regno_mode_ok): Ditto. + (ix86_set_reg_reg_cost): Ditto. + (ix86_rtx_costs): Ditto. + (ix86_vector_mode_supported_p): Ditto. + (ix86_preferred_simd_mode): Ditto. + (ix86_get_mask_mode): Ditto. + (ix86_simd_clone_compute_vecsize_and_simdlen): Disable 512 bit + libmvec call when !TARGET_EVEX512. + (ix86_simd_clone_usable): Ditto. + * config/i386/i386.h (BIGGEST_ALIGNMENT): Disable 512 alignment + when !TARGET_EVEX512 + (MOVE_MAX): Do not use PVW_512 when !TARGET_EVEX512. + (STORE_MAX_PIECES): Ditto. + +2023-10-09 Haochen Jiang + + * config/i386/i386-builtin.def (BDESC): Add + OPTION_MASK_ISA2_EVEX512. + +2023-10-09 Haochen Jiang + + * config/i386/i386-builtin.def (BDESC): Add + OPTION_MASK_ISA2_EVEX512. + +2023-10-09 Haochen Jiang + + * config/i386/i386-builtin.def (BDESC): Add + OPTION_MASK_ISA2_EVEX512. + +2023-10-09 Haochen Jiang + + * config/i386/i386-builtin.def (BDESC): Add + OPTION_MASK_ISA2_EVEX512. + +2023-10-09 Haochen Jiang + + * config/i386/i386-builtin.def (BDESC): Add + OPTION_MASK_ISA2_EVEX512. + * config/i386/i386-builtins.cc + (ix86_init_mmx_sse_builtins): Ditto. + +2023-10-09 Haochen Jiang + Hu, Lin1 + + * config/i386/avx512fp16intrin.h: Add evex512 target for 512 bit + intrins. + +2023-10-09 Haochen Jiang + + * config.gcc: Add avx512bitalgvlintrin.h. + * config/i386/avx5124fmapsintrin.h: Add evex512 target for 512 bit + intrins. + * config/i386/avx5124vnniwintrin.h: Ditto. + * config/i386/avx512bf16intrin.h: Ditto. + * config/i386/avx512bitalgintrin.h: Add evex512 target for 512 bit + intrins. Split 128/256 bit intrins to avx512bitalgvlintrin.h. + * config/i386/avx512erintrin.h: Add evex512 target for 512 bit + intrins + * config/i386/avx512ifmaintrin.h: Ditto + * config/i386/avx512pfintrin.h: Ditto + * config/i386/avx512vbmi2intrin.h: Ditto. + * config/i386/avx512vbmiintrin.h: Ditto. + * config/i386/avx512vnniintrin.h: Ditto. + * config/i386/avx512vp2intersectintrin.h: Ditto. + * config/i386/avx512vpopcntdqintrin.h: Ditto. + * config/i386/gfniintrin.h: Ditto. + * config/i386/immintrin.h: Add avx512bitalgvlintrin.h. + * config/i386/vaesintrin.h: Add evex512 target for 512 bit intrins. + * config/i386/vpclmulqdqintrin.h: Ditto. + * config/i386/avx512bitalgvlintrin.h: New. + +2023-10-09 Haochen Jiang + + * config/i386/avx512bwintrin.h: Add evex512 target for 512 bit + intrins. + +2023-10-09 Haochen Jiang + + * config/i386/avx512dqintrin.h: Add evex512 target for 512 bit + intrins. + +2023-10-09 Haochen Jiang + + * config/i386/avx512fintrin.h: Add evex512 target for 512 bit intrins. + +2023-10-09 Haochen Jiang + + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_EVEX512_SET): New. + (OPTION_MASK_ISA2_EVEX512_UNSET): Ditto. + (ix86_handle_option): Handle EVEX512. + * config/i386/i386-c.cc + (ix86_target_macros_internal): Handle EVEX512. Add __EVEX256__ + when AVX512VL is set. + * config/i386/i386-options.cc: (isa2_opts): Handle EVEX512. + (ix86_valid_target_attribute_inner_p): Ditto. + (ix86_option_override_internal): Set EVEX512 target if it is not + explicitly set when AVX512 is enabled. Disable + AVX512{PF,ER,4VNNIW,4FAMPS} for -mno-evex512. + * config/i386/i386.opt: Add mevex512. Temporaily RejectNegative. + +2023-10-09 Haochen Gui + + PR target/88558 + * config/rs6000/rs6000.md (lrintdi2): Remove TARGET_FPRND + from insn condition. + (lrintsi2): New insn pattern for 32bit lrint. + +2023-10-09 Haochen Gui + + PR target/88558 + * config/rs6000/rs6000.cc (rs6000_hard_regno_mode_ok_uncached): + Enable SImode on FP registers for P7. + * config/rs6000/rs6000.md (*movsi_internal1): Add fmr for SImode + move between FP registers. Set attribute isa of stfiwx to "*" + and attribute of stxsiwx to "p7". + +2023-10-09 Stefan Schulze Frielinghaus + + * config/s390/s390.md: Make use of new copysign RTL. + +2023-10-09 Hongyu Wang + + * config/i386/sse.md (vec_concatv2di): Replace constraint "m" + with "jm" for alternative 0 and 1 of operand 2. + (sse4_1_3): Replace constraint "Bm" with + "ja" for alternative 0 and 1 of operand2. + +2023-10-08 David Malcolm + + PR analyzer/111155 + * text-art/table.cc (table::maybe_set_cell_span): New. + (table::add_other_table): New. + * text-art/table.h (class table::cell_placement): Add class table + as a friend. + (table::add_rows): New. + (table::add_row): Reimplement in terms of add_rows. + (table::maybe_set_cell_span): New decl. + (table::add_other_table): New decl. + * text-art/types.h (operator+): New operator for rect + coord. + +2023-10-08 David Malcolm + + * genmatch.cc (main): Update for "m_" prefix of some fields of + line_maps. + * input.cc (make_location): Update for removal of + COMBINE_LOCATION_DATA. + (dump_line_table_statistics): Update for "m_" prefix of some + fields of line_maps. + (location_with_discriminator): Update for removal of + COMBINE_LOCATION_DATA. + (line_table_test::line_table_test): Update for "m_" prefix of some + fields of line_maps. + * toplev.cc (general_init): Likewise. + * tree.cc (set_block): Update for removal of + COMBINE_LOCATION_DATA. + (set_source_range): Likewise. + +2023-10-08 David Malcolm + + * input.cc (make_location): Move implementation to + line_maps::make_location. + +2023-10-08 David Malcolm + + PR driver/111700 + * input.cc (file_cache::add_file): Update leading comment to + clarify that it can fail. + (file_cache::lookup_or_add_file): Likewise. + (file_cache::get_source_file_content): Gracefully handle + lookup_or_add_file failing. + +2023-10-08 liuhongt + + * config/i386/i386.cc (ix86_build_const_vector): Handle V2HF + and V4HFmode. + (ix86_build_signbit_mask): Ditto. + * config/i386/mmx.md (mmxintvecmode): Ditto. + (2): New define_expand. + (*mmx_): New define_insn_and_split. + (*mmx_nabs2): Ditto. + (*mmx_andnot3): New define_insn. + (3): Ditto. + (copysign3): New define_expand. + (xorsign3): Ditto. + (signbit2): Ditto. + +2023-10-08 liuhongt + + * config/i386/mmx.md (VHF_32_64): New mode iterator. + (3): New define_expand, merged from .. + (v4hf3): .. this and + (v2hf3): .. this. + (movd_v2hf_to_sse_reg): New define_expand, splitted from .. + (movd_v2hf_to_sse): .. this. + (3): New define_expand. + +2023-10-08 Jiufu Guo + + * config/rs6000/rs6000.cc (can_be_built_by_li_and_rldic): New function. + (rs6000_emit_set_long_const): Call can_be_built_by_li_and_rldic. + +2023-10-08 Jiufu Guo + + * config/rs6000/rs6000.cc (can_be_built_by_li_lis_and_rldicl): New + function. + (can_be_built_by_li_lis_and_rldicr): New function. + (rs6000_emit_set_long_const): Call can_be_built_by_li_lis_and_rldicr and + can_be_built_by_li_lis_and_rldicl. + +2023-10-08 Jiufu Guo + + * config/rs6000/rs6000.cc (can_be_rotated_to_negative_lis): New + function. + (can_be_built_by_li_and_rotldi): Rename to ... + (can_be_built_by_li_lis_and_rotldi): ... this function. + (rs6000_emit_set_long_const): Call can_be_built_by_li_lis_and_rotldi. + +2023-10-08 Jiufu Guo + + * config/rs6000/rs6000.cc (can_be_built_by_li_and_rotldi): New function. + (rs6000_emit_set_long_const): Call can_be_built_by_li_and_rotldi. + +2023-10-08 Yanzhang Wang + + * config/riscv/linux.h: Pass the static-pie specific options to + the linker. + +2023-10-07 Saurabh Jha + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add support for + cortex-x4 core. + * config/aarch64/aarch64-tune.md: Regenerated. + * doc/invoke.texi: Add command-line option for cortex-x4 core. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * config/i386/constraints.md (jb): New constraint for vsib memory + that does not allow gpr32. + * config/i386/i386.md: (setcc__sse): Replace m to jm for avx + alternative and set attr_gpr32 to 0. + (movmsk_df): Split avx/noavx alternatives and replace "r" to "jr" for + avx alternative. + (_rcp2): Split avx/noavx alternatives and replace + "m/Bm" to "jm/ja" for avx alternative, set its gpr32 attr to 0. + (*rsqrtsf2_sse): Likewise. + * config/i386/mmx.md (mmx_pmovmskb): Split alternative 1 to + avx/noavx and assign jr/r constraint to dest. + * config/i386/sse.md (_movmsk): + Split avx/noavx alternatives and replace "r" to "jr" for avx alternative. + (*_movmsk_ext): Likewise. + (*_movmsk_lt): Likewise. + (*_movmsk_ext_lt): Likewise. + (*_movmsk_shift): Likewise. + (*_movmsk_ext_shift): Likewise. + (_pmovmskb): Likewise. + (*_pmovmskb_zext): Likewise. + (*sse2_pmovmskb_ext): Likewise. + (*_pmovmskb_lt): Likewise. + (*_pmovmskb_zext_lt): Likewise. + (*sse2_pmovmskb_ext_lt): Likewise. + (_rcp2): Split avx/noavx alternatives and replace + "m/Bm" to "jm/ja" for avx alternative, set its attr_gpr32 to 0. + (sse_vmrcpv4sf2): Likewise. + (*sse_vmrcpv4sf2): Likewise. + (rsqrt2): Likewise. + (sse_vmrsqrtv4sf2): Likewise. + (*sse_vmrsqrtv4sf2): Likewise. + (avx_hv4df3): Likewise. + (sse3_hsubv2df3): Likewise. + (avx_hv8sf3): Likewise. + (sse3_hv4sf3): Likewise. + (_lddqu): Likewise. + (avx_cmp3): Likewise. + (avx_vmcmp3): Likewise. + (*sse2_gt3): Likewise. + (sse_ldmxcsr): Likewise. + (sse_stmxcsr): Likewise. + (avx_vtest): Replace m to jm for + avx alternative and set attr_gpr32 to 0. + (avx2_permv2ti): Likewise. + (*avx_vperm2f128_full): Likewise. + (*avx_vperm2f128_nozero): Likewise. + (vec_set_lo_v32qi): Likewise. + (_maskload): Likewise. + (_maskstore: Likewise. + (avx_cmp3): Likewise. + (avx_vmcmp3): Likewise. + (*_maskcmp3_comm): Likewise. + (*avx2_gathersi): Replace Tv to jb and set + attr_gpr32 to 0. + (*avx2_gathersi_2): Likewise. + (*avx2_gatherdi): Likewise. + (*avx2_gatherdi_2): Likewise. + (*avx2_gatherdi_3): Likewise. + (*avx2_gatherdi_4): Likewise. + (avx_vbroadcastf128_): Restrict non-egpr alternative to + noavx512vl, set its constraint to jm and set attr_gpr32 to 0. + (vec_set_lo_): Likewise. + (vec_set_lo_): Likewise for SF/SI modes. + (vec_set_hi_): Likewise. + (vec_set_hi_): Likewise for SF/SI modes. + (vec_set_hi_): Likewise. + (vec_set_lo_): Likewise. + (avx2_set_hi_v32qi): Likewise. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * config/i386/i386.md (*movhi_internal): Split out non-gpr + supported pextrw with mem constraint to avx/noavx alternatives, + set jm and attr gpr32 0 to the noavx alternative. + (*mov_internal): Likewise. + * config/i386/mmx.md (mmx_pshufbv8qi3): Change "r/m/Bm" to + "jr/jm/ja" and set_attr gpr32 0 for noavx alternative. + (mmx_pshufbv4qi3): Likewise. + (*mmx_pinsrd): Likewise. + (*mmx_pinsrb): Likewise. + (*pinsrb): Likewise. + (mmx_pshufbv8qi3): Likewise. + (mmx_pshufbv4qi3): Likewise. + (@sse4_1_insertps_): Likewise. + (*mmx_pextrw): Split altrenatives and map non-EGPR + constraints, attr_gpr32 and attr_isa to noavx mnemonics. + (*movv2qi_internal): Likewise. + (*pextrw): Likewise. + (*mmx_pextrb): Likewise. + (*mmx_pextrb_zext): Likewise. + (*pextrb): Likewise. + (*pextrb_zext): Likewise. + (vec_extractv2si_1): Likewise. + (vec_extractv2si_1_zext): Likewise. + * config/i386/sse.md: (vi128_h_r): New mode attr for + pinsr{bw}/pextr{bw} with reg operand. + (*abs2): Split altrenatives and %v in mnemonics, map + non-EGPR constraints, gpr32 and isa attrs to noavx mnemonics. + (*vec_extract): Likewise. + (*vec_extract): Likewise for HFBF pattern. + (*vec_extract_zext): Likewise. + (*vec_extractv4si_1): Likewise. + (*vec_extractv4si_zext): Likewise. + (*vec_extractv2di_1): Likewise. + (*vec_concatv2si_sse4_1): Likewise. + (_pinsr): Likewise. + (vec_concatv2di): Likewise. + (*sse4_1_v2qiv2di2_1): Likewise. + (ssse3_avx2>_pshufb3): Change "r/m/Bm" to + "jr/jm/ja" and set_attr gpr32 0 for noavx alternative, split + %v for avx/noavx alternatives if necessary. + (*vec_concatv2sf_sse4_1): Likewise. + (*sse4_1_extractps): Likewise. + (vec_set_0): Likewise for VI4F_128. + (*vec_setv4sf_sse4_1): Likewise. + (@sse4_1_insertps): Likewise. + (ssse3_pmaddubsw128): Likewise. + (*_pmulhrsw3): Likewise. + (_packusdw): Likewise. + (_palignr): Likewise. + (_movntdqa): Likewise. + (_mpsadbw): Likewise. + (*sse4_1_mulv2siv2di3): Likewise. + (*_mul3): Likewise. + (*sse4_1_3): Likewise. + (*v8hi3): Likewise. + (*v16qi3): Likewise. + (*sse4_1_v8qiv8hi2_1): Likewise. + (*sse4_1_zero_extendv8qiv8hi2_3): Likewise. + (*sse4_1_zero_extendv8qiv8hi2_4): Likewise. + (*sse4_1_v4qiv4si2_1): Likewise. + (*sse4_1_v4hiv4si2_1): Likewise. + (*sse4_1_zero_extendv4hiv4si2_3): Likewise. + (*sse4_1_zero_extendv4hiv4si2_4): Likewise. + (*sse4_1_v2hiv2di2_1): Likewise. + (*sse4_1_v2siv2di2_1): Likewise. + (*sse4_1_zero_extendv2siv2di2_3): Likewise. + (*sse4_1_zero_extendv2siv2di2_4): Likewise. + (aesdec): Likewise. + (aesdeclast): Likewise. + (aesenc): Likewise. + (aesenclast): Likewise. + (pclmulqdq): Likewise. + (vgf2p8affineinvqb_): Likewise. + (vgf2p8affineqb_): Likewise. + (vgf2p8mulb_): Likewise. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * config/i386/i386-protos.h (x86_evex_reg_mentioned_p): New + prototype. + * config/i386/i386.cc (x86_evex_reg_mentioned_p): New + function. + * config/i386/i386.md (sse4_1_round2): Set attr gpr32 0 + and constraint jm to all non-evex alternatives, adjust + alternative outputs if evex reg is mentioned. + * config/i386/sse.md (_ptest): Set attr gpr32 0 + and constraint jm/ja to all non-evex alternatives. + (ptesttf2): Likewise. + (_round): Likewise. + (sse4_2_pcmpestri): Likewise. + (sse4_2_pcmpestrm): Likewise. + (sse4_2_pcmpestr_cconly): Likewise. + (sse4_2_pcmpistr): Likewise. + (sse4_2_pcmpistri): Likewise. + (sse4_2_pcmpistrm): Likewise. + (sse4_2_pcmpistr_cconly): Likewise. + (aesimc): Likewise. + (aeskeygenassist): Likewise. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * config/i386/sse.md (avx2_phwv16hi3): Set + attr gpr32 0 and constraint jm/ja to all mem alternatives. + (ssse3_phwv8hi3): Likewise. + (ssse3_phwv4hi3): Likewise. + (avx2_phdv8si3): Likewise. + (ssse3_phdv4si3): Likewise. + (ssse3_phdv2si3): Likewise. + (_psign3): Likewise. + (ssse3_psign3): Likewise. + (_blend_blendv_blendv_lt): Likewise. + (*_blendv_not_ltint: Likewise. + (_dp): Likewise. + (_mpsadbw): Likewise. + (_pblendvb): Likewise. + (*_pblendvb_lt): Likewise. + (sse4_1_pblend): Likewise. + (*avx2_pblend): Likewise. + (avx2_permv2ti): Likewise. + (*avx_vperm2f128_nozero): Likewise. + (*avx2_eq3): Likewise. + (*sse4_1_eqv2di3): Likewise. + (sse4_2_gtv2di3): Likewise. + (avx2_gt3): Likewise. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * config/i386/i386.md (): Set attr gpr32 0 and constraint + jm. + (_rex64): Likewise. + (_rex64): Likewise. + (64): Likewise. + (fxsave64): Likewise. + (fxstore64): Likewise. + +2023-10-07 Hongyu Wang + Kong Lingling + Hongtao Liu + + * config/i386/i386.cc (ix86_get_ssemov): Check if egpr is used, + adjust mnemonic for vmovduq/vmovdqa. + * config/i386/sse.md (*_vinsert_0): + Check if egpr is used, adjust mnemonic for vmovdqu/vmovdqa. + (avx_vec_concat): Likewise, and separate alternative 0 to + avx_noavx512f. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * config/i386/i386.cc (map_egpr_constraints): New funciton to + map common constraints to EGPR prohibited constraints. + (ix86_md_asm_adjust): Calls map_egpr_constraints. + * config/i386/i386.opt: Add option mapx-inline-asm-use-gpr32. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * config/i386/i386-protos.h (ix86_insn_base_reg_class): New + prototype. + (ix86_regno_ok_for_insn_base_p): Likewise. + (ix86_insn_index_reg_class): Likewise. + * config/i386/i386.cc (ix86_memory_address_use_extended_reg_class_p): + New helper function to scan the insn. + (ix86_insn_base_reg_class): New function to choose BASE_REG_CLASS. + (ix86_regno_ok_for_insn_base_p): Likewise for base regno. + (ix86_insn_index_reg_class): Likewise for INDEX_REG_CLASS. + * config/i386/i386.h (INSN_BASE_REG_CLASS): Define. + (REGNO_OK_FOR_INSN_BASE_P): Likewise. + (INSN_INDEX_REG_CLASS): Likewise. + (enum reg_class): Add INDEX_GPR16. + (GENERAL_GPR16_REGNO_P): Define. + * config/i386/i386.md (gpr32): New attribute. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * config/i386/constraints.md (jr): New register constraint + that prohibits EGPR. + (jR): Constraint that force usage of EGPR. + (jm): New memory constraint that prohibits EGPR. + (ja): Likewise for Bm constraint. + (jb): Likewise for Tv constraint. + (j<): New auto-dec memory constraint that prohibits EGPR. + (j>): Likewise for ">" constraint. + (jo): Likewise for "o" constraint. + (jv): Likewise for "V" constraint. + (jp): Likewise for "p" constraint. + * config/i386/i386.h (enum reg_class): Add new reg class + GENERAL_GPR16. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * config/i386/i386-protos.h (x86_extended_rex2reg_mentioned_p): + New function prototype. + * config/i386/i386.cc (regclass_map): Add mapping for 16 new + general registers. + (debugger64_register_map): Likewise. + (ix86_conditional_register_usage): Clear REX2 register when APX + disabled. + (ix86_code_end): Add handling for REX2 reg. + (print_reg): Likewise. + (ix86_output_jmp_thunk_or_indirect): Likewise. + (ix86_output_indirect_branch_via_reg): Likewise. + (ix86_attr_length_vex_default): Likewise. + (ix86_emit_save_regs): Adjust to allow saving r31. + (ix86_register_priority): Set REX2 reg priority same as REX. + (x86_extended_reg_mentioned_p): Add check for REX2 regs. + (x86_extended_rex2reg_mentioned_p): New function. + * config/i386/i386.h (CALL_USED_REGISTERS): Add new extended + registers. + (REG_ALLOC_ORDER): Likewise. + (FIRST_REX2_INT_REG): Define. + (LAST_REX2_INT_REG): Ditto. + (GENERAL_REGS): Add 16 new registers. + (INT_SSE_REGS): Likewise. + (FLOAT_INT_REGS): Likewise. + (FLOAT_INT_SSE_REGS): Likewise. + (INT_MASK_REGS): Likewise. + (ALL_REGS):Likewise. + (REX2_INT_REG_P): Define. + (REX2_INT_REGNO_P): Ditto. + (GENERAL_REGNO_P): Add REX2_INT_REGNO_P. + (REGNO_OK_FOR_INDEX_P): Ditto. + (REG_OK_FOR_INDEX_NONSTRICT_P): Add new extended registers. + * config/i386/i386.md: Add 16 new integer general + registers. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * common/config/i386/cpuinfo.h (XSTATE_APX_F): New macro. + (XCR_APX_F_ENABLED_MASK): Likewise. + (get_available_features): Detect APX_F under + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_APX_F_SET): New. + (OPTION_MASK_ISA2_APX_F_UNSET): Likewise. + (ix86_handle_option): Handle -mapxf. + * common/config/i386/i386-cpuinfo.h (FEATURE_APX_F): New. + * common/config/i386/i386-isas.h: Add entry for APX_F. + * config/i386/cpuid.h (bit_APX_F): New. + * config/i386/i386.h (bit_APX_F): (TARGET_APX_EGPR, + TARGET_APX_PUSH2POP2, TARGET_APX_NDD): New define. + * config/i386/i386-opts.h (enum apx_features): New enum. + * config/i386/i386-isa.def (APX_F): New DEF_PTA. + * config/i386/i386-options.cc (ix86_function_specific_save): + Save ix86_apx_features. + (ix86_function_specific_restore): Restore it. + (ix86_valid_target_attribute_inner_p): Add mapxf. + (ix86_option_override_internal): Set ix86_apx_features for PTA + and TARGET_APX_F. Also reports error when APX_F is set but not + having TARGET_64BIT. + * config/i386/i386.opt: (-mapxf): New ISA flag option. + (-mapx=): New enumeration option. + (apx_features): New enum type. + (apx_none): New enum value. + (apx_egpr): Likewise. + (apx_push2pop2): Likewise. + (apx_ndd): Likewise. + (apx_all): Likewise. + * doc/invoke.texi: Document mapxf. + +2023-10-07 Hongyu Wang + Kong Lingling + Hongtao Liu + + * addresses.h (index_reg_class): New wrapper function like + base_reg_class. + * doc/tm.texi: Document INSN_INDEX_REG_CLASS. + * doc/tm.texi.in: Ditto. + * lra-constraints.cc (index_part_to_reg): Pass index_class. + (process_address_1): Calls index_reg_class with curr_insn and + replace INDEX_REG_CLASS with its return value index_cl. + * reload.cc (find_reloads_address): Likewise. + (find_reloads_address_1): Likewise. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * addresses.h (base_reg_class): Add insn argument and new macro + INSN_BASE_REG_CLASS. + (regno_ok_for_base_p_1): Add insn argument and new macro + REGNO_OK_FOR_INSN_BASE_P. + (regno_ok_for_base_p): Add insn argument and parse to ok_for_base_p_1. + * doc/tm.texi: Document INSN_BASE_REG_CLASS and + REGNO_OK_FOR_INSN_BASE_P. + * doc/tm.texi.in: Ditto. + * lra-constraints.cc (process_address_1): Pass insn to + base_reg_class. + (curr_insn_transform): Ditto. + * reload.cc (find_reloads): Ditto. + (find_reloads_address): Ditto. + (find_reloads_address_1): Ditto. + (find_reloads_subreg_address): Ditto. + * reload1.cc (maybe_fix_stack_asms): Ditto. + +2023-10-07 Jiufu Guo + + PR target/108338 + * config/rs6000/rs6000.md (movsf_from_si): Update to generate mtvsrws + for P9. + +2023-10-07 Jiufu Guo + + PR target/108338 + * config/rs6000/predicates.md (lowpart_subreg_operator): New + define_predicate. + * config/rs6000/rs6000.md (any_rshift): New code_iterator. + (movsf_from_si2): Rename to ... + (movsf_from_si2_): ... this. + +2023-10-07 Pan Li + + PR target/111634 + * config/riscv/riscv.cc (riscv_legitimize_address): Ensure + object is a REG before extracting its' REGNO. + +2023-10-06 Roger Sayle + + * config/i386/i386-expand.cc (ix86_split_ashl): Split shifts by + one into add3_cc_overflow_1 followed by add3_carry. + * config/i386/i386.md (@add3_cc_overflow_1): Renamed from + "*add3_cc_overflow_1" to provide generator function. + +2023-10-06 Roger Sayle + Uros Bizjak + + * config/i386/i386.cc (ix86_avoid_lea_for_addr): Split LEAs used + to perform left shifts into shorter instructions with -Oz. + +2023-10-06 Vineet Gupta + + * config/riscv/riscv.md (mvconst_internal): Add !ira_in_progress. + +2023-10-06 Sandra Loosemore + + * doc/extend.texi (Function Attributes): Mention standard attribute + syntax. + (Variable Attributes): Likewise. + (Type Attributes): Likewise. + (Attribute Syntax): Likewise. + +2023-10-06 Andrew Stubbs + + * config/gcn/gcn-valu.md (*mov): Convert to compact syntax. + (mov_exec): Likewise. + (mov_sgprbase): Likewise. + * config/gcn/gcn.md (*mov_insn): Likewise. + (*movti_insn): Likewise. + +2023-10-06 Andrew Stubbs + + * config/gcn/gcn.cc (print_operand): Adjust xcode type to fix warning. + +2023-10-06 Andrew Pinski + + PR middle-end/111699 + * match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e), + (v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): Enable only for GIMPLE. + +2023-10-06 Jakub Jelinek + + * ipa-prop.h (ipa_bits): Remove. + (struct ipa_jump_func): Remove bits member. + (struct ipcp_transformation): Remove bits member, adjust + ctor and dtor. + (ipa_get_ipa_bits_for_value): Remove. + * ipa-prop.cc (struct ipa_bit_ggc_hash_traits): Remove. + (ipa_bits_hash_table): Remove. + (ipa_print_node_jump_functions_for_edge): Don't print bits. + (ipa_get_ipa_bits_for_value): Remove. + (ipa_set_jfunc_bits): Remove. + (ipa_compute_jump_functions_for_edge): For pointers query + pointer alignment before ipa_set_jfunc_vr and update_bitmask + in there. For integral types, just rely on bitmask already + being handled in value ranges. + (ipa_check_create_edge_args): Don't create ipa_bits_hash_table. + (ipcp_transformation_initialize): Neither here. + (ipcp_transformation_t::duplicate): Don't copy bits vector. + (ipa_write_jump_function): Don't stream bits here. + (ipa_read_jump_function): Neither here. + (useful_ipcp_transformation_info_p): Don't test bits vec. + (write_ipcp_transformation_info): Don't stream bits here. + (read_ipcp_transformation_info): Neither here. + (ipcp_get_parm_bits): Get mask and value from m_vr rather + than bits. + (ipcp_update_bits): Remove. + (ipcp_update_vr): For pointers, set_ptr_info_alignment from + bitmask stored in value range. + (ipcp_transform_function): Don't test bits vector, don't call + ipcp_update_bits. + * ipa-cp.cc (propagate_bits_across_jump_function): Don't use + jfunc->bits, instead get mask and value from jfunc->m_vr. + (ipcp_store_bits_results): Remove. + (ipcp_store_vr_results): Incorporate parts of + ipcp_store_bits_results here, merge the bitmasks with value + range if both are supplied. + (ipcp_driver): Don't call ipcp_store_bits_results. + * ipa-sra.cc (zap_useless_ipcp_results): Remove *ts->bits + clearing. + +2023-10-06 Pan Li + + * config/riscv/autovec.md: Update comments. + +2023-10-05 John David Anglin + + * config/pa/pa32-linux.h (MALLOC_ABI_ALIGNMENT): Delete. + +2023-10-05 Andrew MacLeod + + * timevar.def (TV_TREE_FAST_VRP): New. + * tree-pass.h (make_pass_fast_vrp): New prototype. + * tree-vrp.cc (class fvrp_folder): New. + (fvrp_folder::fvrp_folder): New. + (fvrp_folder::~fvrp_folder): New. + (fvrp_folder::value_of_expr): New. + (fvrp_folder::value_on_edge): New. + (fvrp_folder::value_of_stmt): New. + (fvrp_folder::pre_fold_bb): New. + (fvrp_folder::post_fold_bb): New. + (fvrp_folder::pre_fold_stmt): New. + (fvrp_folder::fold_stmt): New. + (execute_fast_vrp): New. + (pass_data_fast_vrp): New. + (pass_vrp:execute): Check for fast VRP pass. + (make_pass_fast_vrp): New. + +2023-10-05 Andrew MacLeod + + * gimple-range.cc (dom_ranger::dom_ranger): New. + (dom_ranger::~dom_ranger): New. + (dom_ranger::range_of_expr): New. + (dom_ranger::edge_range): New. + (dom_ranger::range_on_edge): New. + (dom_ranger::range_in_bb): New. + (dom_ranger::range_of_stmt): New. + (dom_ranger::maybe_push_edge): New. + (dom_ranger::pre_bb): New. + (dom_ranger::post_bb): New. + * gimple-range.h (class dom_ranger): New. + +2023-10-05 Andrew MacLeod + + * gimple-range-gori.cc (gori_stmt_info::gori_stmt_info): New. + (gori_calc_operands): New. + (gori_on_edge): New. + (gori_name_helper): New. + (gori_name_on_edge): New. + * gimple-range-gori.h (gori_on_edge): New prototype. + (gori_name_on_edge): New prototype. + +2023-10-05 Sergei Trofimovich + + PR ipa/111283 + PR gcov-profile/111559 + * ipa-utils.cc (ipa_merge_profiles): Avoid producing + uninitialized probabilities when merging counters with zero + denominators. + +2023-10-05 Uros Bizjak + + PR target/111657 + * config/i386/i386-expand.cc (alg_usable_p): Reject libcall + strategy for non-default address spaces. + (decide_alg): Use loop strategy as a fallback strategy for + non-default address spaces. + +2023-10-05 Jakub Jelinek + + * sreal.cc (verify_aritmetics): Rename to ... + (verify_arithmetics): ... this. + (sreal_verify_arithmetics): Adjust caller. + +2023-10-05 Martin Jambor + + Revert: + 2023-10-03 Martin Jambor + + PR ipa/108007 + * cgraph.h (cgraph_edge): Add a parameter to + redirect_call_stmt_to_callee. + * ipa-param-manipulation.h (ipa_param_adjustments): Add a + parameter to modify_call. + * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): New + parameter killed_ssas, pass it to padjs->modify_call. + * ipa-param-manipulation.cc (purge_transitive_uses): New function. + (ipa_param_adjustments::modify_call): New parameter killed_ssas. + Instead of substituting uses, invoke purge_transitive_uses. If + hash of killed SSAs has not been provided, create a temporary one + and release SSAs that have been added to it. + * tree-inline.cc (redirect_all_calls): Create + id->killed_new_ssa_names earlier, pass it to edge redirection, + adjust a comment. + (copy_body): Release SSAs in id->killed_new_ssa_names. + +2023-10-05 Juzhe-Zhong + + * config/riscv/autovec.md (@vec_series): Remove @. + (vec_series): Ditto. + * config/riscv/riscv-v.cc (expand_const_vector): Ditto. + (shuffle_decompress_patterns): Ditto. + +2023-10-05 Claudiu Zissulescu + + * config/arc/arc-passes.def: Remove arc_ifcvt pass. + * config/arc/arc-protos.h (arc_ccfsm_branch_deleted_p): Remove. + (arc_ccfsm_record_branch_deleted): Likewise. + (arc_ccfsm_cond_exec_p): Likewise. + (arc_ccfsm): Likewise. + (arc_ccfsm_record_condition): Likewise. + (make_pass_arc_ifcvt): Likewise. + * config/arc/arc.cc (arc_ccfsm): Remove. + (arc_ccfsm_current): Likewise. + (ARC_CCFSM_BRANCH_DELETED_P): Likewise. + (ARC_CCFSM_RECORD_BRANCH_DELETED): Likewise. + (ARC_CCFSM_COND_EXEC_P): Likewise. + (CCFSM_ISCOMPACT): Likewise. + (CCFSM_DBR_ISCOMPACT): Likewise. + (machine_function): Remove ccfsm related fields. + (arc_ifcvt): Remove pass. + (arc_print_operand): Remove `#` punct operand and other ccfsm + related code. + (arc_ccfsm_advance): Remove. + (arc_ccfsm_at_label): Likewise. + (arc_ccfsm_record_condition): Likewise. + (arc_ccfsm_post_advance): Likewise. + (arc_ccfsm_branch_deleted_p): Likewise. + (arc_ccfsm_record_branch_deleted): Likewise. + (arc_ccfsm_cond_exec_p): Likewise. + (arc_get_ccfsm_cond): Likewise. + (arc_final_prescan_insn): Remove ccfsm references. + (arc_internal_label): Likewise. + (arc_reorg): Likewise. + (arc_output_libcall): Likewise. + * config/arc/arc.md: Remove ccfsm references and update related + instruction patterns. + +2023-10-05 Claudiu Zissulescu + + * config/arc/arc.cc (arc_init): Remove '^' punct char. + (arc_print_operand): Remove related code. + * config/arc/arc.md: Update patterns which uses '%&'. + +2023-10-05 Claudiu Zissulescu + + * config/arc/arc-protos.h (arc_clear_unalign): Remove. + (arc_toggle_unalign): Likewise. + * config/arc/arc.cc (machine_function) Remove unalign. + (arc_init): Remove `&` punct character. + (arc_print_operand): Remove `&` related functions. + (arc_verify_short): Update function's number of parameters. + (output_short_suffix): Update function. + (arc_short_long): Likewise. + (arc_clear_unalign): Remove. + (arc_toggle_unalign): Likewise. + * config/arc/arc.h (ASM_OUTPUT_CASE_END): Remove. + (ASM_OUTPUT_ALIGN): Update. + * config/arc/arc.md: Remove all `%&` references. + * config/arc/arc.opt (mannotate-align): Ignore option. + * doc/invoke.texi (mannotate-align): Update description. + +2023-10-05 Richard Biener + + * tree-vect-slp.cc (vect_build_slp_tree_1): Do not + ask for internal_fn_p (CFN_LAST). + +2023-10-05 Richard Biener + + * tree-ssa-sccvn.cc (rpo_elim::eliminate_avail): Not + visited value numbers are available itself. + +2023-10-05 Richard Biener + + PR ipa/111643 + * doc/extend.texi (attribute flatten): Clarify. + +2023-10-04 Roger Sayle + + * config/arc/arc-protos.h (emit_shift): Delete prototype. + (arc_pre_reload_split): New function prototype. + * config/arc/arc.cc (emit_shift): Delete function. + (arc_pre_reload_split): New predicate function, copied from i386, + to schedule define_insn_and_split splitters to the split1 pass. + * config/arc/arc.md (ashlsi3): Expand RTL template unconditionally. + (ashrsi3): Likewise. + (lshrsi3): Likewise. + (shift_si3): Move after other shift patterns, and disable when + operands[2] is one (which is handled by its own define_insn). + Use shiftr4_operator, instead of shift4_operator, as this is no + longer used for left shifts. + (shift_si3_loop): Likewise. Additionally remove match_scratch. + (*ashlsi3_nobs): New pre-reload define_insn_and_split. + (*ashrsi3_nobs): Likewise. + (*lshrsi3_nobs): Likewise. + (rotrsi3_cnt1): Rename define_insn from *rotrsi3_cnt1. + (add_shift): Rename define_insn from *add_shift. + * config/arc/predicates.md (shiftl4_operator): Delete. + (shift4_operator): Delete. + +2023-10-04 Roger Sayle + + * config/arc/arc.md (ashlsi3_cnt1): Rename define_insn *ashlsi2_cnt1. + Change type attribute to "unary", as this doesn't have operands[2]. + Change length attribute to "*,4" to allow compact representation. + (lshrsi3_cnt1): Rename define_insn from *lshrsi3_cnt1. Change + insn type attribute to "unary", as this doesn't have operands[2]. + (ashrsi3_cnt1): Rename define_insn from *ashrsi3_cnt1. Change + insn type attribute to "unary", as this doesn't have operands[2]. + +2023-10-04 Roger Sayle + + PR rtl-optimization/110701 + * combine.cc (record_dead_and_set_regs_1): Split comment into + pieces placed before the relevant clauses. When the SET_DEST + is a partial_subreg_p, mark the bits outside of the updated + portion of the destination as undefined. + +2023-10-04 Kito Cheng + + PR bootstrap/111664 + * opt-read.awk: Drop multidimensional arrays. + * opth-gen.awk: Ditto. + +2023-10-04 Xi Ruoyao + + * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): Delete. + (copysign3): Use copysign RTL instead of UNSPEC. + +2023-10-04 Jakub Jelinek + + PR middle-end/111369 + * match.pd (x == cstN ? cst4 : cst3): Use + build_nonstandard_integer_type only if type1 is BOOLEAN_TYPE. + Fix comment typo. Formatting fix. + (a?~t:t -> (-(a))^t): Always convert to type rather + than using build_nonstandard_integer_type. Perform negation + only if type has precision > 1 and is not signed BOOLEAN_TYPE. + +2023-10-04 Jakub Jelinek + + PR tree-optimization/111668 + * match.pd (a ? CST1 : CST2): Handle the a ? -1 : 0 and + a ? 0 : -1 cases before the powerof2cst cases and differentiate + between 1-bit precision types, larger precision boolean types + and other integral types. Fix comment pastos and formatting. + +2023-10-03 Andrew MacLeod + + * tree-ssanames.cc (set_range_info): Use get_ptr_info for + pointers rather than range_info_get_range. + +2023-10-03 Martin Jambor + + * ipa-modref.h (modref_summary::dump): Make const. + * ipa-modref.cc (modref_summary::dump): Likewise. + (dump_lto_records): Dump to out instead of dump_file. + +2023-10-03 Martin Jambor + + PR ipa/110378 + * ipa-param-manipulation.cc + (ipa_param_body_adjustments::mark_dead_statements): Verify that any + return uses of PARAM will be removed. + (ipa_param_body_adjustments::mark_clobbers_dead): Likewise. + * ipa-sra.cc (isra_param_desc): New fields + remove_only_when_retval_removed and split_only_when_retval_removed. + (struct gensum_param_desc): Likewise. Fix comment long line. + (ipa_sra_function_summaries::duplicate): Copy the new flags. + (dump_gensum_param_descriptor): Dump the new flags. + (dump_isra_param_descriptor): Likewise. + (isra_track_scalar_value_uses): New parameter desc. Set its flag + remove_only_when_retval_removed when encountering a simple return. + (isra_track_scalar_param_local_uses): Replace parameter call_uses_p + with desc. Pass it to isra_track_scalar_value_uses and set its + call_uses. + (ptr_parm_has_nonarg_uses): Accept parameter descriptor as a + parameter. If there is a direct return use, mark any.. + (create_parameter_descriptors): Pass the whole parameter descriptor to + isra_track_scalar_param_local_uses and ptr_parm_has_nonarg_uses. + (process_scan_results): Copy the new flags. + (isra_write_node_summary): Stream the new flags. + (isra_read_node_info): Likewise. + (adjust_parameter_descriptions): Check that transformations + requring return removal only happen when return value is removed. + Restructure main loop. Adjust dump message. + +2023-10-03 Martin Jambor + + PR ipa/108007 + * cgraph.h (cgraph_edge): Add a parameter to + redirect_call_stmt_to_callee. + * ipa-param-manipulation.h (ipa_param_adjustments): Add a + parameter to modify_call. + * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): New + parameter killed_ssas, pass it to padjs->modify_call. + * ipa-param-manipulation.cc (purge_transitive_uses): New function. + (ipa_param_adjustments::modify_call): New parameter killed_ssas. + Instead of substituting uses, invoke purge_transitive_uses. If + hash of killed SSAs has not been provided, create a temporary one + and release SSAs that have been added to it. + * tree-inline.cc (redirect_all_calls): Create + id->killed_new_ssa_names earlier, pass it to edge redirection, + adjust a comment. + (copy_body): Release SSAs in id->killed_new_ssa_names. + +2023-10-03 Andrew MacLeod + + * passes.def (pass_vrp): Pass "final pass" flag as parameter. + * tree-vrp.cc (vrp_pass_num): Remove. + (pass_vrp::my_pass): Remove. + (pass_vrp::pass_vrp): Add warn_p as a parameter. + (pass_vrp::final_p): New. + (pass_vrp::set_pass_param): Set final_p param. + (pass_vrp::execute): Call execute_range_vrp with no conditions. + (make_pass_vrp): Pass additional parameter. + (make_pass_early_vrp): Ditto. + +2023-10-03 Andrew MacLeod + + * tree-ssanames.cc (set_range_info): Return true only if the + current value changes. + +2023-10-03 David Malcolm + + * diagnostic.cc (diagnostic_set_info_translated): Update for "m_" + prefixes to text_info fields. + (diagnostic_report_diagnostic): Likewise. + (verbatim): Use text_info ctor. + (simple_diagnostic_path::add_event): Likewise. + (simple_diagnostic_path::add_thread_event): Likewise. + * dumpfile.cc (dump_pretty_printer::decode_format): Update for + "m_" prefixes to text_info fields. + (dump_context::dump_printf_va): Use text_info ctor. + * graphviz.cc (graphviz_out::graphviz_out): Use text_info ctor. + (graphviz_out::print): Likewise. + * opt-problem.cc (opt_problem::opt_problem): Likewise. + * pretty-print.cc (pp_format): Update for "m_" prefixes to + text_info fields. + (pp_printf): Use text_info ctor. + (pp_verbatim): Likewise. + (assert_pp_format_va): Likewise. + * pretty-print.h (struct text_info): Add ctors. Add "m_" prefix + to all fields. + * text-art/styled-string.cc (styled_string::from_fmt_va): Use + text_info ctor. + * tree-diagnostic.cc (default_tree_printer): Update for "m_" + prefixes to text_info fields. + * tree-pretty-print.h (pp_ti_abstract_origin): Likewise. + +2023-10-03 Roger Sayle + + * config/arc/arc.md (CC_ltu): New mode iterator for CC and CC_C. + (scc_ltu_): New define_insn to handle LTU form of scc_insn. + (*scc_insn): Don't split to a conditional move sequence for LTU. + +2023-10-03 Andrea Corallo + + * config/aarch64/aarch64.md (@ccmp) + (@ccmp_rev, *call_insn, *call_value_insn) + (*mov_aarch64, load_pair_sw_) + (load_pair_dw_) + (store_pair_sw_) + (store_pair_dw_, *extendsidi2_aarch64) + (*zero_extendsidi2_aarch64, *load_pair_zero_extendsidi2_aarch64) + (*extend2_aarch64) + (*zero_extend2_aarch64) + (*extendqihi2_aarch64, *zero_extendqihi2_aarch64) + (*add3_aarch64, *addsi3_aarch64_uxtw, *add3_poly_1) + (add3_compare0, *addsi3_compare0_uxtw) + (*add3_compareC_cconly, add3_compareC) + (*add3_compareV_cconly_imm, add3_compareV_imm) + (*add3nr_compare0, subdi3, subv_imm) + (*cmpv_insn, sub3_compare1_imm, neg2) + (cmp, fcmp, fcmpe, *cmov_insn) + (*cmovsi_insn_uxtw, 3, *si3_uxtw) + (*and3_compare0, *andsi3_compare0_uxtw, one_cmpl2) + (*_one_cmpl3, *and3nr_compare0) + (*aarch64_ashl_sisd_or_int_3) + (*aarch64_lshr_sisd_or_int_3) + (*aarch64_ashr_sisd_or_int_3, *ror3_insn) + (*si3_insn_uxtw, _trunc2) + (2) + (3) + (3) + (*aarch64_3_cssc, copysign3_insn): Update + to new syntax. + * config/aarch64/aarch64-sve2.md (@aarch64_scatter_stnt) + (@aarch64_scatter_stnt_) + (*aarch64_mul_unpredicated_) + (@aarch64_pred_, *cond__2) + (*cond__3, *cond__any) + (*cond__z, @aarch64_pred_) + (*cond__2, *cond__3) + (*cond__any, @aarch64_sve_) + (@aarch64_sve__lane_) + (@aarch64_sve_add_mul_lane_) + (@aarch64_sve_sub_mul_lane_, @aarch64_sve2_xar) + (*aarch64_sve2_bcax, @aarch64_sve2_eor3) + (*aarch64_sve2_nor, *aarch64_sve2_nand) + (*aarch64_sve2_bsl, *aarch64_sve2_nbsl) + (*aarch64_sve2_bsl1n, *aarch64_sve2_bsl2n) + (*aarch64_sve2_sra, @aarch64_sve_add_) + (*aarch64_sve2_aba, @aarch64_sve_add_) + (@aarch64_sve_add__lane_) + (@aarch64_sve_qadd_) + (@aarch64_sve_qadd__lane_) + (@aarch64_sve_sub_) + (@aarch64_sve_sub__lane_) + (@aarch64_sve_qsub_) + (@aarch64_sve_qsub__lane_) + (@aarch64_sve_, @aarch64__lane_) + (@aarch64_pred_) + (@aarch64_pred_, *cond__2) + (*cond__z, @aarch64_sve_) + (@aarch64__lane_, @aarch64_sve_) + (@aarch64__lane_, @aarch64_pred_) + (*cond__any_relaxed) + (*cond__any_strict) + (@aarch64_pred_, *cond_) + (@aarch64_pred_, *cond_) + (*cond__strict): Update to new syntax. + * config/aarch64/aarch64-sve.md (*aarch64_sve_mov_ldr_str) + (*aarch64_sve_mov_no_ldr_str, @aarch64_pred_mov) + (*aarch64_sve_mov, aarch64_wrffr) + (mask_scatter_store) + (*mask_scatter_store_xtw_unpacked) + (*mask_scatter_store_sxtw) + (*mask_scatter_store_uxtw) + (@aarch64_scatter_store_trunc) + (@aarch64_scatter_store_trunc) + (*aarch64_scatter_store_trunc_sxtw) + (*aarch64_scatter_store_trunc_uxtw) + (*vec_duplicate_reg, vec_shl_insert_) + (vec_series, @extract__) + (@aarch64_pred_, *cond__2) + (*cond__any, @aarch64_pred_) + (@aarch64_sve_revbhw_) + (@cond_) + (*2) + (@aarch64_pred_sxt) + (@aarch64_cond_sxt) + (*cond_uxt_2, *cond_uxt_any, *cnot) + (*cond_cnot_2, *cond_cnot_any) + (@aarch64_pred_, *cond__2_relaxed) + (*cond__2_strict, *cond__any_relaxed) + (*cond__any_strict, @aarch64_pred_) + (*cond__2, *cond__3) + (*cond__any, add3, sub3) + (@aarch64_pred_abd, *aarch64_cond_abd_2) + (*aarch64_cond_abd_3, *aarch64_cond_abd_any) + (@aarch64_sve_, @aarch64_pred_) + (*cond__2, *cond__z) + (@aarch64_pred_, *cond__2) + (*cond__3, *cond__any, 3) + (*cond_bic_2, *cond_bic_any) + (@aarch64_pred_, *cond__2_const) + (*cond__any_const, *cond__m) + (*cond__z, *sdiv_pow23) + (*cond__2, *cond__any) + (@aarch64_pred_, *cond__2_relaxed) + (*cond__2_strict, *cond__any_relaxed) + (*cond__any_strict, @aarch64_pred_) + (*cond__2_relaxed, *cond__2_strict) + (*cond__2_const_relaxed) + (*cond__2_const_strict) + (*cond__3_relaxed, *cond__3_strict) + (*cond__any_relaxed, *cond__any_strict) + (*cond__any_const_relaxed) + (*cond__any_const_strict) + (@aarch64_pred_, *cond_add_2_const_relaxed) + (*cond_add_2_const_strict) + (*cond_add_any_const_relaxed) + (*cond_add_any_const_strict, @aarch64_pred_) + (*cond__2_relaxed, *cond__2_strict) + (*cond__any_relaxed, *cond__any_strict) + (@aarch64_pred_, *cond_sub_3_const_relaxed) + (*cond_sub_3_const_strict, *cond_sub_const_relaxed) + (*cond_sub_const_strict, *aarch64_pred_abd_relaxed) + (*aarch64_pred_abd_strict) + (*aarch64_cond_abd_2_relaxed) + (*aarch64_cond_abd_2_strict) + (*aarch64_cond_abd_3_relaxed) + (*aarch64_cond_abd_3_strict) + (*aarch64_cond_abd_any_relaxed) + (*aarch64_cond_abd_any_strict, @aarch64_pred_) + (@aarch64_pred_fma, *cond_fma_2, *cond_fma_4) + (*cond_fma_any, @aarch64_pred_fnma) + (*cond_fnma_2, *cond_fnma_4, *cond_fnma_any) + (dot_prod, @aarch64_dot_prod_lane) + (@dot_prod, @aarch64_dot_prod_lane) + (@aarch64_sve_add_, @aarch64_pred_) + (*cond__2_relaxed, *cond__2_strict) + (*cond__4_relaxed, *cond__4_strict) + (*cond__any_relaxed, *cond__any_strict) + (@aarch64__lane_, @aarch64_pred_) + (*cond__4_relaxed, *cond__4_strict) + (*cond__any_relaxed, *cond__any_strict) + (@aarch64__lane_, @aarch64_sve_tmad) + (@aarch64_sve_vnx4sf) + (@aarch64_sve__lanevnx4sf) + (@aarch64_sve_, *vcond_mask_) + (@aarch64_sel_dup, @aarch64_pred_cmp) + (*cmp_cc, *cmp_ptest) + (@aarch64_pred_fcm, @fold_extract__) + (@aarch64_fold_extract_vector__) + (@aarch64_sve_splice) + (@aarch64_sve__nontrunc) + (@aarch64_sve__trunc) + (*cond__nontrunc_relaxed) + (*cond__nontrunc_strict) + (*cond__trunc) + (@aarch64_sve__nonextend) + (@aarch64_sve__extend) + (*cond__nonextend_relaxed) + (*cond__nonextend_strict) + (*cond__extend) + (@aarch64_sve__trunc) + (*cond__trunc) + (@aarch64_sve__trunc) + (*cond__trunc) + (@aarch64_sve__nontrunc) + (*cond__nontrunc) + (@aarch64_brk, *aarch64_sve__cntp): Update + to new syntax. + * config/aarch64/aarch64-simd.md (aarch64_simd_dup) + (load_pair) + (vec_store_pair, aarch64_simd_stp) + (aarch64_simd_mov_from_low) + (aarch64_simd_mov_from_high, and3) + (ior3, aarch64_simd_ashr) + (aarch64_simd_bsl_internal) + (*aarch64_simd_bsl_alt) + (aarch64_simd_bsldi_internal, aarch64_simd_bsldi_alt) + (store_pair_lanes, *aarch64_combine_internal) + (*aarch64_combine_internal_be, *aarch64_combinez) + (*aarch64_combinez_be) + (aarch64_cm, *aarch64_cmdi) + (aarch64_cm, *aarch64_mov) + (*aarch64_be_mov, *aarch64_be_movoi): Update to new syntax. + +2023-10-03 Andrea Corallo + + * gensupport.cc (convert_syntax): Skip spaces before "cons:" + in new compact pattern syntax. + +2023-10-03 Richard Sandiford + + * gensupport.cc (convert_syntax): Updated to support unordered + constraints in compact syntax. + +2023-10-02 Michael Meissner + + * config/rs6000/rs6000.md (UNSPEC_COPYSIGN): Delete. + (copysign3_fcpsg): Use copysign RTL instead of UNSPEC. + (copysign3_hard): Likewise. + (copysign3_soft): Likewise. + * config/rs6000/vector.md (vector_copysign3): Use copysign RTL + instead of UNSPEC. + * config/rs6000/vsx.md (vsx_copysign3): Use copysign RTL instead + of UNSPEC. + +2023-10-02 David Malcolm + + * diagnostic-format-json.cc (toplevel_array): Remove global in + favor of json_output_format::m_top_level_array. + (cur_group): Likewise, for json_output_format::m_cur_group. + (cur_children_array): Likewise, for + json_output_format::m_cur_children_array. + (class json_output_format): New. + (json_begin_diagnostic): Remove, in favor of + json_output_format::on_begin_diagnostic. + (json_end_diagnostic): Convert to... + (json_output_format::on_end_diagnostic): ...this. + (json_begin_group): Remove, in favor of + json_output_format::on_begin_group. + (json_end_group): Remove, in favor of + json_output_format::on_end_group. + (json_flush_to_file): Remove, in favor of + json_output_format::flush_to_file. + (json_stderr_final_cb): Remove, in favor of json_output_format + dtor. + (json_output_base_file_name): Remove global. + (class json_stderr_output_format): New. + (json_file_final_cb): Remove. + (class json_file_output_format): New. + (json_emit_diagram): Remove. + (diagnostic_output_format_init_json): Update. + (diagnostic_output_format_init_json_file): Update. + * diagnostic-format-sarif.cc (the_builder): Remove this global, + moving to a field of the sarif_output_format. + (sarif_builder::maybe_make_artifact_content_object): Use the + context's m_file_cache. + (get_source_lines): Convert to... + (sarif_builder::get_source_lines): ...this, using context's + m_file_cache. + (sarif_begin_diagnostic): Remove, in favor of + sarif_output_format::on_begin_diagnostic. + (sarif_end_diagnostic): Remove, in favor of + sarif_output_format::on_end_diagnostic. + (sarif_begin_group): Remove, in favor of + sarif_output_format::on_begin_group. + (sarif_end_group): Remove, in favor of + sarif_output_format::on_end_group. + (sarif_flush_to_file): Delete. + (sarif_stderr_final_cb): Delete. + (sarif_output_base_file_name): Delete. + (sarif_file_final_cb): Delete. + (class sarif_output_format): New. + (sarif_emit_diagram): Delete. + (class sarif_stream_output_format): New. + (class sarif_file_output_format): New. + (diagnostic_output_format_init_sarif): Update. + (diagnostic_output_format_init_sarif_stderr): Update. + (diagnostic_output_format_init_sarif_file): Update. + (diagnostic_output_format_init_sarif_stream): Update. + * diagnostic-show-locus.cc (diagnostic_show_locus): Update. + * diagnostic.cc (default_diagnostic_final_cb): Delete, moving to + diagnostic_text_output_format's dtor. + (diagnostic_initialize): Update, making a new instance of + diagnostic_text_output_format. + (diagnostic_finish): Delete m_output_format, rather than calling + final_cb. + (diagnostic_report_diagnostic): Assert that m_output_format is + non-NULL. Replace call to begin_group_cb with call to + m_output_format->on_begin_group. Replace call to + diagnostic_starter with call to + m_output_format->on_begin_diagnostic. Replace call to + diagnostic_finalizer with call to + m_output_format->on_end_diagnostic. + (diagnostic_emit_diagram): Replace both optional call to + m_diagrams.m_emission_cb and default implementation with call to + m_output_format->on_diagram. Move default implementation to + diagnostic_text_output_format::on_diagram. + (auto_diagnostic_group::~auto_diagnostic_group): Replace call to + end_group_cb with call to m_output_format->on_end_group. + (diagnostic_text_output_format::~diagnostic_text_output_format): + New, based on default_diagnostic_final_cb. + (diagnostic_text_output_format::on_begin_diagnostic): New, based + on code from diagnostic_report_diagnostic. + (diagnostic_text_output_format::on_end_diagnostic): Likewise. + (diagnostic_text_output_format::on_diagram): New, based on code + from diagnostic_emit_diagram. + * diagnostic.h (class diagnostic_output_format): New. + (class diagnostic_text_output_format): New. + (diagnostic_context::begin_diagnostic): Move to... + (diagnostic_context::m_text_callbacks::begin_diagnostic): ...here. + (diagnostic_context::start_span): Move to... + (diagnostic_context::m_text_callbacks::start_span): ...here. + (diagnostic_context::end_diagnostic): Move to... + (diagnostic_context::m_text_callbacks::end_diagnostic): ...here. + (diagnostic_context::begin_group_cb): Remove, in favor of + m_output_format->on_begin_group. + (diagnostic_context::end_group_cb): Remove, in favor of + m_output_format->on_end_group. + (diagnostic_context::final_cb): Remove, in favor of + m_output_format's dtor. + (diagnostic_context::m_output_format): New field. + (diagnostic_context::m_diagrams.m_emission_cb): Remove, in favor + of m_output_format->on_diagram. + (diagnostic_starter): Update. + (diagnostic_finalizer): Update. + (diagnostic_output_format_init_sarif_stream): New. + * input.cc (location_get_source_line): Move implementation apart from + call to diagnostic_file_cache_init to... + (file_cache::get_source_line): ...this new function... + (location_get_source_line): ...and reintroduce, rewritten in terms of + file_cache::get_source_line. + (get_source_file_content): Likewise, refactor into... + (file_cache::get_source_file_content): ...this new function. + * input.h (file_cache::get_source_line): New decl. + (file_cache::get_source_file_content): New decl. + * selftest-diagnostic.cc + (test_diagnostic_context::test_diagnostic_context): Update. + * tree-diagnostic-path.cc (event_range::print): Update for + change to diagnostic_context's start_span callback. + +2023-10-02 David Malcolm + + * diagnostic-show-locus.cc: Update for reorganization of + source-printing fields of diagnostic_context. + * diagnostic.cc (diagnostic_set_caret_max_width): Likewise. + (diagnostic_initialize): Likewise. + * diagnostic.h (diagnostic_context::show_caret): Move to... + (diagnostic_context::m_source_printing::enabled): ...here. + (diagnostic_context::caret_max_width): Move to... + (diagnostic_context::m_source_printing::max_width): ...here. + (diagnostic_context::caret_chars): Move to... + (diagnostic_context::m_source_printing::caret_chars): ...here. + (diagnostic_context::colorize_source_p): Move to... + (diagnostic_context::m_source_printing::colorize_source_p): ...here. + (diagnostic_context::show_labels_p): Move to... + (diagnostic_context::m_source_printing::show_labels_p): ...here. + (diagnostic_context::show_line_numbers_p): Move to... + (diagnostic_context::m_source_printing::show_line_numbers_p): ...here. + (diagnostic_context::min_margin_width): Move to... + (diagnostic_context::m_source_printing::min_margin_width): ...here. + (diagnostic_context::show_ruler_p): Move to... + (diagnostic_context::m_source_printing::show_ruler_p): ...here. + (diagnostic_same_line): Update for above changes. + * opts.cc (common_handle_option): Update for reorganization of + source-printing fields of diagnostic_context. + * selftest-diagnostic.cc + (test_diagnostic_context::test_diagnostic_context): Likewise. + * toplev.cc (general_init): Likewise. + * tree-diagnostic-path.cc (struct event_range): Likewise. + +2023-10-02 David Malcolm + + * diagnostic.cc (diagnostic_initialize): Initialize + set_locations_cb to nullptr. + +2023-10-02 Wilco Dijkstra + + PR target/111235 + * config/arm/constraints.md: Remove Pf constraint. + * config/arm/sync.md (arm_atomic_load): Add new pattern. + (arm_atomic_load_acquire): Likewise. + (arm_atomic_store): Likewise. + (arm_atomic_store_release): Likewise. + (atomic_load): Switch patterns to define_expand. + (atomic_store): Likewise. + (arm_atomic_loaddi2_ldrd): Remove predication. + (arm_load_exclusive): Likewise. + (arm_load_acquire_exclusive): Likewise. + (arm_load_exclusivesi): Likewise. + (arm_load_acquire_exclusivesi): Likewise. + (arm_load_exclusivedi): Likewise. + (arm_load_acquire_exclusivedi): Likewise. + (arm_store_exclusive): Likewise. + (arm_store_release_exclusivedi): Likewise. + (arm_store_release_exclusive): Likewise. + * config/arm/unspecs.md: Add VUNSPEC_LDR and VUNSPEC_STR. + +2023-10-02 Tamar Christina + + Revert: + 2023-10-02 Tamar Christina + + PR tree-optimization/109154 + * tree-if-conv.cc (INCLUDE_ALGORITHM): Remove. + (cmp_arg_entry): New. + (predicate_scalar_phi): Use it. + +2023-10-02 Tamar Christina + + * config/aarch64/aarch64-simd.md (xorsign3): Renamed to.. + (@xorsign3): ...This. + * config/aarch64/aarch64.md (xorsign3): Renamed to... + (@xorsign3): ..This and emit vectors directly + * config/aarch64/iterators.md (VCONQ): Add SF and DF. + +2023-10-02 Tamar Christina + + * emit-rtl.cc (validate_subreg): Relax subreg rule. + +2023-10-02 Tamar Christina + + PR tree-optimization/109154 + * tree-if-conv.cc (INCLUDE_ALGORITHM): Remove. + (cmp_arg_entry): New. + (predicate_scalar_phi): Use it. + +2023-10-02 Richard Sandiford + + PR bootstrap/111642 + * rtl-tests.cc (const_poly_int_tests::run): Use a local + poly_int64 typedef. + * simplify-rtx.cc (simplify_const_poly_int_tests::run): Likewise. + +2023-10-02 Joern Rennecke + Juzhe-Zhong + + * config/riscv/riscv-protos.h (riscv_vector::expand_block_move): + Declare. + * config/riscv/riscv-v.cc (riscv_vector::expand_block_move): + New function. + * config/riscv/riscv.md (cpymemsi): Use riscv_vector::expand_block_move. + Change to .. + (cpymem) .. this. + +2023-10-01 Stefan Schulze Frielinghaus + + * combine.cc (simplify_compare_const): Properly handle unsigned + constants while narrowing comparison of memory and constants. + +2023-10-01 Feng Wang + + * config/riscv/riscv-opts.h (MASK_ZICSR): Delete. + (MASK_ZIFENCEI): Delete; + (MASK_ZIHINTNTL): Ditto. + (MASK_ZIHINTPAUSE): Ditto. + (TARGET_ZICSR): Ditto. + (TARGET_ZIFENCEI): Ditto. + (TARGET_ZIHINTNTL): Ditto. + (TARGET_ZIHINTPAUSE): Ditto. + (MASK_ZAWRS): Ditto. + (TARGET_ZAWRS): Ditto. + (MASK_ZBA): Ditto. + (MASK_ZBB): Ditto. + (MASK_ZBC): Ditto. + (MASK_ZBS): Ditto. + (TARGET_ZBA): Ditto. + (TARGET_ZBB): Ditto. + (TARGET_ZBC): Ditto. + (TARGET_ZBS): Ditto. + (MASK_ZFINX): Ditto. + (MASK_ZDINX): Ditto. + (MASK_ZHINX): Ditto. + (MASK_ZHINXMIN): Ditto. + (TARGET_ZFINX): Ditto. + (TARGET_ZDINX): Ditto. + (TARGET_ZHINX): Ditto. + (TARGET_ZHINXMIN): Ditto. + (MASK_ZBKB): Ditto. + (MASK_ZBKC): Ditto. + (MASK_ZBKX): Ditto. + (MASK_ZKNE): Ditto. + (MASK_ZKND): Ditto. + (MASK_ZKNH): Ditto. + (MASK_ZKR): Ditto. + (MASK_ZKSED): Ditto. + (MASK_ZKSH): Ditto. + (MASK_ZKT): Ditto. + (TARGET_ZBKB): Ditto. + (TARGET_ZBKC): Ditto. + (TARGET_ZBKX): Ditto. + (TARGET_ZKNE): Ditto. + (TARGET_ZKND): Ditto. + (TARGET_ZKNH): Ditto. + (TARGET_ZKR): Ditto. + (TARGET_ZKSED): Ditto. + (TARGET_ZKSH): Ditto. + (TARGET_ZKT): Ditto. + (MASK_ZTSO): Ditto. + (TARGET_ZTSO): Ditto. + (MASK_VECTOR_ELEN_32): Ditto. + (MASK_VECTOR_ELEN_64): Ditto. + (MASK_VECTOR_ELEN_FP_32): Ditto. + (MASK_VECTOR_ELEN_FP_64): Ditto. + (MASK_VECTOR_ELEN_FP_16): Ditto. + (TARGET_VECTOR_ELEN_32): Ditto. + (TARGET_VECTOR_ELEN_64): Ditto. + (TARGET_VECTOR_ELEN_FP_32): Ditto. + (TARGET_VECTOR_ELEN_FP_64): Ditto. + (TARGET_VECTOR_ELEN_FP_16): Ditto. + (MASK_ZVBB): Ditto. + (MASK_ZVBC): Ditto. + (TARGET_ZVBB): Ditto. + (TARGET_ZVBC): Ditto. + (MASK_ZVKG): Ditto. + (MASK_ZVKNED): Ditto. + (MASK_ZVKNHA): Ditto. + (MASK_ZVKNHB): Ditto. + (MASK_ZVKSED): Ditto. + (MASK_ZVKSH): Ditto. + (MASK_ZVKN): Ditto. + (MASK_ZVKNC): Ditto. + (MASK_ZVKNG): Ditto. + (MASK_ZVKS): Ditto. + (MASK_ZVKSC): Ditto. + (MASK_ZVKSG): Ditto. + (MASK_ZVKT): Ditto. + (TARGET_ZVKG): Ditto. + (TARGET_ZVKNED): Ditto. + (TARGET_ZVKNHA): Ditto. + (TARGET_ZVKNHB): Ditto. + (TARGET_ZVKSED): Ditto. + (TARGET_ZVKSH): Ditto. + (TARGET_ZVKN): Ditto. + (TARGET_ZVKNC): Ditto. + (TARGET_ZVKNG): Ditto. + (TARGET_ZVKS): Ditto. + (TARGET_ZVKSC): Ditto. + (TARGET_ZVKSG): Ditto. + (TARGET_ZVKT): Ditto. + (MASK_ZVL32B): Ditto. + (MASK_ZVL64B): Ditto. + (MASK_ZVL128B): Ditto. + (MASK_ZVL256B): Ditto. + (MASK_ZVL512B): Ditto. + (MASK_ZVL1024B): Ditto. + (MASK_ZVL2048B): Ditto. + (MASK_ZVL4096B): Ditto. + (MASK_ZVL8192B): Ditto. + (MASK_ZVL16384B): Ditto. + (MASK_ZVL32768B): Ditto. + (MASK_ZVL65536B): Ditto. + (TARGET_ZVL32B): Ditto. + (TARGET_ZVL64B): Ditto. + (TARGET_ZVL128B): Ditto. + (TARGET_ZVL256B): Ditto. + (TARGET_ZVL512B): Ditto. + (TARGET_ZVL1024B): Ditto. + (TARGET_ZVL2048B): Ditto. + (TARGET_ZVL4096B): Ditto. + (TARGET_ZVL8192B): Ditto. + (TARGET_ZVL16384B): Ditto. + (TARGET_ZVL32768B): Ditto. + (TARGET_ZVL65536B): Ditto. + (MASK_ZICBOZ): Ditto. + (MASK_ZICBOM): Ditto. + (MASK_ZICBOP): Ditto. + (TARGET_ZICBOZ): Ditto. + (TARGET_ZICBOM): Ditto. + (TARGET_ZICBOP): Ditto. + (MASK_ZICOND): Ditto. + (TARGET_ZICOND): Ditto. + (MASK_ZFA): Ditto. + (TARGET_ZFA): Ditto. + (MASK_ZFHMIN): Ditto. + (MASK_ZFH): Ditto. + (MASK_ZVFHMIN): Ditto. + (MASK_ZVFH): Ditto. + (TARGET_ZFHMIN): Ditto. + (TARGET_ZFH): Ditto. + (TARGET_ZVFHMIN): Ditto. + (TARGET_ZVFH): Ditto. + (MASK_ZMMUL): Ditto. + (TARGET_ZMMUL): Ditto. + (MASK_ZCA): Ditto. + (MASK_ZCB): Ditto. + (MASK_ZCE): Ditto. + (MASK_ZCF): Ditto. + (MASK_ZCD): Ditto. + (MASK_ZCMP): Ditto. + (MASK_ZCMT): Ditto. + (TARGET_ZCA): Ditto. + (TARGET_ZCB): Ditto. + (TARGET_ZCE): Ditto. + (TARGET_ZCF): Ditto. + (TARGET_ZCD): Ditto. + (TARGET_ZCMP): Ditto. + (TARGET_ZCMT): Ditto. + (MASK_SVINVAL): Ditto. + (MASK_SVNAPOT): Ditto. + (TARGET_SVINVAL): Ditto. + (TARGET_SVNAPOT): Ditto. + (MASK_XTHEADBA): Ditto. + (MASK_XTHEADBB): Ditto. + (MASK_XTHEADBS): Ditto. + (MASK_XTHEADCMO): Ditto. + (MASK_XTHEADCONDMOV): Ditto. + (MASK_XTHEADFMEMIDX): Ditto. + (MASK_XTHEADFMV): Ditto. + (MASK_XTHEADINT): Ditto. + (MASK_XTHEADMAC): Ditto. + (MASK_XTHEADMEMIDX): Ditto. + (MASK_XTHEADMEMPAIR): Ditto. + (MASK_XTHEADSYNC): Ditto. + (TARGET_XTHEADBA): Ditto. + (TARGET_XTHEADBB): Ditto. + (TARGET_XTHEADBS): Ditto. + (TARGET_XTHEADCMO): Ditto. + (TARGET_XTHEADCONDMOV): Ditto. + (TARGET_XTHEADFMEMIDX): Ditto. + (TARGET_XTHEADFMV): Ditto. + (TARGET_XTHEADINT): Ditto. + (TARGET_XTHEADMAC): Ditto. + (TARGET_XTHEADMEMIDX): Ditto. + (TARGET_XTHEADMEMPAIR): Ditto. + (TARGET_XTHEADSYNC): Ditto. + (MASK_XVENTANACONDOPS): Ditto. + (TARGET_XVENTANACONDOPS): Ditto. + * config/riscv/riscv.opt: Add new Mask defination. + * doc/options.texi: Add explanation for this new usage. + * opt-functions.awk: Add new function to find the index + of target variable from extra_target_vars. + * opt-read.awk: Add new function to store the Mask flags. + * opth-gen.awk: Add new function to output the defination of + Mask Macro and Target Macro. + +2023-10-01 Joern Rennecke + Juzhe-Zhong + Juzhe-Zhong + + PR target/111566 + * config/riscv/riscv-protos.h (riscv_vector::legitimize_move): + Change second parameter to rtx *. + * config/riscv/riscv-v.cc (risv_vector::legitimize_move): Likewise. + * config/riscv/vector.md: Changed callers of + riscv_vector::legitimize_move. + (*mov_mem_to_mem): Remove. + +2023-09-30 Jakub Jelinek + + PR target/111649 + * config/riscv/riscv-vsetvl.cc (vector_infos_manager::vector_infos_manager): + Replace safe_grow with safe_grow_cleared. + +2023-09-30 Jakub Jelinek + + * gimple-match-head.cc (gimple_bitwise_inverted_equal_p): Fix a pasto + in function comment. + +2023-09-30 Jakub Jelinek + + PR middle-end/111625 + PR middle-end/111637 + * gimple-lower-bitint.cc (range_to_prec): Use prec or -prec if + r.undefined_p (). + (bitint_large_huge::handle_operand_addr): For uninitialized operands + use limb_prec or -limb_prec precision. + +2023-09-30 Jakub Jelinek + + * vec.h (quick_grow): Uncomment static_assert. + +2023-09-30 Jivan Hakobyan + + * config/riscv/bitmanip.md (*_not_const): Added type attribute + +2023-09-29 Xiao Zeng + + * config/riscv/riscv.cc (riscv_rtx_costs): Better handle costing + SETs when the outer code is INSN. + +2023-09-29 Jivan Hakobyan + + * config/riscv/bitmanip.md (*_not_const): New split + pattern. + +2023-09-29 Richard Sandiford + + * poly-int.h (poly_int_pod): Delete. + (poly_coeff_traits::init_cast): New type. + (poly_int_full, poly_int_hungry, poly_int_fullness): New structures. + (poly_int): Replace constructors that take 1 and 2 coefficients with + a general one that takes an arbitrary number of coefficients. + Delegate initialization to two new private constructors, one of + which uses the coefficients as-is and one of which adds an extra + zero of the appropriate type (and precision, where applicable). + (gt_ggc_mx, gt_pch_nx): Operate on poly_ints rather than poly_int_pods. + * poly-int-types.h (poly_uint16_pod, poly_int64_pod, poly_uint64_pod) + (poly_offset_int_pod, poly_wide_int_pod, poly_widest_int_pod): Delete. + * gengtype.cc (main): Don't register poly_int64_pod. + * calls.cc (initialize_argument_information): Use poly_int rather + than poly_int_pod. + (combine_pending_stack_adjustment_and_call): Likewise. + * config/aarch64/aarch64.cc (pure_scalable_type_info): Likewise. + * data-streamer.h (bp_unpack_poly_value): Likewise. + * dwarf2cfi.cc (struct dw_trace_info): Likewise. + (struct queued_reg_save): Likewise. + * dwarf2out.h (struct dw_cfa_location): Likewise. + * emit-rtl.h (struct incoming_args): Likewise. + (struct rtl_data): Likewise. + * expr.cc (get_bit_range): Likewise. + (get_inner_reference): Likewise. + * expr.h (get_bit_range): Likewise. + * fold-const.cc (split_address_to_core_and_offset): Likewise. + (ptr_difference_const): Likewise. + * fold-const.h (ptr_difference_const): Likewise. + * function.cc (try_fit_stack_local): Likewise. + (instantiate_new_reg): Likewise. + * function.h (struct expr_status): Likewise. + (struct args_size): Likewise. + * genmodes.cc (ZERO_COEFFS): Likewise. + (mode_size_inline): Likewise. + (mode_nunits_inline): Likewise. + (emit_mode_precision): Likewise. + (emit_mode_size): Likewise. + (emit_mode_nunits): Likewise. + * gimple-fold.cc (get_base_constructor): Likewise. + * gimple-ssa-store-merging.cc (struct symbolic_number): Likewise. + * inchash.h (class hash): Likewise. + * ipa-modref-tree.cc (modref_access_node::dump): Likewise. + * ipa-modref.cc (modref_access_analysis::merge_call_side_effects): + Likewise. + * ira-int.h (ira_spilled_reg_stack_slot): Likewise. + * lra-eliminations.cc (self_elim_offsets): Likewise. + * machmode.h (mode_size, mode_precision, mode_nunits): Likewise. + * omp-low.cc (omplow_simd_context): Likewise. + * pretty-print.cc (pp_wide_integer): Likewise. + * pretty-print.h (pp_wide_integer): Likewise. + * reload.cc (struct decomposition): Likewise. + * reload.h (struct reload): Likewise. + * reload1.cc (spill_stack_slot_width): Likewise. + (struct elim_table): Likewise. + (offsets_at): Likewise. + (init_eliminable_invariants): Likewise. + * rtl.h (union rtunion): Likewise. + (poly_int_rtx_p): Likewise. + (strip_offset): Likewise. + (strip_offset_and_add): Likewise. + * rtlanal.cc (strip_offset): Likewise. + * tree-dfa.cc (get_ref_base_and_extent): Likewise. + (get_addr_base_and_unit_offset_1): Likewise. + (get_addr_base_and_unit_offset): Likewise. + * tree-dfa.h (get_ref_base_and_extent): Likewise. + (get_addr_base_and_unit_offset_1): Likewise. + (get_addr_base_and_unit_offset): Likewise. + * tree-ssa-loop-ivopts.cc (struct iv_use): Likewise. + (strip_offset): Likewise. + * tree-ssa-sccvn.h (struct vn_reference_op_struct): Likewise. + * tree.cc (ptrdiff_tree_p): Likewise. + * tree.h (poly_int_tree_p): Likewise. + (ptrdiff_tree_p): Likewise. + (get_inner_reference): Likewise. + +2023-09-29 John David Anglin + + * config/pa/pa.md (memory_barrier): Revise comment. + (memory_barrier_64, memory_barrier_32): Use ldcw,co on PA 2.0. + * config/pa/pa.opt (coherent-ldcw): Change default to disabled. + +2023-09-29 Jakub Jelinek + + * vec.h (quick_insert, ordered_remove, unordered_remove, + block_remove, qsort, sort, stablesort, quick_grow): Guard + std::is_trivially_{copyable,default_constructible} and + vec_detail::is_trivially_copyable_or_pair static assertions + with GCC_VERSION >= 5000. + (vec_detail::is_trivially_copyable_or_pair): Guard definition + with GCC_VERSION >= 5000. + +2023-09-29 Manos Anagnostakis + + * config/aarch64/aarch64-opts.h (enum aarch64_ldp_policy): Removed. + (enum aarch64_ldp_stp_policy): Merged enums aarch64_ldp_policy + and aarch64_stp_policy to aarch64_ldp_stp_policy. + (enum aarch64_stp_policy): Removed. + * config/aarch64/aarch64-protos.h (struct tune_params): Removed + aarch64_ldp_policy_model and aarch64_stp_policy_model enum types + and left only the definitions to the aarch64-opts one. + * config/aarch64/aarch64.cc (aarch64_parse_ldp_policy): Removed. + (aarch64_parse_stp_policy): Removed. + (aarch64_override_options_internal): Removed calls to parsing + functions and added obvious direct assignments. + (aarch64_mem_ok_with_ldpstp_policy_model): Improved + code quality based on the new changes. + * config/aarch64/aarch64.opt: Use single enum type + aarch64_ldp_stp_policy for both ldp and stp options. + +2023-09-29 Richard Biener + + PR tree-optimization/111583 + * tree-loop-distribution.cc (find_single_drs): Ensure the + load/store are always executed. + +2023-09-29 Jakub Jelinek + + * tree-vect-patterns.cc (vect_recog_over_widening_pattern): Use + quick_grow_cleared method on unprom rather than quick_grow. + +2023-09-29 Sergei Trofimovich + + PR middle-end/111505 + * ggc-common.cc (ggc_zero_out_root_pointers, ggc_common_finalize): + Add new helper. Use helper instead of memset() to wipe out pointers. + +2023-09-29 Richard Sandiford + + * builtins.h (c_readstr): Take a fixed_size_mode rather than a + scalar_int_mode. + * builtins.cc (c_readstr): Likewise. Build a local array of + bytes and use native_decode_rtx to get the rtx image. + (builtin_memcpy_read_str): Simplify accordingly. + (builtin_strncpy_read_str): Likewise. + (builtin_memset_read_str): Likewise. + (builtin_memset_gen_str): Likewise. + * expr.cc (string_cst_read_str): Likewise. + +2023-09-29 Jakub Jelinek + + * tree-ssa-loop-im.cc (tree_ssa_lim_initialize): Use quick_grow_cleared + instead of quick_grow on vec members. + * cfganal.cc (control_dependences::control_dependences): Likewise. + * rtl-ssa/blocks.cc (function_info::build_info::build_info): Likewise. + (function_info::place_phis): Use safe_grow_cleared instead of safe_grow + on auto_vec vars. + * tree-ssa-live.cc (compute_live_vars): Use quick_grow_cleared instead + of quick_grow on vec var. + +2023-09-28 Vladimir N. Makarov + + Revert: + 2023-09-14 Vladimir N. Makarov + + * ira-costs.cc (find_costs_and_classes): Decrease memory cost + by equiv savings. + +2023-09-28 Wilco Dijkstra + + PR target/111121 + * config/aarch64/aarch64.md (aarch64_movmemdi): Add new expander. + (movmemdi): Call aarch64_expand_cpymem_mops for correct expansion. + * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Add support + for memmove. + * config/aarch64/aarch64-protos.h (aarch64_expand_cpymem_mops): Add new + function. + +2023-09-28 Pan Li + + PR target/111506 + * config/riscv/autovec.md (2): + New pattern. + * config/riscv/vector-iterators.md: New iterator. + +2023-09-28 Vladimir N. Makarov + + * rtl.h (lra_in_progress): Change type to bool. + (ira_in_progress): Add new extern. + * ira.cc (ira_in_progress): New global. + (pass_ira::execute): Set up ira_in_progress. + * lra.cc: (lra_in_progress): Change type to bool and initialize. + (lra): Use bool values for lra_in_progress. + * lra-eliminations.cc (init_elim_table): Ditto. + +2023-09-28 Richard Biener + + PR target/111600 + * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): + Use a heap allocated worklist for CFG traversal instead of + recursion. + +2023-09-28 Jakub Jelinek + Jonathan Wakely + + * vec.h: Mention in file comment limited support for non-POD types + in some operations. + (vec_destruct): New function template. + (release): Use it for non-trivially destructible T. + (truncate): Likewise. + (quick_push): Perform a placement new into slot + instead of assignment. + (pop): For non-trivially destructible T return void + rather than T & and destruct the popped element. + (quick_insert, ordered_remove): Note that they aren't suitable + for non-trivially copyable types. Add static_asserts for that. + (block_remove): Assert T is trivially copyable. + (vec_detail::is_trivially_copyable_or_pair): New trait. + (qsort, sort, stablesort): Assert T is trivially copyable or + std::pair with both trivally copyable types. + (quick_grow): Add assert T is trivially default constructible, + for now commented out. + (quick_grow_cleared): Don't call quick_grow, instead inline it + by hand except for the new static_assert. + (gt_ggc_mx): Assert T is trivially destructable. + (auto_vec::operator=): Formatting fixes. + (auto_vec::auto_vec): Likewise. + (vec_safe_grow_cleared): Don't call vec_safe_grow, instead inline + it manually and call quick_grow_cleared method rather than quick_grow. + (safe_grow_cleared): Likewise. + * edit-context.cc (class line_event): Move definition earlier. + * tree-ssa-loop-im.cc (seq_entry::seq_entry): Make default ctor + defaulted. + * ipa-fnsummary.cc (evaluate_properties_for_edge): Use + safe_grow_cleared instead of safe_grow followed by placement new + constructing the elements. + +2023-09-28 Richard Sandiford + + * dwarf2out.cc (mem_loc_descriptor): Remove unused variables. + * tree-affine.cc (expr_to_aff_combination): Likewise. + +2023-09-28 Richard Biener + + PR tree-optimization/111614 + * tree-ssa-reassoc.cc (undistribute_bitref_for_vector): Properly + convert the first vector when required. + +2023-09-28 xuli + + PR target/111533 + * config/riscv/riscv-v.cc (expand_const_vector): Fix bug. + * config/riscv/riscv-vsetvl.cc (anticipatable_occurrence_p): Fix bug. + +2023-09-27 Sandra Loosemore + + * gimple.cc (gimple_copy): Add case GIMPLE_OMP_STRUCTURED_BLOCK. + +2023-09-27 Iain Sandoe + + PR target/111610 + * configure: Regenerate. + * configure.ac: Rename the missing dsymutil case to "DET_UNKNOWN". + +2023-09-27 Manos Anagnostakis + Philipp Tomsich + Manolis Tsamis + + * config/aarch64/aarch64-opts.h (enum aarch64_ldp_policy): New + enum type. + (enum aarch64_stp_policy): New enum type. + * config/aarch64/aarch64-protos.h (struct tune_params): Add + appropriate enums for the policies. + (aarch64_mem_ok_with_ldpstp_policy_model): New declaration. + * config/aarch64/aarch64-tuning-flags.def + (AARCH64_EXTRA_TUNING_OPTION): Remove superseded tuning + options. + * config/aarch64/aarch64.cc (aarch64_parse_ldp_policy): New + function to parse ldp-policy parameter. + (aarch64_parse_stp_policy): New function to parse stp-policy parameter. + (aarch64_override_options_internal): Call parsing functions. + (aarch64_mem_ok_with_ldpstp_policy_model): New function. + (aarch64_operands_ok_for_ldpstp): Add call to + aarch64_mem_ok_with_ldpstp_policy_model for parameter-value + check and alignment check and remove superseded ones. + (aarch64_operands_adjust_ok_for_ldpstp): Add call to + aarch64_mem_ok_with_ldpstp_policy_model for parameter-value + check and alignment check and remove superseded ones. + * config/aarch64/aarch64.opt (aarch64-ldp-policy): New param. + (aarch64-stp-policy): New param. + * doc/invoke.texi: Document the parameters accordingly. + +2023-09-27 Andre Vieira + + * tree-data-ref.cc (include calls.h): Add new include. + (get_references_in_stmt): Correctly handle IFN_MASK_CALL. + +2023-09-27 Richard Biener + + * match.pd (abs (copysign (x, y)) -> abs (x)): New pattern. + +2023-09-27 Jakub Jelinek + + PR c++/105606 + * system.h (BROKEN_VALUE_INITIALIZATION): Don't define. + * vec.h (vec_default_construct): Remove BROKEN_VALUE_INITIALIZATION + workaround. + * function.cc (assign_parm_find_data_types): Likewise. + +2023-09-27 Pan Li + + * config/riscv/autovec.md (roundeven2): New pattern. + * config/riscv/riscv-protos.h (enum insn_flags): New enum type. + (enum insn_type): Ditto. + (expand_vec_roundeven): New func decl. + * config/riscv/riscv-v.cc (expand_vec_roundeven): New func impl. + +2023-09-27 Juzhe-Zhong + + PR target/111590 + * dse.cc (find_shift_sequence): Check the mode with access_size exist on the target. + +2023-09-27 Juzhe-Zhong + + * tree-if-conv.cc (is_cond_scalar_reduction): Fix comments. + +2023-09-27 Pan Li + + * config/riscv/autovec.md (btrunc2): New pattern. + * config/riscv/riscv-protos.h (expand_vec_trunc): New func decl. + * config/riscv/riscv-v.cc (emit_vec_cvt_x_f_rtz): New func impl. + (expand_vec_trunc): Ditto. + +2023-09-26 Hans-Peter Nilsson + + PR target/107567 + PR target/109166 + * builtins.cc (expand_builtin) : + Handle failure from expand_builtin_atomic_test_and_set. + * optabs.cc (expand_atomic_test_and_set): When all attempts fail to + generate atomic code through target support, return NULL + instead of emitting non-atomic code. Also, for code handling + targetm.atomic_test_and_set_trueval != 1, gcc_assert result + from calling emit_store_flag_force instead of returning NULL. + +2023-09-26 Andrew MacLeod + + PR tree-optimization/111599 + * value-relation.cc (relation_oracle::valid_equivs): Ensure + ssa_name is valid. + +2023-09-26 Andrew Pinski + + PR tree-optimization/106164 + PR tree-optimization/111456 + * match.pd (`(A ==/!= B) & (A CMP C)`): + Support an optional cast on the second A. + (`(A ==/!= B) | (A CMP C)`): Likewise. + +2023-09-26 Andrew Pinski + + PR tree-optimization/111469 + * tree-ssa-phiopt.cc (minmax_replacement): Fix + the assumption for the `non-diamond` handling cases + of diamond code. + +2023-09-26 Juzhe-Zhong + + * match.pd: Optimize COND_ADD reduction pattern. + +2023-09-26 Juzhe-Zhong + + PR tree-optimization/111594 + PR tree-optimization/110660 + * match.pd: Optimize COND_LEN_ADD reduction. + +2023-09-26 Pan Li + + * config/riscv/autovec.md (round2): New pattern. + * config/riscv/riscv-protos.h (enum insn_flags): New enum type. + (enum insn_type): Ditto. + (expand_vec_round): New function decl. + * config/riscv/riscv-v.cc (expand_vec_round): New function impl. + +2023-09-26 Iain Sandoe + + * config/darwin.h (DARWIN_CC1_SPEC): Remove -dynamiclib. + +2023-09-26 Tobias Burnus + + PR middle-end/111547 + * doc/invoke.texi (-fopenmp): Mention C++11 [[omp::decl(...)]] syntax. + (-fopenmp-simd): Likewise. Clarify 'loop' directive semantic. + +2023-09-26 Pan Li + + * config/riscv/autovec.md (rint2): New pattern. + * config/riscv/riscv-protos.h (expand_vec_rint): New function decl. + * config/riscv/riscv-v.cc (expand_vec_rint): New function impl. + +2023-09-26 Pan Li + + * config/riscv/autovec.md (nearbyint2): New pattern. + * config/riscv/riscv-protos.h (enum insn_type): New enum. + (expand_vec_nearbyint): New function decl. + * config/riscv/riscv-v.cc (expand_vec_nearbyint): New func impl. + +2023-09-26 Pan Li + + * config/riscv/riscv-v.cc (gen_ceil_const_fp): Remove. + (get_fp_rounding_coefficient): Rename. + (gen_floor_const_fp): Remove. + (expand_vec_ceil): Take renamed func. + (expand_vec_floor): Ditto. + +2023-09-25 Vladimir N. Makarov + + PR middle-end/111497 + * lra-constraints.cc (lra_constraints): Copy substituted + equivalence. + * lra.cc (lra): Change comment for calling unshare_all_rtl_again. + +2023-09-25 Eric Botcazou + + * gimple-range-gori.cc (gori_compute::logical_combine): Add missing + return statement in the varying case. + +2023-09-25 Xi Ruoyao + + * doc/invoke.texi: Update -m[no-]explicit-relocs for r14-4160. + +2023-09-25 Andrew Pinski + + PR tree-optimization/110386 + * gimple-ssa-backprop.cc (strip_sign_op_1): Remove ABSU_EXPR. + +2023-09-25 Juzhe-Zhong + + PR target/111548 + * config/riscv/riscv-vsetvl.cc (earliest_pred_can_be_fused_p): Bugfix + +2023-09-25 Kewen Lin + + PR target/111366 + * config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Skip + empty inline asm. + +2023-09-25 Kewen Lin + + PR target/111380 + * config/rs6000/rs6000.cc (rs6000_can_inline_p): Adopt + target_option_default_node when the callee has no option + attributes, also simplify the existing code accordingly. + +2023-09-25 Guo Jie + + * config/loongarch/lasx.md (lasx_vecinit_merge_): New + pattern for vector construction. + (vec_set_internal): Ditto. + (lasx_xvinsgr2vr__internal): Ditto. + (lasx_xvilvl__internal): Ditto. + * config/loongarch/loongarch.cc (loongarch_expand_vector_init): + Optimized the implementation of vector construction. + (loongarch_expand_vector_init_same): New function. + * config/loongarch/lsx.md (lsx_vilvl__internal): New + pattern for vector construction. + (lsx_vreplvei_mirror_): New pattern for vector + construction. + (vec_concatv2df): Ditto. + (vec_concatv4sf): Ditto. + +2023-09-24 Pan Li + + PR target/111546 + * config/riscv/riscv-v.cc + (expand_vector_init_merge_repeating_sequence): Bugfix + +2023-09-24 Andrew Pinski + + PR tree-optimization/111543 + * match.pd (`(X & ~Y) & Y`, `(X | ~Y) | Y`): New patterns. + +2023-09-24 Juzhe-Zhong + + * config/riscv/autovec-opt.md: Extend VLS modes + * config/riscv/vector-iterators.md: Ditto. + +2023-09-23 Juzhe-Zhong + + * config/riscv/autovec-opt.md: Add VLS modes for conditional ABS/SQRT. + +2023-09-23 Pan Li + + * config/riscv/autovec.md (floor2): New pattern. + * config/riscv/riscv-protos.h (enum insn_flags): New enum type. + (enum insn_type): Ditto. + (expand_vec_floor): New function decl. + * config/riscv/riscv-v.cc (gen_floor_const_fp): New function impl. + (expand_vec_floor): Ditto. + +2023-09-22 Pan Li + + * config/riscv/riscv-v.cc (expand_vec_float_cmp_mask): Refactor. + (emit_vec_float_cmp_mask): Rename. + (expand_vec_copysign): Ditto. + (emit_vec_copysign): Ditto. + (emit_vec_abs): New function impl. + (emit_vec_cvt_x_f): Ditto. + (emit_vec_cvt_f_x): Ditto. + (expand_vec_ceil): Ditto. + +2023-09-22 Juzhe-Zhong + + * config/riscv/vector-iterators.md: Extend VLS modes. + +2023-09-22 Juzhe-Zhong + + * config/riscv/riscv-v.cc (gen_const_vector_dup): Use global expand function. + * config/riscv/vector.md (@vec_duplicate): Remove @. + (vec_duplicate): Ditto. + +2023-09-22 Juzhe-Zhong + + * config/riscv/autovec.md: Add VLS conditional patterns. + * config/riscv/riscv-protos.h (expand_cond_unop): Ditto. + (expand_cond_binop): Ditto. + (expand_cond_ternop): Ditto. + * config/riscv/riscv-v.cc (expand_cond_unop): Ditto. + (expand_cond_binop): Ditto. + (expand_cond_ternop): Ditto. + +2023-09-22 xuli + + PR target/111451 + * config/riscv/riscv-v.cc (emit_vlmax_gather_insn): Optimization of vrgather.vv + into vrgatherei16.vv. + +2023-09-22 Lehua Ding + + * config/riscv/autovec-opt.md (*cond_widen_reduc_plus_scal_): + New combine patterns. + * config/riscv/riscv-protos.h (enum insn_type): New insn_type. + +2023-09-22 Lehua Ding + + * config/riscv/riscv-protos.h (enum avl_type): New VLS avl_type. + * config/riscv/riscv-v.cc (autovec_use_vlmax_p): Move comments. + +2023-09-22 Pan Li + + * config/riscv/autovec.md (ceil2): New pattern. + * config/riscv/riscv-protos.h (enum insn_flags): New enum type. + (enum insn_type): Ditto. + (expand_vec_ceil): New function decl. + * config/riscv/riscv-v.cc (gen_ceil_const_fp): New function impl. + (expand_vec_float_cmp_mask): Ditto. + (expand_vec_copysign): Ditto. + (expand_vec_ceil): Ditto. + * config/riscv/vector.md: Add VLS mode support. + +2023-09-21 Juzhe-Zhong + + * config/riscv/autovec.md: Extend VLS modes. + +2023-09-21 Juzhe-Zhong + + * config/riscv/vector-iterators.md: Extend VLS modes. + +2023-09-21 Lehua Ding + Robin Dapp + + * config/riscv/riscv-v.cc (emit_vlmax_insn): Adjust comments. + (emit_nonvlmax_insn): Adjust comments. + (emit_vlmax_insn_lra): Adjust comments. + +2023-09-21 Iain Buclaw + + * config.gcc (*linux*): Set rust target_objs, and + target_has_targetrustm, + * config/t-linux (linux-rust.o): New rule. + * config/linux-rust.cc: New file. + +2023-09-21 Iain Buclaw + + * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set + rust_target_objs and target_has_targetrustm. + * config/t-winnt (winnt-rust.o): New rule. + * config/winnt-rust.cc: New file. + +2023-09-21 Iain Buclaw + + * config.gcc (*-*-fuchsia): Set tmake_rule, rust_target_objs, + and target_has_targetrustm. + * config/fuchsia-rust.cc: New file. + * config/t-fuchsia: New file. + +2023-09-21 Iain Buclaw + + * config.gcc (*-*-vxworks*): Set rust_target_objs and + target_has_targetrustm. + * config/t-vxworks (vxworks-rust.o): New rule. + * config/vxworks-rust.cc: New file. + +2023-09-21 Iain Buclaw + + * config.gcc (*-*-dragonfly*): Set rust_target_objs and + target_has_targetrustm. + * config/t-dragonfly (dragonfly-rust.o): New rule. + * config/dragonfly-rust.cc: New file. + +2023-09-21 Iain Buclaw + + * config.gcc (*-*-solaris2*): Set rust_target_objs and + target_has_targetrustm. + * config/t-sol2 (sol2-rust.o): New rule. + * config/sol2-rust.cc: New file. + +2023-09-21 Iain Buclaw + + * config.gcc (*-*-openbsd*): Set rust_target_objs and + target_has_targetrustm. + * config/t-openbsd (openbsd-rust.o): New rule. + * config/openbsd-rust.cc: New file. + +2023-09-21 Iain Buclaw + + * config.gcc (*-*-netbsd*): Set rust_target_objs and + target_has_targetrustm. + * config/t-netbsd (netbsd-rust.o): New rule. + * config/netbsd-rust.cc: New file. + +2023-09-21 Iain Buclaw + + * config.gcc (*-*-freebsd*): Set rust_target_objs and + target_has_targetrustm. + * config/t-freebsd (freebsd-rust.o): New rule. + * config/freebsd-rust.cc: New file. + +2023-09-21 Iain Buclaw + + * config.gcc (*-*-darwin*): Set rust_target_objs and + target_has_targetrustm. + * config/t-darwin (darwin-rust.o): New rule. + * config/darwin-rust.cc: New file. + +2023-09-21 Iain Buclaw + + * config/i386/t-i386 (i386-rust.o): New rule. + * config/i386/i386-rust.cc: New file. + * config/i386/i386-rust.h: New file. + +2023-09-21 Iain Buclaw + + * doc/tm.texi: Regenerate. + * doc/tm.texi.in: Document TARGET_RUST_OS_INFO. + +2023-09-21 Iain Buclaw + + * doc/tm.texi: Regenerate. + * doc/tm.texi.in: Add @node for Rust language and ABI, and document + TARGET_RUST_CPU_INFO. + +2023-09-21 Iain Buclaw + + * Makefile.in (tm_rust_file_list, tm_rust_include_list, TM_RUST_H, + RUST_TARGET_DEF, RUST_TARGET_H, RUST_TARGET_OBJS): New variables. + (tm_rust.h, cs-tm_rust.h, default-rust.o, + rust/rust-target-hooks-def.h, s-rust-target-hooks-def-h): New rules. + (s-tm-texi): Also check timestamp on rust-target.def. + (generated_files): Add TM_RUST_H and rust-target-hooks-def.h. + (build/genhooks.o): Also depend on RUST_TARGET_DEF. + * config.gcc (tm_rust_file, rust_target_objs, target_has_targetrustm): + New variables. + * configure: Regenerate. + * configure.ac (tm_rust_file_list, tm_rust_include_list, + rust_target_objs): Add substitutes. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in (targetrustm): Document. + (target_has_targetrustm): Document. + * genhooks.cc: Include rust/rust-target.def. + * config/default-rust.cc: New file. + +2023-09-21 Juzhe-Zhong + + PR target/110751 + * config/riscv/autovec.md: Enable scratch rtx in ELSE operand. + * config/riscv/predicates.md (autovec_else_operand): New predicate. + * config/riscv/riscv-v.cc (get_else_operand): New function. + (expand_cond_len_unop): Adapt ELSE value. + (expand_cond_len_binop): Ditto. + (expand_cond_len_ternop): Ditto. + * config/riscv/riscv.cc (riscv_preferred_else_value): New function. + (TARGET_PREFERRED_ELSE_VALUE): New targethook. + +2023-09-21 Juzhe-Zhong + + PR target/111486 + * config/riscv/riscv.cc (riscv_legitimize_move): Fix bug. + +2023-09-21 Jiufu Guo + + PR tree-optimization/111355 + * match.pd ((X + C) / N): Update pattern. + +2023-09-21 Jiufu Guo + + * match.pd ((t * 2) / 2): Update to use overflow_free_p. + +2023-09-21 xuli + + PR target/111450 + * config/riscv/constraints.md (c01): const_int 1. + (c02): const_int 2. + (c04): const_int 4. + (c08): const_int 8. + * config/riscv/predicates.md (vector_eew8_stride_operand): New predicate for stride operand. + (vector_eew16_stride_operand): Ditto. + (vector_eew32_stride_operand): Ditto. + (vector_eew64_stride_operand): Ditto. + * config/riscv/vector-iterators.md: New iterator for stride operand. + * config/riscv/vector.md: Add stride = element width constraint. + +2023-09-21 Lehua Ding + + * config/riscv/predicates.md (const_1_or_2_operand): Rename. + (const_1_or_4_operand): Ditto. + (vector_gs_scale_operand_16): Ditto. + (vector_gs_scale_operand_32): Ditto. + * config/riscv/vector-iterators.md: Adjust. + +2023-09-21 Juzhe-Zhong + + * config/riscv/autovec.md: Extend VLS modes. + * config/riscv/vector-iterators.md: Ditto. + * config/riscv/vector.md: Ditto. + +2023-09-20 Andrew MacLeod + + * gimple-range-cache.cc (ssa_cache::merge_range): Change meaning + of the return value. + (ssa_cache::dump): Don't print GLOBAL RANGE header. + (ssa_lazy_cache::merge_range): Adjust return value meaning. + (ranger_cache::dump): Print GLOBAL RANGE header. + +2023-09-20 Aldy Hernandez + + * range-op-float.cc (foperator_unordered_ge::fold_range): Remove + special casing. + (foperator_unordered_gt::fold_range): Same. + (foperator_unordered_lt::fold_range): Same. + (foperator_unordered_le::fold_range): Same. + +2023-09-20 Jakub Jelinek + + * builtins.h (type_to_class): Declare. + * builtins.cc (type_to_class): No longer static. Return + int rather than enum. + * doc/extend.texi (__builtin_classify_type): Document. + +2023-09-20 Juzhe-Zhong + + PR target/110751 + * internal-fn.cc (expand_fn_using_insn): Support undefined rtx value. + * optabs.cc (maybe_legitimize_operand): Ditto. + (can_reuse_operands_p): Ditto. + * optabs.h (enum expand_operand_type): Ditto. + (create_undefined_input_operand): Ditto. + +2023-09-20 Tobias Burnus + + * gimplify.cc (gimplify_bind_expr): Call GOMP_alloc/free for + 'omp allocate' variables; move stack cleanup after other + cleanup. + (omp_notice_variable): Process original decl when decl + of the value-expression for a 'omp allocate' variable is passed. + * omp-low.cc (scan_omp_1_op): Handle 'omp allocate' variables + +2023-09-20 Yanzhang Wang + + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): + support simplifying vector int not only scalar int. + +2023-09-20 Juzhe-Zhong + + * config/riscv/vector-iterators.md: Extend VLS floating-point. + +2023-09-20 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (vector_insn_info::operator==): Fix bug. + +2023-09-20 Iain Sandoe + + * config/darwin.h: + (SUBTARGET_DRIVER_SELF_SPECS): Move handling of 'shared' into the same + specs as 'dynamiclib'. (STARTFILE_SPEC): Handle 'shared'. + +2023-09-20 Richard Biener + + PR tree-optimization/111489 + * params.opt (-param uninit-max-chain-len=): Raise default to 8. + +2023-09-20 Richard Biener + + PR tree-optimization/111489 + * doc/invoke.texi (--param uninit-max-chain-len): Document. + (--param uninit-max-num-chains): Likewise. + * params.opt (-param=uninit-max-chain-len=): New. + (-param=uninit-max-num-chains=): Likewise. + * gimple-predicate-analysis.cc (MAX_NUM_CHAINS): Define to + param_uninit_max_num_chains. + (MAX_CHAIN_LEN): Define to param_uninit_max_chain_len. + (uninit_analysis::init_use_preds): Avoid VLA. + (uninit_analysis::init_from_phi_def): Likewise. + (compute_control_dep_chain): Avoid using MAX_CHAIN_LEN in + template parameter. + +2023-09-20 Jakub Jelinek + + * match.pd ((x << c) >> c): Use MAX_FIXED_MODE_SIZE instead of + GET_MODE_PRECISION of TImode or DImode depending on whether + TImode is supported scalar mode. + * gimple-lower-bitint.cc (bitint_precision_kind): Likewise. + * expr.cc (expand_expr_real_1): Likewise. + * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise. + * ubsan.cc (ubsan_encode_value, ubsan_type_descriptor): Likewise. + +2023-09-20 Lehua Ding + + * config/riscv/autovec-opt.md (*not): Move and rename. + (*n): Ditto. + (*vtrunc): Ditto. + (*trunc): Ditto. + (*narrow_): Ditto. + (*narrow__scalar): Ditto. + (*single_widen_mult): Ditto. + (*single_widen_mul): Ditto. + (*single_widen_mult): Ditto. + (*single_widen_mul): Ditto. + (*dual_widen_fma): Ditto. + (*dual_widen_fma): Ditto. + (*single_widen_fma): Ditto. + (*single_widen_fma): Ditto. + (*dual_fma): Ditto. + (*single_fma): Ditto. + (*dual_fnma): Ditto. + (*dual_widen_fnma): Ditto. + (*single_fnma): Ditto. + (*single_widen_fnma): Ditto. + (*dual_fms): Ditto. + (*dual_widen_fms): Ditto. + (*single_fms): Ditto. + (*single_widen_fms): Ditto. + (*dual_fnms): Ditto. + (*dual_widen_fnms): Ditto. + (*single_fnms): Ditto. + (*single_widen_fnms): Ditto. + +2023-09-20 Jakub Jelinek + + PR c++/111392 + * attribs.cc (decl_attributes): Don't warn on omp::directive attribute + on vars or function decls if -fopenmp or -fopenmp-simd. + +2023-09-20 Lehua Ding + + PR target/111488 + * config/riscv/autovec-opt.md: Add missed operand. + +2023-09-20 Omar Sandoval + + PR debug/111409 + * dwarf2out.cc (output_macinfo): Don't call optimize_macinfo_range if + dwarf_split_debug_info. + +2023-09-20 Juzhe-Zhong + + * config/riscv/riscv-v.cc (can_find_related_mode_p): New function. + (vectorize_related_mode): Add VLS related modes. + * config/riscv/vector-iterators.md: Extend VLS modes. + +2023-09-20 Surya Kumari Jangala + + PR rtl-optimization/110071 + * ira-color.cc (improve_allocation): Consider cost of callee + save registers. + +2023-09-20 mengqinggang + Xi Ruoyao + + * configure: Regenerate. + * configure.ac: Checking assembler for -mno-relax support. + Disable relaxation when probing leb128 support. + +2023-09-20 Lulu Cheng + + * config.in: Regenerate. + * config/loongarch/genopts/loongarch.opt.in: Add compilation option + mrelax. And set the initial value of explicit-relocs according to the + detection status. + * config/loongarch/gnu-user.h: When compiling with -mno-relax, pass the + --no-relax option to the linker. + * config/loongarch/loongarch-driver.h (ASM_SPEC): When compiling with + -mno-relax, pass the -mno-relax option to the assembler. + * config/loongarch/loongarch-opts.h (HAVE_AS_MRELAX_OPTION): Define macro. + * config/loongarch/loongarch.opt: Regenerate. + * configure: Regenerate. + * configure.ac: Add detection of support for binutils relax function. + +2023-09-19 Ben Boeckel + + * doc/invoke.texi: Document -fdeps-format=, -fdeps-file=, and + -fdeps-target= flags. + * gcc.cc: add defaults for -fdeps-target= and -fdeps-file= when + only -fdeps-format= is specified. + * json.h: Add a TODO item to refactor out to share with + `libcpp/mkdeps.cc`. + +2023-09-19 Ben Boeckel + Jason Merrill + + * gcc.cc (join_spec_func): Add a spec function to join all + arguments. + +2023-09-19 Patrick O'Neill + + * config/riscv/riscv.cc (riscv_legitimize_const_move): Eliminate + src_op_0 var to avoid rtl check error. + +2023-09-19 Aldy Hernandez + + * range-op-float.cc (frelop_early_resolve): Clean-up and remove + special casing. + (operator_not_equal::fold_range): Handle VREL_EQ. + (operator_lt::fold_range): Remove special casing for VREL_EQ. + (operator_gt::fold_range): Same. + (foperator_unordered_equal::fold_range): Same. + +2023-09-19 Javier Martinez + + * doc/extend.texi: Document attributes hot, cold on C++ types. + +2023-09-19 Pat Haugen + + * config/rs6000/rs6000.cc (rs6000_rtx_costs): Check whether the + modulo instruction is disabled. + * config/rs6000/rs6000.h (RS6000_DISABLE_SCALAR_MODULO): New. + * config/rs6000/rs6000.md (mod3, *mod3): Check it. + (define_expand umod3): New. + (define_insn umod3): Rename to *umod3 and check if the modulo + instruction is disabled. + (umodti3, modti3): Check if the modulo instruction is disabled. + +2023-09-19 Gaius Mulley + + * doc/gm2.texi (fdebug-builtins): Correct description. + +2023-09-19 Jeff Law + + * config/iq2000/predicates.md (uns_arith_constant): New predicate. + * config/iq2000/iq2000.md (rotrsi3): Use it. + +2023-09-19 Aldy Hernandez + + * range-op-float.cc (operator_lt::op1_range): Remove known_isnan check. + (operator_lt::op2_range): Same. + (operator_le::op1_range): Same. + (operator_le::op2_range): Same. + (operator_gt::op1_range): Same. + (operator_gt::op2_range): Same. + (operator_ge::op1_range): Same. + (operator_ge::op2_range): Same. + (foperator_unordered_lt::op1_range): Same. + (foperator_unordered_lt::op2_range): Same. + (foperator_unordered_le::op1_range): Same. + (foperator_unordered_le::op2_range): Same. + (foperator_unordered_gt::op1_range): Same. + (foperator_unordered_gt::op2_range): Same. + (foperator_unordered_ge::op1_range): Same. + (foperator_unordered_ge::op2_range): Same. + +2023-09-19 Aldy Hernandez + + * value-range.h (frange::update_nan): New. + +2023-09-19 Aldy Hernandez + + * range-op-float.cc (operator_not_equal::op2_range): New. + * range-op-mixed.h: Add operator_not_equal::op2_range. + +2023-09-19 Andrew MacLeod + + PR tree-optimization/110080 + PR tree-optimization/110249 + * tree-vrp.cc (remove_unreachable::final_p): New. + (remove_unreachable::maybe_register): Rename from + maybe_register_block and call early or final routine. + (fully_replaceable): New. + (remove_unreachable::handle_early): New. + (remove_unreachable::remove_and_update_globals): Remove + non-final processing. + (rvrp_folder::rvrp_folder): Add final flag to constructor. + (rvrp_folder::post_fold_bb): Remove unreachable registration. + (rvrp_folder::pre_fold_stmt): Move unreachable processing to here. + (execute_ranger_vrp): Adjust some call parameters. + +2023-09-19 Richard Biener + + PR c/111468 + * tree-pretty-print.h (op_symbol_code): Add defaulted flags + argument. + * tree-pretty-print.cc (op_symbol): Likewise. + (op_symbol_code): Print TDF_GIMPLE variant if requested. + * gimple-pretty-print.cc (dump_binary_rhs): Pass flags to + op_symbol_code. + (dump_gimple_cond): Likewise. + +2023-09-19 Thomas Schwinge + Pan Li + + * tree-streamer.h (bp_unpack_machine_mode): If + 'ib->file_data->mode_table' not available, apply 1-to-1 mapping. + +2023-09-19 Juzhe-Zhong + + * config/riscv/riscv.cc (riscv_can_change_mode_class): Block unordered VLA and VLS modes. + +2023-09-19 Juzhe-Zhong + + * config/riscv/autovec.md: Extend VLS modes. + * config/riscv/vector.md: Ditto. + +2023-09-19 Richard Biener + + PR tree-optimization/111465 + * tree-ssa-threadupdate.cc (fwd_jt_path_registry::thread_block_1): + Cancel the path when a EDGE_NO_COPY_SRC_BLOCK became non-empty. + +2023-09-19 Juzhe-Zhong + + * config/riscv/autovec.md: Extend VLS floating-point modes. + * config/riscv/vector.md: Ditto. + +2023-09-19 Jakub Jelinek + + * match.pd ((x << c) >> c): Don't call build_nonstandard_integer_type + nor check type_has_mode_precision_p for width larger than [TD]Imode + precision. + (a ? CST1 : CST2): Don't use build_nonstandard_type, just convert + to type. Use boolean_true_node instead of + constant_boolean_node (true, boolean_type_node). Formatting fixes. + +2023-09-19 Juzhe-Zhong + + * config/riscv/autovec.md: Add VLS modes. + * config/riscv/vector.md: Ditto. + +2023-09-19 Jakub Jelinek + + * tree.cc (build_bitint_type): Assert precision is not 0, or + for signed types 1. + (signed_or_unsigned_type_for): Return INTEGER_TYPE for signed variant + of unsigned _BitInt(1). + +2023-09-19 Lehua Ding + + * config/riscv/autovec-opt.md (*_fma): + Removed old combine patterns. + (*single_mult_plus): Ditto. + (*double_mult_plus): Ditto. + (*sign_zero_extend_fma): Ditto. + (*zero_sign_extend_fma): Ditto. + (*double_widen_fma): Ditto. + (*single_widen_fma): Ditto. + (*double_widen_fnma): Ditto. + (*single_widen_fnma): Ditto. + (*double_widen_fms): Ditto. + (*single_widen_fms): Ditto. + (*double_widen_fnms): Ditto. + (*single_widen_fnms): Ditto. + (*reduc_plus_scal_): Adjust name. + (*widen_reduc_plus_scal_): Adjust name. + (*dual_widen_fma): New combine pattern. + (*dual_widen_fmasu): Ditto. + (*dual_widen_fmaus): Ditto. + (*dual_fma): Ditto. + (*single_fma): Ditto. + (*dual_fnma): Ditto. + (*single_fnma): Ditto. + (*dual_fms): Ditto. + (*single_fms): Ditto. + (*dual_fnms): Ditto. + (*single_fnms): Ditto. + * config/riscv/autovec.md (fma4): + Reafctor fma pattern. + (*fma): Removed. + (fnma4): Reafctor. + (*fnma): Removed. + (*fma): Removed. + (*fnma): Removed. + (fms4): Reafctor. + (*fms): Removed. + (fnms4): Reafctor. + (*fnms): Removed. + * config/riscv/riscv-protos.h (prepare_ternary_operands): + Adjust prototype. + * config/riscv/riscv-v.cc (prepare_ternary_operands): Refactor. + * config/riscv/vector.md (*pred_mul_plus_undef): New pattern. + (*pred_mul_plus): Removed. + (*pred_mul_plus_scalar): Removed. + (*pred_mul_plus_extended_scalar): Removed. + (*pred_minus_mul_undef): New pattern. + (*pred_minus_mul): Removed. + (*pred_minus_mul_scalar): Removed. + (*pred_minus_mul_extended_scalar): Removed. + (*pred_mul__undef): New pattern. + (*pred_mul_): Removed. + (*pred_mul__scalar): Removed. + (*pred_mul_neg__undef): New pattern. + (*pred_mul_neg_): Removed. + (*pred_mul_neg__scalar): Removed. + +2023-09-19 Tsukasa OI + + * config/riscv/riscv-vector-builtins.cc + (builtin_decl, expand_builtin): Replace SVE with RVV. + +2023-09-19 Tsukasa OI + + * config/riscv/t-riscv: Add dependencies for riscv-builtins.cc, + riscv-cmo.def and riscv-scalar-crypto.def. + +2023-09-18 Pan Li + + * config/riscv/autovec.md: Extend to vls mode. + +2023-09-18 Pan Li + + * config/riscv/autovec.md: Bugfix. + * config/riscv/riscv-protos.h (SCALAR_MOVE_MERGED_OP): New enum. + +2023-09-18 Andrew Pinski + + PR tree-optimization/111442 + * match.pd (zero_one_valued_p): Have the bit_and match not be + recursive. + +2023-09-18 Andrew Pinski + + PR tree-optimization/111435 + * match.pd (zero_one_valued_p): Don't do recursion + on converts. + +2023-09-18 Iain Sandoe + + * config/darwin-protos.h (enum darwin_external_toolchain): New. + * config/darwin.cc (DSYMUTIL_VERSION): New. + (darwin_override_options): Choose the default debug DWARF version + depending on the configured dsymutil version. + +2023-09-18 Iain Sandoe + + * configure: Regenerate. + * configure.ac: Handle explict disable of stdlib option, set + defaults for Darwin. + +2023-09-18 Andrew Pinski + + PR tree-optimization/111431 + * match.pd (`(a == CST) & a`): New pattern. + +2023-09-18 Juzhe-Zhong + + * config/riscv/riscv-selftests.cc (run_broadcast_selftests): Adapt selftests. + * config/riscv/vector.md (@vec_duplicate): Remove. + +2023-09-18 Wilco Dijkstra + + PR target/105928 + * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate) + Add support for immediates using shifted ORR/BIC. + (aarch64_split_dimode_const_store): Apply if we save one instruction. + * config/aarch64/aarch64.md (_3): + Make pattern global. + +2023-09-18 Wilco Dijkstra + + * config/aarch64/aarch64-cores.def (neoverse-n1): Place before ares. + (neoverse-v1): Place before zeus. + (neoverse-v2): Place before demeter. + * config/aarch64/aarch64-tune.md: Regenerate. + +2023-09-18 Juzhe-Zhong + + * config/riscv/autovec.md: Add VLS modes. + * config/riscv/vector-iterators.md: Ditto. + * config/riscv/vector.md: Ditto. + +2023-09-18 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (vlmul_for_greatest_sew_second_ratio): New function. + * config/riscv/riscv-vsetvl.def (DEF_SEW_LMUL_FUSE_RULE): Fix bug. + +2023-09-18 Richard Biener + + PR tree-optimization/111294 + * tree-ssa-threadbackward.cc (back_threader_profitability::m_name): + Remove + (back_threader::find_paths_to_names): Adjust. + (back_threader::maybe_thread_block): Likewise. + (back_threader_profitability::possibly_profitable_path_p): Remove + code applying extra costs to copies PHIs. + +2023-09-18 Juzhe-Zhong + + * config/riscv/autovec.md: Extend VLS modes. + * config/riscv/vector.md: Ditto. + +2023-09-18 Juzhe-Zhong + + * config/riscv/vector.md (mov): New pattern. + (*mov_mem_to_mem): Ditto. + (*mov): Ditto. + (@mov_lra): Ditto. + (*mov_lra): Ditto. + (*mov_vls): Ditto. + (movmisalign): Ditto. + (@vec_duplicate): Ditto. + * config/riscv/autovec-vls.md: Removed. + +2023-09-18 Juzhe-Zhong + + PR target/111153 + * config/riscv/autovec.md: Add VLS modes. + +2023-09-18 Jason Merrill + + * doc/gty.texi: Add discussion of cache vs. deletable. + +2023-09-18 Juzhe-Zhong + + * config/riscv/autovec-vls.md (3): Deleted. + (copysign3): Ditto. + (xorsign3): Ditto. + (2): Ditto. + * config/riscv/autovec.md: Extend VLS modes. + +2023-09-18 Jiufu Guo + + PR middle-end/111303 + * match.pd ((t * 2) / 2): Update pattern. + +2023-09-17 Ajit Kumar Agarwal + + * config/rs6000/vsx.md (*vctzlsbb_zext_): New define_insn. + +2023-09-16 Juzhe-Zhong + + PR target/111391 + * config/riscv/autovec.md (@vec_extract): Remove @. + (vec_extract): Ditto. + * config/riscv/riscv-vsetvl.cc (emit_vsetvl_insn): Fix bug. + (pass_vsetvl::local_eliminate_vsetvl_insn): Fix bug. + * config/riscv/riscv.cc (riscv_legitimize_move): Expand VLS mode to scalar mode move. + +2023-09-16 Tsukasa OI + + * config/riscv/crypto.md (riscv_sha256sig0_, + riscv_sha256sig1_, riscv_sha256sum0_, + riscv_sha256sum1_, riscv_sm3p0_, riscv_sm3p1_, + riscv_sm4ed_, riscv_sm4ks_): Remove and replace with + new insn/expansions. + (SHA256_OP, SM3_OP, SM4_OP): New iterators. + (sha256_op, sm3_op, sm4_op): New attributes for iteration. + (*riscv__si): New raw instruction for RV32. + (*riscv__si): Ditto. + (*riscv__si): Ditto. + (riscv__di_extended): New base instruction for RV64. + (riscv__di_extended): Ditto. + (riscv__di_extended): Ditto. + (riscv__si): New common instruction expansion. + (riscv__si): Ditto. + (riscv__si): Ditto. + * config/riscv/riscv-builtins.cc: Add availability "crypto_zknh", + "crypto_zksh" and "crypto_zksed". Remove availability + "crypto_zksh{32,64}" and "crypto_zksed{32,64}". + * config/riscv/riscv-ftypes.def: Remove unused function type. + * config/riscv/riscv-scalar-crypto.def: Make SHA-256, SM3 and SM4 + intrinsics to operate on uint32_t. + +2023-09-16 Tsukasa OI + + * config/riscv/riscv-builtins.cc (RISCV_ATYPE_UQI): New for + uint8_t. (RISCV_ATYPE_UHI): New for uint16_t. + (RISCV_ATYPE_QI, RISCV_ATYPE_HI, RISCV_ATYPE_SI, RISCV_ATYPE_DI): + Removed as no longer used. + (RISCV_ATYPE_UDI): New for uint64_t. + * config/riscv/riscv-cmo.def: Make types unsigned for not working + "zicbop_cbo_prefetchi" and working bit manipulation clmul builtin + argument/return types. + * config/riscv/riscv-ftypes.def: Make bit manipulation, round + number and shift amount types unsigned. + * config/riscv/riscv-scalar-crypto.def: Ditto. + +2023-09-16 Pan Li + + * config/riscv/autovec-vls.md (xorsign3): New pattern. + +2023-09-15 Fei Gao + + * config/riscv/predicates.md: Restrict predicate + to allow 'reg' only. + +2023-09-15 Andrew Pinski + + * match.pd (zero_one_valued_p): Match a cast from a zero_one_valued_p. + Also match `a & zero_one_valued_p` too. + +2023-09-15 Andrew Pinski + + PR tree-optimization/111414 + * match.pd (`(1 >> X) != 0`): Check to see if + the integer_onep was an integral type (not a vector type). + +2023-09-15 Andrew MacLeod + + * gimple-range-fold.cc (fold_using_range::range_of_phi): Always + run phi analysis, and do it before loop analysis. + +2023-09-15 Andrew MacLeod + + * gimple-range-fold.cc (fold_using_range::range_of_phi): Fix + indentation. + +2023-09-15 Qing Zhao + + PR tree-optimization/111407 + * tree-ssa-math-opts.cc (convert_mult_to_widen): Avoid the transform + when one of the operands is subject to abnormal coalescing. + +2023-09-15 Lehua Ding + + * config/riscv/riscv-protos.h (enum insn_flags): Change name. + (enum insn_type): Ditto. + * config/riscv/riscv-v.cc (get_mask_mode_from_insn_flags): Removed. + (emit_vlmax_insn): Adjust. + (emit_nonvlmax_insn): Adjust. + (emit_vlmax_insn_lra): Adjust. + +2023-09-15 Lehua Ding + + * config/riscv/autovec-opt.md: Adjust. + * config/riscv/autovec.md: Ditto. + * config/riscv/riscv-protos.h (enum class): Delete enum reduction_type. + (expand_reduction): Adjust expand_reduction prototype. + * config/riscv/riscv-v.cc (need_mask_operand_p): New helper function. + (expand_reduction): Refactor expand_reduction. + +2023-09-15 Richard Sandiford + + PR target/111411 + * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): Require + the lower memory access to a mem-pair operand. + +2023-09-15 Yang Yujie + + * config.gcc: Pass the default ABI via TM_MULTILIB_CONFIG. + * config/loongarch/loongarch-driver.h: Invoke MLIB_SELF_SPECS + before the driver canonicalization routines. + * config/loongarch/loongarch.h: Move definitions of CC1_SPEC etc. + to loongarch-driver.h + * config/loongarch/t-linux: Move multilib-related definitions to + t-multilib. + * config/loongarch/t-multilib: New file. Inject library build + options obtained from --with-multilib-list. + * config/loongarch/t-loongarch: Same. + +2023-09-15 Lehua Ding + + PR target/111381 + * config/riscv/autovec-opt.md (*reduc_plus_scal_): + New combine pattern. + (*fold_left_widen_plus_): Ditto. + (*mask_len_fold_left_widen_plus_): Ditto. + * config/riscv/autovec.md (reduc_plus_scal_): + Change from define_expand to define_insn_and_split. + (fold_left_plus_): Ditto. + (mask_len_fold_left_plus_): Ditto. + * config/riscv/riscv-v.cc (expand_reduction): + Support widen reduction. + * config/riscv/vector-iterators.md (UNSPEC_WREDUC_SUM): + Add new iterators and attrs. + +2023-09-14 David Malcolm + + * diagnostic-event-id.h (diagnostic_thread_id_t): New typedef. + * diagnostic-format-sarif.cc (class sarif_thread_flow): New. + (sarif_thread_flow::sarif_thread_flow): New. + (sarif_builder::make_code_flow_object): Reimplement, creating + per-thread threadFlow objects, populating them with the relevant + events. + (sarif_builder::make_thread_flow_object): Delete, moving the + code into sarif_builder::make_code_flow_object. + (sarif_builder::make_thread_flow_location_object): Add + "path_event_idx" param. Use it to set "executionOrder" + property. + * diagnostic-path.h (diagnostic_event::get_thread_id): New + pure-virtual vfunc. + (class diagnostic_thread): New. + (diagnostic_path::num_threads): New pure-virtual vfunc. + (diagnostic_path::get_thread): New pure-virtual vfunc. + (diagnostic_path::multithreaded_p): New decl. + (simple_diagnostic_event::simple_diagnostic_event): Add optional + thread_id param. + (simple_diagnostic_event::get_thread_id): New accessor. + (simple_diagnostic_event::m_thread_id): New. + (class simple_diagnostic_thread): New. + (simple_diagnostic_path::simple_diagnostic_path): Move definition + to diagnostic.cc. + (simple_diagnostic_path::num_threads): New. + (simple_diagnostic_path::get_thread): New. + (simple_diagnostic_path::add_thread): New. + (simple_diagnostic_path::add_thread_event): New. + (simple_diagnostic_path::m_threads): New. + * diagnostic-show-locus.cc (layout::layout): Add pretty_printer + param for overriding the context's printer. + (diagnostic_show_locus): Likwise. + * diagnostic.cc (simple_diagnostic_path::simple_diagnostic_path): + Move here from diagnostic-path.h. Add main thread. + (simple_diagnostic_path::num_threads): New. + (simple_diagnostic_path::get_thread): New. + (simple_diagnostic_path::add_thread): New. + (simple_diagnostic_path::add_thread_event): New. + (simple_diagnostic_event::simple_diagnostic_event): Add thread_id + param and use it to initialize m_thread_id. Reformat. + * diagnostic.h: Add pretty_printer param for overriding the + context's printer. + * tree-diagnostic-path.cc: Add #define INCLUDE_VECTOR. + (can_consolidate_events): Compare thread ids. + (class per_thread_summary): New. + (event_range::event_range): Add per_thread_summary arg. + (event_range::print): Add "pp" param and use it rather than dc's + printer. + (event_range::m_thread_id): New field. + (event_range::m_per_thread_summary): New field. + (path_summary::multithreaded_p): New. + (path_summary::get_events_for_thread_id): New. + (path_summary::m_per_thread_summary): New field. + (path_summary::m_thread_id_to_events): New field. + (path_summary::get_or_create_events_for_thread_id): New. + (path_summary::path_summary): Create per_thread_summary instances + as needed and associate the event_range instances with them. + (base_indent): Move here from print_path_summary_as_text. + (per_frame_indent): Likewise. + (class thread_event_printer): New, adapted from parts of + print_path_summary_as_text. + (print_path_summary_as_text): Make static. Reimplement to + moving most of existing code to class thread_event_printer, + capturing state as per-thread as appropriate. + (default_tree_diagnostic_path_printer): Add missing 'break' on + final case. + +2023-09-14 David Malcolm + + * dwarf2cfi.cc (dwarf2cfi_cc_finalize): New. + * dwarf2out.h (dwarf2cfi_cc_finalize): New decl. + * ggc-common.cc (ggc_mark_roots): Multiply by rti->nelt when + clearing the deletable gcc_root_tab_t. + (ggc_common_finalize): New. + * ggc.h (ggc_common_finalize): New decl. + * toplev.cc (toplev::finalize): Call dwarf2cfi_cc_finalize and + ggc_common_finalize. + +2023-09-14 Max Filippov + + * config/xtensa/predicates.md (xtensa_cstoresi_operator): Add + unsigned comparisons. + * config/xtensa/xtensa.cc (xtensa_expand_scc): Add code + generation of salt/saltu instructions. + * config/xtensa/xtensa.h (TARGET_SALT): New macro. + * config/xtensa/xtensa.md (salt, saltu): New instruction + patterns. + +2023-09-14 Vladimir N. Makarov + + * ira-costs.cc (find_costs_and_classes): Decrease memory cost + by equiv savings. + +2023-09-14 Lehua Ding + + * config/riscv/autovec.md: Change rtx code to unspec. + * config/riscv/riscv-protos.h (expand_reduction): Change prototype. + * config/riscv/riscv-v.cc (expand_reduction): Change prototype. + * config/riscv/riscv-vector-builtins-bases.cc (class widen_reducop): + Removed. + (class widen_freducop): Removed. + * config/riscv/vector-iterators.md (minu): Add reduc unspec, iterators, attrs. + * config/riscv/vector.md (@pred_reduc_): Change name. + (@pred_): New name. + (@pred_widen_reduc_plus): Change name. + (@pred_reduc_plus): Change name. + (@pred_widen_reduc_plus): Change name. + +2023-09-14 Lehua Ding + + * config/riscv/riscv-v.cc (expand_reduction): Adjust call. + * config/riscv/riscv-vector-builtins-bases.cc: Adjust call. + * config/riscv/vector-iterators.md: New iterators and attrs. + * config/riscv/vector.md (@pred_reduc_): + Removed. + (@pred_reduc_): Removed. + (@pred_reduc_): Removed. + (@pred_reduc_): Removed. + (@pred_reduc_): Added. + (@pred_widen_reduc_plus): Removed. + (@pred_widen_reduc_plus): Removed. + (@pred_widen_reduc_plus): Added. + (@pred_widen_reduc_plus): Removed. + (@pred_reduc_): Removed. + (@pred_reduc_): Removed. + (@pred_reduc_): Removed. + (@pred_reduc_plus): Removed. + (@pred_reduc_plus): Removed. + (@pred_reduc_plus): Added. + (@pred_reduc_plus): Removed. + (@pred_widen_reduc_plus): Removed. + (@pred_widen_reduc_plus): Removed. + (@pred_widen_reduc_plus): Added. + +2023-09-14 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_vector_costs::analyze_loop_info): + Move WHILELO handling to... + (aarch64_vector_costs::finish_cost): ...here. Check whether the + vectorizer has decided to use a predicated loop. + +2023-09-14 Andrew Pinski + + PR tree-optimization/106164 + * match.pd (`(X CMP1 CST1) AND/IOR (X CMP2 CST2)`): + Expand to support constants that are off by one. + +2023-09-14 Andrew Pinski + + * genmatch.cc (parser::parse_result): For an else clause + of an if statement inside a switch, error out explictly. + +2023-09-14 Juzhe-Zhong + + * config/riscv/autovec-opt.md: Add VLS mask modes. + * config/riscv/autovec.md (@vcond_mask_): Remove @. + (vcond_mask_): Add VLS mask modes. + * config/riscv/vector.md: Ditto. + +2023-09-14 Richard Biener + + PR tree-optimization/111294 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Track + operands that eventually become dead and use simple_dce_from_worklist + to remove their definitions if they did so. + +2023-09-14 Richard Sandiford + + * config/aarch64/aarch64-sve.md (@aarch64_vec_duplicate_vq_le): + Accept all nonimmediate_operands, but keep the existing constraints. + If the instruction is split before RA, load invalid addresses into + a temporary register. + * config/aarch64/predicates.md (aarch64_sve_dup_ld1rq_operand): Delete. + +2023-09-14 Juzhe-Zhong + + PR target/111395 + * config/riscv/riscv-vsetvl.cc (avl_info::operator==): Fix ICE. + (vector_insn_info::global_merge): Ditto. + (vector_insn_info::get_avl_or_vl_reg): Ditto. + +2023-09-14 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::global_eliminate_vsetvl_insn): Format it. + +2023-09-14 Lulu Cheng + + * config/loongarch/loongarch-def.c: Modify the default value of + branch_cost. + +2023-09-14 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.cc (xtensa_expand_scc): + Revert the changes from the last patch, as the work in the RTL + expansion pass is too far to determine the physical registers. + * config/xtensa/xtensa.md (*eqne_INT_MIN): Ditto. + (eq_zero_NSA, eqne_zero, *eqne_zero_masked_bits): New patterns. + +2023-09-14 Lulu Cheng + + PR target/111334 + * config/loongarch/loongarch.md: Fix bug of 'di3_fake'. + +2023-09-13 Juzhe-Zhong + + * config/riscv/autovec.md (vec_extract): Add VLS modes. + (@vec_extract): Ditto. + * config/riscv/vector.md: Ditto + +2023-09-13 Andrew Pinski + + * match.pd (`X <= MAX(X, Y)`): + Move before `MIN (X, C1) < C2` pattern. + +2023-09-13 Andrew Pinski + + PR tree-optimization/111364 + * match.pd (`MIN (X, Y) == X`): Extend + to min/lt, min/ge, max/gt, max/le. + +2023-09-13 Andrew Pinski + + PR tree-optimization/111345 + * match.pd (`Y > (X % Y)`): Merge + into ... + (`(X % Y) < Y`): Pattern by adding `:c` + on the comparison. + +2023-09-13 Richard Biener + + PR tree-optimization/111387 + * tree-vect-slp.cc (vect_get_and_check_slp_defs): Check + EDGE_DFS_BACK when doing BB vectorization. + (vect_slp_function): Use rev_post_order_and_mark_dfs_back_seme + to compute RPO and mark backedges. + +2023-09-13 Lehua Ding + + * config/riscv/autovec-opt.md (*cond_3_highpart): + New combine pattern. + * config/riscv/autovec.md (smul3_highpart): Mrege smul and umul. + (3_highpart): Merged pattern. + (umul3_highpart): Mrege smul and umul. + * config/riscv/vector-iterators.md (umul): New iterators. + (UNSPEC_VMULHU): New iterators. + +2023-09-13 Lehua Ding + + * config/riscv/autovec-opt.md (*cond_vtrunc): + New combine pattern. + (*cond_trunc): Ditto. + +2023-09-13 Lehua Ding + + * config/riscv/autovec-opt.md (*copysign_neg): Move. + (*cond_copysign): New combine pattern. + * config/riscv/riscv-v.cc (needs_fp_rounding): Extend. + +2023-09-13 Richard Biener + + PR tree-optimization/111397 + * tree-ssa-propagate.cc (may_propagate_copy): Change optional + argument to specify whether the PHI destination doesn't flow in + from an abnormal PHI. + (propagate_value): Adjust. + * tree-ssa-forwprop.cc (pass_forwprop::execute): Indicate abnormal + PHI dest. + * tree-ssa-sccvn.cc (eliminate_dom_walker::before_dom_children): + Likewise. + (process_bb): Likewise. + +2023-09-13 Pan Li + + PR target/111362 + * config/riscv/riscv.cc (riscv_emit_frm_mode_set): Bugfix. + +2023-09-13 Jiufu Guo + + PR tree-optimization/111303 + * match.pd ((X - N * M) / N): Add undefined_p checking. + ((X + N * M) / N): Likewise. + ((X + C) div_rshift N): Likewise. + +2023-09-12 Juzhe-Zhong + + PR target/111337 + * config/riscv/autovec.md (vcond_mask_): New pattern. + +2023-09-12 Martin Jambor + + * dbgcnt.def (form_fma): New. + * tree-ssa-math-opts.cc: Include dbgcnt.h. + (convert_mult_to_fma): Bail out if the debug counter say so. + +2023-09-12 Edwin Lu + + * config/riscv/autovec-opt.md: Update type + * config/riscv/riscv.cc (riscv_sched_variable_issue): Enable assert + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_save_regs_above_locals_p): + New function. + (aarch64_layout_frame): Use it to decide whether locals should + go above or below the saved registers. + (aarch64_expand_prologue): Update stack layout comment. + Emit a stack tie after the final adjustment. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::saved_regs_size) + (aarch64_frame::below_hard_fp_saved_regs_size): Delete. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Update accordingly. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::sve_save_and_probe) + (aarch64_frame::hard_fp_save_and_probe): New fields. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize them. + Rather than asserting that a leaf function saves LR, instead assert + that a leaf function saves something. + (aarch64_get_separate_components): Prevent the chosen probe + registers from being individually shrink-wrapped. + (aarch64_allocate_and_probe_stack_space): Remove workaround for + probe registers that aren't at the bottom of the previous allocation. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space): + Always probe the residual allocation at offset 1024, asserting + that that is in range. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_layout_frame): Ensure that + the LR save slot is in the first 16 bytes of the register save area. + Only form STP/LDP push/pop candidates if both registers are valid. + (aarch64_allocate_and_probe_stack_space): Remove workaround for + when LR was not in the first 16 bytes. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space): + Don't probe final allocations that are exactly 1KiB in size (after + unprobed space above the final allocation has been deducted). + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_layout_frame): Tweak + calculation of initial_adjust for frames in which all saves + are SVE saves. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_layout_frame): Simplify + the allocation of the top of the frame. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame): Add comment above + reg_offset. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Walk offsets + from the bottom of the frame, rather than the bottom of the saved + register area. Measure reg_offset from the bottom of the frame + rather than the bottom of the saved register area. + (aarch64_save_callee_saves): Update accordingly. + (aarch64_restore_callee_saves): Likewise. + (aarch64_get_separate_components): Likewise. + (aarch64_process_components): Likewise. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::frame_size): Tweak comment. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::hard_fp_offset): Rename + to... + (aarch64_frame::bytes_above_hard_fp): ...this. + * config/aarch64/aarch64.cc (aarch64_layout_frame) + (aarch64_expand_prologue): Update accordingly. + (aarch64_initial_elimination_offset): Likewise. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::locals_offset): Rename to... + (aarch64_frame::bytes_above_locals): ...this. + * config/aarch64/aarch64.cc (aarch64_layout_frame) + (aarch64_initial_elimination_offset): Update accordingly. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_expand_prologue): Move the + calculation of chain_offset into the emit_frame_chain block. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::callee_offset): Delete. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Remove + callee_offset handling. + (aarch64_save_callee_saves): Replace the start_offset parameter + with a bytes_below_sp parameter. + (aarch64_restore_callee_saves): Likewise. + (aarch64_expand_prologue): Update accordingly. + (aarch64_expand_epilogue): Likewise. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::bytes_below_hard_fp): New + field. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it. + (aarch64_expand_epilogue): Use it instead of + below_hard_fp_saved_regs_size. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::bytes_below_saved_regs): New + field. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it, + and use it instead of crtl->outgoing_args_size. + (aarch64_get_separate_components): Use bytes_below_saved_regs instead + of outgoing_args_size. + (aarch64_process_components): Likewise. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_layout_frame): Explicitly + allocate the frame in one go if there are no saved registers. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_expand_prologue): Use + chain_offset rather than callee_offset. + +2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_save_callee_saves): Use + a local shorthand for cfun->machine->frame. + (aarch64_restore_callee_saves, aarch64_get_separate_components): + (aarch64_process_components): Likewise. + (aarch64_allocate_and_probe_stack_space): Likewise. + (aarch64_expand_prologue, aarch64_expand_epilogue): Likewise. + (aarch64_layout_frame): Use existing shorthand for one more case. + +2023-09-12 Andrew Pinski + + PR tree-optimization/107881 + * match.pd (`(a CMP1 b) ^ (a CMP2 b)`): New pattern. + (`(a CMP1 b) == (a CMP2 b)`): New pattern. + +2023-09-12 Pan Li + + * config/riscv/riscv-vector-costs.h (struct range): Removed. + +2023-09-12 Juzhe-Zhong + + * config/riscv/riscv-vector-costs.cc (get_last_live_range): New function. + (compute_nregs_for_mode): Ditto. + (live_range_conflict_p): Ditto. + (max_number_of_live_regs): Ditto. + (compute_lmul): Ditto. + (costs::prefer_new_lmul_p): Ditto. + (costs::better_main_loop_than_p): Ditto. + * config/riscv/riscv-vector-costs.h (struct stmt_point): New struct. + (struct var_live_range): Ditto. + (struct autovec_info): Ditto. + * config/riscv/t-riscv: Update makefile for COST model. + +2023-09-12 Jakub Jelinek + + * fold-const.cc (range_check_type): Handle BITINT_TYPE like + OFFSET_TYPE. + +2023-09-12 Jakub Jelinek + + PR middle-end/111338 + * tree-ssa-sccvn.cc (struct vn_walk_cb_data): Add bufsize non-static + data member. + (vn_walk_cb_data::push_partial_def): Remove bufsize variable. + (visit_nary_op): Avoid the BIT_AND_EXPR with constant rhs2 + optimization if type's precision is too large for + vn_walk_cb_data::bufsize. + +2023-09-12 Gaius Mulley + + * doc/gm2.texi (Compiler options): Document new option + -Wcase-enum. + +2023-09-12 Thomas Schwinge + + * doc/sourcebuild.texi (stack_size): Update. + +2023-09-12 Christoph Müllner + + * config/riscv/bitmanip.md (*_not): Export INSN name. + (_not3): Likewise. + * config/riscv/riscv-protos.h (riscv_expand_strcmp): New + prototype. + * config/riscv/riscv-string.cc (GEN_EMIT_HELPER3): New helper + macros. + (GEN_EMIT_HELPER2): Likewise. + (emit_strcmp_scalar_compare_byte): New function. + (emit_strcmp_scalar_compare_subword): Likewise. + (emit_strcmp_scalar_compare_word): Likewise. + (emit_strcmp_scalar_load_and_compare): Likewise. + (emit_strcmp_scalar_call_to_libc): Likewise. + (emit_strcmp_scalar_result_calculation_nonul): Likewise. + (emit_strcmp_scalar_result_calculation): Likewise. + (riscv_expand_strcmp_scalar): Likewise. + (riscv_expand_strcmp): Likewise. + * config/riscv/riscv.md (*slt_): Export + INSN name. + (@slt_3): Likewise. + (cmpstrnsi): Invoke expansion function for str(n)cmp. + (cmpstrsi): Likewise. + * config/riscv/riscv.opt: Add new parameter + '-mstring-compare-inline-limit'. + * doc/invoke.texi: Document new parameter + '-mstring-compare-inline-limit'. + +2023-09-12 Christoph Müllner + + * config.gcc: Add new object riscv-string.o. + riscv-string.cc. + * config/riscv/riscv-protos.h (riscv_expand_strlen): + New function. + * config/riscv/riscv.md (strlen): New expand INSN. + * config/riscv/riscv.opt: New flag 'minline-strlen'. + * config/riscv/t-riscv: Add new object riscv-string.o. + * config/riscv/thead.md (th_rev2): Export INSN name. + (th_rev2): Likewise. + (th_tstnbz2): New INSN. + * doc/invoke.texi: Document '-minline-strlen'. + * emit-rtl.cc (emit_likely_jump_insn): New helper function. + (emit_unlikely_jump_insn): Likewise. + * rtl.h (emit_likely_jump_insn): New prototype. + (emit_unlikely_jump_insn): Likewise. + * config/riscv/riscv-string.cc: New file. + +2023-09-12 Thomas Schwinge + + * config/nvptx/nvptx.h (TARGET_USE_LOCAL_THUNK_ALIAS_P) + (TARGET_SUPPORTS_ALIASES): Define. + +2023-09-12 Thomas Schwinge + + * doc/sourcebuild.texi (check-function-bodies): Update. + +2023-09-12 Tobias Burnus + + * gimplify.cc (gimplify_bind_expr): Check for + insertion after variable cleanup. Convert 'omp allocate' + var-decl attribute to GOMP_alloc/GOMP_free calls. + +2023-09-12 xuli + + * config/riscv/riscv-vector-builtins-bases.cc: remove unused + parameter e and replace NULL_RTX with gcc_unreachable. + +2023-09-12 xuli + + * config/riscv/riscv-vector-builtins-bases.cc (class vcreate): New class. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vcreate): Add vcreate support. + * config/riscv/riscv-vector-builtins-shapes.cc (struct vcreate_def): Ditto. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc: Add args type. + +2023-09-12 Fei Gao + + * config/riscv/riscv.cc + (riscv_avoid_shrink_wrapping_separate): wrap the condition check in + riscv_avoid_shrink_wrapping_separate. + (riscv_avoid_multi_push):avoid multi push if shrink_wrapping_separate + is active. + (riscv_get_separate_components):call riscv_avoid_shrink_wrapping_separate + +2023-09-12 Fei Gao + + * shrink-wrap.cc (try_shrink_wrapping_separate):call + use_shrink_wrapping_separate. + (use_shrink_wrapping_separate): wrap the condition + check in use_shrink_wrapping_separate. + * shrink-wrap.h (use_shrink_wrapping_separate): add to extern + +2023-09-11 Andrew Pinski + + PR tree-optimization/111348 + * match.pd (`(a CMP b) ? minmax : minmax`): Add :c on + the cmp part of the pattern. + +2023-09-11 Uros Bizjak + + PR target/111340 + * config/i386/i386.cc (output_pic_addr_const): Handle CONST_WIDE_INT. + Call output_addr_const for CASE_CONST_SCALAR_INT. + +2023-09-11 Edwin Lu + + * config/riscv/thead.md: Update types + +2023-09-11 Edwin Lu + + * config/riscv/riscv.md: Update types + +2023-09-11 Edwin Lu + + * config/riscv/riscv.md: Add "zicond" type + * config/riscv/zicond.md: Update types + +2023-09-11 Edwin Lu + + * config/riscv/riscv.md: Add "pushpop" and "mvpair" types + * config/riscv/zc.md: Update types + +2023-09-11 Edwin Lu + + * config/riscv/autovec-opt.md: Update types + * config/riscv/autovec.md: likewise + +2023-09-11 Stefan Schulze Frielinghaus + + * config/s390/s390-builtins.def (s390_vec_signed_flt): Fix + builtin flag. + (s390_vec_unsigned_flt): Ditto. + (s390_vec_revb_flt): Ditto. + (s390_vec_reve_flt): Ditto. + (s390_vclfnhs): Fix operand flags. + (s390_vclfnls): Ditto. + (s390_vcrnfs): Ditto. + (s390_vcfn): Ditto. + (s390_vcnf): Ditto. + +2023-09-11 Stefan Schulze Frielinghaus + + * config/s390/s390-builtins.def (O_U64): New. + (O1_U64): Ditto. + (O2_U64): Ditto. + (O3_U64): Ditto. + (O4_U64): Ditto. + (O_M12): Change bit position. + (O_S2): Ditto. + (O_S3): Ditto. + (O_S4): Ditto. + (O_S5): Ditto. + (O_S8): Ditto. + (O_S12): Ditto. + (O_S16): Ditto. + (O_S32): Ditto. + (O_ELEM): Ditto. + (O_LIT): Ditto. + (OB_DEF_VAR): Add operand constraints. + (B_DEF): Ditto. + * config/s390/s390.cc (s390_const_operand_ok): Honour 64 bit + operands. + +2023-09-11 Andrew Pinski + + PR tree-optimization/111349 + * match.pd (`(a CMP CST1) ? max : a`): Add :c on + the cmp part of the pattern. + +2023-09-11 Juzhe-Zhong + + PR target/111311 + * config/riscv/riscv.opt: Set default as scalable vectorization. + +2023-09-11 Juzhe-Zhong + + * config/riscv/riscv-protos.h (get_all_predecessors): Remove. + (get_all_successors): Ditto. + * config/riscv/riscv-v.cc (get_all_predecessors): Ditto. + (get_all_successors): Ditto. + +2023-09-11 Jakub Jelinek + + PR middle-end/111329 + * pretty-print.h (pp_wide_int): Rewrite from macro into inline + function. For printing values which don't fit into digit_buffer + use out-of-line function. + * wide-int-print.h (pp_wide_int_large): Declare. + * wide-int-print.cc: Include pretty-print.h. + (pp_wide_int_large): Define. + +2023-09-11 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::global_eliminate_vsetvl_insn): + Use dominance analysis. + (pass_vsetvl::init): Ditto. + (pass_vsetvl::done): Ditto. + +2023-09-11 Juzhe-Zhong + + PR target/111311 + * config/riscv/autovec.md: Add VLS modes. + * config/riscv/riscv-protos.h (cmp_lmul_le_one): New function. + (cmp_lmul_gt_one): Ditto. + * config/riscv/riscv-v.cc (cmp_lmul_le_one): Ditto. + (cmp_lmul_gt_one): Ditto. + * config/riscv/riscv.cc (riscv_print_operand): Add VLS modes. + (riscv_vectorize_vec_perm_const): Ditto. + * config/riscv/vector-iterators.md: Ditto. + * config/riscv/vector.md: Ditto. + +2023-09-11 Juzhe-Zhong + + * config/riscv/autovec-vls.md (*mov_vls): New pattern. + * config/riscv/vector-iterators.md: New iterator + +2023-09-11 Andrew Pinski + + PR tree-optimization/111346 + * match.pd (`X CMP MINMAX`): Add `:c` on the cmp part + of the pattern + +2023-09-11 liuhongt + + PR target/111306 + PR target/111335 + * config/i386/sse.md (int_comm): New int_attr. + (fma__): + Remove % for Complex conjugate operations since they're not + commutative. + (fma___pair): Ditto. + (___mask): Ditto. + (cmul3): Ditto. + +2023-09-10 Juzhe-Zhong + + * config/riscv/riscv-v.cc (shuffle_generic_patterns): Expand + fixed-vlmax/vls vector permutation. + +2023-09-10 Juzhe-Zhong + + * config/riscv/riscv-v.cc (shuffle_compress_patterns): Avoid unnecessary slideup. + +2023-09-10 Andrew Pinski + + PR tree-optimization/111331 + * match.pd (`(a CMP CST1) ? max : a`): + Fix the LE/GE comparison to the correct value. + * tree-ssa-phiopt.cc (minmax_replacement): + Fix the LE/GE comparison for the + `(a CMP CST1) ? max : a` optimization. + +2023-09-10 Iain Sandoe + + * config/darwin.cc (darwin_function_section): Place unlikely + executed global init code into the standard cold section. + +2023-09-10 Juzhe-Zhong + + PR target/111311 + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::vsetvl_fusion): Add TDF_DETAILS. + (pass_vsetvl::pre_vsetvl): Ditto. + (pass_vsetvl::init): Ditto. + (pass_vsetvl::lazy_vsetvl): Ditto. + +2023-09-09 Lulu Cheng + + * config/loongarch/loongarch.md (mulsidi3_64bit): + Field unsigned extension support. + (muldi3_highpart): Modify template name. + (mulsi3_highpart): Likewise. + (mulsidi3_64bit): Field unsigned extension support. + (muldi3_highpart): Modify muldi3_highpart to + smuldi3_highpart. + (mulsi3_highpart): Modify mulsi3_highpart to + smulsi3_highpart. + +2023-09-09 Xi Ruoyao + + * config/loongarch/loongarch.cc (loongarch_block_move_straight): + Check precondition (delta must be a power of 2) and use + popcount_hwi instead of a homebrew loop. + +2023-09-09 Xi Ruoyao + + * config/loongarch/loongarch.h (LARCH_MAX_MOVE_PER_INSN): + Define to the maximum amount of bytes able to be loaded or + stored with one machine instruction. + * config/loongarch/loongarch.cc (loongarch_mode_for_move_size): + New static function. + (loongarch_block_move_straight): Call + loongarch_mode_for_move_size for machine_mode to be moved. + (loongarch_expand_block_move): Use LARCH_MAX_MOVE_PER_INSN + instead of UNITS_PER_WORD. + +2023-09-09 Juzhe-Zhong + + * config/riscv/vector-iterators.md: Fix floating-point operations predicate. + +2023-09-09 Lehua Ding + + * fold-const.cc (can_min_p): New function. + (poly_int_binop): Try fold MIN_EXPR. + +2023-09-08 Aldy Hernandez + + * range-op-float.cc (foperator_ltgt::fold_range): Do not special + case VREL_EQ nor call frelop_early_resolve. + +2023-09-08 Christoph Müllner + + * config/riscv/thead.md (*extend2_th_ext): + Remove broken INSN. + (*extendhi2_th_ext): New INSN. + (*extendqi2_th_ext): New INSN. + +2023-09-08 Christoph Müllner + + * config/riscv/thead.md: Use more appropriate mode attributes + for extensions. + +2023-09-08 Guo Jie + + * common/config/loongarch/loongarch-common.cc: + (default_options loongarch_option_optimization_table): + Default to -fsched-pressure. + +2023-09-08 Yang Yujie + + * config.gcc: remove non-POSIX syntax "<<<". + +2023-09-08 Christoph Müllner + + * config/riscv/bitmanip.md (*extend2_zbb): + Rename postfix to _bitmanip. + (*extend2_bitmanip): Renamed pattern. + (*zero_extendhi2_zbb): Remove duplicated pattern. + +2023-09-08 Juzhe-Zhong + + * config/riscv/riscv.cc (riscv_pass_in_vector_p): Only allow RVV type. + +2023-09-08 Juzhe-Zhong + + * config/riscv/riscv.cc (riscv_hard_regno_nregs): Fix bug. + +2023-09-07 liuhongt + + * config/i386/sse.md + (_vpermt2var3): New define_insn. + (VHFBF_AVX512VL): New mode iterator. + (VI2HFBF_AVX512VL): New mode iterator. + +2023-09-07 Aldy Hernandez + + * value-range.h (contains_zero_p): Return false for undefined ranges. + * range-op-float.cc (operator_gt::op1_op2_relation): Adjust for + contains_zero_p change above. + (operator_ge::op1_op2_relation): Same. + (operator_equal::op1_op2_relation): Same. + (operator_not_equal::op1_op2_relation): Same. + (operator_lt::op1_op2_relation): Same. + (operator_le::op1_op2_relation): Same. + (operator_ge::op1_op2_relation): Same. + * range-op.cc (operator_equal::op1_op2_relation): Same. + (operator_not_equal::op1_op2_relation): Same. + (operator_lt::op1_op2_relation): Same. + (operator_le::op1_op2_relation): Same. + (operator_cast::op1_range): Same. + (set_nonzero_range_from_mask): Same. + (operator_bitwise_xor::op1_range): Same. + (operator_addr_expr::fold_range): Same. + (operator_addr_expr::op1_range): Same. + +2023-09-07 Andrew MacLeod + + PR tree-optimization/110875 + * gimple-range.cc (gimple_ranger::prefill_name): Only invoke + cache-prefilling routine when the ssa-name has no global value. + +2023-09-07 Vladimir N. Makarov + + PR target/111225 + * lra-constraints.cc (goal_reuse_alt_p): New global flag. + (process_alt_operands): Set up the flag. Clear flag for chosen + alternative with special memory constraints. + (process_alt_operands): Set up used insn alternative depending on the flag. + +2023-09-07 Juzhe-Zhong + + * config/riscv/autovec-vls.md: Add VLS mask modes mov patterns. + * config/riscv/riscv.md: Ditto. + * config/riscv/vector-iterators.md: Ditto. + * config/riscv/vector.md: Ditto. + +2023-09-07 David Malcolm + + * diagnostic-core.h (error_meta): New decl. + * diagnostic.cc (error_meta): New. + +2023-09-07 Jakub Jelinek + + PR c/102989 + * expr.cc (expand_expr_real_1): Don't call targetm.c.bitint_type_info + inside gcc_assert, as later code relies on it filling info variable. + * gimple-fold.cc (clear_padding_bitint_needs_padding_p, + clear_padding_type): Likewise. + * varasm.cc (output_constant): Likewise. + * fold-const.cc (native_encode_int, native_interpret_int): Likewise. + * stor-layout.cc (finish_bitfield_representative, layout_type): + Likewise. + * gimple-lower-bitint.cc (bitint_precision_kind): Likewise. + +2023-09-07 Xi Ruoyao + + PR target/111252 + * config/loongarch/loongarch-protos.h + (loongarch_pre_reload_split): Declare new function. + (loongarch_use_bstrins_for_ior_with_mask): Likewise. + * config/loongarch/loongarch.cc + (loongarch_pre_reload_split): Implement. + (loongarch_use_bstrins_for_ior_with_mask): Likewise. + * config/loongarch/predicates.md (ins_zero_bitmask_operand): + New predicate. + * config/loongarch/loongarch.md (bstrins__for_mask): + New define_insn_and_split. + (bstrins__for_ior_mask): Likewise. + (define_peephole2): Further optimize code sequence produced by + bstrins__for_ior_mask if possible. + +2023-09-07 Richard Sandiford + + * lra-eliminations.cc (lra_eliminate_regs_1): Use simplify_gen_binary + rather than gen_rtx_PLUS. + +2023-09-07 Juzhe-Zhong + + PR target/111313 + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::cleanup_earliest_vsetvls): Remove. + (pass_vsetvl::df_post_optimization): Remove incorrect function. + +2023-09-07 Tsukasa OI + + * common/config/riscv/riscv-common.cc (riscv_ext_flag_table): + Parse 'XVentanaCondOps' extension. + * config/riscv/riscv-opts.h (MASK_XVENTANACONDOPS): New. + (TARGET_XVENTANACONDOPS): Ditto. + (TARGET_ZICOND_LIKE): New to represent targets with conditional + moves like 'Zicond'. It includes RV64 + 'XVentanaCondOps'. + * config/riscv/riscv.cc (riscv_rtx_costs): Replace TARGET_ZICOND + with TARGET_ZICOND_LIKE. + (riscv_expand_conditional_move): Ditto. + * config/riscv/riscv.md (movcc): Replace TARGET_ZICOND with + TARGET_ZICOND_LIKE. + * config/riscv/riscv.opt: Add new riscv_xventana_subext. + * config/riscv/zicond.md: Modify description. + (eqz_ventana): New to match corresponding czero instructions. + (nez_ventana): Ditto. + (*czero..): Emit a 'XVentanaCondOps' instruction if + 'Zicond' is not available but 'XVentanaCondOps' + RV64 is. + (*czero..): Ditto. + (*czero.eqz..opt1): Ditto. + (*czero.nez..opt2): Ditto. + +2023-09-06 Ian Lance Taylor + + PR go/111310 + * godump.cc (go_format_type): Handle BITINT_TYPE. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * tree.cc (build_one_cst, build_minus_one_cst): Handle BITINT_TYPE + like INTEGER_TYPE. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * gimple-lower-bitint.cc (bitint_large_huge::if_then_else, + bitint_large_huge::if_then_if_then_else): Use make_single_succ_edge + rather than make_edge, initialize bb->count. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * doc/libgcc.texi (Bit-precise integer arithmetic functions): + Document general rules for _BitInt support library functions + and document __mulbitint3 and __divmodbitint4. + (Conversion functions): Document __fix{s,d,x,t}fbitint, + __floatbitint{s,d,x,t,h,b}f, __bid_fix{s,d,t}dbitint and + __bid_floatbitint{s,d,t}d. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * glimits.h (BITINT_MAXWIDTH): Define if __BITINT_MAXWIDTH__ is + predefined. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * internal-fn.cc (expand_ubsan_result_store): Add LHS, MODE and + DO_ERROR arguments. For non-mode precision BITINT_TYPE results + check if all padding bits up to mode precision are zeros or sign + bit copies and if not, jump to DO_ERROR. + (expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow): + Adjust expand_ubsan_result_store callers. + * ubsan.cc: Include target.h and langhooks.h. + (ubsan_encode_value): Pass BITINT_TYPE values which fit into pointer + size converted to pointer sized integer, pass BITINT_TYPE values + which fit into TImode (if supported) or DImode as those integer types + or otherwise for now punt (pass 0). + (ubsan_type_descriptor): Handle BITINT_TYPE. For pstyle of + UBSAN_PRINT_FORCE_INT use TK_Integer (0x0000) mode with a + TImode/DImode precision rather than TK_Unknown used otherwise for + large/huge BITINT_TYPEs. + (instrument_si_overflow): Instrument BITINT_TYPE operations even when + they don't have mode precision. + * ubsan.h (enum ubsan_print_style): New enumerator. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * config/i386/i386.cc (classify_argument): Handle BITINT_TYPE. + (ix86_bitint_type_info): New function. + (TARGET_C_BITINT_TYPE_INFO): Redefine. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * Makefile.in (OBJS): Add gimple-lower-bitint.o. + * passes.def: Add pass_lower_bitint after pass_lower_complex and + pass_lower_bitint_O0 after pass_lower_complex_O0. + * tree-pass.h (PROP_gimple_lbitint): Define. + (make_pass_lower_bitint_O0, make_pass_lower_bitint): Declare. + * gimple-lower-bitint.h: New file. + * tree-ssa-live.h (struct _var_map): Add bitint member. + (init_var_map): Adjust declaration. + (region_contains_p): Handle map->bitint like map->outofssa_p. + * tree-ssa-live.cc (init_var_map): Add BITINT argument, initialize + map->bitint and set map->outofssa_p to false if it is non-NULL. + * tree-ssa-coalesce.cc: Include gimple-lower-bitint.h. + (build_ssa_conflict_graph): Call build_bitint_stmt_ssa_conflicts if + map->bitint. + (create_coalesce_list_for_region): For map->bitint ignore SSA_NAMEs + not in that bitmap, and allow res without default def. + (compute_optimized_partition_bases): In map->bitint mode try hard to + coalesce any SSA_NAMEs with the same size. + (coalesce_bitint): New function. + (coalesce_ssa_name): In map->bitint mode, or map->bitmap into + used_in_copies and call coalesce_bitint. + * gimple-lower-bitint.cc: New file. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * tree.def (BITINT_TYPE): New type. + * tree.h (TREE_CHECK6, TREE_NOT_CHECK6): Define. + (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Include + BITINT_TYPE. + (BITINT_TYPE_P): Define. + (CONSTRUCTOR_BITFIELD_P): Return true even for BLKmode bit-fields if + they have BITINT_TYPE type. + (tree_check6, tree_not_check6): New inline functions. + (any_integral_type_check): Include BITINT_TYPE. + (build_bitint_type): Declare. + * tree.cc (tree_code_size, wide_int_to_tree_1, cache_integer_cst, + build_zero_cst, type_hash_canon_hash, type_cache_hasher::equal, + type_hash_canon): Handle BITINT_TYPE. + (bitint_type_cache): New variable. + (build_bitint_type): New function. + (signed_or_unsigned_type_for, verify_type_variant, verify_type): + Handle BITINT_TYPE. + (tree_cc_finalize): Free bitint_type_cache. + * builtins.cc (type_to_class): Handle BITINT_TYPE. + (fold_builtin_unordered_cmp): Handle BITINT_TYPE like INTEGER_TYPE. + * cfgexpand.cc (expand_debug_expr): Punt on BLKmode BITINT_TYPE + INTEGER_CSTs. + * convert.cc (convert_to_pointer_1, convert_to_real_1, + convert_to_complex_1): Handle BITINT_TYPE like INTEGER_TYPE. + (convert_to_integer_1): Likewise. For BITINT_TYPE don't check + GET_MODE_PRECISION (TYPE_MODE (type)). + * doc/generic.texi (BITINT_TYPE): Document. + * doc/tm.texi.in (TARGET_C_BITINT_TYPE_INFO): New. + * doc/tm.texi: Regenerated. + * dwarf2out.cc (base_type_die, is_base_type, modified_type_die, + gen_type_die_with_usage): Handle BITINT_TYPE. + (rtl_for_decl_init): Punt on BLKmode BITINT_TYPE INTEGER_CSTs or + handle those which fit into shwi. + * expr.cc (expand_expr_real_1): Define EXTEND_BITINT macro, reduce + to bitfield precision reads from BITINT_TYPE vars, parameters or + memory locations. Expand large/huge BITINT_TYPE INTEGER_CSTs into + memory. + * fold-const.cc (fold_convert_loc, make_range_step): Handle + BITINT_TYPE. + (extract_muldiv_1): For BITINT_TYPE use TYPE_PRECISION rather than + GET_MODE_SIZE (SCALAR_INT_TYPE_MODE). + (native_encode_int, native_interpret_int, native_interpret_expr): + Handle BITINT_TYPE. + * gimple-expr.cc (useless_type_conversion_p): Make BITINT_TYPE + to some other integral type or vice versa conversions non-useless. + * gimple-fold.cc (gimple_fold_builtin_memset): Punt for BITINT_TYPE. + (clear_padding_unit): Mention in comment that _BitInt types don't need + to fit either. + (clear_padding_bitint_needs_padding_p): New function. + (clear_padding_type_may_have_padding_p): Handle BITINT_TYPE. + (clear_padding_type): Likewise. + * internal-fn.cc (expand_mul_overflow): For unsigned non-mode + precision operands force pos_neg? to 1. + (expand_MULBITINT, expand_DIVMODBITINT, expand_FLOATTOBITINT, + expand_BITINTTOFLOAT): New functions. + * internal-fn.def (MULBITINT, DIVMODBITINT, FLOATTOBITINT, + BITINTTOFLOAT): New internal functions. + * internal-fn.h (expand_MULBITINT, expand_DIVMODBITINT, + expand_FLOATTOBITINT, expand_BITINTTOFLOAT): Declare. + * match.pd (non-equality compare simplifications from fold_binary): + Punt if TYPE_MODE (arg1_type) is BLKmode. + * pretty-print.h (pp_wide_int): Handle printing of large precision + wide_ints which would buffer overflow digit_buffer. + * stor-layout.cc (finish_bitfield_representative): For bit-fields + with BITINT_TYPE, prefer representatives with precisions in + multiple of limb precision. + (layout_type): Handle BITINT_TYPE. Handle COMPLEX_TYPE with BLKmode + element type and assert it is BITINT_TYPE. + * target.def (bitint_type_info): New C target hook. + * target.h (struct bitint_info): New type. + * targhooks.cc (default_bitint_type_info): New function. + * targhooks.h (default_bitint_type_info): Declare. + * tree-pretty-print.cc (dump_generic_node): Handle BITINT_TYPE. + Handle printing large wide_ints which would buffer overflow + digit_buffer. + * tree-ssa-sccvn.cc: Include target.h. + (eliminate_dom_walker::eliminate_stmt): Punt for large/huge + BITINT_TYPE. + * tree-switch-conversion.cc (jump_table_cluster::emit): For more than + 64-bit BITINT_TYPE subtract low bound from expression and cast to + 64-bit integer type both the controlling expression and case labels. + * typeclass.h (enum type_class): Add bitint_type_class enumerator. + * varasm.cc (output_constant): Handle BITINT_TYPE INTEGER_CSTs. + * vr-values.cc (check_for_binary_op_overflow): Use widest2_int rather + than widest_int. + (simplify_using_ranges::simplify_internal_call_using_ranges): Use + unsigned_type_for rather than build_nonstandard_integer_type. + +2023-09-06 Juzhe-Zhong + + PR target/111296 + * config/riscv/riscv.cc (riscv_modes_tieable_p): Fix incorrect mode + tieable for RVV modes. + +2023-09-06 Juzhe-Zhong + + PR target/111295 + * config/riscv/riscv-vsetvl.cc (insert_vsetvl): Bug fix. + +2023-09-06 Juzhe-Zhong + + * config/riscv/riscv-vector-switch.def (VLS_ENTRY): Remove TARGET_64BIT + +2023-09-06 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.cc (xtensa_expand_scc): + Add code for particular constants (only 0 and INT_MIN for now) + for EQ/NE boolean evaluation in SImode. + * config/xtensa/xtensa.md (*eqne_INT_MIN): Remove because its + implementation has been integrated into the above. + +2023-09-06 Lehua Ding + + PR target/111232 + * config/riscv/autovec-opt.md (@pred_single_widen_mul): + Delete. + (*pred_widen_mulsu): Delete. + (*pred_single_widen_mul): Delete. + (*dual_widen_): + Add new combine patterns. + (*single_widen_sub): Ditto. + (*single_widen_add): Ditto. + (*single_widen_mult): Ditto. + (*dual_widen_mulsu): Ditto. + (*dual_widen_mulus): Ditto. + (*dual_widen_): Ditto. + (*single_widen_add): Ditto. + (*single_widen_sub): Ditto. + (*single_widen_mult): Ditto. + * config/riscv/autovec.md (3): + Change define_expand to define_insn_and_split. + (2): Ditto. + (abs2): Ditto. + (smul3_highpart): Ditto. + (umul3_highpart): Ditto. + +2023-09-06 Lehua Ding + + * config/riscv/riscv-protos.h (riscv_declare_function_name): Add protos. + (riscv_asm_output_alias): Ditto. + (riscv_asm_output_external): Ditto. + * config/riscv/riscv.cc (riscv_asm_output_variant_cc): + Output .variant_cc directive for vector function. + (riscv_declare_function_name): Ditto. + (riscv_asm_output_alias): Ditto. + (riscv_asm_output_external): Ditto. + * config/riscv/riscv.h (ASM_DECLARE_FUNCTION_NAME): + Implement ASM_DECLARE_FUNCTION_NAME. + (ASM_OUTPUT_DEF_FROM_DECLS): Implement ASM_OUTPUT_DEF_FROM_DECLS. + (ASM_OUTPUT_EXTERNAL): Implement ASM_OUTPUT_EXTERNAL. + +2023-09-06 Lehua Ding + + * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls): Pass riscv_cc. + * config/riscv/riscv.cc (struct riscv_frame_info): Add new fileds. + (riscv_frame_info::reset): Reset new fileds. + (riscv_call_tls_get_addr): Pass riscv_cc. + (riscv_function_arg): Return riscv_cc for call patterm. + (get_riscv_cc): New function return riscv_cc from rtl call_insn. + (riscv_insn_callee_abi): Implement TARGET_INSN_CALLEE_ABI. + (riscv_save_reg_p): Add vector callee-saved check. + (riscv_stack_align): Add vector save area comment. + (riscv_compute_frame_info): Ditto. + (riscv_restore_reg): Update for type change. + (riscv_for_each_saved_v_reg): New function save vector registers. + (riscv_first_stack_step): Handle funciton with vector callee-saved registers. + (riscv_expand_prologue): Ditto. + (riscv_expand_epilogue): Ditto. + (riscv_output_mi_thunk): Pass riscv_cc. + (TARGET_INSN_CALLEE_ABI): Implement TARGET_INSN_CALLEE_ABI. + * config/riscv/riscv.h (get_riscv_cc): Export get_riscv_cc function. + * config/riscv/riscv.md: Add CALLEE_CC operand for call pattern. + +2023-09-06 Lehua Ding + + * config/riscv/riscv-protos.h (builtin_type_p): New function for checking vector type. + * config/riscv/riscv-vector-builtins.cc (builtin_type_p): Ditto. + * config/riscv/riscv.cc (struct riscv_arg_info): New fields. + (riscv_init_cumulative_args): Setup variant_cc field. + (riscv_vector_type_p): New function for checking vector type. + (riscv_hard_regno_nregs): Hoist declare. + (riscv_get_vector_arg): Subroutine of riscv_get_arg_info. + (riscv_get_arg_info): Support vector cc. + (riscv_function_arg_advance): Update cum. + (riscv_pass_by_reference): Handle vector args. + (riscv_v_abi): New function return vector abi. + (riscv_return_value_is_vector_type_p): New function for check vector arguments. + (riscv_arguments_is_vector_type_p): New function for check vector returns. + (riscv_fntype_abi): Implement TARGET_FNTYPE_ABI. + (TARGET_FNTYPE_ABI): Implement TARGET_FNTYPE_ABI. + * config/riscv/riscv.h (GCC_RISCV_H): Define macros for vector abi. + (MAX_ARGS_IN_VECTOR_REGISTERS): Ditto. + (MAX_ARGS_IN_MASK_REGISTERS): Ditto. + (V_ARG_FIRST): Ditto. + (V_ARG_LAST): Ditto. + (enum riscv_cc): Define all RISCV_CC variants. + * config/riscv/riscv.opt: Add --param=riscv-vector-abi. + +2023-09-06 Lehua Ding + + * config/riscv/autovec-opt.md (*cond_): + Add sqrt + vcond_mask combine pattern. + * config/riscv/autovec.md (2): + Change define_expand to define_insn_and_split. + +2023-09-06 Jason Merrill + + * common.opt: Update -fabi-version=19. + +2023-09-06 Tsukasa OI + + * config/riscv/zicond.md: Add closing parent to a comment. + +2023-09-06 Tsukasa OI + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Force + large constant cons/alt into a register. + +2023-09-05 Christoph Müllner + + * config/riscv/riscv.cc (riscv_build_integer_1): Don't + require one zero bit in the upper 32 bits for LI+RORI synthesis. + +2023-09-05 Jeff Law + + * config/riscv/bitmanip.md (bswapsi2): Expose for TARGET_64BIT. + +2023-09-05 Andrew Pinski + + PR tree-optimization/98710 + * match.pd (`(x | c) & ~(y | c)`, `(x & c) | ~(y & c)`): New pattern. + (`x & ~(y | x)`, `x | ~(y & x)`): New patterns. + +2023-09-05 Andrew Pinski + + PR tree-optimization/103536 + * match.pd (`(x | y) & (x & z)`, + `(x & y) | (x | z)`): New patterns. + +2023-09-05 Andrew Pinski + + PR tree-optimization/107137 + * match.pd (`(nop_convert)-(convert)a`): New pattern. + +2023-09-05 Andrew Pinski + + PR tree-optimization/96694 + * match.pd (`~MAX(~X, Y)`, `~MIN(~X, Y)`): New patterns. + +2023-09-05 Andrew Pinski + + PR tree-optimization/105832 + * match.pd (`(1 >> X) != 0`): New pattern + +2023-09-05 Edwin Lu + + * config/riscv/riscv.md: Update/Add types + +2023-09-05 Edwin Lu + + * config/riscv/pic.md: Update types + +2023-09-05 Christoph Müllner + + * config/riscv/riscv.cc (riscv_build_integer_1): Enable constant + synthesis with rotate-right for XTheadBb. + +2023-09-05 Vineet Gupta + + * config/riscv/zicond.md: Fix op2 pattern. + +2023-09-05 Szabolcs Nagy + + * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): Remove dup. + +2023-09-05 Xi Ruoyao + + * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS): + Define to 0 if not defined yet. + +2023-09-05 Kito Cheng + + * config/riscv/linux.h (TARGET_ASM_FILE_END): Move ... + * config/riscv/riscv.cc (TARGET_ASM_FILE_END): to here. + +2023-09-05 Pan Li + + * config/riscv/autovec-vls.md (copysign3): New pattern. + * config/riscv/vector.md: Extend iterator for VLS. + +2023-09-05 Lulu Cheng + + * config.gcc: Export the header file lasxintrin.h. + * config/loongarch/loongarch-builtins.cc (enum loongarch_builtin_type): + Add Loongson ASX builtin functions support. + (AVAIL_ALL): Ditto. + (LASX_BUILTIN): Ditto. + (LASX_NO_TARGET_BUILTIN): Ditto. + (LASX_BUILTIN_TEST_BRANCH): Ditto. + (CODE_FOR_lasx_xvsadd_b): Ditto. + (CODE_FOR_lasx_xvsadd_h): Ditto. + (CODE_FOR_lasx_xvsadd_w): Ditto. + (CODE_FOR_lasx_xvsadd_d): Ditto. + (CODE_FOR_lasx_xvsadd_bu): Ditto. + (CODE_FOR_lasx_xvsadd_hu): Ditto. + (CODE_FOR_lasx_xvsadd_wu): Ditto. + (CODE_FOR_lasx_xvsadd_du): Ditto. + (CODE_FOR_lasx_xvadd_b): Ditto. + (CODE_FOR_lasx_xvadd_h): Ditto. + (CODE_FOR_lasx_xvadd_w): Ditto. + (CODE_FOR_lasx_xvadd_d): Ditto. + (CODE_FOR_lasx_xvaddi_bu): Ditto. + (CODE_FOR_lasx_xvaddi_hu): Ditto. + (CODE_FOR_lasx_xvaddi_wu): Ditto. + (CODE_FOR_lasx_xvaddi_du): Ditto. + (CODE_FOR_lasx_xvand_v): Ditto. + (CODE_FOR_lasx_xvandi_b): Ditto. + (CODE_FOR_lasx_xvbitsel_v): Ditto. + (CODE_FOR_lasx_xvseqi_b): Ditto. + (CODE_FOR_lasx_xvseqi_h): Ditto. + (CODE_FOR_lasx_xvseqi_w): Ditto. + (CODE_FOR_lasx_xvseqi_d): Ditto. + (CODE_FOR_lasx_xvslti_b): Ditto. + (CODE_FOR_lasx_xvslti_h): Ditto. + (CODE_FOR_lasx_xvslti_w): Ditto. + (CODE_FOR_lasx_xvslti_d): Ditto. + (CODE_FOR_lasx_xvslti_bu): Ditto. + (CODE_FOR_lasx_xvslti_hu): Ditto. + (CODE_FOR_lasx_xvslti_wu): Ditto. + (CODE_FOR_lasx_xvslti_du): Ditto. + (CODE_FOR_lasx_xvslei_b): Ditto. + (CODE_FOR_lasx_xvslei_h): Ditto. + (CODE_FOR_lasx_xvslei_w): Ditto. + (CODE_FOR_lasx_xvslei_d): Ditto. + (CODE_FOR_lasx_xvslei_bu): Ditto. + (CODE_FOR_lasx_xvslei_hu): Ditto. + (CODE_FOR_lasx_xvslei_wu): Ditto. + (CODE_FOR_lasx_xvslei_du): Ditto. + (CODE_FOR_lasx_xvdiv_b): Ditto. + (CODE_FOR_lasx_xvdiv_h): Ditto. + (CODE_FOR_lasx_xvdiv_w): Ditto. + (CODE_FOR_lasx_xvdiv_d): Ditto. + (CODE_FOR_lasx_xvdiv_bu): Ditto. + (CODE_FOR_lasx_xvdiv_hu): Ditto. + (CODE_FOR_lasx_xvdiv_wu): Ditto. + (CODE_FOR_lasx_xvdiv_du): Ditto. + (CODE_FOR_lasx_xvfadd_s): Ditto. + (CODE_FOR_lasx_xvfadd_d): Ditto. + (CODE_FOR_lasx_xvftintrz_w_s): Ditto. + (CODE_FOR_lasx_xvftintrz_l_d): Ditto. + (CODE_FOR_lasx_xvftintrz_wu_s): Ditto. + (CODE_FOR_lasx_xvftintrz_lu_d): Ditto. + (CODE_FOR_lasx_xvffint_s_w): Ditto. + (CODE_FOR_lasx_xvffint_d_l): Ditto. + (CODE_FOR_lasx_xvffint_s_wu): Ditto. + (CODE_FOR_lasx_xvffint_d_lu): Ditto. + (CODE_FOR_lasx_xvfsub_s): Ditto. + (CODE_FOR_lasx_xvfsub_d): Ditto. + (CODE_FOR_lasx_xvfmul_s): Ditto. + (CODE_FOR_lasx_xvfmul_d): Ditto. + (CODE_FOR_lasx_xvfdiv_s): Ditto. + (CODE_FOR_lasx_xvfdiv_d): Ditto. + (CODE_FOR_lasx_xvfmax_s): Ditto. + (CODE_FOR_lasx_xvfmax_d): Ditto. + (CODE_FOR_lasx_xvfmin_s): Ditto. + (CODE_FOR_lasx_xvfmin_d): Ditto. + (CODE_FOR_lasx_xvfsqrt_s): Ditto. + (CODE_FOR_lasx_xvfsqrt_d): Ditto. + (CODE_FOR_lasx_xvflogb_s): Ditto. + (CODE_FOR_lasx_xvflogb_d): Ditto. + (CODE_FOR_lasx_xvmax_b): Ditto. + (CODE_FOR_lasx_xvmax_h): Ditto. + (CODE_FOR_lasx_xvmax_w): Ditto. + (CODE_FOR_lasx_xvmax_d): Ditto. + (CODE_FOR_lasx_xvmaxi_b): Ditto. + (CODE_FOR_lasx_xvmaxi_h): Ditto. + (CODE_FOR_lasx_xvmaxi_w): Ditto. + (CODE_FOR_lasx_xvmaxi_d): Ditto. + (CODE_FOR_lasx_xvmax_bu): Ditto. + (CODE_FOR_lasx_xvmax_hu): Ditto. + (CODE_FOR_lasx_xvmax_wu): Ditto. + (CODE_FOR_lasx_xvmax_du): Ditto. + (CODE_FOR_lasx_xvmaxi_bu): Ditto. + (CODE_FOR_lasx_xvmaxi_hu): Ditto. + (CODE_FOR_lasx_xvmaxi_wu): Ditto. + (CODE_FOR_lasx_xvmaxi_du): Ditto. + (CODE_FOR_lasx_xvmin_b): Ditto. + (CODE_FOR_lasx_xvmin_h): Ditto. + (CODE_FOR_lasx_xvmin_w): Ditto. + (CODE_FOR_lasx_xvmin_d): Ditto. + (CODE_FOR_lasx_xvmini_b): Ditto. + (CODE_FOR_lasx_xvmini_h): Ditto. + (CODE_FOR_lasx_xvmini_w): Ditto. + (CODE_FOR_lasx_xvmini_d): Ditto. + (CODE_FOR_lasx_xvmin_bu): Ditto. + (CODE_FOR_lasx_xvmin_hu): Ditto. + (CODE_FOR_lasx_xvmin_wu): Ditto. + (CODE_FOR_lasx_xvmin_du): Ditto. + (CODE_FOR_lasx_xvmini_bu): Ditto. + (CODE_FOR_lasx_xvmini_hu): Ditto. + (CODE_FOR_lasx_xvmini_wu): Ditto. + (CODE_FOR_lasx_xvmini_du): Ditto. + (CODE_FOR_lasx_xvmod_b): Ditto. + (CODE_FOR_lasx_xvmod_h): Ditto. + (CODE_FOR_lasx_xvmod_w): Ditto. + (CODE_FOR_lasx_xvmod_d): Ditto. + (CODE_FOR_lasx_xvmod_bu): Ditto. + (CODE_FOR_lasx_xvmod_hu): Ditto. + (CODE_FOR_lasx_xvmod_wu): Ditto. + (CODE_FOR_lasx_xvmod_du): Ditto. + (CODE_FOR_lasx_xvmul_b): Ditto. + (CODE_FOR_lasx_xvmul_h): Ditto. + (CODE_FOR_lasx_xvmul_w): Ditto. + (CODE_FOR_lasx_xvmul_d): Ditto. + (CODE_FOR_lasx_xvclz_b): Ditto. + (CODE_FOR_lasx_xvclz_h): Ditto. + (CODE_FOR_lasx_xvclz_w): Ditto. + (CODE_FOR_lasx_xvclz_d): Ditto. + (CODE_FOR_lasx_xvnor_v): Ditto. + (CODE_FOR_lasx_xvor_v): Ditto. + (CODE_FOR_lasx_xvori_b): Ditto. + (CODE_FOR_lasx_xvnori_b): Ditto. + (CODE_FOR_lasx_xvpcnt_b): Ditto. + (CODE_FOR_lasx_xvpcnt_h): Ditto. + (CODE_FOR_lasx_xvpcnt_w): Ditto. + (CODE_FOR_lasx_xvpcnt_d): Ditto. + (CODE_FOR_lasx_xvxor_v): Ditto. + (CODE_FOR_lasx_xvxori_b): Ditto. + (CODE_FOR_lasx_xvsll_b): Ditto. + (CODE_FOR_lasx_xvsll_h): Ditto. + (CODE_FOR_lasx_xvsll_w): Ditto. + (CODE_FOR_lasx_xvsll_d): Ditto. + (CODE_FOR_lasx_xvslli_b): Ditto. + (CODE_FOR_lasx_xvslli_h): Ditto. + (CODE_FOR_lasx_xvslli_w): Ditto. + (CODE_FOR_lasx_xvslli_d): Ditto. + (CODE_FOR_lasx_xvsra_b): Ditto. + (CODE_FOR_lasx_xvsra_h): Ditto. + (CODE_FOR_lasx_xvsra_w): Ditto. + (CODE_FOR_lasx_xvsra_d): Ditto. + (CODE_FOR_lasx_xvsrai_b): Ditto. + (CODE_FOR_lasx_xvsrai_h): Ditto. + (CODE_FOR_lasx_xvsrai_w): Ditto. + (CODE_FOR_lasx_xvsrai_d): Ditto. + (CODE_FOR_lasx_xvsrl_b): Ditto. + (CODE_FOR_lasx_xvsrl_h): Ditto. + (CODE_FOR_lasx_xvsrl_w): Ditto. + (CODE_FOR_lasx_xvsrl_d): Ditto. + (CODE_FOR_lasx_xvsrli_b): Ditto. + (CODE_FOR_lasx_xvsrli_h): Ditto. + (CODE_FOR_lasx_xvsrli_w): Ditto. + (CODE_FOR_lasx_xvsrli_d): Ditto. + (CODE_FOR_lasx_xvsub_b): Ditto. + (CODE_FOR_lasx_xvsub_h): Ditto. + (CODE_FOR_lasx_xvsub_w): Ditto. + (CODE_FOR_lasx_xvsub_d): Ditto. + (CODE_FOR_lasx_xvsubi_bu): Ditto. + (CODE_FOR_lasx_xvsubi_hu): Ditto. + (CODE_FOR_lasx_xvsubi_wu): Ditto. + (CODE_FOR_lasx_xvsubi_du): Ditto. + (CODE_FOR_lasx_xvpackod_d): Ditto. + (CODE_FOR_lasx_xvpackev_d): Ditto. + (CODE_FOR_lasx_xvpickod_d): Ditto. + (CODE_FOR_lasx_xvpickev_d): Ditto. + (CODE_FOR_lasx_xvrepli_b): Ditto. + (CODE_FOR_lasx_xvrepli_h): Ditto. + (CODE_FOR_lasx_xvrepli_w): Ditto. + (CODE_FOR_lasx_xvrepli_d): Ditto. + (CODE_FOR_lasx_xvandn_v): Ditto. + (CODE_FOR_lasx_xvorn_v): Ditto. + (CODE_FOR_lasx_xvneg_b): Ditto. + (CODE_FOR_lasx_xvneg_h): Ditto. + (CODE_FOR_lasx_xvneg_w): Ditto. + (CODE_FOR_lasx_xvneg_d): Ditto. + (CODE_FOR_lasx_xvbsrl_v): Ditto. + (CODE_FOR_lasx_xvbsll_v): Ditto. + (CODE_FOR_lasx_xvfmadd_s): Ditto. + (CODE_FOR_lasx_xvfmadd_d): Ditto. + (CODE_FOR_lasx_xvfmsub_s): Ditto. + (CODE_FOR_lasx_xvfmsub_d): Ditto. + (CODE_FOR_lasx_xvfnmadd_s): Ditto. + (CODE_FOR_lasx_xvfnmadd_d): Ditto. + (CODE_FOR_lasx_xvfnmsub_s): Ditto. + (CODE_FOR_lasx_xvfnmsub_d): Ditto. + (CODE_FOR_lasx_xvpermi_q): Ditto. + (CODE_FOR_lasx_xvpermi_d): Ditto. + (CODE_FOR_lasx_xbnz_v): Ditto. + (CODE_FOR_lasx_xbz_v): Ditto. + (CODE_FOR_lasx_xvssub_b): Ditto. + (CODE_FOR_lasx_xvssub_h): Ditto. + (CODE_FOR_lasx_xvssub_w): Ditto. + (CODE_FOR_lasx_xvssub_d): Ditto. + (CODE_FOR_lasx_xvssub_bu): Ditto. + (CODE_FOR_lasx_xvssub_hu): Ditto. + (CODE_FOR_lasx_xvssub_wu): Ditto. + (CODE_FOR_lasx_xvssub_du): Ditto. + (CODE_FOR_lasx_xvabsd_b): Ditto. + (CODE_FOR_lasx_xvabsd_h): Ditto. + (CODE_FOR_lasx_xvabsd_w): Ditto. + (CODE_FOR_lasx_xvabsd_d): Ditto. + (CODE_FOR_lasx_xvabsd_bu): Ditto. + (CODE_FOR_lasx_xvabsd_hu): Ditto. + (CODE_FOR_lasx_xvabsd_wu): Ditto. + (CODE_FOR_lasx_xvabsd_du): Ditto. + (CODE_FOR_lasx_xvavg_b): Ditto. + (CODE_FOR_lasx_xvavg_h): Ditto. + (CODE_FOR_lasx_xvavg_w): Ditto. + (CODE_FOR_lasx_xvavg_d): Ditto. + (CODE_FOR_lasx_xvavg_bu): Ditto. + (CODE_FOR_lasx_xvavg_hu): Ditto. + (CODE_FOR_lasx_xvavg_wu): Ditto. + (CODE_FOR_lasx_xvavg_du): Ditto. + (CODE_FOR_lasx_xvavgr_b): Ditto. + (CODE_FOR_lasx_xvavgr_h): Ditto. + (CODE_FOR_lasx_xvavgr_w): Ditto. + (CODE_FOR_lasx_xvavgr_d): Ditto. + (CODE_FOR_lasx_xvavgr_bu): Ditto. + (CODE_FOR_lasx_xvavgr_hu): Ditto. + (CODE_FOR_lasx_xvavgr_wu): Ditto. + (CODE_FOR_lasx_xvavgr_du): Ditto. + (CODE_FOR_lasx_xvmuh_b): Ditto. + (CODE_FOR_lasx_xvmuh_h): Ditto. + (CODE_FOR_lasx_xvmuh_w): Ditto. + (CODE_FOR_lasx_xvmuh_d): Ditto. + (CODE_FOR_lasx_xvmuh_bu): Ditto. + (CODE_FOR_lasx_xvmuh_hu): Ditto. + (CODE_FOR_lasx_xvmuh_wu): Ditto. + (CODE_FOR_lasx_xvmuh_du): Ditto. + (CODE_FOR_lasx_xvssran_b_h): Ditto. + (CODE_FOR_lasx_xvssran_h_w): Ditto. + (CODE_FOR_lasx_xvssran_w_d): Ditto. + (CODE_FOR_lasx_xvssran_bu_h): Ditto. + (CODE_FOR_lasx_xvssran_hu_w): Ditto. + (CODE_FOR_lasx_xvssran_wu_d): Ditto. + (CODE_FOR_lasx_xvssrarn_b_h): Ditto. + (CODE_FOR_lasx_xvssrarn_h_w): Ditto. + (CODE_FOR_lasx_xvssrarn_w_d): Ditto. + (CODE_FOR_lasx_xvssrarn_bu_h): Ditto. + (CODE_FOR_lasx_xvssrarn_hu_w): Ditto. + (CODE_FOR_lasx_xvssrarn_wu_d): Ditto. + (CODE_FOR_lasx_xvssrln_bu_h): Ditto. + (CODE_FOR_lasx_xvssrln_hu_w): Ditto. + (CODE_FOR_lasx_xvssrln_wu_d): Ditto. + (CODE_FOR_lasx_xvssrlrn_bu_h): Ditto. + (CODE_FOR_lasx_xvssrlrn_hu_w): Ditto. + (CODE_FOR_lasx_xvssrlrn_wu_d): Ditto. + (CODE_FOR_lasx_xvftint_w_s): Ditto. + (CODE_FOR_lasx_xvftint_l_d): Ditto. + (CODE_FOR_lasx_xvftint_wu_s): Ditto. + (CODE_FOR_lasx_xvftint_lu_d): Ditto. + (CODE_FOR_lasx_xvsllwil_h_b): Ditto. + (CODE_FOR_lasx_xvsllwil_w_h): Ditto. + (CODE_FOR_lasx_xvsllwil_d_w): Ditto. + (CODE_FOR_lasx_xvsllwil_hu_bu): Ditto. + (CODE_FOR_lasx_xvsllwil_wu_hu): Ditto. + (CODE_FOR_lasx_xvsllwil_du_wu): Ditto. + (CODE_FOR_lasx_xvsat_b): Ditto. + (CODE_FOR_lasx_xvsat_h): Ditto. + (CODE_FOR_lasx_xvsat_w): Ditto. + (CODE_FOR_lasx_xvsat_d): Ditto. + (CODE_FOR_lasx_xvsat_bu): Ditto. + (CODE_FOR_lasx_xvsat_hu): Ditto. + (CODE_FOR_lasx_xvsat_wu): Ditto. + (CODE_FOR_lasx_xvsat_du): Ditto. + (loongarch_builtin_vectorized_function): Ditto. + (loongarch_expand_builtin_insn): Ditto. + (loongarch_expand_builtin): Ditto. + * config/loongarch/loongarch-ftypes.def (1): Ditto. + (2): Ditto. + (3): Ditto. + (4): Ditto. + * config/loongarch/lasxintrin.h: New file. + +2023-09-05 Lulu Cheng + + * config/loongarch/loongarch-modes.def + (VECTOR_MODES): Add Loongson ASX instruction support. + * config/loongarch/loongarch-protos.h (loongarch_split_256bit_move): Ditto. + (loongarch_split_256bit_move_p): Ditto. + (loongarch_expand_vector_group_init): Ditto. + (loongarch_expand_vec_perm_1): Ditto. + * config/loongarch/loongarch.cc (loongarch_symbol_insns): Ditto. + (loongarch_valid_offset_p): Ditto. + (loongarch_address_insns): Ditto. + (loongarch_const_insns): Ditto. + (loongarch_legitimize_move): Ditto. + (loongarch_builtin_vectorization_cost): Ditto. + (loongarch_split_move_p): Ditto. + (loongarch_split_move): Ditto. + (loongarch_output_move_index_float): Ditto. + (loongarch_split_256bit_move_p): Ditto. + (loongarch_split_256bit_move): Ditto. + (loongarch_output_move): Ditto. + (loongarch_print_operand_reloc): Ditto. + (loongarch_print_operand): Ditto. + (loongarch_hard_regno_mode_ok_uncached): Ditto. + (loongarch_hard_regno_nregs): Ditto. + (loongarch_class_max_nregs): Ditto. + (loongarch_can_change_mode_class): Ditto. + (loongarch_mode_ok_for_mov_fmt_p): Ditto. + (loongarch_vector_mode_supported_p): Ditto. + (loongarch_preferred_simd_mode): Ditto. + (loongarch_autovectorize_vector_modes): Ditto. + (loongarch_lsx_output_division): Ditto. + (loongarch_expand_lsx_shuffle): Ditto. + (loongarch_expand_vec_perm): Ditto. + (loongarch_expand_vec_perm_interleave): Ditto. + (loongarch_try_expand_lsx_vshuf_const): Ditto. + (loongarch_expand_vec_perm_even_odd_1): Ditto. + (loongarch_expand_vec_perm_even_odd): Ditto. + (loongarch_expand_vec_perm_1): Ditto. + (loongarch_expand_vec_perm_const_2): Ditto. + (loongarch_is_quad_duplicate): Ditto. + (loongarch_is_double_duplicate): Ditto. + (loongarch_is_odd_extraction): Ditto. + (loongarch_is_even_extraction): Ditto. + (loongarch_is_extraction_permutation): Ditto. + (loongarch_is_center_extraction): Ditto. + (loongarch_is_reversing_permutation): Ditto. + (loongarch_is_di_misalign_extract): Ditto. + (loongarch_is_si_misalign_extract): Ditto. + (loongarch_is_lasx_lowpart_interleave): Ditto. + (loongarch_is_lasx_lowpart_interleave_2): Ditto. + (COMPARE_SELECTOR): Ditto. + (loongarch_is_lasx_lowpart_extract): Ditto. + (loongarch_is_lasx_highpart_interleave): Ditto. + (loongarch_is_lasx_highpart_interleave_2): Ditto. + (loongarch_is_elem_duplicate): Ditto. + (loongarch_is_op_reverse_perm): Ditto. + (loongarch_is_single_op_perm): Ditto. + (loongarch_is_divisible_perm): Ditto. + (loongarch_is_triple_stride_extract): Ditto. + (loongarch_vectorize_vec_perm_const): Ditto. + (loongarch_cpu_sched_reassociation_width): Ditto. + (loongarch_expand_vector_extract): Ditto. + (emit_reduc_half): Ditto. + (loongarch_expand_vec_unpack): Ditto. + (loongarch_expand_vector_group_init): Ditto. + (loongarch_expand_vector_init): Ditto. + (loongarch_expand_lsx_cmp): Ditto. + (loongarch_builtin_support_vector_misalignment): Ditto. + * config/loongarch/loongarch.h (UNITS_PER_LASX_REG): Ditto. + (BITS_PER_LASX_REG): Ditto. + (STRUCTURE_SIZE_BOUNDARY): Ditto. + (LASX_REG_FIRST): Ditto. + (LASX_REG_LAST): Ditto. + (LASX_REG_NUM): Ditto. + (LASX_REG_P): Ditto. + (LASX_REG_RTX_P): Ditto. + (LASX_SUPPORTED_MODE_P): Ditto. + * config/loongarch/loongarch.md: Ditto. + * config/loongarch/lasx.md: New file. + +2023-09-05 Lulu Cheng + + * config.gcc: Export the header file lsxintrin.h. + * config/loongarch/loongarch-builtins.cc (LARCH_FTYPE_NAME4): Add builtin function support. + (enum loongarch_builtin_type): Ditto. + (AVAIL_ALL): Ditto. + (LARCH_BUILTIN): Ditto. + (LSX_BUILTIN): Ditto. + (LSX_BUILTIN_TEST_BRANCH): Ditto. + (LSX_NO_TARGET_BUILTIN): Ditto. + (CODE_FOR_lsx_vsadd_b): Ditto. + (CODE_FOR_lsx_vsadd_h): Ditto. + (CODE_FOR_lsx_vsadd_w): Ditto. + (CODE_FOR_lsx_vsadd_d): Ditto. + (CODE_FOR_lsx_vsadd_bu): Ditto. + (CODE_FOR_lsx_vsadd_hu): Ditto. + (CODE_FOR_lsx_vsadd_wu): Ditto. + (CODE_FOR_lsx_vsadd_du): Ditto. + (CODE_FOR_lsx_vadd_b): Ditto. + (CODE_FOR_lsx_vadd_h): Ditto. + (CODE_FOR_lsx_vadd_w): Ditto. + (CODE_FOR_lsx_vadd_d): Ditto. + (CODE_FOR_lsx_vaddi_bu): Ditto. + (CODE_FOR_lsx_vaddi_hu): Ditto. + (CODE_FOR_lsx_vaddi_wu): Ditto. + (CODE_FOR_lsx_vaddi_du): Ditto. + (CODE_FOR_lsx_vand_v): Ditto. + (CODE_FOR_lsx_vandi_b): Ditto. + (CODE_FOR_lsx_bnz_v): Ditto. + (CODE_FOR_lsx_bz_v): Ditto. + (CODE_FOR_lsx_vbitsel_v): Ditto. + (CODE_FOR_lsx_vseqi_b): Ditto. + (CODE_FOR_lsx_vseqi_h): Ditto. + (CODE_FOR_lsx_vseqi_w): Ditto. + (CODE_FOR_lsx_vseqi_d): Ditto. + (CODE_FOR_lsx_vslti_b): Ditto. + (CODE_FOR_lsx_vslti_h): Ditto. + (CODE_FOR_lsx_vslti_w): Ditto. + (CODE_FOR_lsx_vslti_d): Ditto. + (CODE_FOR_lsx_vslti_bu): Ditto. + (CODE_FOR_lsx_vslti_hu): Ditto. + (CODE_FOR_lsx_vslti_wu): Ditto. + (CODE_FOR_lsx_vslti_du): Ditto. + (CODE_FOR_lsx_vslei_b): Ditto. + (CODE_FOR_lsx_vslei_h): Ditto. + (CODE_FOR_lsx_vslei_w): Ditto. + (CODE_FOR_lsx_vslei_d): Ditto. + (CODE_FOR_lsx_vslei_bu): Ditto. + (CODE_FOR_lsx_vslei_hu): Ditto. + (CODE_FOR_lsx_vslei_wu): Ditto. + (CODE_FOR_lsx_vslei_du): Ditto. + (CODE_FOR_lsx_vdiv_b): Ditto. + (CODE_FOR_lsx_vdiv_h): Ditto. + (CODE_FOR_lsx_vdiv_w): Ditto. + (CODE_FOR_lsx_vdiv_d): Ditto. + (CODE_FOR_lsx_vdiv_bu): Ditto. + (CODE_FOR_lsx_vdiv_hu): Ditto. + (CODE_FOR_lsx_vdiv_wu): Ditto. + (CODE_FOR_lsx_vdiv_du): Ditto. + (CODE_FOR_lsx_vfadd_s): Ditto. + (CODE_FOR_lsx_vfadd_d): Ditto. + (CODE_FOR_lsx_vftintrz_w_s): Ditto. + (CODE_FOR_lsx_vftintrz_l_d): Ditto. + (CODE_FOR_lsx_vftintrz_wu_s): Ditto. + (CODE_FOR_lsx_vftintrz_lu_d): Ditto. + (CODE_FOR_lsx_vffint_s_w): Ditto. + (CODE_FOR_lsx_vffint_d_l): Ditto. + (CODE_FOR_lsx_vffint_s_wu): Ditto. + (CODE_FOR_lsx_vffint_d_lu): Ditto. + (CODE_FOR_lsx_vfsub_s): Ditto. + (CODE_FOR_lsx_vfsub_d): Ditto. + (CODE_FOR_lsx_vfmul_s): Ditto. + (CODE_FOR_lsx_vfmul_d): Ditto. + (CODE_FOR_lsx_vfdiv_s): Ditto. + (CODE_FOR_lsx_vfdiv_d): Ditto. + (CODE_FOR_lsx_vfmax_s): Ditto. + (CODE_FOR_lsx_vfmax_d): Ditto. + (CODE_FOR_lsx_vfmin_s): Ditto. + (CODE_FOR_lsx_vfmin_d): Ditto. + (CODE_FOR_lsx_vfsqrt_s): Ditto. + (CODE_FOR_lsx_vfsqrt_d): Ditto. + (CODE_FOR_lsx_vflogb_s): Ditto. + (CODE_FOR_lsx_vflogb_d): Ditto. + (CODE_FOR_lsx_vmax_b): Ditto. + (CODE_FOR_lsx_vmax_h): Ditto. + (CODE_FOR_lsx_vmax_w): Ditto. + (CODE_FOR_lsx_vmax_d): Ditto. + (CODE_FOR_lsx_vmaxi_b): Ditto. + (CODE_FOR_lsx_vmaxi_h): Ditto. + (CODE_FOR_lsx_vmaxi_w): Ditto. + (CODE_FOR_lsx_vmaxi_d): Ditto. + (CODE_FOR_lsx_vmax_bu): Ditto. + (CODE_FOR_lsx_vmax_hu): Ditto. + (CODE_FOR_lsx_vmax_wu): Ditto. + (CODE_FOR_lsx_vmax_du): Ditto. + (CODE_FOR_lsx_vmaxi_bu): Ditto. + (CODE_FOR_lsx_vmaxi_hu): Ditto. + (CODE_FOR_lsx_vmaxi_wu): Ditto. + (CODE_FOR_lsx_vmaxi_du): Ditto. + (CODE_FOR_lsx_vmin_b): Ditto. + (CODE_FOR_lsx_vmin_h): Ditto. + (CODE_FOR_lsx_vmin_w): Ditto. + (CODE_FOR_lsx_vmin_d): Ditto. + (CODE_FOR_lsx_vmini_b): Ditto. + (CODE_FOR_lsx_vmini_h): Ditto. + (CODE_FOR_lsx_vmini_w): Ditto. + (CODE_FOR_lsx_vmini_d): Ditto. + (CODE_FOR_lsx_vmin_bu): Ditto. + (CODE_FOR_lsx_vmin_hu): Ditto. + (CODE_FOR_lsx_vmin_wu): Ditto. + (CODE_FOR_lsx_vmin_du): Ditto. + (CODE_FOR_lsx_vmini_bu): Ditto. + (CODE_FOR_lsx_vmini_hu): Ditto. + (CODE_FOR_lsx_vmini_wu): Ditto. + (CODE_FOR_lsx_vmini_du): Ditto. + (CODE_FOR_lsx_vmod_b): Ditto. + (CODE_FOR_lsx_vmod_h): Ditto. + (CODE_FOR_lsx_vmod_w): Ditto. + (CODE_FOR_lsx_vmod_d): Ditto. + (CODE_FOR_lsx_vmod_bu): Ditto. + (CODE_FOR_lsx_vmod_hu): Ditto. + (CODE_FOR_lsx_vmod_wu): Ditto. + (CODE_FOR_lsx_vmod_du): Ditto. + (CODE_FOR_lsx_vmul_b): Ditto. + (CODE_FOR_lsx_vmul_h): Ditto. + (CODE_FOR_lsx_vmul_w): Ditto. + (CODE_FOR_lsx_vmul_d): Ditto. + (CODE_FOR_lsx_vclz_b): Ditto. + (CODE_FOR_lsx_vclz_h): Ditto. + (CODE_FOR_lsx_vclz_w): Ditto. + (CODE_FOR_lsx_vclz_d): Ditto. + (CODE_FOR_lsx_vnor_v): Ditto. + (CODE_FOR_lsx_vor_v): Ditto. + (CODE_FOR_lsx_vori_b): Ditto. + (CODE_FOR_lsx_vnori_b): Ditto. + (CODE_FOR_lsx_vpcnt_b): Ditto. + (CODE_FOR_lsx_vpcnt_h): Ditto. + (CODE_FOR_lsx_vpcnt_w): Ditto. + (CODE_FOR_lsx_vpcnt_d): Ditto. + (CODE_FOR_lsx_vxor_v): Ditto. + (CODE_FOR_lsx_vxori_b): Ditto. + (CODE_FOR_lsx_vsll_b): Ditto. + (CODE_FOR_lsx_vsll_h): Ditto. + (CODE_FOR_lsx_vsll_w): Ditto. + (CODE_FOR_lsx_vsll_d): Ditto. + (CODE_FOR_lsx_vslli_b): Ditto. + (CODE_FOR_lsx_vslli_h): Ditto. + (CODE_FOR_lsx_vslli_w): Ditto. + (CODE_FOR_lsx_vslli_d): Ditto. + (CODE_FOR_lsx_vsra_b): Ditto. + (CODE_FOR_lsx_vsra_h): Ditto. + (CODE_FOR_lsx_vsra_w): Ditto. + (CODE_FOR_lsx_vsra_d): Ditto. + (CODE_FOR_lsx_vsrai_b): Ditto. + (CODE_FOR_lsx_vsrai_h): Ditto. + (CODE_FOR_lsx_vsrai_w): Ditto. + (CODE_FOR_lsx_vsrai_d): Ditto. + (CODE_FOR_lsx_vsrl_b): Ditto. + (CODE_FOR_lsx_vsrl_h): Ditto. + (CODE_FOR_lsx_vsrl_w): Ditto. + (CODE_FOR_lsx_vsrl_d): Ditto. + (CODE_FOR_lsx_vsrli_b): Ditto. + (CODE_FOR_lsx_vsrli_h): Ditto. + (CODE_FOR_lsx_vsrli_w): Ditto. + (CODE_FOR_lsx_vsrli_d): Ditto. + (CODE_FOR_lsx_vsub_b): Ditto. + (CODE_FOR_lsx_vsub_h): Ditto. + (CODE_FOR_lsx_vsub_w): Ditto. + (CODE_FOR_lsx_vsub_d): Ditto. + (CODE_FOR_lsx_vsubi_bu): Ditto. + (CODE_FOR_lsx_vsubi_hu): Ditto. + (CODE_FOR_lsx_vsubi_wu): Ditto. + (CODE_FOR_lsx_vsubi_du): Ditto. + (CODE_FOR_lsx_vpackod_d): Ditto. + (CODE_FOR_lsx_vpackev_d): Ditto. + (CODE_FOR_lsx_vpickod_d): Ditto. + (CODE_FOR_lsx_vpickev_d): Ditto. + (CODE_FOR_lsx_vrepli_b): Ditto. + (CODE_FOR_lsx_vrepli_h): Ditto. + (CODE_FOR_lsx_vrepli_w): Ditto. + (CODE_FOR_lsx_vrepli_d): Ditto. + (CODE_FOR_lsx_vsat_b): Ditto. + (CODE_FOR_lsx_vsat_h): Ditto. + (CODE_FOR_lsx_vsat_w): Ditto. + (CODE_FOR_lsx_vsat_d): Ditto. + (CODE_FOR_lsx_vsat_bu): Ditto. + (CODE_FOR_lsx_vsat_hu): Ditto. + (CODE_FOR_lsx_vsat_wu): Ditto. + (CODE_FOR_lsx_vsat_du): Ditto. + (CODE_FOR_lsx_vavg_b): Ditto. + (CODE_FOR_lsx_vavg_h): Ditto. + (CODE_FOR_lsx_vavg_w): Ditto. + (CODE_FOR_lsx_vavg_d): Ditto. + (CODE_FOR_lsx_vavg_bu): Ditto. + (CODE_FOR_lsx_vavg_hu): Ditto. + (CODE_FOR_lsx_vavg_wu): Ditto. + (CODE_FOR_lsx_vavg_du): Ditto. + (CODE_FOR_lsx_vavgr_b): Ditto. + (CODE_FOR_lsx_vavgr_h): Ditto. + (CODE_FOR_lsx_vavgr_w): Ditto. + (CODE_FOR_lsx_vavgr_d): Ditto. + (CODE_FOR_lsx_vavgr_bu): Ditto. + (CODE_FOR_lsx_vavgr_hu): Ditto. + (CODE_FOR_lsx_vavgr_wu): Ditto. + (CODE_FOR_lsx_vavgr_du): Ditto. + (CODE_FOR_lsx_vssub_b): Ditto. + (CODE_FOR_lsx_vssub_h): Ditto. + (CODE_FOR_lsx_vssub_w): Ditto. + (CODE_FOR_lsx_vssub_d): Ditto. + (CODE_FOR_lsx_vssub_bu): Ditto. + (CODE_FOR_lsx_vssub_hu): Ditto. + (CODE_FOR_lsx_vssub_wu): Ditto. + (CODE_FOR_lsx_vssub_du): Ditto. + (CODE_FOR_lsx_vabsd_b): Ditto. + (CODE_FOR_lsx_vabsd_h): Ditto. + (CODE_FOR_lsx_vabsd_w): Ditto. + (CODE_FOR_lsx_vabsd_d): Ditto. + (CODE_FOR_lsx_vabsd_bu): Ditto. + (CODE_FOR_lsx_vabsd_hu): Ditto. + (CODE_FOR_lsx_vabsd_wu): Ditto. + (CODE_FOR_lsx_vabsd_du): Ditto. + (CODE_FOR_lsx_vftint_w_s): Ditto. + (CODE_FOR_lsx_vftint_l_d): Ditto. + (CODE_FOR_lsx_vftint_wu_s): Ditto. + (CODE_FOR_lsx_vftint_lu_d): Ditto. + (CODE_FOR_lsx_vandn_v): Ditto. + (CODE_FOR_lsx_vorn_v): Ditto. + (CODE_FOR_lsx_vneg_b): Ditto. + (CODE_FOR_lsx_vneg_h): Ditto. + (CODE_FOR_lsx_vneg_w): Ditto. + (CODE_FOR_lsx_vneg_d): Ditto. + (CODE_FOR_lsx_vshuf4i_d): Ditto. + (CODE_FOR_lsx_vbsrl_v): Ditto. + (CODE_FOR_lsx_vbsll_v): Ditto. + (CODE_FOR_lsx_vfmadd_s): Ditto. + (CODE_FOR_lsx_vfmadd_d): Ditto. + (CODE_FOR_lsx_vfmsub_s): Ditto. + (CODE_FOR_lsx_vfmsub_d): Ditto. + (CODE_FOR_lsx_vfnmadd_s): Ditto. + (CODE_FOR_lsx_vfnmadd_d): Ditto. + (CODE_FOR_lsx_vfnmsub_s): Ditto. + (CODE_FOR_lsx_vfnmsub_d): Ditto. + (CODE_FOR_lsx_vmuh_b): Ditto. + (CODE_FOR_lsx_vmuh_h): Ditto. + (CODE_FOR_lsx_vmuh_w): Ditto. + (CODE_FOR_lsx_vmuh_d): Ditto. + (CODE_FOR_lsx_vmuh_bu): Ditto. + (CODE_FOR_lsx_vmuh_hu): Ditto. + (CODE_FOR_lsx_vmuh_wu): Ditto. + (CODE_FOR_lsx_vmuh_du): Ditto. + (CODE_FOR_lsx_vsllwil_h_b): Ditto. + (CODE_FOR_lsx_vsllwil_w_h): Ditto. + (CODE_FOR_lsx_vsllwil_d_w): Ditto. + (CODE_FOR_lsx_vsllwil_hu_bu): Ditto. + (CODE_FOR_lsx_vsllwil_wu_hu): Ditto. + (CODE_FOR_lsx_vsllwil_du_wu): Ditto. + (CODE_FOR_lsx_vssran_b_h): Ditto. + (CODE_FOR_lsx_vssran_h_w): Ditto. + (CODE_FOR_lsx_vssran_w_d): Ditto. + (CODE_FOR_lsx_vssran_bu_h): Ditto. + (CODE_FOR_lsx_vssran_hu_w): Ditto. + (CODE_FOR_lsx_vssran_wu_d): Ditto. + (CODE_FOR_lsx_vssrarn_b_h): Ditto. + (CODE_FOR_lsx_vssrarn_h_w): Ditto. + (CODE_FOR_lsx_vssrarn_w_d): Ditto. + (CODE_FOR_lsx_vssrarn_bu_h): Ditto. + (CODE_FOR_lsx_vssrarn_hu_w): Ditto. + (CODE_FOR_lsx_vssrarn_wu_d): Ditto. + (CODE_FOR_lsx_vssrln_bu_h): Ditto. + (CODE_FOR_lsx_vssrln_hu_w): Ditto. + (CODE_FOR_lsx_vssrln_wu_d): Ditto. + (CODE_FOR_lsx_vssrlrn_bu_h): Ditto. + (CODE_FOR_lsx_vssrlrn_hu_w): Ditto. + (CODE_FOR_lsx_vssrlrn_wu_d): Ditto. + (loongarch_builtin_vector_type): Ditto. + (loongarch_build_cvpointer_type): Ditto. + (LARCH_ATYPE_CVPOINTER): Ditto. + (LARCH_ATYPE_BOOLEAN): Ditto. + (LARCH_ATYPE_V2SF): Ditto. + (LARCH_ATYPE_V2HI): Ditto. + (LARCH_ATYPE_V2SI): Ditto. + (LARCH_ATYPE_V4QI): Ditto. + (LARCH_ATYPE_V4HI): Ditto. + (LARCH_ATYPE_V8QI): Ditto. + (LARCH_ATYPE_V2DI): Ditto. + (LARCH_ATYPE_V4SI): Ditto. + (LARCH_ATYPE_V8HI): Ditto. + (LARCH_ATYPE_V16QI): Ditto. + (LARCH_ATYPE_V2DF): Ditto. + (LARCH_ATYPE_V4SF): Ditto. + (LARCH_ATYPE_V4DI): Ditto. + (LARCH_ATYPE_V8SI): Ditto. + (LARCH_ATYPE_V16HI): Ditto. + (LARCH_ATYPE_V32QI): Ditto. + (LARCH_ATYPE_V4DF): Ditto. + (LARCH_ATYPE_V8SF): Ditto. + (LARCH_ATYPE_UV2DI): Ditto. + (LARCH_ATYPE_UV4SI): Ditto. + (LARCH_ATYPE_UV8HI): Ditto. + (LARCH_ATYPE_UV16QI): Ditto. + (LARCH_ATYPE_UV4DI): Ditto. + (LARCH_ATYPE_UV8SI): Ditto. + (LARCH_ATYPE_UV16HI): Ditto. + (LARCH_ATYPE_UV32QI): Ditto. + (LARCH_ATYPE_UV2SI): Ditto. + (LARCH_ATYPE_UV4HI): Ditto. + (LARCH_ATYPE_UV8QI): Ditto. + (loongarch_builtin_vectorized_function): Ditto. + (LARCH_GET_BUILTIN): Ditto. + (loongarch_expand_builtin_insn): Ditto. + (loongarch_expand_builtin_lsx_test_branch): Ditto. + (loongarch_expand_builtin): Ditto. + * config/loongarch/loongarch-ftypes.def (1): Ditto. + (2): Ditto. + (3): Ditto. + (4): Ditto. + * config/loongarch/lsxintrin.h: New file. + +2023-09-05 Lulu Cheng + + * config/loongarch/constraints.md (M): Add Loongson LSX base instruction support. + (N): Ditto. + (O): Ditto. + (P): Ditto. + (R): Ditto. + (S): Ditto. + (YG): Ditto. + (YA): Ditto. + (YB): Ditto. + (Yb): Ditto. + (Yh): Ditto. + (Yw): Ditto. + (YI): Ditto. + (YC): Ditto. + (YZ): Ditto. + (Unv5): Ditto. + (Uuv5): Ditto. + (Usv5): Ditto. + (Uuv6): Ditto. + (Urv8): Ditto. + * config/loongarch/genopts/loongarch.opt.in: Ditto. + * config/loongarch/loongarch-builtins.cc (loongarch_gen_const_int_vector): Ditto. + * config/loongarch/loongarch-modes.def (VECTOR_MODES): Ditto. + (VECTOR_MODE): Ditto. + (INT_MODE): Ditto. + * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p): Ditto. + (loongarch_split_move_insn): Ditto. + (loongarch_split_128bit_move): Ditto. + (loongarch_split_128bit_move_p): Ditto. + (loongarch_split_lsx_copy_d): Ditto. + (loongarch_split_lsx_insert_d): Ditto. + (loongarch_split_lsx_fill_d): Ditto. + (loongarch_expand_vec_cmp): Ditto. + (loongarch_const_vector_same_val_p): Ditto. + (loongarch_const_vector_same_bytes_p): Ditto. + (loongarch_const_vector_same_int_p): Ditto. + (loongarch_const_vector_shuffle_set_p): Ditto. + (loongarch_const_vector_bitimm_set_p): Ditto. + (loongarch_const_vector_bitimm_clr_p): Ditto. + (loongarch_lsx_vec_parallel_const_half): Ditto. + (loongarch_gen_const_int_vector): Ditto. + (loongarch_lsx_output_division): Ditto. + (loongarch_expand_vector_init): Ditto. + (loongarch_expand_vec_unpack): Ditto. + (loongarch_expand_vec_perm): Ditto. + (loongarch_expand_vector_extract): Ditto. + (loongarch_expand_vector_reduc): Ditto. + (loongarch_ldst_scaled_shift): Ditto. + (loongarch_expand_vec_cond_expr): Ditto. + (loongarch_expand_vec_cond_mask_expr): Ditto. + (loongarch_builtin_vectorized_function): Ditto. + (loongarch_gen_const_int_vector_shuffle): Ditto. + (loongarch_build_signbit_mask): Ditto. + * config/loongarch/loongarch.cc (loongarch_pass_aggregate_num_fpr): Ditto. + (loongarch_setup_incoming_varargs): Ditto. + (loongarch_emit_move): Ditto. + (loongarch_const_vector_bitimm_set_p): Ditto. + (loongarch_const_vector_bitimm_clr_p): Ditto. + (loongarch_const_vector_same_val_p): Ditto. + (loongarch_const_vector_same_bytes_p): Ditto. + (loongarch_const_vector_same_int_p): Ditto. + (loongarch_const_vector_shuffle_set_p): Ditto. + (loongarch_symbol_insns): Ditto. + (loongarch_cannot_force_const_mem): Ditto. + (loongarch_valid_offset_p): Ditto. + (loongarch_valid_index_p): Ditto. + (loongarch_classify_address): Ditto. + (loongarch_address_insns): Ditto. + (loongarch_ldst_scaled_shift): Ditto. + (loongarch_const_insns): Ditto. + (loongarch_split_move_insn_p): Ditto. + (loongarch_subword_at_byte): Ditto. + (loongarch_legitimize_move): Ditto. + (loongarch_builtin_vectorization_cost): Ditto. + (loongarch_split_move_p): Ditto. + (loongarch_split_move): Ditto. + (loongarch_split_move_insn): Ditto. + (loongarch_output_move_index_float): Ditto. + (loongarch_split_128bit_move_p): Ditto. + (loongarch_split_128bit_move): Ditto. + (loongarch_split_lsx_copy_d): Ditto. + (loongarch_split_lsx_insert_d): Ditto. + (loongarch_split_lsx_fill_d): Ditto. + (loongarch_output_move): Ditto. + (loongarch_extend_comparands): Ditto. + (loongarch_print_operand_reloc): Ditto. + (loongarch_print_operand): Ditto. + (loongarch_hard_regno_mode_ok_uncached): Ditto. + (loongarch_hard_regno_call_part_clobbered): Ditto. + (loongarch_hard_regno_nregs): Ditto. + (loongarch_class_max_nregs): Ditto. + (loongarch_can_change_mode_class): Ditto. + (loongarch_mode_ok_for_mov_fmt_p): Ditto. + (loongarch_secondary_reload): Ditto. + (loongarch_vector_mode_supported_p): Ditto. + (loongarch_preferred_simd_mode): Ditto. + (loongarch_autovectorize_vector_modes): Ditto. + (loongarch_lsx_output_division): Ditto. + (loongarch_option_override_internal): Ditto. + (loongarch_hard_regno_caller_save_mode): Ditto. + (MAX_VECT_LEN): Ditto. + (loongarch_spill_class): Ditto. + (struct expand_vec_perm_d): Ditto. + (loongarch_promote_function_mode): Ditto. + (loongarch_expand_vselect): Ditto. + (loongarch_starting_frame_offset): Ditto. + (loongarch_expand_vselect_vconcat): Ditto. + (TARGET_ASM_ALIGNED_DI_OP): Ditto. + (TARGET_OPTION_OVERRIDE): Ditto. + (TARGET_LEGITIMIZE_ADDRESS): Ditto. + (TARGET_ASM_SELECT_RTX_SECTION): Ditto. + (TARGET_ASM_FUNCTION_RODATA_SECTION): Ditto. + (loongarch_expand_lsx_shuffle): Ditto. + (TARGET_SCHED_INIT): Ditto. + (TARGET_SCHED_REORDER): Ditto. + (TARGET_SCHED_REORDER2): Ditto. + (TARGET_SCHED_VARIABLE_ISSUE): Ditto. + (TARGET_SCHED_ADJUST_COST): Ditto. + (TARGET_SCHED_ISSUE_RATE): Ditto. + (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Ditto. + (TARGET_FUNCTION_OK_FOR_SIBCALL): Ditto. + (TARGET_VALID_POINTER_MODE): Ditto. + (TARGET_REGISTER_MOVE_COST): Ditto. + (TARGET_MEMORY_MOVE_COST): Ditto. + (TARGET_RTX_COSTS): Ditto. + (TARGET_ADDRESS_COST): Ditto. + (TARGET_IN_SMALL_DATA_P): Ditto. + (TARGET_PREFERRED_RELOAD_CLASS): Ditto. + (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Ditto. + (TARGET_EXPAND_BUILTIN_VA_START): Ditto. + (loongarch_expand_vec_perm): Ditto. + (TARGET_PROMOTE_FUNCTION_MODE): Ditto. + (TARGET_RETURN_IN_MEMORY): Ditto. + (TARGET_FUNCTION_VALUE): Ditto. + (TARGET_LIBCALL_VALUE): Ditto. + (loongarch_try_expand_lsx_vshuf_const): Ditto. + (TARGET_ASM_OUTPUT_MI_THUNK): Ditto. + (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Ditto. + (TARGET_PRINT_OPERAND): Ditto. + (TARGET_PRINT_OPERAND_ADDRESS): Ditto. + (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Ditto. + (TARGET_SETUP_INCOMING_VARARGS): Ditto. + (TARGET_STRICT_ARGUMENT_NAMING): Ditto. + (TARGET_MUST_PASS_IN_STACK): Ditto. + (TARGET_PASS_BY_REFERENCE): Ditto. + (TARGET_ARG_PARTIAL_BYTES): Ditto. + (TARGET_FUNCTION_ARG): Ditto. + (TARGET_FUNCTION_ARG_ADVANCE): Ditto. + (TARGET_FUNCTION_ARG_BOUNDARY): Ditto. + (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto. + (TARGET_INIT_BUILTINS): Ditto. + (loongarch_expand_vec_perm_const_1): Ditto. + (loongarch_expand_vec_perm_const_2): Ditto. + (loongarch_vectorize_vec_perm_const): Ditto. + (loongarch_cpu_sched_reassociation_width): Ditto. + (loongarch_sched_reassociation_width): Ditto. + (loongarch_expand_vector_extract): Ditto. + (emit_reduc_half): Ditto. + (loongarch_expand_vector_reduc): Ditto. + (loongarch_expand_vec_unpack): Ditto. + (loongarch_lsx_vec_parallel_const_half): Ditto. + (loongarch_constant_elt_p): Ditto. + (loongarch_gen_const_int_vector_shuffle): Ditto. + (loongarch_expand_vector_init): Ditto. + (loongarch_expand_lsx_cmp): Ditto. + (loongarch_expand_vec_cond_expr): Ditto. + (loongarch_expand_vec_cond_mask_expr): Ditto. + (loongarch_expand_vec_cmp): Ditto. + (loongarch_case_values_threshold): Ditto. + (loongarch_build_const_vector): Ditto. + (loongarch_build_signbit_mask): Ditto. + (loongarch_builtin_support_vector_misalignment): Ditto. + (TARGET_ASM_ALIGNED_HI_OP): Ditto. + (TARGET_ASM_ALIGNED_SI_OP): Ditto. + (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Ditto. + (TARGET_VECTOR_MODE_SUPPORTED_P): Ditto. + (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Ditto. + (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): Ditto. + (TARGET_VECTORIZE_VEC_PERM_CONST): Ditto. + (TARGET_SCHED_REASSOCIATION_WIDTH): Ditto. + (TARGET_CASE_VALUES_THRESHOLD): Ditto. + (TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Ditto. + (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): Ditto. + * config/loongarch/loongarch.h (TARGET_SUPPORTS_WIDE_INT): Ditto. + (UNITS_PER_LSX_REG): Ditto. + (BITS_PER_LSX_REG): Ditto. + (BIGGEST_ALIGNMENT): Ditto. + (LSX_REG_FIRST): Ditto. + (LSX_REG_LAST): Ditto. + (LSX_REG_NUM): Ditto. + (LSX_REG_P): Ditto. + (LSX_REG_RTX_P): Ditto. + (IMM13_OPERAND): Ditto. + (LSX_SUPPORTED_MODE_P): Ditto. + * config/loongarch/loongarch.md (unknown,add,sub,not,nor,and,or,xor): Ditto. + (unknown,add,sub,not,nor,and,or,xor,simd_add): Ditto. + (unknown,none,QI,HI,SI,DI,TI,SF,DF,TF,FCC): Ditto. + (mode" ): Ditto. + (DF): Ditto. + (SF): Ditto. + (sf): Ditto. + (DI): Ditto. + (SI): Ditto. + * config/loongarch/loongarch.opt: Ditto. + * config/loongarch/predicates.md (const_lsx_branch_operand): Ditto. + (const_uimm3_operand): Ditto. + (const_8_to_11_operand): Ditto. + (const_12_to_15_operand): Ditto. + (const_uimm4_operand): Ditto. + (const_uimm6_operand): Ditto. + (const_uimm7_operand): Ditto. + (const_uimm8_operand): Ditto. + (const_imm5_operand): Ditto. + (const_imm10_operand): Ditto. + (const_imm13_operand): Ditto. + (reg_imm10_operand): Ditto. + (aq8b_operand): Ditto. + (aq8h_operand): Ditto. + (aq8w_operand): Ditto. + (aq8d_operand): Ditto. + (aq10b_operand): Ditto. + (aq10h_operand): Ditto. + (aq10w_operand): Ditto. + (aq10d_operand): Ditto. + (aq12b_operand): Ditto. + (aq12h_operand): Ditto. + (aq12w_operand): Ditto. + (aq12d_operand): Ditto. + (const_m1_operand): Ditto. + (reg_or_m1_operand): Ditto. + (const_exp_2_operand): Ditto. + (const_exp_4_operand): Ditto. + (const_exp_8_operand): Ditto. + (const_exp_16_operand): Ditto. + (const_exp_32_operand): Ditto. + (const_0_or_1_operand): Ditto. + (const_0_to_3_operand): Ditto. + (const_0_to_7_operand): Ditto. + (const_2_or_3_operand): Ditto. + (const_4_to_7_operand): Ditto. + (const_8_to_15_operand): Ditto. + (const_16_to_31_operand): Ditto. + (qi_mask_operand): Ditto. + (hi_mask_operand): Ditto. + (si_mask_operand): Ditto. + (d_operand): Ditto. + (db4_operand): Ditto. + (db7_operand): Ditto. + (db8_operand): Ditto. + (ib3_operand): Ditto. + (sb4_operand): Ditto. + (sb5_operand): Ditto. + (sb8_operand): Ditto. + (sd8_operand): Ditto. + (ub4_operand): Ditto. + (ub8_operand): Ditto. + (uh4_operand): Ditto. + (uw4_operand): Ditto. + (uw5_operand): Ditto. + (uw6_operand): Ditto. + (uw8_operand): Ditto. + (addiur2_operand): Ditto. + (addiusp_operand): Ditto. + (andi16_operand): Ditto. + (movep_src_register): Ditto. + (movep_src_operand): Ditto. + (fcc_reload_operand): Ditto. + (muldiv_target_operand): Ditto. + (const_vector_same_val_operand): Ditto. + (const_vector_same_simm5_operand): Ditto. + (const_vector_same_uimm5_operand): Ditto. + (const_vector_same_ximm5_operand): Ditto. + (const_vector_same_uimm6_operand): Ditto. + (par_const_vector_shf_set_operand): Ditto. + (reg_or_vector_same_val_operand): Ditto. + (reg_or_vector_same_simm5_operand): Ditto. + (reg_or_vector_same_uimm5_operand): Ditto. + (reg_or_vector_same_ximm5_operand): Ditto. + (reg_or_vector_same_uimm6_operand): Ditto. + * doc/md.texi: Ditto. + * config/loongarch/lsx.md: New file. + +2023-09-05 Juzhe-Zhong + + * config/riscv/riscv-protos.h (lookup_vector_type_attribute): Export global. + (get_all_predecessors): New function. + (get_all_successors): Ditto. + * config/riscv/riscv-v.cc (get_all_predecessors): Ditto. + (get_all_successors): Ditto. + * config/riscv/riscv-vector-builtins.cc (sizeless_type_p): Export global. + * config/riscv/riscv-vsetvl.cc (get_all_predecessors): Remove it. + +2023-09-05 Claudiu Zissulescu + + * config/arc/arc-protos.h (arc_output_addsi): Remove declaration. + (split_addsi): Likewise. + * config/arc/arc.cc (arc_print_operand): Add/repurpose 's', 'S', + 'N', 'x', and 'J' code letters. + (arc_output_addsi): Make it static. + (split_addsi): Remove it. + * config/arc/arc.h (UNSIGNED_INT*): New defines. + (SINNED_INT*): Likewise. + * config/arc/arc.md (type): Add add, sub, bxor types. + (tst_movb): Change code letter from 's' to 'x'. + (andsi3_i): Likewise. + (addsi3_mixed): Refurbish the pattern. + (call_i): Change code letter from 'S' to 'J'. + * config/arc/arc700.md: Add newly introduced types. + * config/arc/arcHS.md: Likewsie. + * config/arc/arcHS4x.md: Likewise. + * config/arc/constraints.md (Cca, CL2, Csp, C2a): Remove it. + (CM4): Update description. + (CP4, C6u, C6n, CIs, C4p): New constraint. + +2023-09-05 Claudiu Zissulescu + + * common/config/arc/arc-common.cc (arc_option_optimization_table): + Remove mbbit_peephole. + * config/arc/arc.md (UNSPEC_ARC_DIRECT): Remove. + (store_direct): Likewise. + (BBIT peephole2): Likewise. + * config/arc/arc.opt (mbbit-peephole): Ignore option. + * doc/invoke.texi (mbbit-peephole): Update document. + +2023-09-05 Jakub Jelinek + + * tree-ssa-tail-merge.cc (replace_block_by): Fix a comment typo: + avreage -> average. + +2023-09-05 Yang Yujie + + * config/loongarch/loongarch.h (CC1_SPEC): Mark normalized + options passed from driver to gnat1 as explicit for multilib. + +2023-09-05 Yang Yujie + + * config.gcc: add loongarch*-elf target. + * config/loongarch/elf.h: New file. + Link against newlib by default. + +2023-09-05 Yang Yujie + + * config.gcc: use -mstrict-align for building libraries + if --with-strict-align-lib is given. + * doc/install.texi: likewise. + +2023-09-05 Yang Yujie + + * config/loongarch/loongarch-c.cc: Export macros + "__loongarch_{arch,tune}" in the preprocessor. + +2023-09-05 Yang Yujie + + * config.gcc: Make --with-abi= obsolete, decide the default ABI + with target triplet. Allow specifying multilib library build + options with --with-multilib-list and --with-multilib-default. + * config/loongarch/t-linux: Likewise. + * config/loongarch/genopts/loongarch-strings: Likewise. + * config/loongarch/loongarch-str.h: Likewise. + * doc/install.texi: Likewise. + * config/loongarch/genopts/loongarch.opt.in: Introduce + -m[no-]l[a]sx options. Only process -m*-float and + -m[no-]l[a]sx in the GCC driver. + * config/loongarch/loongarch.opt: Likewise. + * config/loongarch/la464.md: Likewise. + * config/loongarch/loongarch-c.cc: Likewise. + * config/loongarch/loongarch-cpu.cc: Likewise. + * config/loongarch/loongarch-cpu.h: Likewise. + * config/loongarch/loongarch-def.c: Likewise. + * config/loongarch/loongarch-def.h: Likewise. + * config/loongarch/loongarch-driver.cc: Likewise. + * config/loongarch/loongarch-driver.h: Likewise. + * config/loongarch/loongarch-opts.cc: Likewise. + * config/loongarch/loongarch-opts.h: Likewise. + * config/loongarch/loongarch.cc: Likewise. + * doc/invoke.texi: Likewise. + +2023-09-05 liuhongt + + * config/i386/sse.md: (V8BFH_128): Renamed to .. + (VHFBF_128): .. this. + (V16BFH_256): Renamed to .. + (VHFBF_256): .. this. + (avx512f_mov): Extend to V_128. + (vcvtnee2ps_): Changed to VHFBF_128. + (vcvtneo2ps_): Ditto. + (vcvtnee2ps_): Changed to VHFBF_256. + (vcvtneo2ps_): Ditto. + * config/i386/i386-expand.cc (expand_vec_perm_blend): + Canonicalize vec_merge. + +2023-09-05 Juzhe-Zhong + + * config/riscv/riscv-opts.h (enum riscv_autovec_lmul_enum): Fix Dynamic status. + * config/riscv/riscv-v.cc (preferred_simd_mode): Ditto. + (autovectorize_vector_modes): Ditto. + (vectorize_related_mode): Ditto. + +2023-09-04 Iain Sandoe + + * config/rs6000/darwin.h (LIB_SPEC): Include libSystemStubs for + all 32b Darwin PowerPC cases. + +2023-09-04 Iain Sandoe + + * config/darwin-sections.def (static_init_section): Add the + __TEXT,__StaticInit section. + * config/darwin.cc (darwin_function_section): Use the static init + section for global initializers, to match other platform toolchains. + +2023-09-04 Iain Sandoe + + * config/darwin-sections.def (darwin_exception_section): Move to + the __TEXT segment. + * config/darwin.cc (darwin_emit_except_table_label): Align before + the exception table label. + * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use indirect PC- + relative 4byte relocs. + +2023-09-04 Iain Sandoe + + * config/darwin.cc (dump_machopic_symref_flags): New. + (debug_machopic_symref_flags): New. + +2023-09-04 Pan Li + + * config/riscv/riscv-vector-builtins-types.def + (vfloat16mf4_t): Add FP16 intrinsic def. + (vfloat16mf2_t): Ditto. + (vfloat16m1_t): Ditto. + (vfloat16m2_t): Ditto. + (vfloat16m4_t): Ditto. + (vfloat16m8_t): Ditto. + +2023-09-04 Jiufu Guo + + PR tree-optimization/108757 + * match.pd ((X - N * M) / N): New pattern. + ((X + N * M) / N): New pattern. + ((X + C) div_rshift N): New pattern. + +2023-09-04 Guo Jie + + * config/loongarch/loongarch.md: Support 'G' -> 'k' in + movsf_hardfloat and movdf_hardfloat. + +2023-09-04 Lulu Cheng + + * config/loongarch/loongarch.cc (loongarch_extend_comparands): + In unsigned QImode test, check for sign extended subreg and/or + constant operands, and do a sign extension in that case. + * config/loongarch/loongarch.md (TARGET_64BIT): Define + template cbranchqi4. + +2023-09-04 Lulu Cheng + + * config/loongarch/loongarch.md: Allows fixed-point values to be loaded + from memory into floating-point registers. + +2023-09-03 Pan Li + + * config/riscv/autovec-vls.md (3): New pattern for + fmax/fmin + * config/riscv/vector.md: Add VLS modes to vfmax/vfmin. + +2023-09-02 Mikael Morin + + * tree-diagnostic.cc (tree_diagnostics_defaults): Delete allocated + pointer before overwriting it. + +2023-09-02 chenxiaolong + + * config/loongarch/loongarch-builtins.cc (loongarch_init_builtins): + Associate the __float128 type to float128_type_node so that it can + be recognized by the compiler. + * config/loongarch/loongarch-c.cc (loongarch_cpu_cpp_builtins): + Add the flag "FLOAT128_TYPE" to gcc and associate a function + with the suffix "q" to "f128". + * doc/extend.texi:Added support for 128-bit floating-point functions on + the LoongArch architecture. + +2023-09-01 Jakub Jelinek + + PR c++/111069 + * common.opt (fabi-version=): Document version 19. + * doc/invoke.texi (-fabi-version=): Likewise. + +2023-09-01 Lehua Ding + + * config/riscv/autovec-opt.md (*cond_): + New combine pattern. + (*cond_): Ditto. + (*cond_): Ditto. + (*cond_): Ditto. + (*cond_): Ditto. + (*cond_2): Ditto. + * config/riscv/autovec.md (2): Adjust. + (2): Adjust. + (2): Adjust. + (2): Adjust. + (2): Adjust. + (2): Adjust. + * config/riscv/riscv-v.cc (needs_fp_rounding): Add INT->FP extend. + +2023-09-01 Lehua Ding + + * config/riscv/autovec-opt.md (*cond_extend): + New combine pattern. + (*cond_trunc): Ditto. + * config/riscv/autovec.md: Adjust. + * config/riscv/riscv-v.cc (needs_fp_rounding): Add FP extend. + +2023-09-01 Lehua Ding + + * config/riscv/autovec-opt.md (*cond_): + New combine pattern. + (*cond_): Ditto. + (*cond_): Ditto. + (*cond_trunc): Ditto. + * config/riscv/autovec.md (2): Adjust. + (2): Ditto. + +2023-09-01 Lehua Ding + + * config/riscv/autovec.md: Adjust. + * config/riscv/riscv-protos.h (expand_cond_len_unop): Ditto. + (expand_cond_len_binop): Ditto. + * config/riscv/riscv-v.cc (needs_fp_rounding): Ditto. + (expand_cond_len_op): Ditto. + (expand_cond_len_unop): Ditto. + (expand_cond_len_binop): Ditto. + (expand_cond_len_ternop): Ditto. + +2023-09-01 Juzhe-Zhong + + * config/riscv/riscv-v.cc (autovectorize_vector_modes): Enable + VECT_COMPARE_COSTS by default. + +2023-09-01 Robin Dapp + + * config/riscv/autovec.md (vec_extractqi): New expander. + +2023-09-01 Juzhe-Zhong + + * config/riscv/riscv-opts.h (enum riscv_autovec_lmul_enum): Add + dynamic enum. + * config/riscv/riscv.opt: Add dynamic compile option. + +2023-09-01 Pan Li + + * config/riscv/autovec-vls.md (3): New pattern for + vls floating-point autovec. + * config/riscv/vector-iterators.md: New iterator for + floating-point V and VLS. + * config/riscv/vector.md: Add VLS to floating-point binop. + +2023-09-01 Andrew Pinski + + PR tree-optimization/19832 + * match.pd: Add pattern to optimize + `(a != b) ? a OP b : c`. + +2023-09-01 Lulu Cheng + Guo Jie + + PR target/110484 + * config/loongarch/loongarch.cc (loongarch_emit_stack_tie): Use the + frame_pointer_needed to determine whether to use the $fp register. + +2023-08-31 Andrew Pinski + + PR tree-optimization/110915 + * match.pd (min_value, max_value): Extend to vector constants. + +2023-08-31 Francois-Xavier Coudert + + * config.in: Regenerate. + * config/darwin-c.cc: Change spelling to macOS. + * config/darwin-driver.cc: Likewise. + * config/darwin.h: Likewise. + * configure.ac: Likewise. + * doc/contrib.texi: Likewise. + * doc/extend.texi: Likewise. + * doc/invoke.texi: Likewise. + * doc/plugins.texi: Likewise. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in: Change spelling to macOS. + * plugin.cc: Likewise. + +2023-08-31 Pan Li + + * config/riscv/autovec-opt.md: Add FRM_REGNUM to vfnmadd/vfnmacc. + * config/riscv/autovec.md: Ditto. + +2023-08-31 Pan Li + + * config/riscv/autovec-opt.md: Add FRM_REGNUM to vfnmsac/vfnmsub + * config/riscv/autovec.md: Ditto. + +2023-08-31 Richard Sandiford + + * config/aarch64/aarch64.md (untyped_call): Emit a call_value + rather than a call. List each possible destination register + in the call pattern. + +2023-08-31 Pan Li + + * config/riscv/autovec-opt.md: Add FRM_REGNUM to vfmsac/vfmsub + * config/riscv/autovec.md: Ditto. + +2023-08-31 Pan Li + Ju-Zhe Zhong + + * config/riscv/autovec-opt.md: Add FRM_REGNUM to vfmadd/vfmacc. + * config/riscv/autovec.md: Ditto. + * config/riscv/vector-iterators.md: Add UNSPEC_VFFMA. + +2023-08-31 Palmer Dabbelt + + * config/riscv/autovec.md (shifts): Use + vector_scalar_shift_operand. + * config/riscv/predicates.md (vector_scalar_shift_operand): New + predicate. + +2023-08-31 Juzhe-Zhong + + * config.gcc: Add vector cost model framework for RVV. + * config/riscv/riscv.cc (riscv_vectorize_create_costs): Ditto. + (TARGET_VECTORIZE_CREATE_COSTS): Ditto. + * config/riscv/t-riscv: Ditto. + * config/riscv/riscv-vector-costs.cc: New file. + * config/riscv/riscv-vector-costs.h: New file. + +2023-08-31 Jeevitha Palanisamy + + PR target/110411 + * config/rs6000/mma.md (define_insn_and_split movoo): Disallow + AltiVec address operands. + (define_insn_and_split movxo): Likewise. + * config/rs6000/predicates.md (vsx_quad_dform_memory_operand): Remove + redundant mode size check. + +2023-08-31 Lehua Ding + + * config/riscv/riscv-protos.h (IS_AGNOSTIC): Move to here. + * config/riscv/riscv-v.cc (gen_no_side_effects_vsetvl_rtx): + Change to default policy. + * config/riscv/riscv-vector-builtins-bases.cc: Change to default policy. + * config/riscv/riscv-vsetvl.h (IS_AGNOSTIC): Delete. + * config/riscv/riscv.cc (riscv_print_operand): Use IS_AGNOSTIC to test. + +2023-08-31 Lehua Ding + + * config/riscv/autovec-opt.md: Adjust. + * config/riscv/autovec-vls.md: Ditto. + * config/riscv/autovec.md: Ditto. + * config/riscv/riscv-protos.h (enum insn_type): Add insn_type. + (enum insn_flags): Add insn flags. + (emit_vlmax_insn): Adjust. + (emit_vlmax_fp_insn): Delete. + (emit_vlmax_ternary_insn): Delete. + (emit_vlmax_fp_ternary_insn): Delete. + (emit_nonvlmax_insn): Adjust. + (emit_vlmax_slide_insn): Delete. + (emit_nonvlmax_slide_tu_insn): Delete. + (emit_vlmax_merge_insn): Delete. + (emit_vlmax_cmp_insn): Delete. + (emit_vlmax_cmp_mu_insn): Delete. + (emit_vlmax_masked_mu_insn): Delete. + (emit_scalar_move_insn): Delete. + (emit_nonvlmax_integer_move_insn): Delete. + (emit_vlmax_insn_lra): Add. + * config/riscv/riscv-v.cc (get_mask_mode_from_insn_flags): New. + (emit_vlmax_insn): Adjust. + (emit_nonvlmax_insn): Adjust. + (emit_vlmax_insn_lra): Add. + (emit_vlmax_fp_insn): Delete. + (emit_vlmax_ternary_insn): Delete. + (emit_vlmax_fp_ternary_insn): Delete. + (emit_vlmax_slide_insn): Delete. + (emit_nonvlmax_slide_tu_insn): Delete. + (emit_nonvlmax_slide_insn): Delete. + (emit_vlmax_merge_insn): Delete. + (emit_vlmax_cmp_insn): Delete. + (emit_vlmax_cmp_mu_insn): Delete. + (emit_vlmax_masked_insn): Delete. + (emit_nonvlmax_masked_insn): Delete. + (emit_vlmax_masked_store_insn): Delete. + (emit_nonvlmax_masked_store_insn): Delete. + (emit_vlmax_masked_mu_insn): Delete. + (emit_vlmax_masked_fp_mu_insn): Delete. + (emit_nonvlmax_tu_insn): Delete. + (emit_nonvlmax_fp_tu_insn): Delete. + (emit_nonvlmax_tumu_insn): Delete. + (emit_nonvlmax_fp_tumu_insn): Delete. + (emit_scalar_move_insn): Delete. + (emit_cpop_insn): Delete. + (emit_vlmax_integer_move_insn): Delete. + (emit_nonvlmax_integer_move_insn): Delete. + (emit_vlmax_gather_insn): Delete. + (emit_vlmax_masked_gather_mu_insn): Delete. + (emit_vlmax_compress_insn): Delete. + (emit_nonvlmax_compress_insn): Delete. + (emit_vlmax_reduction_insn): Delete. + (emit_vlmax_fp_reduction_insn): Delete. + (emit_nonvlmax_fp_reduction_insn): Delete. + (expand_vec_series): Adjust. + (expand_const_vector): Adjust. + (legitimize_move): Adjust. + (sew64_scalar_helper): Adjust. + (expand_tuple_move): Adjust. + (expand_vector_init_insert_elems): Adjust. + (expand_vector_init_merge_repeating_sequence): Adjust. + (expand_vec_cmp): Adjust. + (expand_vec_cmp_float): Adjust. + (expand_vec_perm): Adjust. + (shuffle_merge_patterns): Adjust. + (shuffle_compress_patterns): Adjust. + (shuffle_decompress_patterns): Adjust. + (expand_load_store): Adjust. + (expand_cond_len_op): Adjust. + (expand_cond_len_unop): Adjust. + (expand_cond_len_binop): Adjust. + (expand_gather_scatter): Adjust. + (expand_cond_len_ternop): Adjust. + (expand_reduction): Adjust. + (expand_lanes_load_store): Adjust. + (expand_fold_extract_last): Adjust. + * config/riscv/riscv.cc (vector_zero_call_used_regs): Adjust. + * config/riscv/vector.md: Adjust. + +2023-08-31 Haochen Gui + + PR target/96762 + * config/rs6000/rs6000-string.cc (expand_block_move): Call vector + load/store with length only on 64-bit Power10. + +2023-08-31 Claudiu Zissulescu + + * config/arc/arc.cc (arc_split_mov_const): Use LSL16 only when + SWAP option is enabled. + * config/arc/arc.md (ashlsi2_cnt16): Likewise. + +2023-08-31 Stamatis Markianos-Wright + + * config/arm/arm-mve-builtins-base.cc (vcaddq_rot90, vcaddq_rot270): + Use common insn for signed and unsigned front-end definitions. + * config/arm/arm_mve_builtins.def + (vcaddq_rot90_m_u, vcaddq_rot270_m_u): Make common. + (vcaddq_rot90_m_s, vcaddq_rot270_m_s): Remove. + * config/arm/iterators.md (mve_insn): Merge signed and unsigned defs. + (isu): Likewise. + (rot): Likewise. + (mve_rot): Likewise. + (supf): Likewise. + (VxCADDQ_M): Likewise. + * config/arm/unspecs.md (unspec): Likewise. + * config/arm/mve.md: Fix minor typo. + +2023-08-31 liuhongt + + * config/i386/sse.md (_blendm): Merge + VF_AVX512HFBFVL into VI12HFBF_AVX512VL. + (VF_AVX512HFBF16): Renamed to VHFBF. + (VF_AVX512FP16VL): Renamed to VHF_AVX512VL. + (VF_AVX512FP16): Removed. + (div3): Adjust VF_AVX512FP16VL to VHF_AVX512VL. + (avx512fp16_rcp2): Ditto. + (rsqrt2): Ditto. + (_rsqrt2): Ditto. + (vcond): Ditto. + (vcond): Ditto. + (_fmaddc__mask1): Ditto. + (_fmaddc__maskz): Ditto. + (_fcmaddc__mask1): Ditto. + (_fcmaddc__maskz): Ditto. + (cmla4): Ditto. + (fma__fadd_fmul): Ditto. + (fma__fadd_fcmul): Ditto. + (fma___fma_zero): Ditto. + (fma__fmaddc_bcst): Ditto. + (fma__fcmaddc_bcst): Ditto. + (___mask): Ditto. + (cmul3): Ditto. + (__): + Ditto. + (vec_unpacks_lo_): Ditto. + (vec_unpacks_hi_): Ditto. + (vec_unpack_fix_trunc_lo_): Ditto. + (vec_unpack_fix_trunc_lo_): Ditto. + (*vec_extract_0): Ditto. + (*_cmp3): Extend to V48H_AVX512VL. + +2023-08-31 Lehua Ding + + PR target/111234 + * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): Remove condition. + +2023-08-31 Jiufu Guo + + * range-op-mixed.h (operator_plus::overflow_free_p): New declare. + (operator_minus::overflow_free_p): New declare. + (operator_mult::overflow_free_p): New declare. + * range-op.cc (range_op_handler::overflow_free_p): New function. + (range_operator::overflow_free_p): New default function. + (operator_plus::overflow_free_p): New function. + (operator_minus::overflow_free_p): New function. + (operator_mult::overflow_free_p): New function. + * range-op.h (range_op_handler::overflow_free_p): New declare. + (range_operator::overflow_free_p): New declare. + * value-range.cc (irange::nonnegative_p): New function. + (irange::nonpositive_p): New function. + * value-range.h (irange::nonnegative_p): New declare. + (irange::nonpositive_p): New declare. + +2023-08-30 Dimitar Dimitrov + + PR target/106562 + * config/pru/predicates.md (const_0_operand): New predicate. + (pru_cstore_comparison_operator): Ditto. + * config/pru/pru.md (cstore4): New pattern. + (cstoredi4): Ditto. + +2023-08-30 Richard Biener + + PR tree-optimization/111228 + * match.pd ((vec_perm (vec_perm ..) @5 ..) -> (vec_perm @x @5 ..)): + New simplifications. + +2023-08-30 Juzhe-Zhong + + * config/riscv/autovec.md (movmisalign): Delete. + +2023-08-30 Die Li + Fei Gao + + * config/riscv/peephole.md: New pattern. + * config/riscv/predicates.md (a0a1_reg_operand): New predicate. + (zcmp_mv_sreg_operand): New predicate. + * config/riscv/riscv.md: New predicate. + * config/riscv/zc.md (*mva01s): New pattern. + (*mvsa01): New pattern. + +2023-08-30 Fei Gao + + * config/riscv/riscv.cc + (riscv_zcmp_can_use_popretz): true if popretz can be used + (riscv_gen_multi_pop_insn): interface to generate cm.pop[ret][z] + (riscv_expand_epilogue): expand cm.pop[ret][z] in epilogue + * config/riscv/riscv.md: define A0_REGNUM + * config/riscv/zc.md + (@gpr_multi_popretz_up_to_ra_): md for popretz ra + (@gpr_multi_popretz_up_to_s0_): md for popretz ra, s0 + (@gpr_multi_popretz_up_to_s1_): likewise + (@gpr_multi_popretz_up_to_s2_): likewise + (@gpr_multi_popretz_up_to_s3_): likewise + (@gpr_multi_popretz_up_to_s4_): likewise + (@gpr_multi_popretz_up_to_s5_): likewise + (@gpr_multi_popretz_up_to_s6_): likewise + (@gpr_multi_popretz_up_to_s7_): likewise + (@gpr_multi_popretz_up_to_s8_): likewise + (@gpr_multi_popretz_up_to_s9_): likewise + (@gpr_multi_popretz_up_to_s11_): likewise + +2023-08-30 Fei Gao + + * config/riscv/iterators.md + (slot0_offset): slot 0 offset in stack GPRs area in bytes + (slot1_offset): slot 1 offset in stack GPRs area in bytes + (slot2_offset): likewise + (slot3_offset): likewise + (slot4_offset): likewise + (slot5_offset): likewise + (slot6_offset): likewise + (slot7_offset): likewise + (slot8_offset): likewise + (slot9_offset): likewise + (slot10_offset): likewise + (slot11_offset): likewise + (slot12_offset): likewise + * config/riscv/predicates.md + (stack_push_up_to_ra_operand): predicates of stack adjust pushing ra + (stack_push_up_to_s0_operand): predicates of stack adjust pushing ra, s0 + (stack_push_up_to_s1_operand): likewise + (stack_push_up_to_s2_operand): likewise + (stack_push_up_to_s3_operand): likewise + (stack_push_up_to_s4_operand): likewise + (stack_push_up_to_s5_operand): likewise + (stack_push_up_to_s6_operand): likewise + (stack_push_up_to_s7_operand): likewise + (stack_push_up_to_s8_operand): likewise + (stack_push_up_to_s9_operand): likewise + (stack_push_up_to_s11_operand): likewise + (stack_pop_up_to_ra_operand): predicates of stack adjust poping ra + (stack_pop_up_to_s0_operand): predicates of stack adjust poping ra, s0 + (stack_pop_up_to_s1_operand): likewise + (stack_pop_up_to_s2_operand): likewise + (stack_pop_up_to_s3_operand): likewise + (stack_pop_up_to_s4_operand): likewise + (stack_pop_up_to_s5_operand): likewise + (stack_pop_up_to_s6_operand): likewise + (stack_pop_up_to_s7_operand): likewise + (stack_pop_up_to_s8_operand): likewise + (stack_pop_up_to_s9_operand): likewise + (stack_pop_up_to_s11_operand): likewise + * config/riscv/riscv-protos.h + (riscv_zcmp_valid_stack_adj_bytes_p):declaration + * config/riscv/riscv.cc (struct riscv_frame_info): comment change + (riscv_avoid_multi_push): helper function of riscv_use_multi_push + (riscv_use_multi_push): true if multi push is used + (riscv_multi_push_sregs_count): num of sregs in multi-push + (riscv_multi_push_regs_count): num of regs in multi-push + (riscv_16bytes_align): align to 16 bytes + (riscv_stack_align): moved to a better place + (riscv_save_libcall_count): no functional change + (riscv_compute_frame_info): add zcmp frame info + (riscv_for_each_saved_reg): save or restore fprs in specified slot for zcmp + (riscv_adjust_multi_push_cfi_prologue): adjust cfi for cm.push + (riscv_gen_multi_push_pop_insn): gen function for multi push and pop + (get_multi_push_fpr_mask): get mask for the fprs pushed by cm.push + (riscv_expand_prologue): allocate stack by cm.push + (riscv_adjust_multi_pop_cfi_epilogue): adjust cfi for cm.pop[ret] + (riscv_expand_epilogue): allocate stack by cm.pop[ret] + (zcmp_base_adj): calculate stack adjustment base size + (zcmp_additional_adj): calculate stack adjustment additional size + (riscv_zcmp_valid_stack_adj_bytes_p): check if stack adjustment valid + * config/riscv/riscv.h (RETURN_ADDR_MASK): mask of ra + (S0_MASK): likewise + (S1_MASK): likewise + (S2_MASK): likewise + (S3_MASK): likewise + (S4_MASK): likewise + (S5_MASK): likewise + (S6_MASK): likewise + (S7_MASK): likewise + (S8_MASK): likewise + (S9_MASK): likewise + (S10_MASK): likewise + (S11_MASK): likewise + (MULTI_PUSH_GPR_MASK): GPR_MASK that cm.push can cover at most + (ZCMP_MAX_SPIMM): max spimm value + (ZCMP_SP_INC_STEP): zcmp sp increment step + (ZCMP_INVALID_S0S10_SREGS_COUNTS): num of s0-s10 + (ZCMP_S0S11_SREGS_COUNTS): num of s0-s11 + (ZCMP_MAX_GRP_SLOTS): max slots of pushing and poping in zcmp + (CALLEE_SAVED_FREG_NUMBER): get x of fsx(fs0 ~ fs11) + * config/riscv/riscv.md: include zc.md + * config/riscv/zc.md: New file. machine description for zcmp + +2023-08-30 Jakub Jelinek + + PR tree-optimization/110914 + * tree-ssa-strlen.cc (strlen_pass::handle_builtin_memcpy): Don't call + adjust_last_stmt unless len is known constant. + +2023-08-30 Jakub Jelinek + + PR tree-optimization/111015 + * gimple-ssa-store-merging.cc + (imm_store_chain_info::output_merged_store): Use wi::mask and + wide_int_to_tree instead of unsigned HOST_WIDE_INT shift and + build_int_cst to build BIT_AND_EXPR mask. + +2023-08-30 Juzhe-Zhong + + * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Add MASK_LEN_ variant. + (call_may_clobber_ref_p_1): Ditto. + * tree-ssa-loop-ivopts.cc (get_mem_type_for_internal_fn): Ditto. + (get_alias_ptr_type_for_ptr_address): Ditto. + +2023-08-30 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc + (vector_insn_info::get_avl_or_vl_reg): Fix bug. + +2023-08-30 Juzhe-Zhong + + * config/riscv/autovec-vls.md (movmisalign): New pattern. + * config/riscv/riscv.cc (riscv_support_vector_misalignment): Support + VLS misalign. + +2023-08-29 Philipp Tomsich + + * config/riscv/zicond.md: New splitters to rewrite single bit + sign extension as the condition to a czero in the desired form. + +2023-08-29 David Malcolm + + PR analyzer/99860 + * doc/invoke.texi: Add -Wanalyzer-overlapping-buffers. + +2023-08-29 David Malcolm + + PR analyzer/99860 + * Makefile.in (ANALYZER_OBJS): Add analyzer/ranges.o. + +2023-08-29 Jin Ma + + * config/riscv/riscv.cc (riscv_float_const_rtx_index_for_fli): + zvfh can generate zfa extended instruction fli.h, just like zfh. + +2023-08-29 Edwin Lu + Vineet Gupta + + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Generate + __riscv_unaligned_avoid with value 1 or + __riscv_unaligned_slow with value 1 or + __riscv_unaligned_fast with value 1 + * config/riscv/riscv.cc (riscv_option_override): Define + riscv_user_wants_strict_align. Set + riscv_user_wants_strict_align to TARGET_STRICT_ALIGN + * config/riscv/riscv.h: Declare riscv_user_wants_strict_align + +2023-08-29 Edwin Lu + + * config/riscv/autovec-vls.md: Update types + * config/riscv/riscv.md: Add vector placeholder type + * config/riscv/vector.md: Update types + +2023-08-29 Carl Love + + * config/rs6000/dfp.md (UNSPEC_DQUAN): New unspec. + (dfp_dqua_, dfp_dquai_): New define_insn. + * config/rs6000/rs6000-builtins.def (__builtin_dfp_dqua, + __builtin_dfp_dquai, __builtin_dfp_dquaq, __builtin_dfp_dquaqi): + New buit-in definitions. + * config/rs6000/rs6000-overload.def (__builtin_dfp_quantize): New + overloaded definition. + * doc/extend.texi: Add documentation for __builtin_dfp_quantize. + +2023-08-29 Pan Li + Ju-Zhe Zhong + + * config/riscv/riscv.cc (riscv_legitimize_poly_move): New declaration. + (riscv_legitimize_const_move): Handle ref plus const poly. + +2023-08-29 Tsukasa OI + + * common/config/riscv/riscv-common.cc + (riscv_implied_info): Add implications from unprivileged extensions. + (riscv_ext_version_table): Add stub support for all unprivileged + extensions supported by Binutils as well as 'Zce', 'Zcmp', 'Zcmt'. + +2023-08-29 Tsukasa OI + + * common/config/riscv/riscv-common.cc (riscv_ext_version_table): + Add stub support for all vendor extensions supported by Binutils. + +2023-08-29 Tsukasa OI + + * common/config/riscv/riscv-common.cc + (riscv_implied_info): Add implications from privileged extensions. + (riscv_ext_version_table): Add stub support for all privileged + extensions supported by Binutils. + +2023-08-29 Lehua Ding + + * config/riscv/autovec.md: Adjust + * config/riscv/riscv-protos.h (RVV_VUNDEF): Clean. + (get_vlmax_rtx): Exported. + * config/riscv/riscv-v.cc (emit_nonvlmax_fp_ternary_tu_insn): Deleted. + (emit_vlmax_masked_gather_mu_insn): Adjust. + (get_vlmax_rtx): New func. + (expand_load_store): Adjust. + (expand_cond_len_unop): Call expand_cond_len_op. + (expand_cond_len_op): New subroutine. + (expand_cond_len_binop): Call expand_cond_len_op. + (expand_cond_len_ternop): Call expand_cond_len_op. + (expand_lanes_load_store): Adjust. + +2023-08-29 Jakub Jelinek + + PR middle-end/79173 + PR middle-end/111209 + * tree-ssa-math-opts.cc (match_uaddc_usubc): Match also + just 2 limb uaddc/usubc with 0 carry-in on lower limb and ignored + carry-out on higher limb. Don't match it though if it could be + matched later on 4 argument addition/subtraction. + +2023-08-29 Andrew Pinski + + PR tree-optimization/111147 + * match.pd (`(x | y) & (~x ^ y)`) Use bitwise_inverted_equal_p + instead of matching bit_not. + +2023-08-29 Christophe Lyon + + * config/arm/arm-mve-builtins.cc (type_suffixes): Add missing + initializer. + +2023-08-29 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (vector_insn_info::get_avl_or_vl_reg): New function. + (pass_vsetvl::compute_local_properties): Fix bug. + (pass_vsetvl::commit_vsetvls): Ditto. + * config/riscv/riscv-vsetvl.h: New function. + +2023-08-29 Lehua Ding + + PR target/110943 + * config/riscv/predicates.md (vector_const_int_or_double_0_operand): + New predicate. + * config/riscv/riscv-vector-builtins.cc (function_expander::function_expander): + force_reg mem target operand. + * config/riscv/vector.md (@pred_mov): Wrapper. + (*pred_mov): Remove imm -> reg pattern. + (*pred_broadcast_imm): Add imm -> reg pattern. + +2023-08-29 Lulu Cheng + + * common/config/loongarch/loongarch-common.cc: + Enable '-free' on O2 and above. + * doc/invoke.texi: Modify the description information + of the '-free' compilation option and add the LoongArch + description. + +2023-08-28 Tsukasa OI + + * doc/extend.texi: Fix the description of __builtin_riscv_pause. + +2023-08-28 Tsukasa OI + + * common/config/riscv/riscv-common.cc (riscv_ext_version_table): + Implement the 'Zihintpause' extension, version 2.0. + (riscv_ext_flag_table) Add 'Zihintpause' handling. + * config/riscv/riscv-builtins.cc: Remove availability predicate + "always" and add "hint_pause". + (riscv_builtins) : Add "pause" extension. + * config/riscv/riscv-opts.h (MASK_ZIHINTPAUSE, TARGET_ZIHINTPAUSE): New. + * config/riscv/riscv.md (riscv_pause): Adjust output based on + TARGET_ZIHINTPAUSE. + +2023-08-28 Andrew Pinski + + * match.pd (`(X & ~Y) | (~X & Y)`): Use bitwise_inverted_equal_p + instead of specifically checking for ~X. + +2023-08-28 Andrew Pinski + + PR tree-optimization/111146 + * match.pd (`(x | y) & ~x`, `(x & y) | ~x`): Remove + redundant pattern. + +2023-08-28 Andrew Pinski + + * tree-ssa-phiopt.cc (gimple_simplify_phiopt): Add dump information + when resimplify returns true. + (match_simplify_replacement): Print only if accepted the match-and-simplify + result rather than the full sequence. + +2023-08-28 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::earliest_fusion): Skip + never probability. + (pass_vsetvl::compute_probabilities): Fix unitialized probability. + +2023-08-28 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::earliest_fusion): Fix bug. + +2023-08-28 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vmullbq_poly) + (vmulltq_poly): New. + * config/arm/arm-mve-builtins-base.def (vmullbq_poly) + (vmulltq_poly): New. + * config/arm/arm-mve-builtins-base.h (vmullbq_poly) + (vmulltq_poly): New. + * config/arm/arm_mve.h (vmulltq_poly): Remove. + (vmullbq_poly): Remove. + (vmullbq_poly_m): Remove. + (vmulltq_poly_m): Remove. + (vmullbq_poly_x): Remove. + (vmulltq_poly_x): Remove. + (vmulltq_poly_p8): Remove. + (vmullbq_poly_p8): Remove. + (vmulltq_poly_p16): Remove. + (vmullbq_poly_p16): Remove. + (vmullbq_poly_m_p8): Remove. + (vmullbq_poly_m_p16): Remove. + (vmulltq_poly_m_p8): Remove. + (vmulltq_poly_m_p16): Remove. + (vmullbq_poly_x_p8): Remove. + (vmullbq_poly_x_p16): Remove. + (vmulltq_poly_x_p8): Remove. + (vmulltq_poly_x_p16): Remove. + (__arm_vmulltq_poly_p8): Remove. + (__arm_vmullbq_poly_p8): Remove. + (__arm_vmulltq_poly_p16): Remove. + (__arm_vmullbq_poly_p16): Remove. + (__arm_vmullbq_poly_m_p8): Remove. + (__arm_vmullbq_poly_m_p16): Remove. + (__arm_vmulltq_poly_m_p8): Remove. + (__arm_vmulltq_poly_m_p16): Remove. + (__arm_vmullbq_poly_x_p8): Remove. + (__arm_vmullbq_poly_x_p16): Remove. + (__arm_vmulltq_poly_x_p8): Remove. + (__arm_vmulltq_poly_x_p16): Remove. + (__arm_vmulltq_poly): Remove. + (__arm_vmullbq_poly): Remove. + (__arm_vmullbq_poly_m): Remove. + (__arm_vmulltq_poly_m): Remove. + (__arm_vmullbq_poly_x): Remove. + (__arm_vmulltq_poly_x): Remove. + +2023-08-28 Christophe Lyon + + * config/arm/arm-mve-builtins-functions.h (class + unspec_mve_function_exact_insn_vmull_poly): New. + +2023-08-28 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_widen_poly): New. + * config/arm/arm-mve-builtins-shapes.h (binary_widen_poly): New. + +2023-08-28 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (parse_element_type): Add + support for 'U' and 'p' format specifiers. + +2023-08-28 Christophe Lyon + + * config/arm/arm-mve-builtins.cc (type_suffixes): Handle poly_p + field.. + (TYPES_poly_8_16): New. + (poly_8_16): New. + * config/arm/arm-mve-builtins.def (p8): New type suffix. + (p16): Likewise. + * config/arm/arm-mve-builtins.h (enum type_class_index): Add + TYPE_poly. + (struct type_suffix_info): Add poly_p field. + +2023-08-28 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vmullbq_int, vmulltq_int): + New. + * config/arm/arm-mve-builtins-base.def (vmullbq_int, vmulltq_int): + New. + * config/arm/arm-mve-builtins-base.h (vmullbq_int, vmulltq_int): + New. + * config/arm/arm_mve.h (vmulltq_int): Remove. + (vmullbq_int): Remove. + (vmullbq_int_m): Remove. + (vmulltq_int_m): Remove. + (vmullbq_int_x): Remove. + (vmulltq_int_x): Remove. + (vmulltq_int_u8): Remove. + (vmullbq_int_u8): Remove. + (vmulltq_int_s8): Remove. + (vmullbq_int_s8): Remove. + (vmulltq_int_u16): Remove. + (vmullbq_int_u16): Remove. + (vmulltq_int_s16): Remove. + (vmullbq_int_s16): Remove. + (vmulltq_int_u32): Remove. + (vmullbq_int_u32): Remove. + (vmulltq_int_s32): Remove. + (vmullbq_int_s32): Remove. + (vmullbq_int_m_s8): Remove. + (vmullbq_int_m_s32): Remove. + (vmullbq_int_m_s16): Remove. + (vmullbq_int_m_u8): Remove. + (vmullbq_int_m_u32): Remove. + (vmullbq_int_m_u16): Remove. + (vmulltq_int_m_s8): Remove. + (vmulltq_int_m_s32): Remove. + (vmulltq_int_m_s16): Remove. + (vmulltq_int_m_u8): Remove. + (vmulltq_int_m_u32): Remove. + (vmulltq_int_m_u16): Remove. + (vmullbq_int_x_s8): Remove. + (vmullbq_int_x_s16): Remove. + (vmullbq_int_x_s32): Remove. + (vmullbq_int_x_u8): Remove. + (vmullbq_int_x_u16): Remove. + (vmullbq_int_x_u32): Remove. + (vmulltq_int_x_s8): Remove. + (vmulltq_int_x_s16): Remove. + (vmulltq_int_x_s32): Remove. + (vmulltq_int_x_u8): Remove. + (vmulltq_int_x_u16): Remove. + (vmulltq_int_x_u32): Remove. + (__arm_vmulltq_int_u8): Remove. + (__arm_vmullbq_int_u8): Remove. + (__arm_vmulltq_int_s8): Remove. + (__arm_vmullbq_int_s8): Remove. + (__arm_vmulltq_int_u16): Remove. + (__arm_vmullbq_int_u16): Remove. + (__arm_vmulltq_int_s16): Remove. + (__arm_vmullbq_int_s16): Remove. + (__arm_vmulltq_int_u32): Remove. + (__arm_vmullbq_int_u32): Remove. + (__arm_vmulltq_int_s32): Remove. + (__arm_vmullbq_int_s32): Remove. + (__arm_vmullbq_int_m_s8): Remove. + (__arm_vmullbq_int_m_s32): Remove. + (__arm_vmullbq_int_m_s16): Remove. + (__arm_vmullbq_int_m_u8): Remove. + (__arm_vmullbq_int_m_u32): Remove. + (__arm_vmullbq_int_m_u16): Remove. + (__arm_vmulltq_int_m_s8): Remove. + (__arm_vmulltq_int_m_s32): Remove. + (__arm_vmulltq_int_m_s16): Remove. + (__arm_vmulltq_int_m_u8): Remove. + (__arm_vmulltq_int_m_u32): Remove. + (__arm_vmulltq_int_m_u16): Remove. + (__arm_vmullbq_int_x_s8): Remove. + (__arm_vmullbq_int_x_s16): Remove. + (__arm_vmullbq_int_x_s32): Remove. + (__arm_vmullbq_int_x_u8): Remove. + (__arm_vmullbq_int_x_u16): Remove. + (__arm_vmullbq_int_x_u32): Remove. + (__arm_vmulltq_int_x_s8): Remove. + (__arm_vmulltq_int_x_s16): Remove. + (__arm_vmulltq_int_x_s32): Remove. + (__arm_vmulltq_int_x_u8): Remove. + (__arm_vmulltq_int_x_u16): Remove. + (__arm_vmulltq_int_x_u32): Remove. + (__arm_vmulltq_int): Remove. + (__arm_vmullbq_int): Remove. + (__arm_vmullbq_int_m): Remove. + (__arm_vmulltq_int_m): Remove. + (__arm_vmullbq_int_x): Remove. + (__arm_vmulltq_int_x): Remove. + +2023-08-28 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_widen): New. + * config/arm/arm-mve-builtins-shapes.h (binary_widen): New. + +2023-08-28 Christophe Lyon + + * config/arm/arm-mve-builtins-functions.h (class + unspec_mve_function_exact_insn_vmull): New. + +2023-08-28 Christophe Lyon + + * config/arm/iterators.md (mve_insn): Add vmullb, vmullt. + (isu): Add VMULLBQ_INT_S, VMULLBQ_INT_U, VMULLTQ_INT_S, + VMULLTQ_INT_U. + (supf): Add VMULLBQ_POLY_P, VMULLTQ_POLY_P, VMULLBQ_POLY_M_P, + VMULLTQ_POLY_M_P. + (VMULLBQ_INT, VMULLTQ_INT, VMULLBQ_INT_M, VMULLTQ_INT_M): Delete. + (VMULLxQ_INT, VMULLxQ_POLY, VMULLxQ_INT_M, VMULLxQ_POLY_M): New. + * config/arm/mve.md (mve_vmullbq_int_) + (mve_vmulltq_int_): Merge into ... + (@mve_q_int_) ... this. + (mve_vmulltq_poly_p, mve_vmullbq_poly_p): Merge into ... + (@mve_q_poly_): ... this. + (mve_vmullbq_int_m_, mve_vmulltq_int_m_): Merge into ... + (@mve_q_int_m_): ... this. + (mve_vmullbq_poly_m_p, mve_vmulltq_poly_m_p): Merge into ... + (@mve_q_poly_m_): ... this. + +2023-08-28 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (parse_element_type): + Remove dead check. + +2023-08-28 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_acca_int32): Fix loop bound. + (binary_acca_int64): Likewise. + +2023-08-28 Aldy Hernandez + + * range-op-float.cc (fold_range): Handle relations. + +2023-08-28 Lulu Cheng + + * config/loongarch/loongarch.cc (loongarch_expand_conditional_move): + Optimize the function implementation. + +2023-08-28 liuhongt + + PR target/111119 + * config/i386/sse.md (V48_AVX2): Rename to .. + (V48_128_256): .. this. + (ssefltmodesuffix): Extend to V4SF/V8SF/V2DF/V4DF. + (_maskload): Change + V48_AVX2 to V48_128_256, also generate vmaskmov{ps,pd} for + integral modes when TARGET_AVX2 is not available. + (_maskstore): Ditto. + (maskload): Change V48_AVX2 to + V48_128_256. + (maskstore): Ditto. + +2023-08-28 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (vsetvl_vtype_change_only_p): + New function. + (after_or_same_p): Ditto. + (find_reg_killed_by): Delete. + (has_vsetvl_killed_avl_p): Ditto. + (anticipatable_occurrence_p): Refactor. + (any_set_in_bb_p): Delete. + (count_regno_occurrences): Ditto. + (backward_propagate_worthwhile_p): Ditto. + (demands_can_be_fused_p): Ditto. + (earliest_pred_can_be_fused_p): New function. + (vsetvl_dominated_by_p): Ditto. + (vector_insn_info::parse_insn): Refactor. + (vector_insn_info::merge): Refactor. + (vector_insn_info::dump): Refactor. + (vector_infos_manager::vector_infos_manager): Refactor. + (vector_infos_manager::all_empty_predecessor_p): Delete. + (vector_infos_manager::all_same_avl_p): Ditto. + (vector_infos_manager::create_bitmap_vectors): Refactor. + (vector_infos_manager::free_bitmap_vectors): Refactor. + (vector_infos_manager::dump): Refactor. + (pass_vsetvl::update_block_info): New function. + (enum fusion_type): Ditto. + (pass_vsetvl::get_backward_fusion_type): Delete. + (pass_vsetvl::hard_empty_block_p): Ditto. + (pass_vsetvl::backward_demand_fusion): Ditto. + (pass_vsetvl::forward_demand_fusion): Ditto. + (pass_vsetvl::demand_fusion): Ditto. + (pass_vsetvl::cleanup_illegal_dirty_blocks): Ditto. + (pass_vsetvl::compute_local_properties): Ditto. + (pass_vsetvl::earliest_fusion): New function. + (pass_vsetvl::vsetvl_fusion): Ditto. + (pass_vsetvl::commit_vsetvls): Refactor. + (get_first_vsetvl_before_rvv_insns): Ditto. + (pass_vsetvl::global_eliminate_vsetvl_insn): Ditto. + (pass_vsetvl::cleanup_earliest_vsetvls): New function. + (pass_vsetvl::df_post_optimization): Refactor. + (pass_vsetvl::lazy_vsetvl): Ditto. + * config/riscv/riscv-vsetvl.h: Ditto. + +2023-08-26 Juzhe-Zhong + + * config/riscv/autovec.md (len_fold_extract_last_): New pattern. + * config/riscv/riscv-protos.h (enum insn_type): New enum. + (expand_fold_extract_last): New function. + * config/riscv/riscv-v.cc (emit_nonvlmax_slide_insn): Ditto. + (emit_cpop_insn): Ditto. + (emit_nonvlmax_compress_insn): Ditto. + (expand_fold_extract_last): Ditto. + * config/riscv/vector.md: Fix vcpop.m ratio demand. + +2023-08-25 Edwin Lu + + * config/riscv/sync-rvwmo.md: updated types to "multi" or + "atomic" based on number of assembly lines generated + * config/riscv/sync-ztso.md: likewise + * config/riscv/sync.md: likewise + +2023-08-25 Jin Ma + + * common/config/riscv/riscv-common.cc: Add zfa extension version, which depends on + the F extension. + * config/riscv/constraints.md (zfli): Constrain the floating point number that the + instructions FLI.H/S/D can load. + * config/riscv/iterators.md (ceil): New. + * config/riscv/riscv-opts.h (MASK_ZFA): New. + (TARGET_ZFA): New. + * config/riscv/riscv-protos.h (riscv_float_const_rtx_index_for_fli): New. + * config/riscv/riscv.cc (riscv_float_const_rtx_index_for_fli): New. + (riscv_cannot_force_const_mem): If instruction FLI.H/S/D can be used, memory is + not applicable. + (riscv_const_insns): Likewise. + (riscv_legitimize_const_move): Likewise. + (riscv_split_64bit_move_p): If instruction FLI.H/S/D can be used, no split is + required. + (riscv_split_doubleword_move): Likewise. + (riscv_output_move): Output the mov instructions in zfa extension. + (riscv_print_operand): Output the floating-point value of the FLI.H/S/D immediate + in assembly. + (riscv_secondary_memory_needed): Likewise. + * config/riscv/riscv.md (fminm3): New. + (fmaxm3): New. + (movsidf2_low_rv32): New. + (movsidf2_high_rv32): New. + (movdfsisi3_rv32): New. + (f_quiet4_zfa): New. + * config/riscv/riscv.opt: New. + +2023-08-25 Sandra Loosemore + + * omp-api.h: New. + * omp-general.cc (omp_runtime_api_procname): New. + (omp_runtime_api_call): Moved here from omp-low.cc, and make + non-static. + * omp-general.h: Include omp-api.h. + * omp-low.cc (omp_runtime_api_call): Delete this copy. + +2023-08-25 Sandra Loosemore + + * doc/generic.texi (OpenMP): Document OMP_STRUCTURED_BLOCK. + * doc/gimple.texi (GIMPLE instruction set): Add + GIMPLE_OMP_STRUCTURED_BLOCK. + (GIMPLE_OMP_STRUCTURED_BLOCK): New subsection. + * gimple-low.cc (lower_stmt): Error on GIMPLE_OMP_STRUCTURED_BLOCK. + * gimple-pretty-print.cc (dump_gimple_omp_block): Handle + GIMPLE_OMP_STRUCTURED_BLOCK. + (pp_gimple_stmt_1): Likewise. + * gimple-walk.cc (walk_gimple_stmt): Likewise. + * gimple.cc (gimple_build_omp_structured_block): New. + * gimple.def (GIMPLE_OMP_STRUCTURED_BLOCK): New. + * gimple.h (gimple_build_omp_structured_block): Declare. + (gimple_has_substatements): Handle GIMPLE_OMP_STRUCTURED_BLOCK. + (CASE_GIMPLE_OMP): Likewise. + * gimplify.cc (is_gimple_stmt): Handle OMP_STRUCTURED_BLOCK. + (gimplify_expr): Likewise. + * omp-expand.cc (GIMPLE_OMP_STRUCTURED_BLOCK): Error on + GIMPLE_OMP_STRUCTURED_BLOCK. + * omp-low.cc (scan_omp_1_stmt): Handle GIMPLE_OMP_STRUCTURED_BLOCK. + (lower_omp_1): Likewise. + (diagnose_sb_1): Likewise. + (diagnose_sb_2): Likewise. + * tree-inline.cc (remap_gimple_stmt): Handle + GIMPLE_OMP_STRUCTURED_BLOCK. + (estimate_num_insns): Likewise. + * tree-nested.cc (convert_nonlocal_reference_stmt): Likewise. + (convert_local_reference_stmt): Likewise. + (convert_gimple_call): Likewise. + * tree-pretty-print.cc (dump_generic_node): Handle + OMP_STRUCTURED_BLOCK. + * tree.def (OMP_STRUCTURED_BLOCK): New. + * tree.h (OMP_STRUCTURED_BLOCK_BODY): New. + +2023-08-25 Vineet Gupta + + * config/riscv/riscv.cc (riscv_rtx_costs): Adjust const_int + cost. Add some comments about different constants handling. + +2023-08-25 Andrew Pinski + + * match.pd (`a ? one_zero : one_zero`): Move + below detection of minmax. + +2023-08-25 Andrew Pinski + + * match.pd (`a | C -> C`): New pattern. + +2023-08-25 Uros Bizjak + + * caller-save.cc (new_saved_hard_reg): + Rename TRUE/FALSE to true/false. + (setup_save_areas): Ditto. + * gcc.cc (set_collect_gcc_options): Ditto. + (driver::build_multilib_strings): Ditto. + (print_multilib_info): Ditto. + * genautomata.cc (gen_cpu_unit): Ditto. + (gen_query_cpu_unit): Ditto. + (gen_bypass): Ditto. + (gen_excl_set): Ditto. + (gen_presence_absence_set): Ditto. + (gen_presence_set): Ditto. + (gen_final_presence_set): Ditto. + (gen_absence_set): Ditto. + (gen_final_absence_set): Ditto. + (gen_automaton): Ditto. + (gen_regexp_repeat): Ditto. + (gen_regexp_allof): Ditto. + (gen_regexp_oneof): Ditto. + (gen_regexp_sequence): Ditto. + (process_decls): Ditto. + (reserv_sets_are_intersected): Ditto. + (initiate_excl_sets): Ditto. + (form_reserv_sets_list): Ditto. + (check_presence_pattern_sets): Ditto. + (check_absence_pattern_sets): Ditto. + (check_regexp_units_distribution): Ditto. + (check_unit_distributions_to_automata): Ditto. + (create_ainsns): Ditto. + (output_insn_code_cases): Ditto. + (output_internal_dead_lock_func): Ditto. + (form_important_insn_automata_lists): Ditto. + * gengtype-state.cc (read_state_files_list): Ditto. + * gengtype.cc (main): Ditto. + * gimple-array-bounds.cc (array_bounds_checker::check_array_bounds): + Ditto. + * gimple.cc (gimple_build_call_from_tree): Ditto. + (preprocess_case_label_vec_for_gimple): Ditto. + * gimplify.cc (gimplify_call_expr): Ditto. + * ordered-hash-map-tests.cc (test_map_of_int_to_strings): Ditto. + +2023-08-25 Richard Biener + + PR tree-optimization/111137 + * tree-vect-data-refs.cc (vect_slp_analyze_load_dependences): + Properly handle grouped stores from other SLP instances. + +2023-08-25 Richard Biener + + * tree-vect-data-refs.cc (vect_slp_analyze_store_dependences): + Split out from vect_slp_analyze_node_dependences, remove + dead code. + (vect_slp_analyze_load_dependences): Split out from + vect_slp_analyze_node_dependences, adjust comments. Process + queued stores before any disambiguation. + (vect_slp_analyze_node_dependences): Remove. + (vect_slp_analyze_instance_dependence): Adjust. + +2023-08-25 Aldy Hernandez + + * range-op-float.cc (frelop_early_resolve): Rewrite for better NAN + handling. + (operator_not_equal::fold_range): Adjust for relations. + (operator_lt::fold_range): Same. + (operator_gt::fold_range): Same. + (foperator_unordered_equal::fold_range): Same. + (foperator_unordered_lt::fold_range): Same. + (foperator_unordered_le::fold_range): Same. + (foperator_unordered_gt::fold_range): Same. + (foperator_unordered_ge::fold_range): Same. + +2023-08-25 Richard Biener + + PR tree-optimization/111136 + * tree-vect-loop.cc (vect_dissolve_slp_only_groups): For + stores force STMT_VINFO_STRIDED_P and also duplicate that + to all elements. + +2023-08-25 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::compute_local_properties): + Add early continue. + +2023-08-25 liuhongt + + * config/i386/sse.md (vec_set): Removed. + (V_128H): Merge into .. + (V_128): .. this. + (V_256H): Merge into .. + (V_256): .. this. + (V_512): Add V32HF, V32BF. + (*ssse3_palignr_perm): Adjust mode iterator from V_128H + to V_128. + (vcond): Removed + (vcondu): Removed. + (avx_vbroadcastf128_): Refator from V_256H to V_256. + +2023-08-25 Hongyu Wang + + PR target/111127 + * config/i386/sse.md (avx512f_cvtne2ps2bf16__maskz): + Adjust paramter order. + +2023-08-24 Uros Bizjak + + PR target/94866 + * config/i386/sse.md (*sse2_movq128__1): New insn pattern. + +2023-08-24 David Malcolm + + PR analyzer/105899 + * doc/invoke.texi (Static Analyzer Options): Add "strcat" to the + list of functions known to the analyzer. + +2023-08-24 Richard Biener + + PR tree-optimization/111123 + * tree-ssa-ccp.cc (pass_fold_builtins::execute): Do not + remove indirect clobbers here ... + * tree-outof-ssa.cc (rewrite_out_of_ssa): ... but here. + (remove_indirect_clobbers): New function. + +2023-08-24 Jan Hubicka + + * cfg.h (struct control_flow_graph): New field full_profile. + * auto-profile.cc (afdo_annotate_cfg): Set full_profile to true. + * cfg.cc (init_flow): Set full_profile to false. + * graphite.cc (graphite_transform_loops): Set full_profile to false. + * lto-streamer-in.cc (input_cfg): Initialize full_profile flag. + * predict.cc (pass_profile::execute): Set full_profile to true. + * symtab-thunks.cc (expand_thunk): Set full_profile to true. + * tree-cfg.cc (gimple_verify_flow_info): Verify that profile is full + if full_profile is set. + * tree-inline.cc (initialize_cfun): Initialize full_profile. + (expand_call_inline): Combine full_profile. + +2023-08-24 Richard Biener + + * tree-vect-slp.cc (vect_build_slp_tree_1): Rename + load_p to ldst_p, fix mistakes and rely on + STMT_VINFO_DATA_REF. + +2023-08-24 Jan Hubicka + + * gimple-harden-conditionals.cc (insert_check_and_trap): Set count + of newly build trap bb. + +2023-08-24 Juzhe-Zhong + + * config/riscv/riscv.cc (riscv_preferred_else_value): Remove it since + it forbid COND_LEN_FMS/COND_LEN_FNMS STMT fold. + (TARGET_PREFERRED_ELSE_VALUE): Ditto. + +2023-08-24 Robin Dapp + + * common/config/riscv/riscv-common.cc: Add -fsched-pressure. + * config/riscv/riscv.cc (riscv_option_override): Set sched + pressure algorithm. + +2023-08-24 Robin Dapp + + * config/riscv/riscv.cc (riscv_print_operand): Allow vk operand. + +2023-08-24 Richard Biener + + PR tree-optimization/111125 + * tree-vect-slp.cc (vect_slp_function): Split at novector + loop entry, do not push blocks in novector loops. + +2023-08-24 Richard Sandiford + + * doc/extend.texi: Document the C [[__extension__ ...]] construct. + +2023-08-24 Juzhe-Zhong + + * genmatch.cc (decision_tree::gen): Support + COND_LEN_FNMA/COND_LEN_FMS/COND_LEN_FNMS gimple fold. + * gimple-match-exports.cc (gimple_simplify): Ditto. + (gimple_resimplify6): New function. + (gimple_resimplify7): New function. + (gimple_match_op::resimplify): Support + COND_LEN_FNMA/COND_LEN_FMS/COND_LEN_FNMS gimple fold. + (convert_conditional_op): Ditto. + (build_call_internal): Ditto. + (try_conditional_simplification): Ditto. + (gimple_extract): Ditto. + * gimple-match.h (gimple_match_cond::gimple_match_cond): Ditto. + * internal-fn.cc (CASE): Ditto. + +2023-08-24 Richard Biener + + PR tree-optimization/111115 + * tree-vectorizer.h (vect_slp_child_index_for_operand): New. + * tree-vect-data-refs.cc (can_group_stmts_p): Also group + .MASK_STORE. + * tree-vect-slp.cc (arg3_arg2_map): New. + (vect_get_operand_map): Handle IFN_MASK_STORE. + (vect_slp_child_index_for_operand): New function. + (vect_build_slp_tree_1): Handle statements with no LHS, + masked store ifns. + (vect_remove_slp_scalar_calls): Likewise. + * tree-vect-stmts.cc (vect_check_store_rhs): Lookup the + SLP child corresponding to the ifn value index. + (vectorizable_store): Likewise for the mask index. Support + masked stores. + (vectorizable_load): Lookup the SLP child corresponding to the + ifn mask index. + +2023-08-24 Richard Biener + + PR tree-optimization/111125 + * tree-vect-slp.cc (vectorizable_bb_reduc_epilogue): Account + for the remain_defs processing. + +2023-08-24 Richard Sandiford + + * config/aarch64/aarch64.cc: Include ssa.h. + (aarch64_multiply_add_p): Require the second operand of an + Advanced SIMD subtraction to be a multiplication. Assume that + such an operation won't be fused if the second operand is used + multiple times and if the first operand is also a multiplication. + +2023-08-24 Juzhe-Zhong + + * tree-vect-loop.cc (vectorizable_reduction): Apply + LEN_FOLD_EXTRACT_LAST. + * tree-vect-stmts.cc (vectorizable_condition): Ditto. + +2023-08-24 Richard Biener + + PR tree-optimization/111128 + * tree-vect-patterns.cc (vect_recog_over_widening_pattern): + Emit external shift operand inline if we promoted it with + another pattern stmt. + +2023-08-24 Pan Li + + * config/riscv/autovec.md: Fix typo. + +2023-08-24 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class binop_frm): Removed. + (class reverse_binop_frm): Ditto. + (class widen_binop_frm): Ditto. + (class vfmacc_frm): Ditto. + (class vfnmacc_frm): Ditto. + (class vfmsac_frm): Ditto. + (class vfnmsac_frm): Ditto. + (class vfmadd_frm): Ditto. + (class vfnmadd_frm): Ditto. + (class vfmsub_frm): Ditto. + (class vfnmsub_frm): Ditto. + (class vfwmacc_frm): Ditto. + (class vfwnmacc_frm): Ditto. + (class vfwmsac_frm): Ditto. + (class vfwnmsac_frm): Ditto. + (class unop_frm): Ditto. + (class vfrec7_frm): Ditto. + (class binop): Add frm_op_type template arg. + (class unop): Ditto. + (class widen_binop): Ditto. + (class widen_binop_fp): Ditto. + (class reverse_binop): Ditto. + (class vfmacc): Ditto. + (class vfnmsac): Ditto. + (class vfmadd): Ditto. + (class vfnmsub): Ditto. + (class vfnmacc): Ditto. + (class vfmsac): Ditto. + (class vfnmadd): Ditto. + (class vfmsub): Ditto. + (class vfwmacc): Ditto. + (class vfwnmacc): Ditto. + (class vfwmsac): Ditto. + (class vfwnmsac): Ditto. + (class float_misc): Ditto. + +2023-08-24 Andrew Pinski + + PR tree-optimization/111109 + * match.pd (ior(cond,cond), ior(vec_cond,vec_cond)): + Add check to make sure cmp and icmp are inverse. + +2023-08-24 Andrew Pinski + + PR tree-optimization/95929 + * match.pd (convert?(-a)): New pattern + for 1bit integer types. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-17 Haochen Jiang + + * common/config/i386/cpuinfo.h (get_available_features): + Add avx10_set and version and detect avx10.1. + (cpu_indicator_init): Handle avx10.1-512. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AVX10_512BIT_SET): New. + (OPTION_MASK_ISA2_AVX10_1_SET): Ditto. + (OPTION_MASK_ISA2_AVX10_512BIT_UNSET): Ditto. + (OPTION_MASK_ISA2_AVX10_1_UNSET): Ditto. + (OPTION_MASK_ISA2_AVX2_UNSET): Modify for AVX10_1. + (ix86_handle_option): Handle -mavx10.1, -mavx10.1-256 and + -mavx10.1-512. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AVX10_512BIT, FEATURE_AVX10_1 and + FEATURE_AVX10_512BIT. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + AVX10_512BIT, AVX10_1 and AVX10_1_512. + * config/i386/constraints.md (Yk): Add AVX10_1. + (Yv): Ditto. + (k): Ditto. + * config/i386/cpuid.h (bit_AVX10): New. + (bit_AVX10_256): Ditto. + (bit_AVX10_512): Ditto. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Define AVX10_512BIT and AVX10_1. + * config/i386/i386-isa.def + (AVX10_512BIT): Add DEF_PTA(AVX10_512BIT). + (AVX10_1): Add DEF_PTA(AVX10_1). + * config/i386/i386-options.cc (isa2_opts): Add -mavx10.1. + (ix86_valid_target_attribute_inner_p): Handle avx10-512bit, avx10.1 + and avx10.1-512. + (ix86_option_override_internal): Enable AVX512{F,VL,BW,DQ,CD,BF16, + FP16,VBMI,VBMI2,VNNI,IFMA,BITALG,VPOPCNTDQ} features for avx10.1-512. + (ix86_valid_target_attribute_inner_p): Handle AVX10_1. + * config/i386/i386.cc (ix86_get_ssemov): Add AVX10_1. + (ix86_conditional_register_usage): Ditto. + (ix86_hard_regno_mode_ok): Ditto. + (ix86_rtx_costs): Ditto. + * config/i386/i386.h (VALID_MASK_AVX10_MODE): New macro. + * config/i386/i386.opt: Add option -mavx10.1, -mavx10.1-256 and + -mavx10.1-512. + * doc/extend.texi: Document avx10.1, avx10.1-256 and avx10.1-512. + * doc/invoke.texi: Document -mavx10.1, -mavx10.1-256 and -mavx10.1-512. + * doc/sourcebuild.texi: Document target avx10.1, avx10.1-256 + and avx10.1-512. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-17 Haochen Jiang + + * common/config/i386/i386-common.cc + (ix86_check_avx10): New function to check isa_flags and + isa_flags_explicit to emit warning when AVX10 is enabled + by "-m" option. + (ix86_check_avx512): New function to check isa_flags and + isa_flags_explicit to emit warning when AVX512 is enabled + by "-m" option. + (ix86_handle_option): Do not change the flags when warning + is emitted. + * config/i386/driver-i386.cc (host_detect_local_cpu): + Do not append -mno-avx10.1 for -march=native. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-17 Haochen Jiang + + * common/config/i386/i386-common.cc + (ix86_check_avx10_vector_width): New function to check isa_flags + to emit a warning when there is a conflict in AVX10 options for + vector width. + (ix86_handle_option): Add check for avx10.1-256 and avx10.1-512. + * config/i386/driver-i386.cc (host_detect_local_cpu): + Do not append -mno-avx10-max-512bit for -march=native. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-17 Haochen Jiang + + * config/i386/avx512vldqintrin.h: Remove target attribute. + * config/i386/i386-builtin.def (BDESC): + Add OPTION_MASK_ISA2_AVX10_1. + * config/i386/i386-builtins.cc (def_builtin): Handle AVX10_1. + * config/i386/i386-expand.cc + (ix86_check_builtin_isa_match): Ditto. + (ix86_expand_sse2_mulvxdi3): Add TARGET_AVX10_1. + * config/i386/i386.md: Add new isa attribute avx10_1_or_avx512dq + and avx10_1_or_avx512vl. + * config/i386/sse.md: (VF2_AVX512VLDQ_AVX10_1): New. + (VF1_128_256VLDQ_AVX10_1): Ditto. + (VI8_AVX512VLDQ_AVX10_1): Ditto. + (_andnot3): + Add TARGET_AVX10_1 and change isa attr from avx512dq to + avx10_1_or_avx512dq. + (*andnot3): Add TARGET_AVX10_1 and change isa attr from + avx512vl to avx10_1_or_avx512vl. + (fix_trunc2): + Change iterator to VF2_AVX512VLDQ_AVX10_1. Remove target check. + (fix_notrunc2): + Ditto. + (ufix_notrunc2): + Ditto. + (fix_trunc2): + Change iterator to VF1_128_256VLDQ_AVX10_1. Remove target check. + (avx512dq_fix_truncv2sfv2di2): + Add TARGET_AVX10_1. + (fix_truncv2sfv2di2): Ditto. + (cond_mul): Change iterator to VI8_AVX10_1_AVX512DQVL. + Remove target check. + (avx512dq_mul3): Ditto. + (*avx512dq_mul3): Ditto. + (VI4F_BRCST32x2): Add TARGET_AVX512DQ and TARGET_AVX10_1. + (avx512dq_broadcast): + Remove target check. + (VI8F_BRCST64x2): Add TARGET_AVX512DQ and TARGET_AVX10_1. + (avx512dq_broadcast_1): + Remove target check. + * config/i386/subst.md (mask_mode512bit_condition): Add TARGET_AVX10_1. + (mask_avx512vl_condition): Ditto. + (mask): Ditto. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-17 Haochen Jiang + + * config/i386/avx512vldqintrin.h: Remove target attribute. + * config/i386/i386-builtin.def (BDESC): + Add OPTION_MASK_ISA2_AVX10_1. + * config/i386/i386.cc (standard_sse_constant_opcode): Add TARGET_AVX10_1. + * config/i386/sse.md: (VI48_AVX512VL_AVX10_1): New. + (VI48_AVX512VLDQ_AVX10_1): Ditto. + (VF2_AVX512VL): Remove. + (VI8_256_512VLDQ_AVX10_1): Rename from VI8_256_512. + Add TARGET_AVX10_1. + (*3): Change isa attribute to + avx10_1_or_avx512dq. Add TARGET_AVX10_1. + (3): Add TARGET_AVX10_1. Change isa attr + to avx10_1_or_avx512vl. + (avx512dq_cvtps2qq): + Change iterator to VI8_256_512VLDQ_AVX10_1. Remove target check. + (avx512dq_cvtps2qqv2di): + Add TARGET_AVX10_1. + (avx512dq_cvtps2uqq): + Change iterator to VI8_256_512VLDQ_AVX10_1. Remove target check. + (avx512dq_cvtps2uqqv2di): + Add TARGET_AVX10_1. + (float2): + Change iterator to VF2_AVX512VLDQ_AVX10_1. Remove target check. + (float2): + Change iterator to VF1_128_256VLDQ_AVX10_1. Remove target check. + (floatv4div4sf2): + Add TARGET_AVX10_1. + (avx512dq_floatv2div2sf2): Ditto. + (*avx512dq_floatv2div2sf2): Ditto. + (floatv2div2sf2): Ditto. + (floatv2div2sf2_mask): Ditto. + (*floatv2div2sf2_mask): Ditto. + (*floatv2div2sf2_mask_1): Ditto. + (_cvt2mask): + Change iterator to VI48_AVX512VLDQ_AVX10_1. Remove target check. + (_cvtmask2): Ditto. + (*_cvtmask2): + Change iterator to VI48_AVX512VL_AVX10_1. Remove target check. + Change when constraint is enabled. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-17 Haochen Jiang + + * config/i386/avx512vldqintrin.h: Remove target attribute. + * config/i386/i386-builtin.def (BDESC): + Add OPTION_MASK_ISA2_AVX10_1. + * config/i386/sse.md (VF_AVX512VLDQ_AVX10_1): New. + (VFH_AVX512VLDQ_AVX10_1): Ditto. + (VF1_AVX512VLDQ_AVX10_1): Ditto. + (reducep): + Change iterator to VFH_AVX512VLDQ_AVX10_1. Remove target check. + (vec_pack_float_): Change iterator to + VI8_AVX512VLDQ_AVX10_1. Remove target check. + (vec_unpack_fix_trunc_lo_): Change iterator to + VF1_AVX512VLDQ_AVX10_1. Remove target check. + (vec_unpack_fix_trunc_hi_): Ditto. + (VI48F_256_DQVL_AVX10_1): Rename from VI48F_256_DQ. + (avx512vl_vextractf128): Change iterator to + VI48F_256_DQVL_AVX10_1. Remove target check. + (vec_extract_hi__mask): Add TARGET_AVX10_1. + (vec_extract_hi_): Ditto. + (avx512vl_vinsert): Ditto. + (vec_set_lo_): Ditto. + (vec_set_hi_): Ditto. + (avx512dq_rangep): Change + iterator to VF_AVX512VLDQ_AVX10_1. Remove target check. + (avx512dq_fpclass): Change + iterator to VFH_AVX512VLDQ_AVX10_1. Remove target check. + * config/i386/subst.md (mask_avx512dq_condition): Add + TARGET_AVX10_1. + (mask_scalar_merge): Ditto. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-18 Haochen Jiang + + PR target/111051 + * config/i386/avx512vldqintrin.h: Push AVX2 when AVX2 is + disabled. + +2023-08-24 Richard Biener + + PR debug/111080 + * dwarf2out.cc (prune_unused_types_walk): Handle + DW_TAG_restrict_type, DW_TAG_shared_type, DW_TAG_atomic_type, + DW_TAG_immutable_type, DW_TAG_coarray_type, DW_TAG_unspecified_type + and DW_TAG_dynamic_type as to only output them when referenced. + +2023-08-24 liuhongt + + * config/i386/i386.cc (ix86_invalid_conversion): Adjust GCC + V13 to GCC 13.1. + +2023-08-24 liuhongt + + * common/config/i386/i386-common.cc (processor_names): Add new + member graniterapids-s and arrowlake-s. + * config/i386/i386-options.cc (processor_alias_table): Update + table with PROCESSOR_ARROWLAKE_S and + PROCESSOR_GRANITERAPIDS_D. + (m_GRANITERAPID_D): New macro. + (m_ARROWLAKE_S): Ditto. + (m_CORE_AVX512): Add m_GRANITERAPIDS_D. + (processor_cost_table): Add icelake_cost for + PROCESSOR_GRANITERAPIDS_D and alderlake_cost for + PROCESSOR_ARROWLAKE_S. + * config/i386/x86-tune.def: Hanlde m_ARROWLAKE_S same as + m_ARROWLAKE. + * config/i386/i386.h (enum processor_type): Add new member + PROCESSOR_GRANITERAPIDS_D and PROCESSOR_ARROWLAKE_S. + * config/i386/i386-c.cc (ix86_target_macros_internal): Handle + PROCESSOR_GRANITERAPIDS_D and PROCESSOR_ARROWLAKE_S + +2023-08-23 Jivan Hakobyan + + * lra-eliminations.cc (eliminate_regs_in_insn): Use equivalences to + to help simplify code further. + +2023-08-23 Andrew MacLeod + + * gimple-range-fold.cc (fold_using_range::range_of_phi): Tweak output. + * gimple-range-phi.cc (phi_group::phi_group): Remove unused members. + Initialize using a range instead of value and edge. + (phi_group::calculate_using_modifier): Use initializer value and + process for relations after trying for iteration convergence. + (phi_group::refine_using_relation): Use initializer range. + (phi_group::dump): Rework the dump output. + (phi_analyzer::process_phi): Allow multiple constant initilizers. + Dump groups immediately as created. + (phi_analyzer::dump): Tweak output. + * gimple-range-phi.h (phi_group::phi_group): Adjust prototype. + (phi_group::initial_value): Delete. + (phi_group::refine_using_relation): Adjust prototype. + (phi_group::m_initial_value): Delete. + (phi_group::m_initial_edge): Delete. + (phi_group::m_vr): Use int_range_max. + * tree-vrp.cc (execute_ranger_vrp): Don't dump phi groups. + +2023-08-23 Andrew MacLeod + + * gimple-range-phi.cc (phi_analyzer::operator[]): Return NULL if + no group was created. + (phi_analyzer::process_phi): Do not create groups of one phi node. + +2023-08-23 Richard Earnshaw + + * target.def (gen_ccmp_first, gen_ccmp_next): Use rtx_code for + CODE, CMP_CODE and BIT_CODE arguments. + * config/aarch64/aarch64.cc (aarch64_gen_ccmp_first): Likewise. + (aarch64_gen_ccmp_next): Likewise. + * doc/tm.texi: Regenerated. + +2023-08-23 Richard Earnshaw + + * coretypes.h (rtx_code): Add forward declaration. + * rtl.h (rtx_code): Make compatible with forward declaration. + +2023-08-23 Uros Bizjak + + PR target/111010 + * config/i386/i386.md (*concat3_3): + Merge pattern from *concatditi3_3 and *concatsidi3_3 using + DWIH mode iterator. Disable (=&r,m,m) alternative for + 32-bit targets. + (*concat3_3): Disable (=&r,m,m) + alternative for 32-bit targets. + +2023-08-23 Zhangjin Liao + + * config/riscv/bitmanip.md (*disi2_sext): Add a more + appropriate type attribute. + +2023-08-23 Lehua Ding + + * config/riscv/autovec-opt.md (*cond_abs): New combine pattern. + (*copysign_neg): Ditto. + * config/riscv/autovec.md (@vcond_mask_): Adjust. + (2): Ditto. + (cond_): New. + (cond_len_): Ditto. + * config/riscv/riscv-protos.h (enum insn_type): New. + (expand_cond_len_unop): New helper func. + * config/riscv/riscv-v.cc (shuffle_merge_patterns): Adjust. + (expand_cond_len_unop): New helper func. + +2023-08-23 Jan Hubicka + + * tree-ssa-loop-ch.cc (enum ch_decision): Fix comment. + (should_duplicate_loop_header_p): Fix return value for static exits. + (ch_base::copy_headers): Improve handling of ch_possible_zero_cost. + +2023-08-23 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_store): Move the handlings on + VMAT_GATHER_SCATTER in the final loop nest to its own loop, + and update the final nest accordingly. + +2023-08-23 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_store): Move the handlings on + VMAT_LOAD_STORE_LANES in the final loop nest to its own loop, + and update the final nest accordingly. + +2023-08-23 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_store): Remove vec oprnds, + adjust vec result_chain, vec_oprnd with auto_vec, and adjust + gvec_oprnds with auto_delete_vec. + +2023-08-23 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc + (pass_vsetvl::global_eliminate_vsetvl_insn): Fix potential ICE. + +2023-08-23 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (ge_sew_ratio_unavailable_p): + Fix fuse rule bug. + * config/riscv/riscv-vsetvl.def (DEF_SEW_LMUL_FUSE_RULE): Ditto. + +2023-08-23 Juzhe-Zhong + + * config/riscv/vector.md: Add attribute. + +2023-08-22 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (change_insn): Clang format. + (vector_infos_manager::all_same_ratio_p): Ditto. + (vector_infos_manager::all_same_avl_p): Ditto. + (pass_vsetvl::refine_vsetvls): Ditto. + (pass_vsetvl::cleanup_vsetvls): Ditto. + (pass_vsetvl::commit_vsetvls): Ditto. + (pass_vsetvl::local_eliminate_vsetvl_insn): Ditto. + (pass_vsetvl::global_eliminate_vsetvl_insn): Ditto. + (pass_vsetvl::compute_probabilities): Ditto. + +2023-08-22 Juzhe-Zhong + + * config/riscv/t-riscv: Add riscv-vsetvl.def + +2023-08-22 Vineet Gupta + + * config/riscv/riscv.opt: Add --param names + riscv-autovec-preference and riscv-autovec-lmul + +2023-08-22 Raphael Moreira Zinsly + + * config/riscv/t-linux: Add MULTIARCH_DIRNAME. + +2023-08-22 Tobias Burnus + + * tree-core.h (enum omp_clause_defaultmap_kind): Add + OMP_CLAUSE_DEFAULTMAP_CATEGORY_ALL. + * gimplify.cc (gimplify_scan_omp_clauses): Handle it. + * tree-pretty-print.cc (dump_omp_clause): Likewise. + +2023-08-22 Jakub Jelinek + + PR c++/106652 + * doc/extend.texi (_Float): Drop obsolete sentence that the + types aren't supported in C++. + +2023-08-22 Juzhe-Zhong + + * doc/md.texi: Add LEN_FOLD_EXTRACT_LAST pattern. + * internal-fn.cc (fold_len_extract_direct): Ditto. + (expand_fold_len_extract_optab_fn): Ditto. + (direct_fold_len_extract_optab_supported_p): Ditto. + * internal-fn.def (LEN_FOLD_EXTRACT_LAST): Ditto. + * optabs.def (OPTAB_D): Ditto. + +2023-08-22 Richard Biener + + * tree-vect-stmts.cc (vectorizable_store): Do not bump + DR_GROUP_STORE_COUNT here. Remove early out. + (vect_transform_stmt): Only call vectorizable_store on + the last element of an interleaving chain. + +2023-08-22 Richard Biener + + PR tree-optimization/94864 + PR tree-optimization/94865 + PR tree-optimization/93080 + * match.pd (bit_insert @0 (BIT_FIELD_REF @1 ..) ..): New pattern + for vector insertion from vector extraction. + +2023-08-22 Juzhe-Zhong + Kewen.Lin + + * tree-vect-loop.cc (vect_verify_loop_lens): Add exists check. + (vectorizable_live_operation): Add live vectorization for length loop + control. + +2023-08-22 David Malcolm + + PR analyzer/105899 + * doc/invoke.texi: Remove -Wanalyzer-unterminated-string. + +2023-08-22 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (vfwredusum_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfwredusum_frm): New intrinsic function def. + +2023-08-21 David Faust + + * config/bpf/bpf.md (neg): Second operand must be a register. + +2023-08-21 Edwin Lu + + * config/riscv/bitmanip.md: Added bitmanip type to insns + that are missing types. + +2023-08-21 Jeff Law + + * config/riscv/sync-ztso.md (atomic_load_ztso): Avoid extraenous + newline. + +2023-08-21 Francois-Xavier Coudert + + * config/aarch64/falkor-tag-collision-avoidance.cc (dump_insn_list): + Fix format specifier. + +2023-08-21 Aldy Hernandez + + * value-range.cc (frange::union_nans): Return false if nothing + changed. + (range_tests_floats): New test. + +2023-08-21 Prathamesh Kulkarni + + PR tree-optimization/111048 + * fold-const.cc (valid_mask_for_fold_vec_perm_cst_p): Set arg_npatterns + correctly. + (fold_vec_perm_cst): Remove workaround and again call + valid_mask_fold_vec_perm_cst_p for both VLS and VLA vectors. + (test_fold_vec_perm_cst::test_nunits_min_4): Add test-case. + +2023-08-21 Richard Biener + + PR tree-optimization/111082 + * tree-vect-slp.cc (vectorize_slp_instance_root_stmt): Only + pun operations that can overflow. + +2023-08-21 Juzhe-Zhong + + * lcm.cc (compute_antinout_edge): Export as global use. + (compute_earliest): Ditto. + (compute_rev_insert_delete): Ditto. + * lcm.h (compute_antinout_edge): Ditto. + (compute_earliest): Ditto. + +2023-08-21 Richard Biener + + PR tree-optimization/111070 + * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check we have + an SSA name before checking SSA_NAME_OCCURS_IN_ABNORMAL_PHI. + +2023-08-21 Andrew Pinski + + PR tree-optimization/111002 + * match.pd (view_convert(vec_cond(a,b,c))): New pattern. + +2023-08-21 liuhongt + + * common/config/i386/cpuinfo.h (get_intel_cpu): Detect + Alderlake-N. + * common/config/i386/i386-common.cc (alias_table): Support + -march=gracemont as an alias of -march=alderlake. + +2023-08-20 Uros Bizjak + + * config/i386/i386-expand.cc (ix86_expand_sse_extend): Use ops[1] + instead of src in the call to ix86_expand_sse_cmp. + * config/i386/sse.md (v8qiv8hi2): Do not + force operands[1] to a register. + (v4hiv4si2): Ditto. + (v2siv2di2): Ditto. + +2023-08-20 Andrew Pinski + + PR tree-optimization/111006 + PR tree-optimization/110986 + * match.pd: (op(vec_cond(a,b,c))): Handle convert for op. + +2023-08-20 Eric Gallager + + PR target/90835 + * Makefile.in: improve error message when /usr/include is + missing + +2023-08-19 Tobias Burnus + + PR middle-end/111017 + * omp-expand.cc (expand_omp_for_init_vars): Pass after=true + to expand_omp_build_cond for 'factor != 0' condition, resulting + in pre-r12-5295-g47de0b56ee455e code for the gimple insert. + +2023-08-19 Guo Jie + Lulu Cheng + + * config/loongarch/t-loongarch: Add loongarch-driver.h into + TM_H. Add loongarch-def.h and loongarch-tune.h into + OPTIONS_H_EXTRA. + +2023-08-18 Uros Bizjak + + PR target/111023 + * config/i386/i386-expand.cc (ix86_split_mmx_punpck): + Also handle V2QImode. + (ix86_expand_sse_extend): New function. + * config/i386/i386-protos.h (ix86_expand_sse_extend): New prototype. + * config/i386/mmx.md (v4qiv4hi2): Enable for + TARGET_SSE2. Expand through ix86_expand_sse_extend for !TARGET_SSE4_1. + (v2hiv2si2): Ditto. + (v2qiv2hi2): Ditto. + * config/i386/sse.md (v8qiv8hi2): Ditto. + (v4hiv4si2): Ditto. + (v2siv2di2): Ditto. + +2023-08-18 Aldy Hernandez + + PR ipa/110753 + * value-range.cc (irange::union_bitmask): Return FALSE if updated + bitmask is semantically equivalent to the original mask. + (irange::intersect_bitmask): Same. + (irange::get_bitmask): Add comment. + +2023-08-18 Richard Biener + + PR tree-optimization/111019 + * tree-ssa-loop-im.cc (gather_mem_refs_stmt): When canonicalizing + also scrap base and offset in case the ref is indirect. + +2023-08-18 Jose E. Marchesi + + * config/bpf/bpf.opt (mframe-limit): Set default to 32767. + +2023-08-18 Kewen Lin + + PR bootstrap/111021 + * Makefile.in (TM_P_H): Add $(TREE_H) as dependence. + +2023-08-18 Kewen Lin + + * tree-vect-stmts.cc (vect_build_scatter_store_calls): New, factor + out from ... + (vectorizable_store): ... here. + +2023-08-18 Richard Biener + + PR tree-optimization/111048 + * fold-const.cc (fold_vec_perm_cst): Check for non-VLA + vectors first. + +2023-08-18 Haochen Jiang + + PR target/111051 + * config/i386/avx512vldqintrin.h: Push AVX2 when AVX2 is + disabled. + +2023-08-18 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_load): Move the handlings on + VMAT_GATHER_SCATTER in the final loop nest to its own loop, + and update the final nest accordingly. + +2023-08-18 Andrew Pinski + + * doc/md.texi (Standard patterns): Document cond_neg, cond_one_cmpl, + cond_len_neg and cond_len_one_cmpl. + +2023-08-18 Lehua Ding + + * config/riscv/iterators.md (TARGET_HARD_FLOAT || TARGET_ZFINX): New. + * config/riscv/pic.md (*local_pic_load): Change ANYF. + (*local_pic_load): To ANYLSF. + (*local_pic_load_32d): Ditto. + (*local_pic_load_32d): Ditto. + (*local_pic_store): Ditto. + (*local_pic_store): Ditto. + (*local_pic_store_32d): Ditto. + (*local_pic_store_32d): Ditto. + +2023-08-18 Lehua Ding + Ju-Zhe Zhong + + * config/riscv/predicates.md (vector_const_0_operand): New. + * config/riscv/vector.md (*pred_broadcast_zero): Ditto. + +2023-08-18 Lehua Ding + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::backward_demand_fusion): + Forbidden. + +2023-08-17 Andrew MacLeod + + PR tree-optimization/111009 + * range-op.cc (operator_addr_expr::op1_range): Be more restrictive. + +2023-08-17 Vladimir N. Makarov + + * lra-spills.cc (assign_stack_slot_num_and_sort_pseudos): Moving + slots_num initialization from here ... + (lra_spill): ... to here before the 1st call of + assign_stack_slot_num_and_sort_pseudos. Add the 2nd call after + fp->sp elimination. + +2023-08-17 Jose E. Marchesi + + PR c/106537 + * doc/invoke.texi (Option Summary): Mention + -Wcompare-distinct-pointer-types under `Warning Options'. + (Warning Options): Document -Wcompare-distinct-pointer-types. + +2023-08-17 Jan-Benedict Glaw + + * recog.cc (memory_address_addr_space_p): Mark possibly unused + argument as unused. + +2023-08-17 Richard Biener + + PR tree-optimization/111039 + * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for + SSA_NAME_OCCURS_IN_ABNORMAL_PHI. + +2023-08-17 Alex Coplan + + * doc/rtl.texi: Fix up sample code for RTL-SSA insn changes. + +2023-08-17 Jose E. Marchesi + + PR target/111046 + * config/bpf/bpf.cc (bpf_attribute_table): Add entry for the + `naked' function attribute. + (bpf_warn_func_return): New function. + (TARGET_WARN_FUNC_RETURN): Define. + (bpf_expand_prologue): Add preventive comment. + (bpf_expand_epilogue): Likewise. + * doc/extend.texi (BPF Function Attributes): Document the `naked' + function attribute. + +2023-08-17 Richard Biener + + * tree-vect-slp.cc (vect_slp_check_for_roots): Use + !needs_fold_left_reduction_p to decide whether we can + handle the reduction with association. + (vectorize_slp_instance_root_stmt): For TYPE_OVERFLOW_UNDEFINED + reductions perform all arithmetic in an unsigned type. + +2023-08-17 Rainer Orth + + * configure.ac (gcc_cv_ld64_version): Allow for dyld in ld -v + output. + * configure: Regenerate. + +2023-08-17 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (widen_freducop): Add frm_opt_type template arg. + (vfwredosum_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfwredosum_frm): New intrinsic function def. + +2023-08-17 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (vfredosum_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfredosum_frm): New intrinsic function def. + +2023-08-17 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class freducop): Add frm_op_type template arg. + (vfredusum_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfredusum_frm): New intrinsic function def. + * config/riscv/riscv-vector-builtins-shapes.cc + (struct reduc_alu_frm_def): New class for frm shape. + (SHAPE): New declaration. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + +2023-08-17 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfncvt_f): Add frm_op_type template arg. + (vfncvt_f_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfncvt_f_frm): New intrinsic function def. + +2023-08-17 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (vfncvt_xu_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfncvt_xu_frm): New intrinsic function def. + +2023-08-17 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfncvt_x): Add frm_op_type template arg. + (BASE): New declaration. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfncvt_x_frm): New intrinsic function def. + * config/riscv/riscv-vector-builtins-shapes.cc + (struct narrow_alu_frm_def): New shape function for frm. + (SHAPE): New declaration. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + +2023-08-17 Haochen Jiang + + * config/i386/avx512vldqintrin.h: Remove target attribute. + * config/i386/i386-builtin.def (BDESC): + Add OPTION_MASK_ISA2_AVX10_1. + * config/i386/sse.md (VF_AVX512VLDQ_AVX10_1): New. + (VFH_AVX512VLDQ_AVX10_1): Ditto. + (VF1_AVX512VLDQ_AVX10_1): Ditto. + (reducep): + Change iterator to VFH_AVX512VLDQ_AVX10_1. Remove target check. + (vec_pack_float_): Change iterator to + VI8_AVX512VLDQ_AVX10_1. Remove target check. + (vec_unpack_fix_trunc_lo_): Change iterator to + VF1_AVX512VLDQ_AVX10_1. Remove target check. + (vec_unpack_fix_trunc_hi_): Ditto. + (VI48F_256_DQVL_AVX10_1): Rename from VI48F_256_DQ. + (avx512vl_vextractf128): Change iterator to + VI48F_256_DQVL_AVX10_1. Remove target check. + (vec_extract_hi__mask): Add TARGET_AVX10_1. + (vec_extract_hi_): Ditto. + (avx512vl_vinsert): Ditto. + (vec_set_lo_): Ditto. + (vec_set_hi_): Ditto. + (avx512dq_rangep): Change + iterator to VF_AVX512VLDQ_AVX10_1. Remove target check. + (avx512dq_fpclass): Change + iterator to VFH_AVX512VLDQ_AVX10_1. Remove target check. + * config/i386/subst.md (mask_avx512dq_condition): Add + TARGET_AVX10_1. + (mask_scalar_merge): Ditto. + +2023-08-17 Haochen Jiang + + * config/i386/avx512vldqintrin.h: Remove target attribute. + * config/i386/i386-builtin.def (BDESC): + Add OPTION_MASK_ISA2_AVX10_1. + * config/i386/i386.cc (standard_sse_constant_opcode): Add TARGET_AVX10_1. + * config/i386/sse.md: (VI48_AVX512VL_AVX10_1): New. + (VI48_AVX512VLDQ_AVX10_1): Ditto. + (VF2_AVX512VL): Remove. + (VI8_256_512VLDQ_AVX10_1): Rename from VI8_256_512. + Add TARGET_AVX10_1. + (*3): Change isa attribute to + avx10_1_or_avx512dq. Add TARGET_AVX10_1. + (3): Add TARGET_AVX10_1. Change isa attr + to avx10_1_or_avx512vl. + (avx512dq_cvtps2qq): + Change iterator to VI8_256_512VLDQ_AVX10_1. Remove target check. + (avx512dq_cvtps2qqv2di): + Add TARGET_AVX10_1. + (avx512dq_cvtps2uqq): + Change iterator to VI8_256_512VLDQ_AVX10_1. Remove target check. + (avx512dq_cvtps2uqqv2di): + Add TARGET_AVX10_1. + (float2): + Change iterator to VF2_AVX512VLDQ_AVX10_1. Remove target check. + (float2): + Change iterator to VF1_128_256VLDQ_AVX10_1. Remove target check. + (floatv4div4sf2): + Add TARGET_AVX10_1. + (avx512dq_floatv2div2sf2): Ditto. + (*avx512dq_floatv2div2sf2): Ditto. + (floatv2div2sf2): Ditto. + (floatv2div2sf2_mask): Ditto. + (*floatv2div2sf2_mask): Ditto. + (*floatv2div2sf2_mask_1): Ditto. + (_cvt2mask): + Change iterator to VI48_AVX512VLDQ_AVX10_1. Remove target check. + (_cvtmask2): Ditto. + (*_cvtmask2): + Change iterator to VI48_AVX512VL_AVX10_1. Remove target check. + Change when constraint is enabled. + +2023-08-17 Juzhe-Zhong + + PR target/111037 + * config/riscv/riscv-vsetvl.cc (float_insn_valid_sew_p): New function. + (second_sew_less_than_first_sew_p): Fix bug. + (first_sew_less_than_second_sew_p): Ditto. + +2023-08-17 Haochen Jiang + + * config/i386/avx512vldqintrin.h: Remove target attribute. + * config/i386/i386-builtin.def (BDESC): + Add OPTION_MASK_ISA2_AVX10_1. + * config/i386/i386-builtins.cc (def_builtin): Handle AVX10_1. + * config/i386/i386-expand.cc + (ix86_check_builtin_isa_match): Ditto. + (ix86_expand_sse2_mulvxdi3): Add TARGET_AVX10_1. + * config/i386/i386.md: Add new isa attribute avx10_1_or_avx512dq + and avx10_1_or_avx512vl. + * config/i386/sse.md: (VF2_AVX512VLDQ_AVX10_1): New. + (VF1_128_256VLDQ_AVX10_1): Ditto. + (VI8_AVX512VLDQ_AVX10_1): Ditto. + (_andnot3): + Add TARGET_AVX10_1 and change isa attr from avx512dq to + avx10_1_or_avx512dq. + (*andnot3): Add TARGET_AVX10_1 and change isa attr from + avx512vl to avx10_1_or_avx512vl. + (fix_trunc2): + Change iterator to VF2_AVX512VLDQ_AVX10_1. Remove target check. + (fix_notrunc2): + Ditto. + (ufix_notrunc2): + Ditto. + (fix_trunc2): + Change iterator to VF1_128_256VLDQ_AVX10_1. Remove target check. + (avx512dq_fix_truncv2sfv2di2): + Add TARGET_AVX10_1. + (fix_truncv2sfv2di2): Ditto. + (cond_mul): Change iterator to VI8_AVX10_1_AVX512DQVL. + Remove target check. + (avx512dq_mul3): Ditto. + (*avx512dq_mul3): Ditto. + (VI4F_BRCST32x2): Add TARGET_AVX512DQ and TARGET_AVX10_1. + (avx512dq_broadcast): + Remove target check. + (VI8F_BRCST64x2): Add TARGET_AVX512DQ and TARGET_AVX10_1. + (avx512dq_broadcast_1): + Remove target check. + * config/i386/subst.md (mask_mode512bit_condition): Add TARGET_AVX10_1. + (mask_avx512vl_condition): Ditto. + (mask): Ditto. + +2023-08-17 Haochen Jiang + + * common/config/i386/i386-common.cc + (ix86_check_avx10_vector_width): New function to check isa_flags + to emit a warning when there is a conflict in AVX10 options for + vector width. + (ix86_handle_option): Add check for avx10.1-256 and avx10.1-512. + * config/i386/driver-i386.cc (host_detect_local_cpu): + Do not append -mno-avx10-max-512bit for -march=native. + +2023-08-17 Haochen Jiang + + * common/config/i386/i386-common.cc + (ix86_check_avx10): New function to check isa_flags and + isa_flags_explicit to emit warning when AVX10 is enabled + by "-m" option. + (ix86_check_avx512): New function to check isa_flags and + isa_flags_explicit to emit warning when AVX512 is enabled + by "-m" option. + (ix86_handle_option): Do not change the flags when warning + is emitted. + * config/i386/driver-i386.cc (host_detect_local_cpu): + Do not append -mno-avx10.1 for -march=native. + +2023-08-17 Haochen Jiang + + * common/config/i386/cpuinfo.h (get_available_features): + Add avx10_set and version and detect avx10.1. + (cpu_indicator_init): Handle avx10.1-512. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AVX10_512BIT_SET): New. + (OPTION_MASK_ISA2_AVX10_1_SET): Ditto. + (OPTION_MASK_ISA2_AVX10_512BIT_UNSET): Ditto. + (OPTION_MASK_ISA2_AVX10_1_UNSET): Ditto. + (OPTION_MASK_ISA2_AVX2_UNSET): Modify for AVX10_1. + (ix86_handle_option): Handle -mavx10.1, -mavx10.1-256 and + -mavx10.1-512. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AVX10_512BIT, FEATURE_AVX10_1 and + FEATURE_AVX10_512BIT. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + AVX10_512BIT, AVX10_1 and AVX10_1_512. + * config/i386/constraints.md (Yk): Add AVX10_1. + (Yv): Ditto. + (k): Ditto. + * config/i386/cpuid.h (bit_AVX10): New. + (bit_AVX10_256): Ditto. + (bit_AVX10_512): Ditto. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Define AVX10_512BIT and AVX10_1. + * config/i386/i386-isa.def + (AVX10_512BIT): Add DEF_PTA(AVX10_512BIT). + (AVX10_1): Add DEF_PTA(AVX10_1). + * config/i386/i386-options.cc (isa2_opts): Add -mavx10.1. + (ix86_valid_target_attribute_inner_p): Handle avx10-512bit, avx10.1 + and avx10.1-512. + (ix86_option_override_internal): Enable AVX512{F,VL,BW,DQ,CD,BF16, + FP16,VBMI,VBMI2,VNNI,IFMA,BITALG,VPOPCNTDQ} features for avx10.1-512. + (ix86_valid_target_attribute_inner_p): Handle AVX10_1. + * config/i386/i386.cc (ix86_get_ssemov): Add AVX10_1. + (ix86_conditional_register_usage): Ditto. + (ix86_hard_regno_mode_ok): Ditto. + (ix86_rtx_costs): Ditto. + * config/i386/i386.h (VALID_MASK_AVX10_MODE): New macro. + * config/i386/i386.opt: Add option -mavx10.1, -mavx10.1-256 and + -mavx10.1-512. + * doc/extend.texi: Document avx10.1, avx10.1-256 and avx10.1-512. + * doc/invoke.texi: Document -mavx10.1, -mavx10.1-256 and -mavx10.1-512. + * doc/sourcebuild.texi: Document target avx10.1, avx10.1-256 + and avx10.1-512. + +2023-08-17 Sergei Trofimovich + + * flag-types.h (vrp_mode): Remove unused. + +2023-08-17 Yanzhang Wang + + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): Use + CONSTM1_RTX. + +2023-08-17 Andrew Pinski + + * internal-fn.def (COND_NOT): New internal function. + * match.pd (UNCOND_UNARY, COND_UNARY): Add bit_not/not + to the lists. + (`vec (a ? -1 : 0) ^ b`): New pattern to convert + into conditional not. + * optabs.def (cond_one_cmpl): New optab. + (cond_len_one_cmpl): Likewise. + +2023-08-16 Surya Kumari Jangala + + PR rtl-optimization/110254 + * ira-color.cc (improve_allocation): Update array + allocated_hard_reg_p. + +2023-08-16 Vladimir N. Makarov + + * lra-int.h (lra_update_fp2sp_elimination): Change the prototype. + * lra-eliminations.cc (spill_pseudos): Record spilled pseudos. + (lra_update_fp2sp_elimination): Ditto. + (update_reg_eliminate): Adjust spill_pseudos call. + * lra-spills.cc (lra_spill): Assign stack slots to pseudos spilled + in lra_update_fp2sp_elimination. + +2023-08-16 Richard Ball + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A720 CPU. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi: Document Cortex-A720 CPU. + +2023-08-16 Robin Dapp + + * config/riscv/autovec.md (avg3_floor): + Implement expander. + (avg3_ceil): Ditto. + * config/riscv/vector-iterators.md (ashiftrt): New iterator. + (ASHIFTRT): Ditto. + +2023-08-16 Robin Dapp + + * internal-fn.cc (vec_extract_direct): Change type argument + numbers. + (expand_vec_extract_optab_fn): Call convert_optab_fn. + (direct_vec_extract_optab_supported_p): Use + convert_optab_supported_p. + +2023-08-16 Prathamesh Kulkarni + Richard Sandiford + + * fold-const.cc (INCLUDE_ALGORITHM): Add Include. + (valid_mask_for_fold_vec_perm_cst_p): New function. + (fold_vec_perm_cst): Likewise. + (fold_vec_perm): Adjust assert and call fold_vec_perm_cst. + (test_fold_vec_perm_cst): New namespace. + (test_fold_vec_perm_cst::build_vec_cst_rand): New function. + (test_fold_vec_perm_cst::validate_res): Likewise. + (test_fold_vec_perm_cst::validate_res_vls): Likewise. + (test_fold_vec_perm_cst::builder_push_elems): Likewise. + (test_fold_vec_perm_cst::test_vnx4si_v4si): Likewise. + (test_fold_vec_perm_cst::test_v4si_vnx4si): Likewise. + (test_fold_vec_perm_cst::test_all_nunits): Likewise. + (test_fold_vec_perm_cst::test_nunits_min_2): Likewise. + (test_fold_vec_perm_cst::test_nunits_min_4): Likewise. + (test_fold_vec_perm_cst::test_nunits_min_8): Likewise. + (test_fold_vec_perm_cst::test_nunits_max_4): Likewise. + (test_fold_vec_perm_cst::is_simple_vla_size): Likewise. + (test_fold_vec_perm_cst::test): Likewise. + (fold_const_cc_tests): Call test_fold_vec_perm_cst::test. + +2023-08-16 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (BASE): New declaration. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfwcvt_xu_frm): New intrinsic function def. + +2023-08-16 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc: Use explicit argument. + +2023-08-16 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (BASE): New declaration. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfwcvt_x_frm): New intrinsic function def. + +2023-08-16 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc (BASE): New declaration. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfcvt_f_frm): New intrinsic function def. + +2023-08-16 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (BASE): New declaration. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfcvt_xu_frm): New intrinsic function def.. + +2023-08-16 Haochen Gui + + PR target/110429 + * config/rs6000/vsx.md (*vsx_extract__store_p9): Skip vector + extract when the element is 7 on BE while 8 on LE for byte or 3 on + BE while 4 on LE for halfword. + +2023-08-16 Haochen Gui + + PR target/106769 + * config/rs6000/vsx.md (expand vsx_extract_): Set it only + for V8HI and V16QI. + (vsx_extract_v4si): New expand for V4SI extraction. + (vsx_extract_v4si_w1): New insn pattern for V4SI extraction on + word 1 from BE order. + (*mfvsrwz): New insn pattern for mfvsrwz. + (*vsx_extract__di_p9): Assert that it won't be generated on + word 1 from BE order. + (*vsx_extract_si): Remove. + (*vsx_extract_v4si_w023): New insn and split pattern on word 0, 2, + 3 from BE order. + +2023-08-16 Juzhe-Zhong + + * config/riscv/autovec.md (vec_mask_len_load_lanes): + New pattern. + (vec_mask_len_store_lanes): Ditto. + * config/riscv/riscv-protos.h (expand_lanes_load_store): New function. + * config/riscv/riscv-v.cc (get_mask_mode): Add tuple mask mode. + (expand_lanes_load_store): New function. + * config/riscv/vector-iterators.md: New iterator. + +2023-08-16 Juzhe-Zhong + + * internal-fn.cc (internal_load_fn_p): Apply + MASK_LEN_{LOAD_LANES,STORE_LANES} into vectorizer. + (internal_store_fn_p): Ditto. + (internal_fn_len_index): Ditto. + (internal_fn_mask_index): Ditto. + (internal_fn_stored_value_index): Ditto. + * tree-vect-data-refs.cc (vect_store_lanes_supported): Ditto. + (vect_load_lanes_supported): Ditto. + * tree-vect-loop.cc: Ditto. + * tree-vect-slp.cc (vect_slp_prefer_store_lanes_p): Ditto. + * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Ditto. + (get_group_load_store_type): Ditto. + (vectorizable_store): Ditto. + (vectorizable_load): Ditto. + * tree-vectorizer.h (vect_store_lanes_supported): Ditto. + (vect_load_lanes_supported): Ditto. + +2023-08-16 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (enum frm_op_type): New type for frm. + (BASE): New declaration. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfcvt_x_frm): New intrinsic function def. + +2023-08-16 liuhongt + + * config/i386/i386-builtins.cc + (ix86_vectorize_builtin_gather): Adjust for use_gather_8parts. + * config/i386/i386-options.cc (parse_mtune_ctrl_str): + Set/Clear tune features use_{gather,scatter}_{2parts, 4parts, + 8parts} for -mtune-crtl={,^}{use_gather,use_scatter}. + * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Adjust + for use_scatter_8parts + * config/i386/i386.h (TARGET_USE_GATHER): Rename to .. + (TARGET_USE_GATHER_8PARTS): .. this. + (TARGET_USE_SCATTER): Rename to .. + (TARGET_USE_SCATTER_8PARTS): .. this. + * config/i386/x86-tune.def (X86_TUNE_USE_GATHER): Rename to + (X86_TUNE_USE_GATHER_8PARTS): .. this. + (X86_TUNE_USE_SCATTER): Rename to + (X86_TUNE_USE_SCATTER_8PARTS): .. this. + * config/i386/i386.opt: Add new options mgather, mscatter. + +2023-08-16 liuhongt + + * config/i386/i386-options.cc (m_GDS): New macro. + * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Don't + enable for m_GDS. + (X86_TUNE_USE_GATHER_4PARTS): Ditto. + (X86_TUNE_USE_GATHER): Ditto. + +2023-08-16 liuhongt + + * config/i386/i386.md (movdf_internal): Generate vmovapd instead of + vmovsd when moving DFmode between SSE_REGS. + (movhi_internal): Generate vmovdqa instead of vmovsh when + moving HImode between SSE_REGS. + (mov_internal): Use vmovaps instead of vmovsh when + moving HF/BFmode between SSE_REGS. + +2023-08-15 David Faust + + * config/bpf/bpf.md (extendsisi2): Delete useless define_insn. + +2023-08-15 David Faust + + PR target/111029 + * config/bpf/bpf.cc (bpf_print_register): Print 'w' registers + for any mode 32-bits or smaller, not just SImode. + +2023-08-15 Martin Jambor + + PR ipa/68930 + PR ipa/92497 + * ipa-prop.h (ipcp_get_aggregate_const): Declare. + * ipa-prop.cc (ipcp_get_aggregate_const): New function. + (ipcp_transform_function): Do not deallocate transformation info. + * tree-ssa-sccvn.cc: Include alloc-pool.h, symbol-summary.h and + ipa-prop.h. + (vn_reference_lookup_2): When hitting default-def vuse, query + IPA-CP transformation info for any known constants. + +2023-08-15 Chung-Lin Tang + Thomas Schwinge + + * gimplify.cc (oacc_region_type_name): New function. + (oacc_default_clause): If no 'default' clause appears on this + compute construct, see if one appears on a lexically containing + 'data' construct. + (gimplify_scan_omp_clauses): Upon OMP_CLAUSE_DEFAULT case, set + ctx->oacc_default_clause_ctx to current context. + +2023-08-15 Juzhe-Zhong + + PR target/110989 + * config/riscv/predicates.md: Fix predicate. + +2023-08-15 Richard Biener + + * tree-vect-slp.cc (vect_analyze_slp_instance): Remove + slp_inst_kind_ctor handling. + (vect_analyze_slp): Simplify. + (vect_build_slp_instance): Dump when we analyze a CTOR. + (vect_slp_check_for_constructors): Rename to ... + (vect_slp_check_for_roots): ... this. Register a + slp_root for CONSTRUCTORs instead of shoving them to + the set of grouped stores. + (vect_slp_analyze_bb_1): Adjust. + +2023-08-15 Richard Biener + + * tree-vectorizer.h (_slp_instance::remain_stmts): Change + to ... + (_slp_instance::remain_defs): ... this. + (SLP_INSTANCE_REMAIN_STMTS): Rename to ... + (SLP_INSTANCE_REMAIN_DEFS): ... this. + (slp_root::remain): New. + (slp_root::slp_root): Adjust. + * tree-vect-slp.cc (vect_free_slp_instance): Adjust. + (vect_build_slp_instance): Get extra remain parameter, + adjust former handling of a cut off stmt. + (vect_analyze_slp_instance): Adjust. + (vect_analyze_slp): Likewise. + (_bb_vec_info::~_bb_vec_info): Likewise. + (vectorizable_bb_reduc_epilogue): Dump something if we fail. + (vect_slp_check_for_constructors): Handle non-internal + defs as remain defs of a reduction. + (vectorize_slp_instance_root_stmt): Adjust. + +2023-08-15 Richard Biener + + * tree-ssa-loop-ivcanon.cc: Include tree-vectorizer.h + (canonicalize_loop_induction_variables): Use find_loop_location. + +2023-08-15 Hans-Peter Nilsson + + PR bootstrap/111021 + * config/cris/cris-protos.h: Revert recent change. + * config/cris/cris.cc (cris_legitimate_address_p): Remove + code_helper unused parameter. + (cris_legitimate_address_p_hook): New wrapper function. + (TARGET_LEGITIMATE_ADDRESS_P): Change to + cris_legitimate_address_p_hook. + +2023-08-15 Richard Biener + + PR tree-optimization/110963 + * tree-ssa-pre.cc (do_pre_regular_insertion): Also insert + a PHI node when the expression is available on all edges + and we insert at most one copy from a constant. + +2023-08-15 Richard Biener + + PR tree-optimization/110991 + * tree-ssa-loop-ivcanon.cc (constant_after_peeling): Handle + VIEW_CONVERT_EXPR , handle more simple IV-like SSA cycles + that will end up constant. + +2023-08-15 Kewen Lin + + PR bootstrap/111021 + * Makefile.in (RECOG_H): Add $(TREE_H) as dependence. + +2023-08-15 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_load): Move the handlings on + VMAT_LOAD_STORE_LANES in the final loop nest to its own loop, + and update the final nest accordingly. + +2023-08-15 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_load): Remove some useless checks + on VMAT_INVARIANT. + +2023-08-15 Pan Li + + * mode-switching.cc (create_pre_exit): Add SET insn check. + +2023-08-15 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfrec7_frm): New class for frm. + (vfrec7_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfrec7_frm): New intrinsic function definition. + * config/riscv/vector-iterators.md + (VFMISC): Remove VFREC7. + (misc_op): Ditto. + (float_insn_type): Ditto. + (VFMISC_FRM): New int iterator. + (misc_frm_op): New op for frm. + (float_frm_insn_type): New type for frm. + * config/riscv/vector.md (@pred_): + New pattern for misc frm. + +2023-08-14 Vladimir N. Makarov + + * lra-constraints.cc (curr_insn_transform): Process output stack + pointer reloads before emitting reload insns. + +2023-08-14 benjamin priour + + PR analyzer/110543 + * doc/invoke.texi: Add documentation of + fanalyzer-show-events-in-system-headers + +2023-08-14 Jan Hubicka + + PR gcov-profile/110988 + * tree-cfg.cc (fold_loop_internal_call): Avoid division by zero. + +2023-08-14 Jiawei + + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): + Enable compressed builtins when ZC* extensions enabled. + * config/riscv/riscv-shorten-memrefs.cc: + Enable shorten_memrefs pass when ZC* extensions enabled. + * config/riscv/riscv.cc (riscv_compressed_reg_p): + Enable compressible registers when ZC* extensions enabled. + (riscv_rtx_costs): Allow adjusting rtx costs when ZC* extensions enabled. + (riscv_address_cost): Allow adjusting address cost when ZC* extensions enabled. + (riscv_first_stack_step): Allow compression of the register saves + without adding extra instructions. + * config/riscv/riscv.h (FUNCTION_BOUNDARY): Adjusts function boundary + to 16 bits when ZC* extensions enabled. + +2023-08-14 Jiawei + + * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): New extensions. + * config/riscv/riscv-opts.h (MASK_ZCA): New mask. + (MASK_ZCB): Ditto. + (MASK_ZCE): Ditto. + (MASK_ZCF): Ditto. + (MASK_ZCD): Ditto. + (MASK_ZCMP): Ditto. + (MASK_ZCMT): Ditto. + (TARGET_ZCA): New target. + (TARGET_ZCB): Ditto. + (TARGET_ZCE): Ditto. + (TARGET_ZCF): Ditto. + (TARGET_ZCD): Ditto. + (TARGET_ZCMP): Ditto. + (TARGET_ZCMT): Ditto. + * config/riscv/riscv.opt: New target variable. + +2023-08-14 Juzhe-Zhong + + Revert: + 2023-05-17 Jin Ma + + * genrecog.cc (print_nonbool_test): Fix type error of + switch (SUBREG_BYTE (op))'. + +2023-08-14 Richard Biener + + * tree-cfg.cc (print_loop_info): Dump to 'file', not 'dump_file'. + +2023-08-14 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class unop_frm): New class for frm. + (vfsqrt_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfsqrt_frm): New intrinsic function definition. + +2023-08-14 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfwnmsac_frm): New class for frm. + (vfwnmsac_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfwnmsac_frm): New intrinsic function definition. + +2023-08-14 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfwmsac_frm): New class for frm. + (vfwmsac_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfwmsac_frm): New intrinsic function definition. + +2023-08-14 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfwnmacc_frm): New class for frm. + (vfwnmacc_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfwnmacc_frm): New intrinsic function definition. + +2023-08-14 Cui, Lili + + * common/config/i386/cpuinfo.h (get_intel_cpu): Add model value 0xba + to Raptorlake. + +2023-08-14 Hans-Peter Nilsson + + * config/mmix/predicates.md (mmix_address_operand): Use + lra_in_progress, not reload_in_progress. + +2023-08-14 Hans-Peter Nilsson + + * config/mmix/mmix.cc: Re-enable LRA. + +2023-08-14 Hans-Peter Nilsson + + * config/mmix/predicates.md (frame_pointer_operand): Handle FP+offset + when lra_in_progress. + +2023-08-14 Hans-Peter Nilsson + + * config/mmix/mmix.cc: Disable LRA for MMIX. + +2023-08-14 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfwmacc_frm): New class for vfwmacc frm. + (vfwmacc_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfwmacc_frm): Function definition for vfwmacc. + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_widen_ternop_insn): Add frm support. + +2023-08-14 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfnmsub_frm): New class for vfnmsub frm. + (vfnmsub_frm): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfnmsub_frm): New function declaration. + +2023-08-14 Vladimir N. Makarov + + * lra-constraints.cc (curr_insn_transform): Set done_p up and + check it on true after processing output stack pointer reload. + +2023-08-12 Jakub Jelinek + + * Makefile.in (USER_H): Add stdckdint.h. + * ginclude/stdckdint.h: New file. + +2023-08-12 Juzhe-Zhong + + PR target/110994 + * config/riscv/riscv-opts.h (TARGET_VECTOR_VLS): Add TARGET_VETOR. + +2023-08-12 Patrick Palka + + * tree-pretty-print.cc (dump_generic_node) : + Delimit output with braces. + +2023-08-12 Juzhe-Zhong + + PR target/110985 + * config/riscv/riscv-v.cc (expand_vec_series): Refactor the expander. + +2023-08-12 Juzhe-Zhong + + * config/riscv/autovec.md: Add VLS CONST_VECTOR. + * config/riscv/riscv.cc (riscv_const_insns): Ditto. + * config/riscv/vector.md: Ditto. + +2023-08-11 David Malcolm + + PR analyzer/105899 + * doc/analyzer.texi (__analyzer_get_strlen): New. + * doc/invoke.texi: Add -Wanalyzer-unterminated-string. + +2023-08-11 Jeff Law + + * config/rx/rx.md (subdi3): Fix test for borrow. + +2023-08-11 Juzhe-Zhong + + PR middle-end/110989 + * tree-vect-stmts.cc (vectorizable_store): Replace iv_type with sizetype. + (vectorizable_load): Ditto. + +2023-08-11 Jose E. Marchesi + + * config/bpf/bpf.md (allocate_stack): Define. + * config/bpf/bpf.h (FIRST_PSEUDO_REGISTER): Make room for fake + stack pointer register. + (FIXED_REGISTERS): Adjust accordingly. + (CALL_USED_REGISTERS): Likewise. + (REG_CLASS_CONTENTS): Likewise. + (REGISTER_NAMES): Likewise. + * config/bpf/bpf.cc (bpf_compute_frame_layout): Do not reserve + space for callee-saved registers. + (bpf_expand_prologue): Do not save callee-saved registers in xbpf. + (bpf_expand_epilogue): Do not restore callee-saved registers in + xbpf. + +2023-08-11 Jose E. Marchesi + + * config/bpf/bpf.cc (bpf_function_arg_advance): Do not complain + about too many arguments if function is always inlined. + +2023-08-11 Patrick Palka + + * tree-pretty-print.cc (dump_generic_node) : + Don't call component_ref_field_offset if the RHS isn't a decl. + +2023-08-11 John David Anglin + + PR bootstrap/110646 + * gensupport.cc(class conlist): Use strtol instead of std::stoi. + +2023-08-11 Vladimir N. Makarov + + * lra-constraints.cc (goal_alt_out_sp_reload_p): New flag. + (process_alt_operands): Set the flag. + (curr_insn_transform): Modify stack pointer offsets if output + stack pointer reload is generated. + +2023-08-11 Joseph Myers + + * configure: Regenerate. + +2023-08-11 Richard Biener + + PR tree-optimization/110979 + * tree-vect-loop.cc (vectorizable_reduction): For + FOLD_LEFT_REDUCTION without target support make sure + we don't need to honor signed zeros and sign dependent rounding. + +2023-08-11 Richard Biener + + * tree-vect-slp.cc (vect_slp_region): Provide opt-info for all SLP + subgraph entries. Dump the used vector size based on the + SLP subgraph entry root vector type. + +2023-08-11 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfmsub_frm): New class for vfmsub frm. + (vfmsub_frm): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfmsub_frm): New function declaration. + +2023-08-11 Juzhe-Zhong + + * doc/md.texi: Add vec_mask_len_{load_lanes,store_lanes} patterns. + * internal-fn.cc (expand_partial_load_optab_fn): Ditto. + (expand_partial_store_optab_fn): Ditto. + * internal-fn.def (MASK_LEN_LOAD_LANES): Ditto. + (MASK_LEN_STORE_LANES): Ditto. + * optabs.def (OPTAB_CD): Ditto. + +2023-08-11 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfnmadd_frm): New class for vfnmadd frm. + (vfnmadd_frm): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfnmadd_frm): New function declaration. + +2023-08-11 Drew Ross + Jakub Jelinek + + PR tree-optimization/109938 + * match.pd (((x ^ y) & z) | x -> (z & y) | x): New simplification. + +2023-08-11 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfmadd_frm): New class for vfmadd frm. + (vfmadd_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfmadd_frm): New function definition. + +2023-08-11 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfnmsac_frm): New class for vfnmsac frm. + (vfnmsac_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfnmsac_frm): New function definition. + +2023-08-11 Jakub Jelinek + + * doc/extend.texi (Typeof): Document typeof_unqual + and __typeof_unqual__. + +2023-08-11 Andrew Pinski + + PR tree-optimization/110954 + * generic-match-head.cc (bitwise_inverted_equal_p): Add + wascmp argument and set it accordingly. + * gimple-match-head.cc (bitwise_inverted_equal_p): Add + wascmp argument to the macro. + (gimple_bitwise_inverted_equal_p): Add + wascmp argument and set it accordingly. + * match.pd (`a & ~a`, `a ^| ~a`): Update call + to bitwise_inverted_equal_p and handle wascmp case. + (`(~x | y) & x`, `(~x | y) & x`, `a?~t:t`): Update + call to bitwise_inverted_equal_p and check to see + if was !wascmp or if precision was 1. + +2023-08-11 Martin Uecker + + PR c/84510 + * doc/invoke.texi: Update. + +2023-08-11 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfmsac_frm): New class for vfmsac frm. + (vfmsac_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfmsac_frm): New function definition + +2023-08-10 Jan Hubicka + + PR middle-end/110923 + * tree-ssa-loop-split.cc (split_loop): Watch for division by zero. + +2023-08-10 Patrick O'Neill + + * common/config/riscv/riscv-common.cc: Add Ztso and mark Ztso as + dependent on 'a' extension. + * config/riscv/riscv-opts.h (MASK_ZTSO): New mask. + (TARGET_ZTSO): New target. + * config/riscv/riscv.cc (riscv_memmodel_needs_amo_acquire): Add + Ztso case. + (riscv_memmodel_needs_amo_release): Add Ztso case. + (riscv_print_operand): Add Ztso case for LR/SC annotations. + * config/riscv/riscv.md: Import sync-rvwmo.md and sync-ztso.md. + * config/riscv/riscv.opt: Add Ztso target variable. + * config/riscv/sync.md (mem_thread_fence_1): Expand to RVWMO or + Ztso specific insn. + (atomic_load): Expand to RVWMO or Ztso specific insn. + (atomic_store): Expand to RVWMO or Ztso specific insn. + * config/riscv/sync-rvwmo.md: New file. Seperate out RVWMO + specific load/store/fence mappings. + * config/riscv/sync-ztso.md: New file. Seperate out Ztso + specific load/store/fence mappings. + +2023-08-10 Jan Hubicka + + * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Special case loops with + 0 iteration count. + +2023-08-10 Jan Hubicka + + * tree-ssa-threadupdate.cc (ssa_fix_duplicate_block_edges): Fix profile update. + +2023-08-10 Jan Hubicka + + * profile-count.cc (profile_count::differs_from_p): Fix overflow and + handling of undefined values. + +2023-08-10 Jakub Jelinek + + PR c/102989 + * tree-ssa-phiopt.cc (single_non_singleton_phi_for_edges): Never + return virtual phis and return NULL if there is a virtual phi + where the arguments from E0 and E1 edges aren't equal. + +2023-08-10 Richard Biener + + * internal-fn.def (VCOND, VCONDU, VCONDEQ, VCOND_MASK, + VEC_SET, VEC_EXTRACT): Make ECF_CONST | ECF_NOTHROW. + +2023-08-10 Juzhe-Zhong + + PR target/110962 + * config/riscv/autovec.md (vec_duplicate): New pattern. + +2023-08-10 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfnmacc_frm): New class for vfnmacc. + (vfnmacc_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfnmacc_frm): New function definition. + +2023-08-10 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfmacc_frm): New class for vfmacc frm. + (vfmacc_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfmacc_frm): New function definition. + +2023-08-10 Juzhe-Zhong + + PR target/110964 + * config/riscv/riscv-v.cc (expand_cond_len_ternop): Add integer ternary. + +2023-08-10 Richard Biener + + * tree-vectorizer.h (vectorizable_live_operation): Remove + gimple_stmt_iterator * argument. + * tree-vect-loop.cc (vectorizable_live_operation): Likewise. + Adjust plumbing around vect_get_loop_mask. + (vect_analyze_loop_operations): Adjust. + * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): Likewise. + (vect_bb_slp_mark_live_stmts): Likewise. + (vect_schedule_slp_node): Likewise. + * tree-vect-stmts.cc (can_vectorize_live_stmts): Likewise. + Remove gimple_stmt_iterator * argument. + (vect_transform_stmt): Adjust. + +2023-08-10 Juzhe-Zhong + + * config/riscv/vector-iterators.md: Add missing modes. + +2023-08-10 Jakub Jelinek + + PR c/102989 + * lto-streamer-in.cc (lto_input_tree_1): Assert TYPE_PRECISION + is up to WIDE_INT_MAX_PRECISION rather than MAX_BITSIZE_MODE_ANY_INT. + +2023-08-10 Jakub Jelinek + + PR c/102989 + * expr.cc (expand_expr_real_1) : Add an early return for + EXPAND_WRITE or EXPAND_MEMORY modifiers to avoid testing it multiple + times. + +2023-08-10 liuhongt + + PR target/110832 + * config/i386/mmx.md: (movq__to_sse): Also do not + sanitize upper part of V4HFmode register with + -fno-trapping-math. + (v4hf3): Enable for ix86_partial_vec_fp_math. + (v2hf3): Ditto. + (divv2hf3): Ditto. + (movd_v2hf_to_sse): Do not sanitize upper part of V2HFmode + register with -fno-trapping-math. + +2023-08-10 Pan Li + Kito Cheng + + * config/riscv/riscv-protos.h + (enum floating_point_rounding_mode): Add NONE, DYN_EXIT and DYN_CALL. + (get_frm_mode): New declaration. + * config/riscv/riscv-v.cc (get_frm_mode): New function to get frm mode. + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_ternop_insn): Take care of frm reg. + * config/riscv/riscv.cc (riscv_static_frm_mode_p): Migrate to FRM_XXX. + (riscv_emit_frm_mode_set): Ditto. + (riscv_emit_mode_set): Ditto. + (riscv_frm_adjust_mode_after_call): Ditto. + (riscv_frm_mode_needed): Ditto. + (riscv_frm_mode_after): Ditto. + (riscv_mode_entry): Ditto. + (riscv_mode_exit): Ditto. + * config/riscv/riscv.h (NUM_MODES_FOR_MODE_SWITCHING): Ditto. + * config/riscv/vector.md + (rne,rtz,rdn,rup,rmm,dyn,dyn_exit,dyn_call,none): Removed + (symbol_ref): * config/riscv/vector.md: Set frm_mode attr explicitly. + +2023-08-09 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (anticipatable_occurrence_p): Fix + incorrect anticipate info. + +2023-08-09 Tsukasa OI + + * common/config/riscv/riscv-common.cc (riscv_ext_version_table): + Remove 'Zve32d' from the version list. + +2023-08-09 Jin Ma + + * config/riscv/riscv.cc (riscv_sched_variable_issue): New function. + (TARGET_SCHED_VARIABLE_ISSUE): New macro. + Co-authored-by: Philipp Tomsich + Co-authored-by: Jeff Law + +2023-08-09 Jivan Hakobyan + + * config/riscv/riscv.cc (riscv_legitimize_address): Handle folding. + (mem_shadd_or_shadd_rtx_p): New function. + +2023-08-09 Andrew Pinski + + PR tree-optimization/110937 + PR tree-optimization/100798 + * match.pd (`a ? ~b : b`): Handle this + case. + +2023-08-09 Uros Bizjak + + * config/i386/i386.opt (mpartial-vector-fp-math): Add dot. + +2023-08-09 Richard Ball + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A520 CPU. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi: Document Cortex-A520 CPU. + +2023-08-09 Carl Love + + * config/rs6000/rs6000-builtins.def (vcmpneb, vcmpneh, vcmpnew): + Move definitions to Altivec stanza. + * config/rs6000/altivec.md (vcmpneb, vcmpneh, vcmpnew): New + define_expand. + +2023-08-09 Juzhe-Zhong + + PR target/110950 + * config/riscv/riscv-v.cc (expand_const_vector): Add NPATTERNS = 1 + stepped vector support. + +2023-08-09 liuhongt + + * common/config/i386/cpuinfo.h (get_available_features): + Rename local variable subleaf_level to max_subleaf_level. + +2023-08-09 Richard Biener + + PR rtl-optimization/110587 + * lra-assigns.cc (find_hard_regno_for_1): Re-order checks. + +2023-08-09 Kewen Lin + + PR tree-optimization/110248 + * config/rs6000/rs6000.cc (rs6000_legitimate_address_p): Check if + the given code is for ifn LEN_{LOAD,STORE}, if yes then make it not + legitimate when outer code is PLUS. + +2023-08-09 Kewen Lin + + PR tree-optimization/110248 + * recog.cc (memory_address_addr_space_p): Add one more argument ch of + type code_helper and pass it to targetm.addr_space.legitimate_address_p + instead of ERROR_MARK. + (offsettable_address_addr_space_p): Update one function pointer with + one more argument of type code_helper as its assignees + memory_address_addr_space_p and strict_memory_address_addr_space_p + have been adjusted, and adjust some call sites with ERROR_MARK. + * recog.h (tree.h): New include header file for tree_code ERROR_MARK. + (memory_address_addr_space_p): Adjust with one more unnamed argument + of type code_helper with default ERROR_MARK. + (strict_memory_address_addr_space_p): Likewise. + * reload.cc (strict_memory_address_addr_space_p): Add one unnamed + argument of type code_helper. + * tree-ssa-address.cc (valid_mem_ref_p): Add one more argument ch of + type code_helper and pass it to memory_address_addr_space_p. + * tree-ssa-address.h (valid_mem_ref_p): Adjust the declaration with + one more unnamed argument of type code_helper with default value + ERROR_MARK. + * tree-ssa-loop-ivopts.cc (get_address_cost): Use ERROR_MARK as code + by default, change it with ifn code for USE_PTR_ADDRESS type use, and + pass it to all valid_mem_ref_p calls. + +2023-08-09 Kewen Lin + + PR tree-optimization/110248 + * coretypes.h (class code_helper): Add forward declaration. + * doc/tm.texi: Regenerate. + * lra-constraints.cc (valid_address_p): Call target hook + targetm.addr_space.legitimate_address_p with an extra parameter + ERROR_MARK as its prototype changes. + * recog.cc (memory_address_addr_space_p): Likewise. + * reload.cc (strict_memory_address_addr_space_p): Likewise. + * target.def (legitimate_address_p, addr_space.legitimate_address_p): + Extend with one more argument of type code_helper, update the + documentation accordingly. + * targhooks.cc (default_legitimate_address_p): Adjust for the + new code_helper argument. + (default_addr_space_legitimate_address_p): Likewise. + * targhooks.h (default_legitimate_address_p): Likewise. + (default_addr_space_legitimate_address_p): Likewise. + * config/aarch64/aarch64.cc (aarch64_legitimate_address_hook_p): Adjust + with extra unnamed code_helper argument with default ERROR_MARK. + * config/alpha/alpha.cc (alpha_legitimate_address_p): Likewise. + * config/arc/arc.cc (arc_legitimate_address_p): Likewise. + * config/arm/arm-protos.h (arm_legitimate_address_p): Likewise. + (tree.h): New include for tree_code ERROR_MARK. + * config/arm/arm.cc (arm_legitimate_address_p): Adjust with extra + unnamed code_helper argument with default ERROR_MARK. + * config/avr/avr.cc (avr_addr_space_legitimate_address_p): Likewise. + * config/bfin/bfin.cc (bfin_legitimate_address_p): Likewise. + * config/bpf/bpf.cc (bpf_legitimate_address_p): Likewise. + * config/c6x/c6x.cc (c6x_legitimate_address_p): Likewise. + * config/cris/cris-protos.h (cris_legitimate_address_p): Likewise. + (tree.h): New include for tree_code ERROR_MARK. + * config/cris/cris.cc (cris_legitimate_address_p): Adjust with extra + unnamed code_helper argument with default ERROR_MARK. + * config/csky/csky.cc (csky_legitimate_address_p): Likewise. + * config/epiphany/epiphany.cc (epiphany_legitimate_address_p): + Likewise. + * config/frv/frv.cc (frv_legitimate_address_p): Likewise. + * config/ft32/ft32.cc (ft32_addr_space_legitimate_address_p): Likewise. + * config/gcn/gcn.cc (gcn_addr_space_legitimate_address_p): Likewise. + * config/h8300/h8300.cc (h8300_legitimate_address_p): Likewise. + * config/i386/i386.cc (ix86_legitimate_address_p): Likewise. + * config/ia64/ia64.cc (ia64_legitimate_address_p): Likewise. + * config/iq2000/iq2000.cc (iq2000_legitimate_address_p): Likewise. + * config/lm32/lm32.cc (lm32_legitimate_address_p): Likewise. + * config/loongarch/loongarch.cc (loongarch_legitimate_address_p): + Likewise. + * config/m32c/m32c.cc (m32c_legitimate_address_p): Likewise. + (m32c_addr_space_legitimate_address_p): Likewise. + * config/m32r/m32r.cc (m32r_legitimate_address_p): Likewise. + * config/m68k/m68k.cc (m68k_legitimate_address_p): Likewise. + * config/mcore/mcore.cc (mcore_legitimate_address_p): Likewise. + * config/microblaze/microblaze-protos.h (tree.h): New include for + tree_code ERROR_MARK. + (microblaze_legitimate_address_p): Adjust with extra unnamed + code_helper argument with default ERROR_MARK. + * config/microblaze/microblaze.cc (microblaze_legitimate_address_p): + Likewise. + * config/mips/mips.cc (mips_legitimate_address_p): Likewise. + * config/mmix/mmix.cc (mmix_legitimate_address_p): Likewise. + * config/mn10300/mn10300.cc (mn10300_legitimate_address_p): Likewise. + * config/moxie/moxie.cc (moxie_legitimate_address_p): Likewise. + * config/msp430/msp430.cc (msp430_legitimate_address_p): Likewise. + (msp430_addr_space_legitimate_address_p): Adjust with extra code_helper + argument with default ERROR_MARK and adjust the call to function + msp430_legitimate_address_p. + * config/nds32/nds32.cc (nds32_legitimate_address_p): Adjust with extra + unnamed code_helper argument with default ERROR_MARK. + * config/nios2/nios2.cc (nios2_legitimate_address_p): Likewise. + * config/nvptx/nvptx.cc (nvptx_legitimate_address_p): Likewise. + * config/or1k/or1k.cc (or1k_legitimate_address_p): Likewise. + * config/pa/pa.cc (pa_legitimate_address_p): Likewise. + * config/pdp11/pdp11.cc (pdp11_legitimate_address_p): Likewise. + * config/pru/pru.cc (pru_addr_space_legitimate_address_p): Likewise. + * config/riscv/riscv.cc (riscv_legitimate_address_p): Likewise. + * config/rl78/rl78-protos.h (rl78_as_legitimate_address): Likewise. + (tree.h): New include for tree_code ERROR_MARK. + * config/rl78/rl78.cc (rl78_as_legitimate_address): Adjust with + extra unnamed code_helper argument with default ERROR_MARK. + * config/rs6000/rs6000.cc (rs6000_legitimate_address_p): Likewise. + (rs6000_debug_legitimate_address_p): Adjust with extra code_helper + argument and adjust the call to function rs6000_legitimate_address_p. + * config/rx/rx.cc (rx_is_legitimate_address): Adjust with extra + unnamed code_helper argument with default ERROR_MARK. + * config/s390/s390.cc (s390_legitimate_address_p): Likewise. + * config/sh/sh.cc (sh_legitimate_address_p): Likewise. + * config/sparc/sparc.cc (sparc_legitimate_address_p): Likewise. + * config/v850/v850.cc (v850_legitimate_address_p): Likewise. + * config/vax/vax.cc (vax_legitimate_address_p): Likewise. + * config/visium/visium.cc (visium_legitimate_address_p): Likewise. + * config/xtensa/xtensa.cc (xtensa_legitimate_address_p): Likewise. + * config/stormy16/stormy16-protos.h (xstormy16_legitimate_address_p): + Likewise. + (tree.h): New include for tree_code ERROR_MARK. + * config/stormy16/stormy16.cc (xstormy16_legitimate_address_p): + Adjust with extra unnamed code_helper argument with default + ERROR_MARK. + +2023-08-09 liuhongt + + * common/config/i386/cpuinfo.h (get_available_features): Check + EAX for valid subleaf before use CPUID. + +2023-08-08 Jeff Law + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Use word_mode + for the temporary when canonicalizing the condition. + +2023-08-08 Cupertino Miranda + + * config/bpf/core-builtins.cc: Cleaned include headers. + (struct cr_builtins): Added GTY. + (cr_builtins_ref): Created. + (builtins_data) Changed to GC root. + (allocate_builtin_data): Changed. + Included gt-core-builtins.h. + * config/bpf/coreout.cc: (bpf_core_extra) Added GTY. + (bpf_core_extra_ref): Created. + (bpf_comment_info): Changed to GC root. + (bpf_core_reloc_add, output_btfext_header, btf_ext_init): Changed. + +2023-08-08 Uros Bizjak + + PR target/110832 + * config/i386/i386.opt (mpartial-vector-fp-math): New option. + * config/i386/mmx.md (movq__to_sse): Do not sanitize + upper part of V2SFmode register with -fno-trapping-math. + (v2sf3): Enable for ix86_partial_vec_fp_math. + (divv2sf3): Ditto. + (v2sf3): Ditto. + (sqrtv2sf2): Ditto. + (*mmx_haddv2sf3_low): Ditto. + (*mmx_hsubv2sf3_low): Ditto. + (vec_addsubv2sf3): Ditto. + (vec_cmpv2sfv2si): Ditto. + (vcondv2sf): Ditto. + (fmav2sf4): Ditto. + (fmsv2sf4): Ditto. + (fnmav2sf4): Ditto. + (fnmsv2sf4): Ditto. + (fix_truncv2sfv2si2): Ditto. + (fixuns_truncv2sfv2si2): Ditto. + (floatv2siv2sf2): Ditto. + (floatunsv2siv2sf2): Ditto. + (nearbyintv2sf2): Ditto. + (rintv2sf2): Ditto. + (lrintv2sfv2si2): Ditto. + (ceilv2sf2): Ditto. + (lceilv2sfv2si2): Ditto. + (floorv2sf2): Ditto. + (lfloorv2sfv2si2): Ditto. + (btruncv2sf2): Ditto. + (roundv2sf2): Ditto. + (lroundv2sfv2si2): Ditto. + * doc/invoke.texi (x86 Options): Document + -mpartial-vector-fp-math option. + +2023-08-08 Andrew Pinski + + PR tree-optimization/103281 + PR tree-optimization/28794 + * vr-values.cc (simplify_using_ranges::simplify_cond_using_ranges_1): Split out + majority to ... + (simplify_using_ranges::simplify_compare_using_ranges_1): Here. + (simplify_using_ranges::simplify_casted_cond): Rename to ... + (simplify_using_ranges::simplify_casted_compare): This + and change arguments to take op0 and op1. + (simplify_using_ranges::simplify_compare_assign_using_ranges_1): New method. + (simplify_using_ranges::simplify): For tcc_comparison assignments call + simplify_compare_assign_using_ranges_1. + * vr-values.h (simplify_using_ranges): Add + new methods, simplify_compare_using_ranges_1 and simplify_compare_assign_using_ranges_1. + Rename simplify_casted_cond and simplify_casted_compare and + update argument types. + +2023-08-08 Andrzej Turko + + * genmatch.cc: Log line numbers indirectly. + +2023-08-08 Andrzej Turko + + * genmatch.cc: Make sinfo map ordered. + * Makefile.in: Require the ordered map header for genmatch.o. + +2023-08-08 Andrzej Turko + + * ordered-hash-map.h: Add get_or_insert. + * ordered-hash-map-tests.cc: Use get_or_insert in tests. + +2023-08-08 Juzhe-Zhong + + * config/riscv/autovec.md (cond_): New pattern. + (cond_len_): Ditto. + (cond_fma): Ditto. + (cond_len_fma): Ditto. + (cond_fnma): Ditto. + (cond_len_fnma): Ditto. + (cond_fms): Ditto. + (cond_len_fms): Ditto. + (cond_fnms): Ditto. + (cond_len_fnms): Ditto. + * config/riscv/riscv-protos.h (riscv_get_v_regno_alignment): Export + global. + (enum insn_type): Add new enum type. + (prepare_ternary_operands): New function. + * config/riscv/riscv-v.cc (emit_vlmax_masked_fp_mu_insn): Ditto. + (emit_nonvlmax_tumu_insn): Ditto. + (emit_nonvlmax_fp_tumu_insn): Ditto. + (expand_cond_len_binop): Add condtional operations. + (expand_cond_len_ternop): Ditto. + (prepare_ternary_operands): New function. + * config/riscv/riscv.cc (riscv_memmodel_needs_amo_release): Export + riscv_get_v_regno_alignment as global scope. + * config/riscv/vector.md: Fix ternary bugs. + +2023-08-08 Richard Biener + + PR tree-optimization/49955 + * tree-vectorizer.h (_slp_instance::remain_stmts): New. + (SLP_INSTANCE_REMAIN_STMTS): Likewise. + * tree-vect-slp.cc (vect_free_slp_instance): Release + SLP_INSTANCE_REMAIN_STMTS. + (vect_build_slp_instance): Make the number of lanes of + a BB reduction even. + (vectorize_slp_instance_root_stmt): Handle unvectorized + defs of a BB reduction. + +2023-08-08 Ju-Zhe Zhong + + * internal-fn.cc (get_len_internal_fn): New function. + (DEF_INTERNAL_COND_FN): Ditto. + (DEF_INTERNAL_SIGNED_COND_FN): Ditto. + * internal-fn.h (get_len_internal_fn): Ditto. + * tree-vect-stmts.cc (vectorizable_call): Add CALL auto-vectorization. + +2023-08-08 Richard Biener + + PR tree-optimization/110924 + * tree-ssa-live.h (virtual_operand_live): Update comment. + * tree-ssa-live.cc (virtual_operand_live::get_live_in): Remove + optimization, look at each predecessor. + * tree-ssa-sink.cc (pass_sink_code::execute): Mark backedges. + +2023-08-08 yulong + + * config/riscv/riscv-v.cc (slide1_sew64_helper): Modify. + +2023-08-08 Juzhe-Zhong + + * config/riscv/autovec-vls.md (2): Add VLS neg. + * config/riscv/vector.md: Ditto. + +2023-08-08 Juzhe-Zhong + + * config/riscv/autovec.md: Add VLS shift. + +2023-08-07 Juzhe-Zhong + + * config/riscv/autovec-vls.md (3): Add VLS modes. + * config/riscv/vector-iterators.md: Ditto. + * config/riscv/vector.md: Ditto. + +2023-08-07 Jonathan Wakely + + * config/i386/i386.cc (ix86_invalid_conversion): Fix grammar. + +2023-08-07 Nick Alcock + + * configure: Regenerate. + +2023-08-07 John Ericson + + * configure: Regenerate. + +2023-08-07 Alan Modra + + * configure: Regenerate. + +2023-08-07 Alexander von Gluck IV + + * configure: Regenerate. + +2023-08-07 Nick Alcock + + * configure: Regenerate. + +2023-08-07 Nick Alcock + + * configure: Regenerate. + +2023-08-07 H.J. Lu + + * configure: Regenerate. + +2023-08-07 H.J. Lu + + * configure: Regenerate. + +2023-08-07 Jeff Law + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Allow + VOIDmode operands to conditional before canonicalization. + +2023-08-07 Manolis Tsamis + + * regcprop.cc (maybe_copy_reg_attrs): Remove unnecessary function. + (find_oldest_value_reg): Inline stack_pointer_rtx check. + (copyprop_hardreg_forward_1): Inline stack_pointer_rtx check. + +2023-08-07 Martin Jambor + + PR ipa/110378 + * ipa-param-manipulation.h (class ipa_param_body_adjustments): New + members get_ddef_if_exists_and_is_used and mark_clobbers_dead. + * ipa-sra.cc (isra_track_scalar_value_uses): Ignore clobbers. + (ptr_parm_has_nonarg_uses): Likewise. + * ipa-param-manipulation.cc + (ipa_param_body_adjustments::get_ddef_if_exists_and_is_used): New. + (ipa_param_body_adjustments::mark_dead_statements): Move initial + checks to get_ddef_if_exists_and_is_used. + (ipa_param_body_adjustments::mark_clobbers_dead): New. + (ipa_param_body_adjustments::common_initialization): Call + mark_clobbers_dead when splitting. + +2023-08-07 Raphael Zinsly + + * config/riscv/riscv.cc (riscv_expand_int_scc): Add invert_ptr + as an argument and pass it to riscv_emit_int_order_test. + (riscv_expand_conditional_move): Handle cases where the condition + is not EQ/NE or the second argument to the conditional is not + (const_int 0). + * config/riscv/riscv-protos.h (riscv_expand_int_scc): Update prototype. + Co-authored-by: Jeff Law + +2023-08-07 Andrew Pinski + + PR tree-optimization/109959 + * match.pd (`(a > 1) ? 0 : (cast)a`, `(a <= 1) & (cast)a`): + New patterns. + +2023-08-07 Richard Biener + + * tree-ssa-sink.cc (pass_sink_code::execute): Do not + calculate post-dominators. Calculate RPO on the inverted + graph and process blocks in that order. + +2023-08-07 liuhongt + + PR target/110926 + * config/i386/i386-protos.h + (vpternlog_redundant_operand_mask): Adjust parameter type. + * config/i386/i386.cc (vpternlog_redundant_operand_mask): Use + INTVAL instead of XINT, also adjust parameter type from rtx* + to rtx since the function only needs operands[4] in vpternlog + pattern. + (substitute_vpternlog_operands): Pass operands[4] instead of + operands to vpternlog_redundant_operand_mask. + * config/i386/sse.md: Ditto. + +2023-08-07 Richard Biener + + * tree-vect-slp.cc (vect_slp_region): Save/restore vect_location + around dumping code. + +2023-08-07 liuhongt + + PR target/110762 + * config/i386/mmx.md (3): Changed from define_insn + to define_expand and break into .. + (v4hf3): .. this. + (divv4hf3): .. this. + (v2hf3): .. this. + (divv2hf3): .. this. + (movd_v2hf_to_sse): New define_expand. + (movq__to_sse): Extend to V4HFmode. + (mmxdoublevecmode): Ditto. + (V2FI_V4HF): New mode iterator. + * config/i386/sse.md (*vec_concatv4sf): Extend to hanlde V8HF + by using mode iterator V4SF_V8HF, renamed to .. + (*vec_concat): .. this. + (*vec_concatv4sf_0): Extend to handle V8HF by using mode + iterator V4SF_V8HF, renamed to .. + (*vec_concat_0): .. this. + (*vec_concatv8hf_movss): New define_insn. + (V4SF_V8HF): New mode iterator. + +2023-08-07 Juzhe-Zhong + + * tree-vect-patterns.cc (vect_recog_over_widening_pattern): Add op vectype. + +2023-08-07 Jan Beulich + + * config/i386/mmx.md (*mmx_pinsrd): Drop "prefix_data16". + (*mmx_pinsrb): Likewise. + (*mmx_pextrb): Likewise. + (*mmx_pextrb_zext): Likewise. + (mmx_pshufbv8qi3): Likewise. + (mmx_pshufbv4qi3): Likewise. + (mmx_pswapdv2si2): Likewise. + (*pinsrb): Likewise. + (*pextrb): Likewise. + (*pextrb_zext): Likewise. + * config/i386/sse.md (*sse4_1_mulv2siv2di3): Likewise. + (*sse2_eq3): Likewise. + (*sse2_gt3): Likewise. + (_pinsr): Likewise. + (*vec_extract): Likewise. + (*vec_extract_zext): Likewise. + (*vec_extractv16qi_zext): Likewise. + (ssse3_phwv8hi3): Likewise. + (ssse3_pmaddubsw128): Likewise. + (*_pmulhrsw3): Likewise. + (_pshufb3): Likewise. + (_psign3): Likewise. + (_palignr): Likewise. + (*abs2): Likewise. + (sse4_2_pcmpestr): Likewise. + (sse4_2_pcmpestri): Likewise. + (sse4_2_pcmpestrm): Likewise. + (sse4_2_pcmpestr_cconly): Likewise. + (sse4_2_pcmpistr): Likewise. + (sse4_2_pcmpistri): Likewise. + (sse4_2_pcmpistrm): Likewise. + (sse4_2_pcmpistr_cconly): Likewise. + (vgf2p8affineinvqb_): Likewise. + (vgf2p8affineqb_): Likewise. + (vgf2p8mulb_): Likewise. + (*v8hi3 [smaxmin]): Drop "prefix_data16" and + "prefix_extra". + (*v16qi3 [umaxmin]): Likewise. + +2023-08-07 Jan Beulich + + * config/i386/i386.md (sse4_1_round2): Make + "length_immediate" uniformly 1. + * config/i386/mmx.md (mmx_pblendvb_v8qi): Likewise. + (mmx_pblendvb_): Likewise. + +2023-08-07 Jan Beulich + + * config/i386/sse.md + (__): Add + "prefix" attribute. + (avx512fp16_sh_v8hf): + Likewise. + +2023-08-07 Jan Beulich + + * config/i386/sse.md (xop_phaddbw): Add "prefix", + "prefix_extra", and "mode" attributes. + (xop_phaddbd): Likewise. + (xop_phaddbq): Likewise. + (xop_phaddwd): Likewise. + (xop_phaddwq): Likewise. + (xop_phadddq): Likewise. + (xop_phsubbw): Likewise. + (xop_phsubwd): Likewise. + (xop_phsubdq): Likewise. + (xop_rotl3): Add "prefix" and "prefix_extra" attributes. + (xop_rotr3): Likewise. + (xop_frcz2): Likewise. + (*xop_vmfrcz2): Likewise. + (xop_vrotl3): Add "prefix" attribute. Change + "prefix_extra" to 1. + (xop_sha3): Likewise. + (xop_shl3): Likewise. + +2023-08-07 Jan Beulich + + * config/i386/sse.md + (*_eq3_1): Drop + "prefix_extra". + (avx512dq_vextract64x2_1_mask): Likewise. + (*avx512dq_vextract64x2_1): Likewise. + (avx512f_vextract32x4_1_mask): Likewise. + (*avx512f_vextract32x4_1): Likewise. + (vec_extract_lo__mask [AVX512 forms]): Likewise. + (vec_extract_lo_ [AVX512 forms]): Likewise. + (vec_extract_hi__mask [AVX512 forms]): Likewise. + (vec_extract_hi_ [AVX512 forms]): Likewise. + (@vec_extract_lo_ [AVX512 forms]): Likewise. + (@vec_extract_hi_ [AVX512 forms]): Likewise. + (vec_extract_lo_v64qi): Likewise. + (vec_extract_hi_v64qi): Likewise. + (*vec_widen_umult_even_v16si): Likewise. + (*vec_widen_smult_even_v16si): Likewise. + (*avx512f_3): Likewise. + (*vec_extractv4ti): Likewise. + (avx512bw_v32qiv32hi2): Likewise. + (avx512dq_broadcast_1): Likewise. + Add "length_immediate". + +2023-08-07 Jan Beulich + + * config/i386/i386.md (@rdrand): Add "prefix_0f". Drop + "prefix_extra". + (@rdseed): Likewise. + * config/i386/mmx.md (3 [smaxmin and umaxmin cases]): + Adjust "prefix_extra". + * config/i386/sse.md (@vec_set_0): Likewise. + (*sse4_1_3): Likewise. + (*avx2_eq3): Likewise. + (avx2_gt3): Likewise. + (_pinsr): Likewise. + (*vec_extract): Likewise. + (_movntdqa): Likewise. + +2023-08-07 Jan Beulich + + * config/i386/i386.md (rdbase): Add "prefix_0f" and + "prefix_rep". Drop "prefix_extra". + (wrbase): Likewise. + (ptwrite): Likewise. + +2023-08-07 Jan Beulich + + * config/i386/i386.md (isa): Move up. + (length_immediate): Handle "fma4". + (prefix): Handle "ssemuladd". + * config/i386/sse.md (*fma_fmadd_): Add "prefix" attribute. + (fma_fmadd_): + Likewise. + (_fmadd__mask): Likewise. + (_fmadd__mask3): Likewise. + (fma_fmsub_): + Likewise. + (_fmsub__mask): Likewise. + (_fmsub__mask3): Likewise. + (*fma_fnmadd_): Likewise. + (fma_fnmadd_): + Likewise. + (_fnmadd__mask): Likewise. + (_fnmadd__mask3): Likewise. + (fma_fnmsub_): + Likewise. + (_fnmsub__mask): Likewise. + (_fnmsub__mask3): Likewise. + (fma_fmaddsub_): + Likewise. + (_fmaddsub__mask): Likewise. + (_fmaddsub__mask3): Likewise. + (fma_fmsubadd_): + Likewise. + (_fmsubadd__mask): Likewise. + (_fmsubadd__mask3): Likewise. + (*fmai_fmadd_): Likewise. + (*fmai_fmsub_): Likewise. + (*fmai_fnmadd_): Likewise. + (*fmai_fnmsub_): Likewise. + (avx512f_vmfmadd__mask): Likewise. + (avx512f_vmfmadd__mask3): Likewise. + (avx512f_vmfmadd__maskz_1): Likewise. + (*avx512f_vmfmsub__mask): Likewise. + (avx512f_vmfmsub__mask3): Likewise. + (*avx512f_vmfmsub__maskz_1): Likewise. + (avx512f_vmfnmadd__mask): Likewise. + (avx512f_vmfnmadd__mask3): Likewise. + (avx512f_vmfnmadd__maskz_1): Likewise. + (*avx512f_vmfnmsub__mask): Likewise. + (*avx512f_vmfnmsub__mask3): Likewise. + (*avx512f_vmfnmsub__maskz_1): Likewise. + (*fma4i_vmfmadd_): Likewise. + (*fma4i_vmfmsub_): Likewise. + (*fma4i_vmfnmadd_): Likewise. + (*fma4i_vmfnmsub_): Likewise. + (fma__): Likewise. + (___mask): Likewise. + (avx512fp16_fma_sh_v8hf): + Likewise. + (avx512fp16_sh_v8hf_mask): Likewise. + (xop_p): Likewise. + (xop_pdql): Likewise. + (xop_pdqh): Likewise. + (xop_pwd): Likewise. + (xop_pwd): Likewise. + (fma___pair): Likewise. Add "mode" attribute. + +2023-08-07 Jan Beulich + + * config/i386/i386.md (length_immediate): Handle "sse4arg". + (prefix): Likewise. + (*xop_pcmov_): Add "mode" attribute. + * config/i386/mmx.md (*xop_maskcmp3): Drop "prefix_data16", + "prefix_rep", "prefix_extra", and "length_immediate" attributes. + (*xop_maskcmp_uns3): Likewise. Switch "type" to "sse4arg". + (*xop_pcmov_): Add "mode" attribute. + * config/i386/sse.md (xop_pcmov_): Add "mode" + attribute. + (xop_maskcmp3): Drop "prefix_data16", "prefix_rep", + "prefix_extra", and "length_immediate" attributes. + (xop_maskcmp_uns3): Likewise. Switch "type" to "sse4arg". + (xop_maskcmp_uns23): Drop "prefix_data16", "prefix_extra", + and "length_immediate" attributes. Switch "type" to "sse4arg". + (xop_pcom_tf3): Likewise. + (xop_vpermil23): Drop "length_immediate" attribute. + +2023-08-07 Jan Beulich + + * config/i386/i386.md (prefix_extra): Correct comment. Fold + cases yielding 2 into ones yielding 1. + +2023-08-07 Jan Hubicka + + PR tree-optimization/106293 + * tree-vect-loop-manip.cc (vect_loop_versioning): Fix profile update. + * tree-vect-loop.cc (vect_transform_loop): Likewise. + +2023-08-07 Andrew Pinski + + PR tree-optimization/96695 + * match.pd (min_value, max_value): Extend to + pointer types too. + +2023-08-06 Jan Hubicka + + * config/i386/cpuid.h (__get_cpuid_count, __get_cpuid_max): Add + __builtin_expect that CPU likely supports cpuid. + +2023-08-06 Jan Hubicka + + * tree-loop-distribution.cc (loop_distribution::execute): Disable + distribution for loops with estimated iterations 0. + +2023-08-06 Jan Hubicka + + * tree-vect-loop-manip.cc (vect_do_peeling): Fix profile update of peeled epilogues. + +2023-08-04 Xiao Zeng + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Recognize + more Zicond patterns. Fix whitespace typo. + (riscv_rtx_costs): Remove accidental code duplication. + Co-authored-by: Jeff Law + +2023-08-04 Yan Simonaytes + + PR target/110202 + * config/i386/i386-protos.h + (vpternlog_redundant_operand_mask): Declare. + (substitute_vpternlog_operands): Declare. + * config/i386/i386.cc + (vpternlog_redundant_operand_mask): New helper. + (substitute_vpternlog_operands): New function. Use them... + * config/i386/sse.md: ... here in new VPTERNLOG define_splits. + +2023-08-04 Roger Sayle + + * expmed.cc (extract_bit_field_1): Document that an UNSIGNEDP + value of -1 is equivalent to don't care. + (extract_integral_bit_field): Indicate that we don't require + the most significant word to be zero extended, if we're about + to sign extend it. + (extract_fixed_bit_field_1): Document that an UNSIGNEDP value + of -1 is equivalent to don't care. Don't clear the most + significant bits with AND mask when UNSIGNEDP is -1. + +2023-08-04 Roger Sayle + + * config/i386/sse.md (define_split): Convert highpart:DF extract + from V2DFmode register into a sse2_storehpd instruction. + (define_split): Likewise, convert lowpart:DF extract from V2DF + register into a sse2_storelpd instruction. + +2023-08-04 Qing Zhao + + * doc/invoke.texi (-Wflex-array-member-not-at-end): Document + new option. + +2023-08-04 Vladimir N. Makarov + + * lra-lives.cc (process_bb_lives): Check input insn pattern hard regs + against early clobber hard regs. + +2023-08-04 Tamar Christina + + * doc/extend.texi: Document it. + +2023-08-04 Tamar Christina + + PR target/106346 + * config/aarch64/aarch64-simd.md (vec_widen_shiftl_lo_, + vec_widen_shiftl_hi_): Remove. + (aarch64_shll_internal): Renamed to... + (aarch64_shll): .. This. + (aarch64_shll2_internal): Renamed to... + (aarch64_shll2): .. This. + (aarch64_shll_n, aarch64_shll2_n): Re-use new + optabs. + * config/aarch64/constraints.md (D2, DL): New. + * config/aarch64/predicates.md (aarch64_simd_shll_imm_vec): New. + +2023-08-04 Tamar Christina + + * gensupport.cc (conlist): Support length 0 attribute. + +2023-08-04 Tamar Christina + + * config/aarch64/aarch64.cc (aarch64_bool_compound_p): New. + (aarch64_adjust_stmt_cost, aarch64_vector_costs::count_ops): Use it. + +2023-08-04 Tamar Christina + + * config/aarch64/aarch64.cc (aarch64_multiply_add_p): Update handling + of constants. + (aarch64_adjust_stmt_cost): Use it. + (aarch64_vector_costs::count_ops): Likewise. + (aarch64_vector_costs::add_stmt_cost): Pass vinfo to + aarch64_adjust_stmt_cost. + +2023-08-04 Richard Biener + + PR tree-optimization/110838 + * tree-vect-patterns.cc (vect_recog_over_widening_pattern): + Fix right-shift value sanitizing. Properly emit external + def mangling in the preheader rather than in the pattern + def sequence where it will fail vectorizing. + +2023-08-04 Matthew Malcomson + + PR middle-end/110316 + PR middle-end/9903 + * timevar.cc (NANOSEC_PER_SEC, TICKS_TO_NANOSEC, + CLOCKS_TO_NANOSEC, nanosec_to_floating_sec, percent_of): New. + (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Remove these macros. + (timer::validate_phases): Use integral arithmetic to check + validity. + (timer::print_row, timer::print): Convert from integral + nanoseconds to floating point seconds before printing. + (timer::all_zero): Change limit to nanosec count instead of + fractional count of seconds. + (make_json_for_timevar_time_def): Convert from integral + nanoseconds to floating point seconds before recording. + * timevar.h (struct timevar_time_def): Update all measurements + to use uint64_t nanoseconds rather than seconds stored in a + double. + +2023-08-04 Richard Biener + + PR tree-optimization/110838 + * match.pd (([rl]shift @0 out-of-bounds) -> zero): Restrict + the arithmetic right-shift case to non-negative operands. + +2023-08-04 Pan Li + + Revert: + 2023-08-04 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfmacc_frm): New class for vfmacc frm. + (vfmacc_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfmacc_frm): New function definition. + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_ternop_insn): Add frm operand support. + * config/riscv/vector.md: Add vfmuladd to frm_mode. + +2023-08-04 Pan Li + + Revert: + 2023-08-04 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfnmacc_frm): New class for vfnmacc. + (vfnmacc_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfnmacc_frm): New function definition. + +2023-08-04 Pan Li + + Revert: + 2023-08-04 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfmsac_frm): New class for vfmsac frm. + (vfmsac_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfmsac_frm): New function definition. + +2023-08-04 Pan Li + + Revert: + 2023-08-04 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfnmsac_frm): New class for vfnmsac frm. + (vfnmsac_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfnmsac_frm): New function definition. + +2023-08-04 Georg-Johann Lay + + * config/avr/avr-mcus.def (avr64dd14, avr64dd20, avr64dd28, avr64dd32) + (avr64ea28, avr64ea32, avr64ea48, attiny424, attiny426, attiny427) + (attiny824, attiny826, attiny827, attiny1624, attiny1626, attiny1627) + (attiny3224, attiny3226, attiny3227, avr16dd14, avr16dd20, avr16dd28) + (avr16dd32, avr32dd14, avr32dd20, avr32dd28, avr32dd32) + (attiny102, attiny104): New devices. + * doc/avr-mmcu.texi: Regenerate. + +2023-08-04 Georg-Johann Lay + + * config/avr/avr-mcus.def (avr128d*, avr64d*): Fix their FLASH_SIZE + and PM_OFFSET entries. + +2023-08-04 Andrew Pinski + + PR tree-optimization/110874 + * gimple-match-head.cc (gimple_bit_not_with_nop): New declaration. + (gimple_maybe_cmp): Likewise. + (gimple_bitwise_inverted_equal_p): Rewrite to use gimple_bit_not_with_nop + and gimple_maybe_cmp instead of being recursive. + * match.pd (bit_not_with_nop): New match pattern. + (maybe_cmp): Likewise. + +2023-08-04 Drew Ross + + PR middle-end/101955 + * match.pd ((signed x << c) >> c): New canonicalization. + +2023-08-04 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfnmsac_frm): New class for vfnmsac frm. + (vfnmsac_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfnmsac_frm): New function definition. + +2023-08-04 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfmsac_frm): New class for vfmsac frm. + (vfmsac_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfmsac_frm): New function definition. + +2023-08-04 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfnmacc_frm): New class for vfnmacc. + (vfnmacc_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfnmacc_frm): New function definition. + +2023-08-04 Hao Liu + + PR target/110625 + * config/aarch64/aarch64.cc (aarch64_force_single_cycle): check + STMT_VINFO_REDUC_DEF to avoid failures in info_for_reduction. + +2023-08-04 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class vfmacc_frm): New class for vfmacc frm. + (vfmacc_frm_obj): New declaration. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfmacc_frm): New function definition. + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_ternop_insn): Add frm operand support. + * config/riscv/vector.md: Add vfmuladd to frm_mode. + +2023-08-04 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (vfwmul_frm_obj): New declaration. + (vfwmul_frm): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: + (vfwmul_frm): Ditto. + * config/riscv/riscv-vector-builtins-functions.def + (vfwmul_frm): New function definition. + * config/riscv/vector.md: (frm_mode) Add vfwmul to frm_mode. + +2023-08-04 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (binop_frm): New declaration. + (reverse_binop_frm): Likewise. + (BASE): Likewise. + * config/riscv/riscv-vector-builtins-bases.h: + (vfdiv_frm): New extern declaration. + (vfrdiv_frm): Likewise. + * config/riscv/riscv-vector-builtins-functions.def + (vfdiv_frm): New function definition. + (vfrdiv_frm): Likewise. + * config/riscv/vector.md: Add vfdiv to frm_mode. + +2023-08-03 Jan Hubicka + + * tree-cfg.cc (print_loop_info): Print entry count. + +2023-08-03 Jan Hubicka + + * tree-ssa-loop-split.cc (split_loop): Update estimated iteration counts. + +2023-08-03 Jan Hubicka + + PR bootstrap/110857 + * cfgloopmanip.cc (scale_loop_profile): (Un)initialize + unadjusted_exit_count. + +2023-08-03 Aldy Hernandez + + * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Read global + value/mask. + +2023-08-03 Xiao Zeng + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Recognize + various Zicond patterns. + * config/riscv/riscv.md (movcc): Allow TARGET_ZICOND. Use + sfb_alu_operand for both arms of the conditional move. + Co-authored-by: Jeff Law + +2023-08-03 Cupertino Miranda + + PR target/107844 + PR target/107479 + PR target/107480 + PR target/107481 + * config.gcc: Added core-builtins.cc and .o files. + * config/bpf/bpf-passes.def: Removed file. + * config/bpf/bpf-protos.h (bpf_add_core_reloc, + bpf_replace_core_move_operands): New prototypes. + * config/bpf/bpf.cc (enum bpf_builtins, is_attr_preserve_access, + maybe_make_core_relo, bpf_core_field_info, bpf_core_compute, + bpf_core_get_index, bpf_core_new_decl, bpf_core_walk, + bpf_is_valid_preserve_field_info_arg, is_attr_preserve_access, + handle_attr_preserve, pass_data_bpf_core_attr, pass_bpf_core_attr): + Removed. + (def_builtin, bpf_expand_builtin, bpf_resolve_overloaded_builtin): Changed. + * config/bpf/bpf.md (define_expand mov): Changed. + (mov_reloc_core): Added. + * config/bpf/core-builtins.cc (struct cr_builtin, enum + cr_decision struct cr_local, struct cr_final, struct + core_builtin_helpers, enum bpf_plugin_states): Added types. + (builtins_data, core_builtin_helpers, core_builtin_type_defs): + Added variables. + (allocate_builtin_data, get_builtin-data, search_builtin_data, + remove_parser_plugin, compare_same_kind, compare_same_ptr_expr, + compare_same_ptr_type, is_attr_preserve_access, core_field_info, + bpf_core_get_index, compute_field_expr, + pack_field_expr_for_access_index, pack_field_expr_for_preserve_field, + process_field_expr, pack_enum_value, process_enum_value, pack_type, + process_type, bpf_require_core_support, make_core_relo, read_kind, + kind_access_index, kind_preserve_field_info, kind_enum_value, + kind_type_id, kind_preserve_type_info, get_core_builtin_fndecl_for_type, + bpf_handle_plugin_finish_type, bpf_init_core_builtins, + construct_builtin_core_reloc, bpf_resolve_overloaded_core_builtin, + bpf_expand_core_builtin, bpf_add_core_reloc, + bpf_replace_core_move_operands): Added functions. + * config/bpf/core-builtins.h (enum bpf_builtins): Added. + (bpf_init_core_builtins, bpf_expand_core_builtin, + bpf_resolve_overloaded_core_builtin): Added functions. + * config/bpf/coreout.cc (struct bpf_core_extra): Added. + (bpf_core_reloc_add, output_asm_btfext_core_reloc): Changed. + * config/bpf/coreout.h (bpf_core_reloc_add) Changed prototype. + * config/bpf/t-bpf: Added core-builtins.o. + * doc/extend.texi: Added documentation for new BPF builtins. + +2023-08-03 Andrew MacLeod + + * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add + ranges to the call to relation_fold_and_or. + (fold_using_range::relation_fold_and_or): Add op1 and op2 ranges. + (fur_source::register_outgoing_edges): Add op1 and op2 ranges. + * gimple-range-fold.h (relation_fold_and_or): Adjust params. + * gimple-range-gori.cc (gori_compute::compute_operand_range): Add + a varying op1 and op2 to call. + * range-op-float.cc (range_operator::op1_op2_relation): New dafaults. + (operator_equal::op1_op2_relation): New float version. + (operator_not_equal::op1_op2_relation): Ditto. + (operator_lt::op1_op2_relation): Ditto. + (operator_le::op1_op2_relation): Ditto. + (operator_gt::op1_op2_relation): Ditto. + (operator_ge::op1_op2_relation) Ditto. + * range-op-mixed.h (operator_equal::op1_op2_relation): New float + prototype. + (operator_not_equal::op1_op2_relation): Ditto. + (operator_lt::op1_op2_relation): Ditto. + (operator_le::op1_op2_relation): Ditto. + (operator_gt::op1_op2_relation): Ditto. + (operator_ge::op1_op2_relation): Ditto. + * range-op.cc (range_op_handler::op1_op2_relation): Dispatch new + variations. + (range_operator::op1_op2_relation): Add extra params. + (operator_equal::op1_op2_relation): Ditto. + (operator_not_equal::op1_op2_relation): Ditto. + (operator_lt::op1_op2_relation): Ditto. + (operator_le::op1_op2_relation): Ditto. + (operator_gt::op1_op2_relation): Ditto. + (operator_ge::op1_op2_relation): Ditto. + * range-op.h (range_operator): New prototypes. + (range_op_handler): Ditto. + +2023-08-03 Andrew MacLeod + + * gimple-range-gori.cc (gori_compute::compute_operand1_range): + Use identity relation. + (gori_compute::compute_operand2_range): Ditto. + * value-relation.cc (get_identity_relation): New. + * value-relation.h (get_identity_relation): New prototype. + +2023-08-03 Andrew MacLeod + + * value-range.h (Value_Range::set_varying): Set the type. + (Value_Range::set_zero): Ditto. + (Value_Range::set_nonzero): Ditto. + +2023-08-03 Jeff Law + + * config/riscv/riscv.cc (riscv_rtx_costs): Remove errant hunk from + recent commit. + +2023-08-03 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc: Add vfsub. + +2023-08-03 Richard Sandiford + + * poly-int.h (can_div_trunc_p): Succeed for more boundary conditions. + +2023-08-03 Richard Biener + + PR tree-optimization/110838 + * tree-vect-patterns.cc (vect_recog_over_widening_pattern): + Adjust the shift operand of RSHIFT_EXPRs. + +2023-08-03 Richard Biener + + PR tree-optimization/110702 + * tree-ssa-loop-ivopts.cc (rewrite_use_address): When + we created a NULL pointer based access rewrite that to + a LEA. + +2023-08-03 Richard Biener + + * tree-ssa-sink.cc: Include tree-ssa-live.h. + (pass_sink_code::execute): Instantiate virtual_operand_live + and pass it down. + (sink_code_in_bb): Pass down virtual_operand_live. + (statement_sink_location): Get virtual_operand_live and + verify we are not sinking loads across stores by looking up + the live virtual operand at the sink location. + +2023-08-03 Richard Biener + + * tree-ssa-live.h (class virtual_operand_live): New. + * tree-ssa-live.cc (virtual_operand_live::init): New. + (virtual_operand_live::get_live_in): Likewise. + (virtual_operand_live::get_live_out): Likewise. + +2023-08-03 Richard Biener + + * passes.def: Exchange loop splitting and final value + replacement passes. + +2023-08-03 Stefan Schulze Frielinghaus + + * config/s390/s390.cc (expand_perm_as_a_vlbr_vstbr_candidate): + New function which handles bswap patterns for vec_perm_const. + (vectorize_vec_perm_const_1): Call new function. + * config/s390/vector.md (*bswap): Fix operands in output + template. + (*vstbr): New insn. + +2023-08-03 Alexandre Oliva + + * config/vxworks-smp.opt: New. Introduce -msmp. + * config.gcc: Enable it on powerpc* vxworks prior to 7r*. + * config/rs6000/vxworks.h (STARTFILE_PREFIX_SPEC): Choose + lib_smp when -msmp is present in the command line. + * doc/invoke.texi: Document it. + +2023-08-03 Yanzhang Wang + + * config/riscv/riscv.cc (riscv_save_reg_p): Save ra for leaf + when enabling -mno-omit-leaf-frame-pointer + (riscv_option_override): Override omit-frame-pointer. + (riscv_frame_pointer_required): Save s0 for non-leaf function + (TARGET_FRAME_POINTER_REQUIRED): Override defination + * config/riscv/riscv.opt: Add option support. + +2023-08-03 Roger Sayle + + PR target/110792 + * config/i386/i386.md (ti3): For rotations by 64 bits + place operand in a register before gen_64ti2_doubleword. + (di3): Likewise, for rotations by 32 bits, place + operand in a register before gen_32di2_doubleword. + (32di2_doubleword): Constrain operand to be in register. + (64ti2_doubleword): Likewise. + +2023-08-03 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (vfmul_frm_obj): New declaration. + (Base): Likewise. + * config/riscv/riscv-vector-builtins-bases.h: Likewise. + * config/riscv/riscv-vector-builtins-functions.def + (vfmul_frm): New function definition. + * config/riscv/vector.md: Add vfmul to frm_mode. + +2023-08-03 Andrew Pinski + + * match.pd (`~X & X`): Check that the types match. + (`~x | x`, `~x ^ x`): Likewise. + +2023-08-03 Pan Li + + * config/riscv/riscv-vector-builtins-bases.h: Remove + redudant declaration. + +2023-08-03 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc (BASE): Add + vfwsub frm. + * config/riscv/riscv-vector-builtins-bases.h: Add declaration. + * config/riscv/riscv-vector-builtins-functions.def (vfwsub_frm): + Add vfwsub function definitions. + +2023-08-02 Stefan Schulze Frielinghaus + + PR rtl-optimization/110867 + * combine.cc (simplify_compare_const): Try the optimization only + in case the constant fits into the comparison mode. + +2023-08-02 Jeff Law + + * config/riscv/zicond.md: Remove incorrect zicond patterns and + renumber/rename them. + (zero.nez..opt2): Fix output string. + +2023-08-02 Richard Biener + + * tree-phinodes.h (add_phi_node_to_bb): Remove. + * tree-phinodes.cc (add_phi_node_to_bb): Make static. + +2023-08-02 Jan Beulich + + * config/i386/sse.md (vec_dupv2df): Fold the middle + two of the alternatives. + +2023-08-02 Richard Biener + + PR tree-optimization/92335 + * tree-ssa-sink.cc (select_best_block): Before loop + optimizations avoid sinking unconditional loads/stores + in innermost loops to conditional executed places. + +2023-08-02 Andrew Pinski + + * gimple-match-head.cc (gimple_bitwise_inverted_equal_p): Valueize + the comparison operands before comparing them. + +2023-08-02 Andrew Pinski + + * match.pd (`~X & X`, `~X | X`): Move over to + use bitwise_inverted_equal_p, removing :c as bitwise_inverted_equal_p + handles that already. + Remove range test simplifications to true/false as they + are now handled by these patterns. + +2023-08-02 Andrew Pinski + + * tree-ssa-phiopt.cc (match_simplify_replacement): Mark's cond + statement's lhs and rhs to check if trivial dead. + Rename inserted_exprs to exprs_maybe_dce; also move it so + bitmap is not allocated if not needed. + +2023-08-02 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class widen_binop_frm): New class for binop frm. + (BASE): Add vfwadd_frm. + * config/riscv/riscv-vector-builtins-bases.h: New declaration. + * config/riscv/riscv-vector-builtins-functions.def + (vfwadd_frm): New function definition. + * config/riscv/riscv-vector-builtins-shapes.cc + (BASE_NAME_MAX_LEN): New macro. + (struct alu_frm_def): Leverage new base class. + (struct build_frm_base): New build base for frm. + (struct widen_alu_frm_def): New struct for widen alu frm. + (SHAPE): Add widen_alu_frm shape. + * config/riscv/riscv-vector-builtins-shapes.h: New declaration. + * config/riscv/vector.md (frm_mode): Add vfwalu type. + +2023-08-02 Jan Hubicka + + * cfgloop.h (loop_count_in): Declare. + * cfgloopanal.cc (expected_loop_iterations_by_profile): Use count_in. + (loop_count_in): Move here from ... + * cfgloopmanip.cc (loop_count_in): ... here. + (scale_loop_profile): Improve dumping; cast iteration bound to sreal. + +2023-08-02 Jan Hubicka + + * cfg.cc (scale_strictly_dominated_blocks): New function. + * cfg.h (scale_strictly_dominated_blocks): Declare. + * tree-cfg.cc (fold_loop_internal_call): Fixup CFG profile. + +2023-08-02 Richard Biener + + PR rtl-optimization/110587 + * lra-spills.cc (return_regno_p): Remove. + (regno_in_use_p): Likewise. + (lra_final_code_change): Do not remove noop moves + between hard registers. + +2023-08-02 liuhongt + + PR target/81904 + * config/i386/sse.md (vec_fmaddsub4): Extend to vector + HFmode, use mode iterator VFH instead. + (vec_fmsubadd4): Ditto. + (fma_fmaddsub_): + Remove scalar mode from iterator, use VFH_AVX512VL instead. + (fma_fmsubadd_): + Ditto. + +2023-08-02 liuhongt + + * config/i386/sse.md (*avx2_lddqu_inserti_to_bcasti): New + pre_reload define_insn_and_split. + +2023-08-02 Xiao Zeng + + * config/riscv/riscv.cc (riscv_rtx_costs): Add costing for + using Zicond to implement some conditional moves. + +2023-08-02 Jeff Law + + * config/riscv/zicond.md: Use the X iterator instead of ANYI + on the comparison input operands. + +2023-08-02 Xiao Zeng + + * config/riscv/riscv.cc (riscv_rtx_costs, case IF_THEN_ELSE): Add + Zicond costing. + (case SET): For INSNs that just set a REG, take the cost from the + SET_SRC. + Co-authored-by: Jeff Law + +2023-08-02 Hu, Lin1 + + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_INT8_SET): + Change OPTION_MASK_ISA2_AMX_TILE to OPTION_MASK_ISA2_AMX_TILE_SET. + (OPTION_MASK_ISA2_AMX_BF16_SET): Ditto + (OPTION_MASK_ISA2_AMX_FP16_SET): Ditto + (OPTION_MASK_ISA2_AMX_COMPLEX_SET): Ditto + (OPTION_MASK_ISA_ABM_SET): + Change OPTION_MASK_ISA_POPCNT to OPTION_MASK_ISA_POPCNT_SET. + +2023-08-01 Andreas Krebbel + + * config/s390/s390.cc (s390_encode_section_info): Assume external + symbols without explicit alignment to be unaligned if + -munaligned-symbols has been specified. + * config/s390/s390.opt (-munaligned-symbols): New option. + +2023-08-01 Richard Ball + + * gimple-fold.cc (fold_ctor_reference): + Add support for poly_int. + +2023-08-01 Georg-Johann Lay + + PR target/110220 + * config/avr/avr.cc (avr_optimize_casesi): Set JUMP_LABEL and + LABEL_NUSES of new conditional branch instruction. + +2023-08-01 Jan Hubicka + + * tree-vect-loop-manip.cc (vect_do_peeling): Fix profile update after + constant prologue peeling. + +2023-08-01 Christophe Lyon + + * doc/sourcebuild.texi (arm_v8_1m_main_cde_mve_fp): Fix spelling. + +2023-08-01 Pan Li + Juzhe-Zhong + + * config/riscv/riscv.cc (DYNAMIC_FRM_RTL): New macro. + (STATIC_FRM_P): Ditto. + (struct mode_switching_info): New struct for mode switching. + (struct machine_function): Add new field mode switching. + (riscv_emit_frm_mode_set): Add DYN_CALL emit. + (riscv_frm_adjust_mode_after_call): New function for call mode. + (riscv_frm_emit_after_call_in_bb_end): New function for emit + insn when call as the end of bb. + (riscv_frm_mode_needed): New function for frm mode needed. + (frm_unknown_dynamic_p): Remove call check. + (riscv_mode_needed): Extrac function for frm. + (riscv_frm_mode_after): Add DYN_CALL after. + (riscv_mode_entry): Remove backup rtl initialization. + * config/riscv/vector.md (frm_mode): Add dyn_call. + (fsrmsi_restore_exit): Rename to _volatile. + (fsrmsi_restore_volatile): Likewise. + +2023-08-01 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc + (class reverse_binop_frm): Add new template for reversed frm. + (vfsub_frm_obj): New obj. + (vfrsub_frm_obj): Likewise. + * config/riscv/riscv-vector-builtins-bases.h: + (vfsub_frm): New declaration. + (vfrsub_frm): Likewise. + * config/riscv/riscv-vector-builtins-functions.def + (vfsub_frm): New function define. + (vfrsub_frm): Likewise. + +2023-08-01 Andrew Pinski + + PR tree-optimization/93044 + * match.pd (nested int casts): A truncation (to the same size or smaller) + can always remove the inner cast. + +2023-07-31 Hamza Mahfooz + + PR c/65213 + * doc/invoke.texi (-Wmissing-variable-declarations): Document + new option. + +2023-07-31 Andrew Pinski + + PR tree-optimization/106164 + * match.pd (`a != b & a <= b`, `a != b & a >= b`, + `a == b | a < b`, `a == b | a > b`): Handle these cases + too. + +2023-07-31 Andrew Pinski + + PR tree-optimization/106164 + * match.pd: Extend the `(X CMP1 CST1) AND/IOR (X CMP2 CST2)` + patterns to support `(X CMP1 Y) AND/IOR (X CMP2 Y)`. + +2023-07-31 Andrew Pinski + + PR tree-optimization/100864 + * generic-match-head.cc (bitwise_inverted_equal_p): New function. + * gimple-match-head.cc (bitwise_inverted_equal_p): New macro. + (gimple_bitwise_inverted_equal_p): New function. + * match.pd ((~x | y) & x): Use bitwise_inverted_equal_p + instead of direct matching bit_not. + +2023-07-31 Costas Argyris + + PR driver/77576 + * gcc-ar.cc (main): Expand argv and use + temporary response file to call ar if any + expansions were made. + +2023-07-31 Andrew MacLeod + + PR tree-optimization/110582 + * gimple-range-fold.cc (fur_list::get_operand): Do not use the + range vector for non-ssa names. + +2023-07-31 David Malcolm + + PR analyzer/109361 + * diagnostic-client-data-hooks.h (class sarif_object): New forward + decl. + (diagnostic_client_data_hooks::add_sarif_invocation_properties): + New vfunc. + * diagnostic-format-sarif.cc: Include "diagnostic-format-sarif.h". + (class sarif_invocation): Inherit from sarif_object rather than + json::object. + (class sarif_result): Likewise. + (class sarif_ice_notification): Likewise. + (sarif_object::get_or_create_properties): New. + (sarif_invocation::prepare_to_flush): Add "context" param. Use it + to call the context's add_sarif_invocation_properties hook. + (sarif_builder::flush_to_file): Pass m_context to + sarif_invocation::prepare_to_flush. + * diagnostic-format-sarif.h: New header. + * doc/invoke.texi (Developer Options): Clarify that -ftime-report + writes to stderr. Document that if SARIF diagnostic output is + requested then any timing information is written in JSON form as + part of the SARIF output, rather than to stderr. + * timevar.cc: Include "json.h". + (timer::named_items::m_hash_map): Split out type into... + (timer::named_items::hash_map_t): ...this new typedef. + (timer::named_items::make_json): New function. + (timevar_diff): New function. + (make_json_for_timevar_time_def): New function. + (timer::timevar_def::make_json): New function. + (timer::make_json): New function. + * timevar.h (class json::value): New forward decl. + (timer::make_json): New decl. + (timer::timevar_def::make_json): New decl. + * tree-diagnostic-client-data-hooks.cc: Include + "diagnostic-format-sarif.h" and "timevar.h". + (compiler_data_hooks::add_sarif_invocation_properties): New vfunc + implementation. + +2023-07-31 Stefan Schulze Frielinghaus + + * combine.cc (simplify_compare_const): Narrow comparison of + memory and constant. + (try_combine): Adapt new function signature. + (simplify_comparison): Adapt new function signature. + +2023-07-31 Kito Cheng + + * config/riscv/riscv-v.cc (expand_vec_series): Drop unused + variable. + (expand_vector_init_insert_elems): Ditto. + +2023-07-31 Hao Liu + + PR target/110625 + * config/aarch64/aarch64.cc (count_ops): Only '* count' for + single_defuse_cycle while counting reduction_latency. + +2023-07-31 Ju-Zhe Zhong + + * internal-fn.def (DEF_INTERNAL_COND_FN): New macro. + (DEF_INTERNAL_SIGNED_COND_FN): Ditto. + (COND_ADD): Remove. + (COND_SUB): Ditto. + (COND_MUL): Ditto. + (COND_DIV): Ditto. + (COND_MOD): Ditto. + (COND_RDIV): Ditto. + (COND_MIN): Ditto. + (COND_MAX): Ditto. + (COND_FMIN): Ditto. + (COND_FMAX): Ditto. + (COND_AND): Ditto. + (COND_IOR): Ditto. + (COND_XOR): Ditto. + (COND_SHL): Ditto. + (COND_SHR): Ditto. + (COND_FMA): Ditto. + (COND_FMS): Ditto. + (COND_FNMA): Ditto. + (COND_FNMS): Ditto. + (COND_NEG): Ditto. + (COND_LEN_ADD): Ditto. + (COND_LEN_SUB): Ditto. + (COND_LEN_MUL): Ditto. + (COND_LEN_DIV): Ditto. + (COND_LEN_MOD): Ditto. + (COND_LEN_RDIV): Ditto. + (COND_LEN_MIN): Ditto. + (COND_LEN_MAX): Ditto. + (COND_LEN_FMIN): Ditto. + (COND_LEN_FMAX): Ditto. + (COND_LEN_AND): Ditto. + (COND_LEN_IOR): Ditto. + (COND_LEN_XOR): Ditto. + (COND_LEN_SHL): Ditto. + (COND_LEN_SHR): Ditto. + (COND_LEN_FMA): Ditto. + (COND_LEN_FMS): Ditto. + (COND_LEN_FNMA): Ditto. + (COND_LEN_FNMS): Ditto. + (COND_LEN_NEG): Ditto. + (ADD): New macro define. + (SUB): Ditto. + (MUL): Ditto. + (DIV): Ditto. + (MOD): Ditto. + (RDIV): Ditto. + (MIN): Ditto. + (MAX): Ditto. + (FMIN): Ditto. + (FMAX): Ditto. + (AND): Ditto. + (IOR): Ditto. + (XOR): Ditto. + (SHL): Ditto. + (SHR): Ditto. + (FMA): Ditto. + (FMS): Ditto. + (FNMA): Ditto. + (FNMS): Ditto. + (NEG): Ditto. + +2023-07-31 Roger Sayle + + PR target/110843 + * config/i386/i386-features.cc (compute_convert_gain): Check + TARGET_AVX512VL (not TARGET_AVX512F) when considering V2DImode + and V4SImode rotates in STV. + (general_scalar_chain::convert_rotate): Likewise. + +2023-07-31 Kito Cheng + + * config/riscv/autovec.md (abs2): Remove `.require ()`. + * config/riscv/riscv-protos.h (get_mask_mode): Update return + type. + * config/riscv/riscv-v.cc (rvv_builder::rvv_builder): Remove + `.require ()`. + (emit_vlmax_insn): Ditto. + (emit_vlmax_fp_insn): Ditto. + (emit_vlmax_ternary_insn): Ditto. + (emit_vlmax_fp_ternary_insn): Ditto. + (emit_nonvlmax_fp_ternary_tu_insn): Ditto. + (emit_nonvlmax_insn): Ditto. + (emit_vlmax_slide_insn): Ditto. + (emit_nonvlmax_slide_tu_insn): Ditto. + (emit_vlmax_merge_insn): Ditto. + (emit_vlmax_masked_insn): Ditto. + (emit_nonvlmax_masked_insn): Ditto. + (emit_vlmax_masked_store_insn): Ditto. + (emit_nonvlmax_masked_store_insn): Ditto. + (emit_vlmax_masked_mu_insn): Ditto. + (emit_nonvlmax_tu_insn): Ditto. + (emit_nonvlmax_fp_tu_insn): Ditto. + (emit_scalar_move_insn): Ditto. + (emit_vlmax_compress_insn): Ditto. + (emit_vlmax_reduction_insn): Ditto. + (emit_vlmax_fp_reduction_insn): Ditto. + (emit_nonvlmax_fp_reduction_insn): Ditto. + (expand_vec_series): Ditto. + (expand_vector_init_merge_repeating_sequence): Ditto. + (expand_vec_perm): Ditto. + (shuffle_merge_patterns): Ditto. + (shuffle_compress_patterns): Ditto. + (shuffle_decompress_patterns): Ditto. + (expand_reduction): Ditto. + (get_mask_mode): Update return type. + * config/riscv/riscv.cc (riscv_get_mask_mode): Check vector type + is valid, and use new get_mask_mode interface. + +2023-07-31 Pan Li + + * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_frm_def): + Move rm suffix before mask. + +2023-07-31 Juzhe-Zhong + + * config/riscv/autovec-vls.md (@vec_duplicate): New pattern. + * config/riscv/riscv-v.cc (autovectorize_vector_modes): Add VLS autovec + support. + +2023-07-29 Roger Sayle + + PR target/110790 + * config/i386/i386.md (extv): Use QImode for offsets. + (extzv): Likewise. + (insv): Likewise. + (*testqi_ext_3): Likewise. + (*btr_2): Likewise. + (define_split): Likewise. + (*btsq_imm): Likewise. + (*btrq_imm): Likewise. + (*btcq_imm): Likewise. + (define_peephole2 x3): Likewise. + (*bt): Likewise + (*bt_mask): New define_insn_and_split. + (*jcc_bt): Use QImode for offsets. + (*jcc_bt_1): Delete obsolete pattern. + (*jcc_bt_mask): Use QImode offsets. + (*jcc_bt_mask_1): Likewise. + (define_split): Likewise. + (*bt_setcqi): Likewise. + (*bt_setncqi): Likewise. + (*bt_setnc): Likewise. + (*bt_setncqi_2): Likewise. + (*bt_setc_mask): New define_insn_and_split. + (bmi2_bzhi_3): Use QImode offsets. + (*bmi2_bzhi_3): Likewise. + (*bmi2_bzhi_3_1): Likewise. + (*bmi2_bzhi_3_1_ccz): Likewise. + (@tbm_bextri_): Likewise. + +2023-07-29 Jan Hubicka + + * profile-count.cc (profile_probability::sqrt): New member function. + (profile_probability::pow): Likewise. + * profile-count.h: (profile_probability::sqrt): Declare + (profile_probability::pow): Likewise. + * tree-vect-loop-manip.cc (vect_loop_versioning): Fix profile update. + +2023-07-28 Andrew MacLeod + + * gimple-range-cache.cc (ssa_cache::merge_range): New. + (ssa_lazy_cache::merge_range): New. + * gimple-range-cache.h (class ssa_cache): Adjust protoypes. + (class ssa_lazy_cache): Ditto. + * gimple-range.cc (assume_query::calculate_op): Use merge_range. + +2023-07-28 Andrew MacLeod + + * tree-ssa-propagate.cc (substitute_and_fold_engine::value_on_edge): + Move from value-query.cc. + (substitute_and_fold_engine::value_of_stmt): Ditto. + (substitute_and_fold_engine::range_of_expr): New. + * tree-ssa-propagate.h (substitute_and_fold_engine): Inherit from + range_query. New prototypes. + * value-query.cc (value_query::value_on_edge): Relocate. + (value_query::value_of_stmt): Ditto. + * value-query.h (class value_query): Remove. + (class range_query): Remove base class. Adjust prototypes. + +2023-07-28 Andrew MacLeod + + PR tree-optimization/110205 + * gimple-range-cache.h (ranger_cache::m_estimate): Delete. + * range-op-mixed.h (operator_bitwise_xor::op1_op2_relation_effect): + Add final override. + * range-op.cc (operator_lshift): Add missing final overrides. + (operator_rshift): Ditto. + +2023-07-28 Jose E. Marchesi + + * config/bpf/bpf.cc (bpf_option_override): Disable tail-call + optimizations in BPF target. + +2023-07-28 Honza + + * cfgloopmanip.cc (loop_count_in): Break out from ... + (loop_exit_for_scaling): Break out from ... + (update_loop_exit_probability_scale_dom_bbs): Break out from ...; + add more sanity check and debug info. + (scale_loop_profile): ... here. + (create_empty_loop_on_edge): Fix whitespac. + * cfgloopmanip.h (update_loop_exit_probability_scale_dom_bbs): Declare. + * loop-unroll.cc (unroll_loop_constant_iterations): Use + update_loop_exit_probability_scale_dom_bbs. + * tree-ssa-loop-manip.cc (update_exit_probability_after_unrolling): Remove. + (tree_transform_and_unroll_loop): Use + update_loop_exit_probability_scale_dom_bbs. + * tree-ssa-loop-split.cc (split_loop): Use + update_loop_exit_probability_scale_dom_bbs. + +2023-07-28 Jan Hubicka + + PR middle-end/77689 + * tree-ssa-loop-split.cc: Include value-query.h. + (split_at_bb_p): Analyze cases where EQ/NE can be turned + into LT/LE/GT/GE; return updated guard code. + (split_loop): Use guard code. + +2023-07-28 Roger Sayle + Richard Biener + + PR middle-end/28071 + PR rtl-optimization/110587 + * expr.cc (emit_group_load_1): Simplify logic for calling + force_reg on ORIG_SRC, to avoid making a copy if the source + is already in a pseudo register. + +2023-07-28 Jan Hubicka + + PR middle-end/106923 + * tree-ssa-loop-split.cc (connect_loops): Change probability + of the test preconditioning second loop to very_likely. + (fix_loop_bb_probability): Handle correctly case where + on of the arms of the conditional is empty. + (split_loop): Fold the test guarding first condition to + see if it is constant true; Set correct entry block + probabilities of the split loops; determine correct loop + eixt probabilities. + +2023-07-28 xuli + + * config/riscv/riscv-vector-builtins-bases.cc: remove rounding mode of + vsadd[u] and vssub[u]. + * config/riscv/vector.md: Ditto. + +2023-07-28 Jan Hubicka + + * tree-ssa-loop-split.cc (split_loop): Also support NE driven + loops when IV test is not overflowing. + +2023-07-28 liuhongt + + PR target/110788 + * config/i386/sse.md (avx512cd_maskb_vec_dup): Add + UNSPEC_MASKOP. + (avx512cd_maskw_vec_dup): Ditto. + +2023-07-27 David Faust + + PR target/110782 + PR target/110784 + * config/bpf/bpf.opt (msmov): New option. + * config/bpf/bpf.cc (bpf_option_override): Handle it here. + * config/bpf/bpf.md (*extendsidi2): New. + (extendhidi2): New. + (extendqidi2): New. + (extendsisi2): New. + (extendhisi2): New. + (extendqisi2): New. + * doc/invoke.texi (Option Summary): Add -msmov eBPF option. + (eBPF Options): Add -m[no-]smov. Document that -mcpu=v4 + also enables -msmov. + +2023-07-27 David Faust + + * doc/invoke.texi (Option Summary): Remove -mkernel eBPF option. + Add -mbswap and -msdiv eBPF options. + (eBPF Options): Remove -mkernel. Add -mno-{jmpext, jmp32, + alu32, v3-atomics, bswap, sdiv}. Document that -mcpu=v4 also + enables -msdiv. + +2023-07-27 David Faust + + * config/bpf/bpf.md (add3): Use %w2 instead of %w1 + in pseudo-C dialect output template. + (sub3): Likewise. + +2023-07-27 Jan Hubicka + + * tree-vect-loop.cc (optimize_mask_stores): Make store + likely. + +2023-07-27 Jan Hubicka + + * cfgloop.h (single_dom_exit): Declare. + * cfgloopmanip.h (update_exit_probability_after_unrolling): Declare. + * cfgrtl.cc (struct cfg_hooks): Fix comment. + * loop-unroll.cc (unroll_loop_constant_iterations): Update exit edge. + * tree-ssa-loop-ivopts.h (single_dom_exit): Do not declare it here. + * tree-ssa-loop-manip.cc (update_exit_probability_after_unrolling): + Break out from ... + (tree_transform_and_unroll_loop): ... here; + +2023-07-27 Jan Hubicka + + * cfgloopmanip.cc (scale_dominated_blocks_in_loop): Move here from + tree-ssa-loop-manip.cc and avoid recursion. + (scale_loop_profile): Use scale_dominated_blocks_in_loop. + (duplicate_loop_body_to_header_edge): Add DLTHE_FLAG_FLAT_PROFILE + flag. + * cfgloopmanip.h (DLTHE_FLAG_FLAT_PROFILE): Define. + (scale_dominated_blocks_in_loop): Declare. + * predict.cc (dump_prediction): Do not ICE on uninitialized probability. + (change_edge_frequency): Remove. + * predict.h (change_edge_frequency): Remove. + * tree-ssa-loop-manip.cc (scale_dominated_blocks_in_loop): Move to + cfgloopmanip.cc. + (niter_for_unrolled_loop): Remove. + (tree_transform_and_unroll_loop): Fix profile update. + +2023-07-27 Jan Hubicka + + * tree-ssa-loop-im.cc (execute_sm_if_changed): Turn cap probability + to guessed; fix count of new_bb. + +2023-07-27 Jan Hubicka + + * profile-count.h (profile_count::apply_probability): Fix + handling of uninitialized probabilities, optimize scaling + by probability 1. + +2023-07-27 Richard Biener + + PR tree-optimization/91838 + * gimple-match-head.cc: Include attribs.h and asan.h. + * generic-match-head.cc: Likewise. + * match.pd (([rl]shift @0 out-of-bounds) -> zero): New pattern. + +2023-07-27 Juzhe-Zhong + + * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add VLS modes. + (ADJUST_ALIGNMENT): Ditto. + (ADJUST_PRECISION): Ditto. + (VLS_MODES): Ditto. + (VECTOR_MODE_WITH_PREFIX): Ditto. + * config/riscv/riscv-opts.h (TARGET_VECTOR_VLS): New macro. + * config/riscv/riscv-protos.h (riscv_v_ext_vls_mode_p): New function. + * config/riscv/riscv-v.cc (INCLUDE_ALGORITHM): Add include. + (legitimize_move): Enable basic VLS modes support. + (get_vlmul): Ditto. + (get_ratio): Ditto. + (get_vector_mode): Ditto. + * config/riscv/riscv-vector-switch.def (VLS_ENTRY): Add vls modes. + * config/riscv/riscv.cc (riscv_v_ext_vls_mode_p): New function. + (VLS_ENTRY): New macro. + (riscv_v_ext_mode_p): Add vls modes. + (riscv_get_v_regno_alignment): New function. + (riscv_print_operand): Add vls modes. + (riscv_hard_regno_nregs): Ditto. + (riscv_hard_regno_mode_ok): Ditto. + (riscv_regmode_natural_size): Ditto. + (riscv_vectorize_preferred_vector_alignment): Ditto. + * config/riscv/riscv.md: Ditto. + * config/riscv/vector-iterators.md: Ditto. + * config/riscv/vector.md: Ditto. + * config/riscv/autovec-vls.md: New file. + +2023-07-27 Pan Li + + * config/riscv/riscv_vector.h (enum RVV_CSR): Removed. + (vread_csr): Ditto. + (vwrite_csr): Ditto. + +2023-07-27 demin.han + + * config/riscv/autovec.md: Delete which_alternative use in split + +2023-07-27 Richard Biener + + * tree-ssa-sink.cc (sink_code_in_bb): Remove recursion, instead + use a worklist ... + (pass_sink_code::execute): ... in the caller. + +2023-07-27 Kewen Lin + Richard Biener + + PR tree-optimization/110776 + * tree-vect-stmts.cc (vectorizable_load): Always cost VMAT_ELEMENTWISE + as scalar load. + +2023-07-26 Xiao Zeng + + * config/riscv/riscv.md: Include zicond.md + * config/riscv/zicond.md: New file. + +2023-07-26 Xiao Zeng + + * common/config/riscv/riscv-common.cc: New extension. + * config/riscv/riscv-opts.h (MASK_ZICOND): New mask. + (TARGET_ZICOND): New target. + +2023-07-26 Carl Love + + * config/rs6000/rs6000-c.cc (find_instance): Add new parameter that + specifies the number of built-in arguments to check. + (altivec_resolve_overloaded_builtin): Update calls to find_instance + to pass the number of built-in arguments to be checked. + +2023-07-26 David Faust + + * config/bpf/bpf.opt (mv3-atomics): New option. + * config/bpf/bpf.cc (bpf_option_override): Handle it here. + * config/bpf/bpf.h (enum_reg_class): Add R0 class. + (REG_CLASS_NAMES): Likewise. + (REG_CLASS_CONTENTS): Likewise. + (REGNO_REG_CLASS): Handle R0. + * config/bpf/bpf.md (UNSPEC_XADD): Rename to UNSPEC_AADD. + (UNSPEC_AAND): New unspec. + (UNSPEC_AOR): Likewise. + (UNSPEC_AXOR): Likewise. + (UNSPEC_AFADD): Likewise. + (UNSPEC_AFAND): Likewise. + (UNSPEC_AFOR): Likewise. + (UNSPEC_AFXOR): Likewise. + (UNSPEC_AXCHG): Likewise. + (UNSPEC_ACMPX): Likewise. + (atomic_add): Use UNSPEC_AADD and atomic type attribute. + Move to... + * config/bpf/atomic.md: ...Here. New file. + * config/bpf/constraints.md (t): New constraint for R0. + * doc/invoke.texi (eBPF Options): Document -mv3-atomics. + +2023-07-26 Matthew Malcomson + + * tree-vect-stmts.cc (get_group_load_store_type): Reformat + comment. + +2023-07-26 Carl Love + + * config/rs6000/rs6000-builtins.def: Rename + __builtin_altivec_vreplace_un_uv2di as __builtin_altivec_vreplace_un_udi + __builtin_altivec_vreplace_un_uv4si as __builtin_altivec_vreplace_un_usi + __builtin_altivec_vreplace_un_v2df as __builtin_altivec_vreplace_un_df + __builtin_altivec_vreplace_un_v2di as __builtin_altivec_vreplace_un_di + __builtin_altivec_vreplace_un_v4sf as __builtin_altivec_vreplace_un_sf + __builtin_altivec_vreplace_un_v4si as __builtin_altivec_vreplace_un_si. + Rename VREPLACE_UN_UV2DI as VREPLACE_UN_UDI, VREPLACE_UN_UV4SI as + VREPLACE_UN_USI, VREPLACE_UN_V2DF as VREPLACE_UN_DF, + VREPLACE_UN_V2DI as VREPLACE_UN_DI, VREPLACE_UN_V4SF as + VREPLACE_UN_SF, VREPLACE_UN_V4SI as VREPLACE_UN_SI. + Rename vreplace_un_v2di as vreplace_un_di, vreplace_un_v4si as + vreplace_un_si, vreplace_un_v2df as vreplace_un_df, + vreplace_un_v2di as vreplace_un_di, vreplace_un_v4sf as + vreplace_un_sf, vreplace_un_v4si as vreplace_un_si. + * config/rs6000/rs6000-c.cc (find_instance): Add case + RS6000_OVLD_VEC_REPLACE_UN. + * config/rs6000/rs6000-overload.def (__builtin_vec_replace_un): + Fix first argument type. Rename VREPLACE_UN_UV4SI as + VREPLACE_UN_USI, VREPLACE_UN_V4SI as VREPLACE_UN_SI, + VREPLACE_UN_UV2DI as VREPLACE_UN_UDI, VREPLACE_UN_V2DI as + VREPLACE_UN_DI, VREPLACE_UN_V4SF as VREPLACE_UN_SF, + VREPLACE_UN_V2DF as VREPLACE_UN_DF. + * config/rs6000/vsx.md (REPLACE_ELT): Rename the mode_iterator + REPLACE_ELT_V for vector modes. + (REPLACE_ELT): New scalar mode iterator. + (REPLACE_ELT_char): Add scalar attributes. + (vreplace_un_): Change iterator and mode attribute. + +2023-07-26 David Malcolm + + PR analyzer/104940 + * Makefile.in (ANALYZER_OBJS): Add analyzer/symbol.o. + +2023-07-26 Richard Biener + + PR tree-optimization/106081 + * tree-vect-slp.cc (vect_optimize_slp_pass::start_choosing_layouts): + Assign layout -1 to splats. + +2023-07-26 Aldy Hernandez + + * range-op-mixed.h (class operator_cast): Add update_bitmask. + * range-op.cc (operator_cast::update_bitmask): New. + (operator_cast::fold_range): Call update_bitmask. + +2023-07-26 Li Xu + + * config/riscv/riscv-vector-builtins.def (vfloat16mf4x2_t): Change + scalar type to float16, eliminate warning. + (vfloat16mf4x3_t): Ditto. + (vfloat16mf4x4_t): Ditto. + (vfloat16mf4x5_t): Ditto. + (vfloat16mf4x6_t): Ditto. + (vfloat16mf4x7_t): Ditto. + (vfloat16mf4x8_t): Ditto. + (vfloat16mf2x2_t): Ditto. + (vfloat16mf2x3_t): Ditto. + (vfloat16mf2x4_t): Ditto. + (vfloat16mf2x5_t): Ditto. + (vfloat16mf2x6_t): Ditto. + (vfloat16mf2x7_t): Ditto. + (vfloat16mf2x8_t): Ditto. + (vfloat16m1x2_t): Ditto. + (vfloat16m1x3_t): Ditto. + (vfloat16m1x4_t): Ditto. + (vfloat16m1x5_t): Ditto. + (vfloat16m1x6_t): Ditto. + (vfloat16m1x7_t): Ditto. + (vfloat16m1x8_t): Ditto. + (vfloat16m2x2_t): Ditto. + (vfloat16m2x3_t): Ditto. + (vfloat16m2x4_t): Ditto. + (vfloat16m4x2_t): Ditto. + * config/riscv/vector-iterators.md: add RVVM4x2DF in iterator V4T. + * config/riscv/vector.md: add tuple mode in attr sew. + +2023-07-26 Uros Bizjak + + PR target/110762 + * config/i386/i386.md (plusminusmult): New code iterator. + * config/i386/mmx.md (mmxdoublevecmode): New mode attribute. + (movq__to_sse): New expander. + (v2sf3): Macroize expander from addv2sf3, + subv2sf3 and mulv2sf3 using plusminusmult code iterator. Rewrite + as a wrapper around V4SFmode operation. + (mmx_addv2sf3): Change operand 1 and operand 2 predicates to + nonimmediate_operand. + (*mmx_addv2sf3): Remove SSE alternatives. Change operand 1 and + operand 2 predicates to nonimmediate_operand. + (mmx_subv2sf3): Change operand 2 predicate to nonimmediate_operand. + (mmx_subrv2sf3): Change operand 1 predicate to nonimmediate_operand. + (*mmx_subv2sf3): Remove SSE alternatives. Change operand 1 and + operand 2 predicates to nonimmediate_operand. + (mmx_mulv2sf3): Change operand 1 and operand 2 predicates to + nonimmediate_operand. + (*mmx_mulv2sf3): Remove SSE alternatives. Change operand 1 and + operand 2 predicates to nonimmediate_operand. + (divv2sf3): Rewrite as a wrapper around V4SFmode operation. + (v2sf3): Ditto. + (mmx_v2sf3): Change operand 1 and operand 2 + predicates to nonimmediate_operand. + (*mmx_v2sf3): Remove SSE alternatives. Change + operand 1 and operand 2 predicates to nonimmediate_operand. + (mmx_ieee_v2sf3): Ditto. + (sqrtv2sf2): Rewrite as a wrapper around V4SFmode operation. + (*mmx_haddv2sf3_low): Ditto. + (*mmx_hsubv2sf3_low): Ditto. + (vec_addsubv2sf3): Ditto. + (*mmx_maskcmpv2sf3_comm): Remove. + (*mmx_maskcmpv2sf3): Remove. + (vec_cmpv2sfv2si): Rewrite as a wrapper around V4SFmode operation. + (vcondv2sf): Ditto. + (fmav2sf4): Ditto. + (fmsv2sf4): Ditto. + (fnmav2sf4): Ditto. + (fnmsv2sf4): Ditto. + (fix_truncv2sfv2si2): Ditto. + (fixuns_truncv2sfv2si2): Ditto. + (mmx_fix_truncv2sfv2si2): Remove SSE alternatives. + Change operand 1 predicate to nonimmediate_operand. + (floatv2siv2sf2): Rewrite as a wrapper around V4SFmode operation. + (floatunsv2siv2sf2): Ditto. + (mmx_floatv2siv2sf2): Remove SSE alternatives. + Change operand 1 predicate to nonimmediate_operand. + (nearbyintv2sf2): Rewrite as a wrapper around V4SFmode operation. + (rintv2sf2): Ditto. + (lrintv2sfv2si2): Ditto. + (ceilv2sf2): Ditto. + (lceilv2sfv2si2): Ditto. + (floorv2sf2): Ditto. + (lfloorv2sfv2si2): Ditto. + (btruncv2sf2): Ditto. + (roundv2sf2): Ditto. + (lroundv2sfv2si2): Ditto. + (*mmx_roundv2sf2): Remove. + +2023-07-26 Jose E. Marchesi + + * config/bpf/bpf.md: Fix neg{SI,DI}2 insn. + +2023-07-26 Richard Biener + + PR tree-optimization/110799 + * tree-ssa-pre.cc (compute_avail): More thoroughly match + up TBAA behavior of redundant loads. + +2023-07-26 Jakub Jelinek + + PR tree-optimization/110755 + * range-op-float.cc (frange_arithmetic): Change +0 result to -0 + for PLUS_EXPR or MINUS_EXPR if -frounding-math, inf is negative and + it is exact op1 + (-op1) or op1 - op1. + +2023-07-26 Kewen Lin + + PR target/110741 + * config/rs6000/vsx.md (define_insn xxeval): Correct vsx + operands output with "x". + +2023-07-26 Aldy Hernandez + + * range-op.cc (class operator_absu): Add update_bitmask. + (operator_absu::update_bitmask): New. + +2023-07-26 Aldy Hernandez + + * range-op-mixed.h (class operator_abs): Add update_bitmask. + * range-op.cc (operator_abs::update_bitmask): New. + +2023-07-26 Aldy Hernandez + + * range-op-mixed.h (class operator_bitwise_not): Add update_bitmask. + * range-op.cc (operator_bitwise_not::update_bitmask): New. + +2023-07-26 Aldy Hernandez + + * range-op.cc (update_known_bitmask): Handle unary operators. + +2023-07-26 Aldy Hernandez + + * tree-ssa-ccp.cc (bit_value_unop): Initialize val when appropriate. + +2023-07-26 Jin Ma + + * config/riscv/riscv.md: Likewise. + +2023-07-26 Jan Hubicka + + * profile-count.cc (profile_count::to_sreal_scale): Value is not know + if we divide by zero. + +2023-07-25 David Faust + + * config/bpf/bpf.cc (bpf_print_operand_address): Don't print + enclosing parentheses for pseudo-C dialect. + * config/bpf/bpf.md (zero_exdendhidi2): Add parentheses around + operands of pseudo-C dialect output templates where needed. + (zero_extendqidi2): Likewise. + (zero_extendsidi2): Likewise. + (*mov): Likewise. + +2023-07-25 Aldy Hernandez + + * tree-ssa-ccp.cc (value_mask_to_min_max): Make static. + (bit_value_mult_const): Same. + (get_individual_bits): Same. + +2023-07-25 Haochen Gui + + PR target/103605 + * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Gimple + fold RS6000_BIF_XSMINDP and RS6000_BIF_XSMAXDP when fast-math is set. + * config/rs6000/rs6000.md (FMINMAX): New int iterator. + (minmax_op): New int attribute. + (UNSPEC_FMAX, UNSPEC_FMIN): New unspecs. + (f3): New pattern by UNSPEC_FMAX and UNSPEC_FMIN. + * config/rs6000/rs6000-builtins.def (__builtin_vsx_xsmaxdp): Set + pattern to fmaxdf3. + (__builtin_vsx_xsmindp): Set pattern to fmindf3. + +2023-07-24 David Faust + + * config/bpf/bpf.md (nop): Add pseudo-c asm dialect template. + +2023-07-24 Drew Ross + Jakub Jelinek + + PR middle-end/109986 + * generic-match-head.cc (bitwise_equal_p): New macro. + * gimple-match-head.cc (bitwise_equal_p): New macro. + (gimple_nop_convert): Declare. + (gimple_bitwise_equal_p): Helper for bitwise_equal_p. + * match.pd ((~X | Y) ^ X -> ~(X & Y)): New simplification. + +2023-07-24 Jeff Law + + * common/config/riscv/riscv-common.cc (riscv_subset_list::add): Use + single quote rather than backquote in diagnostic. + +2023-07-24 Jose E. Marchesi + + PR target/110783 + * config/bpf/bpf.opt: New command-line option -msdiv. + * config/bpf/bpf.md: Conditionalize sdiv/smod on bpf_has_sdiv. + * config/bpf/bpf.cc (bpf_option_override): Initialize + bpf_has_sdiv. + * doc/invoke.texi (eBPF Options): Document -msdiv. + +2023-07-24 Jeff Law + + * config/riscv/riscv.cc (riscv_option_override): Spell out + greater than and use cannot in diagnostic string. + +2023-07-24 Richard Biener + + * tree-vectorizer.h (_slp_tree::push_vec_def): Add. + (_slp_tree::vec_stmts): Remove. + (SLP_TREE_VEC_STMTS): Remove. + * tree-vect-slp.cc (_slp_tree::push_vec_def): Define. + (_slp_tree::_slp_tree): Adjust. + (_slp_tree::~_slp_tree): Likewise. + (vect_get_slp_vect_def): Simplify. + (vect_get_slp_defs): Likewise. + (vect_transform_slp_perm_load_1): Adjust. + (vect_add_slp_permutation): Likewise. + (vect_schedule_slp_node): Likewise. + (vectorize_slp_instance_root_stmt): Likewise. + (vect_schedule_scc): Likewise. + * tree-vect-stmts.cc (vectorizable_bswap): Use push_vec_def. + (vectorizable_call): Likewise. + (vectorizable_call): Likewise. + (vect_create_vectorized_demotion_stmts): Likewise. + (vectorizable_conversion): Likewise. + (vectorizable_assignment): Likewise. + (vectorizable_shift): Likewise. + (vectorizable_operation): Likewise. + (vectorizable_load): Likewise. + (vectorizable_condition): Likewise. + (vectorizable_comparison): Likewise. + * tree-vect-loop.cc (vect_create_epilog_for_reduction): Adjust. + (vectorize_fold_left_reduction): Use push_vec_def. + (vect_transform_reduction): Likewise. + (vect_transform_cycle_phi): Likewise. + (vectorizable_lc_phi): Likewise. + (vectorizable_phi): Likewise. + (vectorizable_recurr): Likewise. + (vectorizable_induction): Likewise. + (vectorizable_live_operation): Likewise. + +2023-07-24 Richard Biener + + * tree-ssa-loop.cc: Remove unused tree-vectorizer.h include. + +2023-07-24 Richard Biener + + * config/i386/i386-builtins.cc: Remove tree-vectorizer.h include. + * config/i386/i386-expand.cc: Likewise. + * config/i386/i386-features.cc: Likewise. + * config/i386/i386-options.cc: Likewise. + +2023-07-24 Robin Dapp + + * tree-vect-stmts.cc (vectorizable_conversion): Handle + more demotion/promotion for modifier == NONE. + +2023-07-24 Roger Sayle + + PR target/110787 + PR target/110790 + Revert patch. + * config/i386/i386.md (extv): Use QImode for offsets. + (extzv): Likewise. + (insv): Likewise. + (*testqi_ext_3): Likewise. + (*btr_2): Likewise. + (define_split): Likewise. + (*btsq_imm): Likewise. + (*btrq_imm): Likewise. + (*btcq_imm): Likewise. + (define_peephole2 x3): Likewise. + (*bt): Likewise + (*bt_mask): New define_insn_and_split. + (*jcc_bt): Use QImode for offsets. + (*jcc_bt_1): Delete obsolete pattern. + (*jcc_bt_mask): Use QImode offsets. + (*jcc_bt_mask_1): Likewise. + (define_split): Likewise. + (*bt_setcqi): Likewise. + (*bt_setncqi): Likewise. + (*bt_setnc): Likewise. + (*bt_setncqi_2): Likewise. + (*bt_setc_mask): New define_insn_and_split. + (bmi2_bzhi_3): Use QImode offsets. + (*bmi2_bzhi_3): Likewise. + (*bmi2_bzhi_3_1): Likewise. + (*bmi2_bzhi_3_1_ccz): Likewise. + (@tbm_bextri_): Likewise. + +2023-07-24 Jose E. Marchesi + + * config/bpf/bpf-opts.h (enum bpf_kernel_version): Remove enum. + * config/bpf/bpf.opt (mkernel): Remove option. + * config/bpf/bpf.cc (bpf_target_macros): Do not define + BPF_KERNEL_VERSION_CODE. + +2023-07-24 Jose E. Marchesi + + PR target/110786 + * config/bpf/bpf.opt (mcpu): Add ISA_V4 and make it the default. + (mbswap): New option. + * config/bpf/bpf-opts.h (enum bpf_isa_version): New value ISA_V4. + * config/bpf/bpf.cc (bpf_option_override): Set bpf_has_bswap. + * config/bpf/bpf.md: Use bswap instructions if available for + bswap* insn, and fix constraint. + * doc/invoke.texi (eBPF Options): Document -mcpu=v4 and -mbswap. + +2023-07-24 Juzhe-Zhong + + * config/riscv/autovec.md (fold_left_plus_): New pattern. + (mask_len_fold_left_plus_): Ditto. + * config/riscv/riscv-protos.h (enum insn_type): New enum. + (enum reduction_type): Ditto. + (expand_reduction): Add in-order reduction. + * config/riscv/riscv-v.cc (emit_nonvlmax_fp_reduction_insn): New function. + (expand_reduction): Add in-order reduction. + +2023-07-24 Ju-Zhe Zhong + + * tree-vect-loop.cc (get_masked_reduction_fn): Add mask_len_fold_left_plus. + (vectorize_fold_left_reduction): Ditto. + (vectorizable_reduction): Ditto. + (vect_transform_reduction): Ditto. + +2023-07-24 Richard Biener + + PR tree-optimization/110777 + * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_avail): + Avoid propagating abnormals. + +2023-07-24 Richard Biener + + PR tree-optimization/110766 + * tree-scalar-evolution.cc + (analyze_and_compute_bitwise_induction_effect): Check the PHI + is defined in the loop header. + +2023-07-24 Kewen Lin + + PR tree-optimization/110740 + * tree-vect-loop.cc (vect_analyze_loop_costing): Do not vectorize a + loop with a single scalar iteration. + +2023-07-24 Pan Li + + * config/riscv/riscv-vector-builtins-shapes.cc + (struct alu_frm_def): Take range check. + +2023-07-22 Vineet Gupta + + PR target/110748 + * config/riscv/predicates.md (const_0_operand): Add back + const_double. + +2023-07-22 Roger Sayle + + * config/i386/i386-expand.cc (ix86_expand_move): Disable the + 64-bit insertions into TImode optimizations with -O0, unless + the function has the "naked" attribute (for PR target/110533). + +2023-07-22 Andrew Pinski + + PR target/110778 + * rtl.h (extended_count): Change last argument type + to bool. + +2023-07-22 Roger Sayle + + * config/i386/i386.md (extv): Use QImode for offsets. + (extzv): Likewise. + (insv): Likewise. + (*testqi_ext_3): Likewise. + (*btr_2): Likewise. + (define_split): Likewise. + (*btsq_imm): Likewise. + (*btrq_imm): Likewise. + (*btcq_imm): Likewise. + (define_peephole2 x3): Likewise. + (*bt): Likewise + (*bt_mask): New define_insn_and_split. + (*jcc_bt): Use QImode for offsets. + (*jcc_bt_1): Delete obsolete pattern. + (*jcc_bt_mask): Use QImode offsets. + (*jcc_bt_mask_1): Likewise. + (define_split): Likewise. + (*bt_setcqi): Likewise. + (*bt_setncqi): Likewise. + (*bt_setnc): Likewise. + (*bt_setncqi_2): Likewise. + (*bt_setc_mask): New define_insn_and_split. + (bmi2_bzhi_3): Use QImode offsets. + (*bmi2_bzhi_3): Likewise. + (*bmi2_bzhi_3_1): Likewise. + (*bmi2_bzhi_3_1_ccz): Likewise. + (@tbm_bextri_): Likewise. + +2023-07-22 Jeff Law + + * config/bfin/bfin.md (ones): Fix length computation. + +2023-07-22 Vladimir N. Makarov + + * lra-eliminations.cc (update_reg_eliminate): Fix the assert. + (lra_update_fp2sp_elimination): Use HARD_FRAME_POINTER_REGNUM + instead of FRAME_POINTER_REGNUM to spill pseudos. + +2023-07-21 Roger Sayle + Richard Biener + + PR c/110699 + * gimplify.cc (gimplify_compound_lval): If the array's type + is error_mark_node then return GS_ERROR. + +2023-07-21 Cupertino Miranda + + PR target/110770 + * config/bpf/bpf.opt: Added option -masm=. + * config/bpf/bpf-opts.h (enum bpf_asm_dialect): New type. + * config/bpf/bpf.cc (bpf_print_register): New function. + (bpf_print_register): Support pseudo-c syntax for registers. + (bpf_print_operand_address): Likewise. + * config/bpf/bpf.h (ASM_SPEC): handle -msasm. + (ASSEMBLER_DIALECT): Define. + * config/bpf/bpf.md: Added pseudo-c templates. + * doc/invoke.texi (-masm=): New eBPF option item. + +2023-07-21 Cupertino Miranda + + * config/bpf/bpf.md: fixed template for neg instruction. + +2023-07-21 Jan Hubicka + + PR target/110727 + * tree-vect-loop.cc (scale_profile_for_vect_loop): Avoid scaling flat + profiles by vectorization factor. + (vect_transform_loop): Check for flat profiles. + +2023-07-21 Jan Hubicka + + * cfgloop.h (maybe_flat_loop_profile): Declare + * cfgloopanal.cc (maybe_flat_loop_profile): New function. + * tree-cfg.cc (print_loop_info): Print info about flat profiles. + +2023-07-21 Jan Hubicka + + * cfgloop.cc (get_estimated_loop_iterations): Use sreal::to_nearest_int + * cfgloopanal.cc (expected_loop_iterations_unbounded): Likewise. + * predict.cc (estimate_bb_frequencies): Likewise. + * profile.cc (branch_prob): Likewise. + * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Likewise + +2023-07-21 Iain Sandoe + + * config.in: Regenerate. + * config/darwin.h (DARWIN_LD_DEMANGLE): New. + (LINK_COMMAND_SPEC_A): Add demangle handling. + * configure: Regenerate. + * configure.ac: Detect linker support for '-demangle'. + +2023-07-21 Jan Hubicka + + * sreal.cc (sreal::to_nearest_int): New. + (sreal_verify_basics): Verify also to_nearest_int. + (verify_aritmetics): Likewise. + (sreal_verify_conversions): New. + (sreal_cc_tests): Call sreal_verify_conversions. + * sreal.h: (sreal::to_nearest_int): Declare + +2023-07-21 Jan Hubicka + + * tree-ssa-loop-ch.cc (enum ch_decision): New enum. + (should_duplicate_loop_header_p): Return info on profitability. + (do_while_loop_p): Watch for constant conditionals. + (update_profile_after_ch): Do not sanity check that all + static exits are taken. + (ch_base::copy_headers): Run on all loops. + (pass_ch::process_loop_p): Improve heuristics by handling also + do_while loop and duplicating shortest sequence containing all + winning blocks. + +2023-07-21 Jan Hubicka + + * tree-ssa-loop-niter.cc (finite_loop_p): Reorder to do cheap + tests first; update finite_p flag. + +2023-07-21 Jan Hubicka + + * cfgloop.cc (flow_loop_dump): Use print_loop_info. + * cfgloop.h (print_loop_info): Declare. + * tree-cfg.cc (print_loop_info): Break out from ...; add + printing of missing fields and profile + (print_loop): ... here. + +2023-07-21 Juzhe-Zhong + + * config/riscv/riscv-v.cc (expand_gather_scatter): Remove redundant variables. + +2023-07-21 Juzhe-Zhong + + * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Change condition order. + (vectorizable_operation): Ditto. + +2023-07-21 Juzhe-Zhong + + * config/riscv/autovec.md: Align order of mask and len. + * config/riscv/riscv-v.cc (expand_load_store): Ditto. + (expand_gather_scatter): Ditto. + * doc/md.texi: Ditto. + * internal-fn.cc (add_len_and_mask_args): Ditto. + (add_mask_and_len_args): Ditto. + (expand_partial_load_optab_fn): Ditto. + (expand_partial_store_optab_fn): Ditto. + (expand_scatter_store_optab_fn): Ditto. + (expand_gather_load_optab_fn): Ditto. + (internal_fn_len_index): Ditto. + (internal_fn_mask_index): Ditto. + (internal_len_load_store_bias): Ditto. + * tree-vect-stmts.cc (vectorizable_store): Ditto. + (vectorizable_load): Ditto. + +2023-07-21 Juzhe-Zhong + + * config/riscv/autovec.md (len_maskload): Change LEN_MASK into MASK_LEN. + (mask_len_load): Ditto. + (len_maskstore): Ditto. + (mask_len_store): Ditto. + (len_mask_gather_load): Ditto. + (mask_len_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (mask_len_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (mask_len_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (mask_len_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (mask_len_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (mask_len_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (mask_len_gather_load): Ditto. + (len_mask_scatter_store): Ditto. + (mask_len_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (mask_len_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (mask_len_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (mask_len_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (mask_len_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (mask_len_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (mask_len_scatter_store): Ditto. + * doc/md.texi: Ditto. + * genopinit.cc (main): Ditto. + (CMP_NAME): Ditto. Ditto. + * gimple-fold.cc (arith_overflowed_p): Ditto. + (gimple_fold_partial_load_store_mem_ref): Ditto. + (gimple_fold_call): Ditto. + * internal-fn.cc (len_maskload_direct): Ditto. + (mask_len_load_direct): Ditto. + (len_maskstore_direct): Ditto. + (mask_len_store_direct): Ditto. + (expand_call_mem_ref): Ditto. + (expand_len_maskload_optab_fn): Ditto. + (expand_mask_len_load_optab_fn): Ditto. + (expand_len_maskstore_optab_fn): Ditto. + (expand_mask_len_store_optab_fn): Ditto. + (direct_len_maskload_optab_supported_p): Ditto. + (direct_mask_len_load_optab_supported_p): Ditto. + (direct_len_maskstore_optab_supported_p): Ditto. + (direct_mask_len_store_optab_supported_p): Ditto. + (internal_load_fn_p): Ditto. + (internal_store_fn_p): Ditto. + (internal_gather_scatter_fn_p): Ditto. + (internal_fn_len_index): Ditto. + (internal_fn_mask_index): Ditto. + (internal_fn_stored_value_index): Ditto. + (internal_len_load_store_bias): Ditto. + * internal-fn.def (LEN_MASK_GATHER_LOAD): Ditto. + (MASK_LEN_GATHER_LOAD): Ditto. + (LEN_MASK_LOAD): Ditto. + (MASK_LEN_LOAD): Ditto. + (LEN_MASK_SCATTER_STORE): Ditto. + (MASK_LEN_SCATTER_STORE): Ditto. + (LEN_MASK_STORE): Ditto. + (MASK_LEN_STORE): Ditto. + * optabs-query.cc (supports_vec_gather_load_p): Ditto. + (supports_vec_scatter_store_p): Ditto. + * optabs-tree.cc (target_supports_mask_load_store_p): Ditto. + (target_supports_len_load_store_p): Ditto. + * optabs.def (OPTAB_CD): Ditto. + * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Ditto. + (call_may_clobber_ref_p_1): Ditto. + * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Ditto. + (dse_optimize_stmt): Ditto. + * tree-ssa-loop-ivopts.cc (get_mem_type_for_internal_fn): Ditto. + (get_alias_ptr_type_for_ptr_address): Ditto. + * tree-vect-data-refs.cc (vect_gather_scatter_fn_p): Ditto. + * tree-vect-patterns.cc (vect_recog_gather_scatter_pattern): Ditto. + * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Ditto. + (vect_get_strided_load_store_ops): Ditto. + (vectorizable_store): Ditto. + (vectorizable_load): Ditto. + +2023-07-21 Haochen Jiang + + * config/i386/i386.opt: Fix a typo. + +2023-07-21 Richard Biener + + PR tree-optimization/88540 + * tree-ssa-phiopt.cc (minmax_replacement): Do not give up + with NaNs but handle the simple case by if-converting to a + COND_EXPR. + +2023-07-21 Andrew Pinski + + * match.pd (minmax,a>->minmax): New + transformation. + +2023-07-21 Richard Biener + + PR tree-optimization/110742 + * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout): + Do not materialize an edge permutation in an external node with + vector defs. + (vect_slp_analyze_node_operations_1): Guard purely internal + nodes better. + +2023-07-21 Jan Hubicka + + * cfgloop.cc: Include sreal.h. + (flow_loop_dump): Dump sreal iteration exsitmate. + (get_estimated_loop_iterations): Update. + * cfgloop.h (expected_loop_iterations_by_profile): Declare. + * cfgloopanal.cc (expected_loop_iterations_by_profile): New function. + (expected_loop_iterations_unbounded): Use new API. + * cfgloopmanip.cc (scale_loop_profile): Use + expected_loop_iterations_by_profile + * predict.cc (pass_profile::execute): Likewise. + * profile.cc (branch_prob): Likewise. + * tree-ssa-loop-niter.cc: Include sreal.h. + (estimate_numbers_of_iterations): Likewise + +2023-07-21 Kewen Lin + + PR tree-optimization/110744 + * tree-ssa-sccvn.cc (vn_reference_lookup_3): Correct the index of bias + operand for ifn IFN_LEN_STORE. + +2023-07-21 liuhongt + + PR target/89701 + * common.opt: (fcf-protection=): Add EnumSet attribute to + support combination of params. + +2023-07-21 David Malcolm + + PR middle-end/110612 + * text-art/table.cc (table_geometry::table_geometry): Drop m_table + field. + (table_geometry::table_x_to_canvas_x): Add cast to comparison. + (table_geometry::table_y_to_canvas_y): Likewise. + * text-art/table.h (table_geometry::m_table): Drop unused field. + * text-art/widget.h (wrapper_widget::update_child_alloc_rects): + Add "override". + +2023-07-20 Uros Bizjak + + PR target/110717 + * config/i386/i386-features.cc + (general_scalar_chain::compute_convert_gain): Calculate gain + for extend higpart case. + (general_scalar_chain::convert_op): Handle + ASHIFTRT/ASHIFT combined RTX. + (general_scalar_to_vector_candidate_p): Enable ASHIFTRT for + SImode for SSE2 targets. Handle ASHIFTRT/ASHIFT combined RTX. + * config/i386/i386.md (*extend2_doubleword_highpart): + New define_insn_and_split pattern. + (*extendv2di2_highpart_stv): Ditto. + +2023-07-20 Vladimir N. Makarov + + * lra-constraints.cc (simplify_operand_subreg): Check frame pointer + simplification. + +2023-07-20 Andrew Pinski + + * combine.cc (dump_combine_stats): Remove. + (dump_combine_total_stats): Remove. + (total_attempts, total_merges, total_extras, + total_successes): Remove. + (combine_instructions): Don't increment total stats + instead use statistics_counter_event. + * dumpfile.cc (print_combine_total_stats): Remove. + * dumpfile.h (print_combine_total_stats): Remove. + (dump_combine_total_stats): Remove. + * passes.cc (finish_optimization_passes): + Don't call print_combine_total_stats. + * rtl.h (dump_combine_total_stats): Remove. + (dump_combine_stats): Remove. + +2023-07-20 Jan Hubicka + + * tree-ssa-loop-ch.cc (should_duplicate_loop_header_p): Use BIT instead of TRUTH + logical ops. + +2023-07-20 Martin Jambor + + * doc/invoke.texi (analyzer-text-art-string-ellipsis-threshold): New. + (analyzer-text-art-ideal-canvas-width): Likewise. + (analyzer-text-art-string-ellipsis-head-len): Likewise. + (analyzer-text-art-string-ellipsis-tail-len): Likewise. + +2023-07-20 Ju-Zhe Zhong + + * tree-vect-stmts.cc (check_load_store_for_partial_vectors): + Refine code structure. + +2023-07-20 Jan Hubicka + + * tree-ssa-loop-ch.cc (edge_range_query): Rename to ... + (get_range_query): ... this one; do + (static_loop_exit): Add query parametr, turn ranger to reference. + (loop_static_stmt_p): New function. + (loop_static_op_p): New function. + (loop_iv_derived_p): Remove. + (loop_combined_static_and_iv_p): New function. + (should_duplicate_loop_header_p): Discover combined onditionals; + do not track iv derived; improve dumps. + (pass_ch::execute): Fix whitespace. + +2023-07-20 Richard Biener + + PR tree-optimization/110204 + * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_avail): + Look through copies generated by PRE. + +2023-07-20 Matthew Malcomson + + * tree-vect-stmts.cc (get_group_load_store_type): Account for + `gap` when checking if need to peel twice. + +2023-07-20 Francois-Xavier Coudert + + PR middle-end/77928 + * doc/extend.texi: Document iseqsig builtin. + * builtins.cc (fold_builtin_iseqsig): New function. + (fold_builtin_2): Handle BUILT_IN_ISEQSIG. + (is_inexpensive_builtin): Handle BUILT_IN_ISEQSIG. + * builtins.def (BUILT_IN_ISEQSIG): New built-in. + +2023-07-20 Pan Li + + * config/riscv/vector.md: Fix incorrect match_operand. + +2023-07-20 Roger Sayle + + * config/i386/i386-expand.cc (ix86_expand_move): Don't call + force_reg, to use SUBREG rather than create a new pseudo when + inserting DFmode fields into TImode with insvti_{high,low}part. + * config/i386/i386.md (*concat3_3): Split into two + define_insn_and_split... + (*concatditi3_3): 64-bit implementation. Provide alternative + that allows register allocation to use SSE registers that is + split into vec_concatv2di after reload. + (*concatsidi3_3): 32-bit implementation. + +2023-07-20 Richard Biener + + PR middle-end/61747 + * internal-fn.cc (expand_vec_cond_optab_fn): When the + value operands are equal to the original comparison operands + preserve that equality by re-using the comparison expansion. + * optabs.cc (emit_conditional_move): When the value operands + are equal to the comparison operands and would be forced to + a register by prepare_cmp_insn do so earlier, preserving the + equality. + +2023-07-20 Pan Li + + * config/riscv/vector.md: Align pattern format. + +2023-07-20 Haochen Jiang + + * doc/invoke.texi: Remove AVX512VP2INTERSECT in + Granite Rapids{, D} from documentation. + +2023-07-20 Juzhe-Zhong + + * config/riscv/autovec.md + (len_mask_gather_load): + Refactor RVV machine modes. + (len_mask_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Ditto. + (ADJUST_NUNITS): Ditto. + (ADJUST_ALIGNMENT): Ditto. + (ADJUST_BYTESIZE): Ditto. + (ADJUST_PRECISION): Ditto. + (RVV_MODES): Ditto. + (RVV_WHOLE_MODES): Ditto. + (RVV_FRACT_MODE): Ditto. + (RVV_NF8_MODES): Ditto. + (RVV_NF4_MODES): Ditto. + (VECTOR_MODES_WITH_PREFIX): Ditto. + (VECTOR_MODE_WITH_PREFIX): Ditto. + (RVV_TUPLE_MODES): Ditto. + (RVV_NF2_MODES): Ditto. + (RVV_TUPLE_PARTIAL_MODES): Ditto. + * config/riscv/riscv-v.cc (struct mode_vtype_group): Ditto. + (ENTRY): Ditto. + (TUPLE_ENTRY): Ditto. + (get_vlmul): Ditto. + (get_nf): Ditto. + (get_ratio): Ditto. + (preferred_simd_mode): Ditto. + (autovectorize_vector_modes): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Ditto. + * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Ditto. + (vbool64_t): Ditto. + (vbool32_t): Ditto. + (vbool16_t): Ditto. + (vbool8_t): Ditto. + (vbool4_t): Ditto. + (vbool2_t): Ditto. + (vbool1_t): Ditto. + (vint8mf8_t): Ditto. + (vuint8mf8_t): Ditto. + (vint8mf4_t): Ditto. + (vuint8mf4_t): Ditto. + (vint8mf2_t): Ditto. + (vuint8mf2_t): Ditto. + (vint8m1_t): Ditto. + (vuint8m1_t): Ditto. + (vint8m2_t): Ditto. + (vuint8m2_t): Ditto. + (vint8m4_t): Ditto. + (vuint8m4_t): Ditto. + (vint8m8_t): Ditto. + (vuint8m8_t): Ditto. + (vint16mf4_t): Ditto. + (vuint16mf4_t): Ditto. + (vint16mf2_t): Ditto. + (vuint16mf2_t): Ditto. + (vint16m1_t): Ditto. + (vuint16m1_t): Ditto. + (vint16m2_t): Ditto. + (vuint16m2_t): Ditto. + (vint16m4_t): Ditto. + (vuint16m4_t): Ditto. + (vint16m8_t): Ditto. + (vuint16m8_t): Ditto. + (vint32mf2_t): Ditto. + (vuint32mf2_t): Ditto. + (vint32m1_t): Ditto. + (vuint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vuint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vuint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vuint32m8_t): Ditto. + (vint64m1_t): Ditto. + (vuint64m1_t): Ditto. + (vint64m2_t): Ditto. + (vuint64m2_t): Ditto. + (vint64m4_t): Ditto. + (vuint64m4_t): Ditto. + (vint64m8_t): Ditto. + (vuint64m8_t): Ditto. + (vfloat16mf4_t): Ditto. + (vfloat16mf2_t): Ditto. + (vfloat16m1_t): Ditto. + (vfloat16m2_t): Ditto. + (vfloat16m4_t): Ditto. + (vfloat16m8_t): Ditto. + (vfloat32mf2_t): Ditto. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat32m8_t): Ditto. + (vfloat64m1_t): Ditto. + (vfloat64m2_t): Ditto. + (vfloat64m4_t): Ditto. + (vfloat64m8_t): Ditto. + * config/riscv/riscv-vector-switch.def (ENTRY): Ditto. + (TUPLE_ENTRY): Ditto. + * config/riscv/riscv-vsetvl.cc (change_insn): Ditto. + * config/riscv/riscv.cc (riscv_valid_lo_sum_p): Ditto. + (riscv_v_adjust_nunits): Ditto. + (riscv_v_adjust_bytesize): Ditto. + (riscv_v_adjust_precision): Ditto. + (riscv_convert_vector_bits): Ditto. + * config/riscv/riscv.h (riscv_v_adjust_nunits): Ditto. + * config/riscv/riscv.md: Ditto. + * config/riscv/vector-iterators.md: Ditto. + * config/riscv/vector.md + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + +2023-07-19 Vladimir N. Makarov + + * lra-int.h (lra_update_fp2sp_elimination): New prototype. + (lra_asm_insn_error): New prototype. + * lra-spills.cc (remove_pseudos): Add check for pseudo slot memory + existence. + (lra_spill): Call lra_update_fp2sp_elimination. + * lra-eliminations.cc: Remove trailing spaces. + (elimination_fp2sp_occured_p): New static flag. + (lra_eliminate_regs_1): Set the flag up. + (update_reg_eliminate): Modify the assert for stack to frame + pointer elimination. + (lra_update_fp2sp_elimination): New function. + (lra_eliminate): Clear flag elimination_fp2sp_occured_p. + +2023-07-19 Andrew Carlotti + + * config/aarch64/aarch64.h (TARGET_MEMTAG): Remove armv8.5 + dependency. + * config/aarch64/arm_acle.h: Remove unnecessary armv8.x + dependencies from target pragmas. + * config/aarch64/arm_fp16.h (target): Likewise. + * config/aarch64/arm_neon.h (target): Likewise. + +2023-07-19 Andrew Pinski + + PR tree-optimization/110252 + * tree-ssa-phiopt.cc (class auto_flow_sensitive): New class. + (auto_flow_sensitive::auto_flow_sensitive): New constructor. + (auto_flow_sensitive::~auto_flow_sensitive): New deconstructor. + (match_simplify_replacement): Temporarily + remove the flow sensitive info on the two statements that might + be moved. + +2023-07-19 Andrew Pinski + + * gimple-fold.cc (fosa_unwind): Replace `vrange_storage *` + with flow_sensitive_info_storage. + (follow_outer_ssa_edges): Update how to save off the flow + sensitive info. + (maybe_fold_comparisons_from_match_pd): Update restoring + of flow sensitive info. + * tree-ssanames.cc (flow_sensitive_info_storage::save): New method. + (flow_sensitive_info_storage::restore): New method. + (flow_sensitive_info_storage::save_and_clear): New method. + (flow_sensitive_info_storage::clear_storage): New method. + * tree-ssanames.h (class flow_sensitive_info_storage): New class. + +2023-07-19 Andrew Pinski + + PR tree-optimization/110726 + * match.pd ((a|b)&(a==b),a|(a==b),(a&b)|(a==b)): + Add checks to make sure the type was one bit precision + intergal type. + +2023-07-19 Ju-Zhe Zhong + + * doc/md.texi: Add mask_len_fold_left_plus. + * internal-fn.cc (mask_len_fold_left_direct): Ditto. + (expand_mask_len_fold_left_optab_fn): Ditto. + (direct_mask_len_fold_left_optab_supported_p): Ditto. + * internal-fn.def (MASK_LEN_FOLD_LEFT_PLUS): Ditto. + * optabs.def (OPTAB_D): Ditto. + +2023-07-19 Jakub Jelinek + + * tree-switch-conversion.h (class bit_test_cluster): Fix comment typo. + +2023-07-19 Jakub Jelinek + + PR tree-optimization/110731 + * wide-int.cc (wi::divmod_internal): Always unpack dividend and + divisor as UNSIGNED regardless of sgn. + +2023-07-19 Lehua Ding + + * common/config/riscv/riscv-common.cc (riscv_supported_std_ext): Init. + (standard_extensions_p): Add check. + (riscv_subset_list::add): Just return NULL if it failed before. + (riscv_subset_list::parse_std_ext): Continue parse when find a error + (riscv_subset_list::parse): Just return NULL if it failed before. + * config/riscv/riscv-subset.h (class riscv_subset_list): Add field. + +2023-07-19 Jan Beulich + + * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): + Use gen_vec_set_0. + (ix86_expand_vector_extract): Use gen_vec_extract_lo / + gen_vec_extract_hi. + (expand_vec_perm_broadcast_1): Use gen_vec_interleave_high / + gen_vec_interleave_low. Rename local variable. + +2023-07-19 Jan Beulich + + * config/i386/sse.md (vec_dupv2df): Add new AVX512F + alternative. Move AVX512VL part of condition to new "enabled" + attribute. + +2023-07-19 liuhongt + + PR target/109504 + * config/i386/i386-builtins.cc + (ix86_register_float16_builtin_type): Remove TARGET_SSE2. + (ix86_register_bf16_builtin_type): Ditto. + * config/i386/i386-c.cc (ix86_target_macros): When TARGET_SSE2 + isn't available, undef the macros which are used to check the + backend support of the _Float16/__bf16 types when building + libstdc++ and libgcc. + * config/i386/i386.cc (construct_container): Issue errors for + HFmode/BFmode when TARGET_SSE2 is not available. + (function_value_32): Ditto. + (ix86_scalar_mode_supported_p): Remove TARGET_SSE2 for HFmode/BFmode. + (ix86_libgcc_floating_mode_supported_p): Ditto. + (ix86_emit_support_tinfos): Adjust codes. + (ix86_invalid_conversion): Return diagnostic message string + when there's conversion from/to BF/HFmode w/o TARGET_SSE2. + (ix86_invalid_unary_op): New function. + (ix86_invalid_binary_op): Ditto. + (TARGET_INVALID_UNARY_OP): Define. + (TARGET_INVALID_BINARY_OP): Define. + * config/i386/immintrin.h [__SSE2__]: Remove for fp16/bf16 + related instrinsics header files. + * config/i386/i386.h (VALID_SSE2_TYPE_MODE): New macro. + +2023-07-18 Uros Bizjak + + * dwarf2asm.cc: Change FALSE to false. + * dwarf2cfi.cc (execute_dwarf2_frame): Change return type to void. + * dwarf2out.cc (matches_main_base): Change return type from + int to bool. Change "last_match" variable to bool. + (dump_struct_debug): Change return type from int to bool. + Change "matches" and "result" function arguments to bool. + (is_pseudo_reg): Change return type from int to bool. + (is_tagged_type): Ditto. + (same_loc_p): Ditto. + (same_dw_val_p): Change return type from int to bool and adjust + function body accordingly. + (same_attr_p): Ditto. + (same_die_p): Ditto. + (is_type_die): Ditto. + (is_declaration_die): Ditto. + (should_move_die_to_comdat): Ditto. + (is_base_type): Ditto. + (is_based_loc): Ditto. + (local_scope_p): Ditto. + (class_scope_p): Ditto. + (class_or_namespace_scope_p): Ditto. + (is_tagged_type): Ditto. + (is_rust): Use void argument. + (is_nested_in_subprogram): Change return type from int to bool. + (contains_subprogram_definition): Ditto. + (gen_struct_or_union_type_die): Change "nested", "complete" + and "ns_decl" variables to bool. + (is_naming_typedef_decl): Change FALSE to false. + +2023-07-18 Jan Hubicka + + * tree-ssa-loop-ch.cc (edge_range_query): Take loop argument; be ready + for queries not in headers. + (static_loop_exit): Add basic blck parameter; update use of + edge_range_query + (should_duplicate_loop_header_p): Add ranger and static_exits + parameter. Do not account statements that will be optimized + out after duplicaiton in overall size. Add ranger query to + find static exits. + (update_profile_after_ch): Take static_exits has set instead of + single eliminated_edge. + (ch_base::copy_headers): Do all analysis in the first pass; + remember invariant_exits and static_exits. + +2023-07-18 Jason Merrill + + * fold-const.cc (native_interpret_aggregate): Skip empty fields. + +2023-07-18 Gaius Mulley + + * doc/gm2.texi (Semantic checking): Change example testwithptr + to testnew6. + +2023-07-18 Richard Biener + + PR middle-end/105715 + * gimple-isel.cc (gimple_expand_vec_exprs): Merge into... + (pass_gimple_isel::execute): ... this. Duplicate + comparison defs of COND_EXPRs. + +2023-07-18 Juzhe-Zhong + + * config/riscv/riscv-selftests.cc (run_poly_int_selftests): Add more selftests. + * config/riscv/riscv.cc (riscv_legitimize_poly_move): Dynamic adjust size of VLA vectors. + (riscv_convert_vector_bits): Ditto. + +2023-07-18 Juzhe-Zhong + + * config/riscv/autovec.md (vec_shl_insert_): New patterns. + * config/riscv/riscv-v.cc (shuffle_compress_patterns): Fix bugs. + +2023-07-18 Juergen Christ + + * config/s390/vx-builtins.md: New vsel pattern. + +2023-07-18 liuhongt + + PR target/110438 + * config/i386/sse.md (one_cmpl2): + Remove # from assemble output. + +2023-07-18 liuhongt + + PR target/110591 + * config/i386/sync.md (cmpccxadd_): Adjust the pattern + to explicitly set FLAGS_REG like *cmp_1, also add extra + 3 define_peephole2 after the pattern. + +2023-07-18 Ju-Zhe Zhong + + * rtl-ssa/internals.inl: Fix when mode1 and mode2 are not ordred. + +2023-07-18 Pan Li + Juzhe-Zhong + + * config/riscv/riscv.cc (struct machine_function): Add new field. + (riscv_static_frm_mode_p): New function. + (riscv_emit_frm_mode_set): New function for emit FRM. + (riscv_emit_mode_set): Extract function for FRM. + (riscv_mode_needed): Fix the TODO. + (riscv_mode_entry): Initial dynamic frm RTL. + (riscv_mode_exit): Return DYN_EXIT. + * config/riscv/riscv.md: Add rdfrm. + * config/riscv/vector-iterators.md (unspecv): Add DYN_EXIT unspecv. + * config/riscv/vector.md (frm_modee): Add new mode dyn_exit. + (fsrm): Removed. + (fsrmsi_backup): New pattern for swap. + (fsrmsi_restore): New pattern for restore. + (fsrmsi_restore_exit): New pattern for restore exit. + (frrmsi): New pattern for backup. + +2023-07-17 Arsen Arsenović + + * doc/extend.texi: Add @cindex on __auto_type. + +2023-07-17 Uros Bizjak + + * combine-stack-adj.cc (stack_memref_p): Change return type from + int to bool and adjust function body accordingly. + (rest_of_handle_stack_adjustments): Change return type to void. + +2023-07-17 Uros Bizjak + + * combine.cc (struct reg_stat_type): Change last_set_invalid to bool. + (cant_combine_insn_p): Change return type from int to bool and adjust + function body accordingly. + (can_combine_p): Ditto. + (combinable_i3pat): Ditto. Change "i1_not_in_src" and "i0_not_in_src" + function arguments from int to bool. + (contains_muldiv): Change return type from int to bool and adjust + function body accordingly. + (try_combine): Ditto. Change "new_direct_jump" pointer function + argument from int to bool. Change "substed_i2", "substed_i1", + "substed_i0", "added_sets_0", "added_sets_1", "added_sets_2", + "i2dest_in_i2src", "i1dest_in_i1src", "i2dest_in_i1src", + "i0dest_in_i0src", "i1dest_in_i0src", "i2dest_in_i0src", + "i2dest_killed", "i1dest_killed", "i0dest_killed", "i1_feeds_i2_n", + "i0_feeds_i2_n", "i0_feeds_i1_n", "i3_subst_into_i2", "have_mult", + "swap_i2i3", "split_i2i3" and "changed_i3_dest" variables + from int to bool. + (subst): Change "in_dest", "in_cond" and "unique_copy" function + arguments from int to bool. + (combine_simplify_rtx): Change "in_dest" and "in_cond" function + arguments from int to bool. + (make_extraction): Change "unsignedp", "in_dest" and "in_compare" + function argument from int to bool. + (force_int_to_mode): Change "just_select" function argument + from int to bool. Change "next_select" variable to bool. + (rtx_equal_for_field_assignment_p): Change return type from + int to bool and adjust function body accordingly. + (merge_outer_ops): Ditto. Change "pcomp_p" pointer function + argument from int to bool. + (get_last_value_validate): Change return type from int to bool + and adjust function body accordingly. + (reg_dead_at_p): Ditto. + (reg_bitfield_target_p): Ditto. + (combine_instructions): Ditto. Change "new_direct_jump" + variable to bool. + (can_combine_p): Change return type from int to bool + and adjust function body accordingly. + (likely_spilled_retval_p): Ditto. + (can_change_dest_mode): Change "added_sets" function argument + from int to bool. + (find_split_point): Change "unsignedp" variable to bool. + (simplify_if_then_else): Change "comparison_p" and "swapped" + variables to bool. + (simplify_set): Change "other_changed" variable to bool. + (expand_compound_operation): Change "unsignedp" variable to bool. + (force_to_mode): Change "just_select" function argument + from int to bool. Change "next_select" variable to bool. + (extended_count): Change "unsignedp" function argument to bool. + (simplify_shift_const_1): Change "complement_p" variable to bool. + (simplify_comparison): Change "changed" variable to bool. + (rest_of_handle_combine): Change return type to void. + +2023-07-17 Andre Vieira + + PR plugins/110610 + * Makefile.in (INTERNAL_FN_H): Add insn-opinit.h. + +2023-07-17 Senthil Kumar Selvaraj + + * ira.cc (setup_reg_class_relations): Continue + if regclass cl3 is hard_reg_set_empty_p. + +2023-07-17 Juzhe-Zhong + + * config/riscv/riscv.cc (riscv_option_override): Add sorry check. + +2023-07-17 Martin Jambor + + * tree-ssa-loop-ivcanon.cc (try_peel_loop): Remove unused variable + entry_count. + +2023-07-17 Aldy Hernandez + + * tree-ssa-ccp.cc (ccp_finalize): Export value/mask known bits. + +2023-07-17 Lehua Ding + + PR target/110696 + * common/config/riscv/riscv-common.cc (riscv_subset_list::handle_implied_ext): + recur add all implied extensions. + (riscv_subset_list::check_implied_ext): Add new method. + (riscv_subset_list::parse): Call checker check_implied_ext. + * config/riscv/riscv-subset.h: Add new method. + +2023-07-17 Juzhe-Zhong + + * config/riscv/autovec.md (reduc_plus_scal_): New pattern. + (reduc_smax_scal_): Ditto. + (reduc_umax_scal_): Ditto. + (reduc_smin_scal_): Ditto. + (reduc_umin_scal_): Ditto. + (reduc_and_scal_): Ditto. + (reduc_ior_scal_): Ditto. + (reduc_xor_scal_): Ditto. + * config/riscv/riscv-protos.h (enum insn_type): Add reduction. + (expand_reduction): New function. + * config/riscv/riscv-v.cc (emit_vlmax_reduction_insn): Ditto. + (emit_vlmax_fp_reduction_insn): Ditto. + (get_m1_mode): Ditto. + (expand_cond_len_binop): Fix name. + (expand_reduction): New function + * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): Fix VSETVL BUG. + (validate_change_or_fail): New function. + (change_insn): Fix VSETVL BUG. + (change_vsetvl_insn): Ditto. + (pass_vsetvl::backward_demand_fusion): Ditto. + (pass_vsetvl::df_post_optimization): Ditto. + +2023-07-17 Aldy Hernandez + + * ipa-prop.cc (ipcp_update_bits): Export value/mask known bits. + +2023-07-17 Christoph Müllner + + * config/riscv/riscv.cc (riscv_regno_ok_for_index_p): + Remove parameter name from declaration of unused parameter. + +2023-07-17 Kewen Lin + + PR tree-optimization/110652 + * tree-vect-stmts.cc (vectorizable_load): Initialize new_temp as + NULL_TREE. + +2023-07-17 Richard Biener + + PR tree-optimization/110669 + * tree-scalar-evolution.cc (analyze_and_compute_bitop_with_inv_effect): + Check we matched a header PHI. + +2023-07-17 Aldy Hernandez + + * tree-ssanames.cc (set_bitmask): New. + * tree-ssanames.h (set_bitmask): New. + +2023-07-17 Aldy Hernandez + + * value-range.cc (irange_bitmask::verify_mask): Mask need not be + normalized. + * value-range.h (irange_bitmask::union_): Normalize beforehand. + (irange_bitmask::intersect): Same. + +2023-07-17 Andrew Pinski + + PR tree-optimization/95923 + * match.pd ((a|b)&(a==b),a|(a==b),(a&b)|(a==b)): New transformation. + +2023-07-17 Roger Sayle + + * tree-if-conv.cc (predicate_scalar_phi): Make the arguments + to the std::sort comparison lambda function const. + +2023-07-17 Andrew Pinski + + PR tree-optimization/110666 + * match.pd (A NEEQ (A NEEQ CST)): Fix Outer EQ case. + +2023-07-17 Mo, Zewei + + * common/config/i386/cpuinfo.h (get_intel_cpu): Handle Lunar Lake, + Arrow Lake and Arrow Lake S. + * common/config/i386/i386-common.cc: + (processor_name): Add arrowlake. + (processor_alias_table): Add arrow lake, arrow lake s and lunar + lake. + * common/config/i386/i386-cpuinfo.h (enum processor_subtypes): + Add INTEL_COREI7_ARROWLAKE and INTEL_COREI7_ARROWLAKE_S. + * config.gcc: Add -march=arrowlake and -march=arrowlake-s. + * config/i386/driver-i386.cc (host_detect_local_cpu): Handle + arrowlake-s. + * config/i386/i386-c.cc (ix86_target_macros_internal): Add + arrowlake. + * config/i386/i386-options.cc (m_ARROWLAKE): New. + (processor_cost_table): Add arrowlake. + * config/i386/i386.h (enum processor_type): + Add PROCESSOR_ARROWLAKE. + * config/i386/x86-tune.def: Add m_ARROWLAKE. + * doc/extend.texi: Add arrowlake and arrowlake-s. + * doc/invoke.texi: Ditto. + +2023-07-17 Haochen Jiang + + * config/i386/sse.md (VI2_AVX2): Delete V32HI since we actually + have the same iterator. Also renaming all the occurence to + VI2_AVX2_AVX512BW. + (usdot_prod): New define_expand. + (udot_prod): Ditto. + +2023-07-17 Haochen Jiang + + * common/config/i386/cpuinfo.h (get_available_features): + Detech SM4. + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_SM4_SET, + OPTION_MASK_ISA2_SM4_UNSET): New. + (OPTION_MASK_ISA2_AVX_UNSET): Add SM4. + (ix86_handle_option): Handle -msm4. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_SM4. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + sm4. + * config.gcc: Add sm4intrin.h. + * config/i386/cpuid.h (bit_SM4): New. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __SM4__. + * config/i386/i386-isa.def (SM4): Add DEF_PTA(SM4). + * config/i386/i386-options.cc (isa2_opts): Add -msm4. + (ix86_valid_target_attribute_inner_p): Handle sm4. + * config/i386/i386.opt: Add option -msm4. + * config/i386/immintrin.h: Include sm4intrin.h + * config/i386/sse.md (vsm4key4_): New define insn. + (vsm4rnds4_): Ditto. + * doc/extend.texi: Document sm4. + * doc/invoke.texi: Document -msm4. + * doc/sourcebuild.texi: Document target sm4. + * config/i386/sm4intrin.h: New file. + +2023-07-17 Haochen Jiang + + * common/config/i386/cpuinfo.h (get_available_features): + Detect SHA512. + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_SHA512_SET, + OPTION_MASK_ISA2_SHA512_UNSET): New. + (OPTION_MASK_ISA2_AVX_UNSET): Add SHA512. + (ix86_handle_option): Handle -msha512. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_SHA512. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + sha512. + * config.gcc: Add sha512intrin.h. + * config/i386/cpuid.h (bit_SHA512): New. + * config/i386/i386-builtin-types.def: + Add DEF_FUNCTION_TYPE (V4DI, V4DI, V4DI, V2DI). + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __SHA512__. + * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle + V4DI_FTYPE_V4DI_V4DI_V2DI and V4DI_FTYPE_V4DI_V2DI. + * config/i386/i386-isa.def (SHA512): Add DEF_PTA(SHA512). + * config/i386/i386-options.cc (isa2_opts): Add -msha512. + (ix86_valid_target_attribute_inner_p): Handle sha512. + * config/i386/i386.opt: Add option -msha512. + * config/i386/immintrin.h: Include sha512intrin.h. + * config/i386/sse.md (vsha512msg1): New define insn. + (vsha512msg2): Ditto. + (vsha512rnds2): Ditto. + * doc/extend.texi: Document sha512. + * doc/invoke.texi: Document -msha512. + * doc/sourcebuild.texi: Document target sha512. + * config/i386/sha512intrin.h: New file. + +2023-07-17 Haochen Jiang + + * common/config/i386/cpuinfo.h (get_available_features): + Detect SM3. + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_SM3_SET, + OPTION_MASK_ISA2_SM3_UNSET): New. + (OPTION_MASK_ISA2_AVX_UNSET): Add SM3. + (ix86_handle_option): Handle -msm3. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_SM3. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + SM3. + * config.gcc: Add sm3intrin.h + * config/i386/cpuid.h (bit_SM3): New. + * config/i386/i386-builtin-types.def: + Add DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI, V4SI, INT). + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __SM3__. + * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle + V4SI_FTYPE_V4SI_V4SI_V4SI_INT. + * config/i386/i386-isa.def (SM3): Add DEF_PTA(SM3). + * config/i386/i386-options.cc (isa2_opts): Add -msm3. + (ix86_valid_target_attribute_inner_p): Handle sm3. + * config/i386/i386.opt: Add option -msm3. + * config/i386/immintrin.h: Include sm3intrin.h. + * config/i386/sse.md (vsm3msg1): New define insn. + (vsm3msg2): Ditto. + (vsm3rnds2): Ditto. + * doc/extend.texi: Document sm3. + * doc/invoke.texi: Document -msm3. + * doc/sourcebuild.texi: Document target sm3. + * config/i386/sm3intrin.h: New file. + +2023-07-17 Kong Lingling + Haochen Jiang + + * common/config/i386/cpuinfo.h (get_available_features): Detect + avxvnniint16. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AVXVNNIINT16_SET): New. + (OPTION_MASK_ISA2_AVXVNNIINT16_UNSET): Ditto. + (ix86_handle_option): Handle -mavxvnniint16. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AVXVNNIINT16. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + avxvnniint16. + * config.gcc: Add avxvnniint16.h. + * config/i386/avxvnniint16intrin.h: New file. + * config/i386/cpuid.h (bit_AVXVNNIINT16): New. + * config/i386/i386-builtin.def: Add new builtins. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __AVXVNNIINT16__. + * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint16. + (ix86_valid_target_attribute_inner_p): Handle avxvnniint16intrin.h. + * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT16). + * config/i386/i386.opt: Add option -mavxvnniint16. + * config/i386/immintrin.h: Include avxvnniint16.h. + * config/i386/sse.md + (vpdp_): New define_insn. + * doc/extend.texi: Document avxvnniint16. + * doc/invoke.texi: Document -mavxvnniint16. + * doc/sourcebuild.texi: Document target avxvnniint16. + +2023-07-16 Jan Hubicka + + PR middle-end/110649 + * tree-vect-loop.cc (scale_profile_for_vect_loop): Rewrite. + (vect_transform_loop): Move scale_profile_for_vect_loop after + upper bound updates. + +2023-07-16 Jan Hubicka + + PR tree-optimization/110649 + * tree-vect-loop.cc (optimize_mask_stores): Set correctly + probability of the if-then-else construct. + +2023-07-16 Jan Hubicka + + PR middle-end/110649 + * tree-ssa-loop-ivcanon.cc (try_peel_loop): Avoid double profile update. + +2023-07-15 Andrew Pinski + + * doc/contrib.texi: Update my entry. + +2023-07-15 John David Anglin + + * config/pa/pa.md: Define constants R1_REGNUM, R19_REGNUM and + R27_REGNUM. + (tgd_load): Restrict to !TARGET_64BIT. Use register constants. + (tld_load): Likewise. + (tgd_load_pic): Change to expander. + (tld_load_pic, tld_offset_load, tp_load): Likewise. + (tie_load_pic, tle_load): Likewise. + (tgd_load_picsi, tgd_load_picdi): New. + (tld_load_picsi, tld_load_picdi): New. + (tld_offset_load): New. + (tp_load): New. + (tie_load_picsi, tie_load_picdi): New. + (tle_load): New. + +2023-07-14 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vcmlaq, vcmlaq_rot90) + (vcmlaq_rot180, vcmlaq_rot270): New. + * config/arm/arm-mve-builtins-base.def (vcmlaq, vcmlaq_rot90) + (vcmlaq_rot180, vcmlaq_rot270): New. + * config/arm/arm-mve-builtins-base.h: (vcmlaq, vcmlaq_rot90) + (vcmlaq_rot180, vcmlaq_rot270): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vcmlaq, + vcmlaq_rot90, vcmlaq_rot180, vcmlaq_rot270. + * config/arm/arm_mve.h (vcmlaq): Delete. + (vcmlaq_rot180): Delete. + (vcmlaq_rot270): Delete. + (vcmlaq_rot90): Delete. + (vcmlaq_m): Delete. + (vcmlaq_rot180_m): Delete. + (vcmlaq_rot270_m): Delete. + (vcmlaq_rot90_m): Delete. + (vcmlaq_f16): Delete. + (vcmlaq_rot180_f16): Delete. + (vcmlaq_rot270_f16): Delete. + (vcmlaq_rot90_f16): Delete. + (vcmlaq_f32): Delete. + (vcmlaq_rot180_f32): Delete. + (vcmlaq_rot270_f32): Delete. + (vcmlaq_rot90_f32): Delete. + (vcmlaq_m_f32): Delete. + (vcmlaq_m_f16): Delete. + (vcmlaq_rot180_m_f32): Delete. + (vcmlaq_rot180_m_f16): Delete. + (vcmlaq_rot270_m_f32): Delete. + (vcmlaq_rot270_m_f16): Delete. + (vcmlaq_rot90_m_f32): Delete. + (vcmlaq_rot90_m_f16): Delete. + (__arm_vcmlaq_f16): Delete. + (__arm_vcmlaq_rot180_f16): Delete. + (__arm_vcmlaq_rot270_f16): Delete. + (__arm_vcmlaq_rot90_f16): Delete. + (__arm_vcmlaq_f32): Delete. + (__arm_vcmlaq_rot180_f32): Delete. + (__arm_vcmlaq_rot270_f32): Delete. + (__arm_vcmlaq_rot90_f32): Delete. + (__arm_vcmlaq_m_f32): Delete. + (__arm_vcmlaq_m_f16): Delete. + (__arm_vcmlaq_rot180_m_f32): Delete. + (__arm_vcmlaq_rot180_m_f16): Delete. + (__arm_vcmlaq_rot270_m_f32): Delete. + (__arm_vcmlaq_rot270_m_f16): Delete. + (__arm_vcmlaq_rot90_m_f32): Delete. + (__arm_vcmlaq_rot90_m_f16): Delete. + (__arm_vcmlaq): Delete. + (__arm_vcmlaq_rot180): Delete. + (__arm_vcmlaq_rot270): Delete. + (__arm_vcmlaq_rot90): Delete. + (__arm_vcmlaq_m): Delete. + (__arm_vcmlaq_rot180_m): Delete. + (__arm_vcmlaq_rot270_m): Delete. + (__arm_vcmlaq_rot90_m): Delete. + +2023-07-14 Christophe Lyon + + * config/arm/arm_mve_builtins.def (vcmlaq_rot90_f) + (vcmlaq_rot270_f, vcmlaq_rot180_f, vcmlaq_f): Add "_f" suffix. + * config/arm/iterators.md (MVE_VCMLAQ_M): New. + (mve_insn): Add vcmla. + (rot): Add VCMLAQ_M_F, VCMLAQ_ROT90_M_F, VCMLAQ_ROT180_M_F, + VCMLAQ_ROT270_M_F. + (mve_rot): Add VCMLAQ_M_F, VCMLAQ_ROT90_M_F, VCMLAQ_ROT180_M_F, + VCMLAQ_ROT270_M_F. + * config/arm/mve.md (mve_vcmlaq): Rename into ... + (@mve_q_f): ... this. + (mve_vcmlaq_m_f, mve_vcmlaq_rot180_m_f) + (mve_vcmlaq_rot270_m_f, mve_vcmlaq_rot90_m_f): Merge + into ... + (@mve_q_m_f): ... this. + +2023-07-14 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vcmulq, vcmulq_rot90) + (vcmulq_rot180, vcmulq_rot270): New. + * config/arm/arm-mve-builtins-base.def (vcmulq, vcmulq_rot90) + (vcmulq_rot180, vcmulq_rot270): New. + * config/arm/arm-mve-builtins-base.h: (vcmulq, vcmulq_rot90) + (vcmulq_rot180, vcmulq_rot270): New. + * config/arm/arm_mve.h (vcmulq_rot90): Delete. + (vcmulq_rot270): Delete. + (vcmulq_rot180): Delete. + (vcmulq): Delete. + (vcmulq_m): Delete. + (vcmulq_rot180_m): Delete. + (vcmulq_rot270_m): Delete. + (vcmulq_rot90_m): Delete. + (vcmulq_x): Delete. + (vcmulq_rot90_x): Delete. + (vcmulq_rot180_x): Delete. + (vcmulq_rot270_x): Delete. + (vcmulq_rot90_f16): Delete. + (vcmulq_rot270_f16): Delete. + (vcmulq_rot180_f16): Delete. + (vcmulq_f16): Delete. + (vcmulq_rot90_f32): Delete. + (vcmulq_rot270_f32): Delete. + (vcmulq_rot180_f32): Delete. + (vcmulq_f32): Delete. + (vcmulq_m_f32): Delete. + (vcmulq_m_f16): Delete. + (vcmulq_rot180_m_f32): Delete. + (vcmulq_rot180_m_f16): Delete. + (vcmulq_rot270_m_f32): Delete. + (vcmulq_rot270_m_f16): Delete. + (vcmulq_rot90_m_f32): Delete. + (vcmulq_rot90_m_f16): Delete. + (vcmulq_x_f16): Delete. + (vcmulq_x_f32): Delete. + (vcmulq_rot90_x_f16): Delete. + (vcmulq_rot90_x_f32): Delete. + (vcmulq_rot180_x_f16): Delete. + (vcmulq_rot180_x_f32): Delete. + (vcmulq_rot270_x_f16): Delete. + (vcmulq_rot270_x_f32): Delete. + (__arm_vcmulq_rot90_f16): Delete. + (__arm_vcmulq_rot270_f16): Delete. + (__arm_vcmulq_rot180_f16): Delete. + (__arm_vcmulq_f16): Delete. + (__arm_vcmulq_rot90_f32): Delete. + (__arm_vcmulq_rot270_f32): Delete. + (__arm_vcmulq_rot180_f32): Delete. + (__arm_vcmulq_f32): Delete. + (__arm_vcmulq_m_f32): Delete. + (__arm_vcmulq_m_f16): Delete. + (__arm_vcmulq_rot180_m_f32): Delete. + (__arm_vcmulq_rot180_m_f16): Delete. + (__arm_vcmulq_rot270_m_f32): Delete. + (__arm_vcmulq_rot270_m_f16): Delete. + (__arm_vcmulq_rot90_m_f32): Delete. + (__arm_vcmulq_rot90_m_f16): Delete. + (__arm_vcmulq_x_f16): Delete. + (__arm_vcmulq_x_f32): Delete. + (__arm_vcmulq_rot90_x_f16): Delete. + (__arm_vcmulq_rot90_x_f32): Delete. + (__arm_vcmulq_rot180_x_f16): Delete. + (__arm_vcmulq_rot180_x_f32): Delete. + (__arm_vcmulq_rot270_x_f16): Delete. + (__arm_vcmulq_rot270_x_f32): Delete. + (__arm_vcmulq_rot90): Delete. + (__arm_vcmulq_rot270): Delete. + (__arm_vcmulq_rot180): Delete. + (__arm_vcmulq): Delete. + (__arm_vcmulq_m): Delete. + (__arm_vcmulq_rot180_m): Delete. + (__arm_vcmulq_rot270_m): Delete. + (__arm_vcmulq_rot90_m): Delete. + (__arm_vcmulq_x): Delete. + (__arm_vcmulq_rot90_x): Delete. + (__arm_vcmulq_rot180_x): Delete. + (__arm_vcmulq_rot270_x): Delete. + +2023-07-14 Christophe Lyon + + * config/arm/arm_mve_builtins.def (vcmulq_rot90_f) + (vcmulq_rot270_f, vcmulq_rot180_f, vcmulq_f): Add "_f" suffix. + * config/arm/iterators.md (MVE_VCADDQ_VCMULQ) + (MVE_VCADDQ_VCMULQ_M): New. + (mve_insn): Add vcmul. + (rot): Add VCMULQ_M_F, VCMULQ_ROT90_M_F, VCMULQ_ROT180_M_F, + VCMULQ_ROT270_M_F. + (VCMUL): Delete. + (mve_rot): Add VCMULQ_M_F, VCMULQ_ROT90_M_F, VCMULQ_ROT180_M_F, + VCMULQ_ROT270_M_F. + * config/arm/mve.md (mve_vcmulq): Merge into + @mve_q_f. + (mve_vcmulq_m_f, mve_vcmulq_rot180_m_f) + (mve_vcmulq_rot270_m_f, mve_vcmulq_rot90_m_f): Merge + into @mve_q_m_f. + +2023-07-14 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vcaddq_rot90) + (vcaddq_rot270, vhcaddq_rot90, vhcaddq_rot270): New. + * config/arm/arm-mve-builtins-base.def (vcaddq_rot90) + (vcaddq_rot270, vhcaddq_rot90, vhcaddq_rot270): New. + * config/arm/arm-mve-builtins-base.h: (vcaddq_rot90) + (vcaddq_rot270, vhcaddq_rot90, vhcaddq_rot270): New. + * config/arm/arm-mve-builtins-functions.h (class + unspec_mve_function_exact_insn_rot): New. + * config/arm/arm_mve.h (vcaddq_rot90): Delete. + (vcaddq_rot270): Delete. + (vhcaddq_rot90): Delete. + (vhcaddq_rot270): Delete. + (vcaddq_rot270_m): Delete. + (vcaddq_rot90_m): Delete. + (vhcaddq_rot270_m): Delete. + (vhcaddq_rot90_m): Delete. + (vcaddq_rot90_x): Delete. + (vcaddq_rot270_x): Delete. + (vhcaddq_rot90_x): Delete. + (vhcaddq_rot270_x): Delete. + (vcaddq_rot90_u8): Delete. + (vcaddq_rot270_u8): Delete. + (vhcaddq_rot90_s8): Delete. + (vhcaddq_rot270_s8): Delete. + (vcaddq_rot90_s8): Delete. + (vcaddq_rot270_s8): Delete. + (vcaddq_rot90_u16): Delete. + (vcaddq_rot270_u16): Delete. + (vhcaddq_rot90_s16): Delete. + (vhcaddq_rot270_s16): Delete. + (vcaddq_rot90_s16): Delete. + (vcaddq_rot270_s16): Delete. + (vcaddq_rot90_u32): Delete. + (vcaddq_rot270_u32): Delete. + (vhcaddq_rot90_s32): Delete. + (vhcaddq_rot270_s32): Delete. + (vcaddq_rot90_s32): Delete. + (vcaddq_rot270_s32): Delete. + (vcaddq_rot90_f16): Delete. + (vcaddq_rot270_f16): Delete. + (vcaddq_rot90_f32): Delete. + (vcaddq_rot270_f32): Delete. + (vcaddq_rot270_m_s8): Delete. + (vcaddq_rot270_m_s32): Delete. + (vcaddq_rot270_m_s16): Delete. + (vcaddq_rot270_m_u8): Delete. + (vcaddq_rot270_m_u32): Delete. + (vcaddq_rot270_m_u16): Delete. + (vcaddq_rot90_m_s8): Delete. + (vcaddq_rot90_m_s32): Delete. + (vcaddq_rot90_m_s16): Delete. + (vcaddq_rot90_m_u8): Delete. + (vcaddq_rot90_m_u32): Delete. + (vcaddq_rot90_m_u16): Delete. + (vhcaddq_rot270_m_s8): Delete. + (vhcaddq_rot270_m_s32): Delete. + (vhcaddq_rot270_m_s16): Delete. + (vhcaddq_rot90_m_s8): Delete. + (vhcaddq_rot90_m_s32): Delete. + (vhcaddq_rot90_m_s16): Delete. + (vcaddq_rot270_m_f32): Delete. + (vcaddq_rot270_m_f16): Delete. + (vcaddq_rot90_m_f32): Delete. + (vcaddq_rot90_m_f16): Delete. + (vcaddq_rot90_x_s8): Delete. + (vcaddq_rot90_x_s16): Delete. + (vcaddq_rot90_x_s32): Delete. + (vcaddq_rot90_x_u8): Delete. + (vcaddq_rot90_x_u16): Delete. + (vcaddq_rot90_x_u32): Delete. + (vcaddq_rot270_x_s8): Delete. + (vcaddq_rot270_x_s16): Delete. + (vcaddq_rot270_x_s32): Delete. + (vcaddq_rot270_x_u8): Delete. + (vcaddq_rot270_x_u16): Delete. + (vcaddq_rot270_x_u32): Delete. + (vhcaddq_rot90_x_s8): Delete. + (vhcaddq_rot90_x_s16): Delete. + (vhcaddq_rot90_x_s32): Delete. + (vhcaddq_rot270_x_s8): Delete. + (vhcaddq_rot270_x_s16): Delete. + (vhcaddq_rot270_x_s32): Delete. + (vcaddq_rot90_x_f16): Delete. + (vcaddq_rot90_x_f32): Delete. + (vcaddq_rot270_x_f16): Delete. + (vcaddq_rot270_x_f32): Delete. + (__arm_vcaddq_rot90_u8): Delete. + (__arm_vcaddq_rot270_u8): Delete. + (__arm_vhcaddq_rot90_s8): Delete. + (__arm_vhcaddq_rot270_s8): Delete. + (__arm_vcaddq_rot90_s8): Delete. + (__arm_vcaddq_rot270_s8): Delete. + (__arm_vcaddq_rot90_u16): Delete. + (__arm_vcaddq_rot270_u16): Delete. + (__arm_vhcaddq_rot90_s16): Delete. + (__arm_vhcaddq_rot270_s16): Delete. + (__arm_vcaddq_rot90_s16): Delete. + (__arm_vcaddq_rot270_s16): Delete. + (__arm_vcaddq_rot90_u32): Delete. + (__arm_vcaddq_rot270_u32): Delete. + (__arm_vhcaddq_rot90_s32): Delete. + (__arm_vhcaddq_rot270_s32): Delete. + (__arm_vcaddq_rot90_s32): Delete. + (__arm_vcaddq_rot270_s32): Delete. + (__arm_vcaddq_rot270_m_s8): Delete. + (__arm_vcaddq_rot270_m_s32): Delete. + (__arm_vcaddq_rot270_m_s16): Delete. + (__arm_vcaddq_rot270_m_u8): Delete. + (__arm_vcaddq_rot270_m_u32): Delete. + (__arm_vcaddq_rot270_m_u16): Delete. + (__arm_vcaddq_rot90_m_s8): Delete. + (__arm_vcaddq_rot90_m_s32): Delete. + (__arm_vcaddq_rot90_m_s16): Delete. + (__arm_vcaddq_rot90_m_u8): Delete. + (__arm_vcaddq_rot90_m_u32): Delete. + (__arm_vcaddq_rot90_m_u16): Delete. + (__arm_vhcaddq_rot270_m_s8): Delete. + (__arm_vhcaddq_rot270_m_s32): Delete. + (__arm_vhcaddq_rot270_m_s16): Delete. + (__arm_vhcaddq_rot90_m_s8): Delete. + (__arm_vhcaddq_rot90_m_s32): Delete. + (__arm_vhcaddq_rot90_m_s16): Delete. + (__arm_vcaddq_rot90_x_s8): Delete. + (__arm_vcaddq_rot90_x_s16): Delete. + (__arm_vcaddq_rot90_x_s32): Delete. + (__arm_vcaddq_rot90_x_u8): Delete. + (__arm_vcaddq_rot90_x_u16): Delete. + (__arm_vcaddq_rot90_x_u32): Delete. + (__arm_vcaddq_rot270_x_s8): Delete. + (__arm_vcaddq_rot270_x_s16): Delete. + (__arm_vcaddq_rot270_x_s32): Delete. + (__arm_vcaddq_rot270_x_u8): Delete. + (__arm_vcaddq_rot270_x_u16): Delete. + (__arm_vcaddq_rot270_x_u32): Delete. + (__arm_vhcaddq_rot90_x_s8): Delete. + (__arm_vhcaddq_rot90_x_s16): Delete. + (__arm_vhcaddq_rot90_x_s32): Delete. + (__arm_vhcaddq_rot270_x_s8): Delete. + (__arm_vhcaddq_rot270_x_s16): Delete. + (__arm_vhcaddq_rot270_x_s32): Delete. + (__arm_vcaddq_rot90_f16): Delete. + (__arm_vcaddq_rot270_f16): Delete. + (__arm_vcaddq_rot90_f32): Delete. + (__arm_vcaddq_rot270_f32): Delete. + (__arm_vcaddq_rot270_m_f32): Delete. + (__arm_vcaddq_rot270_m_f16): Delete. + (__arm_vcaddq_rot90_m_f32): Delete. + (__arm_vcaddq_rot90_m_f16): Delete. + (__arm_vcaddq_rot90_x_f16): Delete. + (__arm_vcaddq_rot90_x_f32): Delete. + (__arm_vcaddq_rot270_x_f16): Delete. + (__arm_vcaddq_rot270_x_f32): Delete. + (__arm_vcaddq_rot90): Delete. + (__arm_vcaddq_rot270): Delete. + (__arm_vhcaddq_rot90): Delete. + (__arm_vhcaddq_rot270): Delete. + (__arm_vcaddq_rot270_m): Delete. + (__arm_vcaddq_rot90_m): Delete. + (__arm_vhcaddq_rot270_m): Delete. + (__arm_vhcaddq_rot90_m): Delete. + (__arm_vcaddq_rot90_x): Delete. + (__arm_vcaddq_rot270_x): Delete. + (__arm_vhcaddq_rot90_x): Delete. + (__arm_vhcaddq_rot270_x): Delete. + +2023-07-14 Christophe Lyon + + * config/arm/arm_mve_builtins.def (vcaddq_rot90_, vcaddq_rot270_) + (vcaddq_rot90_f, vcaddq_rot90_f): Add "_" or "_f" suffix. + * config/arm/iterators.md (mve_insn): Add vcadd, vhcadd. + (isu): Add UNSPEC_VCADD90, UNSPEC_VCADD270, VCADDQ_ROT270_M_U, + VCADDQ_ROT270_M_S, VCADDQ_ROT90_M_U, VCADDQ_ROT90_M_S, + VHCADDQ_ROT90_M_S, VHCADDQ_ROT270_M_S, VHCADDQ_ROT90_S, + VHCADDQ_ROT270_S. + (rot): Add VCADDQ_ROT90_M_F, VCADDQ_ROT90_M_S, VCADDQ_ROT90_M_U, + VCADDQ_ROT270_M_F, VCADDQ_ROT270_M_S, VCADDQ_ROT270_M_U, + VHCADDQ_ROT90_S, VHCADDQ_ROT270_S, VHCADDQ_ROT90_M_S, + VHCADDQ_ROT270_M_S. + (mve_rot): Add VCADDQ_ROT90_M_F, VCADDQ_ROT90_M_S, + VCADDQ_ROT90_M_U, VCADDQ_ROT270_M_F, VCADDQ_ROT270_M_S, + VCADDQ_ROT270_M_U, VHCADDQ_ROT90_S, VHCADDQ_ROT270_S, + VHCADDQ_ROT90_M_S, VHCADDQ_ROT270_M_S. + (supf): Add VHCADDQ_ROT90_M_S, VHCADDQ_ROT270_M_S, + VHCADDQ_ROT90_S, VHCADDQ_ROT270_S, UNSPEC_VCADD90, + UNSPEC_VCADD270. + (VCADDQ_ROT270_M): Delete. + (VCADDQ_M_F VxCADDQ VxCADDQ_M): New. + (VCADDQ_ROT90_M): Delete. + * config/arm/mve.md (mve_vcaddq) + (mve_vhcaddq_rot270_s, mve_vhcaddq_rot90_s): Merge + into ... + (@mve_q_): ... this. + (mve_vcaddq): Rename into ... + (@mve_q_f): ... this + (mve_vcaddq_rot270_m_) + (mve_vcaddq_rot90_m_, mve_vhcaddq_rot270_m_s) + (mve_vhcaddq_rot90_m_s): Merge into ... + (@mve_q_m_): ... this. + (mve_vcaddq_rot270_m_f, mve_vcaddq_rot90_m_f): Merge + into ... + (@mve_q_m_f): ... this. + +2023-07-14 Roger Sayle + + PR target/110588 + * config/i386/i386.md (*bt_setcqi): Prefer string form + preparation statement over braces for a single statement. + (*bt_setncqi): Likewise. + (*bt_setncqi_2): New define_insn_and_split. + +2023-07-14 Roger Sayle + + * config/i386/i386-expand.cc (ix86_expand_move): Generalize special + case inserting of 64-bit values into a TImode register, to handle + both DImode and DFmode using either *insvti_lowpart_1 + or *isnvti_highpart_1. + +2023-07-14 Uros Bizjak + + PR target/110206 + * fwprop.cc (contains_paradoxical_subreg_p): Move to ... + * rtlanal.cc (contains_paradoxical_subreg_p): ... here. + * rtlanal.h (contains_paradoxical_subreg_p): Add prototype. + * cprop.cc (try_replace_reg): Do not set REG_EQUAL note + when the original source contains a paradoxical subreg. + +2023-07-14 Jan Hubicka + + * passes.cc (execute_function_todo): Remove + TODO_rebuild_frequencies + * passes.def: Add rebuild_frequencies pass. + * predict.cc (estimate_bb_frequencies): Drop + force parameter. + (tree_estimate_probability): Update call of + estimate_bb_frequencies. + (rebuild_frequencies): Turn into a pass; verify CFG profile consistency + first and do not rebuild if not necessary. + (class pass_rebuild_frequencies): New. + (make_pass_rebuild_frequencies): New. + * profile-count.h: Add profile_count::very_large_p. + * tree-inline.cc (optimize_inline_calls): Do not return + TODO_rebuild_frequencies + * tree-pass.h (TODO_rebuild_frequencies): Remove. + (make_pass_rebuild_frequencies): Declare. + +2023-07-14 Juzhe-Zhong + + * config/riscv/autovec.md (cond_len_fma): New pattern. + * config/riscv/riscv-protos.h (enum insn_type): New enum. + (expand_cond_len_ternop): New function. + * config/riscv/riscv-v.cc (emit_nonvlmax_fp_ternary_tu_insn): Ditto. + (expand_cond_len_ternop): Ditto. + +2023-07-14 Jose E. Marchesi + + PR target/110657 + * config/bpf/bpf.md: Enable instruction scheduling. + +2023-07-14 Tamar Christina + + PR tree-optimization/109154 + * tree-if-conv.cc (INCLUDE_ALGORITHM): Include. + (struct bb_predicate): Add no_predicate_stmts. + (set_bb_predicate): Increase predicate count. + (set_bb_predicate_gimplified_stmts): Conditionally initialize + no_predicate_stmts. + (get_bb_num_predicate_stmts): New. + (init_bb_predicate): Initialzie no_predicate_stmts. + (release_bb_predicate): Cleanup no_predicate_stmts. + (insert_gimplified_predicates): Preserve no_predicate_stmts. + +2023-07-14 Tamar Christina + + PR tree-optimization/109154 + * tree-if-conv.cc (gen_simplified_condition, + gen_phi_nest_statement): New. + (gen_phi_arg_condition, predicate_scalar_phi): Use it. + +2023-07-14 Richard Biener + + * gimple.h (gimple_phi_arg): New const overload. + (gimple_phi_arg_def): Make gimple arg const. + (gimple_phi_arg_def_from_edge): New inline function. + * tree-phinodes.h (gimple_phi_arg_imm_use_ptr_from_edge): + Likewise. + * tree-ssa-operands.h (PHI_ARG_DEF_FROM_EDGE): Direct to + new inline function. + (PHI_ARG_DEF_PTR_FROM_EDGE): Likewise. + +2023-07-14 Monk Chiang + + * common/config/riscv/riscv-common.cc: + (riscv_implied_info): Add zihintntl item. + (riscv_ext_version_table): Ditto. + (riscv_ext_flag_table): Ditto. + * config/riscv/riscv-opts.h (MASK_ZIHINTNTL): New macro. + (TARGET_ZIHINTNTL): Ditto. + +2023-07-14 Die Li + + * config/riscv/riscv.md: Remove redundant portion in and3. + +2023-07-14 Oleg Endo + + PR target/101469 + * config/sh/sh.md (peephole2): Handle case where eliminated reg is also + used by the address of the following memory operand. + +2023-07-13 Mikael Pettersson + + PR target/107841 + * config/pdp11/pdp11.cc (pdp11_expand_epilogue): Also + deallocate alloca-only frame. + +2023-07-13 Iain Sandoe + + PR target/110624 + * config/darwin.h (DARWIN_PLATFORM_ID): New. + (LINK_COMMAND_A): Use DARWIN_PLATFORM_ID to pass OS, OS version + and SDK data to the static linker. + +2023-07-13 Carl Love + + * config/rs6000/rs6000-builtins.def (__builtin_set_fpscr_rn): Update + built-in definition return type. + * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Add check, + define __SET_FPSCR_RN_RETURNS_FPSCR__ macro. + * config/rs6000/rs6000.md (rs6000_set_fpscr_rn): Add return + argument to return FPSCR fields. + * doc/extend.texi (__builtin_set_fpscr_rn): Update description for + the return value. Add description for + __SET_FPSCR_RN_RETURNS_FPSCR__ macro. + +2023-07-13 Uros Bizjak + + PR target/106966 + * config/alpha/alpha.cc (alpha_emit_set_long_const): + Always use DImode when constructing long const. + +2023-07-13 Uros Bizjak + + * haifa-sched.cc: Change TRUE/FALSE to true/false. + * ira.cc: Ditto. + * lra-assigns.cc: Ditto. + * lra-constraints.cc: Ditto. + * sel-sched.cc: Ditto. + +2023-07-13 Andrew Pinski + + PR tree-optimization/110293 + PR tree-optimization/110539 + * match.pd: Expand the `x != (typeof x)(x == 0)` + pattern to handle where the inner and outer comparsions + are either `!=` or `==` and handle other constants + than 0. + +2023-07-13 Vladimir N. Makarov + + PR middle-end/109520 + * lra-int.h (lra_insn_recog_data): Add member asm_reloads_num. + (lra_asm_insn_error): New prototype. + * lra.cc: Include rtl_error.h. + (lra_set_insn_recog_data): Initialize asm_reloads_num. + (lra_asm_insn_error): New func whose code is taken from ... + * lra-assigns.cc (lra_split_hard_reg_for): ... here. Use lra_asm_insn_error. + * lra-constraints.cc (curr_insn_transform): Check reloads nummber for asm. + +2023-07-13 Ju-Zhe Zhong + + * genmatch.cc (commutative_op): Add COND_LEN_* + * internal-fn.cc (first_commutative_argument): Ditto. + (CASE): Ditto. + (get_unconditional_internal_fn): Ditto. + (can_interpret_as_conditional_op_p): Ditto. + (internal_fn_len_index): Ditto. + * internal-fn.h (can_interpret_as_conditional_op_p): Ditt. + * tree-ssa-math-opts.cc (convert_mult_to_fma_1): Ditto. + (convert_mult_to_fma): Ditto. + (math_opts_dom_walker::after_dom_children): Ditto. + +2023-07-13 Pan Li + + * config/riscv/riscv.cc (vxrm_rtx): New static var. + (frm_rtx): Ditto. + (global_state_unknown_p): Removed. + (riscv_entity_mode_after): Removed. + (asm_insn_p): New function. + (vxrm_unknown_p): New function for fixed-point. + (riscv_vxrm_mode_after): Ditto. + (frm_unknown_dynamic_p): New function for floating-point. + (riscv_frm_mode_after): Ditto. + (riscv_mode_after): Leverage new functions. + +2023-07-13 Kewen Lin + + * tree-vect-stmts.cc (vect_model_load_cost): Remove. + (vectorizable_load): Adjust the cost handling on VMAT_CONTIGUOUS without + calling vect_model_load_cost. + +2023-07-13 Kewen Lin + + * tree-vect-stmts.cc (vect_model_load_cost): Assert this function only + handle memory_access_type VMAT_CONTIGUOUS, remove some + VMAT_CONTIGUOUS_PERMUTE related handlings. + (vectorizable_load): Adjust the cost handling on VMAT_CONTIGUOUS_PERMUTE + without calling vect_model_load_cost. + +2023-07-13 Kewen Lin + + * tree-vect-stmts.cc (vect_model_load_cost): Assert it won't get + VMAT_CONTIGUOUS_REVERSE any more. + (vectorizable_load): Adjust the costing handling on + VMAT_CONTIGUOUS_REVERSE without calling vect_model_load_cost. + +2023-07-13 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_load): Adjust the cost handling on + VMAT_LOAD_STORE_LANES without calling vect_model_load_cost. + (vectorizable_load): Remove VMAT_LOAD_STORE_LANES related handling and + assert it will never get VMAT_LOAD_STORE_LANES. + +2023-07-13 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_load): Adjust the cost handling on + VMAT_GATHER_SCATTER without calling vect_model_load_cost. + (vect_model_load_cost): Adjut the assertion on VMAT_GATHER_SCATTER, + remove VMAT_GATHER_SCATTER related handlings and the related parameter + gs_info. + +2023-07-13 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_load): Adjust the cost handling + on VMAT_ELEMENTWISE and VMAT_STRIDED_SLP without calling + vect_model_load_cost. + (vect_model_load_cost): Assert it won't get VMAT_ELEMENTWISE and + VMAT_STRIDED_SLP any more, and remove their related handlings. + +2023-07-13 Kewen Lin + + * tree-vect-stmts.cc (hoist_defs_of_uses): Add one argument HOIST_P. + (vectorizable_load): Adjust the handling on VMAT_INVARIANT to respect + hoisting decision and without calling vect_model_load_cost. + (vect_model_load_cost): Assert it won't get VMAT_INVARIANT any more + and remove VMAT_INVARIANT related handlings. + +2023-07-13 Kewen Lin + + * tree-vect-stmts.cc (vect_build_gather_load_calls): Add the handlings + on costing with one extra argument cost_vec. + (vectorizable_load): Adjust the call to vect_build_gather_load_calls. + (vect_model_load_cost): Assert it won't get VMAT_GATHER_SCATTER with + gs_info.decl set any more. + +2023-07-13 Kewen Lin + + * tree-vect-stmts.cc (vectorizable_load): Move and duplicate the call + to vect_model_load_cost down to some different transform paths + according to the handlings of different vect_memory_access_types. + +2023-07-13 Kewen Lin + + * tree.h (wi::from_mpz): Hide from GENERATOR_FILE. + +2023-07-13 Ju-Zhe Zhong + + * config/riscv/autovec.md + (len_mask_gather_load): New pattern. + (len_mask_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (len_mask_gather_load): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + (len_mask_scatter_store): Ditto. + * config/riscv/predicates.md (const_1_operand): New predicate. + (vector_gs_scale_operand_16): Ditto. + (vector_gs_scale_operand_32): Ditto. + (vector_gs_scale_operand_64): Ditto. + (vector_gs_extension_operand): Ditto. + (vector_gs_scale_operand_16_rv32): Ditto. + (vector_gs_scale_operand_32_rv32): Ditto. + * config/riscv/riscv-protos.h (enum insn_type): Add gather/scatter. + (expand_gather_scatter): New function. + * config/riscv/riscv-v.cc (gen_const_vector_dup): Add gather/scatter. + (emit_vlmax_masked_store_insn): New function. + (emit_nonvlmax_masked_store_insn): Ditto. + (modulo_sel_indices): Ditto. + (expand_vec_perm): Fix SLP for gather/scatter. + (prepare_gather_scatter): New function. + (expand_gather_scatter): Ditto. + * config/riscv/riscv.cc (riscv_legitimize_move): Fix bug of + (subreg:SI (DI CONST_POLY_INT)). + * config/riscv/vector-iterators.md: Add gather/scatter. + * config/riscv/vector.md (vec_duplicate): Use "@" instead. + (@vec_duplicate): Ditto. + (@pred_indexed_store): + Fix name. + (@pred_indexed_store): Ditto. + +2023-07-12 Juzhe-Zhong + + * config/riscv/autovec.md (cond_len_): New pattern. + * config/riscv/riscv-protos.h (enum insn_type): New enum. + (expand_cond_len_binop): New function. + * config/riscv/riscv-v.cc (emit_nonvlmax_tu_insn): Ditto. + (emit_nonvlmax_fp_tu_insn): Ditto. + (need_fp_rounding_p): Ditto. + (expand_cond_len_binop): Ditto. + * config/riscv/riscv.cc (riscv_preferred_else_value): Ditto. + (TARGET_PREFERRED_ELSE_VALUE): New target hook. + +2023-07-12 Jan Hubicka + + * tree-cfg.cc (gimple_duplicate_sese_region): Rename to ... + (gimple_duplicate_seme_region): ... this; break out profile updating + code to ... + * tree-ssa-loop-ch.cc (update_profile_after_ch): ... here. + (ch_base::copy_headers): Update. + * tree-cfg.h (gimple_duplicate_sese_region): Rename to ... + (gimple_duplicate_seme_region): ... this. + +2023-07-12 Aldy Hernandez + + PR tree-optimization/107043 + * range-op.cc (operator_bitwise_and::op1_range): Update bitmask. + +2023-07-12 Aldy Hernandez + + PR tree-optimization/107053 + * gimple-range-op.cc (cfn_popcount): Use known set bits. + +2023-07-12 Uros Bizjak + + * ira.cc (equiv_init_varies_p): Change return type from int to bool + and adjust function body accordingly. + (equiv_init_movable_p): Ditto. + (memref_used_between_p): Ditto. + * lra-constraints.cc (valid_address_p): Ditto. + +2023-07-12 Aldy Hernandez + + * range-op.cc (irange_to_masked_value): Remove. + (update_known_bitmask): Update irange value/mask pair instead of + only updating nonzero bits. + +2023-07-12 Jan Hubicka + + * tree-cfg.cc (gimple_duplicate_sese_region): Add ORIG_ELIMINATED_EDGES + parameter and rewrite profile updating code to handle edges elimination. + * tree-cfg.h (gimple_duplicate_sese_region): Update prototpe. + * tree-ssa-loop-ch.cc (loop_invariant_op_p): New function. + (loop_iv_derived_p): New function. + (should_duplicate_loop_header_p): Track invariant exit edges; fix handling + of PHIs and propagation of IV derived variables. + (ch_base::copy_headers): Pass around the invariant edges hash set. + +2023-07-12 Uros Bizjak + + * ifcvt.cc (cond_exec_changed_p): Change variable to bool. + (last_active_insn): Change "skip_use_p" function argument to bool. + (noce_operand_ok): Change return type from int to bool. + (find_cond_trap): Ditto. + (block_jumps_and_fallthru_p): Change "fallthru_p" and + "jump_p" variables to bool. + (noce_find_if_block): Change return type from int to bool. + (cond_exec_find_if_block): Ditto. + (find_if_case_1): Ditto. + (find_if_case_2): Ditto. + (dead_or_predicable): Ditto. Change "reversep" function arg to bool. + (block_jumps_and_fallthru): Rename from block_jumps_and_fallthru_p. + (cond_exec_process_insns): Change return type from int to bool. + Change "mod_ok" function arg to bool. + (cond_exec_process_if_block): Change return type from int to bool. + Change "do_multiple_p" function arg to bool. Change "then_mod_ok" + variable to bool. + (noce_emit_store_flag): Change return type from int to bool. + Change "reversep" function arg to bool. Change "cond_complex" + variable to bool. + (noce_try_move): Change return type from int to bool. + (noce_try_ifelse_collapse): Ditto. + (noce_try_store_flag): Ditto. Change "reversep" variable to bool. + (noce_try_addcc): Change return type from int to bool. Change + "subtract" variable to bool. + (noce_try_store_flag_constants): Change return type from int to bool. + (noce_try_store_flag_mask): Ditto. Change "reversep" variable to bool. + (noce_try_cmove): Change return type from int to bool. + (noce_try_cmove_arith): Ditto. Change "is_mem" variable to bool. + (noce_try_minmax): Change return type from int to bool. Change + "unsignedp" variable to bool. + (noce_try_abs): Change return type from int to bool. Change + "negate" variable to bool. + (noce_try_sign_mask): Change return type from int to bool. + (noce_try_move): Ditto. + (noce_try_store_flag_constants): Ditto. + (noce_try_cmove): Ditto. + (noce_try_cmove_arith): Ditto. + (noce_try_minmax): Ditto. Change "unsignedp" variable to bool. + (noce_try_bitop): Change return type from int to bool. + (noce_operand_ok): Ditto. + (noce_convert_multiple_sets): Ditto. + (noce_convert_multiple_sets_1): Ditto. + (noce_process_if_block): Ditto. + (check_cond_move_block): Ditto. + (cond_move_process_if_block): Ditto. Change "success_p" + variable to bool. + (rest_of_handle_if_conversion): Change return type to void. + +2023-07-12 Ju-Zhe Zhong + + * internal-fn.cc (FOR_EACH_CODE_MAPPING): Adapt for COND_LEN_* support. + (CASE): Ditto. + (get_conditional_len_internal_fn): New function. + * internal-fn.h (get_conditional_len_internal_fn): Ditto. + * tree-vect-stmts.cc (vectorizable_operation): Adapt for COND_LEN_* + support. + +2023-07-12 Roger Sayle + + PR target/91681 + * config/i386/i386.md (*add3_doubleword_concat_zext): Typo. + +2023-07-12 Roger Sayle + + PR target/91681 + * config/i386/i386.md (*add3_doubleword_concat_zext): New + define_insn_and_split derived from *add3_doubleword_concat + and *add3_doubleword_zext. + +2023-07-12 Roger Sayle + + PR target/110598 + * config/i386/i386.md (peephole2): Check !reg_mentioned_p when + optimizing rega = 0; rega op= regb for op in [XOR,IOR,PLUS]. + (peephole2): Simplify rega = 0; rega op= rega cases. + +2023-07-12 Roger Sayle + + * config/i386/i386-expand.cc (ix86_expand_int_compare): If + testing a TImode SUBREG of a 128-bit vector register against + zero, use a PTEST instruction instead of first moving it to + a pair of scalar registers. + +2023-07-12 Robin Dapp + + * genopinit.cc (main): Adjust maximal number of optabs and + machine modes. + * gensupport.cc (find_optab): Shift optab by 20 and mode by + 10 bits. + * optabs-query.h (optab_handler): Ditto. + (convert_optab_handler): Ditto. + +2023-07-12 Richard Biener + + PR tree-optimization/110630 + * tree-vect-slp.cc (vect_add_slp_permutation): New + offset parameter, honor that for the extract code generation. + (vectorizable_slp_permutation_1): Handle offsetted identities. + +2023-07-12 Ju-Zhe Zhong + + * config/riscv/autovec.md (smul3_highpart): New pattern. + (umul3_highpart): Ditto. + +2023-07-12 Jan Beulich + + * config/i386/i386.md (extendbfsf2_1): Add new AVX512F + alternative. Adjust original last alternative's "prefix" + attribute to maybe_evex. + +2023-07-12 Jan Beulich + + * config/i386/sse.md (vec_dupv4sf): Make first alternative use + vbroadcastss for AVX2. New AVX512F alternative. + (*vec_dupv4si): New AVX2 and AVX512F alternatives using + vpbroadcastd. Replace sselog1 by sseshuf1 in "type" attribute. + +2023-07-12 Christoph Müllner + + * config/riscv/peephole.md: Remove XThead* peephole passes. + * config/riscv/thead.md: Include thead-peephole.md. + * config/riscv/thead-peephole.md: New file. + +2023-07-12 Christoph Müllner + + * config/riscv/riscv-protos.h (riscv_regno_ok_for_index_p): + New prototype. + (riscv_index_reg_class): Likewise. + * config/riscv/riscv.cc (riscv_regno_ok_for_index_p): New function. + (riscv_index_reg_class): New function. + * config/riscv/riscv.h (INDEX_REG_CLASS): Call new function + riscv_index_reg_class(). + (REGNO_OK_FOR_INDEX_P): Call new function + riscv_regno_ok_for_index_p(). + +2023-07-12 Christoph Müllner + + * config/riscv/riscv-protos.h (enum riscv_address_type): + New location of type definition. + (struct riscv_address_info): Likewise. + * config/riscv/riscv.cc (enum riscv_address_type): + Old location of type definition. + (struct riscv_address_info): Likewise. + +2023-07-12 Christoph Müllner + + * config/riscv/riscv.h (Xmode): New macro. + +2023-07-12 Christoph Müllner + + * config/riscv/riscv.cc (riscv_print_operand_address): Use + output_addr_const rather than riscv_print_operand. + +2023-07-12 Christoph Müllner + + * config/riscv/thead.md: Adjust constraints of th_addsl. + +2023-07-12 Christoph Müllner + + * config/riscv/thead.cc (th_mempair_operands_p): + Fix documentation of th_mempair_order_operands(). + +2023-07-12 Christoph Müllner + + * config/riscv/thead.cc (th_mempair_save_regs): + Emit REG_FRAME_RELATED_EXPR notes in prologue. + +2023-07-12 Christoph Müllner + + * config/riscv/riscv.md: No base-ISA extension splitter for XThead*. + * config/riscv/thead.md (*extend2_th_ext): + New XThead extension INSN. + (*zero_extendsidi2_th_extu): New XThead extension INSN. + (*zero_extendhi2_th_extu): New XThead extension INSN. + +2023-07-12 liuhongt + + PR target/110438 + PR target/110202 + * config/i386/predicates.md + (int_float_vector_all_ones_operand): New predicate. + * config/i386/sse.md (*vmov_constm1_pternlog_false_dep): New + define_insn. + (*_cvtmask2_pternlog_false_dep): + Ditto. + (*_cvtmask2_pternlog_false_dep): + Ditto. + (*_cvtmask2): Adjust to + define_insn_and_split to avoid false dependence. + (*_cvtmask2): Ditto. + (one_cmpl2): Adjust constraint + of operands 1 to '0' to avoid false dependence. + (*andnot3): Ditto. + (iornot3): Ditto. + (*3): Ditto. + +2023-07-12 Mo, Zewei + + * common/config/i386/cpuinfo.h + (get_intel_cpu): Handle Granite Rapids D. + * common/config/i386/i386-common.cc: + (processor_alias_table): Add graniterapids-d. + * common/config/i386/i386-cpuinfo.h + (enum processor_subtypes): Add INTEL_COREI7_GRANITERAPIDS_D. + * config.gcc: Add -march=graniterapids-d. + * config/i386/driver-i386.cc (host_detect_local_cpu): + Handle graniterapids-d. + * config/i386/i386.h: (PTA_GRANITERAPIDS_D): New. + * doc/extend.texi: Add graniterapids-d. + * doc/invoke.texi: Ditto. + +2023-07-12 Haochen Jiang + + * config/i386/i386-builtins.cc (ix86_init_mmx_sse_builtins): + Add OPTION_MASK_ISA_AVX512VL. + * config/i386/i386-expand.cc (ix86_check_builtin_isa_match): + Ditto. + +2023-07-11 Ju-Zhe Zhong + + * config/riscv/riscv-protos.h (enum insn_type): Add vcompress optimization. + * config/riscv/riscv-v.cc (emit_vlmax_compress_insn): Ditto. + (shuffle_compress_patterns): Ditto. + (expand_vec_perm_const_1): Ditto. + +2023-07-11 Uros Bizjak + + * cfghooks.cc (verify_flow_info): Change "err" variable to bool. + * cfghooks.h (struct cfg_hooks): Change return type of + verify_flow_info from integer to bool. + * cfgrtl.cc (can_delete_note_p): Change return type from int to bool. + (can_delete_label_p): Ditto. + (rtl_verify_flow_info): Change return type from int to bool + and adjust function body accordingly. Change "err" variable to bool. + (rtl_verify_flow_info_1): Ditto. + (free_bb_for_insn): Change return type to void. + (rtl_merge_blocks): Change "b_empty" variable to bool. + (try_redirect_by_replacing_jump): Change "fallthru" variable to bool. + (verify_hot_cold_block_grouping): Change return type from int to bool. + Change "err" variable to bool. + (rtl_verify_edges): Ditto. + (rtl_verify_bb_insns): Ditto. + (rtl_verify_bb_pointers): Ditto. + (rtl_verify_bb_insn_chain): Ditto. + (rtl_verify_fallthru): Ditto. + (rtl_verify_bb_layout): Ditto. + (purge_all_dead_edges): Change "purged" variable to bool. + * cfgrtl.h (free_bb_for_insn): Change return type from int to void. + * postreload-gcse.cc (expr_hasher::equal): Change "equiv_p" to bool. + (load_killed_in_block_p): Change return type from int to bool + and adjust function body accordingly. + (oprs_unchanged_p): Return true/false. + (rest_of_handle_gcse2): Change return type to void. + * tree-cfg.cc (gimple_verify_flow_info): Change return type from + int to bool. Change "err" variable to bool. + +2023-07-11 Gaius Mulley + + * doc/gm2.texi (-Wuninit-variable-checking=) New item. + +2023-07-11 Ju-Zhe Zhong + + * doc/md.texi: Add COND_LEN_* operations for loop control with length. + * internal-fn.cc (cond_len_unary_direct): Ditto. + (cond_len_binary_direct): Ditto. + (cond_len_ternary_direct): Ditto. + (expand_cond_len_unary_optab_fn): Ditto. + (expand_cond_len_binary_optab_fn): Ditto. + (expand_cond_len_ternary_optab_fn): Ditto. + (direct_cond_len_unary_optab_supported_p): Ditto. + (direct_cond_len_binary_optab_supported_p): Ditto. + (direct_cond_len_ternary_optab_supported_p): Ditto. + * internal-fn.def (COND_LEN_ADD): Ditto. + (COND_LEN_SUB): Ditto. + (COND_LEN_MUL): Ditto. + (COND_LEN_DIV): Ditto. + (COND_LEN_MOD): Ditto. + (COND_LEN_RDIV): Ditto. + (COND_LEN_MIN): Ditto. + (COND_LEN_MAX): Ditto. + (COND_LEN_FMIN): Ditto. + (COND_LEN_FMAX): Ditto. + (COND_LEN_AND): Ditto. + (COND_LEN_IOR): Ditto. + (COND_LEN_XOR): Ditto. + (COND_LEN_SHL): Ditto. + (COND_LEN_SHR): Ditto. + (COND_LEN_FMA): Ditto. + (COND_LEN_FMS): Ditto. + (COND_LEN_FNMA): Ditto. + (COND_LEN_FNMS): Ditto. + (COND_LEN_NEG): Ditto. + * optabs.def (OPTAB_D): Ditto. + +2023-07-11 Richard Biener + + PR tree-optimization/110614 + * tree-vect-data-refs.cc (vect_supportable_dr_alignment): + SLP splats are not suitable for re-align ops. + +2023-07-10 Peter Bergner + + * config/rs6000/predicates.md (quad_memory_operand): Remove redundant + MEM_P usage. + (vsx_quad_dform_memory_operand): Likewise. + +2023-07-10 Uros Bizjak + + * reorg.cc (stop_search_p): Change return type from int to bool + and adjust function body accordingly. + (resource_conflicts_p): Ditto. + (insn_references_resource_p): Change return type from int to bool. + (insn_sets_resource_p): Ditto. + (redirect_with_delay_slots_safe_p): Ditto. + (condition_dominates_p): Change return type from int to bool + and adjust function body accordingly. + (redirect_with_delay_list_safe_p): Ditto. + (check_annul_list_true_false): Ditto. Change "annul_true_p" + function argument to bool. + (steal_delay_list_from_target): Change "pannul_p" function + argument to bool pointer. Change "must_annul" and "used_annul" + variables from int to bool. + (steal_delay_list_from_fallthrough): Ditto. + (own_thread_p): Change return type from int to bool and adjust + function body accordingly. Change "allow_fallthrough" function + argument to bool. + (reorg_redirect_jump): Change return type from int to bool. + (fill_simple_delay_slots): Change "non_jumps_p" function + argument from int to bool. Change "maybe_never" varible to bool. + (fill_slots_from_thread): Change "likely", "thread_if_true" and + "own_thread" function arguments to bool. Change "lose" and + "must_annul" variables to bool. + (delete_from_delay_slot): Change "had_barrier" variable to bool. + (try_merge_delay_insns): Change "annul_p" variable to bool. + (fill_eager_delay_slots): Change "own_target" and "own_fallthrouhg" + variables to bool. + (rest_of_handle_delay_slots): Change return type from int to void + and adjust function body accordingly. + +2023-07-10 Kito Cheng + + * doc/extend.texi (RISC-V Operand Modifiers): New. + +2023-07-10 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (add_label_notes): Remove it. + (insert_insn_end_basic_block): Ditto. + (pass_vsetvl::commit_vsetvls): Adapt for new helper function. + * gcse.cc (insert_insn_end_basic_block): Export as global function. + * gcse.h (insert_insn_end_basic_block): Ditto. + +2023-07-10 Christophe Lyon + + PR target/110268 + * config/arm/arm-builtins.cc (arm_init_mve_builtins): Handle LTO. + (arm_builtin_decl): Hahndle MVE builtins. + * config/arm/arm-mve-builtins.cc (builtin_decl): New function. + (add_unique_function): Fix handling of + __ARM_MVE_PRESERVE_USER_NAMESPACE. + (add_overloaded_function): Likewise. + * config/arm/arm-protos.h (builtin_decl): New declaration. + +2023-07-10 Christophe Lyon + + * doc/sourcebuild.texi (arm_v8_1m_main_cde_mve_fp): Document. + +2023-07-10 Xi Ruoyao + + PR tree-optimization/110557 + * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): + Ensure the output sign-extended if necessary. + +2023-07-10 Roger Sayle + + * config/i386/i386.md (peephole2): Transform xchg insn with a + REG_UNUSED note to a (simple) move. + (*insvti_lowpart_1): New define_insn_and_split. + (*insvdi_lowpart_1): Likewise. + +2023-07-10 Roger Sayle + + * config/i386/i386-features.cc (compute_convert_gain): Tweak + gains/costs for ROTATE/ROTATERT by integer constant on AVX512VL. + (general_scalar_chain::convert_rotate): On TARGET_AVX512F generate + avx512vl_rolv2di or avx412vl_rolv4si when appropriate. + +2023-07-10 liuhongt + + PR target/110170 + * config/i386/i386.md (*ieee_max3_1): New pre_reload + splitter to detect fp max pattern. + (*ieee_min3_1): Ditto, but for fp min pattern. + +2023-07-09 Jan Hubicka + + * cfg.cc (check_bb_profile): Dump counts with relative frequency. + (dump_edge_info): Likewise. + (dump_bb_info): Likewise. + * profile-count.cc (profile_count::dump): Add comma between quality and + freq. + +2023-07-08 Jan Hubicka + + PR tree-optimization/110600 + * cfgloopmanip.cc (scale_loop_profile): Add mising profile_dump check. + +2023-07-08 Jan Hubicka + + PR middle-end/110590 + * cfgloopmanip.cc (scale_loop_profile): Avoid scaling exits within + inner loops and be more careful about inconsistent profiles. + (duplicate_loop_body_to_header_edge): Fix profile update when eliminated + exit is followed by other exit. + +2023-07-08 Uros Bizjak + + * cprop.cc (reg_available_p): Change return type from int to bool. + (reg_not_set_p): Ditto. + (try_replace_reg): Ditto. Change "success" variable to bool. + (cprop_jump): Change return type from int to void + and adjust function body accordingly. + (constprop_register): Ditto. + (cprop_insn): Ditto. Change "changed" variable to bool. + (local_cprop_pass): Change return type from int to void + and adjust function body accordingly. + (bypass_block): Ditto. Change "change", "may_be_loop_header" + and "removed_p" variables to bool. + (bypass_conditional_jumps): Change return type from int to void + and adjust function body accordingly. Change "changed" + variable to bool. + (one_cprop_pass): Ditto. + +2023-07-08 Uros Bizjak + + * gcse.cc (expr_equiv_p): Change return type from int to bool. + (oprs_unchanged_p): Change return type from int to void + and adjust function body accordingly. + (oprs_anticipatable_p): Ditto. + (oprs_available_p): Ditto. + (insert_expr_in_table): Ditto. Change "antic_p" and "avail_p" + arguments to bool. Change "found" variable to bool. + (load_killed_in_block_p): Change return type from int to void and + adjust function body accordingly. Change "avail_p" argument to bool. + (pre_expr_reaches_here_p): Change return type from int to void + and adjust function body accordingly. + (pre_delete): Ditto. Change "changed" variable to bool. + (pre_gcse): Change return type from int to void + and adjust function body accordingly. Change "did_insert" and + "changed" variables to bool. + (one_pre_gcse_pass): Change return type from int to void + and adjust function body accordingly. Change "changed" variable + to bool. + (should_hoist_expr_to_dom): Change return type from int to void + and adjust function body accordingly. Change + "visited_allocated_locally" variable to bool. + (hoist_code): Change return type from int to void and adjust + function body accordingly. Change "changed" variable to bool. + (one_code_hoisting_pass): Ditto. + (pre_edge_insert): Change return type from int to void and adjust + function body accordingly. Change "did_insert" variable to bool. + (pre_expr_reaches_here_p_work): Change return type from int to void + and adjust function body accordingly. + (simple_mem): Ditto. + (want_to_gcse_p): Change return type from int to void + and adjust function body accordingly. + (can_assign_to_reg_without_clobbers_p): Update function body + for bool return type. + (hash_scan_set): Change "antic_p" and "avail_p" variables to bool. + (pre_insert_copies): Change "added_copy" variable to bool. + +2023-07-08 Jonathan Wakely + + PR c++/110595 + PR c++/110596 + * doc/invoke.texi (Warning Options): Fix typos. + +2023-07-07 Jan Hubicka + + * profile-count.cc (profile_count::dump): Add FUN + parameter; print relative frequency. + (profile_count::debug): Update. + * profile-count.h (profile_count::dump): Update + prototype. + +2023-07-07 Roger Sayle + + PR target/43644 + PR target/110533 + * config/i386/i386-expand.cc (ix86_expand_move): Convert SETs of + TImode destinations from paradoxical SUBREGs (setting the lowpart) + into explicit zero extensions. Use *insvti_highpart_1 instruction + to set the highpart of a TImode destination. + +2023-07-07 Jan Hubicka + + * predict.cc (force_edge_cold): Use + set_edge_probability_and_rescale_others; improve dumps. + +2023-07-07 Jan Hubicka + + * cfgloopmanip.cc (scale_loop_profile): Fix computation of count_in and scaling blocks + after exit. + * tree-vect-loop-manip.cc (vect_do_peeling): Scale loop profile of the epilogue if bound + is known. + +2023-07-07 Juergen Christ + + * config/s390/s390.cc (vec_init): Fix default case + +2023-07-07 Vladimir N. Makarov + + * lra-assigns.cc (assign_by_spills): Add reload insns involving + reload pseudos with non-refined class to be processed on the next + sub-pass. + * lra-constraints.cc (enough_allocatable_hard_regs_p): New func. + (in_class_p): Use it. + (print_curr_insn_alt): New func. + (process_alt_operands): Use it. Improve debug info. + (curr_insn_transform): Use print_curr_insn_alt. Refine reload + pseudo class if it is not refined yet. + +2023-07-07 Aldy Hernandez + + * value-range.cc (irange::get_bitmask_from_range): Return all the + known bits for a singleton. + (irange::set_range_from_bitmask): Set a range of a singleton when + all bits are known. + +2023-07-07 Aldy Hernandez + + * value-range.cc (irange::intersect): Leave normalization to + caller. + +2023-07-07 Aldy Hernandez + + * data-streamer-in.cc (streamer_read_value_range): Adjust for + value/mask. + * data-streamer-out.cc (streamer_write_vrange): Same. + * range-op.cc (operator_cast::fold_range): Same. + * value-range-pretty-print.cc + (vrange_printer::print_irange_bitmasks): Same. + * value-range-storage.cc (irange_storage::write_lengths_address): + Same. + (irange_storage::set_irange): Same. + (irange_storage::get_irange): Same. + (irange_storage::size): Same. + (irange_storage::dump): Same. + * value-range-storage.h: Same. + * value-range.cc (debug): New. + (irange_bitmask::dump): New. + (add_vrange): Adjust for value/mask. + (irange::operator=): Same. + (irange::set): Same. + (irange::verify_range): Same. + (irange::operator==): Same. + (irange::contains_p): Same. + (irange::irange_single_pair_union): Same. + (irange::union_): Same. + (irange::intersect): Same. + (irange::invert): Same. + (irange::get_nonzero_bits_from_range): Rename to... + (irange::get_bitmask_from_range): ...this. + (irange::set_range_from_nonzero_bits): Rename to... + (irange::set_range_from_bitmask): ...this. + (irange::set_nonzero_bits): Rename to... + (irange::update_bitmask): ...this. + (irange::get_nonzero_bits): Rename to... + (irange::get_bitmask): ...this. + (irange::intersect_nonzero_bits): Rename to... + (irange::intersect_bitmask): ...this. + (irange::union_nonzero_bits): Rename to... + (irange::union_bitmask): ...this. + (irange_bitmask::verify_mask): New. + * value-range.h (class irange_bitmask): New. + (irange_bitmask::set_unknown): New. + (irange_bitmask::unknown_p): New. + (irange_bitmask::irange_bitmask): New. + (irange_bitmask::get_precision): New. + (irange_bitmask::get_nonzero_bits): New. + (irange_bitmask::set_nonzero_bits): New. + (irange_bitmask::operator==): New. + (irange_bitmask::union_): New. + (irange_bitmask::intersect): New. + (class irange): Friend vrange_printer. + (irange::varying_compatible_p): Adjust for bitmask. + (irange::set_varying): Same. + (irange::set_nonzero): Same. + +2023-07-07 Jan Beulich + + * config/i386/sse.md (*vec_extractv2ti): Drop g modifiers. + +2023-07-07 Jan Beulich + + * config/i386/sse.md (@vec_extract_hi_): Drop last + alternative. Switch new last alternative's "isa" attribute to + "avx512vl". + (vec_extract_hi_v32qi): Likewise. + +2023-07-07 Pan Li + Robin Dapp + + * config/riscv/riscv.cc (riscv_emit_mode_set): Avoid emit insn + when FRM_MODE_DYN. + (riscv_mode_entry): Take FRM_MODE_DYN as entry mode. + (riscv_mode_exit): Likewise for exit mode. + (riscv_mode_needed): Likewise for needed mode. + (riscv_mode_after): Likewise for after mode. + +2023-07-07 Pan Li + + * config/riscv/vector.md: Fix typo. + +2023-07-06 Jan Hubicka + + PR middle-end/25623 + * tree-ssa-loop-ch.cc (ch_base::copy_headers): Scale loop frequency to maximal number + of iterations determined. + * tree-ssa-loop-ivcanon.cc (try_unroll_loop_completely): Likewise. + +2023-07-06 Jan Hubicka + + * cfgloopmanip.cc (scale_loop_profile): Rewrite exit edge + probability update to be safe on loops with subloops. + Make bound parameter to be iteration bound. + * tree-ssa-loop-ivcanon.cc (try_peel_loop): Update call + of scale_loop_profile. + * tree-vect-loop-manip.cc (vect_do_peeling): Likewise. + +2023-07-06 Hao Liu OS + + PR tree-optimization/110449 + * tree-vect-loop.cc (vectorizable_induction): use vec_n to replace + vec_loop for the unrolled loop. + +2023-07-06 Jan Hubicka + + * cfg.cc (set_edge_probability_and_rescale_others): New function. + (update_bb_profile_for_threading): Use it; simplify the rest. + * cfg.h (set_edge_probability_and_rescale_others): Declare. + * profile-count.h (profile_probability::apply_scale): New. + +2023-07-06 Claudiu Zissulescu + + * doc/extend.texi (ARC Built-in Functions): Update documentation + with missing builtins. + +2023-07-06 Richard Biener + + PR tree-optimization/110556 + * tree-ssa-tail-merge.cc (gimple_equal_p): Check + assign code and all operands of non-stores. + +2023-07-06 Richard Biener + + PR tree-optimization/110563 + * tree-vectorizer.h (vect_determine_partial_vectors_and_peeling): + Remove second argument. + * tree-vect-loop.cc (vect_determine_partial_vectors_and_peeling): + Remove for_epilogue_p argument. Merge assert ... + (vect_analyze_loop_2): ... with check done before determining + partial vectors by moving it after. + * tree-vect-loop-manip.cc (vect_do_peeling): Adjust. + +2023-07-06 Thomas Schwinge + + * ggc-common.cc (gt_pch_note_reorder, gt_pch_save): Tighten up a + few things re 'reorder' option and strings. + * stringpool.cc (gt_pch_p_S): This is now 'gcc_unreachable'. + +2023-07-06 Thomas Schwinge + + * gengtype-parse.cc: Clean up obsolete parametrized structs + remnants. + * gengtype.cc: Likewise. + * gengtype.h: Likewise. + +2023-07-06 Thomas Schwinge + + * gengtype.cc (struct walk_type_data): Remove 'needs_cast_p'. + Adjust all users. + +2023-07-06 Thomas Schwinge + + * gengtype-parse.cc (token_names): Add '"user"'. + * gengtype.h (gty_token): Add 'UNUSED_PARAM_IS' for use with + 'FIRST_TOKEN_WITH_VALUE'. + +2023-07-06 Thomas Schwinge + + * doc/gty.texi (GTY Options) : Enhance. + +2023-07-06 Thomas Schwinge + + * gengtype.cc (write_root, write_roots): Explicitly reject + 'string_length' option. + * doc/gty.texi (GTY Options) : Document. + +2023-07-06 Thomas Schwinge + + * ggc-internal.h (ggc_pch_count_object, ggc_pch_alloc_object) + (ggc_pch_write_object): Remove 'bool is_string' argument. + * ggc-common.cc: Adjust. + * ggc-page.cc: Likewise. + +2023-07-06 Roger Sayle + + * dwarf2out.cc (mem_loc_descriptor): Handle COPYSIGN. + +2023-07-06 Hongyu Wang + + * doc/extend.texi: Move x86 inlining rule to a new subsubsection + and add description for inling of function with arch and tune + attributes. + +2023-07-06 Richard Biener + + PR tree-optimization/110515 + * tree-ssa-pre.cc (compute_avail): Make code dealing + with hoisting loads with different alias-sets more + robust. + +2023-07-06 Ju-Zhe Zhong + + * tree-vect-stmts.cc (vect_get_strided_load_store_ops): Fix ICE. + +2023-07-06 Hongyu Wang + + * config/i386/i386.cc (ix86_can_inline_p): If callee has + default arch=x86-64 and tune=generic, do not block the + inlining to its caller. Also allow callee with different + arch= to be inlined if it has always_inline attribute and + it's ISA is subset of caller's. + +2023-07-06 liuhongt + + * config/i386/i386.cc (ix86_rtx_costs): Adjust rtx_cost for + DF/SFmode AND/IOR/XOR/ANDN operations. + +2023-07-06 Andrew Pinski + + PR middle-end/110554 + * tree-vect-generic.cc (expand_vector_condition): For comparisons, + just build using boolean_type_node instead of the cond_type. + For non-comparisons/non-scalar-bitmask, build a ` != 0` gimple + that will feed into the COND_EXPR. + +2023-07-06 liuhongt + + PR target/110170 + * config/i386/i386.md (movdf_internal): Disparage slightly for + 2 alternatives (r,v) and (v,r) by adding constraint modifier + '?'. + +2023-07-06 Jeevitha Palanisamy + + PR target/106907 + * config/rs6000/rs6000.cc (rs6000_expand_vector_extract): Remove redundant + initialization of new_addr. + +2023-07-06 Hao Liu + + PR tree-optimization/110474 + * tree-vect-loop.cc (vect_analyze_loop_2): unscale the VF by suggested + unroll factor while selecting the epilog vect loop VF. + +2023-07-05 Andrew MacLeod + + * gimple-range-gori.cc (compute_operand_range): Convert to a tail + call. + +2023-07-05 Andrew MacLeod + + * gimple-range-gori.cc (compute_operand_range): After calling + compute_operand2_range, recursively call self if needed. + (compute_operand2_range): Turn into a leaf function. + (gori_compute::compute_operand1_and_operand2_range): Finish + operand2 calculation. + * gimple-range-gori.h (compute_operand2_range): Remove name param. + +2023-07-05 Andrew MacLeod + + * gimple-range-gori.cc (compute_operand_range): After calling + compute_operand1_range, recursively call self if needed. + (compute_operand1_range): Turn into a leaf function. + (gori_compute::compute_operand1_and_operand2_range): Finish + operand1 calculation. + * gimple-range-gori.h (compute_operand1_range): Remove name param. + +2023-07-05 Andrew MacLeod + + * gimple-range-gori.cc (compute_operand_range): Check for + operand interdependence when both op1 and op2 are computed. + (compute_operand1_and_operand2_range): No checks required now. + +2023-07-05 Andrew MacLeod + + * gimple-range-gori.cc (compute_operand_range): Check for + a relation between op1 and op2 and use that instead. + (compute_operand1_range): Don't look for a relation override. + (compute_operand2_range): Ditto. + +2023-07-05 Jonathan Wakely + + * doc/contrib.texi (Contributors): Update my entry. + +2023-07-05 Filip Kastl + + * value-prof.cc (gimple_mod_subtract_transform): Correct edge + prob calculation. + +2023-07-05 Uros Bizjak + + * sched-int.h (struct haifa_sched_info): Change can_schedule_ready_p, + scehdule_more_p and contributes_to_priority indirect frunction + type from int to bool. + (no_real_insns_p): Change return type from int to bool. + (contributes_to_priority): Ditto. + * haifa-sched.cc (no_real_insns_p): Change return type from + int to bool and adjust function body accordingly. + * modulo-sched.cc (try_scheduling_node_in_cycle): Change "success" + variable type from int to bool. + (ps_insn_advance_column): Change return type from int to bool. + (ps_has_conflicts): Ditto. Change "has_conflicts" + variable type from int to bool. + * sched-deps.cc (deps_may_trap_p): Change return type from int to bool. + (conditions_mutex_p): Ditto. + * sched-ebb.cc (schedule_more_p): Ditto. + (ebb_contributes_to_priority): Change return type from + int to bool and adjust function body accordingly. + * sched-rgn.cc (is_cfg_nonregular): Ditto. + (check_live_1): Ditto. + (is_pfree): Ditto. + (find_conditional_protection): Ditto. + (is_conditionally_protected): Ditto. + (is_prisky): Ditto. + (is_exception_free): Ditto. + (haifa_find_rgns): Change "unreachable" and "too_large_failure" + variables from int to bool. + (extend_rgns): Change "rescan" variable from int to bool. + (check_live): Change return type from + int to bool and adjust function body accordingly. + (can_schedule_ready_p): Ditto. + (schedule_more_p): Ditto. + (contributes_to_priority): Ditto. + +2023-07-05 Robin Dapp + + * doc/md.texi: Document that vec_set and vec_extract must not + fail. + * gimple-isel.cc (gimple_expand_vec_set_expr): Rename this... + (gimple_expand_vec_set_extract_expr): ...to this. + (gimple_expand_vec_exprs): Call renamed function. + * internal-fn.cc (vec_extract_direct): Add. + (expand_vec_extract_optab_fn): New function to expand + vec_extract optab. + (direct_vec_extract_optab_supported_p): Add. + * internal-fn.def (VEC_EXTRACT): Add. + * optabs.cc (can_vec_extract_var_idx_p): New function. + * optabs.h (can_vec_extract_var_idx_p): Declare. + +2023-07-05 Robin Dapp + + * config/riscv/autovec.md: Add gen_lowpart. + +2023-07-05 Robin Dapp + + * config/riscv/autovec.md: Allow register index operand. + +2023-07-05 Pan Li + + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_exact_insn): Use FRM_DYN instead of const0. + +2023-07-05 Robin Dapp + + * config/riscv/autovec.md: Use float_truncate. + +2023-07-05 Ju-Zhe Zhong + + * internal-fn.cc (internal_fn_len_index): Apply + LEN_MASK_GATHER_LOAD/SCATTER_STORE into vectorizer. + (internal_fn_mask_index): Ditto. + * optabs-query.cc (supports_vec_gather_load_p): Ditto. + (supports_vec_scatter_store_p): Ditto. + * tree-vect-data-refs.cc (vect_gather_scatter_fn_p): Ditto. + * tree-vect-patterns.cc (vect_recog_gather_scatter_pattern): Ditto. + * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Ditto. + (vect_get_strided_load_store_ops): Ditto. + (vectorizable_store): Ditto. + (vectorizable_load): Ditto. + +2023-07-05 Robin Dapp + Juzhe-Zhong + + * simplify-rtx.cc (native_encode_rtx): Ditto. + (native_decode_vector_rtx): Ditto. + (simplify_const_vector_byte_offset): Ditto. + (simplify_const_vector_subreg): Ditto. + * tree.cc (build_truth_vector_type_for_mode): Ditto. + * varasm.cc (output_constant_pool_2): Ditto. + +2023-07-05 YunQiang Su + + * config/mips/mips.cc (mips_expand_block_move): don't expand for + r6 with -mno-unaligned-access option if one or both of src and + dest are unaligned. restruct: return directly if length is not const. + (mips_block_move_straight): emit_move if ISA_HAS_UNALIGNED_ACCESS. + +2023-07-05 Jan Beulich + + PR target/100711 + * config/i386/sse.md: New splitters to simplify + not;vec_duplicate as a singular vpternlog. + (one_cmpl2): Allow broadcast for operand 1. + (one_cmpl2): Likewise. + +2023-07-05 Jan Beulich + + PR target/100711 + * config/i386/sse.md: New splitters to simplify + not;vec_duplicate;{ior,xor} as vec_duplicate;{iornot,xnor}. + +2023-07-05 Jan Beulich + + PR target/100711 + * config/i386/sse.md: Permit non-immediate operand 1 in AVX2 + form of splitter for PR target/100711. + +2023-07-05 Richard Biener + + PR middle-end/110541 + * tree.def (VEC_PERM_EXPR): Adjust documentation to reflect + reality. + +2023-07-05 Jan Beulich + + PR target/93768 + * config/i386/sse.md (*andnot3): Add new alternatives + for memory form operand 1. + +2023-07-05 Jan Beulich + + PR target/93768 + * config/i386/i386.cc (ix86_rtx_costs): Further special-case + bitwise vector operations. + * config/i386/sse.md (*iornot3): New insn. + (*xnor3): Likewise. + (*3): Likewise. + (andor): New code iterator. + (nlogic): New code attribute. + (ternlog_nlogic): Likewise. + +2023-07-05 Richard Biener + + * tree-vect-stmts.cc (vect_mark_relevant): Fix typo. + +2023-07-05 yulong + + * config/riscv/vector.md: Add float16 attr at sew、vlmul and ratio. + +2023-07-05 yulong + + * config/riscv/genrvv-type-indexer.cc (valid_type): Enable FP16 tuple. + * config/riscv/riscv-modes.def (RVV_TUPLE_MODES): New macro. + (ADJUST_ALIGNMENT): Ditto. + (RVV_TUPLE_PARTIAL_MODES): Ditto. + (ADJUST_NUNITS): Ditto. + * config/riscv/riscv-vector-builtins-types.def (vfloat16mf4x2_t): + New types. + (vfloat16mf4x3_t): Ditto. + (vfloat16mf4x4_t): Ditto. + (vfloat16mf4x5_t): Ditto. + (vfloat16mf4x6_t): Ditto. + (vfloat16mf4x7_t): Ditto. + (vfloat16mf4x8_t): Ditto. + (vfloat16mf2x2_t): Ditto. + (vfloat16mf2x3_t): Ditto. + (vfloat16mf2x4_t): Ditto. + (vfloat16mf2x5_t): Ditto. + (vfloat16mf2x6_t): Ditto. + (vfloat16mf2x7_t): Ditto. + (vfloat16mf2x8_t): Ditto. + (vfloat16m1x2_t): Ditto. + (vfloat16m1x3_t): Ditto. + (vfloat16m1x4_t): Ditto. + (vfloat16m1x5_t): Ditto. + (vfloat16m1x6_t): Ditto. + (vfloat16m1x7_t): Ditto. + (vfloat16m1x8_t): Ditto. + (vfloat16m2x2_t): Ditto. + (vfloat16m2x3_t): Ditto. + (vfloat16m2x4_t): Ditto. + (vfloat16m4x2_t): Ditto. + * config/riscv/riscv-vector-builtins.def (vfloat16mf4x2_t): New macro. + (vfloat16mf4x3_t): Ditto. + (vfloat16mf4x4_t): Ditto. + (vfloat16mf4x5_t): Ditto. + (vfloat16mf4x6_t): Ditto. + (vfloat16mf4x7_t): Ditto. + (vfloat16mf4x8_t): Ditto. + (vfloat16mf2x2_t): Ditto. + (vfloat16mf2x3_t): Ditto. + (vfloat16mf2x4_t): Ditto. + (vfloat16mf2x5_t): Ditto. + (vfloat16mf2x6_t): Ditto. + (vfloat16mf2x7_t): Ditto. + (vfloat16mf2x8_t): Ditto. + (vfloat16m1x2_t): Ditto. + (vfloat16m1x3_t): Ditto. + (vfloat16m1x4_t): Ditto. + (vfloat16m1x5_t): Ditto. + (vfloat16m1x6_t): Ditto. + (vfloat16m1x7_t): Ditto. + (vfloat16m1x8_t): Ditto. + (vfloat16m2x2_t): Ditto. + (vfloat16m2x3_t): Ditto. + (vfloat16m2x4_t): Ditto. + (vfloat16m4x2_t): Ditto. + * config/riscv/riscv-vector-switch.def (TUPLE_ENTRY): New. + * config/riscv/riscv.md: New. + * config/riscv/vector-iterators.md: New. + +2023-07-04 Andrew Pinski + + PR tree-optimization/110487 + * match.pd (a !=/== CST1 ? CST2 : CST3): Always + build a nonstandard integer and use that. + +2023-07-04 Andrew Pinski + + * match.pd (a?-1:0): Cast type an integer type + rather the type before the negative. + (a?0:-1): Likewise. + +2023-07-04 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.cc (machine_function, xtensa_expand_prologue): + Change to use HARD_REG_BIT and its macros. + * config/xtensa/xtensa.md + (peephole2: regmove elimination during DFmode input reload): + Likewise. + +2023-07-04 Richard Biener + + PR tree-optimization/110491 + * tree-ssa-phiopt.cc (match_simplify_replacement): Check + whether the PHI args are possibly undefined before folding + the COND_EXPR. + +2023-07-04 Pan Li + Thomas Schwinge + + * lto-streamer-in.cc (lto_input_mode_table): Stream in the mode + bits for machine mode table. + * lto-streamer-out.cc (lto_write_mode_table): Stream out the + HOST machine mode bits. + * lto-streamer.h (struct lto_file_decl_data): New fields mode_bits. + * tree-streamer.cc (streamer_mode_table): Take MAX_MACHINE_MODE + as the table size. + * tree-streamer.h (streamer_mode_table): Ditto. + (bp_pack_machine_mode): Take 1 << ceil_log2 (MAX_MACHINE_MODE) + as the packing limit. + (bp_unpack_machine_mode): Ditto with 'file_data->mode_bits'. + +2023-07-04 Thomas Schwinge + + * lto-streamer.h (class lto_input_block): Capture + 'lto_file_decl_data *file_data' instead of just + 'unsigned char *mode_table'. + * ipa-devirt.cc (ipa_odr_read_section): Adjust. + * ipa-fnsummary.cc (inline_read_section): Likewise. + * ipa-icf.cc (sem_item_optimizer::read_section): Likewise. + * ipa-modref.cc (read_section): Likewise. + * ipa-prop.cc (ipa_prop_read_section, read_replacements_section): + Likewise. + * ipa-sra.cc (isra_read_summary_section): Likewise. + * lto-cgraph.cc (input_cgraph_opt_section): Likewise. + * lto-section-in.cc (lto_create_simple_input_block): Likewise. + * lto-streamer-in.cc (lto_read_body_or_constructor) + (lto_input_toplevel_asms): Likewise. + * tree-streamer.h (bp_unpack_machine_mode): Likewise. + +2023-07-04 Richard Biener + + * tree-ssa-phiopt.cc (pass_phiopt::execute): Mark SSA undefs. + (empty_bb_or_one_feeding_into_p): Check for them. + * tree-ssa.h (gimple_uses_undefined_value_p): Remove. + * tree-ssa.cc (gimple_uses_undefined_value_p): Likewise. + +2023-07-04 Richard Biener + + * tree-vect-loop.cc (vect_analyze_loop_costing): Remove + check guarding scalar_niter underflow. + +2023-07-04 Hao Liu + + PR tree-optimization/110531 + * tree-vect-loop.cc (vect_analyze_loop_1): initialize + slp_done_for_suggested_uf to false. + +2023-07-04 Richard Biener + + PR tree-optimization/110228 + * tree-ssa-ifcombine.cc (pass_tree_ifcombine::execute): + Mark SSA may-undefs. + (bb_no_side_effects_p): Check stmt uses for undefs. + +2023-07-04 Richard Biener + + PR tree-optimization/110436 + * tree-vect-stmts.cc (vect_mark_relevant): Expand dumping, + force live but not relevant pattern stmts relevant. + +2023-07-04 Lili Cui + + * config/i386/i386.h: Add PTA_ENQCMD and PTA_UINTR to PTA_SIERRAFOREST. + * doc/invoke.texi: Update new isa to march=sierraforest and grandridge. + +2023-07-04 Richard Biener + + PR middle-end/110495 + * tree.h (TREE_OVERFLOW): Do not mention VECTOR_CSTs + since we do not set TREE_OVERFLOW on those since the + introduction of VL vectors. + * match.pd (x +- CST +- CST): For VECTOR_CST do not look + at TREE_OVERFLOW to determine validity of association. + +2023-07-04 Richard Biener + + PR tree-optimization/110310 + * tree-vect-loop.cc (vect_determine_partial_vectors_and_peeling): + Move costing part ... + (vect_analyze_loop_costing): ... here. Integrate better + estimate for epilogues from ... + (vect_analyze_loop_2): Call vect_determine_partial_vectors_and_peeling + with actual epilogue status. + * tree-vect-loop-manip.cc (vect_do_peeling): ... here and + avoid cancelling epilogue vectorization. + (vect_update_epilogue_niters): Remove. No longer update + epilogue LOOP_VINFO_NITERS. + +2023-07-04 Pan Li + + Revert: + 2023-07-03 Pan Li + + * config/riscv/vector.md: Fix typo. + +2023-07-04 Ju-Zhe Zhong + + * doc/md.texi: Add len_mask_gather_load/len_mask_scatter_store. + * internal-fn.cc (expand_scatter_store_optab_fn): Ditto. + (expand_gather_load_optab_fn): Ditto. + (internal_load_fn_p): Ditto. + (internal_store_fn_p): Ditto. + (internal_gather_scatter_fn_p): Ditto. + (internal_fn_len_index): Ditto. + (internal_fn_mask_index): Ditto. + (internal_fn_stored_value_index): Ditto. + * internal-fn.def (LEN_MASK_GATHER_LOAD): Ditto. + (LEN_MASK_SCATTER_STORE): Ditto. + * optabs.def (OPTAB_CD): Ditto. + +2023-07-04 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc + (vector_insn_info::parse_insn): Add early break. + +2023-07-04 Hans-Peter Nilsson + + * config/cris/cris.md (CRIS_UNSPEC_SWAP_BITS): Remove. + ("cris_swap_bits", "ctzsi2"): Use bitreverse instead. + +2023-07-04 Hans-Peter Nilsson + + * dwarf2out.cc (mem_loc_descriptor): Handle BITREVERSE. + +2023-07-03 Christoph Müllner + + * common/config/riscv/riscv-common.cc: Add support for zvbb, + zvbc, zvkg, zvkned, zvknha, zvknhb, zvksed, zvksh, zvkn, + zvknc, zvkng, zvks, zvksc, zvksg, zvkt and the implied subsets. + * config/riscv/arch-canonicalize: Add canonicalization info for + zvkn, zvknc, zvkng, zvks, zvksc, zvksg. + * config/riscv/riscv-opts.h (MASK_ZVBB): New macro. + (MASK_ZVBC): Likewise. + (TARGET_ZVBB): Likewise. + (TARGET_ZVBC): Likewise. + (MASK_ZVKG): Likewise. + (MASK_ZVKNED): Likewise. + (MASK_ZVKNHA): Likewise. + (MASK_ZVKNHB): Likewise. + (MASK_ZVKSED): Likewise. + (MASK_ZVKSH): Likewise. + (MASK_ZVKN): Likewise. + (MASK_ZVKNC): Likewise. + (MASK_ZVKNG): Likewise. + (MASK_ZVKS): Likewise. + (MASK_ZVKSC): Likewise. + (MASK_ZVKSG): Likewise. + (MASK_ZVKT): Likewise. + (TARGET_ZVKG): Likewise. + (TARGET_ZVKNED): Likewise. + (TARGET_ZVKNHA): Likewise. + (TARGET_ZVKNHB): Likewise. + (TARGET_ZVKSED): Likewise. + (TARGET_ZVKSH): Likewise. + (TARGET_ZVKN): Likewise. + (TARGET_ZVKNC): Likewise. + (TARGET_ZVKNG): Likewise. + (TARGET_ZVKS): Likewise. + (TARGET_ZVKSC): Likewise. + (TARGET_ZVKSG): Likewise. + (TARGET_ZVKT): Likewise. + * config/riscv/riscv.opt: Introduction of riscv_zv{b,k}_subext. + +2023-07-03 Andrew Pinski + + PR middle-end/110510 + * except.h (struct eh_landing_pad_d): Add chain_next GTY. + +2023-07-03 Iain Sandoe + + * config/darwin.h: Avoid duplicate multiply_defined specs on + earlier Darwin versions with shared libgcc. + +2023-07-03 Uros Bizjak + + * tree.h (tree_int_cst_equal): Change return type from int to bool. + (operand_equal_for_phi_arg_p): Ditto. + (tree_map_base_marked_p): Ditto. + * tree.cc (contains_placeholder_p): Update function body + for bool return type. + (type_cache_hasher::equal): Ditto. + (tree_map_base_hash): Change return type + from int to void and adjust function body accordingly. + (tree_int_cst_equal): Ditto. + (operand_equal_for_phi_arg_p): Ditto. + (get_narrower): Change "first" variable to bool. + (cl_option_hasher::equal): Update function body for bool return type. + * ggc.h (ggc_set_mark): Change return type from int to bool. + (ggc_marked_p): Ditto. + * ggc-page.cc (gt_ggc_mx): Change return type + from int to void and adjust function body accordingly. + (ggc_set_mark): Ditto. + +2023-07-03 Ju-Zhe Zhong + + * config/riscv/autovec.md: Change order of + LEN_MASK_LOAD/LEN_MASK_STORE/LEN_LOAD/LEN_STORE arguments. + * config/riscv/riscv-v.cc (expand_load_store): Ditto. + * doc/md.texi: Ditto. + * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Ditto. + * internal-fn.cc (len_maskload_direct): Ditto. + (len_maskstore_direct): Ditto. + (add_len_and_mask_args): New function. + (expand_partial_load_optab_fn): Change order of + LEN_MASK_LOAD/LEN_MASK_STORE/LEN_LOAD/LEN_STORE arguments. + (expand_partial_store_optab_fn): Ditto. + (internal_fn_len_index): New function. + (internal_fn_mask_index): Change order of + LEN_MASK_LOAD/LEN_MASK_STORE/LEN_LOAD/LEN_STORE arguments. + (internal_fn_stored_value_index): Ditto. + (internal_len_load_store_bias): Ditto. + * internal-fn.h (internal_fn_len_index): New function. + * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Change order of + LEN_MASK_LOAD/LEN_MASK_STORE/LEN_LOAD/LEN_STORE arguments. + * tree-vect-stmts.cc (vectorizable_store): Ditto. + (vectorizable_load): Ditto. + +2023-07-03 Gaius Mulley + + PR modula2/110125 + * doc/gm2.texi (Semantic checking): Include examples using + -Wuninit-variable-checking. + +2023-07-03 Juzhe-Zhong + + * config/riscv/autovec-opt.md (*double_widen_fnma): New pattern. + (*single_widen_fnma): Ditto. + (*double_widen_fms): Ditto. + (*single_widen_fms): Ditto. + (*double_widen_fnms): Ditto. + (*single_widen_fnms): Ditto. + +2023-07-03 Juzhe-Zhong + + * config/riscv/autovec-opt.md (@pred_single_widen_mul): Change "@" + into "*" in pattern name which simplifies build files. + (*pred_single_widen_mul): Ditto. + (*pred_single_widen_mul): New pattern. + +2023-07-03 Richard Sandiford + + * config/aarch64/aarch64-simd.md (vec_extract): Expect + the index to be 0 or 1. + +2023-07-03 Lehua Ding + + Revert: + 2023-07-03 Juzhe-Zhong + + * config/riscv/autovec-opt.md (*double_widen_fnma): New pattern. + (*single_widen_fnma): Ditto. + (*double_widen_fms): Ditto. + (*single_widen_fms): Ditto. + (*double_widen_fnms): Ditto. + (*single_widen_fnms): Ditto. + +2023-07-03 Juzhe-Zhong + + * config/riscv/autovec-opt.md (*double_widen_fnma): New pattern. + (*single_widen_fnma): Ditto. + (*double_widen_fms): Ditto. + (*single_widen_fms): Ditto. + (*double_widen_fnms): Ditto. + (*single_widen_fnms): Ditto. + +2023-07-03 Pan Li + + * config/riscv/vector.md: Fix typo. + +2023-07-03 Richard Biener + + PR tree-optimization/110506 + * tree-vect-patterns.cc (vect_recog_rotate_pattern): Re-order + TYPE_PRECISION access with INTEGRAL_TYPE_P check. + +2023-07-03 Richard Biener + + PR tree-optimization/110506 + * tree-ssa-ccp.cc (get_value_for_expr): Check for integral + type before relying on TYPE_PRECISION to produce a nonzero mask. + +2023-07-03 Jie Mei + + * config/mips/mips.md(*and3_mips16): Generates + ZEB/ZEH instructions. + +2023-07-03 Jie Mei + + * config/mips/mips.cc(mips_9bit_offset_address_p): Restrict the + address register to M16_REGS for MIPS16. + (BUILTIN_AVAIL_MIPS16E2): Defined a new macro. + (AVAIL_MIPS16E2_OR_NON_MIPS16): Same as above. + (AVAIL_NON_MIPS16 (cache..)): Update to + AVAIL_MIPS16E2_OR_NON_MIPS16. + * config/mips/mips.h (ISA_HAS_CACHE): Add clause for ISA_HAS_MIPS16E2. + * config/mips/mips.md (mips_cache): Mark as extended MIPS16. + +2023-07-03 Jie Mei + + * config/mips/mips.h(ISA_HAS_9BIT_DISPLACEMENT): Add clause + for ISA_HAS_MIPS16E2. + (ISA_HAS_SYNC): Same as above. + (ISA_HAS_LL_SC): Same as above. + +2023-07-03 Jie Mei + + * config/mips/mips.cc(mips_expand_ins_as_unaligned_store): + Add logics for generating instruction. + * config/mips/mips.h(ISA_HAS_LWL_LWR): Add clause for ISA_HAS_MIPS16E2. + * config/mips/mips.md(mov_l): Generates instructions. + (mov_r): Same as above. + (mov_l): Adjusted for the conditions above. + (mov_r): Same as above. + (mov_l_mips16e2): Add machine description for `define_insn mov_l_mips16e2`. + (mov_r_mips16e2): Add machine description for `define_insn mov_r_mips16e2`. + +2023-07-03 Jie Mei + + * config/mips/mips.cc(mips_symbol_insns_1): Generates LUI instruction. + (mips_const_insns): Same as above. + (mips_output_move): Same as above. + (mips_output_function_prologue): Same as above. + * config/mips/mips.md: Same as above + +2023-07-03 Jie Mei + + * config/mips/constraints.md(Yz): New constraints for mips16e2. + * config/mips/mips-protos.h(mips_bit_clear_p): Declared new function. + (mips_bit_clear_info): Same as above. + * config/mips/mips.cc(mips_bit_clear_info): New function for + generating instructions. + (mips_bit_clear_p): Same as above. + * config/mips/mips.h(ISA_HAS_EXT_INS): Add clause for ISA_HAS_MIPS16E2. + * config/mips/mips.md(extended_mips16): Generates EXT and INS instructions. + (*and3): Generates INS instruction. + (*and3_mips16): Generates EXT, INS and ANDI instructions. + (ior3): Add logics for ORI instruction. + (*ior3_mips16_asmacro): Generates ORI instrucion. + (*ior3_mips16): Add logics for XORI instruction. + (*xor3_mips16): Generates XORI instrucion. + (*extzv): Add logics for EXT instruction. + (*insv): Add logics for INS instruction. + * config/mips/predicates.md(bit_clear_operand): New predicate for + generating bitwise instructions. + (and_reg_operand): Add logics for generating bitwise instructions. + +2023-07-03 Jie Mei + + * config/mips/mips.cc(mips_regno_mode_ok_for_base_p): Generate instructions + that uses global pointer register. + (mips16_unextended_reference_p): Same as above. + (mips_pic_base_register): Same as above. + (mips_init_relocs): Same as above. + * config/mips/mips.h(MIPS16_GP_LOADS): Defined a new macro. + (GLOBAL_POINTER_REGNUM): Moved to machine description `mips.md`. + * config/mips/mips.md(GLOBAL_POINTER_REGNUM): Moved to here from above. + (*lowsi_mips16_gp):New `define_insn *low_mips16`. + +2023-07-03 Jie Mei + + * config/mips/mips.h(ISA_HAS_CONDMOVE): Add condition for ISA_HAS_MIPS16E2. + * config/mips/mips.md(*mov_on_): Add logics for MOVx insts. + (*mov_on__mips16e2): Generate MOVx instruction. + (*mov_on__ne): Add logics for MOVx insts. + (*mov_on__ne_mips16e2): Generate MOVx instruction. + * config/mips/predicates.md(reg_or_0_operand_mips16e2): New predicate for MOVx insts. + +2023-07-03 Jie Mei + + * config/mips/mips.cc(mips_file_start): Add mips16e2 info + for output file. + * config/mips/mips.h(__mips_mips16e2): Defined a new + predefine macro. + (ISA_HAS_MIPS16E2): Defined a new macro. + (ASM_SPEC): Pass mmips16e2 to the assembler. + * config/mips/mips.opt: Add -m(no-)mips16e2 option. + * config/mips/predicates.md: Add clause for TARGET_MIPS16E2. + * doc/invoke.texi: Add -m(no-)mips16e2 option.. + +2023-07-02 Jakub Jelinek + + PR tree-optimization/110508 + * tree-ssa-math-opts.cc (match_uaddc_usubc): Only replace re2 with + REALPART_EXPR opf nlhs if re2 is non-NULL. + +2023-07-02 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.cc (xtensa_match_CLAMPS_imms_p): + Simplify. + * config/xtensa/xtensa.md (*xtensa_clamps): + Add TARGET_MINMAX to the condition. + +2023-07-02 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.md (*eqne_INT_MIN): + Add missing ":SI" to the match_operator. + +2023-07-02 Iain Sandoe + + PR target/108743 + * config/darwin.opt: Add fconstant-cfstrings alias to + mconstant-cfstrings. + * doc/invoke.texi: Amend invocation descriptions to reflect + that the fconstant-cfstrings is a target-option alias and to + add the missing mconstant-cfstrings option description to the + Darwin section. + +2023-07-01 Jan Hubicka + + * tree-cfg.cc (gimple_duplicate_sese_region): Add elliminated_edge + parmaeter; update profile. + * tree-cfg.h (gimple_duplicate_sese_region): Update prototype. + * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Rename to ... + (static_loop_exit): ... this; return the edge to be elliminated. + (ch_base::copy_headers): Handle profile updating for eliminated exits. + +2023-07-01 Roger Sayle + + * config/i386/i386-features.cc (compute_convert_gain): Provide + gains/costs for ROTATE and ROTATERT (by an integer constant). + (general_scalar_chain::convert_rotate): New helper function to + convert a DImode or SImode rotation by an integer constant into + SSE vector form. + (general_scalar_chain::convert_insn): Call the new convert_rotate + for ROTATE and ROTATERT. + (general_scalar_to_vector_candidate_p): Consider ROTATE and + ROTATERT to be candidates if the second operand is an integer + constant, valid for a rotation (or shift) in the given mode. + * config/i386/i386-features.h (general_scalar_chain): Add new + helper method convert_rotate. + +2023-07-01 Jan Hubicka + + PR tree-optimization/103680 + * cfg.cc (update_bb_profile_for_threading): Fix profile update; + make message clearer. + +2023-06-30 Qing Zhao + + PR tree-optimization/101832 + * tree-object-size.cc (addr_object_size): Handle structure/union type + when it has flexible size. + +2023-06-30 Eric Botcazou + + * gimple-fold.cc (fold_array_ctor_reference): Fix head comment. + (fold_nonarray_ctor_reference): Likewise. Specifically deal + with integral bit-fields. + (fold_ctor_reference): Make sure that the constructor uses the + native storage order. + +2023-06-30 Jan Hubicka + + PR middle-end/109849 + * predict.cc (estimate_bb_frequencies): Turn to static function. + (expr_expected_value_1): Fix handling of binary expressions with + predicted values. + * predict.def (PRED_MALLOC_NONNULL): Move later in the priority queue. + (PRED_BUILTIN_EXPECT_WITH_PROBABILITY): Move to almost top of the priority + queue. + * predict.h (estimate_bb_frequencies): No longer declare it. + +2023-06-30 Uros Bizjak + + * fold-const.h (multiple_of_p): Change return type from int to bool. + * fold-const.cc (split_tree): Change negl_p, neg_litp_p, + neg_conp_p and neg_var_p variables to bool. + (const_binop): Change sat_p variable to bool. + (merge_ranges): Change no_overlap variable to bool. + (extract_muldiv_1): Change same_p variable to bool. + (tree_swap_operands_p): Update function body for bool return type. + (fold_truth_andor): Change commutative variable to bool. + (multiple_of_p): Change return type + from int to void and adjust function body accordingly. + * optabs.h (expand_twoval_unop): Change return type from int to bool. + (expand_twoval_binop): Ditto. + (can_compare_p): Ditto. + (have_add2_insn): Ditto. + (have_addptr3_insn): Ditto. + (have_sub2_insn): Ditto. + (have_insn_for): Ditto. + * optabs.cc (add_equal_note): Ditto. + (widen_operand): Change no_extend argument from int to bool. + (expand_binop): Ditto. + (expand_twoval_unop): Change return type + from int to void and adjust function body accordingly. + (expand_twoval_binop): Ditto. + (can_compare_p): Ditto. + (have_add2_insn): Ditto. + (have_addptr3_insn): Ditto. + (have_sub2_insn): Ditto. + (have_insn_for): Ditto. + +2023-06-30 Oluwatamilore Adebayo + + * config/aarch64/aarch64-simd.md + (vec_widen_abdl_lo_, vec_widen_abdl_hi_): + Expansions for abd vec widen optabs. + (aarch64_abdl_insn): VQW based abdl RTL. + * config/aarch64/iterators.md (USMAX_EXT): Code attributes + that give the appropriate extend RTL for the max RTL. + +2023-06-30 Oluwatamilore Adebayo + + * internal-fn.def (VEC_WIDEN_ABD): New internal hilo optab. + * optabs.def (vec_widen_sabd_optab, + vec_widen_sabd_hi_optab, vec_widen_sabd_lo_optab, + vec_widen_sabd_odd_even, vec_widen_sabd_even_optab, + vec_widen_uabd_optab, + vec_widen_uabd_hi_optab, vec_widen_uabd_lo_optab, + vec_widen_uabd_odd_even, vec_widen_uabd_even_optab): + New optabs. + * doc/md.texi: Document them. + * tree-vect-patterns.cc (vect_recog_abd_pattern): Update to + to build a VEC_WIDEN_ABD call if the input precision is smaller + than the precision of the output. + (vect_recog_widen_abd_pattern): Should an ABD expression be + found preceeding an extension, replace the two with a + VEC_WIDEN_ABD. + +2023-06-30 Pan Li + + * config/riscv/vector.md: Refactor the common condition. + +2023-06-30 Richard Biener + + PR tree-optimization/110496 + * gimple-ssa-store-merging.cc (find_bswap_or_nop_1): Re-order + verifying and TYPE_PRECISION query for the BIT_FIELD_REF case. + +2023-06-30 Richard Biener + + PR middle-end/110489 + * statistics.cc (curr_statistics_hash): Add argument + indicating whether we should allocate the hash. + (statistics_fini_pass): If the hash isn't allocated + only print the summary header. + +2023-06-30 Segher Boessenkool + Thomas Schwinge + + * config/nvptx/nvptx.cc (TARGET_LRA_P): Remove. + +2023-06-30 Jovan Dmitrović + + PR target/109435 + * config/mips/mips.cc (mips_function_arg_alignment): Returns + the alignment of function argument. In case of typedef type, + it returns the aligment of the aliased type. + (mips_function_arg_boundary): Relocated calculation of the + aligment of function arguments. + +2023-06-29 Jan Hubicka + + PR tree-optimization/109849 + * ipa-fnsummary.cc (decompose_param_expr): Skip + functions returning its parameter. + (set_cond_stmt_execution_predicate): Return early + if predicate was constructed. + +2023-06-29 Qing Zhao + + PR c/77650 + * doc/extend.texi: Document GCC extension on a structure containing + a flexible array member to be a member of another structure. + +2023-06-29 Qing Zhao + + * print-tree.cc (print_node): Print new bit type_include_flexarray. + * tree-core.h (struct tree_type_common): Use bit no_named_args_stdarg_p + as type_include_flexarray for RECORD_TYPE or UNION_TYPE. + * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Stream + in bit no_named_args_stdarg_p properly for its corresponding type. + * tree-streamer-out.cc (pack_ts_type_common_value_fields): Stream + out bit no_named_args_stdarg_p properly for its corresponding type. + * tree.h (TYPE_INCLUDES_FLEXARRAY): New macro TYPE_INCLUDES_FLEXARRAY. + +2023-06-29 Aldy Hernandez + + * tree-vrp.cc (maybe_set_nonzero_bits): Move from here... + * tree-ssa-dom.cc (maybe_set_nonzero_bits): ...to here. + * tree-vrp.h (maybe_set_nonzero_bits): Remove. + +2023-06-29 Aldy Hernandez + + * value-range.cc (frange::set): Do not call verify_range. + (frange::normalize_kind): Verify range. + (frange::union_nans): Do not call verify_range. + (frange::union_): Same. + (frange::intersect): Same. + (irange::irange_single_pair_union): Call normalize_kind if + necessary. + (irange::union_): Same. + (irange::intersect): Same. + (irange::set_range_from_nonzero_bits): Verify range. + (irange::set_nonzero_bits): Call normalize_kind if necessary. + (irange::get_nonzero_bits): Tweak comment. + (irange::intersect_nonzero_bits): Call normalize_kind if + necessary. + (irange::union_nonzero_bits): Same. + * value-range.h (irange::normalize_kind): Verify range. + +2023-06-29 Uros Bizjak + + * cselib.h (rtx_equal_for_cselib_1): + Change return type from int to bool. + (references_value_p): Ditto. + (rtx_equal_for_cselib_p): Ditto. + * expr.h (can_store_by_pieces): Ditto. + (try_casesi): Ditto. + (try_tablejump): Ditto. + (safe_from_p): Ditto. + * sbitmap.h (bitmap_equal_p): Ditto. + * cselib.cc (references_value_p): Change return type + from int to void and adjust function body accordingly. + (rtx_equal_for_cselib_1): Ditto. + * expr.cc (is_aligning_offset): Ditto. + (can_store_by_pieces): Ditto. + (mostly_zeros_p): Ditto. + (all_zeros_p): Ditto. + (safe_from_p): Ditto. + (is_aligning_offset): Ditto. + (try_casesi): Ditto. + (try_tablejump): Ditto. + (store_constructor): Change "need_to_clear" and + "const_bounds_p" variables to bool. + * sbitmap.cc (bitmap_equal_p): Change return type from int to bool. + +2023-06-29 Robin Dapp + + * tree-ssa-math-opts.cc (divmod_candidate_p): Use + element_precision. + +2023-06-29 Richard Biener + + PR tree-optimization/110460 + * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): + Only allow integral, pointer and scalar float type scalar_type. + +2023-06-29 Lili Cui + + PR tree-optimization/110148 + * tree-ssa-reassoc.cc (rewrite_expr_tree_parallel): Handle loop-carried + ops in this function. + +2023-06-29 Richard Biener + + PR middle-end/110452 + * expr.cc (store_constructor): Handle uniform boolean + vectors with integer mode specially. + +2023-06-29 Richard Biener + + PR middle-end/110461 + * match.pd (bitop (convert@2 @0) (convert?@3 @1)): Disable + for VECTOR_TYPE_P. + +2023-06-29 Richard Sandiford + + * vec.h (gt_pch_nx): Add overloads for va_gc_atomic. + (array_slice): Relax va_gc constructor to handle all vectors + with a vl_embed layout. + +2023-06-29 Pan Li + + * config/riscv/riscv.cc (riscv_emit_mode_set): Add emit for FRM. + (riscv_mode_needed): Likewise. + (riscv_entity_mode_after): Likewise. + (riscv_mode_after): Likewise. + (riscv_mode_entry): Likewise. + (riscv_mode_exit): Likewise. + * config/riscv/riscv.h (NUM_MODES_FOR_MODE_SWITCHING): Add number + for FRM. + * config/riscv/riscv.md: Add FRM register. + * config/riscv/vector-iterators.md: Add FRM type. + * config/riscv/vector.md (frm_mode): Define new attr for FRM mode. + (fsrm): Define new insn for fsrm instruction. + +2023-06-29 Pan Li + + * config/riscv/riscv-protos.h (enum floating_point_rounding_mode): + Add macro for static frm min and max. + * config/riscv/riscv-vector-builtins-bases.cc + (class binop_frm): New class for floating-point with frm. + (BASE): Add vfadd for frm. + * config/riscv/riscv-vector-builtins-bases.h: Likewise. + * config/riscv/riscv-vector-builtins-functions.def + (vfadd_frm): Likewise. + * config/riscv/riscv-vector-builtins-shapes.cc + (struct alu_frm_def): New struct for alu with frm. + (SHAPE): Add alu with frm. + * config/riscv/riscv-vector-builtins-shapes.h: Likewise. + * config/riscv/riscv-vector-builtins.cc + (function_checker::report_out_of_range_and_not): New function + for report out of range and not val. + (function_checker::require_immediate_range_or): New function + for checking in range or one val. + * config/riscv/riscv-vector-builtins.h: Add function decl. + +2023-06-29 Cui, Lili + + * common/config/i386/cpuinfo.h (get_intel_cpu): Remove model value 0xa8 + from Rocketlake, move model value 0xbf from Alderlake to Raptorlake. + +2023-06-28 Hans-Peter Nilsson + + PR target/110144 + * config/cris/cris.cc (cris_postdbr_cmpelim): Don't apply PATTERN + to insn before validating it. + +2023-06-28 Jan Hubicka + + PR middle-end/110334 + * ipa-fnsummary.h (ipa_fn_summary): Add + safe_to_inline_to_always_inline. + * ipa-inline.cc (can_early_inline_edge_p): ICE + if SSA is not built; do cycle checking for + always_inline functions. + (inline_always_inline_functions): Be recrusive; + watch for cycles; do not updat overall summary. + (early_inliner): Do not give up on always_inlines. + * ipa-utils.cc (ipa_reverse_postorder): Do not skip + always inlines. + +2023-06-28 Uros Bizjak + + * output.h (leaf_function_p): Change return type from int to bool. + (final_forward_branch_p): Ditto. + (only_leaf_regs_used): Ditto. + (maybe_assemble_visibility): Ditto. + * varasm.h (supports_one_only): Ditto. + * rtl.h (compute_alignments): Change return type from int to void. + * final.cc (app_on): Change return type from int to bool. + (compute_alignments): Change return type from int to void + and adjust function body accordingly. + (shorten_branches): Change "something_changed" variable + type from int to bool. + (leaf_function_p): Change return type from int to bool + and adjust function body accordingly. + (final_forward_branch_p): Ditto. + (only_leaf_regs_used): Ditto. + * varasm.cc (contains_pointers_p): Change return type from + int to bool and adjust function body accordingly. + (compare_constant): Ditto. + (maybe_assemble_visibility): Ditto. + (supports_one_only): Ditto. + +2023-06-28 Manolis Tsamis + + PR debug/110308 + * regcprop.cc (maybe_mode_change): Check stack_pointer_rtx mode. + (maybe_copy_reg_attrs): New function. + (find_oldest_value_reg): Use maybe_copy_reg_attrs. + (copyprop_hardreg_forward_1): Ditto. + +2023-06-28 Richard Biener + + PR tree-optimization/110434 + * tree-nrv.cc (pass_nrv::execute): Remove CLOBBERs of + VAR we replace with . + +2023-06-28 Richard Biener + + PR tree-optimization/110451 + * tree-ssa-loop-im.cc (stmt_cost): [VEC_]COND_EXPR and + tcc_comparison are expensive. + +2023-06-28 Roger Sayle + + * config/i386/i386-expand.cc (ix86_expand_branch): Also use ptest + for TImode comparisons on 32-bit architectures. + * config/i386/i386.md (cbranch4): Change from SDWIM to + SWIM1248x to exclude/avoid TImode being conditional on -m64. + (cbranchti4): New define_expand for TImode on both TARGET_64BIT + and/or with TARGET_SSE4_1. + * config/i386/predicates.md (ix86_timode_comparison_operator): + New predicate that depends upon TARGET_64BIT. + (ix86_timode_comparison_operand): Likewise. + +2023-06-28 Roger Sayle + + PR target/78794 + * config/i386/i386-features.cc (compute_convert_gain): Provide + more accurate gains for conversion of scalar comparisons to + PTEST. + +2023-06-28 Richard Biener + + PR tree-optimization/110443 + * tree-vect-slp.cc (vect_build_slp_tree_1): Reject non-grouped + gather loads. + +2023-06-28 Haochen Gui + + * config/rs6000/rs6000.md (peephole2 for compare_and_move): New. + (peephole2 for move_and_compare): New. + (mode_iterator WORD): New. Set the mode to SI/DImode by + TARGET_POWERPC64. + (*mov_internal2): Change the mode iterator from P to WORD. + (split pattern for compare_and_move): Likewise. + +2023-06-28 Juzhe-Zhong + + * config/riscv/autovec-opt.md (*double_widen_fma): New pattern. + (*single_widen_fma): Ditto. + +2023-06-28 Haochen Gui + + PR target/104124 + * config/rs6000/altivec.md (*altivec_vupkhs_direct): Rename + to... + (altivec_vupkhs_direct): ...this. + * config/rs6000/predicates.md (vspltisw_vupkhsw_constant_split): New + predicate to test if a constant can be loaded with vspltisw and + vupkhsw. + (easy_vector_constant): Call vspltisw_vupkhsw_constant_p to Check if + a vector constant can be synthesized with a vspltisw and a vupkhsw. + * config/rs6000/rs6000-protos.h (vspltisw_vupkhsw_constant_p): + Declare. + * config/rs6000/rs6000.cc (vspltisw_vupkhsw_constant_p): New + function to return true if OP mode is V2DI and can be synthesized + with vupkhsw and vspltisw. + * config/rs6000/vsx.md (*vspltisw_v2di_split): New insn to load up + constants with vspltisw and vupkhsw. + +2023-06-28 Jan Hubicka + + PR tree-optimization/110377 + * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Pass statement to + the ranger query. + (ipa_analyze_node): Enable ranger. + +2023-06-28 Richard Biener + + * tree.h (TYPE_PRECISION): Check for non-VECTOR_TYPE. + (TYPE_PRECISION_RAW): Provide raw access to the precision + field. + * tree.cc (verify_type_variant): Compare TYPE_PRECISION_RAW. + (gimple_canonical_types_compatible_p): Likewise. + * tree-streamer-out.cc (pack_ts_type_common_value_fields): + Stream TYPE_PRECISION_RAW. + * tree-streamer-in.cc (unpack_ts_type_common_value_fields): + Likewise. + * lto-streamer-out.cc (hash_tree): Hash TYPE_PRECISION_RAW. + +2023-06-28 Alexandre Oliva + + * doc/extend.texi (zero-call-used-regs): Document leafy and + variants thereof. + * flag-types.h (zero_regs_flags): Add LEAFY_MODE, as well as + LEAFY and variants. + * function.cc (gen_call_ued_regs_seq): Set only_used for leaf + functions in leafy mode. + * opts.cc (zero_call_used_regs_opts): Add leafy and variants. + +2023-06-28 Juzhe-Zhong + + * config/riscv/riscv-vector-builtins-bases.cc: Adapt expand. + * config/riscv/vector.md (@pred_single_widen_): + Remove. + (@pred_single_widen_add): New pattern. + (@pred_single_widen_sub): New pattern. + +2023-06-28 liuhongt + + * config/i386/i386.cc (ix86_invalid_conversion): New function. + (TARGET_INVALID_CONVERSION): Define as + ix86_invalid_conversion. + +2023-06-27 Robin Dapp + + * config/riscv/autovec.md (2): New + expander. + (2): Ditto. + (2): Ditto. + (2): Ditto. + * config/riscv/vector-iterators.md: Add vnconvert. + +2023-06-27 Robin Dapp + + * config/riscv/autovec.md (extend2): New + expander. + (extend2): Ditto. + (trunc2): Ditto. + (trunc2): Ditto. + * config/riscv/vector-iterators.md: Add VQEXTF and HF to + V_QUAD_TRUNC and v_quad_trunc. + +2023-06-27 Robin Dapp + + * config/riscv/autovec.md (2): New + expander. + +2023-06-27 Robin Dapp + + * config/riscv/autovec.md (copysign3): Add expander. + (xorsign3): Ditto. + * config/riscv/riscv-vector-builtins-bases.cc (class vfsgnjn): + New class. + * config/riscv/vector-iterators.md (copysign): Remove ncopysign. + (xorsign): Ditto. + (n): Ditto. + (x): Ditto. + * config/riscv/vector.md (@pred_ncopysign): Split off. + (@pred_ncopysign_scalar): Ditto. + +2023-06-27 Robin Dapp + + * config/riscv/autovec.md: VF_AUTO -> VF. + * config/riscv/vector-iterators.md: Introduce VF_ZVFHMIN, + VWEXTF_ZVFHMIN and use TARGET_ZVFH in VWCONVERTI, VHF and + VHF_LMUL1. + * config/riscv/vector.md: Use new iterators. + +2023-06-27 Robin Dapp + + * match.pd: Use element_mode and check if target supports + operation with new type. + +2023-06-27 Prathamesh Kulkarni + + * config/aarch64/aarch64-sve-builtins-base.cc + (svdupq_impl::fold_nonconst_dupq): New method. + (svdupq_impl::fold): Call fold_nonconst_dupq. + +2023-06-27 Andrew Pinski + + PR middle-end/110420 + PR middle-end/103979 + PR middle-end/98619 + * gimplify.cc (gimplify_asm_expr): Mark asm with labels as volatile. + +2023-06-27 Aldy Hernandez + + * ipa-cp.cc (decide_whether_version_node): Adjust comment. + * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Adjust + for Value_Range. + (set_switch_stmt_execution_predicate): Same. + * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Same. + +2023-06-27 Aldy Hernandez + + * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Adjust for use with + ipa_vr instead of value_range. + (gt_pch_nx): Same. + (gt_ggc_mx): Same. + (ipa_get_value_range): Same. + * value-range.cc (gt_pch_nx): Move to ipa-prop.cc and adjust for + ipa_vr. + (gt_ggc_mx): Same. + +2023-06-27 Aldy Hernandez + + * ipa-cp.cc (ipa_vr_operation_and_type_effects): New. + * ipa-prop.cc (ipa_get_value_range): Adjust for ipa_vr. + (ipa_set_jfunc_vr): Take a range. + (ipa_compute_jump_functions_for_edge): Pass range to + ipa_set_jfunc_vr. + (ipa_write_jump_function): Call streamer write helper. + (ipa_read_jump_function): Call streamer read helper. + * ipa-prop.h (class ipa_vr): Change m_vr to an ipa_vr. + +2023-06-27 Richard Sandiford + + * gengtype-parse.cc (consume_until_comma_or_eos): Parse "= { ... }" + as a probable initializer rather than a probable complete statement. + +2023-06-27 Richard Biener + + PR tree-optimization/96208 + * tree-vect-slp.cc (vect_build_slp_tree_1): Allow + a non-grouped load if it is the same for all lanes. + (vect_build_slp_tree_2): Handle not grouped loads. + (vect_optimize_slp_pass::remove_redundant_permutations): + Likewise. + (vect_transform_slp_perm_load_1): Likewise. + * tree-vect-stmts.cc (vect_model_load_cost): Likewise. + (get_group_load_store_type): Likewise. Handle + invariant accesses. + (vectorizable_load): Likewise. + +2023-06-27 liuhongt + + PR rtl-optimization/110237 + * config/i386/sse.md (_store_mask): Refine with + UNSPEC_MASKMOV. + (maskstore_store_mask): New define_insn, it's renamed + from original _store_mask. + +2023-06-27 liuhongt + + * config/i386/i386-features.cc (pass_insert_vzeroupper:gate): + Move flag_expensive_optimizations && !optimize_size to .. + * config/i386/i386-options.cc (ix86_option_override_internal): + .. this, it makes -mvzeroupper independent of optimization + level, but still keeps the behavior of architecture + tuning(emit_vzeroupper) unchanged. + +2023-06-27 liuhongt + + PR target/82735 + * config/i386/i386.cc (ix86_avx_u127_mode_needed): Don't emit + vzeroupper for vzeroupper call_insn. + +2023-06-27 Andrew Pinski + + * doc/extend.texi (__builtin_alloca_with_align_and_max): Fix + defbuiltin usage. + +2023-06-27 Juzhe-Zhong + + * config/riscv/riscv-v.cc (expand_const_vector): Fix stepped vector + with base != 0. + +2023-06-26 Andrew Pinski + + * doc/extend.texi (access attribute): Add + cindex for it. + (interrupt/interrupt_handler attribute): + Likewise. + +2023-06-26 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_sqrshrun_n_insn): + Use instead of . + (aarch64_sqrshrun_n): Likewise. + +2023-06-26 Kyrylo Tkachov + + * config/aarch64/aarch64-protos.h (aarch64_const_vec_rsra_rnd_imm_p): + Rename to... + (aarch64_rnd_imm_p): ... This. + * config/aarch64/predicates.md (aarch64_simd_rsra_rnd_imm_vec): + Rename to... + (aarch64_int_rnd_operand): ... This. + (aarch64_simd_rshrn_imm_vec): Delete. + * config/aarch64/aarch64-simd.md (aarch64_rsra_n_insn): + Adjust for the above. + (aarch64_rshr_n_insn): Likewise. + (*aarch64_rshrn_n_insn): Likewise. + (*aarch64_sqrshrun_n_insn): Likewise. + (aarch64_sqrshrun_n_insn): Likewise. + (aarch64_rshrn2_n_insn_le): Likewise. + (aarch64_rshrn2_n_insn_be): Likewise. + (aarch64_sqrshrun2_n_insn_le): Likewise. + (aarch64_sqrshrun2_n_insn_be): Likewise. + * config/aarch64/aarch64.cc (aarch64_const_vec_rsra_rnd_imm_p): + Rename to... + (aarch64_rnd_imm_p): ... This. + +2023-06-26 Andreas Krebbel + + * config/s390/s390.cc (s390_encode_section_info): Set + SYMBOL_FLAG_SET_NOTALIGN2 only if the symbol has explicitely been + misaligned. + +2023-06-26 Jan Hubicka + + PR tree-optimization/109849 + * tree-ssa-dce.cc (make_forwarders_with_degenerate_phis): Fix profile + count of newly constructed forwarder block. + +2023-06-26 Andrew Carlotti + + * doc/optinfo.texi: Fix "steam" -> "stream". + +2023-06-26 Ju-Zhe Zhong + + * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Add LEN_MASK_STORE and + fix LEN_STORE. + (dse_optimize_stmt): Add LEN_MASK_STORE. + +2023-06-26 Ju-Zhe Zhong + + * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Fix gimple + fold of LOAD/STORE with length. + +2023-06-26 Andrew MacLeod + + * gimple-range-gori.cc (compute_operand1_and_operand2_range): + Check for interdependence between operands 1 and 2. + +2023-06-26 Richard Sandiford + + * tree-vect-stmts.cc (vectorizable_conversion): Take multi_step_cvt + into account when costing non-widening/truncating conversions. + +2023-06-26 Richard Biener + + PR tree-optimization/110381 + * tree-vect-slp.cc (vect_optimize_slp_pass::start_choosing_layouts): + Materialize permutes before fold-left reductions. + +2023-06-26 Pan Li + + * config/riscv/riscv-vector-builtins-bases.h: Remove duplicated decl. + +2023-06-26 Richard Biener + + * varasm.cc (initializer_constant_valid_p_1): Also + constrain the type of value to be scalar integral + before dispatching to narrowing_initializer_constant_valid_p. + +2023-06-26 Richard Biener + + * tree-ssa-scopedtables.cc (hashable_expr_equal_p): + Use element_precision. + +2023-06-26 Juzhe-Zhong + + * config/riscv/autovec.md (vcond): Remove redundant + vcond patterns. + (vcondu): Ditto. + * config/riscv/riscv-protos.h (expand_vcond): Ditto. + * config/riscv/riscv-v.cc (expand_vcond): Ditto. + +2023-06-26 Richard Biener + + PR tree-optimization/110392 + * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded): + Do early exits on true/false predicate only after normalization. + +2023-06-26 Ju-Zhe Zhong + + * tree-ssa-sccvn.cc (vn_reference_lookup_3): Change name "len" into + "length". + +2023-06-26 Roger Sayle + + * config/i386/i386.md (peephole2): Simplify zeroing a register + followed by an IOR, XOR or PLUS operation on it, into a move. + (*ashl3_doubleword_highpart): New define_insn_and_split to + eliminate (and hide from reload) unnecessary word to doubleword + extensions that are followed by left shifts by sufficiently large, + but valid, bit counts. + +2023-06-26 liuhongt + + PR tree-optimization/110371 + PR tree-optimization/110018 + * tree-vect-stmts.cc (vectorizable_conversion): Use cvt_op to + save intermediate type operand instead of "subtle" vec_dest + for case NONE. + +2023-06-26 liuhongt + + PR tree-optimization/110371 + PR tree-optimization/110018 + * tree-vect-stmts.cc (vectorizable_conversion): Don't use + intermiediate type for FIX_TRUNC_EXPR when ftrapping-math. + +2023-06-26 Hongyu Wang + + * config/i386/i386-options.cc (ix86_valid_target_attribute_tree): + Override tune_string with arch_string if tune_string is not + explicitly specified. + +2023-06-25 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (vector_insn_info::parse_insn): Ehance + AVL propagation. + * config/riscv/riscv-vsetvl.h: New function. + +2023-06-25 Li Xu + + * config/riscv/riscv-vector-builtins-bases.cc: change emit_insn to + emit_move_insn + +2023-06-25 Juzhe-Zhong + + * config/riscv/autovec.md (len_load_): Remove. + (len_maskload): Remove. + (len_store_): New pattern. + (len_maskstore): New pattern. + * config/riscv/predicates.md (autovec_length_operand): New predicate. + * config/riscv/riscv-protos.h (enum insn_type): New enum. + (expand_load_store): New function. + * config/riscv/riscv-v.cc (emit_vlmax_masked_insn): Ditto. + (emit_nonvlmax_masked_insn): Ditto. + (expand_load_store): Ditto. + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_contiguous_store_insn): Add avl_type operand + into pred_store. + * config/riscv/vector.md: Ditto. + +2023-06-25 Ju-Zhe Zhong + + * internal-fn.cc (expand_partial_store_optab_fn): Fix bug of BIAS + argument index. + +2023-06-25 Pan Li + + * config/riscv/vector.md: Revert. + +2023-06-25 Pan Li + + * config/riscv/genrvv-type-indexer.cc (valid_type): Revert changes. + * config/riscv/riscv-modes.def (RVV_TUPLE_MODES): Ditto. + (ADJUST_ALIGNMENT): Ditto. + (RVV_TUPLE_PARTIAL_MODES): Ditto. + (ADJUST_NUNITS): Ditto. + * config/riscv/riscv-vector-builtins-types.def (vfloat16mf4x2_t): Ditto. + (vfloat16mf4x3_t): Ditto. + (vfloat16mf4x4_t): Ditto. + (vfloat16mf4x5_t): Ditto. + (vfloat16mf4x6_t): Ditto. + (vfloat16mf4x7_t): Ditto. + (vfloat16mf4x8_t): Ditto. + (vfloat16mf2x2_t): Ditto. + (vfloat16mf2x3_t): Ditto. + (vfloat16mf2x4_t): Ditto. + (vfloat16mf2x5_t): Ditto. + (vfloat16mf2x6_t): Ditto. + (vfloat16mf2x7_t): Ditto. + (vfloat16mf2x8_t): Ditto. + (vfloat16m1x2_t): Ditto. + (vfloat16m1x3_t): Ditto. + (vfloat16m1x4_t): Ditto. + (vfloat16m1x5_t): Ditto. + (vfloat16m1x6_t): Ditto. + (vfloat16m1x7_t): Ditto. + (vfloat16m1x8_t): Ditto. + (vfloat16m2x2_t): Ditto. + (vfloat16m2x3_t): Diito. + (vfloat16m2x4_t): Diito. + (vfloat16m4x2_t): Diito. + * config/riscv/riscv-vector-builtins.def (vfloat16mf4x2_t): Ditto. + (vfloat16mf4x3_t): Ditto. + (vfloat16mf4x4_t): Ditto. + (vfloat16mf4x5_t): Ditto. + (vfloat16mf4x6_t): Ditto. + (vfloat16mf4x7_t): Ditto. + (vfloat16mf4x8_t): Ditto. + (vfloat16mf2x2_t): Ditto. + (vfloat16mf2x3_t): Ditto. + (vfloat16mf2x4_t): Ditto. + (vfloat16mf2x5_t): Ditto. + (vfloat16mf2x6_t): Ditto. + (vfloat16mf2x7_t): Ditto. + (vfloat16mf2x8_t): Ditto. + (vfloat16m1x2_t): Ditto. + (vfloat16m1x3_t): Ditto. + (vfloat16m1x4_t): Ditto. + (vfloat16m1x5_t): Ditto. + (vfloat16m1x6_t): Ditto. + (vfloat16m1x7_t): Ditto. + (vfloat16m1x8_t): Ditto. + (vfloat16m2x2_t): Ditto. + (vfloat16m2x3_t): Ditto. + (vfloat16m2x4_t): Ditto. + (vfloat16m4x2_t): Ditto. + * config/riscv/riscv-vector-switch.def (TUPLE_ENTRY): Ditto. + * config/riscv/riscv.md: Ditto. + * config/riscv/vector-iterators.md: Ditto. + +2023-06-25 Ju-Zhe Zhong + + * gimple-fold.cc (arith_overflowed_p): Apply LEN_MASK_{LOAD,STORE}. + (gimple_fold_partial_load_store_mem_ref): Ditto. + (gimple_fold_partial_store): Ditto. + (gimple_fold_call): Ditto. + +2023-06-25 liuhongt + + PR target/110309 + * config/i386/sse.md (maskload): + Refine pattern with UNSPEC_MASKLOAD. + (maskload): Ditto. + (*_load_mask): Extend mode iterator to + VI12HFBF_AVX512VL. + (*_load): Ditto. + +2023-06-25 Ju-Zhe Zhong + + * tree-ssa-alias.cc (call_may_clobber_ref_p_1): Add LEN_MASK_STORE. + +2023-06-25 Ju-Zhe Zhong + + * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Apply + LEN_MASK_{LOAD,STORE} + +2023-06-25 yulong + + * config/riscv/vector.md: Add float16 attr at sew、vlmul and ratio. + +2023-06-24 Roger Sayle + + * config/i386/i386.md (*qi_ext_3): New define_insn. + +2023-06-24 Juzhe-Zhong + + * config/riscv/autovec.md (*fma): set clobber to Pmode in expand stage. + (*fma): Ditto. + (*fnma): Ditto. + (*fnma): Ditto. + +2023-06-24 Juzhe-Zhong + + * config/riscv/autovec.md (fma4): New pattern. + (*fma): Ditto. + (fnma4): Ditto. + (*fnma): Ditto. + (fms4): Ditto. + (*fms): Ditto. + (fnms4): Ditto. + (*fnms): Ditto. + * config/riscv/riscv-protos.h (emit_vlmax_fp_ternary_insn): + New function. + * config/riscv/riscv-v.cc (emit_vlmax_fp_ternary_insn): Ditto. + * config/riscv/vector.md: Fix attribute bug. + +2023-06-24 Ju-Zhe Zhong + + * tree-ssa-loop-ivopts.cc (get_mem_type_for_internal_fn): + Apply LEN_MASK_{LOAD,STORE}. + +2023-06-24 Ju-Zhe Zhong + + * tree-ssa-loop-ivopts.cc (get_alias_ptr_type_for_ptr_address): + Add LEN_MASK_{LOAD,STORE}. + +2023-06-24 David Malcolm + + * diagnostic-format-sarif.cc: Add #define INCLUDE_VECTOR. + * diagnostic.cc: Likewise. + * text-art/box-drawing.cc: Likewise. + * text-art/canvas.cc: Likewise. + * text-art/ruler.cc: Likewise. + * text-art/selftests.cc: Likewise. + * text-art/selftests.h (text_art::canvas): New forward decl. + * text-art/style.cc: Add #define INCLUDE_VECTOR. + * text-art/styled-string.cc: Likewise. + * text-art/table.cc: Likewise. + * text-art/table.h: Remove #include . + * text-art/theme.cc: Add #define INCLUDE_VECTOR. + * text-art/types.h: Check that INCLUDE_VECTOR is defined. + Remove #include of and . + * text-art/widget.cc: Add #define INCLUDE_VECTOR. + * text-art/widget.h: Remove #include . + +2023-06-24 Ju-Zhe Zhong + + * internal-fn.cc (expand_partial_store_optab_fn): Adapt for LEN_MASK_STORE. + (internal_load_fn_p): Add LEN_MASK_LOAD. + (internal_store_fn_p): Add LEN_MASK_STORE. + (internal_fn_mask_index): Add LEN_MASK_{LOAD,STORE}. + (internal_fn_stored_value_index): Add LEN_MASK_STORE. + (internal_len_load_store_bias): Add LEN_MASK_{LOAD,STORE}. + * optabs-tree.cc (can_vec_mask_load_store_p): Adapt for LEN_MASK_{LOAD,STORE}. + (get_len_load_store_mode): Ditto. + * optabs-tree.h (can_vec_mask_load_store_p): Ditto. + (get_len_load_store_mode): Ditto. + * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Ditto. + (get_all_ones_mask): New function. + (vectorizable_store): Apply LEN_MASK_{LOAD,STORE} into vectorizer. + (vectorizable_load): Ditto. + +2023-06-23 Marek Polacek + + * doc/cpp.texi (__cplusplus): Document value for -std=c++26 and + -std=gnu++26. Document that for C++23, its value is 202302L. + * doc/invoke.texi: Document -std=c++26 and -std=gnu++26. + * dwarf2out.cc (highest_c_language): Handle GNU C++26. + (gen_compile_unit_die): Likewise. + +2023-06-23 Jan Hubicka + + * tree-ssa-phiprop.cc (propagate_with_phi): Compute post dominators on + demand. + (pass_phiprop::execute): Do not compute it here; return + update_ssa_only_virtuals if something changed. + (pass_data_phiprop): Remove TODO_update_ssa from todos. + +2023-06-23 Michael Meissner + Aaron Sawdey + + PR target/105325 + * config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): Fix problems that + allowed prefixed lwa to be generated. + * config/rs6000/fusion.md: Regenerate. + * config/rs6000/predicates.md (ds_form_mem_operand): Delete. + * config/rs6000/rs6000.md (prefixed attribute): Add support for load + plus compare immediate fused insns. + (maybe_prefixed): Likewise. + +2023-06-23 Roger Sayle + + * simplify-rtx.cc (simplify_subreg): Optimize lowpart SUBREGs + of ASHIFT to const0_rtx with sufficiently large shift count. + Optimize highpart SUBREGs of ASHIFT as the shift operand when + the shift count is the correct offset. Optimize SUBREGs of + multi-word logic operations if the SUBREGs of both operands + can be simplified. + +2023-06-23 Richard Biener + + * varasm.cc (initializer_constant_valid_p_1): Only + allow conversions between scalar floating point types. + +2023-06-23 Richard Biener + + * tree-vect-stmts.cc (vectorizable_assignment): + Properly handle non-integral operands when analyzing + conversions. + +2023-06-23 Prathamesh Kulkarni + + PR tree-optimization/110280 + * match.pd (vec_perm_expr(v, v, mask) -> v): Explicitly build vector + using build_vector_from_val with the element of input operand, and + mask's type if operand and mask's types don't match. + +2023-06-23 Richard Biener + + * fold-const.cc (tree_simple_nonnegative_warnv_p): Guard + the truth_value_p case with !VECTOR_TYPE_P. + +2023-06-23 Richard Biener + + * tree-vect-patterns.cc (vect_look_through_possible_promotion): + Exit early when the type isn't scalar integral. + +2023-06-23 Richard Biener + + * match.pd ((outertype)((innertype0)a+(innertype1)b) + -> ((newtype)a+(newtype)b)): Use element_precision + where appropriate. + +2023-06-23 Richard Biener + + * fold-const.cc (fold_binary_loc): Use element_precision + when trying (double)float1 CMP (double)float2 to + float1 CMP float2 simplification. + * match.pd: Likewise. + +2023-06-23 Richard Biener + + * tree-vect-stmts.cc (vectorizable_load): Avoid useless + copies of VMAT_INVARIANT vectorized stmts, fix SLP support. + +2023-06-23 Richard Biener + + * tree-vect-stmts.cc (vector_vector_composition_type): + Handle composition of a vector from a number of elements that + happens to match its number of lanes. + +2023-06-22 Marek Polacek + + * configure.ac (--enable-host-bind-now): New check. Add + -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now. + * configure: Regenerate. + * doc/install.texi: Document --enable-host-bind-now. + +2023-06-22 Di Zhao OS + + * config/aarch64/aarch64.cc: Change fma_reassoc_width for ampere1. + +2023-06-22 Richard Biener + + PR tree-optimization/110332 + * tree-ssa-phiprop.cc (propagate_with_phi): Always + check aliasing with edge inserted loads. + +2023-06-22 Roger Sayle + Uros Bizjak + + * config/i386/i386-expand.cc (ix86_expand_sse_ptest): Recognize + expansion of ptestc with equal operands as producing const1_rtx. + * config/i386/i386.cc (ix86_rtx_costs): Provide accurate cost + estimates of UNSPEC_PTEST, where the ptest performs the PAND + or PAND of its operands. + * config/i386/sse.md (define_split): Transform CCCmode UNSPEC_PTEST + of reg_equal_p operands into an x86_stc instruction. + (define_split): Split pandn/ptestz/set{n?}e into ptestc/set{n?}c. + (define_split): Similar to above for strict_low_part destinations. + (define_split): Split pandn/ptestz/j{n?}e into ptestc/j{n?}c. + +2023-06-22 David Malcolm + + PR analyzer/106626 + * Makefile.in (ANALYZER_OBJS): Add analyzer/access-diagram.o. + * doc/invoke.texi (Wanalyzer-out-of-bounds): Add description of + text art. + (fanalyzer-debug-text-art): New. + +2023-06-22 David Malcolm + + * Makefile.in (OBJS-libcommon): Add text-art/box-drawing.o, + text-art/canvas.o, text-art/ruler.o, text-art/selftests.o, + text-art/style.o, text-art/styled-string.o, text-art/table.o, + text-art/theme.o, and text-art/widget.o. + * color-macros.h (COLOR_FG_BRIGHT_BLACK): New. + (COLOR_FG_BRIGHT_RED): New. + (COLOR_FG_BRIGHT_GREEN): New. + (COLOR_FG_BRIGHT_YELLOW): New. + (COLOR_FG_BRIGHT_BLUE): New. + (COLOR_FG_BRIGHT_MAGENTA): New. + (COLOR_FG_BRIGHT_CYAN): New. + (COLOR_FG_BRIGHT_WHITE): New. + (COLOR_BG_BRIGHT_BLACK): New. + (COLOR_BG_BRIGHT_RED): New. + (COLOR_BG_BRIGHT_GREEN): New. + (COLOR_BG_BRIGHT_YELLOW): New. + (COLOR_BG_BRIGHT_BLUE): New. + (COLOR_BG_BRIGHT_MAGENTA): New. + (COLOR_BG_BRIGHT_CYAN): New. + (COLOR_BG_BRIGHT_WHITE): New. + * common.opt (fdiagnostics-text-art-charset=): New option. + (diagnostic-text-art.h): New SourceInclude. + (diagnostic_text_art_charset) New Enum and EnumValues. + * configure: Regenerate. + * configure.ac (gccdepdir): Add text-art to loop. + * diagnostic-diagram.h: New file. + * diagnostic-format-json.cc (json_emit_diagram): New. + (diagnostic_output_format_init_json): Wire it up to + context->m_diagrams.m_emission_cb. + * diagnostic-format-sarif.cc: Include "diagnostic-diagram.h" and + "text-art/canvas.h". + (sarif_result::on_nested_diagnostic): Move code to... + (sarif_result::add_related_location): ...this new function. + (sarif_result::on_diagram): New. + (sarif_builder::emit_diagram): New. + (sarif_builder::make_message_object_for_diagram): New. + (sarif_emit_diagram): New. + (diagnostic_output_format_init_sarif): Set + context->m_diagrams.m_emission_cb to sarif_emit_diagram. + * diagnostic-text-art.h: New file. + * diagnostic.cc: Include "diagnostic-text-art.h", + "diagnostic-diagram.h", and "text-art/theme.h". + (diagnostic_initialize): Initialize context->m_diagrams and + call diagnostics_text_art_charset_init. + (diagnostic_finish): Clean up context->m_diagrams.m_theme. + (diagnostic_emit_diagram): New. + (diagnostics_text_art_charset_init): New. + * diagnostic.h (text_art::theme): New forward decl. + (class diagnostic_diagram): Likewise. + (diagnostic_context::m_diagrams): New field. + (diagnostic_emit_diagram): New decl. + * doc/invoke.texi (Diagnostic Message Formatting Options): Add + -fdiagnostics-text-art-charset=. + (-fdiagnostics-plain-output): Add + -fdiagnostics-text-art-charset=none. + * gcc.cc: Include "diagnostic-text-art.h". + (driver_handle_option): Handle OPT_fdiagnostics_text_art_charset_. + * opts-common.cc (decode_cmdline_options_to_array): Add + "-fdiagnostics-text-art-charset=none" to expanded_args for + -fdiagnostics-plain-output. + * opts.cc: Include "diagnostic-text-art.h". + (common_handle_option): Handle OPT_fdiagnostics_text_art_charset_. + * pretty-print.cc (pp_unicode_character): New. + * pretty-print.h (pp_unicode_character): New decl. + * selftest-run-tests.cc: Include "text-art/selftests.h". + (selftest::run_tests): Call text_art_tests. + * text-art/box-drawing-chars.inc: New file, generated by + contrib/unicode/gen-box-drawing-chars.py. + * text-art/box-drawing.cc: New file. + * text-art/box-drawing.h: New file. + * text-art/canvas.cc: New file. + * text-art/canvas.h: New file. + * text-art/ruler.cc: New file. + * text-art/ruler.h: New file. + * text-art/selftests.cc: New file. + * text-art/selftests.h: New file. + * text-art/style.cc: New file. + * text-art/styled-string.cc: New file. + * text-art/table.cc: New file. + * text-art/table.h: New file. + * text-art/theme.cc: New file. + * text-art/theme.h: New file. + * text-art/types.h: New file. + * text-art/widget.cc: New file. + * text-art/widget.h: New file. + +2023-06-21 Uros Bizjak + + * function.h (emit_initial_value_sets): + Change return type from int to void. + (aggregate_value_p): Change return type from int to bool. + (prologue_contains): Ditto. + (epilogue_contains): Ditto. + (prologue_epilogue_contains): Ditto. + * function.cc (temp_slot): Make "in_use" variable bool. + (make_slot_available): Update for changed "in_use" variable. + (assign_stack_temp_for_type): Ditto. + (emit_initial_value_sets): Change return type from int to void + and update function body accordingly. + (instantiate_virtual_regs): Ditto. + (rest_of_handle_thread_prologue_and_epilogue): Ditto. + (safe_insn_predicate): Change return type from int to bool. + (aggregate_value_p): Change return type from int to bool + and update function body accordingly. + (prologue_contains): Change return type from int to bool. + (prologue_epilogue_contains): Ditto. + +2023-06-21 Alexander Monakov + + * common.opt (fp_contract_mode) [on]: Remove fallback. + * config/sh/sh.md (*fmasf4): Correct flag_fp_contract_mode test. + * doc/invoke.texi (-ffp-contract): Update. + * trans-mem.cc (diagnose_tm_1): Skip internal function calls. + +2023-06-21 Kyrylo Tkachov + + * config/aarch64/aarch64-sve.md (mask_gather_load): + Add alternatives to prefer to avoid same input and output Z register. + (mask_gather_load): Likewise. + (*mask_gather_load_xtw_unpacked): Likewise. + (*mask_gather_load_sxtw): Likewise. + (*mask_gather_load_uxtw): Likewise. + (@aarch64_gather_load_): + Likewise. + (@aarch64_gather_load_): + Likewise. + (*aarch64_gather_load_ + _xtw_unpacked): Likewise. + (*aarch64_gather_load_ + _sxtw): Likewise. + (*aarch64_gather_load_ + _uxtw): Likewise. + (@aarch64_ldff1_gather): Likewise. + (@aarch64_ldff1_gather): Likewise. + (*aarch64_ldff1_gather_sxtw): Likewise. + (*aarch64_ldff1_gather_uxtw): Likewise. + (@aarch64_ldff1_gather_ + ): Likewise. + (@aarch64_ldff1_gather_ + ): Likewise. + (*aarch64_ldff1_gather_ + _sxtw): Likewise. + (*aarch64_ldff1_gather_ + _uxtw): Likewise. + * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt): Likewise. + (@aarch64_gather_ldnt_ + ): Likewise. + +2023-06-21 Kyrylo Tkachov + + * config/aarch64/aarch64-sve.md (mask_gather_load): + Convert to compact alternatives syntax. + (mask_gather_load): Likewise. + (*mask_gather_load_xtw_unpacked): Likewise. + (*mask_gather_load_sxtw): Likewise. + (*mask_gather_load_uxtw): Likewise. + (@aarch64_gather_load_): + Likewise. + (@aarch64_gather_load_): + Likewise. + (*aarch64_gather_load_ + _xtw_unpacked): Likewise. + (*aarch64_gather_load_ + _sxtw): Likewise. + (*aarch64_gather_load_ + _uxtw): Likewise. + (@aarch64_ldff1_gather): Likewise. + (@aarch64_ldff1_gather): Likewise. + (*aarch64_ldff1_gather_sxtw): Likewise. + (*aarch64_ldff1_gather_uxtw): Likewise. + (@aarch64_ldff1_gather_ + ): Likewise. + (@aarch64_ldff1_gather_ + ): Likewise. + (*aarch64_ldff1_gather_ + _sxtw): Likewise. + (*aarch64_ldff1_gather_ + _uxtw): Likewise. + * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt): Likewise. + (@aarch64_gather_ldnt_ + ): Likewise. + +2023-06-21 Kyrylo Tkachov + + Revert: + 2023-06-21 Kyrylo Tkachov + + * config/aarch64/aarch64-sve.md (mask_gather_load): + Convert to compact alternatives syntax. + (mask_gather_load): Likewise. + (*mask_gather_load_xtw_unpacked): Likewise. + (*mask_gather_load_sxtw): Likewise. + (*mask_gather_load_uxtw): Likewise. + (@aarch64_gather_load_): + Likewise. + (@aarch64_gather_load_): + Likewise. + (*aarch64_gather_load_ + _xtw_unpacked): Likewise. + (*aarch64_gather_load_ + _sxtw): Likewise. + (*aarch64_gather_load_ + _uxtw): Likewise. + (@aarch64_ldff1_gather): Likewise. + (@aarch64_ldff1_gather): Likewise. + (*aarch64_ldff1_gather_sxtw): Likewise. + (*aarch64_ldff1_gather_uxtw): Likewise. + (@aarch64_ldff1_gather_ + ): Likewise. + (@aarch64_ldff1_gather_ + ): Likewise. + (*aarch64_ldff1_gather_ + _sxtw): Likewise. + (*aarch64_ldff1_gather_ + _uxtw): Likewise. + * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt): Likewise. + (@aarch64_gather_ldnt_ + ): Likewise. + +2023-06-21 Ju-Zhe Zhong + + * optabs-query.cc (can_vec_mask_load_store_p): Move to optabs-tree.cc. + (get_len_load_store_mode): Ditto. + * optabs-query.h (can_vec_mask_load_store_p): Move to optabs-tree.h. + (get_len_load_store_mode): Ditto. + * optabs-tree.cc (can_vec_mask_load_store_p): New function. + (get_len_load_store_mode): Ditto. + * optabs-tree.h (can_vec_mask_load_store_p): Ditto. + (get_len_load_store_mode): Ditto. + * tree-if-conv.cc: include optabs-tree instead of optabs-query + +2023-06-21 Richard Biener + + * tree-ssa-loop-ivopts.cc (add_iv_candidate_for_use): Use + split_constant_offset for the POINTER_PLUS_EXPR case. + +2023-06-21 Richard Biener + + * tree-ssa-loop-ivopts.cc (record_group_use): Use + split_constant_offset. + +2023-06-21 Richard Biener + + * tree-loop-distribution.cc (classify_builtin_st): Use + split_constant_offset. + * tree-ssa-loop-ivopts.h (strip_offset): Remove. + * tree-ssa-loop-ivopts.cc (strip_offset): Make static. + +2023-06-21 Kyrylo Tkachov + + * config/aarch64/aarch64-sve.md (mask_gather_load): + Convert to compact alternatives syntax. + (mask_gather_load): Likewise. + (*mask_gather_load_xtw_unpacked): Likewise. + (*mask_gather_load_sxtw): Likewise. + (*mask_gather_load_uxtw): Likewise. + (@aarch64_gather_load_): + Likewise. + (@aarch64_gather_load_): + Likewise. + (*aarch64_gather_load_ + _xtw_unpacked): Likewise. + (*aarch64_gather_load_ + _sxtw): Likewise. + (*aarch64_gather_load_ + _uxtw): Likewise. + (@aarch64_ldff1_gather): Likewise. + (@aarch64_ldff1_gather): Likewise. + (*aarch64_ldff1_gather_sxtw): Likewise. + (*aarch64_ldff1_gather_uxtw): Likewise. + (@aarch64_ldff1_gather_ + ): Likewise. + (@aarch64_ldff1_gather_ + ): Likewise. + (*aarch64_ldff1_gather_ + _sxtw): Likewise. + (*aarch64_ldff1_gather_ + _uxtw): Likewise. + * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt): Likewise. + (@aarch64_gather_ldnt_ + ): Likewise. + +2023-06-21 Tamar Christina + + PR other/110329 + * doc/md.texi: Replace backslashchar. + +2023-06-21 Richard Biener + + * config/i386/i386.cc (ix86_vector_costs::finish_cost): + Overload. For masked main loops make sure the vectorization + factor isn't more than double the number of iterations. + +2023-06-21 Jan Beulich + + * config/i386/i386-expand.cc (ix86_expand_copysign): Request + value duplication by ix86_build_signbit_mask() when AVX512F and + not HFmode. + * config/i386/sse.md (*_vternlog_all): Convert to + 2-alternative form. Adjust "mode" attribute. Add "enabled" + attribute. + (*_vpternlog_1): Also permit when TARGET_AVX512F + && !TARGET_PREFER_AVX256. + (*_vpternlog_2): Likewise. + (*_vpternlog_3): Likewise. + +2023-06-21 liuhongt + + PR target/110018 + * tree-vect-stmts.cc (vectorizable_conversion): Use + intermiediate integer type for float_expr/fix_trunc_expr when + direct optab is not existed. + +2023-06-20 Tamar Christina + + PR bootstrap/110324 + * gensupport.cc (convert_syntax): Explicitly check for RTX code. + +2023-06-20 Richard Sandiford + + * config/aarch64/aarch64.md (stack_tie): Hard-code the first + register operand to the stack pointer. Require the second register + operand to have the number specified in a separate const_int operand. + * config/aarch64/aarch64.cc (aarch64_emit_stack_tie): New function. + (aarch64_allocate_and_probe_stack_space): Use it. + (aarch64_expand_prologue, aarch64_expand_epilogue): Likewise. + (aarch64_expand_epilogue): Likewise. + +2023-06-20 Jakub Jelinek + + PR middle-end/79173 + * tree-ssa-math-opts.cc (match_uaddc_usubc): Remember lhs of + IMAGPART_EXPR of arg2/arg3 and use that as arg3 if it has the right + type. + +2023-06-20 Uros Bizjak + + * calls.h (setjmp_call_p): Change return type from int to bool. + * calls.cc (struct arg_data): Change "pass_on_stack" to bool. + (store_one_arg): Change return type from int to bool + and adjust function body accordingly. Change "sibcall_failure" + variable to bool. + (finalize_must_preallocate): Ditto. Change *must_preallocate pointer + argument to bool. Change "partial_seen" variable to bool. + (load_register_parameters): Change *sibcall_failure + pointer argument to bool. + (check_sibcall_argument_overlap_1): Change return type from int to bool + and adjust function body accordingly. + (check_sibcall_argument_overlap): Ditto. Change + "mark_stored_args_map" argument to bool. + (emit_call_1): Change "already_popped" variable to bool. + (setjmp_call_p): Change return type from int to bool + and adjust function body accordingly. + (initialize_argument_information): Change *must_preallocate + pointer argument to bool. + (expand_call): Change "pcc_struct_value", "must_preallocate" + and "sibcall_failure" variables to bool. + (emit_library_call_value_1): Change "pcc_struct_value" + variable to bool. + +2023-06-20 Martin Jambor + + PR ipa/110276 + * ipa-sra.cc (struct caller_issues): New field there_is_one. + (check_for_caller_issues): Set it. + (check_all_callers_for_issues): Check it. + +2023-06-20 Martin Jambor + + * ipa-prop.h (ipa_uid_to_idx_map_elt): New type. + (struct ipcp_transformation): Rearrange members according to + C++ class coding convention, add m_uid_to_idx, + get_param_index and maybe_create_parm_idx_map. + * ipa-cp.cc (ipcp_transformation::get_param_index): New function. + (compare_uids): Likewise. + (ipcp_transformation::maype_create_parm_idx_map): Likewise. + * ipa-prop.cc (ipcp_get_parm_bits): Use get_param_index. + (ipcp_update_bits): Accept TS as a parameter, assume it is not NULL. + (ipcp_update_vr): Likewise. + (ipcp_transform_function): Call, maybe_create_parm_idx_map of TS, bail + out quickly if empty, pass it to ipcp_update_bits and ipcp_update_vr. + +2023-06-20 Carl Love + + * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): + Rename CODE_FOR_xsxsigqp_tf to CODE_FOR_xsxsigqp_tf_ti. + Rename CODE_FOR_xsxsigqp_kf to CODE_FOR_xsxsigqp_kf_ti. + Rename CCDE_FOR_xsxexpqp_tf to CODE_FOR_xsxexpqp_tf_di. + Rename CODE_FOR_xsxexpqp_kf to CODE_FOR_xsxexpqp_kf_di. + (CODE_FOR_xsxexpqp_kf_v2di, CODE_FOR_xsxsigqp_kf_v1ti, + CODE_FOR_xsiexpqp_kf_v2di): Add case statements. + * config/rs6000/rs6000-builtins.def + (__builtin_vsx_scalar_extract_exp_to_vec, + __builtin_vsx_scalar_extract_sig_to_vec, + __builtin_vsx_scalar_insert_exp_vqp): Add new builtin definitions. + Rename xsxexpqp_kf, xsxsigqp_kf, xsiexpqp_kf to xsexpqp_kf_di, + xsxsigqp_kf_ti, xsiexpqp_kf_di respectively. + * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): + Update case RS6000_OVLD_VEC_VSIE to handle MODE_VECTOR_INT for new + overloaded instance. Update comments. + * config/rs6000/rs6000-overload.def + (__builtin_vec_scalar_insert_exp): Add new overload definition with + vector arguments. + (scalar_extract_exp_to_vec, scalar_extract_sig_to_vec): New + overloaded definitions. + * config/rs6000/vsx.md (V2DI_DI): New mode iterator. + (DI_to_TI): New mode attribute. + Rename xsxexpqp_ to sxexpqp__. + Rename xsxsigqp_ to xsxsigqp__. + Rename xsiexpqp_ to xsiexpqp__. + * doc/extend.texi (scalar_extract_exp_to_vec, + scalar_extract_sig_to_vec): Add documentation for new builtins. + (scalar_insert_exp): Add new overloaded builtin definition. + +2023-06-20 Li Xu + + * config/riscv/riscv.cc (riscv_regmode_natural_size): set the natural + size of vector mask mode to one rvv register. + +2023-06-20 Juzhe-Zhong + + * config/riscv/riscv-v.cc (expand_const_vector): Optimize codegen. + +2023-06-20 Lehua Ding + + * config/riscv/riscv.cc (riscv_arg_has_vector): Add default + switch handler. + +2023-06-20 Richard Biener + + * tree-ssa-dse.cc (dse_classify_store): When we found + no defs and the basic-block with the original definition + ends in __builtin_unreachable[_trap] the store is dead. + +2023-06-20 Richard Biener + + * tree-ssa-phiprop.cc (phiprop_insert_phi): For simple loads + keep the virtual SSA form up-to-date. + +2023-06-20 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (*aarch64_addp_same_reg): + New define_insn_and_split. + +2023-06-20 Tamar Christina + + * config/aarch64/aarch64.md (*mov_aarch64): Drop test comment. + +2023-06-20 Jan Beulich + + * config/i386/sse.md (vec_dupv2di): Correct %vmovddup input + constraint. Add new AVX512F alternative. + +2023-06-20 Richard Biener + + PR debug/110295 + * dwarf2out.cc (process_scope_var): Continue processing + the decl after setting a parent in case the existing DIE + was in limbo. + +2023-06-20 Lehua Ding + + * config/riscv/riscv.cc (riscv_scalable_vector_type_p): Delete. + (riscv_arg_has_vector): Simplify. + (riscv_pass_in_vector_p): Adjust warning message. + +2023-06-19 Jin Ma + + * config/riscv/riscv.cc (riscv_compute_frame_info): Allocate frame for FCSR. + (riscv_for_each_saved_reg): Save and restore FCSR in interrupt functions. + * config/riscv/riscv.md (riscv_frcsr): New patterns. + (riscv_fscsr): Likewise. + +2023-06-19 Toru Kisuki + + PR rtl-optimization/110305 + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): + Handle HONOR_SNANS for x + 0.0. + +2023-06-19 Jan Hubicka + + PR tree-optimization/109811 + PR tree-optimization/109849 + * passes.def: Add phiprop to early optimization passes. + * tree-ssa-phiprop.cc: Allow clonning. + +2023-06-19 Tamar Christina + + * config/aarch64/aarch64.md (arches): Add nosimd. + (*mov_aarch64, *movsi_aarch64, *movdi_aarch64): Rewrite to + compact syntax. + +2023-06-19 Tamar Christina + Omar Tahir + + * gensupport.cc (class conlist, add_constraints, add_attributes, + skip_spaces, expect_char, preprocess_compact_syntax, + parse_section_layout, parse_section, convert_syntax): New. + (process_rtx): Check for conversion. + * genoutput.cc (process_template): Check for unresolved iterators. + (class data): Add compact_syntax_p. + (gen_insn): Use it. + * gensupport.h (compact_syntax): New. + (hash-set.h): Include. + * doc/md.texi: Document it. + +2023-06-19 Uros Bizjak + + * recog.h (check_asm_operands): Change return type from int to bool. + (insn_invalid_p): Ditto. + (verify_changes): Ditto. + (apply_change_group): Ditto. + (constrain_operands): Ditto. + (constrain_operands_cached): Ditto. + (validate_replace_rtx_subexp): Ditto. + (validate_replace_rtx): Ditto. + (validate_replace_rtx_part): Ditto. + (validate_replace_rtx_part_nosimplify): Ditto. + (added_clobbers_hard_reg_p): Ditto. + (peep2_regno_dead_p): Ditto. + (peep2_reg_dead_p): Ditto. + (store_data_bypass_p): Ditto. + (if_test_bypass_p): Ditto. + * rtl.h (split_all_insns_noflow): Change + return type from unsigned int to void. + * genemit.cc (output_added_clobbers_hard_reg_p): Change return type + of generated added_clobbers_hard_reg_p from int to bool and adjust + function body accordingly. Change "used" variable type from + int to bool. + * recog.cc (check_asm_operands): Change return type + from int to bool and adjust function body accordingly. + (insn_invalid_p): Ditto. Change "is_asm" variable to bool. + (verify_changes): Change return type from int to bool. + (apply_change_group): Change return type from int to bool + and adjust function body accordingly. + (validate_replace_rtx_subexp): Change return type from int to bool. + (validate_replace_rtx): Ditto. + (validate_replace_rtx_part): Ditto. + (validate_replace_rtx_part_nosimplify): Ditto. + (constrain_operands_cached): Ditto. + (constrain_operands): Ditto. Change "lose" and "win" + variables type from int to bool. + (split_all_insns_noflow): Change return type from unsigned int + to void and adjust function body accordingly. + (peep2_regno_dead_p): Change return type from int to bool. + (peep2_reg_dead_p): Ditto. + (peep2_find_free_register): Change "success" + variable type from int to bool + (store_data_bypass_p_1): Change return type from int to bool. + (store_data_bypass_p): Ditto. + +2023-06-19 Li Xu + + * config/riscv/vector-iterators.md: zvfh/zvfhmin depends on the + Zve32f extension. + +2023-06-19 Pan Li + + PR target/110299 + * config/riscv/riscv-vector-builtins-bases.cc: Adjust expand for + modes. + * config/riscv/vector-iterators.md: Remove VWLMUL1, VWLMUL1_ZVE64, + VWLMUL1_ZVE32, VI_ZVE64, VI_ZVE32, VWI, VWI_ZVE64, VWI_ZVE32, + VF_ZVE63 and VF_ZVE32. + * config/riscv/vector.md + (@pred_widen_reduc_plus): Removed. + (@pred_widen_reduc_plus): Ditto. + (@pred_widen_reduc_plus): Ditto. + (@pred_widen_reduc_plus): Ditto. + (@pred_widen_reduc_plus): Ditto. + (@pred_widen_reduc_plus): New pattern. + (@pred_widen_reduc_plus): Ditto. + (@pred_widen_reduc_plus): Ditto. + (@pred_widen_reduc_plus): Ditto. + (@pred_widen_reduc_plus): Ditto. + +2023-06-19 Pan Li + + PR target/110277 + * config/riscv/riscv-vector-builtins-bases.cc: Adjust expand for + ret_mode. + * config/riscv/vector-iterators.md: Add VHF, VSF, VDF, + VHF_LMUL1, VSF_LMUL1, VDF_LMUL1, and remove unused attr. + * config/riscv/vector.md (@pred_reduc_): Removed. + (@pred_reduc_): Ditto. + (@pred_reduc_): Ditto. + (@pred_reduc_plus): Ditto. + (@pred_reduc_plus): Ditto. + (@pred_reduc_plus): Ditto. + (@pred_reduc_): New pattern. + (@pred_reduc_): Ditto. + (@pred_reduc_): Ditto. + (@pred_reduc_plus): Ditto. + (@pred_reduc_plus): Ditto. + (@pred_reduc_plus): Ditto. + +2023-06-19 Andrew Stubbs + + * config/gcn/gcn.cc (gcn_expand_divmod_libfunc): New function. + (gcn_init_libfuncs): Add div and mod functions for all modes. + Add placeholders for divmod functions. + (TARGET_EXPAND_DIVMOD_LIBFUNC): Define. + +2023-06-19 Andrew Stubbs + + * tree-vect-generic.cc: Include optabs-libfuncs.h. + (get_compute_type): Check optab_libfunc. + * tree-vect-stmts.cc: Include optabs-libfuncs.h. + (vectorizable_operation): Check optab_libfunc. + +2023-06-19 Andrew Stubbs + + * config/gcn/gcn-protos.h (vgpr_4reg_mode_p): New function. + * config/gcn/gcn-valu.md (V_4REG, V_4REG_ALT): New iterators. + (V_MOV, V_MOV_ALT): Likewise. + (scalar_mode, SCALAR_MODE): Add TImode. + (vnsi, VnSI, vndi, VnDI): Likewise. + (vec_merge, vec_merge_with_clobber, vec_merge_with_vcc): Use V_MOV. + (mov, mov_unspec): Use V_MOV. + (*mov_4reg): New insn. + (mov_exec): New 4reg variant. + (mov_sgprbase): Likewise. + (reload_in, reload_out): Use V_MOV. + (vec_set): Likewise. + (vec_duplicate): New 4reg variant. + (vec_extract): Likewise. + (vec_extract): Rename to ... + (vec_extract): ... this, and use V_MOV. + (vec_extract_nop): New 4reg variant. + (fold_extract_last_): Use V_MOV. + (vec_init): Rename to ... + (vec_init): ... this, and use V_MOV. + (gather_load, gather_expr, + gather_insn_1offset, gather_insn_1offset_ds, + gather_insn_2offsets): Use V_MOV. + (scatter_store, scatter_expr, + scatter_insn_1offset, + scatter_insn_1offset_ds, + scatter_insn_2offsets): Likewise. + (maskloaddi, maskstoredi, mask_gather_load, + mask_scatter_store): Likewise. + * config/gcn/gcn.cc (gcn_class_max_nregs): Use vgpr_4reg_mode_p. + (gcn_hard_regno_mode_ok): Likewise. + (GEN_VNM): Add TImode support. + (USE_TI): New macro. Separate TImode operations from non-TImode ones. + (gcn_vector_mode_supported_p): Add V64TImode, V32TImode, V16TImode, + V8TImode, and V2TImode. + (print_operand): Add 'J' and 'K' print codes. + +2023-06-19 Richard Biener + + PR tree-optimization/110298 + * tree-ssa-loop-ivcanon.cc (tree_unroll_loops_completely): + Clear number of iterations info before cleaning up the CFG. + +2023-06-19 Kyrylo Tkachov + + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): + Simplify vec_concat of lowpart subreg and high part vec_select. + +2023-06-19 Tobias Burnus + + * doc/invoke.texi (-foffload-options): Remove '-O3' from the examples. + +2023-06-19 Richard Sandiford + + * tree-vect-loop-manip.cc (vect_set_loop_condition_partial_vectors): + Handle null niters_skip. + +2023-06-19 Richard Biener + + * config/aarch64/aarch64.cc + (aarch64_vector_costs::analyze_loop_vinfo): Fix reference + to LOOP_VINFO_MASKS. + +2023-06-19 Senthil Kumar Selvaraj + + PR target/105523 + * common/config/avr/avr-common.cc: Remove setting + of OPT_fdelete_null_pointer_checks. + * config/avr/avr.cc (avr_option_override): Clear + flag_delete_null_pointer_checks if zero_address_valid. + (avr_addr_space_zero_address_valid): New function. + (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Provide target + hook. + +2023-06-19 Ju-Zhe Zhong + Robin Dapp + + * doc/md.texi: Add len_mask{load,store}. + * genopinit.cc (main): Ditto. + (CMP_NAME): Ditto. + * internal-fn.cc (len_maskload_direct): Ditto. + (len_maskstore_direct): Ditto. + (expand_call_mem_ref): Ditto. + (expand_partial_load_optab_fn): Ditto. + (expand_len_maskload_optab_fn): Ditto. + (expand_partial_store_optab_fn): Ditto. + (expand_len_maskstore_optab_fn): Ditto. + (direct_len_maskload_optab_supported_p): Ditto. + (direct_len_maskstore_optab_supported_p): Ditto. + * internal-fn.def (LEN_MASK_LOAD): Ditto. + (LEN_MASK_STORE): Ditto. + * optabs.def (OPTAB_CD): Ditto. + +2023-06-19 Robin Dapp + + * config/riscv/autovec.md (2): Add unop expanders. + +2023-06-19 Robin Dapp + + * config/riscv/autovec.md (3): Implement binop + expander. + * config/riscv/riscv-protos.h (emit_vlmax_fp_insn): Declare. + (enum vxrm_field_enum): Rename this... + (enum fixed_point_rounding_mode): ...to this. + (enum frm_field_enum): Rename this... + (enum floating_point_rounding_mode): ...to this. + * config/riscv/riscv-v.cc (emit_vlmax_fp_insn): New function + * config/riscv/riscv.cc (riscv_const_insns): Clarify const + vector handling. + (riscv_libgcc_floating_mode_supported_p): Adjust comment. + (riscv_excess_precision): Do not convert to float for ZVFH. + * config/riscv/vector-iterators.md: Add VF_AUTO iterator. + +2023-06-19 Robin Dapp + + * config/riscv/vector-iterators.md: Add VI_QH iterator. + * config/riscv/autovec-opt.md + (@pred_extract_first_sextdi): New vmv.x.s pattern + that includes sign extension. + (@pred_extract_first_sextsi): Dito for SImode. + +2023-06-19 Robin Dapp + + * config/riscv/autovec.md (vec_set): Implement. + (vec_extract): Implement. + * config/riscv/riscv-protos.h (enum insn_type): Add slide insn. + (emit_vlmax_slide_insn): Declare. + (emit_nonvlmax_slide_tu_insn): Declare. + (emit_scalar_move_insn): Export. + (emit_nonvlmax_integer_move_insn): Export. + * config/riscv/riscv-v.cc (emit_vlmax_slide_insn): New function. + (emit_nonvlmax_slide_tu_insn): New function. + (emit_vlmax_masked_mu_insn): No change. + (emit_vlmax_integer_move_insn): Export. + +2023-06-19 Richard Biener + + * tree-vectorizer.h (enum vect_partial_vector_style): New. + (_loop_vec_info::partial_vector_style): Likewise. + (LOOP_VINFO_PARTIAL_VECTORS_STYLE): Likewise. + (rgroup_controls::compare_type): Add. + (vec_loop_masks): Change from a typedef to auto_vec<> + to a structure. + * tree-vect-loop-manip.cc (vect_set_loop_condition_partial_vectors): + Adjust. Convert niters_skip to compare_type. + (vect_set_loop_condition_partial_vectors_avx512): New function + implementing the AVX512 partial vector codegen. + (vect_set_loop_condition): Dispatch to the correct + vect_set_loop_condition_partial_vectors_* function based on + LOOP_VINFO_PARTIAL_VECTORS_STYLE. + (vect_prepare_for_masked_peels): Compute LOOP_VINFO_MASK_SKIP_NITERS + in the original niter type. + * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Initialize + partial_vector_style. + (can_produce_all_loop_masks_p): Adjust. + (vect_verify_full_masking): Produce the rgroup_controls vector + here. Set LOOP_VINFO_PARTIAL_VECTORS_STYLE on success. + (vect_verify_full_masking_avx512): New function implementing + verification of AVX512 style masking. + (vect_verify_loop_lens): Set LOOP_VINFO_PARTIAL_VECTORS_STYLE. + (vect_analyze_loop_2): Also try AVX512 style masking. + Adjust condition. + (vect_estimate_min_profitable_iters): Implement AVX512 style + mask producing cost. + (vect_record_loop_mask): Do not build the rgroup_controls + vector here but record masks in a hash-set. + (vect_get_loop_mask): Implement AVX512 style mask query, + complementing the existing while_ult style. + +2023-06-19 Richard Biener + + * tree-vectorizer.h (vect_get_loop_mask): Add loop_vec_info + argument. + * tree-vect-loop.cc (vect_get_loop_mask): Likewise. + (vectorize_fold_left_reduction): Adjust. + (vect_transform_reduction): Likewise. + (vectorizable_live_operation): Likewise. + * tree-vect-stmts.cc (vectorizable_call): Likewise. + (vectorizable_operation): Likewise. + (vectorizable_store): Likewise. + (vectorizable_load): Likewise. + (vectorizable_condition): Likewise. + +2023-06-19 Senthil Kumar Selvaraj + + PR target/110086 + * config/avr/avr.opt (mgas-isr-prologues, mmain-is-OS_task): + Add Optimization option property. + +2023-06-19 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.cc (xtensa_constantsynth_2insn): + Add new pattern for the abovementioned case. + +2023-06-19 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.cc + (TARGET_MEMORY_MOVE_COST, xtensa_memory_move_cost): Remove. + +2023-06-19 Jiufu Guo + + * config/rs6000/rs6000.cc (TARGET_CONST_ANCHOR): New define. + +2023-06-19 Jiufu Guo + + * cse.cc (try_const_anchors): Check SCALAR_INT_MODE. + +2023-06-19 liuhongt + + PR target/110235 + * config/i386/sse.md (_packsswb): + Substitute with .. + (sse2_packsswb): .. this, .. + (avx2_packsswb): .. this and .. + (avx512bw_packsswb): .. this. + (_packssdw): Substitute with .. + (sse2_packssdw): .. this, .. + (avx2_packssdw): .. this and .. + (avx512bw_packssdw): .. this. + +2023-06-19 liuhongt + + PR target/110235 + * config/i386/i386-expand.cc (ix86_split_mmx_pack): Use + UNSPEC_US_TRUNCATE instead of original us_truncate for + packusdw/packuswb. + * config/i386/mmx.md (mmx_packswb): Substitute + with .. + (mmx_packsswb): .. this and .. + (mmx_packuswb): .. this. + (mmx_packusdw): Use UNSPEC_US_TRUNCATE instead of original + us_truncate. + (s_trunsuffix): Removed code iterator. + (any_s_truncate): Ditto. + * config/i386/sse.md (_packuswb): Use + UNSPEC_US_TRUNCATE instead of original us_truncate. + (_packusdw): Ditto. + * config/i386/i386.md (UNSPEC_US_TRUNCATE): New unspec_c_enum. + +2023-06-18 Pan Li + + * config/riscv/riscv-vector-builtins-bases.cc: Fix one typo. + +2023-06-18 Uros Bizjak + + * rtl.h (*rtx_equal_p_callback_function): + Change return type from int to bool. + (rtx_equal_p): Ditto. + (*hash_rtx_callback_function): Ditto. + * rtl.cc (rtx_equal_p): Change return type from int to bool + and adjust function body accordingly. + * early-remat.cc (scratch_equal): Ditto. + * sel-sched-ir.cc (skip_unspecs_callback): Ditto. + (hash_with_unspec_callback): Ditto. + +2023-06-18 Jeff Law + + * config/arc/arc.md (movqi_insn): Allow certain constants to + be stored into memory in the pattern's condition. + (movsf_insn): Similarly. + +2023-06-18 Honza + + PR tree-optimization/109849 + * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Add new parameter + ES; handle ipa_predicate::not_sra_candidate. + (evaluate_properties_for_edge): Pass es to + evaluate_conditions_for_known_args. + (ipa_fn_summary_t::duplicate): Handle sra candidates. + (dump_ipa_call_summary): Dump points_to_possible_sra_candidate. + (load_or_store_of_ptr_parameter): New function. + (points_to_possible_sra_candidate_p): New function. + (analyze_function_body): Initialize points_to_possible_sra_candidate; + determine sra predicates. + (estimate_ipcp_clone_size_and_time): Update call of + evaluate_conditions_for_known_args. + (remap_edge_params): Update points_to_possible_sra_candidate. + (read_ipa_call_summary): Stream points_to_possible_sra_candidate + (write_ipa_call_summary): Likewise. + * ipa-predicate.cc (ipa_predicate::add_clause): Handle not_sra_candidate. + (dump_condition): Dump it. + * ipa-predicate.h (struct inline_param_summary): Add + points_to_possible_sra_candidate. + +2023-06-18 Roger Sayle + + * config/i386/i386-expand.cc (ix86_expand_carry): New helper + function for setting the carry flag. + (ix86_expand_builtin) : Use it here. + * config/i386/i386-protos.h (ix86_expand_carry): Prototype here. + * config/i386/i386.md (uaddc5): Use ix86_expand_carry. + (usubc5): Likewise. + +2023-06-18 Roger Sayle + + * config/i386/i386.md (*concat3_1): Use QImode + for the immediate constant shift count. + (*concat3_2): Likewise. + (*concat3_3): Likewise. + (*concat3_4): Likewise. + (*concat3_5): Likewise. + (*concat3_6): Likewise. + +2023-06-18 Uros Bizjak + + * cse.cc (hash_rtx_cb): Rename to hash_rtx. + (hash_rtx): Remove. + * early-remat.cc (remat_candidate_hasher::equal): Update + to call rtx_equal_p with rtx_equal_p_callback_function argument. + * rtl.cc (rtx_equal_p_cb): Rename to rtx_equal_p. + (rtx_equal_p): Remove. + * rtl.h (rtx_equal_p): Add rtx_equal_p_callback_function + argument with NULL default value. + (rtx_equal_p_cb): Remove function declaration. + (hash_rtx_cb): Ditto. + (hash_rtx): Add hash_rtx_callback_function argument + with NULL default value. + * sel-sched-ir.cc (free_nop_pool): Update function comment. + (skip_unspecs_callback): Ditto. + (vinsn_init): Update to call hash_rtx with + hash_rtx_callback_function argument. + (vinsn_equal_p): Ditto. + +2023-06-18 yulong + + * config/riscv/genrvv-type-indexer.cc (valid_type): Enable FP16 tuple. + * config/riscv/riscv-modes.def (RVV_TUPLE_MODES): New macro. + (ADJUST_ALIGNMENT): Ditto. + (RVV_TUPLE_PARTIAL_MODES): Ditto. + (ADJUST_NUNITS): Ditto. + * config/riscv/riscv-vector-builtins-types.def (vfloat16mf4x2_t): + New types. + (vfloat16mf4x3_t): Ditto. + (vfloat16mf4x4_t): Ditto. + (vfloat16mf4x5_t): Ditto. + (vfloat16mf4x6_t): Ditto. + (vfloat16mf4x7_t): Ditto. + (vfloat16mf4x8_t): Ditto. + (vfloat16mf2x2_t): Ditto. + (vfloat16mf2x3_t): Ditto. + (vfloat16mf2x4_t): Ditto. + (vfloat16mf2x5_t): Ditto. + (vfloat16mf2x6_t): Ditto. + (vfloat16mf2x7_t): Ditto. + (vfloat16mf2x8_t): Ditto. + (vfloat16m1x2_t): Ditto. + (vfloat16m1x3_t): Ditto. + (vfloat16m1x4_t): Ditto. + (vfloat16m1x5_t): Ditto. + (vfloat16m1x6_t): Ditto. + (vfloat16m1x7_t): Ditto. + (vfloat16m1x8_t): Ditto. + (vfloat16m2x2_t): Ditto. + (vfloat16m2x3_t): Ditto. + (vfloat16m2x4_t): Ditto. + (vfloat16m4x2_t): Ditto. + * config/riscv/riscv-vector-builtins.def (vfloat16mf4x2_t): New macro. + (vfloat16mf4x3_t): Ditto. + (vfloat16mf4x4_t): Ditto. + (vfloat16mf4x5_t): Ditto. + (vfloat16mf4x6_t): Ditto. + (vfloat16mf4x7_t): Ditto. + (vfloat16mf4x8_t): Ditto. + (vfloat16mf2x2_t): Ditto. + (vfloat16mf2x3_t): Ditto. + (vfloat16mf2x4_t): Ditto. + (vfloat16mf2x5_t): Ditto. + (vfloat16mf2x6_t): Ditto. + (vfloat16mf2x7_t): Ditto. + (vfloat16mf2x8_t): Ditto. + (vfloat16m1x2_t): Ditto. + (vfloat16m1x3_t): Ditto. + (vfloat16m1x4_t): Ditto. + (vfloat16m1x5_t): Ditto. + (vfloat16m1x6_t): Ditto. + (vfloat16m1x7_t): Ditto. + (vfloat16m1x8_t): Ditto. + (vfloat16m2x2_t): Ditto. + (vfloat16m2x3_t): Ditto. + (vfloat16m2x4_t): Ditto. + (vfloat16m4x2_t): Ditto. + * config/riscv/riscv-vector-switch.def (TUPLE_ENTRY): New. + * config/riscv/riscv.md: New. + * config/riscv/vector-iterators.md: New. + +2023-06-17 Roger Sayle + + * config/i386/i386-expand.cc (ix86_expand_move): Check that OP1 is + CONST_WIDE_INT_P before calling ix86_convert_wide_int_to_broadcast. + Generalize special case for converting TImode to V1TImode to handle + all 128-bit vector conversions. + +2023-06-17 Costas Argyris + + * gcc-ar.cc (main): Refactor to slightly reduce code + duplication. Avoid unnecessary elements in nargv. + +2023-06-16 Pan Li + + PR target/110265 + * config/riscv/riscv-vector-builtins-bases.cc: Add ret_mode for + integer reduction expand. + * config/riscv/vector-iterators.md: Add VQI, VHI, VSI and VDI, + and the LMUL1 attr respectively. + * config/riscv/vector.md + (@pred_reduc_): Removed. + (@pred_reduc_): Likewise. + (@pred_reduc_): Likewise. + (@pred_reduc_): New pattern. + (@pred_reduc_): Likewise. + (@pred_reduc_): Likewise. + (@pred_reduc_): Likewise. + +2023-06-16 Juzhe-Zhong + + PR target/110264 + * config/riscv/riscv-vsetvl.cc (insert_vsetvl): Fix bug. + +2023-06-16 Jakub Jelinek + + PR middle-end/79173 + * builtin-types.def (BT_FN_UINT_UINT_UINT_UINT_UINTPTR, + BT_FN_ULONG_ULONG_ULONG_ULONG_ULONGPTR, + BT_FN_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONGPTR): New + types. + * builtins.def (BUILT_IN_ADDC, BUILT_IN_ADDCL, BUILT_IN_ADDCLL, + BUILT_IN_SUBC, BUILT_IN_SUBCL, BUILT_IN_SUBCLL): New builtins. + * builtins.cc (fold_builtin_addc_subc): New function. + (fold_builtin_varargs): Handle BUILT_IN_{ADD,SUB}C{,L,LL}. + * doc/extend.texi (__builtin_addc, __builtin_subc): Document. + +2023-06-16 Jakub Jelinek + + PR tree-optimization/110271 + * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children) + : Ignore return value from match_arith_overflow, + instead call match_uaddc_usubc only if gsi_stmt (gsi) is still stmt. + +2023-06-16 Martin Jambor + + * configure: Regenerate. + +2023-06-16 Roger Sayle + Uros Bizjak + + PR target/31985 + * config/i386/i386.md (*add3_doubleword_concat): New + define_insn_and_split combine *add3_doubleword with + a *concat3 for more efficient lowering after reload. + +2023-06-16 Vladimir N. Makarov + + * ira-lives.cc: Include except.h. + (process_bb_node_lives): Ignore conflicts from cleanup exceptions + when the pseudo does not live at the exception landing pad. + +2023-06-16 Alex Coplan + + * doc/invoke.texi: Document -Welaborated-enum-base. + +2023-06-16 Kyrylo Tkachov + + * config/aarch64/aarch64-simd-builtins.def (shrn2_n): Rename builtins to... + (ushrn2_n): ... This. + (sqshrn2_n): Rename builtins to... + (ssqshrn2_n): ... This. + (uqshrn2_n): Rename builtins to... + (uqushrn2_n): ... This. + * config/aarch64/arm_neon.h (vqshrn_high_n_s16): Adjust for the above. + (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. + (vshrn_high_n_s16): Likewise. + (vshrn_high_n_s32): Likewise. + (vshrn_high_n_s64): Likewise. + (vshrn_high_n_u16): Likewise. + (vshrn_high_n_u32): Likewise. + (vshrn_high_n_u64): Likewise. + * config/aarch64/aarch64-simd.md (aarch64_shrn2_n_insn_le): + Rename to... + (aarch64_shrn2_n_insn_le): ... This. + Use SHIFTRT iterator and AARCH64_VALID_SHRN_OP check. + (aarch64_shrn2_n_insn_be): Rename to... + (aarch64_shrn2_n_insn_be): ... This. + Use SHIFTRT iterator and AARCH64_VALID_SHRN_OP check. + (aarch64_shrn2_n): Rename to... + (aarch64_shrn2_n): ... This. + Update expander for the above. + +2023-06-16 Kyrylo Tkachov + + * config/aarch64/aarch64-simd-builtins.def (shrn2): Rename builtins to... + (shrn2_n): ... This. + (rshrn2): Rename builtins to... + (rshrn2_n): ... This. + * config/aarch64/arm_neon.h (vrshrn_high_n_s16): Adjust for the above. + (vrshrn_high_n_s32): Likewise. + (vrshrn_high_n_s64): Likewise. + (vrshrn_high_n_u16): Likewise. + (vrshrn_high_n_u32): Likewise. + (vrshrn_high_n_u64): Likewise. + (vshrn_high_n_s16): Likewise. + (vshrn_high_n_s32): Likewise. + (vshrn_high_n_s64): Likewise. + (vshrn_high_n_u16): Likewise. + (vshrn_high_n_u32): Likewise. + (vshrn_high_n_u64): Likewise. + * config/aarch64/aarch64-simd.md (*aarch64_shrn2_vect_le): + Delete. + (*aarch64_shrn2_vect_be): Likewise. + (aarch64_shrn2_insn_le): Likewise. + (aarch64_shrn2_insn_be): Likewise. + (aarch64_shrn2): Likewise. + (aarch64_rshrn2_insn_le): Likewise. + (aarch64_rshrn2_insn_be): Likewise. + (aarch64_rshrn2): Likewise. + (aarch64_qshrn2_n_insn_le): Likewise. + (aarch64_shrn2_n_insn_le): New define_insn. + (aarch64_qshrn2_n_insn_be): Delete. + (aarch64_shrn2_n_insn_be): New define_insn. + (aarch64_qshrn2_n): Delete. + (aarch64_shrn2_n): New define_expand. + (aarch64_rshrn2_n_insn_le): New define_insn. + (aarch64_rshrn2_n_insn_be): New define_insn. + (aarch64_rshrn2_n): New define_expand. + (aarch64_sqshrun2_n_insn_le): New define_insn. + (aarch64_sqshrun2_n_insn_be): New define_insn. + (aarch64_sqshrun2_n): New define_expand. + (aarch64_sqrshrun2_n_insn_le): New define_insn. + (aarch64_sqrshrun2_n_insn_be): New define_insn. + (aarch64_sqrshrun2_n): New define_expand. + * config/aarch64/iterators.md (UNSPEC_SQSHRUN, UNSPEC_SQRSHRUN, + UNSPEC_SQSHRN, UNSPEC_UQSHRN, UNSPEC_SQRSHRN, UNSPEC_UQRSHRN): + Delete unspec values. + (VQSHRN_N): Delete int iterator. + +2023-06-16 Kyrylo Tkachov + + * config/aarch64/aarch64.h (AARCH64_VALID_SHRN_OP): Define. + * config/aarch64/aarch64-simd.md + (*aarch64_shrn_n_insn): Rename to... + (*aarch64_shrn_n_insn): ... This. + Use SHIFTRT iterator and add AARCH64_VALID_SHRN_OP to condition. + * config/aarch64/iterators.md (shrn_s): New code attribute. + +2023-06-16 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_qshrn_n): + Rename to... + (aarch64_shrn_n): ... This. Reimplement with RTL codes. + (*aarch64_rshrn_n_insn): New define_insn. + (aarch64_sqrshrun_n_insn): Likewise. + (aarch64_sqshrun_n_insn): Likewise. + (aarch64_rshrn_n): New define_expand. + (aarch64_sqshrun_n): Likewise. + (aarch64_sqrshrun_n): Likewise. + * config/aarch64/iterators.md (V2XWIDE): Add HI and SI modes. + +2023-06-16 Kyrylo Tkachov + + * config/aarch64/aarch64-simd-builtins.def (shrn): Rename builtins to... + (shrn_n): ... This. + (rshrn): Rename builtins to... + (rshrn_n): ... This. + * config/aarch64/arm_neon.h (vshrn_n_s16): Adjust for the above. + (vshrn_n_s32): Likewise. + (vshrn_n_s64): Likewise. + (vshrn_n_u16): Likewise. + (vshrn_n_u32): Likewise. + (vshrn_n_u64): Likewise. + (vrshrn_n_s16): Likewise. + (vrshrn_n_s32): Likewise. + (vrshrn_n_s64): Likewise. + (vrshrn_n_u16): Likewise. + (vrshrn_n_u32): Likewise. + (vrshrn_n_u64): Likewise. + * config/aarch64/aarch64-simd.md + (*aarch64_shrn): Delete. + (aarch64_shrn): Likewise. + (aarch64_rshrn_insn): Likewise. + (aarch64_rshrn): Likewise. + (aarch64_qshrn_n_insn): Likewise. + (aarch64_qshrn_n): Likewise. + (*aarch64_shrn_n_insn): New define_insn. + (*aarch64_rshrn_n_insn): Likewise. + (*aarch64_sqshrun_n_insn): Likewise. + (*aarch64_sqrshrun_n_insn): Likewise. + (aarch64_shrn_n): New define_expand. + (aarch64_rshrn_n): Likewise. + (aarch64_sqshrun_n): Likewise. + (aarch64_sqrshrun_n): Likewise. + * config/aarch64/iterators.md (ALL_TRUNC): New code iterator. + (TRUNCEXTEND): New code attribute. + (TRUNC_SHIFT): Likewise. + (shrn_op): Likewise. + * config/aarch64/predicates.md (aarch64_simd_umax_quarter_mode): + New predicate. + +2023-06-16 Pan Li + + * config/riscv/riscv-vsetvl.cc + (pass_vsetvl::global_eliminate_vsetvl_insn): Initialize var by NULL. + +2023-06-16 Richard Biener + + PR tree-optimization/110278 + * match.pd (uns < (typeof uns)(uns != 0) -> false): New. + (x != (typeof x)(x == 0) -> true): Likewise. + +2023-06-16 Pali Rohár + + * config/i386/mingw-w64.h (CPP_SPEC): Adjust for -mcrtdll=. + (REAL_LIBGCC_SPEC): New define. + * config/i386/mingw.opt: Add mcrtdll= + * config/i386/mingw32.h (CPP_SPEC): Adjust for -mcrtdll=. + (REAL_LIBGCC_SPEC): Adjust for -mcrtdll=. + (STARTFILE_SPEC): Adjust for -mcrtdll=. + * doc/invoke.texi: Add mcrtdll= documentation. + +2023-06-16 Simon Dardis + + * config/mips/mips.cc (enum mips_code_readable_setting):New enmu. + (mips_handle_code_readable_attr):New static function. + (mips_get_code_readable_attr):New static enum function. + (mips_set_current_function):Set the code_readable mode. + (mips_option_override):Same as above. + * doc/extend.texi:Document code_readable. + +2023-06-16 Richard Biener + + PR tree-optimization/110269 + * fold-const.cc (fold_binary_loc): Merge x != 0 folding + with tree_expr_nonzero_p ... + * match.pd (cmp (convert? addr@0) integer_zerop): With this + pattern. + +2023-06-15 Marek Polacek + + * Makefile.in: Set LD_PICFLAG. Use it. Set enable_host_pie. + Remove NO_PIE_CFLAGS and NO_PIE_FLAG. Pass LD_PICFLAG to + ALL_LINKERFLAGS. Use the "pic" build of libiberty if --enable-host-pie. + * configure.ac (--enable-host-shared): Don't set PICFLAG here. + (--enable-host-pie): New check. Set PICFLAG and LD_PICFLAG after this + check. + * configure: Regenerate. + * doc/install.texi: Document --enable-host-pie. + +2023-06-15 Manolis Tsamis + + * regcprop.cc (maybe_mode_change): Enable stack pointer + propagation. + +2023-06-15 Andrew MacLeod + + PR tree-optimization/110266 + * gimple-range-fold.cc (adjust_imagpart_expr): Check for integer + complex type. + (adjust_realpart_expr): Ditto. + +2023-06-15 Jan Beulich + + * config/i386/sse.md (_vec_dup): Use + vmovddup. + +2023-06-15 Jan Beulich + + * config/i386/constraints.md: Mention k and r for B. + +2023-06-15 Lulu Cheng + Andrew Pinski + + PR target/110136 + * config/loongarch/loongarch.md: Modify the register constraints for template + "jumptable" and "indirect_jump" from "r" to "e". + +2023-06-15 Xi Ruoyao + + * config/loongarch/loongarch-tune.h (loongarch_align): New + struct. + * config/loongarch/loongarch-def.h (loongarch_cpu_align): New + array. + * config/loongarch/loongarch-def.c (loongarch_cpu_align): Define + the array. + * config/loongarch/loongarch.cc + (loongarch_option_override_internal): Set the value of + -falign-functions= if -falign-functions is enabled but no value + is given. Likewise for -falign-labels=. + +2023-06-15 Jakub Jelinek + + PR middle-end/79173 + * internal-fn.def (UADDC, USUBC): New internal functions. + * internal-fn.cc (expand_UADDC, expand_USUBC): New functions. + (commutative_ternary_fn_p): Return true also for IFN_UADDC. + * optabs.def (uaddc5_optab, usubc5_optab): New optabs. + * tree-ssa-math-opts.cc (uaddc_cast, uaddc_ne0, uaddc_is_cplxpart, + match_uaddc_usubc): New functions. + (math_opts_dom_walker::after_dom_children): Call match_uaddc_usubc + for PLUS_EXPR, MINUS_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR unless + other optimizations have been successful for those. + * gimple-fold.cc (gimple_fold_call): Handle IFN_UADDC and IFN_USUBC. + * fold-const-call.cc (fold_const_call): Likewise. + * gimple-range-fold.cc (adjust_imagpart_expr): Likewise. + * tree-ssa-dce.cc (eliminate_unnecessary_stmts): Likewise. + * doc/md.texi (uaddc5, usubc5): Document new named + patterns. + * config/i386/i386.md (uaddc5, usubc5): New + define_expand patterns. + (*setcc_qi_addqi3_cconly_overflow_1_, *setccc): Split + into NOTE_INSN_DELETED note rather than nop instruction. + (*setcc_qi_negqi_ccc_1_, *setcc_qi_negqi_ccc_2_): + Likewise. + +2023-06-15 Jakub Jelinek + + PR middle-end/79173 + * config/i386/i386.md (subborrow): Add alternative with + memory destination and add for it define_peephole2 + TARGET_READ_MODIFY_WRITE/-Os patterns to prefer using memory + destination in these patterns. + +2023-06-15 Jakub Jelinek + + PR middle-end/79173 + * config/i386/i386.md (*sub_3, @add3_carry, + addcarry, @sub3_carry, *add3_cc_overflow_1): Add + define_peephole2 TARGET_READ_MODIFY_WRITE/-Os patterns to prefer + using memory destination in these patterns. + +2023-06-15 Jakub Jelinek + + * gimple-fold.cc (gimple_fold_call): Move handling of arg0 + as well as arg1 INTEGER_CSTs for .UBSAN_CHECK_{ADD,SUB,MUL} + and .{ADD,SUB,MUL}_OVERFLOW calls from here... + * fold-const-call.cc (fold_const_call): ... here. + +2023-06-15 Oluwatamilore Adebayo + + * config/aarch64/aarch64-simd.md (aarch64_abd): + Rename to abd3. + * config/aarch64/aarch64-sve.md (abd_3): Rename + to abd3. + +2023-06-15 Oluwatamilore Adebayo + + * doc/md.texi (sabd, uabd): Document them. + * internal-fn.def (ABD): Use new optab. + * optabs.def (sabd_optab, uabd_optab): New optabs, + * tree-vect-patterns.cc (vect_recog_absolute_difference): + Recognize the following idiom abs (a - b). + (vect_recog_sad_pattern): Refactor to use + vect_recog_absolute_difference. + (vect_recog_abd_pattern): Use patterns found by + vect_recog_absolute_difference to build a new ABD + internal call. + +2023-06-15 chenxiaolong + + * config/loongarch/loongarch.h (LARCH_CALL_RATIO): Modify the value + of macro LARCH_CALL_RATIO on LoongArch to make it perform optimally. + +2023-06-15 Juzhe-Zhong + + * config/riscv/riscv-v.cc (shuffle_merge_patterns): New pattern. + (expand_vec_perm_const_1): Add merge optmization. + +2023-06-15 Lehua Ding + + PR target/110119 + * config/riscv/riscv.cc (riscv_get_arg_info): Return NULL_RTX for vector mode + (riscv_pass_by_reference): Return true for vector mode + +2023-06-15 Pan Li + + * config/riscv/autovec-opt.md: Align the predictor sytle. + * config/riscv/autovec.md: Ditto. + +2023-06-15 Pan Li + + * config/riscv/riscv-v.cc (rvv_builder::get_merge_scalar_mask): + Take elen instead of scalar BITS_PER_WORD. + (expand_vector_init_merge_repeating_sequence): Use inner_bits_size + instead of scaler BITS_PER_WORD. + +2023-06-14 Jivan Hakobyan + + * config/moxie/uclinux.h (MFWRAP_SPEC): Remove + +2023-06-14 Kyrylo Tkachov + + * config/aarch64/aarch64-sve-builtins-base.cc (svlast_impl::fold): + Fix signed comparison warning in loop from npats to enelts. + +2023-06-14 Thomas Schwinge + + * gcc.cc (driver_handle_option): Forward host '-lgfortran', '-lm' + to offloading compilation. + * config/gcn/mkoffload.cc (main): Adjust. + * config/nvptx/mkoffload.cc (main): Likewise. + * doc/invoke.texi (foffload-options): Update example. + +2023-06-14 liuhongt + + PR target/110227 + * config/i386/sse.md (mov_internal>): Use x instead of v + for alternative 2 since there's no evex version for vpcmpeqd + ymm, ymm, ymm. + +2023-06-13 Jeff Law + + * gcc.cc (LINK_COMMAND_SPEC): Remove mudflap spec handling. + +2023-06-13 Jeff Law + + * config/sh/divtab.cc: Remove. + +2023-06-13 Jakub Jelinek + + * config/i386/i386.cc (standard_sse_constant_opcode): Remove + superfluous spaces around \t for vpcmpeqd. + +2023-06-13 Roger Sayle + + * expr.cc (store_constructor) : Don't bother + clearing vectors with only a single element. Set CLEARED if the + vector was initialized to zero. + +2023-06-13 Lehua Ding + + * config/riscv/riscv-v.cc (struct mode_vtype_group): Remove duplicate + #include. + (ENTRY): Undef. + (TUPLE_ENTRY): Undef. + +2023-06-13 Juzhe-Zhong + + * config/riscv/riscv-v.cc (rvv_builder::single_step_npatterns_p): Add comment. + (shuffle_generic_patterns): Ditto. + (expand_vec_perm_const_1): Ditto. + +2023-06-13 Juzhe-Zhong + + * config/riscv/riscv-v.cc (emit_vlmax_decompress_insn): Fix bug. + (shuffle_decompress_patterns): Ditto. + +2023-06-13 Richard Biener + + * tree-ssa-loop-ch.cc (ch_base::copy_headers): Free loop BBs. + +2023-06-13 Yanzhang Wang + Kito Cheng + + * config/riscv/riscv-protos.h (riscv_init_cumulative_args): Set + warning flag if func is not builtin + * config/riscv/riscv.cc + (riscv_scalable_vector_type_p): Determine whether the type is scalable vector. + (riscv_arg_has_vector): Determine whether the arg is vector type. + (riscv_pass_in_vector_p): Check the vector type param is passed by value. + (riscv_init_cumulative_args): The same as header. + (riscv_get_arg_info): Add the checking. + (riscv_function_value): Check the func return and set warning flag + * config/riscv/riscv.h (INIT_CUMULATIVE_ARGS): Add a flag to + determine whether warning psabi or not. + +2023-06-13 Kyrylo Tkachov + + * config/arm/arm-opts.h (enum arm_tp_type): Remove TP_CP15. + Add TP_TPIDRURW, TP_TPIDRURO, TP_TPIDRPRW values. + * config/arm/arm-protos.h (arm_output_load_tpidr): Declare prototype. + * config/arm/arm.cc (arm_option_reconfigure_globals): Replace TP_CP15 + with TP_TPIDRURO. + (arm_output_load_tpidr): Define. + * config/arm/arm.h (TARGET_HARD_TP): Define in terms of TARGET_SOFT_TP. + * config/arm/arm.md (load_tp_hard): Call arm_output_load_tpidr to output + assembly. + (reload_tp_hard): Likewise. + * config/arm/arm.opt (tpidrurw, tpidruro, tpidrprw): New values for + arm_tp_type. + * doc/invoke.texi (Arm Options, mtp): Document new values. + +2023-06-13 Kyrylo Tkachov + + PR target/108779 + * config/aarch64/aarch64-opts.h (enum aarch64_tp_reg): Add + AARCH64_TPIDRRO_EL0 value. + * config/aarch64/aarch64.cc (aarch64_output_load_tp): Define. + * config/aarch64/aarch64.opt (tpidr_el0, tpidr_el1, tpidr_el2, + tpidr_el3, tpidrro_el3): New accepted values to -mtp=. + * doc/invoke.texi (AArch64 Options): Document new -mtp= options. + +2023-06-13 Alexandre Oliva + + * range-op-float.cc (frange_nextafter): Drop inline. + (frelop_early_resolve): Add static. + (frange_float): Likewise. + +2023-06-13 Richard Biener + + PR middle-end/110232 + * fold-const.cc (native_interpret_vector): Use TYPE_SIZE_UNIT + to check whether the buffer covers the whole vector. + +2023-06-13 Richard Biener + + * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): For + .MASK_LOAD and friends set the size of the access to unknown. + +2023-06-13 Tejas Belagod + + PR target/96339 + * config/aarch64/aarch64-sve-builtins-base.cc (svlast_impl::fold): Fold sve + calls that have a constant input predicate vector. + (svlast_impl::is_lasta): Query to check if intrinsic is svlasta. + (svlast_impl::is_lastb): Query to check if intrinsic is svlastb. + (svlast_impl::vect_all_same): Check if all vector elements are equal. + +2023-06-13 Andi Kleen + + * config/i386/gcc-auto-profile: Regenerate. + +2023-06-13 Juzhe-Zhong + + * config/riscv/vector-iterators.md: Fix requirement. + +2023-06-13 Juzhe-Zhong + + * config/riscv/riscv-v.cc (emit_vlmax_decompress_insn): New function. + (shuffle_decompress_patterns): New function. + (expand_vec_perm_const_1): Add decompress optimization. + +2023-06-12 Jeff Law + + PR rtl-optimization/101188 + * postreload.cc (reload_cse_move2add_invalidate): New function, + extracted from... + (reload_cse_move2add): Call reload_cse_move2add_invalidate. + +2023-06-12 Prathamesh Kulkarni + + * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Tweak condition + if (n_var == n_elts && n_elts <= 16) to allow a single constant, + and if maxv == 1, use constant element for duplicating into register. + +2023-06-12 Tobias Burnus + + * gimplify.cc (gimplify_adjust_omp_clauses_1): Use + GOMP_MAP_FORCE_PRESENT for 'present alloc' implicit mapping. + (gimplify_adjust_omp_clauses): Change + GOMP_MAP_PRESENT_{TO,TOFROM,FROM,ALLOC} to the equivalent + GOMP_MAP_FORCE_PRESENT. + * omp-low.cc (lower_omp_target): Remove handling of no-longer valid + GOMP_MAP_PRESENT_{TO,TOFROM,FROM,ALLOC}; update map kinds used for + to/from clauses with present modifier. + +2023-06-12 Andrew MacLeod + + PR tree-optimization/110205 + * range-op-float.cc (range_operator::fold_range): Add default FII + fold routine. + * range-op-mixed.h (class operator_gt): Add missing final overrides. + * range-op.cc (range_op_handler::fold_range): Add RO_FII case. + (operator_lshift ::update_bitmask): Add final override. + (operator_rshift ::update_bitmask): Add final override. + * range-op.h (range_operator::fold_range): Add FII prototype. + +2023-06-12 Andrew MacLeod + + * gimple-range-op.cc (gimple_range_op_handler::maybe_non_standard): + Use range_op_handler directly. + * range-op.cc (range_op_handler::range_op_handler): Unsigned + param instead of tree-code. + (ptr_op_widen_plus_signed): Delete. + (ptr_op_widen_plus_unsigned): Delete. + (ptr_op_widen_mult_signed): Delete. + (ptr_op_widen_mult_unsigned): Delete. + (range_op_table::initialize_integral_ops): Add new opcodes. + * range-op.h (range_op_handler): Use unsigned. + (OP_WIDEN_MULT_SIGNED): New. + (OP_WIDEN_MULT_UNSIGNED): New. + (OP_WIDEN_PLUS_SIGNED): New. + (OP_WIDEN_PLUS_UNSIGNED): New. + (RANGE_OP_TABLE_SIZE): New. + (range_op_table::operator []): Use unsigned. + (range_op_table::set): Use unsigned. + (m_range_tree): Make unsigned. + (ptr_op_widen_mult_signed): Remove. + (ptr_op_widen_mult_unsigned): Remove. + (ptr_op_widen_plus_signed): Remove. + (ptr_op_widen_plus_unsigned): Remove. + +2023-06-12 Andrew MacLeod + + * gimple-range-op.cc (gimple_range_op_handler): Set m_operator + manually as there is no access to the default operator. + (cfn_copysign::fold_range): Don't check for validity. + (cfn_ubsan::fold_range): Ditto. + (gimple_range_op_handler::maybe_builtin_call): Don't set to NULL. + * range-op.cc (default_operator): New. + (range_op_handler::range_op_handler): Use default_operator + instead of NULL. + (range_op_handler::operator bool): Move from header, compare + against default operator. + (range_op_handler::range_op): New. + * range-op.h (range_op_handler::operator bool): Move. + +2023-06-12 Andrew MacLeod + + * range-op.cc (unified_table): Delete. + (range_op_table operator_table): Instantiate. + (range_op_table::range_op_table): Rename from unified_table. + (range_op_handler::range_op_handler): Use range_op_table. + * range-op.h (range_op_table::operator []): Inline. + (range_op_table::set): Inline. + +2023-06-12 Andrew MacLeod + + * gimple-range-gori.cc (gori_compute::condexpr_adjust): Do not + pass type. + * gimple-range-op.cc (get_code): Rename from get_code_and_type + and simplify. + (gimple_range_op_handler::supported_p): No need for type. + (gimple_range_op_handler::gimple_range_op_handler): Ditto. + (cfn_copysign::fold_range): Ditto. + (cfn_ubsan::fold_range): Ditto. + * ipa-cp.cc (ipa_vr_operation_and_type_effects): Ditto. + * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Ditto. + * range-op-float.cc (operator_plus::op1_range): Ditto. + (operator_mult::op1_range): Ditto. + (range_op_float_tests): Ditto. + * range-op.cc (get_op_handler): Remove. + (range_op_handler::set_op_handler): Remove. + (operator_plus::op1_range): No need for type. + (operator_minus::op1_range): Ditto. + (operator_mult::op1_range): Ditto. + (operator_exact_divide::op1_range): Ditto. + (operator_cast::op1_range): Ditto. + (perator_bitwise_not::fold_range): Ditto. + (operator_negate::fold_range): Ditto. + * range-op.h (range_op_handler::range_op_handler): Remove type param. + (range_cast): No need for type. + (range_op_table::operator[]): Check for enum_code >= 0. + * tree-data-ref.cc (compute_distributive_range): No need for type. + * tree-ssa-loop-unswitch.cc (unswitch_predicate): Ditto. + * value-query.cc (range_query::get_tree_range): Ditto. + * value-relation.cc (relation_oracle::validate_relation): Ditto. + * vr-values.cc (range_of_var_in_loop): Ditto. + (simplify_using_ranges::fold_cond_with_ops): Ditto. + +2023-06-12 Andrew MacLeod + + * range-op-mixed.h (operator_max): Remove final. + * range-op-ptr.cc (pointer_table::pointer_table): Remove MAX_EXPR. + (pointer_table::pointer_table): Remove. + (class hybrid_max_operator): New. + (range_op_table::initialize_pointer_ops): Add hybrid_max_operator. + * range-op.cc (pointer_tree_table): Remove. + (unified_table::unified_table): Comment out MAX_EXPR. + (get_op_handler): Remove check of pointer table. + * range-op.h (class pointer_table): Remove. + +2023-06-12 Andrew MacLeod + + * range-op-mixed.h (operator_min): Remove final. + * range-op-ptr.cc (pointer_table::pointer_table): Remove MIN_EXPR. + (class hybrid_min_operator): New. + (range_op_table::initialize_pointer_ops): Add hybrid_min_operator. + * range-op.cc (unified_table::unified_table): Comment out MIN_EXPR. + +2023-06-12 Andrew MacLeod + + * range-op-mixed.h (operator_bitwise_or): Remove final. + * range-op-ptr.cc (pointer_table::pointer_table): Remove BIT_IOR_EXPR. + (class hybrid_or_operator): New. + (range_op_table::initialize_pointer_ops): Add hybrid_or_operator. + * range-op.cc (unified_table::unified_table): Comment out BIT_IOR_EXPR. + +2023-06-12 Andrew MacLeod + + * range-op-mixed.h (operator_bitwise_and): Remove final. + * range-op-ptr.cc (pointer_table::pointer_table): Remove BIT_AND_EXPR. + (class hybrid_and_operator): New. + (range_op_table::initialize_pointer_ops): Add hybrid_and_operator. + * range-op.cc (unified_table::unified_table): Comment out BIT_AND_EXPR. + +2023-06-12 Andrew MacLeod + + * Makefile.in (OBJS): Add range-op-ptr.o. + * range-op-mixed.h (update_known_bitmask): Move prototype here. + (minus_op1_op2_relation_effect): Move prototype here. + (wi_includes_zero_p): Move function to here. + (wi_zero_p): Ditto. + * range-op.cc (update_known_bitmask): Remove static. + (wi_includes_zero_p): Move to header. + (wi_zero_p): Move to header. + (minus_op1_op2_relation_effect): Remove static. + (operator_pointer_diff): Move class and routines to range-op-ptr.cc. + (pointer_plus_operator): Ditto. + (pointer_min_max_operator): Ditto. + (pointer_and_operator): Ditto. + (pointer_or_operator): Ditto. + (pointer_table): Ditto. + (range_op_table::initialize_pointer_ops): Ditto. + * range-op-ptr.cc: New. + +2023-06-12 Andrew MacLeod + + * range-op-mixed.h (class operator_max): Move from... + * range-op.cc (unified_table::unified_table): Add MAX_EXPR. + (get_op_handler): Remove the integral table. + (class operator_max): Move from here. + (integral_table::integral_table): Delete. + * range-op.h (class integral_table): Delete. + +2023-06-12 Andrew MacLeod + + * range-op-mixed.h (class operator_min): Move from... + * range-op.cc (unified_table::unified_table): Add MIN_EXPR. + (class operator_min): Move from here. + (integral_table::integral_table): Remove MIN_EXPR. + +2023-06-12 Andrew MacLeod + + * range-op-mixed.h (class operator_bitwise_or): Move from... + * range-op.cc (unified_table::unified_table): Add BIT_IOR_EXPR. + (class operator_bitwise_or): Move from here. + (integral_table::integral_table): Remove BIT_IOR_EXPR. + +2023-06-12 Andrew MacLeod + + * range-op-mixed.h (class operator_bitwise_and): Move from... + * range-op.cc (unified_table::unified_table): Add BIT_AND_EXPR. + (get_op_handler): Check for a pointer table entry first. + (class operator_bitwise_and): Move from here. + (integral_table::integral_table): Remove BIT_AND_EXPR. + +2023-06-12 Andrew MacLeod + + * range-op-mixed.h (class operator_bitwise_xor): Move from... + * range-op.cc (unified_table::unified_table): Add BIT_XOR_EXPR. + (class operator_bitwise_xor): Move from here. + (integral_table::integral_table): Remove BIT_XOR_EXPR. + (pointer_table::pointer_table): Remove BIT_XOR_EXPR. + +2023-06-12 Andrew MacLeod + + * range-op-mixed.h (class operator_bitwise_not): Move from... + * range-op.cc (unified_table::unified_table): Add BIT_NOT_EXPR. + (class operator_bitwise_not): Move from here. + (integral_table::integral_table): Remove BIT_NOT_EXPR. + (pointer_table::pointer_table): Remove BIT_NOT_EXPR. + +2023-06-12 Andrew MacLeod + + * range-op-mixed.h (class operator_addr_expr): Move from... + * range-op.cc (unified_table::unified_table): Add ADDR_EXPR. + (class operator_addr_expr): Move from here. + (integral_table::integral_table): Remove ADDR_EXPR. + (pointer_table::pointer_table): Remove ADDR_EXPR. + +2023-06-12 Pan Li + + * config/riscv/riscv-vector-builtins-types.def + (vfloat16m1_t): Add type to lmul1 ops. + (vfloat16m2_t): Likewise. + (vfloat16m4_t): Likewise. + +2023-06-12 Richard Biener + + * tree-ssa-alias.cc (call_may_clobber_ref_p_1): For + .MASK_STORE and friend set the size of the access to + unknown. + +2023-06-12 Tamar Christina + + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Remove DEFAULT_MATCHPD_PARTITIONS. + +2023-06-12 Juzhe-Zhong + + * config/riscv/autovec-opt.md + (*vtrunc): New pattern. + (*trunc): Ditto. + * config/riscv/autovec.md (3): Change to + define_insn_and_split. + (v3): Ditto. + (trunc2): Ditto. + +2023-06-12 Kyrylo Tkachov + + * simplify-rtx.cc (simplify_const_unary_operation): + Handle US_TRUNCATE, SS_TRUNCATE. + +2023-06-12 Eric Botcazou + + PR modula2/109952 + * doc/gm2.texi (Standard procedures): Fix Next link. + +2023-06-12 Tamar Christina + + * config.in: Regenerate. + +2023-06-12 Andre Vieira + + PR middle-end/110142 + * tree-vect-patterns.cc (vect_recog_widen_op_pattern): Don't pass + subtype to vect_widened_op_tree and remove subtype parameter, also + remove superfluous overloaded function definition. + (vect_recog_widen_plus_pattern): Remove subtype parameter and dont pass + to call to vect_recog_widen_op_pattern. + (vect_recog_widen_minus_pattern): Likewise. + +2023-06-12 liuhongt + + * config/i386/sse.md (vec_pack_float_): New expander. + (vec_unpack_fix_trunc_lo_): Ditto. + (vec_unpack_fix_trunc_hi_): Ditto. + (vec_unpacks_lo_): Ditto. + (vec_unpacks_hi_): Ditto. + (sse_movlhps_): New define_insn. + (ssse3_palignr_perm): Extend to V_128H. + (V_128H): New mode iterator. + (ssepackPHmode): New mode attribute. + (vunpck_extract_mode): Ditto. + (vpckfloat_concat_mode): Extend to VxSI/VxSF for _Float16. + (vpckfloat_temp_mode): Ditto. + (vpckfloat_op_mode): Ditto. + (vunpckfixt_mode): Extend to VxHF. + (vunpckfixt_model): Ditto. + (vunpckfixt_extract_mode): Ditto. + +2023-06-12 Richard Biener + + PR middle-end/110200 + * genmatch.cc (expr::gen_transform): Put braces around + the if arm for the (convert ...) short-cut. + +2023-06-12 Kewen Lin + + PR target/109932 + * config/rs6000/rs6000-builtins.def (__builtin_pack_vector_int128, + __builtin_unpack_vector_int128): Move from stanza power7 to vsx. + +2023-06-12 Kewen Lin + + PR target/110011 + * config/rs6000/rs6000.cc (output_toc): Use the mode of the 128-bit + floating constant itself for real_to_target call. + +2023-06-12 Pan Li + + * config/riscv/riscv-vector-builtins-types.def + (vfloat16mf4_t): Add type to X2/X4/X8/X16/X32 vlmul ext ops. + (vfloat16mf2_t): Ditto. + (vfloat16m1_t): Ditto. + (vfloat16m2_t): Ditto. + (vfloat16m4_t): Ditto. + +2023-06-12 David Edelsohn + + * config/rs6000/rs6000-logue.cc (rs6000_stack_info): + Do not require a stack frame when debugging is enabled for AIX. + +2023-06-11 Georg-Johann Lay + + * config/avr/avr.md (adjust_len) [insv_notbit_0, insv_notbit_7]: + Remove attribute values. + (insv_notbit): New post-reload insn. + (*insv.not-shiftrt_split, *insv.xor1-bit.0_split) + (*insv.not-bit.0_split, *insv.not-bit.7_split) + (*insv.xor-extract_split): Split to insv_notbit. + (*insv.not-shiftrt, *insv.xor1-bit.0, *insv.not-bit.0, *insv.not-bit.7) + (*insv.xor-extract): Remove post-reload insns. + * config/avr/avr.cc (avr_out_insert_notbit) [bitno]: Remove parameter. + (avr_adjust_insn_length): Adjust call of avr_out_insert_notbit. + [ADJUST_LEN_INSV_NOTBIT_0, ADJUST_LEN_INSV_NOTBIT_7]: Remove cases. + * config/avr/avr-protos.h (avr_out_insert_notbit): Adjust prototype. + +2023-06-11 Georg-Johann Lay + + PR target/109907 + * config/avr/avr.md (adjust_len) [extr, extr_not]: New elements. + (MSB, SIZE): New mode attributes. + (any_shift): New code iterator. + (*lshr3_split, *lshr3, lshr3) + (*lshr3_const_split): Add constraint alternative for + the case of shift-offset = MSB. Ditch "length" attribute. + (extzv, *extzv..subreg, *extzv.xor) + (*extzv.ge, *neg.ashiftrt.msb, *extzv.io.lsr7): New. + * config/avr/constraints.md (C15, C23, C31, Yil): New + * config/avr/predicates.md (reg_or_low_io_operand) + (const7_operand, reg_or_low_io_operand) + (const15_operand, const_0_to_15_operand) + (const23_operand, const_0_to_23_operand) + (const31_operand, const_0_to_31_operand): New. + * config/avr/avr-protos.h (avr_out_extr, avr_out_extr_not): New. + * config/avr/avr.cc (avr_out_extr, avr_out_extr_not): New funcs. + (lshrqi3_out, lshrhi3_out, lshrpsi3_out, lshrsi3_out): Adjust + MSB case to new insn constraint "r" for operands[1]. + (avr_adjust_insn_length) [ADJUST_LEN_EXTR_NOT, ADJUST_LEN_EXTR]: + Handle these cases. + (avr_rtx_costs_1): Adjust cost for a new pattern. + +2023-06-11 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (available_occurrence_p): Enhance user vsetvl optimization. + (vector_insn_info::parse_insn): Add rtx_insn parse. + (pass_vsetvl::local_eliminate_vsetvl_insn): Enhance user vsetvl optimization. + (get_first_vsetvl): New function. + (pass_vsetvl::global_eliminate_vsetvl_insn): Ditto. + (pass_vsetvl::cleanup_insns): Remove it. + (pass_vsetvl::ssa_post_optimization): New function. + (has_no_uses): Ditto. + (pass_vsetvl::propagate_avl): Remove it. + (pass_vsetvl::df_post_optimization): New function. + (pass_vsetvl::lazy_vsetvl): Rework Phase 5 && Phase 6. + * config/riscv/riscv-vsetvl.h: Adapt declaration. + +2023-06-10 Aldy Hernandez + + * ipa-cp.cc (ipcp_vr_lattice::init): Take type argument. + (ipcp_vr_lattice::print): Call dump method. + (ipcp_vr_lattice::meet_with): Adjust for m_vr being a + Value_Range. + (ipcp_vr_lattice::meet_with_1): Make argument a reference. + (ipcp_vr_lattice::set_to_bottom): Set varying for an unsupported + range. + (initialize_node_lattices): Pass type when appropriate. + (ipa_vr_operation_and_type_effects): Make type agnostic. + (ipa_value_range_from_jfunc): Same. + (propagate_vr_across_jump_function): Same. + * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Same. + (evaluate_properties_for_edge): Same. + * ipa-prop.cc (ipa_vr::get_vrange): Same. + (ipcp_update_vr): Same. + * ipa-prop.h (ipa_value_range_from_jfunc): Same. + (ipa_range_set_and_normalize): Same. + +2023-06-10 Georg-Johann Lay + + PR target/109650 + PR target/92729 + * config/avr/avr-passes.def (avr_pass_ifelse): Insert new pass. + * config/avr/avr.cc (avr_pass_ifelse): New RTL pass. + (avr_pass_data_ifelse): New pass_data for it. + (make_avr_pass_ifelse, avr_redundant_compare, avr_cbranch_cost) + (avr_canonicalize_comparison, avr_out_plus_set_ZN) + (avr_out_cmp_ext): New functions. + (compare_condtition): Make sure REG_CC dies in the branch insn. + (avr_rtx_costs_1): Add computation of cbranch costs. + (avr_adjust_insn_length) [ADJUST_LEN_ADD_SET_ZN, ADJUST_LEN_CMP_ZEXT]: + [ADJUST_LEN_CMP_SEXT]Handle them. + (TARGET_CANONICALIZE_COMPARISON): New define. + (avr_simplify_comparison_p, compare_diff_p, avr_compare_pattern) + (avr_reorg_remove_redundant_compare, avr_reorg): Remove functions. + (TARGET_MACHINE_DEPENDENT_REORG): Remove define. + * config/avr/avr-protos.h (avr_simplify_comparison_p): Remove proto. + (make_avr_pass_ifelse, avr_out_plus_set_ZN, cc_reg_rtx) + (avr_out_cmp_zext): New Protos + * config/avr/avr.md (branch, difficult_branch): Don't split insns. + (*cbranchhi.zero-extend.0", *cbranchhi.zero-extend.1") + (*swapped_tst, *add.for.eqne.): New insns. + (*cbranch4): Rename to cbranch4_insn. + (define_peephole): Add dead_or_set_regno_p(insn,REG_CC) as needed. + (define_deephole2): Add peep2_regno_dead_p(*,REG_CC) as needed. + Add new RTL peepholes for decrement-and-branch and *swapped_tst. + Rework signtest-and-branch peepholes for *sbrx_branch. + (adjust_len) [add_set_ZN, cmp_zext]: New. + (QIPSI): New mode iterator. + (ALLs1, ALLs2, ALLs4, ALLs234): New mode iterators. + (gelt): New code iterator. + (gelt_eqne): New code attribute. + (rvbranch, *rvbranch, difficult_rvbranch, *difficult_rvbranch) + (branch_unspec, *negated_tst, *reversed_tst) + (*cmpqi_sign_extend): Remove insns. + (define_c_enum "unspec") [UNSPEC_IDENTITY]: Remove. + * config/avr/avr-dimode.md (cbranch4): Canonicalize comparisons. + * config/avr/predicates.md (scratch_or_d_register_operand): New. + * config/avr/constraints.md (Yxx): New constraint. + +2023-06-10 Juzhe-Zhong + + * config/riscv/autovec.md (select_vl): New pattern. + * config/riscv/riscv-protos.h (expand_select_vl): New function. + * config/riscv/riscv-v.cc (expand_select_vl): Ditto. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (foperator_mult_div_base): Delete. + (foperator_mult_div_base::find_range): Make static local function. + (foperator_mult): Remove. Move prototypes to range-op-mixed.h + (operator_mult::op1_range): Rename from foperator_mult. + (operator_mult::op2_range): Ditto. + (operator_mult::rv_fold): Ditto. + (float_table::float_table): Remove MULT_EXPR. + (class foperator_div): Inherit from range_operator. + (float_table::float_table): Delete. + * range-op-mixed.h (class operator_mult): Combined from integer + and float files. + * range-op.cc (float_tree_table): Delete. + (op_mult): New object. + (unified_table::unified_table): Add MULT_EXPR. + (get_op_handler): Do not check float table any longer. + (class cross_product_operator): Move to range-op-mixed.h. + (class operator_mult): Move to range-op-mixed.h. + (integral_table::integral_table): Remove MULT_EXPR. + (pointer_table::pointer_table): Remove MULT_EXPR. + * range-op.h (float_table): Remove. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (foperator_negate): Remove. Move prototypes + to range-op-mixed.h + (operator_negate::fold_range): Rename from foperator_negate. + (operator_negate::op1_range): Ditto. + (float_table::float_table): Remove NEGATE_EXPR. + * range-op-mixed.h (class operator_negate): Combined from integer + and float files. + * range-op.cc (op_negate): New object. + (unified_table::unified_table): Add NEGATE_EXPR. + (class operator_negate): Move to range-op-mixed.h. + (integral_table::integral_table): Remove NEGATE_EXPR. + (pointer_table::pointer_table): Remove NEGATE_EXPR. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (foperator_minus): Remove. Move prototypes + to range-op-mixed.h + (operator_minus::fold_range): Rename from foperator_minus. + (operator_minus::op1_range): Ditto. + (operator_minus::op2_range): Ditto. + (operator_minus::rv_fold): Ditto. + (float_table::float_table): Remove MINUS_EXPR. + * range-op-mixed.h (class operator_minus): Combined from integer + and float files. + * range-op.cc (op_minus): New object. + (unified_table::unified_table): Add MINUS_EXPR. + (class operator_minus): Move to range-op-mixed.h. + (integral_table::integral_table): Remove MINUS_EXPR. + (pointer_table::pointer_table): Remove MINUS_EXPR. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (foperator_abs): Remove. Move prototypes + to range-op-mixed.h + (operator_abs::fold_range): Rename from foperator_abs. + (operator_abs::op1_range): Ditto. + (float_table::float_table): Remove ABS_EXPR. + * range-op-mixed.h (class operator_abs): Combined from integer + and float files. + * range-op.cc (op_abs): New object. + (unified_table::unified_table): Add ABS_EXPR. + (class operator_abs): Move to range-op-mixed.h. + (integral_table::integral_table): Remove ABS_EXPR. + (pointer_table::pointer_table): Remove ABS_EXPR. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (foperator_plus): Remove. Move prototypes + to range-op-mixed.h + (operator_plus::fold_range): Rename from foperator_plus. + (operator_plus::op1_range): Ditto. + (operator_plus::op2_range): Ditto. + (operator_plus::rv_fold): Ditto. + (float_table::float_table): Remove PLUS_EXPR. + * range-op-mixed.h (class operator_plus): Combined from integer + and float files. + * range-op.cc (op_plus): New object. + (unified_table::unified_table): Add PLUS_EXPR. + (class operator_plus): Move to range-op-mixed.h. + (integral_table::integral_table): Remove PLUS_EXPR. + (pointer_table::pointer_table): Remove PLUS_EXPR. + +2023-06-10 Andrew MacLeod + + * range-op-mixed.h (class operator_cast): Combined from integer + and float files. + * range-op.cc (op_cast): New object. + (unified_table::unified_table): Add op_cast + (class operator_cast): Move to range-op-mixed.h. + (integral_table::integral_table): Remove op_cast + (pointer_table::pointer_table): Remove op_cast. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (operator_cst::fold_range): New. + * range-op-mixed.h (class operator_cst): Move from integer file. + * range-op.cc (op_cst): New object. + (unified_table::unified_table): Add op_cst. Also use for REAL_CST. + (class operator_cst): Move to range-op-mixed.h. + (integral_table::integral_table): Remove op_cst. + (pointer_table::pointer_table): Remove op_cst. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (foperator_identity): Remove. Move prototypes + to range-op-mixed.h + (operator_identity::fold_range): Rename from foperator_identity. + (operator_identity::op1_range): Ditto. + (float_table::float_table): Remove fop_identity. + * range-op-mixed.h (class operator_identity): Combined from integer + and float files. + * range-op.cc (op_identity): New object. + (unified_table::unified_table): Add op_identity. + (class operator_identity): Move to range-op-mixed.h. + (integral_table::integral_table): Remove identity. + (pointer_table::pointer_table): Remove identity. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (foperator_ge): Remove. Move prototypes + to range-op-mixed.h + (operator_ge::fold_range): Rename from foperator_ge. + (operator_ge::op1_range): Ditto. + (float_table::float_table): Remove GE_EXPR. + * range-op-mixed.h (class operator_ge): Combined from integer + and float files. + * range-op.cc (op_ge): New object. + (unified_table::unified_table): Add GE_EXPR. + (class operator_ge): Move to range-op-mixed.h. + (ge_op1_op2_relation): Fold into + operator_ge::op1_op2_relation. + (integral_table::integral_table): Remove GE_EXPR. + (pointer_table::pointer_table): Remove GE_EXPR. + * range-op.h (ge_op1_op2_relation): Delete. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (foperator_gt): Remove. Move prototypes + to range-op-mixed.h + (operator_gt::fold_range): Rename from foperator_gt. + (operator_gt::op1_range): Ditto. + (float_table::float_table): Remove GT_EXPR. + * range-op-mixed.h (class operator_gt): Combined from integer + and float files. + * range-op.cc (op_gt): New object. + (unified_table::unified_table): Add GT_EXPR. + (class operator_gt): Move to range-op-mixed.h. + (gt_op1_op2_relation): Fold into + operator_gt::op1_op2_relation. + (integral_table::integral_table): Remove GT_EXPR. + (pointer_table::pointer_table): Remove GT_EXPR. + * range-op.h (gt_op1_op2_relation): Delete. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (foperator_le): Remove. Move prototypes + to range-op-mixed.h + (operator_le::fold_range): Rename from foperator_le. + (operator_le::op1_range): Ditto. + (float_table::float_table): Remove LE_EXPR. + * range-op-mixed.h (class operator_le): Combined from integer + and float files. + * range-op.cc (op_le): New object. + (unified_table::unified_table): Add LE_EXPR. + (class operator_le): Move to range-op-mixed.h. + (le_op1_op2_relation): Fold into + operator_le::op1_op2_relation. + (integral_table::integral_table): Remove LE_EXPR. + (pointer_table::pointer_table): Remove LE_EXPR. + * range-op.h (le_op1_op2_relation): Delete. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (foperator_lt): Remove. Move prototypes + to range-op-mixed.h + (operator_lt::fold_range): Rename from foperator_lt. + (operator_lt::op1_range): Ditto. + (float_table::float_table): Remove LT_EXPR. + * range-op-mixed.h (class operator_lt): Combined from integer + and float files. + * range-op.cc (op_lt): New object. + (unified_table::unified_table): Add LT_EXPR. + (class operator_lt): Move to range-op-mixed.h. + (lt_op1_op2_relation): Fold into + operator_lt::op1_op2_relation. + (integral_table::integral_table): Remove LT_EXPR. + (pointer_table::pointer_table): Remove LT_EXPR. + * range-op.h (lt_op1_op2_relation): Delete. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (foperator_not_equal): Remove. Move prototypes + to range-op-mixed.h + (operator_equal::fold_range): Rename from foperator_not_equal. + (operator_equal::op1_range): Ditto. + (float_table::float_table): Remove NE_EXPR. + * range-op-mixed.h (class operator_not_equal): Combined from integer + and float files. + * range-op.cc (op_equal): New object. + (unified_table::unified_table): Add NE_EXPR. + (class operator_not_equal): Move to range-op-mixed.h. + (not_equal_op1_op2_relation): Fold into + operator_not_equal::op1_op2_relation. + (integral_table::integral_table): Remove NE_EXPR. + (pointer_table::pointer_table): Remove NE_EXPR. + * range-op.h (not_equal_op1_op2_relation): Delete. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (foperator_equal): Remove. Move prototypes + to range-op-mixed.h + (operator_equal::fold_range): Rename from foperator_equal. + (operator_equal::op1_range): Ditto. + (float_table::float_table): Remove EQ_EXPR. + * range-op-mixed.h (class operator_equal): Combined from integer + and float files. + * range-op.cc (op_equal): New object. + (unified_table::unified_table): Add EQ_EXPR. + (class operator_equal): Move to range-op-mixed.h. + (equal_op1_op2_relation): Fold into + operator_equal::op1_op2_relation. + (integral_table::integral_table): Remove EQ_EXPR. + (pointer_table::pointer_table): Remove EQ_EXPR. + * range-op.h (equal_op1_op2_relation): Delete. + +2023-06-10 Andrew MacLeod + + * range-op-float.cc (class float_table): Move to header. + (float_table::float_table): Move float only operators to... + (range_op_table::initialize_float_ops): Here. + * range-op-mixed.h: New. + * range-op.cc (integral_tree_table, pointer_tree_table): Moved + to top of file. + (float_tree_table): Moved from range-op-float.cc. + (unified_tree_table): New. + (unified_table::unified_table): New. Call initialize routines. + (get_op_handler): Check unified table first. + (range_op_handler::range_op_handler): Handle no type constructor. + (integral_table::integral_table): Move integral only operators to... + (range_op_table::initialize_integral_ops): Here. + (pointer_table::pointer_table): Move pointer only operators to... + (range_op_table::initialize_pointer_ops): Here. + * range-op.h (enum bool_range_state): Move to range-op-mixed.h. + (get_bool_state): Ditto. + (empty_range_varying): Ditto. + (relop_early_resolve): Ditto. + (class range_op_table): Add new init methods for range types. + (class integral_table): Move declaration to here. + (class pointer_table): Move declaration to here. + (class float_table): Move declaration to here. + +2023-06-09 Ju-Zhe Zhong + Richard Sandiford + Richard Biener + + * doc/md.texi: Add SELECT_VL support. + * internal-fn.def (SELECT_VL): Ditto. + * optabs.def (OPTAB_D): Ditto. + * tree-vect-loop-manip.cc (vect_set_loop_controls_directly): Ditto. + * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Ditto. + * tree-vect-stmts.cc (get_select_vl_data_ref_ptr): Ditto. + (vectorizable_store): Ditto. + (vectorizable_load): Ditto. + * tree-vectorizer.h (LOOP_VINFO_USING_SELECT_VL_P): Ditto. + +2023-06-09 Andrew MacLeod + + PR ipa/109886 + * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Check param + type as well. + +2023-06-09 Andrew MacLeod + + * range-op.cc (range_cast): Move to... + * range-op.h (range_cast): Here and add generic a version. + +2023-06-09 Marek Polacek + + PR c/39589 + PR c++/96868 + * doc/invoke.texi: Clarify that -Wmissing-field-initializers doesn't + warn about designated initializers in C only. + +2023-06-09 Andrew Pinski + + PR tree-optimization/97711 + PR tree-optimization/110155 + * match.pd ((zero_one == 0) ? y : z y): Add plus to the op. + ((zero_one != 0) ? z y : y): Likewise. + +2023-06-09 Andrew Pinski + + * match.pd ((zero_one ==/!= 0) ? y : z y): Use + multiply rather than negation/bit_and. + +2023-06-09 Andrew Pinski + + * match.pd (`X & -Y -> X * Y`): Allow for truncation + and the same type for unsigned types. + +2023-06-09 Andrew Pinski + + PR tree-optimization/110165 + PR tree-optimization/110166 + * match.pd (zero_one_valued_p): Don't accept + signed 1-bit integers. + +2023-06-09 Richard Biener + + * match.pd (two conversions in a row): Use element_precision + to DTRT for VECTOR_TYPE. + +2023-06-09 Pan Li + + * config/riscv/riscv.md (enabled): Move to another place, and + add fp_vector_disabled to the cond. + (fp_vector_disabled): New attr defined for disabling fp. + * config/riscv/vector-iterators.md: Fix V_WHOLE and V_FRACT. + +2023-06-09 Pan Li + + * config/riscv/riscv-protos.h (enum frm_field_enum): Adjust + literal to int. + +2023-06-09 liuhongt + + PR target/110108 + * config/i386/i386.cc (ix86_gimple_fold_builtin): Explicitly + view_convert_expr mask to signed type when folding pblendvb + builtins. + +2023-06-09 liuhongt + + PR target/110108 + * config/i386/i386.cc (ix86_gimple_fold_builtin): Fold + _mm{,256,512}_abs_{epi8,epi16,epi32,epi64} into gimple + ABSU_EXPR + VCE, don't fold _mm_abs_{pi8,pi16,pi32} w/o + TARGET_64BIT. + * config/i386/i386-builtin.def: Replace CODE_FOR_nothing with + real codename for __builtin_ia32_pabs{b,w,d}. + +2023-06-08 Andrew MacLeod + + * gimple-range-op.cc + (gimple_range_op_handler::gimple_range_op_handler): Adjust. + (gimple_range_op_handler::maybe_builtin_call): Adjust. + * gimple-range-op.h (operand1, operand2): Use m_operator. + * range-op.cc (integral_table, pointer_table): Relocate. + (get_op_handler): Rename from get_handler and handle all types. + (range_op_handler::range_op_handler): Relocate. + (range_op_handler::set_op_handler): Relocate and adjust. + (range_op_handler::range_op_handler): Relocate. + (dispatch_trio): New. + (RO_III, RO_IFI, RO_IFF, RO_FFF, RO_FIF, RO_FII): New consts. + (range_op_handler::dispatch_kind): New. + (range_op_handler::fold_range): Relocate and Use new dispatch value. + (range_op_handler::op1_range): Ditto. + (range_op_handler::op2_range): Ditto. + (range_op_handler::lhs_op1_relation): Ditto. + (range_op_handler::lhs_op2_relation): Ditto. + (range_op_handler::op1_op2_relation): Ditto. + (range_op_handler::set_op_handler): Use m_operator member. + * range-op.h (range_op_handler::operator bool): Use m_operator. + (range_op_handler::dispatch_kind): New. + (range_op_handler::m_valid): Delete. + (range_op_handler::m_int): Delete + (range_op_handler::m_float): Delete + (range_op_handler::m_operator): New. + (range_op_table::operator[]): Relocate from .cc file. + (range_op_table::set): Ditto. + * value-range.h (class vrange): Make range_op_handler a friend. + +2023-06-08 Andrew MacLeod + + * gimple-range-op.cc (cfn_constant_float_p): Change base class. + (cfn_pass_through_arg1): Adjust using statemenmt. + (cfn_signbit): Change base class, adjust using statement. + (cfn_copysign): Ditto. + (cfn_sqrt): Ditto. + (cfn_sincos): Ditto. + * range-op-float.cc (fold_range): Change class to range_operator. + (rv_fold): Ditto. + (op1_range): Ditto + (op2_range): Ditto + (lhs_op1_relation): Ditto. + (lhs_op2_relation): Ditto. + (op1_op2_relation): Ditto. + (foperator_*): Ditto. + (class float_table): New. Inherit from range_op_table. + (floating_tree_table) Change to range_op_table pointer. + (class floating_op_table): Delete. + * range-op.cc (operator_equal): Adjust using statement. + (operator_not_equal): Ditto. + (operator_lt, operator_le, operator_gt, operator_ge): Ditto. + (operator_minus, operator_cast): Ditto. + (operator_bitwise_and, pointer_plus_operator): Ditto. + (get_float_handle): Change return type. + * range-op.h (range_operator_float): Delete. Relocate all methods + into class range_operator. + (range_op_handler::m_float): Change type to range_operator. + (floating_op_table): Delete. + (floating_tree_table): Change type. + +2023-06-08 Andrew MacLeod + + * range-op.cc (range_operator::fold_range): Call virtual routine. + (range_operator::update_bitmask): New. + (operator_equal::update_bitmask): New. + (operator_not_equal::update_bitmask): New. + (operator_lt::update_bitmask): New. + (operator_le::update_bitmask): New. + (operator_gt::update_bitmask): New. + (operator_ge::update_bitmask): New. + (operator_ge::update_bitmask): New. + (operator_plus::update_bitmask): New. + (operator_minus::update_bitmask): New. + (operator_pointer_diff::update_bitmask): New. + (operator_min::update_bitmask): New. + (operator_max::update_bitmask): New. + (operator_mult::update_bitmask): New. + (operator_div:operator_div):New. + (operator_div::update_bitmask): New. + (operator_div::m_code): New member. + (operator_exact_divide::operator_exact_divide): New constructor. + (operator_lshift::update_bitmask): New. + (operator_rshift::update_bitmask): New. + (operator_bitwise_and::update_bitmask): New. + (operator_bitwise_or::update_bitmask): New. + (operator_bitwise_xor::update_bitmask): New. + (operator_trunc_mod::update_bitmask): New. + (op_ident, op_unknown, op_ptr_min_max): New. + (op_nop, op_convert): Delete. + (op_ssa, op_paren, op_obj_type): Delete. + (op_realpart, op_imagpart): Delete. + (op_ptr_min, op_ptr_max): Delete. + (pointer_plus_operator:update_bitmask): New. + (range_op_table::set): Do not use m_code. + (integral_table::integral_table): Adjust to single instances. + * range-op.h (range_operator::range_operator): Delete. + (range_operator::m_code): Delete. + (range_operator::update_bitmask): New. + +2023-06-08 Andrew MacLeod + + * range-op-float.cc (range_operator_float::fold_range): Return + NAN of the result type. + +2023-06-08 Jakub Jelinek + + * optabs.cc (expand_ffs): Add forward declaration. + (expand_doubleword_clz): Rename to ... + (expand_doubleword_clz_ctz_ffs): ... this. Add UNOPTAB argument, + handle also doubleword CTZ and FFS in addition to CLZ. + (expand_unop): Adjust caller. Also call it for doubleword + ctz_optab and ffs_optab. + +2023-06-08 Jakub Jelinek + + PR target/110152 + * config/i386/i386-expand.cc (ix86_expand_vector_init_general): For + n_words == 2 recurse with mmx_ok as first argument rather than false. + +2023-06-07 Roger Sayle + + * wide-int.cc (wi::bitreverse_large): Use HOST_WIDE_INT_1U to + avoid sign extension/undefined behaviour when setting each bit. + +2023-06-07 Roger Sayle + Uros Bizjak + + * config/i386/i386-expand.cc (ix86_expand_builtin) : + Use new x86_stc instruction when the carry flag must be set. + * config/i386/i386.cc (ix86_cc_mode): Use CCCmode for *x86_cmc. + (ix86_rtx_costs): Provide accurate rtx_costs for *x86_cmc. + * config/i386/i386.h (TARGET_SLOW_STC): New define. + * config/i386/i386.md (UNSPEC_STC): New UNSPEC for stc. + (x86_stc): New define_insn. + (define_peephole2): Convert x86_stc into alternate implementation + on pentium4 without -Os when a QImode register is available. + (*x86_cmc): New define_insn. + (define_peephole2): Convert *x86_cmc into alternate implementation + on pentium4 without -Os when a QImode register is available. + (*setccc): New define_insn_and_split for a no-op CCCmode move. + (*setcc_qi_negqi_ccc_1_): New define_insn_and_split to + recognize (and eliminate) the carry flag being copied to itself. + (*setcc_qi_negqi_ccc_2_): Likewise. + * config/i386/x86-tune.def (X86_TUNE_SLOW_STC): New tuning flag. + +2023-06-07 Andrew Pinski + + * match.pd: Fix comment for the + `(zero_one ==/!= 0) ? y : z y` patterns. + +2023-06-07 Jeff Law + Jeff Law + + * config/riscv/bitmanip.md (rotrdi3, rotrsi3, rotlsi3): New expanders. + (rotrsi3_sext): Expose generator. + (rotlsi3 pattern): Hide generator. + * config/riscv/riscv-protos.h (riscv_emit_binary): New function + declaration. + * config/riscv/riscv.cc (riscv_emit_binary): Removed static + * config/riscv/riscv.md (addsi3, subsi3, negsi2): Hide generator. + (mulsi3, si3): Likewise. + (addsi3, subsi3, negsi2, mulsi3, si3): New expanders. + (addv4, subv4, mulv4): Use riscv_emit_binary. + (mulsidi3): Likewise. + (addsi3_extended, subsi3_extended, negsi2_extended): Expose generator. + (mulsi3_extended, si3_extended): Likewise. + (splitter for shadd feeding divison): Update RTL pattern to account + for changes in how 32 bit ops are expanded for TARGET_64BIT. + * loop-iv.cc (get_biv_step_1): Process src of extension when it PLUS. + +2023-06-07 Dimitar Dimitrov + + PR target/109725 + * config/riscv/riscv.cc (riscv_print_operand): Calculate + memmodel only when it is valid. + +2023-06-07 Dimitar Dimitrov + + * config/riscv/riscv.cc (riscv_const_insns): Recursively call + for constant element of a vector. + +2023-06-07 Jakub Jelinek + + * match.pd (zero_one_valued_p): Don't handle integer_zerop specially, + instead compare tree_nonzero_bits <= 1U rather than just == 1. + +2023-06-07 Alex Coplan + + PR target/110132 + * config/aarch64/aarch64-builtins.cc (aarch64_general_simulate_builtin): + New. Use it ... + (aarch64_init_ls64_builtins): ... here. Switch to declaring public ACLE + names for builtins. + (aarch64_general_init_builtins): Ensure we invoke the arm_acle.h + setup if in_lto_p, just like we do for SVE. + * config/aarch64/arm_acle.h: (__arm_ld64b): Delete. + (__arm_st64b): Delete. + (__arm_st64bv): Delete. + (__arm_st64bv0): Delete. + +2023-06-07 Alex Coplan + + PR target/110100 + * config/aarch64/aarch64-builtins.cc (aarch64_expand_builtin_ls64): + Use input operand for the destination address. + * config/aarch64/aarch64.md (st64b): Fix constraint on address + operand. + +2023-06-07 Alex Coplan + + PR target/110100 + * config/aarch64/aarch64-builtins.cc (aarch64_init_ls64_builtins_types): + Replace eight consecutive spaces with tabs. + (aarch64_init_ls64_builtins): Likewise. + (aarch64_expand_builtin_ls64): Likewise. + * config/aarch64/aarch64.md (ld64b): Likewise. + (st64b): Likewise. + (st64bv): Likewise + (st64bv0): Likewise. + +2023-06-07 Vladimir N. Makarov + + * ira-costs.cc: (find_costs_and_classes): Constrain classes of pic + offset table pseudo to a general reg subset. + +2023-06-07 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_sqmovun): + Rename to... + (*aarch64_sqmovun_insn): ... This. Reimplement + with RTL codes. + (aarch64_sqmovun [SD_HSDI]): Reimplement with RTL codes. + (aarch64_sqxtun2_le): Likewise. + (aarch64_sqxtun2_be): Likewise. + (aarch64_sqxtun2): Adjust for the above. + (aarch64_sqmovun): New define_expand. + * config/aarch64/iterators.md (UNSPEC_SQXTUN): Delete. + (half_mask): New mode attribute. + * config/aarch64/predicates.md (aarch64_simd_umax_half_mode): + New predicate. + +2023-06-07 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_addp): + Reimplement as... + (aarch64_addp_insn): ... This... + (aarch64_addp_insn): ... And this. + (aarch64_addp): New define_expand. + +2023-06-07 Juzhe-Zhong + + * config/riscv/riscv-protos.h (expand_vec_perm_const): New function. + * config/riscv/riscv-v.cc + (rvv_builder::can_duplicate_repeating_sequence_p): Support POLY + handling. + (rvv_builder::single_step_npatterns_p): New function. + (rvv_builder::npatterns_all_equal_p): Ditto. + (const_vec_all_in_range_p): Support POLY handling. + (gen_const_vector_dup): Ditto. + (emit_vlmax_gather_insn): Add vrgatherei16. + (emit_vlmax_masked_gather_mu_insn): Ditto. + (expand_const_vector): Add VLA SLP const vector support. + (expand_vec_perm): Support POLY. + (struct expand_vec_perm_d): New struct. + (shuffle_generic_patterns): New function. + (expand_vec_perm_const_1): Ditto. + (expand_vec_perm_const): Ditto. + * config/riscv/riscv.cc (riscv_vectorize_vec_perm_const): Ditto. + (TARGET_VECTORIZE_VEC_PERM_CONST): New targethook. + +2023-06-07 Andrew Pinski + + PR middle-end/110117 + * expr.cc (expand_single_bit_test): Handle + const_int from expand_expr. + +2023-06-07 Andrew Pinski + + * expr.cc (do_store_flag): Rearrange the + TER code so that it overrides the nonzero bits + info if we had `a & POW2`. + +2023-06-07 Andrew Pinski + + PR tree-optimization/110134 + * match.pd (-A CMP -B -> B CMP A): Allow EQ/NE for all integer + types. + (-A CMP CST -> B CMP (-CST)): Likewise. + +2023-06-07 Andrew Pinski + + PR tree-optimization/89263 + PR tree-optimization/99069 + PR tree-optimization/20083 + PR tree-optimization/94898 + * match.pd: Add patterns to optimize `a ? onezero : onezero` with + one of the operands are constant. + +2023-06-07 Andrew Pinski + + * match.pd (zero_one_valued_p): Match 0 integer constant + too. + +2023-06-07 Pan Li + + * config/riscv/riscv-vector-builtins-types.def + (vfloat32mf2_t): Take RVV_REQUIRE_ELEN_FP_16 as requirement. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat32m8_t): Ditto. + (vint16mf4_t): Ditto. + (vint16mf2_t): Ditto. + (vint16m1_t): Ditto. + (vint16m2_t): Ditto. + (vint16m4_t): Ditto. + (vint16m8_t): Ditto. + (vuint16mf4_t): Ditto. + (vuint16mf2_t): Ditto. + (vuint16m1_t): Ditto. + (vuint16m2_t): Ditto. + (vuint16m4_t): Ditto. + (vuint16m8_t): Ditto. + (vint32mf2_t): Ditto. + (vint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vuint32mf2_t): Ditto. + (vuint32m1_t): Ditto. + (vuint32m2_t): Ditto. + (vuint32m4_t): Ditto. + (vuint32m8_t): Ditto. + +2023-06-07 Jason Merrill + + PR c++/58487 + * doc/invoke.texi: Document it. + +2023-06-06 Roger Sayle + + * doc/rtl.texi (bitreverse, copysign): Document new RTX codes. + * rtl.def (BITREVERSE, COPYSIGN): Define new RTX codes. + * simplify-rtx.cc (simplify_unary_operation_1): Optimize + NOT (BITREVERSE x) as BITREVERSE (NOT x). + Optimize POPCOUNT (BITREVERSE x) as POPCOUNT x. + Optimize PARITY (BITREVERSE x) as PARITY x. + Optimize BITREVERSE (BITREVERSE x) as x. + (simplify_const_unary_operation) : Evaluate + BITREVERSE of a constant integer at compile-time. + (simplify_binary_operation_1) : Optimize + COPY_SIGN (x, x) as x. Optimize COPYSIGN (x, C) as ABS x + or NEG (ABS x) for constant C. Optimize COPYSIGN (ABS x, y) + and COPYSIGN (NEG x, y) as COPYSIGN (x, y). + Optimize COPYSIGN (x, ABS y) as ABS x. + Optimize COPYSIGN (COPYSIGN (x, y), z) as COPYSIGN (x, z). + Optimize COPYSIGN (x, COPYSIGN (y, z)) as COPYSIGN (x, z). + (simplify_const_binary_operation): Evaluate COPYSIGN of constant + arguments at compile-time. + +2023-06-06 Uros Bizjak + + * rtl.h (function_invariant_p): Change return type from int to bool. + * reload1.cc (function_invariant_p): Change return type from + int to bool and adjust function body accordingly. + +2023-06-06 Juzhe-Zhong + + * config/riscv/autovec-opt.md (*_fma): New pattern. + (*single_mult_plus): Ditto. + (*double_mult_plus): Ditto. + (*sign_zero_extend_fma): Ditto. + (*zero_sign_extend_fma): Ditto. + * config/riscv/riscv-protos.h (enum insn_type): New enum. + +2023-06-06 Kwok Cheung Yeung + Tobias Burnus + + * gimplify.cc (omp_notice_variable): Apply GOVD_MAP_ALLOC_ONLY flag + and defaultmap flags if the defaultmap has GOVD_MAP_FORCE_PRESENT flag + set. + (omp_get_attachment): Handle map clauses with 'present' modifier. + (omp_group_base): Likewise. + (gimplify_scan_omp_clauses): Reorder present maps to come first. + Set GOVD flags for present defaultmaps. + (gimplify_adjust_omp_clauses_1): Set map kind for present defaultmaps. + * omp-low.cc (scan_sharing_clauses): Handle 'always, present' map + clauses. + (lower_omp_target): Handle map clauses with 'present' modifier. + Handle 'to' and 'from' clauses with 'present'. + * tree-core.h (enum omp_clause_defaultmap_kind): Add + OMP_CLAUSE_DEFAULTMAP_PRESENT defaultmap kind. + * tree-pretty-print.cc (dump_omp_clause): Handle 'map', 'to' and + 'from' clauses with 'present' modifier. Handle present defaultmap. + * tree.h (OMP_CLAUSE_MOTION_PRESENT): New #define. + +2023-06-06 Segher Boessenkool + + * config/rs6000/genfusion.pl: Delete some dead code. + +2023-06-06 Segher Boessenkool + + * config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): New, rewritten and + split out from... + (gen_ld_cmpi_p10): ... this. + +2023-06-06 Jeevitha Palanisamy + + PR target/106907 + * config/rs6000/rs6000.cc (vec_const_128bit_to_bytes): Remove + duplicate expression. + +2023-06-06 Kyrylo Tkachov + + * config/aarch64/aarch64-builtins.cc (aarch64_general_gimple_fold_builtin): + Handle unsigned reduc_plus_scal_ builtins. + * config/aarch64/aarch64-simd-builtins.def (addp): Delete DImode instances. + * config/aarch64/aarch64-simd.md (aarch64_addpdi): Delete. + * config/aarch64/arm_neon.h (vpaddd_s64): Reimplement with + __builtin_aarch64_reduc_plus_scal_v2di. + (vpaddd_u64): Reimplement with __builtin_aarch64_reduc_plus_scal_v2di_uu. + +2023-06-06 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_shr_n): Delete. + (aarch64_rshr_n_insn): New define_insn. + (aarch64_rshr_n): New define_expand. + +2023-06-06 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_shrn_insn_le): Delete. + (aarch64_shrn_insn_be): Delete. + (*aarch64_shrn_vect): Rename to... + (*aarch64_shrn): ... This. + (aarch64_shrn): Remove reference to the above deleted patterns. + (aarch64_rshrn_insn_le): Delete. + (aarch64_rshrn_insn_be): Delete. + (aarch64_rshrn_insn): New define_insn. + (aarch64_rshrn): Remove references to the above deleted patterns. + +2023-06-06 Kyrylo Tkachov + + * config/aarch64/aarch64-protos.h (aarch64_parallel_select_half_p): + Define prototype. + (aarch64_pars_overlap_p): Likewise. + * config/aarch64/aarch64-simd.md (aarch64_addlv): + Express in terms of UNSPEC_ADDV. + (*aarch64_addlv_ze): Likewise. + (*aarch64_addlv_reduction): Define. + (*aarch64_uaddlv_reduction_2): Likewise. + * config/aarch64/aarch64.cc (aarch64_parallel_select_half_p): Define. + (aarch64_pars_overlap_p): Likewise. + * config/aarch64/iterators.md (UNSPEC_SADDLV, UNSPEC_UADDLV): Delete. + (VQUADW): New mode attribute. + (VWIDE2X_S): Likewise. + (USADDLV): Delete. + (su): Delete handling of UNSPEC_SADDLV, UNSPEC_UADDLV. + * config/aarch64/predicates.md (vect_par_cnst_select_half): Define. + +2023-06-06 Richard Biener + + PR middle-end/110055 + * gimplify.cc (gimplify_target_expr): Do not emit + CLOBBERs for variables which have static storage duration + after gimplifying their initializers. + +2023-06-06 Richard Biener + + PR tree-optimization/109143 + * tree-ssa-structalias.cc (solution_set_expand): Avoid + one bitmap iteration and optimize bit range setting. + +2023-06-06 Hans-Peter Nilsson + + PR bootstrap/110120 + * postreload.cc (reload_cse_move2add, move2add_use_add2_insn): Use + XVECEXP, not XEXP, to access first item of a PARALLEL. + +2023-06-06 Pan Li + + * config/riscv/riscv-vector-builtins-types.def + (vfloat16mf4_t): Add vfloat16mf4_t to WF operations. + (vfloat16mf2_t): Likewise. + (vfloat16m1_t): Likewise. + (vfloat16m2_t): Likewise. + (vfloat16m4_t): Likewise. + (vfloat16m8_t): Likewise. + * config/riscv/vector-iterators.md: Add FP=16 to VWF, VWF_ZVE64, + VWLMUL1, VWLMUL1_ZVE64, vwlmul1 and vwlmul1_zve64. + +2023-06-06 Fei Gao + + * config/riscv/riscv.cc (riscv_adjust_libcall_cfi_prologue): Use Pmode + for cfi reg/mem machmode + (riscv_adjust_libcall_cfi_epilogue): Use Pmode for cfi reg machmode + +2023-06-06 Li Xu + + * config/riscv/vector-iterators.md: + Fix 'REQUIREMENT' for machine_mode 'MODE'. + * config/riscv/vector.md (@pred_indexed_store + ): change VNX16_QHSI to VNX16_QHSDI. + (@pred_indexed_store): Ditto. + +2023-06-06 Pan Li + + * config/riscv/vector-iterators.md: Fix typo in mode attr. + +2023-06-05 Andre Vieira + Joel Hutton + + * doc/generic.texi: Remove old tree codes. + * expr.cc (expand_expr_real_2): Remove old tree code cases. + * gimple-pretty-print.cc (dump_binary_rhs): Likewise. + * optabs-tree.cc (optab_for_tree_code): Likewise. + (supportable_half_widening_operation): Likewise. + * tree-cfg.cc (verify_gimple_assign_binary): Likewise. + * tree-inline.cc (estimate_operator_cost): Likewise. + (op_symbol_code): Likewise. + * tree-vect-data-refs.cc (vect_get_smallest_scalar_type): Likewise. + (vect_analyze_data_ref_accesses): Likewise. + * tree-vect-generic.cc (expand_vector_operations_1): Likewise. + * cfgexpand.cc (expand_debug_expr): Likewise. + * tree-vect-stmts.cc (vectorizable_conversion): Likewise. + (supportable_widening_operation): Likewise. + * gimple-range-op.cc (gimple_range_op_handler::maybe_non_standard): + Likewise. + * optabs.def (vec_widen_ssubl_hi_optab, vec_widen_ssubl_lo_optab, + vec_widen_saddl_hi_optab, vec_widen_saddl_lo_optab, + vec_widen_usubl_hi_optab, vec_widen_usubl_lo_optab, + vec_widen_uaddl_hi_optab, vec_widen_uaddl_lo_optab): Remove optabs. + * tree-pretty-print.cc (dump_generic_node): Remove tree code definition. + * tree.def (WIDEN_PLUS_EXPR, WIDEN_MINUS_EXPR, VEC_WIDEN_PLUS_HI_EXPR, + VEC_WIDEN_PLUS_LO_EXPR, VEC_WIDEN_MINUS_HI_EXPR, + VEC_WIDEN_MINUS_LO_EXPR): Likewise. + +2023-06-05 Andre Vieira + Joel Hutton + Tamar Christina + + * config/aarch64/aarch64-simd.md (vec_widen_addl_lo_): Rename + this ... + (vec_widen_add_lo_): ... to this. + (vec_widen_addl_hi_): Rename this ... + (vec_widen_add_hi_): ... to this. + (vec_widen_subl_lo_): Rename this ... + (vec_widen_sub_lo_): ... to this. + (vec_widen_subl_hi_): Rename this ... + (vec_widen_sub_hi_): ...to this. + * doc/generic.texi: Document new IFN codes. + * internal-fn.cc (lookup_hilo_internal_fn): Add lookup function. + (commutative_binary_fn_p): Add widen_plus fn's. + (widening_fn_p): New function. + (narrowing_fn_p): New function. + (direct_internal_fn_optab): Change visibility. + * internal-fn.def (DEF_INTERNAL_WIDENING_OPTAB_FN): Macro to define an + internal_fn that expands into multiple internal_fns for widening. + (IFN_VEC_WIDEN_PLUS, IFN_VEC_WIDEN_PLUS_HI, IFN_VEC_WIDEN_PLUS_LO, + IFN_VEC_WIDEN_PLUS_EVEN, IFN_VEC_WIDEN_PLUS_ODD, + IFN_VEC_WIDEN_MINUS, IFN_VEC_WIDEN_MINUS_HI, + IFN_VEC_WIDEN_MINUS_LO, IFN_VEC_WIDEN_MINUS_ODD, + IFN_VEC_WIDEN_MINUS_EVEN): Define widening plus,minus functions. + * internal-fn.h (direct_internal_fn_optab): Declare new prototype. + (lookup_hilo_internal_fn): Likewise. + (widening_fn_p): Likewise. + (Narrowing_fn_p): Likewise. + * optabs.cc (commutative_optab_p): Add widening plus optabs. + * optabs.def (OPTAB_D): Define widen add, sub optabs. + * tree-vect-patterns.cc (vect_recog_widen_op_pattern): Support + patterns with a hi/lo or even/odd split. + (vect_recog_sad_pattern): Refactor to use new IFN codes. + (vect_recog_widen_plus_pattern): Likewise. + (vect_recog_widen_minus_pattern): Likewise. + (vect_recog_average_pattern): Likewise. + * tree-vect-stmts.cc (vectorizable_conversion): Add support for + _HILO IFNs. + (supportable_widening_operation): Likewise. + * tree.def (WIDEN_SUM_EXPR): Update example to use new IFNs. + +2023-06-05 Andre Vieira + Joel Hutton + + * tree-vect-patterns.cc: Add include for gimple-iterator. + (vect_recog_widen_op_pattern): Refactor to use code_helper. + (vect_gimple_build): New function. + * tree-vect-stmts.cc (simple_integer_narrowing): Refactor to use + code_helper. + (vectorizable_call): Likewise. + (vect_gen_widened_results_half): Likewise. + (vect_create_vectorized_demotion_stmts): Likewise. + (vect_create_vectorized_promotion_stmts): Likewise. + (vect_create_half_widening_stmts): Likewise. + (vectorizable_conversion): Likewise. + (supportable_widening_operation): Likewise. + (supportable_narrowing_operation): Likewise. + * tree-vectorizer.h (supportable_widening_operation): Change + prototype to use code_helper. + (supportable_narrowing_operation): Likewise. + (vect_gimple_build): New function prototype. + * tree.h (code_helper::safe_as_tree_code): New function. + (code_helper::safe_as_fn_code): New function. + +2023-06-05 Roger Sayle + + * wide-int.cc (wi::bitreverse_large): New function implementing + bit reversal of an integer. + * wide-int.h (wi::bitreverse): New (template) function prototype. + (bitreverse_large): Prototype helper function/implementation. + (wi::bitreverse): New template wrapper around bitreverse_large. + +2023-06-05 Uros Bizjak + + * rtl.h (print_rtl_single): Change return type from int to void. + (print_rtl_single_with_indent): Ditto. + * print-rtl.h (class rtx_writer): Ditto. Change m_sawclose to bool. + * print-rtl.cc (rtx_writer::rtx_writer): Update for m_sawclose change. + (rtx_writer::print_rtx_operand_code_0): Ditto. + (rtx_writer::print_rtx_operand_codes_E_and_V): Ditto. + (rtx_writer::print_rtx_operand_code_i): Ditto. + (rtx_writer::print_rtx_operand_code_u): Ditto. + (rtx_writer::print_rtx_operand): Ditto. + (rtx_writer::print_rtx): Ditto. + (rtx_writer::finish_directive): Ditto. + (print_rtl_single): Change return type from int to void + and adjust function body accordingly. + (rtx_writer::print_rtl_single_with_indent): Ditto. + +2023-06-05 Uros Bizjak + + * rtl.h (reg_classes_intersect_p): Change return type from int to bool. + (reg_class_subset_p): Ditto. + * reginfo.cc (reg_classes_intersect_p): Ditto. + (reg_class_subset_p): Ditto. + +2023-06-05 Pan Li + + * config/riscv/riscv-vector-builtins-types.def + (vfloat32mf2_t): New type for DEF_RVV_WEXTF_OPS. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat32m8_t): Ditto. + (vint16mf4_t): New type for DEF_RVV_CONVERT_I_OPS. + (vint16mf2_t): Ditto. + (vint16m1_t): Ditto. + (vint16m2_t): Ditto. + (vint16m4_t): Ditto. + (vint16m8_t): Ditto. + (vuint16mf4_t): New type for DEF_RVV_CONVERT_U_OPS. + (vuint16mf2_t): Ditto. + (vuint16m1_t): Ditto. + (vuint16m2_t): Ditto. + (vuint16m4_t): Ditto. + (vuint16m8_t): Ditto. + (vint32mf2_t): New type for DEF_RVV_WCONVERT_I_OPS. + (vint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vuint32mf2_t): New type for DEF_RVV_WCONVERT_U_OPS. + (vuint32m1_t): Ditto. + (vuint32m2_t): Ditto. + (vuint32m4_t): Ditto. + (vuint32m8_t): Ditto. + * config/riscv/vector-iterators.md: Add FP=16 support for V, + VWCONVERTI, VCONVERT, VNCONVERT, VMUL1 and vlmul1. + +2023-06-05 Andrew Pinski + + PR bootstrap/110085 + * Makefile.in (clean): Remove the removing of + MULTILIB_DIR/MULTILIB_OPTIONS directories. + +2023-06-05 YunQiang Su + + * config/mips/mips-protos.h (mips_emit_speculation_barrier): New + prototype. + * config/mips/mips.cc (speculation_barrier_libfunc): New static + variable. + (mips_init_libfuncs): Initialize it. + (mips_emit_speculation_barrier): New function. + * config/mips/mips.md (speculation_barrier): Call + mips_emit_speculation_barrier. + +2023-06-05 Juzhe-Zhong + + * config/riscv/riscv-v.cc (class rvv_builder): Reorganize functions. + (rvv_builder::can_duplicate_repeating_sequence_p): Ditto. + (rvv_builder::repeating_sequence_use_merge_profitable_p): Ditto. + (rvv_builder::get_merged_repeating_sequence): Ditto. + (rvv_builder::get_merge_scalar_mask): Ditto. + (emit_scalar_move_insn): Ditto. + (emit_vlmax_integer_move_insn): Ditto. + (emit_nonvlmax_integer_move_insn): Ditto. + (emit_vlmax_gather_insn): Ditto. + (emit_vlmax_masked_gather_mu_insn): Ditto. + (get_repeating_sequence_dup_machine_mode): Ditto. + +2023-06-05 Juzhe-Zhong + + * config/riscv/autovec.md: Split arguments. + * config/riscv/riscv-protos.h (expand_vec_perm): Ditto. + * config/riscv/riscv-v.cc (expand_vec_perm): Ditto. + +2023-06-04 Andrew Pinski + + * expr.cc (do_store_flag): Improve for single bit testing + not against zero but against that single bit. + +2023-06-04 Andrew Pinski + + * expr.cc (do_store_flag): Extend the one bit checking case + to handle the case where we don't have an and but rather still + one bit is known to be non-zero. + +2023-06-04 Jeff Law + + * config/h8300/constraints.md (Zz): Make this a normal + constraint. + * config/h8300/h8300.cc (TARGET_LRA_P): Remove. + * config/h8300/logical.md (H8/SX bit patterns): Remove. + +2023-06-04 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.md (*btrue_INT_MIN, *eqne_INT_MIN): + New insn_and_split patterns. + +2023-06-04 Juzhe-Zhong + + PR target/110109 + * config/riscv/riscv-vector-builtins-bases.cc: Change expand approach. + * config/riscv/vector.md (@vlmul_extx2): Remove it. + (@vlmul_extx4): Ditto. + (@vlmul_extx8): Ditto. + (@vlmul_extx16): Ditto. + (@vlmul_extx32): Ditto. + (@vlmul_extx64): Ditto. + (*vlmul_extx2): Ditto. + (*vlmul_extx4): Ditto. + (*vlmul_extx8): Ditto. + (*vlmul_extx16): Ditto. + (*vlmul_extx32): Ditto. + (*vlmul_extx64): Ditto. + +2023-06-04 Pan Li + + * config/riscv/riscv-vector-builtins-types.def + (vfloat32mf2_t): Add vfloat32mf2_t type to vfncvt.f.f.w operations. + (vfloat32m1_t): Likewise. + (vfloat32m2_t): Likewise. + (vfloat32m4_t): Likewise. + (vfloat32m8_t): Likewise. + * config/riscv/riscv-vector-builtins.def: Fix typo in comments. + * config/riscv/vector-iterators.md: Add single to half machine + mode conversion. + +2023-06-04 Juzhe-Zhong + + * config/riscv/autovec-opt.md (*not): Move to autovec-opt.md. + (*n): Ditto. + * config/riscv/autovec.md (*not): Ditto. + (*n): Ditto. + * config/riscv/vector.md: Ditto. + +2023-06-04 Roger Sayle + + PR target/110083 + * config/i386/i386-features.cc (scalar_chain::convert_compare): + Update or delete REG_EQUAL notes, converting CONST_INT and + CONST_WIDE_INT immediate operands to a suitable CONST_VECTOR. + +2023-06-04 Jason Merrill + + PR c++/97720 + * tree-eh.cc (lower_resx): Pass the exception pointer to the + failure_decl. + * except.h: Tweak comment. + +2023-06-04 Hans-Peter Nilsson + + * postreload.cc (move2add_use_add2_insn): Handle + trivial single_sets. Rename variable PAT to SET. + (move2add_use_add3_insn, reload_cse_move2add): Similar. + +2023-06-04 Pan Li + + * config/riscv/riscv-vector-builtins-types.def + (vfloat16mf4_t): Add the float16 type to DEF_RVV_F_OPS. + (vfloat16mf2_t): Likewise. + (vfloat16m1_t): Likewise. + (vfloat16m2_t): Likewise. + (vfloat16m4_t): Likewise. + (vfloat16m8_t): Likewise. + * config/riscv/riscv.md: Add vfloat16*_t to attr mode. + * config/riscv/vector-iterators.md: Add vfloat16*_t machine mode + to V, V_WHOLE, V_FRACT, VINDEX, VM, VEL and sew. + * config/riscv/vector.md: Add vfloat16*_t machine mode to sew, + vlmul and ratio. + +2023-06-03 Fei Gao + + * config/riscv/riscv.cc (riscv_expand_epilogue): fix cfi issue with + correct offset. + +2023-06-03 Die Li + + * config/riscv/thead.md (*th_cond_gpr_mov): Delete. + +2023-06-03 Juzhe-Zhong + + * config/riscv/predicates.md: Change INTVAL into UINTVAL. + +2023-06-03 Juzhe-Zhong + + * config/riscv/vector.md: Add vector-opt.md. + * config/riscv/autovec-opt.md: New file. + +2023-06-03 liuhongt + + PR tree-optimization/110067 + * gimple-ssa-store-merging.cc (find_bswap_or_nop): Don't try + bswap + rotate when TYPE_PRECISION(n->type) > n->range. + +2023-06-03 liuhongt + + PR target/92658 + * config/i386/mmx.md (truncv2hiv2qi2): New define_insn. + (truncv2si2): Ditto. + +2023-06-02 Andrew Pinski + + PR rtl-optimization/102733 + * dse.cc (store_info): Add addrspace field. + (record_store): Record the address space + and check to make sure they are the same. + +2023-06-02 Andrew Pinski + + PR rtl-optimization/110042 + * ifcvt.cc (bbs_ok_for_cmove_arith): Allow paradoxical subregs. + (bb_valid_for_noce_process_p): Strip the subreg for the SET_DEST. + +2023-06-02 Iain Sandoe + + PR target/110044 + * config/rs6000/rs6000.cc (darwin_rs6000_special_round_type_align): + Make sure that we do not have a cap on field alignment before altering + the struct layout based on the type alignment of the first entry. + +2023-06-02 David Faust + + PR debug/110073 + * btfout.cc (btf_absolute_func_id): New function. + (btf_asm_func_type): Call it here. Change index parameter from + size_t to ctf_id_t. Use PRIu64 formatter. + +2023-06-02 Alex Coplan + + * btfout.cc (btf_asm_type): Use PRIu64 instead of %lu for uint64_t. + (btf_asm_datasec_type): Likewise. + +2023-06-02 Carl Love + + * config/rs6000/rs6000-builtins.def (__builtin_altivec_tr_stxvrhx, + __builtin_altivec_tr_stxvrwx): Fix type of third argument. + +2023-06-02 Jason Merrill + + PR c++/110070 + PR c++/105838 + * tree.h (DECL_MERGEABLE): New. + * tree-core.h (struct tree_decl_common): Mention it. + * gimplify.cc (gimplify_init_constructor): Check it. + * cgraph.cc (symtab_node::address_can_be_compared_p): Likewise. + * varasm.cc (categorize_decl_for_section): Likewise. + +2023-06-02 Uros Bizjak + + * rtl.h (stack_regs_mentioned): Change return type from int to bool. + * reg-stack.cc (struct_block_info_def): Change "done" to bool. + (stack_regs_mentioned_p): Change return type from int to bool + and adjust function body accordingly. + (stack_regs_mentioned): Ditto. + (check_asm_stack_operands): Ditto. Change "malformed_asm" + variable to bool. + (move_for_stack_reg): Recode handling of control_flow_insn_deleted. + (swap_rtx_condition_1): Change return type from int to bool + and adjust function body accordingly. Change "r" variable to bool. + (swap_rtx_condition): Change return type from int to bool + and adjust function body accordingly. + (subst_stack_regs_pat): Recode handling of control_flow_insn_deleted. + (subst_stack_regs): Ditto. + (convert_regs_entry): Change return type from int to bool and adjust + function body accordingly. Change "inserted" variable to bool. + (convert_regs_1): Recode handling of control_flow_insn_deleted. + (convert_regs_2): Recode handling of cfg_altered. + (convert_regs): Ditto. Change "inserted" variable to bool. + +2023-06-02 Jason Merrill + + PR c++/95226 + * varasm.cc (output_constant) [REAL_TYPE]: Check that sizes match. + (initializer_constant_valid_p_1): Compare float precision. + +2023-06-02 Alexander Monakov + + * doc/extend.texi (Vector Extensions): Clarify bitwise shift + semantics. + +2023-06-02 Ju-Zhe Zhong + + * tree-vect-loop-manip.cc (vect_set_loop_controls_directly): Change decrement IV flow. + (vect_set_loop_condition_partial_vectors): Ditto. + +2023-06-02 Georg-Johann Lay + + PR target/110088 + * config/avr/avr.md: Add an RTL peephole to optimize operations on + non-LD_REGS after a move from LD_REGS. + (piaop): New code iterator. + +2023-06-02 Thomas Schwinge + + PR testsuite/66005 + * doc/install.texi: Document (optional) Perl usage for parallel + testing of libgomp. + +2023-06-02 Thomas Schwinge + + PR bootstrap/82856 + * doc/install.texi (Perl): Back to requiring "Perl version 5.6.1 (or + later)". + +2023-06-02 Juzhe-Zhong + KuanLin Chen + + * config/riscv/riscv-vector-builtins-bases.cc: Add _mu overloaded intrinsics. + * config/riscv/riscv-vector-builtins-shapes.cc (struct fault_load_def): Ditto. + +2023-06-02 Juzhe-Zhong + + * config/riscv/riscv-v.cc (expand_vec_series): Optimize reverse series index vector. + +2023-06-02 Juzhe-Zhong + + * config/riscv/predicates.md: Change INTVAL into UINTVAL. + +2023-06-02 Juzhe-Zhong + + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_VXRM_ENUM): Add + __RISCV_ prefix. + (DEF_RVV_FRM_ENUM): Ditto. + +2023-06-02 Juzhe-Zhong + + * config/riscv/riscv-vector-builtins-bases.cc: Change vwadd.wv/vwsub.wv + intrinsic API expander + * config/riscv/vector.md + (@pred_single_widen_): Remove it. + (@pred_single_widen_sub): New pattern. + (@pred_single_widen_add): New pattern. + +2023-06-02 Juzhe-Zhong + + * config/riscv/autovec.md (vec_perm): New pattern. + * config/riscv/predicates.md (vector_perm_operand): New predicate. + * config/riscv/riscv-protos.h (enum insn_type): New enum. + (expand_vec_perm): New function. + * config/riscv/riscv-v.cc (const_vec_all_in_range_p): Ditto. + (gen_const_vector_dup): Ditto. + (emit_vlmax_gather_insn): Ditto. + (emit_vlmax_masked_gather_mu_insn): Ditto. + (expand_vec_perm): Ditto. + +2023-06-01 Jason Merrill + + * doc/invoke.texi (-Wpedantic): Improve clarity. + +2023-06-01 Uros Bizjak + + * rtl.h (exp_equiv_p): Change return type from int to bool. + * cse.cc (mention_regs): Change return type from int to bool + and adjust function body accordingly. + (exp_equiv_p): Ditto. + (insert_regs): Ditto. Change "modified" function argument to bool + and update usage accordingly. + (record_jump_cond): Remove always zero "reversed_nonequality" + function argument and update usage accordingly. + (fold_rtx): Change "changed" variable to bool. + (record_jump_equiv): Remove unneeded "reversed_nonequality" variable. + (is_dead_reg): Change return type from int to bool. + +2023-06-01 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.md (adddi3, subdi3): + New RTL generation patterns implemented according to the instruc- + tion idioms described in the Xtensa ISA reference manual (p. 600). + +2023-06-01 Roger Sayle + Uros Bizjak + + PR target/109973 + * config/i386/i386-builtin.def (__builtin_ia32_ptestz128): Use new + CODE_for_sse4_1_ptestzv2di. + (__builtin_ia32_ptestc128): Use new CODE_for_sse4_1_ptestcv2di. + (__builtin_ia32_ptestz256): Use new CODE_for_avx_ptestzv4di. + (__builtin_ia32_ptestc256): Use new CODE_for_avx_ptestcv4di. + * config/i386/i386-expand.cc (ix86_expand_branch): Use CCZmode + when expanding UNSPEC_PTEST to compare against zero. + * config/i386/i386-features.cc (scalar_chain::convert_compare): + Likewise generate CCZmode UNSPEC_PTESTs when converting comparisons. + (general_scalar_chain::convert_insn): Use CCZmode for COMPARE result. + (timode_scalar_chain::convert_insn): Use CCZmode for COMPARE result. + * config/i386/i386-protos.h (ix86_match_ptest_ccmode): Prototype. + * config/i386/i386.cc (ix86_match_ptest_ccmode): New predicate to + check for suitable matching modes for the UNSPEC_PTEST pattern. + * config/i386/sse.md (define_split): When splitting UNSPEC_MOVMSK + to UNSPEC_PTEST, preserve the FLAG_REG mode as CCZ. + (*_ptest): Add asterisk to hide define_insn. Remove + ":CC" mode of FLAGS_REG, instead use ix86_match_ptest_ccmode. + (_ptestz): New define_expand to specify CCZ. + (_ptestc): New define_expand to specify CCC. + (_ptest): A define_expand using CC to preserve the + current behavior. + (*ptest_and): Specify CCZ to only perform this optimization + when only the Z flag is required. + +2023-06-01 Jonathan Wakely + + PR target/109954 + * doc/invoke.texi (x86 Options): Fix description of -m32 option. + +2023-06-01 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (*aarch64_simd_mov): + Add =r,m and =r,m alternatives. + (load_pair): Likewise. + (vec_store_pair): Likewise. + +2023-06-01 Pan Li + + * common/config/riscv/riscv-common.cc: Add FP_16 mask to zvfhmin + and zvfh. + * config/riscv/genrvv-type-indexer.cc (valid_type): Allow FP16. + (main): Disable FP16 tuple. + * config/riscv/riscv-opts.h (MASK_VECTOR_ELEN_FP_16): New macro. + (TARGET_VECTOR_ELEN_FP_16): Ditto. + * config/riscv/riscv-vector-builtins.cc (check_required_extensions): + Add FP16. + * config/riscv/riscv-vector-builtins.def (vfloat16mf4_t): New type. + (vfloat16mf2_t): Ditto. + (vfloat16m1_t): Ditto. + (vfloat16m2_t): Ditto. + (vfloat16m4_t): Ditto. + (vfloat16m8_t): Ditto. + * config/riscv/riscv-vector-builtins.h (RVV_REQUIRE_ELEN_FP_16): + New macro. + * config/riscv/riscv-vector-switch.def (ENTRY): Allow FP16 + machine mode based on TARGET_VECTOR_ELEN_FP_16. + +2023-06-01 Juzhe-Zhong + + * config/riscv/riscv-vector-builtins.cc (register_frm): New function. + (DEF_RVV_FRM_ENUM): New macro. + (handle_pragma_vector): Add FRM enum + * config/riscv/riscv-vector-builtins.def (DEF_RVV_FRM_ENUM): New macro. + (RNE): Ditto. + (RTZ): Ditto. + (RDN): Ditto. + (RUP): Ditto. + (RMM): Ditto. + +2023-05-31 Roger Sayle + Richard Sandiford + + * fold-const-call.cc (fold_const_call_ss) : + Update call to wi::bswap. + * simplify-rtx.cc (simplify_const_unary_operation) : + Update call to wi::bswap. + * tree-ssa-ccp.cc (evaluate_stmt) : + Update calls to wi::bswap. + * wide-int.cc (wide_int_storage::bswap): Remove/rename to... + (wi::bswap_large): New function, with revised API. + * wide-int.h (wi::bswap): New (template) function prototype. + (wide_int_storage::bswap): Remove method. + (sext_large, zext_large): Consistent indentation/line wrapping. + (bswap_large): Prototype helper function containing implementation. + (wi::bswap): New template wrapper around bswap_large. + +2023-05-31 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (dot_prod): Rename to... + (dot_prod): ... This. + (usdot_prod): Rename to... + (usdot_prod): ... This. + (aarch64_dot_lane): Rename to... + (aarch64_dot_lane): ... This. + (aarch64_dot_laneq): Rename to... + (aarch64_dot_laneq): ... This. + (aarch64_dot_lane): Rename to... + (aarch64_dot_lane): + ... This. + +2023-05-31 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_sqdmulh): Rename to... + (aarch64_sqdmulh): ... This. + (aarch64_sqdmulh_n): Rename to... + (aarch64_sqdmulh_n): ... This. + (aarch64_sqdmulh_lane): Rename to... + (aarch64_sqdmulh_lane): ... This. + (aarch64_sqdmulh_laneq): Rename to... + (aarch64_sqdmulh_laneq): ... This. + (aarch64_sqrdmlh): Rename to... + (aarch64_sqrdmlh): ... This. + (aarch64_sqrdmlh_lane): Rename to... + (aarch64_sqrdmlh_lane): ... This. + (aarch64_sqrdmlh_laneq): Rename to... + (aarch64_sqrdmlh_laneq): ... This. + +2023-05-31 David Faust + + * btfout.cc (btf_kind_names): New. + (btf_kind_name): New. + (btf_absolute_var_id): New utility function. + (btf_relative_var_id): Likewise. + (btf_relative_func_id): Likewise. + (btf_absolute_datasec_id): Likewise. + (btf_asm_type_ref): New. + (btf_asm_type): Update asm comments and use btf_asm_type_ref (). + (btf_asm_array): Likewise. Accept ctf_container_ref parameter. + (btf_asm_varent): Likewise. + (btf_asm_func_arg): Likewise. + (btf_asm_datasec_entry): Likewise. + (btf_asm_datasec_type): Likewise. + (btf_asm_func_type): Likewise. Add index parameter. + (btf_asm_enum_const): Likewise. + (btf_asm_sou_member): Likewise. + (output_btf_vars): Update btf_asm_* call accordingly. + (output_asm_btf_sou_fields): Likewise. + (output_asm_btf_enum_list): Likewise. + (output_asm_btf_func_args_list): Likewise. + (output_asm_btf_vlen_bytes): Likewise. + (output_btf_func_types): Add ctf_container_ref parameter. + Pass it to btf_asm_func_type. + (output_btf_datasec_types): Update btf_asm_datsec_type call similarly. + (btf_output): Update output_btf_func_types call similarly. + +2023-05-31 David Faust + + * btfout.cc (btf_asm_type): Add dedicated cases for BTF_KIND_ARRAY + and BTF_KIND_FWD which do not use the size/type field at all. + +2023-05-31 Uros Bizjak + + * rtl.h (subreg_lowpart_p): Change return type from int to bool. + (active_insn_p): Ditto. + (in_sequence_p): Ditto. + (unshare_all_rtl): Change return type from int to void. + * emit-rtl.h (mem_expr_equal_p): Change return type from int to bool. + * emit-rtl.cc (subreg_lowpart_p): Change return type from int to bool + and adjust function body accordingly. + (mem_expr_equal_p): Ditto. + (unshare_all_rtl): Change return type from int to void + and adjust function body accordingly. + (verify_rtx_sharing): Remove unneeded return. + (active_insn_p): Change return type from int to bool + and adjust function body accordingly. + (in_sequence_p): Ditto. + +2023-05-31 Uros Bizjak + + * rtl.h (true_dependence): Change return type from int to bool. + (canon_true_dependence): Ditto. + (read_dependence): Ditto. + (anti_dependence): Ditto. + (canon_anti_dependence): Ditto. + (output_dependence): Ditto. + (canon_output_dependence): Ditto. + (may_alias_p): Ditto. + * alias.h (alias_sets_conflict_p): Ditto. + (alias_sets_must_conflict_p): Ditto. + (objects_must_conflict_p): Ditto. + (nonoverlapping_memrefs_p): Ditto. + * alias.cc (rtx_equal_for_memref_p): Remove forward declaration. + (record_set): Ditto. + (base_alias_check): Ditto. + (find_base_value): Ditto. + (mems_in_disjoint_alias_sets_p): Ditto. + (get_alias_set_entry): Ditto. + (decl_for_component_ref): Ditto. + (write_dependence_p): Ditto. + (memory_modified_1): Ditto. + (mems_in_disjoint_alias_set_p): Change return type from int to bool + and adjust function body accordingly. + (alias_sets_conflict_p): Ditto. + (alias_sets_must_conflict_p): Ditto. + (objects_must_conflict_p): Ditto. + (rtx_equal_for_memref_p): Ditto. + (base_alias_check): Ditto. + (read_dependence): Ditto. + (nonoverlapping_memrefs_p): Ditto. + (true_dependence_1): Ditto. + (true_dependence): Ditto. + (canon_true_dependence): Ditto. + (write_dependence_p): Ditto. + (anti_dependence): Ditto. + (canon_anti_dependence): Ditto. + (output_dependence): Ditto. + (canon_output_dependence): Ditto. + (may_alias_p): Ditto. + (init_alias_analysis): Change "changed" variable to bool. + +2023-05-31 Juzhe-Zhong + + * config/riscv/autovec.md (2): Change + expand into define_insn_and_split. + +2023-05-31 Juzhe-Zhong + + * config/riscv/vector.md: Remove FRM. + +2023-05-31 Juzhe-Zhong + + * config/riscv/vector.md: Remove FRM. + +2023-05-31 Juzhe-Zhong + + * config/riscv/vector.md: Remove FRM. + +2023-05-31 Christophe Lyon + + PR target/110039 + * config/aarch64/aarch64.md (aarch64_rev16si2_alt3): New + pattern. + +2023-05-31 Richard Biener + + PR ipa/109983 + PR tree-optimization/109143 + * tree-ssa-structalias.cc (struct topo_info): Remove. + (init_topo_info): Likewise. + (free_topo_info): Likewise. + (compute_topo_order): Simplify API, put the component + with ESCAPED last so it's processed first. + (topo_visit): Adjust. + (solve_graph): Likewise. + +2023-05-31 Richard Biener + + * tree-ssa-structalias.cc (constraint_stats::num_avoided_edges): + New. + (add_graph_edge): Count redundant edges we avoid to create. + (dump_sa_stats): Dump them. + (ipa_pta_execute): Do not dump generating constraints when + we are not dumping them. + +2023-05-31 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (*aarch64_simd_mov): Rewrite + output template to avoid explicit switch on which_alternative. + (*aarch64_simd_mov): Likewise. + (and3): Likewise. + (ior3): Likewise. + * config/aarch64/aarch64.md (*mov_aarch64): Likewise. + +2023-05-31 Takayuki 'January June' Suwa + + * config/xtensa/predicates.md (xtensa_bit_join_operator): + New predicate. + * config/xtensa/xtensa.md (ior_op): Remove. + (*shlrd_reg): Rename from "*shlrd_reg_", and add the + insn_and_split pattern of the same name to express and capture + the bit-combining operation with both sides swapped. + In addition, replace use of code iterator with new operator + predicate. + (*shlrd_const, *shlrd_per_byte): + Likewise regarding the code iterator. + +2023-05-31 Cui, Lili + + PR tree-optimization/110038 + * params.opt: Add a limit on tree-reassoc-width. + * tree-ssa-reassoc.cc + (rewrite_expr_tree_parallel): Add width limit. + +2023-05-31 Pan Li + + * common/config/riscv/riscv-common.cc: + (riscv_implied_info): Add zvfh item. + (riscv_ext_version_table): Ditto. + (riscv_ext_flag_table): Ditto. + * config/riscv/riscv-opts.h (MASK_ZVFH): New macro. + (TARGET_ZVFH): Ditto. + +2023-05-30 liuhongt + + PR tree-optimization/108804 + * tree-vect-patterns.cc (vect_get_range_info): Remove static. + * tree-vect-stmts.cc (vect_create_vectorized_demotion_stmts): + Add new parameter narrow_src_p. + (vectorizable_conversion): Enhance NARROW FLOAT_EXPR + vectorization by truncating to lower precision. + * tree-vectorizer.h (vect_get_range_info): New declare. + +2023-05-30 Vladimir N. Makarov + + * lra-int.h (lra_update_sp_offset): Add the prototype. + * lra.cc (setup_sp_offset): Change the return type. Use + lra_update_sp_offset. + * lra-eliminations.cc (lra_update_sp_offset): New function. + (lra_process_new_insns): Push the current insn to reprocess if the + input reload changes sp offset. + +2023-05-30 Uros Bizjak + + PR target/110041 + * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): + Fix misleading identation. + +2023-05-30 Uros Bizjak + + * rtl.h (comparison_dominates_p): Change return type from int to bool. + (condjump_p): Ditto. + (any_condjump_p): Ditto. + (any_uncondjump_p): Ditto. + (simplejump_p): Ditto. + (returnjump_p): Ditto. + (eh_returnjump_p): Ditto. + (onlyjump_p): Ditto. + (invert_jump_1): Ditto. + (invert_jump): Ditto. + (rtx_renumbered_equal_p): Ditto. + (redirect_jump_1): Ditto. + (redirect_jump): Ditto. + (condjump_in_parallel_p): Ditto. + * jump.cc (invert_exp_1): Adjust forward declaration. + (comparison_dominates_p): Change return type from int to bool + and adjust function body accordingly. + (simplejump_p): Ditto. + (condjump_p): Ditto. + (condjump_in_parallel_p): Ditto. + (any_uncondjump_p): Ditto. + (any_condjump_p): Ditto. + (returnjump_p): Ditto. + (eh_returnjump_p): Ditto. + (onlyjump_p): Ditto. + (redirect_jump_1): Ditto. + (redirect_jump): Ditto. + (invert_exp_1): Ditto. + (invert_jump_1): Ditto. + (invert_jump): Ditto. + (rtx_renumbered_equal_p): Ditto. + +2023-05-30 Andrew Pinski + + * fold-const.cc (minmax_from_comparison): Add support for NE_EXPR. + * match.pd ((cond (cmp (convert1? x) c1) (convert2? x) c2) pattern): + Add ne as a possible cmp. + ((a CMP b) ? minmax : minmax pattern): Likewise. + +2023-05-30 Andrew Pinski + + * match.pd (`(a CMP CST1) ? max : a`): New + pattern. + +2023-05-30 Roger Sayle + + * simplify-rtx.cc (simplify_binary_operation_1) : Use wide-int + instead of HWI_COMPUTABLE_MODE_P and UINTVAL in transformation of + (and (extend X) C) as (zero_extend (and X C)), to also optimize + modes wider than HOST_WIDE_INT. + +2023-05-30 Roger Sayle + + PR target/107172 + * simplify-rtx.cc (simplify_const_relational_operation): Return + early if we have a MODE_CC comparison that isn't a COMPARE against + const0_rtx. + +2023-05-30 Robin Dapp + + * config/riscv/riscv.cc (riscv_const_insns): Allow + const_vec_duplicates. + +2023-05-30 liuhongt + + PR middle-end/108938 + * gimple-ssa-store-merging.cc (is_bswap_or_nop_p): New + function, cut from original find_bswap_or_nop function. + (find_bswap_or_nop): Add a new parameter, detect bswap + + rotate and save rotate result in the new parameter. + (bswap_replace): Add a new parameter to indicate rotate and + generate rotate stmt if needed. + (maybe_optimize_vector_constructor): Adjust for new rotate + parameter in the upper 2 functions. + (pass_optimize_bswap::execute): Ditto. + (imm_store_chain_info::output_merged_store): Ditto. + +2023-05-30 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_adalp): Delete. + (aarch64_adalp): New define_expand. + (*aarch64_adalp_insn): New define_insn. + (aarch64_addlp): Convert to define_expand. + (*aarch64_addlp_insn): New define_insn. + * config/aarch64/iterators.md (UNSPEC_SADDLP, UNSPEC_UADDLP): Delete. + (ADALP): Likewise. + (USADDLP): Likewise. + * config/aarch64/predicates.md (vect_par_cnst_even_or_odd_half): Define. + +2023-05-30 Kyrylo Tkachov + + * config/aarch64/aarch64-builtins.cc (VAR1): Move to after inclusion of + aarch64-builtin-iterators.h. Add definition to remap shadd, uhadd, + srhadd, urhadd builtin codes for standard optab ones. + * config/aarch64/aarch64-simd.md (avg3_floor): Rename to... + (avg3_floor): ... This. Expand to RTL codes rather than + unspec. + (avg3_ceil): Rename to... + (avg3_ceil): ... This. Expand to RTL codes rather than + unspec. + (aarch64_hsub): New define_expand. + (aarch64_h): Split into... + (*aarch64_h_insn): ... This... + (*aarch64_rhadd_insn): ... And this. + +2023-05-30 Andreas Schwab + + PR target/110036 + * config/riscv/riscv.cc (riscv_asan_shadow_offset): Update to + match libsanitizer. + +2023-05-30 Kyrylo Tkachov + + * config/aarch64/aarch64-modes.def (V16HI, V8SI, V4DI, V2TI): New modes. + * config/aarch64/aarch64-protos.h (aarch64_const_vec_rnd_cst_p): + Declare prototype. + (aarch64_const_vec_rsra_rnd_imm_p): Likewise. + * config/aarch64/aarch64-simd.md (*aarch64_simd_sra): Rename to... + (aarch64_sra_n_insn): ... This. + (aarch64_rsra_n_insn): New define_insn. + (aarch64_sra_n): New define_expand. + (aarch64_rsra_n): Likewise. + (aarch64_sra_n): Rename to... + (aarch64_sra_ndi): ... This. + * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Add + any_target_p argument. + (aarch64_extract_vec_duplicate_wide_int): Define. + (aarch64_const_vec_rsra_rnd_imm_p): Likewise. + (aarch64_const_vec_rnd_cst_p): Likewise. + (aarch64_vector_mode_supported_any_target_p): Likewise. + (TARGET_VECTOR_MODE_SUPPORTED_ANY_TARGET_P): Likewise. + * config/aarch64/iterators.md (UNSPEC_SRSRA, UNSPEC_URSRA): Delete. + (VSRA): Adjust for the above. + (sur): Likewise. + (V2XWIDE): New mode_attr. + (vec_or_offset): Likewise. + (SHIFTEXTEND): Likewise. + * config/aarch64/predicates.md (aarch64_simd_rsra_rnd_imm_vec): New + predicate. + * doc/tm.texi (TARGET_VECTOR_MODE_SUPPORTED_P): Adjust description to + clarify that it applies to current target options. + (TARGET_VECTOR_MODE_SUPPORTED_ANY_TARGET_P): Document. + * doc/tm.texi.in: Regenerate. + * stor-layout.cc (mode_for_vector): Check + vector_mode_supported_any_target_p when iterating through vector modes. + * target.def (TARGET_VECTOR_MODE_SUPPORTED_P): Adjust description to + clarify that it applies to current target options. + (TARGET_VECTOR_MODE_SUPPORTED_ANY_TARGET_P): Define. + +2023-05-30 Lili Cui + + PR tree-optimization/98350 + * tree-ssa-reassoc.cc + (rewrite_expr_tree_parallel): Rewrite this function. + (rank_ops_for_fma): New. + (reassociate_bb): Handle new function. + +2023-05-30 Uros Bizjak + + * rtl.h (rtx_addr_can_trap_p): Change return type from int to bool. + (rtx_unstable_p): Ditto. + (reg_mentioned_p): Ditto. + (reg_referenced_p): Ditto. + (reg_used_between_p): Ditto. + (reg_set_between_p): Ditto. + (modified_between_p): Ditto. + (no_labels_between_p): Ditto. + (modified_in_p): Ditto. + (reg_set_p): Ditto. + (multiple_sets): Ditto. + (set_noop_p): Ditto. + (noop_move_p): Ditto. + (reg_overlap_mentioned_p): Ditto. + (dead_or_set_p): Ditto. + (dead_or_set_regno_p): Ditto. + (find_reg_fusage): Ditto. + (find_regno_fusage): Ditto. + (side_effects_p): Ditto. + (volatile_refs_p): Ditto. + (volatile_insn_p): Ditto. + (may_trap_p_1): Ditto. + (may_trap_p): Ditto. + (may_trap_or_fault_p): Ditto. + (computed_jump_p): Ditto. + (auto_inc_p): Ditto. + (loc_mentioned_in_p): Ditto. + * rtlanal.cc (computed_jump_p_1): Adjust forward declaration. + (rtx_unstable_p): Change return type from int to bool + and adjust function body accordingly. + (rtx_addr_can_trap_p): Ditto. + (reg_mentioned_p): Ditto. + (no_labels_between_p): Ditto. + (reg_used_between_p): Ditto. + (reg_referenced_p): Ditto. + (reg_set_between_p): Ditto. + (reg_set_p): Ditto. + (modified_between_p): Ditto. + (modified_in_p): Ditto. + (multiple_sets): Ditto. + (set_noop_p): Ditto. + (noop_move_p): Ditto. + (reg_overlap_mentioned_p): Ditto. + (dead_or_set_p): Ditto. + (dead_or_set_regno_p): Ditto. + (find_reg_fusage): Ditto. + (find_regno_fusage): Ditto. + (remove_node_from_insn_list): Ditto. + (volatile_insn_p): Ditto. + (volatile_refs_p): Ditto. + (side_effects_p): Ditto. + (may_trap_p_1): Ditto. + (may_trap_p): Ditto. + (may_trap_or_fault_p): Ditto. + (computed_jump_p): Ditto. + (auto_inc_p): Ditto. + (loc_mentioned_in_p): Ditto. + * combine.cc (can_combine_p): Update indirect function. + +2023-05-30 Juzhe-Zhong + + * config/riscv/autovec.md (2): New pattern. + * config/riscv/iterators.md: New attribute. + * config/riscv/vector-iterators.md: New attribute. + +2023-05-30 From: Juzhe-Zhong + + * config/riscv/riscv.md: Fix signed and unsigned comparison + warning. + +2023-05-30 Juzhe-Zhong + + * config/riscv/autovec.md (fnma4): New pattern. + (*fnma): Ditto. + +2023-05-29 Die Li + + * config/riscv/riscv.cc (riscv_expand_conditional_move_onesided): + Delete. + (riscv_expand_conditional_move): Reuse the TARGET_SFB_ALU expand + process for TARGET_XTHEADCONDMOV + +2023-05-29 Uros Bizjak + + PR target/110021 + * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): Also require + TARGET_AVX512BW to generate truncv16hiv16qi2. + +2023-05-29 Jivan Hakobyan + + * config/riscv/riscv.md (and3): New expander. + (*and3) New pattern. + * config/riscv/predicates.md (arith_operand_or_mode_mask): New + predicate. + +2023-05-29 Pan Li + + * config/riscv/riscv-v.cc (emit_vlmax_insn): Remove unnecessary + comments and rename local variables. + (emit_nonvlmax_insn): Diito. + (emit_vlmax_merge_insn): Ditto. + (emit_vlmax_cmp_insn): Ditto. + (emit_vlmax_cmp_mu_insn): Ditto. + (emit_scalar_move_insn): Ditto. + +2023-05-29 Pan Li + + * config/riscv/riscv-v.cc (emit_vlmax_insn): Eliminate the + magic number. + (emit_nonvlmax_insn): Ditto. + (emit_vlmax_merge_insn): Ditto. + (emit_vlmax_cmp_insn): Ditto. + (emit_vlmax_cmp_mu_insn): Ditto. + (expand_vec_series): Ditto. + +2023-05-29 Pan Li + + * config/riscv/riscv-protos.h (enum insn_type): New type. + * config/riscv/riscv-v.cc (RVV_INSN_OPERANDS_MAX): New macro. + (rvv_builder::can_duplicate_repeating_sequence_p): Align the referenced + class member. + (rvv_builder::get_merged_repeating_sequence): Ditto. + (rvv_builder::repeating_sequence_use_merge_profitable_p): New function + to evaluate the optimization cost. + (rvv_builder::get_merge_scalar_mask): New function to get the merge + mask. + (emit_scalar_move_insn): New function to emit vmv.s.x. + (emit_vlmax_integer_move_insn): New function to emit vlmax vmv.v.x. + (emit_nonvlmax_integer_move_insn): New function to emit nonvlmax + vmv.v.x. + (get_repeating_sequence_dup_machine_mode): New function to get the dup + machine mode. + (expand_vector_init_merge_repeating_sequence): New function to perform + the optimization. + (expand_vec_init): Add this vector init optimization. + * config/riscv/riscv.h (BITS_PER_WORD): New macro. + +2023-05-29 Eric Botcazou + + * tree-ssa-loop-manip.cc (create_iv): Try harder to find a SLOC to + put onto the increment when it is inserted after the position. + +2023-05-29 Eric Botcazou + + * match.pd ((T)P - (T)(P + A) -> -(T) A): Avoid artificial overflow + on constants. + +2023-05-29 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (source_equal_p): Fix ICE. + +2023-05-29 Juzhe-Zhong + + * config/riscv/autovec.md (fma4): New pattern. + (*fma): Ditto. + * config/riscv/riscv-protos.h (enum insn_type): New enum. + (emit_vlmax_ternary_insn): New function. + * config/riscv/riscv-v.cc (emit_vlmax_ternary_insn): Ditto. + +2023-05-29 Juzhe-Zhong + + * config/riscv/vector.md: Fix vimuladd instruction bug. + +2023-05-29 Juzhe-Zhong + + * config/riscv/riscv.cc (global_state_unknown_p): New function. + (riscv_mode_after): Fix incorrect VXM. + +2023-05-29 Pan Li + + * common/config/riscv/riscv-common.cc: + (riscv_implied_info): Add zvfhmin item. + (riscv_ext_version_table): Ditto. + (riscv_ext_flag_table): Ditto. + * config/riscv/riscv-opts.h (MASK_ZVFHMIN): New macro. + (TARGET_ZFHMIN): Align indent. + (TARGET_ZFH): Ditto. + (TARGET_ZVFHMIN): New macro. + +2023-05-27 liuhongt + + PR target/100711 + * config/i386/sse.md (*andnot3): Extend below splitter + to VI_AVX2 to cover more modes. + +2023-05-27 liuhongt + + * config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): + Remove ATOM and ICELAKE(and later) core processors. + +2023-05-26 Robin Dapp + + * config/riscv/autovec.md (2): Add vneg/vnot. + (abs2): Add. + * config/riscv/riscv-protos.h (emit_vlmax_masked_mu_insn): + Declare. + * config/riscv/riscv-v.cc (emit_vlmax_masked_mu_insn): New + function. + +2023-05-26 Robin Dapp + Juzhe Zhong + + * config/riscv/autovec.md (2): New + expander. + (2): Dito. + (2): Dito. + (trunc2): Dito. + (trunc2): Dito. + (trunc2): Dito. + * config/riscv/riscv-protos.h (vectorize_related_mode): Define. + (autovectorize_vector_modes): Define. + * config/riscv/riscv-v.cc (vectorize_related_mode): Implement + hook. + (autovectorize_vector_modes): Implement hook. + * config/riscv/riscv.cc (riscv_autovectorize_vector_modes): + Implement target hook. + (riscv_vectorize_related_mode): Implement target hook. + (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): Define. + (TARGET_VECTORIZE_RELATED_MODE): Define. + * config/riscv/vector-iterators.md: Add lowercase versions of + mode_attr iterators. + +2023-05-26 Andrew Stubbs + Tobias Burnus + + * config/gcn/gcn-hsa.h (XNACKOPT): New macro. + (ASM_SPEC): Use XNACKOPT. + * config/gcn/gcn-opts.h (enum sram_ecc_type): Rename to ... + (enum hsaco_attr_type): ... this, and generalize the names. + (TARGET_XNACK): New macro. + * config/gcn/gcn.cc (gcn_option_override): Update to sorry for all + but -mxnack=off. + (output_file_start): Update xnack handling. + (gcn_hsa_declare_function_name): Use TARGET_XNACK. + * config/gcn/gcn.opt (-mxnack): Add the "on/off/any" syntax. + (sram_ecc_type): Rename to ... + (hsaco_attr_type: ... this.) + * config/gcn/mkoffload.cc (SET_XNACK_ANY): New macro. + (TEST_XNACK): Delete. + (TEST_XNACK_ANY): New macro. + (TEST_XNACK_ON): New macro. + (main): Support the new -mxnack=on/off/any syntax. + * doc/invoke.texi (-mxnack): Update for new syntax. + +2023-05-26 Andrew Pinski + + * genmatch.cc (emit_debug_printf): New function. + (dt_simplify::gen_1): Emit printf into the code + before the `return true` or returning the folded result + instead of emitting it always. + +2023-05-26 Takayuki 'January June' Suwa + + * config/xtensa/xtensa-protos.h + (xtensa_expand_block_set_unrolled_loop, + xtensa_expand_block_set_small_loop): Remove. + (xtensa_expand_block_set): New prototype. + * config/xtensa/xtensa.cc + (xtensa_expand_block_set_libcall): New subfunction. + (xtensa_expand_block_set_unrolled_loop, + xtensa_expand_block_set_small_loop): Rewrite as subfunctions. + (xtensa_expand_block_set): New function that calls the above + subfunctions. + * config/xtensa/xtensa.md (memsetsi): Change to invoke only + xtensa_expand_block_set(). + +2023-05-26 Takayuki 'January June' Suwa + + * config/xtensa/xtensa-protos.h (xtensa_m1_or_1_thru_15): + New prototype. + * config/xtensa/xtensa.cc (xtensa_m1_or_1_thru_15): + New function. + * config/xtensa/constraints.md (O): + Change to use the above function. + * config/xtensa/xtensa.md (*subsi3_from_const): + New insn_and_split pattern. + +2023-05-26 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.md (*extzvsi-1bit_ashlsi3): + Retract excessive line folding, and correct the value of + the "length" insn attribute related to TARGET_DENSITY. + (*extzvsi-1bit_addsubx): Ditto. + +2023-05-26 Uros Bizjak + + * config/i386/i386-expand.cc (ix86_expand_vecop_qihi): + Do not disable call to ix86_expand_vecop_qihi2. + +2023-05-26 liuhongt + + PR target/109610 + PR target/109858 + * ira-costs.cc (scan_one_insn): Only use NO_REGS in cost + calculation when !hard_regno_mode_ok for GENERAL_REGS and + mode, otherwise still use GENERAL_REGS. + +2023-05-26 Juzhe-Zhong + + * config/riscv/riscv.cc (vector_zero_call_used_regs): Add + explict VL and drop VL in ops. + +2023-05-25 Jin Ma + + * sched-deps.cc (sched_macro_fuse_insns): Insns should not be fusion + in different BB blocks. + +2023-05-25 Uros Bizjak + + * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): + Rewrite to expand to 2x-wider (e.g. V16QI -> V16HImode) + instructions when available. Emulate truncation via + ix86_expand_vec_perm_const_1 when native truncate insn + is not available. + (ix86_expand_vecop_qihi_partial) : Use pmovzx + when available. Trivially rename some variables. + (ix86_expand_vecop_qihi): Unconditionally call ix86_expand_vecop_qihi2. + * config/i386/i386.cc (ix86_multiplication_cost): Rewrite cost + calculation of V*QImode emulations to account for generation of + 2x-wider mode instructions. + (ix86_shift_rotate_cost): Update cost calculation of V*QImode + emulations to account for generation of 2x-wider mode instructions. + +2023-05-25 Georg-Johann Lay + + PR target/104327 + * config/avr/avr.cc (avr_can_inline_p): New static function. + (TARGET_CAN_INLINE_P): Define to that function. + +2023-05-25 Georg-Johann Lay + + PR target/82931 + * config/avr/avr.md (*movbitqi.0): Rename to *movbit.0-6. + Handle any bit position and use mode QISI. + * config/avr/avr.cc (avr_rtx_costs_1) [IOR]: Return a cost + of 2 insns for bit-transfer of respective style. + +2023-05-25 Christophe Lyon + + * config/arm/iterators.md (MVE_6): Remove. + * config/arm/mve.md: Replace MVE_6 with MVE_5. + +2023-05-25 Ju-Zhe Zhong + Richard Sandiford + + * tree-vect-loop-manip.cc (vect_adjust_loop_lens_control): New + function. + (vect_set_loop_controls_directly): Add decrement IV support. + (vect_set_loop_condition_partial_vectors): Ditto. + * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): New + variable. + * tree-vectorizer.h (LOOP_VINFO_USING_DECREMENTING_IV_P): New + macro. + +2023-05-25 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_fcadd): Rename to... + (aarch64_fcadd): ... This. + Fix canonicalization of PLUS operands. + (aarch64_fcmla): Rename to... + (aarch64_fcmla): ... This. + Fix canonicalization of PLUS operands. + (aarch64_fcmla_lane): Rename to... + (aarch64_fcmla_lane): ... This. + Fix canonicalization of PLUS operands. + (aarch64_fcmla_laneqv4hf): Rename to... + (aarch64_fcmla_laneqv4hf): ... This. + Fix canonicalization of PLUS operands. + (aarch64_fcmlaq_lane): Fix canonicalization of PLUS operands. + +2023-05-25 Chris Sidebottom + + * config/arm/arm.md (rbitsi2): Rename to... + (arm_rbit): ... This. + (ctzsi2): Adjust for the above. + (arm_rev16si2): Convert to define_expand. + (arm_rev16si2_alt1): New pattern. + (arm_rev16si2_alt): Rename to... + (*arm_rev16si2_alt2): ... This. + * config/arm/arm_acle.h (__ror, __rorl, __rorll, __clz, __clzl, __clzll, + __cls, __clsl, __clsll, __revsh, __rev, __revl, __revll, __rev16, + __rev16l, __rev16ll, __rbit, __rbitl, __rbitll): Define intrinsics. + * config/arm/arm_acle_builtins.def (rbit, rev16si2): Define builtins. + +2023-05-25 Alex Coplan + + PR target/109800 + * config/arm/arm.md (movdf): Generate temporary pseudo in DImode + instead of DFmode. + * config/arm/vfp.md (no_literal_pool_df_immediate): Rather than punning an + lvalue DFmode pseudo into DImode, use a DImode pseudo and pun it into + DFmode as an rvalue. + +2023-05-25 Richard Biener + + PR target/109955 + * tree-vect-stmts.cc (vectorizable_condition): For + embedded comparisons also handle the case when the target + only provides vec_cmp and vcond_mask. + +2023-05-25 Claudiu Zissulescu + + * config/arc/arc.cc (arc_call_tls_get_addr): Simplify access using + TLS Local Dynamic. + +2023-05-25 Prathamesh Kulkarni + + * config/aarch64/aarch64.cc (scalar_move_insn_p): New function. + (seq_cost_ignoring_scalar_moves): Likewise. + (aarch64_expand_vector_init): Call seq_cost_ignoring_scalar_moves. + +2023-05-25 Kyrylo Tkachov + + * config/aarch64/arm_neon.h (vcage_f64): Reimplement with builtins. + (vcage_f32): Likewise. + (vcages_f32): Likewise. + (vcageq_f32): Likewise. + (vcaged_f64): Likewise. + (vcageq_f64): Likewise. + (vcagts_f32): Likewise. + (vcagt_f32): Likewise. + (vcagt_f64): Likewise. + (vcagtq_f32): Likewise. + (vcagtd_f64): Likewise. + (vcagtq_f64): Likewise. + (vcale_f32): Likewise. + (vcale_f64): Likewise. + (vcaled_f64): Likewise. + (vcales_f32): Likewise. + (vcaleq_f32): Likewise. + (vcaleq_f64): Likewise. + (vcalt_f32): Likewise. + (vcalt_f64): Likewise. + (vcaltd_f64): Likewise. + (vcaltq_f32): Likewise. + (vcaltq_f64): Likewise. + (vcalts_f32): Likewise. + +2023-05-25 Hu, Lin1 + + PR target/109173 + PR target/109174 + * config/i386/avx512bwintrin.h (_mm512_srli_epi16): Change type from + int to const int or const int to const unsigned int. + (_mm512_mask_srli_epi16): Ditto. + (_mm512_slli_epi16): Ditto. + (_mm512_mask_slli_epi16): Ditto. + (_mm512_maskz_slli_epi16): Ditto. + (_mm512_srai_epi16): Ditto. + (_mm512_mask_srai_epi16): Ditto. + (_mm512_maskz_srai_epi16): Ditto. + * config/i386/avx512fintrin.h (_mm512_slli_epi64): Ditto. + (_mm512_mask_slli_epi64): Ditto. + (_mm512_maskz_slli_epi64): Ditto. + (_mm512_srli_epi64): Ditto. + (_mm512_mask_srli_epi64): Ditto. + (_mm512_maskz_srli_epi64): Ditto. + (_mm512_srai_epi64): Ditto. + (_mm512_mask_srai_epi64): Ditto. + (_mm512_maskz_srai_epi64): Ditto. + (_mm512_slli_epi32): Ditto. + (_mm512_mask_slli_epi32): Ditto. + (_mm512_maskz_slli_epi32): Ditto. + (_mm512_srli_epi32): Ditto. + (_mm512_mask_srli_epi32): Ditto. + (_mm512_maskz_srli_epi32): Ditto. + (_mm512_srai_epi32): Ditto. + (_mm512_mask_srai_epi32): Ditto. + (_mm512_maskz_srai_epi32): Ditto. + * config/i386/avx512vlbwintrin.h (_mm256_mask_srai_epi16): Ditto. + (_mm256_maskz_srai_epi16): Ditto. + (_mm_mask_srai_epi16): Ditto. + (_mm_maskz_srai_epi16): Ditto. + (_mm256_mask_slli_epi16): Ditto. + (_mm256_maskz_slli_epi16): Ditto. + (_mm_mask_slli_epi16): Ditto. + (_mm_maskz_slli_epi16): Ditto. + (_mm_maskz_srli_epi16): Ditto. + * config/i386/avx512vlintrin.h (_mm256_mask_srli_epi32): Ditto. + (_mm256_maskz_srli_epi32): Ditto. + (_mm_mask_srli_epi32): Ditto. + (_mm_maskz_srli_epi32): Ditto. + (_mm256_mask_srli_epi64): Ditto. + (_mm256_maskz_srli_epi64): Ditto. + (_mm_mask_srli_epi64): Ditto. + (_mm_maskz_srli_epi64): Ditto. + (_mm256_mask_srai_epi32): Ditto. + (_mm256_maskz_srai_epi32): Ditto. + (_mm_mask_srai_epi32): Ditto. + (_mm_maskz_srai_epi32): Ditto. + (_mm256_srai_epi64): Ditto. + (_mm256_mask_srai_epi64): Ditto. + (_mm256_maskz_srai_epi64): Ditto. + (_mm_srai_epi64): Ditto. + (_mm_mask_srai_epi64): Ditto. + (_mm_maskz_srai_epi64): Ditto. + (_mm_mask_slli_epi32): Ditto. + (_mm_maskz_slli_epi32): Ditto. + (_mm_mask_slli_epi64): Ditto. + (_mm_maskz_slli_epi64): Ditto. + (_mm256_mask_slli_epi32): Ditto. + (_mm256_maskz_slli_epi32): Ditto. + (_mm256_mask_slli_epi64): Ditto. + (_mm256_maskz_slli_epi64): Ditto. + +2023-05-25 Juzhe-Zhong + + * config/riscv/vector.md: Remove FRM_REGNUM dependency in rtz + instructions. + +2023-05-25 Aldy Hernandez + + * data-streamer-in.cc (streamer_read_value_range): Handle NANs. + * data-streamer-out.cc (streamer_write_vrange): Same. + * value-range.h (class vrange): Make streamer_write_vrange a friend. + +2023-05-25 Aldy Hernandez + + * value-query.cc (range_query::get_tree_range): Set NAN directly + if necessary. + * value-range.cc (frange::set): Assert that bounds are not NAN. + +2023-05-25 Aldy Hernandez + + * value-range.cc (add_vrange): Handle known NANs. + +2023-05-25 Aldy Hernandez + + * value-range.h (frange::set_nan): New. + +2023-05-25 Alexandre Oliva + + PR target/100106 + * emit-rtl.cc (validate_subreg): Reject a SUBREG of a MEM that + requires stricter alignment than MEM's. + +2023-05-24 Andrew MacLeod + + PR tree-optimization/107822 + PR tree-optimization/107986 + * Makefile.in (OBJS): Add gimple-range-phi.o. + * gimple-range-cache.h (ranger_cache::m_estimate): New + phi_analyzer pointer member. + * gimple-range-fold.cc (fold_using_range::range_of_phi): Use + phi_analyzer if no loop info is available. + * gimple-range-phi.cc: New file. + * gimple-range-phi.h: New file. + * tree-vrp.cc (execute_ranger_vrp): Utililze a phi_analyzer. + +2023-05-24 Andrew MacLeod + + * gimple-range-fold.cc (fur_list::fur_list): Add range_query param + to contructors. + (fold_range): Add range_query parameter. + (fur_relation::fur_relation): New. + (fur_relation::trio): New. + (fur_relation::register_relation): New. + (fold_relations): New. + * gimple-range-fold.h (fold_range): Adjust prototypes. + (fold_relations): New. + +2023-05-24 Andrew MacLeod + + * gimple-range-cache.cc (ssa_cache::range_of_expr): New. + * gimple-range-cache.h (class ssa_cache): Inherit from range_query. + (ranger_cache::const_query): New. + * gimple-range.cc (gimple_ranger::const_query): New. + * gimple-range.h (gimple_ranger::const_query): New prototype. + +2023-05-24 Andrew MacLeod + + * gimple-range-cache.cc (ssa_cache::dump): Use get_range. + (ssa_cache::dump_range_query): Delete. + (ssa_lazy_cache::dump_range_query): Delete. + (ssa_lazy_cache::get_range): Move from header file. + (ssa_lazy_cache::clear_range): ditto. + (ssa_lazy_cache::clear): Ditto. + * gimple-range-cache.h (class ssa_cache): Virtualize. + (class ssa_lazy_cache): Inherit and virtualize. + +2023-05-24 Aldy Hernandez + + * value-range.h (vrange::kind): Remove. + +2023-05-24 Roger Sayle + + PR middle-end/109840 + * match.pd : Preserve zero-extension when + optimizing popcount((T)bswap(x)) and popcount((T)rotate(x,y)) as + popcount((T)x), so the popcount's argument keeps the same type. + : Likewise preserve extensions when + simplifying parity((T)bswap(x)) and parity((T)rotate(x,y)) as + parity((T)x), so that the parity's argument type is the same. + +2023-05-24 Aldy Hernandez + + * ipa-cp.cc (ipa_value_range_from_jfunc): Use new ipa_vr API. + (ipcp_store_vr_results): Same. + * ipa-prop.cc (ipa_vr::ipa_vr): New. + (ipa_vr::get_vrange): New. + (ipa_vr::set_unknown): New. + (ipa_vr::streamer_read): New. + (ipa_vr::streamer_write): New. + (write_ipcp_transformation_info): Use new ipa_vr API. + (read_ipcp_transformation_info): Same. + (ipa_vr::nonzero_p): Delete. + (ipcp_update_vr): Use new ipa_vr API. + * ipa-prop.h (class ipa_vr): Provide an API and hide internals. + * ipa-sra.cc (zap_useless_ipcp_results): Use new ipa_vr API. + +2023-05-24 Jan-Benedict Glaw + + * config/mcore/mcore.cc (output_inline_const) Make buffer smaller to + silence overflow warnings later on. + +2023-05-24 Uros Bizjak + + * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): + Remove handling of V8QImode. + * config/i386/mmx.md (vv8qi3): Move from sse.md. + Call ix86_expand_vecop_qihi_partial. Enable for TARGET_MMX_WITH_SSE. + (vv4qi3): Ditto. + * config/i386/sse.md (vv8qi3): Remove. + +2023-05-24 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_simd_lshr): Rename to... + (aarch64_simd_lshr): ... This. + (aarch64_simd_ashr): Rename to... + (aarch64_simd_ashr): ... This. + (aarch64_simd_imm_shl): Rename to... + (aarch64_simd_imm_shl): ... This. + (aarch64_simd_reg_sshl): Rename to... + (aarch64_simd_reg_sshl): ... This. + (aarch64_simd_reg_shl_unsigned): Rename to... + (aarch64_simd_reg_shl_unsigned): ... This. + (aarch64_simd_reg_shl_signed): Rename to... + (aarch64_simd_reg_shl_signed): ... This. + (vec_shr_): Rename to... + (vec_shr_): ... This. + (aarch64_shl): Rename to... + (aarch64_shl): ... This. + (aarch64_qshl): Rename to... + (aarch64_qshl): ... This. + +2023-05-24 Richard Biener + + PR target/109944 + * config/i386/i386-expand.cc (ix86_expand_vector_init_general): + Perform final vector composition using + ix86_expand_vector_init_general instead of setting + the highpart and lowpart which causes spilling. + +2023-05-24 Andrew MacLeod + + PR tree-optimization/109695 + * gimple-range-cache.cc (ranger_cache::get_global_range): Add + changed param. + * gimple-range-cache.h (ranger_cache::get_global_range): Ditto. + * gimple-range.cc (gimple_ranger::range_of_stmt): Pass changed + flag to set_global_range. + (gimple_ranger::prefill_stmt_dependencies): Ditto. + +2023-05-24 Andrew MacLeod + + PR tree-optimization/109695 + * gimple-range-cache.cc (temporal_cache::temporal_value): Return + a positive int. + (temporal_cache::current_p): Check always_current method. + (temporal_cache::set_always_current): Add param and set value + appropriately. + (temporal_cache::always_current_p): New. + (ranger_cache::get_global_range): Adjust. + (ranger_cache::set_global_range): set always current first. + +2023-05-24 Andrew MacLeod + + PR tree-optimization/109695 + * gimple-range-cache.cc (ranger_cache::get_global_range): Call + fold_range with global query to choose an initial value. + +2023-05-24 Juzhe-Zhong + + * config/riscv/riscv-protos.h (enum frm_field_enum): Add FRM_ + prefix. + +2023-05-24 Richard Biener + + PR tree-optimization/109849 + * tree-ssa-pre.cc (do_hoist_insertion): Do not intersect + expressions but take the first sets. + +2023-05-24 Gaius Mulley + + PR modula2/109952 + * doc/gm2.texi (High procedure function): New node. + (Using): New menu entry for High procedure function. + +2023-05-24 Richard Sandiford + + PR rtl-optimization/109940 + * early-remat.cc (postorder_index): Rename to... + (rpo_index): ...this. + (compare_candidates): Sort by decreasing rpo_index rather than + increasing postorder_index. + (early_remat::sort_candidates): Calculate the forward RPO from + DF_FORWARD. + (early_remat::local_phase): Follow forward RPO using DF_FORWARD, + rather than DF_BACKWARD in reverse. + +2023-05-24 Kyrylo Tkachov + + PR target/109939 + * config/arm/arm-builtins.cc (SAT_BINOP_UNSIGNED_IMM_QUALIFIERS): Use + qualifier_none for the return operand. + +2023-05-24 Juzhe-Zhong + + * config/riscv/autovec.md (3): New pattern. + (one_cmpl2): Ditto. + (*not): Ditto. + (*n): Ditto. + * config/riscv/riscv-v.cc (expand_vec_cmp_float): Change to + one_cmpl. + +2023-05-24 Kewen Lin + + * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Adjust the + calculation on n_perms by considering nvectors_per_build. + +2023-05-24 Juzhe-Zhong + Richard Sandiford + + * config/riscv/autovec.md (@vcond_mask_): New pattern. + (vec_cmp): New pattern. + (vec_cmpu): New pattern. + (vcond): New pattern. + (vcondu): New pattern. + * config/riscv/riscv-protos.h (enum insn_type): Add new enum. + (emit_vlmax_merge_insn): New function. + (emit_vlmax_cmp_insn): Ditto. + (emit_vlmax_cmp_mu_insn): Ditto. + (expand_vec_cmp): Ditto. + (expand_vec_cmp_float): Ditto. + (expand_vcond): Ditto. + * config/riscv/riscv-v.cc (emit_vlmax_merge_insn): Ditto. + (emit_vlmax_cmp_insn): Ditto. + (emit_vlmax_cmp_mu_insn): Ditto. + (get_cmp_insn_code): Ditto. + (expand_vec_cmp): Ditto. + (expand_vec_cmp_float): Ditto. + (expand_vcond): Ditto. + +2023-05-24 Pan Li + + * config/riscv/genrvv-type-indexer.cc (main): Add + unsigned_eew*_lmul1_interpret for indexer. + * config/riscv/riscv-vector-builtins-functions.def (vreinterpret): + Register vuint*m1_t interpret function. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_UNSIGNED_EEW8_LMUL1_INTERPRET_OPS): + New macro for vuint8m1_t. + (DEF_RVV_UNSIGNED_EEW16_LMUL1_INTERPRET_OPS): Likewise. + (DEF_RVV_UNSIGNED_EEW32_LMUL1_INTERPRET_OPS): Likewise. + (DEF_RVV_UNSIGNED_EEW64_LMUL1_INTERPRET_OPS): Likewise. + (vbool1_t): Add to unsigned_eew*_interpret_ops. + (vbool2_t): Likewise. + (vbool4_t): Likewise. + (vbool8_t): Likewise. + (vbool16_t): Likewise. + (vbool32_t): Likewise. + (vbool64_t): Likewise. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_UNSIGNED_EEW8_LMUL1_INTERPRET_OPS): + New macro for vuint*m1_t. + (DEF_RVV_UNSIGNED_EEW16_LMUL1_INTERPRET_OPS): Likewise. + (DEF_RVV_UNSIGNED_EEW32_LMUL1_INTERPRET_OPS): Likewise. + (DEF_RVV_UNSIGNED_EEW64_LMUL1_INTERPRET_OPS): Likewise. + (required_extensions_p): Add vuint*m1_t interpret case. + * config/riscv/riscv-vector-builtins.def (unsigned_eew8_lmul1_interpret): + Add vuint*m1_t interpret to base type. + (unsigned_eew16_lmul1_interpret): Likewise. + (unsigned_eew32_lmul1_interpret): Likewise. + (unsigned_eew64_lmul1_interpret): Likewise. + +2023-05-24 Pan Li + + * config/riscv/genrvv-type-indexer.cc (EEW_SIZE_LIST): New macro + for the eew size list. + (LMUL1_LOG2): New macro for the log2 value of lmul=1. + (main): Add signed_eew*_lmul1_interpret for indexer. + * config/riscv/riscv-vector-builtins-functions.def (vreinterpret): + Register vint*m1_t interpret function. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_SIGNED_EEW8_LMUL1_INTERPRET_OPS): + New macro for vint8m1_t. + (DEF_RVV_SIGNED_EEW16_LMUL1_INTERPRET_OPS): Likewise. + (DEF_RVV_SIGNED_EEW32_LMUL1_INTERPRET_OPS): Likewise. + (DEF_RVV_SIGNED_EEW64_LMUL1_INTERPRET_OPS): Likewise. + (vbool1_t): Add to signed_eew*_interpret_ops. + (vbool2_t): Likewise. + (vbool4_t): Likewise. + (vbool8_t): Likewise. + (vbool16_t): Likewise. + (vbool32_t): Likewise. + (vbool64_t): Likewise. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_SIGNED_EEW8_LMUL1_INTERPRET_OPS): + New macro for vint*m1_t. + (DEF_RVV_SIGNED_EEW16_LMUL1_INTERPRET_OPS): Likewise. + (DEF_RVV_SIGNED_EEW32_LMUL1_INTERPRET_OPS): Likewise. + (DEF_RVV_SIGNED_EEW64_LMUL1_INTERPRET_OPS): Likewise. + (required_extensions_p): Add vint8m1_t interpret case. + * config/riscv/riscv-vector-builtins.def (signed_eew8_lmul1_interpret): + Add vint*m1_t interpret to base type. + (signed_eew16_lmul1_interpret): Likewise. + (signed_eew32_lmul1_interpret): Likewise. + (signed_eew64_lmul1_interpret): Likewise. + +2023-05-24 Juzhe-Zhong + + * config/riscv/autovec.md: Adjust for new interface. + * config/riscv/riscv-protos.h (emit_vlmax_insn): Add VL operand. + (emit_nonvlmax_insn): Add AVL operand. + * config/riscv/riscv-v.cc (emit_vlmax_insn): Add VL operand. + (emit_nonvlmax_insn): Add AVL operand. + (sew64_scalar_helper): Adjust for new interface. + (expand_tuple_move): Ditto. + * config/riscv/vector.md: Ditto. + +2023-05-24 Juzhe-Zhong + + * config/riscv/riscv-v.cc (expand_vec_series): Remove magic number. + (expand_const_vector): Ditto. + (legitimize_move): Ditto. + (sew64_scalar_helper): Ditto. + (expand_tuple_move): Ditto. + (expand_vector_init_insert_elems): Ditto. + * config/riscv/riscv.cc (vector_zero_call_used_regs): Ditto. + +2023-05-24 liuhongt + + PR target/109900 + * config/i386/i386.cc (ix86_gimple_fold_builtin): Fold + _mm{,256,512}_abs_{epi8,epi16,epi32,epi64} and + _mm_abs_{pi8,pi16,pi32} into gimple ABS_EXPR. + (ix86_masked_all_ones): Handle 64-bit mask. + * config/i386/i386-builtin.def: Replace icode of related + non-mask simd abs builtins with CODE_FOR_nothing. + +2023-05-23 Martin Uecker + + PR c/109450 + * function.cc (gimplify_parm_type): Remove function. + (gimplify_parameters): Call gimplify_type_sizes. + +2023-05-23 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.md (*addsubx): Rename from '*addx', + and change to also accept '*subx' pattern. + (*subx): Remove. + +2023-05-23 Takayuki 'January June' Suwa + + * config/xtensa/predicates.md (addsub_operator): New. + * config/xtensa/xtensa.md (*extzvsi-1bit_ashlsi3, + *extzvsi-1bit_addsubx): New insn_and_split patterns. + * config/xtensa/xtensa.cc (xtensa_rtx_costs): + Add a special case about ifcvt 'noce_try_cmove()' to handle + constant loads that do not fit into signed 12 bits in the + patterns added above. + +2023-05-23 Richard Biener + + PR tree-optimization/109747 + * tree-vect-slp.cc (vect_prologue_cost_for_slp): Pass down + the SLP node only once to the cost hook. + +2023-05-23 Georg-Johann Lay + + * config/avr/avr.cc (avr_insn_cost): New static function. + (TARGET_INSN_COST): Define to that function. + +2023-05-23 Richard Biener + + PR target/109944 + * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): + For vector construction or splats apply GPR->XMM move + costing. QImode memory can be handled directly only + with SSE4.1 pinsrb. + +2023-05-23 Richard Biener + + PR tree-optimization/108752 + * tree-vect-stmts.cc (vectorizable_operation): For bit + operations with generic word_mode vectors do not cost + an extra stmt. For plus, minus and negate also cost the + constant materialization. + +2023-05-23 Uros Bizjak + + * config/i386/i386-expand.cc (ix86_expand_vecop_qihi_partial): + Call ix86_expand_vec_shift_qihi_constant for shifts + with constant count operand. + * config/i386/i386.cc (ix86_shift_rotate_cost): + Handle V4QImode and V8QImode. + * config/i386/mmx.md (v8qi3): New insn pattern. + (v4qi3): Ditto. + +2023-05-23 Juzhe-Zhong + + * config/riscv/vector.md: Add mode. + +2023-05-23 Aldy Hernandez + + PR tree-optimization/109934 + * value-range.cc (irange::invert): Remove buggy special case. + +2023-05-23 Richard Biener + + * tree-ssa-pre.cc (compute_antic_aux): Dump the correct + ANTIC_OUT. + +2023-05-23 Richard Sandiford + + PR target/109632 + * config/aarch64/aarch64.cc (aarch64_modes_tieable_p): Allow + subregs between any scalars that are 64 bits or smaller. + * config/aarch64/iterators.md (SUBDI_BITS): New int iterator. + (bits_etype): New int attribute. + * config/aarch64/aarch64.md (*insv_reg_) + (*aarch64_bfi_): New patterns. + (*aarch64_bfidi_subreg_): Likewise. + +2023-05-23 Richard Sandiford + + * doc/md.texi: Document that can be used to refer to the + numerical value of an int iterator FOO. Tweak other parts of + the int iterator documentation. + * read-rtl.cc (iterator_group::has_self_attr): New field. + (map_attr_string): When has_self_attr is true, make + expand to the current value of iterator FOO. + (initialize_iterators): Set has_self_attr for int iterators. + +2023-05-23 Juzhe-Zhong + + * config/riscv/autovec.md: Refactor the framework of RVV auto-vectorization. + * config/riscv/riscv-protos.h (RVV_MISC_OP_NUM): Ditto. + (RVV_UNOP_NUM): New macro. + (RVV_BINOP_NUM): Ditto. + (legitimize_move): Refactor the framework of RVV auto-vectorization. + (emit_vlmax_op): Ditto. + (emit_vlmax_reg_op): Ditto. + (emit_len_op): Ditto. + (emit_len_binop): Ditto. + (emit_vlmax_tany_many): Ditto. + (emit_nonvlmax_tany_many): Ditto. + (sew64_scalar_helper): Ditto. + (expand_tuple_move): Ditto. + * config/riscv/riscv-v.cc (emit_pred_op): Ditto. + (emit_pred_binop): Ditto. + (emit_vlmax_op): Ditto. + (emit_vlmax_tany_many): New function. + (emit_len_op): Remove. + (emit_nonvlmax_tany_many): New function. + (emit_vlmax_reg_op): Remove. + (emit_len_binop): Ditto. + (emit_index_op): Ditto. + (expand_vec_series): Refactor the framework of RVV auto-vectorization. + (expand_const_vector): Ditto. + (legitimize_move): Ditto. + (sew64_scalar_helper): Ditto. + (expand_tuple_move): Ditto. + (expand_vector_init_insert_elems): Ditto. + * config/riscv/riscv.cc (vector_zero_call_used_regs): Ditto. + * config/riscv/vector.md: Ditto. + +2023-05-23 Kyrylo Tkachov + + PR target/109855 + * config/aarch64/aarch64-simd.md (add_vec_concat_subst_le): Add predicate + and constraint for operand 0. + (add_vec_concat_subst_be): Likewise. + +2023-05-23 Richard Biener + + PR tree-optimization/109849 + * tree-ssa-pre.cc (do_hoist_insertion): Compute ANTIC_OUT + and use that to determine what to hoist. + +2023-05-23 Eric Botcazou + + * fold-const.cc (native_encode_initializer) : Apply the + specific treatment for bit-fields only if they have an integral type + and filter out non-integral bit-fields that do not start and end on + a byte boundary. + +2023-05-23 Aldy Hernandez + + PR tree-optimization/109920 + * value-range.h (RESIZABLE>::~int_range): Use delete[]. + +2023-05-22 Uros Bizjak + + * config/i386/i386.cc (ix86_shift_rotate_cost): Correct + calcuation of integer vector mode costs to reflect generated + instruction sequences of different integer vector modes and + different target ABIs. Remove "speed" function argument. + (ix86_rtx_costs): Update call for removed function argument. + (ix86_vector_costs::add_stmt_cost): Ditto. + +2023-05-22 Aldy Hernandez + + * value-range.h (class Value_Range): Implement set_zero, + set_nonzero, and nonzero_p. + +2023-05-22 Uros Bizjak + + * config/i386/i386.cc (ix86_multiplication_cost): Add + the cost of a memory read to the cost of V?QImode sequences. + +2023-05-22 Juzhe-Zhong + + * config/riscv/riscv-v.cc: Add "m_" prefix. + +2023-05-22 Ju-Zhe Zhong + + * tree-vect-loop.cc (vect_get_loop_len): Fix issue for + multiple-rgroup of length. + * tree-vect-stmts.cc (vectorizable_store): Ditto. + (vectorizable_load): Ditto. + * tree-vectorizer.h (vect_get_loop_len): Ditto. + +2023-05-22 Juzhe-Zhong + + * config/riscv/riscv.cc (riscv_const_insns): Reorganize the + codes. + +2023-05-22 Kewen Lin + + * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Refactor the + handling for the case index == count. + +2023-05-21 Georg-Johann Lay + + PR target/90622 + * config/avr/avr.cc (avr_fold_builtin) [AVR_BUILTIN_INSERT_BITS]: + Don't fold to XOR / AND / XOR if just one bit is copied to the + same position. + +2023-05-21 Roger Sayle + + * config/nvptx/nvptx.cc (nvptx_expand_brev): Expand target + builtin for bit reversal using brev instruction. + (enum nvptx_builtins): Add NVPTX_BUILTIN_BREV and + NVPTX_BUILTIN_BREVLL. + (nvptx_init_builtins): Define "brev" and "brevll". + (nvptx_expand_builtin): Expand NVPTX_BUILTIN_BREV and + NVPTX_BUILTIN_BREVLL via nvptx_expand_brev function. + * doc/extend.texi (Nvidia PTX Builtin-in Functions): New + section, document __builtin_nvptx_brev{,ll}. + +2023-05-21 Jakub Jelinek + + PR tree-optimization/109505 + * match.pd ((x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2), + Combine successive equal operations with constants, + (A +- CST1) +- CST2 -> A + CST3, (CST1 - A) +- CST2 -> CST3 - A, + CST1 - (CST2 - A) -> CST3 + A): Use ! on ops with 2 CONSTANT_CLASS_P + operands. + +2023-05-21 Andrew Pinski + + * expr.cc (expand_single_bit_test): Correct bitpos for big-endian. + +2023-05-21 Pan Li + + * config/riscv/genrvv-type-indexer.cc (BOOL_SIZE_LIST): Add the + rest bool size, aka 2, 4, 8, 16, 32, 64. + * config/riscv/riscv-vector-builtins-functions.def (vreinterpret): + Register vbool[2|4|8|16|32|64] interpret function. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_BOOL2_INTERPRET_OPS): + New macro for vbool2_t. + (DEF_RVV_BOOL4_INTERPRET_OPS): Likewise. + (DEF_RVV_BOOL8_INTERPRET_OPS): Likewise. + (DEF_RVV_BOOL16_INTERPRET_OPS): Likewise. + (DEF_RVV_BOOL32_INTERPRET_OPS): Likewise. + (DEF_RVV_BOOL64_INTERPRET_OPS): Likewise. + (vint8m1_t): Add the type to bool[2|4|8|16|32|64]_interpret_ops. + (vint16m1_t): Likewise. + (vint32m1_t): Likewise. + (vint64m1_t): Likewise. + (vuint8m1_t): Likewise. + (vuint16m1_t): Likewise. + (vuint32m1_t): Likewise. + (vuint64m1_t): Likewise. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_BOOL2_INTERPRET_OPS): + New macro for vbool2_t. + (DEF_RVV_BOOL4_INTERPRET_OPS): Likewise. + (DEF_RVV_BOOL8_INTERPRET_OPS): Likewise. + (DEF_RVV_BOOL16_INTERPRET_OPS): Likewise. + (DEF_RVV_BOOL32_INTERPRET_OPS): Likewise. + (DEF_RVV_BOOL64_INTERPRET_OPS): Likewise. + (required_extensions_p): Add vbool[2|4|8|16|32|64] interpret case. + * config/riscv/riscv-vector-builtins.def (bool2_interpret): Add + vbool2_t interprect to base type. + (bool4_interpret): Likewise. + (bool8_interpret): Likewise. + (bool16_interpret): Likewise. + (bool32_interpret): Likewise. + (bool64_interpret): Likewise. + +2023-05-21 Andrew Pinski + + PR middle-end/109919 + * expr.cc (expand_single_bit_test): Don't use the + target for expand_expr. + +2023-05-20 Gerald Pfeifer + + * doc/install.texi (Specific): Remove de facto empty alpha*-*-* + section. + +2023-05-20 Pan Li + + * mode-switching.cc (entity_map): Initialize the array to zero. + (bb_info): Ditto. + +2023-05-20 Triffid Hunter + + PR target/105753 + * config/avr/avr.md (divmodpsi, udivmodpsi, divmodsi, udivmodsi): + Remove superfluous "parallel" in insn pattern. + ([u]divmod4): Tidy code. Use gcc_unreachable() instead of + printing error text to assembly. + +2023-05-20 Andrew Pinski + + * expr.cc (fold_single_bit_test): Rename to ... + (expand_single_bit_test): This and expand directly. + (do_store_flag): Update for the rename function. + +2023-05-20 Andrew Pinski + + * expr.cc (fold_single_bit_test): Use BIT_FIELD_REF + instead of shift/and. + +2023-05-20 Andrew Pinski + + * expr.cc (fold_single_bit_test): Add an assert + and simplify based on code being NE_EXPR or EQ_EXPR. + +2023-05-20 Andrew Pinski + + * expr.cc (fold_single_bit_test): Take inner and bitnum + instead of arg0 and arg1. Update the code. + (do_store_flag): Don't create a tree when calling + fold_single_bit_test instead just call it with the bitnum + and the inner tree. + +2023-05-20 Andrew Pinski + + * expr.cc (fold_single_bit_test): Use get_def_for_expr + instead of checking the inner's code. + +2023-05-20 Andrew Pinski + + * expr.cc (fold_single_bit_test_into_sign_test): Inline into ... + (fold_single_bit_test): This and simplify. + +2023-05-20 Andrew Pinski + + * fold-const.cc (fold_single_bit_test_into_sign_test): Move to + expr.cc. + (fold_single_bit_test): Likewise. + * expr.cc (fold_single_bit_test_into_sign_test): Move from fold-const.cc + (fold_single_bit_test): Likewise and make static. + * fold-const.h (fold_single_bit_test): Remove declaration. + +2023-05-20 Die Li + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Fix mode + checking. + +2023-05-20 Raphael Moreira Zinsly + + * config/riscv/bitmanip.md (branch_bext): New split pattern. + +2023-05-20 Raphael Moreira Zinsly + + PR target/106888 + * config/riscv/bitmanip.md + (disi2): Match with any_extend. + (disi2_sext): New pattern to match + with sign extend using an ANDI instruction. + +2023-05-19 Nathan Sidwell + + PR other/99451 + * opts.h (handle_deferred_dump_options): Declare. + * opts-global.cc (handle_common_deferred_options): Do not handle + dump options here. + (handle_deferred_dump_options): New. + * toplev.cc (toplev::main): Call it after plugin init. + +2023-05-19 Joern Rennecke + + * config/riscv/constraints.md (DsS, DsD): Restore agreement + with shiftm1 mode attribute. + +2023-05-19 Andrew Pinski + + PR driver/33980 + * gcc.cc (default_compilers["@c-header"]): Add %w + after the --output-pch. + +2023-05-19 Vineet Gupta + + * config/riscv/riscv.cc (riscv_split_integer): if loval is equal + to hival, ASHIFT the corresponding regs. + +2023-05-19 Robin Dapp + + * config/riscv/riscv.cc (riscv_const_insns): Remove else. + +2023-05-19 Jakub Jelinek + + PR tree-optimization/105776 + * tree-ssa-math-opts.cc (arith_overflow_check_p): If cast_stmt is + non-NULL, allow division statement to have a cast as single imm use + rather than comparison/condition. + (match_arith_overflow): In that case remove the cast stmt in addition + to the division statement. + +2023-05-19 Jakub Jelinek + + PR tree-optimization/101856 + * tree-ssa-math-opts.cc (match_arith_overflow): Pattern detect + unsigned __builtin_mul_overflow_p even when umulv4_optab doesn't + support it but umul_highpart_optab does. + +2023-05-19 Eric Botcazou + + * varasm.cc (output_constructor_bitfield): Call tree_to_uhwi instead + of tree_to_shwi on array indices. Minor tweaks. + +2023-05-18 Bernhard Reutner-Fischer + + * alias.cc (ref_all_alias_ptr_type_p): Use _P() defines from tree.h. + * attribs.cc (diag_attr_exclusions): Ditto. + (decl_attributes): Ditto. + (build_type_attribute_qual_variant): Ditto. + * builtins.cc (fold_builtin_carg): Ditto. + (fold_builtin_next_arg): Ditto. + (do_mpc_arg2): Ditto. + * cfgexpand.cc (expand_return): Ditto. + * cgraph.h (decl_in_symtab_p): Ditto. + (symtab_node::get_create): Ditto. + * dwarf2out.cc (base_type_die): Ditto. + (implicit_ptr_descriptor): Ditto. + (gen_array_type_die): Ditto. + (gen_type_die_with_usage): Ditto. + (optimize_location_into_implicit_ptr): Ditto. + * expr.cc (do_store_flag): Ditto. + * fold-const.cc (negate_expr_p): Ditto. + (fold_negate_expr_1): Ditto. + (fold_convert_const): Ditto. + (fold_convert_loc): Ditto. + (constant_boolean_node): Ditto. + (fold_binary_op_with_conditional_arg): Ditto. + (build_fold_addr_expr_with_type_loc): Ditto. + (fold_comparison): Ditto. + (fold_checksum_tree): Ditto. + (tree_unary_nonnegative_warnv_p): Ditto. + (integer_valued_real_unary_p): Ditto. + (fold_read_from_constant_string): Ditto. + * gcc-rich-location.cc (maybe_range_label_for_tree_type_mismatch::get_text): Ditto. + * gimple-expr.cc (useless_type_conversion_p): Ditto. + (is_gimple_reg): Ditto. + (is_gimple_asm_val): Ditto. + (mark_addressable): Ditto. + * gimple-expr.h (is_gimple_variable): Ditto. + (virtual_operand_p): Ditto. + * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): Ditto. + * gimplify.cc (gimplify_bind_expr): Ditto. + (gimplify_return_expr): Ditto. + (gimple_add_padding_init_for_auto_var): Ditto. + (gimplify_addr_expr): Ditto. + (omp_add_variable): Ditto. + (omp_notice_variable): Ditto. + (omp_get_base_pointer): Ditto. + (omp_strip_components_and_deref): Ditto. + (omp_strip_indirections): Ditto. + (omp_accumulate_sibling_list): Ditto. + (omp_build_struct_sibling_lists): Ditto. + (gimplify_adjust_omp_clauses_1): Ditto. + (gimplify_adjust_omp_clauses): Ditto. + (gimplify_omp_for): Ditto. + (goa_lhs_expr_p): Ditto. + (gimplify_one_sizepos): Ditto. + * graphite-scop-detection.cc (scop_detection::graphite_can_represent_scev): Ditto. + * ipa-devirt.cc (odr_types_equivalent_p): Ditto. + * ipa-prop.cc (ipa_set_jf_constant): Ditto. + (propagate_controlled_uses): Ditto. + * ipa-sra.cc (type_prevails_p): Ditto. + (scan_expr_access): Ditto. + * optabs-tree.cc (optab_for_tree_code): Ditto. + * toplev.cc (wrapup_global_declaration_1): Ditto. + * trans-mem.cc (transaction_invariant_address_p): Ditto. + * tree-cfg.cc (verify_types_in_gimple_reference): Ditto. + (verify_gimple_comparison): Ditto. + (verify_gimple_assign_binary): Ditto. + (verify_gimple_assign_single): Ditto. + * tree-complex.cc (get_component_ssa_name): Ditto. + * tree-emutls.cc (lower_emutls_2): Ditto. + * tree-inline.cc (copy_tree_body_r): Ditto. + (estimate_move_cost): Ditto. + (copy_decl_for_dup_finish): Ditto. + * tree-nested.cc (convert_nonlocal_omp_clauses): Ditto. + (note_nonlocal_vla_type): Ditto. + (convert_local_omp_clauses): Ditto. + (remap_vla_decls): Ditto. + (fixup_vla_decls): Ditto. + * tree-parloops.cc (loop_has_vector_phi_nodes): Ditto. + * tree-pretty-print.cc (print_declaration): Ditto. + (print_call_name): Ditto. + * tree-sra.cc (compare_access_positions): Ditto. + * tree-ssa-alias.cc (compare_type_sizes): Ditto. + * tree-ssa-ccp.cc (get_default_value): Ditto. + * tree-ssa-coalesce.cc (populate_coalesce_list_for_outofssa): Ditto. + * tree-ssa-dom.cc (reduce_vector_comparison_to_scalar_comparison): Ditto. + * tree-ssa-forwprop.cc (can_propagate_from): Ditto. + * tree-ssa-propagate.cc (may_propagate_copy): Ditto. + * tree-ssa-sccvn.cc (fully_constant_vn_reference_p): Ditto. + * tree-ssa-sink.cc (statement_sink_location): Ditto. + * tree-ssa-structalias.cc (type_must_have_pointers): Ditto. + * tree-ssa-ter.cc (find_replaceable_in_bb): Ditto. + * tree-ssa-uninit.cc (warn_uninit): Ditto. + * tree-ssa.cc (maybe_rewrite_mem_ref_base): Ditto. + (non_rewritable_mem_ref_base): Ditto. + * tree-streamer-in.cc (lto_input_ts_type_non_common_tree_pointers): Ditto. + * tree-streamer-out.cc (write_ts_type_non_common_tree_pointers): Ditto. + * tree-vect-generic.cc (do_binop): Ditto. + (do_cond): Ditto. + * tree-vect-stmts.cc (vect_init_vector): Ditto. + * tree-vector-builder.h (tree_vector_builder::note_representative): Ditto. + * tree.cc (sign_mask_for): Ditto. + (verify_type_variant): Ditto. + (gimple_canonical_types_compatible_p): Ditto. + (verify_type): Ditto. + * ubsan.cc (get_ubsan_type_info_for_type): Ditto. + * var-tracking.cc (prepare_call_arguments): Ditto. + (vt_add_function_parameters): Ditto. + * varasm.cc (decode_addr_const): Ditto. + +2023-05-18 Bernhard Reutner-Fischer + + * omp-low.cc (scan_sharing_clauses): Use _P() defines from tree.h. + (lower_reduction_clauses): Ditto. + (lower_send_clauses): Ditto. + (lower_omp_task_reductions): Ditto. + * omp-oacc-neuter-broadcast.cc (install_var_field): Ditto. + (worker_single_copy): Ditto. + * omp-offload.cc (oacc_rewrite_var_decl): Ditto. + * omp-simd-clone.cc (plausible_type_for_simd_clone): Ditto. + +2023-05-18 Bernhard Reutner-Fischer + + * lto-streamer-in.cc (lto_input_var_decl_ref): Use _P defines from + tree.h. + (lto_read_body_or_constructor): Ditto. + * lto-streamer-out.cc (tree_is_indexable): Ditto. + (lto_output_var_decl_ref): Ditto. + (DFS::DFS_write_tree_body): Ditto. + (wrap_refs): Ditto. + (write_symbol_extension_info): Ditto. + +2023-05-18 Bernhard Reutner-Fischer + + * config/aarch64/aarch64.cc (aarch64_short_vector_p): Use _P + defines from tree.h. + (aarch64_mangle_type): Ditto. + * config/alpha/alpha.cc (alpha_in_small_data_p): Ditto. + (alpha_gimplify_va_arg_1): Ditto. + * config/arc/arc.cc (arc_encode_section_info): Ditto. + (arc_is_aux_reg_p): Ditto. + (arc_is_uncached_mem_p): Ditto. + (arc_handle_aux_attribute): Ditto. + * config/arm/arm.cc (arm_handle_isr_attribute): Ditto. + (arm_handle_cmse_nonsecure_call): Ditto. + (arm_set_default_type_attributes): Ditto. + (arm_is_segment_info_known): Ditto. + (arm_mangle_type): Ditto. + * config/arm/unknown-elf.h (IN_NAMED_SECTION_P): Ditto. + * config/avr/avr.cc (avr_lookup_function_attribute1): Ditto. + (avr_decl_absdata_p): Ditto. + (avr_insert_attributes): Ditto. + (avr_section_type_flags): Ditto. + (avr_encode_section_info): Ditto. + * config/bfin/bfin.cc (bfin_handle_l2_attribute): Ditto. + * config/bpf/bpf.cc (bpf_core_compute): Ditto. + * config/c6x/c6x.cc (c6x_in_small_data_p): Ditto. + * config/csky/csky.cc (csky_handle_isr_attribute): Ditto. + (csky_mangle_type): Ditto. + * config/darwin-c.cc (darwin_pragma_unused): Ditto. + * config/darwin.cc (is_objc_metadata): Ditto. + * config/epiphany/epiphany.cc (epiphany_function_ok_for_sibcall): Ditto. + * config/epiphany/epiphany.h (ROUND_TYPE_ALIGN): Ditto. + * config/frv/frv.cc (frv_emit_movsi): Ditto. + * config/gcn/gcn-tree.cc (gcn_lockless_update): Ditto. + * config/gcn/gcn.cc (gcn_asm_output_symbol_ref): Ditto. + * config/h8300/h8300.cc (h8300_encode_section_info): Ditto. + * config/i386/i386-expand.cc: Ditto. + * config/i386/i386.cc (type_natural_mode): Ditto. + (ix86_function_arg): Ditto. + (ix86_data_alignment): Ditto. + (ix86_local_alignment): Ditto. + (ix86_simd_clone_compute_vecsize_and_simdlen): Ditto. + * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Ditto. + (i386_pe_type_dllexport_p): Ditto. + (i386_pe_adjust_class_at_definition): Ditto. + * config/i386/winnt.cc (i386_pe_determine_dllimport_p): Ditto. + (i386_pe_binds_local_p): Ditto. + (i386_pe_section_type_flags): Ditto. + * config/ia64/ia64.cc (ia64_encode_section_info): Ditto. + (ia64_gimplify_va_arg): Ditto. + (ia64_in_small_data_p): Ditto. + * config/iq2000/iq2000.cc (iq2000_function_arg): Ditto. + * config/lm32/lm32.cc (lm32_in_small_data_p): Ditto. + * config/loongarch/loongarch.cc (loongarch_handle_model_attribute): Ditto. + * config/m32c/m32c.cc (m32c_insert_attributes): Ditto. + * config/mcore/mcore.cc (mcore_mark_dllimport): Ditto. + (mcore_encode_section_info): Ditto. + * config/microblaze/microblaze.cc (microblaze_elf_in_small_data_p): Ditto. + * config/mips/mips.cc (mips_output_aligned_decl_common): Ditto. + * config/mmix/mmix.cc (mmix_encode_section_info): Ditto. + * config/nvptx/nvptx.cc (nvptx_encode_section_info): Ditto. + (pass_in_memory): Ditto. + (nvptx_generate_vector_shuffle): Ditto. + (nvptx_lockless_update): Ditto. + * config/pa/pa.cc (pa_function_arg_padding): Ditto. + (pa_function_value): Ditto. + (pa_function_arg): Ditto. + * config/pa/pa.h (IN_NAMED_SECTION_P): Ditto. + (TEXT_SPACE_P): Ditto. + * config/pa/som.h (MAKE_DECL_ONE_ONLY): Ditto. + * config/pdp11/pdp11.cc (pdp11_return_in_memory): Ditto. + * config/riscv/riscv.cc (riscv_in_small_data_p): Ditto. + (riscv_mangle_type): Ditto. + * config/rl78/rl78.cc (rl78_insert_attributes): Ditto. + (rl78_addsi3_internal): Ditto. + * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Ditto. + * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Ditto. + * config/rs6000/freebsd64.h (ROUND_TYPE_ALIGN): Ditto. + * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Ditto. + * config/rs6000/rs6000-call.cc (rs6000_function_arg_boundary): Ditto. + (rs6000_function_arg_advance_1): Ditto. + (rs6000_function_arg): Ditto. + (rs6000_pass_by_reference): Ditto. + * config/rs6000/rs6000-logue.cc (rs6000_function_ok_for_sibcall): Ditto. + * config/rs6000/rs6000.cc (rs6000_data_alignment): Ditto. + (rs6000_set_default_type_attributes): Ditto. + (rs6000_elf_in_small_data_p): Ditto. + (IN_NAMED_SECTION): Ditto. + (rs6000_xcoff_encode_section_info): Ditto. + (rs6000_function_value): Ditto. + (invalid_arg_for_unprototyped_fn): Ditto. + * config/s390/s390-c.cc (s390_fn_types_compatible): Ditto. + (s390_vec_n_elem): Ditto. + * config/s390/s390.cc (s390_check_type_for_vector_abi): Ditto. + (s390_function_arg_integer): Ditto. + (s390_return_in_memory): Ditto. + (s390_encode_section_info): Ditto. + * config/sh/sh.cc (sh_gimplify_va_arg_expr): Ditto. + (sh_function_value): Ditto. + * config/sol2.cc (solaris_insert_attributes): Ditto. + * config/sparc/sparc.cc (function_arg_slotno): Ditto. + * config/sparc/sparc.h (ROUND_TYPE_ALIGN): Ditto. + * config/stormy16/stormy16.cc (xstormy16_encode_section_info): Ditto. + (xstormy16_handle_below100_attribute): Ditto. + * config/v850/v850.cc (v850_encode_section_info): Ditto. + (v850_insert_attributes): Ditto. + * config/visium/visium.cc (visium_pass_by_reference): Ditto. + (visium_return_in_memory): Ditto. + * config/xtensa/xtensa.cc (xtensa_multibss_section_type_flags): Ditto. + +2023-05-18 Uros Bizjak + + * config/i386/i386-expand.cc (ix86_expand_vecop_qihi_partial): New. + (ix86_expand_vecop_qihi): Add op2vec bool variable. + Do not set REG_EQUAL note. + * config/i386/i386-protos.h (ix86_expand_vecop_qihi_partial): + Add prototype. + * config/i386/i386.cc (ix86_multiplication_cost): Handle + V4QImode and V8QImode. + * config/i386/mmx.md (mulv8qi3): New expander. + (mulv4qi3): Ditto. + * config/i386/sse.md (mulv8qi3): Remove. + +2023-05-18 Georg-Johann Lay + + * config/avr/gen-avr-mmcu-specs.cc: Remove stale */ after // comment. + +2023-05-18 Jonathan Wakely + + PR bootstrap/105831 + * config.gcc: Use = operator instead of ==. + +2023-05-18 Michael Bäuerle + + PR bootstrap/105831 + * config/nvptx/gen-opt.sh: Use = operator instead of ==. + * configure.ac: Likewise. + * configure: Regenerate. + +2023-05-18 Stam Markianos-Wright + + * config/arm/arm_mve.h: (__ARM_mve_typeid): Add more pointer types. + (__ARM_mve_coerce1): Remove. + (__ARM_mve_coerce2): Remove. + (__ARM_mve_coerce3): Remove. + (__ARM_mve_coerce_i_scalar): New. + (__ARM_mve_coerce_s8_ptr): New. + (__ARM_mve_coerce_u8_ptr): New. + (__ARM_mve_coerce_s16_ptr): New. + (__ARM_mve_coerce_u16_ptr): New. + (__ARM_mve_coerce_s32_ptr): New. + (__ARM_mve_coerce_u32_ptr): New. + (__ARM_mve_coerce_s64_ptr): New. + (__ARM_mve_coerce_u64_ptr): New. + (__ARM_mve_coerce_f_scalar): New. + (__ARM_mve_coerce_f16_ptr): New. + (__ARM_mve_coerce_f32_ptr): New. + (__arm_vst4q): Change _coerce_ overloads. + (__arm_vbicq): Change _coerce_ overloads. + (__arm_vld1q): Change _coerce_ overloads. + (__arm_vld1q_z): Change _coerce_ overloads. + (__arm_vld2q): Change _coerce_ overloads. + (__arm_vld4q): Change _coerce_ overloads. + (__arm_vldrhq_gather_offset): Change _coerce_ overloads. + (__arm_vldrhq_gather_offset_z): Change _coerce_ overloads. + (__arm_vldrhq_gather_shifted_offset): Change _coerce_ overloads. + (__arm_vldrhq_gather_shifted_offset_z): Change _coerce_ overloads. + (__arm_vldrwq_gather_offset): Change _coerce_ overloads. + (__arm_vldrwq_gather_offset_z): Change _coerce_ overloads. + (__arm_vldrwq_gather_shifted_offset): Change _coerce_ overloads. + (__arm_vldrwq_gather_shifted_offset_z): Change _coerce_ overloads. + (__arm_vst1q_p): Change _coerce_ overloads. + (__arm_vst2q): Change _coerce_ overloads. + (__arm_vst1q): Change _coerce_ overloads. + (__arm_vstrhq): Change _coerce_ overloads. + (__arm_vstrhq_p): Change _coerce_ overloads. + (__arm_vstrhq_scatter_offset_p): Change _coerce_ overloads. + (__arm_vstrhq_scatter_offset): Change _coerce_ overloads. + (__arm_vstrhq_scatter_shifted_offset_p): Change _coerce_ overloads. + (__arm_vstrhq_scatter_shifted_offset): Change _coerce_ overloads. + (__arm_vstrwq_p): Change _coerce_ overloads. + (__arm_vstrwq): Change _coerce_ overloads. + (__arm_vstrwq_scatter_offset): Change _coerce_ overloads. + (__arm_vstrwq_scatter_offset_p): Change _coerce_ overloads. + (__arm_vstrwq_scatter_shifted_offset): Change _coerce_ overloads. + (__arm_vstrwq_scatter_shifted_offset_p): Change _coerce_ overloads. + (__arm_vsetq_lane): Change _coerce_ overloads. + (__arm_vldrbq_gather_offset): Change _coerce_ overloads. + (__arm_vdwdupq_x_u8): Change _coerce_ overloads. + (__arm_vdwdupq_x_u16): Change _coerce_ overloads. + (__arm_vdwdupq_x_u32): Change _coerce_ overloads. + (__arm_viwdupq_x_u8): Change _coerce_ overloads. + (__arm_viwdupq_x_u16): Change _coerce_ overloads. + (__arm_viwdupq_x_u32): Change _coerce_ overloads. + (__arm_vidupq_x_u8): Change _coerce_ overloads. + (__arm_vddupq_x_u8): Change _coerce_ overloads. + (__arm_vidupq_x_u16): Change _coerce_ overloads. + (__arm_vddupq_x_u16): Change _coerce_ overloads. + (__arm_vidupq_x_u32): Change _coerce_ overloads. + (__arm_vddupq_x_u32): Change _coerce_ overloads. + (__arm_vldrdq_gather_offset): Change _coerce_ overloads. + (__arm_vldrdq_gather_offset_z): Change _coerce_ overloads. + (__arm_vldrdq_gather_shifted_offset): Change _coerce_ overloads. + (__arm_vldrdq_gather_shifted_offset_z): Change _coerce_ overloads. + (__arm_vldrbq_gather_offset_z): Change _coerce_ overloads. + (__arm_vidupq_u16): Change _coerce_ overloads. + (__arm_vidupq_u32): Change _coerce_ overloads. + (__arm_vidupq_u8): Change _coerce_ overloads. + (__arm_vddupq_u16): Change _coerce_ overloads. + (__arm_vddupq_u32): Change _coerce_ overloads. + (__arm_vddupq_u8): Change _coerce_ overloads. + (__arm_viwdupq_m): Change _coerce_ overloads. + (__arm_viwdupq_u16): Change _coerce_ overloads. + (__arm_viwdupq_u32): Change _coerce_ overloads. + (__arm_viwdupq_u8): Change _coerce_ overloads. + (__arm_vdwdupq_m): Change _coerce_ overloads. + (__arm_vdwdupq_u16): Change _coerce_ overloads. + (__arm_vdwdupq_u32): Change _coerce_ overloads. + (__arm_vdwdupq_u8): Change _coerce_ overloads. + (__arm_vstrbq): Change _coerce_ overloads. + (__arm_vstrbq_p): Change _coerce_ overloads. + (__arm_vstrbq_scatter_offset_p): Change _coerce_ overloads. + (__arm_vstrdq_scatter_offset_p): Change _coerce_ overloads. + (__arm_vstrdq_scatter_offset): Change _coerce_ overloads. + (__arm_vstrdq_scatter_shifted_offset_p): Change _coerce_ overloads. + (__arm_vstrdq_scatter_shifted_offset): Change _coerce_ overloads. + +2023-05-18 Stam Markianos-Wright + + * config/arm/arm_mve.h (__arm_vbicq): Change coerce on + scalar constant. + +2023-05-18 Stam Markianos-Wright + + * config/arm/arm_mve.h (__arm_vadcq_s32): Fix arithmetic. + (__arm_vadcq_u32): Likewise. + (__arm_vadcq_m_s32): Likewise. + (__arm_vadcq_m_u32): Likewise. + (__arm_vsbcq_s32): Likewise. + (__arm_vsbcq_u32): Likewise. + (__arm_vsbcq_m_s32): Likewise. + (__arm_vsbcq_m_u32): Likewise. + * config/arm/mve.md (get_fpscr_nzcvqc): Make unspec_volatile. + +2023-05-18 Andrea Corallo + + * config/arm/mve.md (mve_vrndq_m_f, mve_vrev64q_f) + (mve_vrev32q_fv8hf, mve_vcvttq_f32_f16v4sf) + (mve_vcvtbq_f32_f16v4sf, mve_vcvtq_to_f_) + (mve_vrev64q_, mve_vcvtq_from_f_) + (mve_vmovltq_, mve_vmovlbq_) + (mve_vcvtpq_, mve_vcvtnq_) + (mve_vcvtmq_, mve_vcvtaq_) + (mve_vmvnq_n_, mve_vrev16q_v16qi) + (mve_vctpq, mve_vbrsrq_n_f) + (mve_vbrsrq_n_, mve_vandq_f, mve_vbicq_f) + (mve_vctpq_m, mve_vcvtbq_f16_f32v8hf) + (mve_vcvttq_f16_f32v8hf, mve_veorq_f) + (mve_vmlaldavxq_s, mve_vmlsldavq_s) + (mve_vmlsldavxq_s, mve_vornq_f, mve_vorrq_f) + (mve_vrmlaldavhxq_sv4si, mve_vcvtq_m_to_f_) + (mve_vshlcq_, mve_vmvnq_m_) + (mve_vpselq_, mve_vcvtbq_m_f16_f32v8hf) + (mve_vcvtbq_m_f32_f16v4sf, mve_vcvttq_m_f16_f32v8hf) + (mve_vcvttq_m_f32_f16v4sf, mve_vmlaldavq_p_) + (mve_vmlsldavaq_s, mve_vmlsldavaxq_s) + (mve_vmlsldavq_p_s, mve_vmlsldavxq_p_s) + (mve_vmvnq_m_n_, mve_vorrq_m_n_) + (mve_vpselq_f, mve_vrev32q_m_fv8hf) + (mve_vrev32q_m_, mve_vrev64q_m_f) + (mve_vrmlaldavhaxq_sv4si, mve_vrmlaldavhxq_p_sv4si) + (mve_vrmlsldavhaxq_sv4si, mve_vrmlsldavhq_p_sv4si) + (mve_vrmlsldavhxq_p_sv4si, mve_vrev16q_m_v16qi) + (mve_vrmlaldavhq_p_v4si, mve_vrmlsldavhaq_sv4si) + (mve_vandq_m_, mve_vbicq_m_) + (mve_veorq_m_, mve_vornq_m_) + (mve_vorrq_m_, mve_vandq_m_f) + (mve_vbicq_m_f, mve_veorq_m_f, mve_vornq_m_f) + (mve_vorrq_m_f) + (mve_vstrdq_scatter_shifted_offset_p_v2di_insn) + (mve_vstrdq_scatter_shifted_offset_v2di_insn) + (mve_vstrdq_scatter_base_wb_p_v2di) : Fix spacing and + capitalization in the emitted asm. + +2023-05-18 Andrea Corallo + + * config/arm/constraints.md (mve_vldrd_immediate): Move it to + predicates.md. + (Ri): Move constraint definition from predicates.md. + (Rl): Define new constraint. + * config/arm/mve.md (mve_vstrwq_scatter_base_wb_p_v4si): Add + missing constraint. + (mve_vstrwq_scatter_base_wb_p_fv4sf): Add missing Up constraint + for op 1, use mve_vstrw_immediate predicate and Rl constraint for + op 2. Fix asm output spacing. + (mve_vstrdq_scatter_base_wb_p_v2di): Add missing constraint. + * config/arm/predicates.md (Ri) Move constraint to constraints.md + (mve_vldrd_immediate): Move it from + constraints.md. + (mve_vstrw_immediate): New predicate. + +2023-05-18 Pan Li + Ju-Zhe Zhong + Kito Cheng + Richard Biener + Richard Sandiford + + * combine.cc (struct reg_stat_type): Extend machine_mode to 16 bits. + * cse.cc (struct qty_table_elem): Extend machine_mode to 16 bits + (struct table_elt): Extend machine_mode to 16 bits. + (struct set): Ditto. + * genmodes.cc (emit_mode_wider): Extend type from char to short. + (emit_mode_complex): Ditto. + (emit_mode_inner): Ditto. + (emit_class_narrowest_mode): Ditto. + * genopinit.cc (main): Extend the machine_mode limit. + * ira-int.h (struct ira_allocno): Extend machine_mode to 16 bits and + re-ordered the struct fields for padding. + * machmode.h (MACHINE_MODE_BITSIZE): New macro. + (GET_MODE_2XWIDER_MODE): Extend type from char to short. + (get_mode_alignment): Extend type from char to short. + * ree.cc (struct ext_modified): Extend machine_mode to 16 bits and + removed the ATTRIBUTE_PACKED. + * rtl-ssa/accesses.h: Extend machine_mode to 16 bits, narrow + * rtl-ssa/internals.inl (rtl_ssa::access_info): Adjust the assignment. + m_kind to 2 bits and remove m_spare. + * rtl.h (RTX_CODE_BITSIZE): New macro. + (struct rtx_def): Swap both the bit size and location between the + rtx_code and the machine_mode. + (subreg_shape::unique_id): Extend the machine_mode limit. + * rtlanal.h: Extend machine_mode to 16 bits. + * tree-core.h (struct tree_type_common): Extend machine_mode to 16 + bits and re-ordered the struct fields for padding. + (struct tree_decl_common): Extend machine_mode to 16 bits. + +2023-05-17 Jin Ma + + * genrecog.cc (print_nonbool_test): Fix type error of + switch (SUBREG_BYTE (op))'. + +2023-05-17 Jin Ma + + * common/config/riscv/riscv-common.cc: Remove + trailing spaces on lines. + * config/riscv/riscv.cc (riscv_legitimize_move): Likewise. + * config/riscv/riscv.h (enum reg_class): Likewise. + * config/riscv/riscv.md: Likewise. + +2023-05-17 John David Anglin + + * config/pa/pa.md (clear_cache): New. + +2023-05-17 Arsen Arsenović + + * doc/extend.texi (C++ Concepts) : Remove extraneous + parenthesis. Fix misnamed index entry. + : Fix misnamed index entry. + +2023-05-17 Jivan Hakobyan + + * config/riscv/riscv.md (*3_mask): New pattern, + combined from ... + (*si3_mask, *di3_mask): Here. + (*si3_mask_1, *di3_mask_1): And here. + * config/riscv/bitmanip.md (*3_mask): New + pattern. + (*si3_sext_mask): Likewise. + * config/riscv/iterators.md (shiftm1): Use const_si_mask_operand + and const_di_mask_operand. + (bitmanip_rotate): New iterator. + (bitmanip_optab): Add rotates. + * config/riscv/predicates.md (const_si_mask_operand): Renamed + from const31_operand. Generalize to handle more mask constants. + (const_di_mask_operand): Similarly. + +2023-05-17 Jakub Jelinek + + PR c++/109884 + * config/i386/i386-builtin-types.def (FLOAT128): Use + float128t_type_node rather than float128_type_node. + +2023-05-17 Alexander Monakov + + * tree-ssa-math-opts.cc (convert_mult_to_fma): Enable only for + FP_CONTRACT_FAST (no functional change). + +2023-05-17 Uros Bizjak + + * config/i386/i386.cc (ix86_multiplication_cost): Correct + calcuation of integer vector mode costs to reflect generated + instruction sequences of different integer vector modes and + different target ABIs. + +2023-05-17 Juzhe-Zhong + + * config/riscv/riscv-opts.h (enum riscv_entity): New enum. + * config/riscv/riscv.cc (riscv_emit_mode_set): New function. + (riscv_mode_needed): Ditto. + (riscv_mode_after): Ditto. + (riscv_mode_entry): Ditto. + (riscv_mode_exit): Ditto. + (riscv_mode_priority): Ditto. + (TARGET_MODE_EMIT): New target hook. + (TARGET_MODE_NEEDED): Ditto. + (TARGET_MODE_AFTER): Ditto. + (TARGET_MODE_ENTRY): Ditto. + (TARGET_MODE_EXIT): Ditto. + (TARGET_MODE_PRIORITY): Ditto. + * config/riscv/riscv.h (OPTIMIZE_MODE_SWITCHING): Ditto. + (NUM_MODES_FOR_MODE_SWITCHING): Ditto. + * config/riscv/riscv.md: Add csrwvxrm. + * config/riscv/vector.md (rnu,rne,rdn,rod,none): New attribute. + (vxrmsi): New pattern. + +2023-05-17 Juzhe-Zhong + + * config/riscv/riscv-vector-builtins-bases.cc: Introduce rounding mode. + * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Ditto. + (struct narrow_alu_def): Ditto. + * config/riscv/riscv-vector-builtins.cc (function_builder::apply_predication): Ditto. + (function_expander::use_exact_insn): Ditto. + * config/riscv/riscv-vector-builtins.h (function_checker::arg_num): New function. + (function_base::has_rounding_mode_operand_p): New function. + +2023-05-17 Andrew Pinski + + * tree-ssa-forwprop.cc (simplify_builtin_call): Check + against 0 instead of calling integer_zerop. + +2023-05-17 Juzhe-Zhong + + * config/riscv/riscv-vector-builtins.cc (register_vxrm): New function. + (DEF_RVV_VXRM_ENUM): New macro. + (handle_pragma_vector): Add vxrm enum register. + * config/riscv/riscv-vector-builtins.def (DEF_RVV_VXRM_ENUM): New macro. + (RNU): Ditto. + (RNE): Ditto. + (RDN): Ditto. + (ROD): Ditto. + +2023-05-17 Aldy Hernandez + + * value-range.h (Value_Range::operator=): New. + +2023-05-17 Aldy Hernandez + + * value-range.cc (vrange::operator=): Add a stub to copy + unsupported ranges. + * value-range.h (is_a ): New. + (Value_Range::operator=): Support copying unsupported ranges. + +2023-05-17 Aldy Hernandez + + * data-streamer-in.cc (streamer_read_real_value): New. + (streamer_read_value_range): New. + * data-streamer-out.cc (streamer_write_real_value): New. + (streamer_write_vrange): New. + * data-streamer.h (streamer_write_vrange): New. + (streamer_read_value_range): New. + +2023-05-17 Jonathan Wakely + + PR c++/109532 + * doc/invoke.texi (Code Gen Options): Note that -fshort-enums + is ignored for a fixed underlying type. + (C++ Dialect Options): Likewise for -fstrict-enums. + +2023-05-17 Tobias Burnus + + * gimplify.cc (gimplify_scan_omp_clauses): Remove Fortran + special case. + +2023-05-17 Stefan Schulze Frielinghaus + + * config/s390/s390.cc (TARGET_ATOMIC_ALIGN_FOR_MODE): + New. + (s390_atomic_align_for_mode): New. + +2023-05-17 Jakub Jelinek + + * wide-int.cc (wi::from_array): Add missing closing paren in function + comment. + +2023-05-17 Kewen Lin + + * tree-vect-loop.cc (vect_analyze_loop_1): Don't retry analysis with + suggested unroll factor once the previous analysis fails. + +2023-05-17 Pan Li + + * config/riscv/genrvv-type-indexer.cc (BOOL_SIZE_LIST): New + macro. + (main): Add bool1 to the type indexer. + * config/riscv/riscv-vector-builtins-functions.def + (vreinterpret): Register vbool1 interpret function. + * config/riscv/riscv-vector-builtins-types.def + (DEF_RVV_BOOL1_INTERPRET_OPS): New macro. + (vint8m1_t): Add the type to bool1_interpret_ops. + (vint16m1_t): Ditto. + (vint32m1_t): Ditto. + (vint64m1_t): Ditto. + (vuint8m1_t): Ditto. + (vuint16m1_t): Ditto. + (vuint32m1_t): Ditto. + (vuint64m1_t): Ditto. + * config/riscv/riscv-vector-builtins.cc + (DEF_RVV_BOOL1_INTERPRET_OPS): New macro. + (required_extensions_p): Add bool1 interpret case. + * config/riscv/riscv-vector-builtins.def + (bool1_interpret): Add bool1 interpret to base type. + * config/riscv/vector.md (@vreinterpret): Add new expand + with VB dest for vreinterpret. + +2023-05-17 Jiufu Guo + + PR target/106708 + * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Support building + constants through "lis; xoris". + +2023-05-16 Ajit Kumar Agarwal + + * common/config/rs6000/rs6000-common.cc: Add REE pass as a + default rs6000 target pass for O2 and above. + * doc/invoke.texi: Document -free + +2023-05-16 Kito Cheng + + * common/config/riscv/riscv-common.cc (riscv_compute_multilib): + Fix wrong select_kind... + +2023-05-16 Stefan Schulze Frielinghaus + + * config/s390/s390-protos.h (s390_expand_setmem): Change + function signature. + * config/s390/s390.cc (s390_expand_setmem): For memset's less + than or equal to 256 byte do not perform a libc call. + * config/s390/s390.md: Change expander into a version which + takes 8 operands. + +2023-05-16 Stefan Schulze Frielinghaus + + * config/s390/s390-protos.h (s390_expand_movmem): New. + * config/s390/s390.cc (s390_expand_movmem): New. + * config/s390/s390.md (movmem): New. + (*mvcrl): New. + (mvcrl): New. + +2023-05-16 Stefan Schulze Frielinghaus + + * config/s390/s390-protos.h (s390_expand_cpymem): Change + function signature. + * config/s390/s390.cc (s390_expand_cpymem): For memcpy's less + than or equal to 256 byte do not perform a libc call. + (s390_expand_insv): Adapt new function signature of + s390_expand_cpymem. + * config/s390/s390.md: Change expander into a version which + takes 8 operands. + +2023-05-16 Andrew Pinski + + PR tree-optimization/109424 + * match.pd: Add patterns for min/max of zero_one_valued + values to `&`/`|`. + +2023-05-16 Juzhe-Zhong + + * config/riscv/riscv-protos.h (enum frm_field_enum): New enum. + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_ternop_insn): Add default rounding mode. + (function_expander::use_widen_ternop_insn): Ditto. + * config/riscv/riscv.cc (riscv_hard_regno_nregs): Add FRM REGNUM. + (riscv_hard_regno_mode_ok): Ditto. + (riscv_conditional_register_usage): Ditto. + * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Ditto. + (FRM_REG_P): Ditto. + (RISCV_DWARF_FRM): Ditto. + * config/riscv/riscv.md: Ditto. + * config/riscv/vector-iterators.md: split no frm and has frm operations. + * config/riscv/vector.md (@pred__scalar): New pattern. + (@pred_): Ditto. + +2023-05-15 Aldy Hernandez + + PR tree-optimization/109695 + * value-range.cc (irange::operator=): Resize range. + (irange::union_): Same. + (irange::intersect): Same. + (irange::invert): Same. + (int_range_max): Default to 3 sub-ranges and resize as needed. + * value-range.h (irange::maybe_resize): New. + (~int_range): New. + (int_range::int_range): Adjust for resizing. + (int_range::operator=): Same. + +2023-05-15 Aldy Hernandez + + * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Avoid unnecessary + range copying + * value-range.cc (irange::union_nonzero_bits): Return TRUE only + when range changed. + +2023-05-15 Juzhe-Zhong + + * config/riscv/riscv-protos.h (enum vxrm_field_enum): New enum. + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_exact_insn): Add default rounding mode operand. + * config/riscv/riscv.cc (riscv_hard_regno_nregs): Add VXRM_REGNUM. + (riscv_hard_regno_mode_ok): Ditto. + (riscv_conditional_register_usage): Ditto. + * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Ditto. + (VXRM_REG_P): Ditto. + (RISCV_DWARF_VXRM): Ditto. + * config/riscv/riscv.md: Ditto. + * config/riscv/vector.md: Ditto + +2023-05-15 Pan Li + + * optabs.cc (maybe_gen_insn): Add case to generate instruction + that has 11 operands. + +2023-05-15 Kyrylo Tkachov + + * config/aarch64/aarch64.cc (aarch64_rtx_costs, NEG case): Add costing + logic for vector modes. + +2023-05-15 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_cm): Rename to... + (aarch64_cm): ... This. + (aarch64_cmtst): Rename to... + (aarch64_cmtst): ... This. + (*aarch64_cmtst_same_): Rename to... + (*aarch64_cmtst_same_): ... This. + (*aarch64_cmtstdi): Rename to... + (*aarch64_cmtstdi): ... This. + (aarch64_fac): Rename to... + (aarch64_fac): ... This. + +2023-05-15 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_s): Rename to... + (aarch64_s): ... This. + +2023-05-15 Pan Li + Juzhe-Zhong + kito-cheng + + * config/riscv/riscv-v.cc (const_vlmax_p): New function for + deciding the mode is constant or not. + (set_len_and_policy): Optimize VLS-VLMAX code gen to vsetivli. + +2023-05-15 Richard Biener + + PR tree-optimization/109848 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Put the + TARGET_MEM_REF address preparation before the store, not + before the CTOR. + +2023-05-15 Juzhe-Zhong + + * config/riscv/riscv.cc + (riscv_vectorize_preferred_vector_alignment): New function. + (TARGET_VECTORIZE_PREFERRED_VECTOR_ALIGNMENT): New target hook. + +2023-05-14 Andrew Pinski + + PR tree-optimization/109829 + * match.pd: Add pattern for `signbit(x) !=/== 0 ? x : -x`. + +2023-05-14 Uros Bizjak + + PR target/109807 + * config/i386/i386.cc: Revert the 2023-05-11 change. + (ix86_widen_mult_cost): Return high value instead of + ICEing for unsupported modes. + +2023-05-14 Ard Biesheuvel + + * config/i386/i386.cc (x86_function_profiler): Take + ix86_direct_extern_access into account when generating calls + to __fentry__() + +2023-05-14 Pan Li + + * config/riscv/riscv-vector-builtins.cc (required_extensions_p): + Refactor the or pattern to switch cases. + +2023-05-13 Prathamesh Kulkarni + + * config/aarch64/aarch64.cc (aarch64_expand_vector_init_fallback): Rename + aarch64_expand_vector_init to this, and remove interleaving case. + Recursively call aarch64_expand_vector_init_fallback, instead of + aarch64_expand_vector_init. + (aarch64_unzip_vector_init): New function. + (aarch64_expand_vector_init): Likewise. + +2023-05-13 Kito Cheng + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::cleanup_insns): + Pull out function call from the gcc_assert. + +2023-05-13 Kito Cheng + + * config/riscv/riscv-vsetvl.cc (vlmul_to_str): New. + (policy_to_str): New. + (vector_insn_info::dump): Use vlmul_to_str and policy_to_str. + +2023-05-13 Andrew Pinski + + PR tree-optimization/109834 + * match.pd (popcount(bswap(x))->popcount(x)): Fix up unsigned type checking. + (popcount(rotate(x,y))->popcount(x)): Likewise. + +2023-05-12 Uros Bizjak + + * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): Also + reject ymm instructions for TARGET_PREFER_AVX128. Use generic + gen_extend_insn to generate zero/sign extension instructions. + Fix comments. + (ix86_expand_vecop_qihi): Initialize interleave functions + for MULT code only. Fix comments. + +2023-05-12 Uros Bizjak + + PR target/109797 + * config/i386/mmx.md (mulv2si3): Remove expander. + (mulv2si3): Rename insn pattern from *mulv2si. + +2023-05-12 Tobias Burnus + + PR libstdc++/109816 + * lto-cgraph.cc (output_symtab): Guard lto_output_toplevel_asms by + '!lto_stream_offload_p'. + +2023-05-12 Kito Cheng + Juzhe-Zhong + + PR target/109743 + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::get_vsetvl_at_end): New. + (local_avl_compatible_p): New. + (pass_vsetvl::local_eliminate_vsetvl_insn): Enhance local optimizations + for LCM, rewrite as a backward algorithm. + (pass_vsetvl::cleanup_insns): Use new local_eliminate_vsetvl_insn + interface, handle a BB at once. + +2023-05-12 Richard Biener + + PR tree-optimization/64731 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Also + handle TARGET_MEM_REF destinations of stores from vector + CTORs. + +2023-05-12 Richard Biener + + PR tree-optimization/109791 + * match.pd (minus (convert ADDR_EXPR@0) (convert (pointer_plus @1 @2))): + New pattern. + (minus (convert (pointer_plus @1 @2)) (convert ADDR_EXPR@0)): + Likewise. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vsriq): New. + * config/arm/arm-mve-builtins-base.def (vsriq): New. + * config/arm/arm-mve-builtins-base.h (vsriq): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vsriq. + * config/arm/arm_mve.h (vsriq): Remove. + (vsriq_m): Remove. + (vsriq_n_u8): Remove. + (vsriq_n_s8): Remove. + (vsriq_n_u16): Remove. + (vsriq_n_s16): Remove. + (vsriq_n_u32): Remove. + (vsriq_n_s32): Remove. + (vsriq_m_n_s8): Remove. + (vsriq_m_n_u8): Remove. + (vsriq_m_n_s16): Remove. + (vsriq_m_n_u16): Remove. + (vsriq_m_n_s32): Remove. + (vsriq_m_n_u32): Remove. + (__arm_vsriq_n_u8): Remove. + (__arm_vsriq_n_s8): Remove. + (__arm_vsriq_n_u16): Remove. + (__arm_vsriq_n_s16): Remove. + (__arm_vsriq_n_u32): Remove. + (__arm_vsriq_n_s32): Remove. + (__arm_vsriq_m_n_s8): Remove. + (__arm_vsriq_m_n_u8): Remove. + (__arm_vsriq_m_n_s16): Remove. + (__arm_vsriq_m_n_u16): Remove. + (__arm_vsriq_m_n_s32): Remove. + (__arm_vsriq_m_n_u32): Remove. + (__arm_vsriq): Remove. + (__arm_vsriq_m): Remove. + +2023-05-12 Christophe Lyon + + * config/arm/iterators.md (mve_insn): Add vsri. + * config/arm/mve.md (mve_vsriq_n_): Rename into ... + (@mve_q_n_): .,. this. + (mve_vsriq_m_n_): Rename into ... + (@mve_q_m_n_): ... this. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (ternary_rshift): New. + * config/arm/arm-mve-builtins-shapes.h (ternary_rshift): New. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vsliq): New. + * config/arm/arm-mve-builtins-base.def (vsliq): New. + * config/arm/arm-mve-builtins-base.h (vsliq): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vsliq. + * config/arm/arm_mve.h (vsliq): Remove. + (vsliq_m): Remove. + (vsliq_n_u8): Remove. + (vsliq_n_s8): Remove. + (vsliq_n_u16): Remove. + (vsliq_n_s16): Remove. + (vsliq_n_u32): Remove. + (vsliq_n_s32): Remove. + (vsliq_m_n_s8): Remove. + (vsliq_m_n_s32): Remove. + (vsliq_m_n_s16): Remove. + (vsliq_m_n_u8): Remove. + (vsliq_m_n_u32): Remove. + (vsliq_m_n_u16): Remove. + (__arm_vsliq_n_u8): Remove. + (__arm_vsliq_n_s8): Remove. + (__arm_vsliq_n_u16): Remove. + (__arm_vsliq_n_s16): Remove. + (__arm_vsliq_n_u32): Remove. + (__arm_vsliq_n_s32): Remove. + (__arm_vsliq_m_n_s8): Remove. + (__arm_vsliq_m_n_s32): Remove. + (__arm_vsliq_m_n_s16): Remove. + (__arm_vsliq_m_n_u8): Remove. + (__arm_vsliq_m_n_u32): Remove. + (__arm_vsliq_m_n_u16): Remove. + (__arm_vsliq): Remove. + (__arm_vsliq_m): Remove. + +2023-05-12 Christophe Lyon + + * config/arm/iterators.md (mve_insn>): Add vsli. + * config/arm/mve.md (mve_vsliq_n_): Rename into ... + (@mve_q_n_): ... this. + (mve_vsliq_m_n_): Rename into ... + (@mve_q_m_n_): ... this. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (ternary_lshift): New. + * config/arm/arm-mve-builtins-shapes.h (ternary_lshift): New. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vpselq): New. + * config/arm/arm-mve-builtins-base.def (vpselq): New. + * config/arm/arm-mve-builtins-base.h (vpselq): New. + * config/arm/arm_mve.h (vpselq): Remove. + (vpselq_u8): Remove. + (vpselq_s8): Remove. + (vpselq_u16): Remove. + (vpselq_s16): Remove. + (vpselq_u32): Remove. + (vpselq_s32): Remove. + (vpselq_u64): Remove. + (vpselq_s64): Remove. + (vpselq_f16): Remove. + (vpselq_f32): Remove. + (__arm_vpselq_u8): Remove. + (__arm_vpselq_s8): Remove. + (__arm_vpselq_u16): Remove. + (__arm_vpselq_s16): Remove. + (__arm_vpselq_u32): Remove. + (__arm_vpselq_s32): Remove. + (__arm_vpselq_u64): Remove. + (__arm_vpselq_s64): Remove. + (__arm_vpselq_f16): Remove. + (__arm_vpselq_f32): Remove. + (__arm_vpselq): Remove. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (vpsel): New. + * config/arm/arm-mve-builtins-shapes.h (vpsel): New. + +2023-05-12 Christophe Lyon + + * config/arm/arm.cc (arm_expand_vcond): Use gen_mve_q instead of + gen_mve_vpselq. + * config/arm/iterators.md (MVE_VPSELQ_F): New. + (mve_insn): Add vpsel. + * config/arm/mve.md (@mve_vpselq_): Rename into ... + (@mve_q_): ... this. + (@mve_vpselq_f): Rename into ... + (@mve_q_f): ... this. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vfmaq, vfmasq, vfmsq): New. + * config/arm/arm-mve-builtins-base.def (vfmaq, vfmasq, vfmsq): New. + * config/arm/arm-mve-builtins-base.h (vfmaq, vfmasq, vfmsq): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vfmaq, vfmasq, + vfmsq. + * config/arm/arm_mve.h (vfmaq): Remove. + (vfmasq): Remove. + (vfmsq): Remove. + (vfmaq_m): Remove. + (vfmasq_m): Remove. + (vfmsq_m): Remove. + (vfmaq_f16): Remove. + (vfmaq_n_f16): Remove. + (vfmasq_n_f16): Remove. + (vfmsq_f16): Remove. + (vfmaq_f32): Remove. + (vfmaq_n_f32): Remove. + (vfmasq_n_f32): Remove. + (vfmsq_f32): Remove. + (vfmaq_m_f32): Remove. + (vfmaq_m_f16): Remove. + (vfmaq_m_n_f32): Remove. + (vfmaq_m_n_f16): Remove. + (vfmasq_m_n_f32): Remove. + (vfmasq_m_n_f16): Remove. + (vfmsq_m_f32): Remove. + (vfmsq_m_f16): Remove. + (__arm_vfmaq_f16): Remove. + (__arm_vfmaq_n_f16): Remove. + (__arm_vfmasq_n_f16): Remove. + (__arm_vfmsq_f16): Remove. + (__arm_vfmaq_f32): Remove. + (__arm_vfmaq_n_f32): Remove. + (__arm_vfmasq_n_f32): Remove. + (__arm_vfmsq_f32): Remove. + (__arm_vfmaq_m_f32): Remove. + (__arm_vfmaq_m_f16): Remove. + (__arm_vfmaq_m_n_f32): Remove. + (__arm_vfmaq_m_n_f16): Remove. + (__arm_vfmasq_m_n_f32): Remove. + (__arm_vfmasq_m_n_f16): Remove. + (__arm_vfmsq_m_f32): Remove. + (__arm_vfmsq_m_f16): Remove. + (__arm_vfmaq): Remove. + (__arm_vfmasq): Remove. + (__arm_vfmsq): Remove. + (__arm_vfmaq_m): Remove. + (__arm_vfmasq_m): Remove. + (__arm_vfmsq_m): Remove. + +2023-05-12 Christophe Lyon + + * config/arm/iterators.md (MVE_FP_M_BINARY): Add VFMAQ_M_F, + VFMSQ_M_F. + (MVE_FP_M_N_BINARY): Add VFMAQ_M_N_F, VFMASQ_M_N_F. + (MVE_VFMxQ_F, MVE_VFMAxQ_N_F): New. + (mve_insn): Add vfma, vfmas, vfms. + * config/arm/mve.md (mve_vfmaq_f, mve_vfmsq_f): Merge + into ... + (@mve_q_f): ... this. + (mve_vfmaq_n_f, mve_vfmasq_n_f): Merge into ... + (@mve_q_n_f): ... this. + (mve_vfmaq_m_f, mve_vfmsq_m_f): Merge into + @mve_q_m_f. + (mve_vfmaq_m_n_f, mve_vfmasq_m_n_f): Merge into + @mve_q_m_n_f. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (ternary_opt_n): New. + * config/arm/arm-mve-builtins-shapes.h (ternary_opt_n): New. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc + (FUNCTION_WITH_RTX_M_N_NO_F): New. + (vmvnq): New. + * config/arm/arm-mve-builtins-base.def (vmvnq): New. + * config/arm/arm-mve-builtins-base.h (vmvnq): New. + * config/arm/arm_mve.h (vmvnq): Remove. + (vmvnq_m): Remove. + (vmvnq_x): Remove. + (vmvnq_s8): Remove. + (vmvnq_s16): Remove. + (vmvnq_s32): Remove. + (vmvnq_n_s16): Remove. + (vmvnq_n_s32): Remove. + (vmvnq_u8): Remove. + (vmvnq_u16): Remove. + (vmvnq_u32): Remove. + (vmvnq_n_u16): Remove. + (vmvnq_n_u32): Remove. + (vmvnq_m_u8): Remove. + (vmvnq_m_s8): Remove. + (vmvnq_m_u16): Remove. + (vmvnq_m_s16): Remove. + (vmvnq_m_u32): Remove. + (vmvnq_m_s32): Remove. + (vmvnq_m_n_s16): Remove. + (vmvnq_m_n_u16): Remove. + (vmvnq_m_n_s32): Remove. + (vmvnq_m_n_u32): Remove. + (vmvnq_x_s8): Remove. + (vmvnq_x_s16): Remove. + (vmvnq_x_s32): Remove. + (vmvnq_x_u8): Remove. + (vmvnq_x_u16): Remove. + (vmvnq_x_u32): Remove. + (vmvnq_x_n_s16): Remove. + (vmvnq_x_n_s32): Remove. + (vmvnq_x_n_u16): Remove. + (vmvnq_x_n_u32): Remove. + (__arm_vmvnq_s8): Remove. + (__arm_vmvnq_s16): Remove. + (__arm_vmvnq_s32): Remove. + (__arm_vmvnq_n_s16): Remove. + (__arm_vmvnq_n_s32): Remove. + (__arm_vmvnq_u8): Remove. + (__arm_vmvnq_u16): Remove. + (__arm_vmvnq_u32): Remove. + (__arm_vmvnq_n_u16): Remove. + (__arm_vmvnq_n_u32): Remove. + (__arm_vmvnq_m_u8): Remove. + (__arm_vmvnq_m_s8): Remove. + (__arm_vmvnq_m_u16): Remove. + (__arm_vmvnq_m_s16): Remove. + (__arm_vmvnq_m_u32): Remove. + (__arm_vmvnq_m_s32): Remove. + (__arm_vmvnq_m_n_s16): Remove. + (__arm_vmvnq_m_n_u16): Remove. + (__arm_vmvnq_m_n_s32): Remove. + (__arm_vmvnq_m_n_u32): Remove. + (__arm_vmvnq_x_s8): Remove. + (__arm_vmvnq_x_s16): Remove. + (__arm_vmvnq_x_s32): Remove. + (__arm_vmvnq_x_u8): Remove. + (__arm_vmvnq_x_u16): Remove. + (__arm_vmvnq_x_u32): Remove. + (__arm_vmvnq_x_n_s16): Remove. + (__arm_vmvnq_x_n_s32): Remove. + (__arm_vmvnq_x_n_u16): Remove. + (__arm_vmvnq_x_n_u32): Remove. + (__arm_vmvnq): Remove. + (__arm_vmvnq_m): Remove. + (__arm_vmvnq_x): Remove. + +2023-05-12 Christophe Lyon + + * config/arm/iterators.md (mve_insn): Add vmvn. + * config/arm/mve.md (mve_vmvnq_n_): Rename into ... + (@mve_q_n_): ... this. + (mve_vmvnq_m_): Rename into ... + (@mve_q_m_): ... this. + (mve_vmvnq_m_n_): Rename into ... + (@mve_q_m_n_): ... this. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (mvn): New. + * config/arm/arm-mve-builtins-shapes.h (mvn): New. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vbrsrq): New. + * config/arm/arm-mve-builtins-base.def (vbrsrq): New. + * config/arm/arm-mve-builtins-base.h (vbrsrq): New. + * config/arm/arm_mve.h (vbrsrq): Remove. + (vbrsrq_m): Remove. + (vbrsrq_x): Remove. + (vbrsrq_n_f16): Remove. + (vbrsrq_n_f32): Remove. + (vbrsrq_n_u8): Remove. + (vbrsrq_n_s8): Remove. + (vbrsrq_n_u16): Remove. + (vbrsrq_n_s16): Remove. + (vbrsrq_n_u32): Remove. + (vbrsrq_n_s32): Remove. + (vbrsrq_m_n_s8): Remove. + (vbrsrq_m_n_s32): Remove. + (vbrsrq_m_n_s16): Remove. + (vbrsrq_m_n_u8): Remove. + (vbrsrq_m_n_u32): Remove. + (vbrsrq_m_n_u16): Remove. + (vbrsrq_m_n_f32): Remove. + (vbrsrq_m_n_f16): Remove. + (vbrsrq_x_n_s8): Remove. + (vbrsrq_x_n_s16): Remove. + (vbrsrq_x_n_s32): Remove. + (vbrsrq_x_n_u8): Remove. + (vbrsrq_x_n_u16): Remove. + (vbrsrq_x_n_u32): Remove. + (vbrsrq_x_n_f16): Remove. + (vbrsrq_x_n_f32): Remove. + (__arm_vbrsrq_n_u8): Remove. + (__arm_vbrsrq_n_s8): Remove. + (__arm_vbrsrq_n_u16): Remove. + (__arm_vbrsrq_n_s16): Remove. + (__arm_vbrsrq_n_u32): Remove. + (__arm_vbrsrq_n_s32): Remove. + (__arm_vbrsrq_m_n_s8): Remove. + (__arm_vbrsrq_m_n_s32): Remove. + (__arm_vbrsrq_m_n_s16): Remove. + (__arm_vbrsrq_m_n_u8): Remove. + (__arm_vbrsrq_m_n_u32): Remove. + (__arm_vbrsrq_m_n_u16): Remove. + (__arm_vbrsrq_x_n_s8): Remove. + (__arm_vbrsrq_x_n_s16): Remove. + (__arm_vbrsrq_x_n_s32): Remove. + (__arm_vbrsrq_x_n_u8): Remove. + (__arm_vbrsrq_x_n_u16): Remove. + (__arm_vbrsrq_x_n_u32): Remove. + (__arm_vbrsrq_n_f16): Remove. + (__arm_vbrsrq_n_f32): Remove. + (__arm_vbrsrq_m_n_f32): Remove. + (__arm_vbrsrq_m_n_f16): Remove. + (__arm_vbrsrq_x_n_f16): Remove. + (__arm_vbrsrq_x_n_f32): Remove. + (__arm_vbrsrq): Remove. + (__arm_vbrsrq_m): Remove. + (__arm_vbrsrq_x): Remove. + +2023-05-12 Christophe Lyon + + * config/arm/iterators.md (MVE_VBRSR_M_N_FP, MVE_VBRSR_N_FP): New. + (mve_insn): Add vbrsr. + * config/arm/mve.md (mve_vbrsrq_n_f): Rename into ... + (@mve_q_n_f): ... this. + (mve_vbrsrq_n_): Rename into ... + (@mve_q_n_): ... this. + (mve_vbrsrq_m_n_): Rename into ... + (@mve_q_m_n_): ... this. + (mve_vbrsrq_m_n_f): Rename into ... + (@mve_q_m_n_f): ... this. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_imm32): New. + * config/arm/arm-mve-builtins-shapes.h (binary_imm32): New. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vqshluq): New. + * config/arm/arm-mve-builtins-base.def (vqshluq): New. + * config/arm/arm-mve-builtins-base.h (vqshluq): New. + * config/arm/arm_mve.h (vqshluq): Remove. + (vqshluq_m): Remove. + (vqshluq_n_s8): Remove. + (vqshluq_n_s16): Remove. + (vqshluq_n_s32): Remove. + (vqshluq_m_n_s8): Remove. + (vqshluq_m_n_s16): Remove. + (vqshluq_m_n_s32): Remove. + (__arm_vqshluq_n_s8): Remove. + (__arm_vqshluq_n_s16): Remove. + (__arm_vqshluq_n_s32): Remove. + (__arm_vqshluq_m_n_s8): Remove. + (__arm_vqshluq_m_n_s16): Remove. + (__arm_vqshluq_m_n_s32): Remove. + (__arm_vqshluq): Remove. + (__arm_vqshluq_m): Remove. + +2023-05-12 Christophe Lyon + + * config/arm/iterators.md (mve_insn): Add vqshlu. + (supf): Add VQSHLUQ_M_N_S, VQSHLUQ_N_S. + (VQSHLUQ_M_N, VQSHLUQ_N): New. + * config/arm/mve.md (mve_vqshluq_n_s): Change name into ... + (@mve_q_n_): ... this. + (mve_vqshluq_m_n_s): Change name into ... + (@mve_q_m_n_): ... this. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc + (binary_lshift_unsigned): New. + * config/arm/arm-mve-builtins-shapes.h + (binary_lshift_unsigned): New. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vrmlaldavhaq) + (vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq): New. + * config/arm/arm-mve-builtins-base.def (vrmlaldavhaq) + (vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq): New. + * config/arm/arm-mve-builtins-base.h (vrmlaldavhaq) + (vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq): New. + * config/arm/arm-mve-builtins-functions.h: Handle vrmlaldavhaq, + vrmlaldavhaxq, vrmlsldavhaq, vrmlsldavhaxq. + * config/arm/arm_mve.h (vrmlaldavhaq): Remove. + (vrmlaldavhaxq): Remove. + (vrmlsldavhaq): Remove. + (vrmlsldavhaxq): Remove. + (vrmlaldavhaq_p): Remove. + (vrmlaldavhaxq_p): Remove. + (vrmlsldavhaq_p): Remove. + (vrmlsldavhaxq_p): Remove. + (vrmlaldavhaq_s32): Remove. + (vrmlaldavhaq_u32): Remove. + (vrmlaldavhaxq_s32): Remove. + (vrmlsldavhaq_s32): Remove. + (vrmlsldavhaxq_s32): Remove. + (vrmlaldavhaq_p_s32): Remove. + (vrmlaldavhaq_p_u32): Remove. + (vrmlaldavhaxq_p_s32): Remove. + (vrmlsldavhaq_p_s32): Remove. + (vrmlsldavhaxq_p_s32): Remove. + (__arm_vrmlaldavhaq_s32): Remove. + (__arm_vrmlaldavhaq_u32): Remove. + (__arm_vrmlaldavhaxq_s32): Remove. + (__arm_vrmlsldavhaq_s32): Remove. + (__arm_vrmlsldavhaxq_s32): Remove. + (__arm_vrmlaldavhaq_p_s32): Remove. + (__arm_vrmlaldavhaq_p_u32): Remove. + (__arm_vrmlaldavhaxq_p_s32): Remove. + (__arm_vrmlsldavhaq_p_s32): Remove. + (__arm_vrmlsldavhaxq_p_s32): Remove. + (__arm_vrmlaldavhaq): Remove. + (__arm_vrmlaldavhaxq): Remove. + (__arm_vrmlsldavhaq): Remove. + (__arm_vrmlsldavhaxq): Remove. + (__arm_vrmlaldavhaq_p): Remove. + (__arm_vrmlaldavhaxq_p): Remove. + (__arm_vrmlsldavhaq_p): Remove. + (__arm_vrmlsldavhaxq_p): Remove. + +2023-05-12 Christophe Lyon + + * config/arm/iterators.md (MVE_VRMLxLDAVHAxQ) + (MVE_VRMLxLDAVHAxQ_P): New. + (mve_insn): Add vrmlaldavha, vrmlaldavhax, vrmlsldavha, + vrmlsldavhax. + (supf): Add VRMLALDAVHAXQ_P_S, VRMLALDAVHAXQ_S, VRMLSLDAVHAQ_P_S, + VRMLSLDAVHAQ_S, VRMLSLDAVHAXQ_P_S, VRMLSLDAVHAXQ_S, + VRMLALDAVHAQ_P_S. + * config/arm/mve.md (mve_vrmlaldavhaq_v4si) + (mve_vrmlaldavhaxq_sv4si, mve_vrmlsldavhaxq_sv4si) + (mve_vrmlsldavhaq_sv4si): Merge into ... + (@mve_q_v4si): ... this. + (mve_vrmlaldavhaq_p_sv4si, mve_vrmlaldavhaq_p_uv4si) + (mve_vrmlaldavhaxq_p_sv4si, mve_vrmlsldavhaq_p_sv4si) + (mve_vrmlsldavhaxq_p_sv4si): Merge into ... + (@mve_q_p_v4si): ... this. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vqdmullbq, vqdmulltq): New. + * config/arm/arm-mve-builtins-base.def (vqdmullbq, vqdmulltq): + New. + * config/arm/arm-mve-builtins-base.h (vqdmullbq, vqdmulltq): New. + * config/arm/arm_mve.h (vqdmulltq): Remove. + (vqdmullbq): Remove. + (vqdmullbq_m): Remove. + (vqdmulltq_m): Remove. + (vqdmulltq_s16): Remove. + (vqdmulltq_n_s16): Remove. + (vqdmullbq_s16): Remove. + (vqdmullbq_n_s16): Remove. + (vqdmulltq_s32): Remove. + (vqdmulltq_n_s32): Remove. + (vqdmullbq_s32): Remove. + (vqdmullbq_n_s32): Remove. + (vqdmullbq_m_n_s32): Remove. + (vqdmullbq_m_n_s16): Remove. + (vqdmullbq_m_s32): Remove. + (vqdmullbq_m_s16): Remove. + (vqdmulltq_m_n_s32): Remove. + (vqdmulltq_m_n_s16): Remove. + (vqdmulltq_m_s32): Remove. + (vqdmulltq_m_s16): Remove. + (__arm_vqdmulltq_s16): Remove. + (__arm_vqdmulltq_n_s16): Remove. + (__arm_vqdmullbq_s16): Remove. + (__arm_vqdmullbq_n_s16): Remove. + (__arm_vqdmulltq_s32): Remove. + (__arm_vqdmulltq_n_s32): Remove. + (__arm_vqdmullbq_s32): Remove. + (__arm_vqdmullbq_n_s32): Remove. + (__arm_vqdmullbq_m_n_s32): Remove. + (__arm_vqdmullbq_m_n_s16): Remove. + (__arm_vqdmullbq_m_s32): Remove. + (__arm_vqdmullbq_m_s16): Remove. + (__arm_vqdmulltq_m_n_s32): Remove. + (__arm_vqdmulltq_m_n_s16): Remove. + (__arm_vqdmulltq_m_s32): Remove. + (__arm_vqdmulltq_m_s16): Remove. + (__arm_vqdmulltq): Remove. + (__arm_vqdmullbq): Remove. + (__arm_vqdmullbq_m): Remove. + (__arm_vqdmulltq_m): Remove. + +2023-05-12 Christophe Lyon + + * config/arm/iterators.md (MVE_VQDMULLxQ, MVE_VQDMULLxQ_M) + (MVE_VQDMULLxQ_M_N, MVE_VQDMULLxQ_N): New. + (mve_insn): Add vqdmullb, vqdmullt. + (supf): Add VQDMULLBQ_S, VQDMULLBQ_M_S, VQDMULLBQ_M_N_S, + VQDMULLBQ_N_S, VQDMULLTQ_S, VQDMULLTQ_M_S, VQDMULLTQ_M_N_S, + VQDMULLTQ_N_S. + * config/arm/mve.md (mve_vqdmullbq_n_s) + (mve_vqdmulltq_n_s): Merge into ... + (@mve_q_n_): ... this. + (mve_vqdmullbq_s, mve_vqdmulltq_s): Merge into ... + (@mve_q_): ... this. + (mve_vqdmullbq_m_n_s, mve_vqdmulltq_m_n_s): Merge into + ... + (@mve_q_m_n_): ... this. + (mve_vqdmullbq_m_s, mve_vqdmulltq_m_s): Merge into ... + (@mve_q_m_): ... this. + +2023-05-12 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_widen_opt_n): New. + * config/arm/arm-mve-builtins-shapes.h (binary_widen_opt_n): New. + +2023-05-12 Kito Cheng + + * common/config/riscv/riscv-common.cc (riscv_select_multilib_by_abi): + Drop unused parameter. + (riscv_select_multilib): Ditto. + (riscv_compute_multilib): Update call site of + riscv_select_multilib_by_abi and riscv_select_multilib_by_abi. + +2023-05-12 Juzhe Zhong + + * config/riscv/autovec.md (vec_init): New pattern. + * config/riscv/riscv-protos.h (expand_vec_init): New function. + * config/riscv/riscv-v.cc (class rvv_builder): New class. + (rvv_builder::can_duplicate_repeating_sequence_p): New function. + (rvv_builder::get_merged_repeating_sequence): Ditto. + (expand_vector_init_insert_elems): Ditto. + (expand_vec_init): Ditto. + * config/riscv/vector-iterators.md: New attribute. + +2023-05-12 Haochen Gui + + * config/rs6000/rs6000-builtins.def + (__builtin_vsx_scalar_insert_exp): Replace bif-pattern from xsiexpdp + to xsiexpdp_di. + (__builtin_vsx_scalar_insert_exp_dp): Replace bif-pattern from + xsiexpdpf to xsiexpdpf_di. + * config/rs6000/vsx.md (xsiexpdp): Rename to... + (xsiexpdp_): ..., set the mode of second operand to GPR and + replace TARGET_64BIT with TARGET_POWERPC64. + (xsiexpdpf): Rename to... + (xsiexpdpf_): ..., set the mode of second operand to GPR and + replace TARGET_64BIT with TARGET_POWERPC64. + +2023-05-12 Haochen Gui + + * config/rs6000/rs6000-builtins.def + (__builtin_vsx_scalar_extract_sig): Set return type to const signed + long long. + * config/rs6000/vsx.md (xsxsigdp): Replace TARGET_64BIT with + TARGET_POWERPC64. + +2023-05-12 Haochen Gui + + * config/rs6000/rs6000-builtins.def + (__builtin_vsx_scalar_extract_exp): Set return type to const signed + int and set its bif-pattern to xsxexpdp_si, move it from power9-64 + to power9 catalog. + * config/rs6000/vsx.md (xsxexpdp): Rename to ... + (xsxexpdp_): ..., set mode of operand 0 to GPR and remove + TARGET_64BIT check. + * doc/extend.texi (scalar_extract_exp): Remove 64-bit environment + requirement when it has a 64-bit argument. + +2023-05-12 Pan Li + Richard Sandiford + Richard Biener + Jakub Jelinek + + * mux-utils.h: Add overload operator == and != for pointer_mux. + * var-tracking.cc: Included mux-utils.h for pointer_tmux. + (decl_or_value): Changed from void * to pointer_mux. + (dv_is_decl_p): Reconciled to the new type, aka pointer_mux. + (dv_as_decl): Ditto. + (dv_as_opaque): Removed due to unnecessary. + (struct variable_hasher): Take decl_or_value as compare_type. + (variable_hasher::equal): Diito. + (dv_from_decl): Reconciled to the new type, aka pointer_mux. + (dv_from_value): Ditto. + (attrs_list_member): Ditto. + (vars_copy): Ditto. + (var_reg_decl_set): Ditto. + (var_reg_delete_and_set): Ditto. + (find_loc_in_1pdv): Ditto. + (canonicalize_values_star): Ditto. + (variable_post_merge_new_vals): Ditto. + (dump_onepart_variable_differences): Ditto. + (variable_different_p): Ditto. + (set_slot_part): Ditto. + (clobber_slot_part): Ditto. + (clobber_variable_part): Ditto. + +2023-05-11 mtsamis + + * match.pd: simplify vector shift + bit_and + multiply. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vmlaq, vmlasq, vqdmlahq) + (vqdmlashq, vqrdmlahq, vqrdmlashq): New. + * config/arm/arm-mve-builtins-base.def (vmlaq, vmlasq, vqdmlahq) + (vqdmlashq, vqrdmlahq, vqrdmlashq): New. + * config/arm/arm-mve-builtins-base.h (vmlaq, vmlasq, vqdmlahq) + (vqdmlashq, vqrdmlahq, vqrdmlashq): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vmlaq, vmlasq, + vqdmlahq, vqdmlashq, vqrdmlahq, vqrdmlashq. + * config/arm/arm_mve.h (vqrdmlashq): Remove. + (vqrdmlahq): Remove. + (vqdmlashq): Remove. + (vqdmlahq): Remove. + (vmlasq): Remove. + (vmlaq): Remove. + (vmlaq_m): Remove. + (vmlasq_m): Remove. + (vqdmlashq_m): Remove. + (vqdmlahq_m): Remove. + (vqrdmlahq_m): Remove. + (vqrdmlashq_m): Remove. + (vmlasq_n_u8): Remove. + (vmlaq_n_u8): Remove. + (vqrdmlashq_n_s8): Remove. + (vqrdmlahq_n_s8): Remove. + (vqdmlahq_n_s8): Remove. + (vqdmlashq_n_s8): Remove. + (vmlasq_n_s8): Remove. + (vmlaq_n_s8): Remove. + (vmlasq_n_u16): Remove. + (vmlaq_n_u16): Remove. + (vqrdmlashq_n_s16): Remove. + (vqrdmlahq_n_s16): Remove. + (vqdmlashq_n_s16): Remove. + (vqdmlahq_n_s16): Remove. + (vmlasq_n_s16): Remove. + (vmlaq_n_s16): Remove. + (vmlasq_n_u32): Remove. + (vmlaq_n_u32): Remove. + (vqrdmlashq_n_s32): Remove. + (vqrdmlahq_n_s32): Remove. + (vqdmlashq_n_s32): Remove. + (vqdmlahq_n_s32): Remove. + (vmlasq_n_s32): Remove. + (vmlaq_n_s32): Remove. + (vmlaq_m_n_s8): Remove. + (vmlaq_m_n_s32): Remove. + (vmlaq_m_n_s16): Remove. + (vmlaq_m_n_u8): Remove. + (vmlaq_m_n_u32): Remove. + (vmlaq_m_n_u16): Remove. + (vmlasq_m_n_s8): Remove. + (vmlasq_m_n_s32): Remove. + (vmlasq_m_n_s16): Remove. + (vmlasq_m_n_u8): Remove. + (vmlasq_m_n_u32): Remove. + (vmlasq_m_n_u16): Remove. + (vqdmlashq_m_n_s8): Remove. + (vqdmlashq_m_n_s32): Remove. + (vqdmlashq_m_n_s16): Remove. + (vqdmlahq_m_n_s8): Remove. + (vqdmlahq_m_n_s32): Remove. + (vqdmlahq_m_n_s16): Remove. + (vqrdmlahq_m_n_s8): Remove. + (vqrdmlahq_m_n_s32): Remove. + (vqrdmlahq_m_n_s16): Remove. + (vqrdmlashq_m_n_s8): Remove. + (vqrdmlashq_m_n_s32): Remove. + (vqrdmlashq_m_n_s16): Remove. + (__arm_vmlasq_n_u8): Remove. + (__arm_vmlaq_n_u8): Remove. + (__arm_vqrdmlashq_n_s8): Remove. + (__arm_vqdmlashq_n_s8): Remove. + (__arm_vqrdmlahq_n_s8): Remove. + (__arm_vqdmlahq_n_s8): Remove. + (__arm_vmlasq_n_s8): Remove. + (__arm_vmlaq_n_s8): Remove. + (__arm_vmlasq_n_u16): Remove. + (__arm_vmlaq_n_u16): Remove. + (__arm_vqrdmlashq_n_s16): Remove. + (__arm_vqdmlashq_n_s16): Remove. + (__arm_vqrdmlahq_n_s16): Remove. + (__arm_vqdmlahq_n_s16): Remove. + (__arm_vmlasq_n_s16): Remove. + (__arm_vmlaq_n_s16): Remove. + (__arm_vmlasq_n_u32): Remove. + (__arm_vmlaq_n_u32): Remove. + (__arm_vqrdmlashq_n_s32): Remove. + (__arm_vqdmlashq_n_s32): Remove. + (__arm_vqrdmlahq_n_s32): Remove. + (__arm_vqdmlahq_n_s32): Remove. + (__arm_vmlasq_n_s32): Remove. + (__arm_vmlaq_n_s32): Remove. + (__arm_vmlaq_m_n_s8): Remove. + (__arm_vmlaq_m_n_s32): Remove. + (__arm_vmlaq_m_n_s16): Remove. + (__arm_vmlaq_m_n_u8): Remove. + (__arm_vmlaq_m_n_u32): Remove. + (__arm_vmlaq_m_n_u16): Remove. + (__arm_vmlasq_m_n_s8): Remove. + (__arm_vmlasq_m_n_s32): Remove. + (__arm_vmlasq_m_n_s16): Remove. + (__arm_vmlasq_m_n_u8): Remove. + (__arm_vmlasq_m_n_u32): Remove. + (__arm_vmlasq_m_n_u16): Remove. + (__arm_vqdmlahq_m_n_s8): Remove. + (__arm_vqdmlahq_m_n_s32): Remove. + (__arm_vqdmlahq_m_n_s16): Remove. + (__arm_vqrdmlahq_m_n_s8): Remove. + (__arm_vqrdmlahq_m_n_s32): Remove. + (__arm_vqrdmlahq_m_n_s16): Remove. + (__arm_vqrdmlashq_m_n_s8): Remove. + (__arm_vqrdmlashq_m_n_s32): Remove. + (__arm_vqrdmlashq_m_n_s16): Remove. + (__arm_vqdmlashq_m_n_s8): Remove. + (__arm_vqdmlashq_m_n_s16): Remove. + (__arm_vqdmlashq_m_n_s32): Remove. + (__arm_vmlasq): Remove. + (__arm_vmlaq): Remove. + (__arm_vqrdmlashq): Remove. + (__arm_vqdmlashq): Remove. + (__arm_vqrdmlahq): Remove. + (__arm_vqdmlahq): Remove. + (__arm_vmlaq_m): Remove. + (__arm_vmlasq_m): Remove. + (__arm_vqdmlahq_m): Remove. + (__arm_vqrdmlahq_m): Remove. + (__arm_vqrdmlashq_m): Remove. + (__arm_vqdmlashq_m): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (MVE_VMLxQ_N): New. + (mve_insn): Add vmla, vmlas, vqdmlah, vqdmlash, vqrdmlah, + vqrdmlash. + (supf): Add VQDMLAHQ_N_S, VQDMLASHQ_N_S, VQRDMLAHQ_N_S, + VQRDMLASHQ_N_S. + * config/arm/mve.md (mve_vmlaq_n_) + (mve_vmlasq_n_, mve_vqdmlahq_n_) + (mve_vqdmlashq_n_, mve_vqrdmlahq_n_) + (mve_vqrdmlashq_n_): Merge into ... + (@mve_q_n_): ... this. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (ternary_n): New. + * config/arm/arm-mve-builtins-shapes.h (ternary_n): New. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vqdmladhq, vqdmladhxq) + (vqdmlsdhq, vqdmlsdhxq, vqrdmladhq, vqrdmladhxq, vqrdmlsdhq) + (vqrdmlsdhxq): New. + * config/arm/arm-mve-builtins-base.def (vqdmladhq, vqdmladhxq) + (vqdmlsdhq, vqdmlsdhxq, vqrdmladhq, vqrdmladhxq, vqrdmlsdhq) + (vqrdmlsdhxq): New. + * config/arm/arm-mve-builtins-base.h (vqdmladhq, vqdmladhxq) + (vqdmlsdhq, vqdmlsdhxq, vqrdmladhq, vqrdmladhxq, vqrdmlsdhq) + (vqrdmlsdhxq): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vqrdmladhq, + vqrdmladhxq, vqrdmlsdhq, vqrdmlsdhxq vqdmladhq, vqdmladhxq, + vqdmlsdhq, vqdmlsdhxq. + * config/arm/arm_mve.h (vqrdmlsdhxq): Remove. + (vqrdmlsdhq): Remove. + (vqrdmladhxq): Remove. + (vqrdmladhq): Remove. + (vqdmlsdhxq): Remove. + (vqdmlsdhq): Remove. + (vqdmladhxq): Remove. + (vqdmladhq): Remove. + (vqdmladhq_m): Remove. + (vqdmladhxq_m): Remove. + (vqdmlsdhq_m): Remove. + (vqdmlsdhxq_m): Remove. + (vqrdmladhq_m): Remove. + (vqrdmladhxq_m): Remove. + (vqrdmlsdhq_m): Remove. + (vqrdmlsdhxq_m): Remove. + (vqrdmlsdhxq_s8): Remove. + (vqrdmlsdhq_s8): Remove. + (vqrdmladhxq_s8): Remove. + (vqrdmladhq_s8): Remove. + (vqdmlsdhxq_s8): Remove. + (vqdmlsdhq_s8): Remove. + (vqdmladhxq_s8): Remove. + (vqdmladhq_s8): Remove. + (vqrdmlsdhxq_s16): Remove. + (vqrdmlsdhq_s16): Remove. + (vqrdmladhxq_s16): Remove. + (vqrdmladhq_s16): Remove. + (vqdmlsdhxq_s16): Remove. + (vqdmlsdhq_s16): Remove. + (vqdmladhxq_s16): Remove. + (vqdmladhq_s16): Remove. + (vqrdmlsdhxq_s32): Remove. + (vqrdmlsdhq_s32): Remove. + (vqrdmladhxq_s32): Remove. + (vqrdmladhq_s32): Remove. + (vqdmlsdhxq_s32): Remove. + (vqdmlsdhq_s32): Remove. + (vqdmladhxq_s32): Remove. + (vqdmladhq_s32): Remove. + (vqdmladhq_m_s8): Remove. + (vqdmladhq_m_s32): Remove. + (vqdmladhq_m_s16): Remove. + (vqdmladhxq_m_s8): Remove. + (vqdmladhxq_m_s32): Remove. + (vqdmladhxq_m_s16): Remove. + (vqdmlsdhq_m_s8): Remove. + (vqdmlsdhq_m_s32): Remove. + (vqdmlsdhq_m_s16): Remove. + (vqdmlsdhxq_m_s8): Remove. + (vqdmlsdhxq_m_s32): Remove. + (vqdmlsdhxq_m_s16): Remove. + (vqrdmladhq_m_s8): Remove. + (vqrdmladhq_m_s32): Remove. + (vqrdmladhq_m_s16): Remove. + (vqrdmladhxq_m_s8): Remove. + (vqrdmladhxq_m_s32): Remove. + (vqrdmladhxq_m_s16): Remove. + (vqrdmlsdhq_m_s8): Remove. + (vqrdmlsdhq_m_s32): Remove. + (vqrdmlsdhq_m_s16): Remove. + (vqrdmlsdhxq_m_s8): Remove. + (vqrdmlsdhxq_m_s32): Remove. + (vqrdmlsdhxq_m_s16): Remove. + (__arm_vqrdmlsdhxq_s8): Remove. + (__arm_vqrdmlsdhq_s8): Remove. + (__arm_vqrdmladhxq_s8): Remove. + (__arm_vqrdmladhq_s8): Remove. + (__arm_vqdmlsdhxq_s8): Remove. + (__arm_vqdmlsdhq_s8): Remove. + (__arm_vqdmladhxq_s8): Remove. + (__arm_vqdmladhq_s8): Remove. + (__arm_vqrdmlsdhxq_s16): Remove. + (__arm_vqrdmlsdhq_s16): Remove. + (__arm_vqrdmladhxq_s16): Remove. + (__arm_vqrdmladhq_s16): Remove. + (__arm_vqdmlsdhxq_s16): Remove. + (__arm_vqdmlsdhq_s16): Remove. + (__arm_vqdmladhxq_s16): Remove. + (__arm_vqdmladhq_s16): Remove. + (__arm_vqrdmlsdhxq_s32): Remove. + (__arm_vqrdmlsdhq_s32): Remove. + (__arm_vqrdmladhxq_s32): Remove. + (__arm_vqrdmladhq_s32): Remove. + (__arm_vqdmlsdhxq_s32): Remove. + (__arm_vqdmlsdhq_s32): Remove. + (__arm_vqdmladhxq_s32): Remove. + (__arm_vqdmladhq_s32): Remove. + (__arm_vqdmladhq_m_s8): Remove. + (__arm_vqdmladhq_m_s32): Remove. + (__arm_vqdmladhq_m_s16): Remove. + (__arm_vqdmladhxq_m_s8): Remove. + (__arm_vqdmladhxq_m_s32): Remove. + (__arm_vqdmladhxq_m_s16): Remove. + (__arm_vqdmlsdhq_m_s8): Remove. + (__arm_vqdmlsdhq_m_s32): Remove. + (__arm_vqdmlsdhq_m_s16): Remove. + (__arm_vqdmlsdhxq_m_s8): Remove. + (__arm_vqdmlsdhxq_m_s32): Remove. + (__arm_vqdmlsdhxq_m_s16): Remove. + (__arm_vqrdmladhq_m_s8): Remove. + (__arm_vqrdmladhq_m_s32): Remove. + (__arm_vqrdmladhq_m_s16): Remove. + (__arm_vqrdmladhxq_m_s8): Remove. + (__arm_vqrdmladhxq_m_s32): Remove. + (__arm_vqrdmladhxq_m_s16): Remove. + (__arm_vqrdmlsdhq_m_s8): Remove. + (__arm_vqrdmlsdhq_m_s32): Remove. + (__arm_vqrdmlsdhq_m_s16): Remove. + (__arm_vqrdmlsdhxq_m_s8): Remove. + (__arm_vqrdmlsdhxq_m_s32): Remove. + (__arm_vqrdmlsdhxq_m_s16): Remove. + (__arm_vqrdmlsdhxq): Remove. + (__arm_vqrdmlsdhq): Remove. + (__arm_vqrdmladhxq): Remove. + (__arm_vqrdmladhq): Remove. + (__arm_vqdmlsdhxq): Remove. + (__arm_vqdmlsdhq): Remove. + (__arm_vqdmladhxq): Remove. + (__arm_vqdmladhq): Remove. + (__arm_vqdmladhq_m): Remove. + (__arm_vqdmladhxq_m): Remove. + (__arm_vqdmlsdhq_m): Remove. + (__arm_vqdmlsdhxq_m): Remove. + (__arm_vqrdmladhq_m): Remove. + (__arm_vqrdmladhxq_m): Remove. + (__arm_vqrdmlsdhq_m): Remove. + (__arm_vqrdmlsdhxq_m): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (MVE_VQxDMLxDHxQ_S): New. + (mve_insn): Add vqdmladh, vqdmladhx, vqdmlsdh, vqdmlsdhx, + vqrdmladh, vqrdmladhx, vqrdmlsdh, vqrdmlsdhx. + (supf): Add VQDMLADHQ_S, VQDMLADHXQ_S, VQDMLSDHQ_S, VQDMLSDHXQ_S, + VQRDMLADHQ_S,VQRDMLADHXQ_S, VQRDMLSDHQ_S, VQRDMLSDHXQ_S. + * config/arm/mve.md (mve_vqrdmladhq_s) + (mve_vqrdmladhxq_s, mve_vqrdmlsdhq_s) + (mve_vqrdmlsdhxq_s, mve_vqdmlsdhxq_s) + (mve_vqdmlsdhq_s, mve_vqdmladhxq_s) + (mve_vqdmladhq_s): Merge into ... + (@mve_q_): ... this. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (ternary): New. + * config/arm/arm-mve-builtins-shapes.h (ternary): New. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vmlaldavaq, vmlaldavaxq) + (vmlsldavaq, vmlsldavaxq): New. + * config/arm/arm-mve-builtins-base.def (vmlaldavaq, vmlaldavaxq) + (vmlsldavaq, vmlsldavaxq): New. + * config/arm/arm-mve-builtins-base.h (vmlaldavaq, vmlaldavaxq) + (vmlsldavaq, vmlsldavaxq): New. + * config/arm/arm_mve.h (vmlaldavaq): Remove. + (vmlaldavaxq): Remove. + (vmlsldavaq): Remove. + (vmlsldavaxq): Remove. + (vmlaldavaq_p): Remove. + (vmlaldavaxq_p): Remove. + (vmlsldavaq_p): Remove. + (vmlsldavaxq_p): Remove. + (vmlaldavaq_s16): Remove. + (vmlaldavaxq_s16): Remove. + (vmlsldavaq_s16): Remove. + (vmlsldavaxq_s16): Remove. + (vmlaldavaq_u16): Remove. + (vmlaldavaq_s32): Remove. + (vmlaldavaxq_s32): Remove. + (vmlsldavaq_s32): Remove. + (vmlsldavaxq_s32): Remove. + (vmlaldavaq_u32): Remove. + (vmlaldavaq_p_s32): Remove. + (vmlaldavaq_p_s16): Remove. + (vmlaldavaq_p_u32): Remove. + (vmlaldavaq_p_u16): Remove. + (vmlaldavaxq_p_s32): Remove. + (vmlaldavaxq_p_s16): Remove. + (vmlsldavaq_p_s32): Remove. + (vmlsldavaq_p_s16): Remove. + (vmlsldavaxq_p_s32): Remove. + (vmlsldavaxq_p_s16): Remove. + (__arm_vmlaldavaq_s16): Remove. + (__arm_vmlaldavaxq_s16): Remove. + (__arm_vmlsldavaq_s16): Remove. + (__arm_vmlsldavaxq_s16): Remove. + (__arm_vmlaldavaq_u16): Remove. + (__arm_vmlaldavaq_s32): Remove. + (__arm_vmlaldavaxq_s32): Remove. + (__arm_vmlsldavaq_s32): Remove. + (__arm_vmlsldavaxq_s32): Remove. + (__arm_vmlaldavaq_u32): Remove. + (__arm_vmlaldavaq_p_s32): Remove. + (__arm_vmlaldavaq_p_s16): Remove. + (__arm_vmlaldavaq_p_u32): Remove. + (__arm_vmlaldavaq_p_u16): Remove. + (__arm_vmlaldavaxq_p_s32): Remove. + (__arm_vmlaldavaxq_p_s16): Remove. + (__arm_vmlsldavaq_p_s32): Remove. + (__arm_vmlsldavaq_p_s16): Remove. + (__arm_vmlsldavaxq_p_s32): Remove. + (__arm_vmlsldavaxq_p_s16): Remove. + (__arm_vmlaldavaq): Remove. + (__arm_vmlaldavaxq): Remove. + (__arm_vmlsldavaq): Remove. + (__arm_vmlsldavaxq): Remove. + (__arm_vmlaldavaq_p): Remove. + (__arm_vmlaldavaxq_p): Remove. + (__arm_vmlsldavaq_p): Remove. + (__arm_vmlsldavaxq_p): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (MVE_VMLxLDAVAxQ, MVE_VMLxLDAVAxQ_P): + New. + (mve_insn): Add vmlaldava, vmlaldavax, vmlsldava, vmlsldavax. + (supf): Add VMLALDAVAXQ_P_S, VMLALDAVAXQ_S, VMLSLDAVAQ_P_S, + VMLSLDAVAQ_S, VMLSLDAVAXQ_P_S, VMLSLDAVAXQ_S. + * config/arm/mve.md (mve_vmlaldavaq_) + (mve_vmlsldavaq_s, mve_vmlsldavaxq_s) + (mve_vmlaldavaxq_s): Merge into ... + (@mve_q_): ... this. + (mve_vmlaldavaq_p_, mve_vmlaldavaxq_p_) + (mve_vmlsldavaq_p_s, mve_vmlsldavaxq_p_s): Merge into + ... + (@mve_q_p_): ... this. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_acca_int64): New. + * config/arm/arm-mve-builtins-shapes.h (binary_acca_int64): New. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vrmlaldavhq, vrmlaldavhxq) + (vrmlsldavhq, vrmlsldavhxq): New. + * config/arm/arm-mve-builtins-base.def (vrmlaldavhq, vrmlaldavhxq) + (vrmlsldavhq, vrmlsldavhxq): New. + * config/arm/arm-mve-builtins-base.h (vrmlaldavhq, vrmlaldavhxq) + (vrmlsldavhq, vrmlsldavhxq): New. + * config/arm/arm-mve-builtins-functions.h + (unspec_mve_function_exact_insn_pred_p): Handle vrmlaldavhq, + vrmlaldavhxq, vrmlsldavhq, vrmlsldavhxq. + * config/arm/arm_mve.h (vrmlaldavhq): Remove. + (vrmlsldavhxq): Remove. + (vrmlsldavhq): Remove. + (vrmlaldavhxq): Remove. + (vrmlaldavhq_p): Remove. + (vrmlaldavhxq_p): Remove. + (vrmlsldavhq_p): Remove. + (vrmlsldavhxq_p): Remove. + (vrmlaldavhq_u32): Remove. + (vrmlsldavhxq_s32): Remove. + (vrmlsldavhq_s32): Remove. + (vrmlaldavhxq_s32): Remove. + (vrmlaldavhq_s32): Remove. + (vrmlaldavhq_p_s32): Remove. + (vrmlaldavhxq_p_s32): Remove. + (vrmlsldavhq_p_s32): Remove. + (vrmlsldavhxq_p_s32): Remove. + (vrmlaldavhq_p_u32): Remove. + (__arm_vrmlaldavhq_u32): Remove. + (__arm_vrmlsldavhxq_s32): Remove. + (__arm_vrmlsldavhq_s32): Remove. + (__arm_vrmlaldavhxq_s32): Remove. + (__arm_vrmlaldavhq_s32): Remove. + (__arm_vrmlaldavhq_p_s32): Remove. + (__arm_vrmlaldavhxq_p_s32): Remove. + (__arm_vrmlsldavhq_p_s32): Remove. + (__arm_vrmlsldavhxq_p_s32): Remove. + (__arm_vrmlaldavhq_p_u32): Remove. + (__arm_vrmlaldavhq): Remove. + (__arm_vrmlsldavhxq): Remove. + (__arm_vrmlsldavhq): Remove. + (__arm_vrmlaldavhxq): Remove. + (__arm_vrmlaldavhq_p): Remove. + (__arm_vrmlaldavhxq_p): Remove. + (__arm_vrmlsldavhq_p): Remove. + (__arm_vrmlsldavhxq_p): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (MVE_VRMLxLDAVxQ, MVE_VRMLxLDAVHxQ_P): + New. + (mve_insn): Add vrmlaldavh, vrmlaldavhx, vrmlsldavh, vrmlsldavhx. + (supf): Add VRMLALDAVHXQ_P_S, VRMLALDAVHXQ_S, VRMLSLDAVHQ_P_S, + VRMLSLDAVHQ_S, VRMLSLDAVHXQ_P_S, VRMLSLDAVHXQ_S. + * config/arm/mve.md (mve_vrmlaldavhxq_sv4si) + (mve_vrmlsldavhq_sv4si, mve_vrmlsldavhxq_sv4si) + (mve_vrmlaldavhq_v4si): Merge into ... + (@mve_q_v4si): ... this. + (mve_vrmlaldavhxq_p_sv4si, mve_vrmlsldavhq_p_sv4si) + (mve_vrmlsldavhxq_p_sv4si, mve_vrmlaldavhq_p_v4si): Merge + into ... + (@mve_q_p_v4si): ... this. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vmlaldavq, vmlaldavxq) + (vmlsldavq, vmlsldavxq): New. + * config/arm/arm-mve-builtins-base.def (vmlaldavq, vmlaldavxq) + (vmlsldavq, vmlsldavxq): New. + * config/arm/arm-mve-builtins-base.h (vmlaldavq, vmlaldavxq) + (vmlsldavq, vmlsldavxq): New. + * config/arm/arm_mve.h (vmlaldavq): Remove. + (vmlsldavxq): Remove. + (vmlsldavq): Remove. + (vmlaldavxq): Remove. + (vmlaldavq_p): Remove. + (vmlaldavxq_p): Remove. + (vmlsldavq_p): Remove. + (vmlsldavxq_p): Remove. + (vmlaldavq_u16): Remove. + (vmlsldavxq_s16): Remove. + (vmlsldavq_s16): Remove. + (vmlaldavxq_s16): Remove. + (vmlaldavq_s16): Remove. + (vmlaldavq_u32): Remove. + (vmlsldavxq_s32): Remove. + (vmlsldavq_s32): Remove. + (vmlaldavxq_s32): Remove. + (vmlaldavq_s32): Remove. + (vmlaldavq_p_s16): Remove. + (vmlaldavxq_p_s16): Remove. + (vmlsldavq_p_s16): Remove. + (vmlsldavxq_p_s16): Remove. + (vmlaldavq_p_u16): Remove. + (vmlaldavq_p_s32): Remove. + (vmlaldavxq_p_s32): Remove. + (vmlsldavq_p_s32): Remove. + (vmlsldavxq_p_s32): Remove. + (vmlaldavq_p_u32): Remove. + (__arm_vmlaldavq_u16): Remove. + (__arm_vmlsldavxq_s16): Remove. + (__arm_vmlsldavq_s16): Remove. + (__arm_vmlaldavxq_s16): Remove. + (__arm_vmlaldavq_s16): Remove. + (__arm_vmlaldavq_u32): Remove. + (__arm_vmlsldavxq_s32): Remove. + (__arm_vmlsldavq_s32): Remove. + (__arm_vmlaldavxq_s32): Remove. + (__arm_vmlaldavq_s32): Remove. + (__arm_vmlaldavq_p_s16): Remove. + (__arm_vmlaldavxq_p_s16): Remove. + (__arm_vmlsldavq_p_s16): Remove. + (__arm_vmlsldavxq_p_s16): Remove. + (__arm_vmlaldavq_p_u16): Remove. + (__arm_vmlaldavq_p_s32): Remove. + (__arm_vmlaldavxq_p_s32): Remove. + (__arm_vmlsldavq_p_s32): Remove. + (__arm_vmlsldavxq_p_s32): Remove. + (__arm_vmlaldavq_p_u32): Remove. + (__arm_vmlaldavq): Remove. + (__arm_vmlsldavxq): Remove. + (__arm_vmlsldavq): Remove. + (__arm_vmlaldavxq): Remove. + (__arm_vmlaldavq_p): Remove. + (__arm_vmlaldavxq_p): Remove. + (__arm_vmlsldavq_p): Remove. + (__arm_vmlsldavxq_p): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (MVE_VMLxLDAVxQ, MVE_VMLxLDAVxQ_P): New. + (mve_insn): Add vmlaldav, vmlaldavx, vmlsldav, vmlsldavx. + (supf): Add VMLALDAVXQ_S, VMLSLDAVQ_S, VMLSLDAVXQ_S, + VMLALDAVXQ_P_S, VMLSLDAVQ_P_S, VMLSLDAVXQ_P_S. + * config/arm/mve.md (mve_vmlaldavq_) + (mve_vmlaldavxq_s, mve_vmlsldavq_s) + (mve_vmlsldavxq_s): Merge into ... + (@mve_q_): ... this. + (mve_vmlaldavq_p_, mve_vmlaldavxq_p_s) + (mve_vmlsldavq_p_s, mve_vmlsldavxq_p_s): Merge into + ... + (@mve_q_p_): ... this. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_acc_int64): New. + * config/arm/arm-mve-builtins-shapes.h (binary_acc_int64): New. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vabavq): New. + * config/arm/arm-mve-builtins-base.def (vabavq): New. + * config/arm/arm-mve-builtins-base.h (vabavq): New. + * config/arm/arm_mve.h (vabavq): Remove. + (vabavq_p): Remove. + (vabavq_s8): Remove. + (vabavq_s16): Remove. + (vabavq_s32): Remove. + (vabavq_u8): Remove. + (vabavq_u16): Remove. + (vabavq_u32): Remove. + (vabavq_p_s8): Remove. + (vabavq_p_u8): Remove. + (vabavq_p_s16): Remove. + (vabavq_p_u16): Remove. + (vabavq_p_s32): Remove. + (vabavq_p_u32): Remove. + (__arm_vabavq_s8): Remove. + (__arm_vabavq_s16): Remove. + (__arm_vabavq_s32): Remove. + (__arm_vabavq_u8): Remove. + (__arm_vabavq_u16): Remove. + (__arm_vabavq_u32): Remove. + (__arm_vabavq_p_s8): Remove. + (__arm_vabavq_p_u8): Remove. + (__arm_vabavq_p_s16): Remove. + (__arm_vabavq_p_u16): Remove. + (__arm_vabavq_p_s32): Remove. + (__arm_vabavq_p_u32): Remove. + (__arm_vabavq): Remove. + (__arm_vabavq_p): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (mve_insn): Add vabav. + * config/arm/mve.md (mve_vabavq_): Rename into ... + (@mve_q_): ... this,. + (mve_vabavq_p_): Rename into ... + (@mve_q_p_): ... this,. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vmladavaxq, vmladavaq) + (vmlsdavaq, vmlsdavaxq): New. + * config/arm/arm-mve-builtins-base.def (vmladavaxq, vmladavaq) + (vmlsdavaq, vmlsdavaxq): New. + * config/arm/arm-mve-builtins-base.h (vmladavaxq, vmladavaq) + (vmlsdavaq, vmlsdavaxq): New. + * config/arm/arm_mve.h (vmladavaq): Remove. + (vmlsdavaxq): Remove. + (vmlsdavaq): Remove. + (vmladavaxq): Remove. + (vmladavaq_p): Remove. + (vmladavaxq_p): Remove. + (vmlsdavaq_p): Remove. + (vmlsdavaxq_p): Remove. + (vmladavaq_u8): Remove. + (vmlsdavaxq_s8): Remove. + (vmlsdavaq_s8): Remove. + (vmladavaxq_s8): Remove. + (vmladavaq_s8): Remove. + (vmladavaq_u16): Remove. + (vmlsdavaxq_s16): Remove. + (vmlsdavaq_s16): Remove. + (vmladavaxq_s16): Remove. + (vmladavaq_s16): Remove. + (vmladavaq_u32): Remove. + (vmlsdavaxq_s32): Remove. + (vmlsdavaq_s32): Remove. + (vmladavaxq_s32): Remove. + (vmladavaq_s32): Remove. + (vmladavaq_p_s8): Remove. + (vmladavaq_p_s32): Remove. + (vmladavaq_p_s16): Remove. + (vmladavaq_p_u8): Remove. + (vmladavaq_p_u32): Remove. + (vmladavaq_p_u16): Remove. + (vmladavaxq_p_s8): Remove. + (vmladavaxq_p_s32): Remove. + (vmladavaxq_p_s16): Remove. + (vmlsdavaq_p_s8): Remove. + (vmlsdavaq_p_s32): Remove. + (vmlsdavaq_p_s16): Remove. + (vmlsdavaxq_p_s8): Remove. + (vmlsdavaxq_p_s32): Remove. + (vmlsdavaxq_p_s16): Remove. + (__arm_vmladavaq_u8): Remove. + (__arm_vmlsdavaxq_s8): Remove. + (__arm_vmlsdavaq_s8): Remove. + (__arm_vmladavaxq_s8): Remove. + (__arm_vmladavaq_s8): Remove. + (__arm_vmladavaq_u16): Remove. + (__arm_vmlsdavaxq_s16): Remove. + (__arm_vmlsdavaq_s16): Remove. + (__arm_vmladavaxq_s16): Remove. + (__arm_vmladavaq_s16): Remove. + (__arm_vmladavaq_u32): Remove. + (__arm_vmlsdavaxq_s32): Remove. + (__arm_vmlsdavaq_s32): Remove. + (__arm_vmladavaxq_s32): Remove. + (__arm_vmladavaq_s32): Remove. + (__arm_vmladavaq_p_s8): Remove. + (__arm_vmladavaq_p_s32): Remove. + (__arm_vmladavaq_p_s16): Remove. + (__arm_vmladavaq_p_u8): Remove. + (__arm_vmladavaq_p_u32): Remove. + (__arm_vmladavaq_p_u16): Remove. + (__arm_vmladavaxq_p_s8): Remove. + (__arm_vmladavaxq_p_s32): Remove. + (__arm_vmladavaxq_p_s16): Remove. + (__arm_vmlsdavaq_p_s8): Remove. + (__arm_vmlsdavaq_p_s32): Remove. + (__arm_vmlsdavaq_p_s16): Remove. + (__arm_vmlsdavaxq_p_s8): Remove. + (__arm_vmlsdavaxq_p_s32): Remove. + (__arm_vmlsdavaxq_p_s16): Remove. + (__arm_vmladavaq): Remove. + (__arm_vmlsdavaxq): Remove. + (__arm_vmlsdavaq): Remove. + (__arm_vmladavaxq): Remove. + (__arm_vmladavaq_p): Remove. + (__arm_vmladavaxq_p): Remove. + (__arm_vmlsdavaq_p): Remove. + (__arm_vmlsdavaxq_p): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_acca_int32): New. + * config/arm/arm-mve-builtins-shapes.h (binary_acca_int32): New. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vmladavq, vmladavxq) + (vmlsdavq, vmlsdavxq): New. + * config/arm/arm-mve-builtins-base.def (vmladavq, vmladavxq) + (vmlsdavq, vmlsdavxq): New. + * config/arm/arm-mve-builtins-base.h (vmladavq, vmladavxq) + (vmlsdavq, vmlsdavxq): New. + * config/arm/arm_mve.h (vmladavq): Remove. + (vmlsdavxq): Remove. + (vmlsdavq): Remove. + (vmladavxq): Remove. + (vmladavq_p): Remove. + (vmlsdavxq_p): Remove. + (vmlsdavq_p): Remove. + (vmladavxq_p): Remove. + (vmladavq_u8): Remove. + (vmlsdavxq_s8): Remove. + (vmlsdavq_s8): Remove. + (vmladavxq_s8): Remove. + (vmladavq_s8): Remove. + (vmladavq_u16): Remove. + (vmlsdavxq_s16): Remove. + (vmlsdavq_s16): Remove. + (vmladavxq_s16): Remove. + (vmladavq_s16): Remove. + (vmladavq_u32): Remove. + (vmlsdavxq_s32): Remove. + (vmlsdavq_s32): Remove. + (vmladavxq_s32): Remove. + (vmladavq_s32): Remove. + (vmladavq_p_u8): Remove. + (vmlsdavxq_p_s8): Remove. + (vmlsdavq_p_s8): Remove. + (vmladavxq_p_s8): Remove. + (vmladavq_p_s8): Remove. + (vmladavq_p_u16): Remove. + (vmlsdavxq_p_s16): Remove. + (vmlsdavq_p_s16): Remove. + (vmladavxq_p_s16): Remove. + (vmladavq_p_s16): Remove. + (vmladavq_p_u32): Remove. + (vmlsdavxq_p_s32): Remove. + (vmlsdavq_p_s32): Remove. + (vmladavxq_p_s32): Remove. + (vmladavq_p_s32): Remove. + (__arm_vmladavq_u8): Remove. + (__arm_vmlsdavxq_s8): Remove. + (__arm_vmlsdavq_s8): Remove. + (__arm_vmladavxq_s8): Remove. + (__arm_vmladavq_s8): Remove. + (__arm_vmladavq_u16): Remove. + (__arm_vmlsdavxq_s16): Remove. + (__arm_vmlsdavq_s16): Remove. + (__arm_vmladavxq_s16): Remove. + (__arm_vmladavq_s16): Remove. + (__arm_vmladavq_u32): Remove. + (__arm_vmlsdavxq_s32): Remove. + (__arm_vmlsdavq_s32): Remove. + (__arm_vmladavxq_s32): Remove. + (__arm_vmladavq_s32): Remove. + (__arm_vmladavq_p_u8): Remove. + (__arm_vmlsdavxq_p_s8): Remove. + (__arm_vmlsdavq_p_s8): Remove. + (__arm_vmladavxq_p_s8): Remove. + (__arm_vmladavq_p_s8): Remove. + (__arm_vmladavq_p_u16): Remove. + (__arm_vmlsdavxq_p_s16): Remove. + (__arm_vmlsdavq_p_s16): Remove. + (__arm_vmladavxq_p_s16): Remove. + (__arm_vmladavq_p_s16): Remove. + (__arm_vmladavq_p_u32): Remove. + (__arm_vmlsdavxq_p_s32): Remove. + (__arm_vmlsdavq_p_s32): Remove. + (__arm_vmladavxq_p_s32): Remove. + (__arm_vmladavq_p_s32): Remove. + (__arm_vmladavq): Remove. + (__arm_vmlsdavxq): Remove. + (__arm_vmlsdavq): Remove. + (__arm_vmladavxq): Remove. + (__arm_vmladavq_p): Remove. + (__arm_vmlsdavxq_p): Remove. + (__arm_vmlsdavq_p): Remove. + (__arm_vmladavxq_p): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (MVE_VMLxDAVQ, MVE_VMLxDAVQ_P) + (MVE_VMLxDAVAQ, MVE_VMLxDAVAQ_P): New. + (mve_insn): Add vmladava, vmladavax, vmladav, vmladavx, vmlsdava, + vmlsdavax, vmlsdav, vmlsdavx. + (supf): Add VMLADAVAXQ_P_S, VMLADAVAXQ_S, VMLADAVXQ_P_S, + VMLADAVXQ_S, VMLSDAVAQ_P_S, VMLSDAVAQ_S, VMLSDAVAXQ_P_S, + VMLSDAVAXQ_S, VMLSDAVQ_P_S, VMLSDAVQ_S, VMLSDAVXQ_P_S, + VMLSDAVXQ_S. + * config/arm/mve.md (mve_vmladavq_) + (mve_vmladavxq_s, mve_vmlsdavq_s) + (mve_vmlsdavxq_s): Merge into ... + (@mve_q_): ... this. + (mve_vmlsdavaq_s, mve_vmladavaxq_s) + (mve_vmlsdavaxq_s, mve_vmladavaq_): Merge into + ... + (@mve_q_): ... this. + (mve_vmladavq_p_, mve_vmladavxq_p_s) + (mve_vmlsdavq_p_s, mve_vmlsdavxq_p_s): Merge into ... + (@mve_q_p_): ... this. + (mve_vmladavaq_p_, mve_vmladavaxq_p_s) + (mve_vmlsdavaq_p_s, mve_vmlsdavaxq_p_s): Merge into + ... + (@mve_q_p_): ... this. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_acc_int32): New. + * config/arm/arm-mve-builtins-shapes.h (binary_acc_int32): New. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vaddlvaq): New. + * config/arm/arm-mve-builtins-base.def (vaddlvaq): New. + * config/arm/arm-mve-builtins-base.h (vaddlvaq): New. + * config/arm/arm_mve.h (vaddlvaq): Remove. + (vaddlvaq_p): Remove. + (vaddlvaq_u32): Remove. + (vaddlvaq_s32): Remove. + (vaddlvaq_p_s32): Remove. + (vaddlvaq_p_u32): Remove. + (__arm_vaddlvaq_u32): Remove. + (__arm_vaddlvaq_s32): Remove. + (__arm_vaddlvaq_p_s32): Remove. + (__arm_vaddlvaq_p_u32): Remove. + (__arm_vaddlvaq): Remove. + (__arm_vaddlvaq_p): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (unary_widen_acc): New. + * config/arm/arm-mve-builtins-shapes.h (unary_widen_acc): New. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (mve_insn): Add vaddlva. + * config/arm/mve.md (mve_vaddlvaq_v4si): Rename into ... + (@mve_q_v4si): ... this. + (mve_vaddlvaq_p_v4si): Rename into ... + (@mve_q_p_v4si): ... this. + +2023-05-11 Uros Bizjak + + PR target/109807 + * config/i386/i386.cc (ix86_widen_mult_cost): + Handle V4HImode and V2SImode. + +2023-05-11 Andrew Pinski + + * tree-ssa-dce.cc (simple_dce_from_worklist): For ssa names + defined by a phi node with more than one uses, allow for the + only uses are in that same defining statement. + +2023-05-11 Robin Dapp + + * config/riscv/riscv.cc (riscv_const_insns): Add permissible + vector constants. + +2023-05-11 Pan Li + + * config/riscv/vector.md: Add comments for simplifying to vmset. + +2023-05-11 Robin Dapp + + * config/riscv/autovec.md (3): Add scalar shift + pattern. + (v3): Add vector shift pattern. + * config/riscv/vector-iterators.md: New iterator. + +2023-05-11 Robin Dapp + + * config/riscv/autovec.md: Use renamed functions. + * config/riscv/riscv-protos.h (emit_vlmax_op): Rename. + (emit_vlmax_reg_op): To this. + (emit_nonvlmax_op): Rename. + (emit_len_op): To this. + (emit_nonvlmax_binop): Rename. + (emit_len_binop): To this. + * config/riscv/riscv-v.cc (emit_pred_op): Add default parameter. + (emit_pred_binop): Remove vlmax_p. + (emit_vlmax_op): Rename. + (emit_vlmax_reg_op): To this. + (emit_nonvlmax_op): Rename. + (emit_len_op): To this. + (emit_nonvlmax_binop): Rename. + (emit_len_binop): To this. + (sew64_scalar_helper): Use renamed functions. + (expand_tuple_move): Use renamed functions. + * config/riscv/riscv.cc (vector_zero_call_used_regs): Use + renamed functions. + * config/riscv/vector.md: Use renamed functions. + +2023-05-11 Robin Dapp + Michael Collison + + * config/riscv/autovec.md (3): Add integer binops. + * config/riscv/riscv-protos.h (emit_nonvlmax_binop): Declare. + * config/riscv/riscv-v.cc (emit_pred_op): New function. + (set_expander_dest_and_mask): New function. + (emit_pred_binop): New function. + (emit_nonvlmax_binop): New function. + +2023-05-11 Pan Li + + * cfgloopmanip.cc (create_empty_loop_on_edge): Add PLUS_EXPR. + * gimple-loop-interchange.cc + (tree_loop_interchange::map_inductions_to_loop): Ditto. + * tree-ssa-loop-ivcanon.cc (create_canonical_iv): Ditto. + * tree-ssa-loop-ivopts.cc (create_new_iv): Ditto. + * tree-ssa-loop-manip.cc (create_iv): Ditto. + (tree_transform_and_unroll_loop): Ditto. + (canonicalize_loop_ivs): Ditto. + * tree-ssa-loop-manip.h (create_iv): Ditto. + * tree-vect-data-refs.cc (vect_create_data_ref_ptr): Ditto. + * tree-vect-loop-manip.cc (vect_set_loop_controls_directly): + Ditto. + (vect_set_loop_condition_normal): Ditto. + * tree-vect-loop.cc (vect_create_epilog_for_reduction): Ditto. + * tree-vect-stmts.cc (vectorizable_store): Ditto. + (vectorizable_load): Ditto. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vmovlbq, vmovltq): New. + * config/arm/arm-mve-builtins-base.def (vmovlbq, vmovltq): New. + * config/arm/arm-mve-builtins-base.h (vmovlbq, vmovltq): New. + * config/arm/arm_mve.h (vmovlbq): Remove. + (vmovltq): Remove. + (vmovlbq_m): Remove. + (vmovltq_m): Remove. + (vmovlbq_x): Remove. + (vmovltq_x): Remove. + (vmovlbq_s8): Remove. + (vmovlbq_s16): Remove. + (vmovltq_s8): Remove. + (vmovltq_s16): Remove. + (vmovltq_u8): Remove. + (vmovltq_u16): Remove. + (vmovlbq_u8): Remove. + (vmovlbq_u16): Remove. + (vmovlbq_m_s8): Remove. + (vmovltq_m_s8): Remove. + (vmovlbq_m_u8): Remove. + (vmovltq_m_u8): Remove. + (vmovlbq_m_s16): Remove. + (vmovltq_m_s16): Remove. + (vmovlbq_m_u16): Remove. + (vmovltq_m_u16): Remove. + (vmovlbq_x_s8): Remove. + (vmovlbq_x_s16): Remove. + (vmovlbq_x_u8): Remove. + (vmovlbq_x_u16): Remove. + (vmovltq_x_s8): Remove. + (vmovltq_x_s16): Remove. + (vmovltq_x_u8): Remove. + (vmovltq_x_u16): Remove. + (__arm_vmovlbq_s8): Remove. + (__arm_vmovlbq_s16): Remove. + (__arm_vmovltq_s8): Remove. + (__arm_vmovltq_s16): Remove. + (__arm_vmovltq_u8): Remove. + (__arm_vmovltq_u16): Remove. + (__arm_vmovlbq_u8): Remove. + (__arm_vmovlbq_u16): Remove. + (__arm_vmovlbq_m_s8): Remove. + (__arm_vmovltq_m_s8): Remove. + (__arm_vmovlbq_m_u8): Remove. + (__arm_vmovltq_m_u8): Remove. + (__arm_vmovlbq_m_s16): Remove. + (__arm_vmovltq_m_s16): Remove. + (__arm_vmovlbq_m_u16): Remove. + (__arm_vmovltq_m_u16): Remove. + (__arm_vmovlbq_x_s8): Remove. + (__arm_vmovlbq_x_s16): Remove. + (__arm_vmovlbq_x_u8): Remove. + (__arm_vmovlbq_x_u16): Remove. + (__arm_vmovltq_x_s8): Remove. + (__arm_vmovltq_x_s16): Remove. + (__arm_vmovltq_x_u8): Remove. + (__arm_vmovltq_x_u16): Remove. + (__arm_vmovlbq): Remove. + (__arm_vmovltq): Remove. + (__arm_vmovlbq_m): Remove. + (__arm_vmovltq_m): Remove. + (__arm_vmovlbq_x): Remove. + (__arm_vmovltq_x): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (unary_widen): New. + * config/arm/arm-mve-builtins-shapes.h (unary_widen): New. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (mve_insn): Add vmovlb, vmovlt. + (VMOVLBQ, VMOVLTQ): Merge into ... + (VMOVLxQ): ... this. + (VMOVLTQ_M, VMOVLBQ_M): Merge into ... + (VMOVLxQ_M): ... this. + * config/arm/mve.md (mve_vmovltq_) + (mve_vmovlbq_): Merge into ... + (@mve_q_): ... this. + (mve_vmovlbq_m_, mve_vmovltq_m_): Merge + into ... + (@mve_q_m_): ... this. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vaddlvq): New. + * config/arm/arm-mve-builtins-base.def (vaddlvq): New. + * config/arm/arm-mve-builtins-base.h (vaddlvq): New. + * config/arm/arm-mve-builtins-functions.h + (unspec_mve_function_exact_insn_pred_p): Handle vaddlvq. + * config/arm/arm_mve.h (vaddlvq): Remove. + (vaddlvq_p): Remove. + (vaddlvq_s32): Remove. + (vaddlvq_u32): Remove. + (vaddlvq_p_s32): Remove. + (vaddlvq_p_u32): Remove. + (__arm_vaddlvq_s32): Remove. + (__arm_vaddlvq_u32): Remove. + (__arm_vaddlvq_p_s32): Remove. + (__arm_vaddlvq_p_u32): Remove. + (__arm_vaddlvq): Remove. + (__arm_vaddlvq_p): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (mve_insn): Add vaddlv. + * config/arm/mve.md (mve_vaddlvq_v4si): Rename into ... + (@mve_q_v4si): ... this. + (mve_vaddlvq_p_v4si): Rename into ... + (@mve_q_p_v4si): ... this. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (unary_acc): New. + * config/arm/arm-mve-builtins-shapes.h (unary_acc): New. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vaddvaq): New. + * config/arm/arm-mve-builtins-base.def (vaddvaq): New. + * config/arm/arm-mve-builtins-base.h (vaddvaq): New. + * config/arm/arm_mve.h (vaddvaq): Remove. + (vaddvaq_p): Remove. + (vaddvaq_u8): Remove. + (vaddvaq_s8): Remove. + (vaddvaq_u16): Remove. + (vaddvaq_s16): Remove. + (vaddvaq_u32): Remove. + (vaddvaq_s32): Remove. + (vaddvaq_p_u8): Remove. + (vaddvaq_p_s8): Remove. + (vaddvaq_p_u16): Remove. + (vaddvaq_p_s16): Remove. + (vaddvaq_p_u32): Remove. + (vaddvaq_p_s32): Remove. + (__arm_vaddvaq_u8): Remove. + (__arm_vaddvaq_s8): Remove. + (__arm_vaddvaq_u16): Remove. + (__arm_vaddvaq_s16): Remove. + (__arm_vaddvaq_u32): Remove. + (__arm_vaddvaq_s32): Remove. + (__arm_vaddvaq_p_u8): Remove. + (__arm_vaddvaq_p_s8): Remove. + (__arm_vaddvaq_p_u16): Remove. + (__arm_vaddvaq_p_s16): Remove. + (__arm_vaddvaq_p_u32): Remove. + (__arm_vaddvaq_p_s32): Remove. + (__arm_vaddvaq): Remove. + (__arm_vaddvaq_p): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (unary_int32_acc): New. + * config/arm/arm-mve-builtins-shapes.h (unary_int32_acc): New. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (mve_insn): Add vaddva. + * config/arm/mve.md (mve_vaddvaq_): Rename into ... + (@mve_q_): ... this. + (mve_vaddvaq_p_): Rename into ... + (@mve_q_p_): ... this. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vaddvq): New. + * config/arm/arm-mve-builtins-base.def (vaddvq): New. + * config/arm/arm-mve-builtins-base.h (vaddvq): New. + * config/arm/arm_mve.h (vaddvq): Remove. + (vaddvq_p): Remove. + (vaddvq_s8): Remove. + (vaddvq_s16): Remove. + (vaddvq_s32): Remove. + (vaddvq_u8): Remove. + (vaddvq_u16): Remove. + (vaddvq_u32): Remove. + (vaddvq_p_u8): Remove. + (vaddvq_p_s8): Remove. + (vaddvq_p_u16): Remove. + (vaddvq_p_s16): Remove. + (vaddvq_p_u32): Remove. + (vaddvq_p_s32): Remove. + (__arm_vaddvq_s8): Remove. + (__arm_vaddvq_s16): Remove. + (__arm_vaddvq_s32): Remove. + (__arm_vaddvq_u8): Remove. + (__arm_vaddvq_u16): Remove. + (__arm_vaddvq_u32): Remove. + (__arm_vaddvq_p_u8): Remove. + (__arm_vaddvq_p_s8): Remove. + (__arm_vaddvq_p_u16): Remove. + (__arm_vaddvq_p_s16): Remove. + (__arm_vaddvq_p_u32): Remove. + (__arm_vaddvq_p_s32): Remove. + (__arm_vaddvq): Remove. + (__arm_vaddvq_p): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (unary_int32): New. + * config/arm/arm-mve-builtins-shapes.h (unary_int32): New. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (mve_insn): Add vaddv. + * config/arm/mve.md (@mve_vaddvq_): Rename into ... + (@mve_q_): ... this. + (mve_vaddvq_p_): Rename into ... + (@mve_q_p_): ... this. + * config/arm/vec-common.md: Use gen_mve_q instead of + gen_mve_vaddvq. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_ONLY_N): New. + (vdupq): New. + * config/arm/arm-mve-builtins-base.def (vdupq): New. + * config/arm/arm-mve-builtins-base.h: (vdupq): New. + * config/arm/arm_mve.h (vdupq_n): Remove. + (vdupq_m): Remove. + (vdupq_n_f16): Remove. + (vdupq_n_f32): Remove. + (vdupq_n_s8): Remove. + (vdupq_n_s16): Remove. + (vdupq_n_s32): Remove. + (vdupq_n_u8): Remove. + (vdupq_n_u16): Remove. + (vdupq_n_u32): Remove. + (vdupq_m_n_u8): Remove. + (vdupq_m_n_s8): Remove. + (vdupq_m_n_u16): Remove. + (vdupq_m_n_s16): Remove. + (vdupq_m_n_u32): Remove. + (vdupq_m_n_s32): Remove. + (vdupq_m_n_f16): Remove. + (vdupq_m_n_f32): Remove. + (vdupq_x_n_s8): Remove. + (vdupq_x_n_s16): Remove. + (vdupq_x_n_s32): Remove. + (vdupq_x_n_u8): Remove. + (vdupq_x_n_u16): Remove. + (vdupq_x_n_u32): Remove. + (vdupq_x_n_f16): Remove. + (vdupq_x_n_f32): Remove. + (__arm_vdupq_n_s8): Remove. + (__arm_vdupq_n_s16): Remove. + (__arm_vdupq_n_s32): Remove. + (__arm_vdupq_n_u8): Remove. + (__arm_vdupq_n_u16): Remove. + (__arm_vdupq_n_u32): Remove. + (__arm_vdupq_m_n_u8): Remove. + (__arm_vdupq_m_n_s8): Remove. + (__arm_vdupq_m_n_u16): Remove. + (__arm_vdupq_m_n_s16): Remove. + (__arm_vdupq_m_n_u32): Remove. + (__arm_vdupq_m_n_s32): Remove. + (__arm_vdupq_x_n_s8): Remove. + (__arm_vdupq_x_n_s16): Remove. + (__arm_vdupq_x_n_s32): Remove. + (__arm_vdupq_x_n_u8): Remove. + (__arm_vdupq_x_n_u16): Remove. + (__arm_vdupq_x_n_u32): Remove. + (__arm_vdupq_n_f16): Remove. + (__arm_vdupq_n_f32): Remove. + (__arm_vdupq_m_n_f16): Remove. + (__arm_vdupq_m_n_f32): Remove. + (__arm_vdupq_x_n_f16): Remove. + (__arm_vdupq_x_n_f32): Remove. + (__arm_vdupq_n): Remove. + (__arm_vdupq_m): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (unary_n): New. + * config/arm/arm-mve-builtins-shapes.h (unary_n): New. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (MVE_FP_M_N_VDUPQ_ONLY) + (MVE_FP_N_VDUPQ_ONLY): New. + (mve_insn): Add vdupq. + * config/arm/mve.md (mve_vdupq_n_f): Rename into ... + (@mve_q_n_f): ... this. + (mve_vdupq_n_): Rename into ... + (@mve_q_n_): ... this. + (mve_vdupq_m_n_): Rename into ... + (@mve_q_m_n_): ... this. + (mve_vdupq_m_n_f): Rename into ... + (@mve_q_m_n_f): ... this. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vrev16q, vrev32q, vrev64q): + New. + * config/arm/arm-mve-builtins-base.def (vrev16q, vrev32q) + (vrev64q): New. + * config/arm/arm-mve-builtins-base.h (vrev16q, vrev32q) + (vrev64q): New. + * config/arm/arm_mve.h (vrev16q): Remove. + (vrev32q): Remove. + (vrev64q): Remove. + (vrev64q_m): Remove. + (vrev16q_m): Remove. + (vrev32q_m): Remove. + (vrev16q_x): Remove. + (vrev32q_x): Remove. + (vrev64q_x): Remove. + (vrev64q_f16): Remove. + (vrev64q_f32): Remove. + (vrev32q_f16): Remove. + (vrev16q_s8): Remove. + (vrev32q_s8): Remove. + (vrev32q_s16): Remove. + (vrev64q_s8): Remove. + (vrev64q_s16): Remove. + (vrev64q_s32): Remove. + (vrev64q_u8): Remove. + (vrev64q_u16): Remove. + (vrev64q_u32): Remove. + (vrev32q_u8): Remove. + (vrev32q_u16): Remove. + (vrev16q_u8): Remove. + (vrev64q_m_u8): Remove. + (vrev64q_m_s8): Remove. + (vrev64q_m_u16): Remove. + (vrev64q_m_s16): Remove. + (vrev64q_m_u32): Remove. + (vrev64q_m_s32): Remove. + (vrev16q_m_s8): Remove. + (vrev32q_m_f16): Remove. + (vrev16q_m_u8): Remove. + (vrev32q_m_s8): Remove. + (vrev64q_m_f16): Remove. + (vrev32q_m_u8): Remove. + (vrev32q_m_s16): Remove. + (vrev64q_m_f32): Remove. + (vrev32q_m_u16): Remove. + (vrev16q_x_s8): Remove. + (vrev16q_x_u8): Remove. + (vrev32q_x_s8): Remove. + (vrev32q_x_s16): Remove. + (vrev32q_x_u8): Remove. + (vrev32q_x_u16): Remove. + (vrev64q_x_s8): Remove. + (vrev64q_x_s16): Remove. + (vrev64q_x_s32): Remove. + (vrev64q_x_u8): Remove. + (vrev64q_x_u16): Remove. + (vrev64q_x_u32): Remove. + (vrev32q_x_f16): Remove. + (vrev64q_x_f16): Remove. + (vrev64q_x_f32): Remove. + (__arm_vrev16q_s8): Remove. + (__arm_vrev32q_s8): Remove. + (__arm_vrev32q_s16): Remove. + (__arm_vrev64q_s8): Remove. + (__arm_vrev64q_s16): Remove. + (__arm_vrev64q_s32): Remove. + (__arm_vrev64q_u8): Remove. + (__arm_vrev64q_u16): Remove. + (__arm_vrev64q_u32): Remove. + (__arm_vrev32q_u8): Remove. + (__arm_vrev32q_u16): Remove. + (__arm_vrev16q_u8): Remove. + (__arm_vrev64q_m_u8): Remove. + (__arm_vrev64q_m_s8): Remove. + (__arm_vrev64q_m_u16): Remove. + (__arm_vrev64q_m_s16): Remove. + (__arm_vrev64q_m_u32): Remove. + (__arm_vrev64q_m_s32): Remove. + (__arm_vrev16q_m_s8): Remove. + (__arm_vrev16q_m_u8): Remove. + (__arm_vrev32q_m_s8): Remove. + (__arm_vrev32q_m_u8): Remove. + (__arm_vrev32q_m_s16): Remove. + (__arm_vrev32q_m_u16): Remove. + (__arm_vrev16q_x_s8): Remove. + (__arm_vrev16q_x_u8): Remove. + (__arm_vrev32q_x_s8): Remove. + (__arm_vrev32q_x_s16): Remove. + (__arm_vrev32q_x_u8): Remove. + (__arm_vrev32q_x_u16): Remove. + (__arm_vrev64q_x_s8): Remove. + (__arm_vrev64q_x_s16): Remove. + (__arm_vrev64q_x_s32): Remove. + (__arm_vrev64q_x_u8): Remove. + (__arm_vrev64q_x_u16): Remove. + (__arm_vrev64q_x_u32): Remove. + (__arm_vrev64q_f16): Remove. + (__arm_vrev64q_f32): Remove. + (__arm_vrev32q_f16): Remove. + (__arm_vrev32q_m_f16): Remove. + (__arm_vrev64q_m_f16): Remove. + (__arm_vrev64q_m_f32): Remove. + (__arm_vrev32q_x_f16): Remove. + (__arm_vrev64q_x_f16): Remove. + (__arm_vrev64q_x_f32): Remove. + (__arm_vrev16q): Remove. + (__arm_vrev32q): Remove. + (__arm_vrev64q): Remove. + (__arm_vrev64q_m): Remove. + (__arm_vrev16q_m): Remove. + (__arm_vrev32q_m): Remove. + (__arm_vrev16q_x): Remove. + (__arm_vrev32q_x): Remove. + (__arm_vrev64q_x): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (MVE_V8HF, MVE_V16QI) + (MVE_FP_VREV64Q_ONLY, MVE_FP_M_VREV64Q_ONLY, MVE_FP_VREV32Q_ONLY) + (MVE_FP_M_VREV32Q_ONLY): New iterators. + (mve_insn): Add vrev16q, vrev32q, vrev64q. + * config/arm/mve.md (mve_vrev64q_f): Rename into ... + (@mve_q_f): ... this + (mve_vrev32q_fv8hf): Rename into @mve_q_f. + (mve_vrev64q_): Rename into ... + (@mve_q_): ... this. + (mve_vrev32q_): Rename into + @mve_q_. + (mve_vrev16q_v16qi): Rename into + @mve_q_. + (mve_vrev64q_m_): Rename into + @mve_q_m_. + (mve_vrev32q_m_fv8hf): Rename into @mve_q_m_f. + (mve_vrev32q_m_): Rename into + @mve_q_m_. + (mve_vrev64q_m_f): Rename into @mve_q_m_f. + (mve_vrev16q_m_v16qi): Rename into + @mve_q_m_. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vcmpeqq, vcmpneq, vcmpgeq) + (vcmpgtq, vcmpleq, vcmpltq, vcmpcsq, vcmphiq): New. + * config/arm/arm-mve-builtins-base.def (vcmpeqq, vcmpneq, vcmpgeq) + (vcmpgtq, vcmpleq, vcmpltq, vcmpcsq, vcmphiq): New. + * config/arm/arm-mve-builtins-base.h (vcmpeqq, vcmpneq, vcmpgeq) + (vcmpgtq, vcmpleq, vcmpltq, vcmpcsq, vcmphiq): New. + * config/arm/arm-mve-builtins-functions.h (class + unspec_based_mve_function_exact_insn_vcmp): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vcmp. + * config/arm/arm_mve.h (vcmpneq): Remove. + (vcmphiq): Remove. + (vcmpeqq): Remove. + (vcmpcsq): Remove. + (vcmpltq): Remove. + (vcmpleq): Remove. + (vcmpgtq): Remove. + (vcmpgeq): Remove. + (vcmpneq_m): Remove. + (vcmphiq_m): Remove. + (vcmpeqq_m): Remove. + (vcmpcsq_m): Remove. + (vcmpcsq_m_n): Remove. + (vcmpltq_m): Remove. + (vcmpleq_m): Remove. + (vcmpgtq_m): Remove. + (vcmpgeq_m): Remove. + (vcmpneq_s8): Remove. + (vcmpneq_s16): Remove. + (vcmpneq_s32): Remove. + (vcmpneq_u8): Remove. + (vcmpneq_u16): Remove. + (vcmpneq_u32): Remove. + (vcmpneq_n_u8): Remove. + (vcmphiq_u8): Remove. + (vcmphiq_n_u8): Remove. + (vcmpeqq_u8): Remove. + (vcmpeqq_n_u8): Remove. + (vcmpcsq_u8): Remove. + (vcmpcsq_n_u8): Remove. + (vcmpneq_n_s8): Remove. + (vcmpltq_s8): Remove. + (vcmpltq_n_s8): Remove. + (vcmpleq_s8): Remove. + (vcmpleq_n_s8): Remove. + (vcmpgtq_s8): Remove. + (vcmpgtq_n_s8): Remove. + (vcmpgeq_s8): Remove. + (vcmpgeq_n_s8): Remove. + (vcmpeqq_s8): Remove. + (vcmpeqq_n_s8): Remove. + (vcmpneq_n_u16): Remove. + (vcmphiq_u16): Remove. + (vcmphiq_n_u16): Remove. + (vcmpeqq_u16): Remove. + (vcmpeqq_n_u16): Remove. + (vcmpcsq_u16): Remove. + (vcmpcsq_n_u16): Remove. + (vcmpneq_n_s16): Remove. + (vcmpltq_s16): Remove. + (vcmpltq_n_s16): Remove. + (vcmpleq_s16): Remove. + (vcmpleq_n_s16): Remove. + (vcmpgtq_s16): Remove. + (vcmpgtq_n_s16): Remove. + (vcmpgeq_s16): Remove. + (vcmpgeq_n_s16): Remove. + (vcmpeqq_s16): Remove. + (vcmpeqq_n_s16): Remove. + (vcmpneq_n_u32): Remove. + (vcmphiq_u32): Remove. + (vcmphiq_n_u32): Remove. + (vcmpeqq_u32): Remove. + (vcmpeqq_n_u32): Remove. + (vcmpcsq_u32): Remove. + (vcmpcsq_n_u32): Remove. + (vcmpneq_n_s32): Remove. + (vcmpltq_s32): Remove. + (vcmpltq_n_s32): Remove. + (vcmpleq_s32): Remove. + (vcmpleq_n_s32): Remove. + (vcmpgtq_s32): Remove. + (vcmpgtq_n_s32): Remove. + (vcmpgeq_s32): Remove. + (vcmpgeq_n_s32): Remove. + (vcmpeqq_s32): Remove. + (vcmpeqq_n_s32): Remove. + (vcmpneq_n_f16): Remove. + (vcmpneq_f16): Remove. + (vcmpltq_n_f16): Remove. + (vcmpltq_f16): Remove. + (vcmpleq_n_f16): Remove. + (vcmpleq_f16): Remove. + (vcmpgtq_n_f16): Remove. + (vcmpgtq_f16): Remove. + (vcmpgeq_n_f16): Remove. + (vcmpgeq_f16): Remove. + (vcmpeqq_n_f16): Remove. + (vcmpeqq_f16): Remove. + (vcmpneq_n_f32): Remove. + (vcmpneq_f32): Remove. + (vcmpltq_n_f32): Remove. + (vcmpltq_f32): Remove. + (vcmpleq_n_f32): Remove. + (vcmpleq_f32): Remove. + (vcmpgtq_n_f32): Remove. + (vcmpgtq_f32): Remove. + (vcmpgeq_n_f32): Remove. + (vcmpgeq_f32): Remove. + (vcmpeqq_n_f32): Remove. + (vcmpeqq_f32): Remove. + (vcmpeqq_m_f16): Remove. + (vcmpeqq_m_f32): Remove. + (vcmpneq_m_u8): Remove. + (vcmpneq_m_n_u8): Remove. + (vcmphiq_m_u8): Remove. + (vcmphiq_m_n_u8): Remove. + (vcmpeqq_m_u8): Remove. + (vcmpeqq_m_n_u8): Remove. + (vcmpcsq_m_u8): Remove. + (vcmpcsq_m_n_u8): Remove. + (vcmpneq_m_s8): Remove. + (vcmpneq_m_n_s8): Remove. + (vcmpltq_m_s8): Remove. + (vcmpltq_m_n_s8): Remove. + (vcmpleq_m_s8): Remove. + (vcmpleq_m_n_s8): Remove. + (vcmpgtq_m_s8): Remove. + (vcmpgtq_m_n_s8): Remove. + (vcmpgeq_m_s8): Remove. + (vcmpgeq_m_n_s8): Remove. + (vcmpeqq_m_s8): Remove. + (vcmpeqq_m_n_s8): Remove. + (vcmpneq_m_u16): Remove. + (vcmpneq_m_n_u16): Remove. + (vcmphiq_m_u16): Remove. + (vcmphiq_m_n_u16): Remove. + (vcmpeqq_m_u16): Remove. + (vcmpeqq_m_n_u16): Remove. + (vcmpcsq_m_u16): Remove. + (vcmpcsq_m_n_u16): Remove. + (vcmpneq_m_s16): Remove. + (vcmpneq_m_n_s16): Remove. + (vcmpltq_m_s16): Remove. + (vcmpltq_m_n_s16): Remove. + (vcmpleq_m_s16): Remove. + (vcmpleq_m_n_s16): Remove. + (vcmpgtq_m_s16): Remove. + (vcmpgtq_m_n_s16): Remove. + (vcmpgeq_m_s16): Remove. + (vcmpgeq_m_n_s16): Remove. + (vcmpeqq_m_s16): Remove. + (vcmpeqq_m_n_s16): Remove. + (vcmpneq_m_u32): Remove. + (vcmpneq_m_n_u32): Remove. + (vcmphiq_m_u32): Remove. + (vcmphiq_m_n_u32): Remove. + (vcmpeqq_m_u32): Remove. + (vcmpeqq_m_n_u32): Remove. + (vcmpcsq_m_u32): Remove. + (vcmpcsq_m_n_u32): Remove. + (vcmpneq_m_s32): Remove. + (vcmpneq_m_n_s32): Remove. + (vcmpltq_m_s32): Remove. + (vcmpltq_m_n_s32): Remove. + (vcmpleq_m_s32): Remove. + (vcmpleq_m_n_s32): Remove. + (vcmpgtq_m_s32): Remove. + (vcmpgtq_m_n_s32): Remove. + (vcmpgeq_m_s32): Remove. + (vcmpgeq_m_n_s32): Remove. + (vcmpeqq_m_s32): Remove. + (vcmpeqq_m_n_s32): Remove. + (vcmpeqq_m_n_f16): Remove. + (vcmpgeq_m_f16): Remove. + (vcmpgeq_m_n_f16): Remove. + (vcmpgtq_m_f16): Remove. + (vcmpgtq_m_n_f16): Remove. + (vcmpleq_m_f16): Remove. + (vcmpleq_m_n_f16): Remove. + (vcmpltq_m_f16): Remove. + (vcmpltq_m_n_f16): Remove. + (vcmpneq_m_f16): Remove. + (vcmpneq_m_n_f16): Remove. + (vcmpeqq_m_n_f32): Remove. + (vcmpgeq_m_f32): Remove. + (vcmpgeq_m_n_f32): Remove. + (vcmpgtq_m_f32): Remove. + (vcmpgtq_m_n_f32): Remove. + (vcmpleq_m_f32): Remove. + (vcmpleq_m_n_f32): Remove. + (vcmpltq_m_f32): Remove. + (vcmpltq_m_n_f32): Remove. + (vcmpneq_m_f32): Remove. + (vcmpneq_m_n_f32): Remove. + (__arm_vcmpneq_s8): Remove. + (__arm_vcmpneq_s16): Remove. + (__arm_vcmpneq_s32): Remove. + (__arm_vcmpneq_u8): Remove. + (__arm_vcmpneq_u16): Remove. + (__arm_vcmpneq_u32): Remove. + (__arm_vcmpneq_n_u8): Remove. + (__arm_vcmphiq_u8): Remove. + (__arm_vcmphiq_n_u8): Remove. + (__arm_vcmpeqq_u8): Remove. + (__arm_vcmpeqq_n_u8): Remove. + (__arm_vcmpcsq_u8): Remove. + (__arm_vcmpcsq_n_u8): Remove. + (__arm_vcmpneq_n_s8): Remove. + (__arm_vcmpltq_s8): Remove. + (__arm_vcmpltq_n_s8): Remove. + (__arm_vcmpleq_s8): Remove. + (__arm_vcmpleq_n_s8): Remove. + (__arm_vcmpgtq_s8): Remove. + (__arm_vcmpgtq_n_s8): Remove. + (__arm_vcmpgeq_s8): Remove. + (__arm_vcmpgeq_n_s8): Remove. + (__arm_vcmpeqq_s8): Remove. + (__arm_vcmpeqq_n_s8): Remove. + (__arm_vcmpneq_n_u16): Remove. + (__arm_vcmphiq_u16): Remove. + (__arm_vcmphiq_n_u16): Remove. + (__arm_vcmpeqq_u16): Remove. + (__arm_vcmpeqq_n_u16): Remove. + (__arm_vcmpcsq_u16): Remove. + (__arm_vcmpcsq_n_u16): Remove. + (__arm_vcmpneq_n_s16): Remove. + (__arm_vcmpltq_s16): Remove. + (__arm_vcmpltq_n_s16): Remove. + (__arm_vcmpleq_s16): Remove. + (__arm_vcmpleq_n_s16): Remove. + (__arm_vcmpgtq_s16): Remove. + (__arm_vcmpgtq_n_s16): Remove. + (__arm_vcmpgeq_s16): Remove. + (__arm_vcmpgeq_n_s16): Remove. + (__arm_vcmpeqq_s16): Remove. + (__arm_vcmpeqq_n_s16): Remove. + (__arm_vcmpneq_n_u32): Remove. + (__arm_vcmphiq_u32): Remove. + (__arm_vcmphiq_n_u32): Remove. + (__arm_vcmpeqq_u32): Remove. + (__arm_vcmpeqq_n_u32): Remove. + (__arm_vcmpcsq_u32): Remove. + (__arm_vcmpcsq_n_u32): Remove. + (__arm_vcmpneq_n_s32): Remove. + (__arm_vcmpltq_s32): Remove. + (__arm_vcmpltq_n_s32): Remove. + (__arm_vcmpleq_s32): Remove. + (__arm_vcmpleq_n_s32): Remove. + (__arm_vcmpgtq_s32): Remove. + (__arm_vcmpgtq_n_s32): Remove. + (__arm_vcmpgeq_s32): Remove. + (__arm_vcmpgeq_n_s32): Remove. + (__arm_vcmpeqq_s32): Remove. + (__arm_vcmpeqq_n_s32): Remove. + (__arm_vcmpneq_m_u8): Remove. + (__arm_vcmpneq_m_n_u8): Remove. + (__arm_vcmphiq_m_u8): Remove. + (__arm_vcmphiq_m_n_u8): Remove. + (__arm_vcmpeqq_m_u8): Remove. + (__arm_vcmpeqq_m_n_u8): Remove. + (__arm_vcmpcsq_m_u8): Remove. + (__arm_vcmpcsq_m_n_u8): Remove. + (__arm_vcmpneq_m_s8): Remove. + (__arm_vcmpneq_m_n_s8): Remove. + (__arm_vcmpltq_m_s8): Remove. + (__arm_vcmpltq_m_n_s8): Remove. + (__arm_vcmpleq_m_s8): Remove. + (__arm_vcmpleq_m_n_s8): Remove. + (__arm_vcmpgtq_m_s8): Remove. + (__arm_vcmpgtq_m_n_s8): Remove. + (__arm_vcmpgeq_m_s8): Remove. + (__arm_vcmpgeq_m_n_s8): Remove. + (__arm_vcmpeqq_m_s8): Remove. + (__arm_vcmpeqq_m_n_s8): Remove. + (__arm_vcmpneq_m_u16): Remove. + (__arm_vcmpneq_m_n_u16): Remove. + (__arm_vcmphiq_m_u16): Remove. + (__arm_vcmphiq_m_n_u16): Remove. + (__arm_vcmpeqq_m_u16): Remove. + (__arm_vcmpeqq_m_n_u16): Remove. + (__arm_vcmpcsq_m_u16): Remove. + (__arm_vcmpcsq_m_n_u16): Remove. + (__arm_vcmpneq_m_s16): Remove. + (__arm_vcmpneq_m_n_s16): Remove. + (__arm_vcmpltq_m_s16): Remove. + (__arm_vcmpltq_m_n_s16): Remove. + (__arm_vcmpleq_m_s16): Remove. + (__arm_vcmpleq_m_n_s16): Remove. + (__arm_vcmpgtq_m_s16): Remove. + (__arm_vcmpgtq_m_n_s16): Remove. + (__arm_vcmpgeq_m_s16): Remove. + (__arm_vcmpgeq_m_n_s16): Remove. + (__arm_vcmpeqq_m_s16): Remove. + (__arm_vcmpeqq_m_n_s16): Remove. + (__arm_vcmpneq_m_u32): Remove. + (__arm_vcmpneq_m_n_u32): Remove. + (__arm_vcmphiq_m_u32): Remove. + (__arm_vcmphiq_m_n_u32): Remove. + (__arm_vcmpeqq_m_u32): Remove. + (__arm_vcmpeqq_m_n_u32): Remove. + (__arm_vcmpcsq_m_u32): Remove. + (__arm_vcmpcsq_m_n_u32): Remove. + (__arm_vcmpneq_m_s32): Remove. + (__arm_vcmpneq_m_n_s32): Remove. + (__arm_vcmpltq_m_s32): Remove. + (__arm_vcmpltq_m_n_s32): Remove. + (__arm_vcmpleq_m_s32): Remove. + (__arm_vcmpleq_m_n_s32): Remove. + (__arm_vcmpgtq_m_s32): Remove. + (__arm_vcmpgtq_m_n_s32): Remove. + (__arm_vcmpgeq_m_s32): Remove. + (__arm_vcmpgeq_m_n_s32): Remove. + (__arm_vcmpeqq_m_s32): Remove. + (__arm_vcmpeqq_m_n_s32): Remove. + (__arm_vcmpneq_n_f16): Remove. + (__arm_vcmpneq_f16): Remove. + (__arm_vcmpltq_n_f16): Remove. + (__arm_vcmpltq_f16): Remove. + (__arm_vcmpleq_n_f16): Remove. + (__arm_vcmpleq_f16): Remove. + (__arm_vcmpgtq_n_f16): Remove. + (__arm_vcmpgtq_f16): Remove. + (__arm_vcmpgeq_n_f16): Remove. + (__arm_vcmpgeq_f16): Remove. + (__arm_vcmpeqq_n_f16): Remove. + (__arm_vcmpeqq_f16): Remove. + (__arm_vcmpneq_n_f32): Remove. + (__arm_vcmpneq_f32): Remove. + (__arm_vcmpltq_n_f32): Remove. + (__arm_vcmpltq_f32): Remove. + (__arm_vcmpleq_n_f32): Remove. + (__arm_vcmpleq_f32): Remove. + (__arm_vcmpgtq_n_f32): Remove. + (__arm_vcmpgtq_f32): Remove. + (__arm_vcmpgeq_n_f32): Remove. + (__arm_vcmpgeq_f32): Remove. + (__arm_vcmpeqq_n_f32): Remove. + (__arm_vcmpeqq_f32): Remove. + (__arm_vcmpeqq_m_f16): Remove. + (__arm_vcmpeqq_m_f32): Remove. + (__arm_vcmpeqq_m_n_f16): Remove. + (__arm_vcmpgeq_m_f16): Remove. + (__arm_vcmpgeq_m_n_f16): Remove. + (__arm_vcmpgtq_m_f16): Remove. + (__arm_vcmpgtq_m_n_f16): Remove. + (__arm_vcmpleq_m_f16): Remove. + (__arm_vcmpleq_m_n_f16): Remove. + (__arm_vcmpltq_m_f16): Remove. + (__arm_vcmpltq_m_n_f16): Remove. + (__arm_vcmpneq_m_f16): Remove. + (__arm_vcmpneq_m_n_f16): Remove. + (__arm_vcmpeqq_m_n_f32): Remove. + (__arm_vcmpgeq_m_f32): Remove. + (__arm_vcmpgeq_m_n_f32): Remove. + (__arm_vcmpgtq_m_f32): Remove. + (__arm_vcmpgtq_m_n_f32): Remove. + (__arm_vcmpleq_m_f32): Remove. + (__arm_vcmpleq_m_n_f32): Remove. + (__arm_vcmpltq_m_f32): Remove. + (__arm_vcmpltq_m_n_f32): Remove. + (__arm_vcmpneq_m_f32): Remove. + (__arm_vcmpneq_m_n_f32): Remove. + (__arm_vcmpneq): Remove. + (__arm_vcmphiq): Remove. + (__arm_vcmpeqq): Remove. + (__arm_vcmpcsq): Remove. + (__arm_vcmpltq): Remove. + (__arm_vcmpleq): Remove. + (__arm_vcmpgtq): Remove. + (__arm_vcmpgeq): Remove. + (__arm_vcmpneq_m): Remove. + (__arm_vcmphiq_m): Remove. + (__arm_vcmpeqq_m): Remove. + (__arm_vcmpcsq_m): Remove. + (__arm_vcmpltq_m): Remove. + (__arm_vcmpleq_m): Remove. + (__arm_vcmpgtq_m): Remove. + (__arm_vcmpgeq_m): Remove. + +2023-05-11 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (cmp): New. + * config/arm/arm-mve-builtins-shapes.h (cmp): New. + +2023-05-11 Christophe Lyon + + * config/arm/iterators.md (MVE_CMP_M, MVE_CMP_M_F, MVE_CMP_M_N) + (MVE_CMP_M_N_F, mve_cmp_op1): New. + (isu): Add VCMP* + (supf): Likewise. + * config/arm/mve.md (mve_vcmpq_n_): Rename into ... + (@mve_vcmpq_n_): ... this. + (mve_vcmpeqq_m_f, mve_vcmpgeq_m_f) + (mve_vcmpgtq_m_f, mve_vcmpleq_m_f) + (mve_vcmpltq_m_f, mve_vcmpneq_m_f): Merge into ... + (@mve_vcmpq_m_f): ... this. + (mve_vcmpcsq_m_u, mve_vcmpeqq_m_) + (mve_vcmpgeq_m_s, mve_vcmpgtq_m_s) + (mve_vcmphiq_m_u, mve_vcmpleq_m_s) + (mve_vcmpltq_m_s, mve_vcmpneq_m_): Merge into + ... + (@mve_vcmpq_m_): ... this. + (mve_vcmpcsq_m_n_u, mve_vcmpeqq_m_n_) + (mve_vcmpgeq_m_n_s, mve_vcmpgtq_m_n_s) + (mve_vcmphiq_m_n_u, mve_vcmpleq_m_n_s) + (mve_vcmpltq_m_n_s, mve_vcmpneq_m_n_): Merge + into ... + (@mve_vcmpq_m_n_): ... this. + (mve_vcmpeqq_m_n_f, mve_vcmpgeq_m_n_f) + (mve_vcmpgtq_m_n_f, mve_vcmpleq_m_n_f) + (mve_vcmpltq_m_n_f, mve_vcmpneq_m_n_f): Merge into ... + (@mve_vcmpq_m_n_f): ... this. + +2023-05-11 Roger Sayle + + * match.pd : Simplify popcount(X|Y) + + popcount(X&Y) as popcount(X)+popcount(Y). Likewise, simplify + popcount(X)+popcount(Y)-popcount(X&Y) as popcount(X|Y), and + vice versa. + +2023-05-11 Roger Sayle + + * match.pd : Simplify popcount(bswap(x)) + as popcount(x). Simplify popcount(rotate(x,y)) as popcount(x). + : Simplify parity(bswap(x)) as parity(x). + Simplify parity(rotate(x,y)) as parity(x). + +2023-05-11 Juzhe-Zhong + + * config/riscv/autovec.md (@vec_series): New pattern + * config/riscv/riscv-protos.h (expand_vec_series): New function. + * config/riscv/riscv-v.cc (emit_binop): Ditto. + (emit_index_op): Ditto. + (expand_vec_series): Ditto. + (expand_const_vector): Add series vector handling. + * config/riscv/riscv.cc (riscv_const_insns): Enable series vector for testing. + +2023-05-10 Roger Sayle + + * config/i386/i386.md (*concat3_1): Use preferred + [(const_int 0)] idiom, instead of [(clobber (const_int 0))]. + (*concat3_2): Likewise. + (*concat3_3): Likewise. + (*concat3_4): Likewise. + (*concat3_5): Likewise. + (*concat3_6): Likewise. + (*concat3_7): Likewise. + +2023-05-10 Uros Bizjak + + PR target/92658 + * config/i386/mmx.md (sse4_1_v2qiv2si2): New insn pattern. + (v4qiv4hi2): New expander. + (v2hiv2si2): Ditto. + (v2qiv2si2): Ditto. + (v2qiv2hi2): Ditto. + +2023-05-10 Jeff Law + + * config/h8300/constraints.md (Q): Make this a special memory + constraint. + (Zz): Similarly. + +2023-05-10 Jakub Jelinek + + PR fortran/109788 + * ipa-prop.cc (ipa_get_callee_param_type): Don't return TREE_VALUE (t) + if t is void_list_node. + +2023-05-10 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_sqmovun_insn_le): Delete. + (aarch64_sqmovun_insn_be): Delete. + (aarch64_sqmovun): New define_insn. + (aarch64_sqmovun): Delete expander. + +2023-05-10 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_): + Rename to... + (aarch64_): ... This. + (aarch64_rev): Rename to... + (aarch64_rev): ... This. + +2023-05-10 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_q): + Rename to... + (aarch64_q): ... This. + (aarch64_qadd): Rename to... + (aarch64_qadd): ... This. + +2023-05-10 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md + (aarch64_qshrn_n_insn_le): Delete. + (aarch64_qshrn_n_insn_be): Delete. + (aarch64_qshrn_n_insn): New define_insn. + (aarch64_qshrn_n): Simplify expander. + +2023-05-10 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_xtn_insn_le): Delete. + (aarch64_xtn_insn_be): Likewise. + (trunc2): Rename to... + (trunc2): ... This. + (aarch64_xtn): Move under the above. Just emit the truncate RTL. + (aarch64_qmovn): Likewise. + (aarch64_qmovn): New define_insn. + (aarch64_qmovn_insn_le): Delete. + (aarch64_qmovn_insn_be): Likewise. + +2023-05-10 Li Xu + + * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): For vfmv.f.s/vmv.x.s + intruction replace null avl with (const_int 0). + +2023-05-10 Juzhe-Zhong + + * config/riscv/riscv.cc (riscv_support_vector_misalignment): Fix + incorrect codes. + +2023-05-10 Juzhe-Zhong + + PR target/109773 + * config/riscv/riscv-vsetvl.cc (avl_source_has_vsetvl_p): New function. + (source_equal_p): Fix dead loop in vsetvl avl checking. + +2023-05-10 Hans-Peter Nilsson + + * config/cris/cris.cc (cris_postdbr_cmpelim): Correct mode + of modeadjusted_dccr. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vmaxaq, vminaq): New. + * config/arm/arm-mve-builtins-base.def (vmaxaq, vminaq): New. + * config/arm/arm-mve-builtins-base.h (vmaxaq, vminaq): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vmaxaq and + vminaq. + * config/arm/arm_mve.h (vminaq): Remove. + (vmaxaq): Remove. + (vminaq_m): Remove. + (vmaxaq_m): Remove. + (vminaq_s8): Remove. + (vmaxaq_s8): Remove. + (vminaq_s16): Remove. + (vmaxaq_s16): Remove. + (vminaq_s32): Remove. + (vmaxaq_s32): Remove. + (vminaq_m_s8): Remove. + (vmaxaq_m_s8): Remove. + (vminaq_m_s16): Remove. + (vmaxaq_m_s16): Remove. + (vminaq_m_s32): Remove. + (vmaxaq_m_s32): Remove. + (__arm_vminaq_s8): Remove. + (__arm_vmaxaq_s8): Remove. + (__arm_vminaq_s16): Remove. + (__arm_vmaxaq_s16): Remove. + (__arm_vminaq_s32): Remove. + (__arm_vmaxaq_s32): Remove. + (__arm_vminaq_m_s8): Remove. + (__arm_vmaxaq_m_s8): Remove. + (__arm_vminaq_m_s16): Remove. + (__arm_vmaxaq_m_s16): Remove. + (__arm_vminaq_m_s32): Remove. + (__arm_vmaxaq_m_s32): Remove. + (__arm_vminaq): Remove. + (__arm_vmaxaq): Remove. + (__arm_vminaq_m): Remove. + (__arm_vmaxaq_m): Remove. + +2023-05-09 Christophe Lyon + + * config/arm/iterators.md (MVE_VMAXAVMINAQ, MVE_VMAXAVMINAQ_M): + New. + (mve_insn): Add vmaxa, vmina. + (supf): Add VMAXAQ_S, VMAXAQ_M_S, VMINAQ_S, VMINAQ_M_S. + * config/arm/mve.md (mve_vmaxaq_s, mve_vminaq_s): + Merge into ... + (@mve_q_): ... this. + (mve_vmaxaq_m_s, mve_vminaq_m_s): Merge into ... + (@mve_q_m_): ... this. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_maxamina): New. + * config/arm/arm-mve-builtins-shapes.h (binary_maxamina): New. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vmaxnmaq, vminnmaq): New. + * config/arm/arm-mve-builtins-base.def (vmaxnmaq, vminnmaq): New. + * config/arm/arm-mve-builtins-base.h (vmaxnmaq, vminnmaq): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vmaxnmaq and + vminnmaq. + * config/arm/arm_mve.h (vminnmaq): Remove. + (vmaxnmaq): Remove. + (vmaxnmaq_m): Remove. + (vminnmaq_m): Remove. + (vminnmaq_f16): Remove. + (vmaxnmaq_f16): Remove. + (vminnmaq_f32): Remove. + (vmaxnmaq_f32): Remove. + (vmaxnmaq_m_f16): Remove. + (vminnmaq_m_f16): Remove. + (vmaxnmaq_m_f32): Remove. + (vminnmaq_m_f32): Remove. + (__arm_vminnmaq_f16): Remove. + (__arm_vmaxnmaq_f16): Remove. + (__arm_vminnmaq_f32): Remove. + (__arm_vmaxnmaq_f32): Remove. + (__arm_vmaxnmaq_m_f16): Remove. + (__arm_vminnmaq_m_f16): Remove. + (__arm_vmaxnmaq_m_f32): Remove. + (__arm_vminnmaq_m_f32): Remove. + (__arm_vminnmaq): Remove. + (__arm_vmaxnmaq): Remove. + (__arm_vmaxnmaq_m): Remove. + (__arm_vminnmaq_m): Remove. + +2023-05-09 Christophe Lyon + + * config/arm/iterators.md (MVE_VMAXNMA_VMINNMAQ) + (MVE_VMAXNMA_VMINNMAQ_M): New. + (mve_insn): Add vmaxnma, vminnma. + * config/arm/mve.md (mve_vmaxnmaq_f, mve_vminnmaq_f): + Merge into ... + (@mve_q_f): ... this. + (mve_vmaxnmaq_m_f, mve_vminnmaq_m_f): Merge into ... + (@mve_q_m_f): ... this. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_PRED_P_F): New. + (vmaxnmavq, vmaxnmvq, vminnmavq, vminnmvq): New. + * config/arm/arm-mve-builtins-base.def (vmaxnmavq, vmaxnmvq) + (vminnmavq, vminnmvq): New. + * config/arm/arm-mve-builtins-base.h (vmaxnmavq, vmaxnmvq) + (vminnmavq, vminnmvq): New. + * config/arm/arm_mve.h (vminnmvq): Remove. + (vminnmavq): Remove. + (vmaxnmvq): Remove. + (vmaxnmavq): Remove. + (vmaxnmavq_p): Remove. + (vmaxnmvq_p): Remove. + (vminnmavq_p): Remove. + (vminnmvq_p): Remove. + (vminnmvq_f16): Remove. + (vminnmavq_f16): Remove. + (vmaxnmvq_f16): Remove. + (vmaxnmavq_f16): Remove. + (vminnmvq_f32): Remove. + (vminnmavq_f32): Remove. + (vmaxnmvq_f32): Remove. + (vmaxnmavq_f32): Remove. + (vmaxnmavq_p_f16): Remove. + (vmaxnmvq_p_f16): Remove. + (vminnmavq_p_f16): Remove. + (vminnmvq_p_f16): Remove. + (vmaxnmavq_p_f32): Remove. + (vmaxnmvq_p_f32): Remove. + (vminnmavq_p_f32): Remove. + (vminnmvq_p_f32): Remove. + (__arm_vminnmvq_f16): Remove. + (__arm_vminnmavq_f16): Remove. + (__arm_vmaxnmvq_f16): Remove. + (__arm_vmaxnmavq_f16): Remove. + (__arm_vminnmvq_f32): Remove. + (__arm_vminnmavq_f32): Remove. + (__arm_vmaxnmvq_f32): Remove. + (__arm_vmaxnmavq_f32): Remove. + (__arm_vmaxnmavq_p_f16): Remove. + (__arm_vmaxnmvq_p_f16): Remove. + (__arm_vminnmavq_p_f16): Remove. + (__arm_vminnmvq_p_f16): Remove. + (__arm_vmaxnmavq_p_f32): Remove. + (__arm_vmaxnmvq_p_f32): Remove. + (__arm_vminnmavq_p_f32): Remove. + (__arm_vminnmvq_p_f32): Remove. + (__arm_vminnmvq): Remove. + (__arm_vminnmavq): Remove. + (__arm_vmaxnmvq): Remove. + (__arm_vmaxnmavq): Remove. + (__arm_vmaxnmavq_p): Remove. + (__arm_vmaxnmvq_p): Remove. + (__arm_vminnmavq_p): Remove. + (__arm_vminnmvq_p): Remove. + (__arm_vmaxnmavq_m): Remove. + (__arm_vmaxnmvq_m): Remove. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-functions.h + (unspec_mve_function_exact_insn_pred_p): Use code_for_mve_q_p_f. + +2023-05-09 Christophe Lyon + + * config/arm/iterators.md (MVE_VMAXNMxV_MINNMxVQ) + (MVE_VMAXNMxV_MINNMxVQ_P): New. + (mve_insn): Add vmaxnmav, vmaxnmv, vminnmav, vminnmv. + * config/arm/mve.md (mve_vmaxnmavq_f, mve_vmaxnmvq_f) + (mve_vminnmavq_f, mve_vminnmvq_f): Merge into ... + (@mve_q_f): ... this. + (mve_vmaxnmavq_p_f, mve_vmaxnmvq_p_f) + (mve_vminnmavq_p_f, mve_vminnmvq_p_f): Merge into ... + (@mve_q_p_f): ... this. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vmaxnmq, vminnmq): New. + * config/arm/arm-mve-builtins-base.def (vmaxnmq, vminnmq): New. + * config/arm/arm-mve-builtins-base.h (vmaxnmq, vminnmq): New. + * config/arm/arm_mve.h (vminnmq): Remove. + (vmaxnmq): Remove. + (vmaxnmq_m): Remove. + (vminnmq_m): Remove. + (vminnmq_x): Remove. + (vmaxnmq_x): Remove. + (vminnmq_f16): Remove. + (vmaxnmq_f16): Remove. + (vminnmq_f32): Remove. + (vmaxnmq_f32): Remove. + (vmaxnmq_m_f32): Remove. + (vmaxnmq_m_f16): Remove. + (vminnmq_m_f32): Remove. + (vminnmq_m_f16): Remove. + (vminnmq_x_f16): Remove. + (vminnmq_x_f32): Remove. + (vmaxnmq_x_f16): Remove. + (vmaxnmq_x_f32): Remove. + (__arm_vminnmq_f16): Remove. + (__arm_vmaxnmq_f16): Remove. + (__arm_vminnmq_f32): Remove. + (__arm_vmaxnmq_f32): Remove. + (__arm_vmaxnmq_m_f32): Remove. + (__arm_vmaxnmq_m_f16): Remove. + (__arm_vminnmq_m_f32): Remove. + (__arm_vminnmq_m_f16): Remove. + (__arm_vminnmq_x_f16): Remove. + (__arm_vminnmq_x_f32): Remove. + (__arm_vmaxnmq_x_f16): Remove. + (__arm_vmaxnmq_x_f32): Remove. + (__arm_vminnmq): Remove. + (__arm_vmaxnmq): Remove. + (__arm_vmaxnmq_m): Remove. + (__arm_vminnmq_m): Remove. + (__arm_vminnmq_x): Remove. + (__arm_vmaxnmq_x): Remove. + +2023-05-09 Christophe Lyon + + * config/arm/iterators.md (MAX_MIN_F): New. + (MVE_FP_M_BINARY): Add VMAXNMQ_M_F, VMINNMQ_M_F. + (mve_insn): Add vmaxnm, vminnm. + (max_min_f_str): New. + * config/arm/mve.md (mve_vmaxnmq_f, mve_vminnmq_f): + Merge into ... + (@mve_q_f): ... this. + (mve_vmaxnmq_m_f, mve_vminnmq_m_f): Merge into ... + (@mve_q_m_f): ... this. + +2023-05-09 Christophe Lyon + + * config/arm/vec-common.md (smin3): Use VDQWH iterator. + (smax3): Likewise. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_PRED_P_S_U) + (FUNCTION_PRED_P_S): New. + (vmaxavq, vminavq, vmaxvq, vminvq): New. + * config/arm/arm-mve-builtins-base.def (vmaxavq, vminavq, vmaxvq) + (vminvq): New. + * config/arm/arm-mve-builtins-base.h (vmaxavq, vminavq, vmaxvq) + (vminvq): New. + * config/arm/arm_mve.h (vminvq): Remove. + (vmaxvq): Remove. + (vminvq_p): Remove. + (vmaxvq_p): Remove. + (vminvq_u8): Remove. + (vmaxvq_u8): Remove. + (vminvq_s8): Remove. + (vmaxvq_s8): Remove. + (vminvq_u16): Remove. + (vmaxvq_u16): Remove. + (vminvq_s16): Remove. + (vmaxvq_s16): Remove. + (vminvq_u32): Remove. + (vmaxvq_u32): Remove. + (vminvq_s32): Remove. + (vmaxvq_s32): Remove. + (vminvq_p_u8): Remove. + (vmaxvq_p_u8): Remove. + (vminvq_p_s8): Remove. + (vmaxvq_p_s8): Remove. + (vminvq_p_u16): Remove. + (vmaxvq_p_u16): Remove. + (vminvq_p_s16): Remove. + (vmaxvq_p_s16): Remove. + (vminvq_p_u32): Remove. + (vmaxvq_p_u32): Remove. + (vminvq_p_s32): Remove. + (vmaxvq_p_s32): Remove. + (__arm_vminvq_u8): Remove. + (__arm_vmaxvq_u8): Remove. + (__arm_vminvq_s8): Remove. + (__arm_vmaxvq_s8): Remove. + (__arm_vminvq_u16): Remove. + (__arm_vmaxvq_u16): Remove. + (__arm_vminvq_s16): Remove. + (__arm_vmaxvq_s16): Remove. + (__arm_vminvq_u32): Remove. + (__arm_vmaxvq_u32): Remove. + (__arm_vminvq_s32): Remove. + (__arm_vmaxvq_s32): Remove. + (__arm_vminvq_p_u8): Remove. + (__arm_vmaxvq_p_u8): Remove. + (__arm_vminvq_p_s8): Remove. + (__arm_vmaxvq_p_s8): Remove. + (__arm_vminvq_p_u16): Remove. + (__arm_vmaxvq_p_u16): Remove. + (__arm_vminvq_p_s16): Remove. + (__arm_vmaxvq_p_s16): Remove. + (__arm_vminvq_p_u32): Remove. + (__arm_vmaxvq_p_u32): Remove. + (__arm_vminvq_p_s32): Remove. + (__arm_vmaxvq_p_s32): Remove. + (__arm_vminvq): Remove. + (__arm_vmaxvq): Remove. + (__arm_vminvq_p): Remove. + (__arm_vmaxvq_p): Remove. + (vminavq): Remove. + (vmaxavq): Remove. + (vminavq_p): Remove. + (vmaxavq_p): Remove. + (vminavq_s8): Remove. + (vmaxavq_s8): Remove. + (vminavq_s16): Remove. + (vmaxavq_s16): Remove. + (vminavq_s32): Remove. + (vmaxavq_s32): Remove. + (vminavq_p_s8): Remove. + (vmaxavq_p_s8): Remove. + (vminavq_p_s16): Remove. + (vmaxavq_p_s16): Remove. + (vminavq_p_s32): Remove. + (vmaxavq_p_s32): Remove. + (__arm_vminavq_s8): Remove. + (__arm_vmaxavq_s8): Remove. + (__arm_vminavq_s16): Remove. + (__arm_vmaxavq_s16): Remove. + (__arm_vminavq_s32): Remove. + (__arm_vmaxavq_s32): Remove. + (__arm_vminavq_p_s8): Remove. + (__arm_vmaxavq_p_s8): Remove. + (__arm_vminavq_p_s16): Remove. + (__arm_vmaxavq_p_s16): Remove. + (__arm_vminavq_p_s32): Remove. + (__arm_vmaxavq_p_s32): Remove. + (__arm_vminavq): Remove. + (__arm_vmaxavq): Remove. + (__arm_vminavq_p): Remove. + (__arm_vmaxavq_p): Remove. + +2023-05-09 Christophe Lyon + + * config/arm/iterators.md (MVE_VMAXVQ_VMINVQ, MVE_VMAXVQ_VMINVQ_P): New. + (mve_insn): Add vmaxav, vmaxv, vminav, vminv. + (supf): Add VMAXAVQ_S, VMAXAVQ_P_S, VMINAVQ_S, VMINAVQ_P_S. + * config/arm/mve.md (mve_vmaxavq_s, mve_vmaxvq_) + (mve_vminavq_s, mve_vminvq_): Merge into ... + (@mve_q_): ... this. + (mve_vmaxavq_p_s, mve_vmaxvq_p_) + (mve_vminavq_p_s, mve_vminvq_p_): Merge into ... + (@mve_q_p_): ... this. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-functions.h (class + unspec_mve_function_exact_insn_pred_p): New. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_maxavminav): New. + * config/arm/arm-mve-builtins-shapes.h (binary_maxavminav): New. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_maxvminv): New. + * config/arm/arm-mve-builtins-shapes.h (binary_maxvminv): New. + +2023-05-09 Richard Sandiford + + * config/aarch64/aarch64-protos.h (aarch64_adjust_reg_alloc_order): + Declare. + * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define. + (ADJUST_REG_ALLOC_ORDER): Likewise. + * config/aarch64/aarch64.cc (aarch64_adjust_reg_alloc_order): New + function. + * config/aarch64/aarch64-sve.md (*vcond_mask_): Use + Upa rather than Upl for unpredicated movprfx alternatives. + +2023-05-09 Jeff Law + + * config/h8300/testcompare.md: Add peephole2 which uses a memory + load to set flags, thus eliminating a compare against zero. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vshllbq, vshlltq): New. + * config/arm/arm-mve-builtins-base.def (vshllbq, vshlltq): New. + * config/arm/arm-mve-builtins-base.h (vshllbq, vshlltq): New. + * config/arm/arm_mve.h (vshlltq): Remove. + (vshllbq): Remove. + (vshllbq_m): Remove. + (vshlltq_m): Remove. + (vshllbq_x): Remove. + (vshlltq_x): Remove. + (vshlltq_n_u8): Remove. + (vshllbq_n_u8): Remove. + (vshlltq_n_s8): Remove. + (vshllbq_n_s8): Remove. + (vshlltq_n_u16): Remove. + (vshllbq_n_u16): Remove. + (vshlltq_n_s16): Remove. + (vshllbq_n_s16): Remove. + (vshllbq_m_n_s8): Remove. + (vshllbq_m_n_s16): Remove. + (vshllbq_m_n_u8): Remove. + (vshllbq_m_n_u16): Remove. + (vshlltq_m_n_s8): Remove. + (vshlltq_m_n_s16): Remove. + (vshlltq_m_n_u8): Remove. + (vshlltq_m_n_u16): Remove. + (vshllbq_x_n_s8): Remove. + (vshllbq_x_n_s16): Remove. + (vshllbq_x_n_u8): Remove. + (vshllbq_x_n_u16): Remove. + (vshlltq_x_n_s8): Remove. + (vshlltq_x_n_s16): Remove. + (vshlltq_x_n_u8): Remove. + (vshlltq_x_n_u16): Remove. + (__arm_vshlltq_n_u8): Remove. + (__arm_vshllbq_n_u8): Remove. + (__arm_vshlltq_n_s8): Remove. + (__arm_vshllbq_n_s8): Remove. + (__arm_vshlltq_n_u16): Remove. + (__arm_vshllbq_n_u16): Remove. + (__arm_vshlltq_n_s16): Remove. + (__arm_vshllbq_n_s16): Remove. + (__arm_vshllbq_m_n_s8): Remove. + (__arm_vshllbq_m_n_s16): Remove. + (__arm_vshllbq_m_n_u8): Remove. + (__arm_vshllbq_m_n_u16): Remove. + (__arm_vshlltq_m_n_s8): Remove. + (__arm_vshlltq_m_n_s16): Remove. + (__arm_vshlltq_m_n_u8): Remove. + (__arm_vshlltq_m_n_u16): Remove. + (__arm_vshllbq_x_n_s8): Remove. + (__arm_vshllbq_x_n_s16): Remove. + (__arm_vshllbq_x_n_u8): Remove. + (__arm_vshllbq_x_n_u16): Remove. + (__arm_vshlltq_x_n_s8): Remove. + (__arm_vshlltq_x_n_s16): Remove. + (__arm_vshlltq_x_n_u8): Remove. + (__arm_vshlltq_x_n_u16): Remove. + (__arm_vshlltq): Remove. + (__arm_vshllbq): Remove. + (__arm_vshllbq_m): Remove. + (__arm_vshlltq_m): Remove. + (__arm_vshllbq_x): Remove. + (__arm_vshlltq_x): Remove. + +2023-05-09 Christophe Lyon + + * config/arm/iterators.md (mve_insn): Add vshllb, vshllt. + (VSHLLBQ_N, VSHLLTQ_N): Remove. + (VSHLLxQ_N): New. + (VSHLLBQ_M_N, VSHLLTQ_M_N): Remove. + (VSHLLxQ_M_N): New. + * config/arm/mve.md (mve_vshllbq_n_) + (mve_vshlltq_n_): Merge into ... + (@mve_q_n_): ... this. + (mve_vshllbq_m_n_, mve_vshlltq_m_n_): + Merge into ... + (@mve_q_m_n_): ... this. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_widen_n): New. + * config/arm/arm-mve-builtins-shapes.h (binary_widen_n): New. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vmovnbq, vmovntq, vqmovnbq) + (vqmovntq, vqmovunbq, vqmovuntq): New. + * config/arm/arm-mve-builtins-base.def (vmovnbq, vmovntq) + (vqmovnbq, vqmovntq, vqmovunbq, vqmovuntq): New. + * config/arm/arm-mve-builtins-base.h (vmovnbq, vmovntq, vqmovnbq) + (vqmovntq, vqmovunbq, vqmovuntq): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vmovnbq, + vmovntq, vqmovnbq, vqmovntq, vqmovunbq, vqmovuntq. + * config/arm/arm_mve.h (vqmovntq): Remove. + (vqmovnbq): Remove. + (vqmovnbq_m): Remove. + (vqmovntq_m): Remove. + (vqmovntq_u16): Remove. + (vqmovnbq_u16): Remove. + (vqmovntq_s16): Remove. + (vqmovnbq_s16): Remove. + (vqmovntq_u32): Remove. + (vqmovnbq_u32): Remove. + (vqmovntq_s32): Remove. + (vqmovnbq_s32): Remove. + (vqmovnbq_m_s16): Remove. + (vqmovntq_m_s16): Remove. + (vqmovnbq_m_u16): Remove. + (vqmovntq_m_u16): Remove. + (vqmovnbq_m_s32): Remove. + (vqmovntq_m_s32): Remove. + (vqmovnbq_m_u32): Remove. + (vqmovntq_m_u32): Remove. + (__arm_vqmovntq_u16): Remove. + (__arm_vqmovnbq_u16): Remove. + (__arm_vqmovntq_s16): Remove. + (__arm_vqmovnbq_s16): Remove. + (__arm_vqmovntq_u32): Remove. + (__arm_vqmovnbq_u32): Remove. + (__arm_vqmovntq_s32): Remove. + (__arm_vqmovnbq_s32): Remove. + (__arm_vqmovnbq_m_s16): Remove. + (__arm_vqmovntq_m_s16): Remove. + (__arm_vqmovnbq_m_u16): Remove. + (__arm_vqmovntq_m_u16): Remove. + (__arm_vqmovnbq_m_s32): Remove. + (__arm_vqmovntq_m_s32): Remove. + (__arm_vqmovnbq_m_u32): Remove. + (__arm_vqmovntq_m_u32): Remove. + (__arm_vqmovntq): Remove. + (__arm_vqmovnbq): Remove. + (__arm_vqmovnbq_m): Remove. + (__arm_vqmovntq_m): Remove. + (vmovntq): Remove. + (vmovnbq): Remove. + (vmovnbq_m): Remove. + (vmovntq_m): Remove. + (vmovntq_u16): Remove. + (vmovnbq_u16): Remove. + (vmovntq_s16): Remove. + (vmovnbq_s16): Remove. + (vmovntq_u32): Remove. + (vmovnbq_u32): Remove. + (vmovntq_s32): Remove. + (vmovnbq_s32): Remove. + (vmovnbq_m_s16): Remove. + (vmovntq_m_s16): Remove. + (vmovnbq_m_u16): Remove. + (vmovntq_m_u16): Remove. + (vmovnbq_m_s32): Remove. + (vmovntq_m_s32): Remove. + (vmovnbq_m_u32): Remove. + (vmovntq_m_u32): Remove. + (__arm_vmovntq_u16): Remove. + (__arm_vmovnbq_u16): Remove. + (__arm_vmovntq_s16): Remove. + (__arm_vmovnbq_s16): Remove. + (__arm_vmovntq_u32): Remove. + (__arm_vmovnbq_u32): Remove. + (__arm_vmovntq_s32): Remove. + (__arm_vmovnbq_s32): Remove. + (__arm_vmovnbq_m_s16): Remove. + (__arm_vmovntq_m_s16): Remove. + (__arm_vmovnbq_m_u16): Remove. + (__arm_vmovntq_m_u16): Remove. + (__arm_vmovnbq_m_s32): Remove. + (__arm_vmovntq_m_s32): Remove. + (__arm_vmovnbq_m_u32): Remove. + (__arm_vmovntq_m_u32): Remove. + (__arm_vmovntq): Remove. + (__arm_vmovnbq): Remove. + (__arm_vmovnbq_m): Remove. + (__arm_vmovntq_m): Remove. + (vqmovuntq): Remove. + (vqmovunbq): Remove. + (vqmovunbq_m): Remove. + (vqmovuntq_m): Remove. + (vqmovuntq_s16): Remove. + (vqmovunbq_s16): Remove. + (vqmovuntq_s32): Remove. + (vqmovunbq_s32): Remove. + (vqmovunbq_m_s16): Remove. + (vqmovuntq_m_s16): Remove. + (vqmovunbq_m_s32): Remove. + (vqmovuntq_m_s32): Remove. + (__arm_vqmovuntq_s16): Remove. + (__arm_vqmovunbq_s16): Remove. + (__arm_vqmovuntq_s32): Remove. + (__arm_vqmovunbq_s32): Remove. + (__arm_vqmovunbq_m_s16): Remove. + (__arm_vqmovuntq_m_s16): Remove. + (__arm_vqmovunbq_m_s32): Remove. + (__arm_vqmovuntq_m_s32): Remove. + (__arm_vqmovuntq): Remove. + (__arm_vqmovunbq): Remove. + (__arm_vqmovunbq_m): Remove. + (__arm_vqmovuntq_m): Remove. + +2023-05-09 Christophe Lyon + + * config/arm/iterators.md (MVE_MOVN, MVE_MOVN_M): New. + (mve_insn): Add vmovnb, vmovnt, vqmovnb, vqmovnt, vqmovunb, + vqmovunt. + (isu): Likewise. + (supf): Add VQMOVUNBQ_M_S, VQMOVUNBQ_S, VQMOVUNTQ_M_S, + VQMOVUNTQ_S. + * config/arm/mve.md (mve_vmovnbq_) + (mve_vmovntq_, mve_vqmovnbq_) + (mve_vqmovntq_, mve_vqmovunbq_s) + (mve_vqmovuntq_s): Merge into ... + (@mve_q_): ... this. + (mve_vmovnbq_m_, mve_vmovntq_m_) + (mve_vqmovnbq_m_, mve_vqmovntq_m_) + (mve_vqmovunbq_m_s, mve_vqmovuntq_m_s): Merge into ... + (@mve_q_m_): ... this. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_move_narrow): New. + (binary_move_narrow_unsigned): New. + * config/arm/arm-mve-builtins-shapes.h (binary_move_narrow): New. + (binary_move_narrow_unsigned): New. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_ONLY_F): New. + (vrndaq, vrndmq, vrndnq, vrndpq, vrndq, vrndxq): New. + * config/arm/arm-mve-builtins-base.def (vrndaq, vrndmq, vrndnq) + (vrndpq, vrndq, vrndxq): New. + * config/arm/arm-mve-builtins-base.h (vrndaq, vrndmq, vrndnq) + (vrndpq, vrndq, vrndxq): New. + * config/arm/arm_mve.h (vrndxq): Remove. + (vrndq): Remove. + (vrndpq): Remove. + (vrndnq): Remove. + (vrndmq): Remove. + (vrndaq): Remove. + (vrndaq_m): Remove. + (vrndmq_m): Remove. + (vrndnq_m): Remove. + (vrndpq_m): Remove. + (vrndq_m): Remove. + (vrndxq_m): Remove. + (vrndq_x): Remove. + (vrndnq_x): Remove. + (vrndmq_x): Remove. + (vrndpq_x): Remove. + (vrndaq_x): Remove. + (vrndxq_x): Remove. + (vrndxq_f16): Remove. + (vrndxq_f32): Remove. + (vrndq_f16): Remove. + (vrndq_f32): Remove. + (vrndpq_f16): Remove. + (vrndpq_f32): Remove. + (vrndnq_f16): Remove. + (vrndnq_f32): Remove. + (vrndmq_f16): Remove. + (vrndmq_f32): Remove. + (vrndaq_f16): Remove. + (vrndaq_f32): Remove. + (vrndaq_m_f16): Remove. + (vrndmq_m_f16): Remove. + (vrndnq_m_f16): Remove. + (vrndpq_m_f16): Remove. + (vrndq_m_f16): Remove. + (vrndxq_m_f16): Remove. + (vrndaq_m_f32): Remove. + (vrndmq_m_f32): Remove. + (vrndnq_m_f32): Remove. + (vrndpq_m_f32): Remove. + (vrndq_m_f32): Remove. + (vrndxq_m_f32): Remove. + (vrndq_x_f16): Remove. + (vrndq_x_f32): Remove. + (vrndnq_x_f16): Remove. + (vrndnq_x_f32): Remove. + (vrndmq_x_f16): Remove. + (vrndmq_x_f32): Remove. + (vrndpq_x_f16): Remove. + (vrndpq_x_f32): Remove. + (vrndaq_x_f16): Remove. + (vrndaq_x_f32): Remove. + (vrndxq_x_f16): Remove. + (vrndxq_x_f32): Remove. + (__arm_vrndxq_f16): Remove. + (__arm_vrndxq_f32): Remove. + (__arm_vrndq_f16): Remove. + (__arm_vrndq_f32): Remove. + (__arm_vrndpq_f16): Remove. + (__arm_vrndpq_f32): Remove. + (__arm_vrndnq_f16): Remove. + (__arm_vrndnq_f32): Remove. + (__arm_vrndmq_f16): Remove. + (__arm_vrndmq_f32): Remove. + (__arm_vrndaq_f16): Remove. + (__arm_vrndaq_f32): Remove. + (__arm_vrndaq_m_f16): Remove. + (__arm_vrndmq_m_f16): Remove. + (__arm_vrndnq_m_f16): Remove. + (__arm_vrndpq_m_f16): Remove. + (__arm_vrndq_m_f16): Remove. + (__arm_vrndxq_m_f16): Remove. + (__arm_vrndaq_m_f32): Remove. + (__arm_vrndmq_m_f32): Remove. + (__arm_vrndnq_m_f32): Remove. + (__arm_vrndpq_m_f32): Remove. + (__arm_vrndq_m_f32): Remove. + (__arm_vrndxq_m_f32): Remove. + (__arm_vrndq_x_f16): Remove. + (__arm_vrndq_x_f32): Remove. + (__arm_vrndnq_x_f16): Remove. + (__arm_vrndnq_x_f32): Remove. + (__arm_vrndmq_x_f16): Remove. + (__arm_vrndmq_x_f32): Remove. + (__arm_vrndpq_x_f16): Remove. + (__arm_vrndpq_x_f32): Remove. + (__arm_vrndaq_x_f16): Remove. + (__arm_vrndaq_x_f32): Remove. + (__arm_vrndxq_x_f16): Remove. + (__arm_vrndxq_x_f32): Remove. + (__arm_vrndxq): Remove. + (__arm_vrndq): Remove. + (__arm_vrndpq): Remove. + (__arm_vrndnq): Remove. + (__arm_vrndmq): Remove. + (__arm_vrndaq): Remove. + (__arm_vrndaq_m): Remove. + (__arm_vrndmq_m): Remove. + (__arm_vrndnq_m): Remove. + (__arm_vrndpq_m): Remove. + (__arm_vrndq_m): Remove. + (__arm_vrndxq_m): Remove. + (__arm_vrndq_x): Remove. + (__arm_vrndnq_x): Remove. + (__arm_vrndmq_x): Remove. + (__arm_vrndpq_x): Remove. + (__arm_vrndaq_x): Remove. + (__arm_vrndxq_x): Remove. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITHOUT_N_NO_U_F): New. + (vabsq, vnegq, vclsq, vclzq, vqabsq, vqnegq): New. + * config/arm/arm-mve-builtins-base.def (vabsq, vnegq, vclsq) + (vclzq, vqabsq, vqnegq): New. + * config/arm/arm-mve-builtins-base.h (vabsq, vnegq, vclsq, vclzq) + (vqabsq, vqnegq): New. + * config/arm/arm_mve.h (vabsq): Remove. + (vabsq_m): Remove. + (vabsq_x): Remove. + (vabsq_f16): Remove. + (vabsq_f32): Remove. + (vabsq_s8): Remove. + (vabsq_s16): Remove. + (vabsq_s32): Remove. + (vabsq_m_s8): Remove. + (vabsq_m_s16): Remove. + (vabsq_m_s32): Remove. + (vabsq_m_f16): Remove. + (vabsq_m_f32): Remove. + (vabsq_x_s8): Remove. + (vabsq_x_s16): Remove. + (vabsq_x_s32): Remove. + (vabsq_x_f16): Remove. + (vabsq_x_f32): Remove. + (__arm_vabsq_s8): Remove. + (__arm_vabsq_s16): Remove. + (__arm_vabsq_s32): Remove. + (__arm_vabsq_m_s8): Remove. + (__arm_vabsq_m_s16): Remove. + (__arm_vabsq_m_s32): Remove. + (__arm_vabsq_x_s8): Remove. + (__arm_vabsq_x_s16): Remove. + (__arm_vabsq_x_s32): Remove. + (__arm_vabsq_f16): Remove. + (__arm_vabsq_f32): Remove. + (__arm_vabsq_m_f16): Remove. + (__arm_vabsq_m_f32): Remove. + (__arm_vabsq_x_f16): Remove. + (__arm_vabsq_x_f32): Remove. + (__arm_vabsq): Remove. + (__arm_vabsq_m): Remove. + (__arm_vabsq_x): Remove. + (vnegq): Remove. + (vnegq_m): Remove. + (vnegq_x): Remove. + (vnegq_f16): Remove. + (vnegq_f32): Remove. + (vnegq_s8): Remove. + (vnegq_s16): Remove. + (vnegq_s32): Remove. + (vnegq_m_s8): Remove. + (vnegq_m_s16): Remove. + (vnegq_m_s32): Remove. + (vnegq_m_f16): Remove. + (vnegq_m_f32): Remove. + (vnegq_x_s8): Remove. + (vnegq_x_s16): Remove. + (vnegq_x_s32): Remove. + (vnegq_x_f16): Remove. + (vnegq_x_f32): Remove. + (__arm_vnegq_s8): Remove. + (__arm_vnegq_s16): Remove. + (__arm_vnegq_s32): Remove. + (__arm_vnegq_m_s8): Remove. + (__arm_vnegq_m_s16): Remove. + (__arm_vnegq_m_s32): Remove. + (__arm_vnegq_x_s8): Remove. + (__arm_vnegq_x_s16): Remove. + (__arm_vnegq_x_s32): Remove. + (__arm_vnegq_f16): Remove. + (__arm_vnegq_f32): Remove. + (__arm_vnegq_m_f16): Remove. + (__arm_vnegq_m_f32): Remove. + (__arm_vnegq_x_f16): Remove. + (__arm_vnegq_x_f32): Remove. + (__arm_vnegq): Remove. + (__arm_vnegq_m): Remove. + (__arm_vnegq_x): Remove. + (vclsq): Remove. + (vclsq_m): Remove. + (vclsq_x): Remove. + (vclsq_s8): Remove. + (vclsq_s16): Remove. + (vclsq_s32): Remove. + (vclsq_m_s8): Remove. + (vclsq_m_s16): Remove. + (vclsq_m_s32): Remove. + (vclsq_x_s8): Remove. + (vclsq_x_s16): Remove. + (vclsq_x_s32): Remove. + (__arm_vclsq_s8): Remove. + (__arm_vclsq_s16): Remove. + (__arm_vclsq_s32): Remove. + (__arm_vclsq_m_s8): Remove. + (__arm_vclsq_m_s16): Remove. + (__arm_vclsq_m_s32): Remove. + (__arm_vclsq_x_s8): Remove. + (__arm_vclsq_x_s16): Remove. + (__arm_vclsq_x_s32): Remove. + (__arm_vclsq): Remove. + (__arm_vclsq_m): Remove. + (__arm_vclsq_x): Remove. + (vclzq): Remove. + (vclzq_m): Remove. + (vclzq_x): Remove. + (vclzq_s8): Remove. + (vclzq_s16): Remove. + (vclzq_s32): Remove. + (vclzq_u8): Remove. + (vclzq_u16): Remove. + (vclzq_u32): Remove. + (vclzq_m_u8): Remove. + (vclzq_m_s8): Remove. + (vclzq_m_u16): Remove. + (vclzq_m_s16): Remove. + (vclzq_m_u32): Remove. + (vclzq_m_s32): Remove. + (vclzq_x_s8): Remove. + (vclzq_x_s16): Remove. + (vclzq_x_s32): Remove. + (vclzq_x_u8): Remove. + (vclzq_x_u16): Remove. + (vclzq_x_u32): Remove. + (__arm_vclzq_s8): Remove. + (__arm_vclzq_s16): Remove. + (__arm_vclzq_s32): Remove. + (__arm_vclzq_u8): Remove. + (__arm_vclzq_u16): Remove. + (__arm_vclzq_u32): Remove. + (__arm_vclzq_m_u8): Remove. + (__arm_vclzq_m_s8): Remove. + (__arm_vclzq_m_u16): Remove. + (__arm_vclzq_m_s16): Remove. + (__arm_vclzq_m_u32): Remove. + (__arm_vclzq_m_s32): Remove. + (__arm_vclzq_x_s8): Remove. + (__arm_vclzq_x_s16): Remove. + (__arm_vclzq_x_s32): Remove. + (__arm_vclzq_x_u8): Remove. + (__arm_vclzq_x_u16): Remove. + (__arm_vclzq_x_u32): Remove. + (__arm_vclzq): Remove. + (__arm_vclzq_m): Remove. + (__arm_vclzq_x): Remove. + (vqabsq): Remove. + (vqnegq): Remove. + (vqnegq_m): Remove. + (vqabsq_m): Remove. + (vqabsq_s8): Remove. + (vqabsq_s16): Remove. + (vqabsq_s32): Remove. + (vqnegq_s8): Remove. + (vqnegq_s16): Remove. + (vqnegq_s32): Remove. + (vqnegq_m_s8): Remove. + (vqabsq_m_s8): Remove. + (vqnegq_m_s16): Remove. + (vqabsq_m_s16): Remove. + (vqnegq_m_s32): Remove. + (vqabsq_m_s32): Remove. + (__arm_vqabsq_s8): Remove. + (__arm_vqabsq_s16): Remove. + (__arm_vqabsq_s32): Remove. + (__arm_vqnegq_s8): Remove. + (__arm_vqnegq_s16): Remove. + (__arm_vqnegq_s32): Remove. + (__arm_vqnegq_m_s8): Remove. + (__arm_vqabsq_m_s8): Remove. + (__arm_vqnegq_m_s16): Remove. + (__arm_vqabsq_m_s16): Remove. + (__arm_vqnegq_m_s32): Remove. + (__arm_vqabsq_m_s32): Remove. + (__arm_vqabsq): Remove. + (__arm_vqnegq): Remove. + (__arm_vqnegq_m): Remove. + (__arm_vqabsq_m): Remove. + +2023-05-09 Christophe Lyon + + * config/arm/iterators.md (MVE_INT_M_UNARY, MVE_INT_UNARY) + (MVE_FP_UNARY, MVE_FP_M_UNARY): New. + (mve_insn): Add vabs, vcls, vclz, vneg, vqabs, vqneg, vrnda, + vrndm, vrndn, vrndp, vrnd, vrndx. + (isu): Add VABSQ_M_S, VCLSQ_M_S, VCLZQ_M_S, VCLZQ_M_U, VNEGQ_M_S, + VQABSQ_M_S, VQNEGQ_M_S. + (mve_mnemo): New. + * config/arm/mve.md (mve_vrndq_m_f, mve_vrndxq_f) + (mve_vrndq_f, mve_vrndpq_f, mve_vrndnq_f) + (mve_vrndmq_f, mve_vrndaq_f): Merge into ... + (@mve_q_f): ... this. + (mve_vnegq_f, mve_vabsq_f): Merge into ... + (mve_vq_f): ... this. + (mve_vnegq_s, mve_vabsq_s): Merge into ... + (mve_vq_s): ... this. + (mve_vclsq_s, mve_vqnegq_s, mve_vqabsq_s): Merge into ... + (@mve_q_): ... this. + (mve_vabsq_m_s, mve_vclsq_m_s) + (mve_vclzq_m_, mve_vnegq_m_s) + (mve_vqabsq_m_s, mve_vqnegq_m_s): Merge into ... + (@mve_q_m_): ... this. + (mve_vabsq_m_f, mve_vnegq_m_f, mve_vrndaq_m_f) + (mve_vrndmq_m_f, mve_vrndnq_m_f, mve_vrndpq_m_f) + (mve_vrndxq_m_f): Merge into ... + (@mve_q_m_f): ... this. + +2023-05-09 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (unary): New. + * config/arm/arm-mve-builtins-shapes.h (unary): New. + +2023-05-09 Jakub Jelinek + + * mux-utils.h: Fix comment typo, avoides -> avoids. + +2023-05-09 Jakub Jelinek + + PR tree-optimization/109778 + * wide-int.h (wi::lrotate, wi::rrotate): Call wi::lrshift on + wi::zext (x, width) rather than x if width != precision, rather + than using wi::zext (right, width) after the shift. + * tree-ssa-ccp.cc (bit_value_binop): Call wi::ext on the results + of wi::lrotate or wi::rrotate. + +2023-05-09 Alexander Monakov + + * genmatch.cc (get_out_file): Make static and rename to ... + (choose_output): ... this. Reimplement. Update all uses ... + (decision_tree::gen): ... here and ... + (main): ... here. + +2023-05-09 Alexander Monakov + + * genmatch.cc (showUsage): Reimplement as ... + (usage): ...this. Adjust all uses. + (main): Print usage when no arguments. Add missing 'return 1'. + +2023-05-09 Alexander Monakov + + * genmatch.cc (header_file): Make static. + (emit_func): Rename to... + (fp_decl): ... this. Adjust all uses. + (fp_decl_done): New function. Use it... + (decision_tree::gen): ... here and... + (write_predicate): ... here. + (main): Adjust. + +2023-05-09 Richard Sandiford + + * ira-conflicts.cc (can_use_same_reg_p): Skip over non-matching + earlyclobbers. + +2023-05-08 Roger Sayle + Uros Bizjak + + * config/i386/i386.md (any_or_plus): Move definition earlier. + (*insvti_highpart_1): New define_insn_and_split to overwrite + (insv) the highpart of a TImode register/memory. + +2023-05-08 Eugene Rozenfeld + + * auto-profile.cc (auto_profile): Check todo from early_inline + to see if cleanup_tree_vfg needs to be called. + (early_inline): Return todo from early_inliner. + +2023-05-08 Kito Cheng + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::get_vector_info): + New. + (pass_vsetvl::get_block_info): New. + (pass_vsetvl::update_vector_info): New. + (pass_vsetvl::simple_vsetvl): Use get_vector_info. + (pass_vsetvl::compute_local_backward_infos): Ditto. + (pass_vsetvl::transfer_before): Ditto. + (pass_vsetvl::transfer_after): Ditto. + (pass_vsetvl::emit_local_forward_vsetvls): Ditto. + (pass_vsetvl::local_eliminate_vsetvl_insn): Ditto. + (pass_vsetvl::cleanup_insns): Ditto. + (pass_vsetvl::compute_local_backward_infos): Use + update_vector_info. + +2023-05-08 Jeff Law + + * config/stormy16/stormy16.md (zero_extendhisi2): Fix length. + +2023-05-08 Richard Biener + Michael Meissner + + PR middle-end/108623 + * tree-core.h (tree_type_common): Bump up precision field to 16 bits. + Align bit fields > 1 bit to at least an 8-bit boundary. + +2023-05-08 Andrew Pinski + + PR tree-optimization/109424 + PR tree-optimization/59424 + * tree-ssa-phiopt.cc (factor_out_conditional_conversion): Rename to ... + (factor_out_conditional_operation): This and add support for all unary + operations. + (pass_phiopt::execute): Update call to factor_out_conditional_conversion + to call factor_out_conditional_operation instead. + +2023-05-08 Andrew Pinski + + * tree-ssa-phiopt.cc (pass_phiopt::execute): Loop + over factor_out_conditional_conversion. + +2023-05-08 Andrew Pinski + + PR tree-optimization/49959 + PR tree-optimization/103771 + * tree-ssa-phiopt.cc (pass_phiopt::execute): Support + Diamond shapped bb form for factor_out_conditional_conversion. + +2023-05-08 Juzhe-Zhong + + * config/riscv/autovec.md (movmisalign): New pattern. + * config/riscv/riscv-protos.h (riscv_vector_mask_mode_p): Delete. + (riscv_vector_get_mask_mode): Ditto. + (get_mask_policy_no_pred): Ditto. + (get_tail_policy_no_pred): Ditto. + (get_mask_mode): New function. + * config/riscv/riscv-v.cc (get_mask_policy_no_pred): Delete. + (get_tail_policy_no_pred): Ditto. + (riscv_vector_mask_mode_p): Ditto. + (riscv_vector_get_mask_mode): Ditto. + (get_mask_mode): New function. + * config/riscv/riscv-vector-builtins.cc (use_real_merge_p): Remove + global extern. + (get_tail_policy_for_pred): Ditto. + * config/riscv/riscv-vector-builtins.h (get_tail_policy_for_pred): Ditto. + (get_mask_policy_for_pred): Ditto + * config/riscv/riscv.cc (riscv_get_mask_mode): Refine codes. + +2023-05-08 Kito Cheng + + * common/config/riscv/riscv-common.cc (riscv_select_multilib_by_abi): New. + (riscv_select_multilib): New. + (riscv_compute_multilib): Extract logic to riscv_select_multilib and + also handle select_by_abi. + * config/riscv/elf.h (RISCV_USE_CUSTOMISED_MULTI_LIB): Change it + to select_by_abi_arch_cmodel from 1. + * config/riscv/linux.h (RISCV_USE_CUSTOMISED_MULTI_LIB): Define. + * config/riscv/riscv-opts.h (enum riscv_multilib_select_kind): New. + +2023-05-08 Alexander Monakov + + * Makefile.in: (gimple-match-head.o-warn): Remove. + (GIMPLE_MATCH_PD_SEQ_SRC): Do not depend on + gimple-match-exports.cc. + (gimple-match-auto.h): Only depend on s-gimple-match. + (generic-match-auto.h): Likewise. + +2023-05-08 Andrew Pinski + + PR tree-optimization/109691 + * tree-ssa-dce.cc (simple_dce_from_worklist): Add need_eh_cleanup + argument. + If the removed statement can throw, have need_eh_cleanup + include the bb of that statement. + * tree-ssa-dce.h (simple_dce_from_worklist): Update declaration. + * tree-ssa-propagate.cc (struct prop_stats_d): Remove + num_dce. + (substitute_and_fold_dom_walker::substitute_and_fold_dom_walker): + Initialize dceworklist instead of stmts_to_remove. + (substitute_and_fold_dom_walker::~substitute_and_fold_dom_walker): + Destore dceworklist instead of stmts_to_remove. + (substitute_and_fold_dom_walker::before_dom_children): + Set dceworklist instead of adding to stmts_to_remove. + (substitute_and_fold_engine::substitute_and_fold): + Call simple_dce_from_worklist instead of poping + from the list. + Don't update the stat on removal statements. + +2023-05-07 Andrew Pinski + + PR target/109762 + * config/aarch64/aarch64-builtins.cc (aarch64_simd_switcher::aarch64_simd_switcher): + Change argument type to aarch64_feature_flags. + * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Change + constructor argument type to aarch64_feature_flags. + Change m_old_asm_isa_flags to be aarch64_feature_flags. + +2023-05-07 Jiufu Guo + + * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Generate + more parallel code if can_create_pseudo_p. + +2023-05-07 Roger Sayle + + PR target/43644 + * lower-subreg.cc (resolve_simple_move): Don't emit a clobber + immediately before moving a multi-word register by parts. + +2023-05-06 Jeff Law + + * config/riscv/riscv-v.cc (riscv_vector_preferred_simd_mode): Delete. + +2023-05-06 Michael Collison + + * tree-vect-slp.cc (can_duplicate_and_interleave_p): + Check that GET_MODE_NUNITS is a multiple of 2. + +2023-05-06 Michael Collison + + * config/riscv/riscv.cc + (riscv_estimated_poly_value): Implement + TARGET_ESTIMATED_POLY_VALUE. + (riscv_preferred_simd_mode): Implement + TARGET_VECTORIZE_PREFERRED_SIMD_MODE. + (riscv_get_mask_mode): Implement TARGET_VECTORIZE_GET_MASK_MODE. + (riscv_empty_mask_is_expensive): Implement + TARGET_VECTORIZE_EMPTY_MASK_IS_EXPENSIVE. + (riscv_vectorize_create_costs): Implement + TARGET_VECTORIZE_CREATE_COSTS. + (riscv_support_vector_misalignment): Implement + TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT. + (TARGET_ESTIMATED_POLY_VALUE): Register target macro. + (TARGET_VECTORIZE_GET_MASK_MODE): Ditto. + (TARGET_VECTORIZE_EMPTY_MASK_IS_EXPENSIVE): Ditto. + (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): Ditto. + +2023-05-06 Jeff Law + + * config/riscv/riscv-v.cc (autovec_use_vlmax_p): Remove + duplicate definition. + +2023-05-06 Michael Collison + + * config/riscv/riscv-v.cc (autovec_use_vlmax_p): New function. + (riscv_vector_preferred_simd_mode): Ditto. + (get_mask_policy_no_pred): Ditto. + (get_tail_policy_no_pred): Ditto. + (riscv_vector_mask_mode_p): Ditto. + (riscv_vector_get_mask_mode): Ditto. + +2023-05-06 Michael Collison + + * config/riscv/riscv-vector-builtins.cc (get_tail_policy_for_pred): + Remove static declaration to to make externally visible. + (get_mask_policy_for_pred): Ditto. + * config/riscv/riscv-vector-builtins.h (get_tail_policy_for_pred): + New external declaration. + (get_mask_policy_for_pred): Ditto. + +2023-05-06 Michael Collison + + * config/riscv/riscv-protos.h (riscv_vector_mask_mode_p): New. + (riscv_vector_get_mask_mode): Ditto. + (get_mask_policy_no_pred): Ditto. + (get_tail_policy_no_pred): Ditto. + +2023-05-06 Xi Ruoyao + + * config/loongarch/loongarch.h (struct machine_function): Add + reg_is_wrapped_separately array for register wrapping + information. + * config/loongarch/loongarch.cc + (loongarch_get_separate_components): New function. + (loongarch_components_for_bb): Likewise. + (loongarch_disqualify_components): Likewise. + (loongarch_process_components): Likewise. + (loongarch_emit_prologue_components): Likewise. + (loongarch_emit_epilogue_components): Likewise. + (loongarch_set_handled_components): Likewise. + (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define. + (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise. + (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise. + (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise. + (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise. + (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise. + (loongarch_for_each_saved_reg): Skip registers that are wrapped + separately. + +2023-05-06 Xi Ruoyao + + PR other/109522 + * Makefile.in (s-macro_list): Pass -nostdinc to + $(GCC_FOR_TARGET). + +2023-05-06 Juzhe-Zhong + + * config/riscv/riscv-protos.h (preferred_simd_mode): New function. + * config/riscv/riscv-v.cc (autovec_use_vlmax_p): Ditto. + (preferred_simd_mode): Ditto. + * config/riscv/riscv.cc (riscv_get_arg_info): Handle RVV type in function arg. + (riscv_convert_vector_bits): Adjust for RVV auto-vectorization. + (riscv_preferred_simd_mode): New function. + (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): New target hook support. + * config/riscv/vector.md: Add autovec.md. + * config/riscv/autovec.md: New file. + +2023-05-06 Jakub Jelinek + + * real.h (dconst_pi): Define. + (dconst_e_ptr): Formatting fix. + (dconst_pi_ptr): Declare. + * real.cc (dconst_pi_ptr): New function. + * gimple-range-op.cc (cfn_sincos::fold_range): Intersect the generic + boundaries range with range computed from sin/cos of the particular + bounds if the argument range is shorter than 2*pi. + (cfn_sincos::op1_range): Take bulps into account when determining + which result ranges are always invalid or behave like known NAN. + +2023-05-06 Aldy Hernandez + + * gimple-range-cache.cc (sbr_sparse_bitmap::set_bb_range): Do not + pass type to vrange_storage::equal_p. + * value-range-storage.cc (vrange_storage::equal_p): Remove type. + (irange_storage::equal_p): Same. + (frange_storage::equal_p): Same. + * value-range-storage.h (class frange_storage): Same. + +2023-05-06 Juzhe-Zhong + + PR target/109748 + * config/riscv/riscv-vsetvl.cc (local_eliminate_vsetvl_insn): Remove it. + (pass_vsetvl::local_eliminate_vsetvl_insn): New function. + +2023-05-06 liuhongt + + * combine.cc (maybe_swap_commutative_operands): Canonicalize + vec_merge when mask is constant. + * doc/md.texi: Document vec_merge canonicalization. + +2023-05-06 Jakub Jelinek + + * value-range.h (frange_arithmetic): Declare. + * range-op-float.cc (frange_arithmetic): No longer static. + * gimple-range-op.cc (frange_mpfr_arg1): New function. + (cfn_sqrt::fold_range): Intersect the generic boundaries range + with range computed from sqrt of the particular bounds. + (cfn_sqrt::op1_range): Intersect the generic boundaries range + with range computed from squared particular bounds. + +2023-05-06 Jakub Jelinek + + * Makefile.in (check_p_numbers): Rename to one_to_9999, move + earlier with helper variables also renamed. + (MATCH_SPLUT_SEQ): Use $(wordlist 1,$(NUM_MATCH_SPLITS),$(one_to_9999)) + instead of $(shell seq 1 $(NUM_MATCH_SPLITS)). + (check_p_subdirs): Use $(one_to_9999) instead of $(check_p_numbers). + +2023-05-06 Hans-Peter Nilsson + + * config/cris/cris.md (splitop): Add PLUS. + * config/cris/cris.cc (cris_split_constant): Also handle + PLUS when a split into two insns may be useful. + +2023-05-05 Hans-Peter Nilsson + + * config/cris/cris.md (movandsplit1): New define_peephole2. + +2023-05-05 Hans-Peter Nilsson + + * config/cris/cris.md (lsrandsplit1): New define_peephole2. + +2023-05-05 Hans-Peter Nilsson + + * doc/md.texi (define_peephole2): Document order of scanning. + +2023-05-05 Pan Li + Ju-Zhe Zhong + + * config/riscv/vector.md: Allow const as the operand of RVV + indexed load/store. + +2023-05-05 Pan Li + + * config/riscv/riscv.h (VECTOR_STORE_FLAG_VALUE): Add new macro + consumed by simplify_rtx. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vrshrq, vshrq): New. + * config/arm/arm-mve-builtins-base.def (vrshrq, vshrq): New. + * config/arm/arm-mve-builtins-base.h (vrshrq, vshrq): New. + * config/arm/arm_mve.h (vshrq): Remove. + (vrshrq): Remove. + (vrshrq_m): Remove. + (vshrq_m): Remove. + (vrshrq_x): Remove. + (vshrq_x): Remove. + (vshrq_n_s8): Remove. + (vshrq_n_s16): Remove. + (vshrq_n_s32): Remove. + (vshrq_n_u8): Remove. + (vshrq_n_u16): Remove. + (vshrq_n_u32): Remove. + (vrshrq_n_u8): Remove. + (vrshrq_n_s8): Remove. + (vrshrq_n_u16): Remove. + (vrshrq_n_s16): Remove. + (vrshrq_n_u32): Remove. + (vrshrq_n_s32): Remove. + (vrshrq_m_n_s8): Remove. + (vrshrq_m_n_s32): Remove. + (vrshrq_m_n_s16): Remove. + (vrshrq_m_n_u8): Remove. + (vrshrq_m_n_u32): Remove. + (vrshrq_m_n_u16): Remove. + (vshrq_m_n_s8): Remove. + (vshrq_m_n_s32): Remove. + (vshrq_m_n_s16): Remove. + (vshrq_m_n_u8): Remove. + (vshrq_m_n_u32): Remove. + (vshrq_m_n_u16): Remove. + (vrshrq_x_n_s8): Remove. + (vrshrq_x_n_s16): Remove. + (vrshrq_x_n_s32): Remove. + (vrshrq_x_n_u8): Remove. + (vrshrq_x_n_u16): Remove. + (vrshrq_x_n_u32): Remove. + (vshrq_x_n_s8): Remove. + (vshrq_x_n_s16): Remove. + (vshrq_x_n_s32): Remove. + (vshrq_x_n_u8): Remove. + (vshrq_x_n_u16): Remove. + (vshrq_x_n_u32): Remove. + (__arm_vshrq_n_s8): Remove. + (__arm_vshrq_n_s16): Remove. + (__arm_vshrq_n_s32): Remove. + (__arm_vshrq_n_u8): Remove. + (__arm_vshrq_n_u16): Remove. + (__arm_vshrq_n_u32): Remove. + (__arm_vrshrq_n_u8): Remove. + (__arm_vrshrq_n_s8): Remove. + (__arm_vrshrq_n_u16): Remove. + (__arm_vrshrq_n_s16): Remove. + (__arm_vrshrq_n_u32): Remove. + (__arm_vrshrq_n_s32): Remove. + (__arm_vrshrq_m_n_s8): Remove. + (__arm_vrshrq_m_n_s32): Remove. + (__arm_vrshrq_m_n_s16): Remove. + (__arm_vrshrq_m_n_u8): Remove. + (__arm_vrshrq_m_n_u32): Remove. + (__arm_vrshrq_m_n_u16): Remove. + (__arm_vshrq_m_n_s8): Remove. + (__arm_vshrq_m_n_s32): Remove. + (__arm_vshrq_m_n_s16): Remove. + (__arm_vshrq_m_n_u8): Remove. + (__arm_vshrq_m_n_u32): Remove. + (__arm_vshrq_m_n_u16): Remove. + (__arm_vrshrq_x_n_s8): Remove. + (__arm_vrshrq_x_n_s16): Remove. + (__arm_vrshrq_x_n_s32): Remove. + (__arm_vrshrq_x_n_u8): Remove. + (__arm_vrshrq_x_n_u16): Remove. + (__arm_vrshrq_x_n_u32): Remove. + (__arm_vshrq_x_n_s8): Remove. + (__arm_vshrq_x_n_s16): Remove. + (__arm_vshrq_x_n_s32): Remove. + (__arm_vshrq_x_n_u8): Remove. + (__arm_vshrq_x_n_u16): Remove. + (__arm_vshrq_x_n_u32): Remove. + (__arm_vshrq): Remove. + (__arm_vrshrq): Remove. + (__arm_vrshrq_m): Remove. + (__arm_vshrq_m): Remove. + (__arm_vrshrq_x): Remove. + (__arm_vshrq_x): Remove. + +2023-05-05 Christophe Lyon + + * config/arm/iterators.md (MVE_VSHRQ_M_N, MVE_VSHRQ_N): New. + (mve_insn): Add vrshr, vshr. + * config/arm/mve.md (mve_vshrq_n_) + (mve_vrshrq_n_): Merge into ... + (@mve_q_n_): ... this. + (mve_vrshrq_m_n_, mve_vshrq_m_n_): Merge + into ... + (@mve_q_m_n_): ... this. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_rshift): New. + * config/arm/arm-mve-builtins-shapes.h (binary_rshift): New. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_ONLY_N_NO_U_F): New. + (vqshrunbq, vqshruntq, vqrshrunbq, vqrshruntq): New. + * config/arm/arm-mve-builtins-base.def (vqshrunbq, vqshruntq) + (vqrshrunbq, vqrshruntq): New. + * config/arm/arm-mve-builtins-base.h (vqshrunbq, vqshruntq) + (vqrshrunbq, vqrshruntq): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vqshrunbq, + vqshruntq, vqrshrunbq, vqrshruntq. + * config/arm/arm_mve.h (vqrshrunbq): Remove. + (vqrshruntq): Remove. + (vqrshrunbq_m): Remove. + (vqrshruntq_m): Remove. + (vqrshrunbq_n_s16): Remove. + (vqrshrunbq_n_s32): Remove. + (vqrshruntq_n_s16): Remove. + (vqrshruntq_n_s32): Remove. + (vqrshrunbq_m_n_s32): Remove. + (vqrshrunbq_m_n_s16): Remove. + (vqrshruntq_m_n_s32): Remove. + (vqrshruntq_m_n_s16): Remove. + (__arm_vqrshrunbq_n_s16): Remove. + (__arm_vqrshrunbq_n_s32): Remove. + (__arm_vqrshruntq_n_s16): Remove. + (__arm_vqrshruntq_n_s32): Remove. + (__arm_vqrshrunbq_m_n_s32): Remove. + (__arm_vqrshrunbq_m_n_s16): Remove. + (__arm_vqrshruntq_m_n_s32): Remove. + (__arm_vqrshruntq_m_n_s16): Remove. + (__arm_vqrshrunbq): Remove. + (__arm_vqrshruntq): Remove. + (__arm_vqrshrunbq_m): Remove. + (__arm_vqrshruntq_m): Remove. + (vqshrunbq): Remove. + (vqshruntq): Remove. + (vqshrunbq_m): Remove. + (vqshruntq_m): Remove. + (vqshrunbq_n_s16): Remove. + (vqshruntq_n_s16): Remove. + (vqshrunbq_n_s32): Remove. + (vqshruntq_n_s32): Remove. + (vqshrunbq_m_n_s32): Remove. + (vqshrunbq_m_n_s16): Remove. + (vqshruntq_m_n_s32): Remove. + (vqshruntq_m_n_s16): Remove. + (__arm_vqshrunbq_n_s16): Remove. + (__arm_vqshruntq_n_s16): Remove. + (__arm_vqshrunbq_n_s32): Remove. + (__arm_vqshruntq_n_s32): Remove. + (__arm_vqshrunbq_m_n_s32): Remove. + (__arm_vqshrunbq_m_n_s16): Remove. + (__arm_vqshruntq_m_n_s32): Remove. + (__arm_vqshruntq_m_n_s16): Remove. + (__arm_vqshrunbq): Remove. + (__arm_vqshruntq): Remove. + (__arm_vqshrunbq_m): Remove. + (__arm_vqshruntq_m): Remove. + +2023-05-05 Christophe Lyon + + * config/arm/iterators.md (MVE_SHRN_N): Add VQRSHRUNBQ, + VQRSHRUNTQ, VQSHRUNBQ, VQSHRUNTQ. + (MVE_SHRN_M_N): Likewise. + (mve_insn): Add vqrshrunb, vqrshrunt, vqshrunb, vqshrunt. + (isu): Add VQRSHRUNBQ, VQRSHRUNTQ, VQSHRUNBQ, VQSHRUNTQ. + (supf): Likewise. + * config/arm/mve.md (mve_vqrshrunbq_n_s): Remove. + (mve_vqrshruntq_n_s): Remove. + (mve_vqshrunbq_n_s): Remove. + (mve_vqshruntq_n_s): Remove. + (mve_vqrshrunbq_m_n_s): Remove. + (mve_vqrshruntq_m_n_s): Remove. + (mve_vqshrunbq_m_n_s): Remove. + (mve_vqshruntq_m_n_s): Remove. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc + (binary_rshift_narrow_unsigned): New. + * config/arm/arm-mve-builtins-shapes.h + (binary_rshift_narrow_unsigned): New. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_ONLY_N_NO_F): New. + (vshrnbq, vshrntq, vrshrnbq, vrshrntq, vqshrnbq, vqshrntq) + (vqrshrnbq, vqrshrntq): New. + * config/arm/arm-mve-builtins-base.def (vshrnbq, vshrntq) + (vrshrnbq, vrshrntq, vqshrnbq, vqshrntq, vqrshrnbq, vqrshrntq): + New. + * config/arm/arm-mve-builtins-base.h (vshrnbq, vshrntq, vrshrnbq) + (vrshrntq, vqshrnbq, vqshrntq, vqrshrnbq, vqrshrntq): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vshrnbq, + vshrntq, vrshrnbq, vrshrntq, vqshrnbq, vqshrntq, vqrshrnbq, + vqrshrntq. + * config/arm/arm_mve.h (vshrnbq): Remove. + (vshrntq): Remove. + (vshrnbq_m): Remove. + (vshrntq_m): Remove. + (vshrnbq_n_s16): Remove. + (vshrntq_n_s16): Remove. + (vshrnbq_n_u16): Remove. + (vshrntq_n_u16): Remove. + (vshrnbq_n_s32): Remove. + (vshrntq_n_s32): Remove. + (vshrnbq_n_u32): Remove. + (vshrntq_n_u32): Remove. + (vshrnbq_m_n_s32): Remove. + (vshrnbq_m_n_s16): Remove. + (vshrnbq_m_n_u32): Remove. + (vshrnbq_m_n_u16): Remove. + (vshrntq_m_n_s32): Remove. + (vshrntq_m_n_s16): Remove. + (vshrntq_m_n_u32): Remove. + (vshrntq_m_n_u16): Remove. + (__arm_vshrnbq_n_s16): Remove. + (__arm_vshrntq_n_s16): Remove. + (__arm_vshrnbq_n_u16): Remove. + (__arm_vshrntq_n_u16): Remove. + (__arm_vshrnbq_n_s32): Remove. + (__arm_vshrntq_n_s32): Remove. + (__arm_vshrnbq_n_u32): Remove. + (__arm_vshrntq_n_u32): Remove. + (__arm_vshrnbq_m_n_s32): Remove. + (__arm_vshrnbq_m_n_s16): Remove. + (__arm_vshrnbq_m_n_u32): Remove. + (__arm_vshrnbq_m_n_u16): Remove. + (__arm_vshrntq_m_n_s32): Remove. + (__arm_vshrntq_m_n_s16): Remove. + (__arm_vshrntq_m_n_u32): Remove. + (__arm_vshrntq_m_n_u16): Remove. + (__arm_vshrnbq): Remove. + (__arm_vshrntq): Remove. + (__arm_vshrnbq_m): Remove. + (__arm_vshrntq_m): Remove. + (vrshrnbq): Remove. + (vrshrntq): Remove. + (vrshrnbq_m): Remove. + (vrshrntq_m): Remove. + (vrshrnbq_n_s16): Remove. + (vrshrntq_n_s16): Remove. + (vrshrnbq_n_u16): Remove. + (vrshrntq_n_u16): Remove. + (vrshrnbq_n_s32): Remove. + (vrshrntq_n_s32): Remove. + (vrshrnbq_n_u32): Remove. + (vrshrntq_n_u32): Remove. + (vrshrnbq_m_n_s32): Remove. + (vrshrnbq_m_n_s16): Remove. + (vrshrnbq_m_n_u32): Remove. + (vrshrnbq_m_n_u16): Remove. + (vrshrntq_m_n_s32): Remove. + (vrshrntq_m_n_s16): Remove. + (vrshrntq_m_n_u32): Remove. + (vrshrntq_m_n_u16): Remove. + (__arm_vrshrnbq_n_s16): Remove. + (__arm_vrshrntq_n_s16): Remove. + (__arm_vrshrnbq_n_u16): Remove. + (__arm_vrshrntq_n_u16): Remove. + (__arm_vrshrnbq_n_s32): Remove. + (__arm_vrshrntq_n_s32): Remove. + (__arm_vrshrnbq_n_u32): Remove. + (__arm_vrshrntq_n_u32): Remove. + (__arm_vrshrnbq_m_n_s32): Remove. + (__arm_vrshrnbq_m_n_s16): Remove. + (__arm_vrshrnbq_m_n_u32): Remove. + (__arm_vrshrnbq_m_n_u16): Remove. + (__arm_vrshrntq_m_n_s32): Remove. + (__arm_vrshrntq_m_n_s16): Remove. + (__arm_vrshrntq_m_n_u32): Remove. + (__arm_vrshrntq_m_n_u16): Remove. + (__arm_vrshrnbq): Remove. + (__arm_vrshrntq): Remove. + (__arm_vrshrnbq_m): Remove. + (__arm_vrshrntq_m): Remove. + (vqshrnbq): Remove. + (vqshrntq): Remove. + (vqshrnbq_m): Remove. + (vqshrntq_m): Remove. + (vqshrnbq_n_s16): Remove. + (vqshrntq_n_s16): Remove. + (vqshrnbq_n_u16): Remove. + (vqshrntq_n_u16): Remove. + (vqshrnbq_n_s32): Remove. + (vqshrntq_n_s32): Remove. + (vqshrnbq_n_u32): Remove. + (vqshrntq_n_u32): Remove. + (vqshrnbq_m_n_s32): Remove. + (vqshrnbq_m_n_s16): Remove. + (vqshrnbq_m_n_u32): Remove. + (vqshrnbq_m_n_u16): Remove. + (vqshrntq_m_n_s32): Remove. + (vqshrntq_m_n_s16): Remove. + (vqshrntq_m_n_u32): Remove. + (vqshrntq_m_n_u16): Remove. + (__arm_vqshrnbq_n_s16): Remove. + (__arm_vqshrntq_n_s16): Remove. + (__arm_vqshrnbq_n_u16): Remove. + (__arm_vqshrntq_n_u16): Remove. + (__arm_vqshrnbq_n_s32): Remove. + (__arm_vqshrntq_n_s32): Remove. + (__arm_vqshrnbq_n_u32): Remove. + (__arm_vqshrntq_n_u32): Remove. + (__arm_vqshrnbq_m_n_s32): Remove. + (__arm_vqshrnbq_m_n_s16): Remove. + (__arm_vqshrnbq_m_n_u32): Remove. + (__arm_vqshrnbq_m_n_u16): Remove. + (__arm_vqshrntq_m_n_s32): Remove. + (__arm_vqshrntq_m_n_s16): Remove. + (__arm_vqshrntq_m_n_u32): Remove. + (__arm_vqshrntq_m_n_u16): Remove. + (__arm_vqshrnbq): Remove. + (__arm_vqshrntq): Remove. + (__arm_vqshrnbq_m): Remove. + (__arm_vqshrntq_m): Remove. + (vqrshrnbq): Remove. + (vqrshrntq): Remove. + (vqrshrnbq_m): Remove. + (vqrshrntq_m): Remove. + (vqrshrnbq_n_s16): Remove. + (vqrshrnbq_n_u16): Remove. + (vqrshrnbq_n_s32): Remove. + (vqrshrnbq_n_u32): Remove. + (vqrshrntq_n_s16): Remove. + (vqrshrntq_n_u16): Remove. + (vqrshrntq_n_s32): Remove. + (vqrshrntq_n_u32): Remove. + (vqrshrnbq_m_n_s32): Remove. + (vqrshrnbq_m_n_s16): Remove. + (vqrshrnbq_m_n_u32): Remove. + (vqrshrnbq_m_n_u16): Remove. + (vqrshrntq_m_n_s32): Remove. + (vqrshrntq_m_n_s16): Remove. + (vqrshrntq_m_n_u32): Remove. + (vqrshrntq_m_n_u16): Remove. + (__arm_vqrshrnbq_n_s16): Remove. + (__arm_vqrshrnbq_n_u16): Remove. + (__arm_vqrshrnbq_n_s32): Remove. + (__arm_vqrshrnbq_n_u32): Remove. + (__arm_vqrshrntq_n_s16): Remove. + (__arm_vqrshrntq_n_u16): Remove. + (__arm_vqrshrntq_n_s32): Remove. + (__arm_vqrshrntq_n_u32): Remove. + (__arm_vqrshrnbq_m_n_s32): Remove. + (__arm_vqrshrnbq_m_n_s16): Remove. + (__arm_vqrshrnbq_m_n_u32): Remove. + (__arm_vqrshrnbq_m_n_u16): Remove. + (__arm_vqrshrntq_m_n_s32): Remove. + (__arm_vqrshrntq_m_n_s16): Remove. + (__arm_vqrshrntq_m_n_u32): Remove. + (__arm_vqrshrntq_m_n_u16): Remove. + (__arm_vqrshrnbq): Remove. + (__arm_vqrshrntq): Remove. + (__arm_vqrshrnbq_m): Remove. + (__arm_vqrshrntq_m): Remove. + +2023-05-05 Christophe Lyon + + * config/arm/iterators.md (MVE_SHRN_N, MVE_SHRN_M_N): New. + (mve_insn): Add vqrshrnb, vqrshrnt, vqshrnb, vqshrnt, vrshrnb, + vrshrnt, vshrnb, vshrnt. + (isu): New. + * config/arm/mve.md (mve_vqrshrnbq_n_) + (mve_vqrshrntq_n_, mve_vqshrnbq_n_) + (mve_vqshrntq_n_, mve_vrshrnbq_n_) + (mve_vrshrntq_n_, mve_vshrnbq_n_) + (mve_vshrntq_n_): Merge into ... + (@mve_q_n_): ... this. + (mve_vqrshrnbq_m_n_, mve_vqrshrntq_m_n_) + (mve_vqshrnbq_m_n_, mve_vqshrntq_m_n_) + (mve_vrshrnbq_m_n_, mve_vrshrntq_m_n_) + (mve_vshrnbq_m_n_, mve_vshrntq_m_n_): + Merge into ... + (@mve_q_m_n_): ... this. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_rshift_narrow): + New. + * config/arm/arm-mve-builtins-shapes.h (binary_rshift_narrow): New. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_RTX_M_NO_F): New. + (vmaxq, vminq): New. + * config/arm/arm-mve-builtins-base.def (vmaxq, vminq): New. + * config/arm/arm-mve-builtins-base.h (vmaxq, vminq): New. + * config/arm/arm_mve.h (vminq): Remove. + (vmaxq): Remove. + (vmaxq_m): Remove. + (vminq_m): Remove. + (vminq_x): Remove. + (vmaxq_x): Remove. + (vminq_u8): Remove. + (vmaxq_u8): Remove. + (vminq_s8): Remove. + (vmaxq_s8): Remove. + (vminq_u16): Remove. + (vmaxq_u16): Remove. + (vminq_s16): Remove. + (vmaxq_s16): Remove. + (vminq_u32): Remove. + (vmaxq_u32): Remove. + (vminq_s32): Remove. + (vmaxq_s32): Remove. + (vmaxq_m_s8): Remove. + (vmaxq_m_s32): Remove. + (vmaxq_m_s16): Remove. + (vmaxq_m_u8): Remove. + (vmaxq_m_u32): Remove. + (vmaxq_m_u16): Remove. + (vminq_m_s8): Remove. + (vminq_m_s32): Remove. + (vminq_m_s16): Remove. + (vminq_m_u8): Remove. + (vminq_m_u32): Remove. + (vminq_m_u16): Remove. + (vminq_x_s8): Remove. + (vminq_x_s16): Remove. + (vminq_x_s32): Remove. + (vminq_x_u8): Remove. + (vminq_x_u16): Remove. + (vminq_x_u32): Remove. + (vmaxq_x_s8): Remove. + (vmaxq_x_s16): Remove. + (vmaxq_x_s32): Remove. + (vmaxq_x_u8): Remove. + (vmaxq_x_u16): Remove. + (vmaxq_x_u32): Remove. + (__arm_vminq_u8): Remove. + (__arm_vmaxq_u8): Remove. + (__arm_vminq_s8): Remove. + (__arm_vmaxq_s8): Remove. + (__arm_vminq_u16): Remove. + (__arm_vmaxq_u16): Remove. + (__arm_vminq_s16): Remove. + (__arm_vmaxq_s16): Remove. + (__arm_vminq_u32): Remove. + (__arm_vmaxq_u32): Remove. + (__arm_vminq_s32): Remove. + (__arm_vmaxq_s32): Remove. + (__arm_vmaxq_m_s8): Remove. + (__arm_vmaxq_m_s32): Remove. + (__arm_vmaxq_m_s16): Remove. + (__arm_vmaxq_m_u8): Remove. + (__arm_vmaxq_m_u32): Remove. + (__arm_vmaxq_m_u16): Remove. + (__arm_vminq_m_s8): Remove. + (__arm_vminq_m_s32): Remove. + (__arm_vminq_m_s16): Remove. + (__arm_vminq_m_u8): Remove. + (__arm_vminq_m_u32): Remove. + (__arm_vminq_m_u16): Remove. + (__arm_vminq_x_s8): Remove. + (__arm_vminq_x_s16): Remove. + (__arm_vminq_x_s32): Remove. + (__arm_vminq_x_u8): Remove. + (__arm_vminq_x_u16): Remove. + (__arm_vminq_x_u32): Remove. + (__arm_vmaxq_x_s8): Remove. + (__arm_vmaxq_x_s16): Remove. + (__arm_vmaxq_x_s32): Remove. + (__arm_vmaxq_x_u8): Remove. + (__arm_vmaxq_x_u16): Remove. + (__arm_vmaxq_x_u32): Remove. + (__arm_vminq): Remove. + (__arm_vmaxq): Remove. + (__arm_vmaxq_m): Remove. + (__arm_vminq_m): Remove. + (__arm_vminq_x): Remove. + (__arm_vmaxq_x): Remove. + +2023-05-05 Christophe Lyon + + * config/arm/iterators.md (MAX_MIN_SU): New. + (max_min_su_str): New. + (max_min_supf): New. + * config/arm/mve.md (mve_vmaxq_s, mve_vmaxq_u) + (mve_vminq_s, mve_vminq_u): Merge into ... + (mve_q_): ... this. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_M_N_R): New. + (vqshlq, vshlq): New. + * config/arm/arm-mve-builtins-base.def (vqshlq, vshlq): New. + * config/arm/arm-mve-builtins-base.h (vqshlq, vshlq): New. + * config/arm/arm_mve.h (vshlq): Remove. + (vshlq_r): Remove. + (vshlq_n): Remove. + (vshlq_m_r): Remove. + (vshlq_m): Remove. + (vshlq_m_n): Remove. + (vshlq_x): Remove. + (vshlq_x_n): Remove. + (vshlq_s8): Remove. + (vshlq_s16): Remove. + (vshlq_s32): Remove. + (vshlq_u8): Remove. + (vshlq_u16): Remove. + (vshlq_u32): Remove. + (vshlq_r_u8): Remove. + (vshlq_n_u8): Remove. + (vshlq_r_s8): Remove. + (vshlq_n_s8): Remove. + (vshlq_r_u16): Remove. + (vshlq_n_u16): Remove. + (vshlq_r_s16): Remove. + (vshlq_n_s16): Remove. + (vshlq_r_u32): Remove. + (vshlq_n_u32): Remove. + (vshlq_r_s32): Remove. + (vshlq_n_s32): Remove. + (vshlq_m_r_u8): Remove. + (vshlq_m_r_s8): Remove. + (vshlq_m_r_u16): Remove. + (vshlq_m_r_s16): Remove. + (vshlq_m_r_u32): Remove. + (vshlq_m_r_s32): Remove. + (vshlq_m_u8): Remove. + (vshlq_m_s8): Remove. + (vshlq_m_u16): Remove. + (vshlq_m_s16): Remove. + (vshlq_m_u32): Remove. + (vshlq_m_s32): Remove. + (vshlq_m_n_s8): Remove. + (vshlq_m_n_s32): Remove. + (vshlq_m_n_s16): Remove. + (vshlq_m_n_u8): Remove. + (vshlq_m_n_u32): Remove. + (vshlq_m_n_u16): Remove. + (vshlq_x_s8): Remove. + (vshlq_x_s16): Remove. + (vshlq_x_s32): Remove. + (vshlq_x_u8): Remove. + (vshlq_x_u16): Remove. + (vshlq_x_u32): Remove. + (vshlq_x_n_s8): Remove. + (vshlq_x_n_s16): Remove. + (vshlq_x_n_s32): Remove. + (vshlq_x_n_u8): Remove. + (vshlq_x_n_u16): Remove. + (vshlq_x_n_u32): Remove. + (__arm_vshlq_s8): Remove. + (__arm_vshlq_s16): Remove. + (__arm_vshlq_s32): Remove. + (__arm_vshlq_u8): Remove. + (__arm_vshlq_u16): Remove. + (__arm_vshlq_u32): Remove. + (__arm_vshlq_r_u8): Remove. + (__arm_vshlq_n_u8): Remove. + (__arm_vshlq_r_s8): Remove. + (__arm_vshlq_n_s8): Remove. + (__arm_vshlq_r_u16): Remove. + (__arm_vshlq_n_u16): Remove. + (__arm_vshlq_r_s16): Remove. + (__arm_vshlq_n_s16): Remove. + (__arm_vshlq_r_u32): Remove. + (__arm_vshlq_n_u32): Remove. + (__arm_vshlq_r_s32): Remove. + (__arm_vshlq_n_s32): Remove. + (__arm_vshlq_m_r_u8): Remove. + (__arm_vshlq_m_r_s8): Remove. + (__arm_vshlq_m_r_u16): Remove. + (__arm_vshlq_m_r_s16): Remove. + (__arm_vshlq_m_r_u32): Remove. + (__arm_vshlq_m_r_s32): Remove. + (__arm_vshlq_m_u8): Remove. + (__arm_vshlq_m_s8): Remove. + (__arm_vshlq_m_u16): Remove. + (__arm_vshlq_m_s16): Remove. + (__arm_vshlq_m_u32): Remove. + (__arm_vshlq_m_s32): Remove. + (__arm_vshlq_m_n_s8): Remove. + (__arm_vshlq_m_n_s32): Remove. + (__arm_vshlq_m_n_s16): Remove. + (__arm_vshlq_m_n_u8): Remove. + (__arm_vshlq_m_n_u32): Remove. + (__arm_vshlq_m_n_u16): Remove. + (__arm_vshlq_x_s8): Remove. + (__arm_vshlq_x_s16): Remove. + (__arm_vshlq_x_s32): Remove. + (__arm_vshlq_x_u8): Remove. + (__arm_vshlq_x_u16): Remove. + (__arm_vshlq_x_u32): Remove. + (__arm_vshlq_x_n_s8): Remove. + (__arm_vshlq_x_n_s16): Remove. + (__arm_vshlq_x_n_s32): Remove. + (__arm_vshlq_x_n_u8): Remove. + (__arm_vshlq_x_n_u16): Remove. + (__arm_vshlq_x_n_u32): Remove. + (__arm_vshlq): Remove. + (__arm_vshlq_r): Remove. + (__arm_vshlq_n): Remove. + (__arm_vshlq_m_r): Remove. + (__arm_vshlq_m): Remove. + (__arm_vshlq_m_n): Remove. + (__arm_vshlq_x): Remove. + (__arm_vshlq_x_n): Remove. + (vqshlq): Remove. + (vqshlq_r): Remove. + (vqshlq_n): Remove. + (vqshlq_m_r): Remove. + (vqshlq_m_n): Remove. + (vqshlq_m): Remove. + (vqshlq_u8): Remove. + (vqshlq_r_u8): Remove. + (vqshlq_n_u8): Remove. + (vqshlq_s8): Remove. + (vqshlq_r_s8): Remove. + (vqshlq_n_s8): Remove. + (vqshlq_u16): Remove. + (vqshlq_r_u16): Remove. + (vqshlq_n_u16): Remove. + (vqshlq_s16): Remove. + (vqshlq_r_s16): Remove. + (vqshlq_n_s16): Remove. + (vqshlq_u32): Remove. + (vqshlq_r_u32): Remove. + (vqshlq_n_u32): Remove. + (vqshlq_s32): Remove. + (vqshlq_r_s32): Remove. + (vqshlq_n_s32): Remove. + (vqshlq_m_r_u8): Remove. + (vqshlq_m_r_s8): Remove. + (vqshlq_m_r_u16): Remove. + (vqshlq_m_r_s16): Remove. + (vqshlq_m_r_u32): Remove. + (vqshlq_m_r_s32): Remove. + (vqshlq_m_n_s8): Remove. + (vqshlq_m_n_s32): Remove. + (vqshlq_m_n_s16): Remove. + (vqshlq_m_n_u8): Remove. + (vqshlq_m_n_u32): Remove. + (vqshlq_m_n_u16): Remove. + (vqshlq_m_s8): Remove. + (vqshlq_m_s32): Remove. + (vqshlq_m_s16): Remove. + (vqshlq_m_u8): Remove. + (vqshlq_m_u32): Remove. + (vqshlq_m_u16): Remove. + (__arm_vqshlq_u8): Remove. + (__arm_vqshlq_r_u8): Remove. + (__arm_vqshlq_n_u8): Remove. + (__arm_vqshlq_s8): Remove. + (__arm_vqshlq_r_s8): Remove. + (__arm_vqshlq_n_s8): Remove. + (__arm_vqshlq_u16): Remove. + (__arm_vqshlq_r_u16): Remove. + (__arm_vqshlq_n_u16): Remove. + (__arm_vqshlq_s16): Remove. + (__arm_vqshlq_r_s16): Remove. + (__arm_vqshlq_n_s16): Remove. + (__arm_vqshlq_u32): Remove. + (__arm_vqshlq_r_u32): Remove. + (__arm_vqshlq_n_u32): Remove. + (__arm_vqshlq_s32): Remove. + (__arm_vqshlq_r_s32): Remove. + (__arm_vqshlq_n_s32): Remove. + (__arm_vqshlq_m_r_u8): Remove. + (__arm_vqshlq_m_r_s8): Remove. + (__arm_vqshlq_m_r_u16): Remove. + (__arm_vqshlq_m_r_s16): Remove. + (__arm_vqshlq_m_r_u32): Remove. + (__arm_vqshlq_m_r_s32): Remove. + (__arm_vqshlq_m_n_s8): Remove. + (__arm_vqshlq_m_n_s32): Remove. + (__arm_vqshlq_m_n_s16): Remove. + (__arm_vqshlq_m_n_u8): Remove. + (__arm_vqshlq_m_n_u32): Remove. + (__arm_vqshlq_m_n_u16): Remove. + (__arm_vqshlq_m_s8): Remove. + (__arm_vqshlq_m_s32): Remove. + (__arm_vqshlq_m_s16): Remove. + (__arm_vqshlq_m_u8): Remove. + (__arm_vqshlq_m_u32): Remove. + (__arm_vqshlq_m_u16): Remove. + (__arm_vqshlq): Remove. + (__arm_vqshlq_r): Remove. + (__arm_vqshlq_n): Remove. + (__arm_vqshlq_m_r): Remove. + (__arm_vqshlq_m_n): Remove. + (__arm_vqshlq_m): Remove. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-functions.h (class + unspec_mve_function_exact_insn_vshl): New. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_lshift_r): New. + * config/arm/arm-mve-builtins-shapes.h (binary_lshift_r): New. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins.cc (has_inactive_argument) + (finish_opt_n_resolution): Handle MODE_r. + * config/arm/arm-mve-builtins.def (r): New mode. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_lshift): New. + * config/arm/arm-mve-builtins-shapes.h (binary_lshift): New. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITHOUT_N): New. + (vabdq): New. + * config/arm/arm-mve-builtins-base.def (vabdq): New. + * config/arm/arm-mve-builtins-base.h (vabdq): New. + * config/arm/arm_mve.h (vabdq): Remove. + (vabdq_m): Remove. + (vabdq_x): Remove. + (vabdq_u8): Remove. + (vabdq_s8): Remove. + (vabdq_u16): Remove. + (vabdq_s16): Remove. + (vabdq_u32): Remove. + (vabdq_s32): Remove. + (vabdq_f16): Remove. + (vabdq_f32): Remove. + (vabdq_m_s8): Remove. + (vabdq_m_s32): Remove. + (vabdq_m_s16): Remove. + (vabdq_m_u8): Remove. + (vabdq_m_u32): Remove. + (vabdq_m_u16): Remove. + (vabdq_m_f32): Remove. + (vabdq_m_f16): Remove. + (vabdq_x_s8): Remove. + (vabdq_x_s16): Remove. + (vabdq_x_s32): Remove. + (vabdq_x_u8): Remove. + (vabdq_x_u16): Remove. + (vabdq_x_u32): Remove. + (vabdq_x_f16): Remove. + (vabdq_x_f32): Remove. + (__arm_vabdq_u8): Remove. + (__arm_vabdq_s8): Remove. + (__arm_vabdq_u16): Remove. + (__arm_vabdq_s16): Remove. + (__arm_vabdq_u32): Remove. + (__arm_vabdq_s32): Remove. + (__arm_vabdq_m_s8): Remove. + (__arm_vabdq_m_s32): Remove. + (__arm_vabdq_m_s16): Remove. + (__arm_vabdq_m_u8): Remove. + (__arm_vabdq_m_u32): Remove. + (__arm_vabdq_m_u16): Remove. + (__arm_vabdq_x_s8): Remove. + (__arm_vabdq_x_s16): Remove. + (__arm_vabdq_x_s32): Remove. + (__arm_vabdq_x_u8): Remove. + (__arm_vabdq_x_u16): Remove. + (__arm_vabdq_x_u32): Remove. + (__arm_vabdq_f16): Remove. + (__arm_vabdq_f32): Remove. + (__arm_vabdq_m_f32): Remove. + (__arm_vabdq_m_f16): Remove. + (__arm_vabdq_x_f16): Remove. + (__arm_vabdq_x_f32): Remove. + (__arm_vabdq): Remove. + (__arm_vabdq_m): Remove. + (__arm_vabdq_x): Remove. + +2023-05-05 Christophe Lyon + + * config/arm/iterators.md (MVE_FP_M_BINARY): Add vabdq. + (MVE_FP_VABDQ_ONLY): New. + (mve_insn): Add vabd. + * config/arm/mve.md (mve_vabdq_f): Move into ... + (@mve_q_f): ... this. + (mve_vabdq_m_f): Remove. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vqrdmulhq): New. + * config/arm/arm-mve-builtins-base.def (vqrdmulhq): New. + * config/arm/arm-mve-builtins-base.h (vqrdmulhq): New. + * config/arm/arm_mve.h (vqrdmulhq): Remove. + (vqrdmulhq_m): Remove. + (vqrdmulhq_s8): Remove. + (vqrdmulhq_n_s8): Remove. + (vqrdmulhq_s16): Remove. + (vqrdmulhq_n_s16): Remove. + (vqrdmulhq_s32): Remove. + (vqrdmulhq_n_s32): Remove. + (vqrdmulhq_m_n_s8): Remove. + (vqrdmulhq_m_n_s32): Remove. + (vqrdmulhq_m_n_s16): Remove. + (vqrdmulhq_m_s8): Remove. + (vqrdmulhq_m_s32): Remove. + (vqrdmulhq_m_s16): Remove. + (__arm_vqrdmulhq_s8): Remove. + (__arm_vqrdmulhq_n_s8): Remove. + (__arm_vqrdmulhq_s16): Remove. + (__arm_vqrdmulhq_n_s16): Remove. + (__arm_vqrdmulhq_s32): Remove. + (__arm_vqrdmulhq_n_s32): Remove. + (__arm_vqrdmulhq_m_n_s8): Remove. + (__arm_vqrdmulhq_m_n_s32): Remove. + (__arm_vqrdmulhq_m_n_s16): Remove. + (__arm_vqrdmulhq_m_s8): Remove. + (__arm_vqrdmulhq_m_s32): Remove. + (__arm_vqrdmulhq_m_s16): Remove. + (__arm_vqrdmulhq): Remove. + (__arm_vqrdmulhq_m): Remove. + +2023-05-05 Christophe Lyon + + * config/arm/iterators.md (MVE_SHIFT_M_R, MVE_SHIFT_M_N) + (MVE_SHIFT_N, MVE_SHIFT_R): New. + (mve_insn): Add vqshl, vshl. + * config/arm/mve.md (mve_vqshlq_n_) + (mve_vshlq_n_): Merge into ... + (@mve_q_n_): ... this. + (mve_vqshlq_r_, mve_vshlq_r_): Merge into + ... + (@mve_q_r_): ... this. + (mve_vqshlq_m_r_, mve_vshlq_m_r_): Merge + into ... + (@mve_q_m_r_): ... this. + (mve_vqshlq_m_n_, mve_vshlq_m_n_): Merge + into ... + (@mve_q_m_n_): ... this. + * config/arm/vec-common.md (mve_vshlq_): Transform + into ... + (@mve_q_): ... this. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vqrshlq, vrshlq): New. + * config/arm/arm-mve-builtins-base.def (vqrshlq, vrshlq): New. + * config/arm/arm-mve-builtins-base.h (vqrshlq, vrshlq): New. + * config/arm/arm-mve-builtins.cc (has_inactive_argument): Handle + vqrshlq, vrshlq. + * config/arm/arm_mve.h (vrshlq): Remove. + (vrshlq_m_n): Remove. + (vrshlq_m): Remove. + (vrshlq_x): Remove. + (vrshlq_u8): Remove. + (vrshlq_n_u8): Remove. + (vrshlq_s8): Remove. + (vrshlq_n_s8): Remove. + (vrshlq_u16): Remove. + (vrshlq_n_u16): Remove. + (vrshlq_s16): Remove. + (vrshlq_n_s16): Remove. + (vrshlq_u32): Remove. + (vrshlq_n_u32): Remove. + (vrshlq_s32): Remove. + (vrshlq_n_s32): Remove. + (vrshlq_m_n_u8): Remove. + (vrshlq_m_n_s8): Remove. + (vrshlq_m_n_u16): Remove. + (vrshlq_m_n_s16): Remove. + (vrshlq_m_n_u32): Remove. + (vrshlq_m_n_s32): Remove. + (vrshlq_m_s8): Remove. + (vrshlq_m_s32): Remove. + (vrshlq_m_s16): Remove. + (vrshlq_m_u8): Remove. + (vrshlq_m_u32): Remove. + (vrshlq_m_u16): Remove. + (vrshlq_x_s8): Remove. + (vrshlq_x_s16): Remove. + (vrshlq_x_s32): Remove. + (vrshlq_x_u8): Remove. + (vrshlq_x_u16): Remove. + (vrshlq_x_u32): Remove. + (__arm_vrshlq_u8): Remove. + (__arm_vrshlq_n_u8): Remove. + (__arm_vrshlq_s8): Remove. + (__arm_vrshlq_n_s8): Remove. + (__arm_vrshlq_u16): Remove. + (__arm_vrshlq_n_u16): Remove. + (__arm_vrshlq_s16): Remove. + (__arm_vrshlq_n_s16): Remove. + (__arm_vrshlq_u32): Remove. + (__arm_vrshlq_n_u32): Remove. + (__arm_vrshlq_s32): Remove. + (__arm_vrshlq_n_s32): Remove. + (__arm_vrshlq_m_n_u8): Remove. + (__arm_vrshlq_m_n_s8): Remove. + (__arm_vrshlq_m_n_u16): Remove. + (__arm_vrshlq_m_n_s16): Remove. + (__arm_vrshlq_m_n_u32): Remove. + (__arm_vrshlq_m_n_s32): Remove. + (__arm_vrshlq_m_s8): Remove. + (__arm_vrshlq_m_s32): Remove. + (__arm_vrshlq_m_s16): Remove. + (__arm_vrshlq_m_u8): Remove. + (__arm_vrshlq_m_u32): Remove. + (__arm_vrshlq_m_u16): Remove. + (__arm_vrshlq_x_s8): Remove. + (__arm_vrshlq_x_s16): Remove. + (__arm_vrshlq_x_s32): Remove. + (__arm_vrshlq_x_u8): Remove. + (__arm_vrshlq_x_u16): Remove. + (__arm_vrshlq_x_u32): Remove. + (__arm_vrshlq): Remove. + (__arm_vrshlq_m_n): Remove. + (__arm_vrshlq_m): Remove. + (__arm_vrshlq_x): Remove. + (vqrshlq): Remove. + (vqrshlq_m_n): Remove. + (vqrshlq_m): Remove. + (vqrshlq_u8): Remove. + (vqrshlq_n_u8): Remove. + (vqrshlq_s8): Remove. + (vqrshlq_n_s8): Remove. + (vqrshlq_u16): Remove. + (vqrshlq_n_u16): Remove. + (vqrshlq_s16): Remove. + (vqrshlq_n_s16): Remove. + (vqrshlq_u32): Remove. + (vqrshlq_n_u32): Remove. + (vqrshlq_s32): Remove. + (vqrshlq_n_s32): Remove. + (vqrshlq_m_n_u8): Remove. + (vqrshlq_m_n_s8): Remove. + (vqrshlq_m_n_u16): Remove. + (vqrshlq_m_n_s16): Remove. + (vqrshlq_m_n_u32): Remove. + (vqrshlq_m_n_s32): Remove. + (vqrshlq_m_s8): Remove. + (vqrshlq_m_s32): Remove. + (vqrshlq_m_s16): Remove. + (vqrshlq_m_u8): Remove. + (vqrshlq_m_u32): Remove. + (vqrshlq_m_u16): Remove. + (__arm_vqrshlq_u8): Remove. + (__arm_vqrshlq_n_u8): Remove. + (__arm_vqrshlq_s8): Remove. + (__arm_vqrshlq_n_s8): Remove. + (__arm_vqrshlq_u16): Remove. + (__arm_vqrshlq_n_u16): Remove. + (__arm_vqrshlq_s16): Remove. + (__arm_vqrshlq_n_s16): Remove. + (__arm_vqrshlq_u32): Remove. + (__arm_vqrshlq_n_u32): Remove. + (__arm_vqrshlq_s32): Remove. + (__arm_vqrshlq_n_s32): Remove. + (__arm_vqrshlq_m_n_u8): Remove. + (__arm_vqrshlq_m_n_s8): Remove. + (__arm_vqrshlq_m_n_u16): Remove. + (__arm_vqrshlq_m_n_s16): Remove. + (__arm_vqrshlq_m_n_u32): Remove. + (__arm_vqrshlq_m_n_s32): Remove. + (__arm_vqrshlq_m_s8): Remove. + (__arm_vqrshlq_m_s32): Remove. + (__arm_vqrshlq_m_s16): Remove. + (__arm_vqrshlq_m_u8): Remove. + (__arm_vqrshlq_m_u32): Remove. + (__arm_vqrshlq_m_u16): Remove. + (__arm_vqrshlq): Remove. + (__arm_vqrshlq_m_n): Remove. + (__arm_vqrshlq_m): Remove. + +2023-05-05 Christophe Lyon + + * config/arm/iterators.md (MVE_RSHIFT_M_N, MVE_RSHIFT_N): New. + (mve_insn): Add vqrshl, vrshl. + * config/arm/mve.md (mve_vqrshlq_n_) + (mve_vrshlq_n_): Merge into ... + (@mve_q_n_): ... this. + (mve_vqrshlq_m_n_, mve_vrshlq_m_n_): Merge + into ... + (@mve_q_m_n_): ... this. + +2023-05-05 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_round_lshift): New. + * config/arm/arm-mve-builtins-shapes.h (binary_round_lshift): New. + +2023-05-05 Juzhe-Zhong + + PR target/109615 + * config/riscv/riscv-vsetvl.cc (avl_info::multiple_source_equal_p): Add + denegrate PHI optmization. + +2023-05-05 Uros Bizjak + + * config/i386/predicates.md (register_no_SP_operand): + Rename from index_register_operand. + (call_register_operand): Update for rename. + * config/i386/i386.md (*lea_general_[1234]): Update for rename. + +2023-05-05 Tamar Christina + + PR bootstrap/84402 + * Makefile.in (NUM_MATCH_SPLITS, MATCH_SPLITS_SEQ, + GIMPLE_MATCH_PD_SEQ_SRC, GIMPLE_MATCH_PD_SEQ_O, + GENERIC_MATCH_PD_SEQ_SRC, GENERIC_MATCH_PD_SEQ_O): New. + (OBJS, MOSTLYCLEANFILES, .PRECIOUS): Use them. + (s-match): Split into s-generic-match and s-gimple-match. + * configure.ac (with-matchpd-partitions, + DEFAULT_MATCHPD_PARTITIONS): New. + * configure: Regenerate. + +2023-05-05 Tamar Christina + + PR bootstrap/84402 + * genmatch.cc (emit_func, SIZED_BASED_CHUNKS, get_out_file): New. + (decision_tree::gen): Accept list of files instead of single and update + to write function definition to header and main file. + (write_predicate): Likewise. + (write_header): Emit pragmas and new includes. + (main): Create file buffers and cleanup. + (showUsage, write_header_includes): New. + +2023-05-05 Tamar Christina + + PR bootstrap/84402 + * Makefile.in (OBJS): Add gimple-match-exports.o. + * genmatch.cc (decision_tree::gen): Export gimple_gimplify helpers. + * gimple-match-head.cc (gimple_simplify, gimple_resimplify1, + gimple_resimplify2, gimple_resimplify3, gimple_resimplify4, + gimple_resimplify5, constant_for_folding, convert_conditional_op, + maybe_resimplify_conditional_op, gimple_match_op::resimplify, + maybe_build_generic_op, build_call_internal, maybe_push_res_to_seq, + do_valueize, try_conditional_simplification, gimple_extract, + gimple_extract_op, canonicalize_code, commutative_binary_op_p, + commutative_ternary_op_p, first_commutative_argument, + associative_binary_op_p, directly_supported_p, + get_conditional_internal_fn): Moved to gimple-match-exports.cc + * gimple-match-exports.cc: New file. + +2023-05-05 Tamar Christina + + PR bootstrap/84402 + * genmatch.cc (decision_tree::gen, write_predicate): Generate new + debug_dump var. + (dt_simplify::gen_1): Use it. + +2023-05-05 Tamar Christina + + PR bootstrap/84402 + * genmatch.cc (output_line_directive): Only emit commented directive + when -vv. + +2023-05-05 Tamar Christina + + PR bootstrap/84402 + * genmatch.cc (dt_simplify::gen_1): Only emit labels if used. + +2023-05-05 Tobias Burnus + + * config/gcn/gcn.cc (gcn_vectorize_builtin_vectorized_function): Remove + unused in_mode/in_n variables. + +2023-05-05 Richard Biener + + PR tree-optimization/109735 + * tree-vect-stmts.cc (vectorizable_operation): Perform + conversion for POINTER_DIFF_EXPR unconditionally. + +2023-05-05 Uros Bizjak + + * config/i386/mmx.md (mulv2si3): New expander. + (*mulv2si3): New insn pattern. + +2023-05-05 Tobias Burnus + Thomas Schwinge + + PR libgomp/108098 + * config/nvptx/mkoffload.cc (process): Emit dummy procedure + alongside reverse-offload function table to prevent NULL values + of the function addresses. + +2023-05-05 Jakub Jelinek + + * builtins.cc (do_mpfr_ckconv, do_mpc_ckconv): Fix comment typo, + mpft_t -> mpfr_t. + * fold-const-call.cc (do_mpfr_ckconv, do_mpc_ckconv): Likewise. + +2023-05-05 Andrew Pinski + + PR tree-optimization/109732 + * tree-ssa-phiopt.cc (match_simplify_replacement): Fix the selection + of the argtrue/argfalse. + +2023-05-05 Andrew Pinski + + PR tree-optimization/109722 + * match.pd: Extend the `ABS == 0` pattern + to cover `ABSU == 0` too. + +2023-05-04 Uros Bizjak + + PR target/109733 + * config/i386/predicates.md (index_reg_operand): New predicate. + * config/i386/i386.md (ashift to lea spliter): Use + general_reg_operand and index_reg_operand predicates. + +2023-05-04 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_hn2_insn_le): + Rename and reimplement with RTL codes to... + (aarch64_hn2_insn_le): .. This. + (aarch64_rhn2_insn_le): New pattern. + (aarch64_hn2_insn_be): Rename and reimplement with RTL + codes to... + (aarch64_hn2_insn_be): ... This. + (aarch64_rhn2_insn_be): New pattern. + (aarch64_hn2): Rename and adjust expander to... + (aarch64_hn2): ... This. + (aarch64_rhn2): New expander. + * config/aarch64/iterators.md (UNSPEC_ADDHN, UNSPEC_RADDHN, + UNSPEC_SUBHN, UNSPEC_RSUBHN): Delete unspecs. + (ADDSUBHN): Delete. + (sur): Remove handling of the above. + (addsub): Likewise. + +2023-05-04 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_hn_insn_le): + Delete. + (aarch64_hn_insn): New define_insn. + (aarch64_hn_insn_be): Delete. + (aarch64_rhn_insn): New define_insn. + (aarch64_hn): Delete. + (aarch64_hn): New define_expand. + (aarch64_rhn): Likewise. + * config/aarch64/predicates.md (aarch64_simd_raddsubhn_imm_vec): + New predicate. + +2023-05-04 Andrew Pinski + + * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Handle + diamond form bb with forwarder only empty blocks better. + +2023-05-04 Andrew Pinski + + * tree-ssa-threadupdate.cc (copy_phi_arg_into_existing_phi): Move to ... + * tree-cfg.cc (copy_phi_arg_into_existing_phi): Here and remove static. + (gimple_duplicate_sese_tail): Use copy_phi_arg_into_existing_phi instead + of an inline version of it. + * tree-cfgcleanup.cc (remove_forwarder_block): Likewise. + * tree-cfg.h (copy_phi_arg_into_existing_phi): New declaration. + +2023-05-04 Andrew Pinski + + * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Change + the default argument value for dce_ssa_names to nullptr. + Check to make sure dce_ssa_names is a non-nullptr before + calling simple_dce_from_worklist. + +2023-05-04 Uros Bizjak + + * config/i386/predicates.md (index_register_operand): Reject + arg_pointer_rtx, frame_pointer_rtx, stack_pointer_rtx and + VIRTUAL_REGISTER_P operands. Allow subregs of memory before reload. + (call_register_no_elim_operand): Rewrite as ... + (call_register_operand): ... this. + (call_insn_operand): Use call_register_operand predicate. + +2023-05-04 Richard Biener + + PR tree-optimization/109721 + * tree-vect-stmts.cc (vectorizable_operation): Make sure + to test word_mode for all !target_support_p operations. + +2023-05-04 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_aba): Rename to... + (aarch64_aba): ... This. + (aarch64_mla): Rename to... + (aarch64_mla): ... This. + (*aarch64_mla_elt): Rename to... + (*aarch64_mla_elt): ... This. + (*aarch64_mla_elt_): Rename to... + (*aarch64_mla_elt_): ... This. + (aarch64_mla_n): Rename to... + (aarch64_mla_n): ... This. + (aarch64_mls): Rename to... + (aarch64_mls): ... This. + (*aarch64_mls_elt): Rename to... + (*aarch64_mls_elt): ... This. + (*aarch64_mls_elt_): Rename to... + (*aarch64_mls_elt_): ... This. + (aarch64_mls_n): Rename to... + (aarch64_mls_n): ... This. + (fma4): Rename to... + (fma4): ... This. + (*aarch64_fma4_elt): Rename to... + (*aarch64_fma4_elt): ... This. + (*aarch64_fma4_elt_): Rename to... + (*aarch64_fma4_elt_): ... This. + (*aarch64_fma4_elt_from_dup): Rename to... + (*aarch64_fma4_elt_from_dup): ... This. + (fnma4): Rename to... + (fnma4): ... This. + (*aarch64_fnma4_elt): Rename to... + (*aarch64_fnma4_elt): ... This. + (*aarch64_fnma4_elt_): Rename to... + (*aarch64_fnma4_elt_): ... This. + (*aarch64_fnma4_elt_from_dup): Rename to... + (*aarch64_fnma4_elt_from_dup): ... This. + (aarch64_simd_bsl_internal): Rename to... + (aarch64_simd_bsl_internal): ... This. + (*aarch64_simd_bsl_alt): Rename to... + (*aarch64_simd_bsl_alt): ... This. + +2023-05-04 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_abd): Rename to... + (aarch64_abd): ... This. + (fabd3): Rename to... + (fabd3): ... This. + (aarch64_p): Rename to... + (aarch64_p): ... This. + (aarch64_faddp): Rename to... + (aarch64_faddp): ... This. + +2023-05-04 Martin Liska + + * gcov.cc (GCOV_JSON_FORMAT_VERSION): New definition. + (print_version): Use it. + (generate_results): Likewise. + +2023-05-04 Richard Biener + + * tree-cfg.h (last_stmt): Rename to ... + (last_nondebug_stmt): ... this. + * tree-cfg.cc (last_stmt): Rename to ... + (last_nondebug_stmt): ... this. + (assign_discriminators): Adjust. + (group_case_labels_stmt): Likewise. + (gimple_can_duplicate_bb_p): Likewise. + (execute_fixup_cfg): Likewise. + * auto-profile.cc (afdo_propagate_circuit): Likewise. + * gimple-range.cc (gimple_ranger::range_on_exit): Likewise. + * omp-expand.cc (workshare_safe_to_combine_p): Likewise. + (determine_parallel_type): Likewise. + (adjust_context_and_scope): Likewise. + (expand_task_call): Likewise. + (remove_exit_barrier): Likewise. + (expand_omp_taskreg): Likewise. + (expand_omp_for_init_counts): Likewise. + (expand_omp_for_init_vars): Likewise. + (expand_omp_for_static_chunk): Likewise. + (expand_omp_simd): Likewise. + (expand_oacc_for): Likewise. + (expand_omp_for): Likewise. + (expand_omp_sections): Likewise. + (expand_omp_atomic_fetch_op): Likewise. + (expand_omp_atomic_cas): Likewise. + (expand_omp_atomic): Likewise. + (expand_omp_target): Likewise. + (expand_omp): Likewise. + (omp_make_gimple_edges): Likewise. + * trans-mem.cc (tm_region_init): Likewise. + * tree-inline.cc (redirect_all_calls): Likewise. + * tree-parloops.cc (gen_parallel_loop): Likewise. + * tree-ssa-loop-ch.cc (do_while_loop_p): Likewise. + * tree-ssa-loop-ivcanon.cc (canonicalize_loop_induction_variables): + Likewise. + * tree-ssa-loop-ivopts.cc (stmt_after_ip_normal_pos): Likewise. + (may_eliminate_iv): Likewise. + * tree-ssa-loop-manip.cc (standard_iv_increment_position): Likewise. + * tree-ssa-loop-niter.cc (do_warn_aggressive_loop_optimizations): + Likewise. + (estimate_numbers_of_iterations): Likewise. + * tree-ssa-loop-split.cc (compute_added_num_insns): Likewise. + * tree-ssa-loop-unswitch.cc (get_predicates_for_bb): Likewise. + (set_predicates_for_bb): Likewise. + (init_loop_unswitch_info): Likewise. + (hoist_guard): Likewise. + * tree-ssa-phiopt.cc (match_simplify_replacement): Likewise. + (minmax_replacement): Likewise. + * tree-ssa-reassoc.cc (update_range_test): Likewise. + (optimize_range_tests_to_bit_test): Likewise. + (optimize_range_tests_var_bound): Likewise. + (optimize_range_tests): Likewise. + (no_side_effect_bb): Likewise. + (suitable_cond_bb): Likewise. + (maybe_optimize_range_tests): Likewise. + (reassociate_bb): Likewise. + * tree-vrp.cc (rvrp_folder::pre_fold_bb): Likewise. + +2023-05-04 Jakub Jelinek + + PR debug/109676 + * config/i386/i386-features.cc (timode_scalar_chain::convert_insn): + If src is REG, change its mode to V1TImode and call fix_debug_reg_uses + for it only if it still has TImode. Don't decide whether to call + fix_debug_reg_uses based on whether SRC is ever set or not. + +2023-05-04 Hans-Peter Nilsson + + * config/cris/cris.cc (cris_split_constant): New function. + * config/cris/cris.md (splitop): New iterator. + (opsplit1): New define_peephole2. + * config/cris/cris-protos.h (cris_split_constant): Declare. + (cris_splittable_constant_p): New macro. + +2023-05-04 Hans-Peter Nilsson + + * config/cris/cris.cc (TARGET_SPILL_CLASS): Define + to ALL_REGS. + +2023-05-04 Hans-Peter Nilsson + + * config/cris/cris.cc (cris_side_effect_mode_ok): Use + lra_in_progress, not reload_in_progress. + * config/cris/cris.md ("movdi", "*addi_reload"): Ditto. + * config/cris/constraints.md ("Q"): Ditto. + +2023-05-03 Andrew Pinski + + * tree-ssa-dce.cc (simple_dce_from_worklist): Record + stats on removed number of statements and phis. + +2023-05-03 Aldy Hernandez + + PR tree-optimization/109711 + * value-range.cc (irange::verify_range): Allow types of + error_mark_node. + +2023-05-03 Alexander Monakov + + PR sanitizer/90746 + * calls.cc (can_implement_as_sibling_call_p): Reject calls + to __sanitizer_cov_trace_pc. + +2023-05-03 Richard Sandiford + + PR target/109661 + * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Add + a new ABI break parameter for GCC 14. Set it to the alignment + of enums that have an underlying type. Take the true alignment + of such enums from the TYPE_ALIGN of the underlying type's + TYPE_MAIN_VARIANT. + (aarch64_function_arg_boundary): Update accordingly. + (aarch64_layout_arg, aarch64_gimplify_va_arg_expr): Likewise. + Warn about ABI differences. + +2023-05-03 Richard Sandiford + + PR target/109661 + * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Rename + ABI break variables to abi_break_gcc_9 and abi_break_gcc_13. + (aarch64_layout_arg, aarch64_function_arg_boundary): Likewise. + (aarch64_gimplify_va_arg_expr): Likewise. + +2023-05-03 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_M_N_NO_F) + (FUNCTION_WITHOUT_N_NO_F, FUNCTION_WITH_M_N_NO_U_F): New. + (vhaddq, vhsubq, vmulhq, vqaddq, vqsubq, vqdmulhq, vrhaddq) + (vrmulhq): New. + * config/arm/arm-mve-builtins-base.def (vhaddq, vhsubq, vmulhq) + (vqaddq, vqsubq, vqdmulhq, vrhaddq, vrmulhq): New. + * config/arm/arm-mve-builtins-base.h (vhaddq, vhsubq, vmulhq) + (vqaddq, vqsubq, vqdmulhq, vrhaddq, vrmulhq): New. + * config/arm/arm_mve.h (vhsubq): Remove. + (vhaddq): Remove. + (vhaddq_m): Remove. + (vhsubq_m): Remove. + (vhaddq_x): Remove. + (vhsubq_x): Remove. + (vhsubq_u8): Remove. + (vhsubq_n_u8): Remove. + (vhaddq_u8): Remove. + (vhaddq_n_u8): Remove. + (vhsubq_s8): Remove. + (vhsubq_n_s8): Remove. + (vhaddq_s8): Remove. + (vhaddq_n_s8): Remove. + (vhsubq_u16): Remove. + (vhsubq_n_u16): Remove. + (vhaddq_u16): Remove. + (vhaddq_n_u16): Remove. + (vhsubq_s16): Remove. + (vhsubq_n_s16): Remove. + (vhaddq_s16): Remove. + (vhaddq_n_s16): Remove. + (vhsubq_u32): Remove. + (vhsubq_n_u32): Remove. + (vhaddq_u32): Remove. + (vhaddq_n_u32): Remove. + (vhsubq_s32): Remove. + (vhsubq_n_s32): Remove. + (vhaddq_s32): Remove. + (vhaddq_n_s32): Remove. + (vhaddq_m_n_s8): Remove. + (vhaddq_m_n_s32): Remove. + (vhaddq_m_n_s16): Remove. + (vhaddq_m_n_u8): Remove. + (vhaddq_m_n_u32): Remove. + (vhaddq_m_n_u16): Remove. + (vhaddq_m_s8): Remove. + (vhaddq_m_s32): Remove. + (vhaddq_m_s16): Remove. + (vhaddq_m_u8): Remove. + (vhaddq_m_u32): Remove. + (vhaddq_m_u16): Remove. + (vhsubq_m_n_s8): Remove. + (vhsubq_m_n_s32): Remove. + (vhsubq_m_n_s16): Remove. + (vhsubq_m_n_u8): Remove. + (vhsubq_m_n_u32): Remove. + (vhsubq_m_n_u16): Remove. + (vhsubq_m_s8): Remove. + (vhsubq_m_s32): Remove. + (vhsubq_m_s16): Remove. + (vhsubq_m_u8): Remove. + (vhsubq_m_u32): Remove. + (vhsubq_m_u16): Remove. + (vhaddq_x_n_s8): Remove. + (vhaddq_x_n_s16): Remove. + (vhaddq_x_n_s32): Remove. + (vhaddq_x_n_u8): Remove. + (vhaddq_x_n_u16): Remove. + (vhaddq_x_n_u32): Remove. + (vhaddq_x_s8): Remove. + (vhaddq_x_s16): Remove. + (vhaddq_x_s32): Remove. + (vhaddq_x_u8): Remove. + (vhaddq_x_u16): Remove. + (vhaddq_x_u32): Remove. + (vhsubq_x_n_s8): Remove. + (vhsubq_x_n_s16): Remove. + (vhsubq_x_n_s32): Remove. + (vhsubq_x_n_u8): Remove. + (vhsubq_x_n_u16): Remove. + (vhsubq_x_n_u32): Remove. + (vhsubq_x_s8): Remove. + (vhsubq_x_s16): Remove. + (vhsubq_x_s32): Remove. + (vhsubq_x_u8): Remove. + (vhsubq_x_u16): Remove. + (vhsubq_x_u32): Remove. + (__arm_vhsubq_u8): Remove. + (__arm_vhsubq_n_u8): Remove. + (__arm_vhaddq_u8): Remove. + (__arm_vhaddq_n_u8): Remove. + (__arm_vhsubq_s8): Remove. + (__arm_vhsubq_n_s8): Remove. + (__arm_vhaddq_s8): Remove. + (__arm_vhaddq_n_s8): Remove. + (__arm_vhsubq_u16): Remove. + (__arm_vhsubq_n_u16): Remove. + (__arm_vhaddq_u16): Remove. + (__arm_vhaddq_n_u16): Remove. + (__arm_vhsubq_s16): Remove. + (__arm_vhsubq_n_s16): Remove. + (__arm_vhaddq_s16): Remove. + (__arm_vhaddq_n_s16): Remove. + (__arm_vhsubq_u32): Remove. + (__arm_vhsubq_n_u32): Remove. + (__arm_vhaddq_u32): Remove. + (__arm_vhaddq_n_u32): Remove. + (__arm_vhsubq_s32): Remove. + (__arm_vhsubq_n_s32): Remove. + (__arm_vhaddq_s32): Remove. + (__arm_vhaddq_n_s32): Remove. + (__arm_vhaddq_m_n_s8): Remove. + (__arm_vhaddq_m_n_s32): Remove. + (__arm_vhaddq_m_n_s16): Remove. + (__arm_vhaddq_m_n_u8): Remove. + (__arm_vhaddq_m_n_u32): Remove. + (__arm_vhaddq_m_n_u16): Remove. + (__arm_vhaddq_m_s8): Remove. + (__arm_vhaddq_m_s32): Remove. + (__arm_vhaddq_m_s16): Remove. + (__arm_vhaddq_m_u8): Remove. + (__arm_vhaddq_m_u32): Remove. + (__arm_vhaddq_m_u16): Remove. + (__arm_vhsubq_m_n_s8): Remove. + (__arm_vhsubq_m_n_s32): Remove. + (__arm_vhsubq_m_n_s16): Remove. + (__arm_vhsubq_m_n_u8): Remove. + (__arm_vhsubq_m_n_u32): Remove. + (__arm_vhsubq_m_n_u16): Remove. + (__arm_vhsubq_m_s8): Remove. + (__arm_vhsubq_m_s32): Remove. + (__arm_vhsubq_m_s16): Remove. + (__arm_vhsubq_m_u8): Remove. + (__arm_vhsubq_m_u32): Remove. + (__arm_vhsubq_m_u16): Remove. + (__arm_vhaddq_x_n_s8): Remove. + (__arm_vhaddq_x_n_s16): Remove. + (__arm_vhaddq_x_n_s32): Remove. + (__arm_vhaddq_x_n_u8): Remove. + (__arm_vhaddq_x_n_u16): Remove. + (__arm_vhaddq_x_n_u32): Remove. + (__arm_vhaddq_x_s8): Remove. + (__arm_vhaddq_x_s16): Remove. + (__arm_vhaddq_x_s32): Remove. + (__arm_vhaddq_x_u8): Remove. + (__arm_vhaddq_x_u16): Remove. + (__arm_vhaddq_x_u32): Remove. + (__arm_vhsubq_x_n_s8): Remove. + (__arm_vhsubq_x_n_s16): Remove. + (__arm_vhsubq_x_n_s32): Remove. + (__arm_vhsubq_x_n_u8): Remove. + (__arm_vhsubq_x_n_u16): Remove. + (__arm_vhsubq_x_n_u32): Remove. + (__arm_vhsubq_x_s8): Remove. + (__arm_vhsubq_x_s16): Remove. + (__arm_vhsubq_x_s32): Remove. + (__arm_vhsubq_x_u8): Remove. + (__arm_vhsubq_x_u16): Remove. + (__arm_vhsubq_x_u32): Remove. + (__arm_vhsubq): Remove. + (__arm_vhaddq): Remove. + (__arm_vhaddq_m): Remove. + (__arm_vhsubq_m): Remove. + (__arm_vhaddq_x): Remove. + (__arm_vhsubq_x): Remove. + (vmulhq): Remove. + (vmulhq_m): Remove. + (vmulhq_x): Remove. + (vmulhq_u8): Remove. + (vmulhq_s8): Remove. + (vmulhq_u16): Remove. + (vmulhq_s16): Remove. + (vmulhq_u32): Remove. + (vmulhq_s32): Remove. + (vmulhq_m_s8): Remove. + (vmulhq_m_s32): Remove. + (vmulhq_m_s16): Remove. + (vmulhq_m_u8): Remove. + (vmulhq_m_u32): Remove. + (vmulhq_m_u16): Remove. + (vmulhq_x_s8): Remove. + (vmulhq_x_s16): Remove. + (vmulhq_x_s32): Remove. + (vmulhq_x_u8): Remove. + (vmulhq_x_u16): Remove. + (vmulhq_x_u32): Remove. + (__arm_vmulhq_u8): Remove. + (__arm_vmulhq_s8): Remove. + (__arm_vmulhq_u16): Remove. + (__arm_vmulhq_s16): Remove. + (__arm_vmulhq_u32): Remove. + (__arm_vmulhq_s32): Remove. + (__arm_vmulhq_m_s8): Remove. + (__arm_vmulhq_m_s32): Remove. + (__arm_vmulhq_m_s16): Remove. + (__arm_vmulhq_m_u8): Remove. + (__arm_vmulhq_m_u32): Remove. + (__arm_vmulhq_m_u16): Remove. + (__arm_vmulhq_x_s8): Remove. + (__arm_vmulhq_x_s16): Remove. + (__arm_vmulhq_x_s32): Remove. + (__arm_vmulhq_x_u8): Remove. + (__arm_vmulhq_x_u16): Remove. + (__arm_vmulhq_x_u32): Remove. + (__arm_vmulhq): Remove. + (__arm_vmulhq_m): Remove. + (__arm_vmulhq_x): Remove. + (vqsubq): Remove. + (vqaddq): Remove. + (vqaddq_m): Remove. + (vqsubq_m): Remove. + (vqsubq_u8): Remove. + (vqsubq_n_u8): Remove. + (vqaddq_u8): Remove. + (vqaddq_n_u8): Remove. + (vqsubq_s8): Remove. + (vqsubq_n_s8): Remove. + (vqaddq_s8): Remove. + (vqaddq_n_s8): Remove. + (vqsubq_u16): Remove. + (vqsubq_n_u16): Remove. + (vqaddq_u16): Remove. + (vqaddq_n_u16): Remove. + (vqsubq_s16): Remove. + (vqsubq_n_s16): Remove. + (vqaddq_s16): Remove. + (vqaddq_n_s16): Remove. + (vqsubq_u32): Remove. + (vqsubq_n_u32): Remove. + (vqaddq_u32): Remove. + (vqaddq_n_u32): Remove. + (vqsubq_s32): Remove. + (vqsubq_n_s32): Remove. + (vqaddq_s32): Remove. + (vqaddq_n_s32): Remove. + (vqaddq_m_n_s8): Remove. + (vqaddq_m_n_s32): Remove. + (vqaddq_m_n_s16): Remove. + (vqaddq_m_n_u8): Remove. + (vqaddq_m_n_u32): Remove. + (vqaddq_m_n_u16): Remove. + (vqaddq_m_s8): Remove. + (vqaddq_m_s32): Remove. + (vqaddq_m_s16): Remove. + (vqaddq_m_u8): Remove. + (vqaddq_m_u32): Remove. + (vqaddq_m_u16): Remove. + (vqsubq_m_n_s8): Remove. + (vqsubq_m_n_s32): Remove. + (vqsubq_m_n_s16): Remove. + (vqsubq_m_n_u8): Remove. + (vqsubq_m_n_u32): Remove. + (vqsubq_m_n_u16): Remove. + (vqsubq_m_s8): Remove. + (vqsubq_m_s32): Remove. + (vqsubq_m_s16): Remove. + (vqsubq_m_u8): Remove. + (vqsubq_m_u32): Remove. + (vqsubq_m_u16): Remove. + (__arm_vqsubq_u8): Remove. + (__arm_vqsubq_n_u8): Remove. + (__arm_vqaddq_u8): Remove. + (__arm_vqaddq_n_u8): Remove. + (__arm_vqsubq_s8): Remove. + (__arm_vqsubq_n_s8): Remove. + (__arm_vqaddq_s8): Remove. + (__arm_vqaddq_n_s8): Remove. + (__arm_vqsubq_u16): Remove. + (__arm_vqsubq_n_u16): Remove. + (__arm_vqaddq_u16): Remove. + (__arm_vqaddq_n_u16): Remove. + (__arm_vqsubq_s16): Remove. + (__arm_vqsubq_n_s16): Remove. + (__arm_vqaddq_s16): Remove. + (__arm_vqaddq_n_s16): Remove. + (__arm_vqsubq_u32): Remove. + (__arm_vqsubq_n_u32): Remove. + (__arm_vqaddq_u32): Remove. + (__arm_vqaddq_n_u32): Remove. + (__arm_vqsubq_s32): Remove. + (__arm_vqsubq_n_s32): Remove. + (__arm_vqaddq_s32): Remove. + (__arm_vqaddq_n_s32): Remove. + (__arm_vqaddq_m_n_s8): Remove. + (__arm_vqaddq_m_n_s32): Remove. + (__arm_vqaddq_m_n_s16): Remove. + (__arm_vqaddq_m_n_u8): Remove. + (__arm_vqaddq_m_n_u32): Remove. + (__arm_vqaddq_m_n_u16): Remove. + (__arm_vqaddq_m_s8): Remove. + (__arm_vqaddq_m_s32): Remove. + (__arm_vqaddq_m_s16): Remove. + (__arm_vqaddq_m_u8): Remove. + (__arm_vqaddq_m_u32): Remove. + (__arm_vqaddq_m_u16): Remove. + (__arm_vqsubq_m_n_s8): Remove. + (__arm_vqsubq_m_n_s32): Remove. + (__arm_vqsubq_m_n_s16): Remove. + (__arm_vqsubq_m_n_u8): Remove. + (__arm_vqsubq_m_n_u32): Remove. + (__arm_vqsubq_m_n_u16): Remove. + (__arm_vqsubq_m_s8): Remove. + (__arm_vqsubq_m_s32): Remove. + (__arm_vqsubq_m_s16): Remove. + (__arm_vqsubq_m_u8): Remove. + (__arm_vqsubq_m_u32): Remove. + (__arm_vqsubq_m_u16): Remove. + (__arm_vqsubq): Remove. + (__arm_vqaddq): Remove. + (__arm_vqaddq_m): Remove. + (__arm_vqsubq_m): Remove. + (vqdmulhq): Remove. + (vqdmulhq_m): Remove. + (vqdmulhq_s8): Remove. + (vqdmulhq_n_s8): Remove. + (vqdmulhq_s16): Remove. + (vqdmulhq_n_s16): Remove. + (vqdmulhq_s32): Remove. + (vqdmulhq_n_s32): Remove. + (vqdmulhq_m_n_s8): Remove. + (vqdmulhq_m_n_s32): Remove. + (vqdmulhq_m_n_s16): Remove. + (vqdmulhq_m_s8): Remove. + (vqdmulhq_m_s32): Remove. + (vqdmulhq_m_s16): Remove. + (__arm_vqdmulhq_s8): Remove. + (__arm_vqdmulhq_n_s8): Remove. + (__arm_vqdmulhq_s16): Remove. + (__arm_vqdmulhq_n_s16): Remove. + (__arm_vqdmulhq_s32): Remove. + (__arm_vqdmulhq_n_s32): Remove. + (__arm_vqdmulhq_m_n_s8): Remove. + (__arm_vqdmulhq_m_n_s32): Remove. + (__arm_vqdmulhq_m_n_s16): Remove. + (__arm_vqdmulhq_m_s8): Remove. + (__arm_vqdmulhq_m_s32): Remove. + (__arm_vqdmulhq_m_s16): Remove. + (__arm_vqdmulhq): Remove. + (__arm_vqdmulhq_m): Remove. + (vrhaddq): Remove. + (vrhaddq_m): Remove. + (vrhaddq_x): Remove. + (vrhaddq_u8): Remove. + (vrhaddq_s8): Remove. + (vrhaddq_u16): Remove. + (vrhaddq_s16): Remove. + (vrhaddq_u32): Remove. + (vrhaddq_s32): Remove. + (vrhaddq_m_s8): Remove. + (vrhaddq_m_s32): Remove. + (vrhaddq_m_s16): Remove. + (vrhaddq_m_u8): Remove. + (vrhaddq_m_u32): Remove. + (vrhaddq_m_u16): Remove. + (vrhaddq_x_s8): Remove. + (vrhaddq_x_s16): Remove. + (vrhaddq_x_s32): Remove. + (vrhaddq_x_u8): Remove. + (vrhaddq_x_u16): Remove. + (vrhaddq_x_u32): Remove. + (__arm_vrhaddq_u8): Remove. + (__arm_vrhaddq_s8): Remove. + (__arm_vrhaddq_u16): Remove. + (__arm_vrhaddq_s16): Remove. + (__arm_vrhaddq_u32): Remove. + (__arm_vrhaddq_s32): Remove. + (__arm_vrhaddq_m_s8): Remove. + (__arm_vrhaddq_m_s32): Remove. + (__arm_vrhaddq_m_s16): Remove. + (__arm_vrhaddq_m_u8): Remove. + (__arm_vrhaddq_m_u32): Remove. + (__arm_vrhaddq_m_u16): Remove. + (__arm_vrhaddq_x_s8): Remove. + (__arm_vrhaddq_x_s16): Remove. + (__arm_vrhaddq_x_s32): Remove. + (__arm_vrhaddq_x_u8): Remove. + (__arm_vrhaddq_x_u16): Remove. + (__arm_vrhaddq_x_u32): Remove. + (__arm_vrhaddq): Remove. + (__arm_vrhaddq_m): Remove. + (__arm_vrhaddq_x): Remove. + (vrmulhq): Remove. + (vrmulhq_m): Remove. + (vrmulhq_x): Remove. + (vrmulhq_u8): Remove. + (vrmulhq_s8): Remove. + (vrmulhq_u16): Remove. + (vrmulhq_s16): Remove. + (vrmulhq_u32): Remove. + (vrmulhq_s32): Remove. + (vrmulhq_m_s8): Remove. + (vrmulhq_m_s32): Remove. + (vrmulhq_m_s16): Remove. + (vrmulhq_m_u8): Remove. + (vrmulhq_m_u32): Remove. + (vrmulhq_m_u16): Remove. + (vrmulhq_x_s8): Remove. + (vrmulhq_x_s16): Remove. + (vrmulhq_x_s32): Remove. + (vrmulhq_x_u8): Remove. + (vrmulhq_x_u16): Remove. + (vrmulhq_x_u32): Remove. + (__arm_vrmulhq_u8): Remove. + (__arm_vrmulhq_s8): Remove. + (__arm_vrmulhq_u16): Remove. + (__arm_vrmulhq_s16): Remove. + (__arm_vrmulhq_u32): Remove. + (__arm_vrmulhq_s32): Remove. + (__arm_vrmulhq_m_s8): Remove. + (__arm_vrmulhq_m_s32): Remove. + (__arm_vrmulhq_m_s16): Remove. + (__arm_vrmulhq_m_u8): Remove. + (__arm_vrmulhq_m_u32): Remove. + (__arm_vrmulhq_m_u16): Remove. + (__arm_vrmulhq_x_s8): Remove. + (__arm_vrmulhq_x_s16): Remove. + (__arm_vrmulhq_x_s32): Remove. + (__arm_vrmulhq_x_u8): Remove. + (__arm_vrmulhq_x_u16): Remove. + (__arm_vrmulhq_x_u32): Remove. + (__arm_vrmulhq): Remove. + (__arm_vrmulhq_m): Remove. + (__arm_vrmulhq_x): Remove. + +2023-05-03 Christophe Lyon + + * config/arm/iterators.md (MVE_INT_SU_BINARY): New. + (mve_insn): Add vabdq, vhaddq, vhsubq, vmulhq, vqaddq, vqdmulhq, + vqrdmulhq, vqrshlq, vqshlq, vqsubq, vrhaddq, vrmulhq, vrshlq. + (supf): Add VQDMULHQ_S, VQRDMULHQ_S. + * config/arm/mve.md (mve_vabdq_) + (@mve_vhaddq_, mve_vhsubq_) + (mve_vmulhq_, mve_vqaddq_) + (mve_vqdmulhq_s, mve_vqrdmulhq_s) + (mve_vqrshlq_, mve_vqshlq_) + (mve_vqsubq_, @mve_vrhaddq_) + (mve_vrmulhq_, mve_vrshlq_): Merge into + ... + (@mve_q_): ... this. + * config/arm/vec-common.md (avg3_floor, uavg3_floor) + (avg3_ceil, uavg3_ceil): Use gen_mve_q instead of + gen_mve_vhaddq / gen_mve_vrhaddq. + +2023-05-03 Christophe Lyon + + * config/arm/iterators.md (MVE_INT_SU_M_N_BINARY): New. + (mve_insn): Add vhaddq, vhsubq, vmlaq, vmlasq, vqaddq, vqdmlahq, + vqdmlashq, vqdmulhq, vqrdmlahq, vqrdmlashq, vqrdmulhq, vqsubq. + (supf): Add VQDMLAHQ_M_N_S, VQDMLASHQ_M_N_S, VQRDMLAHQ_M_N_S, + VQRDMLASHQ_M_N_S, VQDMULHQ_M_N_S, VQRDMULHQ_M_N_S. + * config/arm/mve.md (mve_vhaddq_m_n_) + (mve_vhsubq_m_n_, mve_vmlaq_m_n_) + (mve_vmlasq_m_n_, mve_vqaddq_m_n_) + (mve_vqdmlahq_m_n_s, mve_vqdmlashq_m_n_s) + (mve_vqrdmlahq_m_n_s, mve_vqrdmlashq_m_n_s) + (mve_vqsubq_m_n_, mve_vqdmulhq_m_n_s) + (mve_vqrdmulhq_m_n_s): Merge into ... + (@mve_q_m_n_): ... this. + +2023-05-03 Christophe Lyon + + * config/arm/iterators.md (MVE_INT_SU_N_BINARY): New. + (mve_insn): Add vhaddq, vhsubq, vqaddq, vqdmulhq, vqrdmulhq, + vqsubq. + (supf): Add VQDMULHQ_N_S, VQRDMULHQ_N_S. + * config/arm/mve.md (mve_vhaddq_n_) + (mve_vhsubq_n_, mve_vqaddq_n_) + (mve_vqdmulhq_n_s, mve_vqrdmulhq_n_s) + (mve_vqsubq_n_): Merge into ... + (@mve_q_n_): ... this. + +2023-05-03 Christophe Lyon + + * config/arm/iterators.md (MVE_INT_SU_M_BINARY): New. + (mve_insn): Add vabdq, vhaddq, vhsubq, vmaxq, vminq, vmulhq, + vqaddq, vqdmladhq, vqdmladhxq, vqdmlsdhq, vqdmlsdhxq, vqdmulhq, + vqrdmladhq, vqrdmladhxq, vqrdmlsdhq, vqrdmlsdhxq, vqrdmulhq, + vqrshlq, vqshlq, vqsubq, vrhaddq, vrmulhq, vrshlq, vshlq. + (supf): Add VQDMLADHQ_M_S, VQDMLADHXQ_M_S, VQDMLSDHQ_M_S, + VQDMLSDHXQ_M_S, VQDMULHQ_M_S, VQRDMLADHQ_M_S, VQRDMLADHXQ_M_S, + VQRDMLSDHQ_M_S, VQRDMLSDHXQ_M_S, VQRDMULHQ_M_S. + * config/arm/mve.md (@mve_q_m_): New. + (mve_vshlq_m_): Merged into + @mve_q_m_. + (mve_vabdq_m_): Likewise. + (mve_vhaddq_m_): Likewise. + (mve_vhsubq_m_): Likewise. + (mve_vmaxq_m_): Likewise. + (mve_vminq_m_): Likewise. + (mve_vmulhq_m_): Likewise. + (mve_vqaddq_m_): Likewise. + (mve_vqrshlq_m_): Likewise. + (mve_vqshlq_m_): Likewise. + (mve_vqsubq_m_): Likewise. + (mve_vrhaddq_m_): Likewise. + (mve_vrmulhq_m_): Likewise. + (mve_vrshlq_m_): Likewise. + (mve_vqdmladhq_m_s): Likewise. + (mve_vqdmladhxq_m_s): Likewise. + (mve_vqdmlsdhq_m_s): Likewise. + (mve_vqdmlsdhxq_m_s): Likewise. + (mve_vqdmulhq_m_s): Likewise. + (mve_vqrdmladhq_m_s): Likewise. + (mve_vqrdmladhxq_m_s): Likewise. + (mve_vqrdmlsdhq_m_s): Likewise. + (mve_vqrdmlsdhxq_m_s): Likewise. + (mve_vqrdmulhq_m_s): Likewise. + +2023-05-03 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITHOUT_M_N): New. (vcreateq): New. + * config/arm/arm-mve-builtins-base.def (vcreateq): New. + * config/arm/arm-mve-builtins-base.h (vcreateq): New. + * config/arm/arm_mve.h (vcreateq_f16): Remove. + (vcreateq_f32): Remove. + (vcreateq_u8): Remove. + (vcreateq_u16): Remove. + (vcreateq_u32): Remove. + (vcreateq_u64): Remove. + (vcreateq_s8): Remove. + (vcreateq_s16): Remove. + (vcreateq_s32): Remove. + (vcreateq_s64): Remove. + (__arm_vcreateq_u8): Remove. + (__arm_vcreateq_u16): Remove. + (__arm_vcreateq_u32): Remove. + (__arm_vcreateq_u64): Remove. + (__arm_vcreateq_s8): Remove. + (__arm_vcreateq_s16): Remove. + (__arm_vcreateq_s32): Remove. + (__arm_vcreateq_s64): Remove. + (__arm_vcreateq_f16): Remove. + (__arm_vcreateq_f32): Remove. + +2023-05-03 Christophe Lyon + + * config/arm/iterators.md (MVE_FP_CREATE_ONLY): New. + (mve_insn): Add VCREATEQ_S, VCREATEQ_U, VCREATEQ_F. + * config/arm/mve.md (mve_vcreateq_f): Rename into ... + (@mve_q_f): ... this. + (mve_vcreateq_): Rename into ... + (@mve_q_): ... this. + +2023-05-03 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (create): New. + * config/arm/arm-mve-builtins-shapes.h: (create): New. + +2023-05-03 Christophe Lyon + + * config/arm/arm-mve-builtins-functions.h (class + unspec_mve_function_exact_insn): New. + +2023-05-03 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_RTX_M_N_NO_N_F): New. + (vorrq): New. + * config/arm/arm-mve-builtins-base.def (vorrq): New. + * config/arm/arm-mve-builtins-base.h (vorrq): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vorrq. + * config/arm/arm_mve.h (vorrq): Remove. + (vorrq_m_n): Remove. + (vorrq_m): Remove. + (vorrq_x): Remove. + (vorrq_u8): Remove. + (vorrq_s8): Remove. + (vorrq_u16): Remove. + (vorrq_s16): Remove. + (vorrq_u32): Remove. + (vorrq_s32): Remove. + (vorrq_n_u16): Remove. + (vorrq_f16): Remove. + (vorrq_n_s16): Remove. + (vorrq_n_u32): Remove. + (vorrq_f32): Remove. + (vorrq_n_s32): Remove. + (vorrq_m_n_s16): Remove. + (vorrq_m_n_u16): Remove. + (vorrq_m_n_s32): Remove. + (vorrq_m_n_u32): Remove. + (vorrq_m_s8): Remove. + (vorrq_m_s32): Remove. + (vorrq_m_s16): Remove. + (vorrq_m_u8): Remove. + (vorrq_m_u32): Remove. + (vorrq_m_u16): Remove. + (vorrq_m_f32): Remove. + (vorrq_m_f16): Remove. + (vorrq_x_s8): Remove. + (vorrq_x_s16): Remove. + (vorrq_x_s32): Remove. + (vorrq_x_u8): Remove. + (vorrq_x_u16): Remove. + (vorrq_x_u32): Remove. + (vorrq_x_f16): Remove. + (vorrq_x_f32): Remove. + (__arm_vorrq_u8): Remove. + (__arm_vorrq_s8): Remove. + (__arm_vorrq_u16): Remove. + (__arm_vorrq_s16): Remove. + (__arm_vorrq_u32): Remove. + (__arm_vorrq_s32): Remove. + (__arm_vorrq_n_u16): Remove. + (__arm_vorrq_n_s16): Remove. + (__arm_vorrq_n_u32): Remove. + (__arm_vorrq_n_s32): Remove. + (__arm_vorrq_m_n_s16): Remove. + (__arm_vorrq_m_n_u16): Remove. + (__arm_vorrq_m_n_s32): Remove. + (__arm_vorrq_m_n_u32): Remove. + (__arm_vorrq_m_s8): Remove. + (__arm_vorrq_m_s32): Remove. + (__arm_vorrq_m_s16): Remove. + (__arm_vorrq_m_u8): Remove. + (__arm_vorrq_m_u32): Remove. + (__arm_vorrq_m_u16): Remove. + (__arm_vorrq_x_s8): Remove. + (__arm_vorrq_x_s16): Remove. + (__arm_vorrq_x_s32): Remove. + (__arm_vorrq_x_u8): Remove. + (__arm_vorrq_x_u16): Remove. + (__arm_vorrq_x_u32): Remove. + (__arm_vorrq_f16): Remove. + (__arm_vorrq_f32): Remove. + (__arm_vorrq_m_f32): Remove. + (__arm_vorrq_m_f16): Remove. + (__arm_vorrq_x_f16): Remove. + (__arm_vorrq_x_f32): Remove. + (__arm_vorrq): Remove. + (__arm_vorrq_m_n): Remove. + (__arm_vorrq_m): Remove. + (__arm_vorrq_x): Remove. + +2023-05-03 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_orrq): New. + * config/arm/arm-mve-builtins-shapes.h (binary_orrq): New. + * config/arm/arm-mve-builtins.cc (preds_m_or_none): Remove static. + * config/arm/arm-mve-builtins.h (preds_m_or_none): Declare. + +2023-05-03 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_RTX_M): New. + (vandq,veorq): New. + * config/arm/arm-mve-builtins-base.def (vandq, veorq): New. + * config/arm/arm-mve-builtins-base.h (vandq, veorq): New. + * config/arm/arm_mve.h (vandq): Remove. + (vandq_m): Remove. + (vandq_x): Remove. + (vandq_u8): Remove. + (vandq_s8): Remove. + (vandq_u16): Remove. + (vandq_s16): Remove. + (vandq_u32): Remove. + (vandq_s32): Remove. + (vandq_f16): Remove. + (vandq_f32): Remove. + (vandq_m_s8): Remove. + (vandq_m_s32): Remove. + (vandq_m_s16): Remove. + (vandq_m_u8): Remove. + (vandq_m_u32): Remove. + (vandq_m_u16): Remove. + (vandq_m_f32): Remove. + (vandq_m_f16): Remove. + (vandq_x_s8): Remove. + (vandq_x_s16): Remove. + (vandq_x_s32): Remove. + (vandq_x_u8): Remove. + (vandq_x_u16): Remove. + (vandq_x_u32): Remove. + (vandq_x_f16): Remove. + (vandq_x_f32): Remove. + (__arm_vandq_u8): Remove. + (__arm_vandq_s8): Remove. + (__arm_vandq_u16): Remove. + (__arm_vandq_s16): Remove. + (__arm_vandq_u32): Remove. + (__arm_vandq_s32): Remove. + (__arm_vandq_m_s8): Remove. + (__arm_vandq_m_s32): Remove. + (__arm_vandq_m_s16): Remove. + (__arm_vandq_m_u8): Remove. + (__arm_vandq_m_u32): Remove. + (__arm_vandq_m_u16): Remove. + (__arm_vandq_x_s8): Remove. + (__arm_vandq_x_s16): Remove. + (__arm_vandq_x_s32): Remove. + (__arm_vandq_x_u8): Remove. + (__arm_vandq_x_u16): Remove. + (__arm_vandq_x_u32): Remove. + (__arm_vandq_f16): Remove. + (__arm_vandq_f32): Remove. + (__arm_vandq_m_f32): Remove. + (__arm_vandq_m_f16): Remove. + (__arm_vandq_x_f16): Remove. + (__arm_vandq_x_f32): Remove. + (__arm_vandq): Remove. + (__arm_vandq_m): Remove. + (__arm_vandq_x): Remove. + (veorq_m): Remove. + (veorq_x): Remove. + (veorq_u8): Remove. + (veorq_s8): Remove. + (veorq_u16): Remove. + (veorq_s16): Remove. + (veorq_u32): Remove. + (veorq_s32): Remove. + (veorq_f16): Remove. + (veorq_f32): Remove. + (veorq_m_s8): Remove. + (veorq_m_s32): Remove. + (veorq_m_s16): Remove. + (veorq_m_u8): Remove. + (veorq_m_u32): Remove. + (veorq_m_u16): Remove. + (veorq_m_f32): Remove. + (veorq_m_f16): Remove. + (veorq_x_s8): Remove. + (veorq_x_s16): Remove. + (veorq_x_s32): Remove. + (veorq_x_u8): Remove. + (veorq_x_u16): Remove. + (veorq_x_u32): Remove. + (veorq_x_f16): Remove. + (veorq_x_f32): Remove. + (__arm_veorq_u8): Remove. + (__arm_veorq_s8): Remove. + (__arm_veorq_u16): Remove. + (__arm_veorq_s16): Remove. + (__arm_veorq_u32): Remove. + (__arm_veorq_s32): Remove. + (__arm_veorq_m_s8): Remove. + (__arm_veorq_m_s32): Remove. + (__arm_veorq_m_s16): Remove. + (__arm_veorq_m_u8): Remove. + (__arm_veorq_m_u32): Remove. + (__arm_veorq_m_u16): Remove. + (__arm_veorq_x_s8): Remove. + (__arm_veorq_x_s16): Remove. + (__arm_veorq_x_s32): Remove. + (__arm_veorq_x_u8): Remove. + (__arm_veorq_x_u16): Remove. + (__arm_veorq_x_u32): Remove. + (__arm_veorq_f16): Remove. + (__arm_veorq_f32): Remove. + (__arm_veorq_m_f32): Remove. + (__arm_veorq_m_f16): Remove. + (__arm_veorq_x_f16): Remove. + (__arm_veorq_x_f32): Remove. + (__arm_veorq): Remove. + (__arm_veorq_m): Remove. + (__arm_veorq_x): Remove. + +2023-05-03 Christophe Lyon + + * config/arm/iterators.md (MVE_INT_M_BINARY_LOGIC) + (MVE_FP_M_BINARY_LOGIC): New. + (MVE_INT_M_N_BINARY_LOGIC): New. + (MVE_INT_N_BINARY_LOGIC): New. + (mve_insn): Add vand, veor, vorr, vbic. + * config/arm/mve.md (mve_vandq_m_) + (mve_veorq_m_, mve_vorrq_m_) + (mve_vbicq_m_): Merge into ... + (@mve_q_m_): ... this. + (mve_vandq_m_f, mve_veorq_m_f, mve_vorrq_m_f) + (mve_vbicq_m_f): Merge into ... + (@mve_q_m_f): ... this. + (mve_vorrq_n_) + (mve_vbicq_n_): Merge into ... + (@mve_q_n_): ... this. + (mve_vorrq_m_n_, mve_vbicq_m_n_): Merge + into ... + (@mve_q_m_n_): ... this. + +2023-05-03 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary): New. + * config/arm/arm-mve-builtins-shapes.h (binary): New. + +2023-05-03 Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_RTX_M_N): + New. + (vaddq, vmulq, vsubq): New. + * config/arm/arm-mve-builtins-base.def (vaddq, vmulq, vsubq): New. + * config/arm/arm-mve-builtins-base.h (vaddq, vmulq, vsubq): New. + * config/arm/arm_mve.h (vaddq): Remove. + (vaddq_m): Remove. + (vaddq_x): Remove. + (vaddq_n_u8): Remove. + (vaddq_n_s8): Remove. + (vaddq_n_u16): Remove. + (vaddq_n_s16): Remove. + (vaddq_n_u32): Remove. + (vaddq_n_s32): Remove. + (vaddq_n_f16): Remove. + (vaddq_n_f32): Remove. + (vaddq_m_n_s8): Remove. + (vaddq_m_n_s32): Remove. + (vaddq_m_n_s16): Remove. + (vaddq_m_n_u8): Remove. + (vaddq_m_n_u32): Remove. + (vaddq_m_n_u16): Remove. + (vaddq_m_s8): Remove. + (vaddq_m_s32): Remove. + (vaddq_m_s16): Remove. + (vaddq_m_u8): Remove. + (vaddq_m_u32): Remove. + (vaddq_m_u16): Remove. + (vaddq_m_f32): Remove. + (vaddq_m_f16): Remove. + (vaddq_m_n_f32): Remove. + (vaddq_m_n_f16): Remove. + (vaddq_s8): Remove. + (vaddq_s16): Remove. + (vaddq_s32): Remove. + (vaddq_u8): Remove. + (vaddq_u16): Remove. + (vaddq_u32): Remove. + (vaddq_f16): Remove. + (vaddq_f32): Remove. + (vaddq_x_s8): Remove. + (vaddq_x_s16): Remove. + (vaddq_x_s32): Remove. + (vaddq_x_n_s8): Remove. + (vaddq_x_n_s16): Remove. + (vaddq_x_n_s32): Remove. + (vaddq_x_u8): Remove. + (vaddq_x_u16): Remove. + (vaddq_x_u32): Remove. + (vaddq_x_n_u8): Remove. + (vaddq_x_n_u16): Remove. + (vaddq_x_n_u32): Remove. + (vaddq_x_f16): Remove. + (vaddq_x_f32): Remove. + (vaddq_x_n_f16): Remove. + (vaddq_x_n_f32): Remove. + (__arm_vaddq_n_u8): Remove. + (__arm_vaddq_n_s8): Remove. + (__arm_vaddq_n_u16): Remove. + (__arm_vaddq_n_s16): Remove. + (__arm_vaddq_n_u32): Remove. + (__arm_vaddq_n_s32): Remove. + (__arm_vaddq_m_n_s8): Remove. + (__arm_vaddq_m_n_s32): Remove. + (__arm_vaddq_m_n_s16): Remove. + (__arm_vaddq_m_n_u8): Remove. + (__arm_vaddq_m_n_u32): Remove. + (__arm_vaddq_m_n_u16): Remove. + (__arm_vaddq_m_s8): Remove. + (__arm_vaddq_m_s32): Remove. + (__arm_vaddq_m_s16): Remove. + (__arm_vaddq_m_u8): Remove. + (__arm_vaddq_m_u32): Remove. + (__arm_vaddq_m_u16): Remove. + (__arm_vaddq_s8): Remove. + (__arm_vaddq_s16): Remove. + (__arm_vaddq_s32): Remove. + (__arm_vaddq_u8): Remove. + (__arm_vaddq_u16): Remove. + (__arm_vaddq_u32): Remove. + (__arm_vaddq_x_s8): Remove. + (__arm_vaddq_x_s16): Remove. + (__arm_vaddq_x_s32): Remove. + (__arm_vaddq_x_n_s8): Remove. + (__arm_vaddq_x_n_s16): Remove. + (__arm_vaddq_x_n_s32): Remove. + (__arm_vaddq_x_u8): Remove. + (__arm_vaddq_x_u16): Remove. + (__arm_vaddq_x_u32): Remove. + (__arm_vaddq_x_n_u8): Remove. + (__arm_vaddq_x_n_u16): Remove. + (__arm_vaddq_x_n_u32): Remove. + (__arm_vaddq_n_f16): Remove. + (__arm_vaddq_n_f32): Remove. + (__arm_vaddq_m_f32): Remove. + (__arm_vaddq_m_f16): Remove. + (__arm_vaddq_m_n_f32): Remove. + (__arm_vaddq_m_n_f16): Remove. + (__arm_vaddq_f16): Remove. + (__arm_vaddq_f32): Remove. + (__arm_vaddq_x_f16): Remove. + (__arm_vaddq_x_f32): Remove. + (__arm_vaddq_x_n_f16): Remove. + (__arm_vaddq_x_n_f32): Remove. + (__arm_vaddq): Remove. + (__arm_vaddq_m): Remove. + (__arm_vaddq_x): Remove. + (vmulq): Remove. + (vmulq_m): Remove. + (vmulq_x): Remove. + (vmulq_u8): Remove. + (vmulq_n_u8): Remove. + (vmulq_s8): Remove. + (vmulq_n_s8): Remove. + (vmulq_u16): Remove. + (vmulq_n_u16): Remove. + (vmulq_s16): Remove. + (vmulq_n_s16): Remove. + (vmulq_u32): Remove. + (vmulq_n_u32): Remove. + (vmulq_s32): Remove. + (vmulq_n_s32): Remove. + (vmulq_n_f16): Remove. + (vmulq_f16): Remove. + (vmulq_n_f32): Remove. + (vmulq_f32): Remove. + (vmulq_m_n_s8): Remove. + (vmulq_m_n_s32): Remove. + (vmulq_m_n_s16): Remove. + (vmulq_m_n_u8): Remove. + (vmulq_m_n_u32): Remove. + (vmulq_m_n_u16): Remove. + (vmulq_m_s8): Remove. + (vmulq_m_s32): Remove. + (vmulq_m_s16): Remove. + (vmulq_m_u8): Remove. + (vmulq_m_u32): Remove. + (vmulq_m_u16): Remove. + (vmulq_m_f32): Remove. + (vmulq_m_f16): Remove. + (vmulq_m_n_f32): Remove. + (vmulq_m_n_f16): Remove. + (vmulq_x_s8): Remove. + (vmulq_x_s16): Remove. + (vmulq_x_s32): Remove. + (vmulq_x_n_s8): Remove. + (vmulq_x_n_s16): Remove. + (vmulq_x_n_s32): Remove. + (vmulq_x_u8): Remove. + (vmulq_x_u16): Remove. + (vmulq_x_u32): Remove. + (vmulq_x_n_u8): Remove. + (vmulq_x_n_u16): Remove. + (vmulq_x_n_u32): Remove. + (vmulq_x_f16): Remove. + (vmulq_x_f32): Remove. + (vmulq_x_n_f16): Remove. + (vmulq_x_n_f32): Remove. + (__arm_vmulq_u8): Remove. + (__arm_vmulq_n_u8): Remove. + (__arm_vmulq_s8): Remove. + (__arm_vmulq_n_s8): Remove. + (__arm_vmulq_u16): Remove. + (__arm_vmulq_n_u16): Remove. + (__arm_vmulq_s16): Remove. + (__arm_vmulq_n_s16): Remove. + (__arm_vmulq_u32): Remove. + (__arm_vmulq_n_u32): Remove. + (__arm_vmulq_s32): Remove. + (__arm_vmulq_n_s32): Remove. + (__arm_vmulq_m_n_s8): Remove. + (__arm_vmulq_m_n_s32): Remove. + (__arm_vmulq_m_n_s16): Remove. + (__arm_vmulq_m_n_u8): Remove. + (__arm_vmulq_m_n_u32): Remove. + (__arm_vmulq_m_n_u16): Remove. + (__arm_vmulq_m_s8): Remove. + (__arm_vmulq_m_s32): Remove. + (__arm_vmulq_m_s16): Remove. + (__arm_vmulq_m_u8): Remove. + (__arm_vmulq_m_u32): Remove. + (__arm_vmulq_m_u16): Remove. + (__arm_vmulq_x_s8): Remove. + (__arm_vmulq_x_s16): Remove. + (__arm_vmulq_x_s32): Remove. + (__arm_vmulq_x_n_s8): Remove. + (__arm_vmulq_x_n_s16): Remove. + (__arm_vmulq_x_n_s32): Remove. + (__arm_vmulq_x_u8): Remove. + (__arm_vmulq_x_u16): Remove. + (__arm_vmulq_x_u32): Remove. + (__arm_vmulq_x_n_u8): Remove. + (__arm_vmulq_x_n_u16): Remove. + (__arm_vmulq_x_n_u32): Remove. + (__arm_vmulq_n_f16): Remove. + (__arm_vmulq_f16): Remove. + (__arm_vmulq_n_f32): Remove. + (__arm_vmulq_f32): Remove. + (__arm_vmulq_m_f32): Remove. + (__arm_vmulq_m_f16): Remove. + (__arm_vmulq_m_n_f32): Remove. + (__arm_vmulq_m_n_f16): Remove. + (__arm_vmulq_x_f16): Remove. + (__arm_vmulq_x_f32): Remove. + (__arm_vmulq_x_n_f16): Remove. + (__arm_vmulq_x_n_f32): Remove. + (__arm_vmulq): Remove. + (__arm_vmulq_m): Remove. + (__arm_vmulq_x): Remove. + (vsubq): Remove. + (vsubq_m): Remove. + (vsubq_x): Remove. + (vsubq_n_f16): Remove. + (vsubq_n_f32): Remove. + (vsubq_u8): Remove. + (vsubq_n_u8): Remove. + (vsubq_s8): Remove. + (vsubq_n_s8): Remove. + (vsubq_u16): Remove. + (vsubq_n_u16): Remove. + (vsubq_s16): Remove. + (vsubq_n_s16): Remove. + (vsubq_u32): Remove. + (vsubq_n_u32): Remove. + (vsubq_s32): Remove. + (vsubq_n_s32): Remove. + (vsubq_f16): Remove. + (vsubq_f32): Remove. + (vsubq_m_s8): Remove. + (vsubq_m_u8): Remove. + (vsubq_m_s16): Remove. + (vsubq_m_u16): Remove. + (vsubq_m_s32): Remove. + (vsubq_m_u32): Remove. + (vsubq_m_n_s8): Remove. + (vsubq_m_n_s32): Remove. + (vsubq_m_n_s16): Remove. + (vsubq_m_n_u8): Remove. + (vsubq_m_n_u32): Remove. + (vsubq_m_n_u16): Remove. + (vsubq_m_f32): Remove. + (vsubq_m_f16): Remove. + (vsubq_m_n_f32): Remove. + (vsubq_m_n_f16): Remove. + (vsubq_x_s8): Remove. + (vsubq_x_s16): Remove. + (vsubq_x_s32): Remove. + (vsubq_x_n_s8): Remove. + (vsubq_x_n_s16): Remove. + (vsubq_x_n_s32): Remove. + (vsubq_x_u8): Remove. + (vsubq_x_u16): Remove. + (vsubq_x_u32): Remove. + (vsubq_x_n_u8): Remove. + (vsubq_x_n_u16): Remove. + (vsubq_x_n_u32): Remove. + (vsubq_x_f16): Remove. + (vsubq_x_f32): Remove. + (vsubq_x_n_f16): Remove. + (vsubq_x_n_f32): Remove. + (__arm_vsubq_u8): Remove. + (__arm_vsubq_n_u8): Remove. + (__arm_vsubq_s8): Remove. + (__arm_vsubq_n_s8): Remove. + (__arm_vsubq_u16): Remove. + (__arm_vsubq_n_u16): Remove. + (__arm_vsubq_s16): Remove. + (__arm_vsubq_n_s16): Remove. + (__arm_vsubq_u32): Remove. + (__arm_vsubq_n_u32): Remove. + (__arm_vsubq_s32): Remove. + (__arm_vsubq_n_s32): Remove. + (__arm_vsubq_m_s8): Remove. + (__arm_vsubq_m_u8): Remove. + (__arm_vsubq_m_s16): Remove. + (__arm_vsubq_m_u16): Remove. + (__arm_vsubq_m_s32): Remove. + (__arm_vsubq_m_u32): Remove. + (__arm_vsubq_m_n_s8): Remove. + (__arm_vsubq_m_n_s32): Remove. + (__arm_vsubq_m_n_s16): Remove. + (__arm_vsubq_m_n_u8): Remove. + (__arm_vsubq_m_n_u32): Remove. + (__arm_vsubq_m_n_u16): Remove. + (__arm_vsubq_x_s8): Remove. + (__arm_vsubq_x_s16): Remove. + (__arm_vsubq_x_s32): Remove. + (__arm_vsubq_x_n_s8): Remove. + (__arm_vsubq_x_n_s16): Remove. + (__arm_vsubq_x_n_s32): Remove. + (__arm_vsubq_x_u8): Remove. + (__arm_vsubq_x_u16): Remove. + (__arm_vsubq_x_u32): Remove. + (__arm_vsubq_x_n_u8): Remove. + (__arm_vsubq_x_n_u16): Remove. + (__arm_vsubq_x_n_u32): Remove. + (__arm_vsubq_n_f16): Remove. + (__arm_vsubq_n_f32): Remove. + (__arm_vsubq_f16): Remove. + (__arm_vsubq_f32): Remove. + (__arm_vsubq_m_f32): Remove. + (__arm_vsubq_m_f16): Remove. + (__arm_vsubq_m_n_f32): Remove. + (__arm_vsubq_m_n_f16): Remove. + (__arm_vsubq_x_f16): Remove. + (__arm_vsubq_x_f32): Remove. + (__arm_vsubq_x_n_f16): Remove. + (__arm_vsubq_x_n_f32): Remove. + (__arm_vsubq): Remove. + (__arm_vsubq_m): Remove. + (__arm_vsubq_x): Remove. + * config/arm/arm_mve_builtins.def (vsubq_u, vsubq_s, vsubq_f): + Remove. + (vmulq_u, vmulq_s, vmulq_f): Remove. + * config/arm/mve.md (mve_vsubq_): Remove. + (mve_vmulq_): Remove. + +2023-05-03 Christophe Lyon + + * config/arm/iterators.md (MVE_INT_BINARY_RTX, MVE_INT_M_BINARY) + (MVE_INT_M_N_BINARY, MVE_INT_N_BINARY, MVE_FP_M_BINARY) + (MVE_FP_M_N_BINARY, MVE_FP_N_BINARY, mve_addsubmul, mve_insn): New + iterators. + * config/arm/mve.md + (mve_vsubq_n_f, mve_vaddq_n_f, mve_vmulq_n_f): + Factorize into ... + (@mve_q_n_f): ... this. + (mve_vaddq_n_, mve_vmulq_n_) + (mve_vsubq_n_): Factorize into ... + (@mve_q_n_): ... this. + (mve_vaddq, mve_vmulq, mve_vsubq): Factorize + into ... + (mve_q): ... this. + (mve_vaddq_f, mve_vmulq_f, mve_vsubq_f): + Factorize into ... + (mve_q_f): ... this. + (mve_vaddq_m_, mve_vmulq_m_) + (mve_vsubq_m_): Factorize into ... + (@mve_q_m_): ... this, + (mve_vaddq_m_n_, mve_vmulq_m_n_) + (mve_vsubq_m_n_): Factorize into ... + (@mve_q_m_n_): ... this. + (mve_vaddq_m_f, mve_vmulq_m_f, mve_vsubq_m_f): + Factorize into ... + (@mve_q_m_f): ... this. + (mve_vaddq_m_n_f, mve_vmulq_m_n_f) + (mve_vsubq_m_n_f): Factorize into ... + (@mve_q_m_n_f): ... this. + +2023-05-03 Christophe Lyon + + * config/arm/arm-mve-builtins-functions.h (class + unspec_based_mve_function_base): New. + (class unspec_based_mve_function_exact_insn): New. + +2023-05-03 Christophe Lyon + + * config/arm/arm-mve-builtins-shapes.cc (binary_opt_n): New. + * config/arm/arm-mve-builtins-shapes.h (binary_opt_n): New. + +2023-05-03 Murray Steele + Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (class + vuninitializedq_impl): New. + * config/arm/arm-mve-builtins-base.def (vuninitializedq): New. + * config/arm/arm-mve-builtins-base.h (vuninitializedq): New + declaration. + * config/arm/arm-mve-builtins-shapes.cc (inherent): New. + * config/arm/arm-mve-builtins-shapes.h (inherent): New + declaration. + * config/arm/arm_mve_types.h (__arm_vuninitializedq): Move to ... + * config/arm/arm_mve.h (__arm_vuninitializedq): ... here. + (__arm_vuninitializedq_u8): Remove. + (__arm_vuninitializedq_u16): Remove. + (__arm_vuninitializedq_u32): Remove. + (__arm_vuninitializedq_u64): Remove. + (__arm_vuninitializedq_s8): Remove. + (__arm_vuninitializedq_s16): Remove. + (__arm_vuninitializedq_s32): Remove. + (__arm_vuninitializedq_s64): Remove. + (__arm_vuninitializedq_f16): Remove. + (__arm_vuninitializedq_f32): Remove. + +2023-05-03 Murray Steele + Christophe Lyon + + * config/arm/arm-mve-builtins-base.cc (vreinterpretq_impl): New class. + * config/arm/arm-mve-builtins-base.def: Define vreinterpretq. + * config/arm/arm-mve-builtins-base.h (vreinterpretq): New declaration. + * config/arm/arm-mve-builtins-shapes.cc (parse_element_type): New function. + (parse_type): Likewise. + (parse_signature): Likewise. + (build_one): Likewise. + (build_all): Likewise. + (overloaded_base): New struct. + (unary_convert_def): Likewise. + * config/arm/arm-mve-builtins-shapes.h (unary_convert): Declare. + * config/arm/arm-mve-builtins.cc (TYPES_reinterpret_signed1): New + macro. + (TYPES_reinterpret_unsigned1): Likewise. + (TYPES_reinterpret_integer): Likewise. + (TYPES_reinterpret_integer1): Likewise. + (TYPES_reinterpret_float1): Likewise. + (TYPES_reinterpret_float): Likewise. + (reinterpret_integer): New. + (reinterpret_float): New. + (handle_arm_mve_h): Register builtins. + * config/arm/arm_mve.h (vreinterpretq_s16): Remove. + (vreinterpretq_s32): Likewise. + (vreinterpretq_s64): Likewise. + (vreinterpretq_s8): Likewise. + (vreinterpretq_u16): Likewise. + (vreinterpretq_u32): Likewise. + (vreinterpretq_u64): Likewise. + (vreinterpretq_u8): Likewise. + (vreinterpretq_f16): Likewise. + (vreinterpretq_f32): Likewise. + (vreinterpretq_s16_s32): Likewise. + (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. + (__arm_vreinterpretq_f16): Likewise. + (__arm_vreinterpretq_f32): Likewise. + (__arm_vreinterpretq_s16): Likewise. + (__arm_vreinterpretq_s32): Likewise. + (__arm_vreinterpretq_s64): Likewise. + (__arm_vreinterpretq_s8): Likewise. + (__arm_vreinterpretq_u16): Likewise. + (__arm_vreinterpretq_u32): Likewise. + (__arm_vreinterpretq_u64): Likewise. + (__arm_vreinterpretq_u8): Likewise. + * config/arm/arm_mve_types.h (__arm_vreinterpretq_s16_s32): Remove. + (__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_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. + (__arm_vreinterpretq_s16): Likewise. + (__arm_vreinterpretq_s32): Likewise. + (__arm_vreinterpretq_s64): Likewise. + (__arm_vreinterpretq_s8): Likewise. + (__arm_vreinterpretq_u16): Likewise. + (__arm_vreinterpretq_u32): Likewise. + (__arm_vreinterpretq_u64): Likewise. + (__arm_vreinterpretq_u8): Likewise. + (__arm_vreinterpretq_f16): Likewise. + (__arm_vreinterpretq_f32): Likewise. + * config/arm/mve.md (@arm_mve_reinterpret): New pattern. + * config/arm/unspecs.md: (REINTERPRET): New unspec. + +2023-05-03 Murray Steele + Christophe Lyon + Christophe Lyon + Christophe Lyon + Christophe Lyon + + * config/arm/arm-builtins.cc (arm_general_add_builtin_function): + New function. + (arm_init_builtin): Use arm_general_add_builtin_function instead + of arm_add_builtin_function. + (arm_init_acle_builtins): Likewise. + (arm_init_mve_builtins): Likewise. + (arm_init_crypto_builtins): Likewise. + (arm_init_builtins): Likewise. + (arm_general_builtin_decl): New function. + (arm_builtin_decl): Defer to numberspace-specialized functions. + (arm_expand_builtin_args): Rename into arm_general_expand_builtin_args. + (arm_expand_builtin_1): Rename into arm_general_expand_builtin_1 and ... + (arm_general_expand_builtin_1): ... specialize for general builtins. + (arm_expand_acle_builtin): Use arm_general_expand_builtin + instead of arm_expand_builtin. + (arm_expand_mve_builtin): Likewise. + (arm_expand_neon_builtin): Likewise. + (arm_expand_vfp_builtin): Likewise. + (arm_general_expand_builtin): New function. + (arm_expand_builtin): Specialize for general builtins. + (arm_general_check_builtin_call): New function. + (arm_check_builtin_call): Specialize for general builtins. + (arm_describe_resolver): Validate numberspace. + (arm_cde_end_args): Likewise. + * config/arm/arm-protos.h (enum arm_builtin_class): New enum. + (ARM_BUILTIN_SHIFT, ARM_BUILTIN_CLASS): New constants. + +2023-05-03 Martin Liska + + PR target/109713 + * config/riscv/sync.md: Add gcc_unreachable to a switch. + +2023-05-03 Richard Biener + + * tree-ssa-loop-split.cc (split_at_bb_p): Avoid last_stmt. + (patch_loop_exit): Likewise. + (connect_loops): Likewise. + (split_loop): Likewise. + (control_dep_semi_invariant_p): Likewise. + (do_split_loop_on_cond): Likewise. + (split_loop_on_cond): Likewise. + * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): + Likewise. + (simplify_loop_version): Likewise. + (evaluate_bbs): Likewise. + (find_loop_guard): Likewise. + (clean_up_after_unswitching): Likewise. + * tree-ssa-math-opts.cc (maybe_optimize_guarding_check): + Likewise. + (optimize_spaceship): Take a gcond * argument, avoid + last_stmt. + (math_opts_dom_walker::after_dom_children): Adjust call to + optimize_spaceship. + * tree-vrp.cc (maybe_set_nonzero_bits): Avoid last_stmt. + * value-pointer-equiv.cc (pointer_equiv_analyzer::visit_edge): + Likewise. + +2023-05-03 Andreas Schwab + + * config/riscv/linux.h (LIB_SPEC): Don't redefine. + +2023-05-03 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins-bases.cc (fold_fault_load): + New function. + (class vlseg): New class. + (class vsseg): Ditto. + (class vlsseg): Ditto. + (class vssseg): Ditto. + (class seg_indexed_load): Ditto. + (class seg_indexed_store): Ditto. + (class vlsegff): Ditto. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vlseg): + Ditto. + (vsseg): Ditto. + (vlsseg): Ditto. + (vssseg): Ditto. + (vluxseg): Ditto. + (vloxseg): Ditto. + (vsuxseg): Ditto. + (vsoxseg): Ditto. + (vlsegff): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct + seg_loadstore_def): Ditto. + (struct seg_indexed_loadstore_def): Ditto. + (struct seg_fault_load_def): Ditto. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc + (function_builder::append_nf): New function. + * config/riscv/riscv-vector-builtins.def (vfloat32m1x2_t): + Change ptr from double into float. + (vfloat32m1x3_t): Ditto. + (vfloat32m1x4_t): Ditto. + (vfloat32m1x5_t): Ditto. + (vfloat32m1x6_t): Ditto. + (vfloat32m1x7_t): Ditto. + (vfloat32m1x8_t): Ditto. + (vfloat32m2x2_t): Ditto. + (vfloat32m2x3_t): Ditto. + (vfloat32m2x4_t): Ditto. + (vfloat32m4x2_t): Ditto. + * config/riscv/riscv-vector-builtins.h: Add segment intrinsics. + * config/riscv/riscv-vsetvl.cc (fault_first_load_p): Adapt for + segment ff load. + * config/riscv/riscv.md: Add segment instructions. + * config/riscv/vector-iterators.md: Support segment intrinsics. + * config/riscv/vector.md (@pred_unit_strided_load): New + pattern. + (@pred_unit_strided_store): Ditto. + (@pred_strided_load): Ditto. + (@pred_strided_store): Ditto. + (@pred_fault_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + +2023-05-03 Ju-Zhe Zhong + + * config/riscv/genrvv-type-indexer.cc (valid_type): Adapt for + tuple type support. + (inttype): Ditto. + (floattype): Ditto. + (main): Ditto. + * config/riscv/riscv-vector-builtins-bases.cc: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vset): Add + tuple type vset. + (vget): Add tuple type vget. + * config/riscv/riscv-vector-builtins-types.def + (DEF_RVV_TUPLE_OPS): New macro. + (vint8mf8x2_t): Ditto. + (vuint8mf8x2_t): Ditto. + (vint8mf8x3_t): Ditto. + (vuint8mf8x3_t): Ditto. + (vint8mf8x4_t): Ditto. + (vuint8mf8x4_t): Ditto. + (vint8mf8x5_t): Ditto. + (vuint8mf8x5_t): Ditto. + (vint8mf8x6_t): Ditto. + (vuint8mf8x6_t): Ditto. + (vint8mf8x7_t): Ditto. + (vuint8mf8x7_t): Ditto. + (vint8mf8x8_t): Ditto. + (vuint8mf8x8_t): Ditto. + (vint8mf4x2_t): Ditto. + (vuint8mf4x2_t): Ditto. + (vint8mf4x3_t): Ditto. + (vuint8mf4x3_t): Ditto. + (vint8mf4x4_t): Ditto. + (vuint8mf4x4_t): Ditto. + (vint8mf4x5_t): Ditto. + (vuint8mf4x5_t): Ditto. + (vint8mf4x6_t): Ditto. + (vuint8mf4x6_t): Ditto. + (vint8mf4x7_t): Ditto. + (vuint8mf4x7_t): Ditto. + (vint8mf4x8_t): Ditto. + (vuint8mf4x8_t): Ditto. + (vint8mf2x2_t): Ditto. + (vuint8mf2x2_t): Ditto. + (vint8mf2x3_t): Ditto. + (vuint8mf2x3_t): Ditto. + (vint8mf2x4_t): Ditto. + (vuint8mf2x4_t): Ditto. + (vint8mf2x5_t): Ditto. + (vuint8mf2x5_t): Ditto. + (vint8mf2x6_t): Ditto. + (vuint8mf2x6_t): Ditto. + (vint8mf2x7_t): Ditto. + (vuint8mf2x7_t): Ditto. + (vint8mf2x8_t): Ditto. + (vuint8mf2x8_t): Ditto. + (vint8m1x2_t): Ditto. + (vuint8m1x2_t): Ditto. + (vint8m1x3_t): Ditto. + (vuint8m1x3_t): Ditto. + (vint8m1x4_t): Ditto. + (vuint8m1x4_t): Ditto. + (vint8m1x5_t): Ditto. + (vuint8m1x5_t): Ditto. + (vint8m1x6_t): Ditto. + (vuint8m1x6_t): Ditto. + (vint8m1x7_t): Ditto. + (vuint8m1x7_t): Ditto. + (vint8m1x8_t): Ditto. + (vuint8m1x8_t): Ditto. + (vint8m2x2_t): Ditto. + (vuint8m2x2_t): Ditto. + (vint8m2x3_t): Ditto. + (vuint8m2x3_t): Ditto. + (vint8m2x4_t): Ditto. + (vuint8m2x4_t): Ditto. + (vint8m4x2_t): Ditto. + (vuint8m4x2_t): Ditto. + (vint16mf4x2_t): Ditto. + (vuint16mf4x2_t): Ditto. + (vint16mf4x3_t): Ditto. + (vuint16mf4x3_t): Ditto. + (vint16mf4x4_t): Ditto. + (vuint16mf4x4_t): Ditto. + (vint16mf4x5_t): Ditto. + (vuint16mf4x5_t): Ditto. + (vint16mf4x6_t): Ditto. + (vuint16mf4x6_t): Ditto. + (vint16mf4x7_t): Ditto. + (vuint16mf4x7_t): Ditto. + (vint16mf4x8_t): Ditto. + (vuint16mf4x8_t): Ditto. + (vint16mf2x2_t): Ditto. + (vuint16mf2x2_t): Ditto. + (vint16mf2x3_t): Ditto. + (vuint16mf2x3_t): Ditto. + (vint16mf2x4_t): Ditto. + (vuint16mf2x4_t): Ditto. + (vint16mf2x5_t): Ditto. + (vuint16mf2x5_t): Ditto. + (vint16mf2x6_t): Ditto. + (vuint16mf2x6_t): Ditto. + (vint16mf2x7_t): Ditto. + (vuint16mf2x7_t): Ditto. + (vint16mf2x8_t): Ditto. + (vuint16mf2x8_t): Ditto. + (vint16m1x2_t): Ditto. + (vuint16m1x2_t): Ditto. + (vint16m1x3_t): Ditto. + (vuint16m1x3_t): Ditto. + (vint16m1x4_t): Ditto. + (vuint16m1x4_t): Ditto. + (vint16m1x5_t): Ditto. + (vuint16m1x5_t): Ditto. + (vint16m1x6_t): Ditto. + (vuint16m1x6_t): Ditto. + (vint16m1x7_t): Ditto. + (vuint16m1x7_t): Ditto. + (vint16m1x8_t): Ditto. + (vuint16m1x8_t): Ditto. + (vint16m2x2_t): Ditto. + (vuint16m2x2_t): Ditto. + (vint16m2x3_t): Ditto. + (vuint16m2x3_t): Ditto. + (vint16m2x4_t): Ditto. + (vuint16m2x4_t): Ditto. + (vint16m4x2_t): Ditto. + (vuint16m4x2_t): Ditto. + (vint32mf2x2_t): Ditto. + (vuint32mf2x2_t): Ditto. + (vint32mf2x3_t): Ditto. + (vuint32mf2x3_t): Ditto. + (vint32mf2x4_t): Ditto. + (vuint32mf2x4_t): Ditto. + (vint32mf2x5_t): Ditto. + (vuint32mf2x5_t): Ditto. + (vint32mf2x6_t): Ditto. + (vuint32mf2x6_t): Ditto. + (vint32mf2x7_t): Ditto. + (vuint32mf2x7_t): Ditto. + (vint32mf2x8_t): Ditto. + (vuint32mf2x8_t): Ditto. + (vint32m1x2_t): Ditto. + (vuint32m1x2_t): Ditto. + (vint32m1x3_t): Ditto. + (vuint32m1x3_t): Ditto. + (vint32m1x4_t): Ditto. + (vuint32m1x4_t): Ditto. + (vint32m1x5_t): Ditto. + (vuint32m1x5_t): Ditto. + (vint32m1x6_t): Ditto. + (vuint32m1x6_t): Ditto. + (vint32m1x7_t): Ditto. + (vuint32m1x7_t): Ditto. + (vint32m1x8_t): Ditto. + (vuint32m1x8_t): Ditto. + (vint32m2x2_t): Ditto. + (vuint32m2x2_t): Ditto. + (vint32m2x3_t): Ditto. + (vuint32m2x3_t): Ditto. + (vint32m2x4_t): Ditto. + (vuint32m2x4_t): Ditto. + (vint32m4x2_t): Ditto. + (vuint32m4x2_t): Ditto. + (vint64m1x2_t): Ditto. + (vuint64m1x2_t): Ditto. + (vint64m1x3_t): Ditto. + (vuint64m1x3_t): Ditto. + (vint64m1x4_t): Ditto. + (vuint64m1x4_t): Ditto. + (vint64m1x5_t): Ditto. + (vuint64m1x5_t): Ditto. + (vint64m1x6_t): Ditto. + (vuint64m1x6_t): Ditto. + (vint64m1x7_t): Ditto. + (vuint64m1x7_t): Ditto. + (vint64m1x8_t): Ditto. + (vuint64m1x8_t): Ditto. + (vint64m2x2_t): Ditto. + (vuint64m2x2_t): Ditto. + (vint64m2x3_t): Ditto. + (vuint64m2x3_t): Ditto. + (vint64m2x4_t): Ditto. + (vuint64m2x4_t): Ditto. + (vint64m4x2_t): Ditto. + (vuint64m4x2_t): Ditto. + (vfloat32mf2x2_t): Ditto. + (vfloat32mf2x3_t): Ditto. + (vfloat32mf2x4_t): Ditto. + (vfloat32mf2x5_t): Ditto. + (vfloat32mf2x6_t): Ditto. + (vfloat32mf2x7_t): Ditto. + (vfloat32mf2x8_t): Ditto. + (vfloat32m1x2_t): Ditto. + (vfloat32m1x3_t): Ditto. + (vfloat32m1x4_t): Ditto. + (vfloat32m1x5_t): Ditto. + (vfloat32m1x6_t): Ditto. + (vfloat32m1x7_t): Ditto. + (vfloat32m1x8_t): Ditto. + (vfloat32m2x2_t): Ditto. + (vfloat32m2x3_t): Ditto. + (vfloat32m2x4_t): Ditto. + (vfloat32m4x2_t): Ditto. + (vfloat64m1x2_t): Ditto. + (vfloat64m1x3_t): Ditto. + (vfloat64m1x4_t): Ditto. + (vfloat64m1x5_t): Ditto. + (vfloat64m1x6_t): Ditto. + (vfloat64m1x7_t): Ditto. + (vfloat64m1x8_t): Ditto. + (vfloat64m2x2_t): Ditto. + (vfloat64m2x3_t): Ditto. + (vfloat64m2x4_t): Ditto. + (vfloat64m4x2_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TUPLE_OPS): + Ditto. + (DEF_RVV_TYPE_INDEX): Ditto. + (rvv_arg_type_info::get_tuple_subpart_type): New function. + (DEF_RVV_TUPLE_TYPE): New macro. + * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE_INDEX): + Adapt for tuple vget/vset support. + (vint8mf4_t): Ditto. + (vuint8mf4_t): Ditto. + (vint8mf2_t): Ditto. + (vuint8mf2_t): Ditto. + (vint8m1_t): Ditto. + (vuint8m1_t): Ditto. + (vint8m2_t): Ditto. + (vuint8m2_t): Ditto. + (vint8m4_t): Ditto. + (vuint8m4_t): Ditto. + (vint8m8_t): Ditto. + (vuint8m8_t): Ditto. + (vint16mf4_t): Ditto. + (vuint16mf4_t): Ditto. + (vint16mf2_t): Ditto. + (vuint16mf2_t): Ditto. + (vint16m1_t): Ditto. + (vuint16m1_t): Ditto. + (vint16m2_t): Ditto. + (vuint16m2_t): Ditto. + (vint16m4_t): Ditto. + (vuint16m4_t): Ditto. + (vint16m8_t): Ditto. + (vuint16m8_t): Ditto. + (vint32mf2_t): Ditto. + (vuint32mf2_t): Ditto. + (vint32m1_t): Ditto. + (vuint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vuint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vuint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vuint32m8_t): Ditto. + (vint64m1_t): Ditto. + (vuint64m1_t): Ditto. + (vint64m2_t): Ditto. + (vuint64m2_t): Ditto. + (vint64m4_t): Ditto. + (vuint64m4_t): Ditto. + (vint64m8_t): Ditto. + (vuint64m8_t): Ditto. + (vfloat32mf2_t): Ditto. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat32m8_t): Ditto. + (vfloat64m1_t): Ditto. + (vfloat64m2_t): Ditto. + (vfloat64m4_t): Ditto. + (vfloat64m8_t): Ditto. + (tuple_subpart): Add tuple subpart base type. + * config/riscv/riscv-vector-builtins.h (struct + rvv_arg_type_info): Ditto. + (tuple_type_field): New function. + +2023-05-03 Ju-Zhe Zhong + + * config/riscv/riscv-modes.def (RVV_TUPLE_MODES): New macro. + (RVV_TUPLE_PARTIAL_MODES): Ditto. + * config/riscv/riscv-protos.h (riscv_v_ext_tuple_mode_p): New + function. + (get_nf): Ditto. + (get_subpart_mode): Ditto. + (get_tuple_mode): Ditto. + (expand_tuple_move): Ditto. + * config/riscv/riscv-v.cc (ENTRY): New macro. + (TUPLE_ENTRY): Ditto. + (get_nf): New function. + (get_subpart_mode): Ditto. + (get_tuple_mode): Ditto. + (expand_tuple_move): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TUPLE_TYPE): + New macro. + (register_tuple_type): New function + * config/riscv/riscv-vector-builtins.def (DEF_RVV_TUPLE_TYPE): + New macro. + (vint8mf8x2_t): New macro. + (vuint8mf8x2_t): Ditto. + (vint8mf8x3_t): Ditto. + (vuint8mf8x3_t): Ditto. + (vint8mf8x4_t): Ditto. + (vuint8mf8x4_t): Ditto. + (vint8mf8x5_t): Ditto. + (vuint8mf8x5_t): Ditto. + (vint8mf8x6_t): Ditto. + (vuint8mf8x6_t): Ditto. + (vint8mf8x7_t): Ditto. + (vuint8mf8x7_t): Ditto. + (vint8mf8x8_t): Ditto. + (vuint8mf8x8_t): Ditto. + (vint8mf4x2_t): Ditto. + (vuint8mf4x2_t): Ditto. + (vint8mf4x3_t): Ditto. + (vuint8mf4x3_t): Ditto. + (vint8mf4x4_t): Ditto. + (vuint8mf4x4_t): Ditto. + (vint8mf4x5_t): Ditto. + (vuint8mf4x5_t): Ditto. + (vint8mf4x6_t): Ditto. + (vuint8mf4x6_t): Ditto. + (vint8mf4x7_t): Ditto. + (vuint8mf4x7_t): Ditto. + (vint8mf4x8_t): Ditto. + (vuint8mf4x8_t): Ditto. + (vint8mf2x2_t): Ditto. + (vuint8mf2x2_t): Ditto. + (vint8mf2x3_t): Ditto. + (vuint8mf2x3_t): Ditto. + (vint8mf2x4_t): Ditto. + (vuint8mf2x4_t): Ditto. + (vint8mf2x5_t): Ditto. + (vuint8mf2x5_t): Ditto. + (vint8mf2x6_t): Ditto. + (vuint8mf2x6_t): Ditto. + (vint8mf2x7_t): Ditto. + (vuint8mf2x7_t): Ditto. + (vint8mf2x8_t): Ditto. + (vuint8mf2x8_t): Ditto. + (vint8m1x2_t): Ditto. + (vuint8m1x2_t): Ditto. + (vint8m1x3_t): Ditto. + (vuint8m1x3_t): Ditto. + (vint8m1x4_t): Ditto. + (vuint8m1x4_t): Ditto. + (vint8m1x5_t): Ditto. + (vuint8m1x5_t): Ditto. + (vint8m1x6_t): Ditto. + (vuint8m1x6_t): Ditto. + (vint8m1x7_t): Ditto. + (vuint8m1x7_t): Ditto. + (vint8m1x8_t): Ditto. + (vuint8m1x8_t): Ditto. + (vint8m2x2_t): Ditto. + (vuint8m2x2_t): Ditto. + (vint8m2x3_t): Ditto. + (vuint8m2x3_t): Ditto. + (vint8m2x4_t): Ditto. + (vuint8m2x4_t): Ditto. + (vint8m4x2_t): Ditto. + (vuint8m4x2_t): Ditto. + (vint16mf4x2_t): Ditto. + (vuint16mf4x2_t): Ditto. + (vint16mf4x3_t): Ditto. + (vuint16mf4x3_t): Ditto. + (vint16mf4x4_t): Ditto. + (vuint16mf4x4_t): Ditto. + (vint16mf4x5_t): Ditto. + (vuint16mf4x5_t): Ditto. + (vint16mf4x6_t): Ditto. + (vuint16mf4x6_t): Ditto. + (vint16mf4x7_t): Ditto. + (vuint16mf4x7_t): Ditto. + (vint16mf4x8_t): Ditto. + (vuint16mf4x8_t): Ditto. + (vint16mf2x2_t): Ditto. + (vuint16mf2x2_t): Ditto. + (vint16mf2x3_t): Ditto. + (vuint16mf2x3_t): Ditto. + (vint16mf2x4_t): Ditto. + (vuint16mf2x4_t): Ditto. + (vint16mf2x5_t): Ditto. + (vuint16mf2x5_t): Ditto. + (vint16mf2x6_t): Ditto. + (vuint16mf2x6_t): Ditto. + (vint16mf2x7_t): Ditto. + (vuint16mf2x7_t): Ditto. + (vint16mf2x8_t): Ditto. + (vuint16mf2x8_t): Ditto. + (vint16m1x2_t): Ditto. + (vuint16m1x2_t): Ditto. + (vint16m1x3_t): Ditto. + (vuint16m1x3_t): Ditto. + (vint16m1x4_t): Ditto. + (vuint16m1x4_t): Ditto. + (vint16m1x5_t): Ditto. + (vuint16m1x5_t): Ditto. + (vint16m1x6_t): Ditto. + (vuint16m1x6_t): Ditto. + (vint16m1x7_t): Ditto. + (vuint16m1x7_t): Ditto. + (vint16m1x8_t): Ditto. + (vuint16m1x8_t): Ditto. + (vint16m2x2_t): Ditto. + (vuint16m2x2_t): Ditto. + (vint16m2x3_t): Ditto. + (vuint16m2x3_t): Ditto. + (vint16m2x4_t): Ditto. + (vuint16m2x4_t): Ditto. + (vint16m4x2_t): Ditto. + (vuint16m4x2_t): Ditto. + (vint32mf2x2_t): Ditto. + (vuint32mf2x2_t): Ditto. + (vint32mf2x3_t): Ditto. + (vuint32mf2x3_t): Ditto. + (vint32mf2x4_t): Ditto. + (vuint32mf2x4_t): Ditto. + (vint32mf2x5_t): Ditto. + (vuint32mf2x5_t): Ditto. + (vint32mf2x6_t): Ditto. + (vuint32mf2x6_t): Ditto. + (vint32mf2x7_t): Ditto. + (vuint32mf2x7_t): Ditto. + (vint32mf2x8_t): Ditto. + (vuint32mf2x8_t): Ditto. + (vint32m1x2_t): Ditto. + (vuint32m1x2_t): Ditto. + (vint32m1x3_t): Ditto. + (vuint32m1x3_t): Ditto. + (vint32m1x4_t): Ditto. + (vuint32m1x4_t): Ditto. + (vint32m1x5_t): Ditto. + (vuint32m1x5_t): Ditto. + (vint32m1x6_t): Ditto. + (vuint32m1x6_t): Ditto. + (vint32m1x7_t): Ditto. + (vuint32m1x7_t): Ditto. + (vint32m1x8_t): Ditto. + (vuint32m1x8_t): Ditto. + (vint32m2x2_t): Ditto. + (vuint32m2x2_t): Ditto. + (vint32m2x3_t): Ditto. + (vuint32m2x3_t): Ditto. + (vint32m2x4_t): Ditto. + (vuint32m2x4_t): Ditto. + (vint32m4x2_t): Ditto. + (vuint32m4x2_t): Ditto. + (vint64m1x2_t): Ditto. + (vuint64m1x2_t): Ditto. + (vint64m1x3_t): Ditto. + (vuint64m1x3_t): Ditto. + (vint64m1x4_t): Ditto. + (vuint64m1x4_t): Ditto. + (vint64m1x5_t): Ditto. + (vuint64m1x5_t): Ditto. + (vint64m1x6_t): Ditto. + (vuint64m1x6_t): Ditto. + (vint64m1x7_t): Ditto. + (vuint64m1x7_t): Ditto. + (vint64m1x8_t): Ditto. + (vuint64m1x8_t): Ditto. + (vint64m2x2_t): Ditto. + (vuint64m2x2_t): Ditto. + (vint64m2x3_t): Ditto. + (vuint64m2x3_t): Ditto. + (vint64m2x4_t): Ditto. + (vuint64m2x4_t): Ditto. + (vint64m4x2_t): Ditto. + (vuint64m4x2_t): Ditto. + (vfloat32mf2x2_t): Ditto. + (vfloat32mf2x3_t): Ditto. + (vfloat32mf2x4_t): Ditto. + (vfloat32mf2x5_t): Ditto. + (vfloat32mf2x6_t): Ditto. + (vfloat32mf2x7_t): Ditto. + (vfloat32mf2x8_t): Ditto. + (vfloat32m1x2_t): Ditto. + (vfloat32m1x3_t): Ditto. + (vfloat32m1x4_t): Ditto. + (vfloat32m1x5_t): Ditto. + (vfloat32m1x6_t): Ditto. + (vfloat32m1x7_t): Ditto. + (vfloat32m1x8_t): Ditto. + (vfloat32m2x2_t): Ditto. + (vfloat32m2x3_t): Ditto. + (vfloat32m2x4_t): Ditto. + (vfloat32m4x2_t): Ditto. + (vfloat64m1x2_t): Ditto. + (vfloat64m1x3_t): Ditto. + (vfloat64m1x4_t): Ditto. + (vfloat64m1x5_t): Ditto. + (vfloat64m1x6_t): Ditto. + (vfloat64m1x7_t): Ditto. + (vfloat64m1x8_t): Ditto. + (vfloat64m2x2_t): Ditto. + (vfloat64m2x3_t): Ditto. + (vfloat64m2x4_t): Ditto. + (vfloat64m4x2_t): Ditto. + * config/riscv/riscv-vector-builtins.h (DEF_RVV_TUPLE_TYPE): + Ditto. + * config/riscv/riscv-vector-switch.def (TUPLE_ENTRY): Ditto. + * config/riscv/riscv.cc (riscv_v_ext_tuple_mode_p): New + function. + (TUPLE_ENTRY): Ditto. + (riscv_v_ext_mode_p): New function. + (riscv_v_adjust_nunits): Add tuple mode adjustment. + (riscv_classify_address): Ditto. + (riscv_binary_cost): Ditto. + (riscv_rtx_costs): Ditto. + (riscv_secondary_memory_needed): Ditto. + (riscv_hard_regno_nregs): Ditto. + (riscv_hard_regno_mode_ok): Ditto. + (riscv_vector_mode_supported_p): Ditto. + (riscv_regmode_natural_size): Ditto. + (riscv_array_mode): New function. + (TARGET_ARRAY_MODE): New target hook. + * config/riscv/riscv.md: Add tuple modes. + * config/riscv/vector-iterators.md: Ditto. + * config/riscv/vector.md (mov): Add tuple modes data + movement. + (*mov_): Ditto. + +2023-05-03 Richard Biener + + * cse.cc (cse_insn): Track an equivalence to the destination + separately and delay using src_related for it. + +2023-05-03 Richard Biener + + * cse.cc (HASH): Turn into inline function and mix + in another HASH_SHIFT bits. + (SAFE_HASH): Likewise. + +2023-05-03 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_h): Rename to... + (aarch64_h): ... This. + +2023-05-03 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (add3): Rename to... + (add3): ... This. + (sub3): Rename to... + (sub3): ... This. + (mul3): Rename to... + (mul3): ... This. + (*div3): Rename to... + (*div3): ... This. + (neg2): Rename to... + (neg2): ... This. + (abs2): Rename to... + (abs2): ... This. + (2): Rename to... + (2): ... This. + (3): Rename to... + (3): ... This. + (*sqrt2): Rename to... + (*sqrt2): ... This. + +2023-05-03 Kito Cheng + + * doc/md.texi (RISC-V): Add vr, vm, vd constarint. + +2023-05-03 Martin Liska + + PR tree-optimization/109693 + * value-range-storage.cc (vrange_allocator::vrange_allocator): + Remove unused field. + * value-range-storage.h: Likewise. + +2023-05-02 Andrew Pinski + + * tree-ssa-phiopt.cc (move_stmt): New function. + (match_simplify_replacement): Use move_stmt instead + of the inlined version. + +2023-05-02 Andrew Pinski + + * match.pd (a != 0 ? CLRSB(a) : CST -> CLRSB(a)): New + pattern. + +2023-05-02 Andrew Pinski + + PR tree-optimization/109702 + * match.pd: Fix "a != 0 ? FUNC(a) : CST" patterns + for FUNC of POPCOUNT BSWAP FFS PARITY CLZ and CTZ. + +2023-05-02 Andrew Pinski + + PR target/109657 + * config/aarch64/aarch64.md (*cmov_insn_m1): New + insn_and_split pattern. + +2023-05-02 Patrick O'Neill + + * config/riscv/sync.md (atomic_load): Implement atomic + load mapping. + +2023-05-02 Patrick O'Neill + + * config/riscv/sync.md (mem_thread_fence_1): Change fence + depending on the given memory model. + +2023-05-02 Patrick O'Neill + + * config/riscv/riscv-protos.h (riscv_union_memmodels): Expose + riscv_union_memmodels function to sync.md. + * config/riscv/riscv.cc (riscv_union_memmodels): Add function to + get the union of two memmodels in sync.md. + (riscv_print_operand): Add %I and %J flags that output the + optimal LR/SC flag bits for a given memory model. + * config/riscv/sync.md: Remove static .aqrl bits on LR op/.rl + bits on SC op and replace with optimized %I, %J flags. + +2023-05-02 Patrick O'Neill + + * config/riscv/riscv.cc + (riscv_memmodel_needs_amo_release): Change function name. + (riscv_print_operand): Remove unneeded %F case. + * config/riscv/sync.md: Remove unneeded fences. + +2023-05-02 Patrick O'Neill + + PR target/89835 + * config/riscv/sync.md (atomic_store): Use simple store + instruction in combination with fence(s). + +2023-05-02 Patrick O'Neill + + * config/riscv/riscv.cc (riscv_print_operand): Change behavior + of %A to include release bits. + +2023-05-02 Patrick O'Neill + + * config/riscv/sync.md (atomic_cas_value_strong): Change + FENCE/LR.aq/SC.aq into sequentially consistent LR.aqrl/SC.rl + pair. + +2023-05-02 Patrick O'Neill + + * config/riscv/sync.md: Change LR.aq/SC.rl pairs into + sequentially consistent LR.aqrl/SC.rl pairs. + +2023-05-02 Patrick O'Neill + + * config/riscv/riscv.cc: Remove MEMMODEL_SYNC_* cases and + sanitize memmodel input with memmodel_base. + +2023-05-02 Yanzhang Wang + Pan Li + + PR target/109617 + * config/riscv/vector-iterators.md: Support VNx2HI and VNX4DI when MIN_VLEN >= 128. + +2023-05-02 Romain Naour + + * config/riscv/genrvv-type-indexer.cc: Use log2 from the C header, without + the namespace. + +2023-05-02 Martin Liska + + * doc/invoke.texi: Update documentation based on param.opt file. + +2023-05-02 Richard Biener + + PR tree-optimization/109672 + * tree-vect-stmts.cc (vectorizable_operation): For plus, + minus and negate always check the vector mode is word mode. + +2023-05-01 Andrew Pinski + + * tree-ssa-phiopt.cc: Update comment about + how the transformation are implemented. + +2023-05-01 Jeff Law + + * config/stormy16/stormy16.cc (TARGET_LRA_P): Remove defintion. + +2023-05-01 Jeff Law + + * config/cris/cris.cc (TARGET_LRA_P): Remove. + * config/epiphany/epiphany.cc (TARGET_LRA_P): Remove. + * config/iq2000/iq2000.cc (TARGET_LRA_P): Remove. + * config/m32r/m32r.cc (TARGET_LRA_P): Remove. + * config/microblaze/microblaze.cc (TARGET_LRA_P): Remove. + * config/mmix/mmix.cc (TARGET_LRA_P): Remove. + +2023-05-01 Rasmus Villemoes + + * print-tree.h (PRINT_DECL_REMAP_DEBUG): New flag. + * print-tree.cc (print_decl_identifier): Implement it. + * toplev.cc (output_stack_usage_1): Use it. + +2023-05-01 Aldy Hernandez + + * value-range.h (class int_range): Remove gt_ggc_mx and gt_pch_nx + friends. + +2023-05-01 Aldy Hernandez + + * value-range.h (irange::set_nonzero): Inline. + +2023-05-01 Aldy Hernandez + + * gimple-range-op.cc (cfn_ffs::fold_range): Use the correct + precision. + * gimple-ssa-warn-alloca.cc (alloca_call_type): Use <2> for + invalid_range, as it is an inverse range. + * tree-vrp.cc (find_case_label_range): Avoid trees. + * value-range.cc (irange::irange_set): Delete. + (irange::irange_set_1bit_anti_range): Delete. + (irange::irange_set_anti_range): Delete. + (irange::set): Cleanup. + * value-range.h (class irange): Remove irange_set, + irange_set_anti_range, irange_set_1bit_anti_range. + (irange::set_undefined): Remove set to m_type. + +2023-05-01 Aldy Hernandez + + * range-op.cc (update_known_bitmask): Adjust for irange containing + wide_ints internally. + * tree-ssanames.cc (set_nonzero_bits): Same. + * tree-ssanames.h (set_nonzero_bits): Same. + * value-range-storage.cc (irange_storage::set_irange): Same. + (irange_storage::get_irange): Same. + * value-range.cc (irange::operator=): Same. + (irange::irange_set): Same. + (irange::irange_set_1bit_anti_range): Same. + (irange::irange_set_anti_range): Same. + (irange::set): Same. + (irange::verify_range): Same. + (irange::contains_p): Same. + (irange::irange_single_pair_union): Same. + (irange::union_): Same. + (irange::irange_contains_p): Same. + (irange::intersect): Same. + (irange::invert): Same. + (irange::set_range_from_nonzero_bits): Same. + (irange::set_nonzero_bits): Same. + (mask_to_wi): Same. + (irange::intersect_nonzero_bits): Same. + (irange::union_nonzero_bits): Same. + (gt_ggc_mx): Same. + (gt_pch_nx): Same. + (tree_range): Same. + (range_tests_strict_enum): Same. + (range_tests_misc): Same. + (range_tests_nonzero_bits): Same. + * value-range.h (irange::type): Same. + (irange::varying_compatible_p): Same. + (irange::irange): Same. + (int_range::int_range): Same. + (irange::set_undefined): Same. + (irange::set_varying): Same. + (irange::lower_bound): Same. + (irange::upper_bound): Same. + +2023-05-01 Aldy Hernandez + + * gimple-range-fold.cc (tree_lower_bound): Delete. + (tree_upper_bound): Delete. + (vrp_val_max): Delete. + (vrp_val_min): Delete. + (fold_using_range::range_of_ssa_name_with_loop_info): Call + range_of_var_in_loop. + * vr-values.cc (valid_value_p): Delete. + (fix_overflow): Delete. + (get_scev_info): New. + (bounds_of_var_in_loop): Refactor into... + (induction_variable_may_overflow_p): ...this, + (range_from_loop_direction): ...and this, + (range_of_var_in_loop): ...and this. + * vr-values.h (bounds_of_var_in_loop): Delete. + (range_of_var_in_loop): New. + +2023-05-01 Aldy Hernandez + + * gimple-range-fold.cc (adjust_pointer_diff_expr): Rewrite with + irange_val*. + (vrp_val_max): New. + (vrp_val_min): New. + * gimple-range-op.cc (cfn_strlen::fold_range): Use irange_val_*. + * range-op.cc (max_limit): Same. + (min_limit): Same. + (plus_minus_ranges): Same. + (operator_rshift::op1_range): Same. + (operator_cast::inside_domain_p): Same. + * value-range.cc (vrp_val_is_max): Delete. + (vrp_val_is_min): Delete. + (range_tests_misc): Use irange_val_*. + * value-range.h (vrp_val_is_min): Delete. + (vrp_val_is_max): Delete. + (vrp_val_max): Delete. + (irange_val_min): New. + (vrp_val_min): Delete. + (irange_val_max): New. + * vr-values.cc (check_for_binary_op_overflow): Use irange_val_*. + +2023-05-01 Aldy Hernandez + + * fold-const.cc (expr_not_equal_to): Convert to irange wide_int API. + * gimple-fold.cc (size_must_be_zero_p): Same. + * gimple-loop-versioning.cc + (loop_versioning::prune_loop_conditions): Same. + * gimple-range-edge.cc (gcond_edge_range): Same. + (gimple_outgoing_range::calc_switch_ranges): Same. + * gimple-range-fold.cc (adjust_imagpart_expr): Same. + (adjust_realpart_expr): Same. + (fold_using_range::range_of_address): Same. + (fold_using_range::relation_fold_and_or): Same. + * gimple-range-gori.cc (gori_compute::gori_compute): Same. + (range_is_either_true_or_false): Same. + * gimple-range-op.cc (cfn_toupper_tolower::get_letter_range): Same. + (cfn_clz::fold_range): Same. + (cfn_ctz::fold_range): Same. + * gimple-range-tests.cc (class test_expr_eval): Same. + * gimple-ssa-warn-alloca.cc (alloca_call_type): Same. + * ipa-cp.cc (ipa_value_range_from_jfunc): Same. + (propagate_vr_across_jump_function): Same. + (decide_whether_version_node): Same. + * ipa-prop.cc (ipa_get_value_range): Same. + * ipa-prop.h (ipa_range_set_and_normalize): Same. + * range-op.cc (get_shift_range): Same. + (value_range_from_overflowed_bounds): Same. + (value_range_with_overflow): Same. + (create_possibly_reversed_range): Same. + (equal_op1_op2_relation): Same. + (not_equal_op1_op2_relation): Same. + (lt_op1_op2_relation): Same. + (le_op1_op2_relation): Same. + (gt_op1_op2_relation): Same. + (ge_op1_op2_relation): Same. + (operator_mult::op1_range): Same. + (operator_exact_divide::op1_range): Same. + (operator_lshift::op1_range): Same. + (operator_rshift::op1_range): Same. + (operator_cast::op1_range): Same. + (operator_logical_and::fold_range): Same. + (set_nonzero_range_from_mask): Same. + (operator_bitwise_or::op1_range): Same. + (operator_bitwise_xor::op1_range): Same. + (operator_addr_expr::fold_range): Same. + (pointer_plus_operator::wi_fold): Same. + (pointer_or_operator::op1_range): Same. + (INT): Same. + (UINT): Same. + (INT16): Same. + (UINT16): Same. + (SCHAR): Same. + (UCHAR): Same. + (range_op_cast_tests): Same. + (range_op_lshift_tests): Same. + (range_op_rshift_tests): Same. + (range_op_bitwise_and_tests): Same. + (range_relational_tests): Same. + * range.cc (range_zero): Same. + (range_nonzero): Same. + * range.h (range_true): Same. + (range_false): Same. + (range_true_and_false): Same. + * tree-data-ref.cc (split_constant_offset_1): Same. + * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same. + * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same. + (find_unswitching_predicates_for_bb): Same. + * tree-ssa-phiopt.cc (value_replacement): Same. + * tree-ssa-threadbackward.cc + (back_threader::find_taken_edge_cond): Same. + * tree-ssanames.cc (ssa_name_has_boolean_range): Same. + * tree-vrp.cc (find_case_label_range): Same. + * value-query.cc (range_query::get_tree_range): Same. + * value-range.cc (irange::set_nonnegative): Same. + (frange::contains_p): Same. + (frange::singleton_p): Same. + (frange::internal_singleton_p): Same. + (irange::irange_set): Same. + (irange::irange_set_1bit_anti_range): Same. + (irange::irange_set_anti_range): Same. + (irange::set): Same. + (irange::operator==): Same. + (irange::singleton_p): Same. + (irange::contains_p): Same. + (irange::set_range_from_nonzero_bits): Same. + (DEFINE_INT_RANGE_INSTANCE): Same. + (INT): Same. + (UINT): Same. + (SCHAR): Same. + (UINT128): Same. + (UCHAR): Same. + (range): New. + (tree_range): New. + (range_int): New. + (range_uint): New. + (range_uint128): New. + (range_uchar): New. + (range_char): New. + (build_range3): Convert to irange wide_int API. + (range_tests_irange3): Same. + (range_tests_int_range_max): Same. + (range_tests_strict_enum): Same. + (range_tests_misc): Same. + (range_tests_nonzero_bits): Same. + (range_tests_nan): Same. + (range_tests_signed_zeros): Same. + * value-range.h (Value_Range::Value_Range): Same. + (irange::set): Same. + (irange::nonzero_p): Same. + (irange::contains_p): Same. + (range_includes_zero_p): Same. + (irange::set_nonzero): Same. + (irange::set_zero): Same. + (contains_zero_p): Same. + (frange::contains_p): Same. + * vr-values.cc + (simplify_using_ranges::op_with_boolean_value_range_p): Same. + (bounds_of_var_in_loop): Same. + (simplify_using_ranges::legacy_fold_cond_overflow): Same. + +2023-05-01 Aldy Hernandez + + * value-range.cc (irange::irange_union): Rename to... + (irange::union_): ...this. + (irange::irange_intersect): Rename to... + (irange::intersect): ...this. + * value-range.h (irange::union_): Delete. + (irange::intersect): Delete. + +2023-05-01 Aldy Hernandez + + * vr-values.cc (bounds_of_var_in_loop): Convert to irange API. + +2023-05-01 Aldy Hernandez + + * vr-values.cc (check_for_binary_op_overflow): Tidy up by using + ranger API. + (compare_ranges): Delete. + (compare_range_with_value): Delete. + (bounds_of_var_in_loop): Tidy up by using ranger API. + (simplify_using_ranges::fold_cond_with_ops): Cleanup and rename + from vrp_evaluate_conditional_warnv_with_ops_using_ranges. + (simplify_using_ranges::legacy_fold_cond_overflow): Remove + strict_overflow_p and only_ranges. + (simplify_using_ranges::legacy_fold_cond): Adjust call to + legacy_fold_cond_overflow. + (simplify_using_ranges::simplify_abs_using_ranges): Adjust for + rename. + (range_fits_type_p): Rename value_range to irange. + * vr-values.h (range_fits_type_p): Adjust prototype. + +2023-05-01 Aldy Hernandez + + * value-range.cc (irange::irange_set_anti_range): Remove uses of + tree_lower_bound and tree_upper_bound. + (irange::verify_range): Same. + (irange::operator==): Same. + (irange::singleton_p): Same. + * value-range.h (irange::tree_lower_bound): Delete. + (irange::tree_upper_bound): Delete. + (irange::lower_bound): Delete. + (irange::upper_bound): Delete. + (irange::zero_p): Remove uses of tree_lower_bound and + tree_upper_bound. + +2023-05-01 Aldy Hernandez + + * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Remove + kind() call. + (determine_value_range): Same. + (record_nonwrapping_iv): Same. + (infer_loop_bounds_from_signedness): Same. + (scev_var_range_cant_overflow): Same. + * tree-vrp.cc (operand_less_p): Delete. + * tree-vrp.h (operand_less_p): Delete. + * value-range.cc (get_legacy_range): Remove uses of deprecated API. + (irange::value_inside_range): Delete. + * value-range.h (vrange::kind): Delete. + (irange::num_pairs): Remove check of m_kind. + (irange::min): Delete. + (irange::max): Delete. + +2023-05-01 Aldy Hernandez + + * gimple-fold.cc (maybe_fold_comparisons_from_match_pd): Adjust + for vrange_storage. + * gimple-range-cache.cc (sbr_vector::sbr_vector): Same. + (sbr_vector::grow): Same. + (sbr_vector::set_bb_range): Same. + (sbr_vector::get_bb_range): Same. + (sbr_sparse_bitmap::sbr_sparse_bitmap): Same. + (sbr_sparse_bitmap::set_bb_range): Same. + (sbr_sparse_bitmap::get_bb_range): Same. + (block_range_cache::block_range_cache): Same. + (ssa_global_cache::ssa_global_cache): Same. + (ssa_global_cache::get_global_range): Same. + (ssa_global_cache::set_global_range): Same. + * gimple-range-cache.h: Same. + * gimple-range-edge.cc + (gimple_outgoing_range::gimple_outgoing_range): Same. + (gimple_outgoing_range::switch_edge_range): Same. + (gimple_outgoing_range::calc_switch_ranges): Same. + * gimple-range-edge.h: Same. + * gimple-range-infer.cc + (infer_range_manager::infer_range_manager): Same. + (infer_range_manager::get_nonzero): Same. + (infer_range_manager::maybe_adjust_range): Same. + (infer_range_manager::add_range): Same. + * gimple-range-infer.h: Rename obstack_vrange_allocator to + vrange_allocator. + * tree-core.h (struct irange_storage_slot): Remove. + (struct tree_ssa_name): Remove irange_info and frange_info. Make + range_info a pointer to vrange_storage. + * tree-ssanames.cc (range_info_fits_p): Adjust for vrange_storage. + (range_info_alloc): Same. + (range_info_free): Same. + (range_info_get_range): Same. + (range_info_set_range): Same. + (get_nonzero_bits): Same. + * value-query.cc (get_ssa_name_range_info): Same. + * value-range-storage.cc (class vrange_internal_alloc): New. + (class vrange_obstack_alloc): New. + (class vrange_ggc_alloc): New. + (vrange_allocator::vrange_allocator): New. + (vrange_allocator::~vrange_allocator): New. + (vrange_storage::alloc_slot): New. + (vrange_allocator::alloc): New. + (vrange_allocator::free): New. + (vrange_allocator::clone): New. + (vrange_allocator::clone_varying): New. + (vrange_allocator::clone_undefined): New. + (vrange_storage::alloc): New. + (vrange_storage::set_vrange): Remove slot argument. + (vrange_storage::get_vrange): Same. + (vrange_storage::fits_p): Same. + (vrange_storage::equal_p): New. + (irange_storage::write_lengths_address): New. + (irange_storage::lengths_address): New. + (irange_storage_slot::alloc_slot): Remove. + (irange_storage::alloc): New. + (irange_storage_slot::irange_storage_slot): Remove. + (irange_storage::irange_storage): New. + (write_wide_int): New. + (irange_storage_slot::set_irange): Remove. + (irange_storage::set_irange): New. + (read_wide_int): New. + (irange_storage_slot::get_irange): Remove. + (irange_storage::get_irange): New. + (irange_storage_slot::size): Remove. + (irange_storage::equal_p): New. + (irange_storage_slot::num_wide_ints_needed): Remove. + (irange_storage::size): New. + (irange_storage_slot::fits_p): Remove. + (irange_storage::fits_p): New. + (irange_storage_slot::dump): Remove. + (irange_storage::dump): New. + (frange_storage_slot::alloc_slot): Remove. + (frange_storage::alloc): New. + (frange_storage_slot::set_frange): Remove. + (frange_storage::set_frange): New. + (frange_storage_slot::get_frange): Remove. + (frange_storage::get_frange): New. + (frange_storage_slot::fits_p): Remove. + (frange_storage::equal_p): New. + (frange_storage::fits_p): New. + (ggc_vrange_allocator): New. + (ggc_alloc_vrange_storage): New. + * value-range-storage.h (class vrange_storage): Rewrite. + (class irange_storage): Rewrite. + (class frange_storage): Rewrite. + (class obstack_vrange_allocator): Remove. + (class ggc_vrange_allocator): Remove. + (vrange_allocator::alloc_vrange): Remove. + (vrange_allocator::alloc_irange): Remove. + (vrange_allocator::alloc_frange): Remove. + (ggc_alloc_vrange_storage): New. + * value-range.h (class irange): Rename vrange_allocator to + irange_storage. + (class frange): Same. + +2023-04-30 Roger Sayle + + * config/stormy16/stormy16.md (neghi2): Rewrite pattern using + inc to avoid clobbering the carry flag. + +2023-04-30 Andrew Pinski + + * match.pd: Add patterns for "a != 0 ? FUNC(a) : CST" + for FUNC of POPCOUNT BSWAP FFS PARITY CLZ and CTZ. + +2023-04-30 Andrew Pinski + + * tree-ssa-phiopt.cc (empty_bb_or_one_feeding_into_p): + Allow some builtin/internal function calls which + are known not to trap/throw. + (phiopt_worker::match_simplify_replacement): + Use name instead of getting the lhs again. + +2023-04-30 Joakim Nohlgård + + * configure: Regenerate. + * configure.ac: Use ld -r in the check for HAVE_LD_RO_RW_SECTION_MIXING + +2023-04-29 Hans-Peter Nilsson + + * reload1.cc (emit_insn_if_valid_for_reload_1): Rename from + emit_insn_if_valid_for_reload. + (emit_insn_if_valid_for_reload): Call new helper, and if a SET fails + to be recognized, also try emitting a parallel that clobbers + TARGET_FLAGS_REGNUM, as applicable. + +2023-04-29 Roger Sayle + + * config/stormy16/stormy16.md (neghi2): Convert from a define_expand + to a define_insn. + (*rotatehi_1): New define_insn for efficient 2 insn sequence. + (*rotatehi_8, *rotaterthi_8): New define_insn to emit a swpb. + +2023-04-29 Roger Sayle + + * config/stormy16/stormy16.md (any_lshift): New code iterator. + (any_or_plus): Likewise. + (any_rotate): Likewise. + (*_and_internal): New define_insn_and_split to + recognize a logical shift followed by an AND, and split it + again after reload. + (*swpn): New define_insn matching xstormy16's swpn. + (*swpn_zext): New define_insn recognizing swpn followed by + zero_extendqihi2, i.e. with the high byte set to zero. + (*swpn_sext): Likewise, for swpn followed by cbw. + (*swpn_sext_2): Likewise, for an alternate RTL form. + (*swpn_zext_ior): A pre-reload splitter so that an swpn+zext+ior + sequence is split in the correct place to recognize the *swpn_zext + followed by any_or_plus (ior, xor or plus) instruction. + +2023-04-29 Mikael Pettersson + + PR target/105525 + * config.gcc (vax-*-linux*): Add glibc-stdint.h. + (lm32-*-uclinux*): Likewise. + +2023-04-29 Fei Gao + + * config/riscv/riscv.cc (riscv_avoid_save_libcall): helper function + for riscv_use_save_libcall. + (riscv_use_save_libcall): call riscv_avoid_save_libcall. + (riscv_compute_frame_info): restructure to decouple stack allocation + for rv32e w/o save-restore. + +2023-04-28 Eugene Rozenfeld + + * doc/install.texi: Fix documentation typo + +2023-04-28 Matevos Mehrabyan + + * config/riscv/iterators.md (only_div, paired_mod): New iterators. + (u): Add div/udiv cases. + * config/riscv/riscv-protos.h (riscv_use_divmod_expander): Prototype. + * config/riscv/riscv.cc (struct riscv_tune_param): Add field for + divmod expansion. + (rocket_tune_info, sifive_7_tune_info): Initialize new field. + (thead_c906_tune_info): Likewise. + (optimize_size_tune_info): Likewise. + (riscv_use_divmod_expander): New function. + * config/riscv/riscv.md (divmod4): New expander. + +2023-04-28 Karen Sargsyan + + * config/riscv/bitmanip.md: Added clmulr instruction. + * config/riscv/riscv-builtins.cc (AVAIL): Add new. + * config/riscv/riscv.md: (UNSPEC_CLMULR): Add new unspec type. + (type): Add clmul + * config/riscv/riscv-cmo.def: Added built-in function for clmulr. + * config/riscv/crypto.md: Move clmul[h] instructions to bitmanip.md. + * config/riscv/riscv-scalar-crypto.def: Move clmul[h] built-in + functions to riscv-cmo.def. + * config/riscv/generic.md: Add clmul to list of instructions + using the generic_imul reservation. + +2023-04-28 Jivan Hakobyan + + * config/riscv/bitmanip.md: Added expanders for minu/maxu instructions + +2023-04-28 Andrew Pinski + + PR tree-optimization/100958 + * tree-ssa-phiopt.cc (two_value_replacement): Remove. + (pass_phiopt::execute): Don't call two_value_replacement. + * match.pd (a !=/== CST1 ? CST2 : CST3): Add pattern to + handle what two_value_replacement did. + +2023-04-28 Andrew Pinski + + * match.pd: Add patterns for + "(A CMP B) ? MIN/MAX : MIN/MAX ". + +2023-04-28 Andrew Pinski + + * match.pd: Factor out the deciding the min/max from + the "(cond (cmp (convert1? x) c1) (convert2? x) c2)" + pattern to ... + * fold-const.cc (minmax_from_comparison): this new function. + * fold-const.h (minmax_from_comparison): New prototype. + +2023-04-28 Roger Sayle + + PR rtl-optimization/109476 + * lower-subreg.cc: Include explow.h for force_reg. + (find_decomposable_shift_zext): Pass an additional SPEED_P argument. + If decomposing a suitable LSHIFTRT and we're not splitting + ZERO_EXTEND (based on the current SPEED_P), then use a ZERO_EXTEND + instead of setting a high part SUBREG to zero, which helps combine. + (decompose_multiword_subregs): Update call to resolve_shift_zext. + +2023-04-28 Richard Biener + + * tree-vect-data-refs.cc (vect_analyze_data_refs): Always + consider scatters. + * tree-vect-stmts.cc (vect_model_store_cost): Pass in the + gather-scatter info and cost emulated scatters accordingly. + (get_load_store_type): Support emulated scatters. + (vectorizable_store): Likewise. Emulate them by extracting + scalar offsets and data, doing scalar stores. + +2023-04-28 Richard Biener + + * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): + Tame down element extracts and scalar loads for gather/scatter + similar to elementwise strided accesses. + +2023-04-28 Pan Li + kito-cheng + + * config/riscv/vector.md: Add new define split to perform + the simplification. + +2023-04-28 Richard Biener + + PR ipa/109652 + * ipa-param-manipulation.cc + (ipa_param_body_adjustments::modify_expression): Allow + conversion of a register to a non-register type. Elide + conversions inside BIT_FIELD_REFs. + +2023-04-28 Richard Biener + + PR tree-optimization/109644 + * tree-cfg.cc (verify_types_in_gimple_reference): Check + register constraints on the outermost VIEW_CONVERT_EXPR + only. Do not allow register or invariant bases on + multi-level or possibly variable index handled components. + +2023-04-28 Richard Biener + + * gimplify.cc (gimplify_compound_lval): When there's a + non-register type produced by one of the handled component + operations make sure we get a non-register base. + +2023-04-28 Richard Biener + + PR tree-optimization/108752 + * tree-vect-generic.cc (build_replicated_const): Rename + to build_replicated_int_cst and move to tree.{h,cc}. + (do_plus_minus): Adjust. + (do_negate): Likewise. + * tree-vect-stmts.cc (vectorizable_operation): Emit emulated + arithmetic vector operations in lowered form. + * tree.h (build_replicated_int_cst): Declare. + * tree.cc (build_replicated_int_cst): Moved from + tree-vect-generic.cc build_replicated_const. + +2023-04-28 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_rbit): Rename to... + (aarch64_rbit): ... This. + (neg2): Rename to... + (neg2): ... This. + (abs2): Rename to... + (abs2): ... This. + (aarch64_abs): Rename to... + (aarch64_abs): ... This. + (one_cmpl2): Rename to... + (one_cmpl2): ... This. + (clrsb2): Rename to... + (clrsb2): ... This. + (clz2): Rename to... + (clz2): ... This. + (popcount2): Rename to... + (popcount2): ... This. + +2023-04-28 Jakub Jelinek + + * gimple-range-op.cc (class cfn_sqrt): New type. + (op_cfn_sqrt): New variable. + (gimple_range_op_handler::maybe_builtin_call): Handle + CASE_CFN_SQRT{,_FN}. + +2023-04-28 Aldy Hernandez + Jakub Jelinek + + * value-range.h (frange_nextafter): Declare. + * gimple-range-op.cc (class cfn_sincos): New. + (op_cfn_sin, op_cfn_cos): New variables. + (gimple_range_op_handler::maybe_builtin_call): Handle + CASE_CFN_{SIN,COS}{,_FN}. + +2023-04-28 Jakub Jelinek + + * target.def (libm_function_max_error): New target hook. + * doc/tm.texi.in (TARGET_LIBM_FUNCTION_MAX_ERROR): Add. + * doc/tm.texi: Regenerated. + * targhooks.h (default_libm_function_max_error, + glibc_linux_libm_function_max_error): Declare. + * targhooks.cc: Include case-cfn-macros.h. + (default_libm_function_max_error, + glibc_linux_libm_function_max_error): New functions. + * config/linux.h (TARGET_LIBM_FUNCTION_MAX_ERROR): Redefine. + * config/linux-protos.h (linux_libm_function_max_error): Declare. + * config/linux.cc: Include target.h and targhooks.h. + (linux_libm_function_max_error): New function. + * config/arc/arc.cc: Include targhooks.h and case-cfn-macros.h. + (arc_libm_function_max_error): New function. + (TARGET_LIBM_FUNCTION_MAX_ERROR): Redefine. + * config/i386/i386.cc (ix86_libc_has_fast_function): Formatting fix. + (ix86_libm_function_max_error): New function. + (TARGET_LIBM_FUNCTION_MAX_ERROR): Redefine. + * config/rs6000/rs6000-protos.h + (rs6000_linux_libm_function_max_error): Declare. + * config/rs6000/rs6000-linux.cc: Include target.h, targhooks.h, tree.h + and case-cfn-macros.h. + (rs6000_linux_libm_function_max_error): New function. + * config/rs6000/linux.h (TARGET_LIBM_FUNCTION_MAX_ERROR): Redefine. + * config/rs6000/linux64.h (TARGET_LIBM_FUNCTION_MAX_ERROR): Redefine. + * config/or1k/or1k.cc: Include targhooks.h and case-cfn-macros.h. + (or1k_libm_function_max_error): New function. + (TARGET_LIBM_FUNCTION_MAX_ERROR): Redefine. + +2023-04-28 Alexandre Oliva + + * gimple-harden-conditionals.cc (insert_edge_check_and_trap): + Move detach value calls... + (pass_harden_conditional_branches::execute): ... here. + (pass_harden_compares::execute): Detach values before + compares. + +2023-04-27 Andrew Stubbs + + * config/gcn/gcn-valu.md (cmul3): Use gcn_gen_undef. + (cml4): Likewise. + (vec_addsub3): Likewise. + (cadd3): Likewise. + (vec_fmaddsub4): Likewise. + (vec_fmsubadd4): Likewise, and use sub for the odd lanes. + +2023-04-27 Andrew Pinski + + * tree-ssa-phiopt.cc (phiopt_early_allow): Allow for + up to 2 min/max expressions in the sequence/match code. + +2023-04-27 Andrew Pinski + + * rtlanal.cc (may_trap_p_1): Treat SMIN/SMAX similar as + COMPARISON. + * tree-eh.cc (operation_could_trap_helper_p): Treate + MIN_EXPR/MAX_EXPR similar as other comparisons. + +2023-04-27 Andrew Pinski + + * tree-ssa-phiopt.cc (cond_store_replacement): Remove + prototype. + (cond_if_else_store_replacement): Likewise. + (get_non_trapping): Likewise. + (store_elim_worker): Move into ... + (pass_cselim::execute): This. + +2023-04-27 Andrew Pinski + + * tree-ssa-phiopt.cc (two_value_replacement): Remove + prototype. + (match_simplify_replacement): Likewise. + (factor_out_conditional_conversion): Likewise. + (value_replacement): Likewise. + (minmax_replacement): Likewise. + (spaceship_replacement): Likewise. + (cond_removal_in_builtin_zero_pattern): Likewise. + (hoist_adjacent_loads): Likewise. + (tree_ssa_phiopt_worker): Move into ... + (pass_phiopt::execute): this. + +2023-04-27 Andrew Pinski + + * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Remove + do_store_elim argument and split that part out to ... + (store_elim_worker): This new function. + (pass_cselim::execute): Call store_elim_worker. + (pass_phiopt::execute): Update call to tree_ssa_phiopt_worker. + +2023-04-27 Jan Hubicka + + * cfgloopmanip.h (unloop_loops): Export. + * tree-ssa-loop-ch.cc (ch_base::copy_headers): Unloop loops + that no longer loop. + * tree-ssa-loop-ivcanon.cc (unloop_loops): Export; do not free + vectors of loops to unloop. + (canonicalize_induction_variables): Free vectors here. + (tree_unroll_loops_completely): Free vectors here. + +2023-04-27 Richard Biener + + PR tree-optimization/109170 + * gimple-range-op.cc (gimple_range_op_handler::maybe_builtin_call): + Handle __builtin_expect and similar via cfn_pass_through_arg1 + and inspecting the calls fnspec. + * builtins.cc (builtin_fnspec): Handle BUILT_IN_EXPECT + and BUILT_IN_EXPECT_WITH_PROBABILITY. + +2023-04-27 Alexandre Oliva + + * genmultilib: Use CONFIG_SHELL to run sub-scripts. + +2023-04-27 Aldy Hernandez + + PR tree-optimization/109639 + * ipa-cp.cc (ipa_value_range_from_jfunc): Normalize range. + (propagate_vr_across_jump_function): Same. + * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Same. + * ipa-prop.h (ipa_range_set_and_normalize): New. + * value-range.cc (irange::set): Assert min and max are INTEGER_CST. + +2023-04-27 Richard Biener + + * match.pd (BIT_FIELD_REF CONSTRUCTOR@0 @1 @2): Do not + create a CTOR operand in the result when simplifying GIMPLE. + +2023-04-27 Richard Biener + + * gimplify.cc (gimplify_compound_lval): When the base + gimplified to a register make sure to split up chains + of operations. + +2023-04-27 Richard Biener + + PR ipa/109607 + * ipa-param-manipulation.h + (ipa_param_body_adjustments::modify_expression): Add extra_stmts + argument. + * ipa-param-manipulation.cc + (ipa_param_body_adjustments::modify_expression): Likewise. + When we need a conversion and the replacement is a register + split the conversion out. + (ipa_param_body_adjustments::modify_assignment): Pass + extra_stmts to RHS modify_expression. + +2023-04-27 Jonathan Wakely + + * doc/extend.texi (Zero Length): Describe example. + +2023-04-27 Richard Biener + + PR tree-optimization/109594 + * tree-ssa.cc (non_rewritable_mem_ref_base): Constrain + what we rewrite to a register based on the above. + +2023-04-26 Patrick O'Neill + + * config/riscv/riscv.cc: Fix whitespace. + * config/riscv/sync.md: Fix whitespace. + +2023-04-26 Andrew MacLeod + + PR tree-optimization/108697 + * gimple-range-cache.cc (ssa_global_cache::clear_range): Do + not clear the vector on an out of range query. + (ssa_cache::dump): Use dump_range_query instead of get_range. + (ssa_cache::dump_range_query): New. + (ssa_lazy_cache::dump_range_query): New. + (ssa_lazy_cache::set_range): New. + * gimple-range-cache.h (ssa_cache::dump_range_query): New. + (class ssa_lazy_cache): New. + (ssa_lazy_cache::ssa_lazy_cache): New. + (ssa_lazy_cache::~ssa_lazy_cache): New. + (ssa_lazy_cache::get_range): New. + (ssa_lazy_cache::clear_range): New. + (ssa_lazy_cache::clear): New. + (ssa_lazy_cache::dump): New. + * gimple-range-path.cc (path_range_query::path_range_query): Do + not allocate a ssa_cache object nor has_cache bitmap. + (path_range_query::~path_range_query): Do not free objects. + (path_range_query::clear_cache): Remove. + (path_range_query::get_cache): Adjust. + (path_range_query::set_cache): Remove. + (path_range_query::dump): Don't call through a pointer. + (path_range_query::internal_range_of_expr): Set cache directly. + (path_range_query::reset_path): Clear cache directly. + (path_range_query::ssa_range_in_phi): Fold with globals only. + (path_range_query::compute_ranges_in_phis): Simply set range. + (path_range_query::compute_ranges_in_block): Call cache directly. + * gimple-range-path.h (class path_range_query): Replace bitmap + and cache pointer with lazy cache object. + * gimple-range.h (class assume_query): Use ssa_lazy_cache. + +2023-04-26 Andrew MacLeod + + * gimple-range-cache.cc (ssa_cache::ssa_cache): Rename. + (ssa_cache::~ssa_cache): Rename. + (ssa_cache::has_range): New. + (ssa_cache::get_range): Rename. + (ssa_cache::set_range): Rename. + (ssa_cache::clear_range): Rename. + (ssa_cache::clear): Rename. + (ssa_cache::dump): Rename and use get_range. + (ranger_cache::get_global_range): Use get_range and set_range. + (ranger_cache::range_of_def): Use get_range. + * gimple-range-cache.h (class ssa_cache): Rename class and methods. + (class ranger_cache): Use ssa_cache. + * gimple-range-path.cc (path_range_query::path_range_query): Use + ssa_cache. + (path_range_query::get_cache): Use get_range. + (path_range_query::set_cache): Use set_range. + * gimple-range-path.h (class path_range_query): Use ssa_cache. + * gimple-range.cc (assume_query::assume_range_p): Use get_range. + (assume_query::range_of_expr): Use get_range. + (assume_query::assume_query): Use set_range. + (assume_query::calculate_op): Use get_range and set_range. + * gimple-range.h (class assume_query): Use ssa_cache. + +2023-04-26 Andrew MacLeod + + * gimple-range-cache.cc (sbr_vector::sbr_vector): Add parameter + and local to optionally zero memory. + (br_vector::grow): Only zero memory if flag is set. + (class sbr_lazy_vector): New. + (sbr_lazy_vector::sbr_lazy_vector): New. + (sbr_lazy_vector::set_bb_range): New. + (sbr_lazy_vector::get_bb_range): New. + (sbr_lazy_vector::bb_range_p): New. + (block_range_cache::set_bb_range): Check flags and Use sbr_lazy_vector. + * gimple-range-gori.cc (gori_map::calculate_gori): Use + param_vrp_switch_limit. + (gori_compute::gori_compute): Use param_vrp_switch_limit. + * params.opt (vrp_sparse_threshold): Rename from evrp_sparse_threshold. + (vrp_switch_limit): Rename from evrp_switch_limit. + (vrp_vector_threshold): New. + +2023-04-26 Andrew MacLeod + + * value-relation.cc (dom_oracle::query_relation): Check early for lack + of any relation. + * value-relation.h (equiv_oracle::has_equiv_p): New. + +2023-04-26 Andrew MacLeod + + PR tree-optimization/109417 + * gimple-range-gori.cc (range_def_chain::register_dependency): + Save the ssa version number, not the pointer. + (gori_compute::may_recompute_p): No need to check if a dependency + is in the free list. + * gimple-range-gori.h (class range_def_chain): Change ssa1 and ssa2 + fields to be unsigned int instead of trees. + (ange_def_chain::depend1): Adjust. + (ange_def_chain::depend2): Adjust. + * gimple-range.h: Include "ssa.h" to inline ssa_name(). + +2023-04-26 David Edelsohn + + * config/rs6000/aix72.h (TARGET_DEFAULT): Use ISA_2_6_MASKS_SERVER. + * config/rs6000/aix73.h (TARGET_DEFAULT): Use ISA_2_7_MASKS_SERVER. + (PROCESSOR_DEFAULT): Use PROCESSOR_POWER8. + +2023-04-26 Patrick O'Neill + + PR target/104338 + * config/riscv/riscv-protos.h: Add helper function stubs. + * config/riscv/riscv.cc: Add helper functions for subword masking. + * config/riscv/riscv.opt: Add command-line flags -minline-atomics and + -mno-inline-atomics. + * config/riscv/sync.md: Add masking logic and inline asm for fetch_and_op, + fetch_and_nand, CAS, and exchange ops. + * doc/invoke.texi: Add blurb regarding new command-line flags + -minline-atomics and -mno-inline-atomics. + +2023-04-26 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_rshrn2_insn_le): + Reimplement using standard RTL codes instead of unspec. + (aarch64_rshrn2_insn_be): Likewise. + (aarch64_rshrn2): Adjust for the above. + * config/aarch64/aarch64.md (UNSPEC_RSHRN): Delete. + +2023-04-26 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_rshrn_insn_le): Reimplement + with standard RTL codes instead of an UNSPEC. + (aarch64_rshrn_insn_be): Likewise. + (aarch64_rshrn): Adjust for the above. + * config/aarch64/predicates.md (aarch64_simd_rshrn_imm_vec): Define. + +2023-04-26 Pan Li + Ju-Zhe Zhong + + * config/riscv/riscv.cc (riscv_classify_address): Allow + const0_rtx for the RVV load/store. + +2023-04-26 Aldy Hernandez + + * range-op.cc (range_op_cast_tests): Remove legacy support. + * value-range-storage.h (vrange_allocator::alloc_irange): Same. + * value-range.cc (irange::operator=): Same. + (get_legacy_range): Same. + (irange::copy_legacy_to_multi_range): Delete. + (irange::copy_to_legacy): Delete. + (irange::irange_set_anti_range): Delete. + (irange::set): Remove legacy support. + (irange::verify_range): Same. + (irange::legacy_lower_bound): Delete. + (irange::legacy_upper_bound): Delete. + (irange::legacy_equal_p): Delete. + (irange::operator==): Remove legacy support. + (irange::singleton_p): Same. + (irange::value_inside_range): Same. + (irange::contains_p): Same. + (intersect_ranges): Delete. + (irange::legacy_intersect): Delete. + (union_ranges): Delete. + (irange::legacy_union): Delete. + (irange::legacy_verbose_union_): Delete. + (irange::legacy_verbose_intersect): Delete. + (irange::irange_union): Remove legacy support. + (irange::irange_intersect): Same. + (irange::intersect): Same. + (irange::invert): Same. + (ranges_from_anti_range): Delete. + (gt_pch_nx): Adjust for legacy removal. + (gt_ggc_mx): Same. + (range_tests_legacy): Delete. + (range_tests_misc): Adjust for legacy removal. + (range_tests): Same. + * value-range.h (class irange): Same. + (irange::legacy_mode_p): Delete. + (ranges_from_anti_range): Delete. + (irange::nonzero_p): Adjust for legacy removal. + (irange::lower_bound): Same. + (irange::upper_bound): Same. + (irange::union_): Same. + (irange::intersect): Same. + (irange::set_nonzero): Same. + (irange::set_zero): Same. + * vr-values.cc (simplify_using_ranges::legacy_fold_cond_overflow): Same. + +2023-04-26 Aldy Hernandez + + * value-range.cc (irange::copy_legacy_to_multi_range): Rewrite use + of range_has_numeric_bounds_p with irange API. + (range_has_numeric_bounds_p): Delete. + * value-range.h (range_has_numeric_bounds_p): Delete. + +2023-04-26 Aldy Hernandez + + * tree-data-ref.cc (compute_distributive_range): Replace uses of + range_int_cst_p with irange API. + * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. + * tree-vrp.h (range_int_cst_p): Delete. + * vr-values.cc (check_for_binary_op_overflow): Replace usees of + range_int_cst_p with irange API. + (vr_set_zero_nonzero_bits): Same. + (range_fits_type_p): Same. + (simplify_using_ranges::simplify_casted_cond): Same. + * tree-vrp.cc (range_int_cst_p): Remove. + +2023-04-26 Aldy Hernandez + + * tree-ssa-strlen.cc (compare_nonzero_chars): Convert to wide_ints. + +2023-04-26 Aldy Hernandez + + * builtins.cc (expand_builtin_strnlen): Rewrite deprecated irange + API uses to new API. + * gimple-predicate-analysis.cc (find_var_cmp_const): Same. + * internal-fn.cc (get_min_precision): Same. + * match.pd: Same. + * tree-affine.cc (expr_to_aff_combination): Same. + * tree-data-ref.cc (dr_step_indicator): Same. + * tree-dfa.cc (get_ref_base_and_extent): Same. + * tree-scalar-evolution.cc (iv_can_overflow_p): Same. + * tree-ssa-phiopt.cc (two_value_replacement): Same. + * tree-ssa-pre.cc (insert_into_preds_of_block): Same. + * tree-ssa-reassoc.cc (optimize_range_tests_to_bit_test): Same. + * tree-ssa-strlen.cc (compare_nonzero_chars): Same. + * tree-switch-conversion.cc (bit_test_cluster::emit): Same. + * tree-vect-patterns.cc (vect_recog_divmod_pattern): Same. + * tree.cc (get_range_pos_neg): Same. + +2023-04-26 Aldy Hernandez + + * ipa-prop.cc (ipa_print_node_jump_functions_for_edge): Use + vrange::dump instead of ad-hoc dumper. + * tree-ssa-strlen.cc (dump_strlen_info): Same. + * value-range-pretty-print.cc (visit): Pass TDF_NOUID to + dump_generic_node. + +2023-04-26 Aldy Hernandez + + * range-op.cc (operator_cast::op1_range): Use + create_possibly_reversed_range. + (operator_bitwise_and::simple_op1_range_solver): Same. + * value-range.cc (swap_out_of_order_endpoints): Delete. + (irange::set): Remove call to swap_out_of_order_endpoints. + +2023-04-26 Aldy Hernandez + + * builtins.cc (determine_block_size): Convert use of legacy API to + get_legacy_range. + * gimple-array-bounds.cc (check_out_of_bounds_and_warn): Same. + (array_bounds_checker::check_array_ref): Same. + * gimple-ssa-warn-restrict.cc + (builtin_memref::extend_offset_range): Same. + * ipa-cp.cc (ipcp_store_vr_results): Same. + * ipa-fnsummary.cc (set_switch_stmt_execution_predicate): Same. + * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same. + (ipa_write_jump_function): Same. + * pointer-query.cc (get_size_range): Same. + * tree-data-ref.cc (split_constant_offset): Same. + * tree-ssa-strlen.cc (get_range): Same. + (maybe_diag_stxncpy_trunc): Same. + (strlen_pass::get_len_or_size): Same. + (strlen_pass::count_nonzero_bytes_addr): Same. + * tree-vect-patterns.cc (vect_get_range_info): Same. + * value-range.cc (irange::maybe_anti_range): Remove. + (get_legacy_range): New. + (irange::copy_to_legacy): Use get_legacy_range. + (ranges_from_anti_range): Same. + * value-range.h (class irange): Remove maybe_anti_range. + (get_legacy_range): New. + * vr-values.cc (check_for_binary_op_overflow): Convert use of + legacy API to get_legacy_range. + (compare_ranges): Same. + (compare_range_with_value): Same. + (bounds_of_var_in_loop): Same. + (find_case_label_ranges): Same. + (simplify_using_ranges::simplify_switch_using_ranges): Same. + +2023-04-26 Aldy Hernandez + + * value-range-pretty-print.cc (vrange_printer::visit): Remove + constant_p use. + * value-range.cc (irange::constant_p): Remove. + (irange::get_nonzero_bits_from_range): Remove constant_p use. + * value-range.h (class irange): Remove constant_p. + (irange::num_pairs): Remove constant_p use. + +2023-04-26 Aldy Hernandez + + * value-range.cc (irange::copy_legacy_to_multi_range): Remove + symbolics support. + (irange::set): Same. + (irange::legacy_lower_bound): Same. + (irange::legacy_upper_bound): Same. + (irange::contains_p): Same. + (range_tests_legacy): Same. + (irange::normalize_addresses): Remove. + (irange::normalize_symbolics): Remove. + (irange::symbolic_p): Remove. + * value-range.h (class irange): Remove symbolic_p, + normalize_symbolics, and normalize_addresses. + * vr-values.cc (simplify_using_ranges::two_valued_val_range_p): + Remove symbolics support. + +2023-04-26 Aldy Hernandez + + * value-range.cc (irange::may_contain_p): Remove. + * value-range.h (range_includes_zero_p): Rewrite may_contain_p + usage with contains_p. + * vr-values.cc (compare_range_with_value): Same. + +2023-04-26 Aldy Hernandez + + * tree-vrp.cc (supported_types_p): Remove. + (defined_ranges_p): Remove. + (range_fold_binary_expr): Remove. + (range_fold_unary_expr): Remove. + * tree-vrp.h (range_fold_unary_expr): Remove. + (range_fold_binary_expr): Remove. + +2023-04-26 Aldy Hernandez + + * ipa-cp.cc (ipa_vr_operation_and_type_effects): Convert to ranger API. + (ipa_value_range_from_jfunc): Same. + (propagate_vr_across_jump_function): Same. + * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Same. + * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Same. + * vr-values.cc (bounds_of_var_in_loop): Same. + +2023-04-26 Aldy Hernandez + + * gimple-array-bounds.cc (array_bounds_checker::get_value_range): + Add irange argument. + (check_out_of_bounds_and_warn): Remove check for vr. + (array_bounds_checker::check_array_ref): Remove pointer qualifier + for vr and adjust accordingly. + * gimple-array-bounds.h (get_value_range): Add irange argument. + * value-query.cc (class equiv_allocator): Delete. + (range_query::get_value_range): Delete. + (range_query::range_query): Remove allocator access. + (range_query::~range_query): Same. + * value-query.h (get_value_range): Delete. + * vr-values.cc + (simplify_using_ranges::op_with_boolean_value_range_p): Remove + call to get_value_range. + (check_for_binary_op_overflow): Same. + (simplify_using_ranges::legacy_fold_cond_overflow): Same. + (simplify_using_ranges::simplify_abs_using_ranges): Same. + (simplify_using_ranges::simplify_cond_using_ranges_1): Same. + (simplify_using_ranges::simplify_casted_cond): Same. + (simplify_using_ranges::simplify_switch_using_ranges): Same. + (simplify_using_ranges::two_valued_val_range_p): Same. + +2023-04-26 Aldy Hernandez + + * vr-values.cc + (simplify_using_ranges::vrp_evaluate_conditional_warnv_with_ops): + Rename to... + (simplify_using_ranges::legacy_fold_cond_overflow): ...this. + (simplify_using_ranges::vrp_visit_cond_stmt): Rename to... + (simplify_using_ranges::legacy_fold_cond): ...this. + (simplify_using_ranges::fold_cond): Rename + vrp_evaluate_conditional_warnv_with_ops to + legacy_fold_cond_overflow. + * vr-values.h (class vr_values): Replace vrp_visit_cond_stmt and + vrp_evaluate_conditional_warnv_with_ops with legacy_fold_cond and + legacy_fold_cond_overflow respectively. + +2023-04-26 Aldy Hernandez + + * vr-values.cc (get_vr_for_comparison): Remove. + (compare_name_with_value): Same. + (vrp_evaluate_conditional_warnv_with_ops): Remove calls to + compare_name_with_value. + * vr-values.h: Remove compare_name_with_value. + Remove get_vr_for_comparison. + +2023-04-26 Roger Sayle + + * config/stormy16/stormy16.md (bswaphi2): New define_insn. + (bswapsi2): New define_insn. + (swaphi): New define_insn to exchange two registers (swpw). + (define_peephole2): Recognize exchange of registers as swaphi. + +2023-04-26 Richard Biener + + * gimple-range-path.cc (path_range_query::compute_outgoing_relations): + Avoid last_stmt. + * ipa-pure-const.cc (pass_nothrow::execute): Likewise. + * predict.cc (apply_return_prediction): Likewise. + * sese.cc (set_ifsese_condition): Likewise. Simplify. + * tree-cfg.cc (assert_unreachable_fallthru_edge_p): Avoid last_stmt. + (make_edges_bb): Likewise. + (make_cond_expr_edges): Likewise. + (end_recording_case_labels): Likewise. + (make_gimple_asm_edges): Likewise. + (cleanup_dead_labels): Likewise. + (group_case_labels): Likewise. + (gimple_can_merge_blocks_p): Likewise. + (gimple_merge_blocks): Likewise. + (find_taken_edge): Likewise. Also handle empty fallthru blocks. + (gimple_duplicate_sese_tail): Avoid last_stmt. + (find_loop_dist_alias): Likewise. + (gimple_block_ends_with_condjump_p): Likewise. + (gimple_purge_dead_eh_edges): Likewise. + (gimple_purge_dead_abnormal_call_edges): Likewise. + (pass_warn_function_return::execute): Likewise. + (execute_fixup_cfg): Likewise. + * tree-eh.cc (redirect_eh_edge_1): Likewise. + (pass_lower_resx::execute): Likewise. + (pass_lower_eh_dispatch::execute): Likewise. + (cleanup_empty_eh): Likewise. + * tree-if-conv.cc (if_convertible_bb_p): Likewise. + (predicate_bbs): Likewise. + (ifcvt_split_critical_edges): Likewise. + * tree-loop-distribution.cc (create_edge_for_control_dependence): + Likewise. + (loop_distribution::transform_reduction_loop): Likewise. + * tree-parloops.cc (transform_to_exit_first_loop_alt): Likewise. + (try_transform_to_exit_first_loop_alt): Likewise. + (transform_to_exit_first_loop): Likewise. + (create_parallel_loop): Likewise. + * tree-scalar-evolution.cc (get_loop_exit_condition): Likewise. + * tree-ssa-dce.cc (mark_last_stmt_necessary): Likewise. + (eliminate_unnecessary_stmts): Likewise. + * tree-ssa-dom.cc + (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): + Likewise. + * tree-ssa-ifcombine.cc (ifcombine_ifandif): Likewise. + (pass_tree_ifcombine::execute): Likewise. + * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Likewise. + (should_duplicate_loop_header_p): Likewise. + * tree-ssa-loop-ivcanon.cc (create_canonical_iv): Likewise. + (tree_estimate_loop_size): Likewise. + (try_unroll_loop_completely): Likewise. + * tree-ssa-loop-ivopts.cc (tree_ssa_iv_optimize_loop): Likewise. + * tree-ssa-loop-manip.cc (ip_normal_pos): Likewise. + (canonicalize_loop_ivs): Likewise. + * tree-ssa-loop-niter.cc (determine_value_range): Likewise. + (bound_difference): Likewise. + (number_of_iterations_popcount): Likewise. + (number_of_iterations_cltz): Likewise. + (number_of_iterations_cltz_complement): Likewise. + (simplify_using_initial_conditions): Likewise. + (number_of_iterations_exit_assumptions): Likewise. + (loop_niter_by_eval): Likewise. + (estimate_numbers_of_iterations): Likewise. + +2023-04-26 Ju-Zhe Zhong + + * config/riscv/vector.md: Refine vmadc/vmsbc RA constraint. + +2023-04-26 Kewen Lin + + PR target/108758 + * config/rs6000/rs6000-builtins.def + (__builtin_vsx_scalar_cmp_exp_qp_eq, __builtin_vsx_scalar_cmp_exp_qp_gt + __builtin_vsx_scalar_cmp_exp_qp_lt, + __builtin_vsx_scalar_cmp_exp_qp_unordered): Move from stanza ieee128-hw + to power9-vector. + +2023-04-26 Kewen Lin + + PR target/109069 + * config/rs6000/altivec.md (sldoi_to_mov): Replace predicate + easy_vector_constant with const_vector_each_byte_same, add + handlings in preparation for !easy_vector_constant, and update + VECTOR_UNIT_ALTIVEC_OR_VSX_P with VECTOR_MEM_ALTIVEC_OR_VSX_P. + * config/rs6000/predicates.md (const_vector_each_byte_same): New + predicate. + +2023-04-26 Juzhe-Zhong + + * config/riscv/vector.md (*pred_cmp_merge_tie_mask): New pattern. + (*pred_ltge_merge_tie_mask): Ditto. + (*pred_cmp_scalar_merge_tie_mask): Ditto. + (*pred_eqne_scalar_merge_tie_mask): Ditto. + (*pred_cmp_extended_scalar_merge_tie_mask): Ditto. + (*pred_eqne_extended_scalar_merge_tie_mask): Ditto. + (*pred_cmp_narrow_merge_tie_mask): Ditto. + +2023-04-26 Ju-Zhe Zhong + + * config/riscv/vector.md: Fix redundant vmv1r.v. + +2023-04-26 Ju-Zhe Zhong + + * config/riscv/vector.md: Fix RA constraint. + +2023-04-26 Pan Li + + PR target/109272 + * tree-ssa-sccvn.cc (vn_reference_eq): add type vector subparts + check for vn_reference equal. + +2023-04-26 Ju-Zhe Zhong + + * config/riscv/riscv-opts.h (enum riscv_autovec_preference_enum): Add enum for + auto-vectorization preference. + (enum riscv_autovec_lmul_enum): Add enum for choosing LMUL of RVV + auto-vectorization. + * config/riscv/riscv.opt: Add compile option for RVV auto-vectorization. + +2023-04-26 Jivan Hakobyan + + * config/riscv/bitmanip.md: Updated predicates of bclri_nottwobits + and bclridisi_nottwobits patterns. + * config/riscv/predicates.md: (not_uimm_extra_bit_or_nottwobits): Adjust + predicate to avoid splitting arith constants. + (const_nottwobits_not_arith_operand): New predicate. + +2023-04-25 Hans-Peter Nilsson + + * recog.cc (peep2_attempt, peep2_update_life): Correct + head-comment description of parameter match_len. + +2023-04-25 Vineet Gupta + + * config/riscv/riscv.md: riscv_move_integer() drop in_splitter arg. + riscv_split_symbol() drop in_splitter arg. + * config/riscv/riscv.cc: riscv_move_integer() drop in_splitter arg. + riscv_split_symbol() drop in_splitter arg. + riscv_force_temporary() drop in_splitter arg. + * config/riscv/riscv-protos.h: riscv_move_integer() drop in_splitter arg. + riscv_split_symbol() drop in_splitter arg. + +2023-04-25 Eric Botcazou + + * tree-ssa.cc (insert_debug_temp_for_var_def): Do not create + superfluous debug temporaries for single GIMPLE assignments. + +2023-04-25 Richard Biener + + PR tree-optimization/109609 + * attr-fnspec.h (arg_max_access_size_given_by_arg_p): + Clarify semantics. + * tree-ssa-alias.cc (check_fnspec): Correctly interpret + the size given by arg_max_access_size_given_by_arg_p as + maximum, not exact, size. + +2023-04-25 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (orn3): Rename to... + (orn3): ... This. + (bic3): Rename to... + (bic3): ... This. + (3): Rename to... + (3): ... This. + +2023-04-25 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (div3): New define_expand. + * config/aarch64/iterators.md (VQDIV): New mode iterator. + (vnx2di): New mode attribute. + +2023-04-25 Richard Biener + + PR rtl-optimization/109585 + * tree-ssa-alias.cc (aliasing_component_refs_p): Fix typo. + +2023-04-25 Jakub Jelinek + + PR target/109566 + * config/rs6000/rs6000.cc (rs6000_is_valid_rotate_dot_mask): For + !TARGET_64BIT, don't return true if UINTVAL (mask) << (63 - nb) + is larger than signed int maximum. + +2023-04-25 Martin Liska + + * doc/gcov.texi: Document the new "calls" field and document + the API bump. Mention also "block_ids" for lines. + * gcov.cc (output_intermediate_json_line): Output info about + calls and extend branches as well. + (generate_results): Bump version to 2. + (output_line_details): Use block ID instead of a non-sensual + index. + +2023-04-25 Roger Sayle + + * config/stormy16/stormy16.md (zero_extendqihi2): Restore/fix + length attribute for the first (memory operand) alternative. + +2023-04-25 Victor Do Nascimento + + * config/aarch64/aarch64-simd.md(aarch64_simd_stp): New. + * config/aarch64/constraints.md: Make "Umn" relaxed memory + constraint. + * config/aarch64/iterators.md(ldpstp_vel_sz): New. + +2023-04-25 Aldy Hernandez + + * value-range.cc (frange::set): Adjust constructor. + * value-range.h (nan_state::nan_state): Replace default + constructor with one taking an argument. + +2023-04-25 Aldy Hernandez + + * ipa-cp.cc (ipa_range_contains_p): New. + (decide_whether_version_node): Use it. + +2023-04-24 Prathamesh Kulkarni + + * tree-ssa-forwprop.cc (is_combined_permutation_identity): Try to + simplify two successive VEC_PERM_EXPRs with same VLA mask, + where mask chooses elements in reverse order. + +2023-04-24 Andrew Pinski + + * tree-ssa-phiopt.cc (match_simplify_replacement): Add new arguments + and support diamond shaped basic block form. + (tree_ssa_phiopt_worker): Update call to match_simplify_replacement + +2023-04-24 Andrew Pinski + + * tree-ssa-phiopt.cc (empty_bb_or_one_feeding_into_p): + Instead of calling last_and_only_stmt, look for the last statement + manually. + +2023-04-24 Andrew Pinski + + * tree-ssa-phiopt.cc (empty_bb_or_one_feeding_into_p): + New function. + (match_simplify_replacement): Call + empty_bb_or_one_feeding_into_p instead of doing it inline. + +2023-04-24 Andrew Pinski + + PR tree-optimization/68894 + * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Remove the + continue for the do_hoist_loads diamond case. + +2023-04-24 Andrew Pinski + + * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Rearrange + code for better code readability. + +2023-04-24 Andrew Pinski + + PR tree-optimization/109604 + * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Move the + diamond form check from ... + (minmax_replacement): Here. + +2023-04-24 Patrick Palka + + * tree.cc (strip_array_types): Don't define here. + (is_typedef_decl): Don't define here. + (typedef_variant_p): Don't define here. + * tree.h (strip_array_types): Define here. + (is_typedef_decl): Define here. + (typedef_variant_p): Define here. + +2023-04-24 Frederik Harwath + + * doc/generic.texi (OpenMP): Add != to allowed + conditions and state that vars can be unsigned. + * tree.def (OMP_FOR): Likewise. + +2023-04-24 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (mulv2di3): New expander. + +2023-04-24 Rainer Orth + + * doc/install.texi: Consistently use Solaris rather than Solaris 2. + Remove explicit Solaris 11 references. + Markup fixes. + (Options specification, --with-gnu-as): as and gas always differ + on Solaris. + Remove /usr/ccs/bin reference. + (Installing GCC: Binaries, Solaris (SPARC, Intel)): Remove. + (i?86-*-solaris2*): Merge assembler, linker recommendations ... + (*-*-solaris2*): ... here. + Update bundled GCC versions. + Don't refer to pre-built binaries. + Remove /bin/sh warning. + Update assembler, linker recommendations. + Document GNAT bootstrap compiler. + (sparc-sun-solaris2*): Remove non-UltraSPARC reference. + (sparc64-*-solaris2*): Move content... + (sparcv9-*-solaris2*): ...here. + Add GDC for 64-bit bootstrap compilers. + +2023-04-24 Kyrylo Tkachov + + PR target/109406 + * config/aarch64/aarch64-sve.md (3): Handle TARGET_SVE2 MUL + case. + * config/aarch64/aarch64-sve2.md (*aarch64_mul_unpredicated_): New + pattern. + +2023-04-24 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_abal2): Rename to... + (aarch64_abal2_insn): ... This. Use RTL codes instead of unspec. + (aarch64_abal2): New define_expand. + * config/aarch64/aarch64.cc (aarch64_abd_rtx_p): New function. + (aarch64_rtx_costs): Handle ABD rtxes. + * config/aarch64/aarch64.md (UNSPEC_SABAL2, UNSPEC_UABAL2): Delete. + * config/aarch64/iterators.md (ABAL2): Delete. + (sur): Remove handling of UNSPEC_UABAL2 and UNSPEC_SABAL2. + +2023-04-24 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_abal): Rename to... + (aarch64_abal): ... This. Use RTL codes instead of unspec. + (sadv16qi): Rename to... + (sadv16qi): ... This. Adjust for the above. + * config/aarch64/aarch64-sve.md (sad): Rename to... + (sad): ... This. Adjust for the above. + * config/aarch64/aarch64.md (UNSPEC_SABAL, UNSPEC_UABAL): Delete. + * config/aarch64/iterators.md (ABAL): Delete. + (sur): Remove handling of UNSPEC_SABAL and UNSPEC_UABAL. + +2023-04-24 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_abdl2): Rename to... + (aarch64_abdl2_insn): ... This. Use RTL codes instead of unspec. + (aarch64_abdl2): New define_expand. + * config/aarch64/aarch64.md (UNSPEC_SABDL2, UNSPEC_UABDL2): Delete. + * config/aarch64/iterators.md (ABDL2): Delete. + (sur): Remove handling of UNSPEC_SABDL2 and UNSPEC_UABDL2. + +2023-04-24 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_abdl): Rename to... + (aarch64_abdl): ... This. Use standard RTL ops instead of + unspec. + * config/aarch64/aarch64.md (UNSPEC_SABDL, UNSPEC_UABDL): Delete. + * config/aarch64/iterators.md (ABDL): Delete. + (sur): Remove handling of UNSPEC_SABDL and UNSPEC_UABDL. + +2023-04-24 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md + (*aarch64_addlv_ze): New pattern. + +2023-04-24 Richard Biener + + * gimple-ssa-split-paths.cc (is_feasible_trace): Avoid + last_stmt. + * graphite-scop-detection.cc (single_pred_cond_non_loop_exit): + Likewise. + * ipa-fnsummary.cc (set_cond_stmt_execution_predicate): Likewise. + (set_switch_stmt_execution_predicate): Likewise. + (phi_result_unknown_predicate): Likewise. + * ipa-prop.cc (compute_complex_ancestor_jump_func): Likewise. + (ipa_analyze_indirect_call_uses): Likewise. + * predict.cc (predict_iv_comparison): Likewise. + (predict_extra_loop_exits): Likewise. + (predict_loops): Likewise. + (tree_predict_by_opcode): Likewise. + * gimple-predicate-analysis.cc (predicate::init_from_control_deps): + Likewise. + * gimple-pretty-print.cc (dump_implicit_edges): Likewise. + * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Likewise. + (replace_phi_edge_with_variable): Likewise. + (two_value_replacement): Likewise. + (value_replacement): Likewise. + (minmax_replacement): Likewise. + (spaceship_replacement): Likewise. + (cond_removal_in_builtin_zero_pattern): Likewise. + * tree-ssa-reassoc.cc (maybe_optimize_range_tests): Likewise. + * tree-ssa-sccvn.cc (vn_phi_eq): Likewise. + (vn_phi_lookup): Likewise. + (vn_phi_insert): Likewise. + * tree-ssa-structalias.cc (compute_points_to_sets): Likewise. + * tree-ssa-threadbackward.cc (back_threader::maybe_thread_block): + Likewise. + (back_threader_profitability::possibly_profitable_path_p): + Likewise. + * tree-ssa-threadedge.cc (jump_threader::thread_outgoing_edges): + Likewise. + * tree-switch-conversion.cc (pass_convert_switch::execute): + Likewise. + (pass_lower_switch::execute): Likewise. + * tree-tailcall.cc (tree_optimize_tail_calls_1): Likewise. + * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise. + * tree-vect-slp.cc (vect_slp_function): Likewise. + * tree-vect-stmts.cc (cfun_returns): Likewise. + * tree-vectorizer.cc (vect_loop_vectorized_call): Likewise. + (vect_loop_dist_alias_call): Likewise. + +2023-04-24 Richard Biener + + * cfgcleanup.cc (outgoing_edges_match): Use FORWARDER_BLOCK_P. + +2023-04-24 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc + (vector_infos_manager::all_avail_in_compatible_p): New function. + (pass_vsetvl::refine_vsetvls): Optimize vsetvls. + * config/riscv/riscv-vsetvl.h: New function. + +2023-04-24 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::pre_vsetvl): Add function + comment for cleanup_insns. + +2023-04-24 Juzhe-Zhong + + * config/riscv/vector-iterators.md: New unspec to refine fault first load pattern. + * config/riscv/vector.md: Refine fault first load pattern to erase avl from instructions + with the fault first load property. + +2023-04-23 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_): Rename to... + (aarch64_float_truncate_lo_): ... This. + +2023-04-23 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (aarch64_addp): Rename to... + (aarch64_addp): ... This. + +2023-04-23 Roger Sayle + + * config/stormy16/stormy16.cc (xstormy16_rtx_costs): Rewrite to + provide reasonable values for common arithmetic operations and + immediate operands (in several machine modes). + +2023-04-23 Roger Sayle + + * config/stormy16/stormy16.cc (xstormy16_print_operand): Add %h + format specifier to output high_part register name of SImode reg. + * config/stormy16/stormy16.md (extendhisi2): New define_insn. + (zero_extendqihi2): Fix lengths, consistent formatting and add + "and Rx,#255" alternative, for documentation purposes. + (zero_extendhisi2): New define_insn. + +2023-04-23 Roger Sayle + + * config/stormy16/stormy16.cc (xstormy16_output_shift): Implement + SImode shifts by two by performing a single bit SImode shift twice. + +2023-04-23 Aldy Hernandez + + PR tree-optimization/109593 + * value-range.cc (frange::operator==): Handle NANs. + +2023-04-23 liuhongt + + PR rtl-optimization/108707 + * ira-costs.cc (scan_one_insn): Use NO_REGS instead of + GENERAL_REGS when preferred reg_class is not known. + +2023-04-22 Andrew Pinski + + * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): + Change the code around slightly to move diamond + handling for do_store_elim/do_hoist_loads out of + the big if/else. + +2023-04-22 Andrew Pinski + + * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): + Remove check on empty_block_p. + +2023-04-22 Jakub Jelinek + + PR bootstrap/109589 + * system.h (class auto_mpz): Workaround PR62101 bug in GCC 4.8 and 4.9. + * realmpfr.h (class auto_mpfr): Likewise. + +2023-04-22 Jakub Jelinek + + PR tree-optimization/109583 + * match.pd (fneg/fadd simplify): Don't call related_vector_mode + if vec_mode is not VECTOR_MODE_P. + +2023-04-22 Jan Hubicka + Ondrej Kubanek + + * cfgloopmanip.h (adjust_loop_info_after_peeling): Declare. + * tree-ssa-loop-ch.cc (ch_base::copy_headers): Fix updating of + loop profile and bounds after header duplication. + * tree-ssa-loop-ivcanon.cc (adjust_loop_info_after_peeling): + Break out from try_peel_loop; fix handling of 0 iterations. + (try_peel_loop): Use adjust_loop_info_after_peeling. + +2023-04-21 Andrew MacLeod + + PR tree-optimization/109546 + * tree-vrp.cc (remove_unreachable::remove_and_update_globals): Do + not fold conditions with ADDR_EXPR early. + +2023-04-21 Kyrylo Tkachov + + * config/aarch64/aarch64.md (aarch64_umax3_insn): Delete. + (umax3): Emit raw UMAX RTL instead of going through gen_ function + for umax. + (3): New define_expand for MAXMIN_NOUMAX codes. + (*aarch64_3_zero): Define. + (*aarch64_3_cssc): Likewise. + * config/aarch64/iterators.md (maxminand): New code attribute. + +2023-04-21 Kyrylo Tkachov + + PR target/108779 + * config/aarch64/aarch64-opts.h (enum aarch64_tp_reg): Define. + * config/aarch64/aarch64-protos.h (aarch64_output_load_tp): + Define prototype. + * config/aarch64/aarch64.cc (aarch64_tpidr_register): Declare. + (aarch64_override_options_internal): Handle the above. + (aarch64_output_load_tp): New function. + * config/aarch64/aarch64.md (aarch64_load_tp_hard): Call + aarch64_output_load_tp. + * config/aarch64/aarch64.opt (aarch64_tp_reg): Define enum. + (mtp=): New option. + * doc/invoke.texi (AArch64 Options): Document -mtp=. + +2023-04-21 Kyrylo Tkachov + + PR target/99195 + * config/aarch64/aarch64-simd.md (add_vec_concat_subst_le): Define. + (add_vec_concat_subst_be): Likewise. + (vczle): Likewise. + (vczbe): Likewise. + (add3): Rename to... + (add3): ... This. + (sub3): Rename to... + (sub3): ... This. + (mul3): Rename to... + (mul3): ... This. + (and3): Rename to... + (and3): ... This. + (ior3): Rename to... + (ior3): ... This. + (xor3): Rename to... + (xor3): ... This. + * config/aarch64/iterators.md (VDZ): Define. + +2023-04-21 Patrick Palka + + * tree.cc (walk_tree_1): Avoid repeatedly dereferencing tp + and type_p. + +2023-04-21 Jan Hubicka + + * tree-ssa-loop-ch.cc (ch_base::copy_headers): Fix previous + commit. + +2023-04-21 Vineet Gupta + + * expmed.h (x_shift*_cost): convert to int [speed][mode][shift]. + (shift*_cost_ptr ()): Access x_shift*_cost array directly. + +2023-04-21 Prathamesh Kulkarni + + * config/aarch64/aarch64.cc (aarch64_simd_dup_constant): Use + force_reg instead of copy_to_mode_reg. + (aarch64_expand_vector_init): Likewise. + +2023-04-21 Uroš Bizjak + + * config/i386/i386.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Remove. + (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P): Ditto. + (REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P): Ditto. + (FIRST_INDEX_REG, LAST_INDEX_REG): New defines. + (LEGACY_INDEX_REG_P, LEGACY_INDEX_REGNO_P): New macros. + (INDEX_REG_P, INDEX_REGNO_P): Ditto. + (REGNO_OK_FOR_INDEX_P): Use INDEX_REGNO_P predicates. + (REGNO_OK_FOR_INDEX_NONSTRICT_P): New macro. + (EG_OK_FOR_BASE_NONSTRICT_P): Ditto. + * config/i386/predicates.md (index_register_operand): + Use REGNO_OK_FOR_INDEX_P and REGNO_OK_FOR_INDEX_NONSTRICT_P macros. + * config/i386/i386.cc (ix86_legitimate_address_p): Use + REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_BASE_NONSTRICT_P, + REGNO_OK_FOR_INDEX_P and REGNO_OK_FOR_INDEX_NONSTRICT_P macros. + +2023-04-21 Jan Hubicka + Ondrej Kubanek + + * tree-ssa-loop-ch.cc (ch_base::copy_headers): Update loop header and + latch. + +2023-04-21 Richard Biener + + * is-a.h (safe_is_a): New. + +2023-04-21 Richard Biener + + * gimple-iterator.h (gimple_stmt_iterator::operator*): Add. + (gphi_iterator::operator*): Likewise. + +2023-04-21 Jan Hubicka + Michal Jires + + * ipa-inline.cc (class inline_badness): New class. + (edge_heap_t, edge_heap_node_t): Use inline_badness for badness instead + of sreal. + (update_edge_key): Update. + (lookup_recursive_calls): Likewise. + (recursive_inlining): Likewise. + (add_new_edges_to_heap): Likewise. + (inline_small_functions): Likewise. + +2023-04-21 Jan Hubicka + + * ipa-devirt.cc (odr_types_equivalent_p): Cleanup warned checks. + +2023-04-21 Richard Biener + + PR tree-optimization/109573 + * tree-vect-loop.cc (vectorizable_live_operation): Allow + unhandled SSA copy as well. Demote assert to checking only. + +2023-04-21 Richard Biener + + * df-core.cc (df_analyze): Compute RPO on the reverse graph + for DF_BACKWARD problems. + (loop_post_order_compute): Rename to ... + (loop_rev_post_order_compute): ... this, compute a RPO. + (loop_inverted_post_order_compute): Rename to ... + (loop_inverted_rev_post_order_compute): ... this, compute a RPO. + (df_analyze_loop): Use RPO on the forward graph for DF_FORWARD + problems, RPO on the inverted graph for DF_BACKWARD. + +2023-04-21 Richard Biener + + * cfganal.h (inverted_rev_post_order_compute): Rename + from ... + (inverted_post_order_compute): ... this. Add struct function + argument, change allocation to a C array. + * cfganal.cc (inverted_rev_post_order_compute): Likewise. + * lcm.cc (compute_antinout_edge): Adjust. + * lra-lives.cc (lra_create_live_ranges_1): Likewise. + * tree-ssa-dce.cc (remove_dead_stmt): Likewise. + * tree-ssa-pre.cc (compute_antic): Likewise. + +2023-04-21 Richard Biener + + * df.h (df_d::postorder_inverted): Change back to int *, + clarify comments. + * df-core.cc (rest_of_handle_df_finish): Adjust. + (df_analyze_1): Likewise. + (df_analyze): For DF_FORWARD problems use RPO on the forward + graph. Adjust. + (loop_inverted_post_order_compute): Adjust API. + (df_analyze_loop): Adjust. + (df_get_n_blocks): Likewise. + (df_get_postorder): Likewise. + +2023-04-21 Juzhe-Zhong + + PR target/108270 + * config/riscv/riscv-vsetvl.cc + (vector_infos_manager::all_empty_predecessor_p): New function. + (pass_vsetvl::backward_demand_fusion): Ditto. + * config/riscv/riscv-vsetvl.h: Ditto. + +2023-04-21 Robin Dapp + + PR target/109582 + * config/riscv/generic.md: Change standard names to insn names. + +2023-04-21 Richard Biener + + * lcm.cc (compute_antinout_edge): Use RPO on the inverted graph. + (compute_laterin): Use RPO. + (compute_available): Likewise. + +2023-04-21 Peng Fan + + * config/loongarch/gnu-user.h (MUSL_DYNAMIC_LINKER): Redefine. + +2023-04-21 Juzhe-Zhong + + PR target/109547 + * config/riscv/riscv-vsetvl.cc (local_eliminate_vsetvl_insn): New function. + (vector_insn_info::skip_avl_compatible_p): Ditto. + (vector_insn_info::merge): Remove default value. + (pass_vsetvl::compute_local_backward_infos): Ditto. + (pass_vsetvl::cleanup_insns): Add local vsetvl elimination. + * config/riscv/riscv-vsetvl.h: Ditto. + +2023-04-20 Alejandro Colomar + + * doc/extend.texi (Common Function Attributes): Remove duplicate + word. + +2023-04-20 Andrew MacLeod + + PR tree-optimization/109564 + * gimple-range-fold.cc (fold_using_range::range_of_phi): Do no ignore + UNDEFINED range names when deciding if all PHI arguments are the same, + +2023-04-20 Jakub Jelinek + + PR tree-optimization/109011 + * tree-vect-patterns.cc (vect_recog_ctz_ffs_pattern): Use + .CTZ (X) = .POPCOUNT ((X - 1) & ~X) in preference to + .CTZ (X) = PREC - .POPCOUNT (X | -X). + +2023-04-20 Vladimir N. Makarov + + * lra-constraints.cc (match_reload): Exclude some hard regs for + multi-reg inout reload pseudos used in asm in different mode. + +2023-04-20 Uros Bizjak + + * config/arm/arm.cc (thumb1_legitimate_address_p): + Use VIRTUAL_REGISTER_P predicate. + (arm_eliminable_register): Ditto. + * config/avr/avr.md (push_1): Ditto. + * config/bfin/predicates.md (register_no_elim_operand): Ditto. + * config/h8300/predicates.md (register_no_sp_elim_operand): Ditto. + * config/i386/predicates.md (register_no_elim_operand): Ditto. + * config/iq2000/predicates.md (call_insn_operand): Ditto. + * config/microblaze/microblaze.h (CALL_INSN_OP): Ditto. + +2023-04-20 Uros Bizjak + + PR target/78952 + * config/i386/predicates.md (extract_operator): New predicate. + * config/i386/i386.md (any_extract): Remove code iterator. + (*cmpqi_ext_1_mem_rex64): Use extract_operator predicate. + (*cmpqi_ext_1): Ditto. + (*cmpqi_ext_2): Ditto. + (*cmpqi_ext_3_mem_rex64): Ditto. + (*cmpqi_ext_3): Ditto. + (*cmpqi_ext_4): Ditto. + (*extzvqi_mem_rex64): Ditto. + (*extzvqi): Ditto. + (*insvqi_2): Ditto. + (*extendqi_ext_1): Ditto. + (*addqi_ext_0): Ditto. + (*addqi_ext_1): Ditto. + (*addqi_ext_2): Ditto. + (*subqi_ext_0): Ditto. + (*subqi_ext_2): Ditto. + (*testqi_ext_1): Ditto. + (*testqi_ext_2): Ditto. + (*andqi_ext_0): Ditto. + (*andqi_ext_1): Ditto. + (*andqi_ext_1_cc): Ditto. + (*andqi_ext_2): Ditto. + (*qi_ext_0): Ditto. + (*qi_ext_1): Ditto. + (*qi_ext_2): Ditto. + (*xorqi_ext_1_cc): Ditto. + (*negqi_ext_2): Ditto. + (*ashlqi_ext_2): Ditto. + (*qi_ext_2): Ditto. + +2023-04-20 Raphael Zinsly + + PR target/108248 + * config/riscv/bitmanip.md (clz, ctz, pcnt, min, max patterns): Use + as the type to allow for fine grained control of + scheduling these insns. + * config/riscv/generic.md (generic_alu): Add bitmanip, clz, ctz, pcnt, + min, max. + * config/riscv/riscv.md (type attribute): Add types for clz, ctz, + pcnt, signed and unsigned min/max. + +2023-04-20 Juzhe-Zhong + kito-cheng + + * config/riscv/riscv.h (enum reg_class): Fix RVV register order. + +2023-04-20 Ju-Zhe Zhong + kito-cheng + + PR target/109535 + * config/riscv/riscv-vsetvl.cc (count_regno_occurrences): New function. + (pass_vsetvl::cleanup_insns): Fix bug. + +2023-04-20 Andrew Stubbs + + * config/gcn/gcn-valu.md (vnsi, VnSI): Add scalar modes. + (ldexp3): Delete. + (ldexp3): Change "B" to "A". + +2023-04-20 Jakub Jelinek + Jonathan Wakely + + * tree.h (built_in_function_equal_p): New helper function. + (fndecl_built_in_p): Turn into variadic template to support + 1 or more built_in_function arguments. + * builtins.cc (fold_builtin_expect): Use 3 argument fndecl_built_in_p. + * gimplify.cc (goa_stabilize_expr): Likewise. + * cgraphclones.cc (cgraph_node::create_clone): Likewise. + * ipa-fnsummary.cc (compute_fn_summary): Likewise. + * omp-low.cc (setjmp_or_longjmp_p): Likewise. + * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee, + cgraph_update_edges_for_call_stmt_node, + cgraph_edge::verify_corresponds_to_fndecl, + cgraph_node::verify_node): Likewise. + * tree-stdarg.cc (optimize_va_list_gpr_fpr_size): Likewise. + * gimple-ssa-warn-access.cc (matching_alloc_calls_p): Likewise. + * ipa-prop.cc (try_make_edge_direct_virtual_call): Likewise. + +2023-04-20 Jakub Jelinek + + PR tree-optimization/109011 + * tree-vect-patterns.cc (vect_recog_ctz_ffs_pattern): New function. + (vect_recog_popcount_clz_ctz_ffs_pattern): Move vect_pattern_detected + call later. Don't punt for IFN_CTZ or IFN_FFS if it doesn't have + direct optab support, but has instead IFN_CLZ, IFN_POPCOUNT or + for IFN_FFS IFN_CTZ support, use vect_recog_ctz_ffs_pattern for that + case. + (vect_vect_recog_func_ptrs): Add ctz_ffs entry. + +2023-04-20 Richard Biener + + * df-core.cc (rest_of_handle_df_initialize): Remove + computation of df->postorder, df->postorder_inverted and + df->n_blocks. + +2023-04-20 Haochen Jiang + + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AVX_UNSET): Add OPTION_MASK_ISA2_VAES_UNSET. + (ix86_handle_option): Set AVX flag for VAES. + * config/i386/i386-builtins.cc (ix86_init_mmx_sse_builtins): + Add OPTION_MASK_ISA2_VAES_UNSET. + (def_builtin): Share builtin between AES and VAES. + * config/i386/i386-expand.cc (ix86_check_builtin_isa_match): + Ditto. + * config/i386/i386.md (aes): New isa attribute. + * config/i386/sse.md (aesenc): Add pattern for VAES with xmm. + (aesenclast): Ditto. + (aesdec): Ditto. + (aesdeclast): Ditto. + * config/i386/vaesintrin.h: Remove redundant avx target push. + * config/i386/wmmintrin.h (_mm_aesdec_si128): Change to macro. + (_mm_aesdeclast_si128): Ditto. + (_mm_aesenc_si128): Ditto. + (_mm_aesenclast_si128): Ditto. + +2023-04-20 Hu, Lin1 + + * config/i386/avx2intrin.h + (_MM_REDUCE_OPERATOR_BASIC_EPI16): New macro. + (_MM_REDUCE_OPERATOR_MAX_MIN_EP16): Ditto. + (_MM256_REDUCE_OPERATOR_BASIC_EPI16): Ditto. + (_MM256_REDUCE_OPERATOR_MAX_MIN_EP16): Ditto. + (_MM_REDUCE_OPERATOR_BASIC_EPI8): Ditto. + (_MM_REDUCE_OPERATOR_MAX_MIN_EP8): Ditto. + (_MM256_REDUCE_OPERATOR_BASIC_EPI8): Ditto. + (_MM256_REDUCE_OPERATOR_MAX_MIN_EP8): Ditto. + (_mm_reduce_add_epi16): New instrinsics. + (_mm_reduce_mul_epi16): Ditto. + (_mm_reduce_and_epi16): Ditto. + (_mm_reduce_or_epi16): Ditto. + (_mm_reduce_max_epi16): Ditto. + (_mm_reduce_max_epu16): Ditto. + (_mm_reduce_min_epi16): Ditto. + (_mm_reduce_min_epu16): Ditto. + (_mm256_reduce_add_epi16): Ditto. + (_mm256_reduce_mul_epi16): Ditto. + (_mm256_reduce_and_epi16): Ditto. + (_mm256_reduce_or_epi16): Ditto. + (_mm256_reduce_max_epi16): Ditto. + (_mm256_reduce_max_epu16): Ditto. + (_mm256_reduce_min_epi16): Ditto. + (_mm256_reduce_min_epu16): Ditto. + (_mm_reduce_add_epi8): Ditto. + (_mm_reduce_mul_epi8): Ditto. + (_mm_reduce_and_epi8): Ditto. + (_mm_reduce_or_epi8): Ditto. + (_mm_reduce_max_epi8): Ditto. + (_mm_reduce_max_epu8): Ditto. + (_mm_reduce_min_epi8): Ditto. + (_mm_reduce_min_epu8): Ditto. + (_mm256_reduce_add_epi8): Ditto. + (_mm256_reduce_mul_epi8): Ditto. + (_mm256_reduce_and_epi8): Ditto. + (_mm256_reduce_or_epi8): Ditto. + (_mm256_reduce_max_epi8): Ditto. + (_mm256_reduce_max_epu8): Ditto. + (_mm256_reduce_min_epi8): Ditto. + (_mm256_reduce_min_epu8): Ditto. + * config/i386/avx512vlbwintrin.h: + (_mm_mask_reduce_add_epi16): Ditto. + (_mm_mask_reduce_mul_epi16): Ditto. + (_mm_mask_reduce_and_epi16): Ditto. + (_mm_mask_reduce_or_epi16): Ditto. + (_mm_mask_reduce_max_epi16): Ditto. + (_mm_mask_reduce_max_epu16): Ditto. + (_mm_mask_reduce_min_epi16): Ditto. + (_mm_mask_reduce_min_epu16): Ditto. + (_mm256_mask_reduce_add_epi16): Ditto. + (_mm256_mask_reduce_mul_epi16): Ditto. + (_mm256_mask_reduce_and_epi16): Ditto. + (_mm256_mask_reduce_or_epi16): Ditto. + (_mm256_mask_reduce_max_epi16): Ditto. + (_mm256_mask_reduce_max_epu16): Ditto. + (_mm256_mask_reduce_min_epi16): Ditto. + (_mm256_mask_reduce_min_epu16): Ditto. + (_mm_mask_reduce_add_epi8): Ditto. + (_mm_mask_reduce_mul_epi8): Ditto. + (_mm_mask_reduce_and_epi8): Ditto. + (_mm_mask_reduce_or_epi8): Ditto. + (_mm_mask_reduce_max_epi8): Ditto. + (_mm_mask_reduce_max_epu8): Ditto. + (_mm_mask_reduce_min_epi8): Ditto. + (_mm_mask_reduce_min_epu8): Ditto. + (_mm256_mask_reduce_add_epi8): Ditto. + (_mm256_mask_reduce_mul_epi8): Ditto. + (_mm256_mask_reduce_and_epi8): Ditto. + (_mm256_mask_reduce_or_epi8): Ditto. + (_mm256_mask_reduce_max_epi8): Ditto. + (_mm256_mask_reduce_max_epu8): Ditto. + (_mm256_mask_reduce_min_epi8): Ditto. + (_mm256_mask_reduce_min_epu8): Ditto. + +2023-04-20 Haochen Jiang + + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA_VPCLMULQDQ_SET): + Add OPTION_MASK_ISA_PCLMUL_SET and OPTION_MASK_ISA_AVX_SET. + (OPTION_MASK_ISA_AVX_UNSET): + Add OPTION_MASK_ISA_VPCLMULQDQ_UNSET. + (OPTION_MASK_ISA_PCLMUL_UNSET): Ditto. + * config/i386/i386.md (vpclmulqdqvl): New. + * config/i386/sse.md (pclmulqdq): Add evex encoding. + * config/i386/vpclmulqdqintrin.h: Remove redudant avx target + push. + +2023-04-20 Haochen Jiang + + * config/i386/avx512vlbwintrin.h + (_mm_mask_blend_epi16): Remove __OPTIMIZE__ wrapper. + (_mm_mask_blend_epi8): Ditto. + (_mm256_mask_blend_epi16): Ditto. + (_mm256_mask_blend_epi8): Ditto. + * config/i386/avx512vlintrin.h + (_mm256_mask_blend_pd): Ditto. + (_mm256_mask_blend_ps): Ditto. + (_mm256_mask_blend_epi64): Ditto. + (_mm256_mask_blend_epi32): Ditto. + (_mm_mask_blend_pd): Ditto. + (_mm_mask_blend_ps): Ditto. + (_mm_mask_blend_epi64): Ditto. + (_mm_mask_blend_epi32): Ditto. + * config/i386/sse.md (VF_AVX512BWHFBF16): Removed. + (VF_AVX512HFBFVL): Move it before the first usage. + (_blendm): Change iterator from VF_AVX512BWHFBF16 + to VF_AVX512HFBFVL. + +2023-04-20 Haochen Jiang + + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA_AVX512VBMI2_SET): Change OPTION_MASK_ISA_AVX512F_SET + to OPTION_MASK_ISA_AVX512BW_SET. + (OPTION_MASK_ISA_AVX512F_UNSET): + Remove OPTION_MASK_ISA_AVX512VBMI2_UNSET. + (OPTION_MASK_ISA_AVX512BW_UNSET): + Add OPTION_MASK_ISA_AVX512VBMI2_UNSET. + * config/i386/avx512vbmi2intrin.h: Do not push avx512bw. + * config/i386/avx512vbmi2vlintrin.h: Ditto. + * config/i386/i386-builtin.def: Remove OPTION_MASK_ISA_AVX512BW. + * config/i386/sse.md (VI12_AVX512VLBW): Removed. + (VI12_VI48F_AVX512VLBW): Rename to VI12_VI48F_AVX512VL. + (compress_mask): Change iterator from VI12_AVX512VLBW to + VI12_AVX512VL. + (compressstore_mask): Ditto. + (expand_mask): Ditto. + (expand_maskz): Ditto. + (*expand_mask): Change iterator from VI12_VI48F_AVX512VLBW to + VI12_VI48F_AVX512VL. + +2023-04-20 Haochen Jiang + + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA_AVX512BITALG_SET): + Change OPTION_MASK_ISA_AVX512F_SET + to OPTION_MASK_ISA_AVX512BW_SET. + (OPTION_MASK_ISA_AVX512F_UNSET): + Remove OPTION_MASK_ISA_AVX512BITALG_SET. + (OPTION_MASK_ISA_AVX512BW_UNSET): + Add OPTION_MASK_ISA_AVX512BITALG_SET. + * config/i386/avx512bitalgintrin.h: Do not push avx512bw. + * config/i386/i386-builtin.def: + Remove redundant OPTION_MASK_ISA_AVX512BW. + * config/i386/sse.md (VI1_AVX512VLBW): Removed. + (avx512vl_vpshufbitqmb): + Change the iterator from VI1_AVX512VLBW to VI1_AVX512VL. + +2023-04-20 Haochen Jiang + + * config/i386/i386-expand.cc + (ix86_check_builtin_isa_match): Correct wrong comments. + Add a new macro SHARE_BUILTIN and refactor the current if + clauses to macro. + +2023-04-20 Mo, Zewei + + * config/i386/cpuid.h: Open a new section for Extended Features + Leaf (%eax == 7, %ecx == 0) and Extended Features Sub-leaf (%eax == 7, + %ecx == 1). + +2023-04-20 Hu, Lin1 + + * config/i386/sse.md: Modify insn vperm{i,f} + and vshuf{i,f}. + +2023-04-19 Max Filippov + + * config/xtensa/xtensa-opts.h: New header. + * config/xtensa/xtensa.h (STRICT_ALIGNMENT): Redefine as + xtensa_strict_align. + * config/xtensa/xtensa.cc (xtensa_option_override): When + -m[no-]strict-align is not specified in the command line set + xtensa_strict_align to 0 if the hardware supports both unaligned + loads and stores or to 1 otherwise. + * config/xtensa/xtensa.opt (mstrict-align): New option. + * doc/invoke.texi (Xtensa Options): Document -m[no-]strict-align. + +2023-04-19 Max Filippov + + * config/xtensa/xtensa-dynconfig.cc (xtensa_get_config_v4): New + function. + +2023-04-19 Andrew Pinski + + * config/i386/i386.md (*movsicc_noc_zext_1): New pattern. + +2023-04-19 Juzhe-Zhong + + * config/riscv/riscv-modes.def (FLOAT_MODE): Add chunk 128 support. + (VECTOR_BOOL_MODE): Ditto. + (ADJUST_NUNITS): Ditto. + (ADJUST_ALIGNMENT): Ditto. + (ADJUST_BYTESIZE): Ditto. + (ADJUST_PRECISION): Ditto. + (RVV_MODES): Ditto. + (VECTOR_MODE_WITH_PREFIX): Ditto. + * config/riscv/riscv-v.cc (ENTRY): Ditto. + (get_vlmul): Ditto. + (get_ratio): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Ditto. + * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Ditto. + (vbool64_t): Ditto. + (vbool32_t): Ditto. + (vbool16_t): Ditto. + (vbool8_t): Ditto. + (vbool4_t): Ditto. + (vbool2_t): Ditto. + (vbool1_t): Ditto. + (vint8mf8_t): Ditto. + (vuint8mf8_t): Ditto. + (vint8mf4_t): Ditto. + (vuint8mf4_t): Ditto. + (vint8mf2_t): Ditto. + (vuint8mf2_t): Ditto. + (vint8m1_t): Ditto. + (vuint8m1_t): Ditto. + (vint8m2_t): Ditto. + (vuint8m2_t): Ditto. + (vint8m4_t): Ditto. + (vuint8m4_t): Ditto. + (vint8m8_t): Ditto. + (vuint8m8_t): Ditto. + (vint16mf4_t): Ditto. + (vuint16mf4_t): Ditto. + (vint16mf2_t): Ditto. + (vuint16mf2_t): Ditto. + (vint16m1_t): Ditto. + (vuint16m1_t): Ditto. + (vint16m2_t): Ditto. + (vuint16m2_t): Ditto. + (vint16m4_t): Ditto. + (vuint16m4_t): Ditto. + (vint16m8_t): Ditto. + (vuint16m8_t): Ditto. + (vint32mf2_t): Ditto. + (vuint32mf2_t): Ditto. + (vint32m1_t): Ditto. + (vuint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vuint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vuint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vuint32m8_t): Ditto. + (vint64m1_t): Ditto. + (vuint64m1_t): Ditto. + (vint64m2_t): Ditto. + (vuint64m2_t): Ditto. + (vint64m4_t): Ditto. + (vuint64m4_t): Ditto. + (vint64m8_t): Ditto. + (vuint64m8_t): Ditto. + (vfloat32mf2_t): Ditto. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat32m8_t): Ditto. + (vfloat64m1_t): Ditto. + (vfloat64m2_t): Ditto. + (vfloat64m4_t): Ditto. + (vfloat64m8_t): Ditto. + * config/riscv/riscv-vector-switch.def (ENTRY): Ditto. + * config/riscv/riscv.cc (riscv_legitimize_poly_move): Ditto. + (riscv_convert_vector_bits): Ditto. + * config/riscv/riscv.md: + * config/riscv/vector-iterators.md: + * config/riscv/vector.md + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_store): Ditto. + (@pred_reduc_): Ditto. + (@pred_widen_reduc_plus): Ditto. + (@pred_reduc_plus): Ditto. + (@pred_widen_reduc_plus): Ditto. + +2023-04-19 Pan Li + + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): + Align IOR (A | (~A) -> -1) optimization MODE_CLASS condition to AND. + +2023-04-19 Uros Bizjak + + PR target/78904 + PR target/78952 + * config/i386/i386.md (*cmpqi_ext_1_mem_rex64): New insn pattern. + (*cmpqi_ext_1): Use nonimmediate_operand predicate + for operand 0. Use any_extract code iterator. + (*cmpqi_ext_1 peephole2): New peephole2 pattern. + (*cmpqi_ext_2): Use any_extract code iterator. + (*cmpqi_ext_3_mem_rex64): New insn pattern. + (*cmpqi_ext_1): Use general_operand predicate + for operand 1. Use any_extract code iterator. + (*cmpqi_ext_3 peephole2): New peephole2 pattern. + (*cmpqi_ext_4): Use any_extract code iterator. + +2023-04-19 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_saddw2): Delete. + (aarch64_uaddw2): Delete. + (aarch64_ssubw2): Delete. + (aarch64_usubw2): Delete. + (aarch64_w2): New define_expand. + +2023-04-19 Richard Biener + + * tree-ssa-structalias.cc (do_ds_constraint): Use + solve_add_graph_edge. + +2023-04-19 Richard Biener + + * tree-ssa-structalias.cc (solve_add_graph_edge): New function, + split out from ... + (do_sd_constraint): ... here. + +2023-04-19 Richard Biener + + * tree-cfg.cc (gimple_can_merge_blocks_p): Remove condition + rejecting the merge when A contains only a non-local label. + +2023-04-19 Uros Bizjak + + * rtl.h (VIRTUAL_REGISTER_P): New predicate. + (VIRTUAL_REGISTER_NUM_P): Ditto. + (REGNO_PTR_FRAME_P): Use VIRTUAL_REGISTER_NUM_P predicate. + * expr.cc (force_operand): Use VIRTUAL_REGISTER_P predicate. + * function.cc (instantiate_decl_rtl): Ditto. + * rtlanal.cc (rtx_addr_can_trap_p_1): Ditto. + (nonzero_address_p): Ditto. + (refers_to_regno_p): Use VIRTUAL_REGISTER_NUM_P predicate. + +2023-04-19 Aldy Hernandez + + * value-range.h (Value_Range::Value_Range): Avoid pointer sharing. + +2023-04-19 Richard Biener + + * system.h (auto_mpz::operator->()): New. + * realmpfr.h (auto_mpfr::operator->()): New. + * builtins.cc (do_mpfr_lgamma_r): Use auto_mpfr. + * real.cc (real_from_string): Likewise. + (dconst_e_ptr): Likewise. + (dconst_sqrt2_ptr): Likewise. + * tree-ssa-loop-niter.cc (refine_value_range_using_guard): + Use auto_mpz. + (bound_difference_of_offsetted_base): Likewise. + (number_of_iterations_ne): Likewise. + (number_of_iterations_lt_to_ne): Likewise. + * ubsan.cc: Include realmpfr.h. + (ubsan_instrument_float_cast): Use auto_mpfr. + +2023-04-19 Richard Biener + + * tree-ssa-structalias.cc (solve_graph): Remove self-copy + edges, remove edges from escaped after special-casing them. + +2023-04-19 Richard Biener + + * tree-ssa-structalias.cc (do_sd_constraint): Fixup escape + special casing. + +2023-04-19 Richard Biener + + * tree-ssa-structalias.cc (do_sd_constraint): Do not write + to the LHS varinfo solution member. + +2023-04-19 Richard Biener + + * tree-ssa-structalias.cc (topo_visit): Look at the real + destination of edges. + +2023-04-19 Richard Biener + + PR tree-optimization/44794 + * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): + If an epilogue loop is required set its iteration upper bound. + +2023-04-19 Xi Ruoyao + + PR target/109465 + * config/loongarch/loongarch-protos.h + (loongarch_expand_block_move): Add a parameter as alignment RTX. + * config/loongarch/loongarch.h: + (LARCH_MAX_MOVE_BYTES_PER_LOOP_ITER): Remove. + (LARCH_MAX_MOVE_BYTES_STRAIGHT): Remove. + (LARCH_MAX_MOVE_OPS_PER_LOOP_ITER): Define. + (LARCH_MAX_MOVE_OPS_STRAIGHT): Define. + (MOVE_RATIO): Use LARCH_MAX_MOVE_OPS_PER_LOOP_ITER instead of + LARCH_MAX_MOVE_BYTES_PER_LOOP_ITER. + * config/loongarch/loongarch.cc (loongarch_expand_block_move): + Take the alignment from the parameter, but set it to + UNITS_PER_WORD if !TARGET_STRICT_ALIGN. Limit the length of + straight-line implementation with LARCH_MAX_MOVE_OPS_STRAIGHT + instead of LARCH_MAX_MOVE_BYTES_STRAIGHT. + (loongarch_block_move_straight): When there are left-over bytes, + half the mode size instead of falling back to byte mode at once. + (loongarch_block_move_loop): Limit the length of loop body with + LARCH_MAX_MOVE_OPS_PER_LOOP_ITER instead of + LARCH_MAX_MOVE_BYTES_PER_LOOP_ITER. + * config/loongarch/loongarch.md (cpymemsi): Pass the alignment + to loongarch_expand_block_move. + +2023-04-19 Xi Ruoyao + + * config/loongarch/loongarch.cc + (loongarch_setup_incoming_varargs): Don't save more GARs than + cfun->va_list_gpr_size / UNITS_PER_WORD. + +2023-04-19 Richard Biener + + * tree-ssa-loop-manip.cc (determine_exit_conditions): Fix + no epilogue condition. + +2023-04-19 Richard Biener + + * gimple.h (gimple_assign_load): Outline... + * gimple.cc (gimple_assign_load): ... here. Avoid + get_base_address and instead just strip the outermost + handled component, treating a remaining handled component + as load. + +2023-04-19 Kyrylo Tkachov + + * config/aarch64/aarch64-simd-builtins.def (neg): Delete builtins + definition. + * config/aarch64/arm_fp16.h (vnegh_f16): Reimplement using normal negation. + +2023-04-19 Jakub Jelinek + + PR tree-optimization/109011 + * tree-vect-patterns.cc (vect_recog_popcount_pattern): Rename to ... + (vect_recog_popcount_clz_ctz_ffs_pattern): ... this. Handle also + CLZ, CTZ and FFS. Remove vargs variable, use + gimple_build_call_internal rather than gimple_build_call_internal_vec. + (vect_vect_recog_func_ptrs): Adjust popcount entry. + +2023-04-19 Jakub Jelinek + + PR target/109040 + * dse.cc (replace_read): If read_reg is a SUBREG of a word mode + REG, for WORD_REGISTER_OPERATIONS copy SUBREG_REG of it into + a new REG rather than the SUBREG. + +2023-04-19 Prathamesh Kulkarni + + * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set_zero): + New pattern. + +2023-04-19 Kyrylo Tkachov + + PR target/108840 + * config/aarch64/aarch64.cc (aarch64_rtx_costs): Merge ASHIFT and + ROTATE, ROTATERT, LSHIFTRT, ASHIFTRT cases. Handle subregs in op1. + +2023-04-19 Richard Biener + + PR rtl-optimization/109237 + * cse.cc (insn_live_p): Remove NEXT_INSN walk, instead check + TREE_VISITED on INSN_VAR_LOCATION_DECL. + (delete_trivially_dead_insns): Maintain TREE_VISITED on + active debug bind INSN_VAR_LOCATION_DECL. + +2023-04-19 Richard Biener + + PR rtl-optimization/109237 + * cfgcleanup.cc (bb_is_just_return): Walk insns backwards. + +2023-04-19 Christophe Lyon + + * doc/install.texi (enable-decimal-float): Add AArch64. + +2023-04-19 liuhongt + + PR rtl-optimization/109351 + * ira.cc (setup_class_subset_and_memory_move_costs): Check + hard_regno_mode_ok before setting lowest memory move cost for + the mode with different reg classes. + +2023-04-18 Jason Merrill + + * doc/invoke.texi: Remove stray @gol. + +2023-04-18 Takayuki 'January June' Suwa + + * ifcvt.cc (cond_move_process_if_block): Consider the result of + targetm.noce_conversion_profitable_p() when replacing the original + sequence with the converted one. + +2023-04-18 Mark Harmstone + + * common.opt (gcodeview): Add new option. + * gcc.cc (driver_handle_option); Handle OPT_gcodeview. + * opts.cc (command_handle_option): Similarly. + * doc/invoke.texi: Add documentation for -gcodeview. + +2023-04-18 Andrew Pinski + + * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Remove declaration. + (make_pass_phiopt): Make execute out of line. + (tree_ssa_cs_elim): Move code into ... + (pass_cselim::execute): here. + +2023-04-18 Sam James + + * system.h: Drop unused INCLUDE_PTHREAD_H. + +2023-04-18 Kevin Lee + + * tree-vect-data-refs.cc (vect_grouped_store_supported): Add new + condition. + +2023-04-18 Sinan Lin + + * config/riscv/bitmanip.md (rotr3 expander): Enable for ZBKB. + (bswapdi2, bswapsi2): Similarly. + +2023-04-18 Uros Bizjak + + PR target/94908 + * config/i386/i386-builtin.def (__builtin_ia32_insertps128): + Use CODE_FOR_sse4_1_insertps_v4sf. + * config/i386/i386-expand.cc (expand_vec_perm_insertps): New. + (expand_vec_perm_1): Call expand_vec_per_insertps. + * config/i386/i386.md ("unspec"): Declare UNSPEC_INSERTPS here. + * config/i386/mmx.md (mmxscalarmode): New mode attribute. + (@sse4_1_insertps_): New insn pattern. + * config/i386/sse.md (@sse4_1_insertps_): Macroize insn + pattern from sse4_1_insertps using VI4F_128 mode iterator. + +2023-04-18 Aldy Hernandez + + * value-range.cc (gt_ggc_mx): New. + (gt_pch_nx): New. + * value-range.h (class vrange): Add GTY marker. + (class frange): Same. + (gt_ggc_mx): Remove. + (gt_pch_nx): Remove. + +2023-04-18 Victor L. Do Nascimento + + * lra-constraints.cc (constraint_unique): New. + (process_address_1): Apply constraint_unique test. + * recog.cc (constrain_operands): Allow relaxed memory + constaints. + +2023-04-18 Kito Cheng + + * doc/extend.texi (Target Builtins): Add RISC-V Vector + Intrinsics. + (RISC-V Vector Intrinsics): Document GCC implemented which + version of RISC-V vector intrinsics and its reference. + +2023-04-18 Richard Biener + + PR middle-end/108786 + * bitmap.h (bitmap_clear_first_set_bit): New. + * bitmap.cc (bitmap_first_set_bit_worker): Rename from + bitmap_first_set_bit and add optional clearing of the bit. + (bitmap_first_set_bit): Wrap bitmap_first_set_bit_worker. + (bitmap_clear_first_set_bit): Likewise. + * df-core.cc (df_worklist_dataflow_doublequeue): Use + bitmap_clear_first_set_bit. + * graphite-scop-detection.cc (scop_detection::merge_sese): + Likewise. + * sanopt.cc (sanitize_asan_mark_unpoison): Likewise. + (sanitize_asan_mark_poison): Likewise. + * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Likewise. + * tree-into-ssa.cc (rewrite_blocks): Likewise. + * tree-ssa-dce.cc (simple_dce_from_worklist): Likewise. + * tree-ssa-sccvn.cc (do_rpo_vn_1): Likewise. + +2023-04-18 Richard Biener + + * tree-ssa-structalias.cc (dump_sa_stats): Split out from... + (dump_sa_points_to_info): ... this function. + (compute_points_to_sets): Guard large dumps with TDF_DETAILS, + and call dump_sa_stats guarded with TDF_STATS. + (ipa_pta_execute): Likewise. + (compute_may_aliases): Guard dump_alias_info with + TDF_DETAILS|TDF_ALIAS. + +2023-04-18 Andrew Pinski + + * tree-ssa-phiopt.cc (gimple_simplify_phiopt): Dump + the expression that is being tried when TDF_FOLDING + is true. + (phiopt_worker::match_simplify_replacement): Dump + the sequence which was created by gimple_simplify_phiopt + when TDF_FOLDING is true. + +2023-04-18 Andrew Pinski + + * tree-ssa-phiopt.cc (match_simplify_replacement): + Simplify code that does the movement slightly. + +2023-04-18 Kyrylo Tkachov + + * config/aarch64/aarch64.md (@aarch64_rev16): Change to + define_expand. + (rev162): Rename to... + (aarch64_rev162_alt1): ... This. + (rev162_alt): Rename to... + (*aarch64_rev162_alt2): ... This. + +2023-04-18 Aldy Hernandez + + * emit-rtl.cc (init_emit_once): Initialize dconstm0. + * gimple-range-op.cc (class cfn_signbit): Remove dconstm0 + declaration. + * range-op-float.cc (zero_range): Use dconstm0. + (zero_to_inf_range): Same. + * real.h (dconstm0): New. + * value-range.cc (frange::flush_denormals_to_zero): Use dconstm0. + (frange::set_zero): Do not declare dconstm0. + +2023-04-18 Richard Biener + + * system.h (class auto_mpz): New, + * realmpfr.h (class auto_mpfr): Likewise. + * fold-const-call.cc (do_mpfr_arg1): Use auto_mpfr. + (do_mpfr_arg2): Likewise. + * tree-ssa-loop-niter.cc (bound_difference): Use auto_mpz; + +2023-04-18 Kyrylo Tkachov + + * config/aarch64/aarch64-builtins.cc (aarch64_init_simd_intrinsics): Take + builtin flags from intrinsic data rather than hardcoded FLAG_AUTO_FP. + +2023-04-18 Aldy Hernandez + + * value-range.cc (frange::operator==): Adjust for NAN. + (range_tests_nan): Remove some NAN tests. + +2023-04-18 Aldy Hernandez + + * inchash.cc (hash::add_real_value): New. + * inchash.h (class hash): Add add_real_value. + * value-range.cc (add_vrange): New. + * value-range.h (inchash::add_vrange): New. + +2023-04-18 Richard Biener + + PR tree-optimization/109539 + * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): + Re-implement pointer relatedness for PHIs. + +2023-04-18 Andrew Stubbs + + * config/gcn/gcn-valu.md (SV_SFDF): New iterator. + (SV_FP): New iterator. + (scalar_mode, SCALAR_MODE): Add identity mappings for scalar modes. + (recip2): Unify the two patterns using SV_FP. + (div_scale): New insn. + (div_fmas): New insn. + (div_fixup): New insn. + (div3): Unify the two expanders and rewrite using hardfp. + * config/gcn/gcn.cc (gcn_md_reorg): Support "vccwait" attribute. + * config/gcn/gcn.md (unspec): Add UNSPEC_DIV_SCALE, UNSPEC_DIV_FMAS, + and UNSPEC_DIV_FIXUP. + (vccwait): New attribute. + +2023-04-18 Kyrylo Tkachov + + * config/aarch64/aarch64.cc (aarch64_validate_mcpu): Add hint to use -march + if the argument matches that. + +2023-04-18 Kyrylo Tkachov + + * config/aarch64/atomics.md + (*aarch64_atomic_load_rcpc_zext): + Use SD_HSDI for destination mode iterator. + +2023-04-18 Jin Ma + + * common/config/riscv/riscv-common.cc (multi_letter_subset_rank): Swap the order + of z-extensions and s-extensions. + (riscv_subset_list::parse): Likewise. + +2023-04-18 Jakub Jelinek + + PR tree-optimization/109240 + * match.pd (fneg/fadd): Rewrite such that it handles both plus as + first vec_perm operand and minus as second using fneg/fadd and + minus as first vec_perm operand and plus as second using fneg/fsub. + +2023-04-18 Aldy Hernandez + + * data-streamer.cc (bp_pack_real_value): New. + (bp_unpack_real_value): New. + * data-streamer.h (bp_pack_real_value): New. + (bp_unpack_real_value): New. + * tree-streamer-in.cc (unpack_ts_real_cst_value_fields): Use + bp_unpack_real_value. + * tree-streamer-out.cc (pack_ts_real_cst_value_fields): Use + bp_pack_real_value. + +2023-04-18 Aldy Hernandez + + * wide-int.h (WIDE_INT_MAX_HWIS): New. + (class fixed_wide_int_storage): Use it. + (trailing_wide_ints ::set_precision): Use it. + (trailing_wide_ints ::extra_size): Use it. + +2023-04-18 Xi Ruoyao + + * config/loongarch/loongarch-protos.h + (loongarch_addu16i_imm12_operand_p): New function prototype. + (loongarch_split_plus_constant): Likewise. + * config/loongarch/loongarch.cc + (loongarch_addu16i_imm12_operand_p): New function. + (loongarch_split_plus_constant): Likewise. + * config/loongarch/loongarch.h (ADDU16I_OPERAND): New macro. + (DUAL_IMM12_OPERAND): Likewise. + (DUAL_ADDU16I_OPERAND): Likewise. + * config/loongarch/constraints.md (La, Lb, Lc, Ld, Le): New + constraint. + * config/loongarch/predicates.md (const_dual_imm12_operand): New + predicate. + (const_addu16i_operand): Likewise. + (const_addu16i_imm12_di_operand): Likewise. + (const_addu16i_imm12_si_operand): Likewise. + (plus_di_operand): Likewise. + (plus_si_operand): Likewise. + (plus_si_extend_operand): Likewise. + * config/loongarch/loongarch.md (add3): Convert to + define_insn_and_split. Use plus__operand predicate + instead of arith_operand. Add alternatives for La, Lb, Lc, Ld, + and Le constraints. + (*addsi3_extended): Convert to define_insn_and_split. Use + plus_si_extend_operand instead of arith_operand. Add + alternatives for La and Le alternatives. + +2023-04-18 Aldy Hernandez + + * value-range.h (Value_Range::Value_Range): New. + (Value_Range::contains_p): New. + +2023-04-18 Aldy Hernandez + + * value-range.h (class vrange): Make m_discriminator const. + (class irange): Make m_max_ranges const. Adjust constructors + accordingly. + (class unsupported_range): Construct vrange appropriately. + (class frange): Same. + +2023-04-18 Lulu Cheng + + * config/loongarch/loongarch.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Remove the macro + definition. + +2023-04-18 Lulu Cheng + + * doc/extend.texi: Add section for LoongArch Base Built-in functions. + +2023-04-18 Fei Gao + + * config/riscv/riscv.cc (riscv_first_stack_step): Make codes more + readable. + (riscv_expand_epilogue): Likewise. + +2023-04-17 Fei Gao + + * config/riscv/riscv.cc (riscv_expand_prologue): Consider save-restore in + stack allocation. + (riscv_expand_epilogue): Consider save-restore in stack deallocation. + +2023-04-17 Andrew Pinski + + * tree-ssa-phiopt.cc (gate_hoist_loads): Remove + prototype. + +2023-04-17 Aldy Hernandez + + * gimple-ssa-warn-alloca.cc (pass_walloca::execute): Do not export + global ranges. + +2023-04-17 Fei Gao + + * config/riscv/riscv.cc (riscv_first_stack_step): Add a new function + parameter remaining_size. + (riscv_compute_frame_info): Adapt new riscv_first_stack_step interface. + (riscv_expand_prologue): Likewise. + (riscv_expand_epilogue): Likewise. + +2023-04-17 Feng Wang + + * config/riscv/bitmanip.md (rotrsi3_sext): Support generating + roriw for constant counts. + * rtl.h (reverse_rotate_by_imm_p): Add function declartion + * simplify-rtx.cc (reverse_rotate_by_imm_p): New function. + (simplify_context::simplify_binary_operation_1): Use it. + * expmed.cc (expand_shift_1): Likewise. + +2023-04-17 Martin Jambor + + PR ipa/107769 + PR ipa/109318 + * cgraph.h (symtab_node::find_reference): Add parameter use_type. + * ipa-prop.h (ipa_pass_through_data): New flag refdesc_decremented. + (ipa_zap_jf_refdesc): New function. + (ipa_get_jf_pass_through_refdesc_decremented): Likewise. + (ipa_set_jf_pass_through_refdesc_decremented): Likewise. + * ipa-cp.cc (ipcp_discover_new_direct_edges): Provide a value for + the new parameter of find_reference. + (adjust_references_in_caller): Likewise. Make sure the constant jump + function is not used to decrement a refdec counter again. Only + decrement refdesc counters when the pass_through jump function allows + it. Added a detailed dump when decrementing refdesc counters. + * ipa-prop.cc (ipa_print_node_jump_functions_for_edge): Dump new flag. + (ipa_set_jf_simple_pass_through): Initialize the new flag. + (ipa_set_jf_unary_pass_through): Likewise. + (ipa_set_jf_arith_pass_through): Likewise. + (remove_described_reference): Provide a value for the new parameter of + find_reference. + (update_jump_functions_after_inlining): Zap refdesc of new jfunc if + the previous pass_through had a flag mandating that we do so. + (propagate_controlled_uses): Likewise. Only decrement refdesc + counters when the pass_through jump function allows it. + (ipa_edge_args_sum_t::duplicate): Provide a value for the new + parameter of find_reference. + (ipa_write_jump_function): Assert the new flag does not have to be + streamed. + * symtab.cc (symtab_node::find_reference): Add parameter use_type, use + it in searching. + +2023-04-17 Philipp Tomsich + Di Zhao + + * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION): + Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE. + * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): + Check for the above tuning option when processing loads. + +2023-04-17 Richard Biener + + PR tree-optimization/109524 + * tree-vrp.cc (remove_unreachable::m_list): Change to a + vector of pairs of block indices. + (remove_unreachable::maybe_register_block): Adjust. + (remove_unreachable::remove_and_update_globals): Likewise. + Deal with removed blocks. + +2023-04-16 Jeff Law + + PR target/109508 + * config/riscv/riscv.cc (riscv_expand_conditional_move): For + TARGET_SFB_ALU, force the true arm into a register. + +2023-04-15 John David Anglin + + PR target/104989 + * config/pa/pa-protos.h (pa_function_arg_size): Update prototype. + * config/pa/pa.cc (pa_function_arg): Return NULL_RTX if argument + size is zero. + (pa_arg_partial_bytes): Don't call pa_function_arg_size twice. + (pa_function_arg_size): Change return type to int. Return zero + for arguments larger than 1 GB. Update comments. + +2023-04-15 Jakub Jelinek + + PR tree-optimization/109154 + * tree-if-conv.cc (predicate_scalar_phi): For complex PHIs, emit just + args_len - 1 COND_EXPRs rather than args_len. Formatting fix. + +2023-04-15 Jason Merrill + + PR c++/109514 + * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): + Overhaul lhs_ref.ref analysis. + +2023-04-14 Richard Biener + + PR tree-optimization/109502 + * tree-vect-stmts.cc (vectorizable_assignment): Fix + check for conversion between mask and non-mask types. + +2023-04-14 Jeff Law + Jakub Jelinek + + PR target/108947 + PR target/109040 + * combine.cc (simplify_and_const_int_1): Compute nonzero_bits in + word_mode rather than mode if WORD_REGISTER_OPERATIONS and mode is + smaller than word_mode. + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1) + : Likewise. + +2023-04-14 Jakub Jelinek + + * loop-iv.cc (iv_number_of_iterations): Use gen_int_mode instead + of GEN_INT. + +2023-04-13 Andrew MacLeod + + PR tree-optimization/108139 + PR tree-optimization/109462 + * gimple-range-cache.cc (ranger_cache::fill_block_cache): Remove + equivalency check for PHI nodes. + * gimple-range-fold.cc (fold_using_range::range_of_phi): Ensure def + does not dominate single-arg equivalency edges. + +2023-04-13 Richard Sandiford + + PR target/108910 + * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Do + not trust TYPE_ALIGN for pointer types; use POINTER_SIZE instead. + +2023-04-13 Richard Biener + + PR tree-optimization/109491 + * tree-ssa-sccvn.cc (expressions_equal_p): Restore the + NULL operands test. + +2023-04-12 Ju-Zhe Zhong + + PR target/109479 + * config/riscv/riscv-vector-builtins-types.def (vint8mf8_t): Fix predicate. + (vint16mf4_t): Ditto. + (vint32mf2_t): Ditto. + (vint64m1_t): Ditto. + (vint64m2_t): Ditto. + (vint64m4_t): Ditto. + (vint64m8_t): Ditto. + (vuint8mf8_t): Ditto. + (vuint16mf4_t): Ditto. + (vuint32mf2_t): Ditto. + (vuint64m1_t): Ditto. + (vuint64m2_t): Ditto. + (vuint64m4_t): Ditto. + (vuint64m8_t): Ditto. + (vfloat32mf2_t): Ditto. + (vbool64_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (register_builtin_type): Add comments. + (register_vector_type): Ditto. + (check_required_extensions): Fix condition. + * config/riscv/riscv-vector-builtins.h (RVV_REQUIRE_ZVE64): Remove it. + (RVV_REQUIRE_ELEN_64): New define. + (RVV_REQUIRE_MIN_VLEN_64): Ditto. + * config/riscv/riscv-vector-switch.def (TARGET_VECTOR_FP32): Remove it. + (TARGET_VECTOR_FP64): Ditto. + (ENTRY): Fix predicate. + * config/riscv/vector-iterators.md: Fix predicate. + +2023-04-12 Jakub Jelinek + + PR tree-optimization/109410 + * tree-ssa-reassoc.cc (build_and_add_sum): Split edge from entry + block if first statement of the function is a call to returns_twice + function. + +2023-04-12 Jakub Jelinek + + PR target/109458 + * config/i386/i386.cc: Include rtl-error.h. + (ix86_print_operand): For z modifier warning, use warning_for_asm + if this_is_asm_operands. For Z modifier errors, use %c and code + instead of hardcoded Z. + +2023-04-12 Costas Argyris + + * config/i386/x-mingw32-utf8: Remove extrataneous $@ + +2023-04-12 Andrew MacLeod + + PR tree-optimization/109462 + * gimple-range-cache.cc (ranger_cache::fill_block_cache): Don't + check for equivalences if NAME is a phi node. + +2023-04-12 Richard Biener + + PR tree-optimization/109473 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): + Convert scalar result to the computation type before performing + the reduction adjustment. + +2023-04-12 Richard Biener + + PR tree-optimization/109469 + * tree-vect-slp.cc (vect_slp_function): Skip region starts with + a returns-twice call. + +2023-04-12 Richard Biener + + PR tree-optimization/109434 + * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Properly + handle possibly throwing calls when processing the LHS + and may-defs are not OK. + +2023-04-11 Lin Sinan + + * config/riscv/predicates.md (uimm_extra_bit_or_twobits): Adjust + predicate to avoid splitting arith constants. + +2023-04-11 Yanzhang Wang + Pan Li + Ju-Zhe Zhong + Kito Cheng + + PR target/109104 + * config/riscv/riscv-protos.h (emit_hard_vlmax_vsetvl): New. + * config/riscv/riscv-v.cc (emit_hard_vlmax_vsetvl): New. + (emit_vlmax_vsetvl): Use emit_hard_vlmax_vsetvl. + * config/riscv/riscv.cc (vector_zero_call_used_regs): New. + (riscv_zero_call_used_regs): New. + (TARGET_ZERO_CALL_USED_REGS): New. + +2023-04-11 Martin Liska + + PR driver/108241 + * opts.cc (finish_options): Drop also + x_flag_var_tracking_assignments. + +2023-04-11 Andre Vieira + + PR tree-optimization/108888 + * tree-if-conv.cc (predicate_statements): Fix gimple call check. + +2023-04-11 Haochen Gui + + PR target/108812 + * config/rs6000/vsx.md (vsx_sign_extend_qi_): Rename to... + (vsx_sign_extend_v16qi_): ... this. + (vsx_sign_extend_hi_): Rename to... + (vsx_sign_extend_v8hi_): ... this. + (vsx_sign_extend_si_v2di): Rename to... + (vsx_sign_extend_v4si_v2di): ... this. + (vsignextend_qi_): Remove. + (vsignextend_hi_): Remove. + (vsignextend_si_v2di): Remove. + (vsignextend_v2di_v1ti): Remove. + (*xxspltib__split): Replace gen_vsx_sign_extend_qi_v2di with + gen_vsx_sign_extend_v16qi_v2di and gen_vsx_sign_extend_qi_v4si + with gen_vsx_sign_extend_v16qi_v4si. + * config/rs6000/rs6000.md (split for DI constant generation): + Replace gen_vsx_sign_extend_qi_si with gen_vsx_sign_extend_v16qi_si. + (split for HSDI constant generation): Replace gen_vsx_sign_extend_qi_di + with gen_vsx_sign_extend_v16qi_di and gen_vsx_sign_extend_qi_si + with gen_vsx_sign_extend_v16qi_si. + * config/rs6000/rs6000-builtins.def (__builtin_altivec_vsignextsb2d): + Set bif-pattern to vsx_sign_extend_v16qi_v2di. + (__builtin_altivec_vsignextsb2w): Set bif-pattern to + vsx_sign_extend_v16qi_v4si. + (__builtin_altivec_visgnextsh2d): Set bif-pattern to + vsx_sign_extend_v8hi_v2di. + (__builtin_altivec_vsignextsh2w): Set bif-pattern to + vsx_sign_extend_v8hi_v4si. + (__builtin_altivec_vsignextsw2d): Set bif-pattern to + vsx_sign_extend_si_v2di. + (__builtin_altivec_vsignext): Set bif-pattern to + vsx_sign_extend_v2di_v1ti. + * config/rs6000/rs6000-builtin.cc (lxvrse_expand_builtin): Replace + gen_vsx_sign_extend_qi_v2di with gen_vsx_sign_extend_v16qi_v2di, + gen_vsx_sign_extend_hi_v2di with gen_vsx_sign_extend_v8hi_v2di and + gen_vsx_sign_extend_si_v2di with gen_vsx_sign_extend_v4si_v2di. + +2023-04-10 Michael Meissner + + PR target/70243 + * config/rs6000/vsx.md (vsx_fmav4sf4): Do not generate vmaddfp. + (vsx_nfmsv4sf4): Do not generate vnmsubfp. + +2023-04-10 Haochen Jiang + + * config/i386/i386.h (PTA_GRANITERAPIDS): Add PTA_AMX_COMPLEX. + +2023-04-10 Haochen Jiang + + * common/config/i386/cpuinfo.h (get_available_features): + Detect AMX-COMPLEX. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AMX_COMPLEX_SET, + OPTION_MASK_ISA2_AMX_COMPLEX_UNSET): New. + (ix86_handle_option): Handle -mamx-complex. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AMX_COMPLEX. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + amx-complex. + * config.gcc: Add amxcomplexintrin.h. + * config/i386/cpuid.h (bit_AMX_COMPLEX): New. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __AMX_COMPLEX__. + * config/i386/i386-isa.def (AMX_COMPLEX): Add DEF_PTA(AMX_COMPLEX). + * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): + Handle amx-complex. + * config/i386/i386.opt: Add option -mamx-complex. + * config/i386/immintrin.h: Include amxcomplexintrin.h. + * doc/extend.texi: Document amx-complex. + * doc/invoke.texi: Document -mamx-complex. + * doc/sourcebuild.texi: Document target amx-complex. + * config/i386/amxcomplexintrin.h: New file. + +2023-04-08 Jakub Jelinek + + PR tree-optimization/109392 + * tree-vect-generic.cc (tree_vec_extract): Handle failure + of maybe_push_res_to_seq better. + +2023-04-08 Jakub Jelinek + + * Makefile.in (CORETYPES_H): Depend on align.h, poly-int.h and + poly-int-types.h. + (SYSTEM_H): Depend on $(HASHTAB_H). + * config/riscv/t-riscv (build/genrvv-type-indexer.o): Remove unused + dependency on $(RTL_BASE_H), remove redundant dependency on + insn-modes.h. + +2023-04-06 Richard Earnshaw + + PR target/107674 + * config/arm/arm.cc (arm_effective_regno): New function. + (mve_vector_mem_operand): Use it. + +2023-04-06 Andrew MacLeod + + PR tree-optimization/109417 + * gimple-range-gori.cc (gori_compute::may_recompute_p): Check if + dependency is in SSA_NAME_FREE_LIST. + +2023-04-06 Andrew Pinski + + PR tree-optimization/109427 + * params.opt (-param=vect-induction-float=): + Fix option attribute typo for IntegerRange. + +2023-04-05 Jeff Law + + PR target/108892 + * combine.cc (combine_instructions): Force re-recognition when + after restoring the body of an insn to its original form. + +2023-04-05 Martin Jambor + + PR ipa/108959 + * ipa-sra.cc (zap_useless_ipcp_results): New function. + (process_isra_node_results): Call it. + +2023-04-05 Ju-Zhe Zhong + + * config/riscv/vector.md: Fix incorrect operand order. + +2023-04-05 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc + (pass_vsetvl::compute_local_backward_infos): Update user vsetvl in local + demand fusion. + +2023-04-05 Li Xu + + * config/riscv/riscv-vector-builtins.def: Fix typo. + * config/riscv/riscv.cc (riscv_dwarf_poly_indeterminate_value): Ditto. + * config/riscv/vector-iterators.md: Ditto. + +2023-04-04 Hans-Peter Nilsson + + * doc/md.texi (Including Patterns): Fix page break. + +2023-04-04 Jakub Jelinek + + PR tree-optimization/109386 + * range-op-float.cc (foperator_lt::op1_range, foperator_lt::op2_range, + foperator_le::op1_range, foperator_le::op2_range, + foperator_gt::op1_range, foperator_gt::op2_range, + foperator_ge::op1_range, foperator_ge::op2_range): Make r varying for + BRS_FALSE case even if the other op is maybe_isnan, not just + known_isnan. + (foperator_unordered_lt::op1_range, foperator_unordered_lt::op2_range, + foperator_unordered_le::op1_range, foperator_unordered_le::op2_range, + foperator_unordered_gt::op1_range, foperator_unordered_gt::op2_range, + foperator_unordered_ge::op1_range, foperator_unordered_ge::op2_range): + Make r varying for BRS_TRUE case even if the other op is maybe_isnan, + not just known_isnan. + +2023-04-04 Marek Polacek + + PR sanitizer/109107 + * fold-const.cc (fold_binary_loc): Use TYPE_OVERFLOW_SANITIZED + when associating. + * match.pd: Use TYPE_OVERFLOW_SANITIZED. + +2023-04-04 Stam Markianos-Wright + + * config/arm/mve.md (mve_vcvtq_n_to_f_): Swap operands. + (mve_vcreateq_f): Swap operands. + +2023-04-04 Andrew Stubbs + + * config/gcn/gcn-valu.md (one_cmpl2): New. + +2023-04-04 Jakub Jelinek + + PR target/109384 + * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): + Reword diagnostics about zfinx conflict with f, formatting fixes. + +2023-04-04 Rainer Orth + + * config/sol2.h (LIB_SPEC): Don't link with -lpthread. + +2023-04-04 Richard Biener + + PR tree-optimization/109304 + * tree-profile.cc (tree_profiling): Use symtab node + availability to decide whether to skip adjusting calls. + Do not adjust calls to internal functions. + +2023-04-04 Kewen Lin + + PR target/108807 + * config/rs6000/rs6000.cc (rs6000_expand_vector_set_var_p9): Fix gen + function for permutation control vector by considering big endianness. + +2023-04-04 Kewen Lin + + PR target/108699 + * config/rs6000/altivec.md (*p9v_parity2): Rename to ... + (rs6000_vprtyb2): ... this. + * config/rs6000/rs6000-builtins.def (VPRTYBD): Replace parityv2di2 with + rs6000_vprtybv2di2. + (VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2. + (VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2. + * config/rs6000/vector.md (parity2 with VEC_IP): Expand with + popcountv16qi2 and the corresponding rs6000_vprtyb2. + +2023-04-04 Hans-Peter Nilsson + Sandra Loosemore + + * doc/md.texi (Insn Splitting): Tweak wording for readability. + +2023-04-03 Martin Jambor + + PR ipa/109303 + * ipa-prop.cc (determine_known_aggregate_parts): Check that the + offset + size will be representable in unsigned int. + +2023-04-03 Rainer Orth + + * configure.ac (ZSTD_LIB): Move before zstd.h check. + Unset gcc_cv_header_zstd_h without libzstd. + * configure: Regenerate. + +2023-04-03 Martin Liska + + * doc/invoke.texi: Document new param. + +2023-04-03 Cupertino Miranda + + * doc/sourcebuild.texi (const_volatile_readonly_section): Document + new check_effective_target function. + +2023-04-03 Li Xu + + * config/riscv/riscv-vector-builtins.def (vuint32m8_t): Fix typo. + (vfloat32m8_t): Likewise + +2023-04-03 liuhongt + + * doc/md.texi: Document signbitm2. + +2023-04-02 Juzhe-Zhong + kito-cheng + + * config/riscv/vector.md: Fix RA constraint. + +2023-04-02 Juzhe-Zhong + + * config/riscv/riscv-protos.h (gen_avl_for_scalar_move): New function. + * config/riscv/riscv-v.cc (gen_avl_for_scalar_move): New function. + * config/riscv/vector.md: Fix scalar move bug. + +2023-04-01 Jakub Jelinek + + * range-op-float.cc (foperator_equal::fold_range): If at least + one of the op ranges is not singleton and neither is NaN and all + 4 bounds are zero, return [1, 1]. + (foperator_not_equal::fold_range): In the same case return [0, 0]. + +2023-04-01 Jakub Jelinek + + * range-op-float.cc (foperator_equal::fold_range): Perform the + non-singleton handling regardless of maybe_isnan (op1, op2). + (foperator_not_equal::fold_range): Likewise. + (foperator_lt::fold_range, foperator_le::fold_range, + foperator_gt::fold_range, foperator_ge::fold_range): Perform the + real_* comparison check which results in range_false (type) + even if maybe_isnan (op1, op2). Simplify. + (foperator_ltgt): New class. + (fop_ltgt): New variable. + (floating_op_table::floating_op_table): Handle LTGT_EXPR using + fop_ltgt. + +2023-04-01 Jakub Jelinek + + PR target/109254 + * builtins.cc (apply_args_size): If targetm.calls.get_raw_arg_mode + returns VOIDmode, handle it like if the register isn't used for + passing arguments at all. + (apply_result_size): If targetm.calls.get_raw_result_mode returns + VOIDmode, handle it like if the register isn't used for returning + results at all. + * target.def (get_raw_result_mode, get_raw_arg_mode): Document what it + means to return VOIDmode. + * doc/tm.texi: Regenerated. + * config/aarch64/aarch64.cc (aarch64_function_value_regno_p): Return + TARGET_SVE for P0_REGNUM. + (aarch64_function_arg_regno_p): Also return true for p0-p3. + (aarch64_get_reg_raw_mode): Return VOIDmode for PR_REGNUM_P regs. + +2023-03-31 Vladimir N. Makarov + + * lra-constraints.cc: (combine_reload_insn): New function. + +2023-03-31 Jakub Jelinek + + PR tree-optimization/91645 + * range-op-float.cc (foperator_unordered_lt::fold_range, + foperator_unordered_le::fold_range, + foperator_unordered_gt::fold_range, + foperator_unordered_ge::fold_range, + foperator_unordered_equal::fold_range): Call the ordered + fold_range on ranges with cleared NaNs. + * value-query.cc (range_query::get_tree_range): Handle also + COMPARISON_CLASS_P trees. + +2023-03-31 Kito Cheng + Andrew Pinski + + PR target/109328 + * config/riscv/t-riscv: Add missing dependencies. + +2023-03-31 liuhongt + + * config/i386/i386.cc (inline_memory_move_cost): Return 100 + for MASK_REGS when MODE_SIZE > 8. + +2023-03-31 liuhongt + + PR target/85048 + * config/i386/i386-builtin.def (BDESC): Adjust icode name from + ufloat/ufix to floatuns/fixuns. + * config/i386/i386-expand.cc + (ix86_expand_vector_convert_uns_vsivsf): Adjust comments. + * config/i386/sse.md + (ufloat2): + Renamed to .. + (floatuns2):.. this. + (_ufix_notrunc): + Renamed to .. + (_fixuns_notrunc): + .. this. + (fix_truncv16sfv16si2): + Renamed to .. + (fix_truncv16sfv16si2):.. this. + (ufloat2): Renamed to .. + (floatuns2): .. this. + (ufloatv2siv2df2): Renamed to .. + (floatunsv2siv2df2): .. this. + (ufix_notrunc2): + Renamed to .. + (fixuns_notrunc2): + .. this. + (ufix_notruncv2dfv2si2): Renamed to .. + (fixuns_notruncv2dfv2si2):.. this. + (ufix_notruncv2dfv2si2_mask): Renamed to .. + (fixuns_notruncv2dfv2si2_mask): .. this. + (*ufix_notruncv2dfv2si2_mask_1): Renamed to .. + (*fixuns_notruncv2dfv2si2_mask_1): .. this. + (ufix_truncv2dfv2si2): Renamed to .. + (*fixuns_truncv2dfv2si2): .. this. + (ufix_truncv2dfv2si2_mask): Renamed to .. + (fixuns_truncv2dfv2si2_mask): .. this. + (*ufix_truncv2dfv2si2_mask_1): Renamed to .. + (*fixuns_truncv2dfv2si2_mask_1): .. this. + (ufix_truncv4dfv4si2): Renamed to .. + (fixuns_truncv4dfv4si2): .. this. + (ufix_notrunc2): + Renamed to .. + (fixuns_notrunc2): + .. this. + (ufix_trunc2): Renamed to .. + (fixuns_trunc2): + .. this. + +2023-03-30 Andrew MacLeod + + PR tree-optimization/109154 + * gimple-range-gori.cc (gori_compute::may_recompute_p): Add depth limit. + * gimple-range-gori.h (may_recompute_p): Add depth param. + * params.opt (ranger-recompute-depth): New param. + +2023-03-30 Jason Merrill + + PR c++/107897 + PR c++/108887 + * cgraph.h: Move reset() from cgraph_node to symtab_node. + * cgraphunit.cc (symtab_node::reset): Adjust. Also call + remove_from_same_comdat_group. + +2023-03-30 Richard Biener + + PR tree-optimization/107561 + * gimple-ssa-warn-access.cc (get_size_range): Add flags + argument and pass it on. + (check_access): When querying for the size range pass + SR_ALLOW_ZERO when the known destination size is zero. + +2023-03-30 Richard Biener + + PR tree-optimization/109342 + * tree-ssa-sccvn.cc (vn_nary_op_get_predicated_value): New + overload for edge. When that edge is a backedge use + dominated_by_p directly. + +2023-03-30 liuhongt + + * config/i386/i386-expand.cc (expand_vec_perm_blend): Generate + vpblendd instead of vpblendw for V4SI under avx2. + +2023-03-29 Hans-Peter Nilsson + + * config/cris/cris.cc (cris_rtx_costs) [CONST_INT]: Return 0 + for many quick operands, for register-sized modes. + +2023-03-29 Jiawei + + * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): + New check. + +2023-03-29 Martin Liska + + PR bootstrap/109310 + * configure.ac: Emit a warning for deprecated option + --enable-link-mutex. + * configure: Regenerate. + +2023-03-29 Richard Biener + + PR tree-optimization/109331 + * tree-ssa-forwprop.cc (pass_forwprop::execute): When we + discover a taken edge make sure to cleanup the CFG. + +2023-03-29 Richard Biener + + PR tree-optimization/109327 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Deal with + already removed stmts when draining to_remove. + +2023-03-29 Richard Biener + + PR ipa/106124 + * dwarf2out.cc (lookup_type_die): Reset TREE_ASM_WRITTEN + so we can re-create the DIE for the type if required. + +2023-03-29 Jakub Jelinek + Richard Biener + + PR tree-optimization/109301 + * tree-ssa-math-opts.cc (pass_data_cse_sincos): Change + properties_provided from PROP_gimple_opt_math to 0. + (pass_data_expand_powcabs): Change properties_provided from 0 to + PROP_gimple_opt_math. + +2023-03-29 Richard Biener + + PR tree-optimization/109154 + * tree-if-conv.cc (gen_phi_arg_condition): Handle single + inverted condition specially by inverting at the caller. + (gen_phi_arg_condition): Swap COND_EXPR arms if requested. + +2023-03-28 David Malcolm + + PR c/107002 + * diagnostic-show-locus.cc (column_range::column_range): Factor + out assertion conditional into... + (column_range::valid_p): ...this new function. + (line_corrections::add_hint): Don't attempt to consolidate hints + if it would lead to invalid column_range instances. + +2023-03-28 Kito Cheng + + PR target/109312 + * config/riscv/riscv-c.cc (riscv_ext_version_value): New. + (riscv_cpu_cpp_builtins): Define __riscv_v_intrinsic and + minor refactor. + +2023-03-28 Alexander Monakov + + PR rtl-optimization/109187 + * haifa-sched.cc (autopref_rank_for_schedule): Avoid use of overflowing + subtraction in three-way comparison. + +2023-03-28 Andrew MacLeod + + PR tree-optimization/109265 + PR tree-optimization/109274 + * gimple-range-gori.cc (gori_compute::compute_operand_range): Do + not create a relation record is op1 and op2 are the same symbol. + (gori_compute::compute_operand1_range): Pass op1 == op2 to the + handler for this stmt, but create a new record only if this statement + generates a relation based on the ranges. + (gori_compute::compute_operand2_range): Ditto. + * value-relation.h (value_relation::set_relation): Always create the + record that is requested. + +2023-03-28 Richard Biener + + PR tree-optimization/107087 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Track + executable regions to avoid useless work and to better + propagate degenerate PHIs. + +2023-03-28 Costas Argyris + + * config/i386/x-mingw32-utf8: update comments. + +2023-03-28 Richard Sandiford + + PR target/109072 + * config/aarch64/aarch64-protos.h (aarch64_vector_load_decl): Declare. + * config/aarch64/aarch64.h (machine_function::vector_load_decls): New + variable. + * config/aarch64/aarch64-builtins.cc (aarch64_record_vector_load_arg): + New function. + (aarch64_general_gimple_fold_builtin): Delay folding of vld1 until + after inlining. Record which decls are loaded from. Fix handling + of vops for loads and stores. + * config/aarch64/aarch64.cc (aarch64_vector_load_decl): New function. + (aarch64_accesses_vector_load_decl_p): Likewise. + (aarch64_vector_costs::m_stores_to_vector_load_decl): New member + variable. + (aarch64_vector_costs::add_stmt_cost): If the function has a vld1 + that loads from a decl, treat vector stores to those decls as + zero cost. + (aarch64_vector_costs::finish_cost): ...and in that case, + if the vector code does nothing more than a store, give the + prologue a zero cost as well. + +2023-03-28 Richard Biener + + PR bootstrap/84402 + PR tree-optimization/108129 + * genmatch.cc (lower_for): For (match ...) delay + substituting into the match operator if possible. + (dt_operand::gen_gimple_expr): For user_id look at the + first substitute for determining how to access operands. + (dt_operand::gen_generic_expr): Likewise. + (dt_node::gen_kids): Properly sort user_ids according + to their substitutes. + (dt_node::gen_kids_1): Code-generate user_id matching. + +2023-03-28 Jakub Jelinek + Jonathan Wakely + + * gcov-tool.cc (do_merge, do_merge_stream, do_rewrite, do_overlap): + Use subcommand rather than sub-command in function comments. + +2023-03-28 Jakub Jelinek + + PR tree-optimization/109154 + * value-range.h (frange::flush_denormals_to_zero): Make it public + rather than private. + * value-range.cc (frange::set): Don't call flush_denormals_to_zero + here. + * range-op-float.cc (range_operator_float::fold_range): Call + flush_denormals_to_zero. + +2023-03-28 Jakub Jelinek + + PR middle-end/106190 + * sanopt.cc (pass_sanopt::execute): Return TODO_cleanup_cfg if any + of the IFN_{UB,HWA,A}SAN_* internal fns are lowered. + +2023-03-28 Jakub Jelinek + + * range-op-float.cc (float_widen_lhs_range): Use pass get_nan_state + as 4th argument to set to avoid clear_nan and union_ calls. + +2023-03-28 Jakub Jelinek + + PR target/109276 + * config/i386/i386.cc (assign_386_stack_local): For DImode + with SLOT_FLOATxFDI_387 and -m32 -mpreferred-stack-boundary=2 pass + align 32 rather than 0 to assign_stack_local. + +2023-03-28 Eric Botcazou + + PR target/109140 + * config/sparc/sparc.cc (sparc_expand_vcond): Call signed_condition + on operand #3 to get the final condition code. Use std::swap. + * config/sparc/sparc.md (vcondv8qiv8qi): New VIS 4 expander. + (fucmp8_vis): Move around. + (fpcmpu_vis): Likewise. + (vcondu): New VIS 4 expander. + +2023-03-28 Eric Botcazou + + * doc/gm2.texi: Add missing Next, Previous and Top fields to most + top-level sections. + +2023-03-28 Costas Argyris + + * config.host: Pull in i386/x-mingw32-utf8 Makefile + fragment and reference utf8rc-mingw32.o explicitly + for mingw hosts. + * config/i386/sym-mingw32.cc: prevent name mangling of + stub symbol. + * config/i386/x-mingw32-utf8: Make utf8rc-mingw32.o + depend on manifest file explicitly. + +2023-03-28 Richard Biener + + Revert: + 2023-03-27 Richard Biener + + PR rtl-optimization/109237 + * cfgcleanup.cc (bb_is_just_return): Walk insns backwards. + +2023-03-28 Richard Biener + + * common.opt (gdwarf): Remove Negative(gdwarf-). + +2023-03-28 Richard Biener + + * common.opt (gdwarf): Add RejectNegative. + (gdwarf-): Likewise. + (ggdb): Likewise. + (gvms): Likewise. + +2023-03-28 Hans-Peter Nilsson + + * config/cris/constraints.md ("T"): Correct to + define_memory_constraint. + +2023-03-28 Hans-Peter Nilsson + + * config/cris/cris.md (BW2): New mode-iterator. + (lra_szext_decomposed, lra_szext_decomposed_indirect_with_offset): New + peephole2s. + +2023-03-28 Hans-Peter Nilsson + + * config/cris/cris.md ("*add3_addi"): Improve to bail only + for possible eliminable compares. + +2023-03-28 Hans-Peter Nilsson + + * config/cris/constraints.md ("R"): Remove unused constraint. + +2023-03-27 Jonathan Wakely + + PR gcov-profile/109297 + * gcov-tool.cc (merge_usage): Fix "subcomand" typo. + (merge_stream_usage): Likewise. + (overlap_usage): Likewise. + +2023-03-27 Christoph Müllner + + PR target/109296 + * config/riscv/thead.md: Add missing mode specifiers. + +2023-03-27 Philipp Tomsich + Jiangning Liu + Manolis Tsamis + + * config/aarch64/aarch64.cc: Update vector costs for ampere1. + +2023-03-27 Richard Biener + + PR rtl-optimization/109237 + * cfgcleanup.cc (bb_is_just_return): Walk insns backwards. + +2023-03-27 Richard Biener + + PR lto/109263 + * lto-wrapper.cc (run_gcc): Parse alternate debug options + as well, they always enable debug. + +2023-03-27 Kewen Lin + + PR target/109167 + * config/rs6000/emmintrin.h (_mm_bslli_si128): Move the implementation + from ... + (_mm_slli_si128): ... here. Change to call _mm_bslli_si128 directly. + +2023-03-27 Kewen Lin + + PR target/109082 + * config/rs6000/emmintrin.h (_mm_bslli_si128): Check __N is not less + than zero when calling vec_sld. + (_mm_bsrli_si128): Return __A if __N is zero, check __N is bigger than + zero when calling vec_sld. + (_mm_slli_si128): Return __A if _imm5 is zero, check _imm5 is bigger + than zero when calling vec_sld. + +2023-03-27 Sandra Loosemore + + * doc/generic.texi (OpenMP): Document OMP_SIMD, OMP_DISTRIBUTE, + OMP_TASKLOOP, and OMP_LOOP with OMP_FOR. Document how collapsed + loops are represented and which fields are vectors. Add + documentation for OMP_FOR_PRE_BODY field. Document internal + form of non-rectangular loops and OMP_FOR_NON_RECTANGULAR. + * tree.def (OMP_FOR): Make documentation consistent with the + Texinfo manual, to fill some gaps and correct errors. + +2023-03-26 Andreas Schwab + + PR target/106282 + * config/m68k/m68k.h (FINAL_PRESCAN_INSN): Define. + * config/m68k/m68k.cc (m68k_final_prescan_insn): Define. + (handle_move_double): Call it before handle_movsi. + * config/m68k/m68k-protos.h: Declare it. + +2023-03-26 Jakub Jelinek + + PR tree-optimization/109230 + * match.pd (fneg/fadd simplify): Verify also odd permutation indexes. + +2023-03-26 Jakub Jelinek + + PR ipa/105685 + * predict.cc (compute_function_frequency): Don't call + warn_function_cold if function already has cold attribute. + +2023-03-26 Gerald Pfeifer + + * doc/install.texi: Remove anachronistic note + related to languages built and separate source tarballs. + +2023-03-25 David Malcolm + + PR analyzer/109098 + * diagnostic-format-sarif.cc (read_until_eof): Delete. + (maybe_read_file): Delete. + (sarif_builder::maybe_make_artifact_content_object): Use + get_source_file_content rather than maybe_read_file. + Reject it if it's not valid UTF-8. + * input.cc (file_cache_slot::get_full_file_content): New. + (get_source_file_content): New. + (selftest::check_cpp_valid_utf8_p): New. + (selftest::test_cpp_valid_utf8_p): New. + (selftest::input_cc_tests): Call selftest::test_cpp_valid_utf8_p. + * input.h (get_source_file_content): New prototype. + +2023-03-24 David Malcolm + + * doc/analyzer.texi (Debugging the Analyzer): Add notes on useful + debugging options. + (Special Functions for Debugging the Analyzer): Convert to a + table, and rewrite in places. + (Other Debugging Techniques): Add notes on how to compare two + different exploded graphs. + +2023-03-24 David Malcolm + + PR other/109163 + * json.cc: Update comments to indicate that we now preserve + insertion order of keys within objects. + (object::print): Traverse keys in insertion order. + (object::set): Preserve insertion order of keys. + (selftest::test_writing_objects): Add an additional key to verify + that we preserve insertion order. + * json.h (object::m_keys): New field. + +2023-03-24 Andrew MacLeod + + PR tree-optimization/109238 + * gimple-range-cache.cc (ranger_cache::resolve_dom): Ignore + predecessors which this block dominates. + +2023-03-24 Richard Biener + + PR tree-optimization/106912 + * tree-profile.cc (tree_profiling): Update stmts only when + profiling or testing coverage. Make sure to update calls + fntype, stripping 'const' there. + +2023-03-24 Jakub Jelinek + + PR middle-end/109258 + * builtins.cc (inline_expand_builtin_bytecmp): Return NULL_RTX early + if target == const0_rtx. + +2023-03-24 Alexandre Oliva + + * doc/sourcebuild.texi (weak_undefined, posix_memalign): + Document options and effective targets. + +2023-03-24 Costas Argyris + + * config/i386/x-mingw32-utf8: Make HOST_EXTRA_OBJS_SYMBOL + optional. + +2023-03-23 Pat Haugen + + * config/rs6000/rs6000.md (*mod3, umod3): Add + non-earlyclobber alternative. + +2023-03-23 Andrew Pinski + + PR c/84900 + * fold-const.cc (maybe_lvalue_p): Treat COMPOUND_LITERAL_EXPR + as a lvalue. + +2023-03-23 Richard Biener + + PR tree-optimization/107569 + * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): + Do not push SSA names with zero uses as available leader. + (process_bb): Likewise. + +2023-03-23 Richard Biener + + PR tree-optimization/109262 + * tree-ssa-forwprop.cc (pass_forwprop::execute): When + combining a piecewise complex load avoid touching loads + that throw internally. Use fun, not cfun throughout. + +2023-03-23 Jakub Jelinek + + * value-range.cc (irange::irange_union, irange::intersect): Fix + comment spelling bugs. + * gimple-range-trace.cc (range_tracer::do_header): Likewise. + * gimple-range-trace.h: Likewise. + * gimple-range-edge.cc: Likewise. + (gimple_outgoing_range_stmt_p, + gimple_outgoing_range::switch_edge_range, + gimple_outgoing_range::edge_range_p): Likewise. + * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies, + gimple_ranger::fold_stmt, gimple_ranger::register_transitive_infer, + assume_query::assume_query, assume_query::calculate_phi): Likewise. + * gimple-range-edge.h: Likewise. + * value-range.h (Value_Range::set, Value_Range::lower_bound, + Value_Range::upper_bound, frange::set_undefined): Likewise. + * gimple-range-gori.h (range_def_chain::depend, gori_map::m_outgoing, + gori_compute): Likewise. + * gimple-range-fold.h (fold_using_range): Likewise. + * gimple-range-path.cc (path_range_query::compute_ranges_in_phis): + Likewise. + * gimple-range-gori.cc (range_def_chain::in_chain_p, + range_def_chain::dump, gori_map::calculate_gori, + gori_compute::compute_operand_range_switch, + gori_compute::logical_combine, gori_compute::refine_using_relation, + gori_compute::compute_operand1_range, gori_compute::may_recompute_p): + Likewise. + * gimple-range.h: Likewise. + (enable_ranger): Likewise. + * range-op.h (empty_range_varying): Likewise. + * value-query.h (value_query): Likewise. + * gimple-range-cache.cc (block_range_cache::set_bb_range, + block_range_cache::dump, ssa_global_cache::clear_global_range, + temporal_cache::temporal_value, temporal_cache::current_p, + ranger_cache::range_of_def, ranger_cache::propagate_updated_value, + ranger_cache::range_from_dom, ranger_cache::register_inferred_value): + Likewise. + * gimple-range-fold.cc (fur_edge::get_phi_operand, + fur_stmt::get_operand, gimple_range_adjustment, + fold_using_range::range_of_phi, + fold_using_range::relation_fold_and_or): Likewise. + * value-range-storage.h (irange_storage_slot::MAX_INTS): Likewise. + * value-query.cc (range_query::value_of_expr, + range_query::value_on_edge, range_query::query_relation): Likewise. + * tree-vrp.cc (remove_unreachable::remove_and_update_globals, + intersect_range_with_nonzero_bits): Likewise. + * gimple-range-infer.cc (gimple_infer_range::check_assume_func, + exit_range): Likewise. + * value-relation.h: Likewise. + (equiv_oracle, relation_trio::relation_trio, value_relation, + value_relation::value_relation, pe_min): Likewise. + * range-op-float.cc (range_operator_float::rv_fold, + frange_arithmetic, foperator_unordered_equal::op1_range, + foperator_div::rv_fold): Likewise. + * gimple-range-op.cc (cfn_clz::fold_range): Likewise. + * value-relation.cc (equiv_oracle::query_relation, + equiv_oracle::register_equiv, equiv_oracle::add_equiv_to_block, + value_relation::apply_transitive, relation_chain_head::find_relation, + dom_oracle::query_relation, dom_oracle::find_relation_block, + dom_oracle::find_relation_dom, path_oracle::register_equiv): Likewise. + * range-op.cc (range_operator::wi_fold_in_parts_equiv, + create_possibly_reversed_range, adjust_op1_for_overflow, + operator_mult::wi_fold, operator_exact_divide::op1_range, + operator_cast::lhs_op1_relation, operator_cast::fold_pair, + operator_cast::fold_range, operator_abs::wi_fold, range_op_cast_tests, + range_op_lshift_tests): Likewise. + +2023-03-23 Andrew Stubbs + + * config/gcn/gcn.cc (gcn_class_max_nregs): Handle vectors in SGPRs. + (move_callee_saved_registers): Detect the bug condition early. + +2023-03-23 Andrew Stubbs + + * config/gcn/gcn-protos.h (gcn_stepped_zero_int_parallel_p): New. + * config/gcn/gcn-valu.md (V_1REG_ALT): New. + (V_2REG_ALT): New. + (vec_extract_nop): New. + (vec_extract_nop): New. + (vec_extract): Use new patterns. + * config/gcn/gcn.cc (gcn_stepped_zero_int_parallel_p): New. + * config/gcn/predicates.md (ascending_zero_int_parallel): New. + +2023-03-23 Jakub Jelinek + + PR tree-optimization/109176 + * tree-vect-generic.cc (expand_vector_condition): If a has + vector boolean type and is a comparison, also check if both + the comparison and VEC_COND_EXPR could be successfully expanded + individually. + +2023-03-23 Pan Li + Ju-Zhe Zhong + + PR target/108654 + PR target/108185 + * config/riscv/riscv-modes.def (ADJUST_BYTESIZE): Adjust size + for vector mask modes. + * config/riscv/riscv.cc (riscv_v_adjust_bytesize): New. + * config/riscv/riscv.h (riscv_v_adjust_bytesize): New. + +2023-03-23 Songhe Zhu + + * config/riscv/multilib-generator: Adjusting the loop of 'alt' in 'alts'. + +2023-03-23 Ju-Zhe Zhong + + PR target/109244 + * config/riscv/riscv-protos.h (emit_vlmax_vsetvl): Define as global. + (emit_vlmax_op): Ditto. + * config/riscv/riscv-v.cc (get_sew): New function. + (emit_vlmax_vsetvl): Adapt function. + (emit_pred_op): Ditto. + (emit_vlmax_op): Ditto. + (emit_nonvlmax_op): Ditto. + (legitimize_move): Fix LRA ICE. + (gen_no_side_effects_vsetvl_rtx): Adapt function. + * config/riscv/vector.md (@mov_lra): New pattern. + (@mov_lra): Ditto. + (*mov_lra): Ditto. + (*mov_lra): Ditto. + +2023-03-23 Ju-Zhe Zhong + + PR target/109228 + * config/riscv/riscv-vector-builtins-bases.cc (class vlenb): Add + __riscv_vlenb support. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vlenb): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct vlenb_def): Ditto. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc: Ditto. + +2023-03-23 Ju-Zhe Zhong + kito-cheng + + * config/riscv/riscv-vsetvl.cc (reg_available_p): Fix bugs. + (pass_vsetvl::compute_local_backward_infos): Fix bugs. + (pass_vsetvl::need_vsetvl): Fix bugs. + (pass_vsetvl::backward_demand_fusion): Fix bugs. + (pass_vsetvl::demand_fusion): Fix bugs. + (eliminate_insn): Fix bugs. + (insert_vsetvl): Ditto. + (pass_vsetvl::emit_local_forward_vsetvls): Ditto. + * config/riscv/riscv-vsetvl.h (enum vsetvl_type): Ditto. + * config/riscv/vector.md: Ditto. + +2023-03-23 Ju-Zhe Zhong + kito-cheng + + * config/riscv/riscv-vector-builtins-bases.cc: Fix ternary bug. + * config/riscv/vector-iterators.md (nmsac): Ditto. + (nmsub): Ditto. + (msac): Ditto. + (msub): Ditto. + (nmadd): Ditto. + (nmacc): Ditto. + * config/riscv/vector.md (@pred_mul_): Ditto. + (@pred_mul_plus): Ditto. + (*pred_madd): Ditto. + (*pred_macc): Ditto. + (*pred_mul_plus): Ditto. + (@pred_mul_plus_scalar): Ditto. + (*pred_madd_scalar): Ditto. + (*pred_macc_scalar): Ditto. + (*pred_mul_plus_scalar): Ditto. + (*pred_madd_extended_scalar): Ditto. + (*pred_macc_extended_scalar): Ditto. + (*pred_mul_plus_extended_scalar): Ditto. + (@pred_minus_mul): Ditto. + (*pred_): Ditto. + (*pred_nmsub): Ditto. + (*pred_): Ditto. + (*pred_nmsac): Ditto. + (*pred_mul_): Ditto. + (*pred_minus_mul): Ditto. + (@pred_mul__scalar): Ditto. + (@pred_minus_mul_scalar): Ditto. + (*pred__scalar): Ditto. + (*pred_nmsub_scalar): Ditto. + (*pred__scalar): Ditto. + (*pred_nmsac_scalar): Ditto. + (*pred_mul__scalar): Ditto. + (*pred_minus_mul_scalar): Ditto. + (*pred__extended_scalar): Ditto. + (*pred_nmsub_extended_scalar): Ditto. + (*pred__extended_scalar): Ditto. + (*pred_nmsac_extended_scalar): Ditto. + (*pred_mul__extended_scalar): Ditto. + (*pred_minus_mul_extended_scalar): Ditto. + (*pred_): Ditto. + (*pred_): Ditto. + (*pred__scalar): Ditto. + (*pred__scalar): Ditto. + (@pred_neg_mul_): Ditto. + (@pred_mul_neg_): Ditto. + (*pred_): Ditto. + (*pred_): Ditto. + (*pred_): Ditto. + (*pred_): Ditto. + (*pred_neg_mul_): Ditto. + (*pred_mul_neg_): Ditto. + (@pred_neg_mul__scalar): Ditto. + (@pred_mul_neg__scalar): Ditto. + (*pred__scalar): Ditto. + (*pred__scalar): Ditto. + (*pred__scalar): Ditto. + (*pred__scalar): Ditto. + (*pred_neg_mul__scalar): Ditto. + (*pred_mul_neg__scalar): Ditto. + (@pred_widen_neg_mul_): Ditto. + (@pred_widen_mul_neg_): Ditto. + (@pred_widen_neg_mul__scalar): Ditto. + (@pred_widen_mul_neg__scalar): Ditto. + +2023-03-23 liuhongt + + * builtins.cc (builtin_memset_read_str): Replace + targetm.gen_memset_scratch_rtx with gen_reg_rtx. + (builtin_memset_gen_str): Ditto. + * config/i386/i386-expand.cc + (ix86_convert_const_wide_int_to_broadcast): Replace + ix86_gen_scratch_sse_rtx with gen_reg_rtx. + (ix86_expand_vector_move): Ditto. + * config/i386/i386-protos.h (ix86_gen_scratch_sse_rtx): + Removed. + * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Removed. + (TARGET_GEN_MEMSET_SCRATCH_RTX): Removed. + * doc/tm.texi: Remove TARGET_GEN_MEMSET_SCRATCH_RTX. + * doc/tm.texi.in: Ditto. + * target.def: Ditto. + +2023-03-22 Vladimir N. Makarov + + * lra.cc (lra): Do not repeat inheritance and live range splitting + when asm error is found. + +2023-03-22 Andrew Jenner + + * config/gcn/gcn-protos.h (gcn_expand_dpp_swap_pairs_insn) + (gcn_expand_dpp_distribute_even_insn) + (gcn_expand_dpp_distribute_odd_insn): Declare. + * config/gcn/gcn-valu.md (@dpp_swap_pairs) + (@dpp_distribute_even, @dpp_distribute_odd) + (cmul3, cml4, vec_addsub3) + (cadd3, vec_fmaddsub4, vec_fmsubadd4) + (fms4, fms4_negop2, fms4) + (fms4_negop2): New patterns. + * config/gcn/gcn.cc (gcn_expand_dpp_swap_pairs_insn) + (gcn_expand_dpp_distribute_even_insn) + (gcn_expand_dpp_distribute_odd_insn): New functions. + * config/gcn/gcn.md: Add entries to unspec enum. + +2023-03-22 Aldy Hernandez + + PR tree-optimization/109008 + * value-range.cc (frange::set): Add nan_state argument. + * value-range.h (class nan_state): New. + (frange::get_nan_state): New. + +2023-03-22 Martin Liska + + * configure: Regenerate. + +2023-03-21 Joseph Myers + + * stor-layout.cc (finalize_type_size): Copy TYPE_TYPELESS_STORAGE + to variants. + +2023-03-21 Andrew MacLeod + + PR tree-optimization/109192 + * gimple-range-gori.cc (gori_compute::compute_operand_range): + Terminate gori calculations if a relation is not relevant. + * value-relation.h (value_relation::set_relation): Allow + equality between op1 and op2 if they are the same. + +2023-03-21 Richard Biener + + PR tree-optimization/109219 + * tree-vect-loop.cc (vectorizable_reduction): Check + slp_node, not STMT_SLP_TYPE. + * tree-vect-stmts.cc (vectorizable_condition): Likewise. + * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): + Remove assertion on STMT_SLP_TYPE. + +2023-03-21 Jakub Jelinek + + PR tree-optimization/109215 + * tree.h (enum special_array_member): Adjust comments for int_0 + and trail_0. + * tree.cc (component_ref_sam_type): Clear zero_elts if memtype + has zero sized element type and the array has variable number of + elements or constant one or more elements. + (component_ref_size): Adjust comments, formatting fix. + +2023-03-21 Arsen Arsenović + + * configure.ac: Add check for the Texinfo 6.8 + CONTENTS_OUTPUT_LOCATION customization variable and set it if + supported. + * configure: Regenerate. + * Makefile.in (MAKEINFO_TOC_INLINE_FLAG): New variable. Set by + configure.ac to -c CONTENTS_OUTPUT_LOCATION=inline if + CONTENTS_OUTPUT_LOCATION support is detected, empty otherwise. + ($(build_htmldir)/%/index.html): Pass MAKEINFO_TOC_INLINE_FLAG. + +2023-03-21 Arsen Arsenović + + * doc/extend.texi: Associate use_hazard_barrier_return index + entry with its attribute. + * doc/invoke.texi: Associate -fcanon-prefix-map index entry with + its attribute + +2023-03-21 Arsen Arsenović + + * doc/implement-c.texi: Remove usage of @gol. + * doc/invoke.texi: Ditto. + * doc/sourcebuild.texi: Ditto. + * doc/include/gcc-common.texi: Remove @gol. In new Makeinfo and + texinfo.tex versions, the bug it was working around appears to + be gone. + +2023-03-21 Arsen Arsenović + + * doc/include/texinfo.tex: Update to 2023-01-17.19. + +2023-03-21 Arsen Arsenović + + * doc/include/gcc-common.texi: Add @defbuiltin{,x} and + @enddefbuiltin for defining built-in functions. + * doc/extend.texi: Apply @defbuiltin{,x} to many, but not all, + places where it should be used. + +2023-03-21 Arsen Arsenović + + * doc/extend.texi (Formatted Output Function Checking): New + subsection for grouping together printf et al. + (Exception handling) Fix missing @ sign before copyright + header, which lead to the copyright line leaking into + '(gcc)Exception handling'. + * doc/gcc.texi: Set document language to en_US. + (@copying): Wrap front cover texts in quotations, move in manual + description text. + +2023-03-21 Arsen Arsenović + + * doc/gcc.texi: Add the Indices appendix, to make texinfo + generate nice indices overview page. + +2023-03-21 Richard Biener + + PR tree-optimization/109170 + * gimple-range-op.cc (cfn_pass_through_arg1): New. + (gimple_range_op_handler::maybe_builtin_call): Handle + __builtin_expect via cfn_pass_through_arg1. + +2023-03-20 Michael Meissner + + PR target/109067 + * config/rs6000/rs6000.cc (create_complex_muldiv): Delete. + (init_float128_ieee): Delete code to switch complex multiply and divide + for long double. + (complex_multiply_builtin_code): New helper function. + (complex_divide_builtin_code): Likewise. + (rs6000_mangle_decl_assembler_name): Add support for mangling the name + of complex 128-bit multiply and divide built-in functions. + +2023-03-20 Peter Bergner + + PR target/109178 + * config/rs6000/rs6000-builtin.cc (stv_expand_builtin): Use tmode. + +2023-03-19 Jonny Grant + + * doc/extend.texi (Common Function Attributes) : + Correct typo. + +2023-03-18 Peter Bergner + + PR rtl-optimization/109179 + * lra-constraints.cc (combine_reload_insn): Enforce TO is not a debug + insn or note. Move the tests earlier to guard lra_get_insn_recog_data. + +2023-03-17 Jakub Jelinek + + PR target/105554 + * function.h (push_struct_function): Add ABSTRACT_P argument defaulted + to false. + * function.cc (push_struct_function): Add ABSTRACT_P argument, pass it + to allocate_struct_function instead of false. + * tree-inline.cc (initialize_cfun): Don't copy DECL_ARGUMENTS + nor DECL_RESULT here. Pass true as ABSTRACT_P to + push_struct_function. Call targetm.target_option.relayout_function + after it. + (tree_function_versioning): Formatting fix. + +2023-03-17 Vladimir N. Makarov + + * lra-constraints.cc: Include hooks.h. + (combine_reload_insn): New function. + (lra_constraints): Call it. + +2023-03-17 Ju-Zhe Zhong + kito-cheng + + * config/riscv/riscv-v.cc (legitimize_move): Allow undef value + as legitimate value. + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_ternop_insn): Fix bugs of ternary intrinsic. + (function_expander::use_widen_ternop_insn): Ditto. + * config/riscv/vector.md (@vundefined): New pattern. + (pred_mul__undef_merge): Remove. + (*pred_mul__undef_merge_scalar): Ditto. + (*pred_mul__undef_merge_extended_scalar): Ditto. + (pred_neg_mul__undef_merge): Ditto. + (*pred_neg_mul__undef_merge_scalar): Ditto. + +2023-03-17 Ju-Zhe Zhong + + PR target/109092 + * config/riscv/riscv.md: Fix subreg bug. + +2023-03-17 Jakub Jelinek + + PR middle-end/108685 + * omp-expand.cc (expand_omp_for_ordered_loops): Add L0_BB argument, + use its loop_father rather than BODY_BB's loop_father. + (expand_omp_for_generic): Adjust expand_omp_for_ordered_loops caller. + If broken_loop with ordered > collapse and at least one of those + extra loops aren't guaranteed to have at least one iteration, change + l0_bb's loop_father to entry_bb's loop_father. Set cont_bb's + loop_father to l0_bb's loop_father rather than l1_bb's. + +2023-03-17 Jakub Jelinek + + PR plugins/108634 + * gdbhooks.py (TreePrinter.to_string): Wrap + gdb.parse_and_eval('tree_code_type') in a try block, parse + and eval 'tree_code_type_tmpl<0>::tree_code_type' instead if it + raises exception. Update comments for the recent tree_code_type + changes. + +2023-03-17 Sandra Loosemore + + * doc/extend.texi (BPF Built-in Functions): Fix numerous markup + issues. Add more line breaks to example so it doesn't overflow + the margins. + +2023-03-17 Sandra Loosemore + + * doc/extend.texi (Common Function Attributes) : Fix bad + line breaks in examples. + : Fix bad line breaks in running text, also copy-edit + for consistency. + (Extended Asm) : Fix @multitable width. + * doc/invoke.texi (Option Summary) : Fix misplaced + @gol. + (C++ Dialect Options) <-fcontracts>: Add line break in example. + <-Wctad-maybe-unsupported>: Likewise. + <-Winvalid-constexpr>: Likewise. + (Warning Options) <-Wdangling-pointer>: Likewise. + <-Winterference-size>: Likewise. + <-Wvla-parameter>: Likewise. + (Static Analyzer Options): Fix bad line breaks in running text, + plus add some missing markup. + (Optimize Options) : Fix more bad line + breaks in running text. + +2023-03-16 Uros Bizjak + + * config/i386/i386-expand.cc (expand_vec_perm_pblendv): + Handle 8-byte modes only with TARGET_MMX_WITH_SSE. + (expand_vec_perm_2perm_pblendv): Ditto. + +2023-03-16 Martin Liska + + PR middle-end/106133 + * gcc.cc (driver_handle_option): Use x_main_input_basename + if x_dump_base_name is null. + * opts.cc (common_handle_option): Likewise. + +2023-03-16 Richard Biener + + PR tree-optimization/109123 + * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): + Do not emit -Wuse-after-free late. + (pass_waccess::check_call): Always check call pointer uses. + +2023-03-16 Richard Biener + + PR tree-optimization/109141 + * tree-dfa.h (renumber_gimple_stmt_uids_in_block): New. + * tree-dfa.cc (renumber_gimple_stmt_uids_in_block): Split + out from ... + (renumber_gimple_stmt_uids): ... here and + (renumber_gimple_stmt_uids_in_blocks): ... here. + * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): + Use renumber_gimple_stmt_uids_in_block to also assign UIDs + to PHIs. + (pass_waccess::check_pointer_uses): Process all PHIs. + +2023-03-15 David Malcolm + + PR analyzer/109097 + * diagnostic-format-sarif.cc (class sarif_invocation): New. + (class sarif_ice_notification): New. + (sarif_builder::m_invocation_obj): New field. + (sarif_invocation::add_notification_for_ice): New. + (sarif_invocation::prepare_to_flush): New. + (sarif_ice_notification::sarif_ice_notification): New. + (sarif_builder::sarif_builder): Add m_invocation_obj. + (sarif_builder::end_diagnostic): Special-case DK_ICE and + DK_ICE_NOBT. + (sarif_builder::flush_to_file): Call prepare_to_flush on + m_invocation_obj. Pass the latter to make_top_level_object. + (sarif_builder::make_result_object): Move creation of "locations" + array to... + (sarif_builder::make_locations_arr): ...this new function. + (sarif_builder::make_top_level_object): Add "invocation_obj" param + and pass it to make_run_object. + (sarif_builder::make_run_object): Add "invocation_obj" param and + use it. + (sarif_ice_handler): New callback. + (diagnostic_output_format_init_sarif): Wire up sarif_ice_handler. + * diagnostic.cc (diagnostic_initialize): Initialize new field + "ice_handler_cb". + (diagnostic_action_after_output): If it is set, make one attempt + to call ice_handler_cb. + * diagnostic.h (diagnostic_context::ice_handler_cb): New field. + +2023-03-15 Uros Bizjak + + * config/i386/i386-expand.cc (expand_vec_perm_blend): + Handle 8-byte modes only with TARGET_MMX_WITH_SSE. Handle V2SFmode + and fix V2HImode handling. + (expand_vec_perm_1): Try to emit BLEND instruction + before MOVSS/MOVSD. + * config/i386/mmx.md (*mmx_blendps): New insn pattern. + +2023-03-15 Tobias Burnus + + * omp-low.cc (omp_runtime_api_call): Add omp_in_explicit_task. + +2023-03-15 Richard Biener + + * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): + Do not diagnose clobbers. + +2023-03-15 Richard Biener + + PR tree-optimization/109139 + * tree-ssa-live.cc (remove_unused_locals): Look at the + base address for unused decls on the LHS of .DEFERRED_INIT. + +2023-03-15 Xi Ruoyao + + PR other/109086 + * builtins.cc (inline_string_cmp): Force the character + difference into "result" pseudo-register, instead of reassign + the pseudo-register. + +2023-03-15 Christoph Müllner + + * config.gcc: Add thead.o to RISC-V extra_objs. + * config/riscv/peephole.md: Add mempair peephole passes. + * config/riscv/riscv-protos.h (riscv_split_64bit_move_p): New + prototype. + (th_mempair_operands_p): Likewise. + (th_mempair_order_operands): Likewise. + (th_mempair_prepare_save_restore_operands): Likewise. + (th_mempair_save_restore_regs): Likewise. + (th_mempair_output_move): Likewise. + * config/riscv/riscv.cc (riscv_save_reg): Move code. + (riscv_restore_reg): Move code. + (riscv_for_each_saved_reg): Add code to emit mempair insns. + * config/riscv/t-riscv: Add thead.cc. + * config/riscv/thead.md (*th_mempair_load_2): + New insn. + (*th_mempair_store_2): Likewise. + (*th_mempair_load_extendsidi2): Likewise. + (*th_mempair_load_zero_extendsidi2): Likewise. + * config/riscv/thead.cc: New file. + +2023-03-15 Christoph Müllner + + * config/riscv/constraints.md (TARGET_XTHEADFMV ? FP_REGS : NO_REGS) + New constraint "th_f_fmv". + (TARGET_XTHEADFMV ? GR_REGS : NO_REGS): New constraint + "th_r_fmv". + * config/riscv/riscv.cc (riscv_split_doubleword_move): + Add split code for XTheadFmv. + (riscv_secondary_memory_needed): XTheadFmv does not need + secondary memory. + * config/riscv/riscv.md: Add new UNSPEC_XTHEADFMV and + UNSPEC_XTHEADFMV_HW. Add support for XTheadFmv to + movdf_hardfloat_rv32. + * config/riscv/thead.md (th_fmv_hw_w_x): New INSN. + (th_fmv_x_w): New INSN. + (th_fmv_x_hw): New INSN. + +2023-03-15 Christoph Müllner + + * config/riscv/riscv.md (maddhisi4): New expand. + (msubhisi4): New expand. + * config/riscv/thead.md (*th_mula): New pattern. + (*th_mulawsi): New pattern. + (*th_mulawsi2): New pattern. + (*th_maddhisi4): New pattern. + (*th_sextw_maddhisi4): New pattern. + (*th_muls): New pattern. + (*th_mulswsi): New pattern. + (*th_mulswsi2): New pattern. + (*th_msubhisi4): New pattern. + (*th_sextw_msubhisi4): New pattern. + +2023-03-15 Christoph Müllner + + * config/riscv/iterators.md (TARGET_64BIT): Add GPR2 iterator. + * config/riscv/riscv-protos.h (riscv_expand_conditional_move): + Add prototype. + * config/riscv/riscv.cc (riscv_rtx_costs): Add costs for + XTheadCondMov. + (riscv_expand_conditional_move): New function. + (riscv_expand_conditional_move_onesided): New function. + * config/riscv/riscv.md: Add support for XTheadCondMov. + * config/riscv/thead.md (*th_cond_mov): Add + support for XTheadCondMov. + (*th_cond_gpr_mov): Likewise. + +2023-03-15 Christoph Müllner + + * config/riscv/bitmanip.md (clzdi2): New expand. + (clzsi2): New expand. + (ctz2): New expand. + (popcount2): New expand. + (si2): Rename INSN. + (*si2): Hide INSN name. + (di2): Rename INSN. + (*di2): Hide INSN name. + (rotrsi3): Remove INSN. + (rotr3): Add expand. + (*rotrsi3): New INSN. + (rotrdi3): Rename INSN. + (*rotrdi3): Hide INSN name. + (rotrsi3_sext): Rename INSN. + (*rotrsi3_sext): Hide INSN name. + (bswap2): Remove INSN. + (bswapdi2): Add expand. + (bswapsi2): Add expand. + (*bswap2): Hide INSN name. + * config/riscv/riscv.cc (riscv_rtx_costs): Add costs for sign + extraction. + * config/riscv/riscv.md (extv): New expand. + (extzv): New expand. + * config/riscv/thead.md (*th_srri3): New INSN. + (*th_ext): New INSN. + (*th_extu): New INSN. + (*th_clz2): New INSN. + (*th_rev2): New INSN. + +2023-03-15 Christoph Müllner + + * config/riscv/riscv.cc (riscv_rtx_costs): Add xthead:tst cost. + * config/riscv/thead.md (*th_tst3): New INSN. + +2023-03-15 Christoph Müllner + + * config/riscv/riscv.md: Include thead.md + * config/riscv/thead.md: New file. + +2023-03-15 Christoph Müllner + + * config/riscv/riscv-cores.def (RISCV_CORE): Add "thead-c906". + +2023-03-15 Christoph Müllner + + * common/config/riscv/riscv-common.cc: Add xthead* extensions. + * config/riscv/riscv-opts.h (MASK_XTHEADBA): New. + (MASK_XTHEADBB): New. + (MASK_XTHEADBS): New. + (MASK_XTHEADCMO): New. + (MASK_XTHEADCONDMOV): New. + (MASK_XTHEADFMEMIDX): New. + (MASK_XTHEADFMV): New. + (MASK_XTHEADINT): New. + (MASK_XTHEADMAC): New. + (MASK_XTHEADMEMIDX): New. + (MASK_XTHEADMEMPAIR): New. + (MASK_XTHEADSYNC): New. + (TARGET_XTHEADBA): New. + (TARGET_XTHEADBB): New. + (TARGET_XTHEADBS): New. + (TARGET_XTHEADCMO): New. + (TARGET_XTHEADCONDMOV): New. + (TARGET_XTHEADFMEMIDX): New. + (TARGET_XTHEADFMV): New. + (TARGET_XTHEADINT): New. + (TARGET_XTHEADMAC): New. + (TARGET_XTHEADMEMIDX): New. + (TARGET_XTHEADMEMPAIR): new. + (TARGET_XTHEADSYNC): New. + * config/riscv/riscv.opt: Add riscv_xthead_subext. + +2023-03-15 Hu, Lin1 + + PR target/109117 + * config/i386/i386-builtin.def (__builtin_ia32_vaesdec_v16qi, + __builtin_ia32_vaesdeclast_v16qi,__builtin_ia32_vaesenc_v16qi, + __builtin_ia32_vaesenclast_v16qi): Require OPTION_MASK_ISA_AVX512VL. + +2023-03-14 Jakub Jelinek + + PR target/109109 + * config/i386/i386-expand.cc (split_double_concat): Fix splitting + when lo is equal to dhi and hi is a MEM which uses dlo register. + +2023-03-14 Martin Jambor + + PR ipa/107925 + * ipa-cp.cc (update_profiling_info): Drop counts of orig_node to + global0 instead of zeroing when it does not have as many counts as + it should. + +2023-03-14 Martin Jambor + + PR ipa/107925 + * ipa-cp.cc (update_specialized_profile): Drop orig_node_count to + ipa count, remove assert, lenient_count_portion_handling, dump + also orig_node_count. + +2023-03-14 Uros Bizjak + + * config/i386/i386-expand.cc (expand_vec_perm_movs): + Handle V2SImode for TARGET_MMX_WITH_SSE. + * config/i386/mmx.md (*mmx_movss_): Rename from *mmx_movss + using V2FI mode iterator to handle both V2SI and V2SF modes. + +2023-03-14 Sam James + + * config/riscv/genrvv-type-indexer.cc: Avoid calloc() poisoning on musl by + including earlier. + * system.h: Add INCLUDE_SSTREAM. + +2023-03-14 Richard Biener + + * tree-ssa-live.cc (remove_unused_locals): Do not treat + the .DEFERRED_INIT of a variable as use, instead remove + that if it is the only use. + +2023-03-14 Eric Botcazou + + PR rtl-optimization/107762 + * expr.cc (emit_group_store): Revert latest change. + +2023-03-14 Andre Vieira + + PR tree-optimization/109005 + * tree-if-conv.cc (get_bitfield_rep): Replace BLKmode check with + aggregate type check. + +2023-03-14 Jakub Jelinek + + PR tree-optimization/109115 + * tree-vect-patterns.cc (vect_recog_divmod_pattern): Don't use + r.upper_bound () on r.undefined_p () range. + +2023-03-14 Jan Hubicka + + PR tree-optimization/106896 + * profile-count.cc (profile_count::to_sreal_scale): Synchronize + implementatoin with probability_in; avoid some asserts. + +2023-03-13 Max Filippov + + * config/xtensa/linux.h (TARGET_ASM_FILE_END): New macro. + +2023-03-13 Sean Bright + + * doc/invoke.texi (Warning Options): Remove errant 'See' + before @xref. + +2023-03-13 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.h (REG_OK_STRICT, REG_OK_FOR_INDEX_P, + REG_OK_FOR_BASE_P): Remove. + +2023-03-13 Ju-Zhe Zhong + + * config/riscv/vector-iterators.md (=vd,vr): Fine tune. + (=vd,vd,vr,vr): Ditto. + * config/riscv/vector.md: Ditto. + +2023-03-13 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_compare_insn): Add operand predicate check. + +2023-03-13 Ju-Zhe Zhong + + * config/riscv/vector.md: Fine tune RA constraints. + +2023-03-13 Tobias Burnus + + * config/gcn/mkoffload.cc (main): Pass -save-temps on for the + hsaco assemble/link. + +2023-03-13 Richard Biener + + PR tree-optimization/109046 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Combine + piecewise complex loads. + +2023-03-12 Jakub Jelinek + + * config/aarch64/aarch64.h (aarch64_bf16_type_node): Remove. + (aarch64_bf16_ptr_type_node): Adjust comment. + * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr): Use + bfloat16_type_node rather than aarch64_bf16_type_node. + (aarch64_libgcc_floating_mode_supported_p, + aarch64_scalar_mode_supported_p): Also support BFmode. + (aarch64_invalid_conversion, aarch64_invalid_unary_op): Remove. + (aarch64_invalid_binary_op): Remove BFmode related rejections. + (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP): Don't redefine. + * config/aarch64/aarch64-builtins.cc (aarch64_bf16_type_node): Remove. + (aarch64_int_or_fp_type): Use bfloat16_type_node rather than + aarch64_bf16_type_node. + (aarch64_init_simd_builtin_types): Likewise. + (aarch64_init_bf16_types): Likewise. Don't create bfloat16_type_node, + which is created in tree.cc already. + * config/aarch64/aarch64-sve-builtins.def (svbfloat16_t): Likewise. + +2023-03-12 Roger Sayle + + PR middle-end/109031 + * tree-chrec.cc (chrec_apply): When folding "{a, +, a} (x-1)", + ensure that the type of x is as wide or wider than the type of a. + +2023-03-12 Tamar Christina + + PR target/108583 + * config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv3): Remove. + (*bitmask_shift_plus): New. + * config/aarch64/aarch64-sve2.md (*bitmask_shift_plus): New. + (@aarch64_bitmask_udiv3): Remove. + * config/aarch64/aarch64.cc + (aarch64_vectorize_can_special_div_by_constant, + TARGET_VECTORIZE_CAN_SPECIAL_DIV_BY_CONST): Removed. + (TARGET_VECTORIZE_PREFERRED_DIV_AS_SHIFTS_OVER_MULT, + aarch64_vectorize_preferred_div_as_shifts_over_mult): New. + +2023-03-12 Tamar Christina + + PR target/108583 + * target.def (preferred_div_as_shifts_over_mult): New. + * doc/tm.texi.in: Document it. + * doc/tm.texi: Regenerate. + * targhooks.cc (default_preferred_div_as_shifts_over_mult): New. + * targhooks.h (default_preferred_div_as_shifts_over_mult): New. + * tree-vect-patterns.cc (vect_recog_divmod_pattern): Use it. + +2023-03-12 Tamar Christina + Richard Sandiford + + PR target/108583 + * tree-ssa-math-opts.cc (convert_mult_to_fma): Inhibit FMA in case not + single use. + +2023-03-12 Tamar Christina + Andrew MacLeod + + PR target/108583 + * gimple-range-op.h (gimple_range_op_handler): Add maybe_non_standard. + * gimple-range-op.cc (gimple_range_op_handler::gimple_range_op_handler): + Use it. + (gimple_range_op_handler::maybe_non_standard): New. + * range-op.cc (class operator_widen_plus_signed, + operator_widen_plus_signed::wi_fold, class operator_widen_plus_unsigned, + operator_widen_plus_unsigned::wi_fold, class operator_widen_mult_signed, + operator_widen_mult_signed::wi_fold, class operator_widen_mult_unsigned, + operator_widen_mult_unsigned::wi_fold, + ptr_op_widen_mult_signed, ptr_op_widen_mult_unsigned, + ptr_op_widen_plus_signed, ptr_op_widen_plus_unsigned): New. + * range-op.h (ptr_op_widen_mult_signed, ptr_op_widen_mult_unsigned, + ptr_op_widen_plus_signed, ptr_op_widen_plus_unsigned): New + +2023-03-12 Tamar Christina + + PR target/108583 + * doc/tm.texi (TARGET_VECTORIZE_CAN_SPECIAL_DIV_BY_CONST): Remove. + * doc/tm.texi.in: Likewise. + * explow.cc (round_push, align_dynamic_address): Revert previous patch. + * expmed.cc (expand_divmod): Likewise. + * expmed.h (expand_divmod): Likewise. + * expr.cc (force_operand, expand_expr_divmod): Likewise. + * optabs.cc (expand_doubleword_mod, expand_doubleword_divmod): Likewise. + * target.def (can_special_div_by_const): Remove. + * target.h: Remove tree-core.h include + * targhooks.cc (default_can_special_div_by_const): Remove. + * targhooks.h (default_can_special_div_by_const): Remove. + * tree-vect-generic.cc (expand_vector_operation): Remove hook. + * tree-vect-patterns.cc (vect_recog_divmod_pattern): Remove hook. + * tree-vect-stmts.cc (vectorizable_operation): Remove hook. + +2023-03-12 Sandra Loosemore + + * doc/install.texi2html: Fix issue number typo in comment. + +2023-03-12 Gaius Mulley + + * doc/gm2.texi (Elementary data types): Equivalence BOOLEAN with + bool. + +2023-03-12 Sandra Loosemore + + * doc/invoke.texi (Optimize Options): Add markup to + description of asan-kernel-mem-intrinsic-prefix, and clarify + wording slightly. + +2023-03-11 Gerald Pfeifer + + * doc/extend.texi (Named Address Spaces): Drop a redundant link + to AVR-LibC. + +2023-03-11 Jeff Law + + PR web/88860 + * doc/extend.texi: Clarify Attribute Syntax a bit. + +2023-03-11 Sandra Loosemore + + * doc/install.texi (Prerequisites): Suggest using newer versions + of Texinfo. + (Final install): Clean up and modernize discussion of how to + build or obtain the GCC manuals. + * doc/install.texi2html: Update comment to point to the PR instead + of "makeinfo 4.7 brokenness" (it's not specific to that version). + +2023-03-10 Jakub Jelinek + + PR target/107703 + * optabs.cc (expand_fix): For conversions from BFmode to integral, + use shifts to convert it to SFmode first and then convert SFmode + to integral. + +2023-03-10 Andrew Pinski + + * config/aarch64/aarch64.md: Add a new define_split + to help combine. + +2023-03-10 Richard Biener + + * tree-ssa-structalias.cc (solve_graph): Immediately + iterate self-cycles. + +2023-03-10 Jakub Jelinek + + PR tree-optimization/109008 + * range-op-float.cc (float_widen_lhs_range): If not + -frounding-math and not IBM double double format, extend lhs + range just by 0.5ulp rather than 1ulp in each direction. + +2023-03-10 Jakub Jelinek + + PR target/107998 + * config.gcc (x86_64-*-cygwin*): Don't add i386/t-cygwin-w64 into + $tmake_file. + * config/i386/t-cygwin-w64: Remove. + +2023-03-10 Jakub Jelinek + + PR plugins/108634 + * tree-core.h (tree_code_type, tree_code_length): For C++11 or + C++14, don't declare as extern const arrays. + (tree_code_type_tmpl, tree_code_length_tmpl): New types with + static constexpr member arrays for C++11 or C++14. + * tree.h (TREE_CODE_CLASS): For C++11 or C++14 use + tree_code_type_tmpl <0>::tree_code_type instead of tree_code_type. + (TREE_CODE_LENGTH): For C++11 or C++14 use + tree_code_length_tmpl <0>::tree_code_length instead of + tree_code_length. + * tree.cc (tree_code_type, tree_code_length): Remove. + +2023-03-10 Jakub Jelinek + + PR other/108464 + * common.opt (fcanon-prefix-map): New option. + * opts.cc: Include file-prefix-map.h. + (flag_canon_prefix_map): New variable. + (common_handle_option): Handle OPT_fcanon_prefix_map. + (gen_command_line_string): Ignore OPT_fcanon_prefix_map. + * file-prefix-map.h (flag_canon_prefix_map): Declare. + * file-prefix-map.cc (struct file_prefix_map): Add canonicalize + member. + (add_prefix_map): Initialize canonicalize member from + flag_canon_prefix_map, and if true canonicalize it using lrealpath. + (remap_filename): Revert 2022-11-01 and 2022-11-07 changes, + use lrealpath result only for map->canonicalize map entries. + * lto-opts.cc (lto_write_options): Ignore OPT_fcanon_prefix_map. + * opts-global.cc (handle_common_deferred_options): Clear + flag_canon_prefix_map at the start and handle OPT_fcanon_prefix_map. + * doc/invoke.texi (-fcanon-prefix-map): Document. + (-ffile-prefix-map, -fdebug-prefix-map, -fprofile-prefix-map): Add + see also for -fcanon-prefix-map. + * doc/cppopts.texi (-fmacro-prefix-map): Likewise. + +2023-03-10 Jakub Jelinek + + PR c/108079 + * cgraphunit.cc (check_global_declaration): Don't warn for unused + variables which have OPT_Wunused_variable warning suppressed. + +2023-03-10 Jakub Jelinek + + PR tree-optimization/109008 + * range-op-float.cc (float_widen_lhs_range): If lb is + minimum representable finite number or ub is maximum + representable finite number, instead of widening it to + -inf or inf widen it to negative or positive 0x0.8p+(EMAX+1). + Temporarily clear flag_finite_math_only when canonicalizing + the widened range. + +2023-03-10 Ju-Zhe Zhong + + * config/riscv/riscv-builtins.cc (riscv_gimple_fold_builtin): New function. + * config/riscv/riscv-protos.h (riscv_gimple_fold_builtin): Ditto. + (gimple_fold_builtin): Ditto. + * config/riscv/riscv-vector-builtins-bases.cc (class read_vl): New class. + (class vleff): Ditto. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (read_vl): Ditto. + (vleff): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct read_vl_def): Ditto. + (struct fault_load_def): Ditto. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc + (rvv_arg_type_info::get_tree_type): Add size_ptr. + (gimple_folder::gimple_folder): New class. + (gimple_folder::fold): Ditto. + (gimple_fold_builtin): New function. + (get_read_vl_instance): Ditto. + (get_read_vl_decl): Ditto. + * config/riscv/riscv-vector-builtins.def (size_ptr): Add size_ptr. + * config/riscv/riscv-vector-builtins.h (class gimple_folder): New class. + (get_read_vl_instance): New function. + (get_read_vl_decl): Ditto. + * config/riscv/riscv-vsetvl.cc (fault_first_load_p): Ditto. + (read_vl_insn_p): Ditto. + (available_occurrence_p): Ditto. + (backward_propagate_worthwhile_p): Ditto. + (gen_vsetvl_pat): Adapt for vleff support. + (get_forward_read_vl_insn): New function. + (get_backward_fault_first_load_insn): Ditto. + (source_equal_p): Adapt for vleff support. + (first_ratio_invalid_for_second_sew_p): Remove. + (first_ratio_invalid_for_second_lmul_p): Ditto. + (first_lmul_less_than_second_lmul_p): Ditto. + (first_ratio_less_than_second_ratio_p): Ditto. + (support_relaxed_compatible_p): New function. + (vector_insn_info::operator>): Remove. + (vector_insn_info::operator>=): Refine. + (vector_insn_info::parse_insn): Adapt for vleff support. + (vector_insn_info::compatible_p): Ditto. + (vector_insn_info::update_fault_first_load_avl): New function. + (pass_vsetvl::transfer_after): Adapt for vleff support. + (pass_vsetvl::demand_fusion): Ditto. + (pass_vsetvl::cleanup_insns): Ditto. + * config/riscv/riscv-vsetvl.def (DEF_INCOMPATIBLE_COND): Remove + redundant condtions. + * config/riscv/riscv-vsetvl.h (struct demands_cond): New function. + * config/riscv/riscv.cc (TARGET_GIMPLE_FOLD_BUILTIN): New target hook. + * config/riscv/riscv.md: Adapt for vleff support. + * config/riscv/t-riscv: Ditto. + * config/riscv/vector-iterators.md: New iterator. + * config/riscv/vector.md (read_vlsi): New pattern. + (read_vldi_zero_extend): Ditto. + (@pred_fault_load): Ditto. + +2023-03-10 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_ternop_insn): Use maybe_gen_insn instead. + (function_expander::use_widen_ternop_insn): Ditto. + * optabs.cc (maybe_gen_insn): Extend nops handling. + +2023-03-10 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins-bases.cc: Split indexed load + patterns according to RVV ISA. + * config/riscv/vector-iterators.md: New iterators. + * config/riscv/vector.md + (@pred_indexed_load): Remove. + (@pred_indexed_load_same_eew): New pattern. + (@pred_indexed_load_x2_greater_eew): Ditto. + (@pred_indexed_load_x4_greater_eew): Ditto. + (@pred_indexed_load_x8_greater_eew): Ditto. + (@pred_indexed_load_x2_smaller_eew): Ditto. + (@pred_indexed_load_x4_smaller_eew): Ditto. + (@pred_indexed_load_x8_smaller_eew): Ditto. + (@pred_indexed_load): Remove. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_load): Ditto. + +2023-03-10 Michael Collison + + * tree-vect-loop-manip.cc (vect_do_peeling): Use + result of constant_lower_bound instead of vf for the lower + bound of the epilog loop trip count. + +2023-03-09 Tamar Christina + + * passes.cc (emergency_dump_function): Finish graph generation. + +2023-03-09 Tamar Christina + + * config/aarch64/aarch64.md (tbranch_3): Restrict to SHORT + and bottom bit only. + +2023-03-09 Andrew Pinski + + PR tree-optimization/108980 + * gimple-array-bounds.cc (array_bounds_checker::check_array_ref): + Reorgnize the call to warning for not strict flexible arrays + to be before the check of warned. + +2023-03-09 Jason Merrill + + * doc/extend.texi: Comment out __is_deducible docs. + +2023-03-09 Jason Merrill + + PR c++/105841 + * doc/extend.texi (Type Traits):: Document __is_deducible. + +2023-03-09 Costas Argyris + + PR driver/108865 + * config.host: add object for x86_64-*-mingw*. + * config/i386/sym-mingw32.cc: dummy file to attach + symbol. + * config/i386/utf8-mingw32.rc: windres resource file. + * config/i386/winnt-utf8.manifest: XML manifest to + enable UTF-8. + * config/i386/x-mingw32: reference to x-mingw32-utf8. + * config/i386/x-mingw32-utf8: Makefile fragment to + embed UTF-8 manifest. + +2023-03-09 Vladimir N. Makarov + + * lra-constraints.cc (process_alt_operands): Use operand modes for + clobbered regs instead of the biggest access mode. + +2023-03-09 Richard Biener + + PR middle-end/108995 + * fold-const.cc (extract_muldiv_1): Avoid folding + (CST * b) / CST2 when sanitizing overflow and we rely on + overflow being undefined. + +2023-03-09 Jakub Jelinek + Richard Biener + + PR tree-optimization/109008 + * range-op-float.cc (float_widen_lhs_range): New function. + (foperator_plus::op1_range, foperator_minus::op1_range, + foperator_minus::op2_range, foperator_mult::op1_range, + foperator_div::op1_range, foperator_div::op2_range): Use it. + +2023-03-07 Jonathan Grant + + PR sanitizer/81649 + * doc/invoke.texi (Instrumentation Options): Clarify + LeakSanitizer behavior. + +2023-03-07 Benson Muite + + * doc/install.texi (Prerequisites): Add link to gmplib.org. + +2023-03-07 Pan Li + Ju-Zhe Zhong + + PR target/108185 + PR target/108654 + * config/riscv/riscv-modes.def (ADJUST_PRECISION): Adjust VNx*BI + modes. + * config/riscv/riscv.cc (riscv_v_adjust_precision): New. + * config/riscv/riscv.h (riscv_v_adjust_precision): New. + * genmodes.cc (adj_precision): New. + (ADJUST_PRECISION): New. + (emit_mode_adjustments): Handle ADJUST_PRECISION. + +2023-03-07 Hans-Peter Nilsson + + * doc/sourcebuild.texi: Document check_effective_target_tail_call. + +2023-03-06 Paul-Antoine Arras + + * config/gcn/gcn-valu.md (3_exec): Add patterns for + {s|u}{max|min} in QI, HI and DI modes. + (3): Add pattern for {s|u}{max|min} in DI mode. + (cond_): Add pattern for cond_f{max|min}. + (cond_): Add pattern for cond_{s|u}{max|min}. + * config/gcn/gcn.cc (gcn_spill_class): Allow the exec register to be + saved in SGPRs. + +2023-03-06 Richard Biener + + PR tree-optimization/109025 + * tree-vect-loop.cc (vect_is_simple_reduction): Verify + the inner LC PHI use is the inner loop PHI latch definition + before classifying an outer PHI as double reduction. + +2023-03-06 Jan Hubicka + + PR target/108429 + * config/i386/x86-tune.def (X86_TUNE_USE_SCATTER_2PARTS): Enable for + generic. + (X86_TUNE_USE_SCATTER_4PARTS): Likewise. + (X86_TUNE_USE_SCATTER): Likewise. + +2023-03-06 Xi Ruoyao + + PR target/109000 + * config/loongarch/loongarch.h (FP_RETURN): Use + TARGET_*_FLOAT_ABI instead of TARGET_*_FLOAT. + (UNITS_PER_FP_ARG): Likewise. + +2023-03-05 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (reg_available_p): Fix bug. + (pass_vsetvl::backward_demand_fusion): Ditto. + +2023-03-05 Liao Shihua + SiYu Wu + + * config/riscv/crypto.md (riscv_sm3p0_): Add ZKSED's and ZKSH's + instructions. + (riscv_sm3p1_): New. + (riscv_sm4ed_): New. + (riscv_sm4ks_): New. + * config/riscv/riscv-builtins.cc (AVAIL): Add ZKSED's and ZKSH's AVAIL. + * config/riscv/riscv-scalar-crypto.def (RISCV_BUILTIN): Add ZKSED's and + ZKSH's built-in functions. + +2023-03-05 Liao Shihua + SiYu Wu + + * config/riscv/crypto.md (riscv_sha256sig0_): Add ZKNH's instructions. + (riscv_sha256sig1_): New. + (riscv_sha256sum0_): New. + (riscv_sha256sum1_): New. + (riscv_sha512sig0h): New. + (riscv_sha512sig0l): New. + (riscv_sha512sig1h): New. + (riscv_sha512sig1l): New. + (riscv_sha512sum0r): New. + (riscv_sha512sum1r): New. + (riscv_sha512sig0): New. + (riscv_sha512sig1): New. + (riscv_sha512sum0): New. + (riscv_sha512sum1): New. + * config/riscv/riscv-builtins.cc (AVAIL): And ZKNH's AVAIL. + * config/riscv/riscv-scalar-crypto.def (RISCV_BUILTIN): And ZKNH's + built-in functions. + (DIRECT_BUILTIN): Add new. + +2023-03-05 Liao Shihua + SiYu Wu + + * config/riscv/constraints.md (D03): Add constants of bs and rnum. + (DsA): New. + * config/riscv/crypto.md (riscv_aes32dsi): Add ZKND's and ZKNE's instructions. + (riscv_aes32dsmi): New. + (riscv_aes64ds): New. + (riscv_aes64dsm): New. + (riscv_aes64im): New. + (riscv_aes64ks1i): New. + (riscv_aes64ks2): New. + (riscv_aes32esi): New. + (riscv_aes32esmi): New. + (riscv_aes64es): New. + (riscv_aes64esm): New. + * config/riscv/riscv-builtins.cc (AVAIL): Add ZKND's and ZKNE's AVAIL. + * config/riscv/riscv-scalar-crypto.def (DIRECT_BUILTIN): Add ZKND's and + ZKNE's built-in functions. + +2023-03-05 Liao Shihua + SiYu Wu + + * config/riscv/bitmanip.md: Add ZBKB's instructions. + * config/riscv/riscv-builtins.cc (AVAIL): Add new. + * config/riscv/riscv.md: Add new type for crypto instructions. + * config/riscv/crypto.md: Add Scalar Cryptography extension's machine + description file. + * config/riscv/riscv-scalar-crypto.def: Add Scalar Cryptography + extension's built-in function file. + +2023-03-05 Liao Shihua + SiYu Wu + + * config/riscv/riscv-builtins.cc (RISCV_FTYPE_NAME2): New. + (RISCV_FTYPE_NAME3): New. + (RISCV_ATYPE_QI): New. + (RISCV_ATYPE_HI): New. + (RISCV_FTYPE_ATYPES2): New. + (RISCV_FTYPE_ATYPES3): New. + * config/riscv/riscv-ftypes.def (2): New. + (3): New. + +2023-03-05 Vineet Gupta + + * config/riscv/riscv.cc (riscv_rtx_costs): Fixed IN_RANGE() to + use exact_log2(). + +2023-03-05 Ju-Zhe Zhong + kito-cheng + + * config/riscv/predicates.md (vector_any_register_operand): New predicate. + * config/riscv/riscv-c.cc (riscv_check_builtin_call): New function. + (riscv_register_pragmas): Add builtin function check call. + * config/riscv/riscv-protos.h (RVV_VUNDEF): Adapt macro. + (check_builtin_call): New function. + * config/riscv/riscv-vector-builtins-bases.cc (class vundefined): New class. + (class vreinterpret): Ditto. + (class vlmul_ext): Ditto. + (class vlmul_trunc): Ditto. + (class vset): Ditto. + (class vget): Ditto. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vluxei8): Change name. + (vluxei16): Ditto. + (vluxei32): Ditto. + (vluxei64): Ditto. + (vloxei8): Ditto. + (vloxei16): Ditto. + (vloxei32): Ditto. + (vloxei64): Ditto. + (vsuxei8): Ditto. + (vsuxei16): Ditto. + (vsuxei32): Ditto. + (vsuxei64): Ditto. + (vsoxei8): Ditto. + (vsoxei16): Ditto. + (vsoxei32): Ditto. + (vsoxei64): Ditto. + (vundefined): Add new intrinsic. + (vreinterpret): Ditto. + (vlmul_ext): Ditto. + (vlmul_trunc): Ditto. + (vset): Ditto. + (vget): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct return_mask_def): New class. + (struct narrow_alu_def): Ditto. + (struct reduc_alu_def): Ditto. + (struct vundefined_def): Ditto. + (struct misc_def): Ditto. + (struct vset_def): Ditto. + (struct vget_def): Ditto. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_EEW8_INTERPRET_OPS): New def. + (DEF_RVV_EEW16_INTERPRET_OPS): Ditto. + (DEF_RVV_EEW32_INTERPRET_OPS): Ditto. + (DEF_RVV_EEW64_INTERPRET_OPS): Ditto. + (DEF_RVV_X2_VLMUL_EXT_OPS): Ditto. + (DEF_RVV_X4_VLMUL_EXT_OPS): Ditto. + (DEF_RVV_X8_VLMUL_EXT_OPS): Ditto. + (DEF_RVV_X16_VLMUL_EXT_OPS): Ditto. + (DEF_RVV_X32_VLMUL_EXT_OPS): Ditto. + (DEF_RVV_X64_VLMUL_EXT_OPS): Ditto. + (DEF_RVV_LMUL1_OPS): Ditto. + (DEF_RVV_LMUL2_OPS): Ditto. + (DEF_RVV_LMUL4_OPS): Ditto. + (vint16mf4_t): Ditto. + (vint16mf2_t): Ditto. + (vint16m1_t): Ditto. + (vint16m2_t): Ditto. + (vint16m4_t): Ditto. + (vint16m8_t): Ditto. + (vint32mf2_t): Ditto. + (vint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vint64m1_t): Ditto. + (vint64m2_t): Ditto. + (vint64m4_t): Ditto. + (vint64m8_t): Ditto. + (vuint16mf4_t): Ditto. + (vuint16mf2_t): Ditto. + (vuint16m1_t): Ditto. + (vuint16m2_t): Ditto. + (vuint16m4_t): Ditto. + (vuint16m8_t): Ditto. + (vuint32mf2_t): Ditto. + (vuint32m1_t): Ditto. + (vuint32m2_t): Ditto. + (vuint32m4_t): Ditto. + (vuint32m8_t): Ditto. + (vuint64m1_t): Ditto. + (vuint64m2_t): Ditto. + (vuint64m4_t): Ditto. + (vuint64m8_t): Ditto. + (vint8mf4_t): Ditto. + (vint8mf2_t): Ditto. + (vint8m1_t): Ditto. + (vint8m2_t): Ditto. + (vint8m4_t): Ditto. + (vint8m8_t): Ditto. + (vuint8mf4_t): Ditto. + (vuint8mf2_t): Ditto. + (vuint8m1_t): Ditto. + (vuint8m2_t): Ditto. + (vuint8m4_t): Ditto. + (vuint8m8_t): Ditto. + (vint8mf8_t): Ditto. + (vuint8mf8_t): Ditto. + (vfloat32mf2_t): Ditto. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat64m1_t): Ditto. + (vfloat64m2_t): Ditto. + (vfloat64m4_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Ditto. + (DEF_RVV_EEW8_INTERPRET_OPS): Ditto. + (DEF_RVV_EEW16_INTERPRET_OPS): Ditto. + (DEF_RVV_EEW32_INTERPRET_OPS): Ditto. + (DEF_RVV_EEW64_INTERPRET_OPS): Ditto. + (DEF_RVV_X2_VLMUL_EXT_OPS): Ditto. + (DEF_RVV_X4_VLMUL_EXT_OPS): Ditto. + (DEF_RVV_X8_VLMUL_EXT_OPS): Ditto. + (DEF_RVV_X16_VLMUL_EXT_OPS): Ditto. + (DEF_RVV_X32_VLMUL_EXT_OPS): Ditto. + (DEF_RVV_X64_VLMUL_EXT_OPS): Ditto. + (DEF_RVV_LMUL1_OPS): Ditto. + (DEF_RVV_LMUL2_OPS): Ditto. + (DEF_RVV_LMUL4_OPS): Ditto. + (DEF_RVV_TYPE_INDEX): Ditto. + (required_extensions_p): Adapt for new intrinsic support/ + (get_required_extensions): New function. + (check_required_extensions): Ditto. + (unsigned_base_type_p): Remove. + (rvv_arg_type_info::get_scalar_ptr_type): New function. + (get_mode_for_bitsize): Remove. + (rvv_arg_type_info::get_scalar_const_ptr_type): New function. + (rvv_arg_type_info::get_base_vector_type): Ditto. + (rvv_arg_type_info::get_function_type_index): Ditto. + (DEF_RVV_BASE_TYPE): New def. + (function_builder::apply_predication): New class. + (function_expander::mask_mode): Ditto. + (function_checker::function_checker): Ditto. + (function_checker::report_non_ice): Ditto. + (function_checker::report_out_of_range): Ditto. + (function_checker::require_immediate): Ditto. + (function_checker::require_immediate_range): Ditto. + (function_checker::check): Ditto. + (check_builtin_call): Ditto. + * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): New def. + (DEF_RVV_BASE_TYPE): Ditto. + (DEF_RVV_TYPE_INDEX): Ditto. + (vbool64_t): Ditto. + (vbool32_t): Ditto. + (vbool16_t): Ditto. + (vbool8_t): Ditto. + (vbool4_t): Ditto. + (vbool2_t): Ditto. + (vbool1_t): Ditto. + (vuint8mf8_t): Ditto. + (vuint8mf4_t): Ditto. + (vuint8mf2_t): Ditto. + (vuint8m1_t): Ditto. + (vuint8m2_t): Ditto. + (vint8m4_t): Ditto. + (vuint8m4_t): Ditto. + (vint8m8_t): Ditto. + (vuint8m8_t): Ditto. + (vint16mf4_t): Ditto. + (vuint16mf2_t): Ditto. + (vuint16m1_t): Ditto. + (vuint16m2_t): Ditto. + (vuint16m4_t): Ditto. + (vuint16m8_t): Ditto. + (vint32mf2_t): Ditto. + (vuint32m1_t): Ditto. + (vuint32m2_t): Ditto. + (vuint32m4_t): Ditto. + (vuint32m8_t): Ditto. + (vuint64m1_t): Ditto. + (vuint64m2_t): Ditto. + (vuint64m4_t): Ditto. + (vuint64m8_t): Ditto. + (vfloat32mf2_t): Ditto. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat32m8_t): Ditto. + (vfloat64m1_t): Ditto. + (vfloat64m4_t): Ditto. + (vector): Move it def. + (scalar): Ditto. + (mask): Ditto. + (signed_vector): Ditto. + (unsigned_vector): Ditto. + (unsigned_scalar): Ditto. + (vector_ptr): Ditto. + (scalar_ptr): Ditto. + (scalar_const_ptr): Ditto. + (void): Ditto. + (size): Ditto. + (ptrdiff): Ditto. + (unsigned_long): Ditto. + (long): Ditto. + (eew8_index): Ditto. + (eew16_index): Ditto. + (eew32_index): Ditto. + (eew64_index): Ditto. + (shift_vector): Ditto. + (double_trunc_vector): Ditto. + (quad_trunc_vector): Ditto. + (oct_trunc_vector): Ditto. + (double_trunc_scalar): Ditto. + (double_trunc_signed_vector): Ditto. + (double_trunc_unsigned_vector): Ditto. + (double_trunc_unsigned_scalar): Ditto. + (double_trunc_float_vector): Ditto. + (float_vector): Ditto. + (lmul1_vector): Ditto. + (widen_lmul1_vector): Ditto. + (eew8_interpret): Ditto. + (eew16_interpret): Ditto. + (eew32_interpret): Ditto. + (eew64_interpret): Ditto. + (vlmul_ext_x2): Ditto. + (vlmul_ext_x4): Ditto. + (vlmul_ext_x8): Ditto. + (vlmul_ext_x16): Ditto. + (vlmul_ext_x32): Ditto. + (vlmul_ext_x64): Ditto. + * config/riscv/riscv-vector-builtins.h (DEF_RVV_BASE_TYPE): New def. + (struct function_type_info): New function. + (struct rvv_arg_type_info): Ditto. + (class function_checker): New class. + (rvv_arg_type_info::get_scalar_type): New function. + (rvv_arg_type_info::get_vector_type): Ditto. + (function_expander::ret_mode): New function. + (function_checker::arg_mode): Ditto. + (function_checker::ret_mode): Ditto. + * config/riscv/t-riscv: Add generator. + * config/riscv/vector-iterators.md: New iterators. + * config/riscv/vector.md (vundefined): New pattern. + (@vundefined): Ditto. + (@vreinterpret): Ditto. + (@vlmul_extx2): Ditto. + (@vlmul_extx4): Ditto. + (@vlmul_extx8): Ditto. + (@vlmul_extx16): Ditto. + (@vlmul_extx32): Ditto. + (@vlmul_extx64): Ditto. + (*vlmul_extx2): Ditto. + (*vlmul_extx4): Ditto. + (*vlmul_extx8): Ditto. + (*vlmul_extx16): Ditto. + (*vlmul_extx32): Ditto. + (*vlmul_extx64): Ditto. + * config/riscv/genrvv-type-indexer.cc: New file. + +2023-03-05 Ju-Zhe Zhong + + * config/riscv/riscv-protos.h (enum vlen_enum): New enum. + (slide1_sew64_helper): New function. + * config/riscv/riscv-v.cc (compute_vlmax): Ditto. + (get_unknown_min_value): Ditto. + (force_vector_length_operand): Ditto. + (gen_no_side_effects_vsetvl_rtx): Ditto. + (get_vl_x2_rtx): Ditto. + (slide1_sew64_helper): Ditto. + * config/riscv/riscv-vector-builtins-bases.cc (class slideop): New class. + (class vrgather): Ditto. + (class vrgatherei16): Ditto. + (class vcompress): Ditto. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vslideup): Ditto. + (vslidedown): Ditto. + (vslide1up): Ditto. + (vslide1down): Ditto. + (vfslide1up): Ditto. + (vfslide1down): Ditto. + (vrgather): Ditto. + (vrgatherei16): Ditto. + (vcompress): Ditto. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_EI16_OPS): New macro. + (vint8mf8_t): Ditto. + (vint8mf4_t): Ditto. + (vint8mf2_t): Ditto. + (vint8m1_t): Ditto. + (vint8m2_t): Ditto. + (vint8m4_t): Ditto. + (vint16mf4_t): Ditto. + (vint16mf2_t): Ditto. + (vint16m1_t): Ditto. + (vint16m2_t): Ditto. + (vint16m4_t): Ditto. + (vint16m8_t): Ditto. + (vint32mf2_t): Ditto. + (vint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vint64m1_t): Ditto. + (vint64m2_t): Ditto. + (vint64m4_t): Ditto. + (vint64m8_t): Ditto. + (vuint8mf8_t): Ditto. + (vuint8mf4_t): Ditto. + (vuint8mf2_t): Ditto. + (vuint8m1_t): Ditto. + (vuint8m2_t): Ditto. + (vuint8m4_t): Ditto. + (vuint16mf4_t): Ditto. + (vuint16mf2_t): Ditto. + (vuint16m1_t): Ditto. + (vuint16m2_t): Ditto. + (vuint16m4_t): Ditto. + (vuint16m8_t): Ditto. + (vuint32mf2_t): Ditto. + (vuint32m1_t): Ditto. + (vuint32m2_t): Ditto. + (vuint32m4_t): Ditto. + (vuint32m8_t): Ditto. + (vuint64m1_t): Ditto. + (vuint64m2_t): Ditto. + (vuint64m4_t): Ditto. + (vuint64m8_t): Ditto. + (vfloat32mf2_t): Ditto. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat32m8_t): Ditto. + (vfloat64m1_t): Ditto. + (vfloat64m2_t): Ditto. + (vfloat64m4_t): Ditto. + (vfloat64m8_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_EI16_OPS): Ditto. + * config/riscv/riscv.md: Adjust RVV instruction types. + * config/riscv/vector-iterators.md (down): New iterator. + (=vd,vr): New attribute. + (UNSPEC_VSLIDE1UP): New unspec. + * config/riscv/vector.md (@pred_slide): New pattern. + (*pred_slide): Ditto. + (*pred_slide_extended): Ditto. + (@pred_gather): Ditto. + (@pred_gather_scalar): Ditto. + (@pred_gatherei16): Ditto. + (@pred_compress): Ditto. + +2023-03-05 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins.cc: Remove void_type_node. + +2023-03-05 Ju-Zhe Zhong + + * config/riscv/constraints.md (Wb1): New constraint. + * config/riscv/predicates.md + (vector_least_significant_set_mask_operand): New predicate. + (vector_broadcast_mask_operand): Ditto. + * config/riscv/riscv-protos.h (enum vlmul_type): Adjust. + (gen_scalar_move_mask): New function. + * config/riscv/riscv-v.cc (gen_scalar_move_mask): Ditto. + * config/riscv/riscv-vector-builtins-bases.cc (class vmv): New class. + (class vmv_s): Ditto. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vmv_x): Ditto. + (vmv_s): Ditto. + (vfmv_f): Ditto. + (vfmv_s): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct scalar_move_def): Ditto. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc (function_expander::mask_mode): Ditto. + (function_expander::use_exact_insn): New function. + (function_expander::use_contiguous_load_insn): New function. + (function_expander::use_contiguous_store_insn): New function. + (function_expander::use_ternop_insn): New function. + (function_expander::use_widen_ternop_insn): New function. + (function_expander::use_scalar_move_insn): New function. + * config/riscv/riscv-vector-builtins.def (s): New operand suffix. + * config/riscv/riscv-vector-builtins.h + (function_expander::add_scalar_move_mask_operand): New class. + * config/riscv/riscv-vsetvl.cc (ignore_vlmul_insn_p): New function. + (scalar_move_insn_p): Ditto. + (has_vsetvl_killed_avl_p): Ditto. + (anticipatable_occurrence_p): Ditto. + (insert_vsetvl): Ditto. + (get_vl_vtype_info): Ditto. + (calculate_sew): Ditto. + (calculate_vlmul): Ditto. + (incompatible_avl_p): Ditto. + (different_sew_p): Ditto. + (different_lmul_p): Ditto. + (different_ratio_p): Ditto. + (different_tail_policy_p): Ditto. + (different_mask_policy_p): Ditto. + (possible_zero_avl_p): Ditto. + (first_ratio_invalid_for_second_sew_p): Ditto. + (first_ratio_invalid_for_second_lmul_p): Ditto. + (second_ratio_invalid_for_first_sew_p): Ditto. + (second_ratio_invalid_for_first_lmul_p): Ditto. + (second_sew_less_than_first_sew_p): Ditto. + (first_sew_less_than_second_sew_p): Ditto. + (compare_lmul): Ditto. + (second_lmul_less_than_first_lmul_p): Ditto. + (first_lmul_less_than_second_lmul_p): Ditto. + (first_ratio_less_than_second_ratio_p): Ditto. + (second_ratio_less_than_first_ratio_p): Ditto. + (DEF_INCOMPATIBLE_COND): Ditto. + (greatest_sew): Ditto. + (first_sew): Ditto. + (second_sew): Ditto. + (first_vlmul): Ditto. + (second_vlmul): Ditto. + (first_ratio): Ditto. + (second_ratio): Ditto. + (vlmul_for_first_sew_second_ratio): Ditto. + (ratio_for_second_sew_first_vlmul): Ditto. + (DEF_SEW_LMUL_FUSE_RULE): Ditto. + (always_unavailable): Ditto. + (avl_unavailable_p): Ditto. + (sew_unavailable_p): Ditto. + (lmul_unavailable_p): Ditto. + (ge_sew_unavailable_p): Ditto. + (ge_sew_lmul_unavailable_p): Ditto. + (ge_sew_ratio_unavailable_p): Ditto. + (DEF_UNAVAILABLE_COND): Ditto. + (same_sew_lmul_demand_p): Ditto. + (propagate_avl_across_demands_p): Ditto. + (reg_available_p): Ditto. + (avl_info::has_non_zero_avl): Ditto. + (vl_vtype_info::has_non_zero_avl): Ditto. + (vector_insn_info::operator>=): Refactor. + (vector_insn_info::parse_insn): Adjust for scalar move. + (vector_insn_info::demand_vl_vtype): Remove. + (vector_insn_info::compatible_p): New function. + (vector_insn_info::compatible_avl_p): Ditto. + (vector_insn_info::compatible_vtype_p): Ditto. + (vector_insn_info::available_p): Ditto. + (vector_insn_info::merge): Ditto. + (vector_insn_info::fuse_avl): Ditto. + (vector_insn_info::fuse_sew_lmul): Ditto. + (vector_insn_info::fuse_tail_policy): Ditto. + (vector_insn_info::fuse_mask_policy): Ditto. + (vector_insn_info::dump): Ditto. + (vector_infos_manager::release): Ditto. + (pass_vsetvl::compute_local_backward_infos): Adjust for scalar move support. + (pass_vsetvl::get_backward_fusion_type): Adjust for scalar move support. + (pass_vsetvl::hard_empty_block_p): Ditto. + (pass_vsetvl::backward_demand_fusion): Ditto. + (pass_vsetvl::forward_demand_fusion): Ditto. + (pass_vsetvl::refine_vsetvls): Ditto. + (pass_vsetvl::cleanup_vsetvls): Ditto. + (pass_vsetvl::commit_vsetvls): Ditto. + (pass_vsetvl::propagate_avl): Ditto. + * config/riscv/riscv-vsetvl.h (enum demand_status): New class. + (struct demands_pair): Ditto. + (struct demands_cond): Ditto. + (struct demands_fuse_rule): Ditto. + * config/riscv/vector-iterators.md: New iterator. + * config/riscv/vector.md (@pred_broadcast): New pattern. + (*pred_broadcast): Ditto. + (*pred_broadcast_extended_scalar): Ditto. + (@pred_extract_first): Ditto. + (*pred_extract_first): Ditto. + (@pred_extract_first_trunc): Ditto. + * config/riscv/riscv-vsetvl.def: New file. + +2023-03-05 Lin Sinan + + * config/riscv/bitmanip.md: allow 0 constant in max/min + pattern. + +2023-03-05 Lin Sinan + + * config/riscv/bitmanip.md: Fix wrong index in the check. + +2023-03-04 Jakub Jelinek + + PR middle-end/109006 + * vec.cc (test_auto_alias): Adjust comment for removal of + m_vecdata. + * read-rtl-function.cc (function_reader::parse_block): Likewise. + * gdbhooks.py: Likewise. + +2023-03-04 Jakub Jelinek + + PR testsuite/108973 + * selftest-diagnostic.cc + (test_diagnostic_context::test_diagnostic_context): Set + caret_max_width to 80. + +2023-03-03 Alexandre Oliva + + * gimple-ssa-warn-access.cc + (pass_waccess::check_dangling_stores): Skip non-stores. + +2023-03-03 Alexandre Oliva + + * config/arm/vfp.md (*thumb2_movsi_vfp): Drop blank after tab + after vmsr and vmrs, and lower the case of P0. + +2023-03-03 Jonathan Wakely + + PR middle-end/109006 + * gdbhooks.py (VecPrinter): Handle vec as well as vec*. + +2023-03-03 Jonathan Wakely + + PR middle-end/109006 + * gdbhooks.py (VecPrinter): Adjust for new vec layout. + +2023-03-03 Jakub Jelinek + + PR c/108986 + * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes): + Return immediately if OPT_Wnonnull or OPT_Wstringop_overflow_ is + suppressed on stmt. For [static %E] warning, print access_nelts + rather than access_size. Fix up comment wording. + +2023-03-03 Robin Dapp + + * config/s390/driver-native.cc (s390_host_detect_local_cpu): Use + arch14 instead of z16. + +2023-03-03 Anthony Green + + * config/moxie/moxie.cc (TARGET_LRA_P): Remove. + +2023-03-03 Anthony Green + + * config/moxie/constraints.md (A, B, W): Change + define_constraint to define_memory_constraint. + +2023-03-03 Xi Ruoyao + + * toplev.cc (process_options): Fix the spelling of + "-fstack-clash-protection". + +2023-03-03 Richard Biener + + PR tree-optimization/109002 + * tree-ssa-pre.cc (compute_partial_antic_aux): Properly + PHI-translate ANTIC_IN. + +2023-03-03 Jakub Jelinek + + PR tree-optimization/108988 + * gimple-fold.cc (gimple_fold_builtin_fputs): Fold len to + size_type_node before passing it as argument to fwrite. Formatting + fixes. + +2023-03-03 Richard Biener + + PR target/108738 + * config/i386/i386.opt (--param x86-stv-max-visits): New param. + * doc/invoke.texi (--param x86-stv-max-visits): Document it. + * config/i386/i386-features.h (scalar_chain::max_visits): New. + (scalar_chain::build): Add bitmap parameter, return boolean. + (scalar_chain::add_insn): Likewise. + (scalar_chain::analyze_register_chain): Likewise. + * config/i386/i386-features.cc (scalar_chain::scalar_chain): + Initialize max_visits. + (scalar_chain::analyze_register_chain): When we exhaust + max_visits, abort. Also abort when running into any + disallowed insn. + (scalar_chain::add_insn): Propagate abort. + (scalar_chain::build): Likewise. When aborting amend + the set of disallowed insn with the insns set. + (convert_scalars_to_vector): Adjust. Do not convert aborted + chains. + +2023-03-03 Richard Biener + + PR debug/108772 + * dwarf2out.cc (dwarf2out_late_global_decl): Do not + generate a DIE for a function scope static. + +2023-03-03 Alexandre Oliva + + * config/vx-common.h (WINT_TYPE): Alias to "wchar_t". + +2023-03-02 Jakub Jelinek + + PR target/108883 + * target.h (emit_support_tinfos_callback): New typedef. + * targhooks.h (default_emit_support_tinfos): Declare. + * targhooks.cc (default_emit_support_tinfos): New function. + * target.def (emit_support_tinfos): New target hook. + * doc/tm.texi.in (emit_support_tinfos): Document it. + * doc/tm.texi: Regenerated. + * config/i386/i386.cc (ix86_emit_support_tinfos): New function. + (TARGET_EMIT_SUPPORT_TINFOS): Redefine. + +2023-03-02 Vladimir N. Makarov + + * ira-costs.cc: Include print-rtl.h. + (record_reg_classes, scan_one_insn): Add code to print debug info. + (record_operand_costs): Find and use smaller cost for hard reg + move. + +2023-03-02 Kwok Cheung Yeung + Paul-Antoine Arras + + * builtins.cc (mathfn_built_in_explicit): New. + * config/gcn/gcn.cc: Include case-cfn-macros.h. + (mathfn_built_in_explicit): Add prototype. + (gcn_vectorize_builtin_vectorized_function): New. + (gcn_libc_has_function): New. + (TARGET_LIBC_HAS_FUNCTION): Define. + (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define. + +2023-03-02 Richard Sandiford + + PR tree-optimization/108979 + * tree-vect-stmts.cc (vectorizable_operation): Don't mask + operations on invariants. + +2023-03-02 Robin Dapp + + * config/s390/predicates.md (vll_bias_operand): Add -1 bias. + * config/s390/s390.cc (s390_option_override_internal): Make + partial vector usage the default from z13 on. + * config/s390/vector.md (len_load_v16qi): Add. + (len_store_v16qi): Add. + +2023-03-02 Andre Vieira + + * simplify-rtx.cc (simplify_context::simplify_subreg): Use byte instead + of constant 0 offset. + +2023-03-02 Robert Suchanek + + * config/mips/mips.cc (mips_set_text_contents_type): Use HOST_WIDE_INT + instead of long. + * config/mips/mips-protos.h (mips_set_text_contents_type): Likewise. + +2023-03-02 Junxian Zhu + + * config.gcc: add -with-{no-}msa build option. + * config/mips/mips.h: Likewise. + * doc/install.texi: Likewise. + +2023-03-02 Richard Sandiford + + PR tree-optimization/108603 + * explow.cc (convert_memory_address_addr_space_1): Only wrap + the result of a recursive call in a CONST if no instructions + were emitted. + +2023-03-02 Richard Sandiford + + PR tree-optimization/108430 + * tree-vect-stmts.cc (vectorizable_condition): Fix handling + of inverted condition. + +2023-03-02 Jakub Jelinek + + PR c++/108934 + * fold-const.cc (native_interpret_expr) : Before memcmp + comparison copy the bytes from ptr to a temporary buffer and clearing + padding bits in there. + +2023-03-01 Tobias Burnus + + PR middle-end/108545 + * gimplify.cc (struct tree_operand_hash_no_se): New. + (omp_index_mapping_groups_1, omp_index_mapping_groups, + omp_reindex_mapping_groups, omp_mapped_by_containing_struct, + omp_tsort_mapping_groups_1, omp_tsort_mapping_groups, + oacc_resolve_clause_dependencies, omp_build_struct_sibling_lists, + gimplify_scan_omp_clauses): Use tree_operand_hash_no_se instead + of tree_operand_hash. + +2023-03-01 LIU Hao + + PR pch/14940 + * config/i386/host-mingw32.cc (mingw32_gt_pch_get_address): + Remove the size limit `pch_VA_max_size` + +2023-03-01 Tobias Burnus + + PR middle-end/108546 + * omp-low.cc (lower_omp_target): Remove optional handling + on the receiver side, i.e. inside target (data), for + use_device_ptr. + +2023-03-01 Jakub Jelinek + + PR debug/108967 + * cfgexpand.cc (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR + and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR. + +2023-03-01 Richard Biener + + PR tree-optimization/108970 + * tree-vect-loop-manip.cc (slpeel_can_duplicate_loop_p): + Check we can copy the BBs. + (slpeel_tree_duplicate_loop_to_edge_cfg): Avoid redundant + check. + (vect_do_peeling): Streamline error handling. + +2023-03-01 Richard Biener + + PR tree-optimization/108950 + * tree-vect-patterns.cc (vect_recog_widen_sum_pattern): + Check oprnd0 is defined in the loop. + * tree-vect-loop.cc (vectorizable_reduction): Record all + operands vector types, compute that of invariants and + properly update their SLP nodes. + +2023-03-01 Kewen Lin + + PR target/108240 + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Allow + implicit powerpc64 setting to be unset if 64 bit is enabled implicitly. + +2023-02-28 Qing Zhao + + PR middle-end/107411 + PR middle-end/107411 + * gimplify.cc (gimple_add_init_for_auto_var): Use sprintf to replace + xasprintf. + * tree-ssa-uninit.cc (warn_uninit): Handle the case when the + LHS varaible of a .DEFERRED_INIT call doesn't have a DECL_NAME. + +2023-02-28 Jakub Jelinek + + PR sanitizer/108894 + * ubsan.cc (ubsan_expand_bounds_ifn): Emit index >= bound + comparison rather than index > bound. + * gimple-fold.cc (gimple_fold_call): Use tree_int_cst_lt + rather than tree_int_cst_le for IFN_UBSAN_BOUND comparison. + * doc/invoke.texi (-fsanitize=bounds): Document that whether + flexible array member-like arrays are instrumented or not depends + on -fstrict-flex-arrays* options of strict_flex_array attributes. + (-fsanitize=bounds-strict): Document that flexible array members + are not instrumented. + +2023-02-27 Uroš Bizjak + + PR target/108922 + Revert: + * config/i386/i386.md (fmodxf3): Enable for flag_finite_math_only only. + (fmod3): Ditto. + (fpremxf4_i387): Ditto. + (reminderxf3): Ditto. + (reminder3): Ditto. + (fprem1xf4_i387): Ditto. + +2023-02-27 Roger Sayle + + * simplify-rtx.cc (simplify_unary_operation_1) : Avoid + generating FFS with mismatched operand and result modes, by using + an explicit SIGN_EXTEND/ZERO_EXTEND. + : Likewise, for POPCOUNT of ZERO_EXTEND. + : Likewise, for PARITY of {ZERO,SIGN}_EXTEND. + +2023-02-27 Patrick Palka + + * hash-table.h (gt_pch_nx(hash_table)): Remove static. + * lra-int.h (lra_change_class): Likewise. + * recog.h (which_op_alt): Likewise. + * sel-sched-ir.h (sel_bb_empty_or_nop_p): Declare inline + instead of static. + +2023-02-27 Takayuki 'January June' Suwa + + * config/xtensa/xtensa-protos.h (xtensa_match_CLAMPS_imms_p): + New prototype. + * config/xtensa/xtensa.cc (xtensa_match_CLAMPS_imms_p): + New function. + * config/xtensa/xtensa.h (TARGET_CLAMPS): New macro definition. + * config/xtensa/xtensa.md (*xtensa_clamps): New insn pattern. + +2023-02-27 Max Filippov + + * config/xtensa/xtensa-dynconfig.cc (xtensa_get_config_v2) + (xtensa_get_config_v3): New functions. + +2023-02-27 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_abs): Fix typo in comment. + +2023-02-27 Lulu Cheng + + * config/host-linux.cc (TRY_EMPTY_VM_SPACE): Modify the value of + the macro to 0x1000000000. + +2023-02-25 Gaius Mulley + + PR modula2/108261 + * doc/gm2.texi (-fm2-pathname): New option documented. + (-fm2-pathnameI): New option documented. + (-fm2-prefix=): New option documented. + (-fruntime-modules=): Update default module list. + +2023-02-25 Max Filippov + + PR target/108919 + * config/xtensa/xtensa-protos.h + (xtensa_prepare_expand_call): Rename to xtensa_expand_call. + * config/xtensa/xtensa.cc (xtensa_prepare_expand_call): Rename + to xtensa_expand_call. + (xtensa_expand_call): Emit the call and add a clobber expression + for the static chain to it in case of windowed ABI. + * config/xtensa/xtensa.md (call, call_value, sibcall) + (sibcall_value): Call xtensa_expand_call and complete expansion + right after that call. + +2023-02-24 Richard Biener + + * vec.h (vec::m_vecdata): Remove. + (vec::m_vecpfx): Align as T to avoid + changing alignment of vec and simplifying + address. + (vec::address): Compute as this + 1. + (vec::embedded_size): Use sizeof the + vector instead of the offset of the m_vecdata member. + (auto_vec::m_data): Turn storage into + uninitialized unsigned char. + (auto_vec::auto_vec): Allow allocation of one + stack member. Initialize m_vec in a special way to + avoid later stringop overflow diagnostics. + * vec.cc (test_auto_alias): New. + (vec_cc_tests): Call it. + +2023-02-24 Richard Biener + + * vec.h (vec::lower_bound): Adjust to + take a const reference to the object, use address to + access data. + (vec::contains): Use address to access data. + (vec::operator[]): Use address instead of + m_vecdata to access data. + (vec::iterate): Likewise. + (vec::copy): Likewise. + (vec::quick_push): Likewise. + (vec::pop): Likewise. + (vec::quick_insert): Likewise. + (vec::ordered_remove): Likewise. + (vec::unordered_remove): Likewise. + (vec::block_remove): Likewise. + (vec::address): Likewise. + +2023-02-24 Martin Liska + + PR sanitizer/108834 + * asan.cc (asan_add_global): Use proper TU name for normal + global variables (and aux_base_name for the artificial one). + +2023-02-24 Jakub Jelinek + + * config/i386/i386-builtin.def: Update description of BDESC + and BDESC_FIRST in file comment to include mask2. + +2023-02-24 Kyrylo Tkachov + + * config/aarch64/aarch64-cores.def (FLAGS): Update comment. + +2023-02-24 Jakub Jelinek + + PR middle-end/108854 + * cgraphclones.cc (duplicate_thunk_for_node): If no parameter + changes are needed, copy at least DECL_ARGUMENTS PARM_DECL + nodes and adjust their DECL_CONTEXT. + +2023-02-24 Jakub Jelinek + + PR target/108881 + * config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16bf, + __builtin_ia32_cvtne2ps2bf16_v16bf_mask, + __builtin_ia32_cvtne2ps2bf16_v16bf_maskz, + __builtin_ia32_cvtne2ps2bf16_v8bf, + __builtin_ia32_cvtne2ps2bf16_v8bf_mask, + __builtin_ia32_cvtne2ps2bf16_v8bf_maskz, + __builtin_ia32_cvtneps2bf16_v8sf_mask, + __builtin_ia32_cvtneps2bf16_v8sf_maskz, + __builtin_ia32_cvtneps2bf16_v4sf_mask, + __builtin_ia32_cvtneps2bf16_v4sf_maskz, + __builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask, + __builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf, + __builtin_ia32_dpbf16ps_v4sf_mask, + __builtin_ia32_dpbf16ps_v4sf_maskz): Require also + OPTION_MASK_ISA_AVX512VL. + +2023-02-24 Sebastian Huber + + * config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs. + Add non-compact 32-bit multilibs. + +2023-02-24 Junxian Zhu + + * config/mips/mips.md (*clo2): New pattern. + +2023-02-24 Prachi Godbole + + * config/mips/mips.h (machine_function): New variable + use_hazard_barrier_return_p. + * config/mips/mips.md (UNSPEC_JRHB): New unspec. + (mips_hb_return_internal): New insn pattern. + * config/mips/mips.cc (mips_attribute_table): Add attribute + use_hazard_barrier_return. + (mips_use_hazard_barrier_return_p): New static function. + (mips_function_attr_inlinable_p): Likewise. + (mips_compute_frame_info): Set use_hazard_barrier_return_p. + Emit error for unsupported architecture choice. + (mips_function_ok_for_sibcall, mips_can_use_return_insn): + Return false for use_hazard_barrier_return. + (mips_expand_epilogue): Emit hazard barrier return. + * doc/extend.texi: Document use_hazard_barrier_return. + +2023-02-23 Max Filippov + + * config/xtensa/xtensa-dynconfig.cc (config.h, system.h) + (coretypes.h, diagnostic.h, intl.h): Use "..." instead of <...> + for the gcc-internal headers. + +2023-02-23 Max Filippov + + * config/xtensa/t-xtensa (xtensa-dynconfig.o): Use $(COMPILE) + and $(POSTCOMPILE) instead of manual dependency listing. + * config/xtensa/xtensa-dynconfig.c: Rename to ... + * config/xtensa/xtensa-dynconfig.cc: ... this. + +2023-02-23 Arsen Arsenović + + * doc/cfg.texi: Reorder index entries around @items. + * doc/cpp.texi: Ditto. + * doc/cppenv.texi: Ditto. + * doc/cppopts.texi: Ditto. + * doc/generic.texi: Ditto. + * doc/install.texi: Ditto. + * doc/extend.texi: Ditto. + * doc/invoke.texi: Ditto. + * doc/md.texi: Ditto. + * doc/rtl.texi: Ditto. + * doc/tm.texi.in: Ditto. + * doc/trouble.texi: Ditto. + * doc/tm.texi: Regenerate. + +2023-02-23 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.md: New peephole2 pattern that eliminates + the occurrence of general-purpose register used only once and for + transferring intermediate value. + +2023-02-23 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.cc (machine_function): Add new member + 'eliminated_callee_saved_bmp'. + (xtensa_can_eliminate_callee_saved_reg_p): New function to + determine whether the register can be eliminated or not. + (xtensa_expand_prologue): Add invoking the above function and + elimination the use of callee-saved register by using its stack + slot through the stack pointer (or the frame pointer if needed) + directly. + (xtensa_expand_prologue): Modify to not emit register restoration + insn from its stack slot if the register is already eliminated. + +2023-02-23 Jakub Jelinek + + PR translation/108890 + * config/xtensa/xtensa-dynconfig.c (xtensa_load_config): Drop _()s + around fatal_error format strings. + +2023-02-23 Richard Biener + + * tree-ssa-structalias.cc (handle_lhs_call): Do not + re-create rhsc, only truncate it. + +2023-02-23 Jakub Jelinek + + PR middle-end/106258 + * ipa-prop.cc (try_make_edge_direct_virtual_call): Handle + BUILT_IN_UNREACHABLE_TRAP like BUILT_IN_UNREACHABLE. + +2023-02-23 Richard Biener + + * tree-if-conv.cc (tree_if_conversion): Properly manage + memory of refs and the contained data references. + +2023-02-23 Richard Biener + + PR tree-optimization/108888 + * tree-if-conv.cc (if_convertible_stmt_p): Set PLF_2 on + calls to predicate. + (predicate_statements): Only predicate calls with PLF_2. + +2023-02-23 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.md + (zero_cost_loop_start, zero_cost_loop_end, loop_end): + Add missing "SI:" to PLUS RTXes. + +2023-02-23 Max Filippov + + PR target/108876 + * config/xtensa/xtensa.cc (xtensa_expand_epilogue): + Emit (use (reg:SI A0_REG)) at the end in the sibling call + (i.e. the same place as (return) in the normal call). + +2023-02-23 Max Filippov + + Revert: + 2023-02-21 Max Filippov + + PR target/108876 + * config/xtensa/xtensa.cc (xtensa_expand_epilogue): Drop emit_use + for A0_REG. + * config/xtensa/xtensa.md (sibcall, sibcall_internal) + (sibcall_value, sibcall_value_internal): Add 'use' expression + for A0_REG. + +2023-02-23 Arsen Arsenović + + * doc/cppdiropts.texi: Reorder @opindex commands to precede + @items they relate to. + * doc/cppopts.texi: Ditto. + * doc/cppwarnopts.texi: Ditto. + * doc/invoke.texi: Ditto. + * doc/lto.texi: Ditto. + +2023-02-22 Andrew Stubbs + + * internal-fn.cc (expand_MASK_CALL): New. + * internal-fn.def (MASK_CALL): New. + * internal-fn.h (expand_MASK_CALL): New prototype. + * omp-simd-clone.cc (simd_clone_adjust_argument_types): Set vector_type + for mask arguments also. + * tree-if-conv.cc: Include cgraph.h. + (if_convertible_stmt_p): Do if conversions for calls to SIMD calls. + (predicate_statements): Convert functions to IFN_MASK_CALL. + * tree-vect-loop.cc (vect_get_datarefs_in_loop): Recognise + IFN_MASK_CALL as a SIMD function call. + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Handle + IFN_MASK_CALL as an inbranch SIMD function call. + Generate the mask vector arguments. + +2023-02-22 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins-bases.cc (class reducop): New class. + (class widen_reducop): Ditto. + (class freducop): Ditto. + (class widen_freducop): Ditto. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vredsum): Add reduction support. + (vredmaxu): Ditto. + (vredmax): Ditto. + (vredminu): Ditto. + (vredmin): Ditto. + (vredand): Ditto. + (vredor): Ditto. + (vredxor): Ditto. + (vwredsum): Ditto. + (vwredsumu): Ditto. + (vfredusum): Ditto. + (vfredosum): Ditto. + (vfredmax): Ditto. + (vfredmin): Ditto. + (vfwredosum): Ditto. + (vfwredusum): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct reduc_alu_def): Ditto. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_WI_OPS): New macro. + (DEF_RVV_WU_OPS): Ditto. + (DEF_RVV_WF_OPS): Ditto. + (vint8mf8_t): Ditto. + (vint8mf4_t): Ditto. + (vint8mf2_t): Ditto. + (vint8m1_t): Ditto. + (vint8m2_t): Ditto. + (vint8m4_t): Ditto. + (vint8m8_t): Ditto. + (vint16mf4_t): Ditto. + (vint16mf2_t): Ditto. + (vint16m1_t): Ditto. + (vint16m2_t): Ditto. + (vint16m4_t): Ditto. + (vint16m8_t): Ditto. + (vint32mf2_t): Ditto. + (vint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vuint8mf8_t): Ditto. + (vuint8mf4_t): Ditto. + (vuint8mf2_t): Ditto. + (vuint8m1_t): Ditto. + (vuint8m2_t): Ditto. + (vuint8m4_t): Ditto. + (vuint8m8_t): Ditto. + (vuint16mf4_t): Ditto. + (vuint16mf2_t): Ditto. + (vuint16m1_t): Ditto. + (vuint16m2_t): Ditto. + (vuint16m4_t): Ditto. + (vuint16m8_t): Ditto. + (vuint32mf2_t): Ditto. + (vuint32m1_t): Ditto. + (vuint32m2_t): Ditto. + (vuint32m4_t): Ditto. + (vuint32m8_t): Ditto. + (vfloat32mf2_t): Ditto. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat32m8_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_WI_OPS): Ditto. + (DEF_RVV_WU_OPS): Ditto. + (DEF_RVV_WF_OPS): Ditto. + (required_extensions_p): Add reduction support. + (rvv_arg_type_info::get_base_vector_type): Ditto. + (rvv_arg_type_info::get_tree_type): Ditto. + * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Ditto. + * config/riscv/riscv.md: Ditto. + * config/riscv/vector-iterators.md (minu): Ditto. + * config/riscv/vector.md (@pred_reduc_): New patern. + (@pred_reduc_): Ditto. + (@pred_widen_reduc_plus): Ditto. + (@pred_widen_reduc_plus):Ditto. + (@pred_reduc_plus): Ditto. + (@pred_reduc_plus): Ditto. + (@pred_widen_reduc_plus): Ditto. + +2023-02-22 Ju-Zhe Zhong + + * config/riscv/iterators.md: New iterator. + * config/riscv/riscv-vector-builtins-bases.cc (class widen_binop): New class. + (enum ternop_type): New enum. + (class vmacc): New class. + (class imac): Ditto. + (class vnmsac): Ditto. + (enum widen_ternop_type): New enum. + (class vmadd): Ditto. + (class vnmsub): Ditto. + (class iwmac): Ditto. + (class vwmacc): Ditto. + (class vwmaccu): Ditto. + (class vwmaccsu): Ditto. + (class vwmaccus): Ditto. + (class reverse_binop): Ditto. + (class vfmacc): Ditto. + (class vfnmsac): Ditto. + (class vfmadd): Ditto. + (class vfnmsub): Ditto. + (class vfnmacc): Ditto. + (class vfmsac): Ditto. + (class vfnmadd): Ditto. + (class vfmsub): Ditto. + (class vfwmacc): Ditto. + (class vfwnmacc): Ditto. + (class vfwmsac): Ditto. + (class vfwnmsac): Ditto. + (class float_misc): Ditto. + (class fcmp): Ditto. + (class vfclass): Ditto. + (class vfcvt_x): Ditto. + (class vfcvt_rtz_x): Ditto. + (class vfcvt_f): Ditto. + (class vfwcvt_x): Ditto. + (class vfwcvt_rtz_x): Ditto. + (class vfwcvt_f): Ditto. + (class vfncvt_x): Ditto. + (class vfncvt_rtz_x): Ditto. + (class vfncvt_f): Ditto. + (class vfncvt_rod_f): Ditto. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: + * config/riscv/riscv-vector-builtins-functions.def (vzext): Ditto. + (vsext): Ditto. + (vfadd): Ditto. + (vfsub): Ditto. + (vfrsub): Ditto. + (vfwadd): Ditto. + (vfwsub): Ditto. + (vfmul): Ditto. + (vfdiv): Ditto. + (vfrdiv): Ditto. + (vfwmul): Ditto. + (vfmacc): Ditto. + (vfnmsac): Ditto. + (vfmadd): Ditto. + (vfnmsub): Ditto. + (vfnmacc): Ditto. + (vfmsac): Ditto. + (vfnmadd): Ditto. + (vfmsub): Ditto. + (vfwmacc): Ditto. + (vfwnmacc): Ditto. + (vfwmsac): Ditto. + (vfwnmsac): Ditto. + (vfsqrt): Ditto. + (vfrsqrt7): Ditto. + (vfrec7): Ditto. + (vfmin): Ditto. + (vfmax): Ditto. + (vfsgnj): Ditto. + (vfsgnjn): Ditto. + (vfsgnjx): Ditto. + (vfneg): Ditto. + (vfabs): Ditto. + (vmfeq): Ditto. + (vmfne): Ditto. + (vmflt): Ditto. + (vmfle): Ditto. + (vmfgt): Ditto. + (vmfge): Ditto. + (vfclass): Ditto. + (vfmerge): Ditto. + (vfmv_v): Ditto. + (vfcvt_x): Ditto. + (vfcvt_xu): Ditto. + (vfcvt_rtz_x): Ditto. + (vfcvt_rtz_xu): Ditto. + (vfcvt_f): Ditto. + (vfwcvt_x): Ditto. + (vfwcvt_xu): Ditto. + (vfwcvt_rtz_x): Ditto. + (vfwcvt_rtz_xu): Ditto. + (vfwcvt_f): Ditto. + (vfncvt_x): Ditto. + (vfncvt_xu): Ditto. + (vfncvt_rtz_x): Ditto. + (vfncvt_rtz_xu): Ditto. + (vfncvt_f): Ditto. + (vfncvt_rod_f): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Ditto. + (struct move_def): Ditto. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_WEXTF_OPS): New macro. + (DEF_RVV_CONVERT_I_OPS): Ditto. + (DEF_RVV_CONVERT_U_OPS): Ditto. + (DEF_RVV_WCONVERT_I_OPS): Ditto. + (DEF_RVV_WCONVERT_U_OPS): Ditto. + (DEF_RVV_WCONVERT_F_OPS): Ditto. + (vfloat64m1_t): Ditto. + (vfloat64m2_t): Ditto. + (vfloat64m4_t): Ditto. + (vfloat64m8_t): Ditto. + (vint32mf2_t): Ditto. + (vint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vint64m1_t): Ditto. + (vint64m2_t): Ditto. + (vint64m4_t): Ditto. + (vint64m8_t): Ditto. + (vuint32mf2_t): Ditto. + (vuint32m1_t): Ditto. + (vuint32m2_t): Ditto. + (vuint32m4_t): Ditto. + (vuint32m8_t): Ditto. + (vuint64m1_t): Ditto. + (vuint64m2_t): Ditto. + (vuint64m4_t): Ditto. + (vuint64m8_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_CONVERT_I_OPS): Ditto. + (DEF_RVV_CONVERT_U_OPS): Ditto. + (DEF_RVV_WCONVERT_I_OPS): Ditto. + (DEF_RVV_WCONVERT_U_OPS): Ditto. + (DEF_RVV_WCONVERT_F_OPS): Ditto. + (DEF_RVV_F_OPS): Ditto. + (DEF_RVV_WEXTF_OPS): Ditto. + (required_extensions_p): Adjust for floating-point support. + (check_required_extensions): Ditto. + (unsigned_base_type_p): Ditto. + (get_mode_for_bitsize): Ditto. + (rvv_arg_type_info::get_base_vector_type): Ditto. + (rvv_arg_type_info::get_tree_type): Ditto. + * config/riscv/riscv-vector-builtins.def (v_f): New define. + (f): New define. + (f_v): New define. + (xu_v): New define. + (f_w): New define. + (xu_w): New define. + * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): New enum. + (function_expander::arg_mode): New function. + * config/riscv/vector-iterators.md (sof): New iterator. + (vfrecp): Ditto. + (copysign): Ditto. + (n): Ditto. + (msac): Ditto. + (msub): Ditto. + (fixuns_trunc): Ditto. + (floatuns): Ditto. + * config/riscv/vector.md (@pred_broadcast): New pattern. + (@pred_): Ditto. + (@pred__scalar): Ditto. + (@pred__reverse_scalar): Ditto. + (@pred_): Ditto. + (@pred__scalar): Ditto. + (@pred_mul_): Ditto. + (pred_mul__undef_merge): Ditto. + (*pred_): Ditto. + (*pred_): Ditto. + (*pred_mul_): Ditto. + (@pred_mul__scalar): Ditto. + (*pred_mul__undef_merge_scalar): Ditto. + (*pred__scalar): Ditto. + (*pred__scalar): Ditto. + (*pred_mul__scalar): Ditto. + (@pred_neg_mul_): Ditto. + (pred_neg_mul__undef_merge): Ditto. + (*pred_): Ditto. + (*pred_): Ditto. + (*pred_neg_mul_): Ditto. + (@pred_neg_mul__scalar): Ditto. + (*pred_neg_mul__undef_merge_scalar): Ditto. + (*pred__scalar): Ditto. + (*pred__scalar): Ditto. + (*pred_neg_mul__scalar): Ditto. + (@pred_): Ditto. + (@pred_class): Ditto. + (@pred_dual_widen_): Ditto. + (@pred_dual_widen__scalar): Ditto. + (@pred_single_widen_): Ditto. + (@pred_single_widen__scalar): Ditto. + (@pred_widen_mul_): Ditto. + (@pred_widen_mul__scalar): Ditto. + (@pred_widen_neg_mul_): Ditto. + (@pred_widen_neg_mul__scalar): Ditto. + (@pred_cmp): Ditto. + (*pred_cmp): Ditto. + (*pred_cmp_narrow): Ditto. + (@pred_cmp_scalar): Ditto. + (*pred_cmp_scalar): Ditto. + (*pred_cmp_scalar_narrow): Ditto. + (@pred_eqne_scalar): Ditto. + (*pred_eqne_scalar): Ditto. + (*pred_eqne_scalar_narrow): Ditto. + (@pred_merge_scalar): Ditto. + (@pred_fcvt_x_f): Ditto. + (@pred_): Ditto. + (@pred_): Ditto. + (@pred_widen_fcvt_x_f): Ditto. + (@pred_widen_): Ditto. + (@pred_widen_): Ditto. + (@pred_extend): Ditto. + (@pred_narrow_fcvt_x_f): Ditto. + (@pred_narrow_): Ditto. + (@pred_narrow_): Ditto. + (@pred_trunc): Ditto. + (@pred_rod_trunc): Ditto. + +2023-02-22 Jakub Jelinek + + PR middle-end/106258 + * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee, + cgraph_update_edges_for_call_stmt_node, cgraph_node::verify_node): + Handle BUILT_IN_UNREACHABLE_TRAP like BUILT_IN_UNREACHABLE. + * cgraphclones.cc (cgraph_node::create_clone): Likewise. + +2023-02-22 Thomas Schwinge + + * common.opt (-Wcomplain-wrong-lang): New. + * doc/invoke.texi (-Wno-complain-wrong-lang): Document it. + * opts-common.cc (prune_options): Handle it. + * opts-global.cc (complain_wrong_lang): Use it. + +2023-02-21 David Malcolm + + PR analyzer/108830 + * doc/invoke.texi: Document -fno-analyzer-suppress-followups. + +2023-02-21 Max Filippov + + PR target/108876 + * config/xtensa/xtensa.cc (xtensa_expand_epilogue): Drop emit_use + for A0_REG. + * config/xtensa/xtensa.md (sibcall, sibcall_internal) + (sibcall_value, sibcall_value_internal): Add 'use' expression + for A0_REG. + +2023-02-21 Richard Biener + + PR tree-optimization/108691 + * tree-ssa-dce.cc (eliminate_unnecessary_stmts): Remove + assert about calls_setjmp not becoming true when it was false. + +2023-02-21 Richard Biener + + PR tree-optimization/108793 + * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap): + Use convert operands to niter_type when computing num. + +2023-02-21 Richard Biener + + Revert: + 2023-02-13 Richard Biener + + PR tree-optimization/108691 + * tree-cfg.cc (notice_special_calls): When the CFG is built + honor gimple_call_ctrl_altering_p. + * cfgexpand.cc (expand_call_stmt): Clear cfun->calls_setjmp + temporarily if the call is not control-altering. + * calls.cc (emit_call_1): Do not add REG_SETJMP if + cfun->calls_setjmp is not set. Do not alter cfun->calls_setjmp. + +2023-02-21 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.cc (xtensa_call_save_reg): Change to return + true if register A0 (return address register) when -Og is specified. + +2023-02-20 Uroš Bizjak + + * config/i386/predicates.md + (general_x64constmem_operand): New predicate. + * config/i386/i386.md (*cmpqi_ext_1): + Use nonimm_x64constmem_operand. + (*cmpqi_ext_3): Use general_x64constmem_operand. + (*addqi_ext_1): Ditto. + (*testqi_ext_1): Ditto. + (*andqi_ext_1): Ditto. + (*andqi_ext_1_cc): Ditto. + (*qi_ext_1): Ditto. + (*xorqi_ext_1_cc): Ditto. + +2023-02-20 Jakub Jelinek + + PR target/108862 + * config/rs6000/rs6000.md (umaddditi4): Swap gen_maddlddi4 with + gen_umadddi4_highpart{,_le}. + +2023-02-20 Kito Cheng + + * config/riscv/riscv.md (prefetch): Use r instead of p for the + address operand. + (riscv_prefetchi_): Ditto. + +2023-02-20 Richard Biener + + PR tree-optimization/108816 + * tree-vect-loop-manip.cc (vect_loop_versioning): Adjust + versioning condition split prerequesite, assert required + invariant. + +2023-02-20 Richard Biener + + PR tree-optimization/108825 + * tree-ssa-loop-manip.cc (verify_loop_closed_ssa): For + loop-local verfication only verify there's no pending SSA + update. + +2023-02-20 Richard Biener + + PR tree-optimization/108819 + * tree-ssa-loop-niter.cc (number_of_iterations_cltz): Check + we have an SSA name as iv_2 as expected. + +2023-02-18 Jakub Jelinek + + PR tree-optimization/108819 + * tree-ssa-reassoc.cc (update_ops): Fold new stmt in place. + +2023-02-18 Jakub Jelinek + + PR target/108832 + * config/i386/i386-protos.h (ix86_replace_reg_with_reg): Declare. + * config/i386/i386-expand.cc (ix86_replace_reg_with_reg): New + function. + * config/i386/i386.md: Replace replace_rtx calls in all peephole2s + with ix86_replace_reg_with_reg. + +2023-02-18 Gerald Pfeifer + + * doc/invoke.texi (AVR Options): Update link to AVR-LibC. + +2023-02-18 Xi Ruoyao + + * config.gcc (triplet_abi): Set its value based on $with_abi, + instead of $target. + (la_canonical_triplet): Set it after $triplet_abi is set + correctly. + * config/loongarch/t-linux (MULTILIB_OSDIRNAMES): Make the + multiarch tuple for lp64d "loongarch64-linux-gnu" (without + "f64" suffix). + +2023-02-18 Andrew Pinski + + * match.pd: Remove #if GIMPLE around the + "1 - a" pattern + +2023-02-18 Andrew Pinski + + * value-query.h (get_range_query): Return the global ranges + for a nullptr func. + +2023-02-17 Siddhesh Poyarekar + + * doc/invoke.texi (@item -Wall): Fix typo in + -Wuse-after-free. + +2023-02-17 Uroš Bizjak + + PR target/108831 + * config/i386/predicates.md + (nonimm_x64constmem_operand): New predicate. + * config/i386/i386.md (*addqi_ext_0): New insn pattern. + (*subqi_ext_0): Ditto. + (*andqi_ext_0): Ditto. + (*qi_ext_0): Ditto. + +2023-02-17 Uroš Bizjak + + PR target/108805 + * simplify-rtx.cc (simplify_context::simplify_subreg): Use + int_outermode instead of GET_MODE (tem) to prevent + VOIDmode from entering simplify_gen_subreg. + +2023-02-17 Richard Biener + + PR tree-optimization/108821 + * tree-ssa-loop-im.cc (sm_seq_valid_bb): We can also not + move volatile accesses. + +2023-02-17 Richard Biener + + * tree-ssa.cc (ssa_undefined_value_p): Assert we are not + called on virtual operands. + * tree-ssa-sccvn.cc (vn_phi_lookup): Guard + ssa_undefined_value_p calls. + (vn_phi_insert): Likewise. + (set_ssa_val_to): Likewise. + (visit_phi): Avoid extra work with equivalences for + virtual operand PHIs. + +2023-02-17 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins-bases.cc (class mask_logic): New + class. + (class mask_nlogic): Ditto. + (class mask_notlogic): Ditto. + (class vmmv): Ditto. + (class vmclr): Ditto. + (class vmset): Ditto. + (class vmnot): Ditto. + (class vcpop): Ditto. + (class vfirst): Ditto. + (class mask_misc): Ditto. + (class viota): Ditto. + (class vid): Ditto. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vmand): Ditto. + (vmnand): Ditto. + (vmandn): Ditto. + (vmxor): Ditto. + (vmor): Ditto. + (vmnor): Ditto. + (vmorn): Ditto. + (vmxnor): Ditto. + (vmmv): Ditto. + (vmclr): Ditto. + (vmset): Ditto. + (vmnot): Ditto. + (vcpop): Ditto. + (vfirst): Ditto. + (vmsbf): Ditto. + (vmsif): Ditto. + (vmsof): Ditto. + (viota): Ditto. + (vid): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Ditto. + (struct mask_alu_def): Ditto. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc: Ditto. + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::cleanup_insns): Fix bug + for dest it scalar RVV intrinsics. + * config/riscv/vector-iterators.md (sof): New iterator. + * config/riscv/vector.md (@pred_n): New pattern. + (@pred_not): New pattern. + (@pred_popcount): New pattern. + (@pred_ffs): New pattern. + (@pred_): New pattern. + (@pred_iota): New pattern. + (@pred_series): New pattern. + +2023-02-17 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins-functions.def (vadc): Rename. + (vsbc): Ditto. + (vmerge): Ditto. + (vmv_v): Ditto. + * config/riscv/riscv-vector-builtins.cc: Ditto. + +2023-02-17 Ju-Zhe Zhong + kito-cheng + + * config/riscv/riscv-protos.h (sew64_scalar_helper): New function. + * config/riscv/riscv-v.cc (has_vi_variant_p): Adjust. + (sew64_scalar_helper): New function. + * config/riscv/vector.md: Normalization. + +2023-02-17 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins-functions.def (vsetvlmax): Rearrange. + (vsm): Ditto. + (vsse): Ditto. + (vsoxei64): Ditto. + (vsub): Ditto. + (vand): Ditto. + (vor): Ditto. + (vxor): Ditto. + (vsll): Ditto. + (vsra): Ditto. + (vsrl): Ditto. + (vmin): Ditto. + (vmax): Ditto. + (vminu): Ditto. + (vmaxu): Ditto. + (vmul): Ditto. + (vmulh): Ditto. + (vmulhu): Ditto. + (vmulhsu): Ditto. + (vdiv): Ditto. + (vrem): Ditto. + (vdivu): Ditto. + (vremu): Ditto. + (vnot): Ditto. + (vsext): Ditto. + (vzext): Ditto. + (vwadd): Ditto. + (vwsub): Ditto. + (vwmul): Ditto. + (vwmulu): Ditto. + (vwmulsu): Ditto. + (vwaddu): Ditto. + (vwsubu): Ditto. + (vsbc): Ditto. + (vmsbc): Ditto. + (vnsra): Ditto. + (vmerge): Ditto. + (vmv_v): Ditto. + (vmsne): Ditto. + (vmslt): Ditto. + (vmsgt): Ditto. + (vmsle): Ditto. + (vmsge): Ditto. + (vmsltu): Ditto. + (vmsgtu): Ditto. + (vmsleu): Ditto. + (vmsgeu): Ditto. + (vnmsac): Ditto. + (vmadd): Ditto. + (vnmsub): Ditto. + (vwmacc): Ditto. + (vsadd): Ditto. + (vssub): Ditto. + (vssubu): Ditto. + (vaadd): Ditto. + (vasub): Ditto. + (vasubu): Ditto. + (vsmul): Ditto. + (vssra): Ditto. + (vssrl): Ditto. + (vnclip): Ditto. + +2023-02-17 Ju-Zhe Zhong + + * config/riscv/vector.md (@pred_): Rearrange. + (@pred__scalar): Ditto. + (*pred__scalar): Ditto. + (*pred__extended_scalar): Ditto. + +2023-02-17 Ju-Zhe Zhong + + * config/riscv/riscv-protos.h (riscv_run_selftests): Remove 'extern'. + (init_builtins): Ditto. + (mangle_builtin_type): Ditto. + (verify_type_context): Ditto. + (handle_pragma_vector): Ditto. + (builtin_decl): Ditto. + (expand_builtin): Ditto. + (const_vec_all_same_in_range_p): Ditto. + (legitimize_move): Ditto. + (emit_vlmax_op): Ditto. + (emit_nonvlmax_op): Ditto. + (get_vlmul): Ditto. + (get_ratio): Ditto. + (get_ta): Ditto. + (get_ma): Ditto. + (get_avl_type): Ditto. + (calculate_ratio): Ditto. + (enum vlmul_type): Ditto. + (simm5_p): Ditto. + (neg_simm5_p): Ditto. + (has_vi_variant_p): Ditto. + +2023-02-17 Ju-Zhe Zhong + + * config/riscv/riscv-protos.h (simm32_p): Remove. + * config/riscv/riscv-v.cc (simm32_p): Ditto. + * config/riscv/vector.md: Use immediate_operand + instead of riscv_vector::simm32_p. + +2023-02-16 Gerald Pfeifer + + * doc/invoke.texi (Optimize Options): Reword the explanation + getting minimal, maximal and default values of a parameter. + +2023-02-16 Patrick Palka + + * addresses.h: Mechanically drop 'static' from 'static inline' + functions via s/^static inline/inline/g. + * asan.h: Likewise. + * attribs.h: Likewise. + * basic-block.h: Likewise. + * bitmap.h: Likewise. + * cfghooks.h: Likewise. + * cfgloop.h: Likewise. + * cgraph.h: Likewise. + * cselib.h: Likewise. + * data-streamer.h: Likewise. + * debug.h: Likewise. + * df.h: Likewise. + * diagnostic.h: Likewise. + * dominance.h: Likewise. + * dumpfile.h: Likewise. + * emit-rtl.h: Likewise. + * except.h: Likewise. + * expmed.h: Likewise. + * expr.h: Likewise. + * fixed-value.h: Likewise. + * gengtype.h: Likewise. + * gimple-expr.h: Likewise. + * gimple-iterator.h: Likewise. + * gimple-predict.h: Likewise. + * gimple-range-fold.h: Likewise. + * gimple-ssa.h: Likewise. + * gimple.h: Likewise. + * graphite.h: Likewise. + * hard-reg-set.h: Likewise. + * hash-map.h: Likewise. + * hash-set.h: Likewise. + * hash-table.h: Likewise. + * hwint.h: Likewise. + * input.h: Likewise. + * insn-addr.h: Likewise. + * internal-fn.h: Likewise. + * ipa-fnsummary.h: Likewise. + * ipa-icf-gimple.h: Likewise. + * ipa-inline.h: Likewise. + * ipa-modref.h: Likewise. + * ipa-prop.h: Likewise. + * ira-int.h: Likewise. + * ira.h: Likewise. + * lra-int.h: Likewise. + * lra.h: Likewise. + * lto-streamer.h: Likewise. + * memmodel.h: Likewise. + * omp-general.h: Likewise. + * optabs-query.h: Likewise. + * optabs.h: Likewise. + * plugin.h: Likewise. + * pretty-print.h: Likewise. + * range.h: Likewise. + * read-md.h: Likewise. + * recog.h: Likewise. + * regs.h: Likewise. + * rtl-iter.h: Likewise. + * rtl.h: Likewise. + * sbitmap.h: Likewise. + * sched-int.h: Likewise. + * sel-sched-ir.h: Likewise. + * sese.h: Likewise. + * sparseset.h: Likewise. + * ssa-iterators.h: Likewise. + * system.h: Likewise. + * target-globals.h: Likewise. + * target.h: Likewise. + * timevar.h: Likewise. + * tree-chrec.h: Likewise. + * tree-data-ref.h: Likewise. + * tree-iterator.h: Likewise. + * tree-outof-ssa.h: Likewise. + * tree-phinodes.h: Likewise. + * tree-scalar-evolution.h: Likewise. + * tree-sra.h: Likewise. + * tree-ssa-alias.h: Likewise. + * tree-ssa-live.h: Likewise. + * tree-ssa-loop-manip.h: Likewise. + * tree-ssa-loop.h: Likewise. + * tree-ssa-operands.h: Likewise. + * tree-ssa-propagate.h: Likewise. + * tree-ssa-sccvn.h: Likewise. + * tree-ssa.h: Likewise. + * tree-ssanames.h: Likewise. + * tree-streamer.h: Likewise. + * tree-switch-conversion.h: Likewise. + * tree-vectorizer.h: Likewise. + * tree.h: Likewise. + * wide-int.h: Likewise. + +2023-02-16 Jakub Jelinek + + PR tree-optimization/108657 + * tree-ssa-dse.cc (initialize_ao_ref_for_dse): If lhs of stmt + exists and is not a SSA_NAME, call ao_ref_init even if the stmt + is a call to internal or builtin function. + +2023-02-16 Jonathan Wakely + + * doc/invoke.texi (C++ Dialect Options): Suggest adding a + using-declaration to unhide functions. + +2023-02-16 Jakub Jelinek + + PR tree-optimization/108783 + * tree-ssa-reassoc.cc (eliminate_redundant_comparison): If lcode + is equal to TREE_CODE (t), op1 to newop1 and op2 to newop2, set + t to curr->op. Otherwise, punt if either newop1 or newop2 are + SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs. + +2023-02-16 Richard Biener + + PR tree-optimization/108791 + * tree-ssa-forwprop.cc (optimize_vector_load): Build + the ADDR_EXPR of a TARGET_MEM_REF using a more meaningful + type. + +2023-02-15 Eric Botcazou + + PR target/90458 + * config/i386/i386.cc (ix86_compute_frame_layout): Disable the + effects of -fstack-clash-protection for TARGET_STACK_PROBE. + (ix86_expand_prologue): Likewise. + +2023-02-15 Jan-Benedict Glaw + + * config/bpf/bpf.cc (bpf_option_override): Fix doubled space. + +2023-02-15 Uroš Bizjak + + * config/i386/i386.md (*cmpqi_ext_1): Use + int248_register_operand predicate in zero_extract sub-RTX. + (*cmpqi_ext_2): Ditto. + (*cmpqi_ext_3): Ditto. + (*cmpqi_ext_4): Ditto. + (*extzvqi_mem_rex64): Ditto. + (*extzvqi): Ditto. + (*insvqi_1_mem_rex64): Ditto. + (@insv_1): Ditto. + (*insvqi_1): Ditto. + (*insvqi_2): Ditto. + (*insvqi_3): Ditto. + (*extendqi_ext_1): Ditto. + (*addqi_ext_1): Ditto. + (*addqi_ext_2): Ditto. + (*subqi_ext_2): Ditto. + (*testqi_ext_1): Ditto. + (*testqi_ext_2): Ditto. + (*andqi_ext_1): Ditto. + (*andqi_ext_1_cc): Ditto. + (*andqi_ext_2): Ditto. + (*qi_ext_1): Ditto. + (*qi_ext_2): Ditto. + (*xorqi_ext_1_cc): Ditto. + (*negqi_ext_2): Ditto. + (*ashlqi_ext_2): Ditto. + (*qi_ext_2): Ditto. + +2023-02-15 Uroš Bizjak + + * config/i386/predicates.md (int248_register_operand): + Rename from extr_register_operand. + * config/i386/i386.md (*extv): Update for renamed predicate. + (*extzx): Ditto. + (*ashl3_doubleword_mask): Use int248_register_operand predicate. + (*ashl3_mask): Ditto. + (*3_mask): Ditto. + (*3_doubleword_mask): Ditto. + (*3_mask): Ditto. + (*_mask): Ditto. + (*btr_mask): Ditto. + (*jcc_bt_mask_1): Ditto. + +2023-02-15 Richard Biener + + PR middle-end/26854 + * df-core.cc (df_worklist_propagate_forward): Put later + blocks on worklist and only earlier blocks on pending. + (df_worklist_propagate_backward): Likewise. + (df_worklist_dataflow_doublequeue): Change the iteration + to process new blocks in the same iteration if that + maintains the iteration order. + +2023-02-15 Marek Polacek + + PR middle-end/106080 + * gimple-ssa-warn-access.cc (is_auto_decl): Remove. Use auto_var_p + instead. + +2023-02-15 Ju-Zhe Zhong + + * config/riscv/predicates.md: Refine codes. + * config/riscv/riscv-protos.h (RVV_VUNDEF): New macro. + * config/riscv/riscv-v.cc: Refine codes. + * config/riscv/riscv-vector-builtins-bases.cc (enum ternop_type): New + enum. + (class imac): New class. + (enum widen_ternop_type): New enum. + (class iwmac): New class. + (BASE): New class. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vmacc): Ditto. + (vnmsac): Ditto. + (vmadd): Ditto. + (vnmsub): Ditto. + (vwmacc): Ditto. + (vwmaccu): Ditto. + (vwmaccsu): Ditto. + (vwmaccus): Ditto. + * config/riscv/riscv-vector-builtins.cc + (function_builder::apply_predication): Adjust for multiply-add support. + (function_expander::add_vundef_operand): Refine codes. + (function_expander::use_ternop_insn): New function. + (function_expander::use_widen_ternop_insn): Ditto. + * config/riscv/riscv-vector-builtins.h: New function. + * config/riscv/vector.md (@pred_mul_): New pattern. + (pred_mul__undef_merge): Ditto. + (*pred_): Ditto. + (*pred_): Ditto. + (*pred_mul_): Ditto. + (@pred_mul__scalar): Ditto. + (*pred_mul__undef_merge_scalar): Ditto. + (*pred__scalar): Ditto. + (*pred__scalar): Ditto. + (*pred_mul__scalar): Ditto. + (*pred_mul__undef_merge_extended_scalar): Ditto. + (*pred__extended_scalar): Ditto. + (*pred__extended_scalar): Ditto. + (*pred_mul__extended_scalar): Ditto. + (@pred_widen_mul_plus): Ditto. + (@pred_widen_mul_plus_scalar): Ditto. + (@pred_widen_mul_plussu): Ditto. + (@pred_widen_mul_plussu_scalar): Ditto. + (@pred_widen_mul_plusus_scalar): Ditto. + +2023-02-15 Ju-Zhe Zhong + + * config/riscv/predicates.md (vector_mask_operand): Refine the codes. + (vector_all_trues_mask_operand): New predicate. + (vector_undef_operand): New predicate. + (ltge_operator): New predicate. + (comparison_except_ltge_operator): New predicate. + (comparison_except_eqge_operator): New predicate. + (ge_operator): New predicate. + * config/riscv/riscv-v.cc (has_vi_variant_p): Add compare support. + * config/riscv/riscv-vector-builtins-bases.cc (class icmp): New class. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vmseq): Ditto. + (vmsne): Ditto. + (vmslt): Ditto. + (vmsgt): Ditto. + (vmsle): Ditto. + (vmsge): Ditto. + (vmsltu): Ditto. + (vmsgtu): Ditto. + (vmsleu): Ditto. + (vmsgeu): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc + (struct return_mask_def): Adjust for compare support. + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_compare_insn): New function. + * config/riscv/riscv-vector-builtins.h + (function_expander::add_integer_operand): Ditto. + * config/riscv/riscv.cc (riscv_print_operand): Add compare support. + * config/riscv/riscv.md: Add vector min/max attributes. + * config/riscv/vector-iterators.md (xnor): New iterator. + * config/riscv/vector.md (@pred_cmp): New pattern. + (*pred_cmp): Ditto. + (*pred_cmp_narrow): Ditto. + (@pred_ltge): Ditto. + (*pred_ltge): Ditto. + (*pred_ltge_narrow): Ditto. + (@pred_cmp_scalar): Ditto. + (*pred_cmp_scalar): Ditto. + (*pred_cmp_scalar_narrow): Ditto. + (@pred_eqne_scalar): Ditto. + (*pred_eqne_scalar): Ditto. + (*pred_eqne_scalar_narrow): Ditto. + (*pred_cmp_extended_scalar): Ditto. + (*pred_cmp_extended_scalar_narrow): Ditto. + (*pred_eqne_extended_scalar): Ditto. + (*pred_eqne_extended_scalar_narrow): Ditto. + (@pred_ge_scalar): Ditto. + (@pred_): Ditto. + (@pred_n): Ditto. + (@pred_n): Ditto. + (@pred_not): Ditto. + +2023-02-15 Martin Jambor + + PR ipa/108679 + * ipa-sra.cc (push_param_adjustments_for_index): Do not omit + creation of non-scalar replacements even if IPA-CP knows their + contents. + +2023-02-15 Jakub Jelinek + + PR target/108787 + PR target/103109 + * config/rs6000/rs6000.md (maddditi4): Change into umaddditi4 only + expander, change operand 3 to be TImode, emit maddlddi4 and + umadddi4_highpart{,_le} with its low half and finally add the high + half to the result. + +2023-02-15 Martin Liska + + * doc/invoke.texi: Document --param=asan-kernel-mem-intrinsic-prefix. + +2023-02-15 Richard Biener + + * sanopt.cc (sanitize_asan_mark_unpoison): Use bitmap + for with_poison and alias worklist to it. + (sanitize_asan_mark_poison): Likewise. + +2023-02-15 Richard Biener + + PR target/108738 + * config/i386/i386-features.cc (scalar_chain::add_to_queue): + Combine bitmap test and set. + (scalar_chain::add_insn): Likewise. + (scalar_chain::analyze_register_chain): Remove redundant + attempt to add to queue and instead strengthen assert. + Sink common attempts to mark the def dual-mode. + (scalar_chain::add_to_queue): Remove redundant insn bitmap + check. + +2023-02-15 Richard Biener + + PR target/108738 + * config/i386/i386-features.cc (convert_scalars_to_vector): + Switch candidates bitmaps to tree view before building the chains. + +2023-02-15 Hans-Peter Nilsson + + * reload1.cc (gen_reload): Correct rtx parameter for fatal_insn + "failure trying to reload" call. + +2023-02-15 Hans-Peter Nilsson + + * gdbinit.in (phrs): New command. + * sel-sched-dump.cc (debug_hard_reg_set): Remove debug-function. + * ira-color.cc (debug_hard_reg_set): New, calling print_hard_reg_set. + +2023-02-14 David Faust + + PR target/108790 + * config/bpf/constraints.md (q): New memory constraint. + * config/bpf/bpf.md (zero_extendhidi2): Use it here. + (zero_extendqidi2): Likewise. + (zero_extendsidi2): Likewise. + (*mov): Likewise. + +2023-02-14 Andrew Pinski + + PR tree-optimization/108355 + PR tree-optimization/96921 + * match.pd: Add pattern for "1 - bool_val". + +2023-02-14 Richard Biener + + * tree-ssa-sccvn.cc (vn_phi_compute_hash): Key skipping + basic block index hashing on the availability of ->cclhs. + (vn_phi_eq): Avoid re-doing sanity checks for CSE but + rely on ->cclhs availability. + (vn_phi_lookup): Set ->cclhs only when we are eventually + going to CSE the PHI. + (vn_phi_insert): Likewise. + +2023-02-14 Eric Botcazou + + * gimplify.cc (gimplify_save_expr): Add missing guard. + +2023-02-14 Richard Biener + + PR tree-optimization/108782 + * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): + Make sure we're not vectorizing an inner loop. + +2023-02-14 Jakub Jelinek + + PR sanitizer/108777 + * params.opt (-param=asan-kernel-mem-intrinsic-prefix=): New param. + * asan.h (asan_memfn_rtl): Declare. + * asan.cc (asan_memfn_rtls): New variable. + (asan_memfn_rtl): New function. + * builtins.cc (expand_builtin): If + param_asan_kernel_mem_intrinsic_prefix and function is + kernel-{,hw}address sanitized, emit calls to + __{,hw}asan_{memcpy,memmove,memset} rather than + {memcpy,memmove,memset}. Use sanitize_flags_p (SANITIZE_ADDRESS) + instead of flag_sanitize & SANITIZE_ADDRESS to check if + asan_intercepted_p functions shouldn't be expanded inline. + +2023-02-14 Richard Sandiford + + PR tree-optimization/96373 + * tree-vect-stmts.cc (vectorizable_operation): Predicate trapping + operations on the loop mask. Reject partial vectors if this isn't + possible. + +2023-02-13 Richard Sandiford + + PR rtl-optimization/108681 + * lra-spills.cc (lra_final_code_change): Extend subreg replacement + code to handle bare uses and clobbers. + +2023-02-13 Vladimir N. Makarov + + * ira.cc (ira_update_equiv_info_by_shuffle_insn): Clear equiv + caller_save_p flag when clearing defined_p flag. + (setup_reg_equiv): Ditto. + * lra-constraints.cc (lra_constraints): Ditto. + +2023-02-13 Uroš Bizjak + + PR target/108516 + * config/i386/predicates.md (extr_register_operand): + New special predicate. + * config/i386/i386.md (*extv): Use extr_register_operand + as operand 1 predicate. + (*exzv): Ditto. + (*extendqi_ext_1): New insn pattern. + +2023-02-13 Richard Biener + + PR tree-optimization/28614 + * tree-ssa-sccvn.cc (can_track_predicate_on_edge): Avoid + walking all edges in most cases. + (vn_nary_op_insert_pieces_predicated): Avoid repeated + calls to can_track_predicate_on_edge unless checking is + enabled. + (process_bb): Instead call it once here for each edge + we register possibly multiple predicates on. + +2023-02-13 Richard Biener + + PR tree-optimization/108691 + * tree-cfg.cc (notice_special_calls): When the CFG is built + honor gimple_call_ctrl_altering_p. + * cfgexpand.cc (expand_call_stmt): Clear cfun->calls_setjmp + temporarily if the call is not control-altering. + * calls.cc (emit_call_1): Do not add REG_SETJMP if + cfun->calls_setjmp is not set. Do not alter cfun->calls_setjmp. + +2023-02-13 Stefan Schulze Frielinghaus + + PR target/108102 + * config/s390/s390.cc (s390_bb_fallthru_entry_likely): Remove. + (struct s390_sched_state): Initialise to zero. + (s390_sched_variable_issue): For better debuggability also emit + the current side. + (s390_sched_init): Unconditionally reset scheduler state. + +2023-02-13 Richard Sandiford + + * ifcvt.h (noce_if_info::cond_inverted): New field. + * ifcvt.cc (cond_move_convert_if_block): Swap the then and else + values when cond_inverted is true. + (noce_find_if_block): Allow the condition to be inverted when + handling conditional moves. + +2023-02-13 Stefan Schulze Frielinghaus + + * config/s390/predicates.md (execute_operation): Use + constrain_operands instead of extract_constrain_insn in order to + determine wheter there exists a valid alternative. + +2023-02-13 Claudiu Zissulescu + + * common/config/arc/arc-common.cc (arc_option_optimization_table): + Remove millicode from list. + +2023-02-13 Martin Liska + + * doc/invoke.texi: Document ira-simple-lra-insn-threshold. + +2023-02-13 Richard Biener + + PR tree-optimization/106722 + * tree-ssa-dce.cc (mark_last_stmt_necessary): Return + whether we marked a stmt. + (mark_control_dependent_edges_necessary): When + mark_last_stmt_necessary didn't mark any stmt make sure + to mark its control dependent edges. + (propagate_necessity): Likewise. + +2023-02-13 Kito Cheng + + * config/riscv/riscv.h (RISCV_DWARF_VLENB): New. + (DWARF_FRAME_REGISTERS): New. + (DWARF_REG_TO_UNWIND_COLUMN): New. + +2023-02-12 Gerald Pfeifer + + * doc/sourcebuild.texi: Remove (broken) direct reference to + "The GNU configure and build system". + +2023-02-12 Jin Ma + + * config/riscv/riscv.cc (riscv_adjust_libcall_cfi_prologue): Change + gen_add3_insn to gen_rtx_SET. + (riscv_adjust_libcall_cfi_epilogue): Likewise. + +2023-02-12 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins-bases.cc (class sat_op): New class. + (class vnclip): Ditto. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vaadd): Ditto. + (vasub): Ditto. + (vaaddu): Ditto. + (vasubu): Ditto. + (vsmul): Ditto. + (vssra): Ditto. + (vssrl): Ditto. + (vnclipu): Ditto. + (vnclip): Ditto. + * config/riscv/vector-iterators.md (su): Add instruction. + (aadd): Ditto. + (vaalu): Ditto. + * config/riscv/vector.md (@pred_): New pattern. + (@pred__scalar): Ditto. + (*pred__scalar): Ditto. + (*pred__extended_scalar): Ditto. + (@pred_narrow_clip): Ditto. + (@pred_narrow_clip_scalar): Ditto. + +2023-02-12 Ju-Zhe Zhong + + * config/riscv/constraints.md (Wbr): Remove unused constraint. + * config/riscv/predicates.md: Fix move operand predicate. + * config/riscv/riscv-vector-builtins-bases.cc (class vnshift): New class. + (class vncvt_x): Ditto. + (class vmerge): Ditto. + (class vmv_v): Ditto. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vsra): Ditto. + (vsrl): Ditto. + (vnsrl): Ditto. + (vnsra): Ditto. + (vncvt_x): Ditto. + (vmerge): Ditto. + (vmv_v): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct narrow_alu_def): Ditto. + (struct move_def): Ditto. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_WEXTI_OPS): New variable. + (DEF_RVV_WEXTU_OPS): Ditto + * config/riscv/riscv-vector-builtins.def (x_x_w): Fix type for suffix. + (v_v): Ditto. + (v_x): Ditto. + (x_w): Ditto. + (x): Ditto. + * config/riscv/riscv.cc (riscv_print_operand): Refine ASM printting rule. + * config/riscv/vector-iterators.md (nmsac):New iterator. + (nmsub): New iterator. + * config/riscv/vector.md (@pred_merge): New pattern. + (@pred_merge_scalar): New pattern. + (*pred_merge_scalar): New pattern. + (*pred_merge_extended_scalar): New pattern. + (@pred_narrow_): New pattern. + (@pred_narrow__scalar): New pattern. + (@pred_trunc): New pattern. + +2023-02-12 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins-bases.cc (class vmadc): New class. + (class vmsbc): Ditto. + (BASE): Define new class. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vmadc): New define. + (vmsbc): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct return_mask_def): + New class. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_exact_insn): Adjust for new support + * config/riscv/riscv-vector-builtins.h + (function_base::has_merge_operand_p): New function. + * config/riscv/vector-iterators.md: New iterator. + * config/riscv/vector.md (@pred_madc): New pattern. + (@pred_msbc): Ditto. + (@pred_madc_scalar): Ditto. + (@pred_msbc_scalar): Ditto. + (*pred_madc_scalar): Ditto. + (*pred_madc_extended_scalar): Ditto. + (*pred_msbc_scalar): Ditto. + (*pred_msbc_extended_scalar): Ditto. + (@pred_madc_overflow): Ditto. + (@pred_msbc_overflow): Ditto. + (@pred_madc_overflow_scalar): Ditto. + (@pred_msbc_overflow_scalar): Ditto. + (*pred_madc_overflow_scalar): Ditto. + (*pred_madc_overflow_extended_scalar): Ditto. + (*pred_msbc_overflow_scalar): Ditto. + (*pred_msbc_overflow_extended_scalar): Ditto. + +2023-02-12 Ju-Zhe Zhong + + * config/riscv/riscv-protos.h (simm5_p): Add vadc/vsbc support. + * config/riscv/riscv-v.cc (simm32_p): Ditto. + * config/riscv/riscv-vector-builtins-bases.cc (class vadc): New class. + (class vsbc): Ditto. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vadc): Ditto. + (vsbc): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc + (struct no_mask_policy_def): Ditto. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc + (rvv_arg_type_info::get_base_vector_type): Add vadc/vsbc support. + (rvv_arg_type_info::get_tree_type): Ditto. + (function_expander::use_exact_insn): Ditto. + * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Ditto. + (function_base::use_mask_predication_p): New function. + * config/riscv/vector-iterators.md: New iterator. + * config/riscv/vector.md (@pred_adc): New pattern. + (@pred_sbc): Ditto. + (@pred_adc_scalar): Ditto. + (@pred_sbc_scalar): Ditto. + (*pred_adc_scalar): Ditto. + (*pred_adc_extended_scalar): Ditto. + (*pred_sbc_scalar): Ditto. + (*pred_sbc_extended_scalar): Ditto. + +2023-02-12 Ju-Zhe Zhong + + * config/riscv/vector.md: use "zero" reg. + +2023-02-12 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins-bases.cc (class widen_binop): New + class. + (class vwmulsu): Ditto. + (class vwcvt): Ditto. + (BASE): Add integer widening support. + * config/riscv/riscv-vector-builtins-bases.h: Ditto + * config/riscv/riscv-vector-builtins-functions.def (vwadd): New class. + (vwsub): New class. + (vwmul): New class. + (vwmulu): New class. + (vwmulsu): New class. + (vwaddu): New class. + (vwsubu): New class. + (vwcvt_x): New class. + (vwcvtu_x): New class. + * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): New + class. + (struct widen_alu_def): New class. + (SHAPE): New class. + * config/riscv/riscv-vector-builtins-shapes.h: New class. + * config/riscv/riscv-vector-builtins.cc + (rvv_arg_type_info::get_base_vector_type): Add integer widening support. + (rvv_arg_type_info::get_tree_type): Ditto. + * config/riscv/riscv-vector-builtins.def (x_x_v): Change into "x_v" + (x_v): Ditto. + * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Add integer + widening support. + * config/riscv/riscv-vsetvl.cc (change_insn): Fix reg_equal use bug. + * config/riscv/riscv.h (X0_REGNUM): New constant. + * config/riscv/vector-iterators.md: New iterators. + * config/riscv/vector.md + (@pred_dual_widen_): New + pattern. + (@pred_dual_widen__scalar): + Ditto. + (@pred_single_widen_): Ditto. + (@pred_single_widen__scalar): + Ditto. + (@pred_widen_mulsu): Ditto. + (@pred_widen_mulsu_scalar): Ditto. + (@pred_): Ditto. + +2023-02-12 Ju-Zhe Zhong + kito-cheng + + * common/config/riscv/riscv-common.cc: Add flag for 'V' extension. + * config/riscv/riscv-vector-builtins-bases.cc (class vmulh): New class. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vmulh): Add vmulh + API support. + (vmulhu): Ditto. + (vmulhsu): Ditto. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_FULL_V_I_OPS): + New macro. + (DEF_RVV_FULL_V_U_OPS): Ditto. + (vint8mf8_t): Ditto. + (vint8mf4_t): Ditto. + (vint8mf2_t): Ditto. + (vint8m1_t): Ditto. + (vint8m2_t): Ditto. + (vint8m4_t): Ditto. + (vint8m8_t): Ditto. + (vint16mf4_t): Ditto. + (vint16mf2_t): Ditto. + (vint16m1_t): Ditto. + (vint16m2_t): Ditto. + (vint16m4_t): Ditto. + (vint16m8_t): Ditto. + (vint32mf2_t): Ditto. + (vint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vint64m1_t): Ditto. + (vint64m2_t): Ditto. + (vint64m4_t): Ditto. + (vint64m8_t): Ditto. + (vuint8mf8_t): Ditto. + (vuint8mf4_t): Ditto. + (vuint8mf2_t): Ditto. + (vuint8m1_t): Ditto. + (vuint8m2_t): Ditto. + (vuint8m4_t): Ditto. + (vuint8m8_t): Ditto. + (vuint16mf4_t): Ditto. + (vuint16mf2_t): Ditto. + (vuint16m1_t): Ditto. + (vuint16m2_t): Ditto. + (vuint16m4_t): Ditto. + (vuint16m8_t): Ditto. + (vuint32mf2_t): Ditto. + (vuint32m1_t): Ditto. + (vuint32m2_t): Ditto. + (vuint32m4_t): Ditto. + (vuint32m8_t): Ditto. + (vuint64m1_t): Ditto. + (vuint64m2_t): Ditto. + (vuint64m4_t): Ditto. + (vuint64m8_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_FULL_V_I_OPS): Ditto. + (DEF_RVV_FULL_V_U_OPS): Ditto. + (check_required_extensions): Add vmulh support. + (rvv_arg_type_info::get_tree_type): Ditto. + * config/riscv/riscv-vector-builtins.h (RVV_REQUIRE_FULL_V): Ditto. + (enum rvv_base_type): Ditto. + * config/riscv/riscv.opt: Add 'V' extension flag. + * config/riscv/vector-iterators.md (su): New iterator. + * config/riscv/vector.md (@pred_mulh): New pattern. + (@pred_mulh_scalar): Ditto. + (*pred_mulh_scalar): Ditto. + (*pred_mulh_extended_scalar): Ditto. + +2023-02-12 Ju-Zhe Zhong + + * config/riscv/iterators.md: Add sign_extend/zero_extend. + * config/riscv/riscv-vector-builtins-bases.cc (class ext): New class. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Add vsext/vzext support. + * config/riscv/riscv-vector-builtins-functions.def (vsext): New macro + define. + (vzext): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Adjust + for vsext/vzext support. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_WEXTI_OPS): New + macro define. + (DEF_RVV_QEXTI_OPS): Ditto. + (DEF_RVV_OEXTI_OPS): Ditto. + (DEF_RVV_WEXTU_OPS): Ditto. + (DEF_RVV_QEXTU_OPS): Ditto. + (DEF_RVV_OEXTU_OPS): Ditto. + (vint16mf4_t): Ditto. + (vint16mf2_t): Ditto. + (vint16m1_t): Ditto. + (vint16m2_t): Ditto. + (vint16m4_t): Ditto. + (vint16m8_t): Ditto. + (vint32mf2_t): Ditto. + (vint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vint32m8_t): Ditto. + (vint64m1_t): Ditto. + (vint64m2_t): Ditto. + (vint64m4_t): Ditto. + (vint64m8_t): Ditto. + (vuint16mf4_t): Ditto. + (vuint16mf2_t): Ditto. + (vuint16m1_t): Ditto. + (vuint16m2_t): Ditto. + (vuint16m4_t): Ditto. + (vuint16m8_t): Ditto. + (vuint32mf2_t): Ditto. + (vuint32m1_t): Ditto. + (vuint32m2_t): Ditto. + (vuint32m4_t): Ditto. + (vuint32m8_t): Ditto. + (vuint64m1_t): Ditto. + (vuint64m2_t): Ditto. + (vuint64m4_t): Ditto. + (vuint64m8_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_WEXTI_OPS): Ditto. + (DEF_RVV_QEXTI_OPS): Ditto. + (DEF_RVV_OEXTI_OPS): Ditto. + (DEF_RVV_WEXTU_OPS): Ditto. + (DEF_RVV_QEXTU_OPS): Ditto. + (DEF_RVV_OEXTU_OPS): Ditto. + (rvv_arg_type_info::get_base_vector_type): Add sign_exted/zero_extend + support. + (rvv_arg_type_info::get_tree_type): Ditto. + * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Ditto. + * config/riscv/vector-iterators.md (z): New attribute. + * config/riscv/vector.md (@pred__vf2): New pattern. + (@pred__vf4): Ditto. + (@pred__vf8): Ditto. + +2023-02-12 Ju-Zhe Zhong + + * config/riscv/iterators.md: Add saturating Addition && Subtraction. + * config/riscv/riscv-v.cc (has_vi_variant_p): Ditto. + * config/riscv/riscv-vector-builtins-bases.cc (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vsadd): New def. + (vssub): Ditto. + (vsaddu): Ditto. + (vssubu): Ditto. + * config/riscv/vector-iterators.md (sll.vi): Adjust for Saturating + support. + (sll.vv): Ditto. + (%3,%v4): Ditto. + (%3,%4): Ditto. + * config/riscv/vector.md (@pred_): New pattern. + (@pred__scalar): New pattern. + (*pred__scalar): New pattern. + (*pred__extended_scalar): New pattern. + +2023-02-12 Ju-Zhe Zhong + + * config/riscv/iterators.md: Add neg and not. + * config/riscv/riscv-vector-builtins-bases.cc (class unop): New class. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vadd): Rename binop + into alu. + (vsub): Ditto. + (vand): Ditto. + (vor): Ditto. + (vxor): Ditto. + (vsll): Ditto. + (vsra): Ditto. + (vsrl): Ditto. + (vmin): Ditto. + (vmax): Ditto. + (vminu): Ditto. + (vmaxu): Ditto. + (vmul): Ditto. + (vdiv): Ditto. + (vrem): Ditto. + (vdivu): Ditto. + (vremu): Ditto. + (vrsub): Ditto. + (vneg): Ditto. + (vnot): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct binop_def): Ditto. + (struct alu_def): Ditto. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc: Support unary C/C/++. + * config/riscv/vector-iterators.md: New iterator. + * config/riscv/vector.md (@pred_): New pattern + +2023-02-12 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::compute_probabilities): Skip exit block. + +2023-02-11 Jakub Jelinek + + PR ipa/108605 + * ipa-cp.cc (ipa_agg_value_from_jfunc): Return NULL_TREE also if + item->offset bit position is too large to be representable as + unsigned int byte position. + +2023-02-11 Gerald Pfeifer + + * doc/extend.texi (Other Builtins): Adjust link to WG14 N965. + +2023-02-10 Vladimir N. Makarov + + * ira.cc (update_equiv_regs): Set up ira_reg_equiv for + valid_combine only when ira_use_lra_p is true. + +2023-02-10 Vladimir N. Makarov + + * params.opt (ira-simple-lra-insn-threshold): Add new param. + * ira.cc (ira): Use the param to switch on simple LRA. + +2023-02-10 Andrew MacLeod + + PR tree-optimization/108687 + * gimple-range-cache.cc (ranger_cache::range_on_edge): Revert + back to RFD_NONE mode for calculations. + (ranger_cache::propagate_cache): Call the internal edge range API + with RFD_READ_ONLY instead of changing the external routine. + +2023-02-10 Andrew MacLeod + + PR tree-optimization/108520 + * gimple-range-infer.cc (check_assume_func): Invoke + gimple_range_global directly instead using global_range_query. + * value-query.cc (get_range_global): Add function context and + avoid calling nonnull_arg_p if not cfun. + (gimple_range_global): Add function context pointer. + * value-query.h (imple_range_global): Add function context. + +2023-02-10 Ju-Zhe Zhong + + * config/riscv/constraints.md (Wdm): Adjust constraint. + (Wbr): New constraint. + * config/riscv/predicates.md (reg_or_int_operand): New predicate. + * config/riscv/riscv-protos.h (emit_pred_op): Remove function. + (emit_vlmax_op): New function. + (emit_nonvlmax_op): Ditto. + (simm32_p): Ditto. + (neg_simm5_p): Ditto. + (has_vi_variant_p): Ditto. + * config/riscv/riscv-v.cc (emit_pred_op): Adjust function. + (emit_vlmax_op): New function. + (emit_nonvlmax_op): Ditto. + (expand_const_vector): Adjust function. + (legitimize_move): Ditto. + (simm32_p): New function. + (simm5_p): Ditto. + (neg_simm5_p): Ditto. + (has_vi_variant_p): Ditto. + * config/riscv/riscv-vector-builtins-bases.cc (class vrsub): New class. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vmin): Remove + unsigned cases. + (vmax): Ditto. + (vminu): Remove signed cases. + (vmaxu): Ditto. + (vdiv): Remove unsigned cases. + (vrem): Ditto. + (vdivu): Remove signed cases. + (vremu): Ditto. + (vadd): Adjust. + (vsub): Ditto. + (vrsub): New class. + (vand): Adjust. + (vor): Ditto. + (vxor): Ditto. + (vmul): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_U_OPS): New macro. + * config/riscv/riscv.h: change VL/VTYPE as fixed reg. + * config/riscv/vector-iterators.md: New iterators. + * config/riscv/vector.md (@pred_broadcast): Adjust pattern for vx + support. + (@pred__scalar): New pattern. + (@pred_sub_reverse_scalar): Ditto. + (*pred__scalar): Ditto. + (*pred__extended_scalar): Ditto. + (*pred_sub_reverse_scalar): Ditto. + (*pred_sub_extended_reverse_scalar): Ditto. + +2023-02-10 Richard Biener + + PR tree-optimization/108724 + * tree-vect-stmts.cc (vectorizable_operation): Avoid + using word_mode vectors when vector lowering will + decompose them to elementwise operations. + +2023-02-10 Jakub Jelinek + + Revert: + 2023-02-09 Martin Liska + + PR target/100758 + * doc/extend.texi: Document that the function + does not work correctly for old VIA processors. + +2023-02-10 Andrew Pinski + Andrew Macleod + + PR tree-optimization/108684 + * tree-ssa-dce.cc (simple_dce_from_worklist): + Check all ssa names and not just non-vdef ones + before accepting the inline-asm. + Call unlink_stmt_vdef on the statement before + removing it. + +2023-02-09 Vladimir N. Makarov + + * ira.h (struct ira_reg_equiv_s): Add new field caller_save_p. + * ira.cc (validate_equiv_mem): Check memref address variance. + (no_equiv): Clear caller_save_p flag. + (update_equiv_regs): Define caller save equivalence for + valid_combine. + (setup_reg_equiv): Clear defined_p flag for caller save equivalence. + * lra-constraints.cc (lra_copy_reg_equiv): Add new arg + call_save_p. Use caller save equivalence depending on the arg. + (split_reg): Adjust the call. + +2023-02-09 Jakub Jelinek + + PR target/100758 + * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Formatting fixes. + (cpu_indicator_init): Call get_available_features for all CPUs with + max_level >= 1, rather than just Intel, AMD or Zhaoxin. Formatting + fixes. + +2023-02-09 Jakub Jelinek + + PR tree-optimization/108688 + * match.pd (bit_field_ref [bit_insert]): Simplify BIT_FIELD_REF + of BIT_INSERT_EXPR extracting exactly all inserted bits even + when without mode precision. Formatting fixes. + +2023-02-09 Andrew Pinski + + PR tree-optimization/108688 + * match.pd (bit_field_ref [bit_insert]): Avoid generating + BIT_FIELD_REFs of non-mode-precision integral operands. + +2023-02-09 Martin Liska + + PR target/100758 + * doc/extend.texi: Document that the function + does not work correctly for old VIA processors. + +2023-02-09 Andreas Schwab + + * lto-wrapper.cc (merge_and_complain): Handle + -funwind-tables and -fasynchronous-unwind-tables. + (append_compiler_options): Likewise. + +2023-02-09 Richard Biener + + PR tree-optimization/26854 + * tree-into-ssa.cc (update_ssa): Turn blocks_to_update to tree + view around insert_updated_phi_nodes_for. + * tree-ssa-alias.cc (maybe_skip_until): Allocate visited bitmap + in tree view. + (walk_aliased_vdefs_1): Likewise. + +2023-02-08 Gerald Pfeifer + + * doc/include/gpl_v3.texi: Change fsf.org to www.fsf.org. + +2023-02-08 Srinath Parvathaneni + + PR target/108505 + * config.gcc (tm_mlib_file): Define new variable. + +2023-02-08 Jakub Jelinek + + PR tree-optimization/108692 + * tree-vect-patterns.cc (vect_widened_op_tree): If rhs_code is + widened_code which is different from code, don't call + vect_look_through_possible_promotion but instead just check op is + SSA_NAME with integral type for which vect_is_simple_use is true + and call set_op on this_unprom. + +2023-02-08 Andrea Corallo + + * config/aarch64/aarch64-protos.h (aarch_ra_sign_key): Remove + declaration. + * config/aarch64/aarch64.cc (aarch_ra_sign_key): Remove + definition. + * config/aarch64/aarch64.opt (aarch64_ra_sign_key): Rename + to 'aarch_ra_sign_key'. + * config/arm/aarch-common.cc (aarch_ra_sign_key): Remove + declaration. + * config/arm/arm-protos.h (aarch_ra_sign_key): Likewise. + * config/arm/arm.cc (enum aarch_key_type): Remove definition. + * config/arm/arm.opt: Define. + +2023-02-08 Richard Sandiford + + PR tree-optimization/108316 + * tree-vect-stmts.cc (get_load_store_type): When using + internal functions for gather/scatter, make sure that the type + of the offset argument is consistent with the offset vector type. + +2023-02-08 Vladimir N. Makarov + + Revert: + 2023-02-07 Vladimir N. Makarov + + * ira.h (struct ira_reg_equiv_s): Add new field caller_save_p. + * ira.cc (validate_equiv_mem): Check memref address variance. + (update_equiv_regs): Define caller save equivalence for + valid_combine. + (setup_reg_equiv): Clear defined_p flag for caller save equivalence. + * lra-constraints.cc (lra_copy_reg_equiv): Add new arg + call_save_p. Use caller save equivalence depending on the arg. + (split_reg): Adjust the call. + +2023-02-08 Jakub Jelinek + + * tree.def (SAD_EXPR): Remove outdated comment about missing + WIDEN_MINUS_EXPR. + +2023-02-07 Marek Polacek + + * doc/invoke.texi: Update -fchar8_t documentation. + +2023-02-07 Vladimir N. Makarov + + * ira.h (struct ira_reg_equiv_s): Add new field caller_save_p. + * ira.cc (validate_equiv_mem): Check memref address variance. + (update_equiv_regs): Define caller save equivalence for + valid_combine. + (setup_reg_equiv): Clear defined_p flag for caller save equivalence. + * lra-constraints.cc (lra_copy_reg_equiv): Add new arg + call_save_p. Use caller save equivalence depending on the arg. + (split_reg): Adjust the call. + +2023-02-07 Richard Biener + + PR tree-optimization/26854 + * gimple-fold.cc (has_use_on_stmt): Look at stmt operands + instead of immediate uses. + +2023-02-07 Jakub Jelinek + + PR tree-optimization/106923 + * ipa-split.cc (execute_split_functions): Don't split returns_twice + functions. + +2023-02-07 Jakub Jelinek + + PR tree-optimization/106433 + * cgraph.cc (set_const_flag_1): Recurse on simd clones too. + (cgraph_node::set_pure_flag): Call set_pure_flag_1 on simd clones too. + +2023-02-07 Jan Hubicka + + * config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Turn off + for znver4. + +2023-02-06 Andrew Stubbs + + * config/gcn/mkoffload.cc (gcn_stack_size): New global variable. + (process_asm): Create a constructor for GCN_STACK_SIZE. + (main): Parse the -mstack-size option. + +2023-02-06 Alex Coplan + + PR target/104921 + * config/aarch64/aarch64-simd.md (aarch64_bfmlal_lanev4sf): + Use correct constraint for operand 3. + +2023-02-06 Martin Jambor + + * ipa-sra.cc (adjust_parameter_descriptions): Fix a typo in a dump. + +2023-02-06 Xi Ruoyao + + * config/loongarch/loongarch.md (bytepick_w_ashift_amount): + New define_int_iterator. + (bytepick_d_ashift_amount): Likewise. + (bytepick_imm): New define_int_attr. + (bytepick_w_lshiftrt_amount): Likewise. + (bytepick_d_lshiftrt_amount): Likewise. + (bytepick_w_): New define_insn template. + (bytepick_w__extend): Likewise. + (bytepick_d_): Likewise. + (bytepick_w): Remove unused define_insn. + (bytepick_d): Likewise. + (UNSPEC_BYTEPICK_W): Remove unused unspec. + (UNSPEC_BYTEPICK_D): Likewise. + * config/loongarch/predicates.md (const_0_to_3_operand): + Remove unused define_predicate. + (const_0_to_7_operand): Likewise. + +2023-02-06 Jakub Jelinek + + PR tree-optimization/108655 + * ubsan.cc (sanitize_unreachable_fn): For -funreachable-traps + or -fsanitize=unreachable -fsanitize-trap=unreachable return + BUILT_IN_UNREACHABLE_TRAP decl rather than BUILT_IN_TRAP. + +2023-02-05 Gerald Pfeifer + + * doc/install.texi (Specific): Remove PW32. + +2023-02-03 Jakub Jelinek + + PR tree-optimization/108647 + * range-op.cc (operator_equal::op1_range, + operator_not_equal::op1_range): Don't test op2 bound + equality if op2.undefined_p (), instead set_varying. + (operator_lt::op1_range, operator_le::op1_range, + operator_gt::op1_range, operator_ge::op1_range): Return false if + op2.undefined_p (). + (operator_lt::op2_range, operator_le::op2_range, + operator_gt::op2_range, operator_ge::op2_range): Return false if + op1.undefined_p (). + +2023-02-03 Aldy Hernandez + + PR tree-optimization/108639 + * value-range.cc (irange::legacy_equal_p): Compare nonzero bits as + widest_int. + (irange::operator==): Same. + +2023-02-03 Aldy Hernandez + + PR tree-optimization/108647 + * range-op-float.cc (foperator_lt::op1_range): Handle undefined ranges. + (foperator_lt::op2_range): Same. + (foperator_le::op1_range): Same. + (foperator_le::op2_range): Same. + (foperator_gt::op1_range): Same. + (foperator_gt::op2_range): Same. + (foperator_ge::op1_range): Same. + (foperator_ge::op2_range): Same. + (foperator_unordered_lt::op1_range): Same. + (foperator_unordered_lt::op2_range): Same. + (foperator_unordered_le::op1_range): Same. + (foperator_unordered_le::op2_range): Same. + (foperator_unordered_gt::op1_range): Same. + (foperator_unordered_gt::op2_range): Same. + (foperator_unordered_ge::op1_range): Same. + (foperator_unordered_ge::op2_range): Same. + +2023-02-03 Andrew MacLeod + + PR tree-optimization/107570 + * tree-vrp.cc (remove_and_update_globals): Reset SCEV. + +2023-02-03 Gaius Mulley + + * doc/gm2.texi (Internals): Remove from menu. + (Using): Comment out ifnohtml conditional. + (Documentation): Use gcc url. + (License): Node simplified. + (Copying): New node. Include gpl_v3_without_node. + (Contributing): Node simplified. + (Internals): Commented out. + (Libraries): Node simplified. + (Indices): Ditto. + (Contents): Ditto. + (Functions): Ditto. + +2023-02-03 Christophe Lyon + + * config/arm/mve.md (mve_vabavq_p_): Add length + attribute. + (mve_vqshluq_m_n_s): Likewise. + (mve_vshlq_m_): Likewise. + (mve_vsriq_m_n_): Likewise. + (mve_vsubq_m_): Likewise. + +2023-02-03 Martin Jambor + + PR ipa/108384 + * ipa-sra.cc (push_param_adjustments_for_index): Remove a size check + when comparing to an IPA-CP value. + (dump_list_of_param_indices): New function. + (adjust_parameter_descriptions): Check for mismatching IPA-CP values. + Dump removed candidates using dump_list_of_param_indices. + * ipa-param-manipulation.cc + (ipa_param_body_adjustments::modify_expression): Add assert checking + sizes of a VIEW_CONVERT_EXPR will match. + (ipa_param_body_adjustments::modify_assignment): Likewise. + +2023-02-03 Monk Chiang + + * config/riscv/riscv.h: Remove VL_REGS, VTYPE_REGS class. + * config/riscv/riscv.cc: Ditto. + +2023-02-03 Ju-Zhe Zhong + + * config/riscv/vector-iterators.md (sll.vi): Fix constraint bug. + (sll.vv): Ditto. + (%3,%4): Ditto. + (%3,%v4): Ditto. + * config/riscv/vector.md: Ditto. + +2023-02-03 Ju-Zhe Zhong + + * config/riscv/predicates.md (pmode_reg_or_uimm5_operand): New predicate. + * config/riscv/riscv-vector-builtins-bases.cc: New class. + * config/riscv/riscv-vector-builtins-functions.def (vsll): Ditto. + (vsra): Ditto. + (vsrl): Ditto. + * config/riscv/riscv-vector-builtins.cc: Ditto. + * config/riscv/vector.md (@pred__scalar): New pattern. + +2023-02-02 Iain Sandoe + + * toplev.cc (toplev::main): Only print the version information header + from toplevel main(). + +2023-02-02 Paul-Antoine Arras + + * config/gcn/gcn-valu.md (cond_): Add + cond_{ashl|ashr|lshr} + +2023-02-02 Richard Sandiford + + PR rtl-optimization/108086 + * rtl-ssa/insns.h (insn_info): Make m_num_defs a full unsigned int. + Adjust size-related commentary accordingly. + +2023-02-02 Richard Sandiford + + PR rtl-optimization/108508 + * rtl-ssa/accesses.cc (function_info::split_clobber_group): When + the splay tree search gives the first clobber in the second group, + make sure that the root of the first clobber group is updated + correctly. Enter the new clobber group into the definition splay + tree. + +2023-02-02 Jin Ma + + * common/config/riscv/riscv-common.cc (riscv_compute_multilib): + Fix finding best match score. + +2023-02-02 Jakub Jelinek + + PR debug/106746 + PR rtl-optimization/108463 + PR target/108484 + * cselib.cc (cselib_current_insn): Move declaration earlier. + (cselib_hasher::equal): For debug only locs, temporarily override + cselib_current_insn to their l->setting_insn for the + rtx_equal_for_cselib_1 call, so that unsuccessful comparisons don't + promote some debug locs. + * sched-deps.cc (sched_analyze_2) : For MEMs in DEBUG_INSNs + when using cselib call cselib_lookup_from_insn on the address but + don't substitute it. + +2023-02-02 Richard Biener + + PR middle-end/108625 + * genmatch.cc (expr::gen_transform): Also disallow resimplification + from pushing to lseq with force_leaf. + (dt_simplify::gen_1): Likewise. + +2023-02-02 Andrew Stubbs + + * config/gcn/gcn-run.cc: Include libgomp-gcn.h. + (struct kernargs): Replace the common content with kernargs_abi. + (struct heap): Delete. + (main): Read GCN_STACK_SIZE envvar. + Allocate space for the device stacks. + Write the new kernargs fields. + * config/gcn/gcn.cc (gcn_option_override): Remove stack_size_opt. + (default_requested_args): Remove PRIVATE_SEGMENT_BUFFER_ARG and + PRIVATE_SEGMENT_WAVE_OFFSET_ARG. + (gcn_addr_space_convert): Mask the QUEUE_PTR_ARG content. + (gcn_expand_prologue): Move the TARGET_PACKED_WORK_ITEMS to the top. + Set up the stacks from the values in the kernargs, not private. + (gcn_expand_builtin_1): Match the stack configuration in the prologue. + (gcn_hsa_declare_function_name): Turn off the private segment. + (gcn_conditional_register_usage): Ensure QUEUE_PTR is fixed. + * config/gcn/gcn.h (FIXED_REGISTERS): Fix the QUEUE_PTR register. + * config/gcn/gcn.opt (mstack-size): Change the description. + +2023-02-02 Andre Vieira + + PR target/108443 + * config/arm/arm.h (VALID_MVE_PRED_MODE): Add V2QI. + * config/arm/arm.cc (thumb2_legitimate_address_p): Use HImode for + addressing MVE predicate modes. + (mve_bool_vec_to_const): Change to represent correct MVE predicate + format. + (arm_hard_regno_mode_ok): Use VALID_MVE_PRED_MODE instead of checking + modes. + (arm_vector_mode_supported_p): Likewise. + (arm_mode_to_pred_mode): Add V2QI. + * config/arm/arm-builtins.cc (UNOP_PRED_UNONE_QUALIFIERS): New + qualifier. + (UNOP_PRED_PRED_QUALIFIERS): New qualifier + (BINOP_PRED_UNONE_PRED_QUALIFIERS): New qualifier. + (v2qi_UP): New macro. + (v4bi_UP): New macro. + (v8bi_UP): New macro. + (v16bi_UP): New macro. + (arm_expand_builtin_args): Make it able to expand the new predicate + modes. + * config/arm/arm-modes.def (V2QI): New mode. + * config/arm/arm-simd-builtin-types.def (Pred1x16_t, Pred2x8_t + Pred4x4_t): Remove unused predicate builtin types. + * config/arm/arm_mve.h (__arm_vctp16q, __arm_vctp32q, __arm_vctp64q, + __arm_vctp8q, __arm_vpnot, __arm_vctp8q_m, __arm_vctp64q_m, + __arm_vctp32q_m, __arm_vctp16q_m): Use predicate modes. + * config/arm/arm_mve_builtins.def (vctp16q, vctp32q, vctp64q, vctp8q, + vpnot, vctp8q_m, vctp16q_m, vctp32q_m, vctp64q_m): Likewise. + * config/arm/constraints.md (DB): Check for VALID_MVE_PRED_MODE instead + of MODE_VECTOR_BOOL. + * config/arm/iterators.md (MVE_7, MVE_7_HI): Add V2QI + (MVE_VPRED): Likewise. + (MVE_vpred): Add V2QI and map upper case predicate modes to lower case. + (MVE_vctp): New mode attribute. + (mode1): Remove. + (VCTPQ): Remove. + (VCTPQ_M): Remove. + * config/arm/mve.md (mve_vctpqhi): Rename this... + (mve_vctpq): ... to this. And use new mode + attributes. + (mve_vpnothi): Rename this... + (mve_vpnotv16bi): ... to this. + (mve_vctpq_mhi): Rename this... + (mve_vctpq_m):... to this. + (mve_vldrdq_gather_base_z_v2di, + mve_vldrdq_gather_offset_z_v2di, + mve_vldrdq_gather_shifted_offset_z_v2di, + mve_vstrdq_scatter_base_p_v2di, + mve_vstrdq_scatter_offset_p_v2di, + mve_vstrdq_scatter_offset_p_v2di_insn, + mve_vstrdq_scatter_shifted_offset_p_v2di, + mve_vstrdq_scatter_shifted_offset_p_v2di_insn, + mve_vstrdq_scatter_base_wb_p_v2di, + mve_vldrdq_gather_base_wb_z_v2di, + mve_vldrdq_gather_base_nowb_z_v2di, + mve_vldrdq_gather_base_wb_z_v2di_insn): Use V2QI insead of HI for + predicates. + * config/arm/unspecs.md (VCTP8Q, VCTP16Q, VCTP32Q, VCTP64Q): Replace + these... + (VCTP): ... with this. + (VCTP8Q_M, VCTP16Q_M, VCTP32Q_M, VCTP64Q_M): Replace these... + (VCTP_M): ... with this. + * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Use + VALID_MVE_PRED_MODE instead of checking for MODE_VECTOR_BOOL class. + +2023-02-02 Andre Vieira + + PR target/107674 + * config/arm/arm.cc (arm_hard_regno_mode_ok): Use new MACRO. + (arm_modes_tieable_p): Make MVE predicate modes tieable. + * config/arm/arm.h (VALID_MVE_PRED_MODE): New define. + * simplify-rtx.cc (simplify_context::simplify_subreg): Teach + simplify_subreg to simplify subregs where the outermode is not scalar. + +2023-02-02 Andre Vieira + + PR target/107674 + * config/arm/arm-builtins.cc (arm_simd_builtin_type): Rewrite to use + new qualifiers parameter and use unsigned short type for MVE predicate. + (arm_init_builtin): Call arm_simd_builtin_type with qualifiers + parameter. + (arm_init_crypto_builtins): Likewise. + +2023-02-02 Jakub Jelinek + + PR ipa/107300 + * builtins.def (BUILT_IN_UNREACHABLE_TRAP): New builtin. + * internal-fn.def (TRAP): Remove. + * internal-fn.cc (expand_TRAP): Remove. + * tree.cc (build_common_builtin_nodes): Define + BUILT_IN_UNREACHABLE_TRAP if not yet defined. + (builtin_decl_unreachable): Use BUILT_IN_UNREACHABLE_TRAP + instead of BUILT_IN_TRAP. + * gimple.cc (gimple_build_builtin_unreachable): Remove + emitting internal function for BUILT_IN_TRAP. + * asan.cc (maybe_instrument_call): Handle BUILT_IN_UNREACHABLE_TRAP. + * cgraph.cc (cgraph_edge::verify_corresponds_to_fndecl): Handle + BUILT_IN_UNREACHABLE_TRAP instead of BUILT_IN_TRAP. + * ipa-devirt.cc (possible_polymorphic_call_target_p): Handle + BUILT_IN_UNREACHABLE_TRAP. + * builtins.cc (expand_builtin, is_inexpensive_builtin): Likewise. + * tree-cfg.cc (verify_gimple_call, + pass_warn_function_return::execute): Likewise. + * attribs.cc (decl_attributes): Don't report exclusions on + BUILT_IN_UNREACHABLE_TRAP either. + +2023-02-02 liuhongt + + PR tree-optimization/108601 + * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Removed. + * tree-vect-loop.cc + (vectorizable_nonlinear_induction): Remove + vect_can_peel_nonlinear_iv_p. + (vect_can_peel_nonlinear_iv_p): Don't peel + nonlinear iv(mult or shift) for epilog when vf is not + constant and moved the defination to .. + * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): + .. Here. + +2023-02-02 Jakub Jelinek + + PR middle-end/108435 + * tree-nested.cc (convert_nonlocal_omp_clauses) + : If info->new_local_var_chain and *seq + is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND + before calling declare_vars. + (convert_nonlocal_omp_clauses) : Merge + with the OMP_CLAUSE_LASTPRIVATE handling except for whether + seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause) + or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause). + +2023-02-01 Tamar Christina + + * common/config/aarch64/aarch64-common.cc + (struct aarch64_option_extension): Add native_detect and document struct + a bit more. + (all_extensions): Set new field native_detect. + * config/aarch64/aarch64.cc (struct aarch64_option_extension): Delete + unused struct. + +2023-02-01 Martin Liska + + * ipa-devirt.cc (odr_types_equivalent_p): Respect *warned + value if set. + +2023-02-01 Andrew MacLeod + + PR tree-optimization/108356 + * gimple-range-cache.cc (ranger_cache::range_on_edge): Always + do a search of the DOM tree for a range. + +2023-02-01 Martin Liska + + PR ipa/108509 + * cgraphunit.cc (walk_polymorphic_call_targets): Insert + ony non-null values. + * ipa.cc (walk_polymorphic_call_targets): Likewise. + +2023-02-01 Martin Liska + + PR driver/108572 + * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Report error only for + -gz=zstd. + +2023-02-01 Jakub Jelinek + + PR debug/108573 + * ree.cc (combine_reaching_defs): Don't return false for paradoxical + subregs in DEBUG_INSNs. + +2023-02-01 Richard Sandiford + + * compare-elim.cc (find_flags_uses_in_insn): Guard use of SET_SRC. + +2023-02-01 Andreas Krebbel + + * config/s390/s390.cc (s390_restore_gpr_p): New function. + (s390_preserve_gpr_arg_in_range_p): New function. + (s390_preserve_gpr_arg_p): New function. + (s390_preserve_fpr_arg_p): New function. + (s390_register_info_stdarg_fpr): Rename to ... + (s390_register_info_arg_fpr): ... this. Add -mpreserve-args handling. + (s390_register_info_stdarg_gpr): Rename to ... + (s390_register_info_arg_gpr): ... this. Add -mpreserve-args handling. + (s390_register_info): Use the renamed functions above. + (s390_optimize_register_info): Likewise. + (save_fpr): Generate CFI for -mpreserve-args. + (save_gprs): Generate CFI for -mpreserve-args. Drop return value. + (s390_emit_prologue): Adjust to changed calling convention of save_gprs. + (s390_optimize_prologue): Likewise. + * config/s390/s390.opt: New option -mpreserve-args + +2023-02-01 Andreas Krebbel + + * config/s390/s390.cc (save_gprs): Use gen_frame_mem. + (restore_gprs): Likewise. + (s390_emit_stack_tie): Make the stack_tie to be dependent on the + frame pointer if a frame-pointer is used. + (s390_emit_prologue): Emit stack_tie when frame-pointer is needed. + * config/s390/s390.md (stack_tie): Add a register operand and + rename to ... + (@stack_tie): ... this. + +2023-02-01 Andreas Krebbel + + * dwarf2cfi.cc (dwarf2out_frame_debug_cfa_restore): Add + EMIT_CFI parameter. + (dwarf2out_frame_debug): Add case for REG_CFA_NORESTORE. + * reg-notes.def (REG_CFA_NOTE): New reg note definition. + +2023-02-01 Richard Biener + + PR middle-end/108500 + * dominance.cc (assign_dfs_numbers): Replace recursive DFS + with tree traversal algorithm. + +2023-02-01 Jason Merrill + + * doc/invoke.texi: Document -Wno-changes-meaning. + +2023-02-01 David Malcolm + + * doc/invoke.texi (Static Analyzer Options): Add notes about + limitations of -fanalyzer. + +2023-01-31 Ju-Zhe Zhong + + * config/riscv/constraints.md (vj): New. + (vk): Ditto + * config/riscv/iterators.md: Add more opcode. + * config/riscv/predicates.md (vector_arith_operand): New. + (vector_neg_arith_operand): New. + (vector_shift_operand): New. + * config/riscv/riscv-vector-builtins-bases.cc (class binop): New. + * config/riscv/riscv-vector-builtins-bases.h: (vadd): New. + (vsub): Ditto. + (vand): Ditto. + (vor): Ditto. + (vxor): Ditto. + (vsll): Ditto. + (vsra): Ditto. + (vsrl): Ditto. + (vmin): Ditto. + (vmax): Ditto. + (vminu): Ditto. + (vmaxu): Ditto. + (vmul): Ditto. + (vdiv): Ditto. + (vrem): Ditto. + (vdivu): Ditto. + (vremu): Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vadd): New. + (vsub): Ditto. + (vand): Ditto. + (vor): Ditto. + (vxor): Ditto. + (vsll): Ditto. + (vsra): Ditto. + (vsrl): Ditto. + (vmin): Ditto. + (vmax): Ditto. + (vminu): Ditto. + (vmaxu): Ditto. + (vmul): Ditto. + (vdiv): Ditto. + (vrem): Ditto. + (vdivu): Ditto. + (vremu): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct binop_def): New. + * config/riscv/riscv-vector-builtins-shapes.h (binop): New. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New. + (DEF_RVV_U_OPS): New. + (rvv_arg_type_info::get_base_vector_type): Handle + RVV_BASE_shift_vector. + (rvv_arg_type_info::get_tree_type): Ditto. + * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Add + RVV_BASE_shift_vector. + * config/riscv/riscv.cc (riscv_print_operand): Handle 'V'. + * config/riscv/vector-iterators.md: Handle more opcode. + * config/riscv/vector.md (@pred_): New. + +2023-01-31 Philipp Tomsich + + PR target/108589 + * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Check + REG_P on SET_DEST. + +2023-01-31 Richard Sandiford + + PR tree-optimization/108608 + * tree-vect-loop.cc (vect_transform_reduction): Handle single + def-use cycles that involve function calls rather than tree codes. + +2023-01-31 Andrew MacLeod + + PR tree-optimization/108385 + * gimple-range-gori.cc (gori_compute::compute_operand_range): + Allow VARYING computations to continue if there is a relation. + * range-op.cc (pointer_plus_operator::op2_range): New. + +2023-01-31 Andrew MacLeod + + PR tree-optimization/108359 + * range-op.cc (range_operator::wi_fold_in_parts_equiv): New. + (range_operator::fold_range): If op1 is equivalent to op2 then + invoke new fold_in_parts_equiv to operate on sub-components. + * range-op.h (wi_fold_in_parts_equiv): New prototype. + +2023-01-31 Andrew MacLeod + + * gimple-range-gori.cc (gori_compute::compute_operand_range): Do + not abort calculations if there is a valid relation available. + (gori_compute::refine_using_relation): Pass correct relation trio. + (gori_compute::compute_operand1_range): Create trio and use it. + (gori_compute::compute_operand2_range): Ditto. + * range-op.cc (operator_plus::op1_range): Use correct trio member. + (operator_minus::op1_range): Use correct trio member. + * value-relation.cc (value_relation::create_trio): New. + * value-relation.h (value_relation::create_trio): New prototype. + +2023-01-31 Jakub Jelinek + + PR target/108599 + * config/i386/i386-expand.cc + (ix86_convert_const_wide_int_to_broadcast): Return nullptr if + CONST_WIDE_INT_NUNITS (op) times HOST_BITS_PER_WIDE_INT isn't + equal to bitsize of mode. + +2023-01-31 Jakub Jelinek + + PR rtl-optimization/108596 + * bb-reorder.cc (fix_up_fall_thru_edges): Handle the case where cur_bb + ends with asm goto and has a crossing fallthrough edge to the same bb + that contains at least one of its labels by restoring EDGE_CROSSING + flag even on possible edge from cur_bb to new_bb successor. + +2023-01-31 Jakub Jelinek + + PR c++/105593 + * config/i386/avx512erintrin.h (_mm512_exp2a23_round_pd, + _mm512_exp2a23_round_ps, _mm512_rcp28_round_pd, _mm512_rcp28_round_ps, + _mm512_rsqrt28_round_pd, _mm512_rsqrt28_round_ps): Use + _mm512_undefined_pd () or _mm512_undefined_ps () instead of using + uninitialized automatic variable __W. + +2023-01-31 Gerald Pfeifer + + * doc/include/fdl.texi: Change fsf.org to www.fsf.org. + +2023-01-30 Ju-Zhe Zhong + + * config/riscv/riscv-protos.h (get_vector_mode): New function. + * config/riscv/riscv-v.cc (get_vector_mode): Ditto. + * config/riscv/riscv-vector-builtins-bases.cc (enum lst_type): New enum. + (class loadstore): Adjust for indexed loads/stores support. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: New function declare. + * config/riscv/riscv-vector-builtins-functions.def (vluxei8): Ditto. + (vluxei16): Ditto. + (vluxei32): Ditto. + (vluxei64): Ditto. + (vloxei8): Ditto. + (vloxei16): Ditto. + (vloxei32): Ditto. + (vloxei64): Ditto. + (vsuxei8): Ditto. + (vsuxei16): Ditto. + (vsuxei32): Ditto. + (vsuxei64): Ditto. + (vsoxei8): Ditto. + (vsoxei16): Ditto. + (vsoxei32): Ditto. + (vsoxei64): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc + (struct indexed_loadstore_def): New class. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc (required_extensions_p): Adjust + for indexed loads/stores support. + (check_required_extensions): Ditto. + (rvv_arg_type_info::get_base_vector_type): New function. + (rvv_arg_type_info::get_tree_type): Ditto. + (function_builder::add_unique_function): Adjust for indexed loads/stores + support. + (function_expander::use_exact_insn): New function. + * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Adjust for + indexed loads/stores support. + (struct rvv_arg_type_info): Ditto. + (function_expander::index_mode): New function. + (function_base::apply_tail_policy_p): Ditto. + (function_base::apply_mask_policy_p): Ditto. + * config/riscv/vector-iterators.md (unspec): New unspec. + * config/riscv/vector.md (unspec): Ditto. + (@pred_indexed_load): New + pattern. + (@pred_indexed_store): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_store): Ditto. + (@pred_indexed_load): Ditto. + (@pred_indexed_store): Ditto. + +2023-01-30 Flavio Cruz + + * config.gcc: Recognize x86_64-*-gnu* targets and include + i386/gnu64.h. + * config/i386/gnu64.h: Define configuration for new target + including ld.so location. + +2023-01-30 Philipp Tomsich + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update + ampere1a to include SM4. + +2023-01-30 Andrew Pinski + + PR tree-optimization/108582 + * tree-ssa-phiopt.cc (match_simplify_replacement): Add check + for middlebb to have no phi nodes. + +2023-01-30 Richard Biener + + PR tree-optimization/108574 + * tree-ssa-sccvn.cc (visit_phi): Instead of swapping + sameval and def, ignore the equivalence if there's the + danger of oscillating between two values. + +2023-01-30 Andreas Schwab + + * common/config/riscv/riscv-common.cc + (riscv_option_optimization_table) + [TARGET_DEFAULT_ASYNC_UNWIND_TABLES]: Enable + -fasynchronous-unwind-tables and -funwind-tables. + * config.gcc (riscv*-*-linux*): Define + TARGET_DEFAULT_ASYNC_UNWIND_TABLES. + +2023-01-30 YunQiang Su + + * Makefile.in (CROSS_SYSTEM_HEADER_DIR): set according the + value of includedir. + +2023-01-30 Richard Biener + + PR ipa/108511 + * cgraph.cc (possibly_call_in_translation_unit_p): Relax + assert. + +2023-01-30 liuhongt + + * config/i386/i386.opt: Change AVX512FP16 to AVX512-FP16. + * doc/invoke.texi: Ditto. + +2023-01-29 Jan Hubicka + + * ipa-utils.cc: Include calls.h, cfgloop.h and cfganal.h + (stmt_may_terminate_function_p): If assuming return or EH + volatile asm is safe. + (find_always_executed_bbs): Fix handling of terminating BBS and + infinite loops; add debug output. + * tree-ssa-alias.cc (stmt_kills_ref_p): Fix debug output + +2023-01-28 Philipp Tomsich + + * config/aarch64/aarch64.cc (aarch64_uxt_size): fix an + off-by-one in checking the permissible shift-amount. + +2023-01-28 Gerald Pfeifer + + * doc/extend.texi (Named Address Spaces): Update link to the + AVR-Libc manual. + +2023-01-28 Gerald Pfeifer + + * doc/standards.texi (Standards): Fix markup. + +2023-01-28 Gerald Pfeifer + + * doc/standards.texi (Standards): Update link to Objective-C book. + +2023-01-28 Gerald Pfeifer + + * doc/invoke.texi (Instrumentation Options): Update reference to + AddressSanitizer. + +2023-01-28 Gerald Pfeifer + + * doc/standards.texi: Update Go1 link. + +2023-01-28 Ju-Zhe Zhong + + * config/riscv/predicates.md (pmode_reg_or_0_operand): New predicate. + * config/riscv/riscv-vector-builtins-bases.cc (class loadstore): + Support vlse/vsse. + (BASE): Ditto. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vlse): New class. + (vsse): New class. + * config/riscv/riscv-vector-builtins.cc + (function_expander::use_contiguous_load_insn): Support vlse/vsse. + * config/riscv/vector.md (@pred_strided_load): New md pattern. + (@pred_strided_store): Ditto. + +2023-01-28 Ju-Zhe Zhong + + * config/riscv/vector.md (tail_policy_op_idx): Remove. + (mask_policy_op_idx): Remove. + (avl_type_op_idx): Remove. + +2023-01-27 Richard Sandiford + + PR tree-optimization/96373 + * tree.h (sign_mask_for): Declare. + * tree.cc (sign_mask_for): New function. + (signed_or_unsigned_type_for): For vector types, try to use the + related_int_vector_mode. + * genmatch.cc (commutative_op): Handle conditional internal functions. + * match.pd: Fold an IFN_COND_MUL+copysign into an IFN_COND_XOR+and. + +2023-01-27 Richard Sandiford + + * tree-vectorizer.cc (vector_costs::compare_inside_loop_cost): + Use the likely minimum VF when bounding the denominators to + the estimated number of iterations. + +2023-01-27 Richard Biener + + PR target/55522 + * doc/invoke.texi (-shared): Clarify effect on -ffast-math + and -Ofast FP environment side-effects. + +2023-01-27 Richard Biener + + PR target/55522 + * config/mips/gnu-user.h (GNU_USER_TARGET_MATHFILE_SPEC): + Don't add crtfastmath.o for -shared. + +2023-01-27 Richard Biener + + PR target/55522 + * config/ia64/linux.h (ENDFILE_SPEC): Don't add crtfastmath.o + for -shared. + +2023-01-27 Richard Biener + + PR target/55522 + * config/alpha/linux.h (ENDFILE_SPEC): Don't add + crtfastmath.o for -shared. + +2023-01-27 Andrew MacLeod + + PR tree-optimization/108306 + * range-op.cc (operator_lshift::fold_range): Return [0, 0] not + varying for shifts that are always out of void range. + (operator_rshift::fold_range): Return [0, 0] not + varying for shifts that are always out of void range. + +2023-01-27 Andrew MacLeod + + PR tree-optimization/108447 + * gimple-range-fold.cc (old_using_range::relation_fold_and_or): + Do not attempt to fold HONOR_NAN types. + +2023-01-27 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins-shapes.cc (struct loadstore_def): + Remove _m suffix for "vop_m" C++ overloaded API name. + +2023-01-27 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins-bases.cc (BASE): Add vlm/vsm support. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (vlm): New define. + (vsm): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct loadstore_def): Add vlm/vsm support. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_B_OPS): Ditto. + (vbool64_t): Ditto. + (vbool32_t): Ditto. + (vbool16_t): Ditto. + (vbool8_t): Ditto. + (vbool4_t): Ditto. + (vbool2_t): Ditto. + (vbool1_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_B_OPS): Ditto. + (rvv_arg_type_info::get_tree_type): Ditto. + (function_expander::use_contiguous_load_insn): Ditto. + * config/riscv/vector.md (@pred_store): Ditto. + +2023-01-27 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (vsetvl_insn_p): Add condition to avoid ICE. + (vsetvl_discard_result_insn_p): New function. + (reg_killed_by_bb_p): rename to find_reg_killed_by. + (find_reg_killed_by): New name. + (get_vl): allow it to be called by more functions. + (has_vsetvl_killed_avl_p): Add condition. + (get_avl): allow it to be called by more functions. + (insn_should_be_added_p): New function. + (get_all_nonphi_defs): Refine function. + (get_all_sets): Ditto. + (get_same_bb_set): New function. + (any_insn_in_bb_p): Ditto. + (any_set_in_bb_p): Ditto. + (get_vl_vtype_info): Add VLMAX forward optimization. + (source_equal_p): Fix issues. + (extract_single_source): Refine. + (avl_info::multiple_source_equal_p): New function. + (avl_info::operator==): Adjust for final version. + (vl_vtype_info::operator==): Ditto. + (vl_vtype_info::same_avl_p): Ditto. + (vector_insn_info::parse_insn): Ditto. + (vector_insn_info::available_p): New function. + (vector_insn_info::merge): Adjust for final version. + (vector_insn_info::dump): Add hard_empty. + (pass_vsetvl::hard_empty_block_p): New function. + (pass_vsetvl::backward_demand_fusion): Adjust for final version. + (pass_vsetvl::forward_demand_fusion): Ditto. + (pass_vsetvl::demand_fusion): Ditto. + (pass_vsetvl::cleanup_illegal_dirty_blocks): New function. + (pass_vsetvl::compute_local_properties): Adjust for final version. + (pass_vsetvl::can_refine_vsetvl_p): Ditto. + (pass_vsetvl::refine_vsetvls): Ditto. + (pass_vsetvl::commit_vsetvls): Ditto. + (pass_vsetvl::propagate_avl): New function. + (pass_vsetvl::lazy_vsetvl): Adjust for new version. + * config/riscv/riscv-vsetvl.h (enum def_type): New enum. + +2023-01-27 Jakub Jelinek + + PR other/108560 + * doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len + from size_t to int. + +2023-01-27 Jakub Jelinek + + PR ipa/106061 + * cgraph.cc (cgraph_edge::verify_corresponds_to_fndecl): Allow + redirection of calls to __builtin_trap in addition to redirection + to __builtin_unreachable. + +2023-01-27 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (before_p): Fix bug. + +2023-01-27 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): Refine function args. + (emit_vsetvl_insn): Ditto. + +2023-01-27 Ju-Zhe Zhong + + * config/riscv/vector.md: Fix constraints. + +2023-01-27 Ju-Zhe Zhong + + * config/riscv/vector-iterators.md: Add TARGET_MIN_VLEN > 32 predicates. + +2023-01-27 Patrick Palka + Jakub Jelinek + + * tree-core.h (tree_code_type, tree_code_length): For + C++17 and later, add inline keyword, otherwise don't define + the arrays, but declare extern arrays. + * tree.cc (tree_code_type, tree_code_length): Define these + arrays for C++14 and older. + +2023-01-27 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.h: Change it into public. + +2023-01-27 Ju-Zhe Zhong + + * config/riscv/riscv-passes.def (INSERT_PASS_BEFORE): Reorder VSETVL + pass. + +2023-01-27 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::execute): Always call split_all_insns. + +2023-01-27 Ju-Zhe Zhong + + * config/riscv/vector.md: Fix incorrect attributes. + +2023-01-27 Richard Biener + + PR target/55522 + * config/loongarch/gnu-user.h (GNU_USER_TARGET_MATHFILE_SPEC): + Don't add crtfastmath.o for -shared. + +2023-01-27 Alexandre Oliva + + * doc/options.texi (option, RejectNegative): Mention that + -g-started options are also implicitly negatable. + +2023-01-26 Kito Cheng + + * config/riscv/riscv-vector-builtins.cc (register_builtin_types): + Use get_typenode_from_name to get fixed-width integer type + nodes. + * config/riscv/riscv-vector-builtins.def: Update define with + fixed-width integer type nodes. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (same_bb_and_before_p): Remove it. + (real_insn_and_same_bb_p): New function. + (same_bb_and_after_or_equal_p): Remove it. + (before_p): New function. + (reg_killed_by_bb_p): Ditto. + (has_vsetvl_killed_avl_p): Ditto. + (get_vl): Move location so that we can call it. + (anticipatable_occurrence_p): Fix issue of AVL=REG support. + (available_occurrence_p): Ditto. + (dominate_probability_p): Remove it. + (can_backward_propagate_p): Remove it. + (get_all_nonphi_defs): New function. + (get_all_predecessors): Ditto. + (any_insn_in_bb_p): Ditto. + (insert_vsetvl): Adjust AVL REG. + (source_equal_p): New function. + (extract_single_source): Ditto. + (avl_info::single_source_equal_p): Ditto. + (avl_info::operator==): Adjust for AVL=REG. + (vl_vtype_info::same_avl_p): Ditto. + (vector_insn_info::set_demand_info): Remove it. + (vector_insn_info::compatible_p): Adjust for AVL=REG. + (vector_insn_info::compatible_avl_p): New function. + (vector_insn_info::merge): Adjust AVL=REG. + (vector_insn_info::dump): Ditto. + (pass_vsetvl::merge_successors): Remove it. + (enum fusion_type): New enum. + (pass_vsetvl::get_backward_fusion_type): New function. + (pass_vsetvl::backward_demand_fusion): Adjust for AVL=REG. + (pass_vsetvl::forward_demand_fusion): Ditto. + (pass_vsetvl::demand_fusion): Ditto. + (pass_vsetvl::prune_expressions): Ditto. + (pass_vsetvl::compute_local_properties): Ditto. + (pass_vsetvl::cleanup_vsetvls): Ditto. + (pass_vsetvl::commit_vsetvls): Ditto. + (pass_vsetvl::init): Ditto. + * config/riscv/riscv-vsetvl.h (enum fusion_type): New enum. + (enum merge_type): New enum. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc + (vector_infos_manager::vector_infos_manager): Add probability. + (vector_infos_manager::dump): Ditto. + (pass_vsetvl::compute_probabilities): Ditto. + * config/riscv/riscv-vsetvl.h (struct vector_block_info): Ditto. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (vector_insn_info::operator==): Remove dirty_pat. + (vector_insn_info::merge): Ditto. + (vector_insn_info::dump): Ditto. + (pass_vsetvl::merge_successors): Ditto. + (pass_vsetvl::backward_demand_fusion): Ditto. + (pass_vsetvl::forward_demand_fusion): Ditto. + (pass_vsetvl::commit_vsetvls): Ditto. + * config/riscv/riscv-vsetvl.h: Ditto. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (add_label_notes): Rename insn to + rinsn. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::backward_demand_fusion): Refine codes. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::forward_demand_fusion): + Add pre-check for redundant flow. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (vector_infos_manager::create_bitmap_vectors): New function. + (vector_infos_manager::free_bitmap_vectors): Ditto. + (pass_vsetvl::pre_vsetvl): Adjust codes. + * config/riscv/riscv-vsetvl.h: New function declaration. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (can_backward_propagate_p): Fix for null iter_bb. + (vector_insn_info::set_demand_info): New function. + (pass_vsetvl::emit_local_forward_vsetvls): Adjust for refinement of Phase 3. + (pass_vsetvl::merge_successors): Ditto. + (pass_vsetvl::compute_global_backward_infos): Ditto. + (pass_vsetvl::backward_demand_fusion): Ditto. + (pass_vsetvl::forward_demand_fusion): Ditto. + (pass_vsetvl::demand_fusion): New function. + (pass_vsetvl::lazy_vsetvl): Adjust for refinement of phase 3. + * config/riscv/riscv-vsetvl.h: New function declaration. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (vector_insn_info::operator>=): Fix available condition. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (change_vsetvl_insn): New function. + (pass_vsetvl::compute_global_backward_infos): Simplify codes. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (loop_basic_block_p): Adjust function. + (backward_propagate_worthwhile_p): Fix non-worthwhile. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (change_insn): Adjust in_group in validate_change. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vsetvl.cc (vector_infos_manager::all_same_avl_p): New function. + (pass_vsetvl::can_refine_vsetvl_p): Add AVL check. + (pass_vsetvl::commit_vsetvls): Ditto. + * config/riscv/riscv-vsetvl.h: New function declaration. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/vector.md: + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins-bases.cc (class loadstore): use + pred_store for vse. + * config/riscv/riscv-vector-builtins.cc + (function_expander::add_mem_operand): Refine function. + (function_expander::use_contiguous_load_insn): Adjust new + implementation. + (function_expander::use_contiguous_store_insn): Ditto. + * config/riscv/riscv-vector-builtins.h: Refine function. + * config/riscv/vector.md (@pred_store): New pattern. + +2023-01-26 Ju-Zhe Zhong + + * config/riscv/riscv-vector-builtins.cc: Change to scalar pointer. + +2023-01-26 Marek Polacek + + PR middle-end/108543 + * opts.cc (parse_sanitizer_options): Don't always clear SANITIZE_ADDRESS + if it was previously set. + +2023-01-26 Jakub Jelinek + + PR tree-optimization/108540 + * range-op-float.cc (foperator_equal::fold_range): If both op1 and op2 + are singletons, use range_true even if op1 != op2 + when one range is [-0.0, -0.0] and another [0.0, 0.0]. Similarly, + even if intersection of the ranges is empty and one has + zero low bound and another zero high bound, use range_true_and_false + rather than range_false. + (foperator_not_equal::fold_range): If both op1 and op2 + are singletons, use range_false even if op1 != op2 + when one range is [-0.0, -0.0] and another [0.0, 0.0]. Similarly, + even if intersection of the ranges is empty and one has + zero low bound and another zero high bound, use range_true_and_false + rather than range_true. + +2023-01-26 Jakub Jelinek + + * value-relation.cc (kind_string): Add const. + (rr_negate_table, rr_swap_table, rr_intersect_table, + rr_union_table, rr_transitive_table): Add static const, change + element type from relation_kind to unsigned char. + (relation_negate, relation_swap, relation_intersect, relation_union, + relation_transitive): Cast rr_*_table element to relation_kind. + (relation_to_code): Add static const. + (relation_tests): Assert VREL_LAST is smaller than UCHAR_MAX. + +2023-01-26 Richard Biener + + PR tree-optimization/108547 + * gimple-predicate-analysis.cc (value_sat_pred_p): + Use widest_int. + +2023-01-26 Siddhesh Poyarekar + + PR tree-optimization/108522 + * tree-object-size.cc (compute_object_offset): Make EXPR + argument non-const. Call component_ref_field_offset. + +2023-01-26 Kyrylo Tkachov + + * config/aarch64/aarch64-option-extensions.def (cssc): Specify + FEATURE_STRING field. + +2023-01-26 Gerald Pfeifer + + * doc/sourcebuild.texi: Refer to projects as GCC and GDB. + +2023-01-25 Iain Sandoe + + PR modula2/102343 + PR modula2/108182 + * gcc.cc: Provide default specs for Modula-2 so that when the + language is not built-in better diagnostics are emitted for + attempts to use .mod or .m2i file extensions. + +2023-01-25 Andrea Corallo + + * config/arm/mve.md (mve_vqnegq_s): Fix spacing. + +2023-01-25 Andrea Corallo + + * config/arm/mve.md (mve_vqabsq_s): Fix spacing. + +2023-01-25 Andrea Corallo + + * config/arm/mve.md (mve_vnegq_f, mve_vnegq_s): + Fix spacing. + +2023-01-25 Andrea Corallo + + * config/arm/mve.md (@mve_vclzq_s): Fix spacing. + +2023-01-25 Andrea Corallo + + * config/arm/mve.md (mve_vclsq_s): Fix spacing. + +2023-01-25 Richard Biener + + PR tree-optimization/108523 + * tree-ssa-sccvn.cc (visit_phi): Avoid using the exclusive + backedge value for the result when using predication to + prove equivalence. + +2023-01-25 Richard Biener + + * doc/lto.texi (Command line options): Reword and update reference + to removed lto_read_all_file_options. + +2023-01-25 Richard Sandiford + + * config/aarch64/aarch64.md (umax3): Separate the CNT and CSSC + tests. + +2023-01-25 Gerald Pfeifer + + * doc/contrib.texi: Add Jose E. Marchesi. + +2023-01-25 Jakub Jelinek + + PR tree-optimization/108498 + * gimple-ssa-store-merging.cc (class store_operand_info): + End coment with full stop rather than comma. + (split_group): Likewise. + (merged_store_group::apply_stores): Clear string_concatenation if + start or end aren't on a byte boundary. + +2023-01-25 Siddhesh Poyarekar + Jakub Jelinek + + PR tree-optimization/108522 + * tree-object-size.cc (compute_object_offset): Use + TREE_OPERAND(ref, 2) for COMPONENT_REF when available. + +2023-01-24 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.md: + Fix exit from loops detecting references before overwriting in the + split pattern. + +2023-01-24 Vladimir N. Makarov + + * lra-constraints.cc (get_hard_regno): Remove final_p arg. Always + do elimination but only for hard register. + (operands_match_p, uses_hard_regs_p, process_alt_operands): Adjust + calls of get_hard_regno. + +2023-01-24 Stefan Schulze Frielinghaus + + * config/s390/s390-d.cc (s390_d_target_versions): Fix detection + of CPU version. + +2023-01-24 Andre Vieira + + PR target/108177 + * config/arm/mve.md (mve_vstrbq_p_, mve_vstrhq_p_fv8hf, + mve_vstrhq_p_, mve_vstrwq_p_v4si): Add memory operand + as input operand. + +2023-01-24 Xianmiao Qu + + * config.gcc(csky-*-linux*): Define CSKY_ENABLE_MULTILIB + and only include 'csky/t-csky-linux' when enable multilib. + * config/csky/csky-linux-elf.h(SYSROOT_SUFFIX_SPEC): Don't + define it when disable multilib. + +2023-01-24 Richard Biener + + PR tree-optimization/108500 + * dominance.h (calculate_dominance_info): Add parameter + to indicate fast-query compute, defaulted to true. + * dominance.cc (calculate_dominance_info): Honor + fast-query compute parameter. + * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Do + not compute the dominator fast-query DFS numbers. + +2023-01-24 Eric Biggers + + PR bootstrap/90543 + * optc-save-gen.awk: Fix copy-and-paste error. + +2023-01-24 Jakub Jelinek + + PR c++/108474 + * cgraphbuild.cc: Include gimplify.h. + (record_reference): Replace VAR_DECLs with DECL_HAS_VALUE_EXPR_P with + their corresponding DECL_VALUE_EXPR expressions after unsharing. + +2023-01-24 Srinath Parvathaneni + + PR target/108505 + * config.gcc (tm_file): Move the variable out of loop. + +2023-01-24 Lulu Cheng + Yang Yujie + + PR target/107731 + * config/loongarch/loongarch.cc (loongarch_classify_address): + Add precessint for CONST_INT. + (loongarch_print_operand_reloc): Operand modifier 'c' is supported. + (loongarch_print_operand): Increase the processing of '%c'. + * doc/extend.texi: Adds documents for LoongArch operand modifiers. + And port the public operand modifiers information to this document. + +2023-01-23 Srinath Parvathaneni + + * doc/invoke.texi (-mbranch-protection): Update documentation. + +2023-01-23 Richard Biener + + PR target/55522 + * config/sparc/freebsd.h (ENDFILE_SPEC): Don't add crtfastmath.o + for -shared. + * config/sparc/linux.h (ENDFILE_SPEC): Likewise. + * config/sparc/linux64.h (ENDFILE_SPEC): Likewise. + * config/sparc/sp-elf.h (ENDFILE_SPEC): Likewise. + * config/sparc/sp64-elf.h (ENDFILE_SPEC): Likewise. + +2023-01-23 Srinath Parvathaneni + + * config/arm/aout.h (ra_auth_code): Add entry in enum. + * config/arm/arm.cc (emit_multi_reg_push): Add RA_AUTH_CODE register + to dwarf frame expression. + (arm_emit_multi_reg_pop): Restore RA_AUTH_CODE register. + (arm_expand_prologue): Update frame related information and reg notes + for pac/pacbit insn. + (arm_regno_class): Check for pac pseudo reigster. + (arm_dbx_register_number): Assign ra_auth_code register number in dwarf. + (arm_init_machine_status): Set pacspval_needed to zero. + (arm_debugger_regno): Check for PAC register. + (arm_unwind_emit_sequence): Print .save directive with ra_auth_code + register. + (arm_unwind_emit_set): Add entry for IP_REGNUM in switch case. + (arm_unwind_emit): Update REG_CFA_REGISTER case._ + * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Modify. + (DWARF_PAC_REGNUM): Define. + (IS_PAC_REGNUM): Likewise. + (enum reg_class): Add PAC_REG entry. + (machine_function): Add pacbti_needed state to structure. + * config/arm/arm.md (RA_AUTH_CODE): Define. + +2023-01-23 Srinath Parvathaneni + + * config.gcc ($tm_file): Update variable. + * config/arm/arm-mlib.h: Create new header file. + * config/arm/t-rmprofile (MULTI_ARCH_DIRS_RM): Rename mbranch-protection + multilib arch directory. + (MULTILIB_REUSE): Add multilib reuse rules. + (MULTILIB_MATCHES): Add multilib match rules. + +2023-01-23 Srinath Parvathaneni + + * config/arm/arm-cpus.in (cortex-m85): Define new CPU. + * config/arm/arm-tables.opt: Regenerate. + * config/arm/arm-tune.md: Likewise. + * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m85. + * (-mfix-cmse-cve-2021-35465): Likewise. + +2023-01-23 Richard Biener + + PR tree-optimization/108482 + * tree-vect-generic.cc (expand_vector_operations): Fold remaining + .LOOP_DIST_ALIAS calls. + +2023-01-23 Andrea Corallo + + * config.gcc (arm*-*-*): Add 'aarch-bti-insert.o' object. + * config/arm/arm-protos.h: Update. + * config/arm/aarch-common-protos.h: Declare + 'aarch_bti_arch_check'. + * config/arm/arm.cc (aarch_bti_enabled) Update. + (aarch_bti_j_insn_p, aarch_pac_insn_p, aarch_gen_bti_c) + (aarch_gen_bti_j, aarch_bti_arch_check): New functions. + * config/arm/arm.md (bti_nop): New insn. + * config/arm/t-arm (PASSES_EXTRA): Add 'arm-passes.def'. + (aarch-bti-insert.o): New target. + * config/arm/unspecs.md (VUNSPEC_BTI_NOP): New unspec. + * config/arm/aarch-bti-insert.cc (rest_of_insert_bti): Verify arch + compatibility. + (gate): Make use of 'aarch_bti_arch_check'. + * config/arm/arm-passes.def: New file. + * config/aarch64/aarch64.cc (aarch_bti_arch_check): New function. + +2023-01-23 Andrea Corallo + + * config.gcc (aarch64*-*-*): Rename 'aarch64-bti-insert.o' into + 'aarch-bti-insert.o'. + * config/aarch64/aarch64-protos.h: Remove 'aarch64_bti_enabled' + proto. + * config/aarch64/aarch64.cc (aarch_bti_enabled): Rename. + (aarch_bti_j_insn_p, aarch_pac_insn_p): New functions. + (aarch64_output_mi_thunk) + (aarch64_print_patchable_function_entry) + (aarch64_file_end_indicate_exec_stack): Update renamed function + calls to renamed functions. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Likewise. + * config/aarch64/t-aarch64 (aarch-bti-insert.o): Update + target. + * config/aarch64/aarch64-bti-insert.cc: Delete. + * config/arm/aarch-bti-insert.cc: New file including and + generalizing code from aarch64-bti-insert.cc. + * config/arm/aarch-common-protos.h: Update. + +2023-01-23 Andrea Corallo + + * config/arm/arm.h (arm_arch8m_main): Declare it. + * config/arm/arm-protos.h (arm_current_function_pac_enabled_p): + Declare it. + * config/arm/arm.cc (arm_arch8m_main): Define it. + (arm_option_reconfigure_globals): Set arm_arch8m_main. + (arm_compute_frame_layout, arm_expand_prologue) + (thumb2_expand_return, arm_expand_epilogue) + (arm_conditional_register_usage): Update for pac codegen. + (arm_current_function_pac_enabled_p): New function. + (aarch_bti_enabled) New function. + (use_return_insn): Return zero when pac is enabled. + * config/arm/arm.md (pac_ip_lr_sp, pacbti_ip_lr_sp, aut_ip_lr_sp): + Add new patterns. + * config/arm/unspecs.md (UNSPEC_PAC_NOP) + (VUNSPEC_PACBTI_NOP, VUNSPEC_AUT_NOP): Add unspecs. + +2023-01-23 Andrea Corallo + + * config/arm/t-rmprofile: Add multilib rules for march +pacbti and + mbranch-protection. + +2023-01-23 Andrea Corallo + Tejas Belagod + + * config/arm/arm.cc (arm_file_start): Emit EABI attributes for + Tag_PAC_extension, Tag_BTI_extension, TAG_BTI_use, TAG_PACRET_use. + +2023-01-23 Andrea Corallo + Tejas Belagod + Srinath Parvathaneni + + * ginclude/unwind-arm-common.h (_Unwind_VRS_RegClass): Introduce + new pseudo register class _UVRSC_PAC. + +2023-01-23 Andrea Corallo + Tejas Belagod + + * config/arm/arm-c.cc (arm_cpu_builtins): Define + __ARM_FEATURE_BTI_DEFAULT, __ARM_FEATURE_PAC_DEFAULT, + __ARM_FEATURE_PAUTH and __ARM_FEATURE_BTI. + +2023-01-23 Andrea Corallo + Tejas Belagod + + * doc/sourcebuild.texi: Document arm_pacbti_hw. + +2023-01-23 Andrea Corallo + Tejas Belagod + Richard Earnshaw + + * config/arm/arm.cc (arm_configure_build_target): Parse and validate + -mbranch-protection option and initialize appropriate data structures. + * config/arm/arm.opt (-mbranch-protection): New option. + * doc/invoke.texi (Arm Options): Document it. + +2023-01-23 Andrea Corallo + Tejas Belagod + + * config/arm/arm.h (TARGET_HAVE_PACBTI): New macro. + * config/arm/arm-cpus.in (pacbti): New feature. + * doc/invoke.texi (Arm Options): Document it. + +2023-01-23 Andrea Corallo + Tejas Belagod + + * common/config/aarch64/aarch64-common.cc: Include aarch-common.h. + (all_architectures): Fix comment. + (aarch64_parse_extension): Rename return type, enum value names. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Rename + factored out aarch_ra_sign_scope and aarch_ra_sign_key variables. + Also rename corresponding enum values. + * config/aarch64/aarch64-opts.h (aarch64_function_type): Factor + out aarch64_function_type and move it to common code as + aarch_function_type in aarch-common.h. + * config/aarch64/aarch64-protos.h: Include common types header, + move out types aarch64_parse_opt_result and aarch64_key_type to + aarch-common.h + * config/aarch64/aarch64.cc: Move mbranch-protection parsing types + and functions out into aarch-common.h and aarch-common.cc. Fix up + all the name changes resulting from the move. + * config/aarch64/aarch64.md: Fix up aarch64_ra_sign_key type name change + and enum value. + * config/aarch64/aarch64.opt: Include aarch-common.h to import + type move. Fix up name changes from factoring out common code and + data. + * config/arm/aarch-common-protos.h: Export factored out routines to both + backends. + * config/arm/aarch-common.cc: Include newly factored out types. + Move all mbranch-protection code and data structures from + aarch64.cc. + * config/arm/aarch-common.h: New header that declares types shared + between aarch32 and aarch64 backends. + * config/arm/arm-protos.h: Declare types and variables that are + made common to aarch64 and aarch32 backends - aarch_ra_sign_key, + aarch_ra_sign_scope and aarch_enable_bti. + * config/arm/arm.opt (config/arm/aarch-common.h): Include header. + (aarch_ra_sign_scope, aarch_enable_bti): Declare variable. + * config/arm/arm.cc: Add missing includes. + +2023-01-23 Tobias Burnus + + * doc/install.texi (amdgcn, nvptx): Require newlib 4.3.0. + +2023-01-23 Richard Biener + + PR tree-optimization/108449 + * cgraphunit.cc (check_global_declaration): Do not turn + undefined statics into externs. + +2023-01-22 Dimitar Dimitrov + + * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI + and HI input modes. + * config/pru/pru.md (clz): Fix generated code for QI and HI + input modes. + +2023-01-22 Cupertino Miranda + + * config/v850/v850.cc (v850_select_section): Put const volatile + objects into read-only sections. + +2023-01-20 Tejas Belagod + + * config/aarch64/arm_neon.h (vmull_p64, vmull_high_p64, vaeseq_u8, + vaesdq_u8, vaesmcq_u8, vaesimcq_u8): Gate under "nothing+aes". + (vsha1*_u32, vsha256*_u32): Gate under "nothing+sha2". + +2023-01-20 Jakub Jelinek + + PR tree-optimization/108457 + * tree-ssa-loop-niter.cc (build_cltz_expr): Use + SCALAR_INT_TYPE_MODE (utype) directly as C[LT]Z_DEFINED_VALUE_AT_ZERO + argument instead of a temporary. Formatting fixes. + +2023-01-19 Jakub Jelinek + + PR tree-optimization/108447 + * value-relation.cc (rr_union_table): Fix VREL_UNDEFINED row order. + (relation_tests): Add self-tests for relation_{intersect,union} + commutativity. + * selftest.h (relation_tests): Declare. + * function-tests.cc (test_ranges): Call it. + +2023-01-19 H.J. Lu + + PR target/108436 + * config/i386/i386-expand.cc (ix86_expand_builtin): Check + invalid third argument to __builtin_ia32_prefetch. + +2023-01-19 Jakub Jelinek + + PR middle-end/108459 + * omp-expand.cc (expand_omp_for_init_counts): Use fold_build1 rather + than fold_unary for NEGATE_EXPR. + +2023-01-19 Christophe Lyon + + PR target/108411 + * config/aarch64/aarch64.cc (aarch64_layout_arg): Improve + comment. Move assert about alignment a bit later. + +2023-01-19 Jakub Jelinek + + PR tree-optimization/108440 + * tree-ssa-forwprop.cc: Include gimple-range.h. + (simplify_rotate): For the forms with T2 wider than T and shift counts of + Y and B - Y add & (B - 1) masking for the rotate count if Y could be equal + to B. For the forms with T2 wider than T and shift counts of + Y and (-Y) & (B - 1), don't punt if range could be [B, B2], but only if + range doesn't guarantee Y < B or Y = N * B. If range doesn't guarantee + Y < B, also add & (B - 1) masking for the rotate count. Use lazily created + pass specific ranger instead of get_global_range_query. + (pass_forwprop::execute): Disable that ranger at the end of pass if it has + been created. + +2023-01-19 Prathamesh Kulkarni + + * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set): Use + exact_log2 (INTVAL (operands[2])) >= 0 as condition for gating + the pattern. + (aarch64_simd_vec_copy_lane): Likewise. + (aarch64_simd_vec_copy_lane_): Likewise. + +2023-01-19 Alexandre Oliva + + PR debug/106746 + * sched-deps.cc (sched_analyze_2): Skip cselib address lookup + within debug insns. + +2023-01-18 Martin Jambor + + PR ipa/107944 + * cgraph.cc (cgraph_node::remove): Check whether nodes up the + lcone_of chain also do not need the body. + +2023-01-18 Richard Biener + + Revert: + 2022-12-16 Richard Biener + + PR middle-end/108086 + * tree-inline.cc (remap_ssa_name): Do not unshare the + result from the decl_map. + +2023-01-18 Murray Steele + + PR target/108442 + * config/arm/arm_mve.h (__arm_vst1q_p_u8): Use prefixed intrinsic + function. + (__arm_vst1q_p_s8): Likewise. + (__arm_vld1q_z_u8): Likewise. + (__arm_vld1q_z_s8): Likewise. + (__arm_vst1q_p_u16): Likewise. + (__arm_vst1q_p_s16): Likewise. + (__arm_vld1q_z_u16): Likewise. + (__arm_vld1q_z_s16): Likewise. + (__arm_vst1q_p_u32): Likewise. + (__arm_vst1q_p_s32): Likewise. + (__arm_vld1q_z_u32): Likewise. + (__arm_vld1q_z_s32): Likewise. + (__arm_vld1q_z_f16): Likewise. + (__arm_vst1q_p_f16): Likewise. + (__arm_vld1q_z_f32): Likewise. + (__arm_vst1q_p_f32): Likewise. + +2023-01-18 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.md (xorsi3_internal): + Rename from the original of "xorsi3". + (xorsi3): New expansion pattern that emits addition rather than + bitwise-XOR when the second source is a constant of -2147483648 + if TARGET_DENSITY. + +2023-01-18 Kewen Lin + Andrew Pinski + + PR target/108396 + * config/rs6000/rs6000-overload.def (VEC_VSUBCUQ): Fix typo + vec_vsubcuqP with vec_vsubcuq. + +2023-01-18 Kewen Lin + + PR target/108348 + * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the + support for invalid uses of MMA opaque type in function arguments. + +2023-01-18 liuhongt + + PR target/55522 + * config/i386/cygwin.h (ENDFILE_SPEC): Link crtfastmath.o + whenever -mdaz-ftz is specified. Don't link crtfastmath.o when + -share or -mno-daz-ftz is specified. + * config/i386/darwin.h (ENDFILE_SPEC): Ditto. + * config/i386/mingw32.h (ENDFILE_SPEC): Ditto. + +2023-01-17 Jose E. Marchesi + + * config/bpf/bpf.cc (bpf_option_override): Disable + -fstack-protector. + +2023-01-17 Jakub Jelinek + + PR tree-optimization/106523 + * tree-ssa-forwprop.cc (simplify_rotate): For the + patterns with (-Y) & (B - 1) in one operand's shift + count and Y in another, if T2 has wider precision than T, + punt if Y could have a value in [B, B2 - 1] range. + +2023-01-16 H.J. Lu + + PR target/105980 + * config/i386/i386.cc (x86_output_mi_thunk): Disable + -mforce-indirect-call for PIC in 32-bit mode. + +2023-01-16 Jan Hubicka + + PR ipa/106077 + * ipa-modref.cc (modref_access_analysis::analyze): Use + find_always_executed_bbs. + * ipa-sra.cc (process_scan_results): Likewise. + * ipa-utils.cc (stmt_may_terminate_function_p): New function. + (find_always_executed_bbs): New function. + * ipa-utils.h (stmt_may_terminate_function_p): Declare. + (find_always_executed_bbs): Declare. + +2023-01-16 Jan Hubicka + + * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Guard scatter + by TARGET_USE_SCATTER. + * config/i386/i386.h (TARGET_USE_SCATTER_2PARTS, + TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New macros. + * config/i386/x86-tune.def (TARGET_USE_SCATTER_2PARTS, + TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New tunes. + (X86_TUNE_AVOID_256FMA_CHAINS, X86_TUNE_AVOID_512FMA_CHAINS): Disable + for znver4. (X86_TUNE_USE_GATHER): Disable for zen4. + +2023-01-16 Richard Biener + + PR target/55522 + * config/sol2.h (ENDFILE_SPEC): Don't add crtfastmath.o for -shared. + +2023-01-16 Stam Markianos-Wright + + PR target/96795 + PR target/107515 + * config/arm/arm_mve.h (__ARM_mve_coerce2): Split types. + (__ARM_mve_coerce3): Likewise. + +2023-01-16 Andrew Carlotti + + * tree-ssa-loop-niter.cc (build_popcount_expr): Add IFN support. + +2023-01-16 Andrew Carlotti + + * tree-ssa-loop-niter.cc (number_of_iterations_cltz): New. + (number_of_iterations_bitcount): Add call to the above. + (number_of_iterations_exit_assumptions): Add EQ_EXPR case for + c[lt]z idiom recognition. + +2023-01-16 Andrew Carlotti + + * doc/sourcebuild.texi: Add missing target attributes. + +2023-01-16 Andrew Carlotti + + PR tree-optimization/94793 + * tree-scalar-evolution.cc (expression_expensive_p): Add checks + for c[lt]z optabs. + * tree-ssa-loop-niter.cc (build_cltz_expr): New. + (number_of_iterations_cltz_complement): New. + (number_of_iterations_bitcount): Add call to the above. + +2023-01-16 Jonathan Wakely + + * doc/extend.texi (Common Function Attributes): Fix grammar. + +2023-01-16 Jakub Jelinek + + PR other/108413 + * config/riscv/riscv-vsetvl.h: Add space in between Copyright and (C). + * config/riscv/riscv-vsetvl.cc: Likewise. + +2023-01-16 Jakub Jelinek + + PR c++/105593 + * config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily + disable -Winit-self using pragma GCC diagnostic ignored. + * config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128): + Likewise. + * config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps, + _mm256_undefined_si256): Likewise. + * config/i386/avx512fintrin.h (_mm512_undefined_pd, + _mm512_undefined_ps, _mm512_undefined_epi32): Likewise. + * config/i386/avx512fp16intrin.h (_mm_undefined_ph, + _mm256_undefined_ph, _mm512_undefined_ph): Likewise. + +2023-01-16 Kewen Lin + + PR target/108272 + * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the + support for invalid uses in inline asm, factor out the checking and + erroring to lambda function check_and_error_invalid_use. + +2023-01-15 Aldy Hernandez + + PR tree-optimization/107608 + * range-op-float.cc (range_operator_float::fold_range): Avoid + folding into INF when flag_trapping_math. + * value-range.h (frange::known_isinf): Return false for possible NANs. + +2023-01-15 Xianmiao Qu + + * config.gcc (csky-*-*): Support --with-float=softfp. + +2023-01-14 Takayuki 'January June' Suwa + + * config/xtensa/xtensa-protos.h (order_regs_for_local_alloc): + Rename to xtensa_adjust_reg_alloc_order. + * config/xtensa/xtensa.cc (xtensa_adjust_reg_alloc_order): + Ditto. And also remove code to reorder register numbers for + leaf functions, rename the tables, and adjust the allocation + order for the call0 ABI to use register A0 more. + (xtensa_leaf_regs): Remove. + * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Cosmetics. + (order_regs_for_local_alloc): Rename as the above. + (LEAF_REGISTERS, LEAF_REG_REMAP, leaf_function): Remove. + +2023-01-14 Prathamesh Kulkarni + + * config/aarch64/aarch64-sve.md (aarch64_vec_duplicate_vq_le): + Change to define_insn_and_split to fold ldr+dup to ld1rq. + * config/aarch64/predicates.md (aarch64_sve_dup_ld1rq_operand): New. + +2023-01-14 Alexandre Oliva + + * hash-table.h (is_deleted): Precheck !is_empty. + (mark_deleted): Postcheck !is_empty. + (copy constructor): Test is_empty before is_deleted. + +2023-01-14 Alexandre Oliva + + PR target/40457 + * config/arm/arm.md (movmisaligndi): Prefer aligned SImode + moves. + +2023-01-13 Eric Botcazou + + PR rtl-optimization/108274 + * function.cc (thread_prologue_and_epilogue_insns): Also update the + DF information for calls in a few more cases. + +2023-01-13 John David Anglin + + * config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): Delete define. + * config/pa/pa.cc (pa_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE + define. + * config/pa/pa.h (TARGET_SYNC_LIBCALLS): Use flag_sync_libcalls. + (MAX_SYNC_LIBFUNC_SIZE): Define. + (TARGET_CPU_CPP_BUILTINS): Define __SOFTFP__ when soft float is + enabled. + * config/pa/pa.md (atomic_storeqi): Emit __atomic_exchange_1 + libcall when sync libcalls are disabled. + (atomic_storehi, atomic_storesi, atomic_storedi): Likewise. + (atomic_loaddi): Emit __atomic_load_8 libcall when sync libcalls + are disabled on 32-bit target. + * config/pa/pa.opt (matomic-libcalls): New option. + * doc/invoke.texi (HPPA Options): Update. + +2023-01-13 Alexander Monakov + + PR rtl-optimization/108117 + PR rtl-optimization/108132 + * sched-deps.cc (deps_analyze_insn): Do not schedule across + calls before reload. + +2023-01-13 Srinath Parvathaneni + + * common/config/arm/arm-common.cc (arm_canon_arch_option_1): Ignore cde + options for -mlibarch. + * config/arm/arm-cpus.in (begin cpu cortex-m55): Add cde options. + * doc/invoke.texi (CDE): Document options for Cortex-M55 CPU. + +2023-01-13 Qing Zhao + + * attribs.cc (strict_flex_array_level_of): Move this function to ... + * attribs.h (strict_flex_array_level_of): Remove the declaration. + * gimple-array-bounds.cc (array_bounds_checker::check_array_ref): + replace the referece to strict_flex_array_level_of with + DECL_NOT_FLEXARRAY. + * tree.cc (component_ref_size): Likewise. + +2023-01-13 Richard Biener + + PR target/55522 + * config/arm/linux-eabi.h (ENDFILE_SPEC): Don't add + crtfastmath.o for -shared. + * config/arm/unknown-elf.h (STARTFILE_SPEC): Likewise. + +2023-01-13 Richard Biener + + PR target/55522 + * config/aarch64/aarch64-elf-raw.h (ENDFILE_SPEC): Don't add + crtfastmath.o for -shared. + * config/aarch64/aarch64-freebsd.h (GNU_USER_TARGET_MATHFILE_SPEC): + Likewise. + * config/aarch64/aarch64-linux.h (GNU_USER_TARGET_MATHFILE_SPEC): + Likewise. + +2023-01-13 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_dwarf_frame_reg_mode): New + function. + (TARGET_DWARF_FRAME_REG_MODE): Define. + +2023-01-13 Richard Biener + + PR target/107209 + * config/aarch64/aarch64.cc (aarch64_gimple_fold_builtin): Don't + update EH info on the fly. + +2023-01-13 Richard Biener + + PR tree-optimization/108387 + * tree-ssa-sccvn.cc (visit_nary_op): Check for SSA_NAME + value before inserting expression into the tables. + +2023-01-12 Andrew Pinski + Roger Sayle + + PR tree-optimization/92342 + * match.pd ((m1 CMP m2) * d -> (m1 CMP m2) ? d : 0): + Use tcc_comparison and :c for the multiply. + (b & -(a CMP c) -> (a CMP c)?b:0): New pattern. + +2023-01-12 Christophe Lyon + Richard Sandiford + + PR target/105549 + * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): + Check DECL_PACKED for bitfield. + (aarch64_layout_arg): Warn when parameter passing ABI changes. + (aarch64_function_arg_boundary): Do not warn here. + (aarch64_gimplify_va_arg_expr): Warn when parameter passing ABI + changes. + +2023-01-12 Christophe Lyon + Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Fix + comment. + (aarch64_layout_arg): Factorize warning conditions. + (aarch64_function_arg_boundary): Fix typo. + * function.cc (currently_expanding_function_start): New variable. + (expand_function_start): Handle + currently_expanding_function_start. + * function.h (currently_expanding_function_start): Declare. + +2023-01-12 Richard Biener + + PR tree-optimization/99412 + * tree-ssa-reassoc.cc (is_phi_for_stmt): Remove. + (swap_ops_for_binary_stmt): Remove reduction handling. + (rewrite_expr_tree_parallel): Adjust. + (reassociate_bb): Likewise. + * tree-parloops.cc (build_new_reduction): Handle MINUS_EXPR. + +2023-01-12 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.md (ctzsi2, ffssi2): + Rearrange the emitting codes. + +2023-01-12 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.md (*btrue): + Correct value of the attribute "length" that depends on + TARGET_DENSITY and operands, and add '?' character to the register + constraint of the compared operand. + +2023-01-12 Alexandre Oliva + + * hash-table.h (expand): Check elements and deleted counts. + (verify): Likewise. + +2023-01-11 Roger Sayle + + PR tree-optimization/71343 + * tree-ssa-sccvn.cc (visit_nary_op) : Make + the value number of the expression X << C the same as the value + number for the multiplication X * (1< + + PR target/108293 + * config/bpf/bpf.cc (bpf_print_operand): Correct handling for + floating point modes. + +2023-01-11 Eric Botcazou + + PR tree-optimization/108199 + * tree-sra.cc (sra_modify_expr): Deal with reverse storage order + for bit-field references. + +2023-01-11 Kewen Lin + + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make + OPTION_MASK_P10_FUSION implicit setting honour Power10 tuning setting. + * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER): Remove + OPTION_MASK_P10_FUSION. + +2023-01-11 Richard Biener + + PR tree-optimization/107767 + * tree-cfgcleanup.cc (phi_alternatives_equal): Export. + * tree-cfgcleanup.h (phi_alternatives_equal): Declare. + * tree-switch-conversion.cc (switch_conversion::collect): + Count unique non-default targets accounting for later + merging opportunities. + +2023-01-11 Martin Liska + + PR middle-end/107976 + * params.opt: Limit JT params. + * stmt.cc (emit_case_dispatch_table): Use auto_vec. + +2023-01-11 Richard Biener + + PR tree-optimization/108352 + * tree-ssa-threadbackward.cc + (back_threader_profitability::profitable_path_p): Adjust + heuristic that allows non-multi-way branch threads creating + irreducible loops. + * doc/invoke.texi (--param fsm-scale-path-blocks): Remove. + (--param fsm-scale-path-stmts): Adjust. + * params.opt (--param=fsm-scale-path-blocks=): Remove. + (-param=fsm-scale-path-stmts=): Adjust description. + +2023-01-11 Richard Biener + + PR tree-optimization/108353 + * tree-ssa-propagate.cc (cfg_blocks_back, ssa_edge_worklist_back): + Remove. + (add_ssa_edge): Simplify. + (add_control_edge): Likewise. + (ssa_prop_init): Likewise. + (ssa_prop_fini): Likewise. + (ssa_propagation_engine::ssa_propagate): Likewise. + +2023-01-11 Andreas Krebbel + + * config/s390/s390.md (*not): New pattern. + +2023-01-11 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.cc (xtensa_insn_cost): + Let insn cost for size be obtained by applying COSTS_N_INSNS() + to instruction length and then dividing by 3. + +2023-01-10 Richard Biener + + PR tree-optimization/106293 + * tree-ssa-dse.cc (dse_classify_store): Use a worklist to + process degenerate PHI defs. + +2023-01-10 Roger Sayle + + PR rtl-optimization/106421 + * cprop.cc (bypass_block): Check that DEST is local to this + function (non-NULL) before calling find_edge. + +2023-01-10 Martin Jambor + + PR ipa/108110 + * ipa-param-manipulation.h (ipa_param_body_adjustments): New members + sort_replacements, lookup_first_base_replacement and + m_sorted_replacements_p. + * ipa-param-manipulation.cc: Define INCLUDE_ALGORITHM. + (ipa_param_body_adjustments::register_replacement): Set + m_sorted_replacements_p to false. + (compare_param_body_replacement): New function. + (ipa_param_body_adjustments::sort_replacements): Likewise. + (ipa_param_body_adjustments::common_initialization): Call + sort_replacements. + (ipa_param_body_adjustments::ipa_param_body_adjustments): Initialize + m_sorted_replacements_p. + (ipa_param_body_adjustments::lookup_replacement_1): Rework to use + std::lower_bound. + (ipa_param_body_adjustments::lookup_first_base_replacement): New + function. + (ipa_param_body_adjustments::modify_call_stmt): Use + lookup_first_base_replacement. + * omp-simd-clone.cc (ipa_simd_modify_function_body): Call + adjustments->sort_replacements. + +2023-01-10 Richard Biener + + PR tree-optimization/108314 + * tree-vect-stmts.cc (vectorizable_condition): Do not + perform BIT_NOT_EXPR optimization for EXTRACT_LAST_REDUCTION. + +2023-01-10 Xianmiao Qu + + * config/csky/csky-linux-elf.h (SYSROOT_SUFFIX_SPEC): New. + +2023-01-10 Xianmiao Qu + + * config/csky/csky.h (MULTILIB_DEFAULTS): Fix float abi option. + +2023-01-10 Xianmiao Qu + + * config/csky/csky.cc (csky_cpu_cpp_builtins): Add builtin + defines for soft float abi. + +2023-01-10 Xianmiao Qu + + * config/csky/csky.md (smart_bseti): Change condition to CSKY_ISA_FEATURE (E1). + (smart_bclri): Likewise. + (fast_bseti): Change condition to CSKY_ISA_FEATURE (E2). + (fast_bclri): Likewise. + (fast_cmpnesi_i): Likewise. + (*fast_cmpltsi_i): Likewise. + (*fast_cmpgeusi_i): Likewise. + +2023-01-10 Xianmiao Qu + + * config/csky/csky_insn_fpuv3.md (lsi2): Test + flag_fp_int_builtin_inexact || !flag_trapping_math. + (2): Likewise. + +2023-01-10 Andreas Krebbel + + * config/s390/s390.cc (s390_register_info): Check call_used_regs + instead of hard-coding the register numbers for call saved + registers. + (s390_optimize_register_info): Likewise. + +2023-01-09 Eric Botcazou + + * doc/gm2.texi (Overview): Fix @node markers. + (Using): Likewise. Remove subsections that were moved to Overview + from the menu and move others around. + +2023-01-09 Richard Biener + + PR middle-end/108209 + * genmatch.cc (commutative_op): Fix return value for + user-id with non-commutative first replacement. + +2023-01-09 Jakub Jelinek + + PR target/107453 + * calls.cc (expand_call): For calls with + TYPE_NO_NAMED_ARGS_STDARG_P (funtype) use zero for n_named_args. + Formatting fix. + +2023-01-09 Richard Biener + + PR middle-end/69482 + * cfgexpand.cc (discover_nonconstant_array_refs_r): Volatile + qualified accesses also force objects to memory. + +2023-01-09 Martin Liska + + PR lto/108330 + * lto-cgraph.cc (compute_ltrans_boundary): Do not insert + NULL (deleleted value) to a hash_set. + +2023-01-08 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.md (*splice_bits): + New insn_and_split pattern. + +2023-01-07 Takayuki 'January June' Suwa + + * config/xtensa/xtensa.cc + (xtensa_split_imm_two_addends, xtensa_emit_add_imm): + New helper functions. + (xtensa_set_return_address, xtensa_output_mi_thunk): + Change to use the helper function. + (xtensa_emit_adjust_stack_ptr): Ditto. + And also change to try reusing the content of scratch register + A9 if the register is not modified in the function body. + +2023-01-07 LIU Hao + + PR middle-end/108300 + * config/xtensa/xtensa-dynconfig.c: Define `WIN32_LEAN_AND_MEAN` + before . + * diagnostic-color.cc: Likewise. + * plugin.cc: Likewise. + * prefix.cc: Likewise. + +2023-01-06 Joseph Myers + + * doc/extend.texi (__builtin_tgmath): Do not restate standard rule + for handling real integer types. + +2023-01-06 Tamar Christina + + Revert: + 2022-12-12 Tamar Christina + + * config/aarch64/aarch64-simd.md (*aarch64_simd_movv2hf): New. + (mov, movmisalign, aarch64_dup_lane, + aarch64_store_lane0, aarch64_simd_vec_set, + @aarch64_simd_vec_copy_lane, vec_set, + reduc__scal_, reduc__scal_, + aarch64_reduc__internal, aarch64_get_lane, + vec_init, vec_extract): Support V2HF. + (aarch64_simd_dupv2hf): New. + * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): + Add E_V2HFmode. + * config/aarch64/iterators.md (VHSDF_P): New. + (V2F, VMOVE, nunits, Vtype, Vmtype, Vetype, stype, VEL, + Vel, q, vp): Add V2HF. + * config/arm/types.md (neon_fp_reduc_add_h): New. + +2023-01-06 Martin Liska + + PR middle-end/107966 + * doc/options.texi: Fix Var documentation in internal manual. + +2023-01-05 Roger Sayle + + Revert: + 2023-01-03 Roger Sayle + + * config/i386/i386-expand.cc (ix86_expand_int_movcc): Rewrite + RTL expansion to allow condition (mask) to be shared/reused, + by avoiding overwriting pseudos and adding REG_EQUAL notes. + +2023-01-05 Iain Sandoe + + * common.opt: Add -static-libgm2. + * config/darwin.h (LINK_SPEC): Handle static-libgm2. + * doc/gm2.texi: Document static-libgm2. + * gcc.cc (driver_handle_option): Allow static-libgm2. + +2023-01-05 Tejas Joshi + + * common/config/i386/i386-common.cc (processor_alias_table): + Use CPU_ZNVER4 for znver4. + * config/i386/i386.md: Add znver4.md. + * config/i386/znver4.md: New. + +2023-01-04 Jakub Jelinek + + PR tree-optimization/108253 + * tree-vrp.cc (maybe_set_nonzero_bits): Handle var with pointer + types. + +2023-01-04 Jakub Jelinek + + PR middle-end/108237 + * generic-match-head.cc: Include tree-pass.h. + (canonicalize_math_p, optimize_vectors_before_lowering_p): Define + to false if cfun and cfun->curr_properties has PROP_gimple_opt_math + resp. PROP_gimple_lvec property set. + +2023-01-04 Jakub Jelinek + + PR sanitizer/108256 + * convert.cc (do_narrow): Punt for MULT_EXPR if original + type doesn't wrap around and -fsanitize=signed-integer-overflow + is on. + * fold-const.cc (fold_unary_loc) : Likewise. + +2023-01-04 Hu, Lin1 + + * common/config/i386/cpuinfo.h (get_intel_cpu): Handle Emeraldrapids. + * common/config/i386/i386-common.cc: Add Emeraldrapids. + +2023-01-04 Hu, Lin1 + + * common/config/i386/cpuinfo.h (get_intel_cpu): Remove case 0xb5 + for meteorlake. + +2023-01-03 Sandra Loosemore + + * cgraph.h (struct cgraph_node): Add gc_candidate bit, modify + default constructor to initialize it. + * cgraphunit.cc (expand_all_functions): Save gc_candidate functions + for last and iterate to handle recursive calls. Delete leftover + candidates at the end. + * omp-simd-clone.cc (simd_clone_create): Set gc_candidate bit + on local clones. + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Clear + gc_candidate bit when a clone is used. + +2023-01-03 Florian Weimer + + Revert: + 2023-01-02 Florian Weimer + + * dwarf2cfi.cc (init_return_column_size): Remove. + (init_one_dwarf_reg_size): Adjust. + (generate_dwarf_reg_sizes): New function. Extracted + from expand_builtin_init_dwarf_reg_sizes. + (expand_builtin_init_dwarf_reg_sizes): Call + generate_dwarf_reg_sizes. + * target.def (init_dwarf_reg_sizes_extra): Adjust + hook signature. + * config/msp430/msp430.cc + (msp430_init_dwarf_reg_sizes_extra): Adjust. + * config/rs6000/rs6000.cc + (rs6000_init_dwarf_reg_sizes_extra): Likewise. + * doc/tm.texi: Update. + +2023-01-03 Florian Weimer + + Revert: + 2023-01-02 Florian Weimer + + * debug.h (dwarf_reg_sizes_constant): Declare. + * dwarf2cfi.cc (dwarf_reg_sizes_constant): New function. + +2023-01-03 Siddhesh Poyarekar + + PR tree-optimization/105043 + * doc/extend.texi (Object Size Checking): Split out into two + subsections and mention _FORTIFY_SOURCE. + +2023-01-03 Roger Sayle + + * config/i386/i386-expand.cc (ix86_expand_int_movcc): Rewrite + RTL expansion to allow condition (mask) to be shared/reused, + by avoiding overwriting pseudos and adding REG_EQUAL notes. + +2023-01-03 Roger Sayle + + PR target/108229 + * config/i386/i386-features.cc + (general_scalar_chain::compute_convert_gain) : Consider + the gain/cost of converting a MEM operand. + +2023-01-03 Jakub Jelinek + + PR middle-end/108264 + * expr.cc (store_expr): For stores into SUBREG_PROMOTED_* targets + from source which doesn't have scalar integral mode first convert + it to outer_mode. + +2023-01-03 Jakub Jelinek + + PR rtl-optimization/108263 + * cfgrtl.cc (fixup_reorder_chain): Avoid trying to redirect + asm goto to EXIT. + +2023-01-02 Alexander Monakov + + PR target/87832 + * config/i386/lujiazui.md (lujiazui_div): New automaton. + (lua_div): New unit. + (lua_idiv_qi): Correct unit in the reservation. + (lua_idiv_qi_load): Ditto. + (lua_idiv_hi): Ditto. + (lua_idiv_hi_load): Ditto. + (lua_idiv_si): Ditto. + (lua_idiv_si_load): Ditto. + (lua_idiv_di): Ditto. + (lua_idiv_di_load): Ditto. + (lua_fdiv_SF): Ditto. + (lua_fdiv_SF_load): Ditto. + (lua_fdiv_DF): Ditto. + (lua_fdiv_DF_load): Ditto. + (lua_fdiv_XF): Ditto. + (lua_fdiv_XF_load): Ditto. + (lua_ssediv_SF): Ditto. + (lua_ssediv_load_SF): Ditto. + (lua_ssediv_V4SF): Ditto. + (lua_ssediv_load_V4SF): Ditto. + (lua_ssediv_V8SF): Ditto. + (lua_ssediv_load_V8SF): Ditto. + (lua_ssediv_SD): Ditto. + (lua_ssediv_load_SD): Ditto. + (lua_ssediv_V2DF): Ditto. + (lua_ssediv_load_V2DF): Ditto. + (lua_ssediv_V4DF): Ditto. + (lua_ssediv_load_V4DF): Ditto. + +2023-01-02 Florian Weimer + + * debug.h (dwarf_reg_sizes_constant): Declare. + * dwarf2cfi.cc (dwarf_reg_sizes_constant): New function. + +2023-01-02 Florian Weimer + + * dwarf2cfi.cc (init_return_column_size): Remove. + (init_one_dwarf_reg_size): Adjust. + (generate_dwarf_reg_sizes): New function. Extracted + from expand_builtin_init_dwarf_reg_sizes. + (expand_builtin_init_dwarf_reg_sizes): Call + generate_dwarf_reg_sizes. + * target.def (init_dwarf_reg_sizes_extra): Adjust + hook signature. + * config/msp430/msp430.cc + (msp430_init_dwarf_reg_sizes_extra): Adjust. + * config/rs6000/rs6000.cc + (rs6000_init_dwarf_reg_sizes_extra): Likewise. + * doc/tm.texi: Update. + +2023-01-02 Jakub Jelinek + + * gcc.cc (process_command): Update copyright notice dates. + * gcov-dump.cc (print_version): Ditto. + * gcov.cc (print_version): Ditto. + * gcov-tool.cc (print_version): Ditto. + * gengtype.cc (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. + +2023-01-01 Roger Sayle + Uroš Bizjak + + * config/i386/i386.md (extendditi2): New define_insn. + (define_split): Use DWIH mode iterator to treat new extendditi2 + identically to existing extendsidi2_1. + (define_peephole2): Likewise. + (define_peephole2): Likewise. + (define_Split): Likewise. + + +Copyright (C) 2023 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 b/gcc/ada/ChangeLog index d1a3b8048e4d..dc0c0dfb3863 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,6977 +1,5 @@ -2023-12-19 Marc Poulhiès - - * gcc-interface/Make-lang.in (ada.html, ada.install-html): Add. - -2023-12-19 Eric Botcazou - - * sem_ch3.adb (Analyze_Subtype_Declaration): Remove a short-circuit - for subtypes without aspects when it comes to predicates. - * sem_util.adb (Inherit_Predicate_Flags): Deal with private subtypes - whose full view is an Itype. - -2023-12-19 Viljar Indus - - * sem_ch13.adb (Valid_Default_Iterator): Check all interfaces for - valid iterator type. Also improve error reporting. - -2023-12-19 Gary Dismukes - - * sem_aggr.adb (Resolve_Container_Aggregate): In the Add_Named - case, issue an error if the container aggregate is written as a - positional aggregate, since such an aggregate must have named - associations. - -2023-12-19 Sheri Bernstein - - * libgnat/a-comlin.adb (Argument_Count): Rewrite code so there is - only one return, to remove Improper_Returns violation. - (Command_Name): Add pragma to exempt Improper_Returns violation. - -2023-12-19 Eric Botcazou - - * exp_ch6.adb (Expand_Ctrl_Function_Call): Rework last comment. - -2023-12-19 Gary Dismukes - - * sem_aggr.adb (Resolve_Iterated_Association): Call - Preanalyze_And_Resolve instead of Analyze_And_Resolve on a key - expression of an iterated association. - -2023-12-19 Piotr Trojanek - - * exp_ch9.adb, sem_ch10.adb, sem_util.adb: Fix comments. - -2023-12-19 Piotr Trojanek - - * sinput.adb, sinput.ads (Get_Logical_Line_Number_Img): Remove. - -2023-12-19 Patrick Bernardi - - * bindgen.adb (Command_Line_Used): New object. - (Gen_Main): Only generate references to symbols used by - Ada.Command_Line if the package is used by the partition. - (Gen_Output_File_Ada): Ditto. - (Resolve_Binder_Options): Check if Ada.Command_Line is in the - closure of the partition. - -2023-12-19 Vasiliy Fofanov - - * libgnat/i-cstrin.adb (Value): Optimize. - -2023-12-19 Piotr Trojanek - - * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Update comment - and body. - -2023-12-19 Eric Botcazou - - * einfo.ads (Is_Constr_Subt_For_UN_Aliased): Rename into... - (Is_Constr_Array_Subt_With_Bounds): ...this. - * exp_ch3.adb (Expand_N_Object_Declaration): Adjust to above - renaming and remove now redundant test. - * sem_ch3.adb (Analyze_Object_Declaration): Likewise, but set - Is_Constr_Array_Subt_With_Bounds only on arrays. - * gen_il-fields.ads (Opt_Field_Enum): Apply same renaming. - * gen_il-gen-gen_entities.adb (Entity_Kind): Likewise. - * gen_il-internals.adb (Image): Remove specific processing for - Is_Constr_Subt_For_UN_Aliased. - * treepr.adb (Image): Likewise. - * gcc-interface/decl.cc (gnat_to_gnu_entity): Adjust to renaming - and remove now redundant tests. - * gcc-interface/trans.cc (Identifier_to_gnu): Likewise. - (Call_to_gnu): Likewise. - -2023-12-19 Johannes Kliemann - - * libgnat/s-rident.ads: Remove No_Dynamic_Priorities from - Restricted_Tasking. - -2023-12-19 Patrick Bernardi - - * argv.c: Do not include adaint.h if LIGHT_RUNTIME is defined. - * bindgen.adb (Gen_Main): Simplify command line argument and exit - handling by requiring the runtime to always provide the required - symbols if command line argument and exit code is enabled. - * targparm.ads: Update comments to reflect changes to gnatbind. - -2023-12-19 Ronan Desplanques - Javier Miranda - - * exp_aggr.adb (Initialize_Component): Use corresponding record - types of concurrent types. - * exp_util.ads (Make_Tag_Assignment_From_Type): Add precondition - and extend documentation. - -2023-12-19 Eric Botcazou - - * einfo.ads (Is_Ignored_Transient): Rename into... - (Is_Ignored_For_Finalization): ...this. - * gen_il-fields.ads (Opt_Field_Enum): Adjust to above renaming. - * gen_il-gen-gen_entities.adb (Object_Kind): Likewise. - * exp_aggr.adb (Expand_Array_Aggregate): Likewise. - * exp_ch7.adb (Build_Finalizer.Process_Declarations): Likewise. - * exp_util.adb (Requires_Cleanup_Actions): Likewise. - * exp_ch4.adb (Expand_N_If_Expression): Move down declaration of - variable Optimize_Return_Stmt. - (Process_Transient_In_Expression): Turn procedure into a child of... - (Process_Transients_In_Expression): ...this procedure. - * exp_ch6.adb (Expand_Ctrl_Function_Call): Remove obsolete setting - of Is_Ignored_Transient flag on the temporary if within a dependent - expression of a conditional expression. - -2023-12-19 Yannick Moy - - * exp_spark.adb (Expand_SPARK_N_Aggregate): New procedure for the - special expansion. - (Expand_SPARK): Call the new expansion procedure. - * sem_util.adb (Is_Container_Aggregate): Implement missing test. - -2023-12-19 Eric Botcazou - - * sem_ch12.adb (Copy_Generic_Node): Add guard for Ancestor_Type. - -2023-12-19 Eric Botcazou - - * gen_il-fields.ads (Aggregate_Bounds): Rename to - Aggregate_Bounds_Or_Ancestor_Type. - * gen_il-gen-gen_nodes.adb (Aggregate_Bounds): Likewise. - * sem_aggr.adb (Resolve_Record_Aggregate): Remove obsolete bypass. - * sem_ch12.adb (Check_Generic_Actuals): Add decoration. - (Copy_Generic_Node): For an extension aggregate, restore only the - full view, if any. For a full aggregate, restore the full view as - well as that of its Ancestor_Type, if any, and up to the root type. - (Save_References_In_Aggregate): For a full aggregate of a local - derived tagged type with a global ancestor, set Ancestor_Type to - this ancestor. For a full aggregate of a global derived tagged - type, set Ancestor_Type to the parent type. - * sinfo-utils.ads (Aggregate_Bounds): New function renaming. - (Ancestor_Type): Likewise. - (Set_Aggregate_Bounds): New procedure renaming. - (Set_Ancestor_Type): Likewise. - * sinfo.ads (Ancestor_Type): Document new field. - -2023-12-19 Eric Botcazou - - * exp_ch4.adb (Expand_N_If_Expression): Also add missing calls to - Process_Transients_In_Expression on the code path implementing the - special optimization for an unidimensional array type and - dependent expressions with static bounds. - -2023-12-19 Steve Baird - - * sem_ch8.adb (Is_Actual_Subp_Of_Inst): After calling - Enclosing_Declaration, add a check for the case where one more - Parent call is needed to get the enclosing declaration. - -2023-12-19 Ronan Desplanques - - * sem_util.adb (Build_Default_Subtype_OK): Relax - known-at-compile-time requirement. - * sem_util.ads (Build_Default_Subtype_OK): Bring documentation - comment up-to-date. - -2023-12-19 Yannick Moy - - * doc/gnat_rm/implementation_defined_pragmas.rst: Fix doc for - pragma Ignore_Pragma, in the case where it follows another - configuration pragma that it names, which causes the preceding - pragma to be ignored after parsing. - * errout.adb (Should_Ignore_Pragma_SPARK_Mode): New query. - (SPARK_Msg_N): Do nothing if SPARK_Mode is ignored. - (SPARK_Msg_NE): Same. - * gnat-style.texi: Regenerate. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2023-12-19 Yannick Moy - - * sem_ch4.adb (Analyze_Selected_Component): Check correct mode - variable for GNATprove. - * sem_prag.adb (Refined_State): Call SPARK_Msg_NE which checks - value of SPARK_Mode before issuing a message. - * sem_res.adb (Resolve_Entity_Name): Remove legality check for - SPARK RM 6.1.9(1), moved to GNATprove. - -2023-12-19 Steve Baird - - * sem_ch12.adb (Check_Generic_Child_Unit): Introduce a new nested - function Adjusted_Inst_Par_Ekind to cope with cases where either - a- the visibility of a compiler-generated renaming is incorrect; - or b- we are inside of a generic parent unit G1 that has a child - unit G1.G2, so instantiation of G1.G2 is permitted. - -2023-12-19 Eric Botcazou - - * exp_ch4.adb (Process_If_Case_Statements): Rename into... - (Process_Transients_In_Expression): ...this and beef up comment. - (Expand_N_Case_Expression): Call Process_Transients_In_Expression - unconditionally on the list of actions of each alternative. - (Expand_N_Expression_With_Actions): Do not deal with actions in - nested subexpressions, but call Process_Transients_In_Expression - on the list of actions only. - (Expand_N_If_Expression): Adjust to above renaming. Add missing - calls to Process_Transients_In_Expression in the case when an EWA - is not used because of Minimize_Expression_With_Actions. - -2023-12-16 Andrew Carlotti - - * gcc-interface/utils.cc (attr_target_exclusions): Make - target/target_clones exclusion target-dependent. - (attr_target_clones_exclusions): Ditto. - -2023-12-16 Andrew Carlotti - - * gcc-interface/utils.cc (attr_noinline_exclusions): New. - (attr_always_inline_exclusions): Ditto. - (attr_target_exclusions): Ditto. - (attr_target_clones_exclusions): Ditto. - (gnat_internal_attribute_table): Add new exclusion lists. - (handle_noinline_attribute): Remove custom exclusion handling. - (handle_target_attribute): Ditto. - (handle_target_clones_attribute): Ditto. - -2023-12-11 Rainer Orth - - * terminals.c [__FreeBSD__]: Include . - (TABDLY): Only define if missing. - -2023-12-06 Alexandre Oliva - - * gcc-interface/trans.cc: Include ipa-strub.h. - (gigi): Make internal decls for targets of compiler-generated - calls strub-callable too. - (build_raise_check): Likewise. - * gcc-interface/utils.cc: Include ipa-strub.h. - (handle_strub_attribute): New. - (gnat_internal_attribute_table): Add strub. - -2023-12-05 Richard Sandiford - - * gcc-interface/utils.cc (gnat_internal_attribute_table): Add extra - braces to work around PR 16333 in older compilers. - -2023-12-05 Rainer Orth - - * adaint.c: Include . - * expect.c: Include . - -2023-12-02 Richard Sandiford - - * gcc-interface/gigi.h (gnat_internal_attribute_table): Change - type to scoped_attribute_specs. - * gcc-interface/utils.cc (gnat_internal_attribute_table): Likewise, - using... - (gnat_internal_attributes): ...this as the underlying array. - * gcc-interface/misc.cc (gnat_attribute_table): New global. - (LANG_HOOKS_ATTRIBUTE_TABLE): Use it. - -2023-12-01 Rainer Orth - - * adaint.c [__APPLE__]: Include , . - * terminals.c [!_WIN32]: Include . - [__APPLE__]: Include . - Fix typos. - -2023-11-30 Eric Botcazou - - * checks.ads (Apply_Predicate_Check): Add Deref boolean parameter. - * checks.adb (Apply_Predicate_Check): Revert latest change. Use - Loc local variable to hold the source location. Use a common code - path for the generic processing and make a dereference if Deref is - True. - * exp_ch4.adb (Expand_Allocator_Expression): Compute Aggr_In_Place - earlier. If it is true, do not call Apply_Predicate_Check on the - expression on entry but on the temporary on exit with a - dereference. - * sem_res.adb (Resolve_Actuals): Add explicit parameter - association in call to Apply_Predicate_Check. - -2023-11-30 Steve Baird - - * exp_put_image.adb (Put_Image_Enabled): Return True in more - cases. In particular, when testing to see if a type occurs in a - predefined unit, test the type's code unit - (obtained by calling Get_Code_Unit). In the case of type within a - user-defined instance of a predefined generic, Is_Predefined_Unit - will return True for the type and False for the type's code unit. - -2023-11-30 Yannick Moy - - * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): - Remove checking on volatility. Remove handling of SPARK_Mode, not - needed anymore. - (Analyze_Entry_Or_Subprogram_Contract): Remove checking on - volatility. - (Check_Type_Or_Object_External_Properties): Same. - (Analyze_Object_Contract): Same. - * freeze.adb (Freeze_Record_Type): Same. Also remove checking on - synchronized types and ghost types. - * sem_ch12.adb (Instantiate_Object): Remove checking on - volatility. - (Instantiate_Type): Same. - * sem_ch3.adb (Access_Type_Declaration): Same. - (Derived_Type_Declaration): Remove checking related to untagged - partial view. - (Process_Discriminants): Remove checking on volatility. - * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Same. - * sem_ch6.adb (Analyze_Procedure_Call): Fix use of SPARK_Mode - where GNATprove_Mode was intended. - * sem_disp.adb (Inherited_Subprograms): Protect against Empty - node. - * sem_prag.adb (Analyze_Global_In_Decl_Part): Remove checking on - volatility. - (Analyze_Pragma): Same. - * sem_res.adb (Flag_Effectively_Volatile_Objects): Remove. - (Resolve_Actuals): Remove checking on volatility. - (Resolve_Entity_Name): Same. - * sem_util.adb (Check_Nonvolatile_Function_Profile): Remove. - (Check_Volatility_Compatibility): Remove. - * sem_util.ads: Same. - -2023-11-30 Sheri Bernstein - - * libgnat/i-cstrin.adb (Free): Rewrite code so there is only one - return, to remove Improper_Returns violation. - (Position_Of_Nul): Add pragma to exempt Improper_Returns - violation. - (To_Chars_Ptr): Likewise. - (Value): Likewise - -2023-11-30 Viljar Indus - - * sem_prag.adb (Validate_Compile_Time_Warning_Errors): Avoid - checking compile time warnings and errors if backend has not been - activated. - -2023-11-30 Yannick Moy - - * checks.adb, exp_aggr.adb, exp_ch4.ads, exp_ch5.adb, - exp_util.adb, exp_util.ads, inline.adb, sem_ch13.adb, - sem_ch6.adb, sem_ch8.adb, sem_prag.adb, sem_util.ads: Fix comments - and typos. - -2023-11-30 Javier Miranda - - * freeze.adb (Declared_In_Expanded_Body): New subprogram. - (In_Expanded_Body): Minor code cleanup. - (Freeze_Expression): Code cleanup plus factorize in a new function - the code that identifies entities declared in the body of expander - generated subprograms, since such case must be checked also for - other node kinds when climbing the tree to locate the place to - insert the freezing node. - -2023-11-30 Steve Baird - - * sem_ch8.adb (Find_Direct_Name): In the case of a resolving a - name that occurs within an instantiation, add code to detect and - filter out unwanted candidate resolutions. The filtering is - performed via a call to Remove_Interp. - -2023-11-30 Steve Baird - - * libgnarl/a-rttiev.ads: add a comment - -2023-11-30 Steve Baird - - * sem_ch12.adb (Validate_Discriminated_Formal_Type): Replace - Entity_Id equality test with a call to Subtypes_Match. Distinct - subtypes which are statically matching should pass this test. - (Check_Discriminated_Formal): Replace Entity_Id equality test with - a call to Subtypes_Statically_Match (preceded by a check that the - preconditions for the call are satisfied). - -2023-11-30 Eric Botcazou - - * exp_ch4.adb (Expand_Allocator_Expression): Add Special_Return - boolean constant to hold the value of For_Special_Return_Object - for the allocator and use it throughout the procedure. - -2023-11-30 Eric Botcazou - - * checks.adb (Apply_Predicate_Check): Also deal specifically with - an expression that is a qualified aggregate in an allocator. - -2023-11-30 Steve Baird - - * sem_ch4.adb (Constant_Indexing_OK): As a temporary stopgap, - return False in the case of an unanalyzed prefixed-view call. - -2023-11-28 Simon Wright - - PR ada/111909 - * adaint.c - (__gnat_get_file_names_case_sensitive): Split out the __APPLE__ - check and remove the checks for __arm__, __arm64__. For Apple, - file names are by default case-insensitive unless TARGET_OS_IOS is - set. - -2023-11-28 Eric Botcazou - - * gcc-interface/decl.cc (annotate_value): Apply the same processing - for parameters as for variables. - -2023-11-28 Marc Poulhiès - - * gcc-interface/utils2.cc (build_simple_component_ref): Add - comment on assertion. - -2023-11-28 Steve Baird - - * exp_attr.adb (Expand_N_Attribute_Reference): In the case of a - Reduce attribute reference, fix bugs in initializing Accum_Typ. - The previous version was incorrect in the case where E1 refers to - the first of multiple possible overload resolution candidates and - that candidate does not turn out to be the right one. The previous - version also had code to compute Accum_Typ via a different method - if the initial computation turned out to yield a universal numeric - type. Delete that initial computation and use the second method in - all cases. - -2023-11-28 Gary Dismukes - - * sem_aggr.adb (Add_Discriminant_Values): Remove this procedure. - (Propagate_Discriminants): Remove this procedure. - (Resolve_Record_Aggregate): Remove code (the Capture_Discriminants - block statement) related to propagating discriminants and - generating initializations for subcomponents of a - discriminant-dependent box-defaulted subcomponent of a nonprivate - record type with discriminants, and handle all top-level - components that have a non-null base init proc directly, by - calling Add_Association with "Is_Box_Present => True". Also, - combine that elsif clause with the immediately preceding elsif - clause, since they now both contain the same statement (calls to - Add_Association with the same actuals). - -2023-11-28 Bob Duff - - * sem_util.adb (Check_Result_And_Post_State): Disable this when - we're in an instance. Misc cleanup. - -2023-11-28 Eric Botcazou - - * exp_ch7.ads (Expand_Cleanup_Actions): Move declaration to the - Finalization Management section. - * exp_ch7.adb (Transient Scope Management): Move description down to - after that of the general finalization and make a few changes. - (Insert_Actions_In_Scope_Around): Call Process_Transients_In_Scope - only if cleanups are being handled. - (Process_Transients_In_Scope): Remove redundant test on Clean. - * exp_util.ads (Within_Case_Or_If_Expression): Adjust description. - * exp_util.adb (Within_Case_Or_If_Expression): Only return true if - within the dependent expressions of the conditional expressions. - -2023-11-28 Eric Botcazou - - * doc/gnat_rm/the_implementation_of_standard_i_o.rst: Fix a couple - occurrences of incorrect quoting. - * gnat_rm.texi: Regenerate. - -2023-11-28 Eric Botcazou - - * exp_ch6.adb (Build_Flag_For_Function): New function made up of the - code building the special flag for return object present... - (Expand_N_Extended_Return_Statement): ...in there. Replace the code - with a call to Build_Flag_For_Function. Add assertion for the flag. - (Expand_Non_Function_Return): For a nested return, if the return - object needs finalization actions, update the special flag. - -2023-11-28 Sebastian Poeplau - - * einfo-utils.ads, einfo-utils.adb (Is_Address_Compatible_Type): - New function. - -2023-11-28 Gary Dismukes - - * exp_aggr.adb (Expand_Container_Aggregate): Apply a conversion to the - size temp object passed as the second actual parameter on the call to - the New_Indexed_Subp function, to convert it to the index type of the - container type (taken from the first formal parameter of the function). - -2023-11-28 Eric Botcazou - - * sem_attr.adb (Eval_Attribute): Do not proceed in a spec expression - for nonstatic representation attributes of a scalar subtype when the - subtype is not frozen. - * sem_ch3.adb (Analyze_Object_Declaration): Do not freeze the type - of the object in a spec expression. - -2023-11-28 Richard Kenner - - * exp_unst.adb (Note_Uplevel_Bound): Treat - N_Unchecked_Type_Conversion like N_Type_Conversion. - -2023-11-28 Yannick Moy - - * libgnat/s-imgboo.adb: Remove with_clause now in spec file. - * libgnat/s-imgboo.ads: Remove dependency on System.Val_Bool. - (Image_Boolean): Replace call to Value_Boolean by passing value V - to updated ghost function Is_Boolean_Image_Ghost. - * libgnat/s-valboo.ads (Is_Boolean_Image_Ghost): Move to other - unit. - (Value_Boolean.): Update precondition. - * libgnat/s-valspe.ads (Is_Boolean_Image_Ghost): Move here. Add - new parameter for expected boolean value. - -2023-11-28 Tucker Taft - - * sem_scil.adb: Handle discriminant specification. - -2023-11-21 Eric Botcazou - - * gcc-interface/trans.cc (Loop_Statement_to_gnu): Always use the - simpler form for a loop with a boolean iteration variable. - -2023-11-21 Eric Botcazou - - * gcc-interface/decl.cc (gnat_to_gnu_entity) : Put - the alignment directly on the type in the constrained case too. - * gcc-interface/utils.cc (maybe_pad_type): For an array type, take - the alignment of the element type as the original alignment. - -2023-11-21 Gary Dismukes - - * sem_aggr.adb (Resolve_Container_Aggregate): In the case where Comp - is an N_Iterated_Component_Association, pick up Discrete_Choices rather - than Choices. - -2023-11-21 Eric Botcazou - - * exp_ch7.adb (Build_Finalizer): For package specs and bodies, push - and pop the specs onto the scope stack only once. - * inline.adb (Cleanup_Scopes): Call Pop_Scope instead of End_Scope. - -2023-11-21 Steve Baird - - * sem_aggr.adb (Resolve_Delta_Array_Aggregate): In the case of a - deep delta choice, the expected type for the expression will - typically not be the component type of the array type, so a call - to Analyze_And_Resolve that assumes otherwise would be an error. - It turns out that such a call, while wrong, is usually harmless - because the expression has already been marked as analyzed. This - doesn't work if the aggregate occurs in a postcondition and, in - any case, we don't want to rely on this. So do not perform the - call in the deep case. - -2023-11-21 Eric Botcazou - - * sem_warn.adb (Check_References.Type_OK_For_No_Value_Assigned): - New predicate. - (Check_References): For Warn_On_No_Value_Assigned, use the same test - on the type in the address-not-taken and default cases. - -2023-11-21 Gary Dismukes - - * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Retrieve the - iteration type's iteration interface progenitor via - Iterator_Interface_Ancestor, in the case of both "in" and "of" - iterators. Narrow the scope of Pack, so it's declared and - initialized only within the code related to "of" iterators, and - change its name to Cont_Type_Pack. Adjust comments. - * sem_ch5.adb (Get_Cursor_Type): In the case of a derived type, - retrieve the iteration type's iterator interface progenitor (if it - exists) via Iterator_Interface_Ancestor rather than assuming that - the parent type is the interface progenitor. - * sem_util.ads (Iterator_Interface_Ancestor): New function. - * sem_util.adb (Iterator_Interface_Ancestor): New function - returning a type's associated iterator interface type, if any, by - collecting and traversing the type's interfaces. - -2023-11-21 Eric Botcazou - - * sem_attr.adb (Resolve_Attribute) : Remove the - bypass for prefixes with task type. - -2023-11-21 Viljar Indus - - * par.adb: Restore Style_Checks after parsing each unit. - -2023-11-21 Yannick Moy - - * exp_spark.adb (Expand_SPARK_Delta_Or_Aggregate): Fix type. - -2023-11-21 Eric Botcazou - - * sem_ch12.adb (Analyze_Package_Instantiation): Test Expander_Active - to detect generic contexts for the generation of cleanup actions. - -2023-11-21 Justin Squirek - - * libgnat/g-catiio.adb (Value): Modify conditionals to use 'Last - instead of 'Length - -2023-11-21 Eric Botcazou - - * sem_util.adb (Null_Status): Deal with unchecked type conversions. - -2023-11-21 Eric Botcazou - - * exp_aggr.adb (Convert_To_Assignments): Do not treat initialization - procedures specially when it comes to creating a transient scope. - * exp_ch7.adb (Build_Finalizer.Process_Declarations): Likewise. - * exp_util.adb (Requires_Cleanup_Actions): Likewise. - -2023-11-21 Doug Rupp - - * s-oscons-tmplt.c: #define CLOCK_RT_Ada "CLOCK_MONOTONIC" for - __vxworks - -2023-11-21 Steve Baird - - * sem_aggr.adb: Replace "not Present (...)" call with "No (...)" call. - -2023-11-21 Eric Botcazou - - * gen_il-fields.ads (Opt_Field_Enum): Remove Is_Finalization_Wrapper - * gen_il-gen-gen_nodes.adb (N_Block_Statement): Likewise. - * sinfo.ads (Is_Finalization_Wrapper): Delete. - * exp_ch7.adb (Build_Finalizer.Process_Declarations): Adjust comment - and remove obsolete code testing the Is_Finalization_Wrapper flag. - * exp_util.adb (Requires_Cleanup_Actions): Likewise. - -2023-11-21 Doug Rupp - - * libgnat/libada.gpr: Revise section 1 - -2023-11-21 Steve Baird - - * par.adb: Add new Boolean variable Inside_Delta_Aggregate. - * par-ch4.adb (P_Simple_Expression): Add support for a deep delta - aggregate choice. We turn a sequence of selectors into a peculiar - tree. We build a component (Indexed or Selected) whose prefix is - another such component, etc. The leftmost prefix at the bottom of - the tree has a "name" which is the first selector, without any - further prefix. For something like "with delta (1)(2) => 3" where - the type of the aggregate is an array of arrays of integers, we'll - build an N_Indexed_Component whose prefix is an integer literal 1. - This is consistent with the trees built for "regular" - (Ada-defined) delta aggregates. - * sem_aggr.adb (Is_Deep_Choice, Is_Root_Prefix_Of_Deep_Choice): - New queries. - (Resolve_Deep_Delta_Assoc): new procedure. - (Resolve_Delta_Array_Aggregate): call Resolve_Deep_Delta_Assoc in - deep case. - (Resolve_Delta_Record_Aggregate): call Resolve_Deep_Delta_Assoc in - deep case. - (Get_Component_Type): new function replaces old Get_Component - function. - * sem_aggr.ads (Is_Deep_Choice, Is_Root_Prefix_Of_Deep_Choice): - New queries. - * exp_aggr.adb (Expand_Delta_Array_Aggregate): add nested function - Make_Array_Delta_Assignment_LHS; call it instead of - Make_Indexed_Component. - (Expand_Delta_Record_Aggregate): add nested function - Make_Record_Delta_Assignment_LHS; call it instead of - Make_Selected_Component. - * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Insert range - checks for indexes in deep delta aggregates. - -2023-11-21 Ronan Desplanques - - * adaint.c (__gnat_unlink): Add new parameter and fix text - conversion on Windows. Remove unnecessary curly braces. - * adaint.h (__gnat_unlink): Add new parameter. - * libgnat/i-cstrea.ads (unlink): Adapt to __gnat_unlink signature - change. - * libgnat/i-cstrea.adb (unlink): New Subprogram definition. - * libgnat/s-crtl.ads (unlink): Adapt to __gnat_unlink signature - change. - * libgnat/s-fileio.adb (Delete): Pass encoding argument to unlink. - -2023-11-21 Eric Botcazou - - * sem_ch12.adb (Save_Global_References.Set_Global_Type): Beef up - comment about the setting of the full view. - * sem_res.adb (Resolve_Actuals.Insert_Default): Add another bypass - for the case of a generic context. - -2023-11-21 Marc Poulhiès - - * doc/gnat_ugn/the_gnat_compilation_model.rst: Move index - directives. - * gnat_ugn.texi: Regenerate. - -2023-11-21 Pierre-Marie de Rodat - - * par_sco.adb (Process_Decisions): Skip aspect - specifications. - -2023-11-21 Ronan Desplanques - - * libgnat/libgnat_common.gpr: Unconditionally pass -gnatg. - -2023-11-21 Marc Poulhiès - - * exp_util.ads: Typo fix. - -2023-11-16 Eric Botcazou - - * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Also create a - TYPE_DECL for the return type built for the CI/CO mechanism. - -2023-11-10 Andris Pavēnis - - * expect.c (__gnat_waitpid): fix syntax errors - -2023-11-09 Simon Wright - - PR ada/111813 - * libgnat/a-calfor.adb (Value (2)): Allow values of - parameter Elapsed_Time greater than or equal to 24 hours, by doing - the hour calculations in Natural rather than Hour_Number (0 .. - 23). Calculate the result directly rather than by using Seconds_Of - (whose Hour parameter is of type Hour_Number). - If an exception occurs of type Constraint_Error, re-raise it - rather than raising a new CE. - -2023-11-07 Joseph Myers - - * gcc-interface/utils.cc (flag_isoc2x): Rename to flag_isoc23. - -2023-11-07 Eric Botcazou - - * gcc-interface/decl.cc (gnat_to_gnu_entity) : Apply the - specific rewriting done for an aliased object with an unconstrained - array nominal subtype in the renaming case too. - -2023-11-07 Eric Botcazou - - * gcc-interface/trans.cc (gnat_gimplify_expr) : Delete. - -2023-11-07 Bob Duff - - * sem_ch13.ads (Set_Enum_Esize): Do not set alignment. - * sem_ch13.adb (Set_Enum_Esize): Do not set alignment. Archaeology - seems to show that this line of code dates from when "Alignment = - 0" meant "the Alignment is not known at compile time" and "the - Alignment is not yet known at compile time" as well as "the - Alignment is zero". In any case, it seems to be unnecessary, and - in this case harmful, because gigi would crash. Alignment_Clause - is set (because there is one), so gigi would query the Alignment, - but Alignment was destroyed. - -2023-11-07 Julien Bortolussi - - * doc/share/conf.py: Changed the background color and the logo. - -2023-11-07 Eric Botcazou - - * gen_il-fields.ads (Opt_Field_Enum): Add Compare_Type. - * gen_il-gen-gen_nodes.adb (N_Op_Eq): Likewise. - (N_Op_Ge): Likewise. - (N_Op_Gt): Likewise. - (N_Op_Le): Likewise. - (N_Op_Lt): Likewise. - (N_Op_Ne): Likewise. - * sinfo.ads (Compare_Type): Document new field. - * sem_ch4.adb (Analyze_Comparison_Equality_Op): If the entity is - already present, set the Compare_Type on overloaded operands if it - is present on the node. - * sem_ch12.adb (Check_Private_View): Look into the Compare_Type - instead of the Etype for comparison operators. - (Copy_Generic_Node): Remove obsolete code for comparison - operators. - (Save_Global_References.Save_References): Do not walk into the - descendants of N_Implicit_Label_Declaration nodes. - (Save_Global_References.Set_Global_Type): Look into the - Compare_Type instead of the Etype for comparison operators. - * sem_res.adb (Resolve_Comparison_Op): Set Compare_Type. - (Resolve_Equality_Op): Likewise. - -2023-11-07 Ronan Desplanques - - * adaint.c (__gnat_file_time): Fix Windows version. - -2023-11-07 Eric Botcazou - - * exp_ch3.adb (Expand_N_Object_Declaration): Fold initialization - expression of Nominal_Subtype_Is_Constrained_Array constant into - the computation of Rewrite_As_Renaming and remove the constant. - Set it to True for an aliased array with unconstrained nominal - subtype if the subtype of the expression is also unconstrained. - -2023-11-07 Piotr Trojanek - - * exp_util.adb (Add_Own_DIC, Add_Own_Invariants): Store the aspect - expression in Expression_Copy. - -2023-11-07 Yannick Moy - - * exp_aggr.adb: Apply the renaming. - * exp_ch3.adb: Same. - * exp_ch4.adb: Same. - * exp_ch6.adb: Same. - * exp_ch7.adb: Same. - * exp_util.adb: Same. - * freeze.adb: Same. - * sem_aggr.adb: Same. - * sem_attr.adb: Same. - * sem_aux.adb: Alphabetize Is_Limited_Type. Rename. - * sem_aux.ads: Same. - * sem_ch3.adb: Apply the renaming. - * sem_ch6.adb: Same. - * sem_ch8.adb: Same. - * sem_prag.adb: Same. - * sem_res.adb: Same. - * sem_util.adb: Same. - -2023-11-07 Viljar Indus - - * aspects.adb (Exchange_Aspects): Removed. This method was - typically called after a Rewrite method. Now since the Rewrite - switches the aspects between the new and the old node it is no - longer needed. - (Has_Aspects): Converted to a utility method that performs the same - before as the previous Has_Aspects field did. Meaning it shows whether - a node actually has aspects or not. - (Copy_Aspects): New utility method that performs a deep copy of the - From nodes aspects. - (Aspect_Specfications): Removed. No longer needed. Replaced - by the primitive operation for the Aspect_Specification fields. - (Set_Aspect_Specifications): Likewise. - (Aspect_Specifications_Hash_Table): Remove the table and all the - utility methods for storing the old aspects. - * aspects.ads: Likewise. - * atree.adb (Copy_Separate_Tree): Remove custom code for aspects. - (New_Copy): Likewise. - (Replace): Likewise. - (Rewrite): Likewise. - * exp_ch3.adb (Expand_N_Object_Declaration): Keep the aspects from the old node. - * exp_ch6.adb (Validate_Subprogram_Calls): Previously aspects were ignored - because they were not on the tree. Explicitly ignore them here - when traversing the tree. - * exp_unst.adb (Build_Tables): Likewise - * gen_il-fields.ads: Remove Has_Aspects and add - Aspect_Specifications fields. - * gen_il-gen-gen_nodes.adb: Add Aspect_Specification fields - for all nodes that can have aspects. Additionally add - Expression_Copy for Aspect_Speficiations to avoid reusing - the Associated_Node for generic instantiation and aspect - analysis. - * ghost.adb (Remove_Ignored_Ghost_Node): Remove call to Remove_Aspects. - The rewritten node is a Null_Statement that cannot have aspects - and there is not anything to gain from removing them from the - Orignal_Node of N since it technically is not part of the active - tree. - * inline.adb (Process_Formals_In_Aspects): Simplify code for node traversal. - * par-ch13.adb: Avoid setting the parent explicitly for the - Aspect_Specifications list. This is done explicitly in the setter. - * par-ch6.adb: Likewise. - * par_sco.adb (Traverse_Aspects): Handle early return. - * sem_ch10.adb: Simplify code for Analyze_Aspect_Specifications. - * sem_ch11.adb: Likewise. - * sem_ch12.adb (Analyze_Formal_Derived_Interface_Type): Keep the aspects from - the orignal node after rewrite. - (Analyze_Formal_Derived_Type): Likewise. - (Analyze_Formal_Interface_Type): Likewise. - (Analyze_Formal_Object_Declaration): Simplify code for - Analyze_Aspect_Specifications. - (Analyze_Formal_Package_Declaration): Likewise. - (Analyze_Formal_Subprogram_Declaration): Likewise. - (Analyze_Formal_Type_Declaration): Likewise. - (Analyze_Generic_Package_Declaration): Remove Exchange_Aspects. - The new node already has the correct aspects after the rewrite. - Also simplify code for Analyze_Aspect_Specifications. - (Analyze_Generic_Subprogram_Declaration): Likewise. - (Analyze_Package_Instantiation): Simplify code for - Analyze_Aspect_Specifications. - (Build_Instance_Compilation_Unit_Nodes): Remove explicit copy of - aspects that is no longer needed. - (Save_References): Update the traversal code to handle - Aspect_Specifications in the tree. - (Copy_Generic_Node): Remove explicit copy for aspects. New_Copy - took care of that already. - * sem_ch13.adb (Analyze_Aspect_Specifications): Add early return to simplify - code for its calls. Avoid reusing the Entity(Associated_Node) - field for storing the original expression. Instead use the - new Expression_Copy field since Entity(Associated_Node) is - also used in generic instantiation. - (Analyze_Aspects_On_Subprogram_Body_Or_Stub): Simlify call - to Analyze_Aspect_Specifications. - (Check_Aspect_At_End_Of_Declarations): Use Expression_Copy - instead of Entity. - (Check_Aspect_At_Freeze_Point): Likewise. - * sem_ch3.adb: Simplify calls to Analyze_Aspect_Specifications. - * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Simplify call to - Analyze_Aspect_Specifications. - (Analyze_Expression_Function): Keep the aspects from the - original node after a rewrite. - (Analyze_Generic_Subprogram_Body): Remove Exchange aspects - that is no longer needed. Simplify call to - Analyze_Aspect_Specifications. - (Analyze_Null_Procedure): Keep the aspects from the - original node after a rewrite. - (Analyze_Subprogram_Body_Helper): Simplify calls to - Analyze_Aspect_Specifications. - (Analyze_Subprogram_Declaration): Likewise. - * sem_ch7.adb (Analyze_Package_Body_Helper): Remove Exchange aspects - that is no longer needed. Simplify call to - Analyze_Aspect_Specifications. - (Analyze_Package_Declaration): Simplify call to - Analyze_Aspect_Specifications. - (Analyze_Private_Type_Declaration): Likewise. - * sem_ch8.adb: Simplify calls to - Analyze_Aspect_Specifications. - * sem_ch9.adb (Analyze_Entry_Body): Simplify call to - Analyze_Aspects_On_Subprogram_Body_Or_Stub. - (Analyze_Entry_Declaration): Simplify call to - Analyze_Aspect_Specifications. - (Analyze_Protected_Body): Likewise. - (Analyze_Protected_Type_Declaration): Likewise. - (Analyze_Single_Protected_Declaration): Keep the aspects from - the original node after a rewrite. Simplify call to - Analyze_Aspect_Specifications. - (Analyze_Single_Task_Declaration): Likewise. - (Analyze_Task_Body): Simplify call to - Analyze_Aspect_Specifications. - (Analyze_Task_Type_Declaration): Simplify calls to - Analyze_Aspect_Specifications. - * sem_dim.adb: Remove explicitly setting the parents - for the Aspect_Specification list. - * sem_disp.adb: Remove the with that is no longer - required since Aspect_Specifications is a node operation now. - * sem_util.adb (Copy_Node_With_Replacement): Remove explicit code for aspects. - * treepr.adb (Print_Field): Remove the version that was used for printing - aspects. - (Print_Node): Remove aspect specific code. - -2023-11-07 Eric Botcazou - - * gen_il-gen-gen_nodes.adb (N_Op_Boolean): Fix description. - * sem_ch4.adb (Analyze_Comparison_Equality_Op): Tidy up. - * sem_ch12.adb (Copy_Generic_Node): Use N_Op_Compare subtype. - -2023-11-07 Piotr Trojanek - - * exp_ch6.adb, exp_disp.adb, sem_ch13.adb, sem_ch3.adb: Fix newly - detected violations. - -2023-11-07 Piotr Trojanek - - * sem_ch3.adb, sem_ch4.adb, sem_eval.adb: Fix newly detected - violations. - -2023-11-07 Ronan Desplanques - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix - -gnatwc documentation. - * gnat_ugn.texi: Regenerate. - -2023-11-07 Steve Baird - - * local_restrict.ads: A new package. Declares Local_Restriction - enumeration type and provides operations to check for local - restriction violations. - * local_restrict.adb: Corresponding package body. Replace "not - Present (X)" calls with "No (X)" calls. - * aspects.ads: Add a new enumeration elements, - Aspect_Local_Restrictions and Aspect_User_Aspect, to the Aspect_Id - enumeration type. Update Aspect_Id-indexed aggregates. Add nested - package User_Aspect_Support to manage two pieces of state. One is - a map from identifiers to User_Aspect_Definition pragmas (updated - when such a pragma is encountered). The other is an - access-to-subprogram variable that is introduced in order to keep - the bulk of semantics out of the closure of package Aspects while - allowing a call from aspects.adb to the sem_ch13 procedure that - analyzes a User_Aspect aspect specification. - * aspects.adb (Find_Aspect): Cope with a case of a block statement - with an empty parent. It is not clear whether this is papering - over a compiler bug. Add indirect call through the aforementioned - access-to-subprogram variable when Find_Aspect enounters an - unanalyzed User_Aspect aspect specification. If Find_Aspect is - called looking for aspect Foo, then a User_Aspect specification - might generate (during analysis) a Foo aspect specification. So - the Find_Aspect call needs to trigger that analysis if it has not - already taken place. Provide a body for package - User_Aspect_Support. Replace "not Present (X)" call with "No (X)" - call. - * freeze.adb (Freeze_Subprogram): Check local restriction - compatibility when a dispatching operation is overridden. - * par-prag.adb: Add support for parsing a User_Aspect_Definition - pragma. - * restrict.ads: We'd like to have the body of package Restrict - include a call to a procedure declared in package Local_Restrict. - Doing that in the obvious way pulls most of semantics into the - closure of package Restrict, and that turns out to cause problems. - So we introduce a level of indirection and instead call through an - access-to-subprogram value. In this unit, we declare the - access-to-subprogram type and object. - * restrict.adb (Check Restriction): When a construct is - encountered that could violate a global restriction (depending on - whether the given restriction is in effect), Check_Restriction is - called. At this point, we also check for a violation of any - corresponding local restriction that is in effect. For reasons - described above, this check is performed via an indirect call. - * sem_ch13.ads (Parse_Aspect_Local_Restrictions): A new function, - similar to the existing Parse_Aspect_Xxx subprograms. - * sem_ch13.adb: Perform semantic analysis of Local_Restrictions - and User_Aspect aspect specifications. Declare and call new - Validate_Aspect_Local_Restrictions and - Analyze_User_Aspect_Aspect_Specification procedures (a reference - to the latter is registered during package elaboration). In - Analyze_Aspect_Specifications, do not set the Analyzed flag of a - User_Aspect aspect specification. Replace "not Present (X)" call - with "No (X)" call. Replace 'Image with 'Img in a case where the - prefix of the attribute reference is an object; this is done to - accomodate older compilers. - * sem_ch6.adb (Check_Subtype_Conformant): Include in subtype - conformance check a check for overriding-related compatibility of - local restrictions. - * sem_ch8.adb (Analyze_Subprogram_Renaming): In the case of an - instance of a generic that takes a formal subprogram, check that - formal and actual are compatible with respect to local - restrictions. - * sem_prag.adb: Add support for User_Aspect_Definition pragma. - * sem_res.adb (Resolve_Call): Check caller/callee compatibility - with respect to local restrictions. - * snames.ads-tmpl: Add Name_Local_Restrictions, Name_User_Aspect, - and Name_User_Aspect_Definition constants. - * doc/gnat_rm/implementation_defined_aspects.rst: Document new - aspects. - * doc/gnat_rm/implementation_defined_pragmas.rst: Document new - pragma. - * doc/gnat_ugn/the_gnat_compilation_model.rst: Add - User_Aspect_Definition to list of GNAT pragmas. - * gcc-interface/Make-lang.in: Add local_restrict.o. - * gnat-style.texi: Regenerate. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2023-11-07 Bob Duff - - * sem_ch4.adb (Is_Private_Overriding): Return True in the case - where a primitive operation is publicly inherited but privately - overridden. - -2023-11-07 Piotr Trojanek - - * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Remove code from the - ELSE branch, because it was is identical to code before the IF - statements itself. - -2023-11-07 Piotr Trojanek - - * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Change Ctyp and Csiz - from variables to constants and compute them using the nominal type - of the assigned array object. - -2023-11-07 Piotr Trojanek - - * exp_pakd.adb, libgnarl/s-osinte__android.ads, - libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__qnx.ads, - libgnarl/s-osinte__rtems.ads, libgnat/s-gearop.adb, - libgnat/s-poosiz.adb, sem_util.adb: Fix style. - -2023-11-07 Piotr Trojanek - - * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Simplify handling of - assignments with string literals. - -2023-11-07 Piotr Trojanek - - * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Remove Rhs_Val_Known; - represent unknown value by assigning Rhs_Val with No_Uint. - -2023-11-07 Piotr Trojanek - - * exp_pakd.adb - (Expand_Bit_Packed_Element_Set): Change local Decl object from - variable to constant. - (Setup_Inline_Packed_Array_Reference): Likewise for Csiz. - -2023-11-07 Piotr Trojanek - - * exp_pakd.adb (Setup_Inline_Packed_Array_Reference): Remove extra - whitespace from the list of parameters. - -2023-11-07 Piotr Trojanek - - * sem_util.adb (Get_Actual_Subtype_If_Available): Only call Etype - when necessary. - -2023-11-07 Piotr Trojanek - - * sem_util.adb - (Get_Actual_Subtype,Get_Actual_Subtype_If_Available): Fix handling - of expanded names. - -2023-11-07 Viljar Indus - - * sem_prag.adb: (Analyze_Pragma): Reduce the number of nested if - statements. - -2023-11-07 Viljar Indus - - * sem_ch10.adb: (Analyze_Compilation_Unit): Restore the orignal - state of style check pragmas at the end of the analysis. - -2023-11-07 Eric Botcazou - - * exp_pakd.adb (Get_Base_And_Bit_Offset): Use the full component - reference instead of just the selector name for 'Bit_Position. - -2023-11-04 David Malcolm - - * gcc-interface/misc.cc: Update for changes to diagnostic_context. - -2023-10-22 Iain Sandoe - - * gcc-interface/Makefile.in: Handle Darwin rpaths. - -2023-10-20 Alexandre Oliva - - * gcc-interface/trans.cc (gigi): Mark __gnat_reraise_zcx with - ECF_XTHROW. - (build_raise_check): Likewise for all rcheck subprograms. - -2023-10-19 Yannick Moy - - * aspects.ads: Add aspect Side_Effects. - * contracts.adb (Add_Pre_Post_Condition) - (Inherit_Subprogram_Contract): Add support for new contract. - * contracts.ads: Update comments. - * einfo-utils.adb (Get_Pragma): Add support. - * einfo-utils.ads (Prag): Update comment. - * errout.ads: Add explain codes. - * par-prag.adb (Prag): Add support. - * sem_ch13.adb (Analyze_Aspect_Specifications) - (Check_Aspect_At_Freeze_Point): Add support. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper) - (Analyze_Subprogram_Declaration): Call new analysis procedure to - check SPARK legality rules. - (Analyze_SPARK_Subprogram_Specification): New procedure to check - SPARK legality rules. Use an explain code for the error. - (Analyze_Subprogram_Specification): Move checks to new subprogram. - This code was effectively dead, as the kind for parameters was set - to E_Void at this point to detect early references. - * sem_ch6.ads (Analyze_Subprogram_Specification): Add new - procedure. - * sem_prag.adb (Analyze_Depends_In_Decl_Part) - (Analyze_Global_In_Decl_Part): Adapt legality check to apply only - to functions without side-effects. - (Analyze_If_Present): Extract functionality in new procedure - Analyze_If_Present_Internal. - (Analyze_If_Present_Internal): New procedure to analyze given - pragma kind. - (Analyze_Pragmas_If_Present): New procedure to analyze given - pragma kind associated with a declaration. - (Analyze_Pragma): Adapt support for Always_Terminates and - Exceptional_Cases. Add support for Side_Effects. Make sure to call - Analyze_If_Present to ensure pragma Side_Effects is analyzed prior - to analyzing pragmas Global and Depends. Use explain codes for the - errors. - * sem_prag.ads (Analyze_Pragmas_If_Present): Add new procedure. - * sem_util.adb (Is_Function_With_Side_Effects): New query function - to determine if a function is a function with side-effects. - * sem_util.ads (Is_Function_With_Side_Effects): Same. - * snames.ads-tmpl: Declare new names for pragma and aspect. - * doc/gnat_rm/implementation_defined_aspects.rst: Document new aspect. - * doc/gnat_rm/implementation_defined_pragmas.rst: Document new pragma. - * gnat_rm.texi: Regenerate. - -2023-10-19 Sheri Bernstein - - * libgnat/s-imagef.adb (Set_Image_Fixed): Refactor loop. - -2023-10-19 Sheri Bernstein - - * libgnat/s-imguti.adb (Set_Decimal_Digits): Add pragma to exempt - Unassigned_OUT_Parameters. - (Set_Floating_Invalid_Value): Likewise - -2023-10-19 Patrick Bernardi - - * bindusg.adb (Display): Make it clear -Q adds to the number of - secondary stacks generated by the binder. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Document the -Q gnatbind switch and fix references to old - runtimes. - * gnat-style.texi: Regenerate. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2023-10-19 Ronan Desplanques - - * sem_ch3.adb (Constrain_Array): Replace manual list length - computation by call to List_Length. - -2023-10-19 Piotr Trojanek - - * exp_aggr.adb (Expand_Container_Aggregate): Simplify with "No". - -2023-10-10 Eric Botcazou - - * gcc-interface/decl.cc (inline_status_for_subprog): Minor tweak. - (gnat_to_gnu_field): Try harder to get a packable form of the type - for a bitfield. - -2023-10-10 Ronan Desplanques - - * libgnat/a-direct.adb (Start_Search_Internal): Tweak subprogram - body. - -2023-10-10 Eric Botcazou - - * sem_util.ads (Set_Scope_Is_Transient): Delete. - * sem_util.adb (Set_Scope_Is_Transient): Likewise. - * exp_ch7.adb (Create_Transient_Scope): Set Is_Transient directly. - -2023-10-10 Eric Botcazou - - * exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): Return true - if the aggregate is a dependent expression of a conditional - expression being returned from a build-in-place function. - -2023-10-10 Eric Botcazou - - PR ada/111434 - * sem_ch10.adb (Replace): New procedure to replace an entity with - another on the homonym chain. - (Install_Limited_With_Clause): Rename Non_Lim_View to Typ for the - sake of consistency. Call Replace to do the replacements and split - the code into the regular and the special cases. Add debuggging - output controlled by -gnatdi. - (Install_With_Clause): Print the Parent_With and Implicit_With flags - in the debugging output controlled by -gnatdi. - (Remove_Limited_With_Unit.Restore_Chain_For_Shadow (Shadow)): Rewrite - using a direct replacement of E4 by E2. Call Replace to do the - replacements. Add debuggging output controlled by -gnatdi. - -2023-10-10 Ronan Desplanques - - * libgnat/a-direct.adb: Fix filesystem entry filtering. - -2023-10-10 Ronan Desplanques - - * atree.ads, nlists.ads, types.ads: Remove references to extended - nodes. Fix typo. - * sinfo.ads: Likewise and fix position of - Comes_From_Check_Or_Contract description. - -2023-10-10 Javier Miranda - - * sem_attr.adb (Analyze_Attribute): Protect the frontend against - replacing 'Size by its static value if 'Size is not known at - compile time and we are processing pragmas Compile_Time_Warning or - Compile_Time_Errors. - -2023-10-03 David Malcolm - - * gcc-interface/misc.cc: Use text_info ctor. - -2023-10-02 David Malcolm - - * gcc-interface/misc.cc (gnat_post_options): Update for renaming - of diagnostic_context's show_caret to m_source_printing.enabled. - -2023-09-26 Eric Botcazou - - * exp_ch7.adb (Build_Finalizer.Process_Declarations): Remove call - to Is_Simple_Protected_Type as redundant. - (Build_Finalizer.Process_Object_Declaration): Do not retrieve the - corresponding record type for simple protected objects. Make the - flow of control more explicit in their specific processing. - * exp_util.adb (Requires_Cleanup_Actions): Return false for simple - protected objects present in library-level package bodies for the - sake of consistency with Build_Finalizer and remove call to - Is_Simple_Protected_Type as redundant. - -2023-09-26 Eric Botcazou - - PR ada/110488 - * sem_ch3.adb (Analyze_Object_Declaration): Do not build a default - subtype for a deferred constant in the definite case too. - -2023-09-26 Marc Poulhiès - - * exp_ch7.adb (Contains_Subprogram): Recursively search for subp - in loop's statements. - (Unnest_Loop): New. - (Unnest_Loop): Rename local variable for more clarity. - * exp_unst.ads: Refresh comment. - -2023-09-26 Javier Miranda - - * exp_ch6.adb (Expand_Call_Helper): When computing the - accessibility level of an actual parameter based on the - expresssion of a constant declaration, add missing support for - deferred constants - -2023-09-26 Eric Botcazou - - * einfo.ads (Status_Flag_Or_Transient_Decl): Remove ??? comment. - * exp_ch6.adb (Expand_N_Extended_Return_Statement): Extend the - handling of finalizable return objects to the non-BIP case. - * exp_ch7.adb (Build_Finalizer.Process_Declarations): Adjust the - comment accordingly. - * exp_util.adb (Requires_Cleanup_Actions): Likewise. - -2023-09-26 Daniel King - - * raise-gcc.c (get_ip_from_context): Adapt for CHERI purecap - (get_call_site_action_for): Adapt for CHERI purecap - -2023-09-26 Daniel King - - * libgnat/a-tags.adb (To_Tag): Use System.Storage_Elements for - integer to address conversion. - * libgnat/s-putima.adb (Put_Image_Pointer): Likewise. - -2023-09-26 Daniel King - - * libgnat/s-stratt__cheri.adb: New file - -2023-09-26 Daniel King - - * libgnat/i-cheri.ads (Capability_Bound_Error) - (Capability_Permission_Error, Capability_Sealed_Error) - (Capability_Tag_Error): New, define CHERI exception types. - -2023-09-26 Ronan Desplanques - - * exp_prag.adb: Make minor corrections in comments. - * rtsfind.ads: Remove unused element from RTU_Id definition. - -2023-09-26 Derek Schacht - - * doc/gnat_ugn/gnat_and_program_execution.rst: Add more details on - using Generic Elementary Functions with dimensional analysis. - * gnat_ugn.texi: Regenerate. - -2023-09-26 Yannick Moy - - * exp_ch5.adb (Expand_N_Case_Statement): Reference both sections - of the Ada RM that deal with case statements and case expressions - to justify the insertion of a runtime check. - -2023-09-19 Richard Wai - - * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Expanded comments - explaining why TSS Finalize_Address is not generated for - concurrent class-wide types. - * exp_ch7.adb (Make_Finalize_Address_Stmts): Handle cases where the - underlying non-constrained parent type is a concurrent type, and - adjust the designated type to be the corresponding record’s - class-wide type. - -2023-09-19 Richard Wai - - * sem_ch3.adb (Build_Derived_Record_Type): Treat presence of - keyword "synchronized" the same as "limited" when determining if a - private extension is limited. - -2023-09-19 Marc Poulhiès - - * gcc-interface/utils.cc (max_value): New. - * gcc-interface/gigi.h (max_value): New. - * gcc-interface/decl.cc (gnat_to_gnu_entity) : - When computing gnu_min/gnu_max, try to use max_value if there is - an initial expression. - -2023-09-19 Javier Miranda - - * contracts.adb - (Has_Public_Visibility_Of_Subprogram): Add missing support for - child subprograms. - -2023-09-15 Eric Botcazou - - * gcc-interface/utils.cc (finish_record_type): Round the size in - the padding case as well. - -2023-09-15 Piotr Trojanek - - * exp_aggr.adb (Build_Array_Aggr_Code): Don't build aggregate code - for null array aggregates. - * sem_aggr.adb (Resolve_Array_Aggregate): Don't examine formatting - of a null array aggregate. - -2023-09-15 Eric Botcazou - - * inline.adb (Expand_Inlined_Call): In the case of a function call - that returns an unconstrained type and initializes an object, set - the No_Initialization flag on the new declaration of the object. - -2023-09-15 Patrick Bernardi - - * exp_ch6.adb (Expand_N_Subprogram_Body): Do not perform - local-exception-to- goto optimization on barrier functions. - * exp_ch9.adb (Expand_Entry_Barrier): Simplify the if statement - around the simple barrier optimization and remove an old, no - longer relevant comment. - -2023-09-15 Patrick Bernardi - - * bindgen.adb (Gen_Adainit): Generate restrictions when standard - library is suppressed. - (Gen_Output_File_Ada): Ditto. - (Gen_Restrictions): Ditto. - -2023-09-15 Eric Botcazou - - * exp_util.adb (Component_May_Be_Bit_Aligned): Do not return false - for a small component of a record type with a variant part. - -2023-09-15 Eric Botcazou - - * exp_aggr.adb (Convert_To_Assignments): In the case of a - component association, call Is_Container_Aggregate on the parent's - parent. - (Expand_Array_Aggregate): Likewise. - -2023-09-15 Kévin Le Gouguec - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Remove - extended discussion regarding mold run-time dependencies; - packaging changes in GNAT Pro have made them obsolete. - -2023-09-15 Eric Botcazou - - * sem_res.adb (Resolve_Call): When the target is an entity, do not - freeze it if the current scope is the inner wrapper function built - for an expression function with a Post or Refined_Post aspect. - -2023-09-15 Bob Duff - Ronan Desplanques - - * atree.adb (Node_Kind_Table): Specify parameter explicitly in - GNAT.Table instantiations. Use fully qualified references instead - of relying on use clauses. - (Get_Field_Value): Remove special case for F_Scope_Depth_Value. - That is, enable the Field_Present check in that case. - (It was already enabled for all other fields.) Violations of this - check were already fixed. - (Print_Node_Statistics): Sort the output in decreasing order of - frequencies. - (Print_Field_Statistics): Likewise (sort). - * accessibility.adb (Accessibility_Level): Pass Allow_Alt_Model in - recursive calls. Apparently, an oversight. - (Innermost_Master_Scope_Depth): Need to special-case the 'Old - attribute and allocators. - * einfo-utils.ads (Scope_Depth): Use Scope_Kind_Id to get - predicate checks. - (Scope_Depth_Set): Likewise. - (Scope_Depth_Default_0): Likewise. - * einfo-utils.adb: As for spec. - * frontend.adb (Frontend): Remove unnecessary "return;". - * gen_il-types.ads (Scope_Kind): New union type. - * gen_il-gen-gen_entities.adb (Scope_Kind): New union type. - * sem.ads: Move "with Einfo.Entities;" from body to spec. - (Scope_Stack_Entry): Declare Entity to be of Scope_Kind_Id to get - predicate checks. We had previously been putting non-scopes on the - scope stack; this prevents such anomalies. - * sem.adb: Move "with Einfo.Entities;" from body to spec. - * sem_ch8.ads: Move "with Einfo.Entities;" from body to spec. Add - "with Types;". - (Push_Scope): Use Scope_Kind_Id to get predicate checks. - * sem_ch8.adb: Move "with Einfo.Entities;" from body to spec. Add - "with Types;". - (Push_Scope): Use Scope_Kind_Id to get predicate checks. - (Pop_Scope): Use Scope_Kind_Id on popped entity to get predicate - checks. This prevents anomalies where a scope pushed onto the - stack is later mutated to a nonscope before being popped. - * sem_util.ads (Find_Enclosing_Scope): Add postcondition to ensure - that the enclosing scope of a node N is not the same node N. - Clearly, N does not enclose itself. - * sem_util.adb (Find_Enclosing_Scope): There were several bugs - where Find_Enclosing_Scope(N) = N. For example, if N is an entity, - then we would typically go up to its declaration, and then back - down to the Defining_Entity of the declaration, which is N itself. - There were other cases where Find_Enclosing_Scope of an entity - disagreed with Scope. Clearly, Find_Enclosing_Scope and Scope - should agree (when both are defined). Such bugs caused latent bugs - in accessibility.adb related to 'Old, and fixing bugs here caused - such bugs to be revealed. These are fixed by calling Scope when N - is an entity. - -2023-09-15 Javier Miranda - - * accessibility.ads (Needs_Result_Accessibility_Extra_Formal): - Removed. - * accessibility.adb (Needs_Result_Accessibility_Level_Param): - Removed. - (Needs_Result_Accessibility_Extra_Formal): Removed. - (Needs_Result_Accessibility_Level): Revert previous patch. - * sem_ch6.adb (Parent_Subprogram): Handle function overriding an - enumeration literal. - (Create_Extra_Formals): Ensure that the parent subprogram has all - its extra formals. - -2023-09-14 Yannick Moy - - * exp_util.adb (Is_Statically_Disabled): New function to detect a - "statically disabled condition which evaluates to a given value", - as described in SPARK UG 7.3.2. - (Kill_Dead_Code): Call the new function Is_Statically_Disabled for - conditions of if statements. - * exp_util.ads (Is_Statically_Disabled): New function spec. - -2023-09-14 Javier Miranda - - * exp_util.adb (Process_Record_Component): Adjust assertion on the - availablity of the invariant procedure; required because the - invariant procedure is built by the expander, and hence it is not - available compiling generic units or when the sources have errors, - since expansion is then disabled. - -2023-09-14 Javier Miranda - - * sem_util.adb (Large_Max_Size_Mutable): Protect access to - attribute Is_Array_Type. - -2023-09-14 Javier Miranda - - * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Protect - access to Entity attribute and add missing code to check function - selector in a prefix form call. - -2023-09-14 Eric Botcazou - - * exp_ch6.adb (Expand_Ctrl_Function_Call): Also do nothing for the - expression of a delta aggregate. - -2023-09-14 Eric Botcazou - - * exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Make the name - matching more robust. - -2023-09-14 Javier Miranda - - * sem_ch6.adb (Parent_Subprogram): Complete assertion. - -2023-09-05 Eric Botcazou - - * gcc-interface/trans.cc (gnat_to_gnu): Really test Storage_Pool on - the simple return statement. - -2023-09-05 Tom Tromey - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Set bit-packed for - constrained and unconstrained array types. - * gcc-interface/misc.cc (gnat_get_array_descr_info): Examine - BIT_PACKED_ARRAY_TYPE_P. - -2023-09-05 Piotr Trojanek - - * sem_type.adb (Interface_Present_In_Ancestor): Remove guard against no - list of interfaces; fix style in comments (trailing dots). - -2023-09-05 Piotr Trojanek - - * sem_type.adb (Iface_Present_In_Ancestor): Only look at the list of - interfaces for types that allow it. The guard is a high-level equivalent - of the entity kinds listed in the preconditon of the Interfaces query. - -2023-09-05 Piotr Trojanek - - * sem_type.adb (Iface_Present_In_Ancestor): Remove guard for empty list - of interfaces; the following loop will work just fine without it. - -2023-09-05 Eric Botcazou - - * exp_ch9.adb (Build_Protected_Entry): Move the At_End procedure - from the entry body to the inner block statement. - -2023-09-05 Bob Duff - - * sem_ch4.adb (Find_Component_In_Instance): Check that - Declaration_Node (Par) is not Empty, as it is for itypes. - -2023-09-05 Ronan Desplanques - - * sem_ch7.adb (Analyze_Package_Declaration): Restrict calls to - `Sem_Warn.Check_References` and adjust comment accordingly. - -2023-09-05 Eric Botcazou - - * freeze.adb (Freeze_Enumeration_Type): Give an error on a type with - both representation clause and too large size. - -2023-09-05 Liaiss Merzougue - - * libgnat/s-imguti.adb: Remove comment. - -2023-09-05 Javier Miranda - - * accessibility.ads (Needs_Result_Accessibility_Extra_Formal): New - subprogram. - * accessibility.adb (Needs_Result_Accessibility_Level_Param): New - subprogram. - (Needs_Result_Accessibility_Extra_Formal): New subprogram, - temporarily keep the previous behavior of the frontend. - * sem_ch6.adb (Create_Extra_Formals): Replace occurrences of - function Needs_Result_Accessibility_Level_Param by calls to - function Needs_Result_Accessibility_Extra_Formal. - (Extra_Formals_OK): Ditto. - -2023-09-05 Alexandre Oliva - - * libgnat/system-vxworks-ppc-rtp-smp.ads: Add -msmp to - Linker_Options pragma. - -2023-09-05 Javier Miranda - - * exp_aggr.adb (Expand_Container_Aggregate): Report warning on - infinite recursion if an empty container aggregate appears in the - return statement of its Empty function. Fix typo in comment. - * sem_aggr.adb (Resolve_Aggregate): Resolve Ada 2022 empty - aggregate that initializes a record type that has defined its - container aggregate aspects. - (Resolve_Iterated_Association): Protect access to attribute Etype. - * sem_ch13.adb (Resolve_Aspect_Aggregate): Fix typo in comment. - -2023-09-05 Steve Baird - - * sem_attr.adb (Denote_Same_Function): Handle the case where - Has_Homonym (Pref_Id) returns True but Homonym (Pref_Id) returns - an empty result. - -2023-09-05 Steve Baird - - * sem_res.adb (Resolve_Unary_Op): In deciding whether to emit a - warning about a modular type's unary minus operator being applied - to an integer literal, ignore integer literals for which - Comes_From_Source is False. - -2023-09-05 Johannes Kliemann - - * libgnarl/s-taprop__qnx.adb: Implement Set_Task_Affinity. - -2023-09-05 Ghjuvan Lacambre - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix - index. - * gnat_ugn.texi: Regenerate. - -2023-09-05 Daniel King - - * libgnat/s-carsi8.adb: Use operations from - System.Storage_Elements for address arithmetic. - * libgnat/s-carun8.adb: Likewise - * libgnat/s-casi128.adb: Likewise - * libgnat/s-casi16.adb: Likewise - * libgnat/s-casi32.adb: Likewise - * libgnat/s-casi64.adb: Likewise - * libgnat/s-caun128.adb: Likewise - * libgnat/s-caun16.adb: Likewise - * libgnat/s-caun32.adb: Likewise - * libgnat/s-caun64.adb: Likewise - * libgnat/s-geveop.adb: Likewise - -2023-09-05 Eric Botcazou - - * sem_ch12.adb (Component_Type_For_Private_View): New function. - (Check_Generic_Actuals): For an actual type parameter, also check - its component type if it is an array type. - (Check_Private_View): Use Component_Type_For_Private_View in the - case of an array type. - (Instantiate_Type): Likewise. - (Save_Global_References.Set_Global_Type): Likewise. - -2023-09-05 Sheri Bernstein - - * libgnat/s-aridou.adb: Add pragma to exempt Metrics_LSLOC. - (Double_Divide): Add pragma to exempt - Metrics_Cyclomatic_Complexity. - (Scaled_Divide): Likewise. - * libgnat/s-vauspe.ads (Uns_Option): Add pragma to exempt - Discriminated_Records. - -2023-09-05 Ronan Desplanques - - * Makefile.rtl: Add missing units. - -2023-09-05 Sheri Bernstein - - * libgnarl/a-reatim.adb (Time_Of): Add pragma to exempt - Discriminated_Records. - * libgnat/s-imguti.adb (Round, Set_Decimal_Digits): Likewise. - * libgnat/s-multip.adb (Number_Of_CPUs): Likewise. - * libgnarl/s-tpopsp__posix-foreign.adb (Self): Refactor multiple - returns. - -2023-09-05 Javier Miranda - - * sem_ch3.adb (Add_Internal_Interface_Entities): Add missing - subtype-conformance check on primitives implementing interface - primitives. - (Error_Posted_In_Formals): New subprogram. - -2023-09-05 Ronan Desplanques - - * libgnarl/s-tassta.adb: Tweak comment. - -2023-09-05 Yang Yujie - - * Makefile.rtl: Add LoongArch support. - * libgnarl/s-linux__loongarch.ads: New file. - * libgnat/system-linux-loongarch.ads: New file. - -2023-08-07 Sheri Bernstein - - * libgnat/s-parame__qnx.adb: Refactor multiple returns. - -2023-08-07 Piotr Trojanek - - * libgnat/i-cstrin.ads (Value): Extend preconditions; adapt comment for - the package. - -2023-08-07 Yannick Moy - - * sem_res.adb (Resolve_Call): Always call Cannot_Inline so that - subprogram called is marked as not always inlined. - -2023-08-07 Javier Miranda - - * sem_res.adb (Resolve_Type_Conversion): Do not warn on conversion - to class-wide type on internally build helpers of class-wide - preconditions. - -2023-08-03 Sheri Bernstein - - * libgnat/s-aridou.adb: Add pragma to exempt Improper_Returns. - * libgnat/s-atopri.adb (Lock_Free_Try_Write): Likewise. - * libgnat/s-bitops.adb (Bit_Eq): Likewise. - * libgnat/s-carsi8.adb: Likewise. - * libgnat/s-carun8.adb: Likewise. - * libgnat/s-casi16.adb: Likewise. - * libgnat/s-casi32.adb: Likewise. - * libgnat/s-casi64.adb: Likewise. - * libgnat/s-caun16.adb: Likewise. - * libgnat/s-caun32.adb: Likewise. - * libgnat/s-caun64.adb: Likewise. - * libgnat/s-exponn.adb: Likewise. - * libgnat/s-expont.adb: Likewise. - * libgnat/s-valspe.adb: Likewise. - * libgnat/s-vauspe.adb: Likewise. - -2023-08-03 Vasiliy Fofanov - - * libgnat/s-imageb.adb (Set_Image_Based_Unsigned): Rewritten. - * libgnat/s-imagew.adb (Set_Image_Width_Unsigned): Likewise. - -2023-08-03 Eric Botcazou - - * exp_util.adb (Make_Invariant_Call): Convert the expression to - the type of the formal parameter if need be. - -2023-08-03 Eric Botcazou - - * libgnat/s-dwalin.adb ("-"): New subtraction operator. - (Enable_Cache): Use it to compute the offset. - (Symbolic_Address): Likewise. - -2023-08-01 Yannick Moy - - * repinfo.adb (Compute_Max_Length): Set parameter to print number - in decimal notation. - (List_Component_Layout): Same. - -2023-08-01 Yannick Moy - - * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Check for - Skip_Proof and Skip_Flow_And_Proof annotations for deciding - whether a subprogram can be inlined. - -2023-08-01 Steve Baird - - * sem_ch3.adb (Constrain_Corresponding_Record): When copying - information from the unconstrained record type to a newly - constructed constrained record subtype, the - Direct_Primitive_Operations attribute must be copied. - -2023-08-01 Steve Baird - - * sem_ch3.adb (Analyze_Component_Declaration): Remove - Build_Default_Subtype_OK call and code that could only executed in - the case where the removed call would have returned True. Other - calls to Build_Default_Subtype_Ok are unaffected by this change. - -2023-08-01 Pascal Obry - - * aspects.ads (Find_Aspect): Add Boolean parameter Or_Rep_Item - (defaulted to False). - * aspects.adb (Find_Aspect): If new Boolean parameter Or_Rep_Item - is True, then instead of returning an empty result if no - appropriate N_Aspect_Specification node is found, return an - appropriate N_Attribute_Definition_Clause if one is found. - * exp_put_image.ads: Change name of Enable_Put_Image function to - Put_Image_Enabled. - * exp_put_image.adb (Build_Record_Put_Image_Procedure): Detect the - case where a call to the Put_Image procedure of a derived type can - be transformed into a call to the parent type's Put_Image - procedure (with a type conversion to the parent type as the actual - parameter). - (Put_Image_Enabled): Change name of function (previously - Enable_Put_Image). Return True in more cases. In particular, - return True for a type with an explicitly specified Put_Image - aspect even if the type is declared in a predefined unit (or in an - instance of a predefined generic unit). - * exp_attr.adb: Changes due to Put_Image_Enabled function name - change. - -2023-08-01 Yannick Moy - - * repinfo.adb (List_Common_Type_Info): Fix output when alignment - is not statically known, and fix assertion when expansion is not - enabled. - -2023-08-01 Bob Duff - - * atree.adb (Field_Present): New function to detect whether or not - a given field is present in a given node, based on either the node - kind or the entity kind as appropriate. - (Get_Field_Value): Check that the field begin fetched exists. - However, disable the check in the case of Scope_Depth_Value, - because we have failures in that case. Those failures need to be - fixed, and then the check can be enabled for all fields. - (Set_Field_Value): Check that the field begin set exists. - -2023-08-01 Léo Creuse - - * par_sco.adb (Process_Decisions): Traverse all attributes of - quantified expressions nodes. - -2023-07-28 Eric Botcazou - - * gcc-interface/trans.cc (gnat_to_gnu): Restrict previous change to - the case where the simple return statement has got no storage pool. - -2023-07-28 Clément Chigot - - * libgnarl/s-inmaop__posix.adb: Add assert after sigwait in - Interrupt_Wait - -2023-07-28 Javier Miranda - - * einfo-utils.adb (Underlying_Type): Protect recursion call - against non-available attribute Etype. - * einfo.ads (Protected_Subprogram): Fix typo in documentation. - * exp_ch3.adb (BIP_Function_Call_Id): New subprogram. - (Expand_N_Object_Declaration): Improve code that evaluates if the - object is initialized with a BIP function call. - * exp_ch6.adb (Is_True_Build_In_Place_Function_Call): New - subprogram. - (Add_Task_Actuals_To_Build_In_Place_Call): Add dummy actuals if - the function does not require the BIP task actuals but it is a - dispatching operation that inherited them. - (Build_In_Place_Formal): Improve code to avoid never-ending loop - if the BIP formal is not found. - (Add_Dummy_Build_In_Place_Actuals): New subprogram. - (Expand_Call_Helper): Add calls to - Add_Dummy_Build_In_Place_Actuals. - (Expand_N_Extended_Return_Statement): Adjust assertion. - (Expand_Simple_Function_Return): Adjust assertion. - (Make_Build_In_Place_Call_In_Allocator): No action needed if the - called function inherited the BIP extra formals but it is not a - true BIP function. - (Make_Build_In_Place_Call_In_Assignment): Ditto. - * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove code - reporting unsupported case (since this patch adds support for it). - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Adding assertion - to ensure matching of BIP formals when setting the - Protected_Formal field of a protected subprogram to reference the - corresponding extra formal of the subprogram that implements it. - (Might_Need_BIP_Task_Actuals): New subprogram. - (Create_Extra_Formals): Improve code adding inherited extra - formals. - -2023-07-28 Pascal Obry - - * s-oscons-tmplt.c: Add support for SO_BINDTODEVICE constant. - * libgnat/g-socket.ads (Set_Socket_Option): Handle SO_BINDTODEVICE option. - (Get_Socket_Option): Handle SO_BINDTODEVICE option. - * libgnat/g-socket.adb: Likewise. - (Get_Socket_Option): Handle the case where IF_NAMESIZE is not defined - and so equal to -1. - -2023-07-28 Léo Creuse - - * par_sco.adb (Has_Decision): Consider that quantified expressions - contain decisions. - -2023-07-28 Ronan Desplanques - - * libgnarl/s-tposen.adb: Fix race condition. Add comment to justify - the locking timing. - -2023-07-28 Viljar Indus - - * exp_util.adb (Find_Optional_Prim_Op): use "No" instead of "= Empty" - -2023-07-28 Piotr Trojanek - - * sem_res.adb (Resolve_Actuals): Add guard for the call to - Class_Preconditions_Subprogram. - -2023-07-28 Eric Botcazou - - * exp_aggr.adb (Is_Two_Dim_Packed_Array): Return true only if the - component type of the array is scalar. - -2023-07-28 Piotr Trojanek - - * sem_ch6.adb (Check_Statement_Sequence): Only warn about missing return - statements and let GNATprove emit a check when needed. - -2023-07-28 Tom Tromey - - * fe.h (Convention): Now inline function. - * gen_il-gen.adb (Put_C_Type_And_Subtypes.Put_Enum_Lit) - (Put_C_Type_And_Subtypes.Put_Kind_Subtype, Put_C_Getter): - Emit enum. - * snames.h-tmpl (Name_Id, Name_, Attribute_Id, Attribute_) - (Convention_Id, Convention_, Pragma_Id, Pragma_): Now enum. - (Get_Attribute_Id, Get_Pragma_Id): Now inline functions. - * types.h (Node_Kind, Entity_Kind, Convention_Id, Name_Id): - Now enum. - * xsnamest.adb (Output_Header_Line, Make_Value): Emit enum. - -2023-07-28 Piotr Trojanek - - * libgnat/a-except.ads (Save_Occurrence): Fix typo. - -2023-07-28 Piotr Trojanek - - * einfo-utils.adb (Number_Formals): Change types in body. - * einfo-utils.ads (Number_Formals): Change type in spec. - * einfo.ads (Number_Formals): Change type in comment. - * sem_ch13.adb (Is_Property_Function): Fix style in a caller of - Number_Formals that was likely to crash because of missing guards. - -2023-07-28 Piotr Trojanek - - * sem_warn.adb (Check_Infinite_Loop_Warning): Don't look at the type of - actual parameter when it has no type at all, e.g. because the entire - subprogram call is illegal. - -2023-07-18 Tom Tromey - - * gcc-interface/decl.cc (check_ok_for_atomic_type): Use Pragma_Id. - * gcc-interface/trans.cc (lvalue_required_p, Pragma_to_gnu): Use - Pragma_Id. - (get_type_length, Attribute_to_gnu, get_atomic_access): Use - Attribute_Id. - -2023-07-18 Javier Miranda - - * exp_imgv.adb (Rewrite_Object_Image): fix type of formal. Found - reading sources. - (Expand_Wide_Image_Attribute): ditto. - (Expand_Wide_Wide_Image_Attribute): ditto. - (Rewrite_Object_Image): ditto. - * exp_put_image.adb (Build_Image_Call): For class-wide interface - type prefix generate code to displace the pointer to the object to - reference the base of the underlying object. - -2023-07-18 Viljar Indus - - * sem_aggr.adb (Resolve_Iterated_Association): Add temporary scope - when analyzing the Iterator Specification. Use preanalysis instead - of Analysis to avoid polluting the tree. - -2023-07-18 Viljar Indus - - * sem_aggr.adb (Resolve_Iterated_Association): Use the element - type for the iterator in a container aggregate with an iterator - specification. - -2023-07-18 Viljar Indus - - * exp_aggr.adb (Expand_Container_Aggregate): Use the positional - addition method only when dealing with a container aggregate - without an Iterator Specification e.g. with a loop parameter - specification - -2023-07-18 Eric Botcazou - - * sem_util.ads (Wrong_Type): Add Multiple parameter defaulting to - False and document it. - * sem_util.adb (Wrong_Type): Do not return early if an error has - already been posted on Expr and Multiple is True. - * sem_ch4.adb (Analyze_One_Call): Pass All_Errors_Mode as the - actual parameter for Multiple to Wrong_Type. - -2023-07-18 Javier Miranda - - * exp_disp.adb (Has_Dispatching_Constructor_Call): Removed. - (Expand_Interface_Conversion): Reverse patch. - -2023-07-18 Ronan Desplanques - - * libgnarl/s-taprop__linux.adb (Set_Task_Affinity, Create_Task): Tweak - handling of CPU affinities. - -2023-07-18 Eric Botcazou - - * sem_type.ads (Is_Ancestor): Remove mention of tagged type. - * exp_aggr.adb: Add with and use clauses for Sem_Type. - (Build_Record_Aggr_Code.Replace_Type): Call Is_Ancestor to spot - self-references to the type of the aggregate. - * sem_aggr.adb (Resolve_Record_Aggregate.Add_Discriminant_Values): - Likewise. - -2023-07-18 Eric Botcazou - - * sem_ch13.adb (Replace_Type_References_Generic.Visible_Component): - In the case of private discriminated types, explicitly check that we - have a private declaration before examining its discriminant part. - -2023-07-18 Alexandre Oliva - - * libgnat/a-except.ads (Raise_Exception): Mark expected_throw. - (Reraise_Occurrence): Likewise. - (Raise_Exception_Always): Likewise. - (Raise_From_Controlled_Operation): Likewise. - (Reraise_Occurrence_Always): Likewise. - (Reraise_Occurrence_No_Defer): Likewise. - * libgnat/a-except.adb - (Exception_Propagation.Propagate_Exception): Likewise. - (Complete_And_Propagate_Occurrence): Likewise. - (Raise_Exception_No_Defer): Likewise. - (Raise_From_Signal_Handler): Likewise. - (Raise_With_Msg): Likewise. - (Raise_With_Location_And_Msg): Likewise. - (Raise_Constraint_Error): Likewise. - (Raise_Constraint_Error_Msg): Likewise. - (Raise_Program_Error): Likewise. - (Raise_Program_Error_Msg): Likewise. - (Raise_Storage_Error): Likewise. - (Raise_Storage_Error_Msg): Likewise. - (Reraise, Rcheck_*): Likewise. - * doc/gnat_rm/security_hardening_features.rst (Control Flow - Hardening): Note the influence of expected_throw. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - * gcc-interface/utils.cc (handle_expected_throw_attribute): New. - (gnat_internal_attribute_table): Add expected_throw. - -2023-07-18 Vasiliy Fofanov - - * libgnat/s-pack03.adb: Update copyright year; refactor return statements. - * libgnat/s-pack05.adb: Likewise. - * libgnat/s-pack06.adb: Likewise. - * libgnat/s-pack07.adb: Likewise. - * libgnat/s-pack09.adb: Likewise. - * libgnat/s-pack10.adb: Likewise. - * libgnat/s-pack100.adb: Likewise. - * libgnat/s-pack101.adb: Likewise. - * libgnat/s-pack102.adb: Likewise. - * libgnat/s-pack103.adb: Likewise. - * libgnat/s-pack104.adb: Likewise. - * libgnat/s-pack105.adb: Likewise. - * libgnat/s-pack106.adb: Likewise. - * libgnat/s-pack107.adb: Likewise. - * libgnat/s-pack108.adb: Likewise. - * libgnat/s-pack109.adb: Likewise. - * libgnat/s-pack11.adb: Likewise. - * libgnat/s-pack110.adb: Likewise. - * libgnat/s-pack111.adb: Likewise. - * libgnat/s-pack112.adb: Likewise. - * libgnat/s-pack113.adb: Likewise. - * libgnat/s-pack114.adb: Likewise. - * libgnat/s-pack115.adb: Likewise. - * libgnat/s-pack116.adb: Likewise. - * libgnat/s-pack117.adb: Likewise. - * libgnat/s-pack118.adb: Likewise. - * libgnat/s-pack119.adb: Likewise. - * libgnat/s-pack12.adb: Likewise. - * libgnat/s-pack120.adb: Likewise. - * libgnat/s-pack121.adb: Likewise. - * libgnat/s-pack122.adb: Likewise. - * libgnat/s-pack123.adb: Likewise. - * libgnat/s-pack124.adb: Likewise. - * libgnat/s-pack125.adb: Likewise. - * libgnat/s-pack126.adb: Likewise. - * libgnat/s-pack127.adb: Likewise. - * libgnat/s-pack13.adb: Likewise. - * libgnat/s-pack14.adb: Likewise. - * libgnat/s-pack15.adb: Likewise. - * libgnat/s-pack17.adb: Likewise. - * libgnat/s-pack18.adb: Likewise. - * libgnat/s-pack19.adb: Likewise. - * libgnat/s-pack20.adb: Likewise. - * libgnat/s-pack21.adb: Likewise. - * libgnat/s-pack22.adb: Likewise. - * libgnat/s-pack23.adb: Likewise. - * libgnat/s-pack24.adb: Likewise. - * libgnat/s-pack25.adb: Likewise. - * libgnat/s-pack26.adb: Likewise. - * libgnat/s-pack27.adb: Likewise. - * libgnat/s-pack28.adb: Likewise. - * libgnat/s-pack29.adb: Likewise. - * libgnat/s-pack30.adb: Likewise. - * libgnat/s-pack31.adb: Likewise. - * libgnat/s-pack33.adb: Likewise. - * libgnat/s-pack34.adb: Likewise. - * libgnat/s-pack35.adb: Likewise. - * libgnat/s-pack36.adb: Likewise. - * libgnat/s-pack37.adb: Likewise. - * libgnat/s-pack38.adb: Likewise. - * libgnat/s-pack39.adb: Likewise. - * libgnat/s-pack40.adb: Likewise. - * libgnat/s-pack41.adb: Likewise. - * libgnat/s-pack42.adb: Likewise. - * libgnat/s-pack43.adb: Likewise. - * libgnat/s-pack44.adb: Likewise. - * libgnat/s-pack45.adb: Likewise. - * libgnat/s-pack46.adb: Likewise. - * libgnat/s-pack47.adb: Likewise. - * libgnat/s-pack48.adb: Likewise. - * libgnat/s-pack49.adb: Likewise. - * libgnat/s-pack50.adb: Likewise. - * libgnat/s-pack51.adb: Likewise. - * libgnat/s-pack52.adb: Likewise. - * libgnat/s-pack53.adb: Likewise. - * libgnat/s-pack54.adb: Likewise. - * libgnat/s-pack55.adb: Likewise. - * libgnat/s-pack56.adb: Likewise. - * libgnat/s-pack57.adb: Likewise. - * libgnat/s-pack58.adb: Likewise. - * libgnat/s-pack59.adb: Likewise. - * libgnat/s-pack60.adb: Likewise. - * libgnat/s-pack61.adb: Likewise. - * libgnat/s-pack62.adb: Likewise. - * libgnat/s-pack63.adb: Likewise. - * libgnat/s-pack65.adb: Likewise. - * libgnat/s-pack66.adb: Likewise. - * libgnat/s-pack67.adb: Likewise. - * libgnat/s-pack68.adb: Likewise. - * libgnat/s-pack69.adb: Likewise. - * libgnat/s-pack70.adb: Likewise. - * libgnat/s-pack71.adb: Likewise. - * libgnat/s-pack72.adb: Likewise. - * libgnat/s-pack73.adb: Likewise. - * libgnat/s-pack74.adb: Likewise. - * libgnat/s-pack75.adb: Likewise. - * libgnat/s-pack76.adb: Likewise. - * libgnat/s-pack77.adb: Likewise. - * libgnat/s-pack78.adb: Likewise. - * libgnat/s-pack79.adb: Likewise. - * libgnat/s-pack80.adb: Likewise. - * libgnat/s-pack81.adb: Likewise. - * libgnat/s-pack82.adb: Likewise. - * libgnat/s-pack83.adb: Likewise. - * libgnat/s-pack84.adb: Likewise. - * libgnat/s-pack85.adb: Likewise. - * libgnat/s-pack86.adb: Likewise. - * libgnat/s-pack87.adb: Likewise. - * libgnat/s-pack88.adb: Likewise. - * libgnat/s-pack89.adb: Likewise. - * libgnat/s-pack90.adb: Likewise. - * libgnat/s-pack91.adb: Likewise. - * libgnat/s-pack92.adb: Likewise. - * libgnat/s-pack93.adb: Likewise. - * libgnat/s-pack94.adb: Likewise. - * libgnat/s-pack95.adb: Likewise. - * libgnat/s-pack96.adb: Likewise. - * libgnat/s-pack97.adb: Likewise. - * libgnat/s-pack98.adb: Likewise. - * libgnat/s-pack99.adb: Likewise. - -2023-07-18 Yannick Moy - - * errout.adb (Error_Msg_Internal): Remove call to - Prescan_Message on the special continuation for the explain code - command, as this does not play well with the setting of global - variables for the message (like its status as a warning or not). - Instead, set directly the global variables regarding content of - the message in terms of special characters. - -2023-07-18 Eric Botcazou - - * sem_util.ads (Validated_View): Document enhanced behavior. - * sem_util.adb (Validated_View): Return the nonlimited view, if any, - of types coming from a limited with. - -2023-07-11 Bob Duff - - * exp_ch3.adb (Expand_N_Object_Declaration): Avoid transforming to - a renaming in case of constrained array that comes from source. - -2023-07-11 Eric Botcazou - - * sem_ch13.adb (Replace_Type_References_Generic.Visible_Component): - In the case of private discriminated types, return a discriminant - only if it is listed in the discriminant part of the declaration. - -2023-07-10 Eric Botcazou - - * adaint.c [_WIN32]: Undefine 'abort' macro. - -2023-07-10 Tom Tromey - - * snames.h-tmpl (Name_Id, Attribute_Id, Convention_Id) - (Pragma_Id): New typedefs. - (Get_Attribute_Id, Get_Pragma_Id): Use typedef. - -2023-07-10 Yannick Moy - - * libgnat/s-aridou.adb (Lemma_Powers_Of_2_Commutation): Rewrite - assertion. - -2023-07-10 Bob Duff - - * doc/gnat_rm/gnat_language_extensions.rst - (Local Declarations Without Block): Document the feature very - briefly, and refer the reader to the RFC for details and examples. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2023-07-10 Alexandre Oliva - - * doc/gnat_rm/security_hardening_features.rst (Control Flow - Hardening): Document -fhardcfr-skip-leaf. - * gnat_rm.texi: Regenerate. - -2023-07-10 Alexandre Oliva - - * doc/gnat_rm/security_hardening_features.rst (Control Flow - Redundancy): Add -fhardcfr-check-noreturn-calls=no-xthrow. - * gnat_rm.texi: Regenerate. - -2023-07-10 Yannick Moy - - * libgnat/s-aridou.adb (Lemma_Div_Mult): New simple lemma. - (Lemma_Powers_Of_2_Commutation): State post in else branch. - (Lemma_Div_Pow2): Introduce local lemma and use it. - (Scaled_Divide): Use cut operations in assertions, lemmas, new - assertions. Introduce local lemma and use it. - -2023-07-10 Alexandre Oliva - - * doc/gnat_rm/security_hardening_features.rst (Register - Scrubbing): Document leafy mode. - * gnat_rm.texi: Regenerate. - -2023-07-06 Claire Dross - - * gcc-interface/Make-lang.in: Add object files of specification - files. - -2023-07-06 Claire Dross - - * libgnat/s-vs_int.ads: Instance of Value_I_Spec for Integer. - * libgnat/s-vs_lli.ads: Instance of Value_I_Spec for - Long_Long_Integer. - * libgnat/s-vsllli.ads: Instance of Value_I_Spec for - Long_Long_Long_Integer. - * libgnat/s-vs_uns.ads: Instance of Value_U_Spec for Unsigned. - * libgnat/s-vs_llu.ads: Instance of Value_U_Spec for - Long_Long_Unsigned. - * libgnat/s-vslllu.ads: Instance of Value_U_Spec for - Long_Long_Long_Unsigned. - * libgnat/s-imagei.ads: Take instances of Value_*_Spec as - parameters. - * libgnat/s-imagei.adb: Idem. - * libgnat/s-imageu.ads: Idem. - * libgnat/s-imageu.adb: Idem. - * libgnat/s-valuei.ads: Idem. - * libgnat/s-valuei.adb: Idem. - * libgnat/s-valueu.ads: Idem. - * libgnat/s-valueu.adb: Idem. - * libgnat/s-imgint.ads: Adapt instance to new ghost parameters. - * libgnat/s-imglli.ads: Adapt instance to new ghost parameters. - * libgnat/s-imgllli.ads: Adapt instance to new ghost parameters. - * libgnat/s-imglllu.ads: Adapt instance to new ghost parameters. - * libgnat/s-imgllu.ads: Adapt instance to new ghost parameters. - * libgnat/s-imguns.ads: Adapt instance to new ghost parameters. - * libgnat/s-valint.ads: Adapt instance to new ghost parameters. - * libgnat/s-vallli.ads: Adapt instance to new ghost parameters. - * libgnat/s-valllli.ads: Adapt instance to new ghost parameters. - * libgnat/s-vallllu.ads: Adapt instance to new ghost parameters. - * libgnat/s-valllu.ads: Adapt instance to new ghost parameters. - * libgnat/s-valuns.ads: Adapt instance to new ghost parameters. - * libgnat/s-vaispe.ads: Take instance of Value_U_Spec as parameter - and remove unused declaration. - * libgnat/s-vaispe.adb: Idem. - * libgnat/s-vauspe.ads: Remove unused declaration. - * libgnat/s-valspe.ads: Factor out the specification part of - Val_Util. - * libgnat/s-valspe.adb: Idem. - * libgnat/s-valuti.ads: Move specification to Val_Spec. - * libgnat/s-valuti.adb: Idem. - * libgnat/s-valboo.ads: Use Val_Spec. - * libgnat/s-valboo.adb: Idem. - * libgnat/s-imgboo.adb: Idem. - * libgnat/s-imagef.adb: Adapt instances to new ghost parameters. - * Makefile.rtl: List new files. - -2023-07-06 Viljar Indus - - * sem_attr.adb (analyze_attribute.check_array_type): Replace valid - indexes with their staticly evaluated values. - -2023-07-06 Viljar Indus - - * doc/gnat_ugn/the_gnat_compilation_model.rst: Reference "Binding - with Non-Ada Main Programs" from "Creating a Stand-alone Library - to be used in a non-Ada context". - * gnat_ugn.texi: Regenerate. - -2023-07-06 Viljar Indus - - * sem_util.adb (Is_Fully_Initialized_Type): Avoid recalculating - the underlying type twice. - -2023-07-06 Viljar Indus - - * exp_util.adb (Find_Optional_Prim_Op): Stop deriving primitive - operation if there is no underlying type to derive it from. - -2023-07-06 Yannick Moy - - * errout.ads: Add explain code. - * sem_prag.adb (Check_Library_Level_Entity): Refine error message - and add explain code. - -2023-07-06 Steve Baird - - * exp_ch7.adb (Make_Final_Call): Add assertion that if no - finalization call is generated, then the type of the object being - finalized does not require finalization. - * freeze.adb (Freeze_Entity): If freezing an already-frozen - subtype, do not assume that nothing needs to be done. In the case - of a frozen subtype of a non-frozen type or subtype (which is - possible), freeze the non-frozen entity. - -2023-07-04 Eric Botcazou - - * exp_ch5.adb (Expand_Assign_Array): Adjust comment above the - calls to Possible_Bit_Aligned_Component on the LHS and RHS. Do not - call Is_Possibly_Unaligned_Slice in the slice case. - * exp_util.ads (Component_May_Be_Bit_Aligned): Add For_Slice - boolean parameter. - (Possible_Bit_Aligned_Component): Likewise. - * exp_util.adb (Component_May_Be_Bit_Aligned): Do not return False - for the slice of a small record or bit-packed array component. - (Possible_Bit_Aligned_Component): Pass For_Slice in recursive - calls, except in the slice case where True is passed, as well as - in call to Component_May_Be_Bit_Aligned. - -2023-07-04 Eric Botcazou - - * exp_ch4.ads (Expand_Unchecked_Union_Equality): Only take a - single parameter. - * exp_ch4.adb (Expand_Unchecked_Union_Equality): Add guard against - repeated invocation on the same node. - * exp_ch6.adb (Expand_Call): Only pass a single actual parameter - in the call to Expand_Unchecked_Union_Equality. - -2023-07-04 Viljar Indus - - * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: - add No_Use_Of_Attribute & No_Use_Of_Pragma restrictions. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2023-07-04 Yannick Moy - - * sem_disp.adb (Inherited_Subprograms): Add parameter to filter - out results. - * sem_disp.ads: Likewise. - -2023-07-03 Eric Botcazou - - * exp_ch3.ads (Build_Variant_Record_Equality): Add Spec_Id as second - parameter. - * exp_ch3.adb (Build_Variant_Record_Equality): For unchecked union - types, build the additional parameters as extra formal parameters. - (Expand_Freeze_Record_Type.Build_Variant_Record_Equality): Pass - Empty as Spec_Id in call to Build_Variant_Record_Equality. - * exp_ch4.ads (Expand_Unchecked_Union_Equality): New procedure. - * exp_ch4.adb (Expand_Composite_Equality): In the presence of a - function implementing composite equality, do not special case the - unchecked union types, and only convert the operands if the base - types are not the same like in Build_Equality_Call. - (Build_Equality_Call): Do not special case the unchecked union types - and relocate the operands only once. - (Expand_N_Op_Eq): Do not special case the unchecked union types. - (Expand_Unchecked_Union_Equality): New procedure implementing the - specific expansion of calls to the predefined equality function. - * exp_ch6.adb (Is_Unchecked_Union_Equality): New predicate. - (Expand_Call): Call Is_Unchecked_Union_Equality to determine whether - to call Expand_Unchecked_Union_Equality or Expand_Call_Helper. - * exp_ch8.adb (Build_Body_For_Renaming): Set Has_Delayed_Freeze flag - earlier on Id and pass Id in call to Build_Variant_Record_Equality. - -2023-07-03 Eric Botcazou - - * exp_ch3.adb (Build_Untagged_Equality): Rename into... - (Build_Untagged_Record_Equality): ...this. - (Expand_Freeze_Record_Type): Adjust to above renaming and invoke - the procedure also for discriminated types without a variant part. - -2023-07-03 Eric Botcazou - - * sem_util.adb (Has_Inferable_Discriminants): In the case of a - component with a per-object constraint, also return true if the - enclosing object is not of an unchecked union type. - In the default case, remove a useless call to Base_Type. - -2023-06-29 Richard Sandiford - - * gcc-interface/decl.cc (gt_pch_nx): Remove overloads for Entity_Id. - -2023-06-27 Eric Botcazou - - * gcc-interface/Makefile.in (LIBIBERTY): Fix condition. - (TOOLS_LIBS): Add @LD_PICFLAG@. - -2023-06-27 Eric Botcazou - - * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Add guard to the - code turning the type of the RESULT_DECL into a reference type. - (maybe_make_gnu_thunk): Use a more precise guard in the same case. - -2023-06-27 Eric Botcazou - - * gcc-interface/trans.cc (Case_Statement_to_gnu): Rename boolean - constant and use From_Conditional_Expression flag for its value. - -2023-06-27 Eric Botcazou - - * debug.adb (d.L): Remove documentation. - * exp_ch4.adb (Expand_N_Case_Expression): In the not-by-copy case, - do not wrap the case statement in an Expression_With_Actions node. - (Expand_N_If_Expression): Do not test - Back_End_Handles_Limited_Types - * gnat1drv.adb (Adjust_Global_Switches): Do not set it. - * opt.ads (Back_End_Handles_Limited_Types): Delete. - -2023-06-27 Eric Botcazou - - * sem_ch12.adb (Check_Generic_Actuals): Check the component type - of constants and variables of an array type. - (Copy_Generic_Node): Fix bogus handling of iterator - specifications. - -2023-06-27 Claire Dross - - * libgnat/a-textio.ads (Get_Line): Use Relaxed_Initialization on - the Item parameter of Get_Line. - -2023-06-27 Eric Botcazou - - * exp_ch4.adb (Expand_N_Quantified_Expression): Revert the latest - change as it is subsumed by the machinery in Sem_Ch5. - * sem_ch5.adb (Prepare_Iterator_Loop): Also wrap the loop - statement in a block in the name contains a function call that - returns on the secondary stack. - -2023-06-27 Eric Botcazou - - * sem_ch12.adb (Scope_Within_Body_Or_Same): New predicate. - (Check_Actual_Type): Take into account packages nested in bodies - to compute the enclosing scope by means of - Scope_Within_Body_Or_Same. - -2023-06-27 Eric Botcazou - - * sem_ch12.adb (Check_Private_View): Also check the type of - visible discriminants in record and concurrent types. - -2023-06-27 Viljar Indus - - * sprint.adb (Print_Node_Actual): Print homogeneous N_Aggregate - nodes with brackets. - -2023-06-27 Viljar Indus - - * exp_aggr.adb (Expand_N_Aggregate): Ensure that container - aggregate expressions do not get expanded as records but instead - as container aggregates. - -2023-06-20 Eric Botcazou - - * gcc-interface/decl.cc (gnat_to_gnu_entity) : Pass - the NULL_TREE explicitly and test imported_p in lieu of - Is_Imported. : Remove public_flag local variable and - make extern_flag local variable a constant. - -2023-06-20 Yannick Moy - - * sem_res.adb (Resolve_Call): Fix change that replaced test for - quantified expressions by the test for potentially unevaluated - contexts. Both should be performed. - -2023-06-20 Eric Botcazou - - * exp_ch7.adb (Convert_View): Detect more cases of mismatches for - private types and use Implementation_Base_Type as main criterion. - * gen_il-fields.ads (Opt_Field_Enum): Add - Has_Secondary_Private_View - * gen_il-gen-gen_nodes.adb (N_Expanded_Name): Likewise. - (N_Direct_Name): Likewise. - (N_Op): Likewise. - * sem_ch12.ads (Check_Private_View): Document the usage of second - flag Has_Secondary_Private_View. - * sem_ch12.adb (Get_Associated_Entity): New function to retrieve - the ultimate associated entity, if any. - (Check_Private_View): Implement Has_Secondary_Private_View - support. - (Copy_Generic_Node): Remove specific treatment for Component_Type - of an array type and Designated_Type of an access type. Add - specific treatment for comparison and equality operators, as well - as iterator and loop parameter specifications. - (Instantiate_Type): Implement Has_Secondary_Private_View support. - (Requires_Delayed_Save): Call Get_Associated_Entity. - (Set_Global_Type): Implement Has_Secondary_Private_View support. - * sem_ch6.adb (Conforming_Types): Remove bypass for private views - in instances. - * sem_type.adb (Covers): Return true if Is_Subtype_Of does so. - Remove bypass for private views in instances. - (Specific_Type): Likewise. - * sem_util.adb (Wrong_Type): Likewise. - * sinfo.ads (Has_Secondary_Private_View): Document new flag. - -2023-06-20 Ronan Desplanques - - * libgnarl/s-mudido.ads: Remove outdated comment. - -2023-06-20 Eric Botcazou - - * doc/gnat_ugn/gnat_and_program_execution.rst (Overflows in GNAT) - : Remove obsolete paragraph about -gnato. - : Replace CHECKED with STRICT. - * gnat_ugn.texi: Regenerate. - -2023-06-20 Yannick Moy - - * sem_util.adb (Check_Result_And_Post_State): Do not warn in cases - where the warning could be spurious. - -2023-06-20 Yannick Moy - - * err_vars.ads (Error_Msg_Code): New variable for error codes. - * errout.adb (Error_Msg_Internal): Display continuation message - when an error code was present. - (Set_Msg_Text): Handle character sequence [] for error codes. - * errout.ads: Document new insertion sequence []. - (Error_Msg_Code): New renaming. - * erroutc.adb (Prescan_Message): Detect presence of error code. - (Set_Msg_Insertion_Code): Handle new insertion sequence []. - * erroutc.ads (Has_Error_Code): New variable for prescan. - (Set_Msg_Insertion_Code): Handle new insertion sequence []. - * contracts.adb (Check_Type_Or_Object_External_Properties): - Replace reference to SPARK RM section by an error code. - * sem_elab.adb (SPARK_Processor): Same. - * sem_prag.adb (Check_Missing_Part_Of): Same. - * sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Same. - -2023-06-20 Piotr Trojanek - - * sem_res.adb (Resolve_Entity_Name): Handle Range like First and Last. - -2023-06-20 Jose Ruiz - - * doc/gnat_ugn/the_gnat_compilation_model.rst - (Partition-Wide Settings): add this subsection to document - configuration settings made by the Ada run time. - * gnat_ugn.texi: Regenerate. - -2023-06-20 Piotr Trojanek - - * sem_res.adb (Resolve_Entity_Name): Ignore implicit loop scopes - introduced by quantified expressions. - -2023-06-20 Bob Duff - - * sem_ch3.adb (Analyze_Object_Declaration): Remove predicate-check - generation if there is an address clause. These are unnecessary, - and cause gigi to crash. - * exp_util.ads (Following_Address_Clause): Remove obsolete "???" - comments. The suggested changes were done long ago. - -2023-06-20 Eric Botcazou - - * einfo.ads (Has_Private_Ancestor): Fix inaccuracy in description. - * sem_ch12.adb (Check_Actual_Type): Do not switch the view of the - type if it has a private ancestor. - -2023-06-20 Daniel King - - * libgnat/i-cheri.ads: Add CHERI intrinsics and helper functions. - * libgnat/i-cheri.adb: Likewise - -2023-06-20 Eric Botcazou - - * exp_ch7.adb (Convert_View): Remove Ind parameter and adjust. - * sem_ch12.adb (Check_Generic_Actuals): Check the type of both in - and in out actual objects, as well as the type of formal parameters - of actual subprograms. Extend the condition under which the views - are swapped to nested generic constructs. - (Save_References_In_Identifier): Call Set_Global_Type on a global - identifier rewritten as an explicit dereference, either directly - or after having first been rewritten as a function call. - (Save_References_In_Operator): Set N2 unconditionally and reuse it. - * sem_ch3.adb (Build_Derived_Record_Type): Add missing comment. - * sem_res.adb (Resolve_Implicit_Dereference): Remove special bypass - for private views in instances. - -2023-06-20 Eric Botcazou - - * exp_aggr.adb (Convert_To_Assignments): Tweak comment. - (Expand_Array_Aggregate): Do not delay the expansion if the parent - node is a container aggregate. - -2023-06-20 Ghjuvan Lacambre - - * errout.adb (Output_Messages): Fix loop termination condition. - -2023-06-20 Eric Botcazou - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst (Compiler - Switches): Document -gnateH. - * opt.ads (Reverse_Bit_Order_Threshold): New variable. - * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Use its value - if it is nonnegative instead of System_Max_Integer_Size. - * switch-c.adb (Scan_Front_End_Switches): Deal with -gnateH. - * usage.adb (Usage): Print -gnateH. - * gnat_ugn.texi: Regenerate. - -2023-06-20 Yannick Moy - - * libgnat/s-aridou.adb (Scaled_Divide): Add assertions. - * libgnat/s-valuti.adb: Add Loop_Variant. - * libgnat/s-valuti.ads: Add Exceptional_Cases on No_Return - procedure. - -2023-06-20 Marc Poulhiès - - * sem_ch3.adb (Build_Derived_Record_Type): Use full view as - Parent_Base if needed. - -2023-06-20 Ghjuvan Lacambre - - * lib-load.adb (Load_Unit): Pass Error_Node to calls to Error_Msg. - -2023-06-20 Claire Dross - - * libgnat/a-strfix.ads: Replace Might_Not_Return annotations by - Exceptional_Cases and Always_Terminates aspects. - * libgnat/a-tideio.ads: Idem. - * libgnat/a-tienio.ads: Idem. - * libgnat/a-tifiio.ads: Idem. - * libgnat/a-tiflio.ads: Idem. - * libgnat/a-tiinio.ads: Idem. - * libgnat/a-timoio.ads: Idem. - * libgnat/a-textio.ads: Idem. Also mark functions Name, Col, Line, - and Page as out of SPARK as they might raise Layout_Error. - * libgnarl/a-reatim.ads: Replace Always_Return annotations by - Always_Terminates aspects. - * libgnat/a-chahan.ads: Idem. - * libgnat/a-nbnbig.ads: Idem. - * libgnat/a-nbnbin.ads: Idem. - * libgnat/a-nbnbre.ads: Idem. - * libgnat/a-ngelfu.ads: Idem. - * libgnat/a-nlelfu.ads: Idem. - * libgnat/a-nllefu.ads: Idem. - * libgnat/a-nselfu.ads: Idem. - * libgnat/a-nuelfu.ads: Idem. - * libgnat/a-strbou.ads: Idem. - * libgnat/a-strmap.ads: Idem. - * libgnat/a-strsea.ads: Idem. - * libgnat/a-strsup.ads: Idem. - * libgnat/a-strunb.ads: Idem. - * libgnat/a-strunb__shared.ads: Idem. - * libgnat/g-souinf.ads: Idem. - * libgnat/i-c.ads: Idem. - * libgnat/interfac.ads: Idem. - * libgnat/interfac__2020.ads: Idem. - * libgnat/s-aridou.adb: Idem. - * libgnat/s-arit32.adb: Idem. - * libgnat/s-atacco.ads: Idem. - * libgnat/s-spcuop.ads: Idem. - * libgnat/s-stoele.ads: Idem. - * libgnat/s-vaispe.ads: Idem. - * libgnat/s-vauspe.ads: Idem. - * libgnat/i-cstrin.ads: Add a precondition instead of a - Might_Not_Return annotation. - -2023-06-20 Javier Miranda - - * sem_ch4.adb - (Try_Selected_Component_In_Instance): New subprogram; factorizes - existing code. - (Find_Component_In_Instance) Moved inside the new subprogram. - (Analyze_Selected_Component): Invoke the new subprogram before - trying the Object.Operation notation. - -2023-06-20 Ronan Desplanques - - * libgnat/a-calfor.adb (Time_Of): Fix handling of special case. - -2023-06-15 Marek Polacek - - * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove NO_PIE_CFLAGS. Add - PICFLAG. Use PICFLAG when building ada/b_gnat1.o and ada/b_gnatb.o. - * gcc-interface/Makefile.in: Use pic/libiberty.a if PICFLAG is set. - Remove NO_PIE_FLAG. - -2023-06-15 Marc Poulhiès - - * vxworks7-cert-rtp-base-link.spec: Removed. - * vxworks7-cert-rtp-base-link__ppc64.spec: Removed. - * vxworks7-cert-rtp-base-link__x86.spec: Removed. - * vxworks7-cert-rtp-base-link__x86_64.spec: Removed. - * vxworks7-cert-rtp-link.spec: Removed. - * vxworks7-cert-rtp-link__ppcXX.spec: Removed. - -2023-06-15 Eric Botcazou - - * gcc-interface/utils2.cc (build_binary_op) : Do not - remove a VIEW_CONVERT_EXPR on the LHS if it is also on the RHS. - -2023-06-15 Eric Botcazou - - * gcc-interface/decl.cc (gnat_to_gnu_entity) : Restrict - the special handling of temporaries created for return values and - subject to a renaming to the top level. - -2023-06-15 Ronan Desplanques - - * doc/gnat_ugn/about_this_guide.rst: Fix typo. Uniformize punctuation. - * doc/gnat_ugn/the_gnat_compilation_model.rst: Uniformize punctuation. - Fix capitalization. Fix indentation of code block. Fix RST formatting - syntax errors. - * gnat_ugn.texi: Regenerate. - -2023-06-15 Yannick Moy - - * sem_attr.adb (Analyze_Attribute): Reject case of Loop_Entry - inside the prefix of Loop_Entry, as per SPARK RM 5.5.3.1(4,8). - -2023-06-15 Eric Botcazou - - * exp_ch3.adb (Make_Allocator_For_Return): Rewrite the logic that - determines the type used for the allocation and add assertions. - * exp_util.adb (Has_Tag_Of_Type): Also return true for extension - aggregates. - -2023-06-15 Eric Botcazou - - * sinfo.ads (Iterator_Filter): Document field. - * sem_ch5.adb (Analyze_Iterator_Specification): Move comment around. - (Analyze_Loop_Parameter_Specification): Only preanalyze the iterator - filter, if any. - * exp_ch5.adb (Expand_N_Loop_Statement): Analyze the new list built - when an iterator filter is present. - -2023-06-15 Eric Botcazou - - * exp_util.adb (Find_Hook_Context): Revert latest change. - -2023-06-15 Eric Botcazou - - * exp_ch3.adb (Make_Allocator_For_Return): Deal again specifically - with an aggregate returned through an object of a class-wide type. - -2023-06-15 Eric Botcazou - - * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Do not insert - an always empty list. Remove unused parameter Isc. - (Expand_Iterator_Loop): Adjust call to above procedure. - -2023-06-15 Ronan Desplanques - - * targparm.adb: Allow pragma Style_Checks in some forms. - * targparm.ads: Document new pragma permission. - -2023-06-15 Eric Botcazou - - * exp_util.ads (Within_Case_Or_If_Expression): Adjust description. - * exp_util.adb (Find_Hook_Context): Stop the search for the topmost - conditional expression, if within one, at contexts where temporaries - may be contained. - (Within_Case_Or_If_Expression): Return false upon first encoutering - contexts where temporaries may be contained. - -2023-06-15 Johannes Kliemann - - * libgnarl/s-osinte__qnx.adb: Adjust priority conversion function. - * libgnat/system-qnx-arm.ads: Adjust priority range and default - priority. - -2023-06-15 Ronan Desplanques - - * targparm.ads: Remove references to front-end-based exceptions. Fix - thinko. - -2023-06-15 Piotr Trojanek - - * contracts.adb (Add_Contract_Item): Add pragma Always_Terminates to - package contract. - * sem_prag.adb (Analyze_Pragma): Accept pragma Always_Terminates on - packages and generic packages, but only when it has no arguments. - -2023-06-15 Piotr Trojanek - - * sem_prag.adb (Analyze_Pragma): Accept pragma Always_Terminates when - it applies to an entry. - -2023-06-15 Piotr Trojanek - - * sem_prag.adb (Analyze_Pragma): Reject pragma Always_Terminates when - it applies to a function or generic function. - -2023-06-15 Eric Botcazou - - * sem_ch4.adb (Analyze_Call): Adjust the test to detect the presence - of an incomplete view of a type on a function call. - -2023-06-15 Ronan Desplanques - - * ttypes.ads: Remove reference to Ttypef in comment. Fix typo in - comment. - -2023-06-15 Eric Botcazou - - * get_targ.ads (Get_Max_Unaligned_Field): Delete. - * ada_get_targ.adb (Get_Max_Unaligned_Field): Likewise. - * get_targ.adb (Get_Max_Unaligned_Field): Likewise. - * set_targ.ads (Max_Unaligned_Field): Adjust comment. - * set_targ.adb: Set Max_Unaligned_Field to 1 during elaboration. - * ttypes.ads (Max_Unaligned_Field): Delete. - -2023-06-15 Eric Botcazou - - * sem_type.adb (Disambiguate): Fix pasto in the implementation of - the RM 8.4(10) clause for operators. - -2023-06-15 Piotr Trojanek - - * aspects.adb - (Base_Aspect): Fix layout. - * aspects.ads - (Aspect_Argument): Expression for Always_Terminates is optional. - * sem_prag.adb - (Analyze_Always_Terminates_In_Decl_Part): Only analyze expression when - pragma argument is present. - (Analyze_Pragma): Argument for Always_Terminates is optional; fix - whitespace for Async_Readers. - -2023-06-15 Javier Miranda - - * sem_util.adb - (Is_CPP_Constructor_Call): Add missing support for calls to - functions returning a private type. - -2023-06-15 Eric Botcazou - - * exp_util.ads (Build_Transient_Object_Statements): Remove obsolete - references to array and record aggregates in documentation. - -2023-06-15 Eric Botcazou - - * sem_ch13.adb (Analyze_Aspect_Specifications): Add missing items - in the list of aspects handled by means of Insert_Pragma. - : Remove obsolete code. Do not delay the - processing of the aspect if the entity is already frozen. - -2023-06-15 Piotr Trojanek - - * sem_aggr.adb - (Resolve_Array_Aggregate): Simplify comment. - (Resolve_Iterated_Component_Association): Tune comment; change variable - to constant. - -2023-06-13 Piotr Trojanek - - * sem_aggr.adb (Resolve_Iterated_Component_Association): Simply resolve - the expression. - -2023-06-13 Bob Duff - - * exp_ch4.adb - (Expand_N_Quantified_Expression): Detect the secondary-stack - case, and find the innermost scope where we should mark/release, - and Set_Uses_Sec_Stack on that. Skip intermediate blocks and loops - that are part of expansion. - -2023-06-13 Piotr Trojanek - - * sem_util.adb (Is_Repeatedly_Evaluated): Recognize iterated component - association as repeatedly evaluated. - -2023-06-13 Piotr Trojanek - - * sem_util.adb (Is_Potentially_Unevaluated): Recognize iterated - component association as potentially unevaluated. - -2023-06-13 Piotr Trojanek - - * sem_res.adb (Resolve_Call): Replace early call to - In_Quantified_Expression with a call to Is_Potentially_Unevaluated that - was only done when Full_Analysis is true. - -2023-06-13 Piotr Trojanek - - * aspects.ads (Aspect_Id): Add new aspect. - (Implementation_Defined_Aspect): New aspect is - implementation-defined. - (Aspect_Argument): New aspect has an expression argument. - (Is_Representation_Aspect): New aspect is not a representation - aspect. - (Aspect_Names): Link new aspect identifier with a name. - (Aspect_Delay): New aspect is never delayed. - * contracts.adb (Expand_Subprogram_Contract): Mention new aspect - in comment. - (Add_Contract_Item): Attach pragma corresponding to the new aspect - to contract items. - (Analyze_Entry_Or_Subprogram_Contract): Analyze pragma - corresponding to the new aspect that appears with subprogram spec. - (Analyze_Subprogram_Body_Stub_Contract): Expand pragma - corresponding to the new aspect. - * contracts.ads - (Add_Contract_Item, Analyze_Entry_Or_Subprogram_Contract) - (Analyze_Entry_Or_Subprogram_Body_Contract) - (Analyze_Subprogram_Body_Stub_Contract): Mention new aspect in - comment. - * einfo-utils.adb (Get_Pragma): Return pragma attached to - contract. - * einfo-utils.ads (Get_Pragma): Mention new contract in comment. - * exp_prag.adb (Expand_Pragma_Always_Terminates): Placeholder for - possibly expanding new aspect. - * exp_prag.ads (Expand_Pragma_Always_Terminates): Dedicated - routine for expansion of the new aspect. - * inline.adb (Remove_Aspects_And_Pragmas): Remove aspect from - inlined bodies. - * par-prag.adb (Prag): Postpone checking of the pragma until - analysis. - * sem_ch12.adb: Mention new aspect in explanation of handling - contracts on generic units. - * sem_ch13.adb (Analyze_Aspect_Specifications): Convert new aspect - into a corresponding pragma. - (Check_Aspect_At_Freeze_Point): Don't expect new aspect. - * sem_prag.adb (Analyze_Always_Terminates_In_Decl_Part): Analyze - pragma corresponding to the new aspect. - (Analyze_Pragma): Handle pragma corresponding to the new aspect. - (Is_Non_Significant_Pragma_Reference): Handle references appearing - within new aspect. - * sem_prag.ads (Aspect_Specifying_Pragma): New aspect can be - emulated with a pragma. - (Assertion_Expression_Pragma): New aspect has an assertion - expression. - (Pragma_Significant_To_Subprograms): New aspect is significant to - subprograms. - (Analyze_Always_Terminates_In_Decl_Part): Add spec for routine - that analyses new aspect. - (Find_Related_Declaration_Or_Body): Mention new aspect in comment. - * sem_util.adb (Is_Subprogram_Contract_Annotation): New aspect is - a subprogram contract annotation. - * sem_util.ads (Is_Subprogram_Contract_Annotation): Mention new - aspect in comment. - * sinfo.ads (Is_Generic_Contract_Pragma): New pragma is a generic - contract. - (Contract): Explain attaching new pragma to subprogram contract. - * snames.ads-tmpl (Name_Always_Terminates): New name for the new - contract. - (Pragma_Always_Terminates): New pragma identifier. - -2023-06-13 Piotr Trojanek - - * sem_elab.adb (Check_Overriding_Primitive): Prevent Corresponding_Body - to be called with entity of an abstract subprogram. - -2023-06-13 Eric Botcazou - - * sem_ch12.adb (Save_References_In_Identifier): In the case where - the identifier has been turned into a function call by analysis, - call Set_Global_Type on the entity if it is global. - -2023-06-13 Marc Poulhiès - - * sem_aggr.adb (Resolve_Iterated_Component_Association): Call - Preanalyze_And_Resolve instead of Resolve_Aggr_Expr except for - aggregate. - Co-authored-by: Ed Schonberg - -2023-06-13 Eric Botcazou - - * contracts.adb (Contract_Error): New exception. - (Add_Contract_Item): Raise Contract_Error instead of Program_Error. - (Add_Generic_Contract_Pragma): Deal with Contract_Error. - -2023-06-13 Eric Botcazou - - * sem_attr.adb (Eval_Attribute): Add more exceptions to the early - return for a prefix which is a nonfrozen generic actual type. - * sem_ch12.adb (Copy_Generic_Node): Also check private views in the - case of an entity name or operator analyzed as a function call. - (Set_Global_Type): Make it a child of Save_Global_References. - (Save_References_In_Operator): In the case where the operator has - been turned into a function call, call Set_Global_Type on the entity - if it is global. - -2023-06-13 Eric Botcazou - - * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): For a - subprogram body that has no contracts and does not come from source, - make sure that contracts on its corresponding spec are analyzed, if - any, before expanding them. - -2023-06-13 Eric Botcazou - - * gen_il-fields.ads (Opt_Field_Enum): Add No_Finalize_Actions and - remove No_Side_Effect_Removal. - * gen_il-gen-gen_nodes.adb (N_Function_Call): Remove semantic flag - No_Side_Effect_Removal - (N_Assignment_Statement): Add semantic flag No_Finalize_Actions. - * sinfo.ads (No_Ctrl_Actions): Adjust comment. - (No_Finalize_Actions): New flag on assignment statements. - (No_Side_Effect_Removal): Delete. - * exp_aggr.adb (Build_Record_Aggr_Code): Remove obsolete comment and - Ancestor_Is_Expression variable. In the case of an extension, do - not generate a call to Adjust manually, call Set_No_Finalize_Actions - instead. Do not set the tags, replace call to Make_Unsuppress_Block - by Make_Suppress_Block and remove useless assertions. - In the general case, call Initialize_Component. - (Initialize_Controlled_Component): Delete. - (Initialize_Simple_Component): Delete. - (Initialize_Component): Do the low-level processing, but do not - generate a call to Adjust manually, call Set_No_Finalize_Actions. - (Process_Transient_Component): Delete. - (Process_Transient_Component_Completion): Likewise. - * exp_ch5.adb (Expand_Assign_Array): Deal with No_Finalize_Actions. - (Expand_Assign_Array_Loop): Likewise. - (Expand_N_Assignment_Statement): Likewise. - (Make_Tag_Ctrl_Assignment): Likewise. - * exp_util.adb (Remove_Side_Effects): Do not test the - No_Side_Effect_Removal flag. - * sem_prag.adb (Process_Suppress_Unsuppress): Give the warning in - SPARK mode only for pragma Suppress. - * tbuild.ads (Make_Suppress_Block): New declaration. - (Make_Unsuppress_Block): Adjust comment. - * tbuild.adb (Make_Suppress_Block): New procedure. - (Make_Unsuppress_Block): Unsuppress instead of suppressing. - -2023-06-13 Eric Botcazou - - * sem_ch5.adb (Analyze_Assignment): Turn Rhs into a constant and - remove calls to the following subprograms. - (Transform_BIP_Assignment): Delete. - (Should_Transform_BIP_Assignment): Likewise. - -2023-06-13 Piotr Trojanek - - * sem_util.ads (Is_Inherited_Operation_For_Type): Remove spec. - * sem_util.adb (Is_Inherited_Operation_For_Type): Remove body. - -2023-06-13 Eric Botcazou - - * exp_aggr.adb (Build_Record_Aggr_Code): Add new variable Ancestor_Q - to store the result of Unqualify on Ancestor. Remove the dead call - to Generate_Finalization_Actions in the case of another aggregate as - ancestor part. Remove the redundant setting of Assignment_OK. Use - Init_Typ in lieu of Etype (Ancestor) more consistently. - -2023-06-13 Eric Botcazou - - * exp_aggr.adb (Build_Record_Aggr_Code): In the case of an extension - aggregate of a limited type whose ancestor part is an aggregate, do - not skip the final code assigning the tag of the extension. - -2023-06-13 Yannick Moy - - * ghost.adb (Check_Ghost_Context): Allow absence of Ghost_Id - for attribute. Update error message to mention Ghost_Predicate. - (Is_Ghost_Attribute_Reference): New query. - * ghost.ads (Is_Ghost_Attribute_Reference): New query. - * sem_attr.adb (Resolve_Attribute): Check ghost context for ghost - attributes. - -2023-06-13 Daniel King - - * libgnat/s-stoele.ads: Add No_Elaboration_Code_All pragma. - -2023-06-13 Eric Botcazou - - * exp_util.ads (Make_Tag_Assignment_From_Type): Declare. - * exp_util.adb (Make_Tag_Assignment_From_Type): New function. - * exp_aggr.adb (Build_Record_Aggr_Code): Call the above function. - (Initialize_Simple_Component): Likewise. - * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Likewise. - (Build_Record_Init_Proc.Build_Init_Procedure ): Likewise. - (Make_Tag_Assignment): Likewise. Rename local variable and call - Unqualify to go through qualified expressions. - * exp_ch4.adb (Expand_Allocator_Expression): Likewise. - -2023-06-13 Yannick Moy - - * libgnat/a-strsup.ads: Change predicate aspect. - * sem_ch13.adb (Add_Predicate): Fix for first predicate. - -2023-06-13 Eric Botcazou - - * exp_aggr.adb (Initialize_Component): Perform immediate expansion - of the initialization expression if it is a conditional expression - and the component type is controlled. - -2023-06-13 Eric Botcazou - - * exp_aggr.adb (Initialize_Component): New procedure factored out - from the processing of array and record aggregates. - (Initialize_Controlled_Component): Likewise. - (Initialize_Simple_Component): Likewise. - (Build_Array_Aggr_Code.Gen_Assign): Remove In_Loop parameter. - Call Initialize_Component to initialize the component. - (Initialize_Array_Component): Delete. - (Initialize_Ctrl_Array_Component): Likewise. - (Build_Array_Aggr_Code): Adjust calls to Gen_Assign. - (Build_Record_Aggr_Code): Call Initialize_Simple_Component or - Initialize_Component to initialize the component. - (Initialize_Ctrl_Record_Component): Delete. - (Initialize_Record_Component): Likewise. - -2023-06-13 Piotr Trojanek - - * exp_ch11.adb (Expand_N_Raise_Statement): Expansion of raise statements - never happens in GNATprove mode. - -2023-06-13 Piotr Trojanek - - * exp_ch11.adb (Find_Local_Handler): Replace guard against other - constructs appearing in the list of exception handlers with iteration - using First_Non_Pragma/Next_Non_Pragma. - -2023-06-13 Piotr Trojanek - - * exp_ch11.ads (Find_Local_Handler): Fix typo in comment. - * exp_ch11.adb (Find_Local_Handler): Remove redundant check for the - Exception_Handler list being present; use membership test to eliminate - local object LCN; fold nested IF statements. Remove useless ELSIF - condition. - -2023-06-13 Piotr Trojanek - - * sem_util.adb (Check_Function_Writable_Actuals): Tune style; use - subtype name to detect membership test nodes. - -2023-06-13 Piotr Trojanek - - * exp_disp.adb (Make_Disp_Asynchronous_Select_Spec): Use a single call - to New_List. - -2023-06-13 Yannick Moy - - * doc/gnat_rm/implementation_defined_aspects.rst: Document new - aspect. - * doc/gnat_rm/implementation_defined_pragmas.rst: Whitespace. - * aspects.adb (Init_Canonical_Aspect): Set it to Predicate. - * aspects.ads: Set global constants for new aspect. - * einfo.ads: Describe new flag related to new aspect. - * exp_ch6.adb (Can_Fold_Predicate_Call): Do not fold new aspect. - * exp_util.adb (Make_Predicate_Check): Add comment. - * gen_il-fields.ads: Add new flag. - * gen_il-gen-gen_entities.adb: Add new flag. - * ghost.adb (Is_OK_Ghost_Context): Ghost predicate is an OK - ghost context. - (Mark_Ghost_Pragma): Add overloading with ghost mode parameter. - * ghost.ads (Mark_Ghost_Pragma): Add overloading with ghpst mode - parameter. - (Name_To_Ghost_Mode): Make function public. - * sem_aggr.adb: Issue error for violation of valid use. - * sem_case.adb: Issue error for violation of valid use. - * sem_ch13.adb: Adapt for new aspect. - * sem_ch3.adb (Analyze_Full_Type_Declaration): Remove dead code - which was trying to propagate Has_Predicates flag in the wrong - direction (from derived to parent type). - (Analyze_Number_Declaration): Issue error for violation of valid - use. - (Build_Derived_Type): Cleanup inheritance of predicate flags from - parent to derived type. - (Build_Predicate_Function): Only add a predicate check when it - is not ignored as Ghost code. - * sem_ch4.adb (Analyze_Membership_Op): Issue an error for use of - a subtype with a ghost predicate as name in a membership test. - * sem_ch5.adb (Check_Predicate_Use): Issue error for violation of - valid use. - * sem_eval.adb: Adapt code for Dynamic_Predicate to account for - Ghost_Predicate too. - * sem_prag.adb (Analyze_Pragma): Make pragma ghost or not. - * sem_util.adb (Bad_Predicated_Subtype_Use): Adapt to new aspect. - (Inherit_Predicate_Flags): Add inheritance of flag. Add parameter - to apply to derived types. - * sem_util.ads (Inherit_Predicate_Flags): Change signature. - * snames.ads-tmpl: Add new aspect name. - * gnat_rm.texi: Regenerate. - -2023-06-13 Piotr Trojanek - - * exp_ch3.adb (Make_Controlling_Function_Wrappers): Remove early - decoration. - -2023-05-30 Eric Botcazou - - * gcc-interface/trans.cc (get_storage_model_access): Also strip any - type conversion in the node when unwinding the components. - -2023-05-30 Eric Botcazou - - * gcc-interface/trans.cc (node_is_component): Remove parentheses. - (node_is_type_conversion): New predicate. - (get_atomic_access): Use it. - (get_storage_model_access): Likewise and look into the parent to - find a component if it returns true. - (present_in_lhs_or_actual_p): Likewise. - -2023-05-30 Eric Botcazou - - * gcc-interface/trans.cc (Attribute_to_gnu) : Check that - the storage model has Copy_From before instantiating loads for it. - : Likewise. - : Likewise. - (gnat_to_gnu) : Likewise. - : Likewise. - -2023-05-30 Marc Poulhiès - - * gcc-interface/trans.cc (Attribute_to_gnu): Also strip conversion - in case of DECL. - -2023-05-30 Eric Botcazou - - * gcc-interface/decl.cc (gnat_to_gnu_entity) : Use a - local variable for the GNAT index type. - : Likewise. Call Is_Null_Range on the bounds and - force the zero on TYPE_SIZE and TYPE_SIZE_UNIT if it returns true. - -2023-05-30 Eric Botcazou - - * gcc-interface/trans.cc (gnat_to_gnu) : Test the - precision of the operation rather than that of the result type. - -2023-05-30 Eric Botcazou - - * gcc-interface/decl.cc (gnat_to_gnu_entity) : Replace - integer_zero_node with null_pointer_node for pointer types. - * gcc-interface/trans.cc (gnat_gimplify_expr) : Likewise. - * gcc-interface/utils.cc (maybe_pad_type): Do not attempt to make a - packable type from a fat pointer type. - * gcc-interface/utils2.cc (build_atomic_load): Use a local variable. - (build_atomic_store): Likewise. - -2023-05-30 Eric Botcazou - - * gcc-interface/misc.cc (internal_error_function): Be prepared for - an input_location set to UNKNOWN_LOCATION. - -2023-05-30 Eric Botcazou - - * gcc-interface/trans.cc (Attribute_to_gnu) : Tweak. - (gnat_to_gnu) : Declare a local variable. - For a target with a storage model, use the Actual_Designated_Subtype - to compute the size if it is present. - -2023-05-30 Eric Botcazou - - * gcc-interface/trans.cc (Call_to_gnu): Remove code implementing the - by-copy semantics for actuals with nonnative storage models. - (gnat_to_gnu) : Remove code instantiating a - temporary for assignments between nonnative storage models. - -2023-05-30 Eric Botcazou - - * gcc-interface/decl.cc (range_cannot_be_superflat): Return true - immediately if Cannot_Be_Superflat is set. - * gcc-interface/misc.cc (gnat_post_options): Do not override the - -Wstringop-overflow setting. - -2023-05-30 Eric Botcazou - - * gcc-interface/Make-lang.in (ADA_CFLAGS): Move up. - (ALL_ADAFLAGS): Add $(NO_PIE_CFLAGS). - (ada/mdll.o): Remove. - (ada/mdll-fil.o): Likewise. - (ada/mdll-utl.o): Likewise. - -2023-05-30 Marc Poulhiès - - * gcc-interface/trans.cc (get_storage_model_access): Don't require - storage model access for dereference used as lvalue or renamings. - -2023-05-30 Eric Botcazou - - * exp_aggr.adb (Build_Array_Aggr_Code): Move the declaration of Typ - to the beginning. - (Initialize_Array_Component): Test the unqualified version of the - expression for the nested array case. - (Initialize_Ctrl_Array_Component): Do not duplicate the expression - here. Do the pattern matching of the unqualified version of it. - (Gen_Assign): Call Unqualify to compute Expr_Q and use Expr_Q in - subsequent pattern matching. - (Initialize_Ctrl_Record_Component): Do the pattern matching of the - unqualified version of the aggregate. - (Build_Record_Aggr_Code): Call Unqualify. - (Convert_Aggr_In_Assignment): Likewise. - (Convert_Aggr_In_Object_Decl): Likewise. - (Component_OK_For_Backend): Likewise. - (Is_Delayed_Aggregate): Likewise. - -2023-05-30 Eric Botcazou - - * exp_aggr.adb (Build_Array_Aggr_Code.Get_Assoc_Expr): Duplicate the - expression here instead of... - (Build_Array_Aggr_Code): ...here. - -2023-05-30 Eric Botcazou - - * freeze.adb (Check_Large_Modular_Array): Fix head comment, use - Standard_Long_Long_Integer_Size directly and generate a reference - just before the raise statement if the Etype of the object is an - itype declared in an open scope. - -2023-05-30 Eric Botcazou - - * exp_ch7.adb (Find_Enclosing_Transient_Scope): Return the index in - the scope table instead of the scope's entity. - (Establish_Transient_Scope): If an enclosing scope already exists, - do not set the Uses_Sec_Stack flag on it if the node to be wrapped - is a return statement which requires secondary stack management. - -2023-05-30 Joel Brobecker - - * Makefile.rtl: Use libgnat/s-tsmona__linux.adb on - aarch64-linux. Link libgnat with -ldl, as the use of - s-tsmona__linux.adb requires it. - -2023-05-30 Piotr Trojanek - - * exp_ch3.adb - (Build_Access_Subprogram_Wrapper_Body): Build wrapper body if requested - by routine that builds wrapper spec. - * sem_ch3.adb - (Analyze_Full_Type_Declaration): Only build wrapper when expander is - active. - (Build_Access_Subprogram_Wrapper): - Remove special-case for GNATprove. - -2023-05-30 Ronan Desplanques - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix minor issues. - * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix minor issues. - * gnat_ugn.texi: Regenerate. - -2023-05-30 Johannes Kliemann - - * libgnat/s-parame.adb: Check that Default_Stack_Size >= - Minimum_Stack_size. - * libgnat/s-parame__rtems.adb: Ditto. - * libgnat/s-parame__vxworks.adb: Check that Default_Stack_Size >= - Minimum_Stack_size and use the proper Minimum_Stack_Size if - Stack_Check_Limits is enabled. - -2023-05-30 Eric Botcazou - - * sem_res.adb (Resolve_Call): Restrict previous change to calls that - return on the same stack as the enclosing function. Tidy up. - -2023-05-30 Eric Botcazou - - * libgnat/a-cidlli.adb (Put_Image): Simplify. - * libgnat/a-coinve.adb (Put_Image): Likewise. - -2023-05-30 Eric Botcazou - - * exp_util.adb (Build_DIC_Procedure_Body.Add_Own_DIC): When inside - a generic unit, preanalyze the expression directly. - (Build_Invariant_Procedure_Body.Add_Own_Invariants): Likewise. - -2023-05-30 Cedric Landet - - * init.c: Replace FIXME by ??? - -2023-05-29 Cedric Landet - - * s-oscons-tmplt.c: move the definition of sigset out of the - HAVE_SOCKETS bloc. - -2023-05-29 Cedric Landet - - * Makefile.rtl: Move g-spogwa$(objext) from GNATRTL_NONTASKING_OBJS - to GNATRTL_SOCKETS_OBJS - -2023-05-29 Eric Botcazou - - * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec in - both cases to copy the spec of the subprogram. - -2023-05-29 Eric Botcazou - - * exp_ch7.adb (Establish_Transient_Scope.Find_Transient_Context): - Bail out for a simple return statement only if the transient scope - and the function both require secondary stack management, or else - if the function is a thunk. - * sem_res.adb (Resolve_Call): Do not create a transient scope when - the call is the expression of a simple return statement. - -2023-05-29 Patrick Bernardi - - * libgnat/a-excach.adb (Call_Chain): Replace - Code_Address_For_AAA/ZZZ functions with AAA/ZZZ'Code_Address. - * libgnat/a-except.adb (Code_Address_For_AAA/ZZZ): Delete. - (AAA/ZZZ): New null procedures. - * libgnat/g-debpoo.adb - (Code_Address_For_Allocate_End): Delete. - (Code_Address_For_Deallocate_End): Delete. - (Code_Address_For_Dereference_End): Delete. - (Allocate): Remove label and use Code_Address attribute to - determine subprogram addresses. - (Dellocate): Likewise. - (Dereference): Likewise. - (Allocate_End): Convert to null procedure. - (Dellocate_End): Likewise. - (Dereference_End): Likewise. - -2023-05-29 Eric Botcazou - - * exp_ch6.adb (Expand_Simple_Function_Return): Call Insert_Actions - consistently when rewriting the expression. - -2023-05-29 Eric Botcazou - - * exp_util.adb (Is_Finalizable_Transient.Is_Indexed_Container): - New predicate to detect a temporary created to hold the result of - a constant indexing on a container. - (Is_Finalizable_Transient.Is_Iterated_Container): Adjust a couple - of obsolete comments. - (Is_Finalizable_Transient): Return False if Is_Indexed_Container - returns True on the object. - -2023-05-29 Eric Botcazou - - * sem_res.adb (Has_Applicable_User_Defined_Literal): Make it clear - that the predicate also checks the node itself. - (Try_User_Defined_Literal): Move current implementation to... - Deal only with literals, named numbers and conditional expressions - whose dependent expressions are literals or named numbers. - (Try_User_Defined_Literal_For_Operator): ...this. Remove multiple - return False statements and put a single one at the end. - (Resolve): Call Try_User_Defined_Literal instead of directly - Has_Applicable_User_Defined_Literal for all nodes. Call - Try_User_Defined_Literal_For_Operator for operator nodes. - -2023-05-29 Piotr Trojanek - - * sem_res.adb (Invoked_With_Different_Arguments): Use Get_Called_Entity, - which properly deals with calls via an access-to-subprogram; fix - inconsistent use of a Call object declared in enclosing subprogram. - -2023-05-29 Piotr Trojanek - - * contracts.adb - (Add_Pre_Post_Condition): Attach pre/post aspects to E_Subprogram_Type - entity. - (Analyze_Entry_Or_Subprogram_Contract): Adapt to use full type - declaration for a contract attached to E_Subprogram_Type entity. - * sem_prag.adb - (Analyze_Pre_Post_Condition): Add pre/post aspects to the designed type. - -2023-05-29 Piotr Trojanek - - * sem_util.adb (Check_Function_Writable_Actuals): Remove guard against - a membership test with no alternatives; simplify with a membership test. - -2023-05-29 Piotr Trojanek - - * doc/gnat_ugn/gnat_and_program_execution.rst - (Some Useful Memory Pools): Remove extra whitespace from examples. - * sem_aggr.adb (Make_String_Into_Aggregate): Remove extra whitespace. - * gnat_ugn.texi: Regenerate. - -2023-05-29 Piotr Trojanek - - * exp_aggr.adb (Convert_Aggr_In_Allocator): Replace Get_TSS_Name - with a high-level Is_TSS. - * sem_ch6.adb (Check_Conformance): Replace DECLARE block and - nested IF with a call to Get_TSS_Name and a membership test. - (Has_Reliable_Extra_Formals): Refactor repeated calls to - Get_TSS_Name. - * sem_disp.adb (Check_Dispatching_Operation): Replace repeated - calls to Get_TSS_Name with a membership test. - -2023-05-29 Eric Botcazou - - * exp_ch5.adb (Expand_N_Case_Statement): Do not remove the statement - if it is the node to be wrapped by a transient scope. - -2023-05-29 Eric Botcazou - - * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Do not defer - anything to the back-end when the main unit is generic. - -2023-05-29 Eric Botcazou - - * sem_res.adb (Try_User_Defined_Literal): Restrict previous change - to non-leaf nodes. - -2023-05-29 Eric Botcazou - - * sem_res.adb (Try_User_Defined_Literal): For arithmetic operators, - also accept operands whose type is covered by the resolution type. - -2023-05-29 Eric Botcazou - - * exp_aggr.adb (Initialize_Array_Component): Fix condition detecting - the nested case that requires an adjustment. - -2023-05-29 Eric Botcazou - - * exp_ch4.adb (Expand_N_In): Deal specifically with a null operand. - -2023-05-29 Eric Botcazou - - * exp_ch6.adb (Expand_Simple_Function_Return): Deal with a rewriting - of the simple return during the adjustment of its expression. - -2023-05-29 Eric Botcazou - - * exp_ch4.adb (Expand_N_Case_Expression): Distribute simple return - statements enclosing the conditional expression into the dependent - expressions in almost all cases. - (Expand_N_If_Expression): Likewise. - (Process_Transient_In_Expression): Adjust to the above distribution. - * exp_ch6.adb (Expand_Ctrl_Function_Call): Deal with calls in the - dependent expressions of a conditional expression. - * sem_ch6.adb (Analyze_Function_Return): Deal with the rewriting of - a simple return statement during the resolution of its expression. - -2023-05-29 Piotr Trojanek - - * sem_res.adb (Resolve_Entity_Name): Refine rules for Exceptional_Cases. - -2023-05-29 Marc Poulhiès - - * exp_aggr.adb (Convert_To_Assignments): Do not mark node for - delayed expansion if parent type has the Aggregate aspect. - * sem_util.adb (Is_Container_Aggregate): Move... - * sem_util.ads (Is_Container_Aggregate): ... here and make it - public. - -2023-05-29 Piotr Trojanek - - * sem_res.adb (Resolve_Entity_Name): Relax rules for Exceptional_Cases. - -2023-05-29 Eric Botcazou - - * sem_ch4.ads (Unresolved_Operator): New procedure. - * sem_ch4.adb (Has_Possible_Literal_Aspects): Rename into... - (Has_Possible_User_Defined_Literal): ...this. Tidy up. - (Operator_Check): Accept again unresolved operators if they have a - possible user-defined literal as operand. Factor out the handling - of the general error message into... - (Unresolved_Operator): ...this new procedure. - * sem_res.adb (Resolve): Be prepared for unresolved operators on - entry in Ada 2022 or later. If they are still unresolved on exit, - call Unresolved_Operator to give the error message. - (Try_User_Defined_Literal): Tidy up. - -2023-05-29 Steve Baird - - * exp_ch3.adb - (Expand_N_Object_Declaration.Default_Initialize_Object): Add test for - specified Default_Component_Value aspect when deciding whether - either Initialize_Scalars or Normalize_Scalars impacts default - initialization of an array object. - -2023-05-29 Javier Miranda - - * sem_aggr.adb - (Resolve_Record_Aggregate): For aggregates of derived tagged - record types with discriminants, when collecting components - from ancestors, pass to subprogram Gather_Components the - parent type. Required to report errors on wrong aggregate - components. - -2023-05-29 Piotr Trojanek - - * sem_util.adb (Check_Result_And_Post_State): Replace low-level - navigation with a high-level Unique_Entity. - -2023-05-29 Piotr Trojanek - - * sem_util.adb (Check_Result_And_Post_State): Properly handle entry - bodies. - -2023-05-29 Piotr Trojanek - - * contracts.adb (Fix_Parent): Fir part both for lists and nodes. - -2023-05-29 Arnaud Charlet - - * sem_ch7.adb: Refine handling of inlining for CCG - -2023-05-29 Eric Botcazou - - * sem_ch12.adb (Copy_Generic_Node): Test the original node kind - for the sake of consistency. For identifiers and other entity - names and operators, accept an expanded name as associated node. - Replace "or" with "or else" in condtion and fix its formatting. - -2023-05-29 Piotr Trojanek - - * sem_util.adb (Check_Result_And_Post_State): Tune message. - -2023-05-29 Piotr Trojanek - - * contracts.adb (Remove_Formals): Remove. - (Preanalyze_Condition): Replace Pop_Scope with End_Scope. - * sem_ch13.adb (Build_Discrete_Static_Predicate): Replace - Pop_Scope with End_Scope; enclose Install_Formals within - Push_Scope/End_Scope. - -2023-05-29 Piotr Trojanek - - * sem_prag.adb (Analyze_Pre_Post_Condition): Tune error message. - -2023-05-29 Javier Miranda - - * scans.ads (Inside_Interpolated_String_Expression): New variable. - * par-ch2.adb (P_Interpolated_String_Literal): Set/clear new - variable when parsing interpolated string expressions. - * scng.adb (Set_String): Skip processing operator symbols when we - arescanning an interpolated string literal. - -2023-05-29 Johannes Kliemann - - * Makefile.rtl (QNX): Use s-parame__qnx.adb for s-parame.adb. - * libgnat/s-parame__qnx.adb: Add QNX specific version of - System.Parameters. - -2023-05-29 Yannick Moy - - * libgnat/a-ngelfu.ads: Restore SPARK_Mode from context. - -2023-05-29 Marc Poulhiès - - * contracts.adb (Restore_Original_Selected_Component): Adjust assertion. - -2023-05-29 Piotr Trojanek - - * contracts.adb - (Add_Pre_Post_Condition): Adapt to handle pre/post of an - access-to-subprogram type. - (Analyze_Type_Contract): Analyze pre/post of an - access-to-subprogram. - * contracts.ads - (Analyze_Type_Contract): Adapt comment. - * sem_ch3.adb - (Build_Access_Subprogram_Wrapper): Copy pre/post aspects to - wrapper spec and keep it on the type. - * sem_prag.adb - (Analyze_Pre_Post_Condition): Expect pre/post aspects on - access-to-subprogram and complain if they appear without -gnat2022 - switch. - (Analyze_Pre_Post_Condition_In_Decl_Part): Adapt to handle - pre/post on an access-to-subprogram type entity. - * sem_attr.adb (Analyze_Attribute_Old_Result): Likewise. - (Result): Likewise. - -2023-05-26 Bob Duff - - * sem_ch3.adb - (Build_Derived_Record_Type): Temporarily set the state of the - Derived_Type to "self-hidden" while processing constraints - and discriminants of a record extension. - -2023-05-26 Bob Duff - - * einfo.ads: Add comma. - * contracts.adb: Fix typos. - * exp_attr.adb: Likewise. - * exp_ch5.adb: Likewise. - * exp_ch6.adb: Likewise. - * lib-xref.adb: Likewise. - -2023-05-26 Eric Botcazou - - * debug.adb (d.N): Document new usage. - * exp_ch4.adb (Expand_N_Type_Conversion): Copy the Float_Truncate - flag when rewriting a floating-point to fixed-point conversion as - a floating-point to integer conversion. - * exp_fixd.adb: Add with and use clauses for Debug. - (Expand_Convert_Fixed_To_Fixed): Generate a truncation in all cases - except if the result is explicitly rounded. - (Expand_Convert_Integer_To_Fixed): Likewise. - (Expand_Convert_Float_To_Fixed): Generate a truncation for all kind - of fixed-point types, except if the result is explicitly rounded, or - -gnatd.N is specified and the type is an ordinary fixed-point type. - * sinfo.ads (Float_Truncate): Document usage for floating-point to - fixed-point conversions. - -2023-05-26 Javier Miranda - - * exp_ch4.adb - (Expand_N_Allocator): If an allocator with constraints is called - in the return statement of a function returning a general access - type, then propagate to the itype the master of the general - access type (since it is the master associated with the - returned object). - -2023-05-26 Yannick Moy - - * sem_aggr.adb (Resolve_Record_Aggregate): Add dummy initialization and - assertion that clarifies when we reassigned to a useful value. - -2023-05-26 Yannick Moy - - * doc/gnat_rm/gnat_language_extensions.rst: Be more explicit on - pattern matching limitation. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2023-05-26 Yannick Moy - - * libgnat/a-calend.ads: Mark with SPARK_Mode=>Off the functions which may - raise Time_Error. - * libgnat/a-ngelfu.ads: Mark with SPARK_Mode=>Off the functions which may - lead to an overflow (which is not the case of Tan with one parameter for - example, or Arctanh or Arcoth, despite their mathematical range covering - the reals). - * libgnat/a-textio.ads: Remove Always_Return annotation from functions, as - this is now compulsory for functions to always return in SPARK. - * libgnat/i-cstrin.ads: Add Might_Not_Return annotation to Update procedure - which may not return. - -2023-05-26 Bob Duff - - * exp_put_image.adb (Build_Image_Call): Treat 'Img the same as - 'Image. - * exp_imgv.adb (Expand_Image_Attribute): If Discard_Names, expand - to 'Image instead of 'Img. - * snames.ads-tmpl, par-ch4.adb, sem_attr.adb, sem_attr.ads: - Cleanups: Rename Attribute_Class_Array to be Attribute_Set. Remove - unnecessary qualifications. DRY: Don't repeat "True". - -2023-05-26 Piotr Trojanek - - * sem_prag.adb (Record_Possible_Body_Reference): Remove call to Present. - * sem_util.adb (Find_Untagged_Type_Of): Likewise. - -2023-05-26 Eric Botcazou - - * exp_aggr.adb (Initialize_Array_Component): Remove obsolete code. - (Expand_Array_Aggregate): In the case where a temporary is created - and the parent is an assignment statement with No_Ctrl_Actions set, - set Is_Ignored_Transient on the temporary. - -2023-05-26 Eric Botcazou - - * sem_ch12.adb (Instantiate_Package_Body): Set the ghost mode to - that of the instance only after loading the generic's parent. - (Instantiate_Subprogram_Body): Likewise. - -2023-05-26 Piotr Trojanek - - * exp_ch4.adb (Expand_Set_Membership): Simplify by using Evolve_Or_Else. - -2023-05-26 Piotr Trojanek - - * exp_ch4.adb (Is_OK_Object_Reference): Replace loop with a call to - Unqual_Conv; consequently, change object from variable to constant; - replace an IF statement with an AND THEN expression. - -2023-05-26 Piotr Trojanek - - * exp_ch9.adb - (Build_Entry_Count_Expression): Remove loop over component declaration; - consequently remove a parameter that is no longer used; adapt callers. - (Make_Task_Create_Call): Refine type of a local variable. - -2023-05-26 Piotr Trojanek - - * sem_cat.adb (Check_Non_Static_Default_Expr): Detect components inside - loop, not in the loop condition itself. - -2023-05-26 Eric Botcazou - - * libgnat/a-cbdlli.ads (List): Move Nodes component to the end. - -2023-05-26 Eric Botcazou - - * libgnat/a-crdlli.ads (List): Move Nodes component to the end. - -2023-05-26 Eric Botcazou - - * sem_attr.adb (Is_Thin_Pointer_To_Unc_Array): New predicate. - (Resolve_Attribute): Apply the static matching legality rule to an - Unrestricted_Access attribute applied to an aliased prefix if the - type is a thin pointer. Call Is_Thin_Pointer_To_Unc_Array for the - aliasing legality rule as well. - -2023-05-26 Piotr Trojanek - - * sem_util.adb (Is_Null_Record_Definition): Use First_Non_Pragma and - Next_Non_Pragma to ignore pragmas within component list. - -2023-05-26 Piotr Trojanek - - * sem_prag.adb (Get_Argument): Improve detection of generic units. - -2023-05-26 Piotr Trojanek - - * sem_ch4.adb (Check_Action_OK): Replace low-level test with a - high-level routine. - * sem_ch13.adb (Is_Predicate_Static): Likewise. - -2023-05-26 Javier Miranda - - * exp_ch9.adb - (Expand_N_Conditional_Entry_Call): Factorize code to avoid - duplicating subtrees; required to avoid problems when the copied - code has implicit labels. - * sem_util.ads (New_Copy_Separate_List): Removed. - (New_Copy_Separate_Tree): Removed. - * sem_util.adb (New_Copy_Separate_List): Removed. - (New_Copy_Separate_Tree): Removed. - -2023-05-26 Piotr Trojanek - - * sem_ch13.adb (Check_Component_List): Local variable Compl is now - a constant; a nested block is no longer needed. - -2023-05-26 Piotr Trojanek - - * sem_aggr.adb - (Resolve_Record_Aggregate): Remove useless assignment. - * sem_aux.adb - (Has_Variant_Part): Remove useless guard; this routine is only called - on type entities (and now will crash in other cases). - * sem_ch3.adb - (Create_Constrained_Components): Only assign Assoc_List when necessary; - tune whitespace. - (Is_Variant_Record): Refactor repeated calls to Parent. - * sem_util.adb - (Gather_Components): Assert that discriminant association has just one - choice in component_association; refactor repeated calls to Next. - * sem_util.ads - (Gather_Components): Tune whitespace in comment. - -2023-05-26 Piotr Trojanek - - * sem_ch3.adb (Check_CPP_Type_Has_No_Defaults): Iterate with - First_Non_Pragma and Next_Non_Pragma. - * exp_dist.adb (Append_Record_Traversal): Likewise. - -2023-05-26 Javier Miranda - - * exp_ch9.adb (Build_Class_Wide_Master): Remember internal blocks - that have a task master entity declaration. - (Build_Master_Entity): Code cleanup. - * sem_util.ads (Is_Internal_Block): New subprogram. - * sem_util.adb (Is_Internal_Block): New subprogram. - -2023-05-26 Piotr Trojanek - - * sem_util.adb (Gather_Components): Remove guard for empty list of - components. - -2023-05-26 Eric Botcazou - - * back_end.adb (Call_Back_End): Add gigi_standard_address to the - signature of the gigi procedure and alphabetize other parameters. - Pass Standard_Address as actual parameter for it. - * cstand.adb (Create_Standard): Do not set Is_Descendant_Of_Address - on Standard_Address. - * gcc-interface/gigi.h (gigi): Add a standard_address parameter and - alphabetize others. - * gcc-interface/trans.cc (gigi): Likewise. Record a builtin address - type and save it as the type for Standard.Address. - -2023-05-26 Ghjuvan Lacambre - - * exp_disp.adb (Expand_Dispatching_Call): Handle new Controlling_Tag. - * sem_scil.adb (Check_SCIL_Node): Treat N_Object_Renaming_Declaration as - N_Object_Declaration. - -2023-05-26 Piotr Trojanek - - * exp_aggr.adb - (Build_Constrained_Type): Remove local constants that were shadowing - equivalent global constants; replace a wrapper that calls - Make_Integer_Literal with a numeric literal; remove explicit - Aliased_Present parameter which is equivalent to the default value. - (Check_Bounds): Remove unused initial value. - (Expand_Array_Aggregate): Use aggregate type from the context. - -2023-05-26 Eric Botcazou - - * einfo.ads (Delay_Cleanups): Document new usage. - * exp_ch7.ads (Build_Finalizer): New declaration. - * exp_ch7.adb (Build_Finalizer.Process_Declarations): Do not treat - library-level package instantiations specially. - (Build_Finalizer): Return early for package bodies and specs that - are not compilation units instead of using a more convoluted test. - (Expand_N_Package_Body): Do not build a finalizer if Delay_Cleanups - is set on the defining entity. - (Expand_N_Package_Declaration): Likewise. - * inline.ads (Pending_Body_Info): Reorder and add Fin_Scop. - (Add_Pending_Instantiation): Add Fin_Scop parameter. - * inline.adb (Add_Pending_Instantiation): Likewise and copy it into - the Pending_Body_Info appended to Pending_Instantiations. - (Add_Scope_To_Clean): Change parameter name to Scop and remove now - irrelevant processing. - (Cleanup_Scopes): Deal with scopes that are package specs or bodies. - (Instantiate_Body): For package instantiations, deal specially with - scopes that are package bodies and with scopes that are dynamic. - Pass the resulting scope to Add_Scope_To_Clean directly. - * sem_ch12.adb (Analyze_Package_Instantiation): In the case where a - body is needed, compute the enclosing finalization scope and pass it - in the call to Add_Pending_Instantiation. - (Inline_Instance_Body): Adjust aggregate passed in the calls to - Instantiate_Package_Body. - (Load_Parent_Of_Generic): Likewise. - -2023-05-26 Eric Botcazou - - * sem_util.adb (Compile_Time_Constraint_Error): Test the Ekind. - -2023-05-26 Piotr Trojanek - - * exp_aggr.adb (Build_Constrained_Type): Use List_Length to count - expressions in consecutive subaggregates. - -2023-05-26 Doug Rupp - - * libgnarl/s-osinte__qnx.ads (sigset_t): Modify - declaration to use system.os_constants computed - value. Align it. - -2023-05-26 Eric Botcazou - - * exp_sel.adb: Add clauses for Sem_Util, remove them for Opt, Sinfo - and Sinfo.Nodes. - (Build_K): Always use 'Tag of the object. - (Build_S_Assignment): Likewise. - -2023-05-26 Piotr Trojanek - - * accessibility.adb - (Is_Formal_Of_Current_Function): This routine expects an entity - reference and not the entity itself, so its parameter is a Node_Id - and not an Entity_Id. - -2023-05-26 Piotr Trojanek - - * exp_aggr.adb - (Build_Array_Aggr_Code): Change variable to constant. - (Check_Same_Aggr_Bounds): Fix style; remove unused initial value. - -2023-05-26 Ronan Desplanques - - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Create extra formals - in more situations. - -2023-05-26 Eric Botcazou - - * checks.adb (Selected_Range_Checks): Add guards to protect calls - to Expr_Value on bounds. - -2023-05-26 Eric Botcazou - - * sem_eval.ads (Is_Null_Range): Remove requirements of compile-time - known bounds and add WARNING line. - (Not_Null_Range): Remove requirements of compile-time known bounds. - * sem_eval.adb (Is_Null_Range): Fall back to Compile_Time_Compare. - (Not_Null_Range): Likewise. - * fe.h (Is_Null_Range): New predicate. - -2023-05-25 Javier Miranda - - * sem_aggr.adb - (Warn_On_Null_Component_Association): New subprogram. - (Empty_Range): Adding missing support for iterated component - association node. - (Resolve_Array_Aggregate): Report warning on iterated component - association that may initialize some component of an array of - null-excluding access type components with a null value. - * exp_ch4.adb - (Expand_N_Expression_With_Actions): Add missing type check since - the subtype of the EWA node and the subtype of the expression - may differ. - -2023-05-25 Piotr Trojanek - - * sem_util.adb (Determining_Expressions): Fix style; fix layout and - ordering of pragma names; expect pragma Exceptional_Cases. - -2023-05-25 Piotr Trojanek - - * einfo-utils.adb (Write_Entity_Info): Use procedural Next_Index. - * sem_aggr.adb (Collect_Aggr_Bounds): Reuse local constant. - (Resolve_Null_Array_Aggregate): Use procedural Next_Index. - -2023-05-25 Javier Miranda - - * exp_aggr.adb (Build_Record_Aggr_Code): Protect access to - aggregate components when the aggregate is empty. - -2023-05-25 Johannes Kliemann - - * libgnat/system-vxworks7-ppc-kernel.ads: Enable - Support_Atomic_Primitives. - * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise. - -2023-05-25 Eric Botcazou - - * sem_ch3.adb (Find_Type_Of_Object): Copy the object definition when - building the subtype declaration in the case of a spec expression. - -2023-05-25 Tom Tromey - - * Make-generated.in (ada/stamp-snames): Check result of - gnatmake. - -2023-05-25 Eric Botcazou - - * cstand.adb (Create_Standard): Set the Is_Descendant_Of_Address - flag on Standard_Address. - * freeze.adb (Freeze_Entity): Copy the modulus of System.Address - onto Standard_Address. - -2023-05-25 Eric Botcazou - - * libgnat/system-aix.ads (Address): Likewise. - * libgnat/system-darwin-arm.ads (Address): Likewise. - * libgnat/system-darwin-ppc.ads (Address): Likewise. - * libgnat/system-darwin-x86.ads (Address): Likewise. - * libgnat/system-djgpp.ads (Address): Likewise. - * libgnat/system-dragonfly-x86_64.ads (Address): Likewise. - * libgnat/system-freebsd.ads (Address): Likewise. - * libgnat/system-hpux-ia64.ads (Address): Likewise. - * libgnat/system-hpux.ads (Address): Likewise. - * libgnat/system-linux-alpha.ads (Address): Likewise. - * libgnat/system-linux-arm.ads (Address): Likewise. - * libgnat/system-linux-hppa.ads (Address): Likewise. - * libgnat/system-linux-ia64.ads (Address): Likewise. - * libgnat/system-linux-m68k.ads (Address): Likewise. - * libgnat/system-linux-mips.ads (Address): Likewise. - * libgnat/system-linux-ppc.ads (Address): Likewise. - * libgnat/system-linux-riscv.ads (Address): Likewise. - * libgnat/system-linux-s390.ads (Address): Likewise. - * libgnat/system-linux-sh4.ads (Address): Likewise. - * libgnat/system-linux-sparc.ads (Address): Likewise. - * libgnat/system-linux-x86.ads (Address): Likewise. - * libgnat/system-lynxos178-ppc.ads (Address): Likewise. - * libgnat/system-lynxos178-x86.ads (Address): Likewise. - * libgnat/system-mingw.ads (Address): Likewise. - * libgnat/system-qnx-arm.ads (Address): Likewise. - * libgnat/system-rtems.ads (Address): Likewise. - * libgnat/system-solaris-sparc.ads (Address): Likewise. - * libgnat/system-solaris-x86.ads (Address): Likewise. - * libgnat/system-vxworks-ppc-kernel.ads (Address): Likewise. - * libgnat/system-vxworks-ppc-rtp-smp.ads (Address): Likewise. - * libgnat/system-vxworks-ppc-rtp.ads (Address): Likewise. - * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Address): Likewise. - * libgnat/system-vxworks7-aarch64.ads (Address): Likewise. - * libgnat/system-vxworks7-arm-rtp-smp.ads (Address): Likewise. - * libgnat/system-vxworks7-arm.ads (Address): Likewise. - * libgnat/system-vxworks7-ppc-kernel.ads (Address): Likewise. - * libgnat/system-vxworks7-ppc-rtp-smp.ads (Address): Likewise. - * libgnat/system-vxworks7-ppc64-kernel.ads (Address): Likewise. - * libgnat/system-vxworks7-ppc64-rtp-smp.ads (Address): Likewise. - * libgnat/system-vxworks7-x86-kernel.ads (Address): Likewise. - * libgnat/system-vxworks7-x86-rtp-smp.ads (Address): Likewise. - * libgnat/system-vxworks7-x86_64-kernel.ads (Address): Likewise. - * libgnat/system-vxworks7-x86_64-rtp-smp.ads (Address): Likewise. - -2023-05-25 Marc Poulhiès - - * sem_ch13.adb (Check_Aspect_At_Freeze_Point): fix format string, - use existing local Ident. - -2023-05-25 Bob Duff - - * atree.adb (Check_Vanishing_Fields): Fix bug in the "blah type - only" cases. Remove the special cases for E_Void. Misc cleanup. - (Mutate_Nkind): Disallow mutating to the same kind. - (Mutate_Ekind): Disallow mutating to E_Void. - (From E_Void is still OK -- entities start out as E_Void by - default.) Fix bug in statistics gathering -- was setting the wrong - count. Enable Check_Vanishing_Fields for entities. - * sem_ch8.adb (Is_Self_Hidden): New function. - (Find_Direct_Name): Call Is_Self_Hidden to use the new - Is_Not_Self_Hidden flag to determine whether a declaration is - hidden from all visibility by itself. This replaces the old method - of checking E_Void. - (Find_Expanded_Name): Likewise. - (Find_Selected_Component): Likewise. - * sem_util.adb (Enter_Name): Remove setting of Ekind to E_Void. - * sem_ch3.adb: Set the Is_Not_Self_Hidden flag in appropriate - places. Comment fixes. - (Inherit_Component): Remove setting of Ekind to E_Void. - * sem_ch9.adb - (Analyze_Protected_Type_Declaration): Update comment. Skip Itypes, - which should not be turned into components. - * atree.ads (Mutate_Nkind): Document error case. - (Mutate_Ekind): Remove comments apologizing for E_Void mutations. - Document error cases. - -2023-05-25 Eric Botcazou - - * libgnat/a-ststio.adb (Set_Mode): Test System.Memory_Size. - * libgnat/g-debuti.ads (Address_64): Likewise. - * libgnat/i-c.ads: Add with clause for System. - (ptrdiff_t): Define based on the size of memory space. - (size_t): Likewise. - * libgnat/s-crtl.ads (size_t): Likewise. - (ssize_t): Likewise. - * libgnat/s-memory.ads (size_t): Likewise. - * libgnat/s-parame.ads (Size_Type): Likewise. - * libgnat/s-parame__hpux.ads (Size_Type): Likewise. - * libgnat/s-parame__posix2008.ads (Size_Type): Likewise. - * libgnat/s-parame__vxworks.ads (Size_Type): Likewise. - * libgnat/s-putima.adb (Signed_Address): Likewise. - (Unsigned_Address): Likewise. - * libgnat/s-stoele.ads (Storage_Offset): Likewise. - -2023-05-25 Piotr Trojanek - - * sem_util.adb (Visit_Node): Decrement EWA_Level with the same condition - as when it was incremented. - -2023-05-25 Piotr Trojanek - - * sem_util.ads (New_Copy_Tree): Remove Scopes_In_EWA_OK from spec; - adapt comment. - * sem_util.adb (New_Copy_Tree): Remove Scopes_In_EWA_OK from body; - adapt code. - -2023-05-25 Piotr Trojanek - - * sem_util.adb (Update_New_Entities): Remove redundant check for entity - map being present. - -2023-05-25 Piotr Trojanek - - * atree.adb (Copy_List): Call Copy_Separate_Tree for both entities and - other nodes. - -2023-05-25 Steve Baird - - * exp_attr.adb - (Cached_Streaming_Ops): A new package, providing maps to save - previously-generated Read/Write/Input/Output procedures. - (Expand_N_Attribute_Reference): When a new subprogram is generated - for a Read/Write/Input/Output attribute reference, record that - type/subp pair in the appropriate Cached_Streaming_Ops map. - (Find_Stream_Subprogram): Check the appropriate - Cached_Streaming_Ops map to see if an appropriate subprogram has - already been generated. If so, then return it. The appropriateness - test includes a call to a new nested subprogram, - In_Available_Context. - * exp_strm.ads, exp_strm.adb: Do not pass in a Loc parameter (or a - source-location-bearing Nod parameter) to the 16 procedures - provided for building streaming-related subprograms. Use the - source location of the type instead. - * exp_dist.adb, exp_ch3.adb: Adapt to Exp_Strm spec changes. For - these calls the source location of the type was already being - used. - -2023-05-25 Marc Poulhiès - - * sem_ch6.adb (Analyze_Function_Return): Add missing - Is_Access_Type check before accessing the Designated_Type field. - -2023-05-25 Piotr Trojanek - - * sem_ch6.adb (Analyze_Return_Type): Remove unused initial value. - -2023-05-25 Marc Poulhiès - - * sem_ch13.adb (Analyze_One_Aspect): Call Record_Rep_Item. - (Check_Aspect_At_Freeze_Point): Check the aspect is specified on - non-array type only... - (Analyze_One_Aspect): ... instead of doing it too early here. - * sem_aggr.adb (Resolve_Container_Aggregate): Do nothing in case - the parameters failed to resolve. - -2023-05-25 Piotr Trojanek - - * sem_util.adb (Check_Internal_Protected_Use): Add standard protection - against search going too far. - -2023-05-25 Piotr Trojanek - - * contracts.adb - (Add_Pre_Post_Condition): Mention new aspects in the comment. - * contracts.ads - (Add_Contract_Item): Likewise. - (Analyze_Subprogram_Body_Stub_Contract): Likewise. - * sem_prag.adb - (Contract_Freeze_Error): Likewise. - (Ensure_Aggregate_Form): Likewise. - * sem_prag.ads - (Find_Related_Declaration_Or_Body): Likewise. - * sinfo.ads - (Is_Generic_Contract_Pragma): Likewise. - -2023-05-25 Piotr Trojanek - - * aspects.ads - (Implementation_Defined_Aspect): Recently added aspects are - implementation-defined, just like Contract_Cases. - * sem_prag.ads - (Aspect_Specifying_Pragma): Recently added aspects have corresponding - pragmas, just like Contract_Cases. - (Pragma_Significant_To_Subprograms): Recently added aspects are - significant to subprograms, just like Contract_Cases. - -2023-05-25 Piotr Trojanek - - * sem_res.adb (Resolve_Entity_Name): Tune handling of formal parameters - in contract Exceptional_Cases. - -2023-05-25 Piotr Trojanek - - * par-ch7.adb (P_Package): Remove redundant guard from call to - Move_Aspects. - * par-ch9.adb (P_Task): Likewise. - * sem_ch6.adb (Analyze_Expression_Function, Is_Inline_Pragma): Likewise. - -2023-05-25 Eric Botcazou - - * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Use Get_Actual_Subtype - to retrieve the actual subtype for all actuals and do it in only one - place for all unconstrained composite formal types. - -2023-05-25 Piotr Trojanek - - * sem_prag.adb (Analyze_Pragma): Fix references to Exceptional_Cases in - code copied from handling of Subprogram_Variant. - -2023-05-25 Ronan Desplanques - - * sem_ch3.adb (Replace_Type): Add more documentation. - -2023-05-25 Ronan Desplanques - - * sem_ch3.adb (Replace_Type): Use existing constant wherever - possible. - -2023-05-25 Ronan Desplanques - - * sem_ch3.adb (Replace_Type): Reduce span of variable. - -2023-05-25 Bob Duff - - * sem_ch9.adb (Analyze_Protected_Type_Declaration): Set the flag - for protected types. - (Analyze_Single_Protected_Declaration): Likewise, for singleton - protected objects. - (Analyze_Task_Type_Declaration): Set the flag for task types. - (Analyze_Single_Task_Declaration): Likewise, for singleton task - objects. - * sem_ch10.adb (Decorate_Type): Set the flag for types treated as - incomplete. - (Build_Shadow_Entity): Set the flag for shadow entities. - (Decorate_State): Set the flag for an abstract state. - (Build_Limited_Views): Set the flag for limited view of package. - * sem_attr.adb (Check_Not_Incomplete_Type): Disable the check when - this is a current instance. - -2023-05-25 Ronan Desplanques - - * freeze.adb (Build_DTW_Body): Add appropriate type conversions for - controlling access parameters. - * sem_util.adb (Build_Overriding_Spec): Fix designated types in - controlling access parameters. - -2023-05-25 Bob Duff - - * gen_il-gen-gen_entities.adb (E_Label): Add - Entry_Cancel_Parameter. This is necessary because - Analyze_Implicit_Label_Declaration set the Ekind to E_Label. - Without this change, this field would fail the vanishing-fields - check in Atree (which is currently commented out). - * einfo.ads (Entry_Cancel_Parameter): Document for E_Label. - * sem_eval.adb (Why_Not_Static): Protect against previous errors - (no need to explain why something is not static if it's already - illegal for other reasons). - * sem_util.ads (Enter_Name): Fix misleading comment. - -2023-05-25 Eric Botcazou - - * einfo.ads (Scope_Depth): Fix circular definition. - (Scope_Depth_Value): Fix value for library units. - -2023-05-25 Piotr Trojanek - - * sem_ch11.adb (Analyze_Raise_Expression): Tune warning condition. - * libgnat/g-dirope.ads (Open): Remove a potentially inaccurate comment. - * libgnat/g-dirope.adb (Open): Remove a potentially useless assignment; - the Dir output parameter should be assigned a null value anyway by the - preceding call to Free. - -2023-05-25 Piotr Trojanek - - * sem_res.adb (Resolve_Entity_Name): Allow aliased parameters; tune - error message. - -2023-05-25 Marc Poulhiès - - * sem_ch13.adb (Analyze_One_Aspect): Mark Aggregate aspect as - needing delayed resolution and reject the aspect on non-array - type. - -2023-05-25 Bob Duff - - * sinfo-utils.adb: Update comment to refer to - New_Node_Debugging_Output. - -2023-05-25 Marc Poulhiès - - * rtsfind.adb (Load_RTU.Restore_SPARK_Context): New. - (Load_RTU): Use Restore_SPARK_Context on all exit paths. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Initialize local - variable to Empty. - -2023-05-25 Piotr Trojanek - - * sem_attr.adb - (Analyze_Attribute_Old_Result): Allow uses of 'Old and 'Result within - the new aspect. - * sem_res.adb - (Within_Exceptional_Cases_Consequence): New utility routine. - (Resolve_Entity_Name): Restrict use of formal parameters within the - new aspect. - -2023-05-23 Piotr Trojanek - - * aspects.ads - (Aspect_Id): Add aspect identifier. - (Aspect_Argument): New aspect accepts an expression. - (Is_Representation_Aspect): New aspect is not a representation - aspect. - (Aspect_Names): Associate name with the new aspect identifier. - (Aspect_Delay): New aspect is never delayed. - * contracts.adb - (Add_Contract_Item): Store new aspect among contract items. - (Analyze_Entry_Or_Subprogram_Contract): Likewise. - (Analyze_Subprogram_Body_Stub_Contract): Likewise. - (Process_Contract_Cases): Expand new aspect, if present. - * contracts.ads - (Analyze_Entry_Or_Subprogram_Body_Contract): Mention new aspect in - spec. - (Analyze_Entry_Or_Subprogram_Contract): Likewise. - * einfo-utils.adb - (Get_Pragma): Allow new aspect to be picked by the backend. - * einfo-utils.ads - (Get_Pragma): Mention new aspect in spec. - * exp_prag.adb - (Expand_Pragma_Exceptional_Cases): Dummy expansion routine. - * exp_prag.ads - (Expand_Pragma_Exceptional_Cases): Add spec for expansion routine. - * inline.adb - (Remove_Aspects_And_Pragmas): Remove aspect from bodies to inline. - * par-prag.adb - (Par.Prag): Accept pragma in the parser, so it will be checked - later. - * sem_ch12.adb - (Implementation of Generic Contracts): Mention new aspect in - comment. - * sem_ch13.adb - (Analyze_Aspect_Specifications): Transform new aspect info a - corresponding pragma. - * sem_prag.adb - (Analyze_Exceptional_Cases_In_Decl_Part): Analyze aspect - expression; heavily inspired by the existing code for analysis of - Subprogram_Variant and exception handlers. - (Analyze_Pragma): Analyze pragma corresponding to the new aspect. - (Is_Non_Significant_Pragma_Reference): Add new pragma to the - table. - * sem_prag.ads - (Assertion_Expression_Pragma): New pragma acts as an assertion - expression, even though it is not currently expanded. - (Analyze_Exceptional_Cases_In_Decl_Part): Add spec. - * sem_util.adb - (Is_Subprogram_Contract_Annotation): Mark new annotation is a - subprogram contract, so the subprogram with it won't be inlined. - * sem_util.ads - (Is_Subprogram_Contract_Annotation): Mention new aspect in - comment. - * sinfo.ads - (Contract_Test_Cases): Mention new aspect in comment. - * snames.ads-tmpl: Add entries for the new name and pragma. - -2023-05-23 Eric Botcazou - - * sem_ch13.adb (Build_Predicate_Functions): If the current scope - is not that of the type, push this scope and pop it at the end. - * sem_util.ads (Current_Scope_No_Loops_No_Blocks): Delete. - * sem_util.adb (Current_Scope_No_Loops_No_Blocks): Likewise. - (Set_Public_Status): Call again Current_Scope. - -2023-05-23 Gary Dismukes - - * exp_ch6.adb (Might_Have_Tasks): Remove unneeded Etype call from - call to Is_Limited_Record, since that flag is now properly - inherited by class-wide types. - * sem_ch3.adb (Analyze_Private_Extension_Declaration): Remove call - to Make_Class_Wide_Type, which is done too early, and will later - be done in Build_Derived_Record_Type after flags such as - Is_Limited_Record and Is_Controlled_Active have been set on the - derived type. - -2023-05-23 Patrick Bernardi - - * libgnat/s-stchop.adb (Stack_Check): Remove redundant parentheses. - -2023-05-23 Piotr Trojanek - - * freeze.adb (Freeze_Record_Type): Add tag for redundant pragma Pack. - * sem_aggr.adb (Resolve_Record_Aggregate): Add tag for redundant OTHERS - choice. - * sem_ch8.adb (Use_One_Type): Add tag for redundant USE clauses. - -2023-05-23 Piotr Trojanek - - * sem_ch11.adb - (Check_Duplication): Fix inconsistent iteration. - (Others_Present): Iterate over handlers using First_Non_Pragma and - Next_Non_Pragma just like in Check_Duplication. - -2023-05-23 Eric Botcazou - - * einfo.ads (Delay_Subprogram_Descriptors): Delete. - * gen_il-fields.ads (Opt_Field_Enum): Remove - Delay_Subprogram_Descriptors. - * gen_il-gen-gen_entities.adb (Gen_Entities): Likewise. - * gen_il-gen-gen_nodes.adb (N_Entry_Body): Add Corresponding_Spec. - * sinfo.ads (Corresponding_Spec): Document new use. - (N_Entry_Body): Likewise. - * exp_ch6.adb (Expand_Protected_Object_Reference): Be prepared for - protected subprograms that have been expanded. - * exp_ch7.adb (Expand_Cleanup_Actions): Remove unreachable code. - * exp_ch9.adb (Build_Protected_Entry): Add a local variable for the - new block and propagate Uses_Sec_Stack from the corresponding spec. - (Expand_N_Protected_Body) : Unconditionally reset - the scopes of top-level entities in the new body. - * inline.adb (Cleanup_Scopes): Do not adjust the scope on the fly. - * sem_ch9.adb (Analyze_Entry_Body): Set Corresponding_Spec. - * sem_ch12.adb (Analyze_Package_Instantiation): Remove obsolete code - setting Delay_Subprogram_Descriptors and tidy up. - * sem_util.adb (Scope_Within): Deal with protected subprograms that - have been expanded. - (Scope_Within_Or_Same): Likewise. - -2023-05-23 Eric Botcazou - - * libgnarl/s-taskin.ads (Atomic_Address): Delete. - (Attribute_Array): Add pragma Atomic_Components. - (Ada_Task_Control_Block): Adjust default value of Attributes. - * libgnarl/s-tasini.adb (Finalize_Attributes): Adjust type of local - variable. - * libgnarl/s-tataat.ads (Deallocator): Adjust type of parameter. - (To_Attribute): Adjust source type. - * libgnarl/a-tasatt.adb: Add clauses for System.Storage_Elements. - (New_Attribute): Adjust return type. - (Deallocate): Adjust type of parameter. - (To_Real_Attribute): Adjust source type. - (To_Address): Add target type. - (To_Attribute): Adjust source type. - (Fast_Path): Adjust tested type. - (Finalize): Compare with Null_Address. - (Reference): Likewise. - (Reinitialize): Likewise. - (Set_Value): Likewise. Add conversion to Integer_Address. - (Value): Likewise. - -2023-05-23 Raphael Amiard - - * scng.adb (Scan): Replace occurrences of All_Extensions_Allowed - by Core_Extensions_Allowed. - -2023-05-23 Claire Dross - - * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Use new helpers. - * libgnat/s-vauspe.ads (Raw_Unsigned_Starts_As_Based_Ghost, - Raw_Unsigned_Is_Based_Ghost): New ghost helper functions. - (Is_Raw_Unsigned_Format_Ghost, Scan_Split_No_Overflow_Ghost, - Scan_Split_Value_Ghost, Raw_Unsigned_Last_Ghost): Use new - helpers. - -2023-05-23 Arnaud Charlet - - * par-ch5.adb, style.ads, styleg.adb, styleg.ads - (Check_Xtra_Parens): Remove extra parameter Enable. - (Check_Xtra_Parens_Precedence): New. - (P_Case_Statement): Add -gnatyx style check. - * sem_ch4.adb: Replace calls to Check_Xtra_Parens by - Check_Xtra_Parens_Precedence. - * stylesw.ads, stylesw.adb, usage.adb: Add support for - -gnatyz. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Update -gnatyxzg doc. - * sem_prag.adb, libgnat/s-regpat.adb, - libgnarl/s-interr__hwint.adb, libgnarl/s-interr__vxworks.adb: - Remove extra parens. - * par-ch3.adb (P_Discrete_Range): Do not emit a style check if - the expression is not a simple expression. - * gnat_ugn.texi: Regenerate. - -2023-05-23 Eric Botcazou - - * libgnat/s-dwalin.adb (Enable_Cache): Use the subtract operator of - System.Storage_Elements to compute the offset. - (Symbolic_Address): Likewise. - -2023-05-23 Eric Botcazou - - * sem_res.adb (Resolve_Intrinsic_Operator): Always perform the same - resolution for the special mod operator of System.Storage_Elements. - -2023-05-23 Raphael Amiard - - * doc/gnat_rm.rst, doc/gnat_rm/gnat_language_extensions.rst, - doc/gnat_rm/implementation_defined_pragmas.rst: - * gnat_rm.texi: Regenerate. - -2023-05-23 Eric Botcazou - - * exp_ch4.adb (Expand_N_Op_Mod): Adjust the detection of the special - operator of System.Storage_Elements. Do not rewrite it into a rem. - * sem_res.adb (Resolve_Intrinsic_Operator): Use the base type of the - left operand for the special mod operator of System.Storage_Elements - -2023-05-23 Vadim Godunko - - * libgnat/a-coinho__shared.adb (Constant_Reference): Remove call - of Detach - (Query_Element): Likewise. - -2023-05-23 Ronan Desplanques - - * sem_disp.adb: Fix reference to Ada issue in comment. - -2023-05-23 Eric Botcazou - - * exp_disp.adb (Expand_Dispatching_Call): In the abstract interface - class-wide case, use 'Tag of the object as the controlling tag. - (Expand_Interface_Thunk): Perform address arithmetic using operators - of System.Storage_Elements. - -2023-05-23 Eric Botcazou - - * libgnat/i-cpoint.adb: Add clauses for System.Storage_Elements. - (Addr): Delete. - (Offset): New subtype of Storage_Offset. - (To_Offset): New instance of Unchecked_Conversion. - (To_Pointer): Adjust. - (To_Addr): Likewise. - (To_Ptrdiff): Likewise. - ("+"): Call To_Offset on the offset. - ("-"): Likewise. - * libgnat/s-bituti.adb: Add clauses for System.Storage_Elements. - (Val_Bytes): Change type to Storage_Count. - (Get_Val_2): Add qualification to second operand of mod operator. - (Set_Val_2): Likewise. - (Copy_Bitfield): Likewise. Change type of Src_Adjust & Dest_Adjust. - * libgnat/s-stratt.ads (Thin_Pointer): Change to subtype of Address. - * libgnat/s-statxd.adb (I_AD): Adjust. - (I_AS): Likewise. - (W_AS): Likewise. - -2023-05-23 Steve Baird - - * sem_util.adb - (Is_Variable): Correctly return False for a selected component - name of the form Some_Object.Some_Discriminant, even if - Some_Object is a variable. We don't want to allow such a name as - an actual parameter in a call if the corresponding formal - parameter's mode is not "in". - -2023-05-23 Yannick Moy - - * sem_util.adb (Check_Node): Add default init on local Id. - -2023-05-23 Yannick Moy - - * libgnat/i-c.adb (To_Ada): Add loop invariant. - -2023-05-23 Eric Botcazou - - * exp_ch4.adb (Expand_N_Op_Mod): Deal with the special mod - operator of System.Storage_Elements. - * exp_intr.adb (Expand_To_Integer): New procedure. - (Expand_Intrinsic_Call): Call Expand_To_Integer appropriately. - (Expand_To_Address): Deal with an argument with modular type. - * sem_ch3.adb (Derive_Subprogram): Also set convention Intrinsic - on a derived intrinsic subprogram. - * sem_res.adb (Resolve_Arithmetic_Op): Deal with intrinsic - operators not coming from source exactly as those coming from - source and also generate a reference in both cases. - (Resolve_Op_Expon): Likewise. - (Resolve_Intrinsic_Operator): Call Implementation_Base_Type to get - a nonprivate base type. - * snames.ads-tmpl (Name_To_Integer): New intrinsic name. - * libgnat/s-stoele.ads: Replace pragma Convention with pragma - Import throughout and remove pragma Inline_Always and - Pure_Function. - * libgnat/s-stoele.adb: Replace entire contents with pragma - No_Body. - * libgnat/s-atacco.adb: Adjust comment about pragma No_Body. - -2023-05-23 Javier Miranda - - * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove - call to preanalyze class-wide conditions since here it is too - early; they must be preanalyzed when full views of private types - have been analyzed. - * sem_ch7.adb (Analyze_Package_Specification): Preanalyze - class-wide conditions of dispatching primitives defined in nested - packages. - -2023-05-23 Piotr Trojanek - - * errout.adb (Last_Sloc): Refactor a heavily repeated "S := S + 1" - statement into a subprogram; replace assertions with defensive code; - fix few more off-by-one errors. - -2023-05-23 Ronan Desplanques - - * einfo.ads: Mention full name of LSP. - -2023-05-23 Piotr Trojanek - - * errout.adb (Last_Sloc): Rewrite skipping past numeric literals. - -2023-05-23 Eric Botcazou - - * sem_ch13.adb (Build_Predicate_Function_Declaration): Adjust the - commentary to the current implementation. - * sem_util.ads (Current_Scope_No_Loops): Move around. - (Current_Scope_No_Loops_No_Blocks): New declaration. - (Add_Block_Identifier): Fix formatting. - * sem_util.adb (Add_Block_Identifier): Likewise. - (Current_Scope_No_Loops_No_Blocks): New function. - (Set_Public_Status): Call Current_Scope_No_Loops_No_Blocks instead - of Current_Scope to get the current scope. - -2023-05-23 Eric Botcazou - - * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Do not - manually generate a predicate check. Call Unqualify before doing - pattern matching on the expression. - * sem_ch3.adb (Analyze_Object_Declaration): Also freeze the actual - subtype when it is built in the definite case. - -2023-05-23 Piotr Trojanek - - * libgnarl/s-interr.adb - (Registered_Handler): Remove default expression. - (Registered_Handlers): Switch to singly-linked list. - (Bind_Interrupt_To_Entry): Sync whitespace with other unit variants. - (Is_Registered): Use singly-linked list. - (Register_Interrupt_Handler): Use singly-linked list and initialized - allocator; sync assertion with other unit variants. - * libgnarl/s-interr__sigaction.adb: Likewise. - * libgnarl/s-interr__vxworks.adb: Likewise. - * libgnarl/s-interr__hwint.adb: Likewise. - (Is_Registered): Remove repeated declaration. - -2023-05-23 Piotr Trojanek - - * pprint.adb (Expression_Image): Restore some of the old pretty-printing - for CodePeer. - -2023-05-23 Piotr Trojanek - - * errout.adb (First_And_Last_Nodes): Ignore accessibility parameters. - -2023-05-23 Piotr Trojanek - - * exp_ch4.adb (Expand_N_Op_Ne): Simply don't add extra parens. - -2023-05-23 Piotr Trojanek - - * pprint.adb (Expression_Image): Move Count_Parentheses and - Fix_Parentheses routines from GNATprove and apply them before - returning the slice of a source code buffer. - -2023-05-23 Piotr Trojanek - - * errout.adb - (Paren_Required): New subsidiary routine for better handling of - parentheses in First_Node/Last_Node. - (First_Sloc, Last_Sloc): Use Get_Source_File_Index to correctly - handle generic instances and inlined subprograms; tune handling of - parentheses; improve handling of literals. - * pprint.adb (Expression_Image): Simplify using - First_Sloc/Last_Sloc. - * sem_ch6.adb (Analyze_Expression_Function): Remove parenthesis - when relocating expression from expression function to simple - return statement. - -2023-05-23 Piotr Trojanek - - * exp_prag.adb (Expand_Pragma_Check): Suppress warning for checks of - subprogram variants. - -2023-05-23 Eric Botcazou - - * frontend.adb (Frontend): Merge two conditional blocks and adjust. - -2023-05-23 Piotr Trojanek - - * libgnat/s-mmap.adb (Mapped_Region_Record): Fix typo in comment. - -2023-05-23 Ronan Desplanques - - * sem_ch7.adb: Remove duplicate comment. - -2023-05-23 Javier Miranda - - * sem_ch10.adb - (Analyze_Required_Limited_With_Units): New subprogram. - (Depends_On_Limited_Views): New subprogram. - (Has_Limited_With_Clauses): New subprogram. - (Analyze_Compilation_Unit): Call the new subprogram that performs - the full analysis of required limited-with units. - -2023-05-22 Ronan Desplanques - - * cstand.adb: Use more idiomatic procedure. - -2023-05-22 Piotr Trojanek - - * errout.adb (First_Loc): Avoid repeated calls. - (Last_Loc): Likewise. - -2023-05-22 Eric Botcazou - - * inline.adb (Cleanup_Scopes): Do not propagate the Uses_Sec_Stack - flag from original to rewritten protected subprograms here... - * exp_ch9.adb (Expand_N_Protected_Body) : - ...but here instead. Add local variables and remove a useless - test. - -2023-05-22 Eric Botcazou - - * exp_ch7.adb (Expand_N_Package_Body): Call Defining_Entity to get - the entity of the body. - -2023-05-22 Piotr Trojanek - - * exp_attr.adb (Expand_Loop_Entry_Attribute): Use location of the - attribute reference, not of the loop statement. - -2023-05-22 Ronan Desplanques - - * par-ch3.adb: Add missing word in comment. - -2023-05-22 Justin Squirek - - * checks.adb (Install_Null_Excluding_Check): Avoid non-null - optimizations when assertions are enabled. - -2023-05-22 Marc Poulhiès - - * exp_aggr.adb (Process_Transient_Component): Reset Analyzed flag - for the copy of the initialization expression. - * sem_attr.adb (Validate_Non_Static_Attribute_Function_Call): Skip - error emission during Pre_Analyze. - -2023-05-22 Eric Botcazou - - * exp_ch7.adb (Process_Package_Body): New procedure taken from... - (Build_Finalizer.Process_Declarations): ...here. Call the above - procedure to deal with both package bodies and package body stubs. - -2023-05-22 Ronan Desplanques - - * atree.ads: Remove outdated part of comment. - -2023-05-22 Eric Botcazou - - * exp_ch7.adb (Build_Finalizer): Reverse the test comparing the - instantiation and declaration nodes of a package instance, and - therefore bail out only when they are equal. Adjust comments. - (Expand_N_Package_Declaration): Do not clear the Finalizer field. - * lib-writ.adb: Add with and use clauses for Sem_Util. - (Write_Unit_Information): Look at unit nodes to find finalizers. - * sem_ch12.adb (Analyze_Package_Instantiation): Beef up the comment - about the rewriting of the instantiation node into a declaration. - -2023-05-22 Bob Duff - - * cstand.adb (Is_Past_Self_Hiding_Point): Rename to be - Is_Not_Self_Hidden. - * einfo.ads: Likewise. - * exp_aggr.adb: Likewise. - * gen_il-fields.ads: Likewise. - * gen_il-gen-gen_entities.adb: Likewise. - * sem.adb: Likewise. - * sem_aggr.adb: Likewise. - * sem_ch11.adb: Likewise. - * sem_ch12.adb: Likewise. - * sem_ch5.adb: Likewise. - * sem_ch6.adb: Likewise. - * sem_ch7.adb: Likewise. - * sem_prag.adb: Likewise. - -2023-05-22 Eric Botcazou - - * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create the body - as the expanded body of an expression function. - -2023-05-22 Piotr Trojanek - - * pprint.adb (Expression_Image): Handle several previously unsupported - constructs. - -2023-05-22 Piotr Trojanek - - * sem_res.adb (Resolve_Entity_Name): Combine two IF statements that - execute code only for references that come from source. - -2023-05-22 Bob Duff - - * einfo.ads (Is_Past_Self_Hiding_Point): Document. - * gen_il-fields.ads (Is_Past_Self_Hiding_Point): Add to list of - fields. - * gen_il-gen-gen_entities.adb (Is_Past_Self_Hiding_Point): Declare - in all entities. - * exp_aggr.adb: Set Is_Past_Self_Hiding_Point as appropriate. - * sem.adb: Likewise. - * sem_aggr.adb: Likewise. - * sem_ch11.adb: Likewise. - * sem_ch12.adb: Likewise. - * sem_ch5.adb: Likewise. - * sem_ch7.adb: Likewise. - * sem_prag.adb: Likewise. - * sem_ch6.adb: Likewise. - (Set_Formal_Mode): Minor cleanup: Move from spec. - * sem_ch6.ads: - (Set_Formal_Mode): Minor cleanup: Move to body. - * cstand.adb: Call Set_Is_Past_Self_Hiding_Point on all entities - as soon as they are created. - * comperr.adb (Compiler_Abort): Minor cleanup -- use 'in' instead - of 'or else'. - * debug.adb: Minor comment cleanups. - -2023-05-22 Steve Baird - - * sem_ch4.adb (Analyze_Expression_With_Actions.Check_Action_Ok): - Accept an executable pragma occuring in a declare expression as - per AI22-0045. This means Assert and Inspection_Point pragmas as - well as any implementation-defined pragmas that the implementation - chooses to categorize as executable. Currently Assume and Debug - are the only such pragmas. - -2023-05-22 Piotr Trojanek - - * sem_prag.adb - (Check_Postcondition_Use_In_Inlined_Subprogram): Mention - Subprogram_Variant in the comment. - (Analyze_Subprogram_Variant_In_Decl_Part): Warn when contract is - ignored because of pragma Inline_Always and frontend inlining. - -2023-05-22 Piotr Trojanek - - * sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram): Only - emit warning when frontend inlining is enabled. - -2023-05-22 Arnaud Charlet - - * par-ch3.adb, sem_ch4.adb (P_Discrete_Range, Analyze_Logical_Op, - Analyze_Short_Circuit): Add calls to Check_Xtra_Parentheses. - * par-ch5.adb (P_Condition): Move logic to Check_Xtra_Parentheses. - * style.ads, styleg.adb, styleg.ads (Check_Xtra_Parens): Move logic - related to expressions requiring parentheses here. - -2023-05-22 Arnaud Charlet - - * ali-util.adb, par-endh.adb, par-prag.adb, par-ch2.adb, - checks.adb, fmap.adb, libgnat/a-nbnbig.ads, libgnat/g-dynhta.adb, - libgnat/s-carun8.adb, libgnat/s-strcom.adb, libgnat/a-dhfina.adb, - libgnat/a-direct.adb, libgnat/a-rbtgbo.adb, libgnat/a-strsea.adb, - libgnat/a-ststio.adb, libgnat/a-suenco.adb, libgnat/a-costso.adb, - libgnat/a-strmap.adb, libgnat/g-alleve.adb, - libgnat/g-debpoo.adb, libgnat/g-sercom__linux.adb, - libgnat/s-genbig.adb, libgnat/s-mmap.adb, libgnat/s-regpat.adb, - par-ch5.adb, sem_case.adb, sem_ch12.adb, sem_ch13.adb, - sem_ch8.adb, sem_eval.adb, sem_prag.adb, sem_type.adb, - exp_ch11.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, - exp_ch6.adb, exp_ch9.adb, exp_put_image.adb, freeze.adb, live.adb, - sem_aggr.adb, sem_cat.adb, sem_ch10.adb, sem_ch3.adb, sem_ch6.adb, - sem_ch9.adb, sem_disp.adb, sem_elab.adb, sem_res.adb, - sem_util.adb, sinput.adb, uintp.adb, bcheck.adb, binde.adb, - binderr.adb, einfo-utils.adb, clean.adb, sem_ch4.adb, gnatls.adb, - gprep.adb, sem_ch11.adb: Remove extra parentheses. - -2023-05-22 Arnaud Charlet - - * sem_aggr.adb (Get_Value): Use ?? instead of ?. - -2023-05-22 Piotr Trojanek - - * exp_aggr.adb (Aggregate_Size): Remove redundant calls to - Present. - * exp_ch5.adb (Expand_N_If_Statement): Likewise. - * sem_prag.adb (Analyze_Pragma): Likewise. - * sem_warn.adb (Find_Var): Likewise. - -2023-05-22 Claire Dross - - * sem_util.adb (Find_Actual): On calls through dereferences, - return the corresponding formal in the designated subprogram - profile. - -2023-05-22 Piotr Trojanek - - * sem_util.ads (Is_Actual_Tagged_Parameter): Remove spec. - * sem_util.adb (Is_Actual_Tagged_Parameter): Remove body. - -2023-05-22 Joffrey Huguet - - * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads - (To_Unbounded_String): Add postcondition. Add aspect SPARK_Mode - Off on the version that takes a Natural as parameter. - (To_String): Complete postcondition. - (Set_Unbounded_String): Add postcondition. - (Element): Likewise. - ("="): Likewise. - -2023-05-22 Eric Botcazou - - * exp_ch3.adb (Freeze_Type): Do not associate the Finalize_Address - routine for a class-wide type if restriction No_Dispatching_Calls - is in effect. - -2023-05-22 Eric Botcazou - - * libgnat/s-genbig.ads (From_Bignum): New overloaded declarations. - * libgnat/s-genbig.adb (LLLI): New subtype. - (LLLI_Is_128): New boolean constant. - (From_Bignum): Change the return type of the signed implementation - to Long_Long_Long_Integer and add support for the case where its - size is 128 bits. Add a wrapper around it for Long_Long_Integer. - Add an unsigned implementation returning Unsigned_128 and a wrapper - around it for Unsigned_64. - (To_Bignum): Test LLLI_Is_128 instead of its size. - (To_String.Image): Add qualification to calls to From_Bignum. - * libgnat/a-nbnbin.adb (To_Big_Integer): Likewise. - (Signed_Conversions.From_Big_Integer): Likewise. - (Unsigned_Conversions): Likewise. - -2023-05-22 Eric Botcazou - - * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec - to copy the spec from the subprogram to the generated subprogram - body. - (Freeze_Entity): Do not wrap imported subprograms inside generics. - -2023-05-22 Steve Baird - - * sem_ch4.adb (Analyze_Expression_With_Actions.Check_Action_Ok): - If Comes_From_Source (A) is False, then look at Original_Node (A) - instead of A. In particular, if an (illegal) expression function - is transformed into a "vanilla" function, we don't want to allow - it just because Comes_From_Source is now False. - -2023-05-22 Steve Baird - - * sem_prag.adb (Analyze_Pragma): In Check_No_Return, call - Error_Msg_Ada_2022_Feature in the case of a function. Remove code - outside of Check_No_Return that was querying Ada_Version. - -2023-05-22 Eric Botcazou - - * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action): Do - not look into nested blocks. - -2023-05-22 Eric Botcazou - - * sem_ch3.adb (Find_Type_Of_Object): In a spec expression, also set - the Scope of the type, and call Constrain_Array for array subtypes. - -2023-05-22 Piotr Trojanek - - * pprint.adb (Expression_Image): Reduce scope of local variables; inline - local uncommented constant From_Source; concatenate string with a single - character, as it is likely to execute faster; add missing cases to - traversal for the rightmost node and assertion to demonstrate that the - ??? comment is no longer relevant. - -2023-05-22 Piotr Trojanek - - * pprint.adb (Expr_Name): Qualify CASE expression with N_Subexpr; add - missing alternative for N_Raise_Storage_Error; remove dead alternatives; - explicitly list unsupported alternatives. - -2023-05-22 Piotr Trojanek - - * pprint.adb (Expr_Name): Exclude DEL from printable range. - -2023-05-22 Piotr Trojanek - - * sem_util.ads (New_Copy_Tree): Update comment. - * sem_util.adb (New_Copy_Tree): Update Controlling_Argument, very - much like we update the First/Next_Named_Association. - -2023-05-22 Bob Duff - - * fe.h: Remove Ada_With_Extensions and add commentary. - * opt.ads: Rearrange code and add commentary. - -2023-05-22 Bob Duff - - * sem_util.adb (Process_Type): Stop the recursion. - * exp_aggr.adb (Build_Record_Aggr_Code): Add assertion. - -2023-05-18 Bernhard Reutner-Fischer - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Use _P defines - from tree.h. - (constructor_address_p): Ditto. - (elaborate_expression_1): Ditto. - * gcc-interface/trans.cc (Identifier_to_gnu): Ditto. - (is_nrv_p): Ditto. - (Subprogram_Body_to_gnu): Ditto. - (gnat_to_gnu): Ditto. - (gnat_to_gnu_external): Ditto. - (add_decl_expr): Ditto. - (gnat_gimplify_expr): Ditto. - * gcc-interface/utils.cc (create_var_decl): Ditto. - * gcc-interface/utils2.cc (get_base_type): Ditto. - (build_binary_op): Ditto. - (build_unary_op): Ditto. - (gnat_protect_expr): Ditto. - (gnat_invariant_expr): Ditto. - -2023-05-16 Steve Baird - - * usage.adb: Generate output text describing the -gnatw_s switch - (and the corresponding -gnatw_S switch). - -2023-05-16 Eric Botcazou - - * exp_attr.adb (Expand_N_Attribute_Reference) : - Use the canonical accumulator type as the type of the accumulator - in the prefixed case. - -2023-05-16 Eric Botcazou - - * exp_aggr.adb (Expand_Array_Aggregate): Do not set Warnings_Off on - the temporary created when in-place expansion is not possible. - -2023-05-16 Eric Botcazou - - * freeze.adb (Freeze_Expression): When the freezing is to be done - outside the current scope, skip any scope that is an internal loop. - -2023-05-16 Eric Botcazou - - * exp_imgv.adb (Rewrite_Object_Image): If the prefix is a component - that depends on a discriminant, create an actual subtype for it. - -2023-05-16 Eric Botcazou - - * sem_ch13.adb: Add with and use clauses for Expander. - (Resolve_Aspect_Expressions) : Emulate a - bona-fide preanalysis setup before calling - Resolve_Aspect_Expression. - -2023-05-16 Yannick Moy - - * libgnat/s-aridou.adb (Lemma_Div_Pow2): Add assertion. - * libgnat/s-arit32.adb (Lemma_Abs_Div_Commutation): Simplify. - * libgnat/s-expmod.adb (Lemma_Exp_Mod): Add assertions. - (Lemma_Euclidean_Mod): Add body to lemma. - (Lemma_Mult_Mod): Add assertion. - * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Modify assertion. - * libgnat/s-vauspe.ads (Raw_Unsigned_Last_Ghost): Add - postcondition. - * libgnat/s-widthi.adb: Use more precise types. - -2023-05-16 Eric Botcazou - - * sem_res.adb (Has_Applicable_User_Defined_Literal): Apply the - same processing for derived untagged types as for tagged types. - * sem_util.ads (Corresponding_Primitive_Op): Adjust description. - * sem_util.adb (Corresponding_Primitive_Op): Handle untagged - types. - -2023-05-16 Javier Miranda - - * sem_attr.adb - (Analyze_Attribute_Old_Result): When preanalyzing a class-wide - condition, search in the scopes stack for the subprogram that has - the condition. This is required because returning the current - scope causes reporting spurious errors when the occurrence of the - attribute is found, for example, in a quantified expression. - -2023-05-16 Javier Miranda - - * exp_ch6.adb - (Needs_BIP_Alloc_Form): Return False for functions with foreign - convention since we never use build-in-place for such functions. - -2023-05-16 Piotr Trojanek - - * sem_util.adb (Aggregate_Constraint_Checks): Don't exit early - when preanalysing in GNATprove mode. Now the condition is - consistent with other similar conditions in other code. - -2023-05-16 Ghjuvan Lacambre - - * usage.adb (Usage): Document -gnatyD. - -2023-05-16 Marc Poulhiès - - * libgnat/s-tsmona__linux.adb (link_map, r_debug_type): Add - 'aliased' on all components. - -2023-05-16 Johannes Kliemann - - * libgnat/system-linux-ppc.ads: Add Support_Atomic_Primitives. - * libgnat/s-atopri__32.ads: Add 32 bit version of s-atopri.ads. - * Makefile.rtl: Use s-atopro__32.ads for ppc-linux. - -2023-05-16 Eric Botcazou - - * sem_util.adb (Get_Actual_Subtype): For an explicit dereference, - return the Actual_Designated_Subtype if it is present. - (Get_Actual_Subtype_If_Available): Likewise. - -2023-05-16 Arnaud Charlet - - * errout.ads: Update comment. - * errout.adb (Skip_Msg_Insertion_Warning): Update to take e.g. - -gnatyM into account. - * erroutc.adb (Get_Warning_Option, Get_Warning_Tag) - (Prescan_Message): Add support for Style tags. - * par-ch5.adb, par-ch6.adb, par-ch7.adb, par-endh.adb, - par-util.adb, style.adb, styleg.adb: Set tag on all style - messages. - -2023-05-16 Tom Tromey - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst - (Switches_for_gnatbind): Fix typo. - * libgnat/g-spipat.ads: Fix typo. - * gnat_ugn.texi: Regenerate. - -2023-05-16 Eric Botcazou - - * exp_aggr.adb (Build_Assignment_With_Temporary): Adjust comment - and fix type of second parameter. Create the temporary on the - secondary stack by calling Build_Temporary_On_Secondary_Stack. - (Convert_Array_Aggr_In_Allocator): Adjust formatting. - (Expand_Array_Aggregate): Likewise. - * exp_ch4.adb (Expand_N_Allocator): Set Actual_Designated_Subtype - on the dereference in the initialization for all composite types. - * exp_ch5.adb (Expand_N_Assignment_Statement): Create a temporary - on the host for an assignment between nonnative storage models. - Suppress more checks when Suppress_Assignment_Checks is set. - * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Deal with actuals - that are dereferences with an Actual_Designated_Subtype. Add - support for nonnative storage models. - (Expand_Actuals): Create a copy if the actual is a dereference - with a nonnative storage model. - * exp_util.ads (Build_Temporary_On_Secondary_Stack): Declare. - * exp_util.adb (Build_Temporary_On_Secondary_Stack): New function. - * sem_ch5.adb (Analyze_Assignment.Set_Assignment_Type): Do not - build an actual subtype for dereferences with an - Actual_Designated_Subtype - * sinfo.ads (Actual_Designated_Subtype): Adjust documentation. - (Suppress_Assignment_Checks): Likewise. - -2023-05-16 Piotr Trojanek - - * exp_spark.adb (SPARK_Freeze_Type): Copy whole handling of DIC - and Type_Invariant from Freeze_Type. - -2023-05-16 Richard Kenner - - * sem_util.adb (Subprogram_Name): If what's passed is already an - entity, use that for the name. - -2023-05-16 Eric Botcazou - - * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst - (No_Dependence): Give examples of new No_Dependence restrictions. - * gnat_rm.texi: Regenerate. - -2023-05-16 Arnaud Charlet - - * snames.ads-tmpl (Name_ASCII): New. - * style.adb (Check_Identifier): Fix handling of ASCII. - -2023-05-16 Eric Botcazou - - * gen_il-fields.ads (Opt_Field_Enum): Add Cannot_Be_Superflat. - * gen_il-gen-gen_nodes.adb (N_Range): Add Cannot_Be_Superflat as - semantical flag and change Includes_Infinities to semantical. - * sinfo.ads (Cannot_Be_Superflat): Document it for N_Range. - * exp_ch4.adb (Expand_Concatenate): Set Cannot_Be_Superflat on the - range of the result if the result cannot be null. - -2023-05-16 Richard Kenner - - * gen_il-gen-gen_nodes.adb (Present_Expr): Type is now Uint. - -2023-05-16 Yannick Moy - - * libgnat/s-aridou.adb (Big3, Is_Mult_Decomposition) - (Is_Scaled_Mult_Decomposition): Add annotation for inlining. - (Double_Divide, Scaled_Divide): Simplify and remove ghost code. - (Prove_Multiplication): Add calls to lemmas to make proof go - through. - * libgnat/s-aridou.ads (Big, In_Double_Int_Range): Add annotation - for inlining. - -2023-05-16 Yannick Moy - - * libgnat/a-strsup.adb: Add intermediate assertions. - -2023-05-16 Arnaud Charlet - - * gnat1drv.adb: Ensure all dependencies are recorded even when not - generating code. - -2023-05-16 Yannick Moy - - * libgnat/a-strsup.adb: Set assertion policy for Loop_Variant. - -2023-05-16 Marc Poulhiès - - * sem_ch12.adb (Instantiate_Package_Body): Simplify if/then/else. - (Instantiate_Subprogram_Body): Likewise. - -2023-05-16 Yannick Moy - - * libgnat/s-aridou.adb: - (Big3): Remove override made useless. - (Lemma_Quot_Rem): Add new lemma and justify it, as no prover - manages to prove it. - (Lemma_Div_Pow2): Use new lemma Lemma_Quot_Rem. - (Prove_Scaled_Mult_Decomposition_Regroup3): Retype for - simplification. - (Scaled_Divide): Remove useless assertions.Decompose some - assertions with cut operations. Use Assert_And_Cut for second - half. Add assertions. - -2023-05-15 Marc Poulhiès - - * exp_ch3.adb (Make_Allocator_For_Return): Fix typo in comment. - -2023-05-15 Yannick Moy - - * libgnat/a-strbou.ads: Add justifications for Mapping. - * libgnat/a-strfix.adb: Same. - * libgnat/a-strfix.ads: Same. - * libgnat/a-strsea.adb: Same. - * libgnat/a-strsea.ads: Same. - * libgnat/a-strsup.adb: Same and add loop variants. - * libgnat/a-strsup.ads: Same and add specification of termination. - -2023-05-15 Yannick Moy - - * libgnat/a-strsup.adb (Super_Slice): Reorder component assignment - to avoid failing predicate check related to initialization. - * libgnat/s-expmod.adb (Exp_Modular): Add intermediate assertion. - -2023-05-15 Yannick Moy - - * libgnat/i-c.adb: Add loop variants. Remove useless - initialization. - -2023-05-15 Bob Duff - - * einfo-utils.ads: Remove comment. - -2023-05-15 Bob Duff - - * einfo-utils.ads, einfo-utils.adb: Get rid of the Proc_Next_... - procedures. Use Inline aspect instead of pragma Inline. - Is_Discrete_Or_Fixed_Point_Type did not have pragma Inline, but - now has the aspect; this was probably an oversight - (which illustrates why aspects are better). - -2023-05-15 Ronan Desplanques - - * doc/gnat_ugn/gnat_utility_programs.rst: Fix formatting - inconsistency. - -2023-05-15 Bob Duff - - * einfo-utils.adb: - (Proc_Next_Component_Or_Discriminant): Call - Next_Component_Or_Discriminant. - -2023-05-15 Bob Duff - - * einfo.ads: - (First_Entity): Update comment explaining why this exists on all - [sub]types, as opposed to just the ones with associated entities. - -2023-05-15 Bob Duff - - * atree.adb - (Check_Vanishing_Fields): Disable the check for "root/base type - only" fields. This is a bug fix -- if we're checking some subtype - S, we don't want to reach over to the root or base type and - Reinit_Field_To_Zero of that, thus modifying the field for lots of - subtypes other than S. Disable in the to/from E_Void cases. Misc - cleanup. - * gen_il-gen-gen_entities.adb: Define First_Entity, Last_Entity, - and Stored_Constraint for all type entities, because there are too - many cases where Reinit_Field_To_Zero would otherwise be needed. - In any case, it seems cleaner to have First_Entity and Last_Entity - defined in the same entity kinds. - * einfo.ads: - (First_Entity, Last_Entity, Stored_Constraint): Update comments to - reflect gen_il-gen-gen_entities.adb changes. - (Lit_Hash): Add missing "[root type only]" comment. - * exp_ch5.adb: Add Reinit_Field_To_Zero calls for vanishing - fields. - * sem_ch10.adb: Likewise. - * sem_ch6.adb: Likewise. - * sem_ch7.adb: Likewise. - * sem_ch8.adb: Likewise. - * sem_ch3.adb: Likewise. Also remove now-unnecessary - Reinit_Field_To_Zero calls. - -2023-05-15 Eric Botcazou - - * sem_ch7.adb (Hide_Public_Entities): Use the same condition for - subprogram bodies without specification as for those with one. - -2023-05-15 Piotr Trojanek - - * sem_util.adb (New_Copy_Tree): Remove redundant calls to Present. - -2023-05-15 Ronan Desplanques - - * sem_ch8.adb (End_Scope): Simplify lookup of predecessor in - homonym chain. - -2023-05-15 Piotr Trojanek - - * sem_aggr.adb (Resolve_Aggregate): Accept aggregates with OTHERS - appearing inside unchecked conversions. - -2023-05-15 Steve Baird - - * warnsw.ads: Add a new element, - Warn_On_Ineffective_Predicate_Test, to the Opt_Warnings_Enum - enumeration type. - * warnsw.adb: Bind "-gnatw_s" to the new - Warn_On_Ineffective_Predicate_Test switch. Add the new switch to - the set of switches enabled by -gnata . - * sem_ch13.adb - (Build_Discrete_Static_Predicate): Declare new local procedure, - Warn_If_Test_Ineffective, which conditionally generates new - warning. Call this new procedure when building a new element of an - RList. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Document the -gnatw_s switch (and the corresponding -gnatw_S - switch). - * gnat_ugn.texi: Regenerate. - -2023-05-15 Yannick Moy - - * sem_attr.adb: Update comment referring to rule number. - -2023-05-15 Ronan Desplanques - - * sem_attr.adb: sem_attr.adb (Analyze_Access_Attribute): Tighten - validity check for task types. - -2023-05-15 Ronan Desplanques - - * doc/gnat_rm/implementation_defined_characteristics.rst: Fix - minor documentation formatting issue. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2023-05-15 Bob Duff - - * exp_ch4.adb - (Expand_N_Op_Expon): Remove the too-big check. Simplify. Signed - and modular cases are combined, etc. Remove code with comment "We - only handle cases where the right type is a[sic] integer", because - the right operand must always be an integer at this point. - -2023-05-15 Bob Duff - - * sem_attr.adb - (Analyze_Attribute): Add a call to Check_Error_Detected. - -2023-05-15 Yannick Moy - - * par-prag.adb (First_Arg_Is_Matching_Tool_Name): Fix access to - expression in pragma association. - -2023-05-15 Eric Botcazou - - * repinfo.ads (JSON output format): Document special case of - Present member of a Variant object. - * repinfo.adb (List_Structural_Record_Layout): Change the type of - Ext_Level parameter to Integer. Restrict the first recursion with - increasing levels to the fixed part and implement a second - recursion with decreasing levels for the variant part. Deal with - an extension of a type with unknown discriminants. - -2023-05-15 Claire Dross - - * libgnat/s-valueu.adb: Use cut operations inside assertion to - restore proofs - * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-spark and - s-spcuop dependencies. - -2023-05-15 Yannick Moy - - * sem_prag.adb (Check_Grouping): Allow Annotate pragmas between - loop pragmas. - -2023-05-15 Javier Miranda - - * doc/gnat_rm/implementation_defined_pragmas.rst - (Extensions_Allowed): Document string interpolation. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2023-05-15 Joel Brobecker - - * doc/gnat_ugn/platform_specific_information.rst - (_PIE_Enabled_By_Default_On_Linux): New section. - * gnat-style.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2023-05-15 Javier Miranda - - * exp_disp.adb - (Has_Dispatching_Constructor_Call): New subprogram. - (Expand_Interface_Conversion): No need to perform dynamic - interface conversion when the operand and the target type are - interface types and the target interface type is an ancestor of - the operand type. The unique exception to this rule is when the - operand has a dispatching constructor call (as documented in the - sources). - -2023-05-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Reject attribute Initialized - on unchecked unions; fix grammar in comment. - -2023-05-15 Ronan Desplanques - - * sem_ch13.adb (Validate_Unchecked_Conversion): Fix behavior on - System.Address to access to subprogram subtype conversion. - -2023-05-15 Piotr Trojanek - - * atree.ads - (Is_Syntactic_Node): Refactored from New_Copy_Tree. - * atree.adb - (Is_Syntactic_Node): Likewise. - (Copy_Separate_Tree): Use Is_Syntactic_Node. - * sem_util.adb - (Has_More_Ids): Move to Atree. - (Is_Syntactic_Node): Likewise. - -2023-04-18 Jin Ma - - * gcc-interface/utils.cc (unchecked_convert): Fix typo. - -2023-04-17 Martin Liska - - * gnatvsn.ads: Bump Library_Version to 14. - -2023-04-15 Eric Botcazou - - PR bootstrap/109510 - * gcc-interface/decl.cc (gnat_to_gnu_entity) : Do not reset - align to zero in any case. Set TYPE_USER_ALIGN on the type only if - it is an aggregate type, or else a type whose default alignment is - specifically capped on selected platforms. - -2023-04-14 Eric Botcazou - - PR bootstrap/109510 - * gcc-interface/decl.cc (gnat_to_gnu_entity) : Reset align - to zero if its value is equal to TYPE_ALIGN and the type is scalar. - Set TYPE_USER_ALIGN on the type only if align is positive. - -2023-03-06 Javier Miranda - - PR ada/108858 - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For functions with - separate spec, if their return type was visible through a limited- - with context clause, their extra formals were not added when the - spec was analyzed. Now the full view must be available, and the - extra formals can be created and Returns_By_Ref computed. - -2023-03-06 Eric Botcazou - - PR ada/108909 - PR ada/108983 - * Make-generated.in: Do not use GNATMAKE. - * gcc-interface/Makefile.in: Ditto. - -2023-02-26 Peter Foley - - PR ada/108909 - * Make-generated.in: Use GNATMAKE. - * gcc-interface/Makefile.in: Ditto. - -2023-02-14 Eric Botcazou - - * gcc-interface/trans.cc (gnat_gimplify_expr): Add missing guard. - -2023-02-14 Dongsheng Song - - * adaint.c [Linux]: Include . - (__gnat_get_executable_load_address) [Linux]: Enable only for - glibc and uClibc. - -2023-01-16 Marc Poulhiès - - * gcc-interface/Make-lang.in: Update copyright years. - * gcc-interface/Makefile.in: Likewise. - * gcc-interface/ada-builtin-types.def: Likewise. - * gcc-interface/ada-builtins.def: Likewise. - * gcc-interface/ada-tree.def: Likewise. - * gcc-interface/ada-tree.h: Likewise. - * gcc-interface/ada.h: Likewise. - * gcc-interface/config-lang.in: Likewise. - * gcc-interface/cuintp.cc: Likewise. - * gcc-interface/decl.cc: Likewise. - * gcc-interface/gadaint.h: Likewise. - * gcc-interface/gigi.h: Likewise. - * gcc-interface/lang-specs.h: Likewise. - * gcc-interface/lang.opt: Likewise. - * gcc-interface/misc.cc: Likewise. - * gcc-interface/system.ads: Likewise. - * gcc-interface/targtyps.cc: Likewise. - * gcc-interface/trans.cc: Likewise. - * gcc-interface/utils.cc: Likewise. - * gcc-interface/utils2.cc: Likewise. - -2023-01-16 Eric Botcazou - - * exp_ch3.adb (Make_Allocator_For_Return): Fix typo in comment. - -2023-01-16 Eric Botcazou - - * exp_ch3.adb (Make_Allocator_For_Return): Convert the expression - to the return object's type in the constrained array case as well. - -2023-01-16 Eric Botcazou - - * exp_ch3.adb (Expand_N_Object_Declaration): For a class-wide non- - interface stand-alone object initialized by a function call, call - Remove_Side_Effects on the expression to capture the result. - -2023-01-16 Eric Botcazou - - * exp_util.ads (Has_Tag_Of_Type): Declare. - * exp_util.adb (Has_Tag_Of_Type): Move to package level. Recurse on - qualified expressions. - * exp_ch3.adb (Expand_N_Object_Declaration): Use a static reference - to the interface tag in more cases for class-wide interface objects. - -2023-01-16 Eric Botcazou - - * exp_util.adb (Make_CW_Equivalent_Type.Has_Tag_Of_Type): Fix pasto. - -2023-01-16 Eric Botcazou - - * exp_util.adb (Is_Temporary_For_Interface_Object): Delete. - (Is_Finalizable_Transient.Is_Aliased): Deal with the specific case - of temporaries generated for interface objects. - -2023-01-16 Eric Botcazou - - * exp_ch3.adb (Expand_N_Object_Declaration): Do not generate a back- - and-forth displacement of the object's address when using a renaming - for an interface object with an expression of the same type. - * exp_ch4.adb (Expand_Allocator_Expression): Do not remove the side - effects of the expression up front for the simple allocators. Do not - call the Adjust primitive if the expression is a function call. - * exp_ch6.adb (Expand_Ctrl_Function_Call): Do not expand the call - unnecessarily for a special return object. - (Expand_Simple_Function_Return): Restore the displacement of the - return object's address in the case where the expression is the call - to a function whose result type is a type that needs finalization. - * exp_util.adb (Expand_Subtype_From_Expr): Do not remove the side - effects of the expression before calling Make_Subtype_From_Expr. - (Make_CW_Equivalent_Type): If the expression has the tag of its type - and this type has a uniform size, use 'Object_Size of this type in - lieu of 'Size of the expression to compute the expression's size. - -2023-01-16 Eric Botcazou - - * exp_ch3.adb (Make_Allocator_For_Return): Put back an interface - conversion for expressions with non-interface class-wide type. - -2023-01-16 Eric Botcazou - - * exp_ch3.adb (Expand_N_Object_Declaration): Also optimize aliased - objects if their nominal subtype is not an unconstrained array. - -2023-01-16 Eric Botcazou - - * exp_ch3.adb (Expand_N_Object_Declaration): Factor out conditions - needed for an initializating expression that is a function call to - be renamable into the Is_Renamable_Function_Call predicate. - Use it to implement the renaming in the case of class-wide interface - objects. Remove an interface conversion on all paths, separate and - optimize the renaming path in the special expansion for interfaces. - (Is_Renamable_Function_Call): New predicate. - (Make_Allocator_For_Return): Put back an interface conversion. - * exp_ch6.adb (Apply_CW_Accessibility_Check): Remove useless access - checks on RE_Tag_Ptr. - -2023-01-09 Arnaud Charlet - - * accessibility.adb, accessibility.ads, ada_get_targ.adb: Update copyright year. - * adabkend.adb, adabkend.ads, adadecode.c, adadecode.h, adaint.c: Likewise. - * adaint.h, affinity.c, ali-util.adb, ali-util.ads, ali.adb: Likewise. - * ali.ads, alloc.ads, argv-lynxos178-raven-cert.c, argv.c: Likewise. - * aspects.adb, aspects.ads, atree.adb, atree.ads, atree.h: Likewise. - * aux-io.c, back_end.adb, back_end.ads, backend_utils.adb: Likewise. - * backend_utils.ads, bcheck.adb, bcheck.ads, binde.adb, binde.ads: Likewise. - * binderr.adb, binderr.ads, bindgen.adb, bindgen.ads: Likewise. - * bindo-augmentors.adb, bindo-augmentors.ads, bindo-builders.adb: Likewise. - * bindo-builders.ads, bindo-diagnostics.adb: Likewise. - * bindo-diagnostics.ads, bindo-elaborators.adb: Likewise. - * bindo-elaborators.ads, bindo-graphs.adb, bindo-graphs.ads: Likewise. - * bindo-units.adb, bindo-units.ads, bindo-validators.adb: Likewise. - * bindo-validators.ads, bindo-writers.adb, bindo-writers.ads: Likewise. - * bindo.adb, bindo.ads, bindusg.adb, bindusg.ads, butil.adb: Likewise. - * butil.ads, cal.c, casing.adb, casing.ads, checks.adb: Likewise. - * checks.ads, cio.c, clean.adb, clean.ads: Likewise. - * comperr.adb, comperr.ads, contracts.adb, contracts.ads: Likewise. - * csets.adb, csets.ads, cstand.adb: Likewise. - * cstand.ads, cstreams.c, ctrl_c.c, debug.adb, debug.ads: Likewise. - * debug_a.adb, debug_a.ads, einfo-utils.adb, einfo-utils.ads: Likewise. - * einfo.adb, einfo.ads, elists.adb, elists.ads, elists.h, env.c: Likewise. - * env.h, err_vars.ads, errno.c, errout.adb, errout.ads: Likewise. - * erroutc.adb, erroutc.ads, errutil.adb, errutil.ads: Likewise. - * eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb, exp_aggr.ads: Likewise. - * exp_atag.adb, exp_atag.ads, exp_attr.adb, exp_attr.ads: Likewise. - * exp_cg.adb, exp_cg.ads, exp_ch10.ads, exp_ch11.adb: Likewise. - * exp_ch11.ads, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb: Likewise. - * exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.adb: Likewise. - * exp_ch3.ads, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch5.ads: Likewise. - * exp_ch6.adb, exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, exp_ch8.adb: Likewise. - * exp_ch8.ads, exp_ch9.adb, exp_ch9.ads, exp_code.adb: Likewise. - * exp_code.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.adb: Likewise. - * exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb: Likewise. - * exp_fixd.ads, exp_imgv.adb, exp_imgv.ads, exp_intr.adb: Likewise. - * exp_intr.ads, exp_pakd.adb, exp_pakd.ads, exp_prag.adb: Likewise. - * exp_prag.ads, exp_put_image.adb, exp_put_image.ads, exp_sel.adb: Likewise. - * exp_sel.ads, exp_smem.adb, exp_smem.ads, exp_spark.adb: Likewise. - * exp_spark.ads, exp_strm.adb, exp_strm.ads, exp_tss.adb: Likewise. - * exp_tss.ads, exp_unst.adb, exp_unst.ads, exp_util.adb: Likewise. - * exp_util.ads, expander.adb, expander.ads, expect.c, fe.h: Likewise. - * final.c, fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads: Likewise. - * fname-uf.adb, fname-uf.ads, fname.adb, fname.ads, freeze.adb: Likewise. - * freeze.ads, frontend.adb, frontend.ads, gen_il-fields.ads: Likewise. - * gen_il-gen-gen_entities.adb, gen_il-gen-gen_nodes.adb: Likewise. - * gen_il-gen.adb, gen_il-gen.ads, gen_il-internals.adb: Likewise. - * gen_il-internals.ads, gen_il-main.adb, gen_il-types.ads: Likewise. - * gen_il.adb, gen_il.ads, get_scos.adb, get_scos.ads: Likewise. - * get_targ.adb, get_targ.ads, ghost.adb, ghost.ads, gnat1drv.adb: Likewise. - * gnat1drv.ads, gnat_cuda.adb, gnat_cuda.ads: Likewise. - * gnatbind.adb, gnatbind.ads, gnatchop.adb: Likewise. - * gnatclean.adb, gnatcmd.adb, gnatcmd.ads, gnatdll.adb: Likewise. - * gnatkr.adb, gnatkr.ads, gnatlink.adb, gnatlink.ads, gnatls.adb: Likewise. - * gnatls.ads, gnatmake.adb, gnatmake.ads, gnatname.adb: Likewise. - * gnatname.ads, gnatprep.adb, gnatprep.ads: Likewise. - * gprep.adb, gprep.ads, gsocket.h: Likewise. - * hostparm.ads: Likewise. - * impunit.adb, impunit.ads, indepsw-aix.adb, indepsw-darwin.adb: Likewise. - * indepsw-gnu.adb, indepsw.adb, indepsw.ads, init.c: Likewise. - * initialize.c, inline.adb, inline.ads, itypes.adb, itypes.ads: Likewise. - * krunch.adb, krunch.ads, layout.adb, layout.ads: Likewise. - * lib-list.adb, lib-load.adb, lib-load.ads, lib-sort.adb: Likewise. - * lib-util.adb, lib-util.ads, lib-writ.adb, lib-writ.ads: Likewise. - * lib-xref-spark_specific.adb, lib-xref.adb, lib-xref.ads: Likewise. - * lib.adb, lib.ads, libgnarl/a-astaco.adb, libgnarl/a-dispat.adb: Likewise. - * libgnarl/a-dynpri.adb, libgnarl/a-etgrbu.ads: Likewise. - * libgnarl/a-exetim__darwin.adb, libgnarl/a-exetim__default.ads: Likewise. - * libgnarl/a-exetim__mingw.adb, libgnarl/a-exetim__mingw.ads: Likewise. - * libgnarl/a-exetim__posix.adb, libgnarl/a-interr.adb: Likewise. - * libgnarl/a-interr.ads, libgnarl/a-intnam.ads: Likewise. - * libgnarl/a-intnam__aix.ads, libgnarl/a-intnam__darwin.ads: Likewise. - * libgnarl/a-intnam__dragonfly.ads, libgnarl/a-intnam__dummy.ads: Likewise. - * libgnarl/a-intnam__freebsd.ads, libgnarl/a-intnam__hpux.ads: Likewise. - * libgnarl/a-intnam__linux.ads, libgnarl/a-intnam__lynxos.ads: Likewise. - * libgnarl/a-intnam__mingw.ads, libgnarl/a-intnam__qnx.ads: Likewise. - * libgnarl/a-intnam__rtems.ads, libgnarl/a-intnam__solaris.ads: Likewise. - * libgnarl/a-intnam__vxworks.ads, libgnarl/a-reatim.adb: Likewise. - * libgnarl/a-reatim.ads, libgnarl/a-retide.adb: Likewise. - * libgnarl/a-retide.ads, libgnarl/a-rttiev.adb: Likewise. - * libgnarl/a-rttiev.ads, libgnarl/a-synbar.adb: Likewise. - * libgnarl/a-synbar.ads, libgnarl/a-synbar__posix.adb: Likewise. - * libgnarl/a-synbar__posix.ads, libgnarl/a-sytaco.adb: Likewise. - * libgnarl/a-sytaco.ads, libgnarl/a-tasatt.adb: Likewise. - * libgnarl/a-tasatt.ads, libgnarl/a-taside.adb: Likewise. - * libgnarl/a-taside.ads, libgnarl/a-tasini.adb: Likewise. - * libgnarl/a-tasini.ads, libgnarl/a-taster.adb: Likewise. - * libgnarl/g-boubuf.adb, libgnarl/g-boubuf.ads: Likewise. - * libgnarl/g-boumai.ads, libgnarl/g-semaph.adb: Likewise. - * libgnarl/g-semaph.ads, libgnarl/g-signal.adb: Likewise. - * libgnarl/g-signal.ads, libgnarl/g-tastus.ads: Likewise. - * libgnarl/g-thread.adb, libgnarl/g-thread.ads: Likewise. - * libgnarl/i-vxinco.adb, libgnarl/i-vxinco.ads: Likewise. - * libgnarl/s-inmaop.ads, libgnarl/s-inmaop__dummy.adb: Likewise. - * libgnarl/s-inmaop__hwint.adb, libgnarl/s-inmaop__posix.adb: Likewise. - * libgnarl/s-interr.adb, libgnarl/s-interr.ads: Likewise. - * libgnarl/s-interr__dummy.adb, libgnarl/s-interr__hwint.adb: Likewise. - * libgnarl/s-interr__sigaction.adb: Likewise. - * libgnarl/s-interr__vxworks.adb, libgnarl/s-intman.ads: Likewise. - * libgnarl/s-intman__android.adb, libgnarl/s-intman__dummy.adb: Likewise. - * libgnarl/s-intman__lynxos.adb, libgnarl/s-intman__mingw.adb: Likewise. - * libgnarl/s-intman__posix.adb, libgnarl/s-intman__qnx.adb: Likewise. - * libgnarl/s-intman__rtems.adb, libgnarl/s-intman__rtems.ads: Likewise. - * libgnarl/s-intman__solaris.adb, libgnarl/s-intman__susv3.adb: Likewise. - * libgnarl/s-intman__vxworks.adb, libgnarl/s-intman__vxworks.ads: Likewise. - * libgnarl/s-linux.ads, libgnarl/s-linux__alpha.ads: Likewise. - * libgnarl/s-linux__android.ads, libgnarl/s-linux__hppa.ads: Likewise. - * libgnarl/s-linux__mips.ads, libgnarl/s-linux__riscv.ads: Likewise. - * libgnarl/s-linux__sparc.ads, libgnarl/s-linux__x32.ads: Likewise. - * libgnarl/s-mudido.adb, libgnarl/s-mudido__affinity.adb: Likewise. - * libgnarl/s-osinte__aix.adb, libgnarl/s-osinte__aix.ads: Likewise. - * libgnarl/s-osinte__android.adb, libgnarl/s-osinte__android.ads: Likewise. - * libgnarl/s-osinte__darwin.adb, libgnarl/s-osinte__darwin.ads: Likewise. - * libgnarl/s-osinte__dragonfly.adb: Likewise. - * libgnarl/s-osinte__dragonfly.ads, libgnarl/s-osinte__dummy.ads: Likewise. - * libgnarl/s-osinte__freebsd.adb, libgnarl/s-osinte__freebsd.ads: Likewise. - * libgnarl/s-osinte__gnu.adb, libgnarl/s-osinte__gnu.ads: Likewise. - * libgnarl/s-osinte__hpux-dce.adb: Likewise. - * libgnarl/s-osinte__hpux-dce.ads, libgnarl/s-osinte__hpux.ads: Likewise. - * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise. - * libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__lynxos178.adb: Likewise. - * libgnarl/s-osinte__lynxos178e.ads, libgnarl/s-osinte__mingw.ads: Likewise. - * libgnarl/s-osinte__posix.adb, libgnarl/s-osinte__qnx.adb: Likewise. - * libgnarl/s-osinte__qnx.ads, libgnarl/s-osinte__rtems.adb: Likewise. - * libgnarl/s-osinte__rtems.ads, libgnarl/s-osinte__solaris.adb: Likewise. - * libgnarl/s-osinte__solaris.ads, libgnarl/s-osinte__vxworks.adb: Likewise. - * libgnarl/s-osinte__vxworks.ads, libgnarl/s-osinte__x32.adb: Likewise. - * libgnarl/s-proinf.adb, libgnarl/s-proinf.ads: Likewise. - * libgnarl/s-putaim.adb, libgnarl/s-putaim.ads: Likewise. - * libgnarl/s-qnx.ads, libgnarl/s-solita.adb: Likewise. - * libgnarl/s-solita.ads, libgnarl/s-stusta.adb: Likewise. - * libgnarl/s-stusta.ads, libgnarl/s-taasde.adb: Likewise. - * libgnarl/s-taasde.ads, libgnarl/s-tadeca.adb: Likewise. - * libgnarl/s-tadeca.ads, libgnarl/s-tadert.adb: Likewise. - * libgnarl/s-tadert.ads, libgnarl/s-taenca.adb: Likewise. - * libgnarl/s-taenca.ads, libgnarl/s-taprob.adb: Likewise. - * libgnarl/s-taprob.ads, libgnarl/s-taprop.ads: Likewise. - * libgnarl/s-taprop__dummy.adb, libgnarl/s-taprop__hpux-dce.adb: Likewise. - * libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb: Likewise. - * libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb: Likewise. - * libgnarl/s-taprop__rtems.adb, libgnarl/s-taprop__solaris.adb: Likewise. - * libgnarl/s-taprop__vxworks.adb, libgnarl/s-tarest.adb: Likewise. - * libgnarl/s-tarest.ads, libgnarl/s-tasdeb.adb: Likewise. - * libgnarl/s-tasdeb.ads, libgnarl/s-tasinf.adb: Likewise. - * libgnarl/s-tasinf.ads, libgnarl/s-tasinf__linux.adb: Likewise. - * libgnarl/s-tasinf__linux.ads, libgnarl/s-tasinf__mingw.adb: Likewise. - * libgnarl/s-tasinf__mingw.ads, libgnarl/s-tasinf__solaris.adb: Likewise. - * libgnarl/s-tasinf__solaris.ads, libgnarl/s-tasinf__vxworks.ads: Likewise. - * libgnarl/s-tasini.adb, libgnarl/s-tasini.ads: Likewise. - * libgnarl/s-taskin.adb, libgnarl/s-taskin.ads: Likewise. - * libgnarl/s-taspri__dummy.ads, libgnarl/s-taspri__hpux-dce.ads: Likewise. - * libgnarl/s-taspri__lynxos.ads, libgnarl/s-taspri__mingw.ads: Likewise. - * libgnarl/s-taspri__posix-noaltstack.ads: Likewise. - * libgnarl/s-taspri__posix.ads, libgnarl/s-taspri__solaris.ads: Likewise. - * libgnarl/s-taspri__vxworks.ads, libgnarl/s-tasque.adb: Likewise. - * libgnarl/s-tasque.ads, libgnarl/s-tasren.adb: Likewise. - * libgnarl/s-tasren.ads, libgnarl/s-tasres.ads: Likewise. - * libgnarl/s-tassta.adb, libgnarl/s-tassta.ads: Likewise. - * libgnarl/s-tasuti.adb, libgnarl/s-tasuti.ads: Likewise. - * libgnarl/s-tataat.adb, libgnarl/s-tataat.ads: Likewise. - * libgnarl/s-tpinop.adb, libgnarl/s-tpinop.ads: Likewise. - * libgnarl/s-tpoaal.adb, libgnarl/s-tpoben.adb: Likewise. - * libgnarl/s-tpoben.ads, libgnarl/s-tpobmu.adb: Likewise. - * libgnarl/s-tpobmu.ads, libgnarl/s-tpobop.adb: Likewise. - * libgnarl/s-tpobop.ads, libgnarl/s-tpopmo.adb: Likewise. - * libgnarl/s-tpopsp__posix-foreign.adb: Likewise. - * libgnarl/s-tpopsp__posix.adb, libgnarl/s-tpopsp__solaris.adb: Likewise. - * libgnarl/s-tpopsp__tls.adb, libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise. - * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise. - * libgnarl/s-tpopsp__vxworks.adb, libgnarl/s-tporft.adb: Likewise. - * libgnarl/s-tposen.adb, libgnarl/s-tposen.ads: Likewise. - * libgnarl/s-vxwext.adb, libgnarl/s-vxwext.ads: Likewise. - * libgnarl/s-vxwext__kernel-smp.adb: Likewise. - * libgnarl/s-vxwext__kernel.adb, libgnarl/s-vxwext__kernel.ads: Likewise. - * libgnarl/s-vxwext__rtp-smp.adb, libgnarl/s-vxwext__rtp.adb: Likewise. - * libgnarl/s-vxwext__rtp.ads, libgnarl/s-vxwork__aarch64.ads: Likewise. - * libgnarl/s-vxwork__arm.ads, libgnarl/s-vxwork__ppc.ads: Likewise. - * libgnarl/s-vxwork__x86.ads, libgnarl/thread.c: Likewise. - * libgnat/a-assert.adb, libgnat/a-assert.ads: Likewise. - * libgnat/a-btgbso.adb, libgnat/a-btgbso.ads: Likewise. - * libgnat/a-calari.adb, libgnat/a-calari.ads: Likewise. - * libgnat/a-calcon.adb, libgnat/a-calcon.ads: Likewise. - * libgnat/a-caldel.adb, libgnat/a-caldel.ads: Likewise. - * libgnat/a-calend.adb, libgnat/a-calend.ads: Likewise. - * libgnat/a-calfor.adb, libgnat/a-calfor.ads: Likewise. - * libgnat/a-catizo.adb, libgnat/a-cbdlli.adb: Likewise. - * libgnat/a-cbdlli.ads, libgnat/a-cbhama.adb: Likewise. - * libgnat/a-cbhama.ads, libgnat/a-cbhase.adb: Likewise. - * libgnat/a-cbhase.ads, libgnat/a-cbmutr.adb: Likewise. - * libgnat/a-cbmutr.ads, libgnat/a-cborma.adb: Likewise. - * libgnat/a-cborma.ads, libgnat/a-cborse.adb: Likewise. - * libgnat/a-cborse.ads, libgnat/a-cbprqu.adb: Likewise. - * libgnat/a-cbprqu.ads, libgnat/a-cbsyqu.adb: Likewise. - * libgnat/a-cbsyqu.ads, libgnat/a-cdlili.adb: Likewise. - * libgnat/a-cdlili.ads, libgnat/a-cfdlli.ads: Likewise. - * libgnat/a-cfhama.ads, libgnat/a-cfhase.ads: Likewise. - * libgnat/a-cfidll.ads, libgnat/a-cfinse.ads: Likewise. - * libgnat/a-cfinve.ads, libgnat/a-cforma.ads: Likewise. - * libgnat/a-cforse.ads, libgnat/a-cgaaso.adb: Likewise. - * libgnat/a-cgaaso.ads, libgnat/a-cgarso.adb: Likewise. - * libgnat/a-cgcaso.adb, libgnat/a-chacon.adb: Likewise. - * libgnat/a-chacon.ads, libgnat/a-chahan.adb: Likewise. - * libgnat/a-chahan.ads, libgnat/a-chlat9.ads: Likewise. - * libgnat/a-chtgbk.adb, libgnat/a-chtgbk.ads: Likewise. - * libgnat/a-chtgbo.adb, libgnat/a-chtgbo.ads: Likewise. - * libgnat/a-chtgfk.adb, libgnat/a-chtgfk.ads: Likewise. - * libgnat/a-chtgfo.adb, libgnat/a-chtgfo.ads: Likewise. - * libgnat/a-chtgke.adb, libgnat/a-chtgke.ads: Likewise. - * libgnat/a-chtgop.adb, libgnat/a-chtgop.ads: Likewise. - * libgnat/a-chzla1.ads, libgnat/a-chzla9.ads: Likewise. - * libgnat/a-cidlli.adb, libgnat/a-cidlli.ads: Likewise. - * libgnat/a-cihama.adb, libgnat/a-cihama.ads: Likewise. - * libgnat/a-cihase.adb, libgnat/a-cihase.ads: Likewise. - * libgnat/a-cimutr.adb, libgnat/a-cimutr.ads: Likewise. - * libgnat/a-ciorma.adb, libgnat/a-ciorma.ads: Likewise. - * libgnat/a-ciormu.adb, libgnat/a-ciormu.ads: Likewise. - * libgnat/a-ciorse.adb, libgnat/a-ciorse.ads: Likewise. - * libgnat/a-clrefi.adb, libgnat/a-clrefi.ads: Likewise. - * libgnat/a-coboho.adb, libgnat/a-coboho.ads: Likewise. - * libgnat/a-cobove.adb, libgnat/a-cobove.ads: Likewise. - * libgnat/a-cofove.ads, libgnat/a-cofuma.ads: Likewise. - * libgnat/a-cofuse.ads, libgnat/a-cofuve.ads: Likewise. - * libgnat/a-cogeso.adb, libgnat/a-cogeso.ads: Likewise. - * libgnat/a-cohama.adb, libgnat/a-cohama.ads: Likewise. - * libgnat/a-cohase.adb, libgnat/a-cohase.ads: Likewise. - * libgnat/a-cohata.ads, libgnat/a-coinho.adb: Likewise. - * libgnat/a-coinho.ads, libgnat/a-coinho__shared.adb: Likewise. - * libgnat/a-coinho__shared.ads, libgnat/a-coinve.adb: Likewise. - * libgnat/a-coinve.ads, libgnat/a-colien.adb: Likewise. - * libgnat/a-colien.ads, libgnat/a-colire.adb: Likewise. - * libgnat/a-colire.ads, libgnat/a-comlin.adb: Likewise. - * libgnat/a-comlin.ads, libgnat/a-comutr.adb: Likewise. - * libgnat/a-comutr.ads, libgnat/a-conhel.adb: Likewise. - * libgnat/a-conhel.ads, libgnat/a-convec.adb: Likewise. - * libgnat/a-convec.ads, libgnat/a-coorma.adb: Likewise. - * libgnat/a-coorma.ads, libgnat/a-coormu.adb: Likewise. - * libgnat/a-coormu.ads, libgnat/a-coorse.adb: Likewise. - * libgnat/a-coorse.ads, libgnat/a-coprnu.adb: Likewise. - * libgnat/a-coprnu.ads, libgnat/a-costso.adb: Likewise. - * libgnat/a-costso.ads, libgnat/a-crbltr.ads: Likewise. - * libgnat/a-crbtgk.adb, libgnat/a-crbtgk.ads: Likewise. - * libgnat/a-crbtgo.adb, libgnat/a-crbtgo.ads: Likewise. - * libgnat/a-crdlli.adb, libgnat/a-crdlli.ads: Likewise. - * libgnat/a-csquin.ads, libgnat/a-cuprqu.adb: Likewise. - * libgnat/a-cuprqu.ads, libgnat/a-cusyqu.adb: Likewise. - * libgnat/a-cusyqu.ads, libgnat/a-cwila1.ads: Likewise. - * libgnat/a-cwila9.ads, libgnat/a-decima.adb: Likewise. - * libgnat/a-decima.ads, libgnat/a-decima__128.ads: Likewise. - * libgnat/a-dhfina.adb, libgnat/a-dhfina.ads: Likewise. - * libgnat/a-diocst.adb, libgnat/a-diocst.ads: Likewise. - * libgnat/a-direct.adb, libgnat/a-direct.ads: Likewise. - * libgnat/a-direio.adb, libgnat/a-direio.ads: Likewise. - * libgnat/a-dirval.adb, libgnat/a-dirval.ads: Likewise. - * libgnat/a-dirval__mingw.adb, libgnat/a-einuoc.adb: Likewise. - * libgnat/a-einuoc.ads, libgnat/a-elchha.adb: Likewise. - * libgnat/a-elchha.ads, libgnat/a-envvar.adb: Likewise. - * libgnat/a-excach.adb, libgnat/a-except.adb: Likewise. - * libgnat/a-except.ads, libgnat/a-exctra.adb: Likewise. - * libgnat/a-exctra.ads, libgnat/a-exexda.adb: Likewise. - * libgnat/a-exexpr.adb, libgnat/a-exextr.adb: Likewise. - * libgnat/a-exstat.adb, libgnat/a-finali.adb: Likewise. - * libgnat/a-finali.ads, libgnat/a-locale.adb: Likewise. - * libgnat/a-locale.ads, libgnat/a-nagefl.ads: Likewise. - * libgnat/a-naliop.ads, libgnat/a-naliop__nolibm.ads: Likewise. - * libgnat/a-nallfl.ads, libgnat/a-nallfl__wraplf.ads: Likewise. - * libgnat/a-nalofl.ads, libgnat/a-nalofl__simd.ads: Likewise. - * libgnat/a-nashfl.ads, libgnat/a-nashfl__wraplf.ads: Likewise. - * libgnat/a-nbnbig.adb, libgnat/a-nbnbin.adb: Likewise. - * libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb: Likewise. - * libgnat/a-ngcefu.adb, libgnat/a-ngcoar.adb: Likewise. - * libgnat/a-ngcoty.adb, libgnat/a-ngcoty.ads: Likewise. - * libgnat/a-ngelfu.adb, libgnat/a-ngelfu.ads: Likewise. - * libgnat/a-ngrear.adb, libgnat/a-ngrear.ads: Likewise. - * libgnat/a-nuauco.ads, libgnat/a-nuauco__x86.ads: Likewise. - * libgnat/a-nuaufl.ads, libgnat/a-nuaufl__simd.ads: Likewise. - * libgnat/a-nuaufl__wraplf.ads, libgnat/a-nudira.adb: Likewise. - * libgnat/a-nudira.ads, libgnat/a-nuflra.adb: Likewise. - * libgnat/a-nuflra.ads, libgnat/a-numaux.ads: Likewise. - * libgnat/a-rbtgbk.adb, libgnat/a-rbtgbk.ads: Likewise. - * libgnat/a-rbtgbo.adb, libgnat/a-rbtgbo.ads: Likewise. - * libgnat/a-rbtgso.adb, libgnat/a-rbtgso.ads: Likewise. - * libgnat/a-sbecin.adb, libgnat/a-sbecin.ads: Likewise. - * libgnat/a-sbhcin.adb, libgnat/a-sbhcin.ads: Likewise. - * libgnat/a-sblcin.adb, libgnat/a-sblcin.ads: Likewise. - * libgnat/a-secain.adb, libgnat/a-secain.ads: Likewise. - * libgnat/a-sequio.adb, libgnat/a-sequio.ads: Likewise. - * libgnat/a-sfecin.ads, libgnat/a-sfhcin.ads: Likewise. - * libgnat/a-sflcin.ads, libgnat/a-shcain.adb: Likewise. - * libgnat/a-shcain.ads, libgnat/a-siocst.adb: Likewise. - * libgnat/a-siocst.ads, libgnat/a-slcain.adb: Likewise. - * libgnat/a-slcain.ads, libgnat/a-ssicst.adb: Likewise. - * libgnat/a-ssicst.ads, libgnat/a-stboha.adb: Likewise. - * libgnat/a-stbubo.adb, libgnat/a-stbubo.ads: Likewise. - * libgnat/a-stbufi.adb, libgnat/a-stbufi.ads: Likewise. - * libgnat/a-stbufo.adb, libgnat/a-stbufo.ads: Likewise. - * libgnat/a-stbuun.adb, libgnat/a-stbuut.adb: Likewise. - * libgnat/a-stbuut.ads, libgnat/a-stmaco.ads: Likewise. - * libgnat/a-storio.adb, libgnat/a-strbou.adb: Likewise. - * libgnat/a-strbou.ads, libgnat/a-stream.adb: Likewise. - * libgnat/a-stream.ads, libgnat/a-strfix.adb: Likewise. - * libgnat/a-strhas.adb, libgnat/a-strmap.adb: Likewise. - * libgnat/a-strmap.ads, libgnat/a-strsea.adb: Likewise. - * libgnat/a-strsea.ads, libgnat/a-strsto.ads: Likewise. - * libgnat/a-strsup.adb, libgnat/a-strsup.ads: Likewise. - * libgnat/a-strunb.adb, libgnat/a-strunb.ads: Likewise. - * libgnat/a-strunb__shared.adb, libgnat/a-strunb__shared.ads: Likewise. - * libgnat/a-ststbo.adb, libgnat/a-ststbo.ads: Likewise. - * libgnat/a-ststio.adb, libgnat/a-ststio.ads: Likewise. - * libgnat/a-ststun.adb, libgnat/a-ststun.ads: Likewise. - * libgnat/a-sttebu.adb, libgnat/a-stunau.adb: Likewise. - * libgnat/a-stunau.ads, libgnat/a-stunau__shared.adb: Likewise. - * libgnat/a-stunha.adb, libgnat/a-stuten.adb: Likewise. - * libgnat/a-stwibo.adb, libgnat/a-stwibo.ads: Likewise. - * libgnat/a-stwifi.adb, libgnat/a-stwiha.adb: Likewise. - * libgnat/a-stwima.adb, libgnat/a-stwima.ads: Likewise. - * libgnat/a-stwise.adb, libgnat/a-stwise.ads: Likewise. - * libgnat/a-stwisu.adb, libgnat/a-stwisu.ads: Likewise. - * libgnat/a-stwiun.adb, libgnat/a-stwiun.ads: Likewise. - * libgnat/a-stwiun__shared.adb, libgnat/a-stwiun__shared.ads: Likewise. - * libgnat/a-stzbou.adb, libgnat/a-stzbou.ads: Likewise. - * libgnat/a-stzfix.adb, libgnat/a-stzhas.adb: Likewise. - * libgnat/a-stzmap.adb, libgnat/a-stzmap.ads: Likewise. - * libgnat/a-stzsea.adb, libgnat/a-stzsea.ads: Likewise. - * libgnat/a-stzsup.adb, libgnat/a-stzsup.ads: Likewise. - * libgnat/a-stzunb.adb, libgnat/a-stzunb.ads: Likewise. - * libgnat/a-stzunb__shared.adb, libgnat/a-stzunb__shared.ads: Likewise. - * libgnat/a-suecin.adb, libgnat/a-suecin.ads: Likewise. - * libgnat/a-suenco.adb, libgnat/a-suenst.adb: Likewise. - * libgnat/a-suewst.adb, libgnat/a-suezst.adb: Likewise. - * libgnat/a-suhcin.adb, libgnat/a-suhcin.ads: Likewise. - * libgnat/a-sulcin.adb, libgnat/a-sulcin.ads: Likewise. - * libgnat/a-suteio.adb, libgnat/a-suteio.ads: Likewise. - * libgnat/a-suteio__shared.adb, libgnat/a-swbwha.adb: Likewise. - * libgnat/a-swmwco.ads, libgnat/a-swunau.adb: Likewise. - * libgnat/a-swunau.ads, libgnat/a-swunau__shared.adb: Likewise. - * libgnat/a-swuwha.adb, libgnat/a-swuwti.adb: Likewise. - * libgnat/a-swuwti.ads, libgnat/a-swuwti__shared.adb: Likewise. - * libgnat/a-szbzha.adb, libgnat/a-szmzco.ads: Likewise. - * libgnat/a-szunau.adb, libgnat/a-szunau.ads: Likewise. - * libgnat/a-szunau__shared.adb, libgnat/a-szuzha.adb: Likewise. - * libgnat/a-szuzti.adb, libgnat/a-szuzti.ads: Likewise. - * libgnat/a-szuzti__shared.adb, libgnat/a-tags.adb: Likewise. - * libgnat/a-tags.ads, libgnat/a-teioed.adb, libgnat/a-teioed.ads: Likewise. - * libgnat/a-textio.adb, libgnat/a-textio.ads: Likewise. - * libgnat/a-tiboio.adb, libgnat/a-ticoau.adb: Likewise. - * libgnat/a-ticoau.ads, libgnat/a-ticoio.adb: Likewise. - * libgnat/a-ticoio.ads, libgnat/a-tideau.adb: Likewise. - * libgnat/a-tideau.ads, libgnat/a-tideio.adb: Likewise. - * libgnat/a-tideio.ads, libgnat/a-tideio__128.adb: Likewise. - * libgnat/a-tienau.adb, libgnat/a-tienau.ads: Likewise. - * libgnat/a-tienio.adb, libgnat/a-tifiau.adb: Likewise. - * libgnat/a-tifiau.ads, libgnat/a-tifiio.adb: Likewise. - * libgnat/a-tifiio__128.adb, libgnat/a-tiflau.adb: Likewise. - * libgnat/a-tiflau.ads, libgnat/a-tiflio.adb: Likewise. - * libgnat/a-tiflio.ads, libgnat/a-tigeau.adb: Likewise. - * libgnat/a-tigeau.ads, libgnat/a-tigeli.adb: Likewise. - * libgnat/a-tiinau.adb, libgnat/a-tiinau.ads: Likewise. - * libgnat/a-tiinio.adb, libgnat/a-tiinio.ads: Likewise. - * libgnat/a-tiinio__128.adb, libgnat/a-timoio.adb: Likewise. - * libgnat/a-timoio.ads, libgnat/a-timoio__128.adb: Likewise. - * libgnat/a-tiocst.adb, libgnat/a-tiocst.ads: Likewise. - * libgnat/a-tirsfi.adb, libgnat/a-tirsfi.ads: Likewise. - * libgnat/a-titest.adb, libgnat/a-undesu.adb: Likewise. - * libgnat/a-wichha.adb, libgnat/a-wichun.adb: Likewise. - * libgnat/a-wichun.ads, libgnat/a-witeio.adb: Likewise. - * libgnat/a-witeio.ads, libgnat/a-wrstfi.adb: Likewise. - * libgnat/a-wrstfi.ads, libgnat/a-wtcoau.adb: Likewise. - * libgnat/a-wtcoau.ads, libgnat/a-wtcoio.adb: Likewise. - * libgnat/a-wtcstr.adb, libgnat/a-wtcstr.ads: Likewise. - * libgnat/a-wtdeau.adb, libgnat/a-wtdeau.ads: Likewise. - * libgnat/a-wtdeio.adb, libgnat/a-wtdeio__128.adb: Likewise. - * libgnat/a-wtedit.adb, libgnat/a-wtedit.ads: Likewise. - * libgnat/a-wtenau.adb, libgnat/a-wtenau.ads: Likewise. - * libgnat/a-wtenio.adb, libgnat/a-wtfiau.adb: Likewise. - * libgnat/a-wtfiau.ads, libgnat/a-wtfiio.adb: Likewise. - * libgnat/a-wtfiio__128.adb, libgnat/a-wtflau.adb: Likewise. - * libgnat/a-wtflau.ads, libgnat/a-wtflio.adb: Likewise. - * libgnat/a-wtgeau.adb, libgnat/a-wtgeau.ads: Likewise. - * libgnat/a-wtinau.adb, libgnat/a-wtinau.ads: Likewise. - * libgnat/a-wtinio.adb, libgnat/a-wtinio__128.adb: Likewise. - * libgnat/a-wtmoio.adb, libgnat/a-wtmoio.ads: Likewise. - * libgnat/a-wtmoio__128.adb, libgnat/a-wttest.adb: Likewise. - * libgnat/a-wwboio.adb, libgnat/a-zchhan.adb: Likewise. - * libgnat/a-zchuni.adb, libgnat/a-zchuni.ads: Likewise. - * libgnat/a-zrstfi.adb, libgnat/a-zrstfi.ads: Likewise. - * libgnat/a-ztcoau.adb, libgnat/a-ztcoio.adb: Likewise. - * libgnat/a-ztcstr.adb, libgnat/a-ztcstr.ads: Likewise. - * libgnat/a-ztdeau.adb, libgnat/a-ztdeau.ads: Likewise. - * libgnat/a-ztdeio.adb, libgnat/a-ztdeio__128.adb: Likewise. - * libgnat/a-ztedit.adb, libgnat/a-ztedit.ads: Likewise. - * libgnat/a-ztenau.adb, libgnat/a-ztenau.ads: Likewise. - * libgnat/a-ztenio.adb, libgnat/a-ztexio.adb: Likewise. - * libgnat/a-ztexio.ads, libgnat/a-ztfiau.adb: Likewise. - * libgnat/a-ztfiau.ads, libgnat/a-ztfiio.adb: Likewise. - * libgnat/a-ztfiio__128.adb, libgnat/a-ztflau.adb: Likewise. - * libgnat/a-ztflau.ads, libgnat/a-ztflio.adb: Likewise. - * libgnat/a-ztgeau.adb, libgnat/a-ztgeau.ads: Likewise. - * libgnat/a-ztinau.adb, libgnat/a-ztinau.ads: Likewise. - * libgnat/a-ztinio.adb, libgnat/a-ztinio__128.adb: Likewise. - * libgnat/a-ztmoio.adb, libgnat/a-ztmoio__128.adb: Likewise. - * libgnat/a-zttest.adb, libgnat/a-zzboio.adb: Likewise. - * libgnat/g-allein.ads, libgnat/g-alleve.adb: Likewise. - * libgnat/g-alleve.ads, libgnat/g-alleve__hard.adb: Likewise. - * libgnat/g-alleve__hard.ads, libgnat/g-altcon.adb: Likewise. - * libgnat/g-altcon.ads, libgnat/g-altive.ads: Likewise. - * libgnat/g-alveop.adb, libgnat/g-alveop.ads: Likewise. - * libgnat/g-alvety.ads, libgnat/g-alvevi.ads: Likewise. - * libgnat/g-arrspl.adb, libgnat/g-arrspl.ads, libgnat/g-awk.adb: Likewise. - * libgnat/g-awk.ads, libgnat/g-binenv.adb, libgnat/g-binenv.ads: Likewise. - * libgnat/g-binsea.adb, libgnat/g-binsea.ads: Likewise. - * libgnat/g-brapre.ads, libgnat/g-bubsor.adb: Likewise. - * libgnat/g-bubsor.ads, libgnat/g-busora.adb: Likewise. - * libgnat/g-busora.ads, libgnat/g-busorg.adb: Likewise. - * libgnat/g-busorg.ads, libgnat/g-byorma.adb: Likewise. - * libgnat/g-byorma.ads, libgnat/g-bytswa.adb: Likewise. - * libgnat/g-bytswa.ads, libgnat/g-calend.adb: Likewise. - * libgnat/g-calend.ads, libgnat/g-casuti.adb: Likewise. - * libgnat/g-casuti.ads, libgnat/g-catiio.adb: Likewise. - * libgnat/g-catiio.ads, libgnat/g-cgi.adb, libgnat/g-cgi.ads: Likewise. - * libgnat/g-cgicoo.adb, libgnat/g-cgicoo.ads: Likewise. - * libgnat/g-cgideb.adb, libgnat/g-cgideb.ads: Likewise. - * libgnat/g-comlin.adb, libgnat/g-comlin.ads: Likewise. - * libgnat/g-comver.adb, libgnat/g-comver.ads: Likewise. - * libgnat/g-cppexc.adb, libgnat/g-cppexc.ads, libgnat/g-crc32.adb: Likewise. - * libgnat/g-crc32.ads, libgnat/g-ctrl_c.adb, libgnat/g-ctrl_c.ads: Likewise. - * libgnat/g-curexc.ads, libgnat/g-debpoo.adb: Likewise. - * libgnat/g-debpoo.ads, libgnat/g-debuti.adb: Likewise. - * libgnat/g-debuti.ads, libgnat/g-decstr.adb: Likewise. - * libgnat/g-decstr.ads, libgnat/g-deutst.ads: Likewise. - * libgnat/g-diopit.adb, libgnat/g-diopit.ads: Likewise. - * libgnat/g-dirope.adb, libgnat/g-dirope.ads: Likewise. - * libgnat/g-dynhta.adb, libgnat/g-dynhta.ads: Likewise. - * libgnat/g-dyntab.adb, libgnat/g-dyntab.ads: Likewise. - * libgnat/g-eacodu.adb, libgnat/g-encstr.adb: Likewise. - * libgnat/g-encstr.ads, libgnat/g-enutst.ads: Likewise. - * libgnat/g-excact.adb, libgnat/g-excact.ads: Likewise. - * libgnat/g-except.ads, libgnat/g-exctra.adb: Likewise. - * libgnat/g-exctra.ads, libgnat/g-expect.adb: Likewise. - * libgnat/g-expect.ads, libgnat/g-exptty.adb: Likewise. - * libgnat/g-exptty.ads, libgnat/g-flocon.ads: Likewise. - * libgnat/g-forstr.adb, libgnat/g-forstr.ads: Likewise. - * libgnat/g-gfmafu.ads, libgnat/g-graphs.adb: Likewise. - * libgnat/g-graphs.ads, libgnat/g-heasor.adb: Likewise. - * libgnat/g-heasor.ads, libgnat/g-hesora.adb: Likewise. - * libgnat/g-hesora.ads, libgnat/g-hesorg.adb: Likewise. - * libgnat/g-hesorg.ads, libgnat/g-htable.adb: Likewise. - * libgnat/g-htable.ads, libgnat/g-io.adb, libgnat/g-io.ads: Likewise. - * libgnat/g-io_aux.adb, libgnat/g-io_aux.ads, libgnat/g-lists.adb: Likewise. - * libgnat/g-lists.ads, libgnat/g-locfil.adb, libgnat/g-locfil.ads: Likewise. - * libgnat/g-mbdira.adb, libgnat/g-mbdira.ads: Likewise. - * libgnat/g-mbflra.adb, libgnat/g-mbflra.ads, libgnat/g-md5.adb: Likewise. - * libgnat/g-md5.ads, libgnat/g-memdum.adb, libgnat/g-memdum.ads: Likewise. - * libgnat/g-moreex.adb, libgnat/g-moreex.ads: Likewise. - * libgnat/g-os_lib.adb, libgnat/g-os_lib.ads: Likewise. - * libgnat/g-pehage.adb, libgnat/g-pehage.ads: Likewise. - * libgnat/g-rannum.adb, libgnat/g-rannum.ads: Likewise. - * libgnat/g-regexp.adb, libgnat/g-regexp.ads: Likewise. - * libgnat/g-regist.adb, libgnat/g-regist.ads: Likewise. - * libgnat/g-regpat.adb, libgnat/g-regpat.ads: Likewise. - * libgnat/g-rewdat.adb, libgnat/g-rewdat.ads: Likewise. - * libgnat/g-sechas.adb, libgnat/g-sechas.ads: Likewise. - * libgnat/g-sehamd.adb, libgnat/g-sehamd.ads: Likewise. - * libgnat/g-sehash.adb, libgnat/g-sehash.ads: Likewise. - * libgnat/g-sercom.adb, libgnat/g-sercom.ads: Likewise. - * libgnat/g-sercom__linux.adb, libgnat/g-sercom__mingw.adb: Likewise. - * libgnat/g-sestin.ads, libgnat/g-sets.adb, libgnat/g-sets.ads: Likewise. - * libgnat/g-sha1.adb, libgnat/g-sha1.ads, libgnat/g-sha224.ads: Likewise. - * libgnat/g-sha256.ads, libgnat/g-sha384.ads: Likewise. - * libgnat/g-sha512.ads, libgnat/g-shsh32.adb: Likewise. - * libgnat/g-shsh32.ads, libgnat/g-shsh64.adb: Likewise. - * libgnat/g-shsh64.ads, libgnat/g-shshco.adb: Likewise. - * libgnat/g-shshco.ads, libgnat/g-soccon.ads: Likewise. - * libgnat/g-socket.adb, libgnat/g-socket.ads: Likewise. - * libgnat/g-socket__dummy.adb, libgnat/g-socket__dummy.ads: Likewise. - * libgnat/g-socpol.adb, libgnat/g-socpol.ads: Likewise. - * libgnat/g-socpol__dummy.adb, libgnat/g-socpol__dummy.ads: Likewise. - * libgnat/g-socthi.adb, libgnat/g-socthi.ads: Likewise. - * libgnat/g-socthi__dummy.adb, libgnat/g-socthi__dummy.ads: Likewise. - * libgnat/g-socthi__mingw.adb, libgnat/g-socthi__mingw.ads: Likewise. - * libgnat/g-socthi__vxworks.adb, libgnat/g-socthi__vxworks.ads: Likewise. - * libgnat/g-soliop.ads, libgnat/g-soliop__lynxos.ads: Likewise. - * libgnat/g-soliop__mingw.ads, libgnat/g-soliop__qnx.ads: Likewise. - * libgnat/g-soliop__solaris.ads, libgnat/g-sopowa.adb: Likewise. - * libgnat/g-sopowa__mingw.adb, libgnat/g-sopowa__posix.adb: Likewise. - * libgnat/g-sothco.adb, libgnat/g-sothco.ads: Likewise. - * libgnat/g-sothco__dummy.adb, libgnat/g-sothco__dummy.ads: Likewise. - * libgnat/g-souinf.ads, libgnat/g-spchge.adb: Likewise. - * libgnat/g-spchge.ads, libgnat/g-speche.adb: Likewise. - * libgnat/g-speche.ads, libgnat/g-spipat.adb: Likewise. - * libgnat/g-spipat.ads, libgnat/g-spitbo.adb: Likewise. - * libgnat/g-spitbo.ads, libgnat/g-spogwa.adb: Likewise. - * libgnat/g-spogwa.ads, libgnat/g-sptabo.ads: Likewise. - * libgnat/g-sptain.ads, libgnat/g-sptavs.ads, libgnat/g-sse.ads: Likewise. - * libgnat/g-ssvety.ads, libgnat/g-sthcso.adb: Likewise. - * libgnat/g-stheme.adb, libgnat/g-strhas.ads: Likewise. - * libgnat/g-string.adb, libgnat/g-string.ads: Likewise. - * libgnat/g-strspl.ads, libgnat/g-stseme.adb: Likewise. - * libgnat/g-stsifd__sockets.adb, libgnat/g-table.adb: Likewise. - * libgnat/g-table.ads, libgnat/g-tasloc.adb, libgnat/g-tasloc.ads: Likewise. - * libgnat/g-timsta.adb, libgnat/g-timsta.ads: Likewise. - * libgnat/g-traceb.adb, libgnat/g-traceb.ads: Likewise. - * libgnat/g-trasym.adb, libgnat/g-trasym.ads, libgnat/g-tty.adb: Likewise. - * libgnat/g-tty.ads, libgnat/g-u3spch.adb, libgnat/g-u3spch.ads: Likewise. - * libgnat/g-utf_32.adb, libgnat/g-utf_32.ads: Likewise. - * libgnat/g-wispch.adb, libgnat/g-wispch.ads: Likewise. - * libgnat/g-wistsp.ads, libgnat/g-zspche.adb: Likewise. - * libgnat/g-zspche.ads, libgnat/g-zstspl.ads, libgnat/gnat.ads: Likewise. - * libgnat/i-c.adb, libgnat/i-cexten.ads: Likewise. - * libgnat/i-cexten__128.ads, libgnat/i-cobol.adb: Likewise. - * libgnat/i-cobol.ads, libgnat/i-cpoint.adb, libgnat/i-cpoint.ads: Likewise. - * libgnat/i-cstrea.adb, libgnat/i-cstrea.ads: Likewise. - * libgnat/i-cstrin.adb, libgnat/i-cstrin.ads: Likewise. - * libgnat/i-fortra.adb, libgnat/i-pacdec.adb: Likewise. - * libgnat/i-pacdec.ads, libgnat/i-vxwoio.adb: Likewise. - * libgnat/i-vxwoio.ads, libgnat/i-vxwork.ads: Likewise. - * libgnat/i-vxwork__x86.ads, libgnat/interfac.ads: Likewise. - * libgnat/interfac__2020.ads, libgnat/memtrack.adb: Likewise. - * libgnat/s-addima.adb, libgnat/s-addima.ads: Likewise. - * libgnat/s-addope.adb, libgnat/s-addope.ads: Likewise. - * libgnat/s-aoinar.adb, libgnat/s-aoinar.ads: Likewise. - * libgnat/s-aomoar.adb, libgnat/s-aomoar.ads: Likewise. - * libgnat/s-aotase.adb, libgnat/s-aotase.ads: Likewise. - * libgnat/s-aridou.adb, libgnat/s-aridou.ads: Likewise. - * libgnat/s-arit128.adb, libgnat/s-arit128.ads: Likewise. - * libgnat/s-arit32.adb, libgnat/s-arit32.ads: Likewise. - * libgnat/s-arit64.adb, libgnat/s-arit64.ads: Likewise. - * libgnat/s-assert.adb, libgnat/s-assert.ads: Likewise. - * libgnat/s-atacco.adb, libgnat/s-atacco.ads: Likewise. - * libgnat/s-atocou.adb, libgnat/s-atocou.ads: Likewise. - * libgnat/s-atocou__builtin.adb, libgnat/s-atoope.ads: Likewise. - * libgnat/s-atopex.adb, libgnat/s-atopex.ads: Likewise. - * libgnat/s-atopri.adb, libgnat/s-atopri.ads: Likewise. - * libgnat/s-auxdec.adb, libgnat/s-auxdec.ads: Likewise. - * libgnat/s-bignum.adb, libgnat/s-bignum.ads: Likewise. - * libgnat/s-bitfie.ads, libgnat/s-bitops.adb: Likewise. - * libgnat/s-bitops.ads, libgnat/s-bituti.adb: Likewise. - * libgnat/s-bituti.ads, libgnat/s-boarop.ads: Likewise. - * libgnat/s-boustr.adb, libgnat/s-boustr.ads: Likewise. - * libgnat/s-bytswa.ads, libgnat/s-carsi8.adb: Likewise. - * libgnat/s-carsi8.ads, libgnat/s-carun8.adb: Likewise. - * libgnat/s-carun8.ads, libgnat/s-casi128.adb: Likewise. - * libgnat/s-casi128.ads, libgnat/s-casi16.adb: Likewise. - * libgnat/s-casi16.ads, libgnat/s-casi32.adb: Likewise. - * libgnat/s-casi32.ads, libgnat/s-casi64.adb: Likewise. - * libgnat/s-casi64.ads, libgnat/s-casuti.adb: Likewise. - * libgnat/s-casuti.ads, libgnat/s-caun128.adb: Likewise. - * libgnat/s-caun128.ads, libgnat/s-caun16.adb: Likewise. - * libgnat/s-caun16.ads, libgnat/s-caun32.adb: Likewise. - * libgnat/s-caun32.ads, libgnat/s-caun64.adb: Likewise. - * libgnat/s-caun64.ads, libgnat/s-chepoo.ads: Likewise. - * libgnat/s-commun.adb, libgnat/s-commun.ads: Likewise. - * libgnat/s-conca2.adb, libgnat/s-conca2.ads: Likewise. - * libgnat/s-conca3.adb, libgnat/s-conca3.ads: Likewise. - * libgnat/s-conca4.adb, libgnat/s-conca4.ads: Likewise. - * libgnat/s-conca5.adb, libgnat/s-conca5.ads: Likewise. - * libgnat/s-conca6.adb, libgnat/s-conca6.ads: Likewise. - * libgnat/s-conca7.adb, libgnat/s-conca7.ads: Likewise. - * libgnat/s-conca8.adb, libgnat/s-conca8.ads: Likewise. - * libgnat/s-conca9.adb, libgnat/s-conca9.ads, libgnat/s-crc32.adb: Likewise. - * libgnat/s-crc32.ads, libgnat/s-crtl.ads, libgnat/s-dfmkio.ads: Likewise. - * libgnat/s-dfmopr.ads, libgnat/s-dgmgop.ads: Likewise. - * libgnat/s-diflio.adb, libgnat/s-diflio.ads: Likewise. - * libgnat/s-diflmk.ads, libgnat/s-digemk.ads: Likewise. - * libgnat/s-diinio.adb, libgnat/s-diinio.ads: Likewise. - * libgnat/s-dilomk.ads, libgnat/s-dim.ads, libgnat/s-dimkio.ads: Likewise. - * libgnat/s-dimmks.ads, libgnat/s-direio.adb: Likewise. - * libgnat/s-direio.ads, libgnat/s-dlmkio.ads: Likewise. - * libgnat/s-dlmopr.ads, libgnat/s-dmotpr.ads: Likewise. - * libgnat/s-dorepr.adb, libgnat/s-dorepr__fma.adb: Likewise. - * libgnat/s-dourea.adb, libgnat/s-dourea.ads: Likewise. - * libgnat/s-dsaser.ads, libgnat/s-dwalin.adb: Likewise. - * libgnat/s-dwalin.ads, libgnat/s-elaall.adb: Likewise. - * libgnat/s-elaall.ads, libgnat/s-excdeb.adb: Likewise. - * libgnat/s-excdeb.ads, libgnat/s-except.adb: Likewise. - * libgnat/s-except.ads, libgnat/s-excmac__arm.adb: Likewise. - * libgnat/s-excmac__arm.ads, libgnat/s-excmac__gcc.adb: Likewise. - * libgnat/s-excmac__gcc.ads, libgnat/s-exctab.adb: Likewise. - * libgnat/s-exctab.ads, libgnat/s-exctra.adb: Likewise. - * libgnat/s-exctra.ads, libgnat/s-exnflt.ads: Likewise. - * libgnat/s-exnint.adb, libgnat/s-exnint.ads: Likewise. - * libgnat/s-exnlfl.ads, libgnat/s-exnllf.adb: Likewise. - * libgnat/s-exnllf.ads, libgnat/s-exnlli.adb: Likewise. - * libgnat/s-exnlli.ads, libgnat/s-exnllli.ads: Likewise. - * libgnat/s-expint.adb, libgnat/s-expint.ads: Likewise. - * libgnat/s-explli.adb, libgnat/s-explli.ads: Likewise. - * libgnat/s-expllli.ads, libgnat/s-explllu.ads: Likewise. - * libgnat/s-expllu.adb, libgnat/s-expllu.ads: Likewise. - * libgnat/s-expmod.adb, libgnat/s-expmod.ads: Likewise. - * libgnat/s-exponn.adb, libgnat/s-exponn.ads: Likewise. - * libgnat/s-exponr.adb, libgnat/s-exponr.ads: Likewise. - * libgnat/s-expont.adb, libgnat/s-expont.ads: Likewise. - * libgnat/s-exponu.adb, libgnat/s-exponu.ads: Likewise. - * libgnat/s-expuns.adb, libgnat/s-expuns.ads: Likewise. - * libgnat/s-fatflt.ads, libgnat/s-fatgen.adb: Likewise. - * libgnat/s-fatgen.ads, libgnat/s-fatlfl.ads: Likewise. - * libgnat/s-fatllf.ads, libgnat/s-ficobl.ads: Likewise. - * libgnat/s-filatt.ads, libgnat/s-fileio.adb: Likewise. - * libgnat/s-fileio.ads, libgnat/s-finmas.adb: Likewise. - * libgnat/s-finmas.ads, libgnat/s-finroo.adb: Likewise. - * libgnat/s-finroo.ads, libgnat/s-flocon.adb: Likewise. - * libgnat/s-flocon.ads, libgnat/s-flocon__none.adb: Likewise. - * libgnat/s-fode128.ads, libgnat/s-fode32.ads: Likewise. - * libgnat/s-fode64.ads, libgnat/s-fofi128.ads: Likewise. - * libgnat/s-fofi32.ads, libgnat/s-fofi64.ads: Likewise. - * libgnat/s-fore_d.adb, libgnat/s-fore_d.ads: Likewise. - * libgnat/s-fore_f.adb, libgnat/s-fore_f.ads: Likewise. - * libgnat/s-forrea.adb, libgnat/s-forrea.ads: Likewise. - * libgnat/s-gearop.adb, libgnat/s-gearop.ads: Likewise. - * libgnat/s-genbig.adb, libgnat/s-genbig.ads: Likewise. - * libgnat/s-geveop.adb, libgnat/s-geveop.ads: Likewise. - * libgnat/s-gloloc.adb, libgnat/s-gloloc.ads: Likewise. - * libgnat/s-gloloc__mingw.adb, libgnat/s-htable.adb: Likewise. - * libgnat/s-htable.ads, libgnat/s-imageb.adb: Likewise. - * libgnat/s-imageb.ads, libgnat/s-imaged.adb: Likewise. - * libgnat/s-imaged.ads, libgnat/s-imagef.adb: Likewise. - * libgnat/s-imagef.ads, libgnat/s-imagei.adb: Likewise. - * libgnat/s-imagei.ads, libgnat/s-imagen.adb: Likewise. - * libgnat/s-imagen.ads, libgnat/s-imager.adb: Likewise. - * libgnat/s-imager.ads, libgnat/s-imageu.adb: Likewise. - * libgnat/s-imageu.ads, libgnat/s-imagew.adb: Likewise. - * libgnat/s-imagew.ads, libgnat/s-imde128.ads: Likewise. - * libgnat/s-imde32.ads, libgnat/s-imde64.ads: Likewise. - * libgnat/s-imen16.ads, libgnat/s-imen32.ads: Likewise. - * libgnat/s-imenu8.ads, libgnat/s-imfi128.ads: Likewise. - * libgnat/s-imfi32.ads, libgnat/s-imfi64.ads: Likewise. - * libgnat/s-imgbiu.adb, libgnat/s-imgbiu.ads: Likewise. - * libgnat/s-imgboo.adb, libgnat/s-imgboo.ads: Likewise. - * libgnat/s-imgcha.adb, libgnat/s-imgcha.ads: Likewise. - * libgnat/s-imgflt.ads, libgnat/s-imgint.adb: Likewise. - * libgnat/s-imgint.ads, libgnat/s-imglfl.ads: Likewise. - * libgnat/s-imgllb.adb, libgnat/s-imgllb.ads: Likewise. - * libgnat/s-imgllf.ads, libgnat/s-imglli.adb: Likewise. - * libgnat/s-imglli.ads, libgnat/s-imglllb.ads: Likewise. - * libgnat/s-imgllli.ads, libgnat/s-imglllu.ads: Likewise. - * libgnat/s-imglllw.ads, libgnat/s-imgllu.adb: Likewise. - * libgnat/s-imgllu.ads, libgnat/s-imgllw.adb: Likewise. - * libgnat/s-imgllw.ads, libgnat/s-imgrea.adb: Likewise. - * libgnat/s-imgrea.ads, libgnat/s-imguns.adb: Likewise. - * libgnat/s-imguns.ads, libgnat/s-imguti.adb: Likewise. - * libgnat/s-imguti.ads, libgnat/s-imgwch.adb: Likewise. - * libgnat/s-imgwch.ads, libgnat/s-imgwiu.adb: Likewise. - * libgnat/s-imgwiu.ads, libgnat/s-io.adb, libgnat/s-io.ads: Likewise. - * libgnat/s-llflex.ads, libgnat/s-maccod.ads: Likewise. - * libgnat/s-mantis.adb, libgnat/s-mantis.ads: Likewise. - * libgnat/s-mastop.adb, libgnat/s-mastop.ads: Likewise. - * libgnat/s-memcop.ads, libgnat/s-memory.adb: Likewise. - * libgnat/s-memory.ads, libgnat/s-mmap.adb, libgnat/s-mmap.ads: Likewise. - * libgnat/s-mmauni__long.ads, libgnat/s-mmosin__mingw.adb: Likewise. - * libgnat/s-mmosin__mingw.ads, libgnat/s-mmosin__unix.adb: Likewise. - * libgnat/s-mmosin__unix.ads, libgnat/s-multip.adb: Likewise. - * libgnat/s-objrea.adb, libgnat/s-objrea.ads: Likewise. - * libgnat/s-optide.adb, libgnat/s-os_lib.adb: Likewise. - * libgnat/s-os_lib.ads, libgnat/s-osprim.ads: Likewise. - * libgnat/s-osprim__darwin.adb, libgnat/s-osprim__lynxos.ads: Likewise. - * libgnat/s-osprim__mingw.adb, libgnat/s-osprim__posix.adb: Likewise. - * libgnat/s-osprim__posix2008.adb, libgnat/s-osprim__rtems.adb: Likewise. - * libgnat/s-osprim__solaris.adb, libgnat/s-osprim__unix.adb: Likewise. - * libgnat/s-osprim__x32.adb, libgnat/s-pack03.adb: Likewise. - * libgnat/s-pack03.ads, libgnat/s-pack05.adb: Likewise. - * libgnat/s-pack05.ads, libgnat/s-pack06.adb: Likewise. - * libgnat/s-pack06.ads, libgnat/s-pack07.adb: Likewise. - * libgnat/s-pack07.ads, libgnat/s-pack09.adb: Likewise. - * libgnat/s-pack09.ads, libgnat/s-pack10.adb: Likewise. - * libgnat/s-pack10.ads, libgnat/s-pack100.adb: Likewise. - * libgnat/s-pack100.ads, libgnat/s-pack101.adb: Likewise. - * libgnat/s-pack101.ads, libgnat/s-pack102.adb: Likewise. - * libgnat/s-pack102.ads, libgnat/s-pack103.adb: Likewise. - * libgnat/s-pack103.ads, libgnat/s-pack104.adb: Likewise. - * libgnat/s-pack104.ads, libgnat/s-pack105.adb: Likewise. - * libgnat/s-pack105.ads, libgnat/s-pack106.adb: Likewise. - * libgnat/s-pack106.ads, libgnat/s-pack107.adb: Likewise. - * libgnat/s-pack107.ads, libgnat/s-pack108.adb: Likewise. - * libgnat/s-pack108.ads, libgnat/s-pack109.adb: Likewise. - * libgnat/s-pack109.ads, libgnat/s-pack11.adb: Likewise. - * libgnat/s-pack11.ads, libgnat/s-pack110.adb: Likewise. - * libgnat/s-pack110.ads, libgnat/s-pack111.adb: Likewise. - * libgnat/s-pack111.ads, libgnat/s-pack112.adb: Likewise. - * libgnat/s-pack112.ads, libgnat/s-pack113.adb: Likewise. - * libgnat/s-pack113.ads, libgnat/s-pack114.adb: Likewise. - * libgnat/s-pack114.ads, libgnat/s-pack115.adb: Likewise. - * libgnat/s-pack115.ads, libgnat/s-pack116.adb: Likewise. - * libgnat/s-pack116.ads, libgnat/s-pack117.adb: Likewise. - * libgnat/s-pack117.ads, libgnat/s-pack118.adb: Likewise. - * libgnat/s-pack118.ads, libgnat/s-pack119.adb: Likewise. - * libgnat/s-pack119.ads, libgnat/s-pack12.adb: Likewise. - * libgnat/s-pack12.ads, libgnat/s-pack120.adb: Likewise. - * libgnat/s-pack120.ads, libgnat/s-pack121.adb: Likewise. - * libgnat/s-pack121.ads, libgnat/s-pack122.adb: Likewise. - * libgnat/s-pack122.ads, libgnat/s-pack123.adb: Likewise. - * libgnat/s-pack123.ads, libgnat/s-pack124.adb: Likewise. - * libgnat/s-pack124.ads, libgnat/s-pack125.adb: Likewise. - * libgnat/s-pack125.ads, libgnat/s-pack126.adb: Likewise. - * libgnat/s-pack126.ads, libgnat/s-pack127.adb: Likewise. - * libgnat/s-pack127.ads, libgnat/s-pack13.adb: Likewise. - * libgnat/s-pack13.ads, libgnat/s-pack14.adb: Likewise. - * libgnat/s-pack14.ads, libgnat/s-pack15.adb: Likewise. - * libgnat/s-pack15.ads, libgnat/s-pack17.adb: Likewise. - * libgnat/s-pack17.ads, libgnat/s-pack18.adb: Likewise. - * libgnat/s-pack18.ads, libgnat/s-pack19.adb: Likewise. - * libgnat/s-pack19.ads, libgnat/s-pack20.adb: Likewise. - * libgnat/s-pack20.ads, libgnat/s-pack21.adb: Likewise. - * libgnat/s-pack21.ads, libgnat/s-pack22.adb: Likewise. - * libgnat/s-pack22.ads, libgnat/s-pack23.adb: Likewise. - * libgnat/s-pack23.ads, libgnat/s-pack24.adb: Likewise. - * libgnat/s-pack24.ads, libgnat/s-pack25.adb: Likewise. - * libgnat/s-pack25.ads, libgnat/s-pack26.adb: Likewise. - * libgnat/s-pack26.ads, libgnat/s-pack27.adb: Likewise. - * libgnat/s-pack27.ads, libgnat/s-pack28.adb: Likewise. - * libgnat/s-pack28.ads, libgnat/s-pack29.adb: Likewise. - * libgnat/s-pack29.ads, libgnat/s-pack30.adb: Likewise. - * libgnat/s-pack30.ads, libgnat/s-pack31.adb: Likewise. - * libgnat/s-pack31.ads, libgnat/s-pack33.adb: Likewise. - * libgnat/s-pack33.ads, libgnat/s-pack34.adb: Likewise. - * libgnat/s-pack34.ads, libgnat/s-pack35.adb: Likewise. - * libgnat/s-pack35.ads, libgnat/s-pack36.adb: Likewise. - * libgnat/s-pack36.ads, libgnat/s-pack37.adb: Likewise. - * libgnat/s-pack37.ads, libgnat/s-pack38.adb: Likewise. - * libgnat/s-pack38.ads, libgnat/s-pack39.adb: Likewise. - * libgnat/s-pack39.ads, libgnat/s-pack40.adb: Likewise. - * libgnat/s-pack40.ads, libgnat/s-pack41.adb: Likewise. - * libgnat/s-pack41.ads, libgnat/s-pack42.adb: Likewise. - * libgnat/s-pack42.ads, libgnat/s-pack43.adb: Likewise. - * libgnat/s-pack43.ads, libgnat/s-pack44.adb: Likewise. - * libgnat/s-pack44.ads, libgnat/s-pack45.adb: Likewise. - * libgnat/s-pack45.ads, libgnat/s-pack46.adb: Likewise. - * libgnat/s-pack46.ads, libgnat/s-pack47.adb: Likewise. - * libgnat/s-pack47.ads, libgnat/s-pack48.adb: Likewise. - * libgnat/s-pack48.ads, libgnat/s-pack49.adb: Likewise. - * libgnat/s-pack49.ads, libgnat/s-pack50.adb: Likewise. - * libgnat/s-pack50.ads, libgnat/s-pack51.adb: Likewise. - * libgnat/s-pack51.ads, libgnat/s-pack52.adb: Likewise. - * libgnat/s-pack52.ads, libgnat/s-pack53.adb: Likewise. - * libgnat/s-pack53.ads, libgnat/s-pack54.adb: Likewise. - * libgnat/s-pack54.ads, libgnat/s-pack55.adb: Likewise. - * libgnat/s-pack55.ads, libgnat/s-pack56.adb: Likewise. - * libgnat/s-pack56.ads, libgnat/s-pack57.adb: Likewise. - * libgnat/s-pack57.ads, libgnat/s-pack58.adb: Likewise. - * libgnat/s-pack58.ads, libgnat/s-pack59.adb: Likewise. - * libgnat/s-pack59.ads, libgnat/s-pack60.adb: Likewise. - * libgnat/s-pack60.ads, libgnat/s-pack61.adb: Likewise. - * libgnat/s-pack61.ads, libgnat/s-pack62.adb: Likewise. - * libgnat/s-pack62.ads, libgnat/s-pack63.adb: Likewise. - * libgnat/s-pack63.ads, libgnat/s-pack65.adb: Likewise. - * libgnat/s-pack65.ads, libgnat/s-pack66.adb: Likewise. - * libgnat/s-pack66.ads, libgnat/s-pack67.adb: Likewise. - * libgnat/s-pack67.ads, libgnat/s-pack68.adb: Likewise. - * libgnat/s-pack68.ads, libgnat/s-pack69.adb: Likewise. - * libgnat/s-pack69.ads, libgnat/s-pack70.adb: Likewise. - * libgnat/s-pack70.ads, libgnat/s-pack71.adb: Likewise. - * libgnat/s-pack71.ads, libgnat/s-pack72.adb: Likewise. - * libgnat/s-pack72.ads, libgnat/s-pack73.adb: Likewise. - * libgnat/s-pack73.ads, libgnat/s-pack74.adb: Likewise. - * libgnat/s-pack74.ads, libgnat/s-pack75.adb: Likewise. - * libgnat/s-pack75.ads, libgnat/s-pack76.adb: Likewise. - * libgnat/s-pack76.ads, libgnat/s-pack77.adb: Likewise. - * libgnat/s-pack77.ads, libgnat/s-pack78.adb: Likewise. - * libgnat/s-pack78.ads, libgnat/s-pack79.adb: Likewise. - * libgnat/s-pack79.ads, libgnat/s-pack80.adb: Likewise. - * libgnat/s-pack80.ads, libgnat/s-pack81.adb: Likewise. - * libgnat/s-pack81.ads, libgnat/s-pack82.adb: Likewise. - * libgnat/s-pack82.ads, libgnat/s-pack83.adb: Likewise. - * libgnat/s-pack83.ads, libgnat/s-pack84.adb: Likewise. - * libgnat/s-pack84.ads, libgnat/s-pack85.adb: Likewise. - * libgnat/s-pack85.ads, libgnat/s-pack86.adb: Likewise. - * libgnat/s-pack86.ads, libgnat/s-pack87.adb: Likewise. - * libgnat/s-pack87.ads, libgnat/s-pack88.adb: Likewise. - * libgnat/s-pack88.ads, libgnat/s-pack89.adb: Likewise. - * libgnat/s-pack89.ads, libgnat/s-pack90.adb: Likewise. - * libgnat/s-pack90.ads, libgnat/s-pack91.adb: Likewise. - * libgnat/s-pack91.ads, libgnat/s-pack92.adb: Likewise. - * libgnat/s-pack92.ads, libgnat/s-pack93.adb: Likewise. - * libgnat/s-pack93.ads, libgnat/s-pack94.adb: Likewise. - * libgnat/s-pack94.ads, libgnat/s-pack95.adb: Likewise. - * libgnat/s-pack95.ads, libgnat/s-pack96.adb: Likewise. - * libgnat/s-pack96.ads, libgnat/s-pack97.adb: Likewise. - * libgnat/s-pack97.ads, libgnat/s-pack98.adb: Likewise. - * libgnat/s-pack98.ads, libgnat/s-pack99.adb: Likewise. - * libgnat/s-pack99.ads, libgnat/s-parame.adb: Likewise. - * libgnat/s-parame.ads, libgnat/s-parame__hpux.ads: Likewise. - * libgnat/s-parame__posix2008.ads, libgnat/s-parame__rtems.adb: Likewise. - * libgnat/s-parame__vxworks.adb, libgnat/s-parame__vxworks.ads: Likewise. - * libgnat/s-parint.adb, libgnat/s-parint.ads: Likewise. - * libgnat/s-pehage.adb, libgnat/s-pehage.ads: Likewise. - * libgnat/s-pooglo.adb, libgnat/s-pooglo.ads: Likewise. - * libgnat/s-pooloc.adb, libgnat/s-pooloc.ads: Likewise. - * libgnat/s-poosiz.adb, libgnat/s-poosiz.ads: Likewise. - * libgnat/s-powflt.ads, libgnat/s-powlfl.ads: Likewise. - * libgnat/s-powllf.ads, libgnat/s-purexc.ads: Likewise. - * libgnat/s-putima.adb, libgnat/s-putima.ads: Likewise. - * libgnat/s-rannum.adb, libgnat/s-rannum.ads: Likewise. - * libgnat/s-ransee.adb, libgnat/s-ransee.ads: Likewise. - * libgnat/s-regexp.adb, libgnat/s-regexp.ads: Likewise. - * libgnat/s-regpat.adb, libgnat/s-regpat.ads: Likewise. - * libgnat/s-resfil.adb, libgnat/s-resfil.ads: Likewise. - * libgnat/s-restri.adb, libgnat/s-restri.ads: Likewise. - * libgnat/s-retsta.ads, libgnat/s-rident.ads, libgnat/s-rpc.adb: Likewise. - * libgnat/s-rpc.ads, libgnat/s-scaval.adb, libgnat/s-scaval.ads: Likewise. - * libgnat/s-scaval__128.adb, libgnat/s-scaval__128.ads: Likewise. - * libgnat/s-secsta.adb, libgnat/s-secsta.ads: Likewise. - * libgnat/s-sequio.adb, libgnat/s-sequio.ads: Likewise. - * libgnat/s-shabig.ads, libgnat/s-shasto.adb: Likewise. - * libgnat/s-shasto.ads, libgnat/s-soflin.adb: Likewise. - * libgnat/s-soflin.ads, libgnat/s-soliin.adb: Likewise. - * libgnat/s-soliin.ads, libgnat/s-spark.ads, libgnat/s-spcuop.adb: Likewise. - * libgnat/s-spcuop.ads, libgnat/s-spsufi.adb: Likewise. - * libgnat/s-spsufi.ads, libgnat/s-stache.adb: Likewise. - * libgnat/s-stache.ads, libgnat/s-stalib.adb: Likewise. - * libgnat/s-stalib.ads, libgnat/s-statxd.adb: Likewise. - * libgnat/s-statxd.ads, libgnat/s-stausa.adb: Likewise. - * libgnat/s-stausa.ads, libgnat/s-stchop.adb: Likewise. - * libgnat/s-stchop.ads, libgnat/s-stchop__limit.ads: Likewise. - * libgnat/s-stchop__vxworks.adb, libgnat/s-stoele.adb: Likewise. - * libgnat/s-stoele.ads, libgnat/s-stopoo.adb: Likewise. - * libgnat/s-stopoo.ads, libgnat/s-stposu.adb: Likewise. - * libgnat/s-stposu.ads, libgnat/s-stratt.adb: Likewise. - * libgnat/s-stratt.ads, libgnat/s-strcom.adb: Likewise. - * libgnat/s-strcom.ads, libgnat/s-strhas.adb: Likewise. - * libgnat/s-strhas.ads, libgnat/s-string.adb: Likewise. - * libgnat/s-string.ads, libgnat/s-ststop.adb: Likewise. - * libgnat/s-ststop.ads, libgnat/s-tasloc.adb: Likewise. - * libgnat/s-tasloc.ads, libgnat/s-traceb.adb: Likewise. - * libgnat/s-traceb.ads, libgnat/s-traceb__hpux.adb: Likewise. - * libgnat/s-traceb__mastop.adb, libgnat/s-traent.adb: Likewise. - * libgnat/s-traent.ads, libgnat/s-trasym.adb: Likewise. - * libgnat/s-trasym.ads, libgnat/s-trasym__dwarf.adb: Likewise. - * libgnat/s-tsmona.adb, libgnat/s-tsmona__linux.adb: Likewise. - * libgnat/s-tsmona__mingw.adb, libgnat/s-unstyp.ads: Likewise. - * libgnat/s-utf_32.adb, libgnat/s-utf_32.ads: Likewise. - * libgnat/s-vade128.ads, libgnat/s-vade32.ads: Likewise. - * libgnat/s-vade64.ads, libgnat/s-vaen16.ads: Likewise. - * libgnat/s-vaen32.ads, libgnat/s-vaenu8.ads: Likewise. - * libgnat/s-vafi128.ads, libgnat/s-vafi32.ads: Likewise. - * libgnat/s-vafi64.ads, libgnat/s-vaispe.adb: Likewise. - * libgnat/s-vaispe.ads, libgnat/s-valboo.adb: Likewise. - * libgnat/s-valboo.ads, libgnat/s-valcha.adb: Likewise. - * libgnat/s-valcha.ads, libgnat/s-valflt.ads: Likewise. - * libgnat/s-valint.adb, libgnat/s-valint.ads: Likewise. - * libgnat/s-vallfl.ads, libgnat/s-valllf.ads: Likewise. - * libgnat/s-vallli.adb, libgnat/s-vallli.ads: Likewise. - * libgnat/s-valllli.ads, libgnat/s-vallllu.ads: Likewise. - * libgnat/s-valllu.adb, libgnat/s-valllu.ads: Likewise. - * libgnat/s-valrea.adb, libgnat/s-valrea.ads: Likewise. - * libgnat/s-valued.adb, libgnat/s-valued.ads: Likewise. - * libgnat/s-valuef.adb, libgnat/s-valuef.ads: Likewise. - * libgnat/s-valuei.adb, libgnat/s-valuei.ads: Likewise. - * libgnat/s-valuen.adb, libgnat/s-valuen.ads: Likewise. - * libgnat/s-valuer.adb, libgnat/s-valuer.ads: Likewise. - * libgnat/s-valueu.adb, libgnat/s-valueu.ads: Likewise. - * libgnat/s-valuns.adb, libgnat/s-valuns.ads: Likewise. - * libgnat/s-valuti.adb, libgnat/s-valuti.ads: Likewise. - * libgnat/s-valwch.adb, libgnat/s-valwch.ads: Likewise. - * libgnat/s-vauspe.adb, libgnat/s-vauspe.ads: Likewise. - * libgnat/s-veboop.adb, libgnat/s-veboop.ads: Likewise. - * libgnat/s-vector.ads, libgnat/s-vercon.adb: Likewise. - * libgnat/s-vercon.ads, libgnat/s-wchcnv.adb: Likewise. - * libgnat/s-wchcnv.ads, libgnat/s-wchcon.adb: Likewise. - * libgnat/s-wchcon.ads, libgnat/s-wchjis.adb: Likewise. - * libgnat/s-wchjis.ads, libgnat/s-wchstw.adb: Likewise. - * libgnat/s-wchstw.ads, libgnat/s-wchwts.adb: Likewise. - * libgnat/s-wchwts.ads, libgnat/s-widboo.adb: Likewise. - * libgnat/s-widboo.ads, libgnat/s-widcha.adb: Likewise. - * libgnat/s-widcha.ads, libgnat/s-widenu.adb: Likewise. - * libgnat/s-widenu.ads, libgnat/s-widint.ads: Likewise. - * libgnat/s-widlli.adb, libgnat/s-widlli.ads: Likewise. - * libgnat/s-widllli.ads, libgnat/s-widlllu.ads: Likewise. - * libgnat/s-widllu.adb, libgnat/s-widllu.ads: Likewise. - * libgnat/s-widthi.adb, libgnat/s-widthi.ads: Likewise. - * libgnat/s-widthu.adb, libgnat/s-widthu.ads: Likewise. - * libgnat/s-widuns.ads, libgnat/s-widwch.adb: Likewise. - * libgnat/s-widwch.ads, libgnat/s-win32.ads, libgnat/s-winext.ads: Likewise. - * libgnat/s-wwdcha.adb, libgnat/s-wwdcha.ads: Likewise. - * libgnat/s-wwdenu.adb, libgnat/s-wwdenu.ads: Likewise. - * libgnat/s-wwdwch.adb, libgnat/s-wwdwch.ads: Likewise. - * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads: Likewise. - * libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads: Likewise. - * libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads: Likewise. - * libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads: Likewise. - * libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads: Likewise. - * libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads: Likewise. - * libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads: Likewise. - * libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads: Likewise. - * libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads: Likewise. - * libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads: Likewise. - * libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads: Likewise. - * libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads: Likewise. - * libgnat/system-qnx-arm.ads, libgnat/system-rtems.ads: Likewise. - * libgnat/system-solaris-sparc.ads: Likewise. - * libgnat/system-solaris-x86.ads: Likewise. - * libgnat/system-vxworks-ppc-kernel.ads: Likewise. - * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise. - * libgnat/system-vxworks-ppc-rtp.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-ppc-kernel.ads: Likewise. - * libgnat/system-vxworks7-ppc-rtp-smp.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_64-kernel.ads: Likewise. - * libgnat/system-vxworks7-x86_64-rtp-smp.ads, link.c, live.adb: Likewise. - * live.ads, locales.c, make.adb, make.ads, make_util.adb: Likewise. - * make_util.ads, makeusg.adb, makeusg.ads, mdll-fil.adb: Likewise. - * mdll-fil.ads, mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads: Likewise. - * mingw32.h, mkdir.c, namet-sp.adb, namet-sp.ads, namet.adb: Likewise. - * namet.ads, namet.h, nlists.adb, nlists.ads, nlists.h, opt.adb: Likewise. - * opt.ads, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads: Likewise. - * osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads, osint.adb: Likewise. - * osint.ads, output.adb, output.ads, par-ch10.adb, par-ch11.adb: Likewise. - * par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb: Likewise. - * par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch7.adb, par-ch8.adb: Likewise. - * par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb: Likewise. - * par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, par.adb: Likewise. - * par.ads, par_sco.adb, par_sco.ads: Likewise. - * pprint.adb, pprint.ads, prep.adb, prep.ads: Likewise. - * prepcomp.adb, prepcomp.ads, put_scos.adb, put_scos.ads: Likewise. - * raise-gcc.c, raise.c, raise.h, repinfo-input.adb: Likewise. - * repinfo-input.ads, repinfo.adb, repinfo.ads, repinfo.h: Likewise. - * restrict.adb, restrict.ads, rident.ads, rtfinal.c, rtinit.c: Likewise. - * rtsfind.adb, rtsfind.ads, runtime.h, s-oscons-tmplt.c: Likewise. - * scans.adb, scans.ads, scil_ll.adb, scil_ll.ads, scn.adb: Likewise. - * scn.ads, scng.adb, scng.ads, scos.adb, scos.ads: Likewise. - * scos.h, sdefault.ads, seh_init.c, sem.adb, sem.ads: Likewise. - * sem_aggr.adb, sem_aggr.ads, sem_attr.adb, sem_attr.ads: Likewise. - * sem_aux.adb, sem_aux.ads, sem_case.adb, sem_case.ads: Likewise. - * sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads: Likewise. - * sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads: Likewise. - * sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads: Likewise. - * sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads, sem_ch5.adb: Likewise. - * sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch7.ads: Likewise. - * sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_ch9.ads, sem_dim.adb: Likewise. - * sem_dim.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb: Likewise. - * sem_dist.ads, sem_elab.adb, sem_elab.ads, sem_elim.adb: Likewise. - * sem_elim.ads, sem_eval.adb, sem_eval.ads, sem_intr.adb: Likewise. - * sem_intr.ads, sem_mech.adb, sem_mech.ads, sem_prag.adb: Likewise. - * sem_prag.ads, sem_res.adb, sem_res.ads, sem_scil.adb: Likewise. - * sem_scil.ads, sem_smem.adb, sem_smem.ads, sem_type.adb: Likewise. - * sem_type.ads, sem_util.adb, sem_util.ads, sem_warn.adb: Likewise. - * sem_warn.ads, set_targ.adb, set_targ.ads, sfn_scan.adb: Likewise. - * sfn_scan.ads, sigtramp-arm-qnx.c, sigtramp-armdroid.c: Likewise. - * sigtramp-ios.c, sigtramp-qnx.c: Likewise. - * sigtramp-vxworks-target.h, sigtramp-vxworks.c, sigtramp.h: Likewise. - * sinfo-cn.adb, sinfo-cn.ads, sinfo-utils.adb, sinfo-utils.ads: Likewise. - * sinfo.adb, sinfo.ads, sinput-c.adb, sinput-c.ads, sinput-d.adb: Likewise. - * sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.adb: Likewise. - * sinput.ads, socket.c, spark_xrefs.adb, spark_xrefs.ads: Likewise. - * sprint.adb, sprint.ads, stand.ads: Likewise. - * stringt.adb, stringt.ads, stringt.h, strub.adb, strub.ads: Likewise. - * style.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb: Likewise. - * stylesw.ads, switch-b.adb, switch-b.ads, switch-c.adb: Likewise. - * switch-c.ads, switch-m.adb, switch-m.ads, switch.adb: Likewise. - * switch.ads, sysdep.c, table.adb: Likewise. - * table.ads, targext.c, targparm.adb, targparm.ads, tbuild.adb: Likewise. - * tbuild.ads, tempdir.adb, tempdir.ads, terminals.c, tracebak.c: Likewise. - * treepr.adb, treepr.ads, ttypes.ads, types.adb, types.ads: Likewise. - * types.h, uintp.adb, uintp.ads, uintp.h, uname.adb, uname.ads: Likewise. - * urealp.adb, urealp.ads, urealp.h, usage.adb, usage.ads: Likewise. - * validsw.adb, validsw.ads, vast.adb, vast.ads, warnsw.adb: Likewise. - * warnsw.ads, widechar.adb, widechar.ads, xoscons.adb: Likewise. - * xsnamest.adb, xutil.adb, xutil.ads, gnatvsn.adb: Likewise. - * gnatvsn.ads (Current_Year): Likewise and bump to 2023. - -2023-01-09 Eric Botcazou - - * exp_ch7.adb (Make_Adjust_Call): Remove unreachable statement. - (Make_Final_Call): Likewise. - -2023-01-09 Eric Botcazou - - * exp_util.ads (Is_Tag_To_Class_Wide_Conversion): Delete. - (Is_Displacement_Of_Object_Or_Function_Result): Likewise. - * exp_util.adb (Is_Tag_To_Class_Wide_Conversion): Rename to... - (Is_Temporary_For_Interface_Object): ...this. - (Is_Finalizable_Transient): Adjust call to above renaming. - (Is_Displacement_Of_Object_Or_Function_Result): Delete. - (Requires_Cleanup_Actions): Remove special handling of the - temporaries created for interface objects. - * exp_ch7.adb (Build_Finalizer): Likewise. - -2023-01-07 LIU Hao - - PR middle-end/108300 - * adaint.c: Define `WIN32_LEAN_AND_MEAN` before `#include - `. - * cio.c: Likewise. - * ctrl_c.c: Likewise. - * expect.c: Likewise. - * gsocket.h: Likewise. - * mingw32.h: Likewise. - * mkdir.c: Likewise. - * rtfinal.c: Likewise. - * rtinit.c: Likewise. - * seh_init.c: Likewise. - * sysdep.c: Likewise. - * terminals.c: Likewise. - * tracebak.c: Likewise. - -2023-01-05 Eric Botcazou - - * exp_util.adb (Make_CW_Equivalent_Type) : Tweak. - -2023-01-05 Eric Botcazou - - * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite the end of the - handling of objects with (class-wide) interface type by using the - same idiom as the other cases generating a renaming. - * exp_util.adb (Is_Displacement_Of_Object_Or_Function_Result): Tweak - pattern matching code and exclude special return objects. - (Requires_Cleanup_Actions): Adjust comment. - * exp_ch7.adb (Build_Finalizer): Likewise. - -2023-01-05 Piotr Trojanek - - * freeze.adb (Build_Renamed_Body): Rewrite subprogram renaming to - subprogram declaration early and then set the Body_To_Inling flag. - -2023-01-05 Piotr Trojanek - - * freeze.adb (Build_Renamed_Body): Revert a special case for - GNATprove; remove unnecessary initialization of a local variable. - -2023-01-05 Marc Poulhiès - - * sem_ch12.adb (Instantiate_Package_Body): Better filtering when - installing parent on the scope stack. - -2023-01-05 Eric Botcazou - - * repinfo.ads (The JSON output format): Document change. - * urealp.adb (UR_Write_To_JSON): Output a fraction instead of a - decimal approximation. - -2023-01-05 Eric Botcazou - - * exp_ch3.adb (Expand_N_Object_Declaration): New local variable - Func_Id holding the function for a special return object. - Use a direct renaming in the class-wide case when the initializing - expression is a captured function call, except for a special return - object when the two functions do not return on the same stack. - Apply the accessibility check for class-wide special return objects. - * exp_util.adb (Make_CW_Equivalent_Type) : New. - Do not force a dispatching call to the primitive operation _Size if - the expression is known to statically have the tag of its type. - -2023-01-05 Eric Botcazou - - * exp_ch3.adb (Expand_N_Object_Declaration): Fix pasto in comment. - -2023-01-05 Ronan Desplanques - - * sem_aggr.adb (Resolve_Array_Aggregate): Tweak conditions for - warning about use of parentheses for array aggregates. - -2023-01-05 Javier Miranda - - * scans.ads (Tok_Left_Curly_Bracket, Tok_Right_Curly_Bracket) - (Tok_Left_Interpolated_String): Placed in no category since they - don't fit well in the existing categories. Fix typo in comment. - (Inside_Interpolated_String_Literal): New scan state variable. - * scng.adb (Slit): Scan interpolated string literals, - continuations of interpolated string literals and escaped - characters found in interpolated string literals. - (Scan): Handle consecutive interpolated expressions. Handle ending - delimiter placed immediately after an interpolated expression. - Handle string literal placed after interpolated expression. Handle - left and right curly brackets; when extensions are not allowed - they are treated as left and right paren; when extensions are - allowed they are handled as delimiters of interpolated string - literals. - * sinfo.ads (N_Interpolated_String_Literal): New node. - * gen_il-gen-gen_nodes.adb (N_Interpolated_String_Literal): Define - N_String_Literal node. - * gen_il-types.ads (Opt_Type_Enum): Define N_String_Literal as - concrete node type. - * par-ch2.adb (P_Interpolated_String_Literal): New subprogram. - * par-ch4.adb (P_Simple_Expression): Handle '}' as expression - terminator when scanning an interpolated expression; disable error - recovery machinery for binary operator when we are processing an - interpolated string literal and reach the expression terminator - '}'. - (P_Primary): Call P_Interpolated_String_Literal when the opening - interpolated-string-literal delimiter is found (that is, the left - curly bracket '{'). - * par-tchk.adb (T_Right_Curly_Bracket): New subprogram. - * par.adb (P_Interpolated_String_Literal): New declaration. - (T_Right_Curly_Bracket): New declaration. - * sem.adb (Analyze): Call Analyze_Interpolated_String_Literal. - * sem_ch2.ads (Analyze_Interpolated_String_Literal): New - subprogram - * sem_ch2.adb (Analyze_Interpolated_String_Literal): Likewise. - * sem_util.adb (Is_User_Defined_Literal): Complete mapping of - literal aspects adding that interpolated string literals have no - correspondence with any aspect. - * sem_res.adb (Resolve_Interpolated_String_Literal): New - subprogram. - (Has_Applicable_User_Defined_Literal): Complete mapping of literal - aspects adding that interpolated string literals have no - correspondency with any aspect. - * expander.adb (Expand): Add call to - Expand_N_Interpolated_String_Literal. - * exp_util.adb (Insert_Actions): Handle - N_Interpolated_String_Literal nodes; that is, continue climbing. - * exp_ch2.ads (Expand_N_Interpolated_String_Literal): New - subprogram. - * exp_ch2.adb (Expand_N_Interpolated_String_Literal): Likewise. - * exp_put_image.adb (Build_Elementary_Put_Image_Call): Add missing - conversion to force dispatching call. Required to handle calls to - descendants. - (Build_String_Put_Image_Call): Do not output string delimiters - when the put_image call is part of an interpolated string literal. - * rtsfind.ads (RTU_Id): Add RE_Set_Trim_Leading_Spaces. - * sprint.adb (Sprint_Node): Output interpolated string contents. - * libgnat/a-stbubo.adb (Get_UTF_8): Add default value for - Trim_Leading_White_Spaces component in aggregate. - (Buffer_Type_Implementation): Update Trim_Leading_White_Spaces. - * libgnat/a-stbuun.adb (Get_UTF_8): Likewise. - (Buffer_Type_Implementation): Likewise. - * libgnat/a-sttebu.ads (Set_Trim_Leading_Spaces): New subprogram. - (Trim_Leading_Spaces): New subprogram. - (Root_Buffer_Type): Adding Trim_Leading_While_Spaces component. - * libgnat/a-sttebu.adb (procedure Set_Trim_Leading_Spaces): New - subprogram. - (Trim_Leading_Space): New subprogram. - (Put_UTF_8): Handle Trim_Leading_White_Spaces. - (New_Line): Likewise. - * libgnat/s-putima.ads (Put_Image_String): Adding formal - (with_delimiters). - (Put_Image_Wide_String): Likewise. - (Put_Image_Wide_Wide_String): Likewise. - * libgnat/s-putima.adb (Put_Image_String): Adding support for new - formal. - (Put_Image_Wide_String): Likewise. - (Put_Image_Wide_Wide_String): Likewise. - -2023-01-05 Joao Azevedo - - * doc/gnat_ugn/gnat_utility_programs.rst: add gnatpp --layout - switch and update legacy switches. - -2023-01-05 Eric Botcazou - - * freeze.adb (Freeze_Entity): For the purpose of deciding whether to - freeze an entity coming from an outer scope in an inner scope, treat - the internal subprogram generated because of post-conditions as also - coming from source if the original subprogram itself does. - -2023-01-05 Eric Botcazou - - * contracts.adb (Build_Subprogram_Contract_Wrapper): Generate an - extended return statement in all cases. - (Expand_Subprogram_Contract): Adjust comment. - -2023-01-05 Ronan Desplanques - - * libgnat/g-forstr.adb (F_Kind): Rename enumeration literal. - (P_Flt_Format): Adjust handling of "%g". - (Determine_Notation_And_Aft): New procedure. - (Decimal_Exponent): New function. - (Increment_Integral_Part): New procedure. - (Remove_Extraneous_Decimal_Digit): New procedure. - (Trim_Fractional_Part): New procedure. - * libgnat/g-forstr.ads: Change description of "%g" specifier. - -2023-01-05 Marc Poulhiès - - * sem_ch12.adb (Instantiate_Package_Body): Correctly find the - parent instance to place on the scope stack. - -2023-01-05 Justin Squirek - - * sem_ch8.adb (Set_Entity_Or_Discriminal): Verify we are actually - resetting the entity field of a non-prefixed discriminant - reference. - -2023-01-05 Eric Botcazou - - * exp_ch3.adb (Expand_N_Object_Declaration): New local variable used - throughout instead of testing Is_Special_Return_Object every time. - Do not rename an OK_To_Rename object for a special return object. - * exp_ch4.adb (Expand_Concatenate): Revert to constrained allocation - if the result is allocated on the secondary stack. - -2023-01-05 Steve Baird - - * sem_prag.adb (Analyze_Pragma): Fix Is_Configuration_Pragma - function to handle case where the pragma's parent is an - N_Aspect_Specification node. In analyzing a Discard_Names pragma, - do not assume that a nonzero number of arguments implies that the - pragma is not a configuration pragma; that assumption only holds - for legal programs. - -2023-01-05 Bob Duff - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Add RM references. - * gnat_ugn.texi: Regenerate. - -2023-01-05 Eric Botcazou - - * exp_ch3.adb (Expand_N_Object_Declaration): For a special return - object of an interface type that is not inherently limited, make - a call to the Adjust primitive after doing the copy. For a special - return object of a non-class-wide type initialized by a function - call, use a direct renaming only if the object doing the capture - is flagged by Is_Related_To_Func_Return. For a special return - object using a direct renaming, reassign the tag, if need be. - * exp_ch6.adb (Expand_Simple_Function_Return): Fix comment. - * exp_util.adb (Is_Related_To_Func_Return): Accept both regular and - renaming object declarations for return objects. - -2023-01-05 Bob Duff - - * sem_ch5.adb (Analyze_Assignment): Fix the bug by checking - Original_Node. The renaming might be elsewhere, but the (original) - reference is right here. - * errout.adb: Remove pragma Unreferenced which was added because - of the above bug. - * einfo.ads: Misc cleanup. - * lib.adb: Likewise. - * lib.ads: Likewise. - -2023-01-03 Ghjuvan Lacambre - - * errout.adb (Write_JSON_Span): Escape subprogram name. - -2023-01-03 Ghjuvan Lacambre - - * output.adb (Write_Buffer): Use Flush_Buffer instead of Write_Eol. - -2023-01-03 Ronan Desplanques - - * libgnat/g-forstr.adb (P_Flt_Format): Add "*" syntax handling. - -2023-01-03 Ronan Desplanques - - * libgnat/g-forstr.adb (P_Int_Format): Fix parsing bug. - -2023-01-03 Eric Botcazou - - * exp_ch6.adb (Expand_Simple_Function_Return): Make sure that a - captured function call also verifies Is_Related_To_Func_Return. - Do not generate an actual subtype for special return objects. - * exp_util.ads (Is_Related_To_Func_Return): Add commentary. - -2023-01-03 Ronan Desplanques - - * libgnat/g-forstr.adb - (Advance_And_Accumulate_Until_Next_Specifier): New procedure. - ("-"): Replace inline code with call to - Advance_And_Accumulate_Until_Next_Specifier. - (Next_Format): likewise. - -2023-01-03 Eric Botcazou - - * checks.adb (Apply_Discriminant_Check.Denotes_Explicit_Dereference): - Return false for artificial dereferences generated by the expander. - -2023-01-03 Eric Botcazou - - * exp_ch6.adb (Is_Build_In_Place_Function): Adjust comment. - * sem_util.adb (Compute_Returns_By_Ref): Do not set Returns_By_Ref - on functions with foreign convention. - -2023-01-03 Marc Poulhiès - - * exp_aggr.adb (Build_Assignment_With_Temporary): New. - (Expand_Array_Aggregate): Tune backend optimization - and insert a temporary in the case of an access with - Designated_Storage_Model aspect. - (Convert_Array_Aggr_In_Allocator): Likewise. - -2023-01-03 Eric Botcazou - - * sem_res.adb (Resolve_Membership_Op): Adjust again latest change. - -2023-01-03 Eric Botcazou - - * sem_util.ads (Set_Debug_Info_Defining_Id): Adjust comment. - * sem_util.adb (Is_Aliased_View) : Return - false for more artificial dereferences generated by the expander. - (Set_Debug_Info_Defining_Id): Set Debug_Info_Needed unconditionally - in -gnatD mode. - * exp_ch6.adb (Replace_Renaming_Declaration_Id): Also preserve the - Is_Aliased flag. - -2023-01-03 Joel Brobecker - - * doc/gnat_ugn/platform_specific_information.rst - (_Platform_Specific_Information): Minor rewording of intro text. - * gnat_ugn.texi: Regenerate. - -2023-01-03 Eric Botcazou - - * exp_util.ads (Is_Captured_Function_Call): Declare. - * exp_util.adb (Is_Captured_Function_Call): New predicate. - * exp_ch3.adb (Expand_N_Object_Declaration): Use it to detect a - rewritten function call as the initializing expression. - * exp_ch6.adb (Expand_Simple_Function_Return): Use it to detect a - rewritten function call as the returned expression. - -2023-01-03 Bob Duff - - * exp_util.adb (Integer_Type_For): Assertion and comment. - (Small_Integer_Type_For): Remove some code and call - Integer_Type_For instead. - * sem_util.ads (Rep_To_Pos_Flag): Improve comments. "Standard_..." - seems overly pedantic here. - * exp_attr.adb (Succ, Pred): Clean up: make the code as similar as - possible. - * exp_ch4.adb: Minor: named notation. - -2023-01-03 Javier Miranda - - * ghost.adb (Is_OK_Declaration): A reference to a Ghost entity may - appear within the class-wide precondition of a helper subprogram. - This context is treated as suitable because it was already - verified when we were analyzing the original class-wide - precondition. - -2023-01-03 Eric Botcazou - - * exp_tss.adb (Base_Init_Proc): Do not return the Init_Proc of the - ancestor type for a derived array type. - * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Factor out the - common processing done on representation items. - For Default_Component_Value and Default_Value, look into the first - subtype to find out the representation items. - -2023-01-02 Iain Sandoe - - PR ada/108202 - * gcc-interface/Make-lang.in (GCC_LINKERFLAGS, GCC_LDFLAGS): - Versions of ALL_LINKERFLAGS, LDFLAGS with -Werror and - -static-libgcc filtered out for Darwin8 and 9 (-Werror is filtered - out for other hosts). - -2023-01-02 Jakub Jelinek - - * gnat_ugn.texi: Bump @copying's copyright year. - * gnat_rm.texi: Likewise. - -Copyright (C) 2023 Free Software Foundation, Inc. +Copyright (C) 2024 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/ada/ChangeLog-2023 b/gcc/ada/ChangeLog-2023 new file mode 100644 index 000000000000..d1a3b8048e4d --- /dev/null +++ b/gcc/ada/ChangeLog-2023 @@ -0,0 +1,6978 @@ +2023-12-19 Marc Poulhiès + + * gcc-interface/Make-lang.in (ada.html, ada.install-html): Add. + +2023-12-19 Eric Botcazou + + * sem_ch3.adb (Analyze_Subtype_Declaration): Remove a short-circuit + for subtypes without aspects when it comes to predicates. + * sem_util.adb (Inherit_Predicate_Flags): Deal with private subtypes + whose full view is an Itype. + +2023-12-19 Viljar Indus + + * sem_ch13.adb (Valid_Default_Iterator): Check all interfaces for + valid iterator type. Also improve error reporting. + +2023-12-19 Gary Dismukes + + * sem_aggr.adb (Resolve_Container_Aggregate): In the Add_Named + case, issue an error if the container aggregate is written as a + positional aggregate, since such an aggregate must have named + associations. + +2023-12-19 Sheri Bernstein + + * libgnat/a-comlin.adb (Argument_Count): Rewrite code so there is + only one return, to remove Improper_Returns violation. + (Command_Name): Add pragma to exempt Improper_Returns violation. + +2023-12-19 Eric Botcazou + + * exp_ch6.adb (Expand_Ctrl_Function_Call): Rework last comment. + +2023-12-19 Gary Dismukes + + * sem_aggr.adb (Resolve_Iterated_Association): Call + Preanalyze_And_Resolve instead of Analyze_And_Resolve on a key + expression of an iterated association. + +2023-12-19 Piotr Trojanek + + * exp_ch9.adb, sem_ch10.adb, sem_util.adb: Fix comments. + +2023-12-19 Piotr Trojanek + + * sinput.adb, sinput.ads (Get_Logical_Line_Number_Img): Remove. + +2023-12-19 Patrick Bernardi + + * bindgen.adb (Command_Line_Used): New object. + (Gen_Main): Only generate references to symbols used by + Ada.Command_Line if the package is used by the partition. + (Gen_Output_File_Ada): Ditto. + (Resolve_Binder_Options): Check if Ada.Command_Line is in the + closure of the partition. + +2023-12-19 Vasiliy Fofanov + + * libgnat/i-cstrin.adb (Value): Optimize. + +2023-12-19 Piotr Trojanek + + * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Update comment + and body. + +2023-12-19 Eric Botcazou + + * einfo.ads (Is_Constr_Subt_For_UN_Aliased): Rename into... + (Is_Constr_Array_Subt_With_Bounds): ...this. + * exp_ch3.adb (Expand_N_Object_Declaration): Adjust to above + renaming and remove now redundant test. + * sem_ch3.adb (Analyze_Object_Declaration): Likewise, but set + Is_Constr_Array_Subt_With_Bounds only on arrays. + * gen_il-fields.ads (Opt_Field_Enum): Apply same renaming. + * gen_il-gen-gen_entities.adb (Entity_Kind): Likewise. + * gen_il-internals.adb (Image): Remove specific processing for + Is_Constr_Subt_For_UN_Aliased. + * treepr.adb (Image): Likewise. + * gcc-interface/decl.cc (gnat_to_gnu_entity): Adjust to renaming + and remove now redundant tests. + * gcc-interface/trans.cc (Identifier_to_gnu): Likewise. + (Call_to_gnu): Likewise. + +2023-12-19 Johannes Kliemann + + * libgnat/s-rident.ads: Remove No_Dynamic_Priorities from + Restricted_Tasking. + +2023-12-19 Patrick Bernardi + + * argv.c: Do not include adaint.h if LIGHT_RUNTIME is defined. + * bindgen.adb (Gen_Main): Simplify command line argument and exit + handling by requiring the runtime to always provide the required + symbols if command line argument and exit code is enabled. + * targparm.ads: Update comments to reflect changes to gnatbind. + +2023-12-19 Ronan Desplanques + Javier Miranda + + * exp_aggr.adb (Initialize_Component): Use corresponding record + types of concurrent types. + * exp_util.ads (Make_Tag_Assignment_From_Type): Add precondition + and extend documentation. + +2023-12-19 Eric Botcazou + + * einfo.ads (Is_Ignored_Transient): Rename into... + (Is_Ignored_For_Finalization): ...this. + * gen_il-fields.ads (Opt_Field_Enum): Adjust to above renaming. + * gen_il-gen-gen_entities.adb (Object_Kind): Likewise. + * exp_aggr.adb (Expand_Array_Aggregate): Likewise. + * exp_ch7.adb (Build_Finalizer.Process_Declarations): Likewise. + * exp_util.adb (Requires_Cleanup_Actions): Likewise. + * exp_ch4.adb (Expand_N_If_Expression): Move down declaration of + variable Optimize_Return_Stmt. + (Process_Transient_In_Expression): Turn procedure into a child of... + (Process_Transients_In_Expression): ...this procedure. + * exp_ch6.adb (Expand_Ctrl_Function_Call): Remove obsolete setting + of Is_Ignored_Transient flag on the temporary if within a dependent + expression of a conditional expression. + +2023-12-19 Yannick Moy + + * exp_spark.adb (Expand_SPARK_N_Aggregate): New procedure for the + special expansion. + (Expand_SPARK): Call the new expansion procedure. + * sem_util.adb (Is_Container_Aggregate): Implement missing test. + +2023-12-19 Eric Botcazou + + * sem_ch12.adb (Copy_Generic_Node): Add guard for Ancestor_Type. + +2023-12-19 Eric Botcazou + + * gen_il-fields.ads (Aggregate_Bounds): Rename to + Aggregate_Bounds_Or_Ancestor_Type. + * gen_il-gen-gen_nodes.adb (Aggregate_Bounds): Likewise. + * sem_aggr.adb (Resolve_Record_Aggregate): Remove obsolete bypass. + * sem_ch12.adb (Check_Generic_Actuals): Add decoration. + (Copy_Generic_Node): For an extension aggregate, restore only the + full view, if any. For a full aggregate, restore the full view as + well as that of its Ancestor_Type, if any, and up to the root type. + (Save_References_In_Aggregate): For a full aggregate of a local + derived tagged type with a global ancestor, set Ancestor_Type to + this ancestor. For a full aggregate of a global derived tagged + type, set Ancestor_Type to the parent type. + * sinfo-utils.ads (Aggregate_Bounds): New function renaming. + (Ancestor_Type): Likewise. + (Set_Aggregate_Bounds): New procedure renaming. + (Set_Ancestor_Type): Likewise. + * sinfo.ads (Ancestor_Type): Document new field. + +2023-12-19 Eric Botcazou + + * exp_ch4.adb (Expand_N_If_Expression): Also add missing calls to + Process_Transients_In_Expression on the code path implementing the + special optimization for an unidimensional array type and + dependent expressions with static bounds. + +2023-12-19 Steve Baird + + * sem_ch8.adb (Is_Actual_Subp_Of_Inst): After calling + Enclosing_Declaration, add a check for the case where one more + Parent call is needed to get the enclosing declaration. + +2023-12-19 Ronan Desplanques + + * sem_util.adb (Build_Default_Subtype_OK): Relax + known-at-compile-time requirement. + * sem_util.ads (Build_Default_Subtype_OK): Bring documentation + comment up-to-date. + +2023-12-19 Yannick Moy + + * doc/gnat_rm/implementation_defined_pragmas.rst: Fix doc for + pragma Ignore_Pragma, in the case where it follows another + configuration pragma that it names, which causes the preceding + pragma to be ignored after parsing. + * errout.adb (Should_Ignore_Pragma_SPARK_Mode): New query. + (SPARK_Msg_N): Do nothing if SPARK_Mode is ignored. + (SPARK_Msg_NE): Same. + * gnat-style.texi: Regenerate. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2023-12-19 Yannick Moy + + * sem_ch4.adb (Analyze_Selected_Component): Check correct mode + variable for GNATprove. + * sem_prag.adb (Refined_State): Call SPARK_Msg_NE which checks + value of SPARK_Mode before issuing a message. + * sem_res.adb (Resolve_Entity_Name): Remove legality check for + SPARK RM 6.1.9(1), moved to GNATprove. + +2023-12-19 Steve Baird + + * sem_ch12.adb (Check_Generic_Child_Unit): Introduce a new nested + function Adjusted_Inst_Par_Ekind to cope with cases where either + a- the visibility of a compiler-generated renaming is incorrect; + or b- we are inside of a generic parent unit G1 that has a child + unit G1.G2, so instantiation of G1.G2 is permitted. + +2023-12-19 Eric Botcazou + + * exp_ch4.adb (Process_If_Case_Statements): Rename into... + (Process_Transients_In_Expression): ...this and beef up comment. + (Expand_N_Case_Expression): Call Process_Transients_In_Expression + unconditionally on the list of actions of each alternative. + (Expand_N_Expression_With_Actions): Do not deal with actions in + nested subexpressions, but call Process_Transients_In_Expression + on the list of actions only. + (Expand_N_If_Expression): Adjust to above renaming. Add missing + calls to Process_Transients_In_Expression in the case when an EWA + is not used because of Minimize_Expression_With_Actions. + +2023-12-16 Andrew Carlotti + + * gcc-interface/utils.cc (attr_target_exclusions): Make + target/target_clones exclusion target-dependent. + (attr_target_clones_exclusions): Ditto. + +2023-12-16 Andrew Carlotti + + * gcc-interface/utils.cc (attr_noinline_exclusions): New. + (attr_always_inline_exclusions): Ditto. + (attr_target_exclusions): Ditto. + (attr_target_clones_exclusions): Ditto. + (gnat_internal_attribute_table): Add new exclusion lists. + (handle_noinline_attribute): Remove custom exclusion handling. + (handle_target_attribute): Ditto. + (handle_target_clones_attribute): Ditto. + +2023-12-11 Rainer Orth + + * terminals.c [__FreeBSD__]: Include . + (TABDLY): Only define if missing. + +2023-12-06 Alexandre Oliva + + * gcc-interface/trans.cc: Include ipa-strub.h. + (gigi): Make internal decls for targets of compiler-generated + calls strub-callable too. + (build_raise_check): Likewise. + * gcc-interface/utils.cc: Include ipa-strub.h. + (handle_strub_attribute): New. + (gnat_internal_attribute_table): Add strub. + +2023-12-05 Richard Sandiford + + * gcc-interface/utils.cc (gnat_internal_attribute_table): Add extra + braces to work around PR 16333 in older compilers. + +2023-12-05 Rainer Orth + + * adaint.c: Include . + * expect.c: Include . + +2023-12-02 Richard Sandiford + + * gcc-interface/gigi.h (gnat_internal_attribute_table): Change + type to scoped_attribute_specs. + * gcc-interface/utils.cc (gnat_internal_attribute_table): Likewise, + using... + (gnat_internal_attributes): ...this as the underlying array. + * gcc-interface/misc.cc (gnat_attribute_table): New global. + (LANG_HOOKS_ATTRIBUTE_TABLE): Use it. + +2023-12-01 Rainer Orth + + * adaint.c [__APPLE__]: Include , . + * terminals.c [!_WIN32]: Include . + [__APPLE__]: Include . + Fix typos. + +2023-11-30 Eric Botcazou + + * checks.ads (Apply_Predicate_Check): Add Deref boolean parameter. + * checks.adb (Apply_Predicate_Check): Revert latest change. Use + Loc local variable to hold the source location. Use a common code + path for the generic processing and make a dereference if Deref is + True. + * exp_ch4.adb (Expand_Allocator_Expression): Compute Aggr_In_Place + earlier. If it is true, do not call Apply_Predicate_Check on the + expression on entry but on the temporary on exit with a + dereference. + * sem_res.adb (Resolve_Actuals): Add explicit parameter + association in call to Apply_Predicate_Check. + +2023-11-30 Steve Baird + + * exp_put_image.adb (Put_Image_Enabled): Return True in more + cases. In particular, when testing to see if a type occurs in a + predefined unit, test the type's code unit + (obtained by calling Get_Code_Unit). In the case of type within a + user-defined instance of a predefined generic, Is_Predefined_Unit + will return True for the type and False for the type's code unit. + +2023-11-30 Yannick Moy + + * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): + Remove checking on volatility. Remove handling of SPARK_Mode, not + needed anymore. + (Analyze_Entry_Or_Subprogram_Contract): Remove checking on + volatility. + (Check_Type_Or_Object_External_Properties): Same. + (Analyze_Object_Contract): Same. + * freeze.adb (Freeze_Record_Type): Same. Also remove checking on + synchronized types and ghost types. + * sem_ch12.adb (Instantiate_Object): Remove checking on + volatility. + (Instantiate_Type): Same. + * sem_ch3.adb (Access_Type_Declaration): Same. + (Derived_Type_Declaration): Remove checking related to untagged + partial view. + (Process_Discriminants): Remove checking on volatility. + * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Same. + * sem_ch6.adb (Analyze_Procedure_Call): Fix use of SPARK_Mode + where GNATprove_Mode was intended. + * sem_disp.adb (Inherited_Subprograms): Protect against Empty + node. + * sem_prag.adb (Analyze_Global_In_Decl_Part): Remove checking on + volatility. + (Analyze_Pragma): Same. + * sem_res.adb (Flag_Effectively_Volatile_Objects): Remove. + (Resolve_Actuals): Remove checking on volatility. + (Resolve_Entity_Name): Same. + * sem_util.adb (Check_Nonvolatile_Function_Profile): Remove. + (Check_Volatility_Compatibility): Remove. + * sem_util.ads: Same. + +2023-11-30 Sheri Bernstein + + * libgnat/i-cstrin.adb (Free): Rewrite code so there is only one + return, to remove Improper_Returns violation. + (Position_Of_Nul): Add pragma to exempt Improper_Returns + violation. + (To_Chars_Ptr): Likewise. + (Value): Likewise + +2023-11-30 Viljar Indus + + * sem_prag.adb (Validate_Compile_Time_Warning_Errors): Avoid + checking compile time warnings and errors if backend has not been + activated. + +2023-11-30 Yannick Moy + + * checks.adb, exp_aggr.adb, exp_ch4.ads, exp_ch5.adb, + exp_util.adb, exp_util.ads, inline.adb, sem_ch13.adb, + sem_ch6.adb, sem_ch8.adb, sem_prag.adb, sem_util.ads: Fix comments + and typos. + +2023-11-30 Javier Miranda + + * freeze.adb (Declared_In_Expanded_Body): New subprogram. + (In_Expanded_Body): Minor code cleanup. + (Freeze_Expression): Code cleanup plus factorize in a new function + the code that identifies entities declared in the body of expander + generated subprograms, since such case must be checked also for + other node kinds when climbing the tree to locate the place to + insert the freezing node. + +2023-11-30 Steve Baird + + * sem_ch8.adb (Find_Direct_Name): In the case of a resolving a + name that occurs within an instantiation, add code to detect and + filter out unwanted candidate resolutions. The filtering is + performed via a call to Remove_Interp. + +2023-11-30 Steve Baird + + * libgnarl/a-rttiev.ads: add a comment + +2023-11-30 Steve Baird + + * sem_ch12.adb (Validate_Discriminated_Formal_Type): Replace + Entity_Id equality test with a call to Subtypes_Match. Distinct + subtypes which are statically matching should pass this test. + (Check_Discriminated_Formal): Replace Entity_Id equality test with + a call to Subtypes_Statically_Match (preceded by a check that the + preconditions for the call are satisfied). + +2023-11-30 Eric Botcazou + + * exp_ch4.adb (Expand_Allocator_Expression): Add Special_Return + boolean constant to hold the value of For_Special_Return_Object + for the allocator and use it throughout the procedure. + +2023-11-30 Eric Botcazou + + * checks.adb (Apply_Predicate_Check): Also deal specifically with + an expression that is a qualified aggregate in an allocator. + +2023-11-30 Steve Baird + + * sem_ch4.adb (Constant_Indexing_OK): As a temporary stopgap, + return False in the case of an unanalyzed prefixed-view call. + +2023-11-28 Simon Wright + + PR ada/111909 + * adaint.c + (__gnat_get_file_names_case_sensitive): Split out the __APPLE__ + check and remove the checks for __arm__, __arm64__. For Apple, + file names are by default case-insensitive unless TARGET_OS_IOS is + set. + +2023-11-28 Eric Botcazou + + * gcc-interface/decl.cc (annotate_value): Apply the same processing + for parameters as for variables. + +2023-11-28 Marc Poulhiès + + * gcc-interface/utils2.cc (build_simple_component_ref): Add + comment on assertion. + +2023-11-28 Steve Baird + + * exp_attr.adb (Expand_N_Attribute_Reference): In the case of a + Reduce attribute reference, fix bugs in initializing Accum_Typ. + The previous version was incorrect in the case where E1 refers to + the first of multiple possible overload resolution candidates and + that candidate does not turn out to be the right one. The previous + version also had code to compute Accum_Typ via a different method + if the initial computation turned out to yield a universal numeric + type. Delete that initial computation and use the second method in + all cases. + +2023-11-28 Gary Dismukes + + * sem_aggr.adb (Add_Discriminant_Values): Remove this procedure. + (Propagate_Discriminants): Remove this procedure. + (Resolve_Record_Aggregate): Remove code (the Capture_Discriminants + block statement) related to propagating discriminants and + generating initializations for subcomponents of a + discriminant-dependent box-defaulted subcomponent of a nonprivate + record type with discriminants, and handle all top-level + components that have a non-null base init proc directly, by + calling Add_Association with "Is_Box_Present => True". Also, + combine that elsif clause with the immediately preceding elsif + clause, since they now both contain the same statement (calls to + Add_Association with the same actuals). + +2023-11-28 Bob Duff + + * sem_util.adb (Check_Result_And_Post_State): Disable this when + we're in an instance. Misc cleanup. + +2023-11-28 Eric Botcazou + + * exp_ch7.ads (Expand_Cleanup_Actions): Move declaration to the + Finalization Management section. + * exp_ch7.adb (Transient Scope Management): Move description down to + after that of the general finalization and make a few changes. + (Insert_Actions_In_Scope_Around): Call Process_Transients_In_Scope + only if cleanups are being handled. + (Process_Transients_In_Scope): Remove redundant test on Clean. + * exp_util.ads (Within_Case_Or_If_Expression): Adjust description. + * exp_util.adb (Within_Case_Or_If_Expression): Only return true if + within the dependent expressions of the conditional expressions. + +2023-11-28 Eric Botcazou + + * doc/gnat_rm/the_implementation_of_standard_i_o.rst: Fix a couple + occurrences of incorrect quoting. + * gnat_rm.texi: Regenerate. + +2023-11-28 Eric Botcazou + + * exp_ch6.adb (Build_Flag_For_Function): New function made up of the + code building the special flag for return object present... + (Expand_N_Extended_Return_Statement): ...in there. Replace the code + with a call to Build_Flag_For_Function. Add assertion for the flag. + (Expand_Non_Function_Return): For a nested return, if the return + object needs finalization actions, update the special flag. + +2023-11-28 Sebastian Poeplau + + * einfo-utils.ads, einfo-utils.adb (Is_Address_Compatible_Type): + New function. + +2023-11-28 Gary Dismukes + + * exp_aggr.adb (Expand_Container_Aggregate): Apply a conversion to the + size temp object passed as the second actual parameter on the call to + the New_Indexed_Subp function, to convert it to the index type of the + container type (taken from the first formal parameter of the function). + +2023-11-28 Eric Botcazou + + * sem_attr.adb (Eval_Attribute): Do not proceed in a spec expression + for nonstatic representation attributes of a scalar subtype when the + subtype is not frozen. + * sem_ch3.adb (Analyze_Object_Declaration): Do not freeze the type + of the object in a spec expression. + +2023-11-28 Richard Kenner + + * exp_unst.adb (Note_Uplevel_Bound): Treat + N_Unchecked_Type_Conversion like N_Type_Conversion. + +2023-11-28 Yannick Moy + + * libgnat/s-imgboo.adb: Remove with_clause now in spec file. + * libgnat/s-imgboo.ads: Remove dependency on System.Val_Bool. + (Image_Boolean): Replace call to Value_Boolean by passing value V + to updated ghost function Is_Boolean_Image_Ghost. + * libgnat/s-valboo.ads (Is_Boolean_Image_Ghost): Move to other + unit. + (Value_Boolean.): Update precondition. + * libgnat/s-valspe.ads (Is_Boolean_Image_Ghost): Move here. Add + new parameter for expected boolean value. + +2023-11-28 Tucker Taft + + * sem_scil.adb: Handle discriminant specification. + +2023-11-21 Eric Botcazou + + * gcc-interface/trans.cc (Loop_Statement_to_gnu): Always use the + simpler form for a loop with a boolean iteration variable. + +2023-11-21 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_entity) : Put + the alignment directly on the type in the constrained case too. + * gcc-interface/utils.cc (maybe_pad_type): For an array type, take + the alignment of the element type as the original alignment. + +2023-11-21 Gary Dismukes + + * sem_aggr.adb (Resolve_Container_Aggregate): In the case where Comp + is an N_Iterated_Component_Association, pick up Discrete_Choices rather + than Choices. + +2023-11-21 Eric Botcazou + + * exp_ch7.adb (Build_Finalizer): For package specs and bodies, push + and pop the specs onto the scope stack only once. + * inline.adb (Cleanup_Scopes): Call Pop_Scope instead of End_Scope. + +2023-11-21 Steve Baird + + * sem_aggr.adb (Resolve_Delta_Array_Aggregate): In the case of a + deep delta choice, the expected type for the expression will + typically not be the component type of the array type, so a call + to Analyze_And_Resolve that assumes otherwise would be an error. + It turns out that such a call, while wrong, is usually harmless + because the expression has already been marked as analyzed. This + doesn't work if the aggregate occurs in a postcondition and, in + any case, we don't want to rely on this. So do not perform the + call in the deep case. + +2023-11-21 Eric Botcazou + + * sem_warn.adb (Check_References.Type_OK_For_No_Value_Assigned): + New predicate. + (Check_References): For Warn_On_No_Value_Assigned, use the same test + on the type in the address-not-taken and default cases. + +2023-11-21 Gary Dismukes + + * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Retrieve the + iteration type's iteration interface progenitor via + Iterator_Interface_Ancestor, in the case of both "in" and "of" + iterators. Narrow the scope of Pack, so it's declared and + initialized only within the code related to "of" iterators, and + change its name to Cont_Type_Pack. Adjust comments. + * sem_ch5.adb (Get_Cursor_Type): In the case of a derived type, + retrieve the iteration type's iterator interface progenitor (if it + exists) via Iterator_Interface_Ancestor rather than assuming that + the parent type is the interface progenitor. + * sem_util.ads (Iterator_Interface_Ancestor): New function. + * sem_util.adb (Iterator_Interface_Ancestor): New function + returning a type's associated iterator interface type, if any, by + collecting and traversing the type's interfaces. + +2023-11-21 Eric Botcazou + + * sem_attr.adb (Resolve_Attribute) : Remove the + bypass for prefixes with task type. + +2023-11-21 Viljar Indus + + * par.adb: Restore Style_Checks after parsing each unit. + +2023-11-21 Yannick Moy + + * exp_spark.adb (Expand_SPARK_Delta_Or_Aggregate): Fix type. + +2023-11-21 Eric Botcazou + + * sem_ch12.adb (Analyze_Package_Instantiation): Test Expander_Active + to detect generic contexts for the generation of cleanup actions. + +2023-11-21 Justin Squirek + + * libgnat/g-catiio.adb (Value): Modify conditionals to use 'Last + instead of 'Length + +2023-11-21 Eric Botcazou + + * sem_util.adb (Null_Status): Deal with unchecked type conversions. + +2023-11-21 Eric Botcazou + + * exp_aggr.adb (Convert_To_Assignments): Do not treat initialization + procedures specially when it comes to creating a transient scope. + * exp_ch7.adb (Build_Finalizer.Process_Declarations): Likewise. + * exp_util.adb (Requires_Cleanup_Actions): Likewise. + +2023-11-21 Doug Rupp + + * s-oscons-tmplt.c: #define CLOCK_RT_Ada "CLOCK_MONOTONIC" for + __vxworks + +2023-11-21 Steve Baird + + * sem_aggr.adb: Replace "not Present (...)" call with "No (...)" call. + +2023-11-21 Eric Botcazou + + * gen_il-fields.ads (Opt_Field_Enum): Remove Is_Finalization_Wrapper + * gen_il-gen-gen_nodes.adb (N_Block_Statement): Likewise. + * sinfo.ads (Is_Finalization_Wrapper): Delete. + * exp_ch7.adb (Build_Finalizer.Process_Declarations): Adjust comment + and remove obsolete code testing the Is_Finalization_Wrapper flag. + * exp_util.adb (Requires_Cleanup_Actions): Likewise. + +2023-11-21 Doug Rupp + + * libgnat/libada.gpr: Revise section 1 + +2023-11-21 Steve Baird + + * par.adb: Add new Boolean variable Inside_Delta_Aggregate. + * par-ch4.adb (P_Simple_Expression): Add support for a deep delta + aggregate choice. We turn a sequence of selectors into a peculiar + tree. We build a component (Indexed or Selected) whose prefix is + another such component, etc. The leftmost prefix at the bottom of + the tree has a "name" which is the first selector, without any + further prefix. For something like "with delta (1)(2) => 3" where + the type of the aggregate is an array of arrays of integers, we'll + build an N_Indexed_Component whose prefix is an integer literal 1. + This is consistent with the trees built for "regular" + (Ada-defined) delta aggregates. + * sem_aggr.adb (Is_Deep_Choice, Is_Root_Prefix_Of_Deep_Choice): + New queries. + (Resolve_Deep_Delta_Assoc): new procedure. + (Resolve_Delta_Array_Aggregate): call Resolve_Deep_Delta_Assoc in + deep case. + (Resolve_Delta_Record_Aggregate): call Resolve_Deep_Delta_Assoc in + deep case. + (Get_Component_Type): new function replaces old Get_Component + function. + * sem_aggr.ads (Is_Deep_Choice, Is_Root_Prefix_Of_Deep_Choice): + New queries. + * exp_aggr.adb (Expand_Delta_Array_Aggregate): add nested function + Make_Array_Delta_Assignment_LHS; call it instead of + Make_Indexed_Component. + (Expand_Delta_Record_Aggregate): add nested function + Make_Record_Delta_Assignment_LHS; call it instead of + Make_Selected_Component. + * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Insert range + checks for indexes in deep delta aggregates. + +2023-11-21 Ronan Desplanques + + * adaint.c (__gnat_unlink): Add new parameter and fix text + conversion on Windows. Remove unnecessary curly braces. + * adaint.h (__gnat_unlink): Add new parameter. + * libgnat/i-cstrea.ads (unlink): Adapt to __gnat_unlink signature + change. + * libgnat/i-cstrea.adb (unlink): New Subprogram definition. + * libgnat/s-crtl.ads (unlink): Adapt to __gnat_unlink signature + change. + * libgnat/s-fileio.adb (Delete): Pass encoding argument to unlink. + +2023-11-21 Eric Botcazou + + * sem_ch12.adb (Save_Global_References.Set_Global_Type): Beef up + comment about the setting of the full view. + * sem_res.adb (Resolve_Actuals.Insert_Default): Add another bypass + for the case of a generic context. + +2023-11-21 Marc Poulhiès + + * doc/gnat_ugn/the_gnat_compilation_model.rst: Move index + directives. + * gnat_ugn.texi: Regenerate. + +2023-11-21 Pierre-Marie de Rodat + + * par_sco.adb (Process_Decisions): Skip aspect + specifications. + +2023-11-21 Ronan Desplanques + + * libgnat/libgnat_common.gpr: Unconditionally pass -gnatg. + +2023-11-21 Marc Poulhiès + + * exp_util.ads: Typo fix. + +2023-11-16 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Also create a + TYPE_DECL for the return type built for the CI/CO mechanism. + +2023-11-10 Andris Pavēnis + + * expect.c (__gnat_waitpid): fix syntax errors + +2023-11-09 Simon Wright + + PR ada/111813 + * libgnat/a-calfor.adb (Value (2)): Allow values of + parameter Elapsed_Time greater than or equal to 24 hours, by doing + the hour calculations in Natural rather than Hour_Number (0 .. + 23). Calculate the result directly rather than by using Seconds_Of + (whose Hour parameter is of type Hour_Number). + If an exception occurs of type Constraint_Error, re-raise it + rather than raising a new CE. + +2023-11-07 Joseph Myers + + * gcc-interface/utils.cc (flag_isoc2x): Rename to flag_isoc23. + +2023-11-07 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_entity) : Apply the + specific rewriting done for an aliased object with an unconstrained + array nominal subtype in the renaming case too. + +2023-11-07 Eric Botcazou + + * gcc-interface/trans.cc (gnat_gimplify_expr) : Delete. + +2023-11-07 Bob Duff + + * sem_ch13.ads (Set_Enum_Esize): Do not set alignment. + * sem_ch13.adb (Set_Enum_Esize): Do not set alignment. Archaeology + seems to show that this line of code dates from when "Alignment = + 0" meant "the Alignment is not known at compile time" and "the + Alignment is not yet known at compile time" as well as "the + Alignment is zero". In any case, it seems to be unnecessary, and + in this case harmful, because gigi would crash. Alignment_Clause + is set (because there is one), so gigi would query the Alignment, + but Alignment was destroyed. + +2023-11-07 Julien Bortolussi + + * doc/share/conf.py: Changed the background color and the logo. + +2023-11-07 Eric Botcazou + + * gen_il-fields.ads (Opt_Field_Enum): Add Compare_Type. + * gen_il-gen-gen_nodes.adb (N_Op_Eq): Likewise. + (N_Op_Ge): Likewise. + (N_Op_Gt): Likewise. + (N_Op_Le): Likewise. + (N_Op_Lt): Likewise. + (N_Op_Ne): Likewise. + * sinfo.ads (Compare_Type): Document new field. + * sem_ch4.adb (Analyze_Comparison_Equality_Op): If the entity is + already present, set the Compare_Type on overloaded operands if it + is present on the node. + * sem_ch12.adb (Check_Private_View): Look into the Compare_Type + instead of the Etype for comparison operators. + (Copy_Generic_Node): Remove obsolete code for comparison + operators. + (Save_Global_References.Save_References): Do not walk into the + descendants of N_Implicit_Label_Declaration nodes. + (Save_Global_References.Set_Global_Type): Look into the + Compare_Type instead of the Etype for comparison operators. + * sem_res.adb (Resolve_Comparison_Op): Set Compare_Type. + (Resolve_Equality_Op): Likewise. + +2023-11-07 Ronan Desplanques + + * adaint.c (__gnat_file_time): Fix Windows version. + +2023-11-07 Eric Botcazou + + * exp_ch3.adb (Expand_N_Object_Declaration): Fold initialization + expression of Nominal_Subtype_Is_Constrained_Array constant into + the computation of Rewrite_As_Renaming and remove the constant. + Set it to True for an aliased array with unconstrained nominal + subtype if the subtype of the expression is also unconstrained. + +2023-11-07 Piotr Trojanek + + * exp_util.adb (Add_Own_DIC, Add_Own_Invariants): Store the aspect + expression in Expression_Copy. + +2023-11-07 Yannick Moy + + * exp_aggr.adb: Apply the renaming. + * exp_ch3.adb: Same. + * exp_ch4.adb: Same. + * exp_ch6.adb: Same. + * exp_ch7.adb: Same. + * exp_util.adb: Same. + * freeze.adb: Same. + * sem_aggr.adb: Same. + * sem_attr.adb: Same. + * sem_aux.adb: Alphabetize Is_Limited_Type. Rename. + * sem_aux.ads: Same. + * sem_ch3.adb: Apply the renaming. + * sem_ch6.adb: Same. + * sem_ch8.adb: Same. + * sem_prag.adb: Same. + * sem_res.adb: Same. + * sem_util.adb: Same. + +2023-11-07 Viljar Indus + + * aspects.adb (Exchange_Aspects): Removed. This method was + typically called after a Rewrite method. Now since the Rewrite + switches the aspects between the new and the old node it is no + longer needed. + (Has_Aspects): Converted to a utility method that performs the same + before as the previous Has_Aspects field did. Meaning it shows whether + a node actually has aspects or not. + (Copy_Aspects): New utility method that performs a deep copy of the + From nodes aspects. + (Aspect_Specfications): Removed. No longer needed. Replaced + by the primitive operation for the Aspect_Specification fields. + (Set_Aspect_Specifications): Likewise. + (Aspect_Specifications_Hash_Table): Remove the table and all the + utility methods for storing the old aspects. + * aspects.ads: Likewise. + * atree.adb (Copy_Separate_Tree): Remove custom code for aspects. + (New_Copy): Likewise. + (Replace): Likewise. + (Rewrite): Likewise. + * exp_ch3.adb (Expand_N_Object_Declaration): Keep the aspects from the old node. + * exp_ch6.adb (Validate_Subprogram_Calls): Previously aspects were ignored + because they were not on the tree. Explicitly ignore them here + when traversing the tree. + * exp_unst.adb (Build_Tables): Likewise + * gen_il-fields.ads: Remove Has_Aspects and add + Aspect_Specifications fields. + * gen_il-gen-gen_nodes.adb: Add Aspect_Specification fields + for all nodes that can have aspects. Additionally add + Expression_Copy for Aspect_Speficiations to avoid reusing + the Associated_Node for generic instantiation and aspect + analysis. + * ghost.adb (Remove_Ignored_Ghost_Node): Remove call to Remove_Aspects. + The rewritten node is a Null_Statement that cannot have aspects + and there is not anything to gain from removing them from the + Orignal_Node of N since it technically is not part of the active + tree. + * inline.adb (Process_Formals_In_Aspects): Simplify code for node traversal. + * par-ch13.adb: Avoid setting the parent explicitly for the + Aspect_Specifications list. This is done explicitly in the setter. + * par-ch6.adb: Likewise. + * par_sco.adb (Traverse_Aspects): Handle early return. + * sem_ch10.adb: Simplify code for Analyze_Aspect_Specifications. + * sem_ch11.adb: Likewise. + * sem_ch12.adb (Analyze_Formal_Derived_Interface_Type): Keep the aspects from + the orignal node after rewrite. + (Analyze_Formal_Derived_Type): Likewise. + (Analyze_Formal_Interface_Type): Likewise. + (Analyze_Formal_Object_Declaration): Simplify code for + Analyze_Aspect_Specifications. + (Analyze_Formal_Package_Declaration): Likewise. + (Analyze_Formal_Subprogram_Declaration): Likewise. + (Analyze_Formal_Type_Declaration): Likewise. + (Analyze_Generic_Package_Declaration): Remove Exchange_Aspects. + The new node already has the correct aspects after the rewrite. + Also simplify code for Analyze_Aspect_Specifications. + (Analyze_Generic_Subprogram_Declaration): Likewise. + (Analyze_Package_Instantiation): Simplify code for + Analyze_Aspect_Specifications. + (Build_Instance_Compilation_Unit_Nodes): Remove explicit copy of + aspects that is no longer needed. + (Save_References): Update the traversal code to handle + Aspect_Specifications in the tree. + (Copy_Generic_Node): Remove explicit copy for aspects. New_Copy + took care of that already. + * sem_ch13.adb (Analyze_Aspect_Specifications): Add early return to simplify + code for its calls. Avoid reusing the Entity(Associated_Node) + field for storing the original expression. Instead use the + new Expression_Copy field since Entity(Associated_Node) is + also used in generic instantiation. + (Analyze_Aspects_On_Subprogram_Body_Or_Stub): Simlify call + to Analyze_Aspect_Specifications. + (Check_Aspect_At_End_Of_Declarations): Use Expression_Copy + instead of Entity. + (Check_Aspect_At_Freeze_Point): Likewise. + * sem_ch3.adb: Simplify calls to Analyze_Aspect_Specifications. + * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Simplify call to + Analyze_Aspect_Specifications. + (Analyze_Expression_Function): Keep the aspects from the + original node after a rewrite. + (Analyze_Generic_Subprogram_Body): Remove Exchange aspects + that is no longer needed. Simplify call to + Analyze_Aspect_Specifications. + (Analyze_Null_Procedure): Keep the aspects from the + original node after a rewrite. + (Analyze_Subprogram_Body_Helper): Simplify calls to + Analyze_Aspect_Specifications. + (Analyze_Subprogram_Declaration): Likewise. + * sem_ch7.adb (Analyze_Package_Body_Helper): Remove Exchange aspects + that is no longer needed. Simplify call to + Analyze_Aspect_Specifications. + (Analyze_Package_Declaration): Simplify call to + Analyze_Aspect_Specifications. + (Analyze_Private_Type_Declaration): Likewise. + * sem_ch8.adb: Simplify calls to + Analyze_Aspect_Specifications. + * sem_ch9.adb (Analyze_Entry_Body): Simplify call to + Analyze_Aspects_On_Subprogram_Body_Or_Stub. + (Analyze_Entry_Declaration): Simplify call to + Analyze_Aspect_Specifications. + (Analyze_Protected_Body): Likewise. + (Analyze_Protected_Type_Declaration): Likewise. + (Analyze_Single_Protected_Declaration): Keep the aspects from + the original node after a rewrite. Simplify call to + Analyze_Aspect_Specifications. + (Analyze_Single_Task_Declaration): Likewise. + (Analyze_Task_Body): Simplify call to + Analyze_Aspect_Specifications. + (Analyze_Task_Type_Declaration): Simplify calls to + Analyze_Aspect_Specifications. + * sem_dim.adb: Remove explicitly setting the parents + for the Aspect_Specification list. + * sem_disp.adb: Remove the with that is no longer + required since Aspect_Specifications is a node operation now. + * sem_util.adb (Copy_Node_With_Replacement): Remove explicit code for aspects. + * treepr.adb (Print_Field): Remove the version that was used for printing + aspects. + (Print_Node): Remove aspect specific code. + +2023-11-07 Eric Botcazou + + * gen_il-gen-gen_nodes.adb (N_Op_Boolean): Fix description. + * sem_ch4.adb (Analyze_Comparison_Equality_Op): Tidy up. + * sem_ch12.adb (Copy_Generic_Node): Use N_Op_Compare subtype. + +2023-11-07 Piotr Trojanek + + * exp_ch6.adb, exp_disp.adb, sem_ch13.adb, sem_ch3.adb: Fix newly + detected violations. + +2023-11-07 Piotr Trojanek + + * sem_ch3.adb, sem_ch4.adb, sem_eval.adb: Fix newly detected + violations. + +2023-11-07 Ronan Desplanques + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix + -gnatwc documentation. + * gnat_ugn.texi: Regenerate. + +2023-11-07 Steve Baird + + * local_restrict.ads: A new package. Declares Local_Restriction + enumeration type and provides operations to check for local + restriction violations. + * local_restrict.adb: Corresponding package body. Replace "not + Present (X)" calls with "No (X)" calls. + * aspects.ads: Add a new enumeration elements, + Aspect_Local_Restrictions and Aspect_User_Aspect, to the Aspect_Id + enumeration type. Update Aspect_Id-indexed aggregates. Add nested + package User_Aspect_Support to manage two pieces of state. One is + a map from identifiers to User_Aspect_Definition pragmas (updated + when such a pragma is encountered). The other is an + access-to-subprogram variable that is introduced in order to keep + the bulk of semantics out of the closure of package Aspects while + allowing a call from aspects.adb to the sem_ch13 procedure that + analyzes a User_Aspect aspect specification. + * aspects.adb (Find_Aspect): Cope with a case of a block statement + with an empty parent. It is not clear whether this is papering + over a compiler bug. Add indirect call through the aforementioned + access-to-subprogram variable when Find_Aspect enounters an + unanalyzed User_Aspect aspect specification. If Find_Aspect is + called looking for aspect Foo, then a User_Aspect specification + might generate (during analysis) a Foo aspect specification. So + the Find_Aspect call needs to trigger that analysis if it has not + already taken place. Provide a body for package + User_Aspect_Support. Replace "not Present (X)" call with "No (X)" + call. + * freeze.adb (Freeze_Subprogram): Check local restriction + compatibility when a dispatching operation is overridden. + * par-prag.adb: Add support for parsing a User_Aspect_Definition + pragma. + * restrict.ads: We'd like to have the body of package Restrict + include a call to a procedure declared in package Local_Restrict. + Doing that in the obvious way pulls most of semantics into the + closure of package Restrict, and that turns out to cause problems. + So we introduce a level of indirection and instead call through an + access-to-subprogram value. In this unit, we declare the + access-to-subprogram type and object. + * restrict.adb (Check Restriction): When a construct is + encountered that could violate a global restriction (depending on + whether the given restriction is in effect), Check_Restriction is + called. At this point, we also check for a violation of any + corresponding local restriction that is in effect. For reasons + described above, this check is performed via an indirect call. + * sem_ch13.ads (Parse_Aspect_Local_Restrictions): A new function, + similar to the existing Parse_Aspect_Xxx subprograms. + * sem_ch13.adb: Perform semantic analysis of Local_Restrictions + and User_Aspect aspect specifications. Declare and call new + Validate_Aspect_Local_Restrictions and + Analyze_User_Aspect_Aspect_Specification procedures (a reference + to the latter is registered during package elaboration). In + Analyze_Aspect_Specifications, do not set the Analyzed flag of a + User_Aspect aspect specification. Replace "not Present (X)" call + with "No (X)" call. Replace 'Image with 'Img in a case where the + prefix of the attribute reference is an object; this is done to + accomodate older compilers. + * sem_ch6.adb (Check_Subtype_Conformant): Include in subtype + conformance check a check for overriding-related compatibility of + local restrictions. + * sem_ch8.adb (Analyze_Subprogram_Renaming): In the case of an + instance of a generic that takes a formal subprogram, check that + formal and actual are compatible with respect to local + restrictions. + * sem_prag.adb: Add support for User_Aspect_Definition pragma. + * sem_res.adb (Resolve_Call): Check caller/callee compatibility + with respect to local restrictions. + * snames.ads-tmpl: Add Name_Local_Restrictions, Name_User_Aspect, + and Name_User_Aspect_Definition constants. + * doc/gnat_rm/implementation_defined_aspects.rst: Document new + aspects. + * doc/gnat_rm/implementation_defined_pragmas.rst: Document new + pragma. + * doc/gnat_ugn/the_gnat_compilation_model.rst: Add + User_Aspect_Definition to list of GNAT pragmas. + * gcc-interface/Make-lang.in: Add local_restrict.o. + * gnat-style.texi: Regenerate. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2023-11-07 Bob Duff + + * sem_ch4.adb (Is_Private_Overriding): Return True in the case + where a primitive operation is publicly inherited but privately + overridden. + +2023-11-07 Piotr Trojanek + + * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Remove code from the + ELSE branch, because it was is identical to code before the IF + statements itself. + +2023-11-07 Piotr Trojanek + + * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Change Ctyp and Csiz + from variables to constants and compute them using the nominal type + of the assigned array object. + +2023-11-07 Piotr Trojanek + + * exp_pakd.adb, libgnarl/s-osinte__android.ads, + libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__qnx.ads, + libgnarl/s-osinte__rtems.ads, libgnat/s-gearop.adb, + libgnat/s-poosiz.adb, sem_util.adb: Fix style. + +2023-11-07 Piotr Trojanek + + * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Simplify handling of + assignments with string literals. + +2023-11-07 Piotr Trojanek + + * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Remove Rhs_Val_Known; + represent unknown value by assigning Rhs_Val with No_Uint. + +2023-11-07 Piotr Trojanek + + * exp_pakd.adb + (Expand_Bit_Packed_Element_Set): Change local Decl object from + variable to constant. + (Setup_Inline_Packed_Array_Reference): Likewise for Csiz. + +2023-11-07 Piotr Trojanek + + * exp_pakd.adb (Setup_Inline_Packed_Array_Reference): Remove extra + whitespace from the list of parameters. + +2023-11-07 Piotr Trojanek + + * sem_util.adb (Get_Actual_Subtype_If_Available): Only call Etype + when necessary. + +2023-11-07 Piotr Trojanek + + * sem_util.adb + (Get_Actual_Subtype,Get_Actual_Subtype_If_Available): Fix handling + of expanded names. + +2023-11-07 Viljar Indus + + * sem_prag.adb: (Analyze_Pragma): Reduce the number of nested if + statements. + +2023-11-07 Viljar Indus + + * sem_ch10.adb: (Analyze_Compilation_Unit): Restore the orignal + state of style check pragmas at the end of the analysis. + +2023-11-07 Eric Botcazou + + * exp_pakd.adb (Get_Base_And_Bit_Offset): Use the full component + reference instead of just the selector name for 'Bit_Position. + +2023-11-04 David Malcolm + + * gcc-interface/misc.cc: Update for changes to diagnostic_context. + +2023-10-22 Iain Sandoe + + * gcc-interface/Makefile.in: Handle Darwin rpaths. + +2023-10-20 Alexandre Oliva + + * gcc-interface/trans.cc (gigi): Mark __gnat_reraise_zcx with + ECF_XTHROW. + (build_raise_check): Likewise for all rcheck subprograms. + +2023-10-19 Yannick Moy + + * aspects.ads: Add aspect Side_Effects. + * contracts.adb (Add_Pre_Post_Condition) + (Inherit_Subprogram_Contract): Add support for new contract. + * contracts.ads: Update comments. + * einfo-utils.adb (Get_Pragma): Add support. + * einfo-utils.ads (Prag): Update comment. + * errout.ads: Add explain codes. + * par-prag.adb (Prag): Add support. + * sem_ch13.adb (Analyze_Aspect_Specifications) + (Check_Aspect_At_Freeze_Point): Add support. + * sem_ch6.adb (Analyze_Subprogram_Body_Helper) + (Analyze_Subprogram_Declaration): Call new analysis procedure to + check SPARK legality rules. + (Analyze_SPARK_Subprogram_Specification): New procedure to check + SPARK legality rules. Use an explain code for the error. + (Analyze_Subprogram_Specification): Move checks to new subprogram. + This code was effectively dead, as the kind for parameters was set + to E_Void at this point to detect early references. + * sem_ch6.ads (Analyze_Subprogram_Specification): Add new + procedure. + * sem_prag.adb (Analyze_Depends_In_Decl_Part) + (Analyze_Global_In_Decl_Part): Adapt legality check to apply only + to functions without side-effects. + (Analyze_If_Present): Extract functionality in new procedure + Analyze_If_Present_Internal. + (Analyze_If_Present_Internal): New procedure to analyze given + pragma kind. + (Analyze_Pragmas_If_Present): New procedure to analyze given + pragma kind associated with a declaration. + (Analyze_Pragma): Adapt support for Always_Terminates and + Exceptional_Cases. Add support for Side_Effects. Make sure to call + Analyze_If_Present to ensure pragma Side_Effects is analyzed prior + to analyzing pragmas Global and Depends. Use explain codes for the + errors. + * sem_prag.ads (Analyze_Pragmas_If_Present): Add new procedure. + * sem_util.adb (Is_Function_With_Side_Effects): New query function + to determine if a function is a function with side-effects. + * sem_util.ads (Is_Function_With_Side_Effects): Same. + * snames.ads-tmpl: Declare new names for pragma and aspect. + * doc/gnat_rm/implementation_defined_aspects.rst: Document new aspect. + * doc/gnat_rm/implementation_defined_pragmas.rst: Document new pragma. + * gnat_rm.texi: Regenerate. + +2023-10-19 Sheri Bernstein + + * libgnat/s-imagef.adb (Set_Image_Fixed): Refactor loop. + +2023-10-19 Sheri Bernstein + + * libgnat/s-imguti.adb (Set_Decimal_Digits): Add pragma to exempt + Unassigned_OUT_Parameters. + (Set_Floating_Invalid_Value): Likewise + +2023-10-19 Patrick Bernardi + + * bindusg.adb (Display): Make it clear -Q adds to the number of + secondary stacks generated by the binder. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Document the -Q gnatbind switch and fix references to old + runtimes. + * gnat-style.texi: Regenerate. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2023-10-19 Ronan Desplanques + + * sem_ch3.adb (Constrain_Array): Replace manual list length + computation by call to List_Length. + +2023-10-19 Piotr Trojanek + + * exp_aggr.adb (Expand_Container_Aggregate): Simplify with "No". + +2023-10-10 Eric Botcazou + + * gcc-interface/decl.cc (inline_status_for_subprog): Minor tweak. + (gnat_to_gnu_field): Try harder to get a packable form of the type + for a bitfield. + +2023-10-10 Ronan Desplanques + + * libgnat/a-direct.adb (Start_Search_Internal): Tweak subprogram + body. + +2023-10-10 Eric Botcazou + + * sem_util.ads (Set_Scope_Is_Transient): Delete. + * sem_util.adb (Set_Scope_Is_Transient): Likewise. + * exp_ch7.adb (Create_Transient_Scope): Set Is_Transient directly. + +2023-10-10 Eric Botcazou + + * exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): Return true + if the aggregate is a dependent expression of a conditional + expression being returned from a build-in-place function. + +2023-10-10 Eric Botcazou + + PR ada/111434 + * sem_ch10.adb (Replace): New procedure to replace an entity with + another on the homonym chain. + (Install_Limited_With_Clause): Rename Non_Lim_View to Typ for the + sake of consistency. Call Replace to do the replacements and split + the code into the regular and the special cases. Add debuggging + output controlled by -gnatdi. + (Install_With_Clause): Print the Parent_With and Implicit_With flags + in the debugging output controlled by -gnatdi. + (Remove_Limited_With_Unit.Restore_Chain_For_Shadow (Shadow)): Rewrite + using a direct replacement of E4 by E2. Call Replace to do the + replacements. Add debuggging output controlled by -gnatdi. + +2023-10-10 Ronan Desplanques + + * libgnat/a-direct.adb: Fix filesystem entry filtering. + +2023-10-10 Ronan Desplanques + + * atree.ads, nlists.ads, types.ads: Remove references to extended + nodes. Fix typo. + * sinfo.ads: Likewise and fix position of + Comes_From_Check_Or_Contract description. + +2023-10-10 Javier Miranda + + * sem_attr.adb (Analyze_Attribute): Protect the frontend against + replacing 'Size by its static value if 'Size is not known at + compile time and we are processing pragmas Compile_Time_Warning or + Compile_Time_Errors. + +2023-10-03 David Malcolm + + * gcc-interface/misc.cc: Use text_info ctor. + +2023-10-02 David Malcolm + + * gcc-interface/misc.cc (gnat_post_options): Update for renaming + of diagnostic_context's show_caret to m_source_printing.enabled. + +2023-09-26 Eric Botcazou + + * exp_ch7.adb (Build_Finalizer.Process_Declarations): Remove call + to Is_Simple_Protected_Type as redundant. + (Build_Finalizer.Process_Object_Declaration): Do not retrieve the + corresponding record type for simple protected objects. Make the + flow of control more explicit in their specific processing. + * exp_util.adb (Requires_Cleanup_Actions): Return false for simple + protected objects present in library-level package bodies for the + sake of consistency with Build_Finalizer and remove call to + Is_Simple_Protected_Type as redundant. + +2023-09-26 Eric Botcazou + + PR ada/110488 + * sem_ch3.adb (Analyze_Object_Declaration): Do not build a default + subtype for a deferred constant in the definite case too. + +2023-09-26 Marc Poulhiès + + * exp_ch7.adb (Contains_Subprogram): Recursively search for subp + in loop's statements. + (Unnest_Loop): New. + (Unnest_Loop): Rename local variable for more clarity. + * exp_unst.ads: Refresh comment. + +2023-09-26 Javier Miranda + + * exp_ch6.adb (Expand_Call_Helper): When computing the + accessibility level of an actual parameter based on the + expresssion of a constant declaration, add missing support for + deferred constants + +2023-09-26 Eric Botcazou + + * einfo.ads (Status_Flag_Or_Transient_Decl): Remove ??? comment. + * exp_ch6.adb (Expand_N_Extended_Return_Statement): Extend the + handling of finalizable return objects to the non-BIP case. + * exp_ch7.adb (Build_Finalizer.Process_Declarations): Adjust the + comment accordingly. + * exp_util.adb (Requires_Cleanup_Actions): Likewise. + +2023-09-26 Daniel King + + * raise-gcc.c (get_ip_from_context): Adapt for CHERI purecap + (get_call_site_action_for): Adapt for CHERI purecap + +2023-09-26 Daniel King + + * libgnat/a-tags.adb (To_Tag): Use System.Storage_Elements for + integer to address conversion. + * libgnat/s-putima.adb (Put_Image_Pointer): Likewise. + +2023-09-26 Daniel King + + * libgnat/s-stratt__cheri.adb: New file + +2023-09-26 Daniel King + + * libgnat/i-cheri.ads (Capability_Bound_Error) + (Capability_Permission_Error, Capability_Sealed_Error) + (Capability_Tag_Error): New, define CHERI exception types. + +2023-09-26 Ronan Desplanques + + * exp_prag.adb: Make minor corrections in comments. + * rtsfind.ads: Remove unused element from RTU_Id definition. + +2023-09-26 Derek Schacht + + * doc/gnat_ugn/gnat_and_program_execution.rst: Add more details on + using Generic Elementary Functions with dimensional analysis. + * gnat_ugn.texi: Regenerate. + +2023-09-26 Yannick Moy + + * exp_ch5.adb (Expand_N_Case_Statement): Reference both sections + of the Ada RM that deal with case statements and case expressions + to justify the insertion of a runtime check. + +2023-09-19 Richard Wai + + * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Expanded comments + explaining why TSS Finalize_Address is not generated for + concurrent class-wide types. + * exp_ch7.adb (Make_Finalize_Address_Stmts): Handle cases where the + underlying non-constrained parent type is a concurrent type, and + adjust the designated type to be the corresponding record’s + class-wide type. + +2023-09-19 Richard Wai + + * sem_ch3.adb (Build_Derived_Record_Type): Treat presence of + keyword "synchronized" the same as "limited" when determining if a + private extension is limited. + +2023-09-19 Marc Poulhiès + + * gcc-interface/utils.cc (max_value): New. + * gcc-interface/gigi.h (max_value): New. + * gcc-interface/decl.cc (gnat_to_gnu_entity) : + When computing gnu_min/gnu_max, try to use max_value if there is + an initial expression. + +2023-09-19 Javier Miranda + + * contracts.adb + (Has_Public_Visibility_Of_Subprogram): Add missing support for + child subprograms. + +2023-09-15 Eric Botcazou + + * gcc-interface/utils.cc (finish_record_type): Round the size in + the padding case as well. + +2023-09-15 Piotr Trojanek + + * exp_aggr.adb (Build_Array_Aggr_Code): Don't build aggregate code + for null array aggregates. + * sem_aggr.adb (Resolve_Array_Aggregate): Don't examine formatting + of a null array aggregate. + +2023-09-15 Eric Botcazou + + * inline.adb (Expand_Inlined_Call): In the case of a function call + that returns an unconstrained type and initializes an object, set + the No_Initialization flag on the new declaration of the object. + +2023-09-15 Patrick Bernardi + + * exp_ch6.adb (Expand_N_Subprogram_Body): Do not perform + local-exception-to- goto optimization on barrier functions. + * exp_ch9.adb (Expand_Entry_Barrier): Simplify the if statement + around the simple barrier optimization and remove an old, no + longer relevant comment. + +2023-09-15 Patrick Bernardi + + * bindgen.adb (Gen_Adainit): Generate restrictions when standard + library is suppressed. + (Gen_Output_File_Ada): Ditto. + (Gen_Restrictions): Ditto. + +2023-09-15 Eric Botcazou + + * exp_util.adb (Component_May_Be_Bit_Aligned): Do not return false + for a small component of a record type with a variant part. + +2023-09-15 Eric Botcazou + + * exp_aggr.adb (Convert_To_Assignments): In the case of a + component association, call Is_Container_Aggregate on the parent's + parent. + (Expand_Array_Aggregate): Likewise. + +2023-09-15 Kévin Le Gouguec + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Remove + extended discussion regarding mold run-time dependencies; + packaging changes in GNAT Pro have made them obsolete. + +2023-09-15 Eric Botcazou + + * sem_res.adb (Resolve_Call): When the target is an entity, do not + freeze it if the current scope is the inner wrapper function built + for an expression function with a Post or Refined_Post aspect. + +2023-09-15 Bob Duff + Ronan Desplanques + + * atree.adb (Node_Kind_Table): Specify parameter explicitly in + GNAT.Table instantiations. Use fully qualified references instead + of relying on use clauses. + (Get_Field_Value): Remove special case for F_Scope_Depth_Value. + That is, enable the Field_Present check in that case. + (It was already enabled for all other fields.) Violations of this + check were already fixed. + (Print_Node_Statistics): Sort the output in decreasing order of + frequencies. + (Print_Field_Statistics): Likewise (sort). + * accessibility.adb (Accessibility_Level): Pass Allow_Alt_Model in + recursive calls. Apparently, an oversight. + (Innermost_Master_Scope_Depth): Need to special-case the 'Old + attribute and allocators. + * einfo-utils.ads (Scope_Depth): Use Scope_Kind_Id to get + predicate checks. + (Scope_Depth_Set): Likewise. + (Scope_Depth_Default_0): Likewise. + * einfo-utils.adb: As for spec. + * frontend.adb (Frontend): Remove unnecessary "return;". + * gen_il-types.ads (Scope_Kind): New union type. + * gen_il-gen-gen_entities.adb (Scope_Kind): New union type. + * sem.ads: Move "with Einfo.Entities;" from body to spec. + (Scope_Stack_Entry): Declare Entity to be of Scope_Kind_Id to get + predicate checks. We had previously been putting non-scopes on the + scope stack; this prevents such anomalies. + * sem.adb: Move "with Einfo.Entities;" from body to spec. + * sem_ch8.ads: Move "with Einfo.Entities;" from body to spec. Add + "with Types;". + (Push_Scope): Use Scope_Kind_Id to get predicate checks. + * sem_ch8.adb: Move "with Einfo.Entities;" from body to spec. Add + "with Types;". + (Push_Scope): Use Scope_Kind_Id to get predicate checks. + (Pop_Scope): Use Scope_Kind_Id on popped entity to get predicate + checks. This prevents anomalies where a scope pushed onto the + stack is later mutated to a nonscope before being popped. + * sem_util.ads (Find_Enclosing_Scope): Add postcondition to ensure + that the enclosing scope of a node N is not the same node N. + Clearly, N does not enclose itself. + * sem_util.adb (Find_Enclosing_Scope): There were several bugs + where Find_Enclosing_Scope(N) = N. For example, if N is an entity, + then we would typically go up to its declaration, and then back + down to the Defining_Entity of the declaration, which is N itself. + There were other cases where Find_Enclosing_Scope of an entity + disagreed with Scope. Clearly, Find_Enclosing_Scope and Scope + should agree (when both are defined). Such bugs caused latent bugs + in accessibility.adb related to 'Old, and fixing bugs here caused + such bugs to be revealed. These are fixed by calling Scope when N + is an entity. + +2023-09-15 Javier Miranda + + * accessibility.ads (Needs_Result_Accessibility_Extra_Formal): + Removed. + * accessibility.adb (Needs_Result_Accessibility_Level_Param): + Removed. + (Needs_Result_Accessibility_Extra_Formal): Removed. + (Needs_Result_Accessibility_Level): Revert previous patch. + * sem_ch6.adb (Parent_Subprogram): Handle function overriding an + enumeration literal. + (Create_Extra_Formals): Ensure that the parent subprogram has all + its extra formals. + +2023-09-14 Yannick Moy + + * exp_util.adb (Is_Statically_Disabled): New function to detect a + "statically disabled condition which evaluates to a given value", + as described in SPARK UG 7.3.2. + (Kill_Dead_Code): Call the new function Is_Statically_Disabled for + conditions of if statements. + * exp_util.ads (Is_Statically_Disabled): New function spec. + +2023-09-14 Javier Miranda + + * exp_util.adb (Process_Record_Component): Adjust assertion on the + availablity of the invariant procedure; required because the + invariant procedure is built by the expander, and hence it is not + available compiling generic units or when the sources have errors, + since expansion is then disabled. + +2023-09-14 Javier Miranda + + * sem_util.adb (Large_Max_Size_Mutable): Protect access to + attribute Is_Array_Type. + +2023-09-14 Javier Miranda + + * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Protect + access to Entity attribute and add missing code to check function + selector in a prefix form call. + +2023-09-14 Eric Botcazou + + * exp_ch6.adb (Expand_Ctrl_Function_Call): Also do nothing for the + expression of a delta aggregate. + +2023-09-14 Eric Botcazou + + * exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Make the name + matching more robust. + +2023-09-14 Javier Miranda + + * sem_ch6.adb (Parent_Subprogram): Complete assertion. + +2023-09-05 Eric Botcazou + + * gcc-interface/trans.cc (gnat_to_gnu): Really test Storage_Pool on + the simple return statement. + +2023-09-05 Tom Tromey + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Set bit-packed for + constrained and unconstrained array types. + * gcc-interface/misc.cc (gnat_get_array_descr_info): Examine + BIT_PACKED_ARRAY_TYPE_P. + +2023-09-05 Piotr Trojanek + + * sem_type.adb (Interface_Present_In_Ancestor): Remove guard against no + list of interfaces; fix style in comments (trailing dots). + +2023-09-05 Piotr Trojanek + + * sem_type.adb (Iface_Present_In_Ancestor): Only look at the list of + interfaces for types that allow it. The guard is a high-level equivalent + of the entity kinds listed in the preconditon of the Interfaces query. + +2023-09-05 Piotr Trojanek + + * sem_type.adb (Iface_Present_In_Ancestor): Remove guard for empty list + of interfaces; the following loop will work just fine without it. + +2023-09-05 Eric Botcazou + + * exp_ch9.adb (Build_Protected_Entry): Move the At_End procedure + from the entry body to the inner block statement. + +2023-09-05 Bob Duff + + * sem_ch4.adb (Find_Component_In_Instance): Check that + Declaration_Node (Par) is not Empty, as it is for itypes. + +2023-09-05 Ronan Desplanques + + * sem_ch7.adb (Analyze_Package_Declaration): Restrict calls to + `Sem_Warn.Check_References` and adjust comment accordingly. + +2023-09-05 Eric Botcazou + + * freeze.adb (Freeze_Enumeration_Type): Give an error on a type with + both representation clause and too large size. + +2023-09-05 Liaiss Merzougue + + * libgnat/s-imguti.adb: Remove comment. + +2023-09-05 Javier Miranda + + * accessibility.ads (Needs_Result_Accessibility_Extra_Formal): New + subprogram. + * accessibility.adb (Needs_Result_Accessibility_Level_Param): New + subprogram. + (Needs_Result_Accessibility_Extra_Formal): New subprogram, + temporarily keep the previous behavior of the frontend. + * sem_ch6.adb (Create_Extra_Formals): Replace occurrences of + function Needs_Result_Accessibility_Level_Param by calls to + function Needs_Result_Accessibility_Extra_Formal. + (Extra_Formals_OK): Ditto. + +2023-09-05 Alexandre Oliva + + * libgnat/system-vxworks-ppc-rtp-smp.ads: Add -msmp to + Linker_Options pragma. + +2023-09-05 Javier Miranda + + * exp_aggr.adb (Expand_Container_Aggregate): Report warning on + infinite recursion if an empty container aggregate appears in the + return statement of its Empty function. Fix typo in comment. + * sem_aggr.adb (Resolve_Aggregate): Resolve Ada 2022 empty + aggregate that initializes a record type that has defined its + container aggregate aspects. + (Resolve_Iterated_Association): Protect access to attribute Etype. + * sem_ch13.adb (Resolve_Aspect_Aggregate): Fix typo in comment. + +2023-09-05 Steve Baird + + * sem_attr.adb (Denote_Same_Function): Handle the case where + Has_Homonym (Pref_Id) returns True but Homonym (Pref_Id) returns + an empty result. + +2023-09-05 Steve Baird + + * sem_res.adb (Resolve_Unary_Op): In deciding whether to emit a + warning about a modular type's unary minus operator being applied + to an integer literal, ignore integer literals for which + Comes_From_Source is False. + +2023-09-05 Johannes Kliemann + + * libgnarl/s-taprop__qnx.adb: Implement Set_Task_Affinity. + +2023-09-05 Ghjuvan Lacambre + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix + index. + * gnat_ugn.texi: Regenerate. + +2023-09-05 Daniel King + + * libgnat/s-carsi8.adb: Use operations from + System.Storage_Elements for address arithmetic. + * libgnat/s-carun8.adb: Likewise + * libgnat/s-casi128.adb: Likewise + * libgnat/s-casi16.adb: Likewise + * libgnat/s-casi32.adb: Likewise + * libgnat/s-casi64.adb: Likewise + * libgnat/s-caun128.adb: Likewise + * libgnat/s-caun16.adb: Likewise + * libgnat/s-caun32.adb: Likewise + * libgnat/s-caun64.adb: Likewise + * libgnat/s-geveop.adb: Likewise + +2023-09-05 Eric Botcazou + + * sem_ch12.adb (Component_Type_For_Private_View): New function. + (Check_Generic_Actuals): For an actual type parameter, also check + its component type if it is an array type. + (Check_Private_View): Use Component_Type_For_Private_View in the + case of an array type. + (Instantiate_Type): Likewise. + (Save_Global_References.Set_Global_Type): Likewise. + +2023-09-05 Sheri Bernstein + + * libgnat/s-aridou.adb: Add pragma to exempt Metrics_LSLOC. + (Double_Divide): Add pragma to exempt + Metrics_Cyclomatic_Complexity. + (Scaled_Divide): Likewise. + * libgnat/s-vauspe.ads (Uns_Option): Add pragma to exempt + Discriminated_Records. + +2023-09-05 Ronan Desplanques + + * Makefile.rtl: Add missing units. + +2023-09-05 Sheri Bernstein + + * libgnarl/a-reatim.adb (Time_Of): Add pragma to exempt + Discriminated_Records. + * libgnat/s-imguti.adb (Round, Set_Decimal_Digits): Likewise. + * libgnat/s-multip.adb (Number_Of_CPUs): Likewise. + * libgnarl/s-tpopsp__posix-foreign.adb (Self): Refactor multiple + returns. + +2023-09-05 Javier Miranda + + * sem_ch3.adb (Add_Internal_Interface_Entities): Add missing + subtype-conformance check on primitives implementing interface + primitives. + (Error_Posted_In_Formals): New subprogram. + +2023-09-05 Ronan Desplanques + + * libgnarl/s-tassta.adb: Tweak comment. + +2023-09-05 Yang Yujie + + * Makefile.rtl: Add LoongArch support. + * libgnarl/s-linux__loongarch.ads: New file. + * libgnat/system-linux-loongarch.ads: New file. + +2023-08-07 Sheri Bernstein + + * libgnat/s-parame__qnx.adb: Refactor multiple returns. + +2023-08-07 Piotr Trojanek + + * libgnat/i-cstrin.ads (Value): Extend preconditions; adapt comment for + the package. + +2023-08-07 Yannick Moy + + * sem_res.adb (Resolve_Call): Always call Cannot_Inline so that + subprogram called is marked as not always inlined. + +2023-08-07 Javier Miranda + + * sem_res.adb (Resolve_Type_Conversion): Do not warn on conversion + to class-wide type on internally build helpers of class-wide + preconditions. + +2023-08-03 Sheri Bernstein + + * libgnat/s-aridou.adb: Add pragma to exempt Improper_Returns. + * libgnat/s-atopri.adb (Lock_Free_Try_Write): Likewise. + * libgnat/s-bitops.adb (Bit_Eq): Likewise. + * libgnat/s-carsi8.adb: Likewise. + * libgnat/s-carun8.adb: Likewise. + * libgnat/s-casi16.adb: Likewise. + * libgnat/s-casi32.adb: Likewise. + * libgnat/s-casi64.adb: Likewise. + * libgnat/s-caun16.adb: Likewise. + * libgnat/s-caun32.adb: Likewise. + * libgnat/s-caun64.adb: Likewise. + * libgnat/s-exponn.adb: Likewise. + * libgnat/s-expont.adb: Likewise. + * libgnat/s-valspe.adb: Likewise. + * libgnat/s-vauspe.adb: Likewise. + +2023-08-03 Vasiliy Fofanov + + * libgnat/s-imageb.adb (Set_Image_Based_Unsigned): Rewritten. + * libgnat/s-imagew.adb (Set_Image_Width_Unsigned): Likewise. + +2023-08-03 Eric Botcazou + + * exp_util.adb (Make_Invariant_Call): Convert the expression to + the type of the formal parameter if need be. + +2023-08-03 Eric Botcazou + + * libgnat/s-dwalin.adb ("-"): New subtraction operator. + (Enable_Cache): Use it to compute the offset. + (Symbolic_Address): Likewise. + +2023-08-01 Yannick Moy + + * repinfo.adb (Compute_Max_Length): Set parameter to print number + in decimal notation. + (List_Component_Layout): Same. + +2023-08-01 Yannick Moy + + * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Check for + Skip_Proof and Skip_Flow_And_Proof annotations for deciding + whether a subprogram can be inlined. + +2023-08-01 Steve Baird + + * sem_ch3.adb (Constrain_Corresponding_Record): When copying + information from the unconstrained record type to a newly + constructed constrained record subtype, the + Direct_Primitive_Operations attribute must be copied. + +2023-08-01 Steve Baird + + * sem_ch3.adb (Analyze_Component_Declaration): Remove + Build_Default_Subtype_OK call and code that could only executed in + the case where the removed call would have returned True. Other + calls to Build_Default_Subtype_Ok are unaffected by this change. + +2023-08-01 Pascal Obry + + * aspects.ads (Find_Aspect): Add Boolean parameter Or_Rep_Item + (defaulted to False). + * aspects.adb (Find_Aspect): If new Boolean parameter Or_Rep_Item + is True, then instead of returning an empty result if no + appropriate N_Aspect_Specification node is found, return an + appropriate N_Attribute_Definition_Clause if one is found. + * exp_put_image.ads: Change name of Enable_Put_Image function to + Put_Image_Enabled. + * exp_put_image.adb (Build_Record_Put_Image_Procedure): Detect the + case where a call to the Put_Image procedure of a derived type can + be transformed into a call to the parent type's Put_Image + procedure (with a type conversion to the parent type as the actual + parameter). + (Put_Image_Enabled): Change name of function (previously + Enable_Put_Image). Return True in more cases. In particular, + return True for a type with an explicitly specified Put_Image + aspect even if the type is declared in a predefined unit (or in an + instance of a predefined generic unit). + * exp_attr.adb: Changes due to Put_Image_Enabled function name + change. + +2023-08-01 Yannick Moy + + * repinfo.adb (List_Common_Type_Info): Fix output when alignment + is not statically known, and fix assertion when expansion is not + enabled. + +2023-08-01 Bob Duff + + * atree.adb (Field_Present): New function to detect whether or not + a given field is present in a given node, based on either the node + kind or the entity kind as appropriate. + (Get_Field_Value): Check that the field begin fetched exists. + However, disable the check in the case of Scope_Depth_Value, + because we have failures in that case. Those failures need to be + fixed, and then the check can be enabled for all fields. + (Set_Field_Value): Check that the field begin set exists. + +2023-08-01 Léo Creuse + + * par_sco.adb (Process_Decisions): Traverse all attributes of + quantified expressions nodes. + +2023-07-28 Eric Botcazou + + * gcc-interface/trans.cc (gnat_to_gnu): Restrict previous change to + the case where the simple return statement has got no storage pool. + +2023-07-28 Clément Chigot + + * libgnarl/s-inmaop__posix.adb: Add assert after sigwait in + Interrupt_Wait + +2023-07-28 Javier Miranda + + * einfo-utils.adb (Underlying_Type): Protect recursion call + against non-available attribute Etype. + * einfo.ads (Protected_Subprogram): Fix typo in documentation. + * exp_ch3.adb (BIP_Function_Call_Id): New subprogram. + (Expand_N_Object_Declaration): Improve code that evaluates if the + object is initialized with a BIP function call. + * exp_ch6.adb (Is_True_Build_In_Place_Function_Call): New + subprogram. + (Add_Task_Actuals_To_Build_In_Place_Call): Add dummy actuals if + the function does not require the BIP task actuals but it is a + dispatching operation that inherited them. + (Build_In_Place_Formal): Improve code to avoid never-ending loop + if the BIP formal is not found. + (Add_Dummy_Build_In_Place_Actuals): New subprogram. + (Expand_Call_Helper): Add calls to + Add_Dummy_Build_In_Place_Actuals. + (Expand_N_Extended_Return_Statement): Adjust assertion. + (Expand_Simple_Function_Return): Adjust assertion. + (Make_Build_In_Place_Call_In_Allocator): No action needed if the + called function inherited the BIP extra formals but it is not a + true BIP function. + (Make_Build_In_Place_Call_In_Assignment): Ditto. + * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove code + reporting unsupported case (since this patch adds support for it). + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Adding assertion + to ensure matching of BIP formals when setting the + Protected_Formal field of a protected subprogram to reference the + corresponding extra formal of the subprogram that implements it. + (Might_Need_BIP_Task_Actuals): New subprogram. + (Create_Extra_Formals): Improve code adding inherited extra + formals. + +2023-07-28 Pascal Obry + + * s-oscons-tmplt.c: Add support for SO_BINDTODEVICE constant. + * libgnat/g-socket.ads (Set_Socket_Option): Handle SO_BINDTODEVICE option. + (Get_Socket_Option): Handle SO_BINDTODEVICE option. + * libgnat/g-socket.adb: Likewise. + (Get_Socket_Option): Handle the case where IF_NAMESIZE is not defined + and so equal to -1. + +2023-07-28 Léo Creuse + + * par_sco.adb (Has_Decision): Consider that quantified expressions + contain decisions. + +2023-07-28 Ronan Desplanques + + * libgnarl/s-tposen.adb: Fix race condition. Add comment to justify + the locking timing. + +2023-07-28 Viljar Indus + + * exp_util.adb (Find_Optional_Prim_Op): use "No" instead of "= Empty" + +2023-07-28 Piotr Trojanek + + * sem_res.adb (Resolve_Actuals): Add guard for the call to + Class_Preconditions_Subprogram. + +2023-07-28 Eric Botcazou + + * exp_aggr.adb (Is_Two_Dim_Packed_Array): Return true only if the + component type of the array is scalar. + +2023-07-28 Piotr Trojanek + + * sem_ch6.adb (Check_Statement_Sequence): Only warn about missing return + statements and let GNATprove emit a check when needed. + +2023-07-28 Tom Tromey + + * fe.h (Convention): Now inline function. + * gen_il-gen.adb (Put_C_Type_And_Subtypes.Put_Enum_Lit) + (Put_C_Type_And_Subtypes.Put_Kind_Subtype, Put_C_Getter): + Emit enum. + * snames.h-tmpl (Name_Id, Name_, Attribute_Id, Attribute_) + (Convention_Id, Convention_, Pragma_Id, Pragma_): Now enum. + (Get_Attribute_Id, Get_Pragma_Id): Now inline functions. + * types.h (Node_Kind, Entity_Kind, Convention_Id, Name_Id): + Now enum. + * xsnamest.adb (Output_Header_Line, Make_Value): Emit enum. + +2023-07-28 Piotr Trojanek + + * libgnat/a-except.ads (Save_Occurrence): Fix typo. + +2023-07-28 Piotr Trojanek + + * einfo-utils.adb (Number_Formals): Change types in body. + * einfo-utils.ads (Number_Formals): Change type in spec. + * einfo.ads (Number_Formals): Change type in comment. + * sem_ch13.adb (Is_Property_Function): Fix style in a caller of + Number_Formals that was likely to crash because of missing guards. + +2023-07-28 Piotr Trojanek + + * sem_warn.adb (Check_Infinite_Loop_Warning): Don't look at the type of + actual parameter when it has no type at all, e.g. because the entire + subprogram call is illegal. + +2023-07-18 Tom Tromey + + * gcc-interface/decl.cc (check_ok_for_atomic_type): Use Pragma_Id. + * gcc-interface/trans.cc (lvalue_required_p, Pragma_to_gnu): Use + Pragma_Id. + (get_type_length, Attribute_to_gnu, get_atomic_access): Use + Attribute_Id. + +2023-07-18 Javier Miranda + + * exp_imgv.adb (Rewrite_Object_Image): fix type of formal. Found + reading sources. + (Expand_Wide_Image_Attribute): ditto. + (Expand_Wide_Wide_Image_Attribute): ditto. + (Rewrite_Object_Image): ditto. + * exp_put_image.adb (Build_Image_Call): For class-wide interface + type prefix generate code to displace the pointer to the object to + reference the base of the underlying object. + +2023-07-18 Viljar Indus + + * sem_aggr.adb (Resolve_Iterated_Association): Add temporary scope + when analyzing the Iterator Specification. Use preanalysis instead + of Analysis to avoid polluting the tree. + +2023-07-18 Viljar Indus + + * sem_aggr.adb (Resolve_Iterated_Association): Use the element + type for the iterator in a container aggregate with an iterator + specification. + +2023-07-18 Viljar Indus + + * exp_aggr.adb (Expand_Container_Aggregate): Use the positional + addition method only when dealing with a container aggregate + without an Iterator Specification e.g. with a loop parameter + specification + +2023-07-18 Eric Botcazou + + * sem_util.ads (Wrong_Type): Add Multiple parameter defaulting to + False and document it. + * sem_util.adb (Wrong_Type): Do not return early if an error has + already been posted on Expr and Multiple is True. + * sem_ch4.adb (Analyze_One_Call): Pass All_Errors_Mode as the + actual parameter for Multiple to Wrong_Type. + +2023-07-18 Javier Miranda + + * exp_disp.adb (Has_Dispatching_Constructor_Call): Removed. + (Expand_Interface_Conversion): Reverse patch. + +2023-07-18 Ronan Desplanques + + * libgnarl/s-taprop__linux.adb (Set_Task_Affinity, Create_Task): Tweak + handling of CPU affinities. + +2023-07-18 Eric Botcazou + + * sem_type.ads (Is_Ancestor): Remove mention of tagged type. + * exp_aggr.adb: Add with and use clauses for Sem_Type. + (Build_Record_Aggr_Code.Replace_Type): Call Is_Ancestor to spot + self-references to the type of the aggregate. + * sem_aggr.adb (Resolve_Record_Aggregate.Add_Discriminant_Values): + Likewise. + +2023-07-18 Eric Botcazou + + * sem_ch13.adb (Replace_Type_References_Generic.Visible_Component): + In the case of private discriminated types, explicitly check that we + have a private declaration before examining its discriminant part. + +2023-07-18 Alexandre Oliva + + * libgnat/a-except.ads (Raise_Exception): Mark expected_throw. + (Reraise_Occurrence): Likewise. + (Raise_Exception_Always): Likewise. + (Raise_From_Controlled_Operation): Likewise. + (Reraise_Occurrence_Always): Likewise. + (Reraise_Occurrence_No_Defer): Likewise. + * libgnat/a-except.adb + (Exception_Propagation.Propagate_Exception): Likewise. + (Complete_And_Propagate_Occurrence): Likewise. + (Raise_Exception_No_Defer): Likewise. + (Raise_From_Signal_Handler): Likewise. + (Raise_With_Msg): Likewise. + (Raise_With_Location_And_Msg): Likewise. + (Raise_Constraint_Error): Likewise. + (Raise_Constraint_Error_Msg): Likewise. + (Raise_Program_Error): Likewise. + (Raise_Program_Error_Msg): Likewise. + (Raise_Storage_Error): Likewise. + (Raise_Storage_Error_Msg): Likewise. + (Reraise, Rcheck_*): Likewise. + * doc/gnat_rm/security_hardening_features.rst (Control Flow + Hardening): Note the influence of expected_throw. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + * gcc-interface/utils.cc (handle_expected_throw_attribute): New. + (gnat_internal_attribute_table): Add expected_throw. + +2023-07-18 Vasiliy Fofanov + + * libgnat/s-pack03.adb: Update copyright year; refactor return statements. + * libgnat/s-pack05.adb: Likewise. + * libgnat/s-pack06.adb: Likewise. + * libgnat/s-pack07.adb: Likewise. + * libgnat/s-pack09.adb: Likewise. + * libgnat/s-pack10.adb: Likewise. + * libgnat/s-pack100.adb: Likewise. + * libgnat/s-pack101.adb: Likewise. + * libgnat/s-pack102.adb: Likewise. + * libgnat/s-pack103.adb: Likewise. + * libgnat/s-pack104.adb: Likewise. + * libgnat/s-pack105.adb: Likewise. + * libgnat/s-pack106.adb: Likewise. + * libgnat/s-pack107.adb: Likewise. + * libgnat/s-pack108.adb: Likewise. + * libgnat/s-pack109.adb: Likewise. + * libgnat/s-pack11.adb: Likewise. + * libgnat/s-pack110.adb: Likewise. + * libgnat/s-pack111.adb: Likewise. + * libgnat/s-pack112.adb: Likewise. + * libgnat/s-pack113.adb: Likewise. + * libgnat/s-pack114.adb: Likewise. + * libgnat/s-pack115.adb: Likewise. + * libgnat/s-pack116.adb: Likewise. + * libgnat/s-pack117.adb: Likewise. + * libgnat/s-pack118.adb: Likewise. + * libgnat/s-pack119.adb: Likewise. + * libgnat/s-pack12.adb: Likewise. + * libgnat/s-pack120.adb: Likewise. + * libgnat/s-pack121.adb: Likewise. + * libgnat/s-pack122.adb: Likewise. + * libgnat/s-pack123.adb: Likewise. + * libgnat/s-pack124.adb: Likewise. + * libgnat/s-pack125.adb: Likewise. + * libgnat/s-pack126.adb: Likewise. + * libgnat/s-pack127.adb: Likewise. + * libgnat/s-pack13.adb: Likewise. + * libgnat/s-pack14.adb: Likewise. + * libgnat/s-pack15.adb: Likewise. + * libgnat/s-pack17.adb: Likewise. + * libgnat/s-pack18.adb: Likewise. + * libgnat/s-pack19.adb: Likewise. + * libgnat/s-pack20.adb: Likewise. + * libgnat/s-pack21.adb: Likewise. + * libgnat/s-pack22.adb: Likewise. + * libgnat/s-pack23.adb: Likewise. + * libgnat/s-pack24.adb: Likewise. + * libgnat/s-pack25.adb: Likewise. + * libgnat/s-pack26.adb: Likewise. + * libgnat/s-pack27.adb: Likewise. + * libgnat/s-pack28.adb: Likewise. + * libgnat/s-pack29.adb: Likewise. + * libgnat/s-pack30.adb: Likewise. + * libgnat/s-pack31.adb: Likewise. + * libgnat/s-pack33.adb: Likewise. + * libgnat/s-pack34.adb: Likewise. + * libgnat/s-pack35.adb: Likewise. + * libgnat/s-pack36.adb: Likewise. + * libgnat/s-pack37.adb: Likewise. + * libgnat/s-pack38.adb: Likewise. + * libgnat/s-pack39.adb: Likewise. + * libgnat/s-pack40.adb: Likewise. + * libgnat/s-pack41.adb: Likewise. + * libgnat/s-pack42.adb: Likewise. + * libgnat/s-pack43.adb: Likewise. + * libgnat/s-pack44.adb: Likewise. + * libgnat/s-pack45.adb: Likewise. + * libgnat/s-pack46.adb: Likewise. + * libgnat/s-pack47.adb: Likewise. + * libgnat/s-pack48.adb: Likewise. + * libgnat/s-pack49.adb: Likewise. + * libgnat/s-pack50.adb: Likewise. + * libgnat/s-pack51.adb: Likewise. + * libgnat/s-pack52.adb: Likewise. + * libgnat/s-pack53.adb: Likewise. + * libgnat/s-pack54.adb: Likewise. + * libgnat/s-pack55.adb: Likewise. + * libgnat/s-pack56.adb: Likewise. + * libgnat/s-pack57.adb: Likewise. + * libgnat/s-pack58.adb: Likewise. + * libgnat/s-pack59.adb: Likewise. + * libgnat/s-pack60.adb: Likewise. + * libgnat/s-pack61.adb: Likewise. + * libgnat/s-pack62.adb: Likewise. + * libgnat/s-pack63.adb: Likewise. + * libgnat/s-pack65.adb: Likewise. + * libgnat/s-pack66.adb: Likewise. + * libgnat/s-pack67.adb: Likewise. + * libgnat/s-pack68.adb: Likewise. + * libgnat/s-pack69.adb: Likewise. + * libgnat/s-pack70.adb: Likewise. + * libgnat/s-pack71.adb: Likewise. + * libgnat/s-pack72.adb: Likewise. + * libgnat/s-pack73.adb: Likewise. + * libgnat/s-pack74.adb: Likewise. + * libgnat/s-pack75.adb: Likewise. + * libgnat/s-pack76.adb: Likewise. + * libgnat/s-pack77.adb: Likewise. + * libgnat/s-pack78.adb: Likewise. + * libgnat/s-pack79.adb: Likewise. + * libgnat/s-pack80.adb: Likewise. + * libgnat/s-pack81.adb: Likewise. + * libgnat/s-pack82.adb: Likewise. + * libgnat/s-pack83.adb: Likewise. + * libgnat/s-pack84.adb: Likewise. + * libgnat/s-pack85.adb: Likewise. + * libgnat/s-pack86.adb: Likewise. + * libgnat/s-pack87.adb: Likewise. + * libgnat/s-pack88.adb: Likewise. + * libgnat/s-pack89.adb: Likewise. + * libgnat/s-pack90.adb: Likewise. + * libgnat/s-pack91.adb: Likewise. + * libgnat/s-pack92.adb: Likewise. + * libgnat/s-pack93.adb: Likewise. + * libgnat/s-pack94.adb: Likewise. + * libgnat/s-pack95.adb: Likewise. + * libgnat/s-pack96.adb: Likewise. + * libgnat/s-pack97.adb: Likewise. + * libgnat/s-pack98.adb: Likewise. + * libgnat/s-pack99.adb: Likewise. + +2023-07-18 Yannick Moy + + * errout.adb (Error_Msg_Internal): Remove call to + Prescan_Message on the special continuation for the explain code + command, as this does not play well with the setting of global + variables for the message (like its status as a warning or not). + Instead, set directly the global variables regarding content of + the message in terms of special characters. + +2023-07-18 Eric Botcazou + + * sem_util.ads (Validated_View): Document enhanced behavior. + * sem_util.adb (Validated_View): Return the nonlimited view, if any, + of types coming from a limited with. + +2023-07-11 Bob Duff + + * exp_ch3.adb (Expand_N_Object_Declaration): Avoid transforming to + a renaming in case of constrained array that comes from source. + +2023-07-11 Eric Botcazou + + * sem_ch13.adb (Replace_Type_References_Generic.Visible_Component): + In the case of private discriminated types, return a discriminant + only if it is listed in the discriminant part of the declaration. + +2023-07-10 Eric Botcazou + + * adaint.c [_WIN32]: Undefine 'abort' macro. + +2023-07-10 Tom Tromey + + * snames.h-tmpl (Name_Id, Attribute_Id, Convention_Id) + (Pragma_Id): New typedefs. + (Get_Attribute_Id, Get_Pragma_Id): Use typedef. + +2023-07-10 Yannick Moy + + * libgnat/s-aridou.adb (Lemma_Powers_Of_2_Commutation): Rewrite + assertion. + +2023-07-10 Bob Duff + + * doc/gnat_rm/gnat_language_extensions.rst + (Local Declarations Without Block): Document the feature very + briefly, and refer the reader to the RFC for details and examples. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2023-07-10 Alexandre Oliva + + * doc/gnat_rm/security_hardening_features.rst (Control Flow + Hardening): Document -fhardcfr-skip-leaf. + * gnat_rm.texi: Regenerate. + +2023-07-10 Alexandre Oliva + + * doc/gnat_rm/security_hardening_features.rst (Control Flow + Redundancy): Add -fhardcfr-check-noreturn-calls=no-xthrow. + * gnat_rm.texi: Regenerate. + +2023-07-10 Yannick Moy + + * libgnat/s-aridou.adb (Lemma_Div_Mult): New simple lemma. + (Lemma_Powers_Of_2_Commutation): State post in else branch. + (Lemma_Div_Pow2): Introduce local lemma and use it. + (Scaled_Divide): Use cut operations in assertions, lemmas, new + assertions. Introduce local lemma and use it. + +2023-07-10 Alexandre Oliva + + * doc/gnat_rm/security_hardening_features.rst (Register + Scrubbing): Document leafy mode. + * gnat_rm.texi: Regenerate. + +2023-07-06 Claire Dross + + * gcc-interface/Make-lang.in: Add object files of specification + files. + +2023-07-06 Claire Dross + + * libgnat/s-vs_int.ads: Instance of Value_I_Spec for Integer. + * libgnat/s-vs_lli.ads: Instance of Value_I_Spec for + Long_Long_Integer. + * libgnat/s-vsllli.ads: Instance of Value_I_Spec for + Long_Long_Long_Integer. + * libgnat/s-vs_uns.ads: Instance of Value_U_Spec for Unsigned. + * libgnat/s-vs_llu.ads: Instance of Value_U_Spec for + Long_Long_Unsigned. + * libgnat/s-vslllu.ads: Instance of Value_U_Spec for + Long_Long_Long_Unsigned. + * libgnat/s-imagei.ads: Take instances of Value_*_Spec as + parameters. + * libgnat/s-imagei.adb: Idem. + * libgnat/s-imageu.ads: Idem. + * libgnat/s-imageu.adb: Idem. + * libgnat/s-valuei.ads: Idem. + * libgnat/s-valuei.adb: Idem. + * libgnat/s-valueu.ads: Idem. + * libgnat/s-valueu.adb: Idem. + * libgnat/s-imgint.ads: Adapt instance to new ghost parameters. + * libgnat/s-imglli.ads: Adapt instance to new ghost parameters. + * libgnat/s-imgllli.ads: Adapt instance to new ghost parameters. + * libgnat/s-imglllu.ads: Adapt instance to new ghost parameters. + * libgnat/s-imgllu.ads: Adapt instance to new ghost parameters. + * libgnat/s-imguns.ads: Adapt instance to new ghost parameters. + * libgnat/s-valint.ads: Adapt instance to new ghost parameters. + * libgnat/s-vallli.ads: Adapt instance to new ghost parameters. + * libgnat/s-valllli.ads: Adapt instance to new ghost parameters. + * libgnat/s-vallllu.ads: Adapt instance to new ghost parameters. + * libgnat/s-valllu.ads: Adapt instance to new ghost parameters. + * libgnat/s-valuns.ads: Adapt instance to new ghost parameters. + * libgnat/s-vaispe.ads: Take instance of Value_U_Spec as parameter + and remove unused declaration. + * libgnat/s-vaispe.adb: Idem. + * libgnat/s-vauspe.ads: Remove unused declaration. + * libgnat/s-valspe.ads: Factor out the specification part of + Val_Util. + * libgnat/s-valspe.adb: Idem. + * libgnat/s-valuti.ads: Move specification to Val_Spec. + * libgnat/s-valuti.adb: Idem. + * libgnat/s-valboo.ads: Use Val_Spec. + * libgnat/s-valboo.adb: Idem. + * libgnat/s-imgboo.adb: Idem. + * libgnat/s-imagef.adb: Adapt instances to new ghost parameters. + * Makefile.rtl: List new files. + +2023-07-06 Viljar Indus + + * sem_attr.adb (analyze_attribute.check_array_type): Replace valid + indexes with their staticly evaluated values. + +2023-07-06 Viljar Indus + + * doc/gnat_ugn/the_gnat_compilation_model.rst: Reference "Binding + with Non-Ada Main Programs" from "Creating a Stand-alone Library + to be used in a non-Ada context". + * gnat_ugn.texi: Regenerate. + +2023-07-06 Viljar Indus + + * sem_util.adb (Is_Fully_Initialized_Type): Avoid recalculating + the underlying type twice. + +2023-07-06 Viljar Indus + + * exp_util.adb (Find_Optional_Prim_Op): Stop deriving primitive + operation if there is no underlying type to derive it from. + +2023-07-06 Yannick Moy + + * errout.ads: Add explain code. + * sem_prag.adb (Check_Library_Level_Entity): Refine error message + and add explain code. + +2023-07-06 Steve Baird + + * exp_ch7.adb (Make_Final_Call): Add assertion that if no + finalization call is generated, then the type of the object being + finalized does not require finalization. + * freeze.adb (Freeze_Entity): If freezing an already-frozen + subtype, do not assume that nothing needs to be done. In the case + of a frozen subtype of a non-frozen type or subtype (which is + possible), freeze the non-frozen entity. + +2023-07-04 Eric Botcazou + + * exp_ch5.adb (Expand_Assign_Array): Adjust comment above the + calls to Possible_Bit_Aligned_Component on the LHS and RHS. Do not + call Is_Possibly_Unaligned_Slice in the slice case. + * exp_util.ads (Component_May_Be_Bit_Aligned): Add For_Slice + boolean parameter. + (Possible_Bit_Aligned_Component): Likewise. + * exp_util.adb (Component_May_Be_Bit_Aligned): Do not return False + for the slice of a small record or bit-packed array component. + (Possible_Bit_Aligned_Component): Pass For_Slice in recursive + calls, except in the slice case where True is passed, as well as + in call to Component_May_Be_Bit_Aligned. + +2023-07-04 Eric Botcazou + + * exp_ch4.ads (Expand_Unchecked_Union_Equality): Only take a + single parameter. + * exp_ch4.adb (Expand_Unchecked_Union_Equality): Add guard against + repeated invocation on the same node. + * exp_ch6.adb (Expand_Call): Only pass a single actual parameter + in the call to Expand_Unchecked_Union_Equality. + +2023-07-04 Viljar Indus + + * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: + add No_Use_Of_Attribute & No_Use_Of_Pragma restrictions. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2023-07-04 Yannick Moy + + * sem_disp.adb (Inherited_Subprograms): Add parameter to filter + out results. + * sem_disp.ads: Likewise. + +2023-07-03 Eric Botcazou + + * exp_ch3.ads (Build_Variant_Record_Equality): Add Spec_Id as second + parameter. + * exp_ch3.adb (Build_Variant_Record_Equality): For unchecked union + types, build the additional parameters as extra formal parameters. + (Expand_Freeze_Record_Type.Build_Variant_Record_Equality): Pass + Empty as Spec_Id in call to Build_Variant_Record_Equality. + * exp_ch4.ads (Expand_Unchecked_Union_Equality): New procedure. + * exp_ch4.adb (Expand_Composite_Equality): In the presence of a + function implementing composite equality, do not special case the + unchecked union types, and only convert the operands if the base + types are not the same like in Build_Equality_Call. + (Build_Equality_Call): Do not special case the unchecked union types + and relocate the operands only once. + (Expand_N_Op_Eq): Do not special case the unchecked union types. + (Expand_Unchecked_Union_Equality): New procedure implementing the + specific expansion of calls to the predefined equality function. + * exp_ch6.adb (Is_Unchecked_Union_Equality): New predicate. + (Expand_Call): Call Is_Unchecked_Union_Equality to determine whether + to call Expand_Unchecked_Union_Equality or Expand_Call_Helper. + * exp_ch8.adb (Build_Body_For_Renaming): Set Has_Delayed_Freeze flag + earlier on Id and pass Id in call to Build_Variant_Record_Equality. + +2023-07-03 Eric Botcazou + + * exp_ch3.adb (Build_Untagged_Equality): Rename into... + (Build_Untagged_Record_Equality): ...this. + (Expand_Freeze_Record_Type): Adjust to above renaming and invoke + the procedure also for discriminated types without a variant part. + +2023-07-03 Eric Botcazou + + * sem_util.adb (Has_Inferable_Discriminants): In the case of a + component with a per-object constraint, also return true if the + enclosing object is not of an unchecked union type. + In the default case, remove a useless call to Base_Type. + +2023-06-29 Richard Sandiford + + * gcc-interface/decl.cc (gt_pch_nx): Remove overloads for Entity_Id. + +2023-06-27 Eric Botcazou + + * gcc-interface/Makefile.in (LIBIBERTY): Fix condition. + (TOOLS_LIBS): Add @LD_PICFLAG@. + +2023-06-27 Eric Botcazou + + * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Add guard to the + code turning the type of the RESULT_DECL into a reference type. + (maybe_make_gnu_thunk): Use a more precise guard in the same case. + +2023-06-27 Eric Botcazou + + * gcc-interface/trans.cc (Case_Statement_to_gnu): Rename boolean + constant and use From_Conditional_Expression flag for its value. + +2023-06-27 Eric Botcazou + + * debug.adb (d.L): Remove documentation. + * exp_ch4.adb (Expand_N_Case_Expression): In the not-by-copy case, + do not wrap the case statement in an Expression_With_Actions node. + (Expand_N_If_Expression): Do not test + Back_End_Handles_Limited_Types + * gnat1drv.adb (Adjust_Global_Switches): Do not set it. + * opt.ads (Back_End_Handles_Limited_Types): Delete. + +2023-06-27 Eric Botcazou + + * sem_ch12.adb (Check_Generic_Actuals): Check the component type + of constants and variables of an array type. + (Copy_Generic_Node): Fix bogus handling of iterator + specifications. + +2023-06-27 Claire Dross + + * libgnat/a-textio.ads (Get_Line): Use Relaxed_Initialization on + the Item parameter of Get_Line. + +2023-06-27 Eric Botcazou + + * exp_ch4.adb (Expand_N_Quantified_Expression): Revert the latest + change as it is subsumed by the machinery in Sem_Ch5. + * sem_ch5.adb (Prepare_Iterator_Loop): Also wrap the loop + statement in a block in the name contains a function call that + returns on the secondary stack. + +2023-06-27 Eric Botcazou + + * sem_ch12.adb (Scope_Within_Body_Or_Same): New predicate. + (Check_Actual_Type): Take into account packages nested in bodies + to compute the enclosing scope by means of + Scope_Within_Body_Or_Same. + +2023-06-27 Eric Botcazou + + * sem_ch12.adb (Check_Private_View): Also check the type of + visible discriminants in record and concurrent types. + +2023-06-27 Viljar Indus + + * sprint.adb (Print_Node_Actual): Print homogeneous N_Aggregate + nodes with brackets. + +2023-06-27 Viljar Indus + + * exp_aggr.adb (Expand_N_Aggregate): Ensure that container + aggregate expressions do not get expanded as records but instead + as container aggregates. + +2023-06-20 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_entity) : Pass + the NULL_TREE explicitly and test imported_p in lieu of + Is_Imported. : Remove public_flag local variable and + make extern_flag local variable a constant. + +2023-06-20 Yannick Moy + + * sem_res.adb (Resolve_Call): Fix change that replaced test for + quantified expressions by the test for potentially unevaluated + contexts. Both should be performed. + +2023-06-20 Eric Botcazou + + * exp_ch7.adb (Convert_View): Detect more cases of mismatches for + private types and use Implementation_Base_Type as main criterion. + * gen_il-fields.ads (Opt_Field_Enum): Add + Has_Secondary_Private_View + * gen_il-gen-gen_nodes.adb (N_Expanded_Name): Likewise. + (N_Direct_Name): Likewise. + (N_Op): Likewise. + * sem_ch12.ads (Check_Private_View): Document the usage of second + flag Has_Secondary_Private_View. + * sem_ch12.adb (Get_Associated_Entity): New function to retrieve + the ultimate associated entity, if any. + (Check_Private_View): Implement Has_Secondary_Private_View + support. + (Copy_Generic_Node): Remove specific treatment for Component_Type + of an array type and Designated_Type of an access type. Add + specific treatment for comparison and equality operators, as well + as iterator and loop parameter specifications. + (Instantiate_Type): Implement Has_Secondary_Private_View support. + (Requires_Delayed_Save): Call Get_Associated_Entity. + (Set_Global_Type): Implement Has_Secondary_Private_View support. + * sem_ch6.adb (Conforming_Types): Remove bypass for private views + in instances. + * sem_type.adb (Covers): Return true if Is_Subtype_Of does so. + Remove bypass for private views in instances. + (Specific_Type): Likewise. + * sem_util.adb (Wrong_Type): Likewise. + * sinfo.ads (Has_Secondary_Private_View): Document new flag. + +2023-06-20 Ronan Desplanques + + * libgnarl/s-mudido.ads: Remove outdated comment. + +2023-06-20 Eric Botcazou + + * doc/gnat_ugn/gnat_and_program_execution.rst (Overflows in GNAT) + : Remove obsolete paragraph about -gnato. + : Replace CHECKED with STRICT. + * gnat_ugn.texi: Regenerate. + +2023-06-20 Yannick Moy + + * sem_util.adb (Check_Result_And_Post_State): Do not warn in cases + where the warning could be spurious. + +2023-06-20 Yannick Moy + + * err_vars.ads (Error_Msg_Code): New variable for error codes. + * errout.adb (Error_Msg_Internal): Display continuation message + when an error code was present. + (Set_Msg_Text): Handle character sequence [] for error codes. + * errout.ads: Document new insertion sequence []. + (Error_Msg_Code): New renaming. + * erroutc.adb (Prescan_Message): Detect presence of error code. + (Set_Msg_Insertion_Code): Handle new insertion sequence []. + * erroutc.ads (Has_Error_Code): New variable for prescan. + (Set_Msg_Insertion_Code): Handle new insertion sequence []. + * contracts.adb (Check_Type_Or_Object_External_Properties): + Replace reference to SPARK RM section by an error code. + * sem_elab.adb (SPARK_Processor): Same. + * sem_prag.adb (Check_Missing_Part_Of): Same. + * sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Same. + +2023-06-20 Piotr Trojanek + + * sem_res.adb (Resolve_Entity_Name): Handle Range like First and Last. + +2023-06-20 Jose Ruiz + + * doc/gnat_ugn/the_gnat_compilation_model.rst + (Partition-Wide Settings): add this subsection to document + configuration settings made by the Ada run time. + * gnat_ugn.texi: Regenerate. + +2023-06-20 Piotr Trojanek + + * sem_res.adb (Resolve_Entity_Name): Ignore implicit loop scopes + introduced by quantified expressions. + +2023-06-20 Bob Duff + + * sem_ch3.adb (Analyze_Object_Declaration): Remove predicate-check + generation if there is an address clause. These are unnecessary, + and cause gigi to crash. + * exp_util.ads (Following_Address_Clause): Remove obsolete "???" + comments. The suggested changes were done long ago. + +2023-06-20 Eric Botcazou + + * einfo.ads (Has_Private_Ancestor): Fix inaccuracy in description. + * sem_ch12.adb (Check_Actual_Type): Do not switch the view of the + type if it has a private ancestor. + +2023-06-20 Daniel King + + * libgnat/i-cheri.ads: Add CHERI intrinsics and helper functions. + * libgnat/i-cheri.adb: Likewise + +2023-06-20 Eric Botcazou + + * exp_ch7.adb (Convert_View): Remove Ind parameter and adjust. + * sem_ch12.adb (Check_Generic_Actuals): Check the type of both in + and in out actual objects, as well as the type of formal parameters + of actual subprograms. Extend the condition under which the views + are swapped to nested generic constructs. + (Save_References_In_Identifier): Call Set_Global_Type on a global + identifier rewritten as an explicit dereference, either directly + or after having first been rewritten as a function call. + (Save_References_In_Operator): Set N2 unconditionally and reuse it. + * sem_ch3.adb (Build_Derived_Record_Type): Add missing comment. + * sem_res.adb (Resolve_Implicit_Dereference): Remove special bypass + for private views in instances. + +2023-06-20 Eric Botcazou + + * exp_aggr.adb (Convert_To_Assignments): Tweak comment. + (Expand_Array_Aggregate): Do not delay the expansion if the parent + node is a container aggregate. + +2023-06-20 Ghjuvan Lacambre + + * errout.adb (Output_Messages): Fix loop termination condition. + +2023-06-20 Eric Botcazou + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst (Compiler + Switches): Document -gnateH. + * opt.ads (Reverse_Bit_Order_Threshold): New variable. + * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Use its value + if it is nonnegative instead of System_Max_Integer_Size. + * switch-c.adb (Scan_Front_End_Switches): Deal with -gnateH. + * usage.adb (Usage): Print -gnateH. + * gnat_ugn.texi: Regenerate. + +2023-06-20 Yannick Moy + + * libgnat/s-aridou.adb (Scaled_Divide): Add assertions. + * libgnat/s-valuti.adb: Add Loop_Variant. + * libgnat/s-valuti.ads: Add Exceptional_Cases on No_Return + procedure. + +2023-06-20 Marc Poulhiès + + * sem_ch3.adb (Build_Derived_Record_Type): Use full view as + Parent_Base if needed. + +2023-06-20 Ghjuvan Lacambre + + * lib-load.adb (Load_Unit): Pass Error_Node to calls to Error_Msg. + +2023-06-20 Claire Dross + + * libgnat/a-strfix.ads: Replace Might_Not_Return annotations by + Exceptional_Cases and Always_Terminates aspects. + * libgnat/a-tideio.ads: Idem. + * libgnat/a-tienio.ads: Idem. + * libgnat/a-tifiio.ads: Idem. + * libgnat/a-tiflio.ads: Idem. + * libgnat/a-tiinio.ads: Idem. + * libgnat/a-timoio.ads: Idem. + * libgnat/a-textio.ads: Idem. Also mark functions Name, Col, Line, + and Page as out of SPARK as they might raise Layout_Error. + * libgnarl/a-reatim.ads: Replace Always_Return annotations by + Always_Terminates aspects. + * libgnat/a-chahan.ads: Idem. + * libgnat/a-nbnbig.ads: Idem. + * libgnat/a-nbnbin.ads: Idem. + * libgnat/a-nbnbre.ads: Idem. + * libgnat/a-ngelfu.ads: Idem. + * libgnat/a-nlelfu.ads: Idem. + * libgnat/a-nllefu.ads: Idem. + * libgnat/a-nselfu.ads: Idem. + * libgnat/a-nuelfu.ads: Idem. + * libgnat/a-strbou.ads: Idem. + * libgnat/a-strmap.ads: Idem. + * libgnat/a-strsea.ads: Idem. + * libgnat/a-strsup.ads: Idem. + * libgnat/a-strunb.ads: Idem. + * libgnat/a-strunb__shared.ads: Idem. + * libgnat/g-souinf.ads: Idem. + * libgnat/i-c.ads: Idem. + * libgnat/interfac.ads: Idem. + * libgnat/interfac__2020.ads: Idem. + * libgnat/s-aridou.adb: Idem. + * libgnat/s-arit32.adb: Idem. + * libgnat/s-atacco.ads: Idem. + * libgnat/s-spcuop.ads: Idem. + * libgnat/s-stoele.ads: Idem. + * libgnat/s-vaispe.ads: Idem. + * libgnat/s-vauspe.ads: Idem. + * libgnat/i-cstrin.ads: Add a precondition instead of a + Might_Not_Return annotation. + +2023-06-20 Javier Miranda + + * sem_ch4.adb + (Try_Selected_Component_In_Instance): New subprogram; factorizes + existing code. + (Find_Component_In_Instance) Moved inside the new subprogram. + (Analyze_Selected_Component): Invoke the new subprogram before + trying the Object.Operation notation. + +2023-06-20 Ronan Desplanques + + * libgnat/a-calfor.adb (Time_Of): Fix handling of special case. + +2023-06-15 Marek Polacek + + * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove NO_PIE_CFLAGS. Add + PICFLAG. Use PICFLAG when building ada/b_gnat1.o and ada/b_gnatb.o. + * gcc-interface/Makefile.in: Use pic/libiberty.a if PICFLAG is set. + Remove NO_PIE_FLAG. + +2023-06-15 Marc Poulhiès + + * vxworks7-cert-rtp-base-link.spec: Removed. + * vxworks7-cert-rtp-base-link__ppc64.spec: Removed. + * vxworks7-cert-rtp-base-link__x86.spec: Removed. + * vxworks7-cert-rtp-base-link__x86_64.spec: Removed. + * vxworks7-cert-rtp-link.spec: Removed. + * vxworks7-cert-rtp-link__ppcXX.spec: Removed. + +2023-06-15 Eric Botcazou + + * gcc-interface/utils2.cc (build_binary_op) : Do not + remove a VIEW_CONVERT_EXPR on the LHS if it is also on the RHS. + +2023-06-15 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_entity) : Restrict + the special handling of temporaries created for return values and + subject to a renaming to the top level. + +2023-06-15 Ronan Desplanques + + * doc/gnat_ugn/about_this_guide.rst: Fix typo. Uniformize punctuation. + * doc/gnat_ugn/the_gnat_compilation_model.rst: Uniformize punctuation. + Fix capitalization. Fix indentation of code block. Fix RST formatting + syntax errors. + * gnat_ugn.texi: Regenerate. + +2023-06-15 Yannick Moy + + * sem_attr.adb (Analyze_Attribute): Reject case of Loop_Entry + inside the prefix of Loop_Entry, as per SPARK RM 5.5.3.1(4,8). + +2023-06-15 Eric Botcazou + + * exp_ch3.adb (Make_Allocator_For_Return): Rewrite the logic that + determines the type used for the allocation and add assertions. + * exp_util.adb (Has_Tag_Of_Type): Also return true for extension + aggregates. + +2023-06-15 Eric Botcazou + + * sinfo.ads (Iterator_Filter): Document field. + * sem_ch5.adb (Analyze_Iterator_Specification): Move comment around. + (Analyze_Loop_Parameter_Specification): Only preanalyze the iterator + filter, if any. + * exp_ch5.adb (Expand_N_Loop_Statement): Analyze the new list built + when an iterator filter is present. + +2023-06-15 Eric Botcazou + + * exp_util.adb (Find_Hook_Context): Revert latest change. + +2023-06-15 Eric Botcazou + + * exp_ch3.adb (Make_Allocator_For_Return): Deal again specifically + with an aggregate returned through an object of a class-wide type. + +2023-06-15 Eric Botcazou + + * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Do not insert + an always empty list. Remove unused parameter Isc. + (Expand_Iterator_Loop): Adjust call to above procedure. + +2023-06-15 Ronan Desplanques + + * targparm.adb: Allow pragma Style_Checks in some forms. + * targparm.ads: Document new pragma permission. + +2023-06-15 Eric Botcazou + + * exp_util.ads (Within_Case_Or_If_Expression): Adjust description. + * exp_util.adb (Find_Hook_Context): Stop the search for the topmost + conditional expression, if within one, at contexts where temporaries + may be contained. + (Within_Case_Or_If_Expression): Return false upon first encoutering + contexts where temporaries may be contained. + +2023-06-15 Johannes Kliemann + + * libgnarl/s-osinte__qnx.adb: Adjust priority conversion function. + * libgnat/system-qnx-arm.ads: Adjust priority range and default + priority. + +2023-06-15 Ronan Desplanques + + * targparm.ads: Remove references to front-end-based exceptions. Fix + thinko. + +2023-06-15 Piotr Trojanek + + * contracts.adb (Add_Contract_Item): Add pragma Always_Terminates to + package contract. + * sem_prag.adb (Analyze_Pragma): Accept pragma Always_Terminates on + packages and generic packages, but only when it has no arguments. + +2023-06-15 Piotr Trojanek + + * sem_prag.adb (Analyze_Pragma): Accept pragma Always_Terminates when + it applies to an entry. + +2023-06-15 Piotr Trojanek + + * sem_prag.adb (Analyze_Pragma): Reject pragma Always_Terminates when + it applies to a function or generic function. + +2023-06-15 Eric Botcazou + + * sem_ch4.adb (Analyze_Call): Adjust the test to detect the presence + of an incomplete view of a type on a function call. + +2023-06-15 Ronan Desplanques + + * ttypes.ads: Remove reference to Ttypef in comment. Fix typo in + comment. + +2023-06-15 Eric Botcazou + + * get_targ.ads (Get_Max_Unaligned_Field): Delete. + * ada_get_targ.adb (Get_Max_Unaligned_Field): Likewise. + * get_targ.adb (Get_Max_Unaligned_Field): Likewise. + * set_targ.ads (Max_Unaligned_Field): Adjust comment. + * set_targ.adb: Set Max_Unaligned_Field to 1 during elaboration. + * ttypes.ads (Max_Unaligned_Field): Delete. + +2023-06-15 Eric Botcazou + + * sem_type.adb (Disambiguate): Fix pasto in the implementation of + the RM 8.4(10) clause for operators. + +2023-06-15 Piotr Trojanek + + * aspects.adb + (Base_Aspect): Fix layout. + * aspects.ads + (Aspect_Argument): Expression for Always_Terminates is optional. + * sem_prag.adb + (Analyze_Always_Terminates_In_Decl_Part): Only analyze expression when + pragma argument is present. + (Analyze_Pragma): Argument for Always_Terminates is optional; fix + whitespace for Async_Readers. + +2023-06-15 Javier Miranda + + * sem_util.adb + (Is_CPP_Constructor_Call): Add missing support for calls to + functions returning a private type. + +2023-06-15 Eric Botcazou + + * exp_util.ads (Build_Transient_Object_Statements): Remove obsolete + references to array and record aggregates in documentation. + +2023-06-15 Eric Botcazou + + * sem_ch13.adb (Analyze_Aspect_Specifications): Add missing items + in the list of aspects handled by means of Insert_Pragma. + : Remove obsolete code. Do not delay the + processing of the aspect if the entity is already frozen. + +2023-06-15 Piotr Trojanek + + * sem_aggr.adb + (Resolve_Array_Aggregate): Simplify comment. + (Resolve_Iterated_Component_Association): Tune comment; change variable + to constant. + +2023-06-13 Piotr Trojanek + + * sem_aggr.adb (Resolve_Iterated_Component_Association): Simply resolve + the expression. + +2023-06-13 Bob Duff + + * exp_ch4.adb + (Expand_N_Quantified_Expression): Detect the secondary-stack + case, and find the innermost scope where we should mark/release, + and Set_Uses_Sec_Stack on that. Skip intermediate blocks and loops + that are part of expansion. + +2023-06-13 Piotr Trojanek + + * sem_util.adb (Is_Repeatedly_Evaluated): Recognize iterated component + association as repeatedly evaluated. + +2023-06-13 Piotr Trojanek + + * sem_util.adb (Is_Potentially_Unevaluated): Recognize iterated + component association as potentially unevaluated. + +2023-06-13 Piotr Trojanek + + * sem_res.adb (Resolve_Call): Replace early call to + In_Quantified_Expression with a call to Is_Potentially_Unevaluated that + was only done when Full_Analysis is true. + +2023-06-13 Piotr Trojanek + + * aspects.ads (Aspect_Id): Add new aspect. + (Implementation_Defined_Aspect): New aspect is + implementation-defined. + (Aspect_Argument): New aspect has an expression argument. + (Is_Representation_Aspect): New aspect is not a representation + aspect. + (Aspect_Names): Link new aspect identifier with a name. + (Aspect_Delay): New aspect is never delayed. + * contracts.adb (Expand_Subprogram_Contract): Mention new aspect + in comment. + (Add_Contract_Item): Attach pragma corresponding to the new aspect + to contract items. + (Analyze_Entry_Or_Subprogram_Contract): Analyze pragma + corresponding to the new aspect that appears with subprogram spec. + (Analyze_Subprogram_Body_Stub_Contract): Expand pragma + corresponding to the new aspect. + * contracts.ads + (Add_Contract_Item, Analyze_Entry_Or_Subprogram_Contract) + (Analyze_Entry_Or_Subprogram_Body_Contract) + (Analyze_Subprogram_Body_Stub_Contract): Mention new aspect in + comment. + * einfo-utils.adb (Get_Pragma): Return pragma attached to + contract. + * einfo-utils.ads (Get_Pragma): Mention new contract in comment. + * exp_prag.adb (Expand_Pragma_Always_Terminates): Placeholder for + possibly expanding new aspect. + * exp_prag.ads (Expand_Pragma_Always_Terminates): Dedicated + routine for expansion of the new aspect. + * inline.adb (Remove_Aspects_And_Pragmas): Remove aspect from + inlined bodies. + * par-prag.adb (Prag): Postpone checking of the pragma until + analysis. + * sem_ch12.adb: Mention new aspect in explanation of handling + contracts on generic units. + * sem_ch13.adb (Analyze_Aspect_Specifications): Convert new aspect + into a corresponding pragma. + (Check_Aspect_At_Freeze_Point): Don't expect new aspect. + * sem_prag.adb (Analyze_Always_Terminates_In_Decl_Part): Analyze + pragma corresponding to the new aspect. + (Analyze_Pragma): Handle pragma corresponding to the new aspect. + (Is_Non_Significant_Pragma_Reference): Handle references appearing + within new aspect. + * sem_prag.ads (Aspect_Specifying_Pragma): New aspect can be + emulated with a pragma. + (Assertion_Expression_Pragma): New aspect has an assertion + expression. + (Pragma_Significant_To_Subprograms): New aspect is significant to + subprograms. + (Analyze_Always_Terminates_In_Decl_Part): Add spec for routine + that analyses new aspect. + (Find_Related_Declaration_Or_Body): Mention new aspect in comment. + * sem_util.adb (Is_Subprogram_Contract_Annotation): New aspect is + a subprogram contract annotation. + * sem_util.ads (Is_Subprogram_Contract_Annotation): Mention new + aspect in comment. + * sinfo.ads (Is_Generic_Contract_Pragma): New pragma is a generic + contract. + (Contract): Explain attaching new pragma to subprogram contract. + * snames.ads-tmpl (Name_Always_Terminates): New name for the new + contract. + (Pragma_Always_Terminates): New pragma identifier. + +2023-06-13 Piotr Trojanek + + * sem_elab.adb (Check_Overriding_Primitive): Prevent Corresponding_Body + to be called with entity of an abstract subprogram. + +2023-06-13 Eric Botcazou + + * sem_ch12.adb (Save_References_In_Identifier): In the case where + the identifier has been turned into a function call by analysis, + call Set_Global_Type on the entity if it is global. + +2023-06-13 Marc Poulhiès + + * sem_aggr.adb (Resolve_Iterated_Component_Association): Call + Preanalyze_And_Resolve instead of Resolve_Aggr_Expr except for + aggregate. + Co-authored-by: Ed Schonberg + +2023-06-13 Eric Botcazou + + * contracts.adb (Contract_Error): New exception. + (Add_Contract_Item): Raise Contract_Error instead of Program_Error. + (Add_Generic_Contract_Pragma): Deal with Contract_Error. + +2023-06-13 Eric Botcazou + + * sem_attr.adb (Eval_Attribute): Add more exceptions to the early + return for a prefix which is a nonfrozen generic actual type. + * sem_ch12.adb (Copy_Generic_Node): Also check private views in the + case of an entity name or operator analyzed as a function call. + (Set_Global_Type): Make it a child of Save_Global_References. + (Save_References_In_Operator): In the case where the operator has + been turned into a function call, call Set_Global_Type on the entity + if it is global. + +2023-06-13 Eric Botcazou + + * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): For a + subprogram body that has no contracts and does not come from source, + make sure that contracts on its corresponding spec are analyzed, if + any, before expanding them. + +2023-06-13 Eric Botcazou + + * gen_il-fields.ads (Opt_Field_Enum): Add No_Finalize_Actions and + remove No_Side_Effect_Removal. + * gen_il-gen-gen_nodes.adb (N_Function_Call): Remove semantic flag + No_Side_Effect_Removal + (N_Assignment_Statement): Add semantic flag No_Finalize_Actions. + * sinfo.ads (No_Ctrl_Actions): Adjust comment. + (No_Finalize_Actions): New flag on assignment statements. + (No_Side_Effect_Removal): Delete. + * exp_aggr.adb (Build_Record_Aggr_Code): Remove obsolete comment and + Ancestor_Is_Expression variable. In the case of an extension, do + not generate a call to Adjust manually, call Set_No_Finalize_Actions + instead. Do not set the tags, replace call to Make_Unsuppress_Block + by Make_Suppress_Block and remove useless assertions. + In the general case, call Initialize_Component. + (Initialize_Controlled_Component): Delete. + (Initialize_Simple_Component): Delete. + (Initialize_Component): Do the low-level processing, but do not + generate a call to Adjust manually, call Set_No_Finalize_Actions. + (Process_Transient_Component): Delete. + (Process_Transient_Component_Completion): Likewise. + * exp_ch5.adb (Expand_Assign_Array): Deal with No_Finalize_Actions. + (Expand_Assign_Array_Loop): Likewise. + (Expand_N_Assignment_Statement): Likewise. + (Make_Tag_Ctrl_Assignment): Likewise. + * exp_util.adb (Remove_Side_Effects): Do not test the + No_Side_Effect_Removal flag. + * sem_prag.adb (Process_Suppress_Unsuppress): Give the warning in + SPARK mode only for pragma Suppress. + * tbuild.ads (Make_Suppress_Block): New declaration. + (Make_Unsuppress_Block): Adjust comment. + * tbuild.adb (Make_Suppress_Block): New procedure. + (Make_Unsuppress_Block): Unsuppress instead of suppressing. + +2023-06-13 Eric Botcazou + + * sem_ch5.adb (Analyze_Assignment): Turn Rhs into a constant and + remove calls to the following subprograms. + (Transform_BIP_Assignment): Delete. + (Should_Transform_BIP_Assignment): Likewise. + +2023-06-13 Piotr Trojanek + + * sem_util.ads (Is_Inherited_Operation_For_Type): Remove spec. + * sem_util.adb (Is_Inherited_Operation_For_Type): Remove body. + +2023-06-13 Eric Botcazou + + * exp_aggr.adb (Build_Record_Aggr_Code): Add new variable Ancestor_Q + to store the result of Unqualify on Ancestor. Remove the dead call + to Generate_Finalization_Actions in the case of another aggregate as + ancestor part. Remove the redundant setting of Assignment_OK. Use + Init_Typ in lieu of Etype (Ancestor) more consistently. + +2023-06-13 Eric Botcazou + + * exp_aggr.adb (Build_Record_Aggr_Code): In the case of an extension + aggregate of a limited type whose ancestor part is an aggregate, do + not skip the final code assigning the tag of the extension. + +2023-06-13 Yannick Moy + + * ghost.adb (Check_Ghost_Context): Allow absence of Ghost_Id + for attribute. Update error message to mention Ghost_Predicate. + (Is_Ghost_Attribute_Reference): New query. + * ghost.ads (Is_Ghost_Attribute_Reference): New query. + * sem_attr.adb (Resolve_Attribute): Check ghost context for ghost + attributes. + +2023-06-13 Daniel King + + * libgnat/s-stoele.ads: Add No_Elaboration_Code_All pragma. + +2023-06-13 Eric Botcazou + + * exp_util.ads (Make_Tag_Assignment_From_Type): Declare. + * exp_util.adb (Make_Tag_Assignment_From_Type): New function. + * exp_aggr.adb (Build_Record_Aggr_Code): Call the above function. + (Initialize_Simple_Component): Likewise. + * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Likewise. + (Build_Record_Init_Proc.Build_Init_Procedure ): Likewise. + (Make_Tag_Assignment): Likewise. Rename local variable and call + Unqualify to go through qualified expressions. + * exp_ch4.adb (Expand_Allocator_Expression): Likewise. + +2023-06-13 Yannick Moy + + * libgnat/a-strsup.ads: Change predicate aspect. + * sem_ch13.adb (Add_Predicate): Fix for first predicate. + +2023-06-13 Eric Botcazou + + * exp_aggr.adb (Initialize_Component): Perform immediate expansion + of the initialization expression if it is a conditional expression + and the component type is controlled. + +2023-06-13 Eric Botcazou + + * exp_aggr.adb (Initialize_Component): New procedure factored out + from the processing of array and record aggregates. + (Initialize_Controlled_Component): Likewise. + (Initialize_Simple_Component): Likewise. + (Build_Array_Aggr_Code.Gen_Assign): Remove In_Loop parameter. + Call Initialize_Component to initialize the component. + (Initialize_Array_Component): Delete. + (Initialize_Ctrl_Array_Component): Likewise. + (Build_Array_Aggr_Code): Adjust calls to Gen_Assign. + (Build_Record_Aggr_Code): Call Initialize_Simple_Component or + Initialize_Component to initialize the component. + (Initialize_Ctrl_Record_Component): Delete. + (Initialize_Record_Component): Likewise. + +2023-06-13 Piotr Trojanek + + * exp_ch11.adb (Expand_N_Raise_Statement): Expansion of raise statements + never happens in GNATprove mode. + +2023-06-13 Piotr Trojanek + + * exp_ch11.adb (Find_Local_Handler): Replace guard against other + constructs appearing in the list of exception handlers with iteration + using First_Non_Pragma/Next_Non_Pragma. + +2023-06-13 Piotr Trojanek + + * exp_ch11.ads (Find_Local_Handler): Fix typo in comment. + * exp_ch11.adb (Find_Local_Handler): Remove redundant check for the + Exception_Handler list being present; use membership test to eliminate + local object LCN; fold nested IF statements. Remove useless ELSIF + condition. + +2023-06-13 Piotr Trojanek + + * sem_util.adb (Check_Function_Writable_Actuals): Tune style; use + subtype name to detect membership test nodes. + +2023-06-13 Piotr Trojanek + + * exp_disp.adb (Make_Disp_Asynchronous_Select_Spec): Use a single call + to New_List. + +2023-06-13 Yannick Moy + + * doc/gnat_rm/implementation_defined_aspects.rst: Document new + aspect. + * doc/gnat_rm/implementation_defined_pragmas.rst: Whitespace. + * aspects.adb (Init_Canonical_Aspect): Set it to Predicate. + * aspects.ads: Set global constants for new aspect. + * einfo.ads: Describe new flag related to new aspect. + * exp_ch6.adb (Can_Fold_Predicate_Call): Do not fold new aspect. + * exp_util.adb (Make_Predicate_Check): Add comment. + * gen_il-fields.ads: Add new flag. + * gen_il-gen-gen_entities.adb: Add new flag. + * ghost.adb (Is_OK_Ghost_Context): Ghost predicate is an OK + ghost context. + (Mark_Ghost_Pragma): Add overloading with ghost mode parameter. + * ghost.ads (Mark_Ghost_Pragma): Add overloading with ghpst mode + parameter. + (Name_To_Ghost_Mode): Make function public. + * sem_aggr.adb: Issue error for violation of valid use. + * sem_case.adb: Issue error for violation of valid use. + * sem_ch13.adb: Adapt for new aspect. + * sem_ch3.adb (Analyze_Full_Type_Declaration): Remove dead code + which was trying to propagate Has_Predicates flag in the wrong + direction (from derived to parent type). + (Analyze_Number_Declaration): Issue error for violation of valid + use. + (Build_Derived_Type): Cleanup inheritance of predicate flags from + parent to derived type. + (Build_Predicate_Function): Only add a predicate check when it + is not ignored as Ghost code. + * sem_ch4.adb (Analyze_Membership_Op): Issue an error for use of + a subtype with a ghost predicate as name in a membership test. + * sem_ch5.adb (Check_Predicate_Use): Issue error for violation of + valid use. + * sem_eval.adb: Adapt code for Dynamic_Predicate to account for + Ghost_Predicate too. + * sem_prag.adb (Analyze_Pragma): Make pragma ghost or not. + * sem_util.adb (Bad_Predicated_Subtype_Use): Adapt to new aspect. + (Inherit_Predicate_Flags): Add inheritance of flag. Add parameter + to apply to derived types. + * sem_util.ads (Inherit_Predicate_Flags): Change signature. + * snames.ads-tmpl: Add new aspect name. + * gnat_rm.texi: Regenerate. + +2023-06-13 Piotr Trojanek + + * exp_ch3.adb (Make_Controlling_Function_Wrappers): Remove early + decoration. + +2023-05-30 Eric Botcazou + + * gcc-interface/trans.cc (get_storage_model_access): Also strip any + type conversion in the node when unwinding the components. + +2023-05-30 Eric Botcazou + + * gcc-interface/trans.cc (node_is_component): Remove parentheses. + (node_is_type_conversion): New predicate. + (get_atomic_access): Use it. + (get_storage_model_access): Likewise and look into the parent to + find a component if it returns true. + (present_in_lhs_or_actual_p): Likewise. + +2023-05-30 Eric Botcazou + + * gcc-interface/trans.cc (Attribute_to_gnu) : Check that + the storage model has Copy_From before instantiating loads for it. + : Likewise. + : Likewise. + (gnat_to_gnu) : Likewise. + : Likewise. + +2023-05-30 Marc Poulhiès + + * gcc-interface/trans.cc (Attribute_to_gnu): Also strip conversion + in case of DECL. + +2023-05-30 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_entity) : Use a + local variable for the GNAT index type. + : Likewise. Call Is_Null_Range on the bounds and + force the zero on TYPE_SIZE and TYPE_SIZE_UNIT if it returns true. + +2023-05-30 Eric Botcazou + + * gcc-interface/trans.cc (gnat_to_gnu) : Test the + precision of the operation rather than that of the result type. + +2023-05-30 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_entity) : Replace + integer_zero_node with null_pointer_node for pointer types. + * gcc-interface/trans.cc (gnat_gimplify_expr) : Likewise. + * gcc-interface/utils.cc (maybe_pad_type): Do not attempt to make a + packable type from a fat pointer type. + * gcc-interface/utils2.cc (build_atomic_load): Use a local variable. + (build_atomic_store): Likewise. + +2023-05-30 Eric Botcazou + + * gcc-interface/misc.cc (internal_error_function): Be prepared for + an input_location set to UNKNOWN_LOCATION. + +2023-05-30 Eric Botcazou + + * gcc-interface/trans.cc (Attribute_to_gnu) : Tweak. + (gnat_to_gnu) : Declare a local variable. + For a target with a storage model, use the Actual_Designated_Subtype + to compute the size if it is present. + +2023-05-30 Eric Botcazou + + * gcc-interface/trans.cc (Call_to_gnu): Remove code implementing the + by-copy semantics for actuals with nonnative storage models. + (gnat_to_gnu) : Remove code instantiating a + temporary for assignments between nonnative storage models. + +2023-05-30 Eric Botcazou + + * gcc-interface/decl.cc (range_cannot_be_superflat): Return true + immediately if Cannot_Be_Superflat is set. + * gcc-interface/misc.cc (gnat_post_options): Do not override the + -Wstringop-overflow setting. + +2023-05-30 Eric Botcazou + + * gcc-interface/Make-lang.in (ADA_CFLAGS): Move up. + (ALL_ADAFLAGS): Add $(NO_PIE_CFLAGS). + (ada/mdll.o): Remove. + (ada/mdll-fil.o): Likewise. + (ada/mdll-utl.o): Likewise. + +2023-05-30 Marc Poulhiès + + * gcc-interface/trans.cc (get_storage_model_access): Don't require + storage model access for dereference used as lvalue or renamings. + +2023-05-30 Eric Botcazou + + * exp_aggr.adb (Build_Array_Aggr_Code): Move the declaration of Typ + to the beginning. + (Initialize_Array_Component): Test the unqualified version of the + expression for the nested array case. + (Initialize_Ctrl_Array_Component): Do not duplicate the expression + here. Do the pattern matching of the unqualified version of it. + (Gen_Assign): Call Unqualify to compute Expr_Q and use Expr_Q in + subsequent pattern matching. + (Initialize_Ctrl_Record_Component): Do the pattern matching of the + unqualified version of the aggregate. + (Build_Record_Aggr_Code): Call Unqualify. + (Convert_Aggr_In_Assignment): Likewise. + (Convert_Aggr_In_Object_Decl): Likewise. + (Component_OK_For_Backend): Likewise. + (Is_Delayed_Aggregate): Likewise. + +2023-05-30 Eric Botcazou + + * exp_aggr.adb (Build_Array_Aggr_Code.Get_Assoc_Expr): Duplicate the + expression here instead of... + (Build_Array_Aggr_Code): ...here. + +2023-05-30 Eric Botcazou + + * freeze.adb (Check_Large_Modular_Array): Fix head comment, use + Standard_Long_Long_Integer_Size directly and generate a reference + just before the raise statement if the Etype of the object is an + itype declared in an open scope. + +2023-05-30 Eric Botcazou + + * exp_ch7.adb (Find_Enclosing_Transient_Scope): Return the index in + the scope table instead of the scope's entity. + (Establish_Transient_Scope): If an enclosing scope already exists, + do not set the Uses_Sec_Stack flag on it if the node to be wrapped + is a return statement which requires secondary stack management. + +2023-05-30 Joel Brobecker + + * Makefile.rtl: Use libgnat/s-tsmona__linux.adb on + aarch64-linux. Link libgnat with -ldl, as the use of + s-tsmona__linux.adb requires it. + +2023-05-30 Piotr Trojanek + + * exp_ch3.adb + (Build_Access_Subprogram_Wrapper_Body): Build wrapper body if requested + by routine that builds wrapper spec. + * sem_ch3.adb + (Analyze_Full_Type_Declaration): Only build wrapper when expander is + active. + (Build_Access_Subprogram_Wrapper): + Remove special-case for GNATprove. + +2023-05-30 Ronan Desplanques + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix minor issues. + * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix minor issues. + * gnat_ugn.texi: Regenerate. + +2023-05-30 Johannes Kliemann + + * libgnat/s-parame.adb: Check that Default_Stack_Size >= + Minimum_Stack_size. + * libgnat/s-parame__rtems.adb: Ditto. + * libgnat/s-parame__vxworks.adb: Check that Default_Stack_Size >= + Minimum_Stack_size and use the proper Minimum_Stack_Size if + Stack_Check_Limits is enabled. + +2023-05-30 Eric Botcazou + + * sem_res.adb (Resolve_Call): Restrict previous change to calls that + return on the same stack as the enclosing function. Tidy up. + +2023-05-30 Eric Botcazou + + * libgnat/a-cidlli.adb (Put_Image): Simplify. + * libgnat/a-coinve.adb (Put_Image): Likewise. + +2023-05-30 Eric Botcazou + + * exp_util.adb (Build_DIC_Procedure_Body.Add_Own_DIC): When inside + a generic unit, preanalyze the expression directly. + (Build_Invariant_Procedure_Body.Add_Own_Invariants): Likewise. + +2023-05-30 Cedric Landet + + * init.c: Replace FIXME by ??? + +2023-05-29 Cedric Landet + + * s-oscons-tmplt.c: move the definition of sigset out of the + HAVE_SOCKETS bloc. + +2023-05-29 Cedric Landet + + * Makefile.rtl: Move g-spogwa$(objext) from GNATRTL_NONTASKING_OBJS + to GNATRTL_SOCKETS_OBJS + +2023-05-29 Eric Botcazou + + * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec in + both cases to copy the spec of the subprogram. + +2023-05-29 Eric Botcazou + + * exp_ch7.adb (Establish_Transient_Scope.Find_Transient_Context): + Bail out for a simple return statement only if the transient scope + and the function both require secondary stack management, or else + if the function is a thunk. + * sem_res.adb (Resolve_Call): Do not create a transient scope when + the call is the expression of a simple return statement. + +2023-05-29 Patrick Bernardi + + * libgnat/a-excach.adb (Call_Chain): Replace + Code_Address_For_AAA/ZZZ functions with AAA/ZZZ'Code_Address. + * libgnat/a-except.adb (Code_Address_For_AAA/ZZZ): Delete. + (AAA/ZZZ): New null procedures. + * libgnat/g-debpoo.adb + (Code_Address_For_Allocate_End): Delete. + (Code_Address_For_Deallocate_End): Delete. + (Code_Address_For_Dereference_End): Delete. + (Allocate): Remove label and use Code_Address attribute to + determine subprogram addresses. + (Dellocate): Likewise. + (Dereference): Likewise. + (Allocate_End): Convert to null procedure. + (Dellocate_End): Likewise. + (Dereference_End): Likewise. + +2023-05-29 Eric Botcazou + + * exp_ch6.adb (Expand_Simple_Function_Return): Call Insert_Actions + consistently when rewriting the expression. + +2023-05-29 Eric Botcazou + + * exp_util.adb (Is_Finalizable_Transient.Is_Indexed_Container): + New predicate to detect a temporary created to hold the result of + a constant indexing on a container. + (Is_Finalizable_Transient.Is_Iterated_Container): Adjust a couple + of obsolete comments. + (Is_Finalizable_Transient): Return False if Is_Indexed_Container + returns True on the object. + +2023-05-29 Eric Botcazou + + * sem_res.adb (Has_Applicable_User_Defined_Literal): Make it clear + that the predicate also checks the node itself. + (Try_User_Defined_Literal): Move current implementation to... + Deal only with literals, named numbers and conditional expressions + whose dependent expressions are literals or named numbers. + (Try_User_Defined_Literal_For_Operator): ...this. Remove multiple + return False statements and put a single one at the end. + (Resolve): Call Try_User_Defined_Literal instead of directly + Has_Applicable_User_Defined_Literal for all nodes. Call + Try_User_Defined_Literal_For_Operator for operator nodes. + +2023-05-29 Piotr Trojanek + + * sem_res.adb (Invoked_With_Different_Arguments): Use Get_Called_Entity, + which properly deals with calls via an access-to-subprogram; fix + inconsistent use of a Call object declared in enclosing subprogram. + +2023-05-29 Piotr Trojanek + + * contracts.adb + (Add_Pre_Post_Condition): Attach pre/post aspects to E_Subprogram_Type + entity. + (Analyze_Entry_Or_Subprogram_Contract): Adapt to use full type + declaration for a contract attached to E_Subprogram_Type entity. + * sem_prag.adb + (Analyze_Pre_Post_Condition): Add pre/post aspects to the designed type. + +2023-05-29 Piotr Trojanek + + * sem_util.adb (Check_Function_Writable_Actuals): Remove guard against + a membership test with no alternatives; simplify with a membership test. + +2023-05-29 Piotr Trojanek + + * doc/gnat_ugn/gnat_and_program_execution.rst + (Some Useful Memory Pools): Remove extra whitespace from examples. + * sem_aggr.adb (Make_String_Into_Aggregate): Remove extra whitespace. + * gnat_ugn.texi: Regenerate. + +2023-05-29 Piotr Trojanek + + * exp_aggr.adb (Convert_Aggr_In_Allocator): Replace Get_TSS_Name + with a high-level Is_TSS. + * sem_ch6.adb (Check_Conformance): Replace DECLARE block and + nested IF with a call to Get_TSS_Name and a membership test. + (Has_Reliable_Extra_Formals): Refactor repeated calls to + Get_TSS_Name. + * sem_disp.adb (Check_Dispatching_Operation): Replace repeated + calls to Get_TSS_Name with a membership test. + +2023-05-29 Eric Botcazou + + * exp_ch5.adb (Expand_N_Case_Statement): Do not remove the statement + if it is the node to be wrapped by a transient scope. + +2023-05-29 Eric Botcazou + + * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Do not defer + anything to the back-end when the main unit is generic. + +2023-05-29 Eric Botcazou + + * sem_res.adb (Try_User_Defined_Literal): Restrict previous change + to non-leaf nodes. + +2023-05-29 Eric Botcazou + + * sem_res.adb (Try_User_Defined_Literal): For arithmetic operators, + also accept operands whose type is covered by the resolution type. + +2023-05-29 Eric Botcazou + + * exp_aggr.adb (Initialize_Array_Component): Fix condition detecting + the nested case that requires an adjustment. + +2023-05-29 Eric Botcazou + + * exp_ch4.adb (Expand_N_In): Deal specifically with a null operand. + +2023-05-29 Eric Botcazou + + * exp_ch6.adb (Expand_Simple_Function_Return): Deal with a rewriting + of the simple return during the adjustment of its expression. + +2023-05-29 Eric Botcazou + + * exp_ch4.adb (Expand_N_Case_Expression): Distribute simple return + statements enclosing the conditional expression into the dependent + expressions in almost all cases. + (Expand_N_If_Expression): Likewise. + (Process_Transient_In_Expression): Adjust to the above distribution. + * exp_ch6.adb (Expand_Ctrl_Function_Call): Deal with calls in the + dependent expressions of a conditional expression. + * sem_ch6.adb (Analyze_Function_Return): Deal with the rewriting of + a simple return statement during the resolution of its expression. + +2023-05-29 Piotr Trojanek + + * sem_res.adb (Resolve_Entity_Name): Refine rules for Exceptional_Cases. + +2023-05-29 Marc Poulhiès + + * exp_aggr.adb (Convert_To_Assignments): Do not mark node for + delayed expansion if parent type has the Aggregate aspect. + * sem_util.adb (Is_Container_Aggregate): Move... + * sem_util.ads (Is_Container_Aggregate): ... here and make it + public. + +2023-05-29 Piotr Trojanek + + * sem_res.adb (Resolve_Entity_Name): Relax rules for Exceptional_Cases. + +2023-05-29 Eric Botcazou + + * sem_ch4.ads (Unresolved_Operator): New procedure. + * sem_ch4.adb (Has_Possible_Literal_Aspects): Rename into... + (Has_Possible_User_Defined_Literal): ...this. Tidy up. + (Operator_Check): Accept again unresolved operators if they have a + possible user-defined literal as operand. Factor out the handling + of the general error message into... + (Unresolved_Operator): ...this new procedure. + * sem_res.adb (Resolve): Be prepared for unresolved operators on + entry in Ada 2022 or later. If they are still unresolved on exit, + call Unresolved_Operator to give the error message. + (Try_User_Defined_Literal): Tidy up. + +2023-05-29 Steve Baird + + * exp_ch3.adb + (Expand_N_Object_Declaration.Default_Initialize_Object): Add test for + specified Default_Component_Value aspect when deciding whether + either Initialize_Scalars or Normalize_Scalars impacts default + initialization of an array object. + +2023-05-29 Javier Miranda + + * sem_aggr.adb + (Resolve_Record_Aggregate): For aggregates of derived tagged + record types with discriminants, when collecting components + from ancestors, pass to subprogram Gather_Components the + parent type. Required to report errors on wrong aggregate + components. + +2023-05-29 Piotr Trojanek + + * sem_util.adb (Check_Result_And_Post_State): Replace low-level + navigation with a high-level Unique_Entity. + +2023-05-29 Piotr Trojanek + + * sem_util.adb (Check_Result_And_Post_State): Properly handle entry + bodies. + +2023-05-29 Piotr Trojanek + + * contracts.adb (Fix_Parent): Fir part both for lists and nodes. + +2023-05-29 Arnaud Charlet + + * sem_ch7.adb: Refine handling of inlining for CCG + +2023-05-29 Eric Botcazou + + * sem_ch12.adb (Copy_Generic_Node): Test the original node kind + for the sake of consistency. For identifiers and other entity + names and operators, accept an expanded name as associated node. + Replace "or" with "or else" in condtion and fix its formatting. + +2023-05-29 Piotr Trojanek + + * sem_util.adb (Check_Result_And_Post_State): Tune message. + +2023-05-29 Piotr Trojanek + + * contracts.adb (Remove_Formals): Remove. + (Preanalyze_Condition): Replace Pop_Scope with End_Scope. + * sem_ch13.adb (Build_Discrete_Static_Predicate): Replace + Pop_Scope with End_Scope; enclose Install_Formals within + Push_Scope/End_Scope. + +2023-05-29 Piotr Trojanek + + * sem_prag.adb (Analyze_Pre_Post_Condition): Tune error message. + +2023-05-29 Javier Miranda + + * scans.ads (Inside_Interpolated_String_Expression): New variable. + * par-ch2.adb (P_Interpolated_String_Literal): Set/clear new + variable when parsing interpolated string expressions. + * scng.adb (Set_String): Skip processing operator symbols when we + arescanning an interpolated string literal. + +2023-05-29 Johannes Kliemann + + * Makefile.rtl (QNX): Use s-parame__qnx.adb for s-parame.adb. + * libgnat/s-parame__qnx.adb: Add QNX specific version of + System.Parameters. + +2023-05-29 Yannick Moy + + * libgnat/a-ngelfu.ads: Restore SPARK_Mode from context. + +2023-05-29 Marc Poulhiès + + * contracts.adb (Restore_Original_Selected_Component): Adjust assertion. + +2023-05-29 Piotr Trojanek + + * contracts.adb + (Add_Pre_Post_Condition): Adapt to handle pre/post of an + access-to-subprogram type. + (Analyze_Type_Contract): Analyze pre/post of an + access-to-subprogram. + * contracts.ads + (Analyze_Type_Contract): Adapt comment. + * sem_ch3.adb + (Build_Access_Subprogram_Wrapper): Copy pre/post aspects to + wrapper spec and keep it on the type. + * sem_prag.adb + (Analyze_Pre_Post_Condition): Expect pre/post aspects on + access-to-subprogram and complain if they appear without -gnat2022 + switch. + (Analyze_Pre_Post_Condition_In_Decl_Part): Adapt to handle + pre/post on an access-to-subprogram type entity. + * sem_attr.adb (Analyze_Attribute_Old_Result): Likewise. + (Result): Likewise. + +2023-05-26 Bob Duff + + * sem_ch3.adb + (Build_Derived_Record_Type): Temporarily set the state of the + Derived_Type to "self-hidden" while processing constraints + and discriminants of a record extension. + +2023-05-26 Bob Duff + + * einfo.ads: Add comma. + * contracts.adb: Fix typos. + * exp_attr.adb: Likewise. + * exp_ch5.adb: Likewise. + * exp_ch6.adb: Likewise. + * lib-xref.adb: Likewise. + +2023-05-26 Eric Botcazou + + * debug.adb (d.N): Document new usage. + * exp_ch4.adb (Expand_N_Type_Conversion): Copy the Float_Truncate + flag when rewriting a floating-point to fixed-point conversion as + a floating-point to integer conversion. + * exp_fixd.adb: Add with and use clauses for Debug. + (Expand_Convert_Fixed_To_Fixed): Generate a truncation in all cases + except if the result is explicitly rounded. + (Expand_Convert_Integer_To_Fixed): Likewise. + (Expand_Convert_Float_To_Fixed): Generate a truncation for all kind + of fixed-point types, except if the result is explicitly rounded, or + -gnatd.N is specified and the type is an ordinary fixed-point type. + * sinfo.ads (Float_Truncate): Document usage for floating-point to + fixed-point conversions. + +2023-05-26 Javier Miranda + + * exp_ch4.adb + (Expand_N_Allocator): If an allocator with constraints is called + in the return statement of a function returning a general access + type, then propagate to the itype the master of the general + access type (since it is the master associated with the + returned object). + +2023-05-26 Yannick Moy + + * sem_aggr.adb (Resolve_Record_Aggregate): Add dummy initialization and + assertion that clarifies when we reassigned to a useful value. + +2023-05-26 Yannick Moy + + * doc/gnat_rm/gnat_language_extensions.rst: Be more explicit on + pattern matching limitation. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2023-05-26 Yannick Moy + + * libgnat/a-calend.ads: Mark with SPARK_Mode=>Off the functions which may + raise Time_Error. + * libgnat/a-ngelfu.ads: Mark with SPARK_Mode=>Off the functions which may + lead to an overflow (which is not the case of Tan with one parameter for + example, or Arctanh or Arcoth, despite their mathematical range covering + the reals). + * libgnat/a-textio.ads: Remove Always_Return annotation from functions, as + this is now compulsory for functions to always return in SPARK. + * libgnat/i-cstrin.ads: Add Might_Not_Return annotation to Update procedure + which may not return. + +2023-05-26 Bob Duff + + * exp_put_image.adb (Build_Image_Call): Treat 'Img the same as + 'Image. + * exp_imgv.adb (Expand_Image_Attribute): If Discard_Names, expand + to 'Image instead of 'Img. + * snames.ads-tmpl, par-ch4.adb, sem_attr.adb, sem_attr.ads: + Cleanups: Rename Attribute_Class_Array to be Attribute_Set. Remove + unnecessary qualifications. DRY: Don't repeat "True". + +2023-05-26 Piotr Trojanek + + * sem_prag.adb (Record_Possible_Body_Reference): Remove call to Present. + * sem_util.adb (Find_Untagged_Type_Of): Likewise. + +2023-05-26 Eric Botcazou + + * exp_aggr.adb (Initialize_Array_Component): Remove obsolete code. + (Expand_Array_Aggregate): In the case where a temporary is created + and the parent is an assignment statement with No_Ctrl_Actions set, + set Is_Ignored_Transient on the temporary. + +2023-05-26 Eric Botcazou + + * sem_ch12.adb (Instantiate_Package_Body): Set the ghost mode to + that of the instance only after loading the generic's parent. + (Instantiate_Subprogram_Body): Likewise. + +2023-05-26 Piotr Trojanek + + * exp_ch4.adb (Expand_Set_Membership): Simplify by using Evolve_Or_Else. + +2023-05-26 Piotr Trojanek + + * exp_ch4.adb (Is_OK_Object_Reference): Replace loop with a call to + Unqual_Conv; consequently, change object from variable to constant; + replace an IF statement with an AND THEN expression. + +2023-05-26 Piotr Trojanek + + * exp_ch9.adb + (Build_Entry_Count_Expression): Remove loop over component declaration; + consequently remove a parameter that is no longer used; adapt callers. + (Make_Task_Create_Call): Refine type of a local variable. + +2023-05-26 Piotr Trojanek + + * sem_cat.adb (Check_Non_Static_Default_Expr): Detect components inside + loop, not in the loop condition itself. + +2023-05-26 Eric Botcazou + + * libgnat/a-cbdlli.ads (List): Move Nodes component to the end. + +2023-05-26 Eric Botcazou + + * libgnat/a-crdlli.ads (List): Move Nodes component to the end. + +2023-05-26 Eric Botcazou + + * sem_attr.adb (Is_Thin_Pointer_To_Unc_Array): New predicate. + (Resolve_Attribute): Apply the static matching legality rule to an + Unrestricted_Access attribute applied to an aliased prefix if the + type is a thin pointer. Call Is_Thin_Pointer_To_Unc_Array for the + aliasing legality rule as well. + +2023-05-26 Piotr Trojanek + + * sem_util.adb (Is_Null_Record_Definition): Use First_Non_Pragma and + Next_Non_Pragma to ignore pragmas within component list. + +2023-05-26 Piotr Trojanek + + * sem_prag.adb (Get_Argument): Improve detection of generic units. + +2023-05-26 Piotr Trojanek + + * sem_ch4.adb (Check_Action_OK): Replace low-level test with a + high-level routine. + * sem_ch13.adb (Is_Predicate_Static): Likewise. + +2023-05-26 Javier Miranda + + * exp_ch9.adb + (Expand_N_Conditional_Entry_Call): Factorize code to avoid + duplicating subtrees; required to avoid problems when the copied + code has implicit labels. + * sem_util.ads (New_Copy_Separate_List): Removed. + (New_Copy_Separate_Tree): Removed. + * sem_util.adb (New_Copy_Separate_List): Removed. + (New_Copy_Separate_Tree): Removed. + +2023-05-26 Piotr Trojanek + + * sem_ch13.adb (Check_Component_List): Local variable Compl is now + a constant; a nested block is no longer needed. + +2023-05-26 Piotr Trojanek + + * sem_aggr.adb + (Resolve_Record_Aggregate): Remove useless assignment. + * sem_aux.adb + (Has_Variant_Part): Remove useless guard; this routine is only called + on type entities (and now will crash in other cases). + * sem_ch3.adb + (Create_Constrained_Components): Only assign Assoc_List when necessary; + tune whitespace. + (Is_Variant_Record): Refactor repeated calls to Parent. + * sem_util.adb + (Gather_Components): Assert that discriminant association has just one + choice in component_association; refactor repeated calls to Next. + * sem_util.ads + (Gather_Components): Tune whitespace in comment. + +2023-05-26 Piotr Trojanek + + * sem_ch3.adb (Check_CPP_Type_Has_No_Defaults): Iterate with + First_Non_Pragma and Next_Non_Pragma. + * exp_dist.adb (Append_Record_Traversal): Likewise. + +2023-05-26 Javier Miranda + + * exp_ch9.adb (Build_Class_Wide_Master): Remember internal blocks + that have a task master entity declaration. + (Build_Master_Entity): Code cleanup. + * sem_util.ads (Is_Internal_Block): New subprogram. + * sem_util.adb (Is_Internal_Block): New subprogram. + +2023-05-26 Piotr Trojanek + + * sem_util.adb (Gather_Components): Remove guard for empty list of + components. + +2023-05-26 Eric Botcazou + + * back_end.adb (Call_Back_End): Add gigi_standard_address to the + signature of the gigi procedure and alphabetize other parameters. + Pass Standard_Address as actual parameter for it. + * cstand.adb (Create_Standard): Do not set Is_Descendant_Of_Address + on Standard_Address. + * gcc-interface/gigi.h (gigi): Add a standard_address parameter and + alphabetize others. + * gcc-interface/trans.cc (gigi): Likewise. Record a builtin address + type and save it as the type for Standard.Address. + +2023-05-26 Ghjuvan Lacambre + + * exp_disp.adb (Expand_Dispatching_Call): Handle new Controlling_Tag. + * sem_scil.adb (Check_SCIL_Node): Treat N_Object_Renaming_Declaration as + N_Object_Declaration. + +2023-05-26 Piotr Trojanek + + * exp_aggr.adb + (Build_Constrained_Type): Remove local constants that were shadowing + equivalent global constants; replace a wrapper that calls + Make_Integer_Literal with a numeric literal; remove explicit + Aliased_Present parameter which is equivalent to the default value. + (Check_Bounds): Remove unused initial value. + (Expand_Array_Aggregate): Use aggregate type from the context. + +2023-05-26 Eric Botcazou + + * einfo.ads (Delay_Cleanups): Document new usage. + * exp_ch7.ads (Build_Finalizer): New declaration. + * exp_ch7.adb (Build_Finalizer.Process_Declarations): Do not treat + library-level package instantiations specially. + (Build_Finalizer): Return early for package bodies and specs that + are not compilation units instead of using a more convoluted test. + (Expand_N_Package_Body): Do not build a finalizer if Delay_Cleanups + is set on the defining entity. + (Expand_N_Package_Declaration): Likewise. + * inline.ads (Pending_Body_Info): Reorder and add Fin_Scop. + (Add_Pending_Instantiation): Add Fin_Scop parameter. + * inline.adb (Add_Pending_Instantiation): Likewise and copy it into + the Pending_Body_Info appended to Pending_Instantiations. + (Add_Scope_To_Clean): Change parameter name to Scop and remove now + irrelevant processing. + (Cleanup_Scopes): Deal with scopes that are package specs or bodies. + (Instantiate_Body): For package instantiations, deal specially with + scopes that are package bodies and with scopes that are dynamic. + Pass the resulting scope to Add_Scope_To_Clean directly. + * sem_ch12.adb (Analyze_Package_Instantiation): In the case where a + body is needed, compute the enclosing finalization scope and pass it + in the call to Add_Pending_Instantiation. + (Inline_Instance_Body): Adjust aggregate passed in the calls to + Instantiate_Package_Body. + (Load_Parent_Of_Generic): Likewise. + +2023-05-26 Eric Botcazou + + * sem_util.adb (Compile_Time_Constraint_Error): Test the Ekind. + +2023-05-26 Piotr Trojanek + + * exp_aggr.adb (Build_Constrained_Type): Use List_Length to count + expressions in consecutive subaggregates. + +2023-05-26 Doug Rupp + + * libgnarl/s-osinte__qnx.ads (sigset_t): Modify + declaration to use system.os_constants computed + value. Align it. + +2023-05-26 Eric Botcazou + + * exp_sel.adb: Add clauses for Sem_Util, remove them for Opt, Sinfo + and Sinfo.Nodes. + (Build_K): Always use 'Tag of the object. + (Build_S_Assignment): Likewise. + +2023-05-26 Piotr Trojanek + + * accessibility.adb + (Is_Formal_Of_Current_Function): This routine expects an entity + reference and not the entity itself, so its parameter is a Node_Id + and not an Entity_Id. + +2023-05-26 Piotr Trojanek + + * exp_aggr.adb + (Build_Array_Aggr_Code): Change variable to constant. + (Check_Same_Aggr_Bounds): Fix style; remove unused initial value. + +2023-05-26 Ronan Desplanques + + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Create extra formals + in more situations. + +2023-05-26 Eric Botcazou + + * checks.adb (Selected_Range_Checks): Add guards to protect calls + to Expr_Value on bounds. + +2023-05-26 Eric Botcazou + + * sem_eval.ads (Is_Null_Range): Remove requirements of compile-time + known bounds and add WARNING line. + (Not_Null_Range): Remove requirements of compile-time known bounds. + * sem_eval.adb (Is_Null_Range): Fall back to Compile_Time_Compare. + (Not_Null_Range): Likewise. + * fe.h (Is_Null_Range): New predicate. + +2023-05-25 Javier Miranda + + * sem_aggr.adb + (Warn_On_Null_Component_Association): New subprogram. + (Empty_Range): Adding missing support for iterated component + association node. + (Resolve_Array_Aggregate): Report warning on iterated component + association that may initialize some component of an array of + null-excluding access type components with a null value. + * exp_ch4.adb + (Expand_N_Expression_With_Actions): Add missing type check since + the subtype of the EWA node and the subtype of the expression + may differ. + +2023-05-25 Piotr Trojanek + + * sem_util.adb (Determining_Expressions): Fix style; fix layout and + ordering of pragma names; expect pragma Exceptional_Cases. + +2023-05-25 Piotr Trojanek + + * einfo-utils.adb (Write_Entity_Info): Use procedural Next_Index. + * sem_aggr.adb (Collect_Aggr_Bounds): Reuse local constant. + (Resolve_Null_Array_Aggregate): Use procedural Next_Index. + +2023-05-25 Javier Miranda + + * exp_aggr.adb (Build_Record_Aggr_Code): Protect access to + aggregate components when the aggregate is empty. + +2023-05-25 Johannes Kliemann + + * libgnat/system-vxworks7-ppc-kernel.ads: Enable + Support_Atomic_Primitives. + * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise. + +2023-05-25 Eric Botcazou + + * sem_ch3.adb (Find_Type_Of_Object): Copy the object definition when + building the subtype declaration in the case of a spec expression. + +2023-05-25 Tom Tromey + + * Make-generated.in (ada/stamp-snames): Check result of + gnatmake. + +2023-05-25 Eric Botcazou + + * cstand.adb (Create_Standard): Set the Is_Descendant_Of_Address + flag on Standard_Address. + * freeze.adb (Freeze_Entity): Copy the modulus of System.Address + onto Standard_Address. + +2023-05-25 Eric Botcazou + + * libgnat/system-aix.ads (Address): Likewise. + * libgnat/system-darwin-arm.ads (Address): Likewise. + * libgnat/system-darwin-ppc.ads (Address): Likewise. + * libgnat/system-darwin-x86.ads (Address): Likewise. + * libgnat/system-djgpp.ads (Address): Likewise. + * libgnat/system-dragonfly-x86_64.ads (Address): Likewise. + * libgnat/system-freebsd.ads (Address): Likewise. + * libgnat/system-hpux-ia64.ads (Address): Likewise. + * libgnat/system-hpux.ads (Address): Likewise. + * libgnat/system-linux-alpha.ads (Address): Likewise. + * libgnat/system-linux-arm.ads (Address): Likewise. + * libgnat/system-linux-hppa.ads (Address): Likewise. + * libgnat/system-linux-ia64.ads (Address): Likewise. + * libgnat/system-linux-m68k.ads (Address): Likewise. + * libgnat/system-linux-mips.ads (Address): Likewise. + * libgnat/system-linux-ppc.ads (Address): Likewise. + * libgnat/system-linux-riscv.ads (Address): Likewise. + * libgnat/system-linux-s390.ads (Address): Likewise. + * libgnat/system-linux-sh4.ads (Address): Likewise. + * libgnat/system-linux-sparc.ads (Address): Likewise. + * libgnat/system-linux-x86.ads (Address): Likewise. + * libgnat/system-lynxos178-ppc.ads (Address): Likewise. + * libgnat/system-lynxos178-x86.ads (Address): Likewise. + * libgnat/system-mingw.ads (Address): Likewise. + * libgnat/system-qnx-arm.ads (Address): Likewise. + * libgnat/system-rtems.ads (Address): Likewise. + * libgnat/system-solaris-sparc.ads (Address): Likewise. + * libgnat/system-solaris-x86.ads (Address): Likewise. + * libgnat/system-vxworks-ppc-kernel.ads (Address): Likewise. + * libgnat/system-vxworks-ppc-rtp-smp.ads (Address): Likewise. + * libgnat/system-vxworks-ppc-rtp.ads (Address): Likewise. + * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Address): Likewise. + * libgnat/system-vxworks7-aarch64.ads (Address): Likewise. + * libgnat/system-vxworks7-arm-rtp-smp.ads (Address): Likewise. + * libgnat/system-vxworks7-arm.ads (Address): Likewise. + * libgnat/system-vxworks7-ppc-kernel.ads (Address): Likewise. + * libgnat/system-vxworks7-ppc-rtp-smp.ads (Address): Likewise. + * libgnat/system-vxworks7-ppc64-kernel.ads (Address): Likewise. + * libgnat/system-vxworks7-ppc64-rtp-smp.ads (Address): Likewise. + * libgnat/system-vxworks7-x86-kernel.ads (Address): Likewise. + * libgnat/system-vxworks7-x86-rtp-smp.ads (Address): Likewise. + * libgnat/system-vxworks7-x86_64-kernel.ads (Address): Likewise. + * libgnat/system-vxworks7-x86_64-rtp-smp.ads (Address): Likewise. + +2023-05-25 Marc Poulhiès + + * sem_ch13.adb (Check_Aspect_At_Freeze_Point): fix format string, + use existing local Ident. + +2023-05-25 Bob Duff + + * atree.adb (Check_Vanishing_Fields): Fix bug in the "blah type + only" cases. Remove the special cases for E_Void. Misc cleanup. + (Mutate_Nkind): Disallow mutating to the same kind. + (Mutate_Ekind): Disallow mutating to E_Void. + (From E_Void is still OK -- entities start out as E_Void by + default.) Fix bug in statistics gathering -- was setting the wrong + count. Enable Check_Vanishing_Fields for entities. + * sem_ch8.adb (Is_Self_Hidden): New function. + (Find_Direct_Name): Call Is_Self_Hidden to use the new + Is_Not_Self_Hidden flag to determine whether a declaration is + hidden from all visibility by itself. This replaces the old method + of checking E_Void. + (Find_Expanded_Name): Likewise. + (Find_Selected_Component): Likewise. + * sem_util.adb (Enter_Name): Remove setting of Ekind to E_Void. + * sem_ch3.adb: Set the Is_Not_Self_Hidden flag in appropriate + places. Comment fixes. + (Inherit_Component): Remove setting of Ekind to E_Void. + * sem_ch9.adb + (Analyze_Protected_Type_Declaration): Update comment. Skip Itypes, + which should not be turned into components. + * atree.ads (Mutate_Nkind): Document error case. + (Mutate_Ekind): Remove comments apologizing for E_Void mutations. + Document error cases. + +2023-05-25 Eric Botcazou + + * libgnat/a-ststio.adb (Set_Mode): Test System.Memory_Size. + * libgnat/g-debuti.ads (Address_64): Likewise. + * libgnat/i-c.ads: Add with clause for System. + (ptrdiff_t): Define based on the size of memory space. + (size_t): Likewise. + * libgnat/s-crtl.ads (size_t): Likewise. + (ssize_t): Likewise. + * libgnat/s-memory.ads (size_t): Likewise. + * libgnat/s-parame.ads (Size_Type): Likewise. + * libgnat/s-parame__hpux.ads (Size_Type): Likewise. + * libgnat/s-parame__posix2008.ads (Size_Type): Likewise. + * libgnat/s-parame__vxworks.ads (Size_Type): Likewise. + * libgnat/s-putima.adb (Signed_Address): Likewise. + (Unsigned_Address): Likewise. + * libgnat/s-stoele.ads (Storage_Offset): Likewise. + +2023-05-25 Piotr Trojanek + + * sem_util.adb (Visit_Node): Decrement EWA_Level with the same condition + as when it was incremented. + +2023-05-25 Piotr Trojanek + + * sem_util.ads (New_Copy_Tree): Remove Scopes_In_EWA_OK from spec; + adapt comment. + * sem_util.adb (New_Copy_Tree): Remove Scopes_In_EWA_OK from body; + adapt code. + +2023-05-25 Piotr Trojanek + + * sem_util.adb (Update_New_Entities): Remove redundant check for entity + map being present. + +2023-05-25 Piotr Trojanek + + * atree.adb (Copy_List): Call Copy_Separate_Tree for both entities and + other nodes. + +2023-05-25 Steve Baird + + * exp_attr.adb + (Cached_Streaming_Ops): A new package, providing maps to save + previously-generated Read/Write/Input/Output procedures. + (Expand_N_Attribute_Reference): When a new subprogram is generated + for a Read/Write/Input/Output attribute reference, record that + type/subp pair in the appropriate Cached_Streaming_Ops map. + (Find_Stream_Subprogram): Check the appropriate + Cached_Streaming_Ops map to see if an appropriate subprogram has + already been generated. If so, then return it. The appropriateness + test includes a call to a new nested subprogram, + In_Available_Context. + * exp_strm.ads, exp_strm.adb: Do not pass in a Loc parameter (or a + source-location-bearing Nod parameter) to the 16 procedures + provided for building streaming-related subprograms. Use the + source location of the type instead. + * exp_dist.adb, exp_ch3.adb: Adapt to Exp_Strm spec changes. For + these calls the source location of the type was already being + used. + +2023-05-25 Marc Poulhiès + + * sem_ch6.adb (Analyze_Function_Return): Add missing + Is_Access_Type check before accessing the Designated_Type field. + +2023-05-25 Piotr Trojanek + + * sem_ch6.adb (Analyze_Return_Type): Remove unused initial value. + +2023-05-25 Marc Poulhiès + + * sem_ch13.adb (Analyze_One_Aspect): Call Record_Rep_Item. + (Check_Aspect_At_Freeze_Point): Check the aspect is specified on + non-array type only... + (Analyze_One_Aspect): ... instead of doing it too early here. + * sem_aggr.adb (Resolve_Container_Aggregate): Do nothing in case + the parameters failed to resolve. + +2023-05-25 Piotr Trojanek + + * sem_util.adb (Check_Internal_Protected_Use): Add standard protection + against search going too far. + +2023-05-25 Piotr Trojanek + + * contracts.adb + (Add_Pre_Post_Condition): Mention new aspects in the comment. + * contracts.ads + (Add_Contract_Item): Likewise. + (Analyze_Subprogram_Body_Stub_Contract): Likewise. + * sem_prag.adb + (Contract_Freeze_Error): Likewise. + (Ensure_Aggregate_Form): Likewise. + * sem_prag.ads + (Find_Related_Declaration_Or_Body): Likewise. + * sinfo.ads + (Is_Generic_Contract_Pragma): Likewise. + +2023-05-25 Piotr Trojanek + + * aspects.ads + (Implementation_Defined_Aspect): Recently added aspects are + implementation-defined, just like Contract_Cases. + * sem_prag.ads + (Aspect_Specifying_Pragma): Recently added aspects have corresponding + pragmas, just like Contract_Cases. + (Pragma_Significant_To_Subprograms): Recently added aspects are + significant to subprograms, just like Contract_Cases. + +2023-05-25 Piotr Trojanek + + * sem_res.adb (Resolve_Entity_Name): Tune handling of formal parameters + in contract Exceptional_Cases. + +2023-05-25 Piotr Trojanek + + * par-ch7.adb (P_Package): Remove redundant guard from call to + Move_Aspects. + * par-ch9.adb (P_Task): Likewise. + * sem_ch6.adb (Analyze_Expression_Function, Is_Inline_Pragma): Likewise. + +2023-05-25 Eric Botcazou + + * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Use Get_Actual_Subtype + to retrieve the actual subtype for all actuals and do it in only one + place for all unconstrained composite formal types. + +2023-05-25 Piotr Trojanek + + * sem_prag.adb (Analyze_Pragma): Fix references to Exceptional_Cases in + code copied from handling of Subprogram_Variant. + +2023-05-25 Ronan Desplanques + + * sem_ch3.adb (Replace_Type): Add more documentation. + +2023-05-25 Ronan Desplanques + + * sem_ch3.adb (Replace_Type): Use existing constant wherever + possible. + +2023-05-25 Ronan Desplanques + + * sem_ch3.adb (Replace_Type): Reduce span of variable. + +2023-05-25 Bob Duff + + * sem_ch9.adb (Analyze_Protected_Type_Declaration): Set the flag + for protected types. + (Analyze_Single_Protected_Declaration): Likewise, for singleton + protected objects. + (Analyze_Task_Type_Declaration): Set the flag for task types. + (Analyze_Single_Task_Declaration): Likewise, for singleton task + objects. + * sem_ch10.adb (Decorate_Type): Set the flag for types treated as + incomplete. + (Build_Shadow_Entity): Set the flag for shadow entities. + (Decorate_State): Set the flag for an abstract state. + (Build_Limited_Views): Set the flag for limited view of package. + * sem_attr.adb (Check_Not_Incomplete_Type): Disable the check when + this is a current instance. + +2023-05-25 Ronan Desplanques + + * freeze.adb (Build_DTW_Body): Add appropriate type conversions for + controlling access parameters. + * sem_util.adb (Build_Overriding_Spec): Fix designated types in + controlling access parameters. + +2023-05-25 Bob Duff + + * gen_il-gen-gen_entities.adb (E_Label): Add + Entry_Cancel_Parameter. This is necessary because + Analyze_Implicit_Label_Declaration set the Ekind to E_Label. + Without this change, this field would fail the vanishing-fields + check in Atree (which is currently commented out). + * einfo.ads (Entry_Cancel_Parameter): Document for E_Label. + * sem_eval.adb (Why_Not_Static): Protect against previous errors + (no need to explain why something is not static if it's already + illegal for other reasons). + * sem_util.ads (Enter_Name): Fix misleading comment. + +2023-05-25 Eric Botcazou + + * einfo.ads (Scope_Depth): Fix circular definition. + (Scope_Depth_Value): Fix value for library units. + +2023-05-25 Piotr Trojanek + + * sem_ch11.adb (Analyze_Raise_Expression): Tune warning condition. + * libgnat/g-dirope.ads (Open): Remove a potentially inaccurate comment. + * libgnat/g-dirope.adb (Open): Remove a potentially useless assignment; + the Dir output parameter should be assigned a null value anyway by the + preceding call to Free. + +2023-05-25 Piotr Trojanek + + * sem_res.adb (Resolve_Entity_Name): Allow aliased parameters; tune + error message. + +2023-05-25 Marc Poulhiès + + * sem_ch13.adb (Analyze_One_Aspect): Mark Aggregate aspect as + needing delayed resolution and reject the aspect on non-array + type. + +2023-05-25 Bob Duff + + * sinfo-utils.adb: Update comment to refer to + New_Node_Debugging_Output. + +2023-05-25 Marc Poulhiès + + * rtsfind.adb (Load_RTU.Restore_SPARK_Context): New. + (Load_RTU): Use Restore_SPARK_Context on all exit paths. + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Initialize local + variable to Empty. + +2023-05-25 Piotr Trojanek + + * sem_attr.adb + (Analyze_Attribute_Old_Result): Allow uses of 'Old and 'Result within + the new aspect. + * sem_res.adb + (Within_Exceptional_Cases_Consequence): New utility routine. + (Resolve_Entity_Name): Restrict use of formal parameters within the + new aspect. + +2023-05-23 Piotr Trojanek + + * aspects.ads + (Aspect_Id): Add aspect identifier. + (Aspect_Argument): New aspect accepts an expression. + (Is_Representation_Aspect): New aspect is not a representation + aspect. + (Aspect_Names): Associate name with the new aspect identifier. + (Aspect_Delay): New aspect is never delayed. + * contracts.adb + (Add_Contract_Item): Store new aspect among contract items. + (Analyze_Entry_Or_Subprogram_Contract): Likewise. + (Analyze_Subprogram_Body_Stub_Contract): Likewise. + (Process_Contract_Cases): Expand new aspect, if present. + * contracts.ads + (Analyze_Entry_Or_Subprogram_Body_Contract): Mention new aspect in + spec. + (Analyze_Entry_Or_Subprogram_Contract): Likewise. + * einfo-utils.adb + (Get_Pragma): Allow new aspect to be picked by the backend. + * einfo-utils.ads + (Get_Pragma): Mention new aspect in spec. + * exp_prag.adb + (Expand_Pragma_Exceptional_Cases): Dummy expansion routine. + * exp_prag.ads + (Expand_Pragma_Exceptional_Cases): Add spec for expansion routine. + * inline.adb + (Remove_Aspects_And_Pragmas): Remove aspect from bodies to inline. + * par-prag.adb + (Par.Prag): Accept pragma in the parser, so it will be checked + later. + * sem_ch12.adb + (Implementation of Generic Contracts): Mention new aspect in + comment. + * sem_ch13.adb + (Analyze_Aspect_Specifications): Transform new aspect info a + corresponding pragma. + * sem_prag.adb + (Analyze_Exceptional_Cases_In_Decl_Part): Analyze aspect + expression; heavily inspired by the existing code for analysis of + Subprogram_Variant and exception handlers. + (Analyze_Pragma): Analyze pragma corresponding to the new aspect. + (Is_Non_Significant_Pragma_Reference): Add new pragma to the + table. + * sem_prag.ads + (Assertion_Expression_Pragma): New pragma acts as an assertion + expression, even though it is not currently expanded. + (Analyze_Exceptional_Cases_In_Decl_Part): Add spec. + * sem_util.adb + (Is_Subprogram_Contract_Annotation): Mark new annotation is a + subprogram contract, so the subprogram with it won't be inlined. + * sem_util.ads + (Is_Subprogram_Contract_Annotation): Mention new aspect in + comment. + * sinfo.ads + (Contract_Test_Cases): Mention new aspect in comment. + * snames.ads-tmpl: Add entries for the new name and pragma. + +2023-05-23 Eric Botcazou + + * sem_ch13.adb (Build_Predicate_Functions): If the current scope + is not that of the type, push this scope and pop it at the end. + * sem_util.ads (Current_Scope_No_Loops_No_Blocks): Delete. + * sem_util.adb (Current_Scope_No_Loops_No_Blocks): Likewise. + (Set_Public_Status): Call again Current_Scope. + +2023-05-23 Gary Dismukes + + * exp_ch6.adb (Might_Have_Tasks): Remove unneeded Etype call from + call to Is_Limited_Record, since that flag is now properly + inherited by class-wide types. + * sem_ch3.adb (Analyze_Private_Extension_Declaration): Remove call + to Make_Class_Wide_Type, which is done too early, and will later + be done in Build_Derived_Record_Type after flags such as + Is_Limited_Record and Is_Controlled_Active have been set on the + derived type. + +2023-05-23 Patrick Bernardi + + * libgnat/s-stchop.adb (Stack_Check): Remove redundant parentheses. + +2023-05-23 Piotr Trojanek + + * freeze.adb (Freeze_Record_Type): Add tag for redundant pragma Pack. + * sem_aggr.adb (Resolve_Record_Aggregate): Add tag for redundant OTHERS + choice. + * sem_ch8.adb (Use_One_Type): Add tag for redundant USE clauses. + +2023-05-23 Piotr Trojanek + + * sem_ch11.adb + (Check_Duplication): Fix inconsistent iteration. + (Others_Present): Iterate over handlers using First_Non_Pragma and + Next_Non_Pragma just like in Check_Duplication. + +2023-05-23 Eric Botcazou + + * einfo.ads (Delay_Subprogram_Descriptors): Delete. + * gen_il-fields.ads (Opt_Field_Enum): Remove + Delay_Subprogram_Descriptors. + * gen_il-gen-gen_entities.adb (Gen_Entities): Likewise. + * gen_il-gen-gen_nodes.adb (N_Entry_Body): Add Corresponding_Spec. + * sinfo.ads (Corresponding_Spec): Document new use. + (N_Entry_Body): Likewise. + * exp_ch6.adb (Expand_Protected_Object_Reference): Be prepared for + protected subprograms that have been expanded. + * exp_ch7.adb (Expand_Cleanup_Actions): Remove unreachable code. + * exp_ch9.adb (Build_Protected_Entry): Add a local variable for the + new block and propagate Uses_Sec_Stack from the corresponding spec. + (Expand_N_Protected_Body) : Unconditionally reset + the scopes of top-level entities in the new body. + * inline.adb (Cleanup_Scopes): Do not adjust the scope on the fly. + * sem_ch9.adb (Analyze_Entry_Body): Set Corresponding_Spec. + * sem_ch12.adb (Analyze_Package_Instantiation): Remove obsolete code + setting Delay_Subprogram_Descriptors and tidy up. + * sem_util.adb (Scope_Within): Deal with protected subprograms that + have been expanded. + (Scope_Within_Or_Same): Likewise. + +2023-05-23 Eric Botcazou + + * libgnarl/s-taskin.ads (Atomic_Address): Delete. + (Attribute_Array): Add pragma Atomic_Components. + (Ada_Task_Control_Block): Adjust default value of Attributes. + * libgnarl/s-tasini.adb (Finalize_Attributes): Adjust type of local + variable. + * libgnarl/s-tataat.ads (Deallocator): Adjust type of parameter. + (To_Attribute): Adjust source type. + * libgnarl/a-tasatt.adb: Add clauses for System.Storage_Elements. + (New_Attribute): Adjust return type. + (Deallocate): Adjust type of parameter. + (To_Real_Attribute): Adjust source type. + (To_Address): Add target type. + (To_Attribute): Adjust source type. + (Fast_Path): Adjust tested type. + (Finalize): Compare with Null_Address. + (Reference): Likewise. + (Reinitialize): Likewise. + (Set_Value): Likewise. Add conversion to Integer_Address. + (Value): Likewise. + +2023-05-23 Raphael Amiard + + * scng.adb (Scan): Replace occurrences of All_Extensions_Allowed + by Core_Extensions_Allowed. + +2023-05-23 Claire Dross + + * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Use new helpers. + * libgnat/s-vauspe.ads (Raw_Unsigned_Starts_As_Based_Ghost, + Raw_Unsigned_Is_Based_Ghost): New ghost helper functions. + (Is_Raw_Unsigned_Format_Ghost, Scan_Split_No_Overflow_Ghost, + Scan_Split_Value_Ghost, Raw_Unsigned_Last_Ghost): Use new + helpers. + +2023-05-23 Arnaud Charlet + + * par-ch5.adb, style.ads, styleg.adb, styleg.ads + (Check_Xtra_Parens): Remove extra parameter Enable. + (Check_Xtra_Parens_Precedence): New. + (P_Case_Statement): Add -gnatyx style check. + * sem_ch4.adb: Replace calls to Check_Xtra_Parens by + Check_Xtra_Parens_Precedence. + * stylesw.ads, stylesw.adb, usage.adb: Add support for + -gnatyz. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Update -gnatyxzg doc. + * sem_prag.adb, libgnat/s-regpat.adb, + libgnarl/s-interr__hwint.adb, libgnarl/s-interr__vxworks.adb: + Remove extra parens. + * par-ch3.adb (P_Discrete_Range): Do not emit a style check if + the expression is not a simple expression. + * gnat_ugn.texi: Regenerate. + +2023-05-23 Eric Botcazou + + * libgnat/s-dwalin.adb (Enable_Cache): Use the subtract operator of + System.Storage_Elements to compute the offset. + (Symbolic_Address): Likewise. + +2023-05-23 Eric Botcazou + + * sem_res.adb (Resolve_Intrinsic_Operator): Always perform the same + resolution for the special mod operator of System.Storage_Elements. + +2023-05-23 Raphael Amiard + + * doc/gnat_rm.rst, doc/gnat_rm/gnat_language_extensions.rst, + doc/gnat_rm/implementation_defined_pragmas.rst: + * gnat_rm.texi: Regenerate. + +2023-05-23 Eric Botcazou + + * exp_ch4.adb (Expand_N_Op_Mod): Adjust the detection of the special + operator of System.Storage_Elements. Do not rewrite it into a rem. + * sem_res.adb (Resolve_Intrinsic_Operator): Use the base type of the + left operand for the special mod operator of System.Storage_Elements + +2023-05-23 Vadim Godunko + + * libgnat/a-coinho__shared.adb (Constant_Reference): Remove call + of Detach + (Query_Element): Likewise. + +2023-05-23 Ronan Desplanques + + * sem_disp.adb: Fix reference to Ada issue in comment. + +2023-05-23 Eric Botcazou + + * exp_disp.adb (Expand_Dispatching_Call): In the abstract interface + class-wide case, use 'Tag of the object as the controlling tag. + (Expand_Interface_Thunk): Perform address arithmetic using operators + of System.Storage_Elements. + +2023-05-23 Eric Botcazou + + * libgnat/i-cpoint.adb: Add clauses for System.Storage_Elements. + (Addr): Delete. + (Offset): New subtype of Storage_Offset. + (To_Offset): New instance of Unchecked_Conversion. + (To_Pointer): Adjust. + (To_Addr): Likewise. + (To_Ptrdiff): Likewise. + ("+"): Call To_Offset on the offset. + ("-"): Likewise. + * libgnat/s-bituti.adb: Add clauses for System.Storage_Elements. + (Val_Bytes): Change type to Storage_Count. + (Get_Val_2): Add qualification to second operand of mod operator. + (Set_Val_2): Likewise. + (Copy_Bitfield): Likewise. Change type of Src_Adjust & Dest_Adjust. + * libgnat/s-stratt.ads (Thin_Pointer): Change to subtype of Address. + * libgnat/s-statxd.adb (I_AD): Adjust. + (I_AS): Likewise. + (W_AS): Likewise. + +2023-05-23 Steve Baird + + * sem_util.adb + (Is_Variable): Correctly return False for a selected component + name of the form Some_Object.Some_Discriminant, even if + Some_Object is a variable. We don't want to allow such a name as + an actual parameter in a call if the corresponding formal + parameter's mode is not "in". + +2023-05-23 Yannick Moy + + * sem_util.adb (Check_Node): Add default init on local Id. + +2023-05-23 Yannick Moy + + * libgnat/i-c.adb (To_Ada): Add loop invariant. + +2023-05-23 Eric Botcazou + + * exp_ch4.adb (Expand_N_Op_Mod): Deal with the special mod + operator of System.Storage_Elements. + * exp_intr.adb (Expand_To_Integer): New procedure. + (Expand_Intrinsic_Call): Call Expand_To_Integer appropriately. + (Expand_To_Address): Deal with an argument with modular type. + * sem_ch3.adb (Derive_Subprogram): Also set convention Intrinsic + on a derived intrinsic subprogram. + * sem_res.adb (Resolve_Arithmetic_Op): Deal with intrinsic + operators not coming from source exactly as those coming from + source and also generate a reference in both cases. + (Resolve_Op_Expon): Likewise. + (Resolve_Intrinsic_Operator): Call Implementation_Base_Type to get + a nonprivate base type. + * snames.ads-tmpl (Name_To_Integer): New intrinsic name. + * libgnat/s-stoele.ads: Replace pragma Convention with pragma + Import throughout and remove pragma Inline_Always and + Pure_Function. + * libgnat/s-stoele.adb: Replace entire contents with pragma + No_Body. + * libgnat/s-atacco.adb: Adjust comment about pragma No_Body. + +2023-05-23 Javier Miranda + + * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove + call to preanalyze class-wide conditions since here it is too + early; they must be preanalyzed when full views of private types + have been analyzed. + * sem_ch7.adb (Analyze_Package_Specification): Preanalyze + class-wide conditions of dispatching primitives defined in nested + packages. + +2023-05-23 Piotr Trojanek + + * errout.adb (Last_Sloc): Refactor a heavily repeated "S := S + 1" + statement into a subprogram; replace assertions with defensive code; + fix few more off-by-one errors. + +2023-05-23 Ronan Desplanques + + * einfo.ads: Mention full name of LSP. + +2023-05-23 Piotr Trojanek + + * errout.adb (Last_Sloc): Rewrite skipping past numeric literals. + +2023-05-23 Eric Botcazou + + * sem_ch13.adb (Build_Predicate_Function_Declaration): Adjust the + commentary to the current implementation. + * sem_util.ads (Current_Scope_No_Loops): Move around. + (Current_Scope_No_Loops_No_Blocks): New declaration. + (Add_Block_Identifier): Fix formatting. + * sem_util.adb (Add_Block_Identifier): Likewise. + (Current_Scope_No_Loops_No_Blocks): New function. + (Set_Public_Status): Call Current_Scope_No_Loops_No_Blocks instead + of Current_Scope to get the current scope. + +2023-05-23 Eric Botcazou + + * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Do not + manually generate a predicate check. Call Unqualify before doing + pattern matching on the expression. + * sem_ch3.adb (Analyze_Object_Declaration): Also freeze the actual + subtype when it is built in the definite case. + +2023-05-23 Piotr Trojanek + + * libgnarl/s-interr.adb + (Registered_Handler): Remove default expression. + (Registered_Handlers): Switch to singly-linked list. + (Bind_Interrupt_To_Entry): Sync whitespace with other unit variants. + (Is_Registered): Use singly-linked list. + (Register_Interrupt_Handler): Use singly-linked list and initialized + allocator; sync assertion with other unit variants. + * libgnarl/s-interr__sigaction.adb: Likewise. + * libgnarl/s-interr__vxworks.adb: Likewise. + * libgnarl/s-interr__hwint.adb: Likewise. + (Is_Registered): Remove repeated declaration. + +2023-05-23 Piotr Trojanek + + * pprint.adb (Expression_Image): Restore some of the old pretty-printing + for CodePeer. + +2023-05-23 Piotr Trojanek + + * errout.adb (First_And_Last_Nodes): Ignore accessibility parameters. + +2023-05-23 Piotr Trojanek + + * exp_ch4.adb (Expand_N_Op_Ne): Simply don't add extra parens. + +2023-05-23 Piotr Trojanek + + * pprint.adb (Expression_Image): Move Count_Parentheses and + Fix_Parentheses routines from GNATprove and apply them before + returning the slice of a source code buffer. + +2023-05-23 Piotr Trojanek + + * errout.adb + (Paren_Required): New subsidiary routine for better handling of + parentheses in First_Node/Last_Node. + (First_Sloc, Last_Sloc): Use Get_Source_File_Index to correctly + handle generic instances and inlined subprograms; tune handling of + parentheses; improve handling of literals. + * pprint.adb (Expression_Image): Simplify using + First_Sloc/Last_Sloc. + * sem_ch6.adb (Analyze_Expression_Function): Remove parenthesis + when relocating expression from expression function to simple + return statement. + +2023-05-23 Piotr Trojanek + + * exp_prag.adb (Expand_Pragma_Check): Suppress warning for checks of + subprogram variants. + +2023-05-23 Eric Botcazou + + * frontend.adb (Frontend): Merge two conditional blocks and adjust. + +2023-05-23 Piotr Trojanek + + * libgnat/s-mmap.adb (Mapped_Region_Record): Fix typo in comment. + +2023-05-23 Ronan Desplanques + + * sem_ch7.adb: Remove duplicate comment. + +2023-05-23 Javier Miranda + + * sem_ch10.adb + (Analyze_Required_Limited_With_Units): New subprogram. + (Depends_On_Limited_Views): New subprogram. + (Has_Limited_With_Clauses): New subprogram. + (Analyze_Compilation_Unit): Call the new subprogram that performs + the full analysis of required limited-with units. + +2023-05-22 Ronan Desplanques + + * cstand.adb: Use more idiomatic procedure. + +2023-05-22 Piotr Trojanek + + * errout.adb (First_Loc): Avoid repeated calls. + (Last_Loc): Likewise. + +2023-05-22 Eric Botcazou + + * inline.adb (Cleanup_Scopes): Do not propagate the Uses_Sec_Stack + flag from original to rewritten protected subprograms here... + * exp_ch9.adb (Expand_N_Protected_Body) : + ...but here instead. Add local variables and remove a useless + test. + +2023-05-22 Eric Botcazou + + * exp_ch7.adb (Expand_N_Package_Body): Call Defining_Entity to get + the entity of the body. + +2023-05-22 Piotr Trojanek + + * exp_attr.adb (Expand_Loop_Entry_Attribute): Use location of the + attribute reference, not of the loop statement. + +2023-05-22 Ronan Desplanques + + * par-ch3.adb: Add missing word in comment. + +2023-05-22 Justin Squirek + + * checks.adb (Install_Null_Excluding_Check): Avoid non-null + optimizations when assertions are enabled. + +2023-05-22 Marc Poulhiès + + * exp_aggr.adb (Process_Transient_Component): Reset Analyzed flag + for the copy of the initialization expression. + * sem_attr.adb (Validate_Non_Static_Attribute_Function_Call): Skip + error emission during Pre_Analyze. + +2023-05-22 Eric Botcazou + + * exp_ch7.adb (Process_Package_Body): New procedure taken from... + (Build_Finalizer.Process_Declarations): ...here. Call the above + procedure to deal with both package bodies and package body stubs. + +2023-05-22 Ronan Desplanques + + * atree.ads: Remove outdated part of comment. + +2023-05-22 Eric Botcazou + + * exp_ch7.adb (Build_Finalizer): Reverse the test comparing the + instantiation and declaration nodes of a package instance, and + therefore bail out only when they are equal. Adjust comments. + (Expand_N_Package_Declaration): Do not clear the Finalizer field. + * lib-writ.adb: Add with and use clauses for Sem_Util. + (Write_Unit_Information): Look at unit nodes to find finalizers. + * sem_ch12.adb (Analyze_Package_Instantiation): Beef up the comment + about the rewriting of the instantiation node into a declaration. + +2023-05-22 Bob Duff + + * cstand.adb (Is_Past_Self_Hiding_Point): Rename to be + Is_Not_Self_Hidden. + * einfo.ads: Likewise. + * exp_aggr.adb: Likewise. + * gen_il-fields.ads: Likewise. + * gen_il-gen-gen_entities.adb: Likewise. + * sem.adb: Likewise. + * sem_aggr.adb: Likewise. + * sem_ch11.adb: Likewise. + * sem_ch12.adb: Likewise. + * sem_ch5.adb: Likewise. + * sem_ch6.adb: Likewise. + * sem_ch7.adb: Likewise. + * sem_prag.adb: Likewise. + +2023-05-22 Eric Botcazou + + * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create the body + as the expanded body of an expression function. + +2023-05-22 Piotr Trojanek + + * pprint.adb (Expression_Image): Handle several previously unsupported + constructs. + +2023-05-22 Piotr Trojanek + + * sem_res.adb (Resolve_Entity_Name): Combine two IF statements that + execute code only for references that come from source. + +2023-05-22 Bob Duff + + * einfo.ads (Is_Past_Self_Hiding_Point): Document. + * gen_il-fields.ads (Is_Past_Self_Hiding_Point): Add to list of + fields. + * gen_il-gen-gen_entities.adb (Is_Past_Self_Hiding_Point): Declare + in all entities. + * exp_aggr.adb: Set Is_Past_Self_Hiding_Point as appropriate. + * sem.adb: Likewise. + * sem_aggr.adb: Likewise. + * sem_ch11.adb: Likewise. + * sem_ch12.adb: Likewise. + * sem_ch5.adb: Likewise. + * sem_ch7.adb: Likewise. + * sem_prag.adb: Likewise. + * sem_ch6.adb: Likewise. + (Set_Formal_Mode): Minor cleanup: Move from spec. + * sem_ch6.ads: + (Set_Formal_Mode): Minor cleanup: Move to body. + * cstand.adb: Call Set_Is_Past_Self_Hiding_Point on all entities + as soon as they are created. + * comperr.adb (Compiler_Abort): Minor cleanup -- use 'in' instead + of 'or else'. + * debug.adb: Minor comment cleanups. + +2023-05-22 Steve Baird + + * sem_ch4.adb (Analyze_Expression_With_Actions.Check_Action_Ok): + Accept an executable pragma occuring in a declare expression as + per AI22-0045. This means Assert and Inspection_Point pragmas as + well as any implementation-defined pragmas that the implementation + chooses to categorize as executable. Currently Assume and Debug + are the only such pragmas. + +2023-05-22 Piotr Trojanek + + * sem_prag.adb + (Check_Postcondition_Use_In_Inlined_Subprogram): Mention + Subprogram_Variant in the comment. + (Analyze_Subprogram_Variant_In_Decl_Part): Warn when contract is + ignored because of pragma Inline_Always and frontend inlining. + +2023-05-22 Piotr Trojanek + + * sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram): Only + emit warning when frontend inlining is enabled. + +2023-05-22 Arnaud Charlet + + * par-ch3.adb, sem_ch4.adb (P_Discrete_Range, Analyze_Logical_Op, + Analyze_Short_Circuit): Add calls to Check_Xtra_Parentheses. + * par-ch5.adb (P_Condition): Move logic to Check_Xtra_Parentheses. + * style.ads, styleg.adb, styleg.ads (Check_Xtra_Parens): Move logic + related to expressions requiring parentheses here. + +2023-05-22 Arnaud Charlet + + * ali-util.adb, par-endh.adb, par-prag.adb, par-ch2.adb, + checks.adb, fmap.adb, libgnat/a-nbnbig.ads, libgnat/g-dynhta.adb, + libgnat/s-carun8.adb, libgnat/s-strcom.adb, libgnat/a-dhfina.adb, + libgnat/a-direct.adb, libgnat/a-rbtgbo.adb, libgnat/a-strsea.adb, + libgnat/a-ststio.adb, libgnat/a-suenco.adb, libgnat/a-costso.adb, + libgnat/a-strmap.adb, libgnat/g-alleve.adb, + libgnat/g-debpoo.adb, libgnat/g-sercom__linux.adb, + libgnat/s-genbig.adb, libgnat/s-mmap.adb, libgnat/s-regpat.adb, + par-ch5.adb, sem_case.adb, sem_ch12.adb, sem_ch13.adb, + sem_ch8.adb, sem_eval.adb, sem_prag.adb, sem_type.adb, + exp_ch11.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, + exp_ch6.adb, exp_ch9.adb, exp_put_image.adb, freeze.adb, live.adb, + sem_aggr.adb, sem_cat.adb, sem_ch10.adb, sem_ch3.adb, sem_ch6.adb, + sem_ch9.adb, sem_disp.adb, sem_elab.adb, sem_res.adb, + sem_util.adb, sinput.adb, uintp.adb, bcheck.adb, binde.adb, + binderr.adb, einfo-utils.adb, clean.adb, sem_ch4.adb, gnatls.adb, + gprep.adb, sem_ch11.adb: Remove extra parentheses. + +2023-05-22 Arnaud Charlet + + * sem_aggr.adb (Get_Value): Use ?? instead of ?. + +2023-05-22 Piotr Trojanek + + * exp_aggr.adb (Aggregate_Size): Remove redundant calls to + Present. + * exp_ch5.adb (Expand_N_If_Statement): Likewise. + * sem_prag.adb (Analyze_Pragma): Likewise. + * sem_warn.adb (Find_Var): Likewise. + +2023-05-22 Claire Dross + + * sem_util.adb (Find_Actual): On calls through dereferences, + return the corresponding formal in the designated subprogram + profile. + +2023-05-22 Piotr Trojanek + + * sem_util.ads (Is_Actual_Tagged_Parameter): Remove spec. + * sem_util.adb (Is_Actual_Tagged_Parameter): Remove body. + +2023-05-22 Joffrey Huguet + + * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads + (To_Unbounded_String): Add postcondition. Add aspect SPARK_Mode + Off on the version that takes a Natural as parameter. + (To_String): Complete postcondition. + (Set_Unbounded_String): Add postcondition. + (Element): Likewise. + ("="): Likewise. + +2023-05-22 Eric Botcazou + + * exp_ch3.adb (Freeze_Type): Do not associate the Finalize_Address + routine for a class-wide type if restriction No_Dispatching_Calls + is in effect. + +2023-05-22 Eric Botcazou + + * libgnat/s-genbig.ads (From_Bignum): New overloaded declarations. + * libgnat/s-genbig.adb (LLLI): New subtype. + (LLLI_Is_128): New boolean constant. + (From_Bignum): Change the return type of the signed implementation + to Long_Long_Long_Integer and add support for the case where its + size is 128 bits. Add a wrapper around it for Long_Long_Integer. + Add an unsigned implementation returning Unsigned_128 and a wrapper + around it for Unsigned_64. + (To_Bignum): Test LLLI_Is_128 instead of its size. + (To_String.Image): Add qualification to calls to From_Bignum. + * libgnat/a-nbnbin.adb (To_Big_Integer): Likewise. + (Signed_Conversions.From_Big_Integer): Likewise. + (Unsigned_Conversions): Likewise. + +2023-05-22 Eric Botcazou + + * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec + to copy the spec from the subprogram to the generated subprogram + body. + (Freeze_Entity): Do not wrap imported subprograms inside generics. + +2023-05-22 Steve Baird + + * sem_ch4.adb (Analyze_Expression_With_Actions.Check_Action_Ok): + If Comes_From_Source (A) is False, then look at Original_Node (A) + instead of A. In particular, if an (illegal) expression function + is transformed into a "vanilla" function, we don't want to allow + it just because Comes_From_Source is now False. + +2023-05-22 Steve Baird + + * sem_prag.adb (Analyze_Pragma): In Check_No_Return, call + Error_Msg_Ada_2022_Feature in the case of a function. Remove code + outside of Check_No_Return that was querying Ada_Version. + +2023-05-22 Eric Botcazou + + * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action): Do + not look into nested blocks. + +2023-05-22 Eric Botcazou + + * sem_ch3.adb (Find_Type_Of_Object): In a spec expression, also set + the Scope of the type, and call Constrain_Array for array subtypes. + +2023-05-22 Piotr Trojanek + + * pprint.adb (Expression_Image): Reduce scope of local variables; inline + local uncommented constant From_Source; concatenate string with a single + character, as it is likely to execute faster; add missing cases to + traversal for the rightmost node and assertion to demonstrate that the + ??? comment is no longer relevant. + +2023-05-22 Piotr Trojanek + + * pprint.adb (Expr_Name): Qualify CASE expression with N_Subexpr; add + missing alternative for N_Raise_Storage_Error; remove dead alternatives; + explicitly list unsupported alternatives. + +2023-05-22 Piotr Trojanek + + * pprint.adb (Expr_Name): Exclude DEL from printable range. + +2023-05-22 Piotr Trojanek + + * sem_util.ads (New_Copy_Tree): Update comment. + * sem_util.adb (New_Copy_Tree): Update Controlling_Argument, very + much like we update the First/Next_Named_Association. + +2023-05-22 Bob Duff + + * fe.h: Remove Ada_With_Extensions and add commentary. + * opt.ads: Rearrange code and add commentary. + +2023-05-22 Bob Duff + + * sem_util.adb (Process_Type): Stop the recursion. + * exp_aggr.adb (Build_Record_Aggr_Code): Add assertion. + +2023-05-18 Bernhard Reutner-Fischer + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Use _P defines + from tree.h. + (constructor_address_p): Ditto. + (elaborate_expression_1): Ditto. + * gcc-interface/trans.cc (Identifier_to_gnu): Ditto. + (is_nrv_p): Ditto. + (Subprogram_Body_to_gnu): Ditto. + (gnat_to_gnu): Ditto. + (gnat_to_gnu_external): Ditto. + (add_decl_expr): Ditto. + (gnat_gimplify_expr): Ditto. + * gcc-interface/utils.cc (create_var_decl): Ditto. + * gcc-interface/utils2.cc (get_base_type): Ditto. + (build_binary_op): Ditto. + (build_unary_op): Ditto. + (gnat_protect_expr): Ditto. + (gnat_invariant_expr): Ditto. + +2023-05-16 Steve Baird + + * usage.adb: Generate output text describing the -gnatw_s switch + (and the corresponding -gnatw_S switch). + +2023-05-16 Eric Botcazou + + * exp_attr.adb (Expand_N_Attribute_Reference) : + Use the canonical accumulator type as the type of the accumulator + in the prefixed case. + +2023-05-16 Eric Botcazou + + * exp_aggr.adb (Expand_Array_Aggregate): Do not set Warnings_Off on + the temporary created when in-place expansion is not possible. + +2023-05-16 Eric Botcazou + + * freeze.adb (Freeze_Expression): When the freezing is to be done + outside the current scope, skip any scope that is an internal loop. + +2023-05-16 Eric Botcazou + + * exp_imgv.adb (Rewrite_Object_Image): If the prefix is a component + that depends on a discriminant, create an actual subtype for it. + +2023-05-16 Eric Botcazou + + * sem_ch13.adb: Add with and use clauses for Expander. + (Resolve_Aspect_Expressions) : Emulate a + bona-fide preanalysis setup before calling + Resolve_Aspect_Expression. + +2023-05-16 Yannick Moy + + * libgnat/s-aridou.adb (Lemma_Div_Pow2): Add assertion. + * libgnat/s-arit32.adb (Lemma_Abs_Div_Commutation): Simplify. + * libgnat/s-expmod.adb (Lemma_Exp_Mod): Add assertions. + (Lemma_Euclidean_Mod): Add body to lemma. + (Lemma_Mult_Mod): Add assertion. + * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Modify assertion. + * libgnat/s-vauspe.ads (Raw_Unsigned_Last_Ghost): Add + postcondition. + * libgnat/s-widthi.adb: Use more precise types. + +2023-05-16 Eric Botcazou + + * sem_res.adb (Has_Applicable_User_Defined_Literal): Apply the + same processing for derived untagged types as for tagged types. + * sem_util.ads (Corresponding_Primitive_Op): Adjust description. + * sem_util.adb (Corresponding_Primitive_Op): Handle untagged + types. + +2023-05-16 Javier Miranda + + * sem_attr.adb + (Analyze_Attribute_Old_Result): When preanalyzing a class-wide + condition, search in the scopes stack for the subprogram that has + the condition. This is required because returning the current + scope causes reporting spurious errors when the occurrence of the + attribute is found, for example, in a quantified expression. + +2023-05-16 Javier Miranda + + * exp_ch6.adb + (Needs_BIP_Alloc_Form): Return False for functions with foreign + convention since we never use build-in-place for such functions. + +2023-05-16 Piotr Trojanek + + * sem_util.adb (Aggregate_Constraint_Checks): Don't exit early + when preanalysing in GNATprove mode. Now the condition is + consistent with other similar conditions in other code. + +2023-05-16 Ghjuvan Lacambre + + * usage.adb (Usage): Document -gnatyD. + +2023-05-16 Marc Poulhiès + + * libgnat/s-tsmona__linux.adb (link_map, r_debug_type): Add + 'aliased' on all components. + +2023-05-16 Johannes Kliemann + + * libgnat/system-linux-ppc.ads: Add Support_Atomic_Primitives. + * libgnat/s-atopri__32.ads: Add 32 bit version of s-atopri.ads. + * Makefile.rtl: Use s-atopro__32.ads for ppc-linux. + +2023-05-16 Eric Botcazou + + * sem_util.adb (Get_Actual_Subtype): For an explicit dereference, + return the Actual_Designated_Subtype if it is present. + (Get_Actual_Subtype_If_Available): Likewise. + +2023-05-16 Arnaud Charlet + + * errout.ads: Update comment. + * errout.adb (Skip_Msg_Insertion_Warning): Update to take e.g. + -gnatyM into account. + * erroutc.adb (Get_Warning_Option, Get_Warning_Tag) + (Prescan_Message): Add support for Style tags. + * par-ch5.adb, par-ch6.adb, par-ch7.adb, par-endh.adb, + par-util.adb, style.adb, styleg.adb: Set tag on all style + messages. + +2023-05-16 Tom Tromey + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst + (Switches_for_gnatbind): Fix typo. + * libgnat/g-spipat.ads: Fix typo. + * gnat_ugn.texi: Regenerate. + +2023-05-16 Eric Botcazou + + * exp_aggr.adb (Build_Assignment_With_Temporary): Adjust comment + and fix type of second parameter. Create the temporary on the + secondary stack by calling Build_Temporary_On_Secondary_Stack. + (Convert_Array_Aggr_In_Allocator): Adjust formatting. + (Expand_Array_Aggregate): Likewise. + * exp_ch4.adb (Expand_N_Allocator): Set Actual_Designated_Subtype + on the dereference in the initialization for all composite types. + * exp_ch5.adb (Expand_N_Assignment_Statement): Create a temporary + on the host for an assignment between nonnative storage models. + Suppress more checks when Suppress_Assignment_Checks is set. + * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Deal with actuals + that are dereferences with an Actual_Designated_Subtype. Add + support for nonnative storage models. + (Expand_Actuals): Create a copy if the actual is a dereference + with a nonnative storage model. + * exp_util.ads (Build_Temporary_On_Secondary_Stack): Declare. + * exp_util.adb (Build_Temporary_On_Secondary_Stack): New function. + * sem_ch5.adb (Analyze_Assignment.Set_Assignment_Type): Do not + build an actual subtype for dereferences with an + Actual_Designated_Subtype + * sinfo.ads (Actual_Designated_Subtype): Adjust documentation. + (Suppress_Assignment_Checks): Likewise. + +2023-05-16 Piotr Trojanek + + * exp_spark.adb (SPARK_Freeze_Type): Copy whole handling of DIC + and Type_Invariant from Freeze_Type. + +2023-05-16 Richard Kenner + + * sem_util.adb (Subprogram_Name): If what's passed is already an + entity, use that for the name. + +2023-05-16 Eric Botcazou + + * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst + (No_Dependence): Give examples of new No_Dependence restrictions. + * gnat_rm.texi: Regenerate. + +2023-05-16 Arnaud Charlet + + * snames.ads-tmpl (Name_ASCII): New. + * style.adb (Check_Identifier): Fix handling of ASCII. + +2023-05-16 Eric Botcazou + + * gen_il-fields.ads (Opt_Field_Enum): Add Cannot_Be_Superflat. + * gen_il-gen-gen_nodes.adb (N_Range): Add Cannot_Be_Superflat as + semantical flag and change Includes_Infinities to semantical. + * sinfo.ads (Cannot_Be_Superflat): Document it for N_Range. + * exp_ch4.adb (Expand_Concatenate): Set Cannot_Be_Superflat on the + range of the result if the result cannot be null. + +2023-05-16 Richard Kenner + + * gen_il-gen-gen_nodes.adb (Present_Expr): Type is now Uint. + +2023-05-16 Yannick Moy + + * libgnat/s-aridou.adb (Big3, Is_Mult_Decomposition) + (Is_Scaled_Mult_Decomposition): Add annotation for inlining. + (Double_Divide, Scaled_Divide): Simplify and remove ghost code. + (Prove_Multiplication): Add calls to lemmas to make proof go + through. + * libgnat/s-aridou.ads (Big, In_Double_Int_Range): Add annotation + for inlining. + +2023-05-16 Yannick Moy + + * libgnat/a-strsup.adb: Add intermediate assertions. + +2023-05-16 Arnaud Charlet + + * gnat1drv.adb: Ensure all dependencies are recorded even when not + generating code. + +2023-05-16 Yannick Moy + + * libgnat/a-strsup.adb: Set assertion policy for Loop_Variant. + +2023-05-16 Marc Poulhiès + + * sem_ch12.adb (Instantiate_Package_Body): Simplify if/then/else. + (Instantiate_Subprogram_Body): Likewise. + +2023-05-16 Yannick Moy + + * libgnat/s-aridou.adb: + (Big3): Remove override made useless. + (Lemma_Quot_Rem): Add new lemma and justify it, as no prover + manages to prove it. + (Lemma_Div_Pow2): Use new lemma Lemma_Quot_Rem. + (Prove_Scaled_Mult_Decomposition_Regroup3): Retype for + simplification. + (Scaled_Divide): Remove useless assertions.Decompose some + assertions with cut operations. Use Assert_And_Cut for second + half. Add assertions. + +2023-05-15 Marc Poulhiès + + * exp_ch3.adb (Make_Allocator_For_Return): Fix typo in comment. + +2023-05-15 Yannick Moy + + * libgnat/a-strbou.ads: Add justifications for Mapping. + * libgnat/a-strfix.adb: Same. + * libgnat/a-strfix.ads: Same. + * libgnat/a-strsea.adb: Same. + * libgnat/a-strsea.ads: Same. + * libgnat/a-strsup.adb: Same and add loop variants. + * libgnat/a-strsup.ads: Same and add specification of termination. + +2023-05-15 Yannick Moy + + * libgnat/a-strsup.adb (Super_Slice): Reorder component assignment + to avoid failing predicate check related to initialization. + * libgnat/s-expmod.adb (Exp_Modular): Add intermediate assertion. + +2023-05-15 Yannick Moy + + * libgnat/i-c.adb: Add loop variants. Remove useless + initialization. + +2023-05-15 Bob Duff + + * einfo-utils.ads: Remove comment. + +2023-05-15 Bob Duff + + * einfo-utils.ads, einfo-utils.adb: Get rid of the Proc_Next_... + procedures. Use Inline aspect instead of pragma Inline. + Is_Discrete_Or_Fixed_Point_Type did not have pragma Inline, but + now has the aspect; this was probably an oversight + (which illustrates why aspects are better). + +2023-05-15 Ronan Desplanques + + * doc/gnat_ugn/gnat_utility_programs.rst: Fix formatting + inconsistency. + +2023-05-15 Bob Duff + + * einfo-utils.adb: + (Proc_Next_Component_Or_Discriminant): Call + Next_Component_Or_Discriminant. + +2023-05-15 Bob Duff + + * einfo.ads: + (First_Entity): Update comment explaining why this exists on all + [sub]types, as opposed to just the ones with associated entities. + +2023-05-15 Bob Duff + + * atree.adb + (Check_Vanishing_Fields): Disable the check for "root/base type + only" fields. This is a bug fix -- if we're checking some subtype + S, we don't want to reach over to the root or base type and + Reinit_Field_To_Zero of that, thus modifying the field for lots of + subtypes other than S. Disable in the to/from E_Void cases. Misc + cleanup. + * gen_il-gen-gen_entities.adb: Define First_Entity, Last_Entity, + and Stored_Constraint for all type entities, because there are too + many cases where Reinit_Field_To_Zero would otherwise be needed. + In any case, it seems cleaner to have First_Entity and Last_Entity + defined in the same entity kinds. + * einfo.ads: + (First_Entity, Last_Entity, Stored_Constraint): Update comments to + reflect gen_il-gen-gen_entities.adb changes. + (Lit_Hash): Add missing "[root type only]" comment. + * exp_ch5.adb: Add Reinit_Field_To_Zero calls for vanishing + fields. + * sem_ch10.adb: Likewise. + * sem_ch6.adb: Likewise. + * sem_ch7.adb: Likewise. + * sem_ch8.adb: Likewise. + * sem_ch3.adb: Likewise. Also remove now-unnecessary + Reinit_Field_To_Zero calls. + +2023-05-15 Eric Botcazou + + * sem_ch7.adb (Hide_Public_Entities): Use the same condition for + subprogram bodies without specification as for those with one. + +2023-05-15 Piotr Trojanek + + * sem_util.adb (New_Copy_Tree): Remove redundant calls to Present. + +2023-05-15 Ronan Desplanques + + * sem_ch8.adb (End_Scope): Simplify lookup of predecessor in + homonym chain. + +2023-05-15 Piotr Trojanek + + * sem_aggr.adb (Resolve_Aggregate): Accept aggregates with OTHERS + appearing inside unchecked conversions. + +2023-05-15 Steve Baird + + * warnsw.ads: Add a new element, + Warn_On_Ineffective_Predicate_Test, to the Opt_Warnings_Enum + enumeration type. + * warnsw.adb: Bind "-gnatw_s" to the new + Warn_On_Ineffective_Predicate_Test switch. Add the new switch to + the set of switches enabled by -gnata . + * sem_ch13.adb + (Build_Discrete_Static_Predicate): Declare new local procedure, + Warn_If_Test_Ineffective, which conditionally generates new + warning. Call this new procedure when building a new element of an + RList. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Document the -gnatw_s switch (and the corresponding -gnatw_S + switch). + * gnat_ugn.texi: Regenerate. + +2023-05-15 Yannick Moy + + * sem_attr.adb: Update comment referring to rule number. + +2023-05-15 Ronan Desplanques + + * sem_attr.adb: sem_attr.adb (Analyze_Access_Attribute): Tighten + validity check for task types. + +2023-05-15 Ronan Desplanques + + * doc/gnat_rm/implementation_defined_characteristics.rst: Fix + minor documentation formatting issue. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2023-05-15 Bob Duff + + * exp_ch4.adb + (Expand_N_Op_Expon): Remove the too-big check. Simplify. Signed + and modular cases are combined, etc. Remove code with comment "We + only handle cases where the right type is a[sic] integer", because + the right operand must always be an integer at this point. + +2023-05-15 Bob Duff + + * sem_attr.adb + (Analyze_Attribute): Add a call to Check_Error_Detected. + +2023-05-15 Yannick Moy + + * par-prag.adb (First_Arg_Is_Matching_Tool_Name): Fix access to + expression in pragma association. + +2023-05-15 Eric Botcazou + + * repinfo.ads (JSON output format): Document special case of + Present member of a Variant object. + * repinfo.adb (List_Structural_Record_Layout): Change the type of + Ext_Level parameter to Integer. Restrict the first recursion with + increasing levels to the fixed part and implement a second + recursion with decreasing levels for the variant part. Deal with + an extension of a type with unknown discriminants. + +2023-05-15 Claire Dross + + * libgnat/s-valueu.adb: Use cut operations inside assertion to + restore proofs + * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-spark and + s-spcuop dependencies. + +2023-05-15 Yannick Moy + + * sem_prag.adb (Check_Grouping): Allow Annotate pragmas between + loop pragmas. + +2023-05-15 Javier Miranda + + * doc/gnat_rm/implementation_defined_pragmas.rst + (Extensions_Allowed): Document string interpolation. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2023-05-15 Joel Brobecker + + * doc/gnat_ugn/platform_specific_information.rst + (_PIE_Enabled_By_Default_On_Linux): New section. + * gnat-style.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2023-05-15 Javier Miranda + + * exp_disp.adb + (Has_Dispatching_Constructor_Call): New subprogram. + (Expand_Interface_Conversion): No need to perform dynamic + interface conversion when the operand and the target type are + interface types and the target interface type is an ancestor of + the operand type. The unique exception to this rule is when the + operand has a dispatching constructor call (as documented in the + sources). + +2023-05-15 Piotr Trojanek + + * sem_attr.adb (Analyze_Attribute): Reject attribute Initialized + on unchecked unions; fix grammar in comment. + +2023-05-15 Ronan Desplanques + + * sem_ch13.adb (Validate_Unchecked_Conversion): Fix behavior on + System.Address to access to subprogram subtype conversion. + +2023-05-15 Piotr Trojanek + + * atree.ads + (Is_Syntactic_Node): Refactored from New_Copy_Tree. + * atree.adb + (Is_Syntactic_Node): Likewise. + (Copy_Separate_Tree): Use Is_Syntactic_Node. + * sem_util.adb + (Has_More_Ids): Move to Atree. + (Is_Syntactic_Node): Likewise. + +2023-04-18 Jin Ma + + * gcc-interface/utils.cc (unchecked_convert): Fix typo. + +2023-04-17 Martin Liska + + * gnatvsn.ads: Bump Library_Version to 14. + +2023-04-15 Eric Botcazou + + PR bootstrap/109510 + * gcc-interface/decl.cc (gnat_to_gnu_entity) : Do not reset + align to zero in any case. Set TYPE_USER_ALIGN on the type only if + it is an aggregate type, or else a type whose default alignment is + specifically capped on selected platforms. + +2023-04-14 Eric Botcazou + + PR bootstrap/109510 + * gcc-interface/decl.cc (gnat_to_gnu_entity) : Reset align + to zero if its value is equal to TYPE_ALIGN and the type is scalar. + Set TYPE_USER_ALIGN on the type only if align is positive. + +2023-03-06 Javier Miranda + + PR ada/108858 + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): For functions with + separate spec, if their return type was visible through a limited- + with context clause, their extra formals were not added when the + spec was analyzed. Now the full view must be available, and the + extra formals can be created and Returns_By_Ref computed. + +2023-03-06 Eric Botcazou + + PR ada/108909 + PR ada/108983 + * Make-generated.in: Do not use GNATMAKE. + * gcc-interface/Makefile.in: Ditto. + +2023-02-26 Peter Foley + + PR ada/108909 + * Make-generated.in: Use GNATMAKE. + * gcc-interface/Makefile.in: Ditto. + +2023-02-14 Eric Botcazou + + * gcc-interface/trans.cc (gnat_gimplify_expr): Add missing guard. + +2023-02-14 Dongsheng Song + + * adaint.c [Linux]: Include . + (__gnat_get_executable_load_address) [Linux]: Enable only for + glibc and uClibc. + +2023-01-16 Marc Poulhiès + + * gcc-interface/Make-lang.in: Update copyright years. + * gcc-interface/Makefile.in: Likewise. + * gcc-interface/ada-builtin-types.def: Likewise. + * gcc-interface/ada-builtins.def: Likewise. + * gcc-interface/ada-tree.def: Likewise. + * gcc-interface/ada-tree.h: Likewise. + * gcc-interface/ada.h: Likewise. + * gcc-interface/config-lang.in: Likewise. + * gcc-interface/cuintp.cc: Likewise. + * gcc-interface/decl.cc: Likewise. + * gcc-interface/gadaint.h: Likewise. + * gcc-interface/gigi.h: Likewise. + * gcc-interface/lang-specs.h: Likewise. + * gcc-interface/lang.opt: Likewise. + * gcc-interface/misc.cc: Likewise. + * gcc-interface/system.ads: Likewise. + * gcc-interface/targtyps.cc: Likewise. + * gcc-interface/trans.cc: Likewise. + * gcc-interface/utils.cc: Likewise. + * gcc-interface/utils2.cc: Likewise. + +2023-01-16 Eric Botcazou + + * exp_ch3.adb (Make_Allocator_For_Return): Fix typo in comment. + +2023-01-16 Eric Botcazou + + * exp_ch3.adb (Make_Allocator_For_Return): Convert the expression + to the return object's type in the constrained array case as well. + +2023-01-16 Eric Botcazou + + * exp_ch3.adb (Expand_N_Object_Declaration): For a class-wide non- + interface stand-alone object initialized by a function call, call + Remove_Side_Effects on the expression to capture the result. + +2023-01-16 Eric Botcazou + + * exp_util.ads (Has_Tag_Of_Type): Declare. + * exp_util.adb (Has_Tag_Of_Type): Move to package level. Recurse on + qualified expressions. + * exp_ch3.adb (Expand_N_Object_Declaration): Use a static reference + to the interface tag in more cases for class-wide interface objects. + +2023-01-16 Eric Botcazou + + * exp_util.adb (Make_CW_Equivalent_Type.Has_Tag_Of_Type): Fix pasto. + +2023-01-16 Eric Botcazou + + * exp_util.adb (Is_Temporary_For_Interface_Object): Delete. + (Is_Finalizable_Transient.Is_Aliased): Deal with the specific case + of temporaries generated for interface objects. + +2023-01-16 Eric Botcazou + + * exp_ch3.adb (Expand_N_Object_Declaration): Do not generate a back- + and-forth displacement of the object's address when using a renaming + for an interface object with an expression of the same type. + * exp_ch4.adb (Expand_Allocator_Expression): Do not remove the side + effects of the expression up front for the simple allocators. Do not + call the Adjust primitive if the expression is a function call. + * exp_ch6.adb (Expand_Ctrl_Function_Call): Do not expand the call + unnecessarily for a special return object. + (Expand_Simple_Function_Return): Restore the displacement of the + return object's address in the case where the expression is the call + to a function whose result type is a type that needs finalization. + * exp_util.adb (Expand_Subtype_From_Expr): Do not remove the side + effects of the expression before calling Make_Subtype_From_Expr. + (Make_CW_Equivalent_Type): If the expression has the tag of its type + and this type has a uniform size, use 'Object_Size of this type in + lieu of 'Size of the expression to compute the expression's size. + +2023-01-16 Eric Botcazou + + * exp_ch3.adb (Make_Allocator_For_Return): Put back an interface + conversion for expressions with non-interface class-wide type. + +2023-01-16 Eric Botcazou + + * exp_ch3.adb (Expand_N_Object_Declaration): Also optimize aliased + objects if their nominal subtype is not an unconstrained array. + +2023-01-16 Eric Botcazou + + * exp_ch3.adb (Expand_N_Object_Declaration): Factor out conditions + needed for an initializating expression that is a function call to + be renamable into the Is_Renamable_Function_Call predicate. + Use it to implement the renaming in the case of class-wide interface + objects. Remove an interface conversion on all paths, separate and + optimize the renaming path in the special expansion for interfaces. + (Is_Renamable_Function_Call): New predicate. + (Make_Allocator_For_Return): Put back an interface conversion. + * exp_ch6.adb (Apply_CW_Accessibility_Check): Remove useless access + checks on RE_Tag_Ptr. + +2023-01-09 Arnaud Charlet + + * accessibility.adb, accessibility.ads, ada_get_targ.adb: Update copyright year. + * adabkend.adb, adabkend.ads, adadecode.c, adadecode.h, adaint.c: Likewise. + * adaint.h, affinity.c, ali-util.adb, ali-util.ads, ali.adb: Likewise. + * ali.ads, alloc.ads, argv-lynxos178-raven-cert.c, argv.c: Likewise. + * aspects.adb, aspects.ads, atree.adb, atree.ads, atree.h: Likewise. + * aux-io.c, back_end.adb, back_end.ads, backend_utils.adb: Likewise. + * backend_utils.ads, bcheck.adb, bcheck.ads, binde.adb, binde.ads: Likewise. + * binderr.adb, binderr.ads, bindgen.adb, bindgen.ads: Likewise. + * bindo-augmentors.adb, bindo-augmentors.ads, bindo-builders.adb: Likewise. + * bindo-builders.ads, bindo-diagnostics.adb: Likewise. + * bindo-diagnostics.ads, bindo-elaborators.adb: Likewise. + * bindo-elaborators.ads, bindo-graphs.adb, bindo-graphs.ads: Likewise. + * bindo-units.adb, bindo-units.ads, bindo-validators.adb: Likewise. + * bindo-validators.ads, bindo-writers.adb, bindo-writers.ads: Likewise. + * bindo.adb, bindo.ads, bindusg.adb, bindusg.ads, butil.adb: Likewise. + * butil.ads, cal.c, casing.adb, casing.ads, checks.adb: Likewise. + * checks.ads, cio.c, clean.adb, clean.ads: Likewise. + * comperr.adb, comperr.ads, contracts.adb, contracts.ads: Likewise. + * csets.adb, csets.ads, cstand.adb: Likewise. + * cstand.ads, cstreams.c, ctrl_c.c, debug.adb, debug.ads: Likewise. + * debug_a.adb, debug_a.ads, einfo-utils.adb, einfo-utils.ads: Likewise. + * einfo.adb, einfo.ads, elists.adb, elists.ads, elists.h, env.c: Likewise. + * env.h, err_vars.ads, errno.c, errout.adb, errout.ads: Likewise. + * erroutc.adb, erroutc.ads, errutil.adb, errutil.ads: Likewise. + * eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb, exp_aggr.ads: Likewise. + * exp_atag.adb, exp_atag.ads, exp_attr.adb, exp_attr.ads: Likewise. + * exp_cg.adb, exp_cg.ads, exp_ch10.ads, exp_ch11.adb: Likewise. + * exp_ch11.ads, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb: Likewise. + * exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.adb: Likewise. + * exp_ch3.ads, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch5.ads: Likewise. + * exp_ch6.adb, exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, exp_ch8.adb: Likewise. + * exp_ch8.ads, exp_ch9.adb, exp_ch9.ads, exp_code.adb: Likewise. + * exp_code.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.adb: Likewise. + * exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb: Likewise. + * exp_fixd.ads, exp_imgv.adb, exp_imgv.ads, exp_intr.adb: Likewise. + * exp_intr.ads, exp_pakd.adb, exp_pakd.ads, exp_prag.adb: Likewise. + * exp_prag.ads, exp_put_image.adb, exp_put_image.ads, exp_sel.adb: Likewise. + * exp_sel.ads, exp_smem.adb, exp_smem.ads, exp_spark.adb: Likewise. + * exp_spark.ads, exp_strm.adb, exp_strm.ads, exp_tss.adb: Likewise. + * exp_tss.ads, exp_unst.adb, exp_unst.ads, exp_util.adb: Likewise. + * exp_util.ads, expander.adb, expander.ads, expect.c, fe.h: Likewise. + * final.c, fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads: Likewise. + * fname-uf.adb, fname-uf.ads, fname.adb, fname.ads, freeze.adb: Likewise. + * freeze.ads, frontend.adb, frontend.ads, gen_il-fields.ads: Likewise. + * gen_il-gen-gen_entities.adb, gen_il-gen-gen_nodes.adb: Likewise. + * gen_il-gen.adb, gen_il-gen.ads, gen_il-internals.adb: Likewise. + * gen_il-internals.ads, gen_il-main.adb, gen_il-types.ads: Likewise. + * gen_il.adb, gen_il.ads, get_scos.adb, get_scos.ads: Likewise. + * get_targ.adb, get_targ.ads, ghost.adb, ghost.ads, gnat1drv.adb: Likewise. + * gnat1drv.ads, gnat_cuda.adb, gnat_cuda.ads: Likewise. + * gnatbind.adb, gnatbind.ads, gnatchop.adb: Likewise. + * gnatclean.adb, gnatcmd.adb, gnatcmd.ads, gnatdll.adb: Likewise. + * gnatkr.adb, gnatkr.ads, gnatlink.adb, gnatlink.ads, gnatls.adb: Likewise. + * gnatls.ads, gnatmake.adb, gnatmake.ads, gnatname.adb: Likewise. + * gnatname.ads, gnatprep.adb, gnatprep.ads: Likewise. + * gprep.adb, gprep.ads, gsocket.h: Likewise. + * hostparm.ads: Likewise. + * impunit.adb, impunit.ads, indepsw-aix.adb, indepsw-darwin.adb: Likewise. + * indepsw-gnu.adb, indepsw.adb, indepsw.ads, init.c: Likewise. + * initialize.c, inline.adb, inline.ads, itypes.adb, itypes.ads: Likewise. + * krunch.adb, krunch.ads, layout.adb, layout.ads: Likewise. + * lib-list.adb, lib-load.adb, lib-load.ads, lib-sort.adb: Likewise. + * lib-util.adb, lib-util.ads, lib-writ.adb, lib-writ.ads: Likewise. + * lib-xref-spark_specific.adb, lib-xref.adb, lib-xref.ads: Likewise. + * lib.adb, lib.ads, libgnarl/a-astaco.adb, libgnarl/a-dispat.adb: Likewise. + * libgnarl/a-dynpri.adb, libgnarl/a-etgrbu.ads: Likewise. + * libgnarl/a-exetim__darwin.adb, libgnarl/a-exetim__default.ads: Likewise. + * libgnarl/a-exetim__mingw.adb, libgnarl/a-exetim__mingw.ads: Likewise. + * libgnarl/a-exetim__posix.adb, libgnarl/a-interr.adb: Likewise. + * libgnarl/a-interr.ads, libgnarl/a-intnam.ads: Likewise. + * libgnarl/a-intnam__aix.ads, libgnarl/a-intnam__darwin.ads: Likewise. + * libgnarl/a-intnam__dragonfly.ads, libgnarl/a-intnam__dummy.ads: Likewise. + * libgnarl/a-intnam__freebsd.ads, libgnarl/a-intnam__hpux.ads: Likewise. + * libgnarl/a-intnam__linux.ads, libgnarl/a-intnam__lynxos.ads: Likewise. + * libgnarl/a-intnam__mingw.ads, libgnarl/a-intnam__qnx.ads: Likewise. + * libgnarl/a-intnam__rtems.ads, libgnarl/a-intnam__solaris.ads: Likewise. + * libgnarl/a-intnam__vxworks.ads, libgnarl/a-reatim.adb: Likewise. + * libgnarl/a-reatim.ads, libgnarl/a-retide.adb: Likewise. + * libgnarl/a-retide.ads, libgnarl/a-rttiev.adb: Likewise. + * libgnarl/a-rttiev.ads, libgnarl/a-synbar.adb: Likewise. + * libgnarl/a-synbar.ads, libgnarl/a-synbar__posix.adb: Likewise. + * libgnarl/a-synbar__posix.ads, libgnarl/a-sytaco.adb: Likewise. + * libgnarl/a-sytaco.ads, libgnarl/a-tasatt.adb: Likewise. + * libgnarl/a-tasatt.ads, libgnarl/a-taside.adb: Likewise. + * libgnarl/a-taside.ads, libgnarl/a-tasini.adb: Likewise. + * libgnarl/a-tasini.ads, libgnarl/a-taster.adb: Likewise. + * libgnarl/g-boubuf.adb, libgnarl/g-boubuf.ads: Likewise. + * libgnarl/g-boumai.ads, libgnarl/g-semaph.adb: Likewise. + * libgnarl/g-semaph.ads, libgnarl/g-signal.adb: Likewise. + * libgnarl/g-signal.ads, libgnarl/g-tastus.ads: Likewise. + * libgnarl/g-thread.adb, libgnarl/g-thread.ads: Likewise. + * libgnarl/i-vxinco.adb, libgnarl/i-vxinco.ads: Likewise. + * libgnarl/s-inmaop.ads, libgnarl/s-inmaop__dummy.adb: Likewise. + * libgnarl/s-inmaop__hwint.adb, libgnarl/s-inmaop__posix.adb: Likewise. + * libgnarl/s-interr.adb, libgnarl/s-interr.ads: Likewise. + * libgnarl/s-interr__dummy.adb, libgnarl/s-interr__hwint.adb: Likewise. + * libgnarl/s-interr__sigaction.adb: Likewise. + * libgnarl/s-interr__vxworks.adb, libgnarl/s-intman.ads: Likewise. + * libgnarl/s-intman__android.adb, libgnarl/s-intman__dummy.adb: Likewise. + * libgnarl/s-intman__lynxos.adb, libgnarl/s-intman__mingw.adb: Likewise. + * libgnarl/s-intman__posix.adb, libgnarl/s-intman__qnx.adb: Likewise. + * libgnarl/s-intman__rtems.adb, libgnarl/s-intman__rtems.ads: Likewise. + * libgnarl/s-intman__solaris.adb, libgnarl/s-intman__susv3.adb: Likewise. + * libgnarl/s-intman__vxworks.adb, libgnarl/s-intman__vxworks.ads: Likewise. + * libgnarl/s-linux.ads, libgnarl/s-linux__alpha.ads: Likewise. + * libgnarl/s-linux__android.ads, libgnarl/s-linux__hppa.ads: Likewise. + * libgnarl/s-linux__mips.ads, libgnarl/s-linux__riscv.ads: Likewise. + * libgnarl/s-linux__sparc.ads, libgnarl/s-linux__x32.ads: Likewise. + * libgnarl/s-mudido.adb, libgnarl/s-mudido__affinity.adb: Likewise. + * libgnarl/s-osinte__aix.adb, libgnarl/s-osinte__aix.ads: Likewise. + * libgnarl/s-osinte__android.adb, libgnarl/s-osinte__android.ads: Likewise. + * libgnarl/s-osinte__darwin.adb, libgnarl/s-osinte__darwin.ads: Likewise. + * libgnarl/s-osinte__dragonfly.adb: Likewise. + * libgnarl/s-osinte__dragonfly.ads, libgnarl/s-osinte__dummy.ads: Likewise. + * libgnarl/s-osinte__freebsd.adb, libgnarl/s-osinte__freebsd.ads: Likewise. + * libgnarl/s-osinte__gnu.adb, libgnarl/s-osinte__gnu.ads: Likewise. + * libgnarl/s-osinte__hpux-dce.adb: Likewise. + * libgnarl/s-osinte__hpux-dce.ads, libgnarl/s-osinte__hpux.ads: Likewise. + * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise. + * libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__lynxos178.adb: Likewise. + * libgnarl/s-osinte__lynxos178e.ads, libgnarl/s-osinte__mingw.ads: Likewise. + * libgnarl/s-osinte__posix.adb, libgnarl/s-osinte__qnx.adb: Likewise. + * libgnarl/s-osinte__qnx.ads, libgnarl/s-osinte__rtems.adb: Likewise. + * libgnarl/s-osinte__rtems.ads, libgnarl/s-osinte__solaris.adb: Likewise. + * libgnarl/s-osinte__solaris.ads, libgnarl/s-osinte__vxworks.adb: Likewise. + * libgnarl/s-osinte__vxworks.ads, libgnarl/s-osinte__x32.adb: Likewise. + * libgnarl/s-proinf.adb, libgnarl/s-proinf.ads: Likewise. + * libgnarl/s-putaim.adb, libgnarl/s-putaim.ads: Likewise. + * libgnarl/s-qnx.ads, libgnarl/s-solita.adb: Likewise. + * libgnarl/s-solita.ads, libgnarl/s-stusta.adb: Likewise. + * libgnarl/s-stusta.ads, libgnarl/s-taasde.adb: Likewise. + * libgnarl/s-taasde.ads, libgnarl/s-tadeca.adb: Likewise. + * libgnarl/s-tadeca.ads, libgnarl/s-tadert.adb: Likewise. + * libgnarl/s-tadert.ads, libgnarl/s-taenca.adb: Likewise. + * libgnarl/s-taenca.ads, libgnarl/s-taprob.adb: Likewise. + * libgnarl/s-taprob.ads, libgnarl/s-taprop.ads: Likewise. + * libgnarl/s-taprop__dummy.adb, libgnarl/s-taprop__hpux-dce.adb: Likewise. + * libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb: Likewise. + * libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb: Likewise. + * libgnarl/s-taprop__rtems.adb, libgnarl/s-taprop__solaris.adb: Likewise. + * libgnarl/s-taprop__vxworks.adb, libgnarl/s-tarest.adb: Likewise. + * libgnarl/s-tarest.ads, libgnarl/s-tasdeb.adb: Likewise. + * libgnarl/s-tasdeb.ads, libgnarl/s-tasinf.adb: Likewise. + * libgnarl/s-tasinf.ads, libgnarl/s-tasinf__linux.adb: Likewise. + * libgnarl/s-tasinf__linux.ads, libgnarl/s-tasinf__mingw.adb: Likewise. + * libgnarl/s-tasinf__mingw.ads, libgnarl/s-tasinf__solaris.adb: Likewise. + * libgnarl/s-tasinf__solaris.ads, libgnarl/s-tasinf__vxworks.ads: Likewise. + * libgnarl/s-tasini.adb, libgnarl/s-tasini.ads: Likewise. + * libgnarl/s-taskin.adb, libgnarl/s-taskin.ads: Likewise. + * libgnarl/s-taspri__dummy.ads, libgnarl/s-taspri__hpux-dce.ads: Likewise. + * libgnarl/s-taspri__lynxos.ads, libgnarl/s-taspri__mingw.ads: Likewise. + * libgnarl/s-taspri__posix-noaltstack.ads: Likewise. + * libgnarl/s-taspri__posix.ads, libgnarl/s-taspri__solaris.ads: Likewise. + * libgnarl/s-taspri__vxworks.ads, libgnarl/s-tasque.adb: Likewise. + * libgnarl/s-tasque.ads, libgnarl/s-tasren.adb: Likewise. + * libgnarl/s-tasren.ads, libgnarl/s-tasres.ads: Likewise. + * libgnarl/s-tassta.adb, libgnarl/s-tassta.ads: Likewise. + * libgnarl/s-tasuti.adb, libgnarl/s-tasuti.ads: Likewise. + * libgnarl/s-tataat.adb, libgnarl/s-tataat.ads: Likewise. + * libgnarl/s-tpinop.adb, libgnarl/s-tpinop.ads: Likewise. + * libgnarl/s-tpoaal.adb, libgnarl/s-tpoben.adb: Likewise. + * libgnarl/s-tpoben.ads, libgnarl/s-tpobmu.adb: Likewise. + * libgnarl/s-tpobmu.ads, libgnarl/s-tpobop.adb: Likewise. + * libgnarl/s-tpobop.ads, libgnarl/s-tpopmo.adb: Likewise. + * libgnarl/s-tpopsp__posix-foreign.adb: Likewise. + * libgnarl/s-tpopsp__posix.adb, libgnarl/s-tpopsp__solaris.adb: Likewise. + * libgnarl/s-tpopsp__tls.adb, libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise. + * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise. + * libgnarl/s-tpopsp__vxworks.adb, libgnarl/s-tporft.adb: Likewise. + * libgnarl/s-tposen.adb, libgnarl/s-tposen.ads: Likewise. + * libgnarl/s-vxwext.adb, libgnarl/s-vxwext.ads: Likewise. + * libgnarl/s-vxwext__kernel-smp.adb: Likewise. + * libgnarl/s-vxwext__kernel.adb, libgnarl/s-vxwext__kernel.ads: Likewise. + * libgnarl/s-vxwext__rtp-smp.adb, libgnarl/s-vxwext__rtp.adb: Likewise. + * libgnarl/s-vxwext__rtp.ads, libgnarl/s-vxwork__aarch64.ads: Likewise. + * libgnarl/s-vxwork__arm.ads, libgnarl/s-vxwork__ppc.ads: Likewise. + * libgnarl/s-vxwork__x86.ads, libgnarl/thread.c: Likewise. + * libgnat/a-assert.adb, libgnat/a-assert.ads: Likewise. + * libgnat/a-btgbso.adb, libgnat/a-btgbso.ads: Likewise. + * libgnat/a-calari.adb, libgnat/a-calari.ads: Likewise. + * libgnat/a-calcon.adb, libgnat/a-calcon.ads: Likewise. + * libgnat/a-caldel.adb, libgnat/a-caldel.ads: Likewise. + * libgnat/a-calend.adb, libgnat/a-calend.ads: Likewise. + * libgnat/a-calfor.adb, libgnat/a-calfor.ads: Likewise. + * libgnat/a-catizo.adb, libgnat/a-cbdlli.adb: Likewise. + * libgnat/a-cbdlli.ads, libgnat/a-cbhama.adb: Likewise. + * libgnat/a-cbhama.ads, libgnat/a-cbhase.adb: Likewise. + * libgnat/a-cbhase.ads, libgnat/a-cbmutr.adb: Likewise. + * libgnat/a-cbmutr.ads, libgnat/a-cborma.adb: Likewise. + * libgnat/a-cborma.ads, libgnat/a-cborse.adb: Likewise. + * libgnat/a-cborse.ads, libgnat/a-cbprqu.adb: Likewise. + * libgnat/a-cbprqu.ads, libgnat/a-cbsyqu.adb: Likewise. + * libgnat/a-cbsyqu.ads, libgnat/a-cdlili.adb: Likewise. + * libgnat/a-cdlili.ads, libgnat/a-cfdlli.ads: Likewise. + * libgnat/a-cfhama.ads, libgnat/a-cfhase.ads: Likewise. + * libgnat/a-cfidll.ads, libgnat/a-cfinse.ads: Likewise. + * libgnat/a-cfinve.ads, libgnat/a-cforma.ads: Likewise. + * libgnat/a-cforse.ads, libgnat/a-cgaaso.adb: Likewise. + * libgnat/a-cgaaso.ads, libgnat/a-cgarso.adb: Likewise. + * libgnat/a-cgcaso.adb, libgnat/a-chacon.adb: Likewise. + * libgnat/a-chacon.ads, libgnat/a-chahan.adb: Likewise. + * libgnat/a-chahan.ads, libgnat/a-chlat9.ads: Likewise. + * libgnat/a-chtgbk.adb, libgnat/a-chtgbk.ads: Likewise. + * libgnat/a-chtgbo.adb, libgnat/a-chtgbo.ads: Likewise. + * libgnat/a-chtgfk.adb, libgnat/a-chtgfk.ads: Likewise. + * libgnat/a-chtgfo.adb, libgnat/a-chtgfo.ads: Likewise. + * libgnat/a-chtgke.adb, libgnat/a-chtgke.ads: Likewise. + * libgnat/a-chtgop.adb, libgnat/a-chtgop.ads: Likewise. + * libgnat/a-chzla1.ads, libgnat/a-chzla9.ads: Likewise. + * libgnat/a-cidlli.adb, libgnat/a-cidlli.ads: Likewise. + * libgnat/a-cihama.adb, libgnat/a-cihama.ads: Likewise. + * libgnat/a-cihase.adb, libgnat/a-cihase.ads: Likewise. + * libgnat/a-cimutr.adb, libgnat/a-cimutr.ads: Likewise. + * libgnat/a-ciorma.adb, libgnat/a-ciorma.ads: Likewise. + * libgnat/a-ciormu.adb, libgnat/a-ciormu.ads: Likewise. + * libgnat/a-ciorse.adb, libgnat/a-ciorse.ads: Likewise. + * libgnat/a-clrefi.adb, libgnat/a-clrefi.ads: Likewise. + * libgnat/a-coboho.adb, libgnat/a-coboho.ads: Likewise. + * libgnat/a-cobove.adb, libgnat/a-cobove.ads: Likewise. + * libgnat/a-cofove.ads, libgnat/a-cofuma.ads: Likewise. + * libgnat/a-cofuse.ads, libgnat/a-cofuve.ads: Likewise. + * libgnat/a-cogeso.adb, libgnat/a-cogeso.ads: Likewise. + * libgnat/a-cohama.adb, libgnat/a-cohama.ads: Likewise. + * libgnat/a-cohase.adb, libgnat/a-cohase.ads: Likewise. + * libgnat/a-cohata.ads, libgnat/a-coinho.adb: Likewise. + * libgnat/a-coinho.ads, libgnat/a-coinho__shared.adb: Likewise. + * libgnat/a-coinho__shared.ads, libgnat/a-coinve.adb: Likewise. + * libgnat/a-coinve.ads, libgnat/a-colien.adb: Likewise. + * libgnat/a-colien.ads, libgnat/a-colire.adb: Likewise. + * libgnat/a-colire.ads, libgnat/a-comlin.adb: Likewise. + * libgnat/a-comlin.ads, libgnat/a-comutr.adb: Likewise. + * libgnat/a-comutr.ads, libgnat/a-conhel.adb: Likewise. + * libgnat/a-conhel.ads, libgnat/a-convec.adb: Likewise. + * libgnat/a-convec.ads, libgnat/a-coorma.adb: Likewise. + * libgnat/a-coorma.ads, libgnat/a-coormu.adb: Likewise. + * libgnat/a-coormu.ads, libgnat/a-coorse.adb: Likewise. + * libgnat/a-coorse.ads, libgnat/a-coprnu.adb: Likewise. + * libgnat/a-coprnu.ads, libgnat/a-costso.adb: Likewise. + * libgnat/a-costso.ads, libgnat/a-crbltr.ads: Likewise. + * libgnat/a-crbtgk.adb, libgnat/a-crbtgk.ads: Likewise. + * libgnat/a-crbtgo.adb, libgnat/a-crbtgo.ads: Likewise. + * libgnat/a-crdlli.adb, libgnat/a-crdlli.ads: Likewise. + * libgnat/a-csquin.ads, libgnat/a-cuprqu.adb: Likewise. + * libgnat/a-cuprqu.ads, libgnat/a-cusyqu.adb: Likewise. + * libgnat/a-cusyqu.ads, libgnat/a-cwila1.ads: Likewise. + * libgnat/a-cwila9.ads, libgnat/a-decima.adb: Likewise. + * libgnat/a-decima.ads, libgnat/a-decima__128.ads: Likewise. + * libgnat/a-dhfina.adb, libgnat/a-dhfina.ads: Likewise. + * libgnat/a-diocst.adb, libgnat/a-diocst.ads: Likewise. + * libgnat/a-direct.adb, libgnat/a-direct.ads: Likewise. + * libgnat/a-direio.adb, libgnat/a-direio.ads: Likewise. + * libgnat/a-dirval.adb, libgnat/a-dirval.ads: Likewise. + * libgnat/a-dirval__mingw.adb, libgnat/a-einuoc.adb: Likewise. + * libgnat/a-einuoc.ads, libgnat/a-elchha.adb: Likewise. + * libgnat/a-elchha.ads, libgnat/a-envvar.adb: Likewise. + * libgnat/a-excach.adb, libgnat/a-except.adb: Likewise. + * libgnat/a-except.ads, libgnat/a-exctra.adb: Likewise. + * libgnat/a-exctra.ads, libgnat/a-exexda.adb: Likewise. + * libgnat/a-exexpr.adb, libgnat/a-exextr.adb: Likewise. + * libgnat/a-exstat.adb, libgnat/a-finali.adb: Likewise. + * libgnat/a-finali.ads, libgnat/a-locale.adb: Likewise. + * libgnat/a-locale.ads, libgnat/a-nagefl.ads: Likewise. + * libgnat/a-naliop.ads, libgnat/a-naliop__nolibm.ads: Likewise. + * libgnat/a-nallfl.ads, libgnat/a-nallfl__wraplf.ads: Likewise. + * libgnat/a-nalofl.ads, libgnat/a-nalofl__simd.ads: Likewise. + * libgnat/a-nashfl.ads, libgnat/a-nashfl__wraplf.ads: Likewise. + * libgnat/a-nbnbig.adb, libgnat/a-nbnbin.adb: Likewise. + * libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb: Likewise. + * libgnat/a-ngcefu.adb, libgnat/a-ngcoar.adb: Likewise. + * libgnat/a-ngcoty.adb, libgnat/a-ngcoty.ads: Likewise. + * libgnat/a-ngelfu.adb, libgnat/a-ngelfu.ads: Likewise. + * libgnat/a-ngrear.adb, libgnat/a-ngrear.ads: Likewise. + * libgnat/a-nuauco.ads, libgnat/a-nuauco__x86.ads: Likewise. + * libgnat/a-nuaufl.ads, libgnat/a-nuaufl__simd.ads: Likewise. + * libgnat/a-nuaufl__wraplf.ads, libgnat/a-nudira.adb: Likewise. + * libgnat/a-nudira.ads, libgnat/a-nuflra.adb: Likewise. + * libgnat/a-nuflra.ads, libgnat/a-numaux.ads: Likewise. + * libgnat/a-rbtgbk.adb, libgnat/a-rbtgbk.ads: Likewise. + * libgnat/a-rbtgbo.adb, libgnat/a-rbtgbo.ads: Likewise. + * libgnat/a-rbtgso.adb, libgnat/a-rbtgso.ads: Likewise. + * libgnat/a-sbecin.adb, libgnat/a-sbecin.ads: Likewise. + * libgnat/a-sbhcin.adb, libgnat/a-sbhcin.ads: Likewise. + * libgnat/a-sblcin.adb, libgnat/a-sblcin.ads: Likewise. + * libgnat/a-secain.adb, libgnat/a-secain.ads: Likewise. + * libgnat/a-sequio.adb, libgnat/a-sequio.ads: Likewise. + * libgnat/a-sfecin.ads, libgnat/a-sfhcin.ads: Likewise. + * libgnat/a-sflcin.ads, libgnat/a-shcain.adb: Likewise. + * libgnat/a-shcain.ads, libgnat/a-siocst.adb: Likewise. + * libgnat/a-siocst.ads, libgnat/a-slcain.adb: Likewise. + * libgnat/a-slcain.ads, libgnat/a-ssicst.adb: Likewise. + * libgnat/a-ssicst.ads, libgnat/a-stboha.adb: Likewise. + * libgnat/a-stbubo.adb, libgnat/a-stbubo.ads: Likewise. + * libgnat/a-stbufi.adb, libgnat/a-stbufi.ads: Likewise. + * libgnat/a-stbufo.adb, libgnat/a-stbufo.ads: Likewise. + * libgnat/a-stbuun.adb, libgnat/a-stbuut.adb: Likewise. + * libgnat/a-stbuut.ads, libgnat/a-stmaco.ads: Likewise. + * libgnat/a-storio.adb, libgnat/a-strbou.adb: Likewise. + * libgnat/a-strbou.ads, libgnat/a-stream.adb: Likewise. + * libgnat/a-stream.ads, libgnat/a-strfix.adb: Likewise. + * libgnat/a-strhas.adb, libgnat/a-strmap.adb: Likewise. + * libgnat/a-strmap.ads, libgnat/a-strsea.adb: Likewise. + * libgnat/a-strsea.ads, libgnat/a-strsto.ads: Likewise. + * libgnat/a-strsup.adb, libgnat/a-strsup.ads: Likewise. + * libgnat/a-strunb.adb, libgnat/a-strunb.ads: Likewise. + * libgnat/a-strunb__shared.adb, libgnat/a-strunb__shared.ads: Likewise. + * libgnat/a-ststbo.adb, libgnat/a-ststbo.ads: Likewise. + * libgnat/a-ststio.adb, libgnat/a-ststio.ads: Likewise. + * libgnat/a-ststun.adb, libgnat/a-ststun.ads: Likewise. + * libgnat/a-sttebu.adb, libgnat/a-stunau.adb: Likewise. + * libgnat/a-stunau.ads, libgnat/a-stunau__shared.adb: Likewise. + * libgnat/a-stunha.adb, libgnat/a-stuten.adb: Likewise. + * libgnat/a-stwibo.adb, libgnat/a-stwibo.ads: Likewise. + * libgnat/a-stwifi.adb, libgnat/a-stwiha.adb: Likewise. + * libgnat/a-stwima.adb, libgnat/a-stwima.ads: Likewise. + * libgnat/a-stwise.adb, libgnat/a-stwise.ads: Likewise. + * libgnat/a-stwisu.adb, libgnat/a-stwisu.ads: Likewise. + * libgnat/a-stwiun.adb, libgnat/a-stwiun.ads: Likewise. + * libgnat/a-stwiun__shared.adb, libgnat/a-stwiun__shared.ads: Likewise. + * libgnat/a-stzbou.adb, libgnat/a-stzbou.ads: Likewise. + * libgnat/a-stzfix.adb, libgnat/a-stzhas.adb: Likewise. + * libgnat/a-stzmap.adb, libgnat/a-stzmap.ads: Likewise. + * libgnat/a-stzsea.adb, libgnat/a-stzsea.ads: Likewise. + * libgnat/a-stzsup.adb, libgnat/a-stzsup.ads: Likewise. + * libgnat/a-stzunb.adb, libgnat/a-stzunb.ads: Likewise. + * libgnat/a-stzunb__shared.adb, libgnat/a-stzunb__shared.ads: Likewise. + * libgnat/a-suecin.adb, libgnat/a-suecin.ads: Likewise. + * libgnat/a-suenco.adb, libgnat/a-suenst.adb: Likewise. + * libgnat/a-suewst.adb, libgnat/a-suezst.adb: Likewise. + * libgnat/a-suhcin.adb, libgnat/a-suhcin.ads: Likewise. + * libgnat/a-sulcin.adb, libgnat/a-sulcin.ads: Likewise. + * libgnat/a-suteio.adb, libgnat/a-suteio.ads: Likewise. + * libgnat/a-suteio__shared.adb, libgnat/a-swbwha.adb: Likewise. + * libgnat/a-swmwco.ads, libgnat/a-swunau.adb: Likewise. + * libgnat/a-swunau.ads, libgnat/a-swunau__shared.adb: Likewise. + * libgnat/a-swuwha.adb, libgnat/a-swuwti.adb: Likewise. + * libgnat/a-swuwti.ads, libgnat/a-swuwti__shared.adb: Likewise. + * libgnat/a-szbzha.adb, libgnat/a-szmzco.ads: Likewise. + * libgnat/a-szunau.adb, libgnat/a-szunau.ads: Likewise. + * libgnat/a-szunau__shared.adb, libgnat/a-szuzha.adb: Likewise. + * libgnat/a-szuzti.adb, libgnat/a-szuzti.ads: Likewise. + * libgnat/a-szuzti__shared.adb, libgnat/a-tags.adb: Likewise. + * libgnat/a-tags.ads, libgnat/a-teioed.adb, libgnat/a-teioed.ads: Likewise. + * libgnat/a-textio.adb, libgnat/a-textio.ads: Likewise. + * libgnat/a-tiboio.adb, libgnat/a-ticoau.adb: Likewise. + * libgnat/a-ticoau.ads, libgnat/a-ticoio.adb: Likewise. + * libgnat/a-ticoio.ads, libgnat/a-tideau.adb: Likewise. + * libgnat/a-tideau.ads, libgnat/a-tideio.adb: Likewise. + * libgnat/a-tideio.ads, libgnat/a-tideio__128.adb: Likewise. + * libgnat/a-tienau.adb, libgnat/a-tienau.ads: Likewise. + * libgnat/a-tienio.adb, libgnat/a-tifiau.adb: Likewise. + * libgnat/a-tifiau.ads, libgnat/a-tifiio.adb: Likewise. + * libgnat/a-tifiio__128.adb, libgnat/a-tiflau.adb: Likewise. + * libgnat/a-tiflau.ads, libgnat/a-tiflio.adb: Likewise. + * libgnat/a-tiflio.ads, libgnat/a-tigeau.adb: Likewise. + * libgnat/a-tigeau.ads, libgnat/a-tigeli.adb: Likewise. + * libgnat/a-tiinau.adb, libgnat/a-tiinau.ads: Likewise. + * libgnat/a-tiinio.adb, libgnat/a-tiinio.ads: Likewise. + * libgnat/a-tiinio__128.adb, libgnat/a-timoio.adb: Likewise. + * libgnat/a-timoio.ads, libgnat/a-timoio__128.adb: Likewise. + * libgnat/a-tiocst.adb, libgnat/a-tiocst.ads: Likewise. + * libgnat/a-tirsfi.adb, libgnat/a-tirsfi.ads: Likewise. + * libgnat/a-titest.adb, libgnat/a-undesu.adb: Likewise. + * libgnat/a-wichha.adb, libgnat/a-wichun.adb: Likewise. + * libgnat/a-wichun.ads, libgnat/a-witeio.adb: Likewise. + * libgnat/a-witeio.ads, libgnat/a-wrstfi.adb: Likewise. + * libgnat/a-wrstfi.ads, libgnat/a-wtcoau.adb: Likewise. + * libgnat/a-wtcoau.ads, libgnat/a-wtcoio.adb: Likewise. + * libgnat/a-wtcstr.adb, libgnat/a-wtcstr.ads: Likewise. + * libgnat/a-wtdeau.adb, libgnat/a-wtdeau.ads: Likewise. + * libgnat/a-wtdeio.adb, libgnat/a-wtdeio__128.adb: Likewise. + * libgnat/a-wtedit.adb, libgnat/a-wtedit.ads: Likewise. + * libgnat/a-wtenau.adb, libgnat/a-wtenau.ads: Likewise. + * libgnat/a-wtenio.adb, libgnat/a-wtfiau.adb: Likewise. + * libgnat/a-wtfiau.ads, libgnat/a-wtfiio.adb: Likewise. + * libgnat/a-wtfiio__128.adb, libgnat/a-wtflau.adb: Likewise. + * libgnat/a-wtflau.ads, libgnat/a-wtflio.adb: Likewise. + * libgnat/a-wtgeau.adb, libgnat/a-wtgeau.ads: Likewise. + * libgnat/a-wtinau.adb, libgnat/a-wtinau.ads: Likewise. + * libgnat/a-wtinio.adb, libgnat/a-wtinio__128.adb: Likewise. + * libgnat/a-wtmoio.adb, libgnat/a-wtmoio.ads: Likewise. + * libgnat/a-wtmoio__128.adb, libgnat/a-wttest.adb: Likewise. + * libgnat/a-wwboio.adb, libgnat/a-zchhan.adb: Likewise. + * libgnat/a-zchuni.adb, libgnat/a-zchuni.ads: Likewise. + * libgnat/a-zrstfi.adb, libgnat/a-zrstfi.ads: Likewise. + * libgnat/a-ztcoau.adb, libgnat/a-ztcoio.adb: Likewise. + * libgnat/a-ztcstr.adb, libgnat/a-ztcstr.ads: Likewise. + * libgnat/a-ztdeau.adb, libgnat/a-ztdeau.ads: Likewise. + * libgnat/a-ztdeio.adb, libgnat/a-ztdeio__128.adb: Likewise. + * libgnat/a-ztedit.adb, libgnat/a-ztedit.ads: Likewise. + * libgnat/a-ztenau.adb, libgnat/a-ztenau.ads: Likewise. + * libgnat/a-ztenio.adb, libgnat/a-ztexio.adb: Likewise. + * libgnat/a-ztexio.ads, libgnat/a-ztfiau.adb: Likewise. + * libgnat/a-ztfiau.ads, libgnat/a-ztfiio.adb: Likewise. + * libgnat/a-ztfiio__128.adb, libgnat/a-ztflau.adb: Likewise. + * libgnat/a-ztflau.ads, libgnat/a-ztflio.adb: Likewise. + * libgnat/a-ztgeau.adb, libgnat/a-ztgeau.ads: Likewise. + * libgnat/a-ztinau.adb, libgnat/a-ztinau.ads: Likewise. + * libgnat/a-ztinio.adb, libgnat/a-ztinio__128.adb: Likewise. + * libgnat/a-ztmoio.adb, libgnat/a-ztmoio__128.adb: Likewise. + * libgnat/a-zttest.adb, libgnat/a-zzboio.adb: Likewise. + * libgnat/g-allein.ads, libgnat/g-alleve.adb: Likewise. + * libgnat/g-alleve.ads, libgnat/g-alleve__hard.adb: Likewise. + * libgnat/g-alleve__hard.ads, libgnat/g-altcon.adb: Likewise. + * libgnat/g-altcon.ads, libgnat/g-altive.ads: Likewise. + * libgnat/g-alveop.adb, libgnat/g-alveop.ads: Likewise. + * libgnat/g-alvety.ads, libgnat/g-alvevi.ads: Likewise. + * libgnat/g-arrspl.adb, libgnat/g-arrspl.ads, libgnat/g-awk.adb: Likewise. + * libgnat/g-awk.ads, libgnat/g-binenv.adb, libgnat/g-binenv.ads: Likewise. + * libgnat/g-binsea.adb, libgnat/g-binsea.ads: Likewise. + * libgnat/g-brapre.ads, libgnat/g-bubsor.adb: Likewise. + * libgnat/g-bubsor.ads, libgnat/g-busora.adb: Likewise. + * libgnat/g-busora.ads, libgnat/g-busorg.adb: Likewise. + * libgnat/g-busorg.ads, libgnat/g-byorma.adb: Likewise. + * libgnat/g-byorma.ads, libgnat/g-bytswa.adb: Likewise. + * libgnat/g-bytswa.ads, libgnat/g-calend.adb: Likewise. + * libgnat/g-calend.ads, libgnat/g-casuti.adb: Likewise. + * libgnat/g-casuti.ads, libgnat/g-catiio.adb: Likewise. + * libgnat/g-catiio.ads, libgnat/g-cgi.adb, libgnat/g-cgi.ads: Likewise. + * libgnat/g-cgicoo.adb, libgnat/g-cgicoo.ads: Likewise. + * libgnat/g-cgideb.adb, libgnat/g-cgideb.ads: Likewise. + * libgnat/g-comlin.adb, libgnat/g-comlin.ads: Likewise. + * libgnat/g-comver.adb, libgnat/g-comver.ads: Likewise. + * libgnat/g-cppexc.adb, libgnat/g-cppexc.ads, libgnat/g-crc32.adb: Likewise. + * libgnat/g-crc32.ads, libgnat/g-ctrl_c.adb, libgnat/g-ctrl_c.ads: Likewise. + * libgnat/g-curexc.ads, libgnat/g-debpoo.adb: Likewise. + * libgnat/g-debpoo.ads, libgnat/g-debuti.adb: Likewise. + * libgnat/g-debuti.ads, libgnat/g-decstr.adb: Likewise. + * libgnat/g-decstr.ads, libgnat/g-deutst.ads: Likewise. + * libgnat/g-diopit.adb, libgnat/g-diopit.ads: Likewise. + * libgnat/g-dirope.adb, libgnat/g-dirope.ads: Likewise. + * libgnat/g-dynhta.adb, libgnat/g-dynhta.ads: Likewise. + * libgnat/g-dyntab.adb, libgnat/g-dyntab.ads: Likewise. + * libgnat/g-eacodu.adb, libgnat/g-encstr.adb: Likewise. + * libgnat/g-encstr.ads, libgnat/g-enutst.ads: Likewise. + * libgnat/g-excact.adb, libgnat/g-excact.ads: Likewise. + * libgnat/g-except.ads, libgnat/g-exctra.adb: Likewise. + * libgnat/g-exctra.ads, libgnat/g-expect.adb: Likewise. + * libgnat/g-expect.ads, libgnat/g-exptty.adb: Likewise. + * libgnat/g-exptty.ads, libgnat/g-flocon.ads: Likewise. + * libgnat/g-forstr.adb, libgnat/g-forstr.ads: Likewise. + * libgnat/g-gfmafu.ads, libgnat/g-graphs.adb: Likewise. + * libgnat/g-graphs.ads, libgnat/g-heasor.adb: Likewise. + * libgnat/g-heasor.ads, libgnat/g-hesora.adb: Likewise. + * libgnat/g-hesora.ads, libgnat/g-hesorg.adb: Likewise. + * libgnat/g-hesorg.ads, libgnat/g-htable.adb: Likewise. + * libgnat/g-htable.ads, libgnat/g-io.adb, libgnat/g-io.ads: Likewise. + * libgnat/g-io_aux.adb, libgnat/g-io_aux.ads, libgnat/g-lists.adb: Likewise. + * libgnat/g-lists.ads, libgnat/g-locfil.adb, libgnat/g-locfil.ads: Likewise. + * libgnat/g-mbdira.adb, libgnat/g-mbdira.ads: Likewise. + * libgnat/g-mbflra.adb, libgnat/g-mbflra.ads, libgnat/g-md5.adb: Likewise. + * libgnat/g-md5.ads, libgnat/g-memdum.adb, libgnat/g-memdum.ads: Likewise. + * libgnat/g-moreex.adb, libgnat/g-moreex.ads: Likewise. + * libgnat/g-os_lib.adb, libgnat/g-os_lib.ads: Likewise. + * libgnat/g-pehage.adb, libgnat/g-pehage.ads: Likewise. + * libgnat/g-rannum.adb, libgnat/g-rannum.ads: Likewise. + * libgnat/g-regexp.adb, libgnat/g-regexp.ads: Likewise. + * libgnat/g-regist.adb, libgnat/g-regist.ads: Likewise. + * libgnat/g-regpat.adb, libgnat/g-regpat.ads: Likewise. + * libgnat/g-rewdat.adb, libgnat/g-rewdat.ads: Likewise. + * libgnat/g-sechas.adb, libgnat/g-sechas.ads: Likewise. + * libgnat/g-sehamd.adb, libgnat/g-sehamd.ads: Likewise. + * libgnat/g-sehash.adb, libgnat/g-sehash.ads: Likewise. + * libgnat/g-sercom.adb, libgnat/g-sercom.ads: Likewise. + * libgnat/g-sercom__linux.adb, libgnat/g-sercom__mingw.adb: Likewise. + * libgnat/g-sestin.ads, libgnat/g-sets.adb, libgnat/g-sets.ads: Likewise. + * libgnat/g-sha1.adb, libgnat/g-sha1.ads, libgnat/g-sha224.ads: Likewise. + * libgnat/g-sha256.ads, libgnat/g-sha384.ads: Likewise. + * libgnat/g-sha512.ads, libgnat/g-shsh32.adb: Likewise. + * libgnat/g-shsh32.ads, libgnat/g-shsh64.adb: Likewise. + * libgnat/g-shsh64.ads, libgnat/g-shshco.adb: Likewise. + * libgnat/g-shshco.ads, libgnat/g-soccon.ads: Likewise. + * libgnat/g-socket.adb, libgnat/g-socket.ads: Likewise. + * libgnat/g-socket__dummy.adb, libgnat/g-socket__dummy.ads: Likewise. + * libgnat/g-socpol.adb, libgnat/g-socpol.ads: Likewise. + * libgnat/g-socpol__dummy.adb, libgnat/g-socpol__dummy.ads: Likewise. + * libgnat/g-socthi.adb, libgnat/g-socthi.ads: Likewise. + * libgnat/g-socthi__dummy.adb, libgnat/g-socthi__dummy.ads: Likewise. + * libgnat/g-socthi__mingw.adb, libgnat/g-socthi__mingw.ads: Likewise. + * libgnat/g-socthi__vxworks.adb, libgnat/g-socthi__vxworks.ads: Likewise. + * libgnat/g-soliop.ads, libgnat/g-soliop__lynxos.ads: Likewise. + * libgnat/g-soliop__mingw.ads, libgnat/g-soliop__qnx.ads: Likewise. + * libgnat/g-soliop__solaris.ads, libgnat/g-sopowa.adb: Likewise. + * libgnat/g-sopowa__mingw.adb, libgnat/g-sopowa__posix.adb: Likewise. + * libgnat/g-sothco.adb, libgnat/g-sothco.ads: Likewise. + * libgnat/g-sothco__dummy.adb, libgnat/g-sothco__dummy.ads: Likewise. + * libgnat/g-souinf.ads, libgnat/g-spchge.adb: Likewise. + * libgnat/g-spchge.ads, libgnat/g-speche.adb: Likewise. + * libgnat/g-speche.ads, libgnat/g-spipat.adb: Likewise. + * libgnat/g-spipat.ads, libgnat/g-spitbo.adb: Likewise. + * libgnat/g-spitbo.ads, libgnat/g-spogwa.adb: Likewise. + * libgnat/g-spogwa.ads, libgnat/g-sptabo.ads: Likewise. + * libgnat/g-sptain.ads, libgnat/g-sptavs.ads, libgnat/g-sse.ads: Likewise. + * libgnat/g-ssvety.ads, libgnat/g-sthcso.adb: Likewise. + * libgnat/g-stheme.adb, libgnat/g-strhas.ads: Likewise. + * libgnat/g-string.adb, libgnat/g-string.ads: Likewise. + * libgnat/g-strspl.ads, libgnat/g-stseme.adb: Likewise. + * libgnat/g-stsifd__sockets.adb, libgnat/g-table.adb: Likewise. + * libgnat/g-table.ads, libgnat/g-tasloc.adb, libgnat/g-tasloc.ads: Likewise. + * libgnat/g-timsta.adb, libgnat/g-timsta.ads: Likewise. + * libgnat/g-traceb.adb, libgnat/g-traceb.ads: Likewise. + * libgnat/g-trasym.adb, libgnat/g-trasym.ads, libgnat/g-tty.adb: Likewise. + * libgnat/g-tty.ads, libgnat/g-u3spch.adb, libgnat/g-u3spch.ads: Likewise. + * libgnat/g-utf_32.adb, libgnat/g-utf_32.ads: Likewise. + * libgnat/g-wispch.adb, libgnat/g-wispch.ads: Likewise. + * libgnat/g-wistsp.ads, libgnat/g-zspche.adb: Likewise. + * libgnat/g-zspche.ads, libgnat/g-zstspl.ads, libgnat/gnat.ads: Likewise. + * libgnat/i-c.adb, libgnat/i-cexten.ads: Likewise. + * libgnat/i-cexten__128.ads, libgnat/i-cobol.adb: Likewise. + * libgnat/i-cobol.ads, libgnat/i-cpoint.adb, libgnat/i-cpoint.ads: Likewise. + * libgnat/i-cstrea.adb, libgnat/i-cstrea.ads: Likewise. + * libgnat/i-cstrin.adb, libgnat/i-cstrin.ads: Likewise. + * libgnat/i-fortra.adb, libgnat/i-pacdec.adb: Likewise. + * libgnat/i-pacdec.ads, libgnat/i-vxwoio.adb: Likewise. + * libgnat/i-vxwoio.ads, libgnat/i-vxwork.ads: Likewise. + * libgnat/i-vxwork__x86.ads, libgnat/interfac.ads: Likewise. + * libgnat/interfac__2020.ads, libgnat/memtrack.adb: Likewise. + * libgnat/s-addima.adb, libgnat/s-addima.ads: Likewise. + * libgnat/s-addope.adb, libgnat/s-addope.ads: Likewise. + * libgnat/s-aoinar.adb, libgnat/s-aoinar.ads: Likewise. + * libgnat/s-aomoar.adb, libgnat/s-aomoar.ads: Likewise. + * libgnat/s-aotase.adb, libgnat/s-aotase.ads: Likewise. + * libgnat/s-aridou.adb, libgnat/s-aridou.ads: Likewise. + * libgnat/s-arit128.adb, libgnat/s-arit128.ads: Likewise. + * libgnat/s-arit32.adb, libgnat/s-arit32.ads: Likewise. + * libgnat/s-arit64.adb, libgnat/s-arit64.ads: Likewise. + * libgnat/s-assert.adb, libgnat/s-assert.ads: Likewise. + * libgnat/s-atacco.adb, libgnat/s-atacco.ads: Likewise. + * libgnat/s-atocou.adb, libgnat/s-atocou.ads: Likewise. + * libgnat/s-atocou__builtin.adb, libgnat/s-atoope.ads: Likewise. + * libgnat/s-atopex.adb, libgnat/s-atopex.ads: Likewise. + * libgnat/s-atopri.adb, libgnat/s-atopri.ads: Likewise. + * libgnat/s-auxdec.adb, libgnat/s-auxdec.ads: Likewise. + * libgnat/s-bignum.adb, libgnat/s-bignum.ads: Likewise. + * libgnat/s-bitfie.ads, libgnat/s-bitops.adb: Likewise. + * libgnat/s-bitops.ads, libgnat/s-bituti.adb: Likewise. + * libgnat/s-bituti.ads, libgnat/s-boarop.ads: Likewise. + * libgnat/s-boustr.adb, libgnat/s-boustr.ads: Likewise. + * libgnat/s-bytswa.ads, libgnat/s-carsi8.adb: Likewise. + * libgnat/s-carsi8.ads, libgnat/s-carun8.adb: Likewise. + * libgnat/s-carun8.ads, libgnat/s-casi128.adb: Likewise. + * libgnat/s-casi128.ads, libgnat/s-casi16.adb: Likewise. + * libgnat/s-casi16.ads, libgnat/s-casi32.adb: Likewise. + * libgnat/s-casi32.ads, libgnat/s-casi64.adb: Likewise. + * libgnat/s-casi64.ads, libgnat/s-casuti.adb: Likewise. + * libgnat/s-casuti.ads, libgnat/s-caun128.adb: Likewise. + * libgnat/s-caun128.ads, libgnat/s-caun16.adb: Likewise. + * libgnat/s-caun16.ads, libgnat/s-caun32.adb: Likewise. + * libgnat/s-caun32.ads, libgnat/s-caun64.adb: Likewise. + * libgnat/s-caun64.ads, libgnat/s-chepoo.ads: Likewise. + * libgnat/s-commun.adb, libgnat/s-commun.ads: Likewise. + * libgnat/s-conca2.adb, libgnat/s-conca2.ads: Likewise. + * libgnat/s-conca3.adb, libgnat/s-conca3.ads: Likewise. + * libgnat/s-conca4.adb, libgnat/s-conca4.ads: Likewise. + * libgnat/s-conca5.adb, libgnat/s-conca5.ads: Likewise. + * libgnat/s-conca6.adb, libgnat/s-conca6.ads: Likewise. + * libgnat/s-conca7.adb, libgnat/s-conca7.ads: Likewise. + * libgnat/s-conca8.adb, libgnat/s-conca8.ads: Likewise. + * libgnat/s-conca9.adb, libgnat/s-conca9.ads, libgnat/s-crc32.adb: Likewise. + * libgnat/s-crc32.ads, libgnat/s-crtl.ads, libgnat/s-dfmkio.ads: Likewise. + * libgnat/s-dfmopr.ads, libgnat/s-dgmgop.ads: Likewise. + * libgnat/s-diflio.adb, libgnat/s-diflio.ads: Likewise. + * libgnat/s-diflmk.ads, libgnat/s-digemk.ads: Likewise. + * libgnat/s-diinio.adb, libgnat/s-diinio.ads: Likewise. + * libgnat/s-dilomk.ads, libgnat/s-dim.ads, libgnat/s-dimkio.ads: Likewise. + * libgnat/s-dimmks.ads, libgnat/s-direio.adb: Likewise. + * libgnat/s-direio.ads, libgnat/s-dlmkio.ads: Likewise. + * libgnat/s-dlmopr.ads, libgnat/s-dmotpr.ads: Likewise. + * libgnat/s-dorepr.adb, libgnat/s-dorepr__fma.adb: Likewise. + * libgnat/s-dourea.adb, libgnat/s-dourea.ads: Likewise. + * libgnat/s-dsaser.ads, libgnat/s-dwalin.adb: Likewise. + * libgnat/s-dwalin.ads, libgnat/s-elaall.adb: Likewise. + * libgnat/s-elaall.ads, libgnat/s-excdeb.adb: Likewise. + * libgnat/s-excdeb.ads, libgnat/s-except.adb: Likewise. + * libgnat/s-except.ads, libgnat/s-excmac__arm.adb: Likewise. + * libgnat/s-excmac__arm.ads, libgnat/s-excmac__gcc.adb: Likewise. + * libgnat/s-excmac__gcc.ads, libgnat/s-exctab.adb: Likewise. + * libgnat/s-exctab.ads, libgnat/s-exctra.adb: Likewise. + * libgnat/s-exctra.ads, libgnat/s-exnflt.ads: Likewise. + * libgnat/s-exnint.adb, libgnat/s-exnint.ads: Likewise. + * libgnat/s-exnlfl.ads, libgnat/s-exnllf.adb: Likewise. + * libgnat/s-exnllf.ads, libgnat/s-exnlli.adb: Likewise. + * libgnat/s-exnlli.ads, libgnat/s-exnllli.ads: Likewise. + * libgnat/s-expint.adb, libgnat/s-expint.ads: Likewise. + * libgnat/s-explli.adb, libgnat/s-explli.ads: Likewise. + * libgnat/s-expllli.ads, libgnat/s-explllu.ads: Likewise. + * libgnat/s-expllu.adb, libgnat/s-expllu.ads: Likewise. + * libgnat/s-expmod.adb, libgnat/s-expmod.ads: Likewise. + * libgnat/s-exponn.adb, libgnat/s-exponn.ads: Likewise. + * libgnat/s-exponr.adb, libgnat/s-exponr.ads: Likewise. + * libgnat/s-expont.adb, libgnat/s-expont.ads: Likewise. + * libgnat/s-exponu.adb, libgnat/s-exponu.ads: Likewise. + * libgnat/s-expuns.adb, libgnat/s-expuns.ads: Likewise. + * libgnat/s-fatflt.ads, libgnat/s-fatgen.adb: Likewise. + * libgnat/s-fatgen.ads, libgnat/s-fatlfl.ads: Likewise. + * libgnat/s-fatllf.ads, libgnat/s-ficobl.ads: Likewise. + * libgnat/s-filatt.ads, libgnat/s-fileio.adb: Likewise. + * libgnat/s-fileio.ads, libgnat/s-finmas.adb: Likewise. + * libgnat/s-finmas.ads, libgnat/s-finroo.adb: Likewise. + * libgnat/s-finroo.ads, libgnat/s-flocon.adb: Likewise. + * libgnat/s-flocon.ads, libgnat/s-flocon__none.adb: Likewise. + * libgnat/s-fode128.ads, libgnat/s-fode32.ads: Likewise. + * libgnat/s-fode64.ads, libgnat/s-fofi128.ads: Likewise. + * libgnat/s-fofi32.ads, libgnat/s-fofi64.ads: Likewise. + * libgnat/s-fore_d.adb, libgnat/s-fore_d.ads: Likewise. + * libgnat/s-fore_f.adb, libgnat/s-fore_f.ads: Likewise. + * libgnat/s-forrea.adb, libgnat/s-forrea.ads: Likewise. + * libgnat/s-gearop.adb, libgnat/s-gearop.ads: Likewise. + * libgnat/s-genbig.adb, libgnat/s-genbig.ads: Likewise. + * libgnat/s-geveop.adb, libgnat/s-geveop.ads: Likewise. + * libgnat/s-gloloc.adb, libgnat/s-gloloc.ads: Likewise. + * libgnat/s-gloloc__mingw.adb, libgnat/s-htable.adb: Likewise. + * libgnat/s-htable.ads, libgnat/s-imageb.adb: Likewise. + * libgnat/s-imageb.ads, libgnat/s-imaged.adb: Likewise. + * libgnat/s-imaged.ads, libgnat/s-imagef.adb: Likewise. + * libgnat/s-imagef.ads, libgnat/s-imagei.adb: Likewise. + * libgnat/s-imagei.ads, libgnat/s-imagen.adb: Likewise. + * libgnat/s-imagen.ads, libgnat/s-imager.adb: Likewise. + * libgnat/s-imager.ads, libgnat/s-imageu.adb: Likewise. + * libgnat/s-imageu.ads, libgnat/s-imagew.adb: Likewise. + * libgnat/s-imagew.ads, libgnat/s-imde128.ads: Likewise. + * libgnat/s-imde32.ads, libgnat/s-imde64.ads: Likewise. + * libgnat/s-imen16.ads, libgnat/s-imen32.ads: Likewise. + * libgnat/s-imenu8.ads, libgnat/s-imfi128.ads: Likewise. + * libgnat/s-imfi32.ads, libgnat/s-imfi64.ads: Likewise. + * libgnat/s-imgbiu.adb, libgnat/s-imgbiu.ads: Likewise. + * libgnat/s-imgboo.adb, libgnat/s-imgboo.ads: Likewise. + * libgnat/s-imgcha.adb, libgnat/s-imgcha.ads: Likewise. + * libgnat/s-imgflt.ads, libgnat/s-imgint.adb: Likewise. + * libgnat/s-imgint.ads, libgnat/s-imglfl.ads: Likewise. + * libgnat/s-imgllb.adb, libgnat/s-imgllb.ads: Likewise. + * libgnat/s-imgllf.ads, libgnat/s-imglli.adb: Likewise. + * libgnat/s-imglli.ads, libgnat/s-imglllb.ads: Likewise. + * libgnat/s-imgllli.ads, libgnat/s-imglllu.ads: Likewise. + * libgnat/s-imglllw.ads, libgnat/s-imgllu.adb: Likewise. + * libgnat/s-imgllu.ads, libgnat/s-imgllw.adb: Likewise. + * libgnat/s-imgllw.ads, libgnat/s-imgrea.adb: Likewise. + * libgnat/s-imgrea.ads, libgnat/s-imguns.adb: Likewise. + * libgnat/s-imguns.ads, libgnat/s-imguti.adb: Likewise. + * libgnat/s-imguti.ads, libgnat/s-imgwch.adb: Likewise. + * libgnat/s-imgwch.ads, libgnat/s-imgwiu.adb: Likewise. + * libgnat/s-imgwiu.ads, libgnat/s-io.adb, libgnat/s-io.ads: Likewise. + * libgnat/s-llflex.ads, libgnat/s-maccod.ads: Likewise. + * libgnat/s-mantis.adb, libgnat/s-mantis.ads: Likewise. + * libgnat/s-mastop.adb, libgnat/s-mastop.ads: Likewise. + * libgnat/s-memcop.ads, libgnat/s-memory.adb: Likewise. + * libgnat/s-memory.ads, libgnat/s-mmap.adb, libgnat/s-mmap.ads: Likewise. + * libgnat/s-mmauni__long.ads, libgnat/s-mmosin__mingw.adb: Likewise. + * libgnat/s-mmosin__mingw.ads, libgnat/s-mmosin__unix.adb: Likewise. + * libgnat/s-mmosin__unix.ads, libgnat/s-multip.adb: Likewise. + * libgnat/s-objrea.adb, libgnat/s-objrea.ads: Likewise. + * libgnat/s-optide.adb, libgnat/s-os_lib.adb: Likewise. + * libgnat/s-os_lib.ads, libgnat/s-osprim.ads: Likewise. + * libgnat/s-osprim__darwin.adb, libgnat/s-osprim__lynxos.ads: Likewise. + * libgnat/s-osprim__mingw.adb, libgnat/s-osprim__posix.adb: Likewise. + * libgnat/s-osprim__posix2008.adb, libgnat/s-osprim__rtems.adb: Likewise. + * libgnat/s-osprim__solaris.adb, libgnat/s-osprim__unix.adb: Likewise. + * libgnat/s-osprim__x32.adb, libgnat/s-pack03.adb: Likewise. + * libgnat/s-pack03.ads, libgnat/s-pack05.adb: Likewise. + * libgnat/s-pack05.ads, libgnat/s-pack06.adb: Likewise. + * libgnat/s-pack06.ads, libgnat/s-pack07.adb: Likewise. + * libgnat/s-pack07.ads, libgnat/s-pack09.adb: Likewise. + * libgnat/s-pack09.ads, libgnat/s-pack10.adb: Likewise. + * libgnat/s-pack10.ads, libgnat/s-pack100.adb: Likewise. + * libgnat/s-pack100.ads, libgnat/s-pack101.adb: Likewise. + * libgnat/s-pack101.ads, libgnat/s-pack102.adb: Likewise. + * libgnat/s-pack102.ads, libgnat/s-pack103.adb: Likewise. + * libgnat/s-pack103.ads, libgnat/s-pack104.adb: Likewise. + * libgnat/s-pack104.ads, libgnat/s-pack105.adb: Likewise. + * libgnat/s-pack105.ads, libgnat/s-pack106.adb: Likewise. + * libgnat/s-pack106.ads, libgnat/s-pack107.adb: Likewise. + * libgnat/s-pack107.ads, libgnat/s-pack108.adb: Likewise. + * libgnat/s-pack108.ads, libgnat/s-pack109.adb: Likewise. + * libgnat/s-pack109.ads, libgnat/s-pack11.adb: Likewise. + * libgnat/s-pack11.ads, libgnat/s-pack110.adb: Likewise. + * libgnat/s-pack110.ads, libgnat/s-pack111.adb: Likewise. + * libgnat/s-pack111.ads, libgnat/s-pack112.adb: Likewise. + * libgnat/s-pack112.ads, libgnat/s-pack113.adb: Likewise. + * libgnat/s-pack113.ads, libgnat/s-pack114.adb: Likewise. + * libgnat/s-pack114.ads, libgnat/s-pack115.adb: Likewise. + * libgnat/s-pack115.ads, libgnat/s-pack116.adb: Likewise. + * libgnat/s-pack116.ads, libgnat/s-pack117.adb: Likewise. + * libgnat/s-pack117.ads, libgnat/s-pack118.adb: Likewise. + * libgnat/s-pack118.ads, libgnat/s-pack119.adb: Likewise. + * libgnat/s-pack119.ads, libgnat/s-pack12.adb: Likewise. + * libgnat/s-pack12.ads, libgnat/s-pack120.adb: Likewise. + * libgnat/s-pack120.ads, libgnat/s-pack121.adb: Likewise. + * libgnat/s-pack121.ads, libgnat/s-pack122.adb: Likewise. + * libgnat/s-pack122.ads, libgnat/s-pack123.adb: Likewise. + * libgnat/s-pack123.ads, libgnat/s-pack124.adb: Likewise. + * libgnat/s-pack124.ads, libgnat/s-pack125.adb: Likewise. + * libgnat/s-pack125.ads, libgnat/s-pack126.adb: Likewise. + * libgnat/s-pack126.ads, libgnat/s-pack127.adb: Likewise. + * libgnat/s-pack127.ads, libgnat/s-pack13.adb: Likewise. + * libgnat/s-pack13.ads, libgnat/s-pack14.adb: Likewise. + * libgnat/s-pack14.ads, libgnat/s-pack15.adb: Likewise. + * libgnat/s-pack15.ads, libgnat/s-pack17.adb: Likewise. + * libgnat/s-pack17.ads, libgnat/s-pack18.adb: Likewise. + * libgnat/s-pack18.ads, libgnat/s-pack19.adb: Likewise. + * libgnat/s-pack19.ads, libgnat/s-pack20.adb: Likewise. + * libgnat/s-pack20.ads, libgnat/s-pack21.adb: Likewise. + * libgnat/s-pack21.ads, libgnat/s-pack22.adb: Likewise. + * libgnat/s-pack22.ads, libgnat/s-pack23.adb: Likewise. + * libgnat/s-pack23.ads, libgnat/s-pack24.adb: Likewise. + * libgnat/s-pack24.ads, libgnat/s-pack25.adb: Likewise. + * libgnat/s-pack25.ads, libgnat/s-pack26.adb: Likewise. + * libgnat/s-pack26.ads, libgnat/s-pack27.adb: Likewise. + * libgnat/s-pack27.ads, libgnat/s-pack28.adb: Likewise. + * libgnat/s-pack28.ads, libgnat/s-pack29.adb: Likewise. + * libgnat/s-pack29.ads, libgnat/s-pack30.adb: Likewise. + * libgnat/s-pack30.ads, libgnat/s-pack31.adb: Likewise. + * libgnat/s-pack31.ads, libgnat/s-pack33.adb: Likewise. + * libgnat/s-pack33.ads, libgnat/s-pack34.adb: Likewise. + * libgnat/s-pack34.ads, libgnat/s-pack35.adb: Likewise. + * libgnat/s-pack35.ads, libgnat/s-pack36.adb: Likewise. + * libgnat/s-pack36.ads, libgnat/s-pack37.adb: Likewise. + * libgnat/s-pack37.ads, libgnat/s-pack38.adb: Likewise. + * libgnat/s-pack38.ads, libgnat/s-pack39.adb: Likewise. + * libgnat/s-pack39.ads, libgnat/s-pack40.adb: Likewise. + * libgnat/s-pack40.ads, libgnat/s-pack41.adb: Likewise. + * libgnat/s-pack41.ads, libgnat/s-pack42.adb: Likewise. + * libgnat/s-pack42.ads, libgnat/s-pack43.adb: Likewise. + * libgnat/s-pack43.ads, libgnat/s-pack44.adb: Likewise. + * libgnat/s-pack44.ads, libgnat/s-pack45.adb: Likewise. + * libgnat/s-pack45.ads, libgnat/s-pack46.adb: Likewise. + * libgnat/s-pack46.ads, libgnat/s-pack47.adb: Likewise. + * libgnat/s-pack47.ads, libgnat/s-pack48.adb: Likewise. + * libgnat/s-pack48.ads, libgnat/s-pack49.adb: Likewise. + * libgnat/s-pack49.ads, libgnat/s-pack50.adb: Likewise. + * libgnat/s-pack50.ads, libgnat/s-pack51.adb: Likewise. + * libgnat/s-pack51.ads, libgnat/s-pack52.adb: Likewise. + * libgnat/s-pack52.ads, libgnat/s-pack53.adb: Likewise. + * libgnat/s-pack53.ads, libgnat/s-pack54.adb: Likewise. + * libgnat/s-pack54.ads, libgnat/s-pack55.adb: Likewise. + * libgnat/s-pack55.ads, libgnat/s-pack56.adb: Likewise. + * libgnat/s-pack56.ads, libgnat/s-pack57.adb: Likewise. + * libgnat/s-pack57.ads, libgnat/s-pack58.adb: Likewise. + * libgnat/s-pack58.ads, libgnat/s-pack59.adb: Likewise. + * libgnat/s-pack59.ads, libgnat/s-pack60.adb: Likewise. + * libgnat/s-pack60.ads, libgnat/s-pack61.adb: Likewise. + * libgnat/s-pack61.ads, libgnat/s-pack62.adb: Likewise. + * libgnat/s-pack62.ads, libgnat/s-pack63.adb: Likewise. + * libgnat/s-pack63.ads, libgnat/s-pack65.adb: Likewise. + * libgnat/s-pack65.ads, libgnat/s-pack66.adb: Likewise. + * libgnat/s-pack66.ads, libgnat/s-pack67.adb: Likewise. + * libgnat/s-pack67.ads, libgnat/s-pack68.adb: Likewise. + * libgnat/s-pack68.ads, libgnat/s-pack69.adb: Likewise. + * libgnat/s-pack69.ads, libgnat/s-pack70.adb: Likewise. + * libgnat/s-pack70.ads, libgnat/s-pack71.adb: Likewise. + * libgnat/s-pack71.ads, libgnat/s-pack72.adb: Likewise. + * libgnat/s-pack72.ads, libgnat/s-pack73.adb: Likewise. + * libgnat/s-pack73.ads, libgnat/s-pack74.adb: Likewise. + * libgnat/s-pack74.ads, libgnat/s-pack75.adb: Likewise. + * libgnat/s-pack75.ads, libgnat/s-pack76.adb: Likewise. + * libgnat/s-pack76.ads, libgnat/s-pack77.adb: Likewise. + * libgnat/s-pack77.ads, libgnat/s-pack78.adb: Likewise. + * libgnat/s-pack78.ads, libgnat/s-pack79.adb: Likewise. + * libgnat/s-pack79.ads, libgnat/s-pack80.adb: Likewise. + * libgnat/s-pack80.ads, libgnat/s-pack81.adb: Likewise. + * libgnat/s-pack81.ads, libgnat/s-pack82.adb: Likewise. + * libgnat/s-pack82.ads, libgnat/s-pack83.adb: Likewise. + * libgnat/s-pack83.ads, libgnat/s-pack84.adb: Likewise. + * libgnat/s-pack84.ads, libgnat/s-pack85.adb: Likewise. + * libgnat/s-pack85.ads, libgnat/s-pack86.adb: Likewise. + * libgnat/s-pack86.ads, libgnat/s-pack87.adb: Likewise. + * libgnat/s-pack87.ads, libgnat/s-pack88.adb: Likewise. + * libgnat/s-pack88.ads, libgnat/s-pack89.adb: Likewise. + * libgnat/s-pack89.ads, libgnat/s-pack90.adb: Likewise. + * libgnat/s-pack90.ads, libgnat/s-pack91.adb: Likewise. + * libgnat/s-pack91.ads, libgnat/s-pack92.adb: Likewise. + * libgnat/s-pack92.ads, libgnat/s-pack93.adb: Likewise. + * libgnat/s-pack93.ads, libgnat/s-pack94.adb: Likewise. + * libgnat/s-pack94.ads, libgnat/s-pack95.adb: Likewise. + * libgnat/s-pack95.ads, libgnat/s-pack96.adb: Likewise. + * libgnat/s-pack96.ads, libgnat/s-pack97.adb: Likewise. + * libgnat/s-pack97.ads, libgnat/s-pack98.adb: Likewise. + * libgnat/s-pack98.ads, libgnat/s-pack99.adb: Likewise. + * libgnat/s-pack99.ads, libgnat/s-parame.adb: Likewise. + * libgnat/s-parame.ads, libgnat/s-parame__hpux.ads: Likewise. + * libgnat/s-parame__posix2008.ads, libgnat/s-parame__rtems.adb: Likewise. + * libgnat/s-parame__vxworks.adb, libgnat/s-parame__vxworks.ads: Likewise. + * libgnat/s-parint.adb, libgnat/s-parint.ads: Likewise. + * libgnat/s-pehage.adb, libgnat/s-pehage.ads: Likewise. + * libgnat/s-pooglo.adb, libgnat/s-pooglo.ads: Likewise. + * libgnat/s-pooloc.adb, libgnat/s-pooloc.ads: Likewise. + * libgnat/s-poosiz.adb, libgnat/s-poosiz.ads: Likewise. + * libgnat/s-powflt.ads, libgnat/s-powlfl.ads: Likewise. + * libgnat/s-powllf.ads, libgnat/s-purexc.ads: Likewise. + * libgnat/s-putima.adb, libgnat/s-putima.ads: Likewise. + * libgnat/s-rannum.adb, libgnat/s-rannum.ads: Likewise. + * libgnat/s-ransee.adb, libgnat/s-ransee.ads: Likewise. + * libgnat/s-regexp.adb, libgnat/s-regexp.ads: Likewise. + * libgnat/s-regpat.adb, libgnat/s-regpat.ads: Likewise. + * libgnat/s-resfil.adb, libgnat/s-resfil.ads: Likewise. + * libgnat/s-restri.adb, libgnat/s-restri.ads: Likewise. + * libgnat/s-retsta.ads, libgnat/s-rident.ads, libgnat/s-rpc.adb: Likewise. + * libgnat/s-rpc.ads, libgnat/s-scaval.adb, libgnat/s-scaval.ads: Likewise. + * libgnat/s-scaval__128.adb, libgnat/s-scaval__128.ads: Likewise. + * libgnat/s-secsta.adb, libgnat/s-secsta.ads: Likewise. + * libgnat/s-sequio.adb, libgnat/s-sequio.ads: Likewise. + * libgnat/s-shabig.ads, libgnat/s-shasto.adb: Likewise. + * libgnat/s-shasto.ads, libgnat/s-soflin.adb: Likewise. + * libgnat/s-soflin.ads, libgnat/s-soliin.adb: Likewise. + * libgnat/s-soliin.ads, libgnat/s-spark.ads, libgnat/s-spcuop.adb: Likewise. + * libgnat/s-spcuop.ads, libgnat/s-spsufi.adb: Likewise. + * libgnat/s-spsufi.ads, libgnat/s-stache.adb: Likewise. + * libgnat/s-stache.ads, libgnat/s-stalib.adb: Likewise. + * libgnat/s-stalib.ads, libgnat/s-statxd.adb: Likewise. + * libgnat/s-statxd.ads, libgnat/s-stausa.adb: Likewise. + * libgnat/s-stausa.ads, libgnat/s-stchop.adb: Likewise. + * libgnat/s-stchop.ads, libgnat/s-stchop__limit.ads: Likewise. + * libgnat/s-stchop__vxworks.adb, libgnat/s-stoele.adb: Likewise. + * libgnat/s-stoele.ads, libgnat/s-stopoo.adb: Likewise. + * libgnat/s-stopoo.ads, libgnat/s-stposu.adb: Likewise. + * libgnat/s-stposu.ads, libgnat/s-stratt.adb: Likewise. + * libgnat/s-stratt.ads, libgnat/s-strcom.adb: Likewise. + * libgnat/s-strcom.ads, libgnat/s-strhas.adb: Likewise. + * libgnat/s-strhas.ads, libgnat/s-string.adb: Likewise. + * libgnat/s-string.ads, libgnat/s-ststop.adb: Likewise. + * libgnat/s-ststop.ads, libgnat/s-tasloc.adb: Likewise. + * libgnat/s-tasloc.ads, libgnat/s-traceb.adb: Likewise. + * libgnat/s-traceb.ads, libgnat/s-traceb__hpux.adb: Likewise. + * libgnat/s-traceb__mastop.adb, libgnat/s-traent.adb: Likewise. + * libgnat/s-traent.ads, libgnat/s-trasym.adb: Likewise. + * libgnat/s-trasym.ads, libgnat/s-trasym__dwarf.adb: Likewise. + * libgnat/s-tsmona.adb, libgnat/s-tsmona__linux.adb: Likewise. + * libgnat/s-tsmona__mingw.adb, libgnat/s-unstyp.ads: Likewise. + * libgnat/s-utf_32.adb, libgnat/s-utf_32.ads: Likewise. + * libgnat/s-vade128.ads, libgnat/s-vade32.ads: Likewise. + * libgnat/s-vade64.ads, libgnat/s-vaen16.ads: Likewise. + * libgnat/s-vaen32.ads, libgnat/s-vaenu8.ads: Likewise. + * libgnat/s-vafi128.ads, libgnat/s-vafi32.ads: Likewise. + * libgnat/s-vafi64.ads, libgnat/s-vaispe.adb: Likewise. + * libgnat/s-vaispe.ads, libgnat/s-valboo.adb: Likewise. + * libgnat/s-valboo.ads, libgnat/s-valcha.adb: Likewise. + * libgnat/s-valcha.ads, libgnat/s-valflt.ads: Likewise. + * libgnat/s-valint.adb, libgnat/s-valint.ads: Likewise. + * libgnat/s-vallfl.ads, libgnat/s-valllf.ads: Likewise. + * libgnat/s-vallli.adb, libgnat/s-vallli.ads: Likewise. + * libgnat/s-valllli.ads, libgnat/s-vallllu.ads: Likewise. + * libgnat/s-valllu.adb, libgnat/s-valllu.ads: Likewise. + * libgnat/s-valrea.adb, libgnat/s-valrea.ads: Likewise. + * libgnat/s-valued.adb, libgnat/s-valued.ads: Likewise. + * libgnat/s-valuef.adb, libgnat/s-valuef.ads: Likewise. + * libgnat/s-valuei.adb, libgnat/s-valuei.ads: Likewise. + * libgnat/s-valuen.adb, libgnat/s-valuen.ads: Likewise. + * libgnat/s-valuer.adb, libgnat/s-valuer.ads: Likewise. + * libgnat/s-valueu.adb, libgnat/s-valueu.ads: Likewise. + * libgnat/s-valuns.adb, libgnat/s-valuns.ads: Likewise. + * libgnat/s-valuti.adb, libgnat/s-valuti.ads: Likewise. + * libgnat/s-valwch.adb, libgnat/s-valwch.ads: Likewise. + * libgnat/s-vauspe.adb, libgnat/s-vauspe.ads: Likewise. + * libgnat/s-veboop.adb, libgnat/s-veboop.ads: Likewise. + * libgnat/s-vector.ads, libgnat/s-vercon.adb: Likewise. + * libgnat/s-vercon.ads, libgnat/s-wchcnv.adb: Likewise. + * libgnat/s-wchcnv.ads, libgnat/s-wchcon.adb: Likewise. + * libgnat/s-wchcon.ads, libgnat/s-wchjis.adb: Likewise. + * libgnat/s-wchjis.ads, libgnat/s-wchstw.adb: Likewise. + * libgnat/s-wchstw.ads, libgnat/s-wchwts.adb: Likewise. + * libgnat/s-wchwts.ads, libgnat/s-widboo.adb: Likewise. + * libgnat/s-widboo.ads, libgnat/s-widcha.adb: Likewise. + * libgnat/s-widcha.ads, libgnat/s-widenu.adb: Likewise. + * libgnat/s-widenu.ads, libgnat/s-widint.ads: Likewise. + * libgnat/s-widlli.adb, libgnat/s-widlli.ads: Likewise. + * libgnat/s-widllli.ads, libgnat/s-widlllu.ads: Likewise. + * libgnat/s-widllu.adb, libgnat/s-widllu.ads: Likewise. + * libgnat/s-widthi.adb, libgnat/s-widthi.ads: Likewise. + * libgnat/s-widthu.adb, libgnat/s-widthu.ads: Likewise. + * libgnat/s-widuns.ads, libgnat/s-widwch.adb: Likewise. + * libgnat/s-widwch.ads, libgnat/s-win32.ads, libgnat/s-winext.ads: Likewise. + * libgnat/s-wwdcha.adb, libgnat/s-wwdcha.ads: Likewise. + * libgnat/s-wwdenu.adb, libgnat/s-wwdenu.ads: Likewise. + * libgnat/s-wwdwch.adb, libgnat/s-wwdwch.ads: Likewise. + * libgnat/system-aix.ads, libgnat/system-darwin-arm.ads: Likewise. + * libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads: Likewise. + * libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads: Likewise. + * libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads: Likewise. + * libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads: Likewise. + * libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads: Likewise. + * libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads: Likewise. + * libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads: Likewise. + * libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads: Likewise. + * libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads: Likewise. + * libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads: Likewise. + * libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads: Likewise. + * libgnat/system-qnx-arm.ads, libgnat/system-rtems.ads: Likewise. + * libgnat/system-solaris-sparc.ads: Likewise. + * libgnat/system-solaris-x86.ads: Likewise. + * libgnat/system-vxworks-ppc-kernel.ads: Likewise. + * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise. + * libgnat/system-vxworks-ppc-rtp.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-ppc-kernel.ads: Likewise. + * libgnat/system-vxworks7-ppc-rtp-smp.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_64-kernel.ads: Likewise. + * libgnat/system-vxworks7-x86_64-rtp-smp.ads, link.c, live.adb: Likewise. + * live.ads, locales.c, make.adb, make.ads, make_util.adb: Likewise. + * make_util.ads, makeusg.adb, makeusg.ads, mdll-fil.adb: Likewise. + * mdll-fil.ads, mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads: Likewise. + * mingw32.h, mkdir.c, namet-sp.adb, namet-sp.ads, namet.adb: Likewise. + * namet.ads, namet.h, nlists.adb, nlists.ads, nlists.h, opt.adb: Likewise. + * opt.ads, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads: Likewise. + * osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads, osint.adb: Likewise. + * osint.ads, output.adb, output.ads, par-ch10.adb, par-ch11.adb: Likewise. + * par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb: Likewise. + * par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch7.adb, par-ch8.adb: Likewise. + * par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb: Likewise. + * par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, par.adb: Likewise. + * par.ads, par_sco.adb, par_sco.ads: Likewise. + * pprint.adb, pprint.ads, prep.adb, prep.ads: Likewise. + * prepcomp.adb, prepcomp.ads, put_scos.adb, put_scos.ads: Likewise. + * raise-gcc.c, raise.c, raise.h, repinfo-input.adb: Likewise. + * repinfo-input.ads, repinfo.adb, repinfo.ads, repinfo.h: Likewise. + * restrict.adb, restrict.ads, rident.ads, rtfinal.c, rtinit.c: Likewise. + * rtsfind.adb, rtsfind.ads, runtime.h, s-oscons-tmplt.c: Likewise. + * scans.adb, scans.ads, scil_ll.adb, scil_ll.ads, scn.adb: Likewise. + * scn.ads, scng.adb, scng.ads, scos.adb, scos.ads: Likewise. + * scos.h, sdefault.ads, seh_init.c, sem.adb, sem.ads: Likewise. + * sem_aggr.adb, sem_aggr.ads, sem_attr.adb, sem_attr.ads: Likewise. + * sem_aux.adb, sem_aux.ads, sem_case.adb, sem_case.ads: Likewise. + * sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads: Likewise. + * sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads: Likewise. + * sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads: Likewise. + * sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads, sem_ch5.adb: Likewise. + * sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch7.ads: Likewise. + * sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_ch9.ads, sem_dim.adb: Likewise. + * sem_dim.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb: Likewise. + * sem_dist.ads, sem_elab.adb, sem_elab.ads, sem_elim.adb: Likewise. + * sem_elim.ads, sem_eval.adb, sem_eval.ads, sem_intr.adb: Likewise. + * sem_intr.ads, sem_mech.adb, sem_mech.ads, sem_prag.adb: Likewise. + * sem_prag.ads, sem_res.adb, sem_res.ads, sem_scil.adb: Likewise. + * sem_scil.ads, sem_smem.adb, sem_smem.ads, sem_type.adb: Likewise. + * sem_type.ads, sem_util.adb, sem_util.ads, sem_warn.adb: Likewise. + * sem_warn.ads, set_targ.adb, set_targ.ads, sfn_scan.adb: Likewise. + * sfn_scan.ads, sigtramp-arm-qnx.c, sigtramp-armdroid.c: Likewise. + * sigtramp-ios.c, sigtramp-qnx.c: Likewise. + * sigtramp-vxworks-target.h, sigtramp-vxworks.c, sigtramp.h: Likewise. + * sinfo-cn.adb, sinfo-cn.ads, sinfo-utils.adb, sinfo-utils.ads: Likewise. + * sinfo.adb, sinfo.ads, sinput-c.adb, sinput-c.ads, sinput-d.adb: Likewise. + * sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.adb: Likewise. + * sinput.ads, socket.c, spark_xrefs.adb, spark_xrefs.ads: Likewise. + * sprint.adb, sprint.ads, stand.ads: Likewise. + * stringt.adb, stringt.ads, stringt.h, strub.adb, strub.ads: Likewise. + * style.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb: Likewise. + * stylesw.ads, switch-b.adb, switch-b.ads, switch-c.adb: Likewise. + * switch-c.ads, switch-m.adb, switch-m.ads, switch.adb: Likewise. + * switch.ads, sysdep.c, table.adb: Likewise. + * table.ads, targext.c, targparm.adb, targparm.ads, tbuild.adb: Likewise. + * tbuild.ads, tempdir.adb, tempdir.ads, terminals.c, tracebak.c: Likewise. + * treepr.adb, treepr.ads, ttypes.ads, types.adb, types.ads: Likewise. + * types.h, uintp.adb, uintp.ads, uintp.h, uname.adb, uname.ads: Likewise. + * urealp.adb, urealp.ads, urealp.h, usage.adb, usage.ads: Likewise. + * validsw.adb, validsw.ads, vast.adb, vast.ads, warnsw.adb: Likewise. + * warnsw.ads, widechar.adb, widechar.ads, xoscons.adb: Likewise. + * xsnamest.adb, xutil.adb, xutil.ads, gnatvsn.adb: Likewise. + * gnatvsn.ads (Current_Year): Likewise and bump to 2023. + +2023-01-09 Eric Botcazou + + * exp_ch7.adb (Make_Adjust_Call): Remove unreachable statement. + (Make_Final_Call): Likewise. + +2023-01-09 Eric Botcazou + + * exp_util.ads (Is_Tag_To_Class_Wide_Conversion): Delete. + (Is_Displacement_Of_Object_Or_Function_Result): Likewise. + * exp_util.adb (Is_Tag_To_Class_Wide_Conversion): Rename to... + (Is_Temporary_For_Interface_Object): ...this. + (Is_Finalizable_Transient): Adjust call to above renaming. + (Is_Displacement_Of_Object_Or_Function_Result): Delete. + (Requires_Cleanup_Actions): Remove special handling of the + temporaries created for interface objects. + * exp_ch7.adb (Build_Finalizer): Likewise. + +2023-01-07 LIU Hao + + PR middle-end/108300 + * adaint.c: Define `WIN32_LEAN_AND_MEAN` before `#include + `. + * cio.c: Likewise. + * ctrl_c.c: Likewise. + * expect.c: Likewise. + * gsocket.h: Likewise. + * mingw32.h: Likewise. + * mkdir.c: Likewise. + * rtfinal.c: Likewise. + * rtinit.c: Likewise. + * seh_init.c: Likewise. + * sysdep.c: Likewise. + * terminals.c: Likewise. + * tracebak.c: Likewise. + +2023-01-05 Eric Botcazou + + * exp_util.adb (Make_CW_Equivalent_Type) : Tweak. + +2023-01-05 Eric Botcazou + + * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite the end of the + handling of objects with (class-wide) interface type by using the + same idiom as the other cases generating a renaming. + * exp_util.adb (Is_Displacement_Of_Object_Or_Function_Result): Tweak + pattern matching code and exclude special return objects. + (Requires_Cleanup_Actions): Adjust comment. + * exp_ch7.adb (Build_Finalizer): Likewise. + +2023-01-05 Piotr Trojanek + + * freeze.adb (Build_Renamed_Body): Rewrite subprogram renaming to + subprogram declaration early and then set the Body_To_Inling flag. + +2023-01-05 Piotr Trojanek + + * freeze.adb (Build_Renamed_Body): Revert a special case for + GNATprove; remove unnecessary initialization of a local variable. + +2023-01-05 Marc Poulhiès + + * sem_ch12.adb (Instantiate_Package_Body): Better filtering when + installing parent on the scope stack. + +2023-01-05 Eric Botcazou + + * repinfo.ads (The JSON output format): Document change. + * urealp.adb (UR_Write_To_JSON): Output a fraction instead of a + decimal approximation. + +2023-01-05 Eric Botcazou + + * exp_ch3.adb (Expand_N_Object_Declaration): New local variable + Func_Id holding the function for a special return object. + Use a direct renaming in the class-wide case when the initializing + expression is a captured function call, except for a special return + object when the two functions do not return on the same stack. + Apply the accessibility check for class-wide special return objects. + * exp_util.adb (Make_CW_Equivalent_Type) : New. + Do not force a dispatching call to the primitive operation _Size if + the expression is known to statically have the tag of its type. + +2023-01-05 Eric Botcazou + + * exp_ch3.adb (Expand_N_Object_Declaration): Fix pasto in comment. + +2023-01-05 Ronan Desplanques + + * sem_aggr.adb (Resolve_Array_Aggregate): Tweak conditions for + warning about use of parentheses for array aggregates. + +2023-01-05 Javier Miranda + + * scans.ads (Tok_Left_Curly_Bracket, Tok_Right_Curly_Bracket) + (Tok_Left_Interpolated_String): Placed in no category since they + don't fit well in the existing categories. Fix typo in comment. + (Inside_Interpolated_String_Literal): New scan state variable. + * scng.adb (Slit): Scan interpolated string literals, + continuations of interpolated string literals and escaped + characters found in interpolated string literals. + (Scan): Handle consecutive interpolated expressions. Handle ending + delimiter placed immediately after an interpolated expression. + Handle string literal placed after interpolated expression. Handle + left and right curly brackets; when extensions are not allowed + they are treated as left and right paren; when extensions are + allowed they are handled as delimiters of interpolated string + literals. + * sinfo.ads (N_Interpolated_String_Literal): New node. + * gen_il-gen-gen_nodes.adb (N_Interpolated_String_Literal): Define + N_String_Literal node. + * gen_il-types.ads (Opt_Type_Enum): Define N_String_Literal as + concrete node type. + * par-ch2.adb (P_Interpolated_String_Literal): New subprogram. + * par-ch4.adb (P_Simple_Expression): Handle '}' as expression + terminator when scanning an interpolated expression; disable error + recovery machinery for binary operator when we are processing an + interpolated string literal and reach the expression terminator + '}'. + (P_Primary): Call P_Interpolated_String_Literal when the opening + interpolated-string-literal delimiter is found (that is, the left + curly bracket '{'). + * par-tchk.adb (T_Right_Curly_Bracket): New subprogram. + * par.adb (P_Interpolated_String_Literal): New declaration. + (T_Right_Curly_Bracket): New declaration. + * sem.adb (Analyze): Call Analyze_Interpolated_String_Literal. + * sem_ch2.ads (Analyze_Interpolated_String_Literal): New + subprogram + * sem_ch2.adb (Analyze_Interpolated_String_Literal): Likewise. + * sem_util.adb (Is_User_Defined_Literal): Complete mapping of + literal aspects adding that interpolated string literals have no + correspondence with any aspect. + * sem_res.adb (Resolve_Interpolated_String_Literal): New + subprogram. + (Has_Applicable_User_Defined_Literal): Complete mapping of literal + aspects adding that interpolated string literals have no + correspondency with any aspect. + * expander.adb (Expand): Add call to + Expand_N_Interpolated_String_Literal. + * exp_util.adb (Insert_Actions): Handle + N_Interpolated_String_Literal nodes; that is, continue climbing. + * exp_ch2.ads (Expand_N_Interpolated_String_Literal): New + subprogram. + * exp_ch2.adb (Expand_N_Interpolated_String_Literal): Likewise. + * exp_put_image.adb (Build_Elementary_Put_Image_Call): Add missing + conversion to force dispatching call. Required to handle calls to + descendants. + (Build_String_Put_Image_Call): Do not output string delimiters + when the put_image call is part of an interpolated string literal. + * rtsfind.ads (RTU_Id): Add RE_Set_Trim_Leading_Spaces. + * sprint.adb (Sprint_Node): Output interpolated string contents. + * libgnat/a-stbubo.adb (Get_UTF_8): Add default value for + Trim_Leading_White_Spaces component in aggregate. + (Buffer_Type_Implementation): Update Trim_Leading_White_Spaces. + * libgnat/a-stbuun.adb (Get_UTF_8): Likewise. + (Buffer_Type_Implementation): Likewise. + * libgnat/a-sttebu.ads (Set_Trim_Leading_Spaces): New subprogram. + (Trim_Leading_Spaces): New subprogram. + (Root_Buffer_Type): Adding Trim_Leading_While_Spaces component. + * libgnat/a-sttebu.adb (procedure Set_Trim_Leading_Spaces): New + subprogram. + (Trim_Leading_Space): New subprogram. + (Put_UTF_8): Handle Trim_Leading_White_Spaces. + (New_Line): Likewise. + * libgnat/s-putima.ads (Put_Image_String): Adding formal + (with_delimiters). + (Put_Image_Wide_String): Likewise. + (Put_Image_Wide_Wide_String): Likewise. + * libgnat/s-putima.adb (Put_Image_String): Adding support for new + formal. + (Put_Image_Wide_String): Likewise. + (Put_Image_Wide_Wide_String): Likewise. + +2023-01-05 Joao Azevedo + + * doc/gnat_ugn/gnat_utility_programs.rst: add gnatpp --layout + switch and update legacy switches. + +2023-01-05 Eric Botcazou + + * freeze.adb (Freeze_Entity): For the purpose of deciding whether to + freeze an entity coming from an outer scope in an inner scope, treat + the internal subprogram generated because of post-conditions as also + coming from source if the original subprogram itself does. + +2023-01-05 Eric Botcazou + + * contracts.adb (Build_Subprogram_Contract_Wrapper): Generate an + extended return statement in all cases. + (Expand_Subprogram_Contract): Adjust comment. + +2023-01-05 Ronan Desplanques + + * libgnat/g-forstr.adb (F_Kind): Rename enumeration literal. + (P_Flt_Format): Adjust handling of "%g". + (Determine_Notation_And_Aft): New procedure. + (Decimal_Exponent): New function. + (Increment_Integral_Part): New procedure. + (Remove_Extraneous_Decimal_Digit): New procedure. + (Trim_Fractional_Part): New procedure. + * libgnat/g-forstr.ads: Change description of "%g" specifier. + +2023-01-05 Marc Poulhiès + + * sem_ch12.adb (Instantiate_Package_Body): Correctly find the + parent instance to place on the scope stack. + +2023-01-05 Justin Squirek + + * sem_ch8.adb (Set_Entity_Or_Discriminal): Verify we are actually + resetting the entity field of a non-prefixed discriminant + reference. + +2023-01-05 Eric Botcazou + + * exp_ch3.adb (Expand_N_Object_Declaration): New local variable used + throughout instead of testing Is_Special_Return_Object every time. + Do not rename an OK_To_Rename object for a special return object. + * exp_ch4.adb (Expand_Concatenate): Revert to constrained allocation + if the result is allocated on the secondary stack. + +2023-01-05 Steve Baird + + * sem_prag.adb (Analyze_Pragma): Fix Is_Configuration_Pragma + function to handle case where the pragma's parent is an + N_Aspect_Specification node. In analyzing a Discard_Names pragma, + do not assume that a nonzero number of arguments implies that the + pragma is not a configuration pragma; that assumption only holds + for legal programs. + +2023-01-05 Bob Duff + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Add RM references. + * gnat_ugn.texi: Regenerate. + +2023-01-05 Eric Botcazou + + * exp_ch3.adb (Expand_N_Object_Declaration): For a special return + object of an interface type that is not inherently limited, make + a call to the Adjust primitive after doing the copy. For a special + return object of a non-class-wide type initialized by a function + call, use a direct renaming only if the object doing the capture + is flagged by Is_Related_To_Func_Return. For a special return + object using a direct renaming, reassign the tag, if need be. + * exp_ch6.adb (Expand_Simple_Function_Return): Fix comment. + * exp_util.adb (Is_Related_To_Func_Return): Accept both regular and + renaming object declarations for return objects. + +2023-01-05 Bob Duff + + * sem_ch5.adb (Analyze_Assignment): Fix the bug by checking + Original_Node. The renaming might be elsewhere, but the (original) + reference is right here. + * errout.adb: Remove pragma Unreferenced which was added because + of the above bug. + * einfo.ads: Misc cleanup. + * lib.adb: Likewise. + * lib.ads: Likewise. + +2023-01-03 Ghjuvan Lacambre + + * errout.adb (Write_JSON_Span): Escape subprogram name. + +2023-01-03 Ghjuvan Lacambre + + * output.adb (Write_Buffer): Use Flush_Buffer instead of Write_Eol. + +2023-01-03 Ronan Desplanques + + * libgnat/g-forstr.adb (P_Flt_Format): Add "*" syntax handling. + +2023-01-03 Ronan Desplanques + + * libgnat/g-forstr.adb (P_Int_Format): Fix parsing bug. + +2023-01-03 Eric Botcazou + + * exp_ch6.adb (Expand_Simple_Function_Return): Make sure that a + captured function call also verifies Is_Related_To_Func_Return. + Do not generate an actual subtype for special return objects. + * exp_util.ads (Is_Related_To_Func_Return): Add commentary. + +2023-01-03 Ronan Desplanques + + * libgnat/g-forstr.adb + (Advance_And_Accumulate_Until_Next_Specifier): New procedure. + ("-"): Replace inline code with call to + Advance_And_Accumulate_Until_Next_Specifier. + (Next_Format): likewise. + +2023-01-03 Eric Botcazou + + * checks.adb (Apply_Discriminant_Check.Denotes_Explicit_Dereference): + Return false for artificial dereferences generated by the expander. + +2023-01-03 Eric Botcazou + + * exp_ch6.adb (Is_Build_In_Place_Function): Adjust comment. + * sem_util.adb (Compute_Returns_By_Ref): Do not set Returns_By_Ref + on functions with foreign convention. + +2023-01-03 Marc Poulhiès + + * exp_aggr.adb (Build_Assignment_With_Temporary): New. + (Expand_Array_Aggregate): Tune backend optimization + and insert a temporary in the case of an access with + Designated_Storage_Model aspect. + (Convert_Array_Aggr_In_Allocator): Likewise. + +2023-01-03 Eric Botcazou + + * sem_res.adb (Resolve_Membership_Op): Adjust again latest change. + +2023-01-03 Eric Botcazou + + * sem_util.ads (Set_Debug_Info_Defining_Id): Adjust comment. + * sem_util.adb (Is_Aliased_View) : Return + false for more artificial dereferences generated by the expander. + (Set_Debug_Info_Defining_Id): Set Debug_Info_Needed unconditionally + in -gnatD mode. + * exp_ch6.adb (Replace_Renaming_Declaration_Id): Also preserve the + Is_Aliased flag. + +2023-01-03 Joel Brobecker + + * doc/gnat_ugn/platform_specific_information.rst + (_Platform_Specific_Information): Minor rewording of intro text. + * gnat_ugn.texi: Regenerate. + +2023-01-03 Eric Botcazou + + * exp_util.ads (Is_Captured_Function_Call): Declare. + * exp_util.adb (Is_Captured_Function_Call): New predicate. + * exp_ch3.adb (Expand_N_Object_Declaration): Use it to detect a + rewritten function call as the initializing expression. + * exp_ch6.adb (Expand_Simple_Function_Return): Use it to detect a + rewritten function call as the returned expression. + +2023-01-03 Bob Duff + + * exp_util.adb (Integer_Type_For): Assertion and comment. + (Small_Integer_Type_For): Remove some code and call + Integer_Type_For instead. + * sem_util.ads (Rep_To_Pos_Flag): Improve comments. "Standard_..." + seems overly pedantic here. + * exp_attr.adb (Succ, Pred): Clean up: make the code as similar as + possible. + * exp_ch4.adb: Minor: named notation. + +2023-01-03 Javier Miranda + + * ghost.adb (Is_OK_Declaration): A reference to a Ghost entity may + appear within the class-wide precondition of a helper subprogram. + This context is treated as suitable because it was already + verified when we were analyzing the original class-wide + precondition. + +2023-01-03 Eric Botcazou + + * exp_tss.adb (Base_Init_Proc): Do not return the Init_Proc of the + ancestor type for a derived array type. + * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Factor out the + common processing done on representation items. + For Default_Component_Value and Default_Value, look into the first + subtype to find out the representation items. + +2023-01-02 Iain Sandoe + + PR ada/108202 + * gcc-interface/Make-lang.in (GCC_LINKERFLAGS, GCC_LDFLAGS): + Versions of ALL_LINKERFLAGS, LDFLAGS with -Werror and + -static-libgcc filtered out for Darwin8 and 9 (-Werror is filtered + out for other hosts). + +2023-01-02 Jakub Jelinek + + * gnat_ugn.texi: Bump @copying's copyright year. + * gnat_rm.texi: Likewise. + + +Copyright (C) 2023 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 b/gcc/cp/ChangeLog index 857567658a1d..dc0c0dfb3863 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,4096 +1,5 @@ -2023-12-22 Jason Merrill - - PR c++/81438 - * decl.cc (poplevel_named_label_1): Handle leaving catch. - (check_previous_goto_1): Likewise. - (check_goto_1): Likewise. - -2023-12-22 Jason Merrill - - PR c++/95298 - * mangle.cc (write_expression): Handle v18 sizeof... bug. - * pt.cc (tsubst_pack_expansion): Keep TREE_VEC for sizeof... - (tsubst_expr): Don't strip TREE_VEC here. - -2023-12-21 Patrick Palka - - * cp-tree.h (maybe_warn_unparenthesized_assignment): Add - 'nested_p' bool parameter. - * semantics.cc (boolish_class_type_p_cache): Define. - (boolish_class_type_p): Define. - (maybe_warn_unparenthesized_assignment): Add 'nested_p' - bool parameter. Suppress the warning for nested assignments - to bool and bool-like class types. - (maybe_convert_cond): Pass nested_p=false to - maybe_warn_unparenthesized_assignment. - * typeck.cc (convert_for_assignment): Pass nested_p=true to - maybe_warn_unparenthesized_assignment. Remove now redundant - check for 'rhs' having bool type. - -2023-12-21 Patrick Palka - - PR c++/84542 - * decl.cc (merge_attribute_bits): Merge TREE_DEPRECATED - and TREE_UNAVAILABLE. - -2023-12-21 Patrick Palka - - PR c++/70413 - PR c++/107906 - * decl2.cc (min_vis_expr_r): Handle PTRMEM_CST and TEMPLATE_DECL - other than those for alias templates. - -2023-12-21 Jakub Jelinek - - * cp-gimplify.cc (cp_genericize_r): If warn_alloc_size, call - warn_for_alloc_size for -Walloc-size diagnostics. - * semantics.cc (finish_call_expr): If warn_calloc_transposed_args, - call warn_for_calloc for -Wcalloc-transposed-args diagnostics. - -2023-12-21 Jason Merrill - - PR c++/37722 - * decl.cc (identify_goto): Adjust for computed goto. - (struct named_label_use_entry): Add computed_goto field. - (poplevel_named_label_1): Add to computed_goto vec. - (check_previous_goto_1): Dump computed_goto vec. - (check_goto_1): Split out from check_goto. - (check_goto): Check all addressable labels for computed goto. - (struct named_label_entry): Add addressed field. - (mark_label_addressed): New. - * parser.cc (cp_parser_unary_expression): Call it. - * cp-tree.h (mark_label_addressed): Declare it. - -2023-12-20 Jason Merrill - - PR c++/113088 - PR c++/33799 - * except.cc (maybe_splice_retval_cleanup): Handle an empty block. - -2023-12-20 Jason Merrill - - PR c++/103185 - * typeck.cc (cp_build_array_ref): Handle swapped operands. - -2023-12-19 Patrick Palka - - PR c++/113063 - * method.cc (synthesize_method): Use maybe_push_to_top_level - and maybe_pop_from_top_level. - -2023-12-19 Patrick Palka - - * name-lookup.cc (struct local_state_t): Define. - (local_state_stack): Define. - (maybe_push_to_top_level): Use them. - (maybe_pop_from_top_level): Likewise. - * pt.cc (instantiate_decl): Remove dead code for saving/restoring - cp_unevaluated_operand and c_inhibit_evaluation_warnings. - -2023-12-19 Nathaniel Shead - - PR c++/102420 - * constexpr.cc (cxx_bind_parameters_in_call): Check for calling - non-static member functions with a null pointer. - -2023-12-19 Sandra Loosemore - - * decl.cc (omp_declare_variant_finalize_one): Adjust for new - representations. - * parser.cc (omp_construct_selectors): Delete. - (omp_device_selectors): Delete. - (omp_implementation_selectors): Delete. - (omp_user_selectors): Delete. - (cp_parser_omp_context_selector): Adjust for new representations - and simplify dispatch logic. Uniformly warn instead of sometimes - error when an unknown selector is found. Adjust error messages - for extraneous/incorrect score. - (cp_parser_omp_context_selector_specification): Likewise. - * pt.cc (tsubst_attribute): Adjust for new representations. - -2023-12-19 Sandra Loosemore - - * parser.cc (cp_parser_omp_context_selector): Adjust for new - namelist property representation. - * pt.cc (tsubst_attribute): Likewise. - -2023-12-19 Sandra Loosemore - - * parser.cc (cp_parser_omp_context_selector): Use new constructors. - * pt.cc: Include omp-general.h. - (tsubst_attribute): Use new context selector accessors and - constructors. - -2023-12-19 Patrick Palka - - PR c++/90679 - * cp-tree.h (comp_template_args): Remove partial_order parameter. - (template_args_equal): Likewise. - * pt.cc (comparing_for_partial_ordering): New global flag. - (iterative_hash_template_arg) : Hash the template - and arguments for specializations that use structural equality. - (template_args_equal): Remove partial order parameter and - use comparing_for_partial_ordering instead. - (comp_template_args): Likewise. - (comp_template_args_porder): Set comparing_for_partial_ordering - instead. Make static. - (any_template_arguments_need_structural_equality_p): Return true - for an argument that's a dependent alias template specialization - or a class template specialization that itself needs structural - equality. - * tree.cc (cp_tree_equal) : Adjust call to - comp_template_args. - -2023-12-19 Patrick Palka - - PR c++/90679 - * cp-tree.h (TEMPLATE_DECL_COMPLEX_ALIAS_P): Remove. - (most_general_template): Constify parameter. - * pt.cc (push_template_decl): Adjust after removing - TEMPLATE_DECL_COMPLEX_ALIAS_P. - (complex_alias_tmpl_info): New hash_map. - (uses_all_template_parms_data::seen): Change type to - tree* from bool*. - (complex_alias_template_r): Adjust accordingly. - (complex_alias_template_p): Add 'seen_out' out parameter. - Call most_general_template and check PRIMARY_TEMPLATE_P. - Use complex_alias_tmpl_info to cache the result and set - '*seen_out' accordigly. - (dependent_alias_template_spec_p): Add !processing_template_decl - early exit test. Consider dependence of only template arguments - corresponding to seen template parameters as per - -2023-12-19 Thomas Schwinge - - PR c++/90868 - * parser.cc (cp_parser_oacc_declare): For "more than once", check - the DECL that we're actually setting the attribute on. - -2023-12-16 Nathaniel Shead - - PR c++/106363 - * module.cc (module_state::write_cluster): Don't skip first - depset for bindings. - -2023-12-16 Nathaniel Shead - - PR c++/113031 - * constexpr.cc (cxx_fold_indirect_ref_1): Check for CLASS_TYPE - before using CLASSTYPE_AS_BASE. - -2023-12-16 Andrew Carlotti - - * decl2.cc (check_classfn): Update comment to include - target_version attributes. - -2023-12-15 Patrick Palka - - PR c++/70435 - PR c++/88061 - * pt.cc (tsubst_function_decl): Propagate DECL_SECTION_NAME - via set_decl_section_name. - (tsubst_decl) : Likewise. - -2023-12-15 Patrick Palka - - PR c++/109715 - * mangle.cc (get_abi_tags): Strip TEMPLATE_DECL before looking - up the abi_tag attribute. - -2023-12-14 Marek Polacek - - PR c++/112482 - * decl.cc (grokdeclarator): Do not issue the auto parameter error while - tentatively parsing a function parameter. - * parser.cc (cp_parser_parameter_declaration_clause): Check it here. - -2023-12-14 Marek Polacek - - PR c++/112869 - * cp-gimplify.cc (cp_fold_immediate_r): Check cp_unevaluated_operand - and DECL_IMMEDIATE_FUNCTION_P rather than in_immediate_context. - -2023-12-14 Patrick Palka - - * cp-tree.h (type_targs_deducible_from): Adjust return type. - * pt.cc (alias_ctad_tweaks): Also handle C++23 inherited CTAD. - (inherited_ctad_tweaks): Define. - (type_targs_deducible_from): Return the deduced arguments or - NULL_TREE instead of a bool. Handle 'tmpl' being a TREE_LIST - representing a synthetic alias template. - (ctor_deduction_guides_for): Do inherited_ctad_tweaks for each - USING_DECL in C++23 mode. - (deduction_guides_for): Add FIXME for stale cache entries in - light of inherited CTAD. - -2023-12-14 Jakub Jelinek - - PR c++/112968 - * pt.cc (freelist::reinit): Make whole obj->common - defined for valgrind annotations rather than just obj->base, - and do it even for ENABLE_GC_CHECKING. If not ENABLE_GC_CHECKING, - clear TREE_CHAIN (obj) and TREE_TYPE (obj). - -2023-12-13 Patrick Palka - - * call.cc (print_z_candidates): Only print ignored candidates - when -fdiagnostics-all-candidates is set, otherwise suggest - the flag. - (build_over_call): When diagnosing deletedness, note - other candidates only if -fdiagnostics-all-candidates is - set, otherwise suggest the flag. - -2023-12-13 Patrick Palka - - * call.cc (enum rejection_reason_code): Add rr_ignored. - (add_ignored_candidate): Define. - (ignored_candidate_p): Define. - (add_template_candidate_real): Do add_ignored_candidate - instead of returning NULL. - (splice_viable): Put ignored (non-viable) candidates last. - (print_z_candidate): Handle ignored candidates. - (build_new_function_call): Refine shortcut that calls - cp_build_function_call_vec now that non-templates can - appear in the candidate list for a template-id call. - (add_candidates): Replace 'bad_fns' overload with 'bad_cands' - candidate list. When not considering a candidate, add it - to the list as an ignored candidate. Add all 'bad_cands' - to the overload set as well. - -2023-12-13 Patrick Palka - - * call.cc: Include "tristate.h". - (splice_viable): Sort the candidate list according to viability. - Don't remove non-viable candidates from the list. - (print_z_candidates): Add defaulted only_viable_p parameter. - By default only print non-viable candidates if there is no - viable candidate. - (tourney): Ignore non-viable candidates. Move the true champ to - the front of the candidates list, and update 'candidates' to - point to the front. Rename champ_compared_to_predecessor to - previous_worse_champ. - -2023-12-13 Patrick Palka - - PR c++/99186 - PR c++/104867 - * pt.cc (unify) : Compare types as well. - -2023-12-13 Patrick Palka - - PR c++/93740 - * pt.cc (unify) : Handle it like FIELD_DECL - and TEMPLATE_DECL. - -2023-12-13 Jason Merrill - - * call.cc (convert_for_arg_passing) - * typeck.cc (convert_for_assignment): Adjust call to - warn_for_address_of_packed_member. - -2023-12-13 Julian Brown - - * parser.cc (cp_parser_oacc_all_clauses): Add TARGET_P parameter. Use - to select region type for finish_omp_clauses call. - (cp_parser_omp_target_data, cp_parser_omp_target_enter_data): Support - GOMP_MAP_ATTACH kind. - (cp_parser_omp_target_exit_data): Support GOMP_MAP_DETACH kind. - (cp_parser_oacc_declare): Update call to cp_parser_oacc_all_clauses. - (cp_parser_oacc_loop): Update calls to cp_parser_oacc_all_clauses. - (cp_parser_oacc_compute): Likewise. - * pt.cc (tsubst_expr): Use C_ORT_ACC_TARGET for call to - tsubst_omp_clauses for OpenACC compute regions. - * semantics.cc (cp_omp_address_inspector): New class, derived from - c_omp_address_inspector. - (handle_omp_array_sections_1, handle_omp_array_sections, - finish_omp_clauses): Use cp_omp_address_inspector class and OMP address - tokenizer to analyze and expand OpenMP map clause expressions. Fix - some diagnostics. Support C_ORT_ACC_TARGET. - (finish_omp_target): Handle GOMP_MAP_POINTER. - -2023-12-13 Julian Brown - - * semantics.cc (finish_omp_clause): Add braces and reindent - OMP_CLAUSE_TO/OMP_CLAUSE_FROM/OMP_CLAUSE__CACHE_ stanza. - -2023-12-13 Jason Merrill - - PR c++/96997 - * tree.cc (bot_manip): Check data.clear_location for TARGET_EXPR. - -2023-12-13 Nathaniel Shead - - PR c++/71093 - * constexpr.cc (constexpr_global_ctx::get_value_ptr): Don't - return NULL_TREE for objects we're initializing. - (constexpr_global_ctx::destroy_value): Rename from remove_value. - Only mark real variables as outside lifetime. - (constexpr_global_ctx::clear_value): New function. - (destroy_value_checked): New function. - (cxx_eval_call_expression): Defer complaining about non-constant - arg0 for operator delete. Use remove_value_safe. - (cxx_fold_indirect_ref_1): Handle conversion to 'as base' type. - (outside_lifetime_error): Include name of object we're - accessing. - (cxx_eval_store_expression): Handle clobbers. Improve error - messages. - (cxx_eval_constant_expression): Use remove_value_safe. Clear - bind variables before entering body. - -2023-12-13 Jason Merrill - - * constexpr.cc (cxx_eval_call_expression): Handle missing in-charge - argument. - -2023-12-13 Jason Merrill - - PR c++/108243 - * constexpr.cc (cxx_eval_outermost_constant_expr): Turn - a constructor CALL_EXPR into a TARGET_EXPR. - -2023-12-13 Jason Merrill - - * tree.cc (build_aggr_init_expr): Copy EXPR_LOCATION. - -2023-12-12 Jason Merrill - Jason Xu - - * class.cc (propagate_class_warmth_attribute): Handle - member templates. - -2023-12-12 Jason Merrill - Nathaniel Shead - - * call.cc (build_trivial_dtor_call): Use CLOBBER_OBJECT_END. - * decl.cc (build_clobber_this): Take clobber_kind argument. - (start_preparsed_function): Pass CLOBBER_OBJECT_BEGIN. - (begin_destructor_body): Pass CLOBBER_OBJECT_END. - -2023-12-11 Patrick Palka - - * pt.cc (alias_ctad_tweaks): Pass use_spec_table=false to - tsubst_decl. - -2023-12-11 Tobias Burnus - - * parser.cc (cp_parser_omp_requires): Handle acquires/release - in atomic_default_mem_order clause. - (cp_parser_omp_atomic): Update. - -2023-12-11 Nathaniel Shead - - PR c++/96090 - PR c++/100470 - * call.cc (build_over_call): Prevent folding of trivial special - members when checking for noexcept. - * method.cc (constructible_expr): Perform value-initialisation - for empty parameter lists. - (is_nothrow_xible): Treat as noexcept operator. - -2023-12-11 Nathaniel Shead - - PR c++/104234 - PR c++/112580 - * pt.cc (tsubst_template_decl): Clear - DECL_UNINSTANTIATED_TEMPLATE_FRIEND_P. - -2023-12-10 Ken Matsui - - * cp-trait.def: Define __remove_pointer. - * semantics.cc (finish_trait_type): Handle CPTK_REMOVE_POINTER. - -2023-12-10 Ken Matsui - - * cp-trait.def: Define __is_object. - * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_OBJECT. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2023-12-10 Ken Matsui - - * cp-trait.def: Define __is_function. - * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_FUNCTION. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2023-12-10 Ken Matsui - - * cp-trait.def: Define __is_reference. - * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_REFERENCE. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2023-12-10 Ken Matsui - - * cp-trait.def: Define __is_member_object_pointer. - * constraint.cc (diagnose_trait_expr): Handle - CPTK_IS_MEMBER_OBJECT_POINTER. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2023-12-10 Ken Matsui - - * cp-trait.def: Define __is_member_function_pointer. - * constraint.cc (diagnose_trait_expr): Handle - CPTK_IS_MEMBER_FUNCTION_POINTER. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2023-12-10 Ken Matsui - - * cp-trait.def: Define __is_member_pointer. - * constraint.cc (diagnose_trait_expr): Handle - CPTK_IS_MEMBER_POINTER. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2023-12-10 Ken Matsui - - * cp-trait.def: Define __is_scoped_enum. - * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_SCOPED_ENUM. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2023-12-10 Ken Matsui - - * cp-trait.def: Define __is_bounded_array. - * constraint.cc (diagnose_trait_expr): Handle - CPTK_IS_BOUNDED_ARRAY. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2023-12-10 Ken Matsui - - * cp-trait.def: Define __is_array. - * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_ARRAY. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2023-12-10 Jason Merrill - - * parser.cc (cp_parser_simple_type_specifier): Move trait - handling to default label. - -2023-12-10 Ken Matsui - - * parser.cc (cp_lexer_lookup_trait): Rename to ... - (cp_lexer_peek_trait): ... this. Handle a subsequent token for - the corresponding built-in trait. - (cp_lexer_lookup_trait_expr): Rename to ... - (cp_lexer_peek_trait_expr): ... this. - (cp_lexer_lookup_trait_type): Rename to ... - (cp_lexer_peek_trait_type): ... this. - (cp_lexer_next_token_is_decl_specifier_keyword): Call - cp_lexer_peek_trait_type. - (cp_parser_simple_type_specifier): Likewise. - (cp_parser_primary_expression): Call cp_lexer_peek_trait_expr. - -2023-12-10 Ken Matsui - Patrick Palka - - * cp-objcp-common.cc (names_builtin_p): Remove all RID value - cases for built-in traits. Check for built-in traits via - the new cik_trait kind. - * cp-tree.h (enum cp_trait_kind): Set its underlying type to - addr_space_t. - (struct cp_trait): New struct to hold trait information. - (cp_traits): New array to hold a mapping to all traits. - (cik_reserved_for_udlit): Rename to ... - (cik_trait): ... this. - (IDENTIFIER_ANY_OP_P): Exclude cik_trait. - (IDENTIFIER_TRAIT_P): New macro to detect cik_trait. - * lex.cc (cp_traits): Define its values, declared in cp-tree.h. - (init_cp_traits): New function to set cik_trait and - IDENTIFIER_CP_INDEX for all built-in trait identifiers. - (cxx_init): Call init_cp_traits function. - * parser.cc (cp_lexer_lookup_trait): New function to look up a - built-in trait by IDENTIFIER_CP_INDEX. - (cp_lexer_lookup_trait_expr): Likewise, look up an - expression-yielding built-in trait. - (cp_lexer_lookup_trait_type): Likewise, look up a type-yielding - built-in trait. - (cp_keyword_starts_decl_specifier_p): Remove all RID value cases - for built-in traits. - (cp_lexer_next_token_is_decl_specifier_keyword): Handle - type-yielding built-in traits. - (cp_parser_primary_expression): Remove all RID value cases for - built-in traits. Handle expression-yielding built-in traits. - (cp_parser_trait): Handle cp_trait instead of enum rid. - (cp_parser_simple_type_specifier): Remove all RID value cases - for built-in traits. Handle type-yielding built-in traits. - -2023-12-10 Ken Matsui - - * constraint.cc (diagnose_trait_expr): Sort built-in traits - alphabetically. - * cp-trait.def: Likewise. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - (finish_trait_type): Likewise. - -2023-12-09 Jakub Jelinek - - * parser.cc (cp_parser_statement, cp_parser_expression_statement, - cp_parser_declaration, cp_parser_asm_definition): Don't diagnose - ignored attributes if !any_nonignored_attribute_p. - * decl.cc (grokdeclarator): Likewise. - * name-lookup.cc (handle_namespace_attrs, finish_using_directive): - Don't diagnose ignoring of attr_ignored_p attributes. - -2023-12-08 Patrick Palka - - PR c++/83167 - * semantics.cc (capture_decltype): Inline into its only caller ... - (finish_decltype_type): ... here. Update nearby comment to refer - to recent standard. Add FIXME. Restrict uncaptured variable type - transformation to happen only for lambdas with a by-copy - capture-default. - -2023-12-08 Jakub Jelinek - - * parser.cc (cp_parser_std_attribute_spec): Return void_list_node - rather than NULL_TREE if token is neither CPP_OPEN_SQUARE nor - RID_ALIGNAS CPP_KEYWORD. - (cp_parser_std_attribute_spec_seq): For attr_spec == void_list_node - break, for attr_spec == NULL_TREE continue. - -2023-12-08 Jakub Jelinek - - PR sanitizer/112727 - * cp-gimplify.cc (cp_fold): If SAVE_EXPR has been previously - folded, unshare_expr what is returned. - -2023-12-08 Patrick Palka - - PR c++/112658 - * parser.cc (cp_parser_expression_statement): If the statement - is error_mark_node, make sure we've seen_error(). - -2023-12-08 Patrick Palka - - PR c++/112658 - PR c++/94264 - * typeck.cc (cp_build_c_cast): If we're committed to a const_cast - and the result is erroneous, call build_const_cast_1 a second - time to issue errors. Use complain=tf_none instead of =false. - -2023-12-06 David Malcolm - - * cp-tree.h (cxx_print_error_function): Make diagnostic_info param - const. - * error.cc (cxx_print_error_function): Likewise. - (cp_diagnostic_starter): Likewise. - (cp_print_error_function): Likewise. - -2023-12-06 Jason Merrill - - DR 532 - PR c++/53499 - * pt.cc (more_specialized_fn): Fix object parameter handling. - -2023-12-05 Jakub Jelinek - - PR c++/112795 - * cp-tree.h (cp_check_pragma_unroll): Declare. - * semantics.cc (cp_check_pragma_unroll): New function. - * parser.cc (cp_parser_pragma_unroll): Use cp_check_pragma_unroll. - * pt.cc (tsubst_expr) : Likewise. - (tsubst_stmt) : Likwsie. - -2023-12-05 Richard Sandiford - - * tree.cc (cxx_gnu_attribute_table): Add extra braces to work - around PR 16333 in older compilers. - -2023-12-05 Jakub Jelinek - - PR c++/110734 - * parser.cc (cp_parser_block_declaration): Implement C++ DR 2262 - - Attributes for asm-definition. Call cp_parser_asm_definition - even if RID_ASM token is only seen after sequence of standard - attributes. - (cp_parser_asm_definition): Parse standard attributes before - RID_ASM token and warn for them with -Wattributes. - -2023-12-05 Marek Polacek - - PR c++/107687 - PR c++/110997 - * call.cc (in_immediate_context): No longer static. - * constexpr.cc (cxx_eval_call_expression): Adjust assert. - * cp-gimplify.cc (deferred_escalating_exprs): New vec. - (remember_escalating_expr): New. - (enum fold_flags): Remove ff_fold_immediate. - (immediate_escalating_function_p): New. - (unchecked_immediate_escalating_function_p): New. - (promote_function_to_consteval): New. - (cp_fold_immediate): Move above. Return non-null if any errors were - emitted. - (maybe_explain_promoted_consteval): New. - (cp_gimplify_expr) : Assert we've handled all - immediate invocations. - (taking_address_of_imm_fn_error): New. - (cp_fold_immediate_r): Merge ADDR_EXPR and PTRMEM_CST cases. Implement - P2564 - promoting functions to consteval. - : Implement P2564 - promoting functions to consteval. - (cp_fold_r): If an expression turns into a CALL_EXPR after cp_fold, - call cp_fold_immediate_r on the CALL_EXPR. - (cp_fold_function): Set DECL_ESCALATION_CHECKED_P if - deferred_escalating_exprs does not contain current_function_decl. - (process_and_check_pending_immediate_escalating_fns): New. - * cp-tree.h (struct lang_decl_fn): Add escalated_p bit-field. - (DECL_ESCALATION_CHECKED_P): New. - (immediate_invocation_p): Declare. - (process_pending_immediate_escalating_fns): Likewise. - * decl2.cc (c_parse_final_cleanups): Set at_eof to 2 after all - templates have been instantiated; and to 3 at the end of the function. - Call process_pending_immediate_escalating_fns. - * error.cc (dump_template_bindings): Check at_eof against an updated - value. - * module.cc (trees_out::lang_decl_bools): Stream escalated_p. - (trees_in::lang_decl_bools): Likewise. - * pt.cc (push_tinst_level_loc): Set at_eof to 3, not 2. - * typeck.cc (cp_build_addr_expr_1): Don't check - DECL_IMMEDIATE_FUNCTION_P. - -2023-12-04 Jason Merrill - - * constexpr.cc (potential_constant_expression_1): Fix - check for loading volatile lvalue. - -2023-12-04 Jakub Jelinek - - PR c++/112795 - * cp-tree.h (cp_convert_range_for): Change UNROLL type from - unsigned short to tree. - (finish_while_stmt_cond, finish_do_stmt, finish_for_cond): Likewise. - * parser.cc (cp_parser_statement): Pass NULL_TREE rather than 0 to - cp_parser_iteration_statement UNROLL argument. - (cp_parser_for, cp_parser_c_for): Change UNROLL type from - unsigned short to tree. - (cp_parser_range_for): Likewise. Set RANGE_FOR_UNROLL to just UNROLL - rather than build_int_cst from it. - (cp_convert_range_for, cp_parser_iteration_statement): Change UNROLL - type from unsigned short to tree. - (cp_parser_omp_loop_nest): Pass NULL_TREE rather than 0 to - cp_parser_range_for UNROLL argument. - (cp_parser_pragma_unroll): Return tree rather than unsigned short. - If parsed expression is type dependent, just return it, don't diagnose - issues with value if it is value dependent. - (cp_parser_pragma): Change UNROLL type from unsigned short to tree. - * semantics.cc (finish_while_stmt_cond): Change UNROLL type from - unsigned short to tree. Build ANNOTATE_EXPR with UNROLL as its last - operand rather than build_int_cst from it. - (finish_do_stmt, finish_for_cond): Likewise. - * pt.cc (tsubst_stmt) : Change UNROLL type from - unsigned short to tree and set it to RECUR on RANGE_FOR_UNROLL (t). - (tsubst_expr) : For annot_expr_unroll_kind repeat - checks on UNROLL value from cp_parser_pragma_unroll. - -2023-12-02 Richard Sandiford - - * cp-tree.h (cxx_attribute_table): Delete. - (cxx_gnu_attribute_table, std_attribute_table): Declare. - * cp-objcp-common.h (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Delete. - (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Delete. - (cp_objcp_attribute_table): New table. - (LANG_HOOKS_ATTRIBUTE_TABLE): Redefine. - * tree.cc (cxx_attribute_table): Replace with... - (cxx_gnu_attributes, cxx_gnu_attribute_table): ...these globals. - (std_attribute_table): Change type to scoped_attribute_specs, using... - (std_attributes): ...this as the underlying array. - (init_tree): Remove call to register_scoped_attributes. - -2023-12-01 Jason Merrill - - * mangle.cc (write_type): Mangle placeholder as its template. - -2023-12-01 Jason Merrill - - * cp-tree.h (TEMPLATE_ARGS_TYPE_CONSTRAINT_P): New. - (get_concept_check_template): Declare. - * constraint.cc (combine_constraint_expressions) - (finish_shorthand_constraint): Use UNKNOWN_LOCATION. - * pt.cc (convert_generic_types_to_packs): Likewise. - * mangle.cc (write_constraint_expression) - (write_tparms_constraints, write_type_constraint) - (template_parm_natural_p, write_requirement) - (write_requires_expr): New. - (write_encoding): Mangle trailing requires-clause. - (write_name): Pass parms to write_template_args. - (write_template_param_decl): Factor out from... - (write_closure_template_head): ...here. - (write_template_args): Mangle non-natural parms - and requires-clause. - (write_expression): Handle REQUIRES_EXPR. - -2023-12-01 Jason Merrill - - * semantics.cc (finish_non_static_data_member) - (finish_decltype_type, capture_decltype): - Handle deduced closure parameter. - -2023-11-30 Marek Polacek - - PR c++/112744 - * typeck.cc (finish_class_member_access_expr): When accessing - a static data member, use ba_any for lookup_base. - -2023-11-30 Jakub Jelinek - - PR c++/110349 - * cp-tree.h: Implement C++26 P2169R4 - Placeholder variables with no - name. - (OVL_NAME_INDEPENDENT_DECL_P): Define. - (add_capture): Add unsigned * argument. - (name_independent_decl_p): New inline function. - * name-lookup.cc (class name_lookup): Make ambiguous and - add_value members public. - (name_independent_linear_search): New function. - (get_class_binding_direct): Handle member_vec_binary_search - returning OVL_NAME_INDEPENDENT_DECL_P OVERLOAD. Use - name_independent_linear_search rather than fields_linear_search - for linear lookup of _ name if !want_type. - (member_name_cmp): Sort name-independent declarations first. - (member_vec_dedup): Handle name-independent declarations. - (pop_local_binding): Handle binding->value being a TREE_LIST for - ambiguous name-independent declarations. - (supplement_binding): Handle name-independent declarations. - (update_binding): Likewise. - (check_local_shadow): Return tree rather than void, normally - NULL_TREE but old for name-independent declarations which used - to conflict with outer scope declaration. Don't emit -Wshadow* - warnings for name-independent declarations. - (pushdecl): Handle name-independent declarations. - * search.cc (lookup_field_r): Handle nval being a TREE_LIST. - * lambda.cc (build_capture_proxy): Adjust for ___. - names of members. - (add_capture): Add NAME_INDEPENDENT_CNT argument. Use ___. - name rather than ___ for second and following capture with - _ name. - (add_default_capture): Adjust add_capture caller. - * decl.cc (poplevel): Don't warn about name-independent declarations. - (duplicate_decls): If in C++26 a _ named declaration conflicts with - earlier declarations, emit explaining note why the new declaration - is not name-independent. - (reshape_init_class): If field is a TREE_LIST, emit an ambiguity - error with list of candidates rather than error about non-existing - non-static data member. - * parser.cc (cp_parser_lambda_introducer): Adjust add_capture callers. - Allow name-independent capture redeclarations. - (cp_parser_decomposition_declaration): Set decl_specs.storage_class - to sc_static for static structured bindings. - * pt.cc (tsubst_lambda_expr): Adjust add_capture caller. - -2023-11-30 Alexandre Oliva - - * decl.cc (finish_enum_value_list): Set TYPE_PACKED if - use_short_enum, and propagate it to variants. - -2023-11-30 Jason Merrill - - * cp-tree.h (LAMBDA_EXPR_MUTABLE_P): Remove. - * cp-tree.def: Remove documentation. - * lambda.cc (build_lambda_expr): Remove reference. - * parser.cc (cp_parser_lambda_declarator_opt): Likewise. - * pt.cc (tsubst_lambda_expr): Likewise. - * ptree.cc (cxx_print_lambda_node): Likewise. - * semantics.cc (capture_decltype): Get the object quals - from the object instead. - -2023-11-29 Marek Polacek - - PR c++/106650 - * constexpr.cc (cxx_eval_constant_expression) : Allow - reference to unknown/this as per P2280. - : Allow reference to unknown as per P2280. - -2023-11-29 Patrick Palka - - PR c++/112765 - * pt.cc (tsubst_expr) : Look through implicit - INDIRECT_REF when propagating -Wparentheses warning suppression. - * semantics.cc (maybe_warn_unparenthesized_assignment): Replace - REFERENCE_REF_P handling with STRIP_REFERENCE_REF. - (finish_parenthesized_expr): Likewise. - -2023-11-29 Jakub Jelinek - - * semantics.cc (finish_static_assert): Free buf on error return. - -2023-11-29 Alexandre Oliva - - * decl.cc (maybe_prepare_return_this): Split out of... - (maybe_return_this): ... this. - * cp-tree.h (maybe_prepare_return_this): Declare. - * class.cc (build_clone): Call it. - -2023-11-29 Alexandre Oliva - - * contracts.cc (check_postcondition_result): Cope with - cdtor_return_this. - -2023-11-28 Jason Merrill - - PR c++/94264 - PR c++/53220 - * call.cc (convert_like_internal): Remove obsolete comment. - * typeck.cc (decay_conversion): Allow array prvalue. - (maybe_warn_about_returning_address_of_local): Check - for returning pointer to temporary. - -2023-11-28 Jakub Jelinek - - * cp-objcp-common.cc (cp_feature_table): Evaluate - __has_extension (cxx_init_captures) to 1 even for -std=c++11. - -2023-11-27 Alex Coplan - Iain Sandoe - - PR c++/60512 - * cp-lang.cc (c_family_register_lang_features): New. - * cp-objcp-common.cc (struct cp_feature_selector): New. - (cp_feature_selector::has_feature): New. - (struct cp_feature_info): New. - (cp_register_features): New. - * cp-objcp-common.h (cp_register_features): New. - -2023-11-25 Nathaniel Shead - - * name-lookup.cc (check_can_export_using_decl): New. - (do_nonmember_using_decl): Use above to check if names can be - exported. - -2023-11-25 Nathaniel Shead - - PR c++/102341 - * decl.cc (duplicate_decls): Allow exporting a redeclaration of - a typedef. - -2023-11-24 Tobias Burnus - - * parser.cc (cp_parser_omp_clause_dist_schedule, - cp_parser_omp_scan_loop_body, cp_parser_omp_assumption_clauses, - cp_parser_omp_depobj): Add OPT_Wopenmp to warning_at. - * semantics.cc (finish_omp_clauses): Likewise. - -2023-11-24 Tobias Burnus - - * parser.cc (cp_parser_omp_depobj): Accept optionally an argument - to the destroy clause. - -2023-11-24 Nathaniel Shead - - PR c++/99232 - * decl.cc (grokvardecl): Don't mark variables attached to - modules as internal. - -2023-11-24 Nathaniel Shead - - PR c++/107398 - * module.cc (trees_out::get_merge_kind): Handle lambdas in class - scope. - (maybe_key_decl): Remove assertion and fix whitespace. - -2023-11-24 Nathaniel Shead - - PR c++/98885 - * decl.cc (duplicate_decls): Adjust error message. - (xref_tag): Adjust error message. Check exporting decl that is - already declared as non-exporting. - -2023-11-23 Jakub Jelinek - - PR c++/110348 - * parser.cc: Implement C++26 P2741R3 - user-generated static_assert - messages. - (cp_parser_static_assert): Parse message argument as - conditional-expression if it is not a pure string literal or - several of them concatenated followed by closing paren. - * semantics.cc (finish_static_assert): Handle message which is not - STRING_CST. For condition with bare parameter packs return early. - * pt.cc (tsubst_expr) : Also tsubst_expr - message and make sure that if it wasn't originally STRING_CST, it - isn't after tsubst_expr either. - -2023-11-22 Patrick Palka - - PR c++/112633 - * pt.cc (tsubst_aggr_type): Handle empty TYPE_TEMPLATE_INFO - in the entering_scope adjustment. - -2023-11-22 Jason Merrill - - * decl.cc (start_preparsed_function): Clarify ctype logic. - -2023-11-20 Marc Poulhiès - - * lambda.cc (compare_lambda_sig): Fix typo in variadic. - -2023-11-20 Jason Merrill - - * pt.cc (comp_template_parms): Just one level. - (template_parameter_lists_equivalent_p): Likewise. - -2023-11-20 Jason Merrill - - * cp-tree.h (DECL_TEMPLATE_PARM_CHECK): New. - (DECL_IMPLICIT_TEMPLATE_PARM_P): New. - (decl_template_parm_check): New. - * mangle.cc (write_closure_template_head): Use it. - * parser.cc (synthesize_implicit_template_parm): Likewise. - * pt.cc (template_parameters_equivalent_p): Likewise. - -2023-11-19 Nathaniel Shead - - PR c++/99187 - * cp-tree.h (enum cp_tree_index): Add CPTI_THREAD_ATEXIT. - (thread_atexit_node): New. - * decl.cc (get_thread_atexit_node): Cache in thread_atexit_node. - -2023-11-19 David Malcolm - - * mapper-client.cc: Include "rich-location.h". - -2023-11-16 Jakub Jelinek - - PR c++/112365 - * class.cc (layout_class_type): Don't - SET_DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD on FIELD_DECLs with - error_mark_node type. - -2023-11-16 Patrick Palka - - PR c++/111703 - PR c++/107939 - * constexpr.cc (potential_constant_expression_1) : - Fix FUNCTION_POINTER_TYPE_P test. - -2023-11-16 Marek Polacek - - PR c++/112410 - * parser.cc (cp_parser_direct_declarator): Maybe call - abort_fully_implicit_template if it turned out the parameter list was - ill-formed. - -2023-11-15 Bernhard Reutner-Fischer - - * tree.cc (build_cplus_array_type): Revert using the macro - CAN_HAVE_LOCATION_P. - -2023-11-15 Patrick Palka - - PR c++/112515 - * decl.cc (is_direct_enum_init): Check type-dependence of the - single element. - -2023-11-15 Patrick Palka - - PR c++/101043 - * tree.cc (strip_typedefs_expr) : Handle - non-empty TREE_PURPOSE. - -2023-11-15 Patrick Palka - - PR c++/112427 - * tree.cc (build_min_non_dep): Propagate TREE_SIDE_EFFECTS from - the original arguments. - (build_min_non_dep_call_vec): Likewise. - * typeck2.cc (build_m_component_ref): Use cp_convert, build2 and - cp_fully_fold instead of fold_build_pointer_plus and fold_convert. - Don't build the POINTER_PLUS_EXPR in a template context. - -2023-11-15 Patrick Palka - - PR c++/111703 - PR c++/112269 - * constexpr.cc (potential_constant_expression_1) : - Only consider var_in_maybe_constexpr_fn if 'now' is false. - : Likewise. - -2023-11-15 Jakub Jelinek - - * typeck.cc: Implement C++26 P2864R2 - Remove Deprecated Arithmetic - Conversion on Enumerations From C++26. - (do_warn_enum_conversions): Return bool rather than void, add COMPLAIN - argument. Use pedwarn rather than warning_at for C++26 and remove - " is deprecated" part of the diagnostics in that case. For SFINAE - in C++26 return true on newly erroneous cases. - (cp_build_binary_op): For C++26 call do_warn_enum_conversions - unconditionally, pass complain argument to it and if it returns true, - return error_mark_node. - * call.cc (build_conditional_expr): Use pedwarn rather than warning_at - for C++26 and remove " is deprecated" part of the diagnostics in that - case and check for complain & tf_warning_or_error. Use emit_diagnostic - with cxx_dialect >= cxx26 ? DK_PEDWARN : DK_WARNING. For SFINAE in - C++26 return error_mark_node on newly erroneous cases. - (build_new_op): Use emit_diagnostic with cxx_dialect >= cxx26 - ? DK_PEDWARN : DK_WARNING and complain & tf_warning_or_error check - for C++26. For SFINAE in C++26 return error_mark_node on newly - erroneous cases. - -2023-11-14 Nathaniel Shead - - PR c++/103499 - * module.cc (trees_out::decl_node): Write DECL_VINDEX for - virtual clones. - (trees_in::tree_node): Read DECL_VINDEX for virtual clones. - -2023-11-14 Nathaniel Shead - - PR c++/106849 - * name-lookup.cc (do_nonmember_using_decl): Handle - TEMPLATE_DECLs when checking module attachment. - -2023-11-14 David Malcolm - - * decl.cc (finish_function): Update call to - global_dc->m_option_enabled to use option_enabled_p. - -2023-11-14 David Malcolm - - * contracts.cc (build_comment): Use global_dc's file_cache. - -2023-11-14 Jonathan Wakely - - PR c++/111842 - PR c++/112498 - * call.cc (convert_like_internal): Use OPT_Wnarrowing for - pedwarns about illformed conversions involving extended - floating-point types. Clarify that ISO C++ requires these - diagnostics. - -2023-11-14 Jakub Jelinek - - PR c/111309 - * call.cc (magic_varargs_p): Return 4 for - BUILT_IN_{CLZ,CTZ,CLRSB,FFS,PARITY,POPCOUNT}G. - (build_over_call): Don't promote first argument of - BUILT_IN_{CLZ,CTZ,CLRSB,FFS,PARITY,POPCOUNT}G. - * cp-gimplify.cc (cp_gimplify_expr): For BUILT_IN_C{L,T}ZG use - c_gimplify_expr. - -2023-11-10 Patrick Palka - - PR c++/79620 - * cp-tree.h (STRIP_REFERENCE_REF): Define. - * semantics.cc (outer_var_p): Assert REFERENCE_REF_P is false. - (finish_decltype_type): Look through implicit INDIRECT_REF when - deciding whether to call capture_decltype. - -2023-11-10 Patrick Palka - - PR c++/79378 - PR c++/96917 - * semantics.cc (finish_decltype_type): Handle an id-expression - naming a capture proxy specially. - -2023-11-07 Kwok Cheung Yeung - - * cp-tree.h (cp_omp_declare_target_attr): Add indirect field. - * decl2.cc (cplus_decl_attributes): Add attribute for indirect - functions. - * parser.cc (cp_parser_omp_clause_name): Handle indirect clause. - (cp_parser_omp_clause_indirect): New. - (cp_parser_omp_all_clauses): Handle indirect clause. - (handle_omp_declare_target_clause): Add extra parameter. Add - indirect attribute for indirect functions. - (OMP_DECLARE_TARGET_CLAUSE_MASK): Add indirect clause to mask. - (cp_parser_omp_declare_target): Handle indirect clause. Emit error - message if device_type or indirect clauses used alone. Emit error - if indirect clause used with device_type that is not 'any'. - (OMP_BEGIN_DECLARE_TARGET_CLAUSE_MASK): Add indirect clause to mask. - (cp_parser_omp_begin): Handle indirect clause. - * semantics.cc (finish_omp_clauses): Handle indirect clause. - -2023-11-04 Jakub Jelinek - - * parser.h (struct cp_parser): Adjust comment on omp_attrs_forbidden_p - member. - * parser.cc (cp_parser_omp_section_scan): Allow __directive__ spelling. - -2023-11-04 David Malcolm - - * call.cc: Update for changes to diagnostic_context. - * class.cc: Likewise. - * decl.cc: Likewise. - * error.cc: Likewise. - * except.cc: Likewise. - * pt.cc: Likewise. - -2023-11-02 Jason Merrill - - * semantics.cc (nrv_data): Change visited to hash_set. - (finalize_nrv_r): Reorganize. - -2023-11-02 Jason Merrill - - PR c++/112301 - PR c++/102191 - PR c++/33799 - * except.cc (maybe_splice_retval_cleanup): Clear - current_retval_sentinel when destroying retval. - * semantics.cc (nrv_data): Add in_nrv_cleanup. - (finalize_nrv): Set it. - (finalize_nrv_r): Fix handling of throwing cleanups. - -2023-11-02 Jakub Jelinek - - PR c++/110342 - * parser.cc: Implement C++26 P2361R6 - Unevaluated strings. - (uneval_string_attr): New enumerator. - (cp_parser_string_literal_common): Add UNEVAL argument. If true, - pass CPP_UNEVAL_STRING rather than CPP_STRING to - cpp_interpret_string_notranslate. - (cp_parser_string_literal, cp_parser_userdef_string_literal): Adjust - callers of cp_parser_string_literal_common. - (cp_parser_unevaluated_string_literal): New function. - (cp_parser_parenthesized_expression_list): Handle uneval_string_attr. - (cp_parser_linkage_specification): Use - cp_parser_unevaluated_string_literal for C++26. - (cp_parser_static_assert): Likewise. - (cp_parser_std_attribute): Use uneval_string_attr for standard - deprecated and nodiscard attributes. - -2023-10-31 David Malcolm - - * module.cc (ordinary_loc_of): Update for removal of - MACRO_MAP_EXPANSION_POINT_LOCATION. - (module_state::note_location): Update for renaming of field. - (module_state::write_macro_maps): Likewise. - -2023-10-27 Patrick Palka - - PR c++/111929 - * init.cc (build_new_1): Remove unnecessary call to convert - on 'nelts'. Use build2 instead of fold_build2 for - 'outer_nelts_checks'. - -2023-10-27 Patrick Palka - - * cp-tree.h (maybe_warn_unparenthesized_assignment): Declare. - * semantics.cc (is_assignment_op_expr_p): Generalize to return - true for any assignment operator expression, not just one that - has been resolved to an operator overload. - (maybe_warn_unparenthesized_assignment): Factored out from ... - (maybe_convert_cond): ... here. - (finish_parenthesized_expr): Mention - maybe_warn_unparenthesized_assignment. - * typeck.cc (convert_for_assignment): Replace -Wparentheses - warning logic with maybe_warn_unparenthesized_assignment. - -2023-10-27 Lewis Hyatt - - PR preprocessor/87299 - * parser.cc (cp_lexer_new_main): Call c_reset_target_pragmas () - after preprocessing is complete, before starting compilation. - -2023-10-26 liuhongt - - * typeck.cc (build_vec_cmp): Pass type of arg0 to - truth_type_for. - -2023-10-25 Jason Merrill - - * cp-tree.def: Improve OFFSET_REF comment. - * cp-gimplify.cc (cp_fold_immediate): Add to comment. - -2023-10-25 Thomas Schwinge - - * parser.cc (cp_parser_omp_clause_name): Return - 'PRAGMA_OACC_CLAUSE_SELF' for "self". - (cp_parser_oacc_data_clause, OACC_UPDATE_CLAUSE_MASK): Adjust. - (cp_parser_oacc_all_clauses): Remove 'bool compute_p' formal - parameter, and instead locally determine whether we're called for - an OpenACC compute construct or OpenACC 'update' directive. - (cp_parser_oacc_compute): Adjust. - -2023-10-25 Chung-Lin Tang - - * parser.cc (cp_parser_oacc_compute_clause_self): New function. - (cp_parser_oacc_all_clauses): Add new 'bool compute_p = false' - parameter, add parsing of self clause when compute_p is true. - (OACC_KERNELS_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_SELF. - (OACC_PARALLEL_CLAUSE_MASK): Likewise, - (OACC_SERIAL_CLAUSE_MASK): Likewise. - (cp_parser_oacc_compute): Adjust call to c_parser_oacc_all_clauses to - set compute_p argument to true. - * pt.cc (tsubst_omp_clauses): Add OMP_CLAUSE_SELF case. - * semantics.cc (c_finish_omp_clauses): Add OMP_CLAUSE_SELF case, merged - with OMP_CLAUSE_IF case. - -2023-10-25 Marek Polacek - - PR c++/111895 - * typeck.cc (build_static_cast_1): Call decay_conversion. - -2023-10-24 Patrick Palka - - PR c++/111929 - * init.cc (build_new_1): Use convert, build2, build3 and - cp_fully_fold instead of fold_convert, size_binop and - fold_build3 when building up 'size'. - -2023-10-24 Patrick Palka - - PR c++/111919 - * tree.cc (cp_stabilize_reference): Do nothing when - processing_template_decl. - -2023-10-22 Patrick Palka - - PR objc++/111920 - * pt.cc (tsubst_expr) : Use tsubst instead - of tsubst_expr. - -2023-10-20 Jason Merrill - - * call.cc (implicit_conversion_1): Rename... - (implicit_conversion): ...to this. Remove the old wrapper. - -2023-10-20 Jason Merrill - - * call.cc (tourney): Only skip champ_compared_to_predecessor. - -2023-10-20 Nathan Sidwell - - PR c++/105322 - * module.cc (trees_out::core_vals): Stream CONSTRUCTOR operands - after the type. - (trees_in::core_vals): Likewise. - -2023-10-20 Patrick Palka - - * cp-lang.cc (objcp_tsubst_copy_and_build): Rename to ... - (objcp_tsubst_expr): ... this. - * cp-objcp-common.h (objcp_tsubst_copy_and_build): Rename to ... - (objcp_tsubst_expr): ... this. - * cp-tree.h (tsubst_copy_and_build): Remove declaration. - * init.cc (maybe_instantiate_nsdmi_init): Use tsubst_expr - instead of tsubst_copy_and_build. - * pt.cc (expand_integer_pack): Likewise. - (instantiate_non_dependent_expr_internal): Likewise. - (instantiate_class_template): Use tsubst_stmt instead of - tsubst_expr for STATIC_ASSERT. - (tsubst_function_decl): Adjust tsubst_copy_and_build uses. - (tsubst_arg_types): Likewise. - (tsubst_exception_specification): Likewise. - (tsubst_tree_list): Likewise. - (tsubst): Likewise. - (tsubst_name): Likewise. - (tsubst_omp_clause_decl): Use tsubst_stmt instead of tsubst_expr. - (tsubst_omp_clauses): Likewise. - (tsubst_copy_asm_operands): Adjust tsubst_copy_and_build use. - (tsubst_omp_for_iterator): Use tsubst_stmt instead of tsubst_expr. - (tsubst_expr): Rename to ... - (tsubst_stmt): ... this. - : Move to tsubst_expr. - (tsubst_omp_udr): Use tsubst_stmt instead of tsubst_expr. - (tsubst_non_call_postfix_expression): Adjust tsubst_copy_and_build - use. - (tsubst_lambda_expr): Likewise. Use tsubst_stmt instead of - tsubst_expr for the body of a lambda. - (tsubst_copy_and_build_call_args): Rename to ... - (tsubst_call_args): ... this. Adjust tsubst_copy_and_build use. - (tsubst_copy_and_build): Rename to tsubst_expr. Adjust - tsubst_copy_and_build and tsubst_copy_and_build_call_args use. - : Use tsubst_stmt instead of tsubst_expr. - (maybe_instantiate_noexcept): Adjust tsubst_copy_and_build use. - (instantiate_body): Use tsubst_stmt instead of tsubst_expr for - substituting the function body. - (tsubst_initializer_list): Adjust tsubst_copy_and_build use. - -2023-10-20 Patrick Palka - - * cp-tree.h (enum tsubst_flags): Add tf_no_name_lookup. - * pt.cc (tsubst_pack_expansion): Use tsubst for substituting - BASES_TYPE. - (tsubst_decl) : Use tsubst_name instead of - tsubst_copy. - (tsubst) : Use tsubst_copy_and_build - instead of tsubst_copy for substituting - CLASS_PLACEHOLDER_TEMPLATE. - : Use tsubst_name instead of tsubst_copy for - substituting TYPENAME_TYPE_FULLNAME. - (tsubst_name): Define. - (tsubst_qualified_id): Use tsubst_name instead of tsubst_copy - for substituting the component name of a SCOPE_REF. - (tsubst_copy): Remove. - (tsubst_copy_and_build): Clear tf_no_name_lookup at the start, - and remember if it was set. Call maybe_dependent_member_ref if - tf_no_name_lookup was not set. - : Don't do name lookup if tf_no_name_lookup - was set. - : If tf_no_name_lookup was set, use - tsubst_name instead of tsubst_copy_and_build to substitute the - template and don't finish the template-id. - : Handle identifier and type operand (if - tf_no_name_lookup was set). - : Avoid trying to resolve a SCOPE_REF if - tf_no_name_lookup was set by calling build_qualified_name directly - instead of tsubst_qualified_id. - : Handling of sizeof... copied from tsubst_copy. - : Use tsubst_name instead of tsubst_copy to - substitute a TEMPLATE_ID_EXPR callee naming an unresolved template. - : Likewise to substitute the member. - : Copied from tsubst_copy and merged with ... - : ... these. Initial handling copied - from tsubst_copy. Optimize local variable substitution by - trying retrieve_local_specialization before checking - uses_template_parms. - : Copied from tsubst_copy. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - : Use tsubst and tsubst_copy_and_build instead - of tsubst_copy. - : Copied from tsubst_copy. - (tsubst_initializer_list): Use tsubst and tsubst_copy_and_build - instead of tsubst_copy. - -2023-10-20 Patrick Palka - - PR c++/106086 - * parser.cc (cp_parser_postfix_expression): Consolidate three - calls to finish_call_expr, one to build_new_method_call and - one to build_min_nt_call_vec into one call to finish_call_expr. - Don't call maybe_generic_this_capture here. - * pt.cc (tsubst_copy_and_build) : Remove - COMPONENT_REF callee handling. - (type_dependent_expression_p): Use t_d_object_e_p instead of - t_d_e_p for COMPONENT_REF and OFFSET_REF. - * semantics.cc (finish_call_expr): In the type-dependent case, - call maybe_generic_this_capture here instead. - -2023-10-20 Patrick Palka - - * call.cc (build_new_method_call): Remove calls to - build_non_dependent_expr and/or make_args_non_dependent. - * coroutines.cc (finish_co_return_stmt): Likewise. - * cp-tree.h (build_non_dependent_expr): Remove. - (make_args_non_dependent): Remove. - * decl2.cc (grok_array_decl): Remove calls to - build_non_dependent_expr and/or make_args_non_dependent. - (build_offset_ref_call_from_tree): Likewise. - * init.cc (build_new): Likewise. - * pt.cc (make_args_non_dependent): Remove. - (test_build_non_dependent_expr): Remove. - (cp_pt_cc_tests): Adjust. - * semantics.cc (finish_expr_stmt): Remove calls to - build_non_dependent_expr and/or make_args_non_dependent. - (finish_for_expr): Likewise. - (finish_call_expr): Likewise. - (finish_omp_atomic): Likewise. - * typeck.cc (finish_class_member_access_expr): Likewise. - (build_x_indirect_ref): Likewise. - (build_x_binary_op): Likewise. - (build_x_array_ref): Likewise. - (build_x_vec_perm_expr): Likewise. - (build_x_shufflevector): Likewise. - (build_x_unary_op): Likewise. - (cp_build_addressof): Likewise. - (build_x_conditional_expr): Likewise. - (build_x_compound_expr): Likewise. - (build_static_cast): Likewise. - (build_x_modify_expr): Likewise. - (check_return_expr): Likewise. - * typeck2.cc (build_x_arrow): Likewise. - -2023-10-20 Patrick Palka - - * class.cc (instantiate_type): Remove NON_DEPENDENT_EXPR - handling. - * constexpr.cc (cxx_eval_constant_expression): Likewise. - (potential_constant_expression_1): Likewise. - * coroutines.cc (coro_validate_builtin_call): Don't - expect ALIGNOF_EXPR to be wrapped in NON_DEPENDENT_EXPR. - * cp-objcp-common.cc (cp_common_init_ts): Remove - NON_DEPENDENT_EXPR handling. - * cp-tree.def (NON_DEPENDENT_EXPR): Remove. - * cp-tree.h (build_non_dependent_expr): Temporarily redefine as - the identity function. - * cvt.cc (maybe_warn_nodiscard): Handle type-dependent and - variable callee of CALL_EXPR. - * cxx-pretty-print.cc (cxx_pretty_printer::expression): Remove - NON_DEPENDENT_EXPR handling. - * error.cc (dump_decl): Likewise. - (dump_expr): Likewise. - * expr.cc (mark_use): Likewise. - (mark_exp_read): Likewise. - * pt.cc (build_non_dependent_expr): Remove. - * tree.cc (lvalue_kind): Remove NON_DEPENDENT_EXPR handling. - (cp_stabilize_reference): Likewise. - * typeck.cc (warn_for_null_address): Likewise. - (cp_build_binary_op): Handle type-dependent SIZEOF_EXPR operands. - (cp_build_unary_op) : Don't fold inside a - template. - -2023-10-20 Alexandre Oliva - - * decl.cc (push_throw_library_fn): Mark with ECF_XTHROW. - * except.cc (build_throw): Likewise __cxa_throw, - _ITM_cxa_throw, __cxa_rethrow. - -2023-10-20 Nathaniel Shead - - PR c++/101631 - PR c++/102286 - * call.cc (build_over_call): Fold more indirect refs for trivial - assignment op. - * class.cc (type_has_non_deleted_trivial_default_ctor): Create. - * constexpr.cc (cxx_eval_call_expression): Start lifetime of - union member before entering constructor. - (cxx_eval_component_reference): Check against first member of - value-initialised union. - (cxx_eval_store_expression): Activate member for - value-initialised union. Check for accessing inactive union - member indirectly. - * cp-tree.h (type_has_non_deleted_trivial_default_ctor): - Forward declare. - -2023-10-20 Nathaniel Shead - - * constexpr.cc (is_std_source_location_current): New. - (cxx_eval_constant_expression): Only ignore cast from void* for - specific cases and improve other diagnostics. - -2023-10-19 Marek Polacek - - * cp-gimplify.cc (cp_fold_r): Don't call maybe_constant_value. - -2023-10-19 Jason Merrill - - * typeck2.cc (check_narrowing): Adjust. - -2023-10-19 Jason Merrill - - * parser.cc (cp_parser_primary_expression): Use G_. - (cp_parser_using_enum): Likewise. - * decl.cc (identify_goto): Likewise. - -2023-10-18 Jason Merrill - - * typeck2.cc (check_narrowing): Use permerror. - -2023-10-17 Marek Polacek - - PR c++/111840 - * parser.cc (cp_parser_simple_declaration): Do cp_parser_error - for FUNCTION_DECLs. - -2023-10-17 Marek Polacek - - PR c++/111660 - * cp-gimplify.cc (cp_fold_immediate_r) : Don't - handle it here. - (cp_fold_r): Handle COND_EXPR here. - -2023-10-17 Jason Merrill - - * mangle.cc (abi_check): New. - (write_prefix, write_unqualified_name, write_discriminator) - (write_type, write_member_name, write_expression) - (write_template_arg, write_template_param): Use it. - (start_mangling): Assign from {}. - * cp-tree.h: Update comment. - -2023-10-17 Nathaniel Shead - - * constexpr.cc (cxx_eval_dynamic_cast_fn): Add missing - auto_diagnostic_group. - (cxx_eval_call_expression): Likewise. - (diag_array_subscript): Likewise. - (outside_lifetime_error): Likewise. - (potential_constant_expression_1): Likewise. - -2023-10-16 Jason Merrill - - * parser.cc (cp_parser_fold_expression): Track location range. - * semantics.cc (finish_unary_fold_expr) - (finish_left_unary_fold_expr, finish_right_unary_fold_expr) - (finish_binary_fold_expr): Add location parm. - * constraint.cc (finish_shorthand_constraint): Pass it. - * pt.cc (convert_generic_types_to_packs): Likewise. - * cp-tree.h: Adjust. - -2023-10-16 Marek Polacek - - PR c++/111272 - * constexpr.cc (explain_invalid_constexpr_fn): Also check the body of - a constructor in C++14 and up. - -2023-10-14 Jakub Jelinek - - PR c/102989 - * module.cc (trees_out::start, trees_in::start): Remove - TREE_INT_CST_OFFSET_NUNITS handling. - -2023-10-10 Jason Merrill - - PR c++/109422 - * mangle.cc (write_template_param): Also mangle level. - -2023-10-08 David Malcolm - - * module.cc (module_state::read_location): Update for renaming of - get_combined_adhoc_loc. - -2023-10-03 David Malcolm - - * error.cc (print_instantiation_partial_context_line): Call - diagnostic_show_locus. - -2023-10-03 David Malcolm - - * error.cc: Update for "m_" prefixes to text_info fields. - -2023-09-30 Eugene Rozenfeld - - * Make-lang.in: Make create_fdas_for_cc1plus target not .PHONY - -2023-09-28 Richard Sandiford - - * constexpr.cc (cxx_fold_indirect_ref): Remove unused variables. - -2023-09-22 Jason Merrill - - PR c++/111357 - * pt.cc (expand_integer_pack): Use IMPLICIT_CONV_EXPR. - -2023-09-22 Jason Merrill - - * constexpr.cc (free_constructor): Handle null ce->value. - -2023-09-22 Jason Merrill - - PR c++/111529 - * parser.cc (cp_parser_lambda_declarator_opt): Don't suggest - -std=c++14 for lambda templates. - * pt.cc (tsubst_expr): Move ANNOTATE_EXPR handling... - (tsubst_copy_and_build): ...here. - -2023-09-22 Patrick Palka - - PR c++/111493 - * decl2.cc (grok_array_decl): Guard diagnostic and backward - compatibility fallback code paths with tf_error. - -2023-09-22 Patrick Palka - - PR c++/111485 - * pt.cc (is_compatible_template_arg): New parameter 'args'. - Add the outer template arguments 'args' to 'new_args'. - (convert_template_argument): Pass 'args' to - is_compatible_template_arg. - -2023-09-20 Jakub Jelinek - - * parser.cc (cp_parser_postfix_expression): Parse - __builtin_classify_type call with typename as argument. - * pt.cc (tsubst_copy_and_build): Handle __builtin_classify_type - with dependent typename as argument. - -2023-09-20 Patrick Palka - - PR c++/111471 - * cxx-pretty-print.cc (cxx_pretty_printer::expression) - : Handle class NTTP objects by printing - their type and value. - : Strip const VIEW_CONVERT_EXPR - wrappers for class NTTPs. - (pp_cxx_template_argument_list): Don't handle class NTTP - objects here. - -2023-09-20 Patrick Palka - - * pt.cc (tsubst_function_decl): Don't bother computing 'argvec' - when 'lambda_fntype' is set. - (tsubst_template_decl): Make sure we return a TEMPLATE_DECL - during specialization lookup. In the non-class non-function - template case, use tsubst_decl directly with use_spec_table=false, - update DECL_TI_ARGS and call register_specialization like - tsubst_decl would have done if use_spec_table=true. - -2023-09-20 Jakub Jelinek - - PR c++/111392 - * parser.h (struct cp_lexer): Add in_omp_decl_attribute member. - * cp-tree.h (cp_maybe_parse_omp_decl): Declare. - * parser.cc (cp_parser_handle_statement_omp_attributes): Diagnose - omp::decl attribute on statements. Adjust diagnostic wording for - omp::decl. - (cp_parser_omp_directive_args): Add DECL_P argument, set TREE_PUBLIC - to it on the DEFERRED_PARSE tree. - (cp_parser_omp_sequence_args): Adjust caller. - (cp_parser_std_attribute): Handle omp::decl attribute. - (cp_parser_omp_var_list): If parser->lexer->in_omp_decl_attribute - don't expect any arguments, instead create clause or TREE_LIST for - that decl. - (cp_parser_late_parsing_omp_declare_simd): Adjust diagnostic wording - for omp::decl. - (cp_maybe_parse_omp_decl): New function. - (cp_parser_omp_declare_target): If - parser->lexer->in_omp_decl_attribute and first token isn't name or - comma invoke cp_parser_omp_var_list. - * decl2.cc (cplus_decl_attributes): Adjust diagnostic wording for - omp::decl. Handle omp::decl on declarations. - * name-lookup.cc (finish_using_directive): Adjust diagnostic wording - for omp::decl. - -2023-09-19 Ben Boeckel - - * mapper-client.cc, mapper-client.h (open_module_client): Accept - dependency tracking and track module mapper files as - dependencies. - * module.cc (make_mapper, get_mapper): Pass the dependency - tracking class down. - -2023-09-19 Ben Boeckel - - * module.cc (do_import): Report imported CMI files as - dependencies. - -2023-09-19 Ben Boeckel - - * module.cc (preprocessed_module): Pass whether the module is - exported to dependency tracking. - -2023-09-19 Javier Martinez - - * class.cc (propagate_class_warmth_attribute): New function. - (check_bases_and_members): propagate hot and cold attributes - to all FUNCTION_DECL when the record is marked hot or cold. - * cp-tree.h (maybe_propagate_warmth_attributes): New function. - * decl2.cc (maybe_propagate_warmth_attributes): New function. - * method.cc (lazily_declare_fn): propagate hot and cold - attributes to lazily declared functions when the record is - marked hot or cold. - -2023-09-19 Patrick Palka - - * ptree.cc (cxx_print_type): Remove TYPE_LANG_SPECIFIC - test guarding TYPE_TEMPLATE_INFO. - -2023-09-19 Jason Merrill - - DR 2799 - * class.cc (add_implicit_default_ctor): Split out... - (add_implicitly_declared_members): ...from here. - Also call it when inheriting a default ctor. - -2023-09-19 Marek Polacek - - * call.cc (build_over_call): Set ADDR_EXPR_DENOTES_CALL_P. Don't handle - immediate_invocation_p here. - * constexpr.cc (cxx_eval_call_expression): Use mce_true for - DECL_IMMEDIATE_FUNCTION_P. - (cxx_eval_conditional_expression): Call cp_fold_immediate. - * cp-gimplify.cc (enum fold_flags): Add ff_fold_immediate. - (maybe_replace_decl): Make static. - (cp_fold_r): Expand immediate invocations. - (cp_fold_immediate_r): New. - (cp_fold_immediate): New. - * cp-tree.h (ADDR_EXPR_DENOTES_CALL_P): Define. - (cp_fold_immediate): Declare. - * tree.cc (bot_replace): Don't handle immediate invocations here. - -2023-09-19 Patrick Palka - - PR c++/111419 - * cvt.cc (convert_to_void) : Only call - complete_type if the type is volatile. - : Likewise. - -2023-09-19 Patrick Palka - - PR c++/99631 - * semantics.cc (finish_decltype_type): For an NTTP object, - return its type modulo cv-quals. - -2023-09-18 Patrick Palka - - PR c++/89231 - * pt.cc (try_class_unification): Strengthen TI_TEMPLATE equality - test by not calling most_general_template. Only unify the - innermost levels of template arguments. - (unify) : Only unify the innermost levels of - template arguments, and only if the template is primary. - -2023-09-18 Patrick Palka - - PR c++/63198 - PR c++/18474 - * semantics.cc (maybe_convert_cond): Look through implicit - INDIRECT_REF when deciding whether to issue a -Wparentheses - warning, and consider templated assignment expressions as well. - (finish_parenthesized_expr): Look through implicit INDIRECT_REF - when suppressing -Wparentheses warning. - * typeck.cc (build_x_modify_expr): Check simple assignments - ahead time too, not just compound assignments. Give the second - operand of MODOP_EXPR a non-null type so that it's not considered - always instantiation-dependent. Don't call suppress_warning. - -2023-09-18 Patrick Palka - - PR c++/108347 - * pt.cc (unify): Return unify_success for identical dependent - DECL_P 'arg' and 'parm'. - : Remove handling. - -2023-09-18 Patrick Palka - - * call.cc (add_template_candidate_real): Check arity even - when there are no explicit template arguments. Combine the - two adjacent '!obj' tests into one. - -2023-09-18 Patrick Palka - - * pt.cc (register_specialization): Remove now-unnecessary - early exit for FUNCTION_DECL partial instantiation. - (tsubst_template_decl): Pass use_spec_table=false to - tsubst_function_decl. Set DECL_TI_ARGS of a non-lambda - FUNCTION_DECL specialization to the full set of arguments. - Simplify register_specialization call accordingly. - -2023-09-18 Jason Merrill - - * class.cc (check_subobject_offset): Use similar_type_p. - -2023-09-12 Jason Merrill - - PR c++/111357 - * pt.cc (expand_integer_pack): Convert argument to int. - -2023-09-12 Jason Merrill - - PR c++/107198 - * typeck2.cc (process_init_constructor_array): Use VEC_INIT_EXPR - regardless of seen_error. - -2023-09-08 Patrick Palka - - PR c++/99599 - * pt.cc (check_non_deducible_conversions): Add bool parameter - passed down to check_non_deducible_conversion. - (fn_type_unification): Call check_non_deducible_conversions - an extra time before satisfaction with noninst_only_p=true. - (conversion_may_instantiate_p): Define. - (check_non_deducible_conversion): Add bool parameter controlling - whether to compute only conversions that are guaranteed to - not induce template instantiation. - -2023-09-07 Sandra Loosemore - - PR c++/111274 - * parser.cc (fixup_blocks_walker): Check for null BIND_EXPR_BLOCK. - -2023-09-06 Jason Merrill - - * class.cc (check_subobject_offset): Check - same_type_ignoring_top_level_qualifiers_p. - -2023-09-05 Marek Polacek - - PR c++/91483 - * constexpr.cc (verify_constant_explain_r): New. - (verify_constant): Call it. - -2023-09-05 Jakub Jelinek - - PR c++/52953 - * name-lookup.cc (check_local_shadow): Don't punt early for - DECL_EXTERNAL decls, instead just disable the shadowing of namespace - decls check for those and emit a pedwarn rather than error_at or - permerror for those. Formatting fix. - -2023-09-05 Jakub Jelinek - - PR c++/52953 - * name-lookup.h (struct cp_binding_level): Add artificial bit-field. - Formatting fixes. - * name-lookup.cc (check_local_shadow): Skip artificial bindings when - checking if parameter scope is parent scope. Don't special case - FUNCTION_NEEDS_BODY_BLOCK. Diagnose the in_function_try_handler - cases in the b->kind == sk_function_parms test and verify no - non-artificial intervening scopes. Add missing auto_diagnostic_group. - * decl.cc (begin_function_body): Set - current_binding_level->artificial. - * semantics.cc (begin_function_try_block): Likewise. - -2023-09-05 Patrick Palka - - * parser.cc (cp_parser_parenthesized_expression_list_elt): Pass - nullptr as non_constant_p to cp_parser_braced_list if our - non_constant_p is null. - (cp_parser_initializer_list): Likewise to - cp_parser_initializer_clause. Avoid inspecting - clause_non_constant_p if it's uninitialized. - -2023-09-05 Patrick Palka - - * call.cc (build_user_type_conversion): Free allocated - conversions. - (build_converted_constant_expr_internal): Use - conversion_obstack_sentinel instead. - (perform_dguide_overload_resolution): Likewise. - (build_new_function_call): Likewise. - (build_operator_new_call): Free allocated conversions. - (build_op_call): Use conversion_obstack_sentinel instead. - (build_conditional_expr): Use conversion_obstack_sentinel - instead, and hoist it out to the outermost scope. - (build_new_op): Use conversion_obstack_sentinel instead - and set it up before the first goto. Remove second unneeded goto. - (build_op_subscript): Use conversion_obstack_sentinel instead. - (ref_conv_binds_to_temporary): Likewise. - (build_new_method_call): Likewise. - (can_convert_arg): Likewise. - (can_convert_arg_bad): Likewise. - (perform_implicit_conversion_flags): Likewise. - (perform_direct_initialization_if_possible): Likewise. - (initialize_reference): Likewise. - -2023-09-01 Jakub Jelinek - - PR c++/111069 - * cp-tree.h (determine_local_discriminator): Add NAME argument with - NULL_TREE default. - (struct cp_decomp): New type. - (cp_finish_decl): Add DECOMP argument defaulted to nullptr. - (cp_maybe_mangle_decomp): Remove declaration. - (cp_finish_decomp): Add cp_decomp * argument, remove tree and unsigned - args. - (cp_convert_range_for): Likewise. - * decl.cc (determine_local_discriminator): Add NAME argument, use it - if non-NULL, otherwise compute it the old way. - (maybe_commonize_var): Don't return early for structured bindings. - (cp_finish_decl): Add DECOMP argument, if non-NULL, call - cp_maybe_mangle_decomp. - (cp_maybe_mangle_decomp): Make it static with a forward declaration. - Call determine_local_discriminator. Replace FIRST and COUNT arguments - with DECOMP argument. - (cp_finish_decomp): Replace FIRST and COUNT arguments with DECOMP - argument. - * mangle.cc (find_decomp_unqualified_name): Remove. - (write_unqualified_name): Don't call find_decomp_unqualified_name. - (mangle_decomp): Handle mangling of static function/block scope - structured bindings. Don't call decl_mangling_context twice. Call - check_abi_tags, call write_abi_tags for abi version >= 19 and emit - -Wabi warnings if needed. - (write_guarded_var_name): Handle structured bindings. - (mangle_ref_init_variable): Use write_guarded_var_name. - * parser.cc (cp_parser_range_for): Adjust do_range_for_auto_deduction - and cp_convert_range_for callers. - (do_range_for_auto_deduction): Replace DECOMP_FIRST_NAME and - DECOMP_CNT arguments with DECOMP. Adjust cp_finish_decomp caller. - (cp_convert_range_for): Replace DECOMP_FIRST_NAME and - DECOMP_CNT arguments with DECOMP. Don't call cp_maybe_mangle_decomp, - adjust cp_finish_decl and cp_finish_decomp callers. - (cp_parser_decomposition_declaration): Don't call - cp_maybe_mangle_decomp, adjust cp_finish_decl and cp_finish_decomp - callers. - (cp_convert_omp_range_for): Adjust do_range_for_auto_deduction - and cp_finish_decomp callers. - (cp_finish_omp_range_for): Don't call cp_maybe_mangle_decomp, - adjust cp_finish_decl and cp_finish_decomp callers. - * pt.cc (tsubst_omp_for_iterator): Adjust tsubst_decomp_names - caller. - (tsubst_decomp_names): Replace FIRST and CNT arguments with DECOMP. - (tsubst_expr): Don't call cp_maybe_mangle_decomp, adjust - tsubst_decomp_names, cp_finish_decl, cp_finish_decomp and - cp_convert_range_for callers. - -2023-08-30 Marek Polacek - - PR c++/91319 - * parser.cc (cp_parser_initializer_list): Set CONSTRUCTOR_IS_DIRECT_INIT - when the designated initializer is of the .x{} form. - -2023-08-30 Marek Polacek - - PR c++/111173 - * decl.cc (grokdeclarator): Disallow constinit on functions. - -2023-08-29 Marek Polacek - - * call.cc (convert_like_internal): Show where the conversion function - was declared. - (maybe_show_nonconverting_candidate): New. - * cp-tree.h (maybe_show_nonconverting_candidate): Declare. - * typeck.cc (convert_for_assignment): Call it. - -2023-08-25 Sandra Loosemore - - * cp-tree.h (cp_convert_omp_range_for): Adjust declaration. - * parser.cc (struct omp_for_parse_data): New. - (cp_parser_postfix_expression): Diagnose calls to OpenMP runtime - in intervening code. - (check_omp_intervening_code): New. - (cp_parser_statement_seq_opt): Special-case nested loops, blocks, - and other constructs for OpenMP loops. - (cp_parser_iteration_statement): Reject loops in intervening code. - (cp_parser_omp_for_loop_init): Expand comments and tweak the - interface slightly to better distinguish input/output parameters. - (cp_convert_omp_range_for): Likewise. - (cp_parser_omp_loop_nest): New, split from cp_parser_omp_for_loop - and largely rewritten. Add more comments. - (insert_structured_blocks): New. - (find_structured_blocks): New. - (struct sit_data, substitute_in_tree_walker, substitute_in_tree): - New. - (fixup_blocks_walker): New. - (cp_parser_omp_for_loop): Rewrite to use recursive descent instead - of a loop. Add logic to reshuffle the bits of code collected - during parsing so intervening code gets moved to the loop body. - (cp_parser_omp_loop): Remove call to finish_omp_for_block, which - is now redundant. - (cp_parser_omp_simd): Likewise. - (cp_parser_omp_for): Likewise. - (cp_parser_omp_distribute): Likewise. - (cp_parser_oacc_loop): Likewise. - (cp_parser_omp_taskloop): Likewise. - (cp_parser_pragma): Reject OpenMP pragmas in intervening code. - * parser.h (struct cp_parser): Add omp_for_parse_state field. - * pt.cc (tsubst_omp_for_iterator): Adjust call to - cp_convert_omp_range_for. - * semantics.cc (finish_omp_for): Try harder to preserve location - of loop variable init expression for use in diagnostics. - (struct fofb_data, finish_omp_for_block_walker): New. - (finish_omp_for_block): Allow variables to be bound in a BIND_EXPR - nested inside BIND instead of directly in BIND itself. - -2023-08-25 Sandra Loosemore - - * constexpr.cc (cxx_eval_constant_expression): Handle - OMP_STRUCTURED_BLOCK. - * pt.cc (tsubst_expr): Likewise. - -2023-08-25 Uros Bizjak - - * call.cc (build_conditional_expr): - Rename TRUE/FALSE to true/false. - (build_new_op): Ditto. - -2023-08-22 Jason Merrill - - * pt.cc (outer_template_args): Handle non-template argument. - * constraint.cc (maybe_substitute_reqs_for): Pass decl to it. - * cp-tree.h (outer_template_args): Adjust. - -2023-08-22 Jason Merrill - - PR c++/109751 - * cp-tree.h (member_like_constrained_friend_p): Declare. - * decl.cc (member_like_constrained_friend_p): New. - (function_requirements_equivalent_p): Check it. - (duplicate_decls): Check it. - (grokfndecl): Check friend template constraints. - * mangle.cc (decl_mangling_context): Check it. - (write_unqualified_name): Check it. - * pt.cc (uses_outer_template_parms_in_constraints): Fix for friends. - (tsubst_friend_function): Don't check satisfaction. - -2023-08-22 Tobias Burnus - - * parser.cc (cp_parser_omp_clause_defaultmap): Parse - 'all' as category. - -2023-08-15 Chung-Lin Tang - Thomas Schwinge - - * parser.cc (OACC_DATA_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_DEFAULT. - -2023-08-14 gnaggnoyil - - DR 2386 - PR c++/110216 - * decl.cc (get_tuple_size): Update implementation for DR 2386. - -2023-08-14 Jason Merrill - - * parser.cc (cp_parser_simple_type_specifier): Handle -std=c++14 - -fconcepts. - -2023-08-12 Patrick Palka - Jason Merrill - - PR c++/106604 - * decl.cc (redeclaration_error_message): Remove special handling - for deduction guides. - (grokfndecl): Give deduction guides a dummy DECL_INITIAL. - -2023-08-11 Patrick Palka - - PR c++/110927 - * parser.cc (cp_parser_type_requirement): Pass - check_dependency_p=true instead of =false. - -2023-08-11 Patrick Palka - - PR c++/71954 - * decl.cc (grokdeclarator): Pass 'dname' instead of - 'unqualified_id' as the name when building the VAR_DECL for a - static data member. Call check_explicit_specialization for a - TEMPLATE_ID_EXPR such member. - * pt.cc (finish_member_template_decl): Return NULL_TREE - instead of 'decl' when DECL_TEMPLATE_SPECIALIZATION is not - set. - -2023-08-11 Patrick Palka - - * ptree.cc (cxx_print_decl): Check for DECL_LANG_SPECIFIC and - TS_DECL_COMMON only when necessary. Print DECL_TEMPLATE_INFO - for all decls that have it, not just VAR_DECL or FUNCTION_DECL. - Also print DECL_USE_TEMPLATE. - (cxx_print_type): Print TYPE_TEMPLATE_INFO. - : Don't print TYPE_TI_ARGS - anymore. - : Print TEMPLATE_TYPE_PARM_INDEX - instead of printing the index, level and original level - individually. - -2023-08-08 Marek Polacek - - * parser.cc (cp_parser_postfix_expression): Adjust the call to - cp_parser_braced_list. - (cp_parser_postfix_open_square_expression): Likewise. - (cp_parser_new_initializer): Likewise. - (cp_parser_assignment_expression): Adjust the call to - cp_parser_initializer_clause. - (cp_parser_lambda_introducer): Adjust the call to cp_parser_initializer. - (cp_parser_range_for): Adjust the call to cp_parser_braced_list. - (cp_parser_jump_statement): Likewise. - (cp_parser_mem_initializer): Likewise. - (cp_parser_template_argument): Likewise. - (cp_parser_default_argument): Adjust the call to cp_parser_initializer. - (cp_parser_initializer): Handle null is_direct_init and non_constant_p - arguments. - (cp_parser_initializer_clause): Handle null non_constant_p argument. - (cp_parser_braced_list): Likewise. - (cp_parser_initializer_list): Likewise. - (cp_parser_member_declaration): Adjust the call to - cp_parser_initializer_clause and cp_parser_initializer. - (cp_parser_yield_expression): Adjust the call to cp_parser_braced_list. - (cp_parser_functional_cast): Likewise. - (cp_parser_late_parse_one_default_arg): Adjust the call to - cp_parser_initializer. - (cp_parser_omp_for_loop_init): Likewise. - (cp_parser_omp_declare_reduction_exprs): Likewise. - -2023-08-08 Nathaniel Shead - - PR c++/100482 - * parser.cc (cp_parser_decltype_expr): Report errors raised by - finish_id_expression. - -2023-08-04 Tamar Christina - - * cp-tree.h (RANGE_FOR_NOVECTOR): New. - (cp_convert_range_for, finish_while_stmt_cond, finish_do_stmt, - finish_for_cond): Add novector param. - * init.cc (build_vec_init): Default novector to false. - * method.cc (build_comparison_op): Likewise. - * parser.cc (cp_parser_statement): Likewise. - (cp_parser_for, cp_parser_c_for, cp_parser_range_for, - cp_convert_range_for, cp_parser_iteration_statement, - cp_parser_omp_for_loop, cp_parser_pragma): Support novector. - (cp_parser_pragma_novector): New. - * pt.cc (tsubst_expr): Likewise. - * semantics.cc (finish_while_stmt_cond, finish_do_stmt, - finish_for_cond): Likewise. - -2023-08-01 Lewis Hyatt - - * parser.cc (c_init_preprocess): New function. - (maybe_read_tokens_for_pragma_lex): New function. - (pragma_lex): Support preprocess-only mode. - (pragma_lex_discard_to_eol): New function. - -2023-07-31 Chung-Lin Tang - - * parser.cc (cp_parser_oacc_host_data): Add checking requiring OpenACC - host_data construct to have an use_device clause. - -2023-07-28 Ng YongXiang - - PR c++/110057 - PR ipa/83054 - * init.cc (build_vec_delete_1): Devirtualize array destruction. - -2023-07-27 Patrick Palka - - PR c++/110197 - * constexpr.cc (cxx_eval_array_reference): Allow synthesizing an - empty subobject even if CONSTRUCTOR_NO_CLEARING is set. - (cxx_eval_bare_aggregate): Set 'no_slot' to true more generally - whenever new_ctx.ctor is set to NULL_TREE by init_subob_ctx, - i.e. whenever initializing an subobject of empty type. - (cxx_eval_vec_init_1): Define 'no_slot' as above and use it - accordingly. - -2023-07-27 Nathaniel Shead - - PR c++/103497 - * pt.cc (type_uses_auto): Check inside parameter packs. - -2023-07-26 Patrick Palka - - PR c++/110566 - PR c++/108179 - * pt.cc (reduce_template_parm_level): Set DECL_TEMPLATE_INFO - on the DECL_TEMPLATE_RESULT of the new ttp. - (add_defaults_to_ttp): Make a copy of the original ttp's - DECL_TEMPLATE_RESULT, and update this copy's DECL_TEMPLATE_INFO - as well. - (coerce_template_template_parms): Make sure 'scope_args' has - the right amount of levels for the ttp argument. - (most_general_template): Handle template template parameters. - (rewrite_template_parm): Set DECL_TEMPLATE_RESULT on the - DECL_TEMPLATE_RESULT of the new ttp. - -2023-07-26 Patrick Palka - - PR c++/110566 - PR c++/108179 - * pt.cc (coerce_template_template_parms): Simplify by using - DECL_INNERMOST_TEMPLATE_PARMS and removing redundant asserts. - Always pass the parameters of the most general template to - coerce_template_parms. - -2023-07-26 Patrick Palka - - PR c++/110809 - * pt.cc (unify) : Generalize to handle - REAL_CST as well. - -2023-07-26 Marek Polacek - - * parser.cc (cp_parser_constant_expression): Allow non_constant_p to be - nullptr even when allow_non_constant_p is true. Don't call - _rvalue_constant_expression when not necessary. Move local variable - declarations closer to their first use. - (cp_parser_static_assert): Don't pass a dummy down to - cp_parser_constant_expression. - -2023-07-26 Jason Merrill - - PR c++/106310 - * parser.cc (cp_parser_template_name): Skip non-member - lookup after the template keyword. - (cp_parser_lookup_name): Pass down template_keyword_p. - -2023-07-26 Nathaniel Shead - - PR c++/96630 - PR c++/98675 - PR c++/70331 - * constexpr.cc (constexpr_global_ctx::is_outside_lifetime): New - function. - (constexpr_global_ctx::get_value): Don't return expired values. - (constexpr_global_ctx::get_value_ptr): Likewise. - (constexpr_global_ctx::remove_value): Mark value outside - lifetime. - (outside_lifetime_error): New function. - (cxx_eval_call_expression): No longer track save_exprs. - (cxx_eval_loop_expr): Likewise. - (cxx_eval_constant_expression): Add checks for outside lifetime - values. Remove local variables at end of bind exprs, and - temporaries after cleanup points. - -2023-07-26 Nathaniel Shead - - PR c++/110619 - * cp-gimplify.cc (cp_genericize_r): Transform RETURN_EXPRs to - not return dangling pointers. - * cp-tree.h (RETURN_EXPR_LOCAL_ADDR_P): New flag. - (check_return_expr): Add a new parameter. - * semantics.cc (finish_return_stmt): Set flag on RETURN_EXPR - when referring to dangling pointer. - * typeck.cc (check_return_expr): Disable transformation of - dangling pointers, instead pass this information to caller. - -2023-07-26 Nathaniel Shead - - * constexpr.cc (modifying_const_object_error): Find the source - location of the const object's declaration. - (cxx_eval_constant_expression): Update input_location to the - location of the currently evaluated expression, if possible. - -2023-07-25 Marek Polacek - - PR c++/108960 - * pt.cc (lookup_and_finish_template_variable): Don't clear tf_partial - here. - (instantiate_template): Reset all complain flags except - tf_warning_or_error. - -2023-07-25 Marek Polacek - - PR c++/110382 - * constexpr.cc (cxx_eval_array_reference): Create a new constructor - only when we don't already have a matching one. Clear the object - when the type is non-scalar. - -2023-07-21 Marek Polacek - - PR c++/110106 - * constexpr.cc (potential_constant_expression_1): Try to complete the - type when !processing_template_decl. - -2023-07-20 Marek Polacek - - PR c++/110114 - * call.cc (implicit_conversion_1): Return early if the type isn't - complete. - -2023-07-19 Marek Polacek - - PR c++/110745 - * error.cc (dump_simple_decl): Print base class name. - -2023-07-19 Marek Polacek - - PR c++/110064 - * typeck2.cc (process_init_constructor_record): Don't emit - -Wmissing-field-initializers for empty classes. - -2023-07-19 Patrick Palka - - * pt.cc (type_unification_real): Test for PARM_DECL instead - of TEMPLATE_PARM_INDEX to distinguish a type vs non-type - template parameter pack. - (type_targs_deducible_from): Likewise. - -2023-07-19 Patrick Palka - - * pt.cc (tsubst_function_decl): Add defaulted 'use_spec_table' - flag parameter. Don't look up or insert into the specializations - table if 'use_spec_table' is false. - (tsubst_decl): Add defaulted 'use_spec_table' flag parameter. - Check for error_mark_node. - : Pass 'use_spec_table' to - tsubst_function_decl. - : Don't call coerce_template_parms. - Don't look up or insert into the specializations table if - 'use_spec_table' is false. Exit earlier if the substituted - type is erroneous and we're not complaining, and do so for - alias specializations as well. - (instantiate_template): Pass false as 'use_spec_table' - to tsubst_decl. Call register_specialization afterwards. - -2023-07-18 Jason Merrill - - * constexpr.cc (cxx_eval_bit_cast): Check that the result of - native_interpret_aggregate doesn't need more evaluation. - -2023-07-18 Patrick Palka - - * call.cc (add_template_conv_candidate): Don't check for - non-empty 'candidates' here. - (build_op_call): Check it here, before we've considered any - conversion functions. - -2023-07-18 Patrick Palka - - PR c++/110535 - * call.cc (add_conv_candidate): Check constraints. - -2023-07-17 Jason Merrill - - * constexpr.cc (cxx_eval_call_expression): Only cache - reduced_constant_expression_p results. - (reduced_constant_expression_p): Handle CONSTRUCTOR of scalar type. - (cxx_eval_constant_expression): Fold vectors here. - (cxx_eval_bare_aggregate): Not here. - -2023-07-15 Patrick Palka - - PR c++/110441 - * call.cc (keep_unused_object_arg): Use cp_build_compound_expr - instead of building a COMPOUND_EXPR directly. - -2023-07-15 Patrick Palka - - PR c++/110524 - * mangle.cc (write_expression): Handle TEMPLATE_ID_EXPR - whose template is already an IDENTIFIER_NODE. - -2023-07-14 Nathaniel Shead - - * constexpr.cc (cxx_eval_constant_expression): Pass t to get_value. - -2023-07-14 Jason Merrill - - PR c++/110344 - * constexpr.cc (cxx_eval_constant_expression): Move P2738 handling - after heap handling. - * name-lookup.cc (get_cxx_dialect_name): Add C++26. - -2023-07-14 Marek Polacek - Jason Merrill - - PR c++/109876 - * decl.cc (cp_finish_decl): Set TREE_CONSTANT when initializing - an object of empty class type. - * pt.cc (value_dependent_expression_p) : Treat a - constexpr-declared non-constant variable as value-dependent. - -2023-07-11 Patrick Palka - - PR c++/110580 - * pt.cc (lookup_template_variable): Pass all levels of arguments - to coerce_template_parms, and use the parameters from the most - general template. - -2023-07-10 Patrick Palka - - PR c++/110523 - * pt.cc (redeclare_class_template): Relax the ttp DECL_CONTEXT - assert, and downgrade it to a checking assert. - -2023-06-30 Patrick Palka - - * cp-tree.h (TEMPLATE_PARM_DESCENDANTS): Harden. - (TEMPLATE_TYPE_DESCENDANTS): Define. - (TEMPLATE_TEMPLATE_PARM_SIMPLE_P): Define. - * pt.cc (reduce_template_parm_level): Revert - r14-418-g0bc2a1dc327af9 change. - (process_template_parm): Set TEMPLATE_TEMPLATE_PARM_SIMPLE_P - appropriately. - (uses_outer_template_parms): Determine the outer depth of - a template template parm without relying on DECL_CONTEXT. - (tsubst) : Cache lowering a - simple template template parm. Consistently use 'code'. - -2023-06-29 Patrick Palka - - PR c++/110468 - * init.cc (maybe_instantiate_nsdmi_init): Mask out all - tsubst flags except for tf_warning_or_error. - -2023-06-29 Patrick Palka - - PR c++/110463 - * cp-gimplify.cc (cp_fold) : Propagate - CONSTRUCTOR_MUTABLE_POISON. - -2023-06-29 Patrick Palka - - * cp-tree.h (tree_template_info::partial): New data member. - (TI_PARTIAL_INFO): New tree accessor. - (most_specialized_partial_spec): Add defaulted bool parameter. - * module.cc (trees_out::core_vals) : Stream - TI_PARTIAL_INFO. - (trees_in::core_vals) : Likewise. - * parser.cc (specialization_of): Adjust after making - most_specialized_partial_spec return TEMPLATE_INFO instead - of TREE_LIST. - * pt.cc (process_partial_specialization): Set TI_PARTIAL_INFO - of 'decl' to point back to the partial TEMPLATE_DECL. Likewise - (and pass rechecking=true to most_specialization_partial_spec). - (instantiate_class_template): Likewise. - (instantiate_template): Set TI_PARTIAL_INFO to the result of - most_specialization_partial_spec after forming a variable - template specialization. - (most_specialized_partial_spec): Add 'rechecking' parameter. - Exit early if the template is not primary. Use the TI_PARTIAL_INFO - of the corresponding TEMPLATE_INFO as a cache unless 'rechecking' - is true. Don't bother setting TREE_TYPE of each TREE_LIST. - (instantiate_decl): Adjust after making - most_specialized_partial_spec return TEMPLATE_INFO instead of - TREE_LIST. - * ptree.cc (cxx_print_xnode) : Dump - TI_PARTIAL_INFO. - -2023-06-29 Eugene Rozenfeld - - * Make-lang.in: Pass correct stage cc1plus when processing - profile data collected while building target libraries - -2023-06-28 Patrick Palka - - PR c++/89442 - PR c++/107437 - * cp-tree.h (lookup_template_variable): Add complain parameter. - * parser.cc (cp_parser_template_id): Pass tf_warning_or_error - to lookup_template_variable. - * pt.cc (lookup_template_variable): Add complain parameter. - Coerce template arguments here ... - (finish_template_variable): ... instead of here. - (lookup_and_finish_template_variable): Check for error_mark_node - result from lookup_template_variable. - (tsubst_copy) : Pass complain to - lookup_template_variable. - (instantiate_template): Use build2 instead of - lookup_template_variable to build a TEMPLATE_ID_EXPR - for most_specialized_partial_spec. - -2023-06-28 Marek Polacek - - PR c++/110175 - * typeck.cc (cp_build_unary_op): Check tf_warning before warning. - -2023-06-28 Jason Merrill - - PR c++/110334 - * cp-tree.h (clone_attrs): Declare. - * method.cc (implicitly_declare_fn): Use it for inherited - constructor. - * optimize.cc (clone_attrs): New. - (maybe_clone_body): Use it. - -2023-06-28 Jason Merrill - - PR c++/110344 - * constexpr.cc (cxx_eval_constant_expression): In C++26, allow cast - from void* to the type of a pointed-to object. - -2023-06-23 David Malcolm - - PR c++/110164 - * cp-name-hint.h (maybe_suggest_missing_header): New decl. - * decl.cc: Define INCLUDE_MEMORY. Add include of - "cp/cp-name-hint.h". - (start_decl_1): Call maybe_suggest_missing_header. - * name-lookup.cc (maybe_suggest_missing_header): Remove "static". - -2023-06-16 Alex Coplan - - * parser.cc (cp_parser_enum_specifier): Don't reject - elaborated-type-specifier with enum-base, instead emit new - Welaborated-enum-base warning. - -2023-06-14 Jason Merrill - - DR 2327 - PR c++/86521 - * call.cc (joust_maybe_elide_copy): Don't change cand. - (joust): Move the elided tiebreaker later. - -2023-06-13 David Malcolm - - PR c/84890 - * name-lookup.cc (missing_std_header::~missing_std_header): Reword - note to avoid negative tone of "forgetting". - -2023-06-13 Jason Merrill - - * tree.cc (build_target_expr): Check TYPE_HAS_MUTABLE_P. - -2023-06-12 Tobias Burnus - - * parser.cc (cp_parser_omp_clause_map): Reword error message for - clearness especially with 'omp target (enter/exit) data.' - * semantics.cc (handle_omp_array_sections): Handle - GOMP_MAP_{ALWAYS_,}PRESENT_{TO,TOFROM,FROM,ALLOC} enum values. - -2023-06-12 Jason Merrill - - PR c++/105838 - * call.cc (convert_like_internal) [ck_list]: Use - maybe_init_list_as_array. - * constexpr.cc (cxx_eval_vec_init_1): Init might have - a different type. - * tree.cc (build_vec_init_elt): Likewise. - * init.cc (build_vec_init): Handle from_array from a - TARGET_EXPR. Retain TARGET_EXPR of a different type. - -2023-06-11 Patrick Palka - - PR c++/110122 - * constexpr.cc (cxx_eval_call_expression): Synthesize defaulted - functions needed for constant evaluation. - (instantiate_cx_fn_r): Likewise. - -2023-06-11 Patrick Palka - - PR c++/110122 - * pt.cc (lookup_template_class): Extend shortcut for looking up the - current class scope to consider outer class scopes too, and use - current_nonlambda_class_type instead of current_class_type. Only - call coerce_template_parms when specializing a primary template. - -2023-06-10 Nathan Sidwell - - PR c++/61663 - * pt.cc (maybe_adjust_types_for_deduction): Implement DR976. - -2023-06-09 Jason Merrill - - PR c++/110185 - PR c++/58487 - * method.cc (build_comparison_op): Give retval a name. - * typeck.cc (check_return_expr): Fix for nameless variables. - -2023-06-09 Jason Merrill - - * parser.cc (cp_parser_simple_type_specifier): Check for auto - in template argument. - (cp_parser_template_type_arg): Remove auto checking. - -2023-06-09 Jason Merrill - - PR c++/110102 - * call.cc (maybe_init_list_as_array): Check that the element type is - copyable. - -2023-06-07 Jason Merrill - - PR c++/58487 - PR c++/53637 - * cp-tree.h (INIT_EXPR_NRV_P): New. - * semantics.cc (finalize_nrv_r): Check it. - * name-lookup.h (decl_in_scope_p): Declare. - * name-lookup.cc (decl_in_scope_p): New. - * typeck.cc (check_return_expr): Allow non-NRV - returns if the NRV is no longer in scope. - -2023-06-07 Jason Merrill - - PR c++/58487 - * typeck.cc (want_nrvo_p): New. - (check_return_expr): Handle -Wnrvo. - -2023-06-07 Jason Merrill - - PR c++/51571 - PR c++/92407 - * decl.cc (finish_function): Simplify NRV handling. - * except.cc (maybe_set_retval_sentinel): Also set if NRV. - (maybe_splice_retval_cleanup): Don't add the cleanup region - if we don't need it. - * semantics.cc (nrv_data): Add simple field. - (finalize_nrv): Set it. - (finalize_nrv_r): Check it and retval sentinel. - * cp-tree.h (finalize_nrv): Adjust declaration. - * typeck.cc (check_return_expr): Remove named_labels check. - -2023-06-07 Jason Merrill - - PR c++/92407 - * typeck.cc (check_return_expr): Prevent NRV in the presence of - named labels. - -2023-06-07 Jason Merrill - - PR c++/33799 - * except.cc (maybe_splice_retval_cleanup): Change - recognition of function body and try scopes. - * semantics.cc (do_poplevel): Call it after poplevel. - (at_try_scope): New. - * cp-tree.h (maybe_splice_retval_cleanup): Adjust. - -2023-06-07 Jason Merrill - - * semantics.cc (finalize_nrv_r): [RETURN_EXPR]: Only replace the - INIT_EXPR. - -2023-06-06 Kwok Cheung Yeung - Tobias Burnus - - * parser.cc (cp_parser_omp_clause_defaultmap, - cp_parser_omp_clause_map): Parse 'present'. - (cp_parser_omp_clause_from_to): New; parse to/from - clauses with optional 'present' modifier. - (cp_parser_omp_all_clauses): Update call. - (cp_parser_omp_target_data, cp_parser_omp_target_enter_data, - cp_parser_omp_target_exit_data): Handle new enum value for - 'present' mapping. - * semantics.cc (finish_omp_target): Likewise. - -2023-06-04 Jason Merrill - - PR c++/97720 - * cp-tree.h (enum cp_tree_index): Add CPTI_CALL_TERMINATE_FN. - (call_terminate_fn): New macro. - * cp-gimplify.cc (gimplify_must_not_throw_expr): Use it. - * except.cc (init_exception_processing): Set it. - (cp_protect_cleanup_actions): Return it. - -2023-06-03 Patrick Palka - - PR c++/109923 - * pt.cc (is_specialization_of_friend): Fix overbroad check for - a non-template member function of a class template. - -2023-06-03 Patrick Palka - - * pt.cc (iterative_hash_template_arg): Don't hash - TEMPLATE_TEMPLATE_PARM specially. - -2023-06-03 Patrick Palka - - * class.cc (build_base_path): Check in_template_context instead - of in_template_function. - (resolves_to_fixed_type_p): Likewise. - * cp-tree.h (in_template_context): Define. - (in_template_function): Remove. - * decl.cc (cp_make_fname_decl): Check current_function_decl - and in_template_context instead of in_template_function. - * decl2.cc (mark_used): Check in_template_context instead of - in_template_function. - * pt.cc (in_template_function): Remove. - * semantics.cc (enforce_access): Check in_template_context - instead of current_template_parms directly. - -2023-06-03 Patrick Palka - - PR c++/70790 - * mangle.cc (write_expression): Handle NOEXCEPT_EXPR. - -2023-06-02 Jason Merrill - - DR 2735 - PR c++/109247 - * call.cc (sfk_copy_or_move): New. - (joust): Add tiebreaker for explicit conv and copy ctor. - -2023-06-02 Jason Merrill - - PR c++/110070 - PR c++/105838 - * call.cc (maybe_init_list_as_array): Set DECL_MERGEABLE. - (convert_like_internal) [ck_list]: Set it. - (set_up_extended_ref_temp): Copy it. - * tree.cc (handle_no_unique_addr_attribute): Set it. - -2023-06-01 Jason Merrill - - * typeck2.cc (check_narrowing): Check flag_permissive. - -2023-05-30 Tobias Burnus - - PR c/109999 - * parser.cc (cp_parser_oacc_all_clauses, - cp_parser_omp_all_clauses): Improve error wording. - -2023-05-19 Andrew Pinski - - PR driver/33980 - * lang-specs.h ("@c++-header"): Add %w after - the --output-pch. - ("@c++-system-header"): Likewise. - ("@c++-user-header"): Likewise. - -2023-05-19 Patrick Palka - - * constraint.cc (normalize_concept_check): Avoid having to do - two norm_cache lookups. Remove unnecessary early exit for an - ill-formed concept definition. - -2023-05-19 Patrick Palka - - PR c++/97340 - * pt.cc (lookup_and_finish_template_variable): Don't call - convert_from_reference. - (tsubst_copy_and_build) : Call - convert_from_reference on the result of - lookup_and_finish_template_variable. - -2023-05-18 Bernhard Reutner-Fischer - - * call.cc (promoted_arithmetic_type_p): Use _P defines from tree.h. - (build_conditional_expr): Ditto. - (convert_like_internal): Ditto. - (convert_arg_to_ellipsis): Ditto. - (build_over_call): Ditto. - (compare_ics): Ditto. - * class.cc (is_empty_base_ref): Ditto. - * coroutines.cc (rewrite_param_uses): Ditto. - * cp-tree.h (DECL_DISCRIMINATOR_P): Ditto. - (ARITHMETIC_TYPE_P): Ditto. - * cvt.cc (ocp_convert): Ditto. - * cxx-pretty-print.cc (pp_cxx_template_argument_list): Ditto. - * decl.cc (layout_var_decl): Ditto. - (get_tuple_size): Ditto. - * error.cc (dump_simple_decl): Ditto. - * lambda.cc (start_lambda_scope): Ditto. - * mangle.cc (write_template_arg): Ditto. - * method.cc (spaceship_comp_cat): Ditto. - * module.cc (node_template_info): Ditto. - (trees_out::start): Ditto. - (trees_out::decl_node): Ditto. - (trees_in::read_var_def): Ditto. - (set_instantiating_module): Ditto. - * name-lookup.cc (maybe_record_mergeable_decl): Ditto. - (consider_decl): Ditto. - (maybe_add_fuzzy_decl): Ditto. - * pt.cc (convert_nontype_argument): Ditto. - * semantics.cc (handle_omp_array_sections_1): Ditto. - (finish_omp_clauses): Ditto. - (finish_omp_target_clauses_r): Ditto. - (is_this_parameter): Ditto. - * tree.cc (build_cplus_array_type): Ditto. - (is_this_expression): Ditto. - * typeck.cc (do_warn_enum_conversions): Ditto. - * typeck2.cc (store_init_value): Ditto. - (check_narrowing): Ditto. - -2023-05-17 Jakub Jelinek - - PR c++/109868 - * init.cc (build_zero_init_1): Don't initialize zero-width bitfields. - For unions only initialize the first FIELD_DECL. - -2023-05-16 Marek Polacek - - PR c++/109774 - * typeck.cc (check_return_expr): In a template, return only after - suppressing -Wdangling-reference. - -2023-05-16 Patrick Palka - - PR c++/109871 - * call.cc (add_list_candidates): Check for invalid designated - initialization sooner and even for types that have a list - constructor. - -2023-05-11 Patrick Palka - - PR c++/109745 - * typeck2.cc (poison_mutable_constructors): Define. - (store_init_value): Use it instead of setting - CONSTRUCTOR_MUTABLE_POISON directly. - -2023-05-11 Patrick Palka - Jonathan Wakely - - PR c++/83258 - PR c++/80488 - PR c++/97700 - * pt.cc (convert_nontype_argument_function): Remove linkage - requirement for C++17 and later. - (invalid_tparm_referent_p) : Restrict - DECL_ARTIFICIAL rejection test to VAR_DECL. - -2023-05-10 Marek Polacek - - PR c++/109680 - * method.cc (build_trait_object): New. - (assignable_expr): Use it. - (ref_xes_from_temporary): Likewise. - (is_convertible_helper): Likewise. Check FUNC_OR_METHOD_TYPE_P. - -2023-05-10 Jason Merrill - - * call.cc (convert_like_internal): Share ck_ref_bind handling - between all bad conversions. - -2023-05-10 Jason Merrill - - DR 2543 - * constexpr.cc (cxx_eval_outermost_constant_expr): Preserve - TARGET_EXPR flags. - (potential_constant_expression_1): Check TARGET_EXPR_ELIDING_P. - * typeck2.cc (store_init_value): Diagnose constinit sooner. - -2023-05-10 Jason Merrill - - * constexpr.cc (cxx_eval_outermost_constant_expr): Always check - for address of immediate fn. - (maybe_constant_init_1): Evaluate PTRMEM_CST. - -2023-05-10 Jakub Jelinek - - PR c++/109756 - * parser.cc (cp_parser_std_attribute): For unknown attributes with - arguments set TREE_VALUE (attribute) to error_mark_node after skipping - the balanced tokens. - (cp_parser_std_attribute_list): If ... is used after attribute without - arguments, diagnose it and return error_mark_node. If - TREE_VALUE (attribute) is error_mark_node, don't call - make_pack_expansion nor return early error_mark_node. - -2023-05-09 Patrick Palka - - PR c++/109752 - * constraint.cc (satisfaction_cache::satisfaction_cache): In the - unexpected case of evaluating an atom for the first time noisily, - remove the cache slot that we inserted. - -2023-05-09 Patrick Palka - - PR c++/109761 - * parser.cc (cp_parser_class_specifier): Don't pass a class - context to noexcept_override_late_checks. - (noexcept_override_late_checks): Remove 'type' parameter - and use DECL_CONTEXT of 'fndecl' instead. - -2023-05-09 Jakub Jelinek - - PR c++/109756 - * cp-gimplify.cc (process_stmt_assume_attribute): Diagnose pack - expansion of assume attribute. - -2023-05-08 Patrick Palka - - PR c++/106214 - PR c++/93107 - * pt.cc (do_auto_deduction): Move up resolve_nondeduced_context - calls to happen before do_class_deduction. Add some - error_mark_node tests. - -2023-05-07 Patrick Palka - - PR c++/85979 - * cxx-pretty-print.cc (cxx_pretty_printer::unary_expression) - : Consider ALIGNOF_EXPR_STD_P. - * error.cc (dump_expr) : Likewise. - -2023-05-07 Patrick Palka - - DR 2256 - PR c++/103091 - * decl.cc (decl_jump_unsafe): Return bool instead of int. - Don't consider TYPE_HAS_NONTRIVIAL_DESTRUCTOR. - (check_previous_goto_1): Simplify now that decl_jump_unsafe - returns bool instead of int. - (check_goto): Likewise. - -2023-05-07 Patrick Palka - - * pt.cc (instantiate_alias_template): Exit early upon - error from coerce_template_parms. Remove dependence test - guarding constraints_satisfied_p. - -2023-05-07 Patrick Palka - - * cp-tree.h (PLACEHOLDER_TYPE_CONSTRAINTS_INFO): Harden via - TEMPLATE_TYPE_PARM_CHECK. - (TPARMS_PRIMARY_TEMPLATE): Harden via TREE_VEC_CHECK. - (TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL): Harden via - TEMPLATE_TEMPLATE_PARM_CHECK. - * cxx-pretty-print.cc (cxx_pretty_printer::simple_type_specifier): - Guard PLACEHOLDER_TYPE_CONSTRAINTS access. - * error.cc (dump_type) : Use separate - variable to store CLASS_PLACEHOLDER_TEMPLATE result. - * pt.cc (outer_template_args): Use strip_innermost_template_args. - (any_type_dependent_arguments_p): Exit early if - !processing_template_decl. Use range-based for. - (any_dependent_template_arguments_p): Likewise. - -2023-05-07 Patrick Palka - - PR c++/98283 - * pt.cc (tsubst_copy_and_build) : Propagate - REF_PARENTHESIZED_P more generally via force_paren_expr. - * semantics.cc (force_paren_expr): Document default argument. - -2023-05-07 Patrick Palka - - PR c++/109651 - * pt.cc (coerce_template_args_for_ttp): Mention we can hit the - current_template_parms fallback when level-lowering a bound ttp. - (tsubst_template_decl): Add lambda_tparms parameter. Prefer to - use lambda_tparms instead of substituting DECL_TEMPLATE_PARMS. - (tsubst_decl) : Pass NULL_TREE as lambda_tparms - to tsubst_template_decl. - (tsubst_lambda_expr): For a generic lambda, substitute - DECL_TEMPLATE_PARMS and set current_template_parms to it - before substituting the function type. Pass the substituted - DECL_TEMPLATE_PARMS as lambda_tparms to tsubst_template_decl. - -2023-05-07 Patrick Palka - - PR c++/109480 - * semantics.cc (enforce_access): Check current_template_parms - instead of processing_template_decl when deciding whether to - defer the access check. - -2023-05-07 Patrick Palka - - PR c++/109480 - * constexpr.cc (potential_constant_expression_1) : - Reorganize to call get_fns sooner. Remove special handling of - the object argument of a non-static member function call. Remove - dead store to 'fun'. - -2023-05-05 Jason Merrill - - Revert: - 2023-04-27 Jason Merrill - - PR c++/61445 - * pt.cc (instantiate_decl): Assert !defer_ok for local - class members. - -2023-05-03 Jason Merrill - - PR c++/91618 - PR c++/109649 - * friend.cc (do_friend): Don't call check_explicit_specialization if - DECL_TEMPLATE_INFO is already set. - * decl2.cc (check_classfn): Set DECL_TEMPLATE_INFO. - * name-lookup.cc (set_decl_namespace): Likewise. - -2023-05-03 Jakub Jelinek - - * cp-gimplify.cc (cp_fold_data): Move definition earlier. - (cp_gimplify_expr): Pass address of ff_genericize | ff_mce_false - constructed data rather than &pset to cp_walk_tree with cp_fold_r. - -2023-05-03 Jason Merrill - - * pt.cc (reduce_template_parm_level): Fix comparison of - template template parm to cached version. - -2023-05-02 Jason Merrill - - * pt.cc (instantiate_class_template): Skip the RECORD_TYPE - of a class template. - (tsubst_template_decl): Clear CLASSTYPE_USE_TEMPLATE. - -2023-05-02 Jason Merrill - - * name-lookup.cc (pop_from_top_level): Don't - invalidate_class_lookup_cache. - -2023-05-02 Jason Merrill - - PR c++/109678 - * cp-tree.h (lookup_base): Add offset parm. - * constexpr.cc (cxx_fold_indirect_ref_1): Pass it. - * search.cc (struct lookup_base_data_s): Add offset. - (dfs_lookup_base): Handle it. - (lookup_base): Pass it. - -2023-05-02 Jason Merrill - - PR c++/109678 - * constexpr.cc (cxx_fold_indirect_ref_1): Handle empty base first. - -2023-05-01 Jason Merrill - - PR c++/109666 - * name-lookup.cc (maybe_push_to_top_level) - (maybe_pop_from_top_level): Split out... - * pt.cc (instantiate_body): ...from here. - * init.cc (maybe_instantiate_nsdmi_init): Use them. - * name-lookup.h: Declare them.. - -2023-04-28 Eugene Rozenfeld - - * Make-lang.in: Merge perf data collected when compiling cc1plus and runtime libraries - -2023-04-27 Jason Merrill - - * call.cc (print_conversion_rejection): Use iloc_sentinel. - -2023-04-27 Jason Merrill - - PR c++/61445 - * pt.cc (instantiate_decl): Assert !defer_ok for local - class members. - -2023-04-26 Jason Merrill - - * init.cc (nsdmi_inst): Remove. - (maybe_instantiate_nsdmi_init): Use DECL_INITIAL instead. - -2023-04-26 Jason Merrill - - PR c++/109241 - * pt.cc (instantiate_class_template): Do partially instantiate. - (tsubst_expr): Do call complete_type for partial instantiations. - -2023-04-26 Jason Merrill - - PR c++/69836 - * pt.cc (regenerate_decl_from_template): Skip unique friends. - -2023-04-26 Patrick Palka - - * pt.cc (most_specialized_partial_spec): Exit early when - DECL_TEMPLATE_SPECIALIZATIONS is empty. Move local variable - declarations closer to their first use. Remove redundant - flag_concepts test. Remove redundant forward declaration. - -2023-04-25 Patrick Palka - - PR c++/108975 - * pt.cc (value_dependent_expression_p) : - Suppress conservative early exit for reference variables - when DECL_HAS_VALUE_EXPR_P. - -2023-04-25 Tobias Burnus - - * parser.cc (cp_parser_omp_scan_loop_body): Handle - zero exec statements before/after 'omp scan'. - -2023-04-24 Patrick Palka - - * cp-tree.h (cp_expr_location): Define here. - * tree.cc (cp_expr_location): Don't define here. - -2023-04-21 Jason Merrill - - PR c++/108099 - * decl.cc (grokdeclarator): Don't clear typedef_decl after 'unsigned - typedef' pedwarn. Use c_common_signed_or_unsigned_type. Also - handle 'signed typedef'. - -2023-04-21 Patrick Palka - - * tree.cc (cp_walk_subtrees): Avoid repeatedly dereferencing tp. - : Use cp_unevaluated and WALK_SUBTREE. - : Likewise. - -2023-04-20 Patrick Palka - - * pt.cc (tsubst) : Don't recurse when - level lowering a cv-qualified type template parameter. Remove - recursive loop breaker in the level lowering case for constrained - autos. Use the TEMPLATE_PARM_DESCENDANTS cache in this case as - well. - -2023-04-20 Patrick Palka - - * constraint.cc (diagnose_trait_expr): Convert a TREE_VEC - of arguments into a TREE_LIST for sake of pretty printing. - * cxx-pretty-print.cc (pp_cxx_trait): Handle TREE_VEC - instead of TREE_LIST of trailing variadic trait arguments. - * method.cc (constructible_expr): Likewise. - (is_xible_helper): Likewise. - * parser.cc (cp_parser_trait): Represent trailing variadic trait - arguments as a TREE_VEC instead of TREE_LIST. - * pt.cc (value_dependent_expression_p): Handle TREE_VEC - instead of TREE_LIST of trailing variadic trait arguments. - * semantics.cc (finish_type_pack_element): Likewise. - (check_trait_type): Likewise. - -2023-04-20 Patrick Palka - - * tree.cc (strip_typedefs): Move TREE_LIST handling to - strip_typedefs_expr. Dispatch to strip_typedefs_expr for - non-type 't'. - : Remove manual dispatching to - strip_typedefs_expr. - : Likewise. - (strip_typedefs_expr): Replaces calls to strip_typedefs_expr - with strip_typedefs throughout. Don't dispatch to strip_typedefs - for type 't'. - : Replace this with the better version from - strip_typedefs. - -2023-04-19 Patrick Palka - Jonathan Wakely - - PR c++/100157 - * cp-trait.def (TYPE_PACK_ELEMENT): Define. - * cp-tree.h (finish_trait_type): Add complain parameter. - * cxx-pretty-print.cc (pp_cxx_trait): Handle - CPTK_TYPE_PACK_ELEMENT. - * parser.cc (cp_parser_constant_expression): Document default - arguments. - (cp_parser_trait): Handle CPTK_TYPE_PACK_ELEMENT. Pass - tf_warning_or_error to finish_trait_type. - * pt.cc (tsubst) : Handle non-type first - argument. Pass complain to finish_trait_type. - * semantics.cc (finish_type_pack_element): Define. - (finish_trait_type): Add complain parameter. Handle - CPTK_TYPE_PACK_ELEMENT. - * tree.cc (strip_typedefs): Handle non-type first argument. - Pass tf_warning_or_error to finish_trait_type. - * typeck.cc (structural_comptypes) : Use - cp_tree_equal instead of same_type_p for the first argument. - -2023-04-19 Patrick Palka - - PR c++/109556 - * pt.cc (try_class_unification): Don't ggc_free the copy of - 'targs'. - -2023-04-19 Jason Merrill - - PR c++/108099 - * decl.cc (grokdeclarator): Keep typedef_decl for __int128_t. - -2023-04-17 Patrick Palka - - PR c++/109531 - * pt.cc (tsubst) : - In the level-lowering case just use lookup_template_class - to rebuild the bound ttp. - -2023-04-15 Jason Merrill - - PR c++/109357 - * constexpr.cc (cxx_eval_constant_expression) [TARGET_EXPR]: - Check for complex initializer. - -2023-04-13 Patrick Palka - - PR c++/109420 - * decl.cc (make_typename_type): Also ignore non-types during the - lookup if tag_type corresponds to an elaborated-type-specifier. - * pt.cc (tsubst) : Pass class_type or - enum_type as tag_type to make_typename_type accordingly instead - of always passing typename_type. - -2023-04-13 Jason Merrill - - PR c++/109277 - * semantics.cc (check_trait_type): Handle incomplete type directly. - * typeck2.cc (cxx_incomplete_type_diagnostic): Remove assert. - -2023-04-13 Jason Merrill - - * typeck2.cc (cxx_incomplete_type_diagnostic): Return bool. - * cp-tree.h (cxx_incomplete_type_diagnostic): Adjust. - -2023-04-12 Jakub Jelinek - - * Make-lang.in (s-cp-module-version): New target. - (cp/module.o): Depend on it. - (MODULE_VERSION): Remove variable. - (CFLAGS-cp/module.o): For -DMODULE_VERSION= argument just - cat s-cp-module-version. - -2023-04-09 Iain Sandoe - - * coroutines.cc (coro_rewrite_function_body): Ensure that added - bind expressions have scope blocks. - -2023-04-04 Jason Merrill - - PR c++/107484 - * decl2.cc (find_last_decl): Return early if DECL_USE_TEMPLATE. - -2023-04-03 Patrick Palka - - PR c++/109300 - * decl.cc (cp_finish_decl): Diagnose ordinary auto deduction - with no initializer, instead of asserting. - -2023-04-01 Patrick Palka - - PR c++/109160 - * cp-tree.h (do_auto_deduction): Add defaulted tmpl parameter. - * pt.cc (convert_template_argument): Pass 'in_decl' as 'tmpl' to - do_auto_deduction. - (tsubst_decl) : Pass 'tmpl' instead of 't' as - 'in_decl' to coerce_template_parms. - (unify) : Pass TPARMS_PRIMARY_TEMPLATE - as 'tmpl' to do_auto_deduction. - (do_auto_deduction): Document default arguments. Rename local - variable 'tmpl' to 'ctmpl'. Use 'tmpl' to obtain a full set of - template arguments for satisfaction in the adc_unify case. - -2023-04-01 Patrick Palka - - PR c++/53164 - PR c++/105848 - * pt.cc (invalid_tparm_referent_p): Accept ADDR_EXPR of - FUNCTION_DECL. - (instantiate_class_template): Call mark_template_arguments_used. - (tsubst_copy_and_build) : Revert r13-995 change. - (mark_template_arguments_used): Define. - (instantiate_body): Call mark_template_arguments_used. - -2023-04-01 Iain Sandoe - - PR c++/101118 - * coroutines.cc (flatten_await_stmt): Use the current count of - promoted temporaries to build a unique name for the frame entries. - -2023-03-30 Jason Merrill - - PR c++/105452 - * search.cc (type_context_for_name_lookup): New. - (accessible_p): Handle anonymous union. - * init.cc (maybe_instantiate_nsdmi_init): Use - type_context_for_name_lookup. - * parser.cc (cp_parser_class_specifier): Likewise. - * cp-tree.h (type_context_for_name_lookup): Declare. - -2023-03-30 Jason Merrill - - PR c++/105221 - * pt.cc (unify) [FUNCTION_TYPE]: Handle function pointer - conversions. - -2023-03-30 Jakub Jelinek - - PR c++/109319 - * decl2.cc (grok_array_decl): After emitting a pedwarn for - -Wcomma-subscript, if processing_template_decl set orig_index_exp - to compound expr from orig_index_exp_list. - -2023-03-30 Jason Merrill - - PR c++/107897 - PR c++/108887 - * decl2.cc (record_mangling): Use symtab_node::reset. - -2023-03-30 Jakub Jelinek - - PR c++/109278 - * call.cc (convert_like_internal): If pedwarn for extended float - type conversions doesn't report anything, avoid calling - maybe_inform_about_fndecl_for_bogus_argument_init. - -2023-03-29 Jason Merrill - - PR c++/109321 - PR c++/109320 - * pt.cc (alias_ctad_tweaks): Rewrite deduced args. - (type_targs_deducible_from): Handle null pack deduction. - -2023-03-28 David Malcolm - - PR c/107002 - * parser.cc (cp_parser_binary_expression): Update for new param of - check_for_xor_used_as_pow. - -2023-03-28 Jakub Jelinek - - PR c++/109309 - * contracts.cc: Include intl.h. - (check_postcondition_result): Don't form diagnostics from two halves - of an English message to allow translations. - -2023-03-24 Patrick Palka - - PR c++/106969 - * parser.cc (cp_parser_class_specifier): Clear current_class_ptr - and current_class_ref sooner, before parsing a class definition. - -2023-03-24 Jason Merrill - - PR c++/105481 - * pt.cc (type_unification_real): Adjust for partial ordering. - -2023-03-23 Jason Merrill - - PR c++/105996 - * typeck.cc (build_ptrmemfunc): Drop 0-offset optimization - and location wrappers. - -2023-03-23 Marek Polacek - - PR c++/107532 - * call.cc (class_has_reference_member_p): New. - (class_has_reference_member_p_r): New. - (reference_like_class_p): Don't look for a specific constructor. - Use a DFS walk with class_has_reference_member_p_r. - -2023-03-23 Jason Merrill - - PR c++/109241 - * pt.cc (find_parameter_packs_r): Handle null TREE_BINFO. - -2023-03-22 Jason Merrill - - PR c++/108390 - * pt.cc (unify): Use fold of build_nop instead of fold_convert. - -2023-03-22 Jason Merrill - - PR c++/108795 - * semantics.cc (finish_id_expression_1): Check scope before - returning id_expression. - -2023-03-22 Alex Coplan - - PR c++/109177 - * call.cc (build_over_call): Use make_temp_override to suppress - both unavailable and deprecated warnings when calling - build_addr_func. - -2023-03-21 Jason Merrill - - PR c++/106890 - * init.cc (maybe_instantiate_nsdmi_init): Don't leave - current_function_decl set to a constructor. - -2023-03-20 Marek Polacek - - PR c++/109159 - * call.cc (add_template_candidate_real): Add explicit decls to the - set of candidates when the initializer is a braced-init-list. - -2023-03-20 Jakub Jelinek - - PR c++/109164 - * cp-tree.h (var_needs_tls_wrapper): Declare. - * decl2.cc (var_needs_tls_wrapper): No longer static. - * decl.cc (cp_finish_decl): Clear TREE_READONLY on TLS variables - for which a TLS wrapper will be needed. - -2023-03-17 Jason Merrill - - PR c++/108975 - * lambda.cc (prune_lambda_captures): Don't bother in a template. - -2023-03-17 Jason Merrill - - PR c++/109172 - * except.cc (build_throw): Check dtor access. - -2023-03-17 Jason Merrill - - PR c++/69410 - * friend.cc (do_friend): Handle namespace as scope argument. - * decl.cc (grokdeclarator): Pass down in_namespace. - -2023-03-16 Jason Merrill - - PR c++/105809 - * init.cc (get_nsdmi): Split out... - (maybe_instantiate_nsdmi_init): ...this function. - * cp-tree.h: Declare it. - * pt.cc (tsubst_expr): Use it. - -2023-03-16 Jason Merrill - - PR c++/108242 - * pt.cc (tsubst_expr) [TAG_DEFN]: Handle partial instantiation. - -2023-03-16 Jason Merrill - - PR c++/101869 - * semantics.cc (finish_qualified_id_expr): Don't try to build a - pointer-to-member if the scope is an enumeration. - -2023-03-16 Patrick Palka - - PR c++/109030 - * constexpr.cc (maybe_constant_init_1): For an unevaluated - non-manifestly-constant operand, don't constant evaluate - and instead call fold_to_constant as in maybe_constant_value. - -2023-03-16 Patrick Palka - - PR c++/100288 - * constraint.cc (satisfaction_cache::get): Relax overly strict - checking assert in the constraint recursion case. - -2023-03-16 Jason Merrill - - PR c++/105406 - * coroutines.cc (build_co_await): Handle lvalue 'o'. - -2023-03-15 Jason Merrill - - PR c++/103871 - PR c++/98056 - * typeck.cc (cp_build_modify_expr): Allow array initialization of - DECL_ARTIFICIAL variable. - -2023-03-15 Marek Polacek - - PR c++/107280 - * constexpr.cc (cxx_eval_store_expression): Strip location wrappers. - -2023-03-15 Jason Merrill - - PR c++/58538 - * semantics.cc (check_template_template_default_arg): Check - maybe_get_template_decl_from_type_decl. - -2023-03-15 Jason Merrill - - PR c++/108179 - PR c++/104107 - PR c++/95036 - * pt.cc (coerce_template_template_parms): Use args from - DECL_CONTEXT (arg_tmpl) instead of outer_args. - -2023-03-15 Jason Merrill - - PR c++/108179 - * pt.cc (coerce_template_template_parms): Take the arg and parm - templates directly. - (coerce_template_template_parm): Adjust. - (template_template_parm_bindings_ok_p): Adjust. - (convert_template_argument): Adjust. - -2023-03-14 Patrick Palka - - PR c++/96830 - * pt.cc (push_inline_template_parms_recursive): Set - TEMPLATE_PARMS_CONSTRAINTS. - (push_template_decl): For an out-of-line declaration, verify - constraints for each enclosing template scope match those of the - original template declaratation. - -2023-03-14 Patrick Palka - - PR c++/96830 - * pt.cc (redeclare_class_template): Add missing "of" in - constraint mismatch diagnostic. - (tsubst_friend_class): For an already declared class template, - substitute and pass the friend declaration's constraints to - redeclare_class_template instead of passing the existing - template's constraints. - -2023-03-14 Jason Merrill - - PR c++/108468 - * pt.cc (unify_pack_expansion): Check that TPARMS_PRIMARY_TEMPLATE - is non-null. - -2023-03-14 Jason Merrill - - PR c++/107310 - * cp-gimplify.cc (genericize_if_stmt): Restore folding - of constant conditions. - -2023-03-14 Jakub Jelinek - - PR c++/109096 - * tree.cc (record_has_unique_obj_representations): Ignore unnamed - bitfields. - -2023-03-13 Jason Merrill - - PR c++/107128 - * parser.cc (cp_parser_set_decl_spec_type): Use - redefined_builtin_type for extended_float_type_p. - -2023-03-13 Marek Polacek - - PR c++/107532 - * call.cc (reference_like_class_p): Check for std::span. - -2023-03-10 Jakub Jelinek - - PR c++/107558 - * decl.cc (cp_finish_decl): Don't clear TREE_READONLY on - automatic non-aggregate variables just because of - -fmerge-all-constants. - -2023-03-10 Jakub Jelinek - - PR c++/109039 - * class.cc (end_of_class): For bit-fields, instead of computing - offset as sum of byte_position (field) and DECL_SIZE_UNIT (field), - compute it as sum of bit_position (field) and DECL_SIZE (field) - divided by BITS_PER_UNIT rounded up. - -2023-03-10 Jason Merrill - - PR c++/108972 - * lambda.cc (compare_lambda_template_head): Check more - for error_mark_node. - -2023-03-10 Jason Merrill - - PR c++/108566 - * mangle.cc (anon_aggr_naming_decl): New. - (write_unqualified_name): Use it. - -2023-03-10 Jakub Jelinek - - PR c/108079 - * decl.cc (poplevel): Suppress OPT_Wunused_variable warning - after diagnosing it. - -2023-03-10 Jason Merrill - - PR c++/108099 - * decl.cc (grokdeclarator): Handle non-typedef typedef_decl. - -2023-03-10 Jason Merrill - - PR c++/108542 - * class.cc (instantiate_type): Strip location wrapper. - -2023-03-09 Jason Merrill - - PR c++/108773 - * init.cc (find_allocator_temps_r): New. - (combine_allocator_temps): Replace find_allocator_temp. - (build_vec_init): Adjust. - -2023-03-09 Jason Merrill - - DR 2664 - PR c++/102529 - * pt.cc (alias_ctad_tweaks): Continue after deduction failure. - -2023-03-09 Jason Merrill - Michael Spertus - - PR c++/105841 - * pt.cc (corresponding_template_parameter_list): Split out... - (corresponding_template_parameter): ...from here. - (find_template_parameters): Factor out... - (find_template_parameter_info::find_in): ...this function. - (find_template_parameter_info::find_in_recursive): New. - (find_template_parameter_info::found): New. - (alias_ctad_tweaks): Only add parms used in the deduced args. - -2023-03-09 Jason Merrill - - * cp-trait.def (IS_DEDUCIBLE): Add space to name. - -2023-03-09 Jason Merrill - - PR c++/105841 - * cp-trait.def (IS_DEDUCIBLE): New. - * cxx-pretty-print.cc (pp_cxx_trait): Handle non-type. - * parser.cc (cp_parser_trait): Likewise. - * tree.cc (cp_tree_equal): Likewise. - * pt.cc (tsubst_copy_and_build): Likewise. - (type_targs_deducible_from): New. - (alias_ctad_tweaks): Use it. - * semantics.cc (trait_expr_value): Handle CPTK_IS_DEDUCIBLE. - (finish_trait_expr): Likewise. - * constraint.cc (diagnose_trait_expr): Likewise. - * cp-tree.h (type_targs_deducible_from): Declare. - -2023-03-07 Jason Merrill - - PR c++/108526 - PR c++/106651 - * pt.cc (tsubst_function_decl): Don't replace the closure - parameter if DECL_STATIC_FUNCTION_P. - -2023-03-07 Marek Polacek - - PR c++/107532 - * call.cc (reference_like_class_p): New. - (do_warn_dangling_reference): Add new bool parameter. See through - reference_like_class_p. - -2023-03-07 Jakub Jelinek - - PR c++/109042 - * rtti.cc (emit_support_tinfo_1): Don't assert that last - unemitted_tinfo_decls element is tinfo, instead pop from it only in - that case. - * decl2.cc (c_parse_final_cleanups): Don't call emit_tinfo_decl - for unemitted_tinfO_decls which have already non-NULL DECL_INITIAL. - -2023-03-07 Marek Polacek - - PR c++/109030 - * constexpr.cc (cxx_eval_call_expression): Relax assert. - -2023-03-07 Marek Polacek - - PR c++/107939 - * constexpr.cc (potential_constant_expression_1) : Pass - 'any' when recursing on a VAR_DECL and not a pointer to function. - -2023-03-04 Jakub Jelinek - - PR c++/108702 - * constexpr.cc: Include toplev.h. - (cxx_eval_constant_expression) : When seeing a local - static initialized by constant expression outside of a constexpr - function which has been deferred by make_rtl_for_nonlocal_decl, - call rest_of_decl_compilation on it. - -2023-03-03 Patrick Palka - - PR c++/108998 - * pt.cc (el_data::skipped_trees): New data member. - (extract_locals_r): Push to skipped_trees any unevaluated - contexts that we skipped over. - (extract_local_specs): For the second walk, start from each - tree in skipped_trees. - -2023-03-03 Alexandre Oliva - - * typeck.cc (cp_build_binary_op): Suppress redundant warning - for pfn null test in pmfn test with vbit-in-delta. - -2023-03-02 Jakub Jelinek - - PR target/108883 - * cp-tree.h (enum cp_tree_index): Remove CPTI_FALLBACK_DFLOAT*_TYPE - enumerators. - (fallback_dfloat32_type, fallback_dfloat64_type, - fallback_dfloat128_type): Remove. - * rtti.cc (emit_support_tinfo_1): If not emitted already, call - emit_tinfo_decl and remove from unemitted_tinfo_decls right away. - (emit_support_tinfos): Move &dfloat*_type_node from fundamentals array - into new fundamentals_with_fallback array. Call emit_support_tinfo_1 - on elements of that array too, with the difference that if - the type is NULL, use a fallback REAL_TYPE for it temporarily. - Drop the !targetm.decimal_float_supported_p () handling. Call - targetm.emit_support_tinfos at the end. - * mangle.cc (write_builtin_type): Remove references to - fallback_dfloat*_type. Handle bfloat16_type_node mangling. - -2023-03-02 Patrick Palka - - PR c++/108243 - PR c++/97553 - * cp-gimplify.cc (cp_fully_fold): Add an internal overload that - additionally takes and propagate an mce_value parameter, and - define the existing public overload in terms of it. - (cp_fully_fold_init): Pass mce_false to cp_fully_fold. - -2023-03-02 Patrick Palka - - PR c++/108243 - * constexpr.cc (maybe_constant_init_1): Override - manifestly_const_eval to true if is_static. - -2023-03-02 Jakub Jelinek - - PR debug/108716 - * cp-gimplify.cc (cp_genericize_r) : Set - DECL_SOURCE_LOCATION on IMPORTED_DECL to expression location - of USING_STMT or input_location. - -2023-03-02 Marek Polacek - - PR c++/106259 - * parser.cc (class_decl_loc_t::diag_mismatched_tags): If the first - lookup of SPEC didn't find anything, try to look for - most_general_template. - -2023-03-02 Jakub Jelinek - - PR c++/105839 - * parser.cc (cp_convert_omp_range_for): Allow in assert - decomp_first_name without DECL_HAS_VALUE_EXPR_P if it has - error_mark_node type. - (cp_finish_omp_range_for): Don't set DECL_HAS_VALUE_EXPR_P back - on decls which have error_mark_node type. - -2023-03-01 Marek Polacek - - PR c++/107574 - * constexpr.cc (cxx_eval_constant_expression): Emit an error when - a PTRMEM_CST cannot be evaluated. - -2023-03-01 Patrick Palka - - * pt.cc (tsubst_scope): Define. - (tsubst_decl) : Call tsubst_scope instead of - calling tsubst_scope with tf_qualifying_scope set. - (tsubst_qualified_id): Call tsubst_scope instead of - calling tsubst with tf_qualifying_scope set. - (tsubst_copy): Immediately delegate to tsubst for all TYPE_P - trees. Remove tf_qualifying_scope manipulation. - : Call tsubst_scope instead of calling - tsubst with tf_qualifying_scope set. - -2023-03-01 Patrick Palka - Jason Merrill - - PR c++/108219 - PR c++/108218 - * constexpr.cc (fold_to_constant): Define. - (maybe_constant_value): Move up early exit test for unevaluated - operands. Try reducing an unevaluated operand to a constant via - fold_to_constant. - (fold_non_dependent_expr_template): Add early exit test for - CONSTANT_CLASS_P nodes. Try reducing an unevaluated operand - to a constant via fold_to_constant. - * cp-tree.h (fold_to_constant): Declare. - -2023-03-01 Jakub Jelinek - - PR c++/108606 - * constexpr.cc (potential_constant_expression_1) : - Only recurse on DECL_INITIAL (tmp) if tmp is a VAR_DECL, otherwise - just return true. - -2023-02-28 Patrick Palka - - PR c++/108848 - * pt.cc (finish_template_variable): Move dependence check - to here from ... - (lookup_and_finish_template_variable): ... here. - * semantics.cc (finish_id_expression_1): Call - finish_template_variable sooner, before (and regardless of) the - type_dependent_expression_p test. - -2023-02-28 Marek Polacek - - PR c++/108550 - * pt.cc (lookup_and_finish_template_variable): Clear tf_partial. - -2023-02-20 Marek Polacek - - PR c++/101073 - * constexpr.cc (cxx_eval_call_expression): Replace shortcutting trivial - constructor/op= with a checking assert. - -2023-02-20 Marek Polacek - - PR c++/108829 - * pt.cc (prepend_one_capture): Set LAMBDA_CAPTURE_EXPLICIT_P. - (tsubst_lambda_expr): Pass LAMBDA_CAPTURE_EXPLICIT_P to - prepend_one_capture. - -2023-02-18 Jason Merrill - - DR 2518 - PR c++/52809 - PR c++/53638 - PR c++/87389 - PR c++/89741 - PR c++/92099 - PR c++/104041 - PR c++/104691 - * semantics.cc (finish_static_assert): Don't diagnose in - template context. - -2023-02-17 Patrick Palka - - PR c++/108243 - PR c++/97553 - * cp-gimplify.cc (enum fold_flags): Define. - (fold_flags_t): Declare. - (cp_fold_data::genericize): Replace this data member with ... - (cp_fold_data::fold_flags): ... this. - (cp_fold_r): Adjust use of cp_fold_data and calls to cp_fold. - (cp_fold_function): Likewise. - (cp_fold_maybe_rvalue): Add an internal overload that - additionally takes and propagates a fold_flags_t parameter, and - define the existing public overload in terms of it. - (cp_fold_rvalue): Likewise. - (cp_fully_fold_init): Adjust use of cp_fold_data. - (fold_cache): Replace with ... - (fold_caches): ... this 2-element array of caches. - (get_fold_cache): Define. - (clear_fold_cache): Adjust. - (cp_fold): Add fold_flags_t parameter. Use get_fold_cache. - Pass flags to calls to cp_fold, cp_fold_rvalue and - cp_fold_maybe_rvalue. - : If ff_mce_false is set, fold - __builtin_is_constant_evaluated to false and pass mce_false to - maybe_constant_value. - -2023-02-17 Patrick Palka - - * constexpr.cc (constexpr_call::manifestly_const_eval): Give - it type int instead of bool. - (constexpr_ctx::manifestly_const_eval): Give it type mce_value - instead of bool. - (cxx_eval_builtin_function_call): Adjust after making - manifestly_const_eval tri-state. - (cxx_eval_call_expression): Likewise. - (cxx_eval_binary_expression): Likewise. - (cxx_eval_conditional_expression): Likewise. - (cxx_eval_constant_expression): Likewise. - (cxx_eval_outermost_constant_expr): Likewise. - (cxx_constant_value): Likewise. - (cxx_constant_dtor): Likewise. - (maybe_constant_value): Give manifestly_const_eval parameter - type mce_value instead of bool and adjust accordingly. - (fold_non_dependent_expr_template): Adjust call - to cxx_eval_outermost_constant_expr. - (fold_non_dependent_expr): Likewise. - (maybe_constant_init_1): Likewise. - * constraint.cc (satisfy_atom): Adjust call to - maybe_constant_value. - * cp-tree.h (enum class mce_value): Define. - (maybe_constant_value): Adjust manifestly_const_eval parameter - type and default argument. - * decl.cc (compute_array_index_type_loc): Adjust call to - maybe_constant_value. - * pt.cc (convert_nontype_argument): Likewise. - -2023-02-16 Patrick Palka - - PR c++/107773 - * cp-tree.h (enum tsubst_flags): New flag tf_qualifying_scope. - * decl.cc (make_typename_type): Use lookup_member instead of - lookup_field. If tf_qualifying_scope is set, pass want_type=true - instead of =false to lookup_member. Generalize format specifier - in diagnostic to handle both type and non-type bindings. - * pt.cc (tsubst_aggr_type_1): Clear tf_qualifying_scope. Tidy - the function. - (tsubst_decl) : Set tf_qualifying_scope when - substituting USING_DECL_SCOPE. - (tsubst): Clear tf_qualifying_scope right away and remember if - it was set. Do the same for tf_tst_ok sooner. - : Set tf_qualifying_scope when substituting - TYPE_CONTEXT. Pass tf_qualifying_scope to make_typename_type - if it was set. - (tsubst_qualified_id): Set tf_qualifying_scope when substituting - the scope. - (tsubst_copy): Clear tf_qualifying_scope and remember if it was - set. - : Set tf_qualifying_scope when substituting the - scope. - : Pass tf_qualifying_scope to tsubst if it was set. - * search.cc (lookup_member): Document default argument. - -2023-02-16 Patrick Palka - - * cp-tree.h: Mechanically drop static from static inline - functions via s/^static inline/inline/g. - -2023-02-15 Marek Polacek - - PR c++/106675 - * call.cc (joust_maybe_elide_copy): Return false for ck_ambig. - -2023-02-10 Marek Polacek - - PR c++/107079 - * call.cc (set_up_extended_ref_temp): Pass var to maybe_constant_init. - -2023-02-09 Tobias Burnus - - * parser.cc (cp_parser_omp_allocate): Parse align - clause and check for restrictions. - -2023-02-09 Jakub Jelinek - - PR c++/108698 - * mangle.cc (write_expression, write_template_arg): Handle - EXCESS_PRECISION_EXPR with REAL_CST operand as - write_template_arg_literal on fold_convert of the REAL_CST - to EXCESS_PRECISION_EXPR type. - -2023-02-06 Patrick Palka - - PR c++/107461 - * cp-tree.h (call_expr_dependent_name): Declare. - * pt.cc (iterative_hash_template_arg) : Use - call_expr_dependent_name instead of dependent_name. - * tree.cc (call_expr_dependent_name): Define. - (called_fns_equal): Adjust to take two CALL_EXPRs instead of - CALL_EXPR_FNs thereof. Use call_expr_dependent_name instead - of dependent_name. - (cp_tree_equal) : Adjust call to called_fns_equal. - -2023-02-03 Marek Polacek - - PR c++/108158 - * constexpr.cc (cxx_eval_array_reference): Don't replace - new_ctx.object. - -2023-02-03 Patrick Palka - - PR c++/107461 - * semantics.cc (finish_call_expr): Strip ADDR_EXPR from - the selected callee during overload set pruning. - -2023-02-03 Patrick Palka - - PR c++/96745 - * class.cc (check_methods): Diagnose an unviable OVERLOAD - set for CLASSTYPE_DESTRUCTOR differently from an ambiguous one. - Then prune the OVERLOAD to a single function. - (check_bases_and_members): Handle CLASSTYPE_DESTRUCTOR being - an OVERLOAD when calling deduce_noexcept_on_destructor. - Document why it has to be called before check_methods. - -2023-02-03 Patrick Palka - - PR c++/108579 - * class.cc (check_methods): Swap order of constraints_satisfied_p - and copy/move_fn_p tests. - -2023-02-01 Marek Polacek - - PR c++/107755 - * call.cc (build_new_op): Don't call warn_logical_operator when - processing a template. - -2023-02-01 Jakub Jelinek - - PR c++/108607 - * constexpr.cc (cxx_eval_constant_expression): Handle OMP_* - and OACC_* constructs as non-constant. - (potential_constant_expression_1): Handle OMP_SCAN and OMP_SCOPE. - -2023-02-01 Jason Merrill - - * class.cc (note_name_declared_in_class): Change from permerror to - -Wchanges-meaning pedwarn, forcing -pedantic-errors for most cases. - -2023-01-31 Jason Merrill - - PR c++/108559 - * cp-gimplify.cc (any_non_eliding_target_exprs): New. - (cp_genericize_init): Check it. - -2023-01-31 Marek Polacek - - PR c++/107593 - PR c++/108597 - * cp-tree.h (instantiation_dependent_expression_p): Don't - declare here. - -2023-01-26 Marek Polacek - - PR c++/105300 - * parser.cc: Remove unnecessary forward declarations. - (cp_parser_string_literal): New wrapper. - (cp_parser_string_literal_common): Renamed from - cp_parser_string_literal. Add a bool parameter. Give an error when - UDLs are not permitted. - (cp_parser_userdef_string_literal): New wrapper. - (finish_userdef_string_literal): Renamed from - cp_parser_userdef_string_literal. - (cp_parser_primary_expression): Call cp_parser_userdef_string_literal - instead of cp_parser_string_literal. - (cp_parser_linkage_specification): Move a variable declaration closer - to its first use. - (cp_parser_static_assert): Likewise. - (cp_parser_operator): Call cp_parser_userdef_string_literal instead of - cp_parser_string_literal. - (cp_parser_asm_definition): Move a variable declaration closer to its - first use. - (cp_parser_asm_specification_opt): Move variable declarations closer to - their first use. - (cp_parser_asm_operand_list): Likewise. - (cp_parser_asm_clobber_list): Likewise. - -2023-01-26 Jakub Jelinek - - PR c++/108503 - * parser.cc (cp_convert_omp_range_for): If cp_finish_decomp has been - called in !processing_template_decl with processing_template_decl - temporarily set, clear DECL_HAS_VALUE_EXPR_P on the vars temporarily. - (cp_finish_omp_range_for): And set it back again here. - -2023-01-25 Jakub Jelinek - - PR c++/108525 - * mangle.cc (write_closure_type_name): Don't assume all - lambda operator() fns are methods. - -2023-01-24 Jason Merrill - - PR c++/108504 - * parser.cc (cp_lexer_new_main): Pass C_LEX_STRING_NO_JOIN for first - token, too. - -2023-01-24 Jason Merrill - - PR c++/108526 - * pt.cc (tsubst_function_decl): Handle static lambda. - -2023-01-24 Jakub Jelinek - - PR c++/108474 - * cp-gimplify.cc (cp_fold_r): Revert 2023-01-19 changes. - -2023-01-24 Jason Merrill - - PR c++/107303 - PR c++/107329 - * cp-gimplify.cc (cp_fold_r) [TARGET_EXPR]: In case of double - TARGET_EXPR, keep the outer one instead of the inner one. - (maybe_replace_decl): New. - -2023-01-23 Jason Merrill - - PR c++/107267 - * cp-gimplify.cc (cp_gimplify_init_expr): Allow unexpected elision - of trivial types. - -2023-01-23 Marek Polacek - - PR c++/107797 - * cvt.cc (ocp_convert): copy_warning when creating a new - COMPOUND_EXPR. - * init.cc (build_new_1): Suppress -Wunused-value on - compiler-generated COMPOUND_EXPRs. - -2023-01-23 Jason Merrill - - PR c++/108195 - * call.cc (build_user_type_conversion_1): Check whether the - iterators also find a list ctor. - -2023-01-23 Jason Merrill - - PR c++/108496 - * decl.cc (grokdeclarator): Check whether DECL_RESULT is already - set. - -2023-01-23 Jason Merrill - - PR c++/53288 - DR 1299 - * call.cc (extend_ref_init_temps_1): Handle ptrmem expression. - -2023-01-19 Jakub Jelinek - - PR c++/108437 - * cp-tree.h (keep_unused_object_arg): Declare. - * call.cc (keep_unused_object_arg): No longer static. - * tree.cc (build_min_non_dep_op_overload): Handle ARRAY_REF - with overload being static member function. - -2023-01-19 Jakub Jelinek - - PR c++/53932 - * cp-gimplify.cc (cp_fold_r): During cp_fully_fold_init replace - DECL_ANON_UNION_VAR_P VAR_DECLs with their corresponding - DECL_VALUE_EXPR. - -2023-01-16 Jakub Jelinek - - PR c++/105593 - * decl.cc (cp_finish_decl): Check warning_enabled_at - at the DECL_SOURCE_LOCATION (decl) for OPT_Winit_self instead - of warn_init_self. - -2023-01-14 Jakub Jelinek - - PR c++/108365 - * typeck.cc (cp_build_binary_op): Use may_shorten_divmod for integral - division or modulo. - -2023-01-13 Jakub Jelinek - - PR c++/108285 - * cvt.cc (cp_convert_and_check): For EXCESS_PRECISION_EXPR - use its operand except that for warning purposes use the original - EXCESS_PRECISION_EXPR. - * call.cc (convert_like_internal): Only look through - EXCESS_PRECISION_EXPR when calling cp_convert, not when calling - cp_convert_and_check. - -2023-01-09 Jakub Jelinek - - PR c++/105838 - PR c++/108047 - PR c++/108266 - * call.cc (maybe_init_list_as_range): Always return NULL_TREE if - processing_template_decl. - -2023-01-05 Patrick Palka - - PR c++/108275 - * parser.cc (cp_parser_class_head): Use dk_deferred instead of - dk_no_check when parsing the class name. - -2023-01-05 Jakub Jelinek - - PR c++/108286 - * semantics.cc (finish_omp_target_clauses): Ignore clauses other than - OMP_CLAUSE_MAP. - -2023-01-04 Patrick Palka - - PR c++/108282 - * decl2.cc (mark_single_function): Ignore mark_used failure - only in a non-SFINAE context rather than in a SFINAE one. - -2023-01-04 Jakub Jelinek - - PR c++/108206 - * decl.cc (merge_default_template_args): Return false if either - new_parm or old_parm are erroneous. - -Copyright (C) 2023 Free Software Foundation, Inc. +Copyright (C) 2024 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/cp/ChangeLog-2023 b/gcc/cp/ChangeLog-2023 new file mode 100644 index 000000000000..857567658a1d --- /dev/null +++ b/gcc/cp/ChangeLog-2023 @@ -0,0 +1,4097 @@ +2023-12-22 Jason Merrill + + PR c++/81438 + * decl.cc (poplevel_named_label_1): Handle leaving catch. + (check_previous_goto_1): Likewise. + (check_goto_1): Likewise. + +2023-12-22 Jason Merrill + + PR c++/95298 + * mangle.cc (write_expression): Handle v18 sizeof... bug. + * pt.cc (tsubst_pack_expansion): Keep TREE_VEC for sizeof... + (tsubst_expr): Don't strip TREE_VEC here. + +2023-12-21 Patrick Palka + + * cp-tree.h (maybe_warn_unparenthesized_assignment): Add + 'nested_p' bool parameter. + * semantics.cc (boolish_class_type_p_cache): Define. + (boolish_class_type_p): Define. + (maybe_warn_unparenthesized_assignment): Add 'nested_p' + bool parameter. Suppress the warning for nested assignments + to bool and bool-like class types. + (maybe_convert_cond): Pass nested_p=false to + maybe_warn_unparenthesized_assignment. + * typeck.cc (convert_for_assignment): Pass nested_p=true to + maybe_warn_unparenthesized_assignment. Remove now redundant + check for 'rhs' having bool type. + +2023-12-21 Patrick Palka + + PR c++/84542 + * decl.cc (merge_attribute_bits): Merge TREE_DEPRECATED + and TREE_UNAVAILABLE. + +2023-12-21 Patrick Palka + + PR c++/70413 + PR c++/107906 + * decl2.cc (min_vis_expr_r): Handle PTRMEM_CST and TEMPLATE_DECL + other than those for alias templates. + +2023-12-21 Jakub Jelinek + + * cp-gimplify.cc (cp_genericize_r): If warn_alloc_size, call + warn_for_alloc_size for -Walloc-size diagnostics. + * semantics.cc (finish_call_expr): If warn_calloc_transposed_args, + call warn_for_calloc for -Wcalloc-transposed-args diagnostics. + +2023-12-21 Jason Merrill + + PR c++/37722 + * decl.cc (identify_goto): Adjust for computed goto. + (struct named_label_use_entry): Add computed_goto field. + (poplevel_named_label_1): Add to computed_goto vec. + (check_previous_goto_1): Dump computed_goto vec. + (check_goto_1): Split out from check_goto. + (check_goto): Check all addressable labels for computed goto. + (struct named_label_entry): Add addressed field. + (mark_label_addressed): New. + * parser.cc (cp_parser_unary_expression): Call it. + * cp-tree.h (mark_label_addressed): Declare it. + +2023-12-20 Jason Merrill + + PR c++/113088 + PR c++/33799 + * except.cc (maybe_splice_retval_cleanup): Handle an empty block. + +2023-12-20 Jason Merrill + + PR c++/103185 + * typeck.cc (cp_build_array_ref): Handle swapped operands. + +2023-12-19 Patrick Palka + + PR c++/113063 + * method.cc (synthesize_method): Use maybe_push_to_top_level + and maybe_pop_from_top_level. + +2023-12-19 Patrick Palka + + * name-lookup.cc (struct local_state_t): Define. + (local_state_stack): Define. + (maybe_push_to_top_level): Use them. + (maybe_pop_from_top_level): Likewise. + * pt.cc (instantiate_decl): Remove dead code for saving/restoring + cp_unevaluated_operand and c_inhibit_evaluation_warnings. + +2023-12-19 Nathaniel Shead + + PR c++/102420 + * constexpr.cc (cxx_bind_parameters_in_call): Check for calling + non-static member functions with a null pointer. + +2023-12-19 Sandra Loosemore + + * decl.cc (omp_declare_variant_finalize_one): Adjust for new + representations. + * parser.cc (omp_construct_selectors): Delete. + (omp_device_selectors): Delete. + (omp_implementation_selectors): Delete. + (omp_user_selectors): Delete. + (cp_parser_omp_context_selector): Adjust for new representations + and simplify dispatch logic. Uniformly warn instead of sometimes + error when an unknown selector is found. Adjust error messages + for extraneous/incorrect score. + (cp_parser_omp_context_selector_specification): Likewise. + * pt.cc (tsubst_attribute): Adjust for new representations. + +2023-12-19 Sandra Loosemore + + * parser.cc (cp_parser_omp_context_selector): Adjust for new + namelist property representation. + * pt.cc (tsubst_attribute): Likewise. + +2023-12-19 Sandra Loosemore + + * parser.cc (cp_parser_omp_context_selector): Use new constructors. + * pt.cc: Include omp-general.h. + (tsubst_attribute): Use new context selector accessors and + constructors. + +2023-12-19 Patrick Palka + + PR c++/90679 + * cp-tree.h (comp_template_args): Remove partial_order parameter. + (template_args_equal): Likewise. + * pt.cc (comparing_for_partial_ordering): New global flag. + (iterative_hash_template_arg) : Hash the template + and arguments for specializations that use structural equality. + (template_args_equal): Remove partial order parameter and + use comparing_for_partial_ordering instead. + (comp_template_args): Likewise. + (comp_template_args_porder): Set comparing_for_partial_ordering + instead. Make static. + (any_template_arguments_need_structural_equality_p): Return true + for an argument that's a dependent alias template specialization + or a class template specialization that itself needs structural + equality. + * tree.cc (cp_tree_equal) : Adjust call to + comp_template_args. + +2023-12-19 Patrick Palka + + PR c++/90679 + * cp-tree.h (TEMPLATE_DECL_COMPLEX_ALIAS_P): Remove. + (most_general_template): Constify parameter. + * pt.cc (push_template_decl): Adjust after removing + TEMPLATE_DECL_COMPLEX_ALIAS_P. + (complex_alias_tmpl_info): New hash_map. + (uses_all_template_parms_data::seen): Change type to + tree* from bool*. + (complex_alias_template_r): Adjust accordingly. + (complex_alias_template_p): Add 'seen_out' out parameter. + Call most_general_template and check PRIMARY_TEMPLATE_P. + Use complex_alias_tmpl_info to cache the result and set + '*seen_out' accordigly. + (dependent_alias_template_spec_p): Add !processing_template_decl + early exit test. Consider dependence of only template arguments + corresponding to seen template parameters as per + +2023-12-19 Thomas Schwinge + + PR c++/90868 + * parser.cc (cp_parser_oacc_declare): For "more than once", check + the DECL that we're actually setting the attribute on. + +2023-12-16 Nathaniel Shead + + PR c++/106363 + * module.cc (module_state::write_cluster): Don't skip first + depset for bindings. + +2023-12-16 Nathaniel Shead + + PR c++/113031 + * constexpr.cc (cxx_fold_indirect_ref_1): Check for CLASS_TYPE + before using CLASSTYPE_AS_BASE. + +2023-12-16 Andrew Carlotti + + * decl2.cc (check_classfn): Update comment to include + target_version attributes. + +2023-12-15 Patrick Palka + + PR c++/70435 + PR c++/88061 + * pt.cc (tsubst_function_decl): Propagate DECL_SECTION_NAME + via set_decl_section_name. + (tsubst_decl) : Likewise. + +2023-12-15 Patrick Palka + + PR c++/109715 + * mangle.cc (get_abi_tags): Strip TEMPLATE_DECL before looking + up the abi_tag attribute. + +2023-12-14 Marek Polacek + + PR c++/112482 + * decl.cc (grokdeclarator): Do not issue the auto parameter error while + tentatively parsing a function parameter. + * parser.cc (cp_parser_parameter_declaration_clause): Check it here. + +2023-12-14 Marek Polacek + + PR c++/112869 + * cp-gimplify.cc (cp_fold_immediate_r): Check cp_unevaluated_operand + and DECL_IMMEDIATE_FUNCTION_P rather than in_immediate_context. + +2023-12-14 Patrick Palka + + * cp-tree.h (type_targs_deducible_from): Adjust return type. + * pt.cc (alias_ctad_tweaks): Also handle C++23 inherited CTAD. + (inherited_ctad_tweaks): Define. + (type_targs_deducible_from): Return the deduced arguments or + NULL_TREE instead of a bool. Handle 'tmpl' being a TREE_LIST + representing a synthetic alias template. + (ctor_deduction_guides_for): Do inherited_ctad_tweaks for each + USING_DECL in C++23 mode. + (deduction_guides_for): Add FIXME for stale cache entries in + light of inherited CTAD. + +2023-12-14 Jakub Jelinek + + PR c++/112968 + * pt.cc (freelist::reinit): Make whole obj->common + defined for valgrind annotations rather than just obj->base, + and do it even for ENABLE_GC_CHECKING. If not ENABLE_GC_CHECKING, + clear TREE_CHAIN (obj) and TREE_TYPE (obj). + +2023-12-13 Patrick Palka + + * call.cc (print_z_candidates): Only print ignored candidates + when -fdiagnostics-all-candidates is set, otherwise suggest + the flag. + (build_over_call): When diagnosing deletedness, note + other candidates only if -fdiagnostics-all-candidates is + set, otherwise suggest the flag. + +2023-12-13 Patrick Palka + + * call.cc (enum rejection_reason_code): Add rr_ignored. + (add_ignored_candidate): Define. + (ignored_candidate_p): Define. + (add_template_candidate_real): Do add_ignored_candidate + instead of returning NULL. + (splice_viable): Put ignored (non-viable) candidates last. + (print_z_candidate): Handle ignored candidates. + (build_new_function_call): Refine shortcut that calls + cp_build_function_call_vec now that non-templates can + appear in the candidate list for a template-id call. + (add_candidates): Replace 'bad_fns' overload with 'bad_cands' + candidate list. When not considering a candidate, add it + to the list as an ignored candidate. Add all 'bad_cands' + to the overload set as well. + +2023-12-13 Patrick Palka + + * call.cc: Include "tristate.h". + (splice_viable): Sort the candidate list according to viability. + Don't remove non-viable candidates from the list. + (print_z_candidates): Add defaulted only_viable_p parameter. + By default only print non-viable candidates if there is no + viable candidate. + (tourney): Ignore non-viable candidates. Move the true champ to + the front of the candidates list, and update 'candidates' to + point to the front. Rename champ_compared_to_predecessor to + previous_worse_champ. + +2023-12-13 Patrick Palka + + PR c++/99186 + PR c++/104867 + * pt.cc (unify) : Compare types as well. + +2023-12-13 Patrick Palka + + PR c++/93740 + * pt.cc (unify) : Handle it like FIELD_DECL + and TEMPLATE_DECL. + +2023-12-13 Jason Merrill + + * call.cc (convert_for_arg_passing) + * typeck.cc (convert_for_assignment): Adjust call to + warn_for_address_of_packed_member. + +2023-12-13 Julian Brown + + * parser.cc (cp_parser_oacc_all_clauses): Add TARGET_P parameter. Use + to select region type for finish_omp_clauses call. + (cp_parser_omp_target_data, cp_parser_omp_target_enter_data): Support + GOMP_MAP_ATTACH kind. + (cp_parser_omp_target_exit_data): Support GOMP_MAP_DETACH kind. + (cp_parser_oacc_declare): Update call to cp_parser_oacc_all_clauses. + (cp_parser_oacc_loop): Update calls to cp_parser_oacc_all_clauses. + (cp_parser_oacc_compute): Likewise. + * pt.cc (tsubst_expr): Use C_ORT_ACC_TARGET for call to + tsubst_omp_clauses for OpenACC compute regions. + * semantics.cc (cp_omp_address_inspector): New class, derived from + c_omp_address_inspector. + (handle_omp_array_sections_1, handle_omp_array_sections, + finish_omp_clauses): Use cp_omp_address_inspector class and OMP address + tokenizer to analyze and expand OpenMP map clause expressions. Fix + some diagnostics. Support C_ORT_ACC_TARGET. + (finish_omp_target): Handle GOMP_MAP_POINTER. + +2023-12-13 Julian Brown + + * semantics.cc (finish_omp_clause): Add braces and reindent + OMP_CLAUSE_TO/OMP_CLAUSE_FROM/OMP_CLAUSE__CACHE_ stanza. + +2023-12-13 Jason Merrill + + PR c++/96997 + * tree.cc (bot_manip): Check data.clear_location for TARGET_EXPR. + +2023-12-13 Nathaniel Shead + + PR c++/71093 + * constexpr.cc (constexpr_global_ctx::get_value_ptr): Don't + return NULL_TREE for objects we're initializing. + (constexpr_global_ctx::destroy_value): Rename from remove_value. + Only mark real variables as outside lifetime. + (constexpr_global_ctx::clear_value): New function. + (destroy_value_checked): New function. + (cxx_eval_call_expression): Defer complaining about non-constant + arg0 for operator delete. Use remove_value_safe. + (cxx_fold_indirect_ref_1): Handle conversion to 'as base' type. + (outside_lifetime_error): Include name of object we're + accessing. + (cxx_eval_store_expression): Handle clobbers. Improve error + messages. + (cxx_eval_constant_expression): Use remove_value_safe. Clear + bind variables before entering body. + +2023-12-13 Jason Merrill + + * constexpr.cc (cxx_eval_call_expression): Handle missing in-charge + argument. + +2023-12-13 Jason Merrill + + PR c++/108243 + * constexpr.cc (cxx_eval_outermost_constant_expr): Turn + a constructor CALL_EXPR into a TARGET_EXPR. + +2023-12-13 Jason Merrill + + * tree.cc (build_aggr_init_expr): Copy EXPR_LOCATION. + +2023-12-12 Jason Merrill + Jason Xu + + * class.cc (propagate_class_warmth_attribute): Handle + member templates. + +2023-12-12 Jason Merrill + Nathaniel Shead + + * call.cc (build_trivial_dtor_call): Use CLOBBER_OBJECT_END. + * decl.cc (build_clobber_this): Take clobber_kind argument. + (start_preparsed_function): Pass CLOBBER_OBJECT_BEGIN. + (begin_destructor_body): Pass CLOBBER_OBJECT_END. + +2023-12-11 Patrick Palka + + * pt.cc (alias_ctad_tweaks): Pass use_spec_table=false to + tsubst_decl. + +2023-12-11 Tobias Burnus + + * parser.cc (cp_parser_omp_requires): Handle acquires/release + in atomic_default_mem_order clause. + (cp_parser_omp_atomic): Update. + +2023-12-11 Nathaniel Shead + + PR c++/96090 + PR c++/100470 + * call.cc (build_over_call): Prevent folding of trivial special + members when checking for noexcept. + * method.cc (constructible_expr): Perform value-initialisation + for empty parameter lists. + (is_nothrow_xible): Treat as noexcept operator. + +2023-12-11 Nathaniel Shead + + PR c++/104234 + PR c++/112580 + * pt.cc (tsubst_template_decl): Clear + DECL_UNINSTANTIATED_TEMPLATE_FRIEND_P. + +2023-12-10 Ken Matsui + + * cp-trait.def: Define __remove_pointer. + * semantics.cc (finish_trait_type): Handle CPTK_REMOVE_POINTER. + +2023-12-10 Ken Matsui + + * cp-trait.def: Define __is_object. + * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_OBJECT. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2023-12-10 Ken Matsui + + * cp-trait.def: Define __is_function. + * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_FUNCTION. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2023-12-10 Ken Matsui + + * cp-trait.def: Define __is_reference. + * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_REFERENCE. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2023-12-10 Ken Matsui + + * cp-trait.def: Define __is_member_object_pointer. + * constraint.cc (diagnose_trait_expr): Handle + CPTK_IS_MEMBER_OBJECT_POINTER. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2023-12-10 Ken Matsui + + * cp-trait.def: Define __is_member_function_pointer. + * constraint.cc (diagnose_trait_expr): Handle + CPTK_IS_MEMBER_FUNCTION_POINTER. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2023-12-10 Ken Matsui + + * cp-trait.def: Define __is_member_pointer. + * constraint.cc (diagnose_trait_expr): Handle + CPTK_IS_MEMBER_POINTER. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2023-12-10 Ken Matsui + + * cp-trait.def: Define __is_scoped_enum. + * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_SCOPED_ENUM. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2023-12-10 Ken Matsui + + * cp-trait.def: Define __is_bounded_array. + * constraint.cc (diagnose_trait_expr): Handle + CPTK_IS_BOUNDED_ARRAY. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2023-12-10 Ken Matsui + + * cp-trait.def: Define __is_array. + * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_ARRAY. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2023-12-10 Jason Merrill + + * parser.cc (cp_parser_simple_type_specifier): Move trait + handling to default label. + +2023-12-10 Ken Matsui + + * parser.cc (cp_lexer_lookup_trait): Rename to ... + (cp_lexer_peek_trait): ... this. Handle a subsequent token for + the corresponding built-in trait. + (cp_lexer_lookup_trait_expr): Rename to ... + (cp_lexer_peek_trait_expr): ... this. + (cp_lexer_lookup_trait_type): Rename to ... + (cp_lexer_peek_trait_type): ... this. + (cp_lexer_next_token_is_decl_specifier_keyword): Call + cp_lexer_peek_trait_type. + (cp_parser_simple_type_specifier): Likewise. + (cp_parser_primary_expression): Call cp_lexer_peek_trait_expr. + +2023-12-10 Ken Matsui + Patrick Palka + + * cp-objcp-common.cc (names_builtin_p): Remove all RID value + cases for built-in traits. Check for built-in traits via + the new cik_trait kind. + * cp-tree.h (enum cp_trait_kind): Set its underlying type to + addr_space_t. + (struct cp_trait): New struct to hold trait information. + (cp_traits): New array to hold a mapping to all traits. + (cik_reserved_for_udlit): Rename to ... + (cik_trait): ... this. + (IDENTIFIER_ANY_OP_P): Exclude cik_trait. + (IDENTIFIER_TRAIT_P): New macro to detect cik_trait. + * lex.cc (cp_traits): Define its values, declared in cp-tree.h. + (init_cp_traits): New function to set cik_trait and + IDENTIFIER_CP_INDEX for all built-in trait identifiers. + (cxx_init): Call init_cp_traits function. + * parser.cc (cp_lexer_lookup_trait): New function to look up a + built-in trait by IDENTIFIER_CP_INDEX. + (cp_lexer_lookup_trait_expr): Likewise, look up an + expression-yielding built-in trait. + (cp_lexer_lookup_trait_type): Likewise, look up a type-yielding + built-in trait. + (cp_keyword_starts_decl_specifier_p): Remove all RID value cases + for built-in traits. + (cp_lexer_next_token_is_decl_specifier_keyword): Handle + type-yielding built-in traits. + (cp_parser_primary_expression): Remove all RID value cases for + built-in traits. Handle expression-yielding built-in traits. + (cp_parser_trait): Handle cp_trait instead of enum rid. + (cp_parser_simple_type_specifier): Remove all RID value cases + for built-in traits. Handle type-yielding built-in traits. + +2023-12-10 Ken Matsui + + * constraint.cc (diagnose_trait_expr): Sort built-in traits + alphabetically. + * cp-trait.def: Likewise. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + (finish_trait_type): Likewise. + +2023-12-09 Jakub Jelinek + + * parser.cc (cp_parser_statement, cp_parser_expression_statement, + cp_parser_declaration, cp_parser_asm_definition): Don't diagnose + ignored attributes if !any_nonignored_attribute_p. + * decl.cc (grokdeclarator): Likewise. + * name-lookup.cc (handle_namespace_attrs, finish_using_directive): + Don't diagnose ignoring of attr_ignored_p attributes. + +2023-12-08 Patrick Palka + + PR c++/83167 + * semantics.cc (capture_decltype): Inline into its only caller ... + (finish_decltype_type): ... here. Update nearby comment to refer + to recent standard. Add FIXME. Restrict uncaptured variable type + transformation to happen only for lambdas with a by-copy + capture-default. + +2023-12-08 Jakub Jelinek + + * parser.cc (cp_parser_std_attribute_spec): Return void_list_node + rather than NULL_TREE if token is neither CPP_OPEN_SQUARE nor + RID_ALIGNAS CPP_KEYWORD. + (cp_parser_std_attribute_spec_seq): For attr_spec == void_list_node + break, for attr_spec == NULL_TREE continue. + +2023-12-08 Jakub Jelinek + + PR sanitizer/112727 + * cp-gimplify.cc (cp_fold): If SAVE_EXPR has been previously + folded, unshare_expr what is returned. + +2023-12-08 Patrick Palka + + PR c++/112658 + * parser.cc (cp_parser_expression_statement): If the statement + is error_mark_node, make sure we've seen_error(). + +2023-12-08 Patrick Palka + + PR c++/112658 + PR c++/94264 + * typeck.cc (cp_build_c_cast): If we're committed to a const_cast + and the result is erroneous, call build_const_cast_1 a second + time to issue errors. Use complain=tf_none instead of =false. + +2023-12-06 David Malcolm + + * cp-tree.h (cxx_print_error_function): Make diagnostic_info param + const. + * error.cc (cxx_print_error_function): Likewise. + (cp_diagnostic_starter): Likewise. + (cp_print_error_function): Likewise. + +2023-12-06 Jason Merrill + + DR 532 + PR c++/53499 + * pt.cc (more_specialized_fn): Fix object parameter handling. + +2023-12-05 Jakub Jelinek + + PR c++/112795 + * cp-tree.h (cp_check_pragma_unroll): Declare. + * semantics.cc (cp_check_pragma_unroll): New function. + * parser.cc (cp_parser_pragma_unroll): Use cp_check_pragma_unroll. + * pt.cc (tsubst_expr) : Likewise. + (tsubst_stmt) : Likwsie. + +2023-12-05 Richard Sandiford + + * tree.cc (cxx_gnu_attribute_table): Add extra braces to work + around PR 16333 in older compilers. + +2023-12-05 Jakub Jelinek + + PR c++/110734 + * parser.cc (cp_parser_block_declaration): Implement C++ DR 2262 + - Attributes for asm-definition. Call cp_parser_asm_definition + even if RID_ASM token is only seen after sequence of standard + attributes. + (cp_parser_asm_definition): Parse standard attributes before + RID_ASM token and warn for them with -Wattributes. + +2023-12-05 Marek Polacek + + PR c++/107687 + PR c++/110997 + * call.cc (in_immediate_context): No longer static. + * constexpr.cc (cxx_eval_call_expression): Adjust assert. + * cp-gimplify.cc (deferred_escalating_exprs): New vec. + (remember_escalating_expr): New. + (enum fold_flags): Remove ff_fold_immediate. + (immediate_escalating_function_p): New. + (unchecked_immediate_escalating_function_p): New. + (promote_function_to_consteval): New. + (cp_fold_immediate): Move above. Return non-null if any errors were + emitted. + (maybe_explain_promoted_consteval): New. + (cp_gimplify_expr) : Assert we've handled all + immediate invocations. + (taking_address_of_imm_fn_error): New. + (cp_fold_immediate_r): Merge ADDR_EXPR and PTRMEM_CST cases. Implement + P2564 - promoting functions to consteval. + : Implement P2564 - promoting functions to consteval. + (cp_fold_r): If an expression turns into a CALL_EXPR after cp_fold, + call cp_fold_immediate_r on the CALL_EXPR. + (cp_fold_function): Set DECL_ESCALATION_CHECKED_P if + deferred_escalating_exprs does not contain current_function_decl. + (process_and_check_pending_immediate_escalating_fns): New. + * cp-tree.h (struct lang_decl_fn): Add escalated_p bit-field. + (DECL_ESCALATION_CHECKED_P): New. + (immediate_invocation_p): Declare. + (process_pending_immediate_escalating_fns): Likewise. + * decl2.cc (c_parse_final_cleanups): Set at_eof to 2 after all + templates have been instantiated; and to 3 at the end of the function. + Call process_pending_immediate_escalating_fns. + * error.cc (dump_template_bindings): Check at_eof against an updated + value. + * module.cc (trees_out::lang_decl_bools): Stream escalated_p. + (trees_in::lang_decl_bools): Likewise. + * pt.cc (push_tinst_level_loc): Set at_eof to 3, not 2. + * typeck.cc (cp_build_addr_expr_1): Don't check + DECL_IMMEDIATE_FUNCTION_P. + +2023-12-04 Jason Merrill + + * constexpr.cc (potential_constant_expression_1): Fix + check for loading volatile lvalue. + +2023-12-04 Jakub Jelinek + + PR c++/112795 + * cp-tree.h (cp_convert_range_for): Change UNROLL type from + unsigned short to tree. + (finish_while_stmt_cond, finish_do_stmt, finish_for_cond): Likewise. + * parser.cc (cp_parser_statement): Pass NULL_TREE rather than 0 to + cp_parser_iteration_statement UNROLL argument. + (cp_parser_for, cp_parser_c_for): Change UNROLL type from + unsigned short to tree. + (cp_parser_range_for): Likewise. Set RANGE_FOR_UNROLL to just UNROLL + rather than build_int_cst from it. + (cp_convert_range_for, cp_parser_iteration_statement): Change UNROLL + type from unsigned short to tree. + (cp_parser_omp_loop_nest): Pass NULL_TREE rather than 0 to + cp_parser_range_for UNROLL argument. + (cp_parser_pragma_unroll): Return tree rather than unsigned short. + If parsed expression is type dependent, just return it, don't diagnose + issues with value if it is value dependent. + (cp_parser_pragma): Change UNROLL type from unsigned short to tree. + * semantics.cc (finish_while_stmt_cond): Change UNROLL type from + unsigned short to tree. Build ANNOTATE_EXPR with UNROLL as its last + operand rather than build_int_cst from it. + (finish_do_stmt, finish_for_cond): Likewise. + * pt.cc (tsubst_stmt) : Change UNROLL type from + unsigned short to tree and set it to RECUR on RANGE_FOR_UNROLL (t). + (tsubst_expr) : For annot_expr_unroll_kind repeat + checks on UNROLL value from cp_parser_pragma_unroll. + +2023-12-02 Richard Sandiford + + * cp-tree.h (cxx_attribute_table): Delete. + (cxx_gnu_attribute_table, std_attribute_table): Declare. + * cp-objcp-common.h (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Delete. + (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Delete. + (cp_objcp_attribute_table): New table. + (LANG_HOOKS_ATTRIBUTE_TABLE): Redefine. + * tree.cc (cxx_attribute_table): Replace with... + (cxx_gnu_attributes, cxx_gnu_attribute_table): ...these globals. + (std_attribute_table): Change type to scoped_attribute_specs, using... + (std_attributes): ...this as the underlying array. + (init_tree): Remove call to register_scoped_attributes. + +2023-12-01 Jason Merrill + + * mangle.cc (write_type): Mangle placeholder as its template. + +2023-12-01 Jason Merrill + + * cp-tree.h (TEMPLATE_ARGS_TYPE_CONSTRAINT_P): New. + (get_concept_check_template): Declare. + * constraint.cc (combine_constraint_expressions) + (finish_shorthand_constraint): Use UNKNOWN_LOCATION. + * pt.cc (convert_generic_types_to_packs): Likewise. + * mangle.cc (write_constraint_expression) + (write_tparms_constraints, write_type_constraint) + (template_parm_natural_p, write_requirement) + (write_requires_expr): New. + (write_encoding): Mangle trailing requires-clause. + (write_name): Pass parms to write_template_args. + (write_template_param_decl): Factor out from... + (write_closure_template_head): ...here. + (write_template_args): Mangle non-natural parms + and requires-clause. + (write_expression): Handle REQUIRES_EXPR. + +2023-12-01 Jason Merrill + + * semantics.cc (finish_non_static_data_member) + (finish_decltype_type, capture_decltype): + Handle deduced closure parameter. + +2023-11-30 Marek Polacek + + PR c++/112744 + * typeck.cc (finish_class_member_access_expr): When accessing + a static data member, use ba_any for lookup_base. + +2023-11-30 Jakub Jelinek + + PR c++/110349 + * cp-tree.h: Implement C++26 P2169R4 - Placeholder variables with no + name. + (OVL_NAME_INDEPENDENT_DECL_P): Define. + (add_capture): Add unsigned * argument. + (name_independent_decl_p): New inline function. + * name-lookup.cc (class name_lookup): Make ambiguous and + add_value members public. + (name_independent_linear_search): New function. + (get_class_binding_direct): Handle member_vec_binary_search + returning OVL_NAME_INDEPENDENT_DECL_P OVERLOAD. Use + name_independent_linear_search rather than fields_linear_search + for linear lookup of _ name if !want_type. + (member_name_cmp): Sort name-independent declarations first. + (member_vec_dedup): Handle name-independent declarations. + (pop_local_binding): Handle binding->value being a TREE_LIST for + ambiguous name-independent declarations. + (supplement_binding): Handle name-independent declarations. + (update_binding): Likewise. + (check_local_shadow): Return tree rather than void, normally + NULL_TREE but old for name-independent declarations which used + to conflict with outer scope declaration. Don't emit -Wshadow* + warnings for name-independent declarations. + (pushdecl): Handle name-independent declarations. + * search.cc (lookup_field_r): Handle nval being a TREE_LIST. + * lambda.cc (build_capture_proxy): Adjust for ___. + names of members. + (add_capture): Add NAME_INDEPENDENT_CNT argument. Use ___. + name rather than ___ for second and following capture with + _ name. + (add_default_capture): Adjust add_capture caller. + * decl.cc (poplevel): Don't warn about name-independent declarations. + (duplicate_decls): If in C++26 a _ named declaration conflicts with + earlier declarations, emit explaining note why the new declaration + is not name-independent. + (reshape_init_class): If field is a TREE_LIST, emit an ambiguity + error with list of candidates rather than error about non-existing + non-static data member. + * parser.cc (cp_parser_lambda_introducer): Adjust add_capture callers. + Allow name-independent capture redeclarations. + (cp_parser_decomposition_declaration): Set decl_specs.storage_class + to sc_static for static structured bindings. + * pt.cc (tsubst_lambda_expr): Adjust add_capture caller. + +2023-11-30 Alexandre Oliva + + * decl.cc (finish_enum_value_list): Set TYPE_PACKED if + use_short_enum, and propagate it to variants. + +2023-11-30 Jason Merrill + + * cp-tree.h (LAMBDA_EXPR_MUTABLE_P): Remove. + * cp-tree.def: Remove documentation. + * lambda.cc (build_lambda_expr): Remove reference. + * parser.cc (cp_parser_lambda_declarator_opt): Likewise. + * pt.cc (tsubst_lambda_expr): Likewise. + * ptree.cc (cxx_print_lambda_node): Likewise. + * semantics.cc (capture_decltype): Get the object quals + from the object instead. + +2023-11-29 Marek Polacek + + PR c++/106650 + * constexpr.cc (cxx_eval_constant_expression) : Allow + reference to unknown/this as per P2280. + : Allow reference to unknown as per P2280. + +2023-11-29 Patrick Palka + + PR c++/112765 + * pt.cc (tsubst_expr) : Look through implicit + INDIRECT_REF when propagating -Wparentheses warning suppression. + * semantics.cc (maybe_warn_unparenthesized_assignment): Replace + REFERENCE_REF_P handling with STRIP_REFERENCE_REF. + (finish_parenthesized_expr): Likewise. + +2023-11-29 Jakub Jelinek + + * semantics.cc (finish_static_assert): Free buf on error return. + +2023-11-29 Alexandre Oliva + + * decl.cc (maybe_prepare_return_this): Split out of... + (maybe_return_this): ... this. + * cp-tree.h (maybe_prepare_return_this): Declare. + * class.cc (build_clone): Call it. + +2023-11-29 Alexandre Oliva + + * contracts.cc (check_postcondition_result): Cope with + cdtor_return_this. + +2023-11-28 Jason Merrill + + PR c++/94264 + PR c++/53220 + * call.cc (convert_like_internal): Remove obsolete comment. + * typeck.cc (decay_conversion): Allow array prvalue. + (maybe_warn_about_returning_address_of_local): Check + for returning pointer to temporary. + +2023-11-28 Jakub Jelinek + + * cp-objcp-common.cc (cp_feature_table): Evaluate + __has_extension (cxx_init_captures) to 1 even for -std=c++11. + +2023-11-27 Alex Coplan + Iain Sandoe + + PR c++/60512 + * cp-lang.cc (c_family_register_lang_features): New. + * cp-objcp-common.cc (struct cp_feature_selector): New. + (cp_feature_selector::has_feature): New. + (struct cp_feature_info): New. + (cp_register_features): New. + * cp-objcp-common.h (cp_register_features): New. + +2023-11-25 Nathaniel Shead + + * name-lookup.cc (check_can_export_using_decl): New. + (do_nonmember_using_decl): Use above to check if names can be + exported. + +2023-11-25 Nathaniel Shead + + PR c++/102341 + * decl.cc (duplicate_decls): Allow exporting a redeclaration of + a typedef. + +2023-11-24 Tobias Burnus + + * parser.cc (cp_parser_omp_clause_dist_schedule, + cp_parser_omp_scan_loop_body, cp_parser_omp_assumption_clauses, + cp_parser_omp_depobj): Add OPT_Wopenmp to warning_at. + * semantics.cc (finish_omp_clauses): Likewise. + +2023-11-24 Tobias Burnus + + * parser.cc (cp_parser_omp_depobj): Accept optionally an argument + to the destroy clause. + +2023-11-24 Nathaniel Shead + + PR c++/99232 + * decl.cc (grokvardecl): Don't mark variables attached to + modules as internal. + +2023-11-24 Nathaniel Shead + + PR c++/107398 + * module.cc (trees_out::get_merge_kind): Handle lambdas in class + scope. + (maybe_key_decl): Remove assertion and fix whitespace. + +2023-11-24 Nathaniel Shead + + PR c++/98885 + * decl.cc (duplicate_decls): Adjust error message. + (xref_tag): Adjust error message. Check exporting decl that is + already declared as non-exporting. + +2023-11-23 Jakub Jelinek + + PR c++/110348 + * parser.cc: Implement C++26 P2741R3 - user-generated static_assert + messages. + (cp_parser_static_assert): Parse message argument as + conditional-expression if it is not a pure string literal or + several of them concatenated followed by closing paren. + * semantics.cc (finish_static_assert): Handle message which is not + STRING_CST. For condition with bare parameter packs return early. + * pt.cc (tsubst_expr) : Also tsubst_expr + message and make sure that if it wasn't originally STRING_CST, it + isn't after tsubst_expr either. + +2023-11-22 Patrick Palka + + PR c++/112633 + * pt.cc (tsubst_aggr_type): Handle empty TYPE_TEMPLATE_INFO + in the entering_scope adjustment. + +2023-11-22 Jason Merrill + + * decl.cc (start_preparsed_function): Clarify ctype logic. + +2023-11-20 Marc Poulhiès + + * lambda.cc (compare_lambda_sig): Fix typo in variadic. + +2023-11-20 Jason Merrill + + * pt.cc (comp_template_parms): Just one level. + (template_parameter_lists_equivalent_p): Likewise. + +2023-11-20 Jason Merrill + + * cp-tree.h (DECL_TEMPLATE_PARM_CHECK): New. + (DECL_IMPLICIT_TEMPLATE_PARM_P): New. + (decl_template_parm_check): New. + * mangle.cc (write_closure_template_head): Use it. + * parser.cc (synthesize_implicit_template_parm): Likewise. + * pt.cc (template_parameters_equivalent_p): Likewise. + +2023-11-19 Nathaniel Shead + + PR c++/99187 + * cp-tree.h (enum cp_tree_index): Add CPTI_THREAD_ATEXIT. + (thread_atexit_node): New. + * decl.cc (get_thread_atexit_node): Cache in thread_atexit_node. + +2023-11-19 David Malcolm + + * mapper-client.cc: Include "rich-location.h". + +2023-11-16 Jakub Jelinek + + PR c++/112365 + * class.cc (layout_class_type): Don't + SET_DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD on FIELD_DECLs with + error_mark_node type. + +2023-11-16 Patrick Palka + + PR c++/111703 + PR c++/107939 + * constexpr.cc (potential_constant_expression_1) : + Fix FUNCTION_POINTER_TYPE_P test. + +2023-11-16 Marek Polacek + + PR c++/112410 + * parser.cc (cp_parser_direct_declarator): Maybe call + abort_fully_implicit_template if it turned out the parameter list was + ill-formed. + +2023-11-15 Bernhard Reutner-Fischer + + * tree.cc (build_cplus_array_type): Revert using the macro + CAN_HAVE_LOCATION_P. + +2023-11-15 Patrick Palka + + PR c++/112515 + * decl.cc (is_direct_enum_init): Check type-dependence of the + single element. + +2023-11-15 Patrick Palka + + PR c++/101043 + * tree.cc (strip_typedefs_expr) : Handle + non-empty TREE_PURPOSE. + +2023-11-15 Patrick Palka + + PR c++/112427 + * tree.cc (build_min_non_dep): Propagate TREE_SIDE_EFFECTS from + the original arguments. + (build_min_non_dep_call_vec): Likewise. + * typeck2.cc (build_m_component_ref): Use cp_convert, build2 and + cp_fully_fold instead of fold_build_pointer_plus and fold_convert. + Don't build the POINTER_PLUS_EXPR in a template context. + +2023-11-15 Patrick Palka + + PR c++/111703 + PR c++/112269 + * constexpr.cc (potential_constant_expression_1) : + Only consider var_in_maybe_constexpr_fn if 'now' is false. + : Likewise. + +2023-11-15 Jakub Jelinek + + * typeck.cc: Implement C++26 P2864R2 - Remove Deprecated Arithmetic + Conversion on Enumerations From C++26. + (do_warn_enum_conversions): Return bool rather than void, add COMPLAIN + argument. Use pedwarn rather than warning_at for C++26 and remove + " is deprecated" part of the diagnostics in that case. For SFINAE + in C++26 return true on newly erroneous cases. + (cp_build_binary_op): For C++26 call do_warn_enum_conversions + unconditionally, pass complain argument to it and if it returns true, + return error_mark_node. + * call.cc (build_conditional_expr): Use pedwarn rather than warning_at + for C++26 and remove " is deprecated" part of the diagnostics in that + case and check for complain & tf_warning_or_error. Use emit_diagnostic + with cxx_dialect >= cxx26 ? DK_PEDWARN : DK_WARNING. For SFINAE in + C++26 return error_mark_node on newly erroneous cases. + (build_new_op): Use emit_diagnostic with cxx_dialect >= cxx26 + ? DK_PEDWARN : DK_WARNING and complain & tf_warning_or_error check + for C++26. For SFINAE in C++26 return error_mark_node on newly + erroneous cases. + +2023-11-14 Nathaniel Shead + + PR c++/103499 + * module.cc (trees_out::decl_node): Write DECL_VINDEX for + virtual clones. + (trees_in::tree_node): Read DECL_VINDEX for virtual clones. + +2023-11-14 Nathaniel Shead + + PR c++/106849 + * name-lookup.cc (do_nonmember_using_decl): Handle + TEMPLATE_DECLs when checking module attachment. + +2023-11-14 David Malcolm + + * decl.cc (finish_function): Update call to + global_dc->m_option_enabled to use option_enabled_p. + +2023-11-14 David Malcolm + + * contracts.cc (build_comment): Use global_dc's file_cache. + +2023-11-14 Jonathan Wakely + + PR c++/111842 + PR c++/112498 + * call.cc (convert_like_internal): Use OPT_Wnarrowing for + pedwarns about illformed conversions involving extended + floating-point types. Clarify that ISO C++ requires these + diagnostics. + +2023-11-14 Jakub Jelinek + + PR c/111309 + * call.cc (magic_varargs_p): Return 4 for + BUILT_IN_{CLZ,CTZ,CLRSB,FFS,PARITY,POPCOUNT}G. + (build_over_call): Don't promote first argument of + BUILT_IN_{CLZ,CTZ,CLRSB,FFS,PARITY,POPCOUNT}G. + * cp-gimplify.cc (cp_gimplify_expr): For BUILT_IN_C{L,T}ZG use + c_gimplify_expr. + +2023-11-10 Patrick Palka + + PR c++/79620 + * cp-tree.h (STRIP_REFERENCE_REF): Define. + * semantics.cc (outer_var_p): Assert REFERENCE_REF_P is false. + (finish_decltype_type): Look through implicit INDIRECT_REF when + deciding whether to call capture_decltype. + +2023-11-10 Patrick Palka + + PR c++/79378 + PR c++/96917 + * semantics.cc (finish_decltype_type): Handle an id-expression + naming a capture proxy specially. + +2023-11-07 Kwok Cheung Yeung + + * cp-tree.h (cp_omp_declare_target_attr): Add indirect field. + * decl2.cc (cplus_decl_attributes): Add attribute for indirect + functions. + * parser.cc (cp_parser_omp_clause_name): Handle indirect clause. + (cp_parser_omp_clause_indirect): New. + (cp_parser_omp_all_clauses): Handle indirect clause. + (handle_omp_declare_target_clause): Add extra parameter. Add + indirect attribute for indirect functions. + (OMP_DECLARE_TARGET_CLAUSE_MASK): Add indirect clause to mask. + (cp_parser_omp_declare_target): Handle indirect clause. Emit error + message if device_type or indirect clauses used alone. Emit error + if indirect clause used with device_type that is not 'any'. + (OMP_BEGIN_DECLARE_TARGET_CLAUSE_MASK): Add indirect clause to mask. + (cp_parser_omp_begin): Handle indirect clause. + * semantics.cc (finish_omp_clauses): Handle indirect clause. + +2023-11-04 Jakub Jelinek + + * parser.h (struct cp_parser): Adjust comment on omp_attrs_forbidden_p + member. + * parser.cc (cp_parser_omp_section_scan): Allow __directive__ spelling. + +2023-11-04 David Malcolm + + * call.cc: Update for changes to diagnostic_context. + * class.cc: Likewise. + * decl.cc: Likewise. + * error.cc: Likewise. + * except.cc: Likewise. + * pt.cc: Likewise. + +2023-11-02 Jason Merrill + + * semantics.cc (nrv_data): Change visited to hash_set. + (finalize_nrv_r): Reorganize. + +2023-11-02 Jason Merrill + + PR c++/112301 + PR c++/102191 + PR c++/33799 + * except.cc (maybe_splice_retval_cleanup): Clear + current_retval_sentinel when destroying retval. + * semantics.cc (nrv_data): Add in_nrv_cleanup. + (finalize_nrv): Set it. + (finalize_nrv_r): Fix handling of throwing cleanups. + +2023-11-02 Jakub Jelinek + + PR c++/110342 + * parser.cc: Implement C++26 P2361R6 - Unevaluated strings. + (uneval_string_attr): New enumerator. + (cp_parser_string_literal_common): Add UNEVAL argument. If true, + pass CPP_UNEVAL_STRING rather than CPP_STRING to + cpp_interpret_string_notranslate. + (cp_parser_string_literal, cp_parser_userdef_string_literal): Adjust + callers of cp_parser_string_literal_common. + (cp_parser_unevaluated_string_literal): New function. + (cp_parser_parenthesized_expression_list): Handle uneval_string_attr. + (cp_parser_linkage_specification): Use + cp_parser_unevaluated_string_literal for C++26. + (cp_parser_static_assert): Likewise. + (cp_parser_std_attribute): Use uneval_string_attr for standard + deprecated and nodiscard attributes. + +2023-10-31 David Malcolm + + * module.cc (ordinary_loc_of): Update for removal of + MACRO_MAP_EXPANSION_POINT_LOCATION. + (module_state::note_location): Update for renaming of field. + (module_state::write_macro_maps): Likewise. + +2023-10-27 Patrick Palka + + PR c++/111929 + * init.cc (build_new_1): Remove unnecessary call to convert + on 'nelts'. Use build2 instead of fold_build2 for + 'outer_nelts_checks'. + +2023-10-27 Patrick Palka + + * cp-tree.h (maybe_warn_unparenthesized_assignment): Declare. + * semantics.cc (is_assignment_op_expr_p): Generalize to return + true for any assignment operator expression, not just one that + has been resolved to an operator overload. + (maybe_warn_unparenthesized_assignment): Factored out from ... + (maybe_convert_cond): ... here. + (finish_parenthesized_expr): Mention + maybe_warn_unparenthesized_assignment. + * typeck.cc (convert_for_assignment): Replace -Wparentheses + warning logic with maybe_warn_unparenthesized_assignment. + +2023-10-27 Lewis Hyatt + + PR preprocessor/87299 + * parser.cc (cp_lexer_new_main): Call c_reset_target_pragmas () + after preprocessing is complete, before starting compilation. + +2023-10-26 liuhongt + + * typeck.cc (build_vec_cmp): Pass type of arg0 to + truth_type_for. + +2023-10-25 Jason Merrill + + * cp-tree.def: Improve OFFSET_REF comment. + * cp-gimplify.cc (cp_fold_immediate): Add to comment. + +2023-10-25 Thomas Schwinge + + * parser.cc (cp_parser_omp_clause_name): Return + 'PRAGMA_OACC_CLAUSE_SELF' for "self". + (cp_parser_oacc_data_clause, OACC_UPDATE_CLAUSE_MASK): Adjust. + (cp_parser_oacc_all_clauses): Remove 'bool compute_p' formal + parameter, and instead locally determine whether we're called for + an OpenACC compute construct or OpenACC 'update' directive. + (cp_parser_oacc_compute): Adjust. + +2023-10-25 Chung-Lin Tang + + * parser.cc (cp_parser_oacc_compute_clause_self): New function. + (cp_parser_oacc_all_clauses): Add new 'bool compute_p = false' + parameter, add parsing of self clause when compute_p is true. + (OACC_KERNELS_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_SELF. + (OACC_PARALLEL_CLAUSE_MASK): Likewise, + (OACC_SERIAL_CLAUSE_MASK): Likewise. + (cp_parser_oacc_compute): Adjust call to c_parser_oacc_all_clauses to + set compute_p argument to true. + * pt.cc (tsubst_omp_clauses): Add OMP_CLAUSE_SELF case. + * semantics.cc (c_finish_omp_clauses): Add OMP_CLAUSE_SELF case, merged + with OMP_CLAUSE_IF case. + +2023-10-25 Marek Polacek + + PR c++/111895 + * typeck.cc (build_static_cast_1): Call decay_conversion. + +2023-10-24 Patrick Palka + + PR c++/111929 + * init.cc (build_new_1): Use convert, build2, build3 and + cp_fully_fold instead of fold_convert, size_binop and + fold_build3 when building up 'size'. + +2023-10-24 Patrick Palka + + PR c++/111919 + * tree.cc (cp_stabilize_reference): Do nothing when + processing_template_decl. + +2023-10-22 Patrick Palka + + PR objc++/111920 + * pt.cc (tsubst_expr) : Use tsubst instead + of tsubst_expr. + +2023-10-20 Jason Merrill + + * call.cc (implicit_conversion_1): Rename... + (implicit_conversion): ...to this. Remove the old wrapper. + +2023-10-20 Jason Merrill + + * call.cc (tourney): Only skip champ_compared_to_predecessor. + +2023-10-20 Nathan Sidwell + + PR c++/105322 + * module.cc (trees_out::core_vals): Stream CONSTRUCTOR operands + after the type. + (trees_in::core_vals): Likewise. + +2023-10-20 Patrick Palka + + * cp-lang.cc (objcp_tsubst_copy_and_build): Rename to ... + (objcp_tsubst_expr): ... this. + * cp-objcp-common.h (objcp_tsubst_copy_and_build): Rename to ... + (objcp_tsubst_expr): ... this. + * cp-tree.h (tsubst_copy_and_build): Remove declaration. + * init.cc (maybe_instantiate_nsdmi_init): Use tsubst_expr + instead of tsubst_copy_and_build. + * pt.cc (expand_integer_pack): Likewise. + (instantiate_non_dependent_expr_internal): Likewise. + (instantiate_class_template): Use tsubst_stmt instead of + tsubst_expr for STATIC_ASSERT. + (tsubst_function_decl): Adjust tsubst_copy_and_build uses. + (tsubst_arg_types): Likewise. + (tsubst_exception_specification): Likewise. + (tsubst_tree_list): Likewise. + (tsubst): Likewise. + (tsubst_name): Likewise. + (tsubst_omp_clause_decl): Use tsubst_stmt instead of tsubst_expr. + (tsubst_omp_clauses): Likewise. + (tsubst_copy_asm_operands): Adjust tsubst_copy_and_build use. + (tsubst_omp_for_iterator): Use tsubst_stmt instead of tsubst_expr. + (tsubst_expr): Rename to ... + (tsubst_stmt): ... this. + : Move to tsubst_expr. + (tsubst_omp_udr): Use tsubst_stmt instead of tsubst_expr. + (tsubst_non_call_postfix_expression): Adjust tsubst_copy_and_build + use. + (tsubst_lambda_expr): Likewise. Use tsubst_stmt instead of + tsubst_expr for the body of a lambda. + (tsubst_copy_and_build_call_args): Rename to ... + (tsubst_call_args): ... this. Adjust tsubst_copy_and_build use. + (tsubst_copy_and_build): Rename to tsubst_expr. Adjust + tsubst_copy_and_build and tsubst_copy_and_build_call_args use. + : Use tsubst_stmt instead of tsubst_expr. + (maybe_instantiate_noexcept): Adjust tsubst_copy_and_build use. + (instantiate_body): Use tsubst_stmt instead of tsubst_expr for + substituting the function body. + (tsubst_initializer_list): Adjust tsubst_copy_and_build use. + +2023-10-20 Patrick Palka + + * cp-tree.h (enum tsubst_flags): Add tf_no_name_lookup. + * pt.cc (tsubst_pack_expansion): Use tsubst for substituting + BASES_TYPE. + (tsubst_decl) : Use tsubst_name instead of + tsubst_copy. + (tsubst) : Use tsubst_copy_and_build + instead of tsubst_copy for substituting + CLASS_PLACEHOLDER_TEMPLATE. + : Use tsubst_name instead of tsubst_copy for + substituting TYPENAME_TYPE_FULLNAME. + (tsubst_name): Define. + (tsubst_qualified_id): Use tsubst_name instead of tsubst_copy + for substituting the component name of a SCOPE_REF. + (tsubst_copy): Remove. + (tsubst_copy_and_build): Clear tf_no_name_lookup at the start, + and remember if it was set. Call maybe_dependent_member_ref if + tf_no_name_lookup was not set. + : Don't do name lookup if tf_no_name_lookup + was set. + : If tf_no_name_lookup was set, use + tsubst_name instead of tsubst_copy_and_build to substitute the + template and don't finish the template-id. + : Handle identifier and type operand (if + tf_no_name_lookup was set). + : Avoid trying to resolve a SCOPE_REF if + tf_no_name_lookup was set by calling build_qualified_name directly + instead of tsubst_qualified_id. + : Handling of sizeof... copied from tsubst_copy. + : Use tsubst_name instead of tsubst_copy to + substitute a TEMPLATE_ID_EXPR callee naming an unresolved template. + : Likewise to substitute the member. + : Copied from tsubst_copy and merged with ... + : ... these. Initial handling copied + from tsubst_copy. Optimize local variable substitution by + trying retrieve_local_specialization before checking + uses_template_parms. + : Copied from tsubst_copy. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Likewise. + : Use tsubst and tsubst_copy_and_build instead + of tsubst_copy. + : Copied from tsubst_copy. + (tsubst_initializer_list): Use tsubst and tsubst_copy_and_build + instead of tsubst_copy. + +2023-10-20 Patrick Palka + + PR c++/106086 + * parser.cc (cp_parser_postfix_expression): Consolidate three + calls to finish_call_expr, one to build_new_method_call and + one to build_min_nt_call_vec into one call to finish_call_expr. + Don't call maybe_generic_this_capture here. + * pt.cc (tsubst_copy_and_build) : Remove + COMPONENT_REF callee handling. + (type_dependent_expression_p): Use t_d_object_e_p instead of + t_d_e_p for COMPONENT_REF and OFFSET_REF. + * semantics.cc (finish_call_expr): In the type-dependent case, + call maybe_generic_this_capture here instead. + +2023-10-20 Patrick Palka + + * call.cc (build_new_method_call): Remove calls to + build_non_dependent_expr and/or make_args_non_dependent. + * coroutines.cc (finish_co_return_stmt): Likewise. + * cp-tree.h (build_non_dependent_expr): Remove. + (make_args_non_dependent): Remove. + * decl2.cc (grok_array_decl): Remove calls to + build_non_dependent_expr and/or make_args_non_dependent. + (build_offset_ref_call_from_tree): Likewise. + * init.cc (build_new): Likewise. + * pt.cc (make_args_non_dependent): Remove. + (test_build_non_dependent_expr): Remove. + (cp_pt_cc_tests): Adjust. + * semantics.cc (finish_expr_stmt): Remove calls to + build_non_dependent_expr and/or make_args_non_dependent. + (finish_for_expr): Likewise. + (finish_call_expr): Likewise. + (finish_omp_atomic): Likewise. + * typeck.cc (finish_class_member_access_expr): Likewise. + (build_x_indirect_ref): Likewise. + (build_x_binary_op): Likewise. + (build_x_array_ref): Likewise. + (build_x_vec_perm_expr): Likewise. + (build_x_shufflevector): Likewise. + (build_x_unary_op): Likewise. + (cp_build_addressof): Likewise. + (build_x_conditional_expr): Likewise. + (build_x_compound_expr): Likewise. + (build_static_cast): Likewise. + (build_x_modify_expr): Likewise. + (check_return_expr): Likewise. + * typeck2.cc (build_x_arrow): Likewise. + +2023-10-20 Patrick Palka + + * class.cc (instantiate_type): Remove NON_DEPENDENT_EXPR + handling. + * constexpr.cc (cxx_eval_constant_expression): Likewise. + (potential_constant_expression_1): Likewise. + * coroutines.cc (coro_validate_builtin_call): Don't + expect ALIGNOF_EXPR to be wrapped in NON_DEPENDENT_EXPR. + * cp-objcp-common.cc (cp_common_init_ts): Remove + NON_DEPENDENT_EXPR handling. + * cp-tree.def (NON_DEPENDENT_EXPR): Remove. + * cp-tree.h (build_non_dependent_expr): Temporarily redefine as + the identity function. + * cvt.cc (maybe_warn_nodiscard): Handle type-dependent and + variable callee of CALL_EXPR. + * cxx-pretty-print.cc (cxx_pretty_printer::expression): Remove + NON_DEPENDENT_EXPR handling. + * error.cc (dump_decl): Likewise. + (dump_expr): Likewise. + * expr.cc (mark_use): Likewise. + (mark_exp_read): Likewise. + * pt.cc (build_non_dependent_expr): Remove. + * tree.cc (lvalue_kind): Remove NON_DEPENDENT_EXPR handling. + (cp_stabilize_reference): Likewise. + * typeck.cc (warn_for_null_address): Likewise. + (cp_build_binary_op): Handle type-dependent SIZEOF_EXPR operands. + (cp_build_unary_op) : Don't fold inside a + template. + +2023-10-20 Alexandre Oliva + + * decl.cc (push_throw_library_fn): Mark with ECF_XTHROW. + * except.cc (build_throw): Likewise __cxa_throw, + _ITM_cxa_throw, __cxa_rethrow. + +2023-10-20 Nathaniel Shead + + PR c++/101631 + PR c++/102286 + * call.cc (build_over_call): Fold more indirect refs for trivial + assignment op. + * class.cc (type_has_non_deleted_trivial_default_ctor): Create. + * constexpr.cc (cxx_eval_call_expression): Start lifetime of + union member before entering constructor. + (cxx_eval_component_reference): Check against first member of + value-initialised union. + (cxx_eval_store_expression): Activate member for + value-initialised union. Check for accessing inactive union + member indirectly. + * cp-tree.h (type_has_non_deleted_trivial_default_ctor): + Forward declare. + +2023-10-20 Nathaniel Shead + + * constexpr.cc (is_std_source_location_current): New. + (cxx_eval_constant_expression): Only ignore cast from void* for + specific cases and improve other diagnostics. + +2023-10-19 Marek Polacek + + * cp-gimplify.cc (cp_fold_r): Don't call maybe_constant_value. + +2023-10-19 Jason Merrill + + * typeck2.cc (check_narrowing): Adjust. + +2023-10-19 Jason Merrill + + * parser.cc (cp_parser_primary_expression): Use G_. + (cp_parser_using_enum): Likewise. + * decl.cc (identify_goto): Likewise. + +2023-10-18 Jason Merrill + + * typeck2.cc (check_narrowing): Use permerror. + +2023-10-17 Marek Polacek + + PR c++/111840 + * parser.cc (cp_parser_simple_declaration): Do cp_parser_error + for FUNCTION_DECLs. + +2023-10-17 Marek Polacek + + PR c++/111660 + * cp-gimplify.cc (cp_fold_immediate_r) : Don't + handle it here. + (cp_fold_r): Handle COND_EXPR here. + +2023-10-17 Jason Merrill + + * mangle.cc (abi_check): New. + (write_prefix, write_unqualified_name, write_discriminator) + (write_type, write_member_name, write_expression) + (write_template_arg, write_template_param): Use it. + (start_mangling): Assign from {}. + * cp-tree.h: Update comment. + +2023-10-17 Nathaniel Shead + + * constexpr.cc (cxx_eval_dynamic_cast_fn): Add missing + auto_diagnostic_group. + (cxx_eval_call_expression): Likewise. + (diag_array_subscript): Likewise. + (outside_lifetime_error): Likewise. + (potential_constant_expression_1): Likewise. + +2023-10-16 Jason Merrill + + * parser.cc (cp_parser_fold_expression): Track location range. + * semantics.cc (finish_unary_fold_expr) + (finish_left_unary_fold_expr, finish_right_unary_fold_expr) + (finish_binary_fold_expr): Add location parm. + * constraint.cc (finish_shorthand_constraint): Pass it. + * pt.cc (convert_generic_types_to_packs): Likewise. + * cp-tree.h: Adjust. + +2023-10-16 Marek Polacek + + PR c++/111272 + * constexpr.cc (explain_invalid_constexpr_fn): Also check the body of + a constructor in C++14 and up. + +2023-10-14 Jakub Jelinek + + PR c/102989 + * module.cc (trees_out::start, trees_in::start): Remove + TREE_INT_CST_OFFSET_NUNITS handling. + +2023-10-10 Jason Merrill + + PR c++/109422 + * mangle.cc (write_template_param): Also mangle level. + +2023-10-08 David Malcolm + + * module.cc (module_state::read_location): Update for renaming of + get_combined_adhoc_loc. + +2023-10-03 David Malcolm + + * error.cc (print_instantiation_partial_context_line): Call + diagnostic_show_locus. + +2023-10-03 David Malcolm + + * error.cc: Update for "m_" prefixes to text_info fields. + +2023-09-30 Eugene Rozenfeld + + * Make-lang.in: Make create_fdas_for_cc1plus target not .PHONY + +2023-09-28 Richard Sandiford + + * constexpr.cc (cxx_fold_indirect_ref): Remove unused variables. + +2023-09-22 Jason Merrill + + PR c++/111357 + * pt.cc (expand_integer_pack): Use IMPLICIT_CONV_EXPR. + +2023-09-22 Jason Merrill + + * constexpr.cc (free_constructor): Handle null ce->value. + +2023-09-22 Jason Merrill + + PR c++/111529 + * parser.cc (cp_parser_lambda_declarator_opt): Don't suggest + -std=c++14 for lambda templates. + * pt.cc (tsubst_expr): Move ANNOTATE_EXPR handling... + (tsubst_copy_and_build): ...here. + +2023-09-22 Patrick Palka + + PR c++/111493 + * decl2.cc (grok_array_decl): Guard diagnostic and backward + compatibility fallback code paths with tf_error. + +2023-09-22 Patrick Palka + + PR c++/111485 + * pt.cc (is_compatible_template_arg): New parameter 'args'. + Add the outer template arguments 'args' to 'new_args'. + (convert_template_argument): Pass 'args' to + is_compatible_template_arg. + +2023-09-20 Jakub Jelinek + + * parser.cc (cp_parser_postfix_expression): Parse + __builtin_classify_type call with typename as argument. + * pt.cc (tsubst_copy_and_build): Handle __builtin_classify_type + with dependent typename as argument. + +2023-09-20 Patrick Palka + + PR c++/111471 + * cxx-pretty-print.cc (cxx_pretty_printer::expression) + : Handle class NTTP objects by printing + their type and value. + : Strip const VIEW_CONVERT_EXPR + wrappers for class NTTPs. + (pp_cxx_template_argument_list): Don't handle class NTTP + objects here. + +2023-09-20 Patrick Palka + + * pt.cc (tsubst_function_decl): Don't bother computing 'argvec' + when 'lambda_fntype' is set. + (tsubst_template_decl): Make sure we return a TEMPLATE_DECL + during specialization lookup. In the non-class non-function + template case, use tsubst_decl directly with use_spec_table=false, + update DECL_TI_ARGS and call register_specialization like + tsubst_decl would have done if use_spec_table=true. + +2023-09-20 Jakub Jelinek + + PR c++/111392 + * parser.h (struct cp_lexer): Add in_omp_decl_attribute member. + * cp-tree.h (cp_maybe_parse_omp_decl): Declare. + * parser.cc (cp_parser_handle_statement_omp_attributes): Diagnose + omp::decl attribute on statements. Adjust diagnostic wording for + omp::decl. + (cp_parser_omp_directive_args): Add DECL_P argument, set TREE_PUBLIC + to it on the DEFERRED_PARSE tree. + (cp_parser_omp_sequence_args): Adjust caller. + (cp_parser_std_attribute): Handle omp::decl attribute. + (cp_parser_omp_var_list): If parser->lexer->in_omp_decl_attribute + don't expect any arguments, instead create clause or TREE_LIST for + that decl. + (cp_parser_late_parsing_omp_declare_simd): Adjust diagnostic wording + for omp::decl. + (cp_maybe_parse_omp_decl): New function. + (cp_parser_omp_declare_target): If + parser->lexer->in_omp_decl_attribute and first token isn't name or + comma invoke cp_parser_omp_var_list. + * decl2.cc (cplus_decl_attributes): Adjust diagnostic wording for + omp::decl. Handle omp::decl on declarations. + * name-lookup.cc (finish_using_directive): Adjust diagnostic wording + for omp::decl. + +2023-09-19 Ben Boeckel + + * mapper-client.cc, mapper-client.h (open_module_client): Accept + dependency tracking and track module mapper files as + dependencies. + * module.cc (make_mapper, get_mapper): Pass the dependency + tracking class down. + +2023-09-19 Ben Boeckel + + * module.cc (do_import): Report imported CMI files as + dependencies. + +2023-09-19 Ben Boeckel + + * module.cc (preprocessed_module): Pass whether the module is + exported to dependency tracking. + +2023-09-19 Javier Martinez + + * class.cc (propagate_class_warmth_attribute): New function. + (check_bases_and_members): propagate hot and cold attributes + to all FUNCTION_DECL when the record is marked hot or cold. + * cp-tree.h (maybe_propagate_warmth_attributes): New function. + * decl2.cc (maybe_propagate_warmth_attributes): New function. + * method.cc (lazily_declare_fn): propagate hot and cold + attributes to lazily declared functions when the record is + marked hot or cold. + +2023-09-19 Patrick Palka + + * ptree.cc (cxx_print_type): Remove TYPE_LANG_SPECIFIC + test guarding TYPE_TEMPLATE_INFO. + +2023-09-19 Jason Merrill + + DR 2799 + * class.cc (add_implicit_default_ctor): Split out... + (add_implicitly_declared_members): ...from here. + Also call it when inheriting a default ctor. + +2023-09-19 Marek Polacek + + * call.cc (build_over_call): Set ADDR_EXPR_DENOTES_CALL_P. Don't handle + immediate_invocation_p here. + * constexpr.cc (cxx_eval_call_expression): Use mce_true for + DECL_IMMEDIATE_FUNCTION_P. + (cxx_eval_conditional_expression): Call cp_fold_immediate. + * cp-gimplify.cc (enum fold_flags): Add ff_fold_immediate. + (maybe_replace_decl): Make static. + (cp_fold_r): Expand immediate invocations. + (cp_fold_immediate_r): New. + (cp_fold_immediate): New. + * cp-tree.h (ADDR_EXPR_DENOTES_CALL_P): Define. + (cp_fold_immediate): Declare. + * tree.cc (bot_replace): Don't handle immediate invocations here. + +2023-09-19 Patrick Palka + + PR c++/111419 + * cvt.cc (convert_to_void) : Only call + complete_type if the type is volatile. + : Likewise. + +2023-09-19 Patrick Palka + + PR c++/99631 + * semantics.cc (finish_decltype_type): For an NTTP object, + return its type modulo cv-quals. + +2023-09-18 Patrick Palka + + PR c++/89231 + * pt.cc (try_class_unification): Strengthen TI_TEMPLATE equality + test by not calling most_general_template. Only unify the + innermost levels of template arguments. + (unify) : Only unify the innermost levels of + template arguments, and only if the template is primary. + +2023-09-18 Patrick Palka + + PR c++/63198 + PR c++/18474 + * semantics.cc (maybe_convert_cond): Look through implicit + INDIRECT_REF when deciding whether to issue a -Wparentheses + warning, and consider templated assignment expressions as well. + (finish_parenthesized_expr): Look through implicit INDIRECT_REF + when suppressing -Wparentheses warning. + * typeck.cc (build_x_modify_expr): Check simple assignments + ahead time too, not just compound assignments. Give the second + operand of MODOP_EXPR a non-null type so that it's not considered + always instantiation-dependent. Don't call suppress_warning. + +2023-09-18 Patrick Palka + + PR c++/108347 + * pt.cc (unify): Return unify_success for identical dependent + DECL_P 'arg' and 'parm'. + : Remove handling. + +2023-09-18 Patrick Palka + + * call.cc (add_template_candidate_real): Check arity even + when there are no explicit template arguments. Combine the + two adjacent '!obj' tests into one. + +2023-09-18 Patrick Palka + + * pt.cc (register_specialization): Remove now-unnecessary + early exit for FUNCTION_DECL partial instantiation. + (tsubst_template_decl): Pass use_spec_table=false to + tsubst_function_decl. Set DECL_TI_ARGS of a non-lambda + FUNCTION_DECL specialization to the full set of arguments. + Simplify register_specialization call accordingly. + +2023-09-18 Jason Merrill + + * class.cc (check_subobject_offset): Use similar_type_p. + +2023-09-12 Jason Merrill + + PR c++/111357 + * pt.cc (expand_integer_pack): Convert argument to int. + +2023-09-12 Jason Merrill + + PR c++/107198 + * typeck2.cc (process_init_constructor_array): Use VEC_INIT_EXPR + regardless of seen_error. + +2023-09-08 Patrick Palka + + PR c++/99599 + * pt.cc (check_non_deducible_conversions): Add bool parameter + passed down to check_non_deducible_conversion. + (fn_type_unification): Call check_non_deducible_conversions + an extra time before satisfaction with noninst_only_p=true. + (conversion_may_instantiate_p): Define. + (check_non_deducible_conversion): Add bool parameter controlling + whether to compute only conversions that are guaranteed to + not induce template instantiation. + +2023-09-07 Sandra Loosemore + + PR c++/111274 + * parser.cc (fixup_blocks_walker): Check for null BIND_EXPR_BLOCK. + +2023-09-06 Jason Merrill + + * class.cc (check_subobject_offset): Check + same_type_ignoring_top_level_qualifiers_p. + +2023-09-05 Marek Polacek + + PR c++/91483 + * constexpr.cc (verify_constant_explain_r): New. + (verify_constant): Call it. + +2023-09-05 Jakub Jelinek + + PR c++/52953 + * name-lookup.cc (check_local_shadow): Don't punt early for + DECL_EXTERNAL decls, instead just disable the shadowing of namespace + decls check for those and emit a pedwarn rather than error_at or + permerror for those. Formatting fix. + +2023-09-05 Jakub Jelinek + + PR c++/52953 + * name-lookup.h (struct cp_binding_level): Add artificial bit-field. + Formatting fixes. + * name-lookup.cc (check_local_shadow): Skip artificial bindings when + checking if parameter scope is parent scope. Don't special case + FUNCTION_NEEDS_BODY_BLOCK. Diagnose the in_function_try_handler + cases in the b->kind == sk_function_parms test and verify no + non-artificial intervening scopes. Add missing auto_diagnostic_group. + * decl.cc (begin_function_body): Set + current_binding_level->artificial. + * semantics.cc (begin_function_try_block): Likewise. + +2023-09-05 Patrick Palka + + * parser.cc (cp_parser_parenthesized_expression_list_elt): Pass + nullptr as non_constant_p to cp_parser_braced_list if our + non_constant_p is null. + (cp_parser_initializer_list): Likewise to + cp_parser_initializer_clause. Avoid inspecting + clause_non_constant_p if it's uninitialized. + +2023-09-05 Patrick Palka + + * call.cc (build_user_type_conversion): Free allocated + conversions. + (build_converted_constant_expr_internal): Use + conversion_obstack_sentinel instead. + (perform_dguide_overload_resolution): Likewise. + (build_new_function_call): Likewise. + (build_operator_new_call): Free allocated conversions. + (build_op_call): Use conversion_obstack_sentinel instead. + (build_conditional_expr): Use conversion_obstack_sentinel + instead, and hoist it out to the outermost scope. + (build_new_op): Use conversion_obstack_sentinel instead + and set it up before the first goto. Remove second unneeded goto. + (build_op_subscript): Use conversion_obstack_sentinel instead. + (ref_conv_binds_to_temporary): Likewise. + (build_new_method_call): Likewise. + (can_convert_arg): Likewise. + (can_convert_arg_bad): Likewise. + (perform_implicit_conversion_flags): Likewise. + (perform_direct_initialization_if_possible): Likewise. + (initialize_reference): Likewise. + +2023-09-01 Jakub Jelinek + + PR c++/111069 + * cp-tree.h (determine_local_discriminator): Add NAME argument with + NULL_TREE default. + (struct cp_decomp): New type. + (cp_finish_decl): Add DECOMP argument defaulted to nullptr. + (cp_maybe_mangle_decomp): Remove declaration. + (cp_finish_decomp): Add cp_decomp * argument, remove tree and unsigned + args. + (cp_convert_range_for): Likewise. + * decl.cc (determine_local_discriminator): Add NAME argument, use it + if non-NULL, otherwise compute it the old way. + (maybe_commonize_var): Don't return early for structured bindings. + (cp_finish_decl): Add DECOMP argument, if non-NULL, call + cp_maybe_mangle_decomp. + (cp_maybe_mangle_decomp): Make it static with a forward declaration. + Call determine_local_discriminator. Replace FIRST and COUNT arguments + with DECOMP argument. + (cp_finish_decomp): Replace FIRST and COUNT arguments with DECOMP + argument. + * mangle.cc (find_decomp_unqualified_name): Remove. + (write_unqualified_name): Don't call find_decomp_unqualified_name. + (mangle_decomp): Handle mangling of static function/block scope + structured bindings. Don't call decl_mangling_context twice. Call + check_abi_tags, call write_abi_tags for abi version >= 19 and emit + -Wabi warnings if needed. + (write_guarded_var_name): Handle structured bindings. + (mangle_ref_init_variable): Use write_guarded_var_name. + * parser.cc (cp_parser_range_for): Adjust do_range_for_auto_deduction + and cp_convert_range_for callers. + (do_range_for_auto_deduction): Replace DECOMP_FIRST_NAME and + DECOMP_CNT arguments with DECOMP. Adjust cp_finish_decomp caller. + (cp_convert_range_for): Replace DECOMP_FIRST_NAME and + DECOMP_CNT arguments with DECOMP. Don't call cp_maybe_mangle_decomp, + adjust cp_finish_decl and cp_finish_decomp callers. + (cp_parser_decomposition_declaration): Don't call + cp_maybe_mangle_decomp, adjust cp_finish_decl and cp_finish_decomp + callers. + (cp_convert_omp_range_for): Adjust do_range_for_auto_deduction + and cp_finish_decomp callers. + (cp_finish_omp_range_for): Don't call cp_maybe_mangle_decomp, + adjust cp_finish_decl and cp_finish_decomp callers. + * pt.cc (tsubst_omp_for_iterator): Adjust tsubst_decomp_names + caller. + (tsubst_decomp_names): Replace FIRST and CNT arguments with DECOMP. + (tsubst_expr): Don't call cp_maybe_mangle_decomp, adjust + tsubst_decomp_names, cp_finish_decl, cp_finish_decomp and + cp_convert_range_for callers. + +2023-08-30 Marek Polacek + + PR c++/91319 + * parser.cc (cp_parser_initializer_list): Set CONSTRUCTOR_IS_DIRECT_INIT + when the designated initializer is of the .x{} form. + +2023-08-30 Marek Polacek + + PR c++/111173 + * decl.cc (grokdeclarator): Disallow constinit on functions. + +2023-08-29 Marek Polacek + + * call.cc (convert_like_internal): Show where the conversion function + was declared. + (maybe_show_nonconverting_candidate): New. + * cp-tree.h (maybe_show_nonconverting_candidate): Declare. + * typeck.cc (convert_for_assignment): Call it. + +2023-08-25 Sandra Loosemore + + * cp-tree.h (cp_convert_omp_range_for): Adjust declaration. + * parser.cc (struct omp_for_parse_data): New. + (cp_parser_postfix_expression): Diagnose calls to OpenMP runtime + in intervening code. + (check_omp_intervening_code): New. + (cp_parser_statement_seq_opt): Special-case nested loops, blocks, + and other constructs for OpenMP loops. + (cp_parser_iteration_statement): Reject loops in intervening code. + (cp_parser_omp_for_loop_init): Expand comments and tweak the + interface slightly to better distinguish input/output parameters. + (cp_convert_omp_range_for): Likewise. + (cp_parser_omp_loop_nest): New, split from cp_parser_omp_for_loop + and largely rewritten. Add more comments. + (insert_structured_blocks): New. + (find_structured_blocks): New. + (struct sit_data, substitute_in_tree_walker, substitute_in_tree): + New. + (fixup_blocks_walker): New. + (cp_parser_omp_for_loop): Rewrite to use recursive descent instead + of a loop. Add logic to reshuffle the bits of code collected + during parsing so intervening code gets moved to the loop body. + (cp_parser_omp_loop): Remove call to finish_omp_for_block, which + is now redundant. + (cp_parser_omp_simd): Likewise. + (cp_parser_omp_for): Likewise. + (cp_parser_omp_distribute): Likewise. + (cp_parser_oacc_loop): Likewise. + (cp_parser_omp_taskloop): Likewise. + (cp_parser_pragma): Reject OpenMP pragmas in intervening code. + * parser.h (struct cp_parser): Add omp_for_parse_state field. + * pt.cc (tsubst_omp_for_iterator): Adjust call to + cp_convert_omp_range_for. + * semantics.cc (finish_omp_for): Try harder to preserve location + of loop variable init expression for use in diagnostics. + (struct fofb_data, finish_omp_for_block_walker): New. + (finish_omp_for_block): Allow variables to be bound in a BIND_EXPR + nested inside BIND instead of directly in BIND itself. + +2023-08-25 Sandra Loosemore + + * constexpr.cc (cxx_eval_constant_expression): Handle + OMP_STRUCTURED_BLOCK. + * pt.cc (tsubst_expr): Likewise. + +2023-08-25 Uros Bizjak + + * call.cc (build_conditional_expr): + Rename TRUE/FALSE to true/false. + (build_new_op): Ditto. + +2023-08-22 Jason Merrill + + * pt.cc (outer_template_args): Handle non-template argument. + * constraint.cc (maybe_substitute_reqs_for): Pass decl to it. + * cp-tree.h (outer_template_args): Adjust. + +2023-08-22 Jason Merrill + + PR c++/109751 + * cp-tree.h (member_like_constrained_friend_p): Declare. + * decl.cc (member_like_constrained_friend_p): New. + (function_requirements_equivalent_p): Check it. + (duplicate_decls): Check it. + (grokfndecl): Check friend template constraints. + * mangle.cc (decl_mangling_context): Check it. + (write_unqualified_name): Check it. + * pt.cc (uses_outer_template_parms_in_constraints): Fix for friends. + (tsubst_friend_function): Don't check satisfaction. + +2023-08-22 Tobias Burnus + + * parser.cc (cp_parser_omp_clause_defaultmap): Parse + 'all' as category. + +2023-08-15 Chung-Lin Tang + Thomas Schwinge + + * parser.cc (OACC_DATA_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_DEFAULT. + +2023-08-14 gnaggnoyil + + DR 2386 + PR c++/110216 + * decl.cc (get_tuple_size): Update implementation for DR 2386. + +2023-08-14 Jason Merrill + + * parser.cc (cp_parser_simple_type_specifier): Handle -std=c++14 + -fconcepts. + +2023-08-12 Patrick Palka + Jason Merrill + + PR c++/106604 + * decl.cc (redeclaration_error_message): Remove special handling + for deduction guides. + (grokfndecl): Give deduction guides a dummy DECL_INITIAL. + +2023-08-11 Patrick Palka + + PR c++/110927 + * parser.cc (cp_parser_type_requirement): Pass + check_dependency_p=true instead of =false. + +2023-08-11 Patrick Palka + + PR c++/71954 + * decl.cc (grokdeclarator): Pass 'dname' instead of + 'unqualified_id' as the name when building the VAR_DECL for a + static data member. Call check_explicit_specialization for a + TEMPLATE_ID_EXPR such member. + * pt.cc (finish_member_template_decl): Return NULL_TREE + instead of 'decl' when DECL_TEMPLATE_SPECIALIZATION is not + set. + +2023-08-11 Patrick Palka + + * ptree.cc (cxx_print_decl): Check for DECL_LANG_SPECIFIC and + TS_DECL_COMMON only when necessary. Print DECL_TEMPLATE_INFO + for all decls that have it, not just VAR_DECL or FUNCTION_DECL. + Also print DECL_USE_TEMPLATE. + (cxx_print_type): Print TYPE_TEMPLATE_INFO. + : Don't print TYPE_TI_ARGS + anymore. + : Print TEMPLATE_TYPE_PARM_INDEX + instead of printing the index, level and original level + individually. + +2023-08-08 Marek Polacek + + * parser.cc (cp_parser_postfix_expression): Adjust the call to + cp_parser_braced_list. + (cp_parser_postfix_open_square_expression): Likewise. + (cp_parser_new_initializer): Likewise. + (cp_parser_assignment_expression): Adjust the call to + cp_parser_initializer_clause. + (cp_parser_lambda_introducer): Adjust the call to cp_parser_initializer. + (cp_parser_range_for): Adjust the call to cp_parser_braced_list. + (cp_parser_jump_statement): Likewise. + (cp_parser_mem_initializer): Likewise. + (cp_parser_template_argument): Likewise. + (cp_parser_default_argument): Adjust the call to cp_parser_initializer. + (cp_parser_initializer): Handle null is_direct_init and non_constant_p + arguments. + (cp_parser_initializer_clause): Handle null non_constant_p argument. + (cp_parser_braced_list): Likewise. + (cp_parser_initializer_list): Likewise. + (cp_parser_member_declaration): Adjust the call to + cp_parser_initializer_clause and cp_parser_initializer. + (cp_parser_yield_expression): Adjust the call to cp_parser_braced_list. + (cp_parser_functional_cast): Likewise. + (cp_parser_late_parse_one_default_arg): Adjust the call to + cp_parser_initializer. + (cp_parser_omp_for_loop_init): Likewise. + (cp_parser_omp_declare_reduction_exprs): Likewise. + +2023-08-08 Nathaniel Shead + + PR c++/100482 + * parser.cc (cp_parser_decltype_expr): Report errors raised by + finish_id_expression. + +2023-08-04 Tamar Christina + + * cp-tree.h (RANGE_FOR_NOVECTOR): New. + (cp_convert_range_for, finish_while_stmt_cond, finish_do_stmt, + finish_for_cond): Add novector param. + * init.cc (build_vec_init): Default novector to false. + * method.cc (build_comparison_op): Likewise. + * parser.cc (cp_parser_statement): Likewise. + (cp_parser_for, cp_parser_c_for, cp_parser_range_for, + cp_convert_range_for, cp_parser_iteration_statement, + cp_parser_omp_for_loop, cp_parser_pragma): Support novector. + (cp_parser_pragma_novector): New. + * pt.cc (tsubst_expr): Likewise. + * semantics.cc (finish_while_stmt_cond, finish_do_stmt, + finish_for_cond): Likewise. + +2023-08-01 Lewis Hyatt + + * parser.cc (c_init_preprocess): New function. + (maybe_read_tokens_for_pragma_lex): New function. + (pragma_lex): Support preprocess-only mode. + (pragma_lex_discard_to_eol): New function. + +2023-07-31 Chung-Lin Tang + + * parser.cc (cp_parser_oacc_host_data): Add checking requiring OpenACC + host_data construct to have an use_device clause. + +2023-07-28 Ng YongXiang + + PR c++/110057 + PR ipa/83054 + * init.cc (build_vec_delete_1): Devirtualize array destruction. + +2023-07-27 Patrick Palka + + PR c++/110197 + * constexpr.cc (cxx_eval_array_reference): Allow synthesizing an + empty subobject even if CONSTRUCTOR_NO_CLEARING is set. + (cxx_eval_bare_aggregate): Set 'no_slot' to true more generally + whenever new_ctx.ctor is set to NULL_TREE by init_subob_ctx, + i.e. whenever initializing an subobject of empty type. + (cxx_eval_vec_init_1): Define 'no_slot' as above and use it + accordingly. + +2023-07-27 Nathaniel Shead + + PR c++/103497 + * pt.cc (type_uses_auto): Check inside parameter packs. + +2023-07-26 Patrick Palka + + PR c++/110566 + PR c++/108179 + * pt.cc (reduce_template_parm_level): Set DECL_TEMPLATE_INFO + on the DECL_TEMPLATE_RESULT of the new ttp. + (add_defaults_to_ttp): Make a copy of the original ttp's + DECL_TEMPLATE_RESULT, and update this copy's DECL_TEMPLATE_INFO + as well. + (coerce_template_template_parms): Make sure 'scope_args' has + the right amount of levels for the ttp argument. + (most_general_template): Handle template template parameters. + (rewrite_template_parm): Set DECL_TEMPLATE_RESULT on the + DECL_TEMPLATE_RESULT of the new ttp. + +2023-07-26 Patrick Palka + + PR c++/110566 + PR c++/108179 + * pt.cc (coerce_template_template_parms): Simplify by using + DECL_INNERMOST_TEMPLATE_PARMS and removing redundant asserts. + Always pass the parameters of the most general template to + coerce_template_parms. + +2023-07-26 Patrick Palka + + PR c++/110809 + * pt.cc (unify) : Generalize to handle + REAL_CST as well. + +2023-07-26 Marek Polacek + + * parser.cc (cp_parser_constant_expression): Allow non_constant_p to be + nullptr even when allow_non_constant_p is true. Don't call + _rvalue_constant_expression when not necessary. Move local variable + declarations closer to their first use. + (cp_parser_static_assert): Don't pass a dummy down to + cp_parser_constant_expression. + +2023-07-26 Jason Merrill + + PR c++/106310 + * parser.cc (cp_parser_template_name): Skip non-member + lookup after the template keyword. + (cp_parser_lookup_name): Pass down template_keyword_p. + +2023-07-26 Nathaniel Shead + + PR c++/96630 + PR c++/98675 + PR c++/70331 + * constexpr.cc (constexpr_global_ctx::is_outside_lifetime): New + function. + (constexpr_global_ctx::get_value): Don't return expired values. + (constexpr_global_ctx::get_value_ptr): Likewise. + (constexpr_global_ctx::remove_value): Mark value outside + lifetime. + (outside_lifetime_error): New function. + (cxx_eval_call_expression): No longer track save_exprs. + (cxx_eval_loop_expr): Likewise. + (cxx_eval_constant_expression): Add checks for outside lifetime + values. Remove local variables at end of bind exprs, and + temporaries after cleanup points. + +2023-07-26 Nathaniel Shead + + PR c++/110619 + * cp-gimplify.cc (cp_genericize_r): Transform RETURN_EXPRs to + not return dangling pointers. + * cp-tree.h (RETURN_EXPR_LOCAL_ADDR_P): New flag. + (check_return_expr): Add a new parameter. + * semantics.cc (finish_return_stmt): Set flag on RETURN_EXPR + when referring to dangling pointer. + * typeck.cc (check_return_expr): Disable transformation of + dangling pointers, instead pass this information to caller. + +2023-07-26 Nathaniel Shead + + * constexpr.cc (modifying_const_object_error): Find the source + location of the const object's declaration. + (cxx_eval_constant_expression): Update input_location to the + location of the currently evaluated expression, if possible. + +2023-07-25 Marek Polacek + + PR c++/108960 + * pt.cc (lookup_and_finish_template_variable): Don't clear tf_partial + here. + (instantiate_template): Reset all complain flags except + tf_warning_or_error. + +2023-07-25 Marek Polacek + + PR c++/110382 + * constexpr.cc (cxx_eval_array_reference): Create a new constructor + only when we don't already have a matching one. Clear the object + when the type is non-scalar. + +2023-07-21 Marek Polacek + + PR c++/110106 + * constexpr.cc (potential_constant_expression_1): Try to complete the + type when !processing_template_decl. + +2023-07-20 Marek Polacek + + PR c++/110114 + * call.cc (implicit_conversion_1): Return early if the type isn't + complete. + +2023-07-19 Marek Polacek + + PR c++/110745 + * error.cc (dump_simple_decl): Print base class name. + +2023-07-19 Marek Polacek + + PR c++/110064 + * typeck2.cc (process_init_constructor_record): Don't emit + -Wmissing-field-initializers for empty classes. + +2023-07-19 Patrick Palka + + * pt.cc (type_unification_real): Test for PARM_DECL instead + of TEMPLATE_PARM_INDEX to distinguish a type vs non-type + template parameter pack. + (type_targs_deducible_from): Likewise. + +2023-07-19 Patrick Palka + + * pt.cc (tsubst_function_decl): Add defaulted 'use_spec_table' + flag parameter. Don't look up or insert into the specializations + table if 'use_spec_table' is false. + (tsubst_decl): Add defaulted 'use_spec_table' flag parameter. + Check for error_mark_node. + : Pass 'use_spec_table' to + tsubst_function_decl. + : Don't call coerce_template_parms. + Don't look up or insert into the specializations table if + 'use_spec_table' is false. Exit earlier if the substituted + type is erroneous and we're not complaining, and do so for + alias specializations as well. + (instantiate_template): Pass false as 'use_spec_table' + to tsubst_decl. Call register_specialization afterwards. + +2023-07-18 Jason Merrill + + * constexpr.cc (cxx_eval_bit_cast): Check that the result of + native_interpret_aggregate doesn't need more evaluation. + +2023-07-18 Patrick Palka + + * call.cc (add_template_conv_candidate): Don't check for + non-empty 'candidates' here. + (build_op_call): Check it here, before we've considered any + conversion functions. + +2023-07-18 Patrick Palka + + PR c++/110535 + * call.cc (add_conv_candidate): Check constraints. + +2023-07-17 Jason Merrill + + * constexpr.cc (cxx_eval_call_expression): Only cache + reduced_constant_expression_p results. + (reduced_constant_expression_p): Handle CONSTRUCTOR of scalar type. + (cxx_eval_constant_expression): Fold vectors here. + (cxx_eval_bare_aggregate): Not here. + +2023-07-15 Patrick Palka + + PR c++/110441 + * call.cc (keep_unused_object_arg): Use cp_build_compound_expr + instead of building a COMPOUND_EXPR directly. + +2023-07-15 Patrick Palka + + PR c++/110524 + * mangle.cc (write_expression): Handle TEMPLATE_ID_EXPR + whose template is already an IDENTIFIER_NODE. + +2023-07-14 Nathaniel Shead + + * constexpr.cc (cxx_eval_constant_expression): Pass t to get_value. + +2023-07-14 Jason Merrill + + PR c++/110344 + * constexpr.cc (cxx_eval_constant_expression): Move P2738 handling + after heap handling. + * name-lookup.cc (get_cxx_dialect_name): Add C++26. + +2023-07-14 Marek Polacek + Jason Merrill + + PR c++/109876 + * decl.cc (cp_finish_decl): Set TREE_CONSTANT when initializing + an object of empty class type. + * pt.cc (value_dependent_expression_p) : Treat a + constexpr-declared non-constant variable as value-dependent. + +2023-07-11 Patrick Palka + + PR c++/110580 + * pt.cc (lookup_template_variable): Pass all levels of arguments + to coerce_template_parms, and use the parameters from the most + general template. + +2023-07-10 Patrick Palka + + PR c++/110523 + * pt.cc (redeclare_class_template): Relax the ttp DECL_CONTEXT + assert, and downgrade it to a checking assert. + +2023-06-30 Patrick Palka + + * cp-tree.h (TEMPLATE_PARM_DESCENDANTS): Harden. + (TEMPLATE_TYPE_DESCENDANTS): Define. + (TEMPLATE_TEMPLATE_PARM_SIMPLE_P): Define. + * pt.cc (reduce_template_parm_level): Revert + r14-418-g0bc2a1dc327af9 change. + (process_template_parm): Set TEMPLATE_TEMPLATE_PARM_SIMPLE_P + appropriately. + (uses_outer_template_parms): Determine the outer depth of + a template template parm without relying on DECL_CONTEXT. + (tsubst) : Cache lowering a + simple template template parm. Consistently use 'code'. + +2023-06-29 Patrick Palka + + PR c++/110468 + * init.cc (maybe_instantiate_nsdmi_init): Mask out all + tsubst flags except for tf_warning_or_error. + +2023-06-29 Patrick Palka + + PR c++/110463 + * cp-gimplify.cc (cp_fold) : Propagate + CONSTRUCTOR_MUTABLE_POISON. + +2023-06-29 Patrick Palka + + * cp-tree.h (tree_template_info::partial): New data member. + (TI_PARTIAL_INFO): New tree accessor. + (most_specialized_partial_spec): Add defaulted bool parameter. + * module.cc (trees_out::core_vals) : Stream + TI_PARTIAL_INFO. + (trees_in::core_vals) : Likewise. + * parser.cc (specialization_of): Adjust after making + most_specialized_partial_spec return TEMPLATE_INFO instead + of TREE_LIST. + * pt.cc (process_partial_specialization): Set TI_PARTIAL_INFO + of 'decl' to point back to the partial TEMPLATE_DECL. Likewise + (and pass rechecking=true to most_specialization_partial_spec). + (instantiate_class_template): Likewise. + (instantiate_template): Set TI_PARTIAL_INFO to the result of + most_specialization_partial_spec after forming a variable + template specialization. + (most_specialized_partial_spec): Add 'rechecking' parameter. + Exit early if the template is not primary. Use the TI_PARTIAL_INFO + of the corresponding TEMPLATE_INFO as a cache unless 'rechecking' + is true. Don't bother setting TREE_TYPE of each TREE_LIST. + (instantiate_decl): Adjust after making + most_specialized_partial_spec return TEMPLATE_INFO instead of + TREE_LIST. + * ptree.cc (cxx_print_xnode) : Dump + TI_PARTIAL_INFO. + +2023-06-29 Eugene Rozenfeld + + * Make-lang.in: Pass correct stage cc1plus when processing + profile data collected while building target libraries + +2023-06-28 Patrick Palka + + PR c++/89442 + PR c++/107437 + * cp-tree.h (lookup_template_variable): Add complain parameter. + * parser.cc (cp_parser_template_id): Pass tf_warning_or_error + to lookup_template_variable. + * pt.cc (lookup_template_variable): Add complain parameter. + Coerce template arguments here ... + (finish_template_variable): ... instead of here. + (lookup_and_finish_template_variable): Check for error_mark_node + result from lookup_template_variable. + (tsubst_copy) : Pass complain to + lookup_template_variable. + (instantiate_template): Use build2 instead of + lookup_template_variable to build a TEMPLATE_ID_EXPR + for most_specialized_partial_spec. + +2023-06-28 Marek Polacek + + PR c++/110175 + * typeck.cc (cp_build_unary_op): Check tf_warning before warning. + +2023-06-28 Jason Merrill + + PR c++/110334 + * cp-tree.h (clone_attrs): Declare. + * method.cc (implicitly_declare_fn): Use it for inherited + constructor. + * optimize.cc (clone_attrs): New. + (maybe_clone_body): Use it. + +2023-06-28 Jason Merrill + + PR c++/110344 + * constexpr.cc (cxx_eval_constant_expression): In C++26, allow cast + from void* to the type of a pointed-to object. + +2023-06-23 David Malcolm + + PR c++/110164 + * cp-name-hint.h (maybe_suggest_missing_header): New decl. + * decl.cc: Define INCLUDE_MEMORY. Add include of + "cp/cp-name-hint.h". + (start_decl_1): Call maybe_suggest_missing_header. + * name-lookup.cc (maybe_suggest_missing_header): Remove "static". + +2023-06-16 Alex Coplan + + * parser.cc (cp_parser_enum_specifier): Don't reject + elaborated-type-specifier with enum-base, instead emit new + Welaborated-enum-base warning. + +2023-06-14 Jason Merrill + + DR 2327 + PR c++/86521 + * call.cc (joust_maybe_elide_copy): Don't change cand. + (joust): Move the elided tiebreaker later. + +2023-06-13 David Malcolm + + PR c/84890 + * name-lookup.cc (missing_std_header::~missing_std_header): Reword + note to avoid negative tone of "forgetting". + +2023-06-13 Jason Merrill + + * tree.cc (build_target_expr): Check TYPE_HAS_MUTABLE_P. + +2023-06-12 Tobias Burnus + + * parser.cc (cp_parser_omp_clause_map): Reword error message for + clearness especially with 'omp target (enter/exit) data.' + * semantics.cc (handle_omp_array_sections): Handle + GOMP_MAP_{ALWAYS_,}PRESENT_{TO,TOFROM,FROM,ALLOC} enum values. + +2023-06-12 Jason Merrill + + PR c++/105838 + * call.cc (convert_like_internal) [ck_list]: Use + maybe_init_list_as_array. + * constexpr.cc (cxx_eval_vec_init_1): Init might have + a different type. + * tree.cc (build_vec_init_elt): Likewise. + * init.cc (build_vec_init): Handle from_array from a + TARGET_EXPR. Retain TARGET_EXPR of a different type. + +2023-06-11 Patrick Palka + + PR c++/110122 + * constexpr.cc (cxx_eval_call_expression): Synthesize defaulted + functions needed for constant evaluation. + (instantiate_cx_fn_r): Likewise. + +2023-06-11 Patrick Palka + + PR c++/110122 + * pt.cc (lookup_template_class): Extend shortcut for looking up the + current class scope to consider outer class scopes too, and use + current_nonlambda_class_type instead of current_class_type. Only + call coerce_template_parms when specializing a primary template. + +2023-06-10 Nathan Sidwell + + PR c++/61663 + * pt.cc (maybe_adjust_types_for_deduction): Implement DR976. + +2023-06-09 Jason Merrill + + PR c++/110185 + PR c++/58487 + * method.cc (build_comparison_op): Give retval a name. + * typeck.cc (check_return_expr): Fix for nameless variables. + +2023-06-09 Jason Merrill + + * parser.cc (cp_parser_simple_type_specifier): Check for auto + in template argument. + (cp_parser_template_type_arg): Remove auto checking. + +2023-06-09 Jason Merrill + + PR c++/110102 + * call.cc (maybe_init_list_as_array): Check that the element type is + copyable. + +2023-06-07 Jason Merrill + + PR c++/58487 + PR c++/53637 + * cp-tree.h (INIT_EXPR_NRV_P): New. + * semantics.cc (finalize_nrv_r): Check it. + * name-lookup.h (decl_in_scope_p): Declare. + * name-lookup.cc (decl_in_scope_p): New. + * typeck.cc (check_return_expr): Allow non-NRV + returns if the NRV is no longer in scope. + +2023-06-07 Jason Merrill + + PR c++/58487 + * typeck.cc (want_nrvo_p): New. + (check_return_expr): Handle -Wnrvo. + +2023-06-07 Jason Merrill + + PR c++/51571 + PR c++/92407 + * decl.cc (finish_function): Simplify NRV handling. + * except.cc (maybe_set_retval_sentinel): Also set if NRV. + (maybe_splice_retval_cleanup): Don't add the cleanup region + if we don't need it. + * semantics.cc (nrv_data): Add simple field. + (finalize_nrv): Set it. + (finalize_nrv_r): Check it and retval sentinel. + * cp-tree.h (finalize_nrv): Adjust declaration. + * typeck.cc (check_return_expr): Remove named_labels check. + +2023-06-07 Jason Merrill + + PR c++/92407 + * typeck.cc (check_return_expr): Prevent NRV in the presence of + named labels. + +2023-06-07 Jason Merrill + + PR c++/33799 + * except.cc (maybe_splice_retval_cleanup): Change + recognition of function body and try scopes. + * semantics.cc (do_poplevel): Call it after poplevel. + (at_try_scope): New. + * cp-tree.h (maybe_splice_retval_cleanup): Adjust. + +2023-06-07 Jason Merrill + + * semantics.cc (finalize_nrv_r): [RETURN_EXPR]: Only replace the + INIT_EXPR. + +2023-06-06 Kwok Cheung Yeung + Tobias Burnus + + * parser.cc (cp_parser_omp_clause_defaultmap, + cp_parser_omp_clause_map): Parse 'present'. + (cp_parser_omp_clause_from_to): New; parse to/from + clauses with optional 'present' modifier. + (cp_parser_omp_all_clauses): Update call. + (cp_parser_omp_target_data, cp_parser_omp_target_enter_data, + cp_parser_omp_target_exit_data): Handle new enum value for + 'present' mapping. + * semantics.cc (finish_omp_target): Likewise. + +2023-06-04 Jason Merrill + + PR c++/97720 + * cp-tree.h (enum cp_tree_index): Add CPTI_CALL_TERMINATE_FN. + (call_terminate_fn): New macro. + * cp-gimplify.cc (gimplify_must_not_throw_expr): Use it. + * except.cc (init_exception_processing): Set it. + (cp_protect_cleanup_actions): Return it. + +2023-06-03 Patrick Palka + + PR c++/109923 + * pt.cc (is_specialization_of_friend): Fix overbroad check for + a non-template member function of a class template. + +2023-06-03 Patrick Palka + + * pt.cc (iterative_hash_template_arg): Don't hash + TEMPLATE_TEMPLATE_PARM specially. + +2023-06-03 Patrick Palka + + * class.cc (build_base_path): Check in_template_context instead + of in_template_function. + (resolves_to_fixed_type_p): Likewise. + * cp-tree.h (in_template_context): Define. + (in_template_function): Remove. + * decl.cc (cp_make_fname_decl): Check current_function_decl + and in_template_context instead of in_template_function. + * decl2.cc (mark_used): Check in_template_context instead of + in_template_function. + * pt.cc (in_template_function): Remove. + * semantics.cc (enforce_access): Check in_template_context + instead of current_template_parms directly. + +2023-06-03 Patrick Palka + + PR c++/70790 + * mangle.cc (write_expression): Handle NOEXCEPT_EXPR. + +2023-06-02 Jason Merrill + + DR 2735 + PR c++/109247 + * call.cc (sfk_copy_or_move): New. + (joust): Add tiebreaker for explicit conv and copy ctor. + +2023-06-02 Jason Merrill + + PR c++/110070 + PR c++/105838 + * call.cc (maybe_init_list_as_array): Set DECL_MERGEABLE. + (convert_like_internal) [ck_list]: Set it. + (set_up_extended_ref_temp): Copy it. + * tree.cc (handle_no_unique_addr_attribute): Set it. + +2023-06-01 Jason Merrill + + * typeck2.cc (check_narrowing): Check flag_permissive. + +2023-05-30 Tobias Burnus + + PR c/109999 + * parser.cc (cp_parser_oacc_all_clauses, + cp_parser_omp_all_clauses): Improve error wording. + +2023-05-19 Andrew Pinski + + PR driver/33980 + * lang-specs.h ("@c++-header"): Add %w after + the --output-pch. + ("@c++-system-header"): Likewise. + ("@c++-user-header"): Likewise. + +2023-05-19 Patrick Palka + + * constraint.cc (normalize_concept_check): Avoid having to do + two norm_cache lookups. Remove unnecessary early exit for an + ill-formed concept definition. + +2023-05-19 Patrick Palka + + PR c++/97340 + * pt.cc (lookup_and_finish_template_variable): Don't call + convert_from_reference. + (tsubst_copy_and_build) : Call + convert_from_reference on the result of + lookup_and_finish_template_variable. + +2023-05-18 Bernhard Reutner-Fischer + + * call.cc (promoted_arithmetic_type_p): Use _P defines from tree.h. + (build_conditional_expr): Ditto. + (convert_like_internal): Ditto. + (convert_arg_to_ellipsis): Ditto. + (build_over_call): Ditto. + (compare_ics): Ditto. + * class.cc (is_empty_base_ref): Ditto. + * coroutines.cc (rewrite_param_uses): Ditto. + * cp-tree.h (DECL_DISCRIMINATOR_P): Ditto. + (ARITHMETIC_TYPE_P): Ditto. + * cvt.cc (ocp_convert): Ditto. + * cxx-pretty-print.cc (pp_cxx_template_argument_list): Ditto. + * decl.cc (layout_var_decl): Ditto. + (get_tuple_size): Ditto. + * error.cc (dump_simple_decl): Ditto. + * lambda.cc (start_lambda_scope): Ditto. + * mangle.cc (write_template_arg): Ditto. + * method.cc (spaceship_comp_cat): Ditto. + * module.cc (node_template_info): Ditto. + (trees_out::start): Ditto. + (trees_out::decl_node): Ditto. + (trees_in::read_var_def): Ditto. + (set_instantiating_module): Ditto. + * name-lookup.cc (maybe_record_mergeable_decl): Ditto. + (consider_decl): Ditto. + (maybe_add_fuzzy_decl): Ditto. + * pt.cc (convert_nontype_argument): Ditto. + * semantics.cc (handle_omp_array_sections_1): Ditto. + (finish_omp_clauses): Ditto. + (finish_omp_target_clauses_r): Ditto. + (is_this_parameter): Ditto. + * tree.cc (build_cplus_array_type): Ditto. + (is_this_expression): Ditto. + * typeck.cc (do_warn_enum_conversions): Ditto. + * typeck2.cc (store_init_value): Ditto. + (check_narrowing): Ditto. + +2023-05-17 Jakub Jelinek + + PR c++/109868 + * init.cc (build_zero_init_1): Don't initialize zero-width bitfields. + For unions only initialize the first FIELD_DECL. + +2023-05-16 Marek Polacek + + PR c++/109774 + * typeck.cc (check_return_expr): In a template, return only after + suppressing -Wdangling-reference. + +2023-05-16 Patrick Palka + + PR c++/109871 + * call.cc (add_list_candidates): Check for invalid designated + initialization sooner and even for types that have a list + constructor. + +2023-05-11 Patrick Palka + + PR c++/109745 + * typeck2.cc (poison_mutable_constructors): Define. + (store_init_value): Use it instead of setting + CONSTRUCTOR_MUTABLE_POISON directly. + +2023-05-11 Patrick Palka + Jonathan Wakely + + PR c++/83258 + PR c++/80488 + PR c++/97700 + * pt.cc (convert_nontype_argument_function): Remove linkage + requirement for C++17 and later. + (invalid_tparm_referent_p) : Restrict + DECL_ARTIFICIAL rejection test to VAR_DECL. + +2023-05-10 Marek Polacek + + PR c++/109680 + * method.cc (build_trait_object): New. + (assignable_expr): Use it. + (ref_xes_from_temporary): Likewise. + (is_convertible_helper): Likewise. Check FUNC_OR_METHOD_TYPE_P. + +2023-05-10 Jason Merrill + + * call.cc (convert_like_internal): Share ck_ref_bind handling + between all bad conversions. + +2023-05-10 Jason Merrill + + DR 2543 + * constexpr.cc (cxx_eval_outermost_constant_expr): Preserve + TARGET_EXPR flags. + (potential_constant_expression_1): Check TARGET_EXPR_ELIDING_P. + * typeck2.cc (store_init_value): Diagnose constinit sooner. + +2023-05-10 Jason Merrill + + * constexpr.cc (cxx_eval_outermost_constant_expr): Always check + for address of immediate fn. + (maybe_constant_init_1): Evaluate PTRMEM_CST. + +2023-05-10 Jakub Jelinek + + PR c++/109756 + * parser.cc (cp_parser_std_attribute): For unknown attributes with + arguments set TREE_VALUE (attribute) to error_mark_node after skipping + the balanced tokens. + (cp_parser_std_attribute_list): If ... is used after attribute without + arguments, diagnose it and return error_mark_node. If + TREE_VALUE (attribute) is error_mark_node, don't call + make_pack_expansion nor return early error_mark_node. + +2023-05-09 Patrick Palka + + PR c++/109752 + * constraint.cc (satisfaction_cache::satisfaction_cache): In the + unexpected case of evaluating an atom for the first time noisily, + remove the cache slot that we inserted. + +2023-05-09 Patrick Palka + + PR c++/109761 + * parser.cc (cp_parser_class_specifier): Don't pass a class + context to noexcept_override_late_checks. + (noexcept_override_late_checks): Remove 'type' parameter + and use DECL_CONTEXT of 'fndecl' instead. + +2023-05-09 Jakub Jelinek + + PR c++/109756 + * cp-gimplify.cc (process_stmt_assume_attribute): Diagnose pack + expansion of assume attribute. + +2023-05-08 Patrick Palka + + PR c++/106214 + PR c++/93107 + * pt.cc (do_auto_deduction): Move up resolve_nondeduced_context + calls to happen before do_class_deduction. Add some + error_mark_node tests. + +2023-05-07 Patrick Palka + + PR c++/85979 + * cxx-pretty-print.cc (cxx_pretty_printer::unary_expression) + : Consider ALIGNOF_EXPR_STD_P. + * error.cc (dump_expr) : Likewise. + +2023-05-07 Patrick Palka + + DR 2256 + PR c++/103091 + * decl.cc (decl_jump_unsafe): Return bool instead of int. + Don't consider TYPE_HAS_NONTRIVIAL_DESTRUCTOR. + (check_previous_goto_1): Simplify now that decl_jump_unsafe + returns bool instead of int. + (check_goto): Likewise. + +2023-05-07 Patrick Palka + + * pt.cc (instantiate_alias_template): Exit early upon + error from coerce_template_parms. Remove dependence test + guarding constraints_satisfied_p. + +2023-05-07 Patrick Palka + + * cp-tree.h (PLACEHOLDER_TYPE_CONSTRAINTS_INFO): Harden via + TEMPLATE_TYPE_PARM_CHECK. + (TPARMS_PRIMARY_TEMPLATE): Harden via TREE_VEC_CHECK. + (TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL): Harden via + TEMPLATE_TEMPLATE_PARM_CHECK. + * cxx-pretty-print.cc (cxx_pretty_printer::simple_type_specifier): + Guard PLACEHOLDER_TYPE_CONSTRAINTS access. + * error.cc (dump_type) : Use separate + variable to store CLASS_PLACEHOLDER_TEMPLATE result. + * pt.cc (outer_template_args): Use strip_innermost_template_args. + (any_type_dependent_arguments_p): Exit early if + !processing_template_decl. Use range-based for. + (any_dependent_template_arguments_p): Likewise. + +2023-05-07 Patrick Palka + + PR c++/98283 + * pt.cc (tsubst_copy_and_build) : Propagate + REF_PARENTHESIZED_P more generally via force_paren_expr. + * semantics.cc (force_paren_expr): Document default argument. + +2023-05-07 Patrick Palka + + PR c++/109651 + * pt.cc (coerce_template_args_for_ttp): Mention we can hit the + current_template_parms fallback when level-lowering a bound ttp. + (tsubst_template_decl): Add lambda_tparms parameter. Prefer to + use lambda_tparms instead of substituting DECL_TEMPLATE_PARMS. + (tsubst_decl) : Pass NULL_TREE as lambda_tparms + to tsubst_template_decl. + (tsubst_lambda_expr): For a generic lambda, substitute + DECL_TEMPLATE_PARMS and set current_template_parms to it + before substituting the function type. Pass the substituted + DECL_TEMPLATE_PARMS as lambda_tparms to tsubst_template_decl. + +2023-05-07 Patrick Palka + + PR c++/109480 + * semantics.cc (enforce_access): Check current_template_parms + instead of processing_template_decl when deciding whether to + defer the access check. + +2023-05-07 Patrick Palka + + PR c++/109480 + * constexpr.cc (potential_constant_expression_1) : + Reorganize to call get_fns sooner. Remove special handling of + the object argument of a non-static member function call. Remove + dead store to 'fun'. + +2023-05-05 Jason Merrill + + Revert: + 2023-04-27 Jason Merrill + + PR c++/61445 + * pt.cc (instantiate_decl): Assert !defer_ok for local + class members. + +2023-05-03 Jason Merrill + + PR c++/91618 + PR c++/109649 + * friend.cc (do_friend): Don't call check_explicit_specialization if + DECL_TEMPLATE_INFO is already set. + * decl2.cc (check_classfn): Set DECL_TEMPLATE_INFO. + * name-lookup.cc (set_decl_namespace): Likewise. + +2023-05-03 Jakub Jelinek + + * cp-gimplify.cc (cp_fold_data): Move definition earlier. + (cp_gimplify_expr): Pass address of ff_genericize | ff_mce_false + constructed data rather than &pset to cp_walk_tree with cp_fold_r. + +2023-05-03 Jason Merrill + + * pt.cc (reduce_template_parm_level): Fix comparison of + template template parm to cached version. + +2023-05-02 Jason Merrill + + * pt.cc (instantiate_class_template): Skip the RECORD_TYPE + of a class template. + (tsubst_template_decl): Clear CLASSTYPE_USE_TEMPLATE. + +2023-05-02 Jason Merrill + + * name-lookup.cc (pop_from_top_level): Don't + invalidate_class_lookup_cache. + +2023-05-02 Jason Merrill + + PR c++/109678 + * cp-tree.h (lookup_base): Add offset parm. + * constexpr.cc (cxx_fold_indirect_ref_1): Pass it. + * search.cc (struct lookup_base_data_s): Add offset. + (dfs_lookup_base): Handle it. + (lookup_base): Pass it. + +2023-05-02 Jason Merrill + + PR c++/109678 + * constexpr.cc (cxx_fold_indirect_ref_1): Handle empty base first. + +2023-05-01 Jason Merrill + + PR c++/109666 + * name-lookup.cc (maybe_push_to_top_level) + (maybe_pop_from_top_level): Split out... + * pt.cc (instantiate_body): ...from here. + * init.cc (maybe_instantiate_nsdmi_init): Use them. + * name-lookup.h: Declare them.. + +2023-04-28 Eugene Rozenfeld + + * Make-lang.in: Merge perf data collected when compiling cc1plus and runtime libraries + +2023-04-27 Jason Merrill + + * call.cc (print_conversion_rejection): Use iloc_sentinel. + +2023-04-27 Jason Merrill + + PR c++/61445 + * pt.cc (instantiate_decl): Assert !defer_ok for local + class members. + +2023-04-26 Jason Merrill + + * init.cc (nsdmi_inst): Remove. + (maybe_instantiate_nsdmi_init): Use DECL_INITIAL instead. + +2023-04-26 Jason Merrill + + PR c++/109241 + * pt.cc (instantiate_class_template): Do partially instantiate. + (tsubst_expr): Do call complete_type for partial instantiations. + +2023-04-26 Jason Merrill + + PR c++/69836 + * pt.cc (regenerate_decl_from_template): Skip unique friends. + +2023-04-26 Patrick Palka + + * pt.cc (most_specialized_partial_spec): Exit early when + DECL_TEMPLATE_SPECIALIZATIONS is empty. Move local variable + declarations closer to their first use. Remove redundant + flag_concepts test. Remove redundant forward declaration. + +2023-04-25 Patrick Palka + + PR c++/108975 + * pt.cc (value_dependent_expression_p) : + Suppress conservative early exit for reference variables + when DECL_HAS_VALUE_EXPR_P. + +2023-04-25 Tobias Burnus + + * parser.cc (cp_parser_omp_scan_loop_body): Handle + zero exec statements before/after 'omp scan'. + +2023-04-24 Patrick Palka + + * cp-tree.h (cp_expr_location): Define here. + * tree.cc (cp_expr_location): Don't define here. + +2023-04-21 Jason Merrill + + PR c++/108099 + * decl.cc (grokdeclarator): Don't clear typedef_decl after 'unsigned + typedef' pedwarn. Use c_common_signed_or_unsigned_type. Also + handle 'signed typedef'. + +2023-04-21 Patrick Palka + + * tree.cc (cp_walk_subtrees): Avoid repeatedly dereferencing tp. + : Use cp_unevaluated and WALK_SUBTREE. + : Likewise. + +2023-04-20 Patrick Palka + + * pt.cc (tsubst) : Don't recurse when + level lowering a cv-qualified type template parameter. Remove + recursive loop breaker in the level lowering case for constrained + autos. Use the TEMPLATE_PARM_DESCENDANTS cache in this case as + well. + +2023-04-20 Patrick Palka + + * constraint.cc (diagnose_trait_expr): Convert a TREE_VEC + of arguments into a TREE_LIST for sake of pretty printing. + * cxx-pretty-print.cc (pp_cxx_trait): Handle TREE_VEC + instead of TREE_LIST of trailing variadic trait arguments. + * method.cc (constructible_expr): Likewise. + (is_xible_helper): Likewise. + * parser.cc (cp_parser_trait): Represent trailing variadic trait + arguments as a TREE_VEC instead of TREE_LIST. + * pt.cc (value_dependent_expression_p): Handle TREE_VEC + instead of TREE_LIST of trailing variadic trait arguments. + * semantics.cc (finish_type_pack_element): Likewise. + (check_trait_type): Likewise. + +2023-04-20 Patrick Palka + + * tree.cc (strip_typedefs): Move TREE_LIST handling to + strip_typedefs_expr. Dispatch to strip_typedefs_expr for + non-type 't'. + : Remove manual dispatching to + strip_typedefs_expr. + : Likewise. + (strip_typedefs_expr): Replaces calls to strip_typedefs_expr + with strip_typedefs throughout. Don't dispatch to strip_typedefs + for type 't'. + : Replace this with the better version from + strip_typedefs. + +2023-04-19 Patrick Palka + Jonathan Wakely + + PR c++/100157 + * cp-trait.def (TYPE_PACK_ELEMENT): Define. + * cp-tree.h (finish_trait_type): Add complain parameter. + * cxx-pretty-print.cc (pp_cxx_trait): Handle + CPTK_TYPE_PACK_ELEMENT. + * parser.cc (cp_parser_constant_expression): Document default + arguments. + (cp_parser_trait): Handle CPTK_TYPE_PACK_ELEMENT. Pass + tf_warning_or_error to finish_trait_type. + * pt.cc (tsubst) : Handle non-type first + argument. Pass complain to finish_trait_type. + * semantics.cc (finish_type_pack_element): Define. + (finish_trait_type): Add complain parameter. Handle + CPTK_TYPE_PACK_ELEMENT. + * tree.cc (strip_typedefs): Handle non-type first argument. + Pass tf_warning_or_error to finish_trait_type. + * typeck.cc (structural_comptypes) : Use + cp_tree_equal instead of same_type_p for the first argument. + +2023-04-19 Patrick Palka + + PR c++/109556 + * pt.cc (try_class_unification): Don't ggc_free the copy of + 'targs'. + +2023-04-19 Jason Merrill + + PR c++/108099 + * decl.cc (grokdeclarator): Keep typedef_decl for __int128_t. + +2023-04-17 Patrick Palka + + PR c++/109531 + * pt.cc (tsubst) : + In the level-lowering case just use lookup_template_class + to rebuild the bound ttp. + +2023-04-15 Jason Merrill + + PR c++/109357 + * constexpr.cc (cxx_eval_constant_expression) [TARGET_EXPR]: + Check for complex initializer. + +2023-04-13 Patrick Palka + + PR c++/109420 + * decl.cc (make_typename_type): Also ignore non-types during the + lookup if tag_type corresponds to an elaborated-type-specifier. + * pt.cc (tsubst) : Pass class_type or + enum_type as tag_type to make_typename_type accordingly instead + of always passing typename_type. + +2023-04-13 Jason Merrill + + PR c++/109277 + * semantics.cc (check_trait_type): Handle incomplete type directly. + * typeck2.cc (cxx_incomplete_type_diagnostic): Remove assert. + +2023-04-13 Jason Merrill + + * typeck2.cc (cxx_incomplete_type_diagnostic): Return bool. + * cp-tree.h (cxx_incomplete_type_diagnostic): Adjust. + +2023-04-12 Jakub Jelinek + + * Make-lang.in (s-cp-module-version): New target. + (cp/module.o): Depend on it. + (MODULE_VERSION): Remove variable. + (CFLAGS-cp/module.o): For -DMODULE_VERSION= argument just + cat s-cp-module-version. + +2023-04-09 Iain Sandoe + + * coroutines.cc (coro_rewrite_function_body): Ensure that added + bind expressions have scope blocks. + +2023-04-04 Jason Merrill + + PR c++/107484 + * decl2.cc (find_last_decl): Return early if DECL_USE_TEMPLATE. + +2023-04-03 Patrick Palka + + PR c++/109300 + * decl.cc (cp_finish_decl): Diagnose ordinary auto deduction + with no initializer, instead of asserting. + +2023-04-01 Patrick Palka + + PR c++/109160 + * cp-tree.h (do_auto_deduction): Add defaulted tmpl parameter. + * pt.cc (convert_template_argument): Pass 'in_decl' as 'tmpl' to + do_auto_deduction. + (tsubst_decl) : Pass 'tmpl' instead of 't' as + 'in_decl' to coerce_template_parms. + (unify) : Pass TPARMS_PRIMARY_TEMPLATE + as 'tmpl' to do_auto_deduction. + (do_auto_deduction): Document default arguments. Rename local + variable 'tmpl' to 'ctmpl'. Use 'tmpl' to obtain a full set of + template arguments for satisfaction in the adc_unify case. + +2023-04-01 Patrick Palka + + PR c++/53164 + PR c++/105848 + * pt.cc (invalid_tparm_referent_p): Accept ADDR_EXPR of + FUNCTION_DECL. + (instantiate_class_template): Call mark_template_arguments_used. + (tsubst_copy_and_build) : Revert r13-995 change. + (mark_template_arguments_used): Define. + (instantiate_body): Call mark_template_arguments_used. + +2023-04-01 Iain Sandoe + + PR c++/101118 + * coroutines.cc (flatten_await_stmt): Use the current count of + promoted temporaries to build a unique name for the frame entries. + +2023-03-30 Jason Merrill + + PR c++/105452 + * search.cc (type_context_for_name_lookup): New. + (accessible_p): Handle anonymous union. + * init.cc (maybe_instantiate_nsdmi_init): Use + type_context_for_name_lookup. + * parser.cc (cp_parser_class_specifier): Likewise. + * cp-tree.h (type_context_for_name_lookup): Declare. + +2023-03-30 Jason Merrill + + PR c++/105221 + * pt.cc (unify) [FUNCTION_TYPE]: Handle function pointer + conversions. + +2023-03-30 Jakub Jelinek + + PR c++/109319 + * decl2.cc (grok_array_decl): After emitting a pedwarn for + -Wcomma-subscript, if processing_template_decl set orig_index_exp + to compound expr from orig_index_exp_list. + +2023-03-30 Jason Merrill + + PR c++/107897 + PR c++/108887 + * decl2.cc (record_mangling): Use symtab_node::reset. + +2023-03-30 Jakub Jelinek + + PR c++/109278 + * call.cc (convert_like_internal): If pedwarn for extended float + type conversions doesn't report anything, avoid calling + maybe_inform_about_fndecl_for_bogus_argument_init. + +2023-03-29 Jason Merrill + + PR c++/109321 + PR c++/109320 + * pt.cc (alias_ctad_tweaks): Rewrite deduced args. + (type_targs_deducible_from): Handle null pack deduction. + +2023-03-28 David Malcolm + + PR c/107002 + * parser.cc (cp_parser_binary_expression): Update for new param of + check_for_xor_used_as_pow. + +2023-03-28 Jakub Jelinek + + PR c++/109309 + * contracts.cc: Include intl.h. + (check_postcondition_result): Don't form diagnostics from two halves + of an English message to allow translations. + +2023-03-24 Patrick Palka + + PR c++/106969 + * parser.cc (cp_parser_class_specifier): Clear current_class_ptr + and current_class_ref sooner, before parsing a class definition. + +2023-03-24 Jason Merrill + + PR c++/105481 + * pt.cc (type_unification_real): Adjust for partial ordering. + +2023-03-23 Jason Merrill + + PR c++/105996 + * typeck.cc (build_ptrmemfunc): Drop 0-offset optimization + and location wrappers. + +2023-03-23 Marek Polacek + + PR c++/107532 + * call.cc (class_has_reference_member_p): New. + (class_has_reference_member_p_r): New. + (reference_like_class_p): Don't look for a specific constructor. + Use a DFS walk with class_has_reference_member_p_r. + +2023-03-23 Jason Merrill + + PR c++/109241 + * pt.cc (find_parameter_packs_r): Handle null TREE_BINFO. + +2023-03-22 Jason Merrill + + PR c++/108390 + * pt.cc (unify): Use fold of build_nop instead of fold_convert. + +2023-03-22 Jason Merrill + + PR c++/108795 + * semantics.cc (finish_id_expression_1): Check scope before + returning id_expression. + +2023-03-22 Alex Coplan + + PR c++/109177 + * call.cc (build_over_call): Use make_temp_override to suppress + both unavailable and deprecated warnings when calling + build_addr_func. + +2023-03-21 Jason Merrill + + PR c++/106890 + * init.cc (maybe_instantiate_nsdmi_init): Don't leave + current_function_decl set to a constructor. + +2023-03-20 Marek Polacek + + PR c++/109159 + * call.cc (add_template_candidate_real): Add explicit decls to the + set of candidates when the initializer is a braced-init-list. + +2023-03-20 Jakub Jelinek + + PR c++/109164 + * cp-tree.h (var_needs_tls_wrapper): Declare. + * decl2.cc (var_needs_tls_wrapper): No longer static. + * decl.cc (cp_finish_decl): Clear TREE_READONLY on TLS variables + for which a TLS wrapper will be needed. + +2023-03-17 Jason Merrill + + PR c++/108975 + * lambda.cc (prune_lambda_captures): Don't bother in a template. + +2023-03-17 Jason Merrill + + PR c++/109172 + * except.cc (build_throw): Check dtor access. + +2023-03-17 Jason Merrill + + PR c++/69410 + * friend.cc (do_friend): Handle namespace as scope argument. + * decl.cc (grokdeclarator): Pass down in_namespace. + +2023-03-16 Jason Merrill + + PR c++/105809 + * init.cc (get_nsdmi): Split out... + (maybe_instantiate_nsdmi_init): ...this function. + * cp-tree.h: Declare it. + * pt.cc (tsubst_expr): Use it. + +2023-03-16 Jason Merrill + + PR c++/108242 + * pt.cc (tsubst_expr) [TAG_DEFN]: Handle partial instantiation. + +2023-03-16 Jason Merrill + + PR c++/101869 + * semantics.cc (finish_qualified_id_expr): Don't try to build a + pointer-to-member if the scope is an enumeration. + +2023-03-16 Patrick Palka + + PR c++/109030 + * constexpr.cc (maybe_constant_init_1): For an unevaluated + non-manifestly-constant operand, don't constant evaluate + and instead call fold_to_constant as in maybe_constant_value. + +2023-03-16 Patrick Palka + + PR c++/100288 + * constraint.cc (satisfaction_cache::get): Relax overly strict + checking assert in the constraint recursion case. + +2023-03-16 Jason Merrill + + PR c++/105406 + * coroutines.cc (build_co_await): Handle lvalue 'o'. + +2023-03-15 Jason Merrill + + PR c++/103871 + PR c++/98056 + * typeck.cc (cp_build_modify_expr): Allow array initialization of + DECL_ARTIFICIAL variable. + +2023-03-15 Marek Polacek + + PR c++/107280 + * constexpr.cc (cxx_eval_store_expression): Strip location wrappers. + +2023-03-15 Jason Merrill + + PR c++/58538 + * semantics.cc (check_template_template_default_arg): Check + maybe_get_template_decl_from_type_decl. + +2023-03-15 Jason Merrill + + PR c++/108179 + PR c++/104107 + PR c++/95036 + * pt.cc (coerce_template_template_parms): Use args from + DECL_CONTEXT (arg_tmpl) instead of outer_args. + +2023-03-15 Jason Merrill + + PR c++/108179 + * pt.cc (coerce_template_template_parms): Take the arg and parm + templates directly. + (coerce_template_template_parm): Adjust. + (template_template_parm_bindings_ok_p): Adjust. + (convert_template_argument): Adjust. + +2023-03-14 Patrick Palka + + PR c++/96830 + * pt.cc (push_inline_template_parms_recursive): Set + TEMPLATE_PARMS_CONSTRAINTS. + (push_template_decl): For an out-of-line declaration, verify + constraints for each enclosing template scope match those of the + original template declaratation. + +2023-03-14 Patrick Palka + + PR c++/96830 + * pt.cc (redeclare_class_template): Add missing "of" in + constraint mismatch diagnostic. + (tsubst_friend_class): For an already declared class template, + substitute and pass the friend declaration's constraints to + redeclare_class_template instead of passing the existing + template's constraints. + +2023-03-14 Jason Merrill + + PR c++/108468 + * pt.cc (unify_pack_expansion): Check that TPARMS_PRIMARY_TEMPLATE + is non-null. + +2023-03-14 Jason Merrill + + PR c++/107310 + * cp-gimplify.cc (genericize_if_stmt): Restore folding + of constant conditions. + +2023-03-14 Jakub Jelinek + + PR c++/109096 + * tree.cc (record_has_unique_obj_representations): Ignore unnamed + bitfields. + +2023-03-13 Jason Merrill + + PR c++/107128 + * parser.cc (cp_parser_set_decl_spec_type): Use + redefined_builtin_type for extended_float_type_p. + +2023-03-13 Marek Polacek + + PR c++/107532 + * call.cc (reference_like_class_p): Check for std::span. + +2023-03-10 Jakub Jelinek + + PR c++/107558 + * decl.cc (cp_finish_decl): Don't clear TREE_READONLY on + automatic non-aggregate variables just because of + -fmerge-all-constants. + +2023-03-10 Jakub Jelinek + + PR c++/109039 + * class.cc (end_of_class): For bit-fields, instead of computing + offset as sum of byte_position (field) and DECL_SIZE_UNIT (field), + compute it as sum of bit_position (field) and DECL_SIZE (field) + divided by BITS_PER_UNIT rounded up. + +2023-03-10 Jason Merrill + + PR c++/108972 + * lambda.cc (compare_lambda_template_head): Check more + for error_mark_node. + +2023-03-10 Jason Merrill + + PR c++/108566 + * mangle.cc (anon_aggr_naming_decl): New. + (write_unqualified_name): Use it. + +2023-03-10 Jakub Jelinek + + PR c/108079 + * decl.cc (poplevel): Suppress OPT_Wunused_variable warning + after diagnosing it. + +2023-03-10 Jason Merrill + + PR c++/108099 + * decl.cc (grokdeclarator): Handle non-typedef typedef_decl. + +2023-03-10 Jason Merrill + + PR c++/108542 + * class.cc (instantiate_type): Strip location wrapper. + +2023-03-09 Jason Merrill + + PR c++/108773 + * init.cc (find_allocator_temps_r): New. + (combine_allocator_temps): Replace find_allocator_temp. + (build_vec_init): Adjust. + +2023-03-09 Jason Merrill + + DR 2664 + PR c++/102529 + * pt.cc (alias_ctad_tweaks): Continue after deduction failure. + +2023-03-09 Jason Merrill + Michael Spertus + + PR c++/105841 + * pt.cc (corresponding_template_parameter_list): Split out... + (corresponding_template_parameter): ...from here. + (find_template_parameters): Factor out... + (find_template_parameter_info::find_in): ...this function. + (find_template_parameter_info::find_in_recursive): New. + (find_template_parameter_info::found): New. + (alias_ctad_tweaks): Only add parms used in the deduced args. + +2023-03-09 Jason Merrill + + * cp-trait.def (IS_DEDUCIBLE): Add space to name. + +2023-03-09 Jason Merrill + + PR c++/105841 + * cp-trait.def (IS_DEDUCIBLE): New. + * cxx-pretty-print.cc (pp_cxx_trait): Handle non-type. + * parser.cc (cp_parser_trait): Likewise. + * tree.cc (cp_tree_equal): Likewise. + * pt.cc (tsubst_copy_and_build): Likewise. + (type_targs_deducible_from): New. + (alias_ctad_tweaks): Use it. + * semantics.cc (trait_expr_value): Handle CPTK_IS_DEDUCIBLE. + (finish_trait_expr): Likewise. + * constraint.cc (diagnose_trait_expr): Likewise. + * cp-tree.h (type_targs_deducible_from): Declare. + +2023-03-07 Jason Merrill + + PR c++/108526 + PR c++/106651 + * pt.cc (tsubst_function_decl): Don't replace the closure + parameter if DECL_STATIC_FUNCTION_P. + +2023-03-07 Marek Polacek + + PR c++/107532 + * call.cc (reference_like_class_p): New. + (do_warn_dangling_reference): Add new bool parameter. See through + reference_like_class_p. + +2023-03-07 Jakub Jelinek + + PR c++/109042 + * rtti.cc (emit_support_tinfo_1): Don't assert that last + unemitted_tinfo_decls element is tinfo, instead pop from it only in + that case. + * decl2.cc (c_parse_final_cleanups): Don't call emit_tinfo_decl + for unemitted_tinfO_decls which have already non-NULL DECL_INITIAL. + +2023-03-07 Marek Polacek + + PR c++/109030 + * constexpr.cc (cxx_eval_call_expression): Relax assert. + +2023-03-07 Marek Polacek + + PR c++/107939 + * constexpr.cc (potential_constant_expression_1) : Pass + 'any' when recursing on a VAR_DECL and not a pointer to function. + +2023-03-04 Jakub Jelinek + + PR c++/108702 + * constexpr.cc: Include toplev.h. + (cxx_eval_constant_expression) : When seeing a local + static initialized by constant expression outside of a constexpr + function which has been deferred by make_rtl_for_nonlocal_decl, + call rest_of_decl_compilation on it. + +2023-03-03 Patrick Palka + + PR c++/108998 + * pt.cc (el_data::skipped_trees): New data member. + (extract_locals_r): Push to skipped_trees any unevaluated + contexts that we skipped over. + (extract_local_specs): For the second walk, start from each + tree in skipped_trees. + +2023-03-03 Alexandre Oliva + + * typeck.cc (cp_build_binary_op): Suppress redundant warning + for pfn null test in pmfn test with vbit-in-delta. + +2023-03-02 Jakub Jelinek + + PR target/108883 + * cp-tree.h (enum cp_tree_index): Remove CPTI_FALLBACK_DFLOAT*_TYPE + enumerators. + (fallback_dfloat32_type, fallback_dfloat64_type, + fallback_dfloat128_type): Remove. + * rtti.cc (emit_support_tinfo_1): If not emitted already, call + emit_tinfo_decl and remove from unemitted_tinfo_decls right away. + (emit_support_tinfos): Move &dfloat*_type_node from fundamentals array + into new fundamentals_with_fallback array. Call emit_support_tinfo_1 + on elements of that array too, with the difference that if + the type is NULL, use a fallback REAL_TYPE for it temporarily. + Drop the !targetm.decimal_float_supported_p () handling. Call + targetm.emit_support_tinfos at the end. + * mangle.cc (write_builtin_type): Remove references to + fallback_dfloat*_type. Handle bfloat16_type_node mangling. + +2023-03-02 Patrick Palka + + PR c++/108243 + PR c++/97553 + * cp-gimplify.cc (cp_fully_fold): Add an internal overload that + additionally takes and propagate an mce_value parameter, and + define the existing public overload in terms of it. + (cp_fully_fold_init): Pass mce_false to cp_fully_fold. + +2023-03-02 Patrick Palka + + PR c++/108243 + * constexpr.cc (maybe_constant_init_1): Override + manifestly_const_eval to true if is_static. + +2023-03-02 Jakub Jelinek + + PR debug/108716 + * cp-gimplify.cc (cp_genericize_r) : Set + DECL_SOURCE_LOCATION on IMPORTED_DECL to expression location + of USING_STMT or input_location. + +2023-03-02 Marek Polacek + + PR c++/106259 + * parser.cc (class_decl_loc_t::diag_mismatched_tags): If the first + lookup of SPEC didn't find anything, try to look for + most_general_template. + +2023-03-02 Jakub Jelinek + + PR c++/105839 + * parser.cc (cp_convert_omp_range_for): Allow in assert + decomp_first_name without DECL_HAS_VALUE_EXPR_P if it has + error_mark_node type. + (cp_finish_omp_range_for): Don't set DECL_HAS_VALUE_EXPR_P back + on decls which have error_mark_node type. + +2023-03-01 Marek Polacek + + PR c++/107574 + * constexpr.cc (cxx_eval_constant_expression): Emit an error when + a PTRMEM_CST cannot be evaluated. + +2023-03-01 Patrick Palka + + * pt.cc (tsubst_scope): Define. + (tsubst_decl) : Call tsubst_scope instead of + calling tsubst_scope with tf_qualifying_scope set. + (tsubst_qualified_id): Call tsubst_scope instead of + calling tsubst with tf_qualifying_scope set. + (tsubst_copy): Immediately delegate to tsubst for all TYPE_P + trees. Remove tf_qualifying_scope manipulation. + : Call tsubst_scope instead of calling + tsubst with tf_qualifying_scope set. + +2023-03-01 Patrick Palka + Jason Merrill + + PR c++/108219 + PR c++/108218 + * constexpr.cc (fold_to_constant): Define. + (maybe_constant_value): Move up early exit test for unevaluated + operands. Try reducing an unevaluated operand to a constant via + fold_to_constant. + (fold_non_dependent_expr_template): Add early exit test for + CONSTANT_CLASS_P nodes. Try reducing an unevaluated operand + to a constant via fold_to_constant. + * cp-tree.h (fold_to_constant): Declare. + +2023-03-01 Jakub Jelinek + + PR c++/108606 + * constexpr.cc (potential_constant_expression_1) : + Only recurse on DECL_INITIAL (tmp) if tmp is a VAR_DECL, otherwise + just return true. + +2023-02-28 Patrick Palka + + PR c++/108848 + * pt.cc (finish_template_variable): Move dependence check + to here from ... + (lookup_and_finish_template_variable): ... here. + * semantics.cc (finish_id_expression_1): Call + finish_template_variable sooner, before (and regardless of) the + type_dependent_expression_p test. + +2023-02-28 Marek Polacek + + PR c++/108550 + * pt.cc (lookup_and_finish_template_variable): Clear tf_partial. + +2023-02-20 Marek Polacek + + PR c++/101073 + * constexpr.cc (cxx_eval_call_expression): Replace shortcutting trivial + constructor/op= with a checking assert. + +2023-02-20 Marek Polacek + + PR c++/108829 + * pt.cc (prepend_one_capture): Set LAMBDA_CAPTURE_EXPLICIT_P. + (tsubst_lambda_expr): Pass LAMBDA_CAPTURE_EXPLICIT_P to + prepend_one_capture. + +2023-02-18 Jason Merrill + + DR 2518 + PR c++/52809 + PR c++/53638 + PR c++/87389 + PR c++/89741 + PR c++/92099 + PR c++/104041 + PR c++/104691 + * semantics.cc (finish_static_assert): Don't diagnose in + template context. + +2023-02-17 Patrick Palka + + PR c++/108243 + PR c++/97553 + * cp-gimplify.cc (enum fold_flags): Define. + (fold_flags_t): Declare. + (cp_fold_data::genericize): Replace this data member with ... + (cp_fold_data::fold_flags): ... this. + (cp_fold_r): Adjust use of cp_fold_data and calls to cp_fold. + (cp_fold_function): Likewise. + (cp_fold_maybe_rvalue): Add an internal overload that + additionally takes and propagates a fold_flags_t parameter, and + define the existing public overload in terms of it. + (cp_fold_rvalue): Likewise. + (cp_fully_fold_init): Adjust use of cp_fold_data. + (fold_cache): Replace with ... + (fold_caches): ... this 2-element array of caches. + (get_fold_cache): Define. + (clear_fold_cache): Adjust. + (cp_fold): Add fold_flags_t parameter. Use get_fold_cache. + Pass flags to calls to cp_fold, cp_fold_rvalue and + cp_fold_maybe_rvalue. + : If ff_mce_false is set, fold + __builtin_is_constant_evaluated to false and pass mce_false to + maybe_constant_value. + +2023-02-17 Patrick Palka + + * constexpr.cc (constexpr_call::manifestly_const_eval): Give + it type int instead of bool. + (constexpr_ctx::manifestly_const_eval): Give it type mce_value + instead of bool. + (cxx_eval_builtin_function_call): Adjust after making + manifestly_const_eval tri-state. + (cxx_eval_call_expression): Likewise. + (cxx_eval_binary_expression): Likewise. + (cxx_eval_conditional_expression): Likewise. + (cxx_eval_constant_expression): Likewise. + (cxx_eval_outermost_constant_expr): Likewise. + (cxx_constant_value): Likewise. + (cxx_constant_dtor): Likewise. + (maybe_constant_value): Give manifestly_const_eval parameter + type mce_value instead of bool and adjust accordingly. + (fold_non_dependent_expr_template): Adjust call + to cxx_eval_outermost_constant_expr. + (fold_non_dependent_expr): Likewise. + (maybe_constant_init_1): Likewise. + * constraint.cc (satisfy_atom): Adjust call to + maybe_constant_value. + * cp-tree.h (enum class mce_value): Define. + (maybe_constant_value): Adjust manifestly_const_eval parameter + type and default argument. + * decl.cc (compute_array_index_type_loc): Adjust call to + maybe_constant_value. + * pt.cc (convert_nontype_argument): Likewise. + +2023-02-16 Patrick Palka + + PR c++/107773 + * cp-tree.h (enum tsubst_flags): New flag tf_qualifying_scope. + * decl.cc (make_typename_type): Use lookup_member instead of + lookup_field. If tf_qualifying_scope is set, pass want_type=true + instead of =false to lookup_member. Generalize format specifier + in diagnostic to handle both type and non-type bindings. + * pt.cc (tsubst_aggr_type_1): Clear tf_qualifying_scope. Tidy + the function. + (tsubst_decl) : Set tf_qualifying_scope when + substituting USING_DECL_SCOPE. + (tsubst): Clear tf_qualifying_scope right away and remember if + it was set. Do the same for tf_tst_ok sooner. + : Set tf_qualifying_scope when substituting + TYPE_CONTEXT. Pass tf_qualifying_scope to make_typename_type + if it was set. + (tsubst_qualified_id): Set tf_qualifying_scope when substituting + the scope. + (tsubst_copy): Clear tf_qualifying_scope and remember if it was + set. + : Set tf_qualifying_scope when substituting the + scope. + : Pass tf_qualifying_scope to tsubst if it was set. + * search.cc (lookup_member): Document default argument. + +2023-02-16 Patrick Palka + + * cp-tree.h: Mechanically drop static from static inline + functions via s/^static inline/inline/g. + +2023-02-15 Marek Polacek + + PR c++/106675 + * call.cc (joust_maybe_elide_copy): Return false for ck_ambig. + +2023-02-10 Marek Polacek + + PR c++/107079 + * call.cc (set_up_extended_ref_temp): Pass var to maybe_constant_init. + +2023-02-09 Tobias Burnus + + * parser.cc (cp_parser_omp_allocate): Parse align + clause and check for restrictions. + +2023-02-09 Jakub Jelinek + + PR c++/108698 + * mangle.cc (write_expression, write_template_arg): Handle + EXCESS_PRECISION_EXPR with REAL_CST operand as + write_template_arg_literal on fold_convert of the REAL_CST + to EXCESS_PRECISION_EXPR type. + +2023-02-06 Patrick Palka + + PR c++/107461 + * cp-tree.h (call_expr_dependent_name): Declare. + * pt.cc (iterative_hash_template_arg) : Use + call_expr_dependent_name instead of dependent_name. + * tree.cc (call_expr_dependent_name): Define. + (called_fns_equal): Adjust to take two CALL_EXPRs instead of + CALL_EXPR_FNs thereof. Use call_expr_dependent_name instead + of dependent_name. + (cp_tree_equal) : Adjust call to called_fns_equal. + +2023-02-03 Marek Polacek + + PR c++/108158 + * constexpr.cc (cxx_eval_array_reference): Don't replace + new_ctx.object. + +2023-02-03 Patrick Palka + + PR c++/107461 + * semantics.cc (finish_call_expr): Strip ADDR_EXPR from + the selected callee during overload set pruning. + +2023-02-03 Patrick Palka + + PR c++/96745 + * class.cc (check_methods): Diagnose an unviable OVERLOAD + set for CLASSTYPE_DESTRUCTOR differently from an ambiguous one. + Then prune the OVERLOAD to a single function. + (check_bases_and_members): Handle CLASSTYPE_DESTRUCTOR being + an OVERLOAD when calling deduce_noexcept_on_destructor. + Document why it has to be called before check_methods. + +2023-02-03 Patrick Palka + + PR c++/108579 + * class.cc (check_methods): Swap order of constraints_satisfied_p + and copy/move_fn_p tests. + +2023-02-01 Marek Polacek + + PR c++/107755 + * call.cc (build_new_op): Don't call warn_logical_operator when + processing a template. + +2023-02-01 Jakub Jelinek + + PR c++/108607 + * constexpr.cc (cxx_eval_constant_expression): Handle OMP_* + and OACC_* constructs as non-constant. + (potential_constant_expression_1): Handle OMP_SCAN and OMP_SCOPE. + +2023-02-01 Jason Merrill + + * class.cc (note_name_declared_in_class): Change from permerror to + -Wchanges-meaning pedwarn, forcing -pedantic-errors for most cases. + +2023-01-31 Jason Merrill + + PR c++/108559 + * cp-gimplify.cc (any_non_eliding_target_exprs): New. + (cp_genericize_init): Check it. + +2023-01-31 Marek Polacek + + PR c++/107593 + PR c++/108597 + * cp-tree.h (instantiation_dependent_expression_p): Don't + declare here. + +2023-01-26 Marek Polacek + + PR c++/105300 + * parser.cc: Remove unnecessary forward declarations. + (cp_parser_string_literal): New wrapper. + (cp_parser_string_literal_common): Renamed from + cp_parser_string_literal. Add a bool parameter. Give an error when + UDLs are not permitted. + (cp_parser_userdef_string_literal): New wrapper. + (finish_userdef_string_literal): Renamed from + cp_parser_userdef_string_literal. + (cp_parser_primary_expression): Call cp_parser_userdef_string_literal + instead of cp_parser_string_literal. + (cp_parser_linkage_specification): Move a variable declaration closer + to its first use. + (cp_parser_static_assert): Likewise. + (cp_parser_operator): Call cp_parser_userdef_string_literal instead of + cp_parser_string_literal. + (cp_parser_asm_definition): Move a variable declaration closer to its + first use. + (cp_parser_asm_specification_opt): Move variable declarations closer to + their first use. + (cp_parser_asm_operand_list): Likewise. + (cp_parser_asm_clobber_list): Likewise. + +2023-01-26 Jakub Jelinek + + PR c++/108503 + * parser.cc (cp_convert_omp_range_for): If cp_finish_decomp has been + called in !processing_template_decl with processing_template_decl + temporarily set, clear DECL_HAS_VALUE_EXPR_P on the vars temporarily. + (cp_finish_omp_range_for): And set it back again here. + +2023-01-25 Jakub Jelinek + + PR c++/108525 + * mangle.cc (write_closure_type_name): Don't assume all + lambda operator() fns are methods. + +2023-01-24 Jason Merrill + + PR c++/108504 + * parser.cc (cp_lexer_new_main): Pass C_LEX_STRING_NO_JOIN for first + token, too. + +2023-01-24 Jason Merrill + + PR c++/108526 + * pt.cc (tsubst_function_decl): Handle static lambda. + +2023-01-24 Jakub Jelinek + + PR c++/108474 + * cp-gimplify.cc (cp_fold_r): Revert 2023-01-19 changes. + +2023-01-24 Jason Merrill + + PR c++/107303 + PR c++/107329 + * cp-gimplify.cc (cp_fold_r) [TARGET_EXPR]: In case of double + TARGET_EXPR, keep the outer one instead of the inner one. + (maybe_replace_decl): New. + +2023-01-23 Jason Merrill + + PR c++/107267 + * cp-gimplify.cc (cp_gimplify_init_expr): Allow unexpected elision + of trivial types. + +2023-01-23 Marek Polacek + + PR c++/107797 + * cvt.cc (ocp_convert): copy_warning when creating a new + COMPOUND_EXPR. + * init.cc (build_new_1): Suppress -Wunused-value on + compiler-generated COMPOUND_EXPRs. + +2023-01-23 Jason Merrill + + PR c++/108195 + * call.cc (build_user_type_conversion_1): Check whether the + iterators also find a list ctor. + +2023-01-23 Jason Merrill + + PR c++/108496 + * decl.cc (grokdeclarator): Check whether DECL_RESULT is already + set. + +2023-01-23 Jason Merrill + + PR c++/53288 + DR 1299 + * call.cc (extend_ref_init_temps_1): Handle ptrmem expression. + +2023-01-19 Jakub Jelinek + + PR c++/108437 + * cp-tree.h (keep_unused_object_arg): Declare. + * call.cc (keep_unused_object_arg): No longer static. + * tree.cc (build_min_non_dep_op_overload): Handle ARRAY_REF + with overload being static member function. + +2023-01-19 Jakub Jelinek + + PR c++/53932 + * cp-gimplify.cc (cp_fold_r): During cp_fully_fold_init replace + DECL_ANON_UNION_VAR_P VAR_DECLs with their corresponding + DECL_VALUE_EXPR. + +2023-01-16 Jakub Jelinek + + PR c++/105593 + * decl.cc (cp_finish_decl): Check warning_enabled_at + at the DECL_SOURCE_LOCATION (decl) for OPT_Winit_self instead + of warn_init_self. + +2023-01-14 Jakub Jelinek + + PR c++/108365 + * typeck.cc (cp_build_binary_op): Use may_shorten_divmod for integral + division or modulo. + +2023-01-13 Jakub Jelinek + + PR c++/108285 + * cvt.cc (cp_convert_and_check): For EXCESS_PRECISION_EXPR + use its operand except that for warning purposes use the original + EXCESS_PRECISION_EXPR. + * call.cc (convert_like_internal): Only look through + EXCESS_PRECISION_EXPR when calling cp_convert, not when calling + cp_convert_and_check. + +2023-01-09 Jakub Jelinek + + PR c++/105838 + PR c++/108047 + PR c++/108266 + * call.cc (maybe_init_list_as_range): Always return NULL_TREE if + processing_template_decl. + +2023-01-05 Patrick Palka + + PR c++/108275 + * parser.cc (cp_parser_class_head): Use dk_deferred instead of + dk_no_check when parsing the class name. + +2023-01-05 Jakub Jelinek + + PR c++/108286 + * semantics.cc (finish_omp_target_clauses): Ignore clauses other than + OMP_CLAUSE_MAP. + +2023-01-04 Patrick Palka + + PR c++/108282 + * decl2.cc (mark_single_function): Ignore mark_used failure + only in a non-SFINAE context rather than in a SFINAE one. + +2023-01-04 Jakub Jelinek + + PR c++/108206 + * decl.cc (merge_default_template_args): Return false if either + new_parm or old_parm are erroneous. + + +Copyright (C) 2023 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 b/gcc/d/ChangeLog index 5510b99f1b90..dc0c0dfb3863 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,492 +1,5 @@ -2023-12-16 Andrew Carlotti - - * d-attribs.cc (attr_target_exclusions): Make - target/target_clones exclusion target-dependent. - (attr_target_clones_exclusions): Ditto. - -2023-12-11 Iain Buclaw - - * Make-lang.in (D_FRONTEND_OBJS): Rename d/common-string.o to - d/common-smallbuffer.o. - * dmd/MERGE: Merge upstream dmd 2bbf64907c. - * dmd/VERSION: Bump version to v2.106.0. - * modules.cc (layout_moduleinfo_fields): Update for new front-end - interface. - (layout_moduleinfo): Likewise. - -2023-12-05 Richard Sandiford - - * d-attribs.cc (d_langhook_common_attribute_table): Add extra braces - to work around PR 16333 in older compilers. - (d_langhook_gnu_attribute_table): Likewise. - -2023-12-02 Richard Sandiford - - * d-tree.h (d_langhook_attribute_table): Replace with... - (d_langhook_gnu_attribute_table): ...this. - (d_langhook_common_attribute_table): Change type to - scoped_attribute_specs. - * d-attribs.cc (d_langhook_common_attribute_table): Change type to - scoped_attribute_specs, using... - (d_langhook_common_attributes): ...this as the underlying array. - (d_langhook_attribute_table): Replace with... - (d_langhook_gnu_attributes, d_langhook_gnu_attribute_table): ...these - new globals. - (uda_attribute_p): Update accordingly, and update for new - targetm.attribute_table type. - * d-lang.cc (d_langhook_attribute_table): New global. - (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Delete. - -2023-11-21 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd ff57fec515. - * dmd/VERSION: Bump version to v2.106.0-rc.1. - * expr.cc (ExprVisitor::visit (CatAssignExp *)): Update for new - front-end interface. - (ExprVisitor::visit (NewExp *)): Likewise. - * runtime.def (NEWARRAYMTX): Remove. - (NEWARRAYMITX): Remove. - -2023-11-21 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 65a3da148c. - -2023-11-02 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 643b1261bb. - * d-attribs.cc (build_attributes): Update for new front-end interface. - * d-lang.cc (d_post_options): Likewise. - * decl.cc (layout_class_initializer): Likewise. - -2023-10-31 Iain Buclaw - - * expr.cc (ExprVisitor::visit (NewExp *)): Remove unused assignments. - -2023-10-29 Iain Buclaw - - PR d/110712 - * d-codegen.cc (d_build_call): Update call to convert_for_argument. - * d-convert.cc (is_valist_parameter_type): New function. - (check_valist_conversion): New function. - (convert_for_assignment): Update signature. Add check whether - assigning va_list is permissible. - (convert_for_argument): Likewise. - * d-tree.h (convert_for_assignment): Update signature. - (convert_for_argument): Likewise. - * expr.cc (ExprVisitor::visit (AssignExp *)): Update call to - convert_for_assignment. - -2023-10-29 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd e48bc0987d. - * expr.cc (ExprVisitor::visit (NewExp *)): Update for new front-end - interface. - * runtime.def (NEWARRAYT): Remove. - (NEWARRAYIT): Remove. - -2023-10-28 Iain Buclaw - - PR d/112270 - * d-builtins.cc (d_build_d_type_nodes): Initialize d_bool_false_node, - d_bool_true_node. - * d-codegen.cc (build_array_struct_comparison): Use d_bool_false_node - instead of boolean_false_node. - * d-convert.cc (d_truthvalue_conversion): Use d_bool_false_node and - d_bool_true_node instead of boolean_false_node and boolean_true_node. - * d-tree.h (enum d_tree_index): Add DTI_BOOL_FALSE and DTI_BOOL_TRUE. - (d_bool_false_node): New macro. - (d_bool_true_node): New macro. - * modules.cc (build_dso_cdtor_fn): Use d_bool_false_node and - d_bool_true_node instead of boolean_false_node and boolean_true_node. - (register_moduleinfo): Use d_bool_type instead of boolean_type_node. - -2023-10-28 Iain Buclaw - - * d-codegen.cc (call_side_effect_free_p): New function. - * d-tree.h (CALL_EXPR_WARN_IF_UNUSED): New macro. - (call_side_effect_free_p): New prototype. - * expr.cc (ExprVisitor::visit (CallExp *)): Set - CALL_EXPR_WARN_IF_UNUSED on matched call expressions. - (ExprVisitor::visit (NewExp *)): Don't dereference the result of an - allocation call here. - * toir.cc (add_stmt): Emit warning when call expression added to - statement list without being used. - -2023-10-22 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd f4be7f6f7b. - * Make-lang.in (D_FRONTEND_OBJS): Rename d/root-rootobject.o to - d/rootobject.o. - -2023-10-17 Iain Buclaw - - * d-tree.h (intrinsic_code): Update define for DEF_D_INTRINSIC. - (maybe_reject_intrinsic): New prototype. - * expr.cc (ExprVisitor::visit (SymOffExp *)): Call - maybe_reject_intrinsic. - * intrinsics.cc (intrinsic_decl): Add fallback field. - (intrinsic_decls): Update define for DEF_D_INTRINSIC. - (maybe_reject_intrinsic): New function. - * intrinsics.def (DEF_D_LIB_BUILTIN): Update. - (DEF_CTFE_BUILTIN): Update. - (INTRINSIC_BSF): Declare as library builtin. - (INTRINSIC_BSR): Likewise. - (INTRINSIC_BT): Likewise. - (INTRINSIC_BSF64): Likewise. - (INTRINSIC_BSR64): Likewise. - (INTRINSIC_BT64): Likewise. - (INTRINSIC_POPCNT32): Likewise. - (INTRINSIC_POPCNT64): Likewise. - (INTRINSIC_ROL): Likewise. - (INTRINSIC_ROL_TIARG): Likewise. - (INTRINSIC_ROR): Likewise. - (INTRINSIC_ROR_TIARG): Likewise. - (INTRINSIC_ADDS): Likewise. - (INTRINSIC_ADDSL): Likewise. - (INTRINSIC_ADDU): Likewise. - (INTRINSIC_ADDUL): Likewise. - (INTRINSIC_SUBS): Likewise. - (INTRINSIC_SUBSL): Likewise. - (INTRINSIC_SUBU): Likewise. - (INTRINSIC_SUBUL): Likewise. - (INTRINSIC_MULS): Likewise. - (INTRINSIC_MULSL): Likewise. - (INTRINSIC_MULU): Likewise. - (INTRINSIC_MULUI): Likewise. - (INTRINSIC_MULUL): Likewise. - (INTRINSIC_NEGS): Likewise. - (INTRINSIC_NEGSL): Likewise. - (INTRINSIC_TOPRECF): Likewise. - (INTRINSIC_TOPREC): Likewise. - (INTRINSIC_TOPRECL): Likewise. - -2023-10-16 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 4c18eed967. - * d-diagnostic.cc (verrorReport): Update for new front-end interface. - (verrorReportSupplemental): Likewise. - * d-lang.cc (d_init_options): Likewise. - (d_handle_option): Likewise. - (d_post_options): Likewise. - (d_parse_file): Likewise. - * decl.cc (get_symbol_decl): Likewise. - -2023-10-15 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd f9efc98fd7. - * dmd/VERSION: Bump version to v2.105.2. - * d-builtins.cc (build_frontend_type): Update for new front-end - interface. - * d-diagnostic.cc (verrorReport): Don't emit tips when error gagging - is turned on. - * d-lang.cc (d_handle_option): Remove obsolete parameter. - (d_post_options): Likewise. - (d_read_ddoc_files): New function. - (d_generate_ddoc_file): New function. - (d_parse_file): Update for new front-end interface. - * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Check for new - front-end lowering of static associative arrays. - -2023-10-14 Iain Buclaw - - PR d/111537 - * expr.cc (ExprVisitor::visit (StringExp *)): Include null terminator - in STRING_CST string. - * modules.cc (get_compiler_dso_type): Generate ModuleInfo** type for - the minfo fields. - -2023-10-14 Iain Buclaw - - * d-lang.cc (d_write_file): New function. - (d_parse_file): Reduce code duplication. - -2023-10-03 David Malcolm - - * d-diagnostic.cc (d_diagnostic_report_diagnostic): Use text_info - ctor. - -2023-09-23 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 4574d1728d. - * dmd/VERSION: Bump version to v2.105.0. - * d-diagnostic.cc (verror): Remove. - (verrorSupplemental): Remove. - (vwarning): Remove. - (vwarningSupplemental): Remove. - (vdeprecation): Remove. - (vdeprecationSupplemental): Remove. - (vmessage): Remove. - (vtip): Remove. - (verrorReport): New function. - (verrorReportSupplemental): New function. - * d-lang.cc (d_parse_file): Update for new front-end interface. - * decl.cc (d_mangle_decl): Update for new front-end interface. - * intrinsics.cc (maybe_set_intrinsic): Update for new front-end - interface. - -2023-08-20 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 26f049fb26. - * dmd/VERSION: Bump version to v2.105.0-beta.1. - * d-codegen.cc (get_frameinfo): Check useGC in condition. - * d-lang.cc (d_handle_option): Set obsolete parameter when compiling - with -Wall. - (d_post_options): Set useGC to false when compiling with - -fno-druntime. Propagate obsolete flag to compileEnv. - * expr.cc (ExprVisitor::visit (CatExp *)): Check useGC in condition. - -2023-07-10 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd a88e1335f7. - * dmd/VERSION: Bump version to v2.104.1. - -2023-07-10 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 17ccd12af3. - * dmd/VERSION: Bump version to v2.104.0. - * Make-lang.in (D_FRONTEND_OBJS): Rename d/apply.o to - d/postordervisitor.o. - * d-codegen.cc (make_location_t): Update for new front-end interface. - (build_filename_from_loc): Likewise. - (build_assert_call): Likewise. - (build_array_bounds_call): Likewise. - (build_bounds_index_condition): Likewise. - (build_bounds_slice_condition): Likewise. - (build_frame_type): Likewise. - (get_frameinfo): Likewise. - * d-diagnostic.cc (d_diagnostic_report_diagnostic): Likewise. - * decl.cc (build_decl_tree): Likewise. - (start_function): Likewise. - * expr.cc (ExprVisitor::visit (NewExp *)): Replace code generation of - `new pointer' with front-end lowering. - * runtime.def (NEWITEMT): Remove. - (NEWITEMIT): Remove. - * toir.cc (IRVisitor::visit (LabelStatement *)): Update for new - front-end interface. - * typeinfo.cc (check_typeinfo_type): Likewise. - -2023-07-09 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 28a3b24c2e. - * dmd/VERSION: Bump version to v2.104.0-beta.1. - * d-codegen.cc (build_bounds_slice_condition): Update for new - front-end interface. - * d-lang.cc (d_init_options): Likewise. - (d_handle_option): Likewise. - (d_post_options): Initialize global.compileEnv. - * expr.cc (ExprVisitor::visit (CatExp *)): Replace code generation - with new front-end lowering. - (ExprVisitor::visit (LoweredAssignExp *)): New method. - (ExprVisitor::visit (StructLiteralExp *)): Don't generate static - initializer symbols for structs defined in C sources. - * runtime.def (ARRAYCATT): Remove. - (ARRAYCATNTX): Remove. - -2023-07-07 Iain Buclaw - - PR d/108842 - * decl.cc (DeclVisitor::visit (VarDeclaration *)): Only emit scalar - manifest constants. - (get_symbol_decl): Don't generate CONST_DECL for non-scalar manifest - constants. - * imports.cc (ImportVisitor::visit (VarDeclaration *)): New method. - -2023-07-02 Iain Buclaw - - PR d/110516 - * intrinsics.cc (expand_volatile_load): Set TREE_SIDE_EFFECTS on the - expanded expression. - (expand_volatile_store): Likewise. - -2023-07-01 Iain Buclaw - - PR d/110514 - * decl.cc (get_symbol_decl): Set TREE_READONLY on certain kinds of - const and immutable variables. - * expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Set TREE_READONLY - on immutable dynamic array literals. - -2023-07-01 Iain Buclaw - - PR d/110471 - * d-builtins.cc (d_init_versions): Predefine D_ModuleInfo, - D_Exceptions, and D_TypeInfo only if feature is enabled. - * lang.opt: Add -fexceptions. - -2023-06-28 Iain Buclaw - - PR d/106977 - PR target/110406 - * types.cc (finish_aggregate_mode): New function. - (finish_incomplete_fields): Call finish_aggregate_mode. - (finish_aggregate_type): Replace call to compute_record_mode with - finish_aggregate_mode. - -2023-06-28 Iain Buclaw - - PR d/110193 - * types.cc (d_signed_or_unsigned_type): Handle being called with any - vector or non-integral type. - -2023-06-26 Iain Buclaw - - PR d/110359 - * d-convert.cc (convert_for_rvalue): Only apply the @safe boolean - conversion to boolean fields of a union. - (convert_for_condition): Call convert_for_rvalue in the default case. - -2023-06-25 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd a45f4e9f43. - * dmd/VERSION: Bump version to v2.103.1. - -2023-06-15 Marek Polacek - - * Make-lang.in: Remove NO_PIE_CFLAGS. - -2023-06-05 Iain Buclaw - - * gdc.texi (Warnings): Document -Wextra and -Wmismatched-special-enum. - * implement-d.texi (Special Enums): Add reference to warning option - -Wmismatched-special-enum. - * lang.opt: Add -Wextra and -Wmismatched-special-enum. - * types.cc (TypeVisitor::visit (TypeEnum *)): Warn when declared - special enum size mismatches its intrinsic type. - -2023-05-18 Bernhard Reutner-Fischer - - * d-codegen.cc (underlying_complex_expr): Use _P defines from tree.h. - * d-convert.cc (convert): Ditto. - (convert_for_rvalue): Ditto. - -2023-03-17 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 5f7552bb28. - * dmd/VERSION: Bump version to v2.103.0-rc.1. - -2023-03-16 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 4ca4140e58. - * dmd/VERSION: Bump version to v2.103.0-beta.1. - * Make-lang.in (D_FRONTEND_OBJS): Add d/errorsink.o. - * d-ctfloat.cc (CTFloat::sprint): Update signature for new front-end - interface. - * d-frontend.cc (getTypeInfoType): Likewise. - * d-lang.cc (d_handle_option): Remove handling of -fpreview=dip25 and - -frevert=dip25. - (d_post_options): Remove enabling of sealed references language - feature when scoped pointers is enabled. - * d-tree.h (create_typeinfo): Update signature. - * decl.cc (DeclVisitor::finish_vtable): Update for new front-end - interface. - (DeclVisitor::visit (VarDeclaration *)): Likewise. - (DeclVisitor::visit (FuncDeclaration *)): Check skipCodegen to see if - front-end explicitly requested not to generate code. - * expr.cc (ExprVisitor::visit (NewExp *)): Update for new front-end - interface. - * lang.opt (fpreview=dip25): Remove. - (frevert=dip25): Remove. - * modules.cc (layout_moduleinfo_fields): Update for new front-end - interface. - (layout_moduleinfo): Likewise. - * runtime.def (NEWCLASS): Remove. - * toir.cc (IRVisitor::visit (IfStatement *)): Don't generate IR for if - statement list when condition is `__ctfe'. - * typeinfo.cc (create_typeinfo): Add generate parameter. - * types.cc (layout_aggregate_members): Update for new front-end - interface. - -2023-03-16 Iain Buclaw - - PR d/109144 - * d-codegen.cc (build_frame_type): Set frame field and type alignment. - -2023-03-14 Iain Buclaw - - PR d/109108 - * decl.cc (function_defined_in_root_p): Remove. - (get_symbol_decl): Set DECL_LAMBDA_FUNCTION_P on function literals. - (start_function): Unconditionally unset DECL_EXTERNAL - (set_linkage_for_decl): Give lambda functions one-only linkage. - -2023-03-13 Iain Buclaw - - * decl.cc (finish_thunk): Unset DECL_EXTERNAL on thunk. - (make_thunk): Set DECL_EXTERNAL on thunk, don't call build_decl_tree. - (finish_function): Call finish_thunk on forward referenced thunks. - -2023-03-13 Iain Buclaw - - * decl.cc (get_fndecl_result): New function. - (get_fndecl_arguments): New function. - (DeclVisitor::visit (FuncDeclaration *)): Adjust to call - get_fndecl_arguments. - (make_thunk): Adjust to call get_fndecl_arguments and - get_fndecl_result. - (start_function): Adjust to call get_fndecl_result. - -2023-03-03 Iain Buclaw - - PR d/108763 - * implement-d.texi (Missing Features): Document that TypeInfo-based - va_arg is not implemented. - -2023-03-03 Iain Buclaw - - PR d/108946 - * d-target.cc (Target::isVectorOpSupported): Allow identity ops. - * expr.cc (ExprVisitor::visit (IdentityExp *)): Handle vector identity - comparisons. - -2023-03-03 Iain Buclaw - - PR d/108877 - * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Call - make_import on TYPE_MAIN_VARIANT. - (ImportVisitor::visit (AggregateDeclaration *)): Likewise. - (ImportVisitor::visit (ClassDeclaration *)): Likewise. - -2023-03-03 Iain Buclaw - - PR d/108945 - * d-codegen.cc (build_boolop): Evaluate vector comparison as - the truth_type_for vector type. - -2023-02-23 Arsen Arsenović - - * implement-d.texi: Reorder index entries around @items. - -2023-02-23 Arsen Arsenović - - * gdc.texi: Reorder @opindex commands to precede @items they - relate to. - -2023-02-21 Iain Buclaw - - * Make-lang.in (D_FRONTEND_OBJS): Add d/location.o. - * d-lang.cc (d_init_options): Update for new front-end interface. - (d_post_options): Call Loc::set after handling options. - * dmd/MERGE: Merge upstream dmd 09faa4eacd. - * dmd/VERSION: Bump version to v2.102.0-beta.1. - -2023-02-21 Iain Buclaw - - * d-codegen.cc (d_build_call): Remove front-end expansion of - side-effects in a call expression. - * d-gimplify.cc (d_gimplify_call_expr): Gimplify the callee before its - arguments. - -2023-02-21 Iain Buclaw - - * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set - doing_semantic_analysis_p before calling functionSemantic3. - -2023-01-02 Jakub Jelinek - - * gdc.texi: Bump @copyrights-d year. - -Copyright (C) 2023 Free Software Foundation, Inc. +Copyright (C) 2024 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/d/ChangeLog-2023 b/gcc/d/ChangeLog-2023 new file mode 100644 index 000000000000..5510b99f1b90 --- /dev/null +++ b/gcc/d/ChangeLog-2023 @@ -0,0 +1,493 @@ +2023-12-16 Andrew Carlotti + + * d-attribs.cc (attr_target_exclusions): Make + target/target_clones exclusion target-dependent. + (attr_target_clones_exclusions): Ditto. + +2023-12-11 Iain Buclaw + + * Make-lang.in (D_FRONTEND_OBJS): Rename d/common-string.o to + d/common-smallbuffer.o. + * dmd/MERGE: Merge upstream dmd 2bbf64907c. + * dmd/VERSION: Bump version to v2.106.0. + * modules.cc (layout_moduleinfo_fields): Update for new front-end + interface. + (layout_moduleinfo): Likewise. + +2023-12-05 Richard Sandiford + + * d-attribs.cc (d_langhook_common_attribute_table): Add extra braces + to work around PR 16333 in older compilers. + (d_langhook_gnu_attribute_table): Likewise. + +2023-12-02 Richard Sandiford + + * d-tree.h (d_langhook_attribute_table): Replace with... + (d_langhook_gnu_attribute_table): ...this. + (d_langhook_common_attribute_table): Change type to + scoped_attribute_specs. + * d-attribs.cc (d_langhook_common_attribute_table): Change type to + scoped_attribute_specs, using... + (d_langhook_common_attributes): ...this as the underlying array. + (d_langhook_attribute_table): Replace with... + (d_langhook_gnu_attributes, d_langhook_gnu_attribute_table): ...these + new globals. + (uda_attribute_p): Update accordingly, and update for new + targetm.attribute_table type. + * d-lang.cc (d_langhook_attribute_table): New global. + (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Delete. + +2023-11-21 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd ff57fec515. + * dmd/VERSION: Bump version to v2.106.0-rc.1. + * expr.cc (ExprVisitor::visit (CatAssignExp *)): Update for new + front-end interface. + (ExprVisitor::visit (NewExp *)): Likewise. + * runtime.def (NEWARRAYMTX): Remove. + (NEWARRAYMITX): Remove. + +2023-11-21 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd 65a3da148c. + +2023-11-02 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd 643b1261bb. + * d-attribs.cc (build_attributes): Update for new front-end interface. + * d-lang.cc (d_post_options): Likewise. + * decl.cc (layout_class_initializer): Likewise. + +2023-10-31 Iain Buclaw + + * expr.cc (ExprVisitor::visit (NewExp *)): Remove unused assignments. + +2023-10-29 Iain Buclaw + + PR d/110712 + * d-codegen.cc (d_build_call): Update call to convert_for_argument. + * d-convert.cc (is_valist_parameter_type): New function. + (check_valist_conversion): New function. + (convert_for_assignment): Update signature. Add check whether + assigning va_list is permissible. + (convert_for_argument): Likewise. + * d-tree.h (convert_for_assignment): Update signature. + (convert_for_argument): Likewise. + * expr.cc (ExprVisitor::visit (AssignExp *)): Update call to + convert_for_assignment. + +2023-10-29 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd e48bc0987d. + * expr.cc (ExprVisitor::visit (NewExp *)): Update for new front-end + interface. + * runtime.def (NEWARRAYT): Remove. + (NEWARRAYIT): Remove. + +2023-10-28 Iain Buclaw + + PR d/112270 + * d-builtins.cc (d_build_d_type_nodes): Initialize d_bool_false_node, + d_bool_true_node. + * d-codegen.cc (build_array_struct_comparison): Use d_bool_false_node + instead of boolean_false_node. + * d-convert.cc (d_truthvalue_conversion): Use d_bool_false_node and + d_bool_true_node instead of boolean_false_node and boolean_true_node. + * d-tree.h (enum d_tree_index): Add DTI_BOOL_FALSE and DTI_BOOL_TRUE. + (d_bool_false_node): New macro. + (d_bool_true_node): New macro. + * modules.cc (build_dso_cdtor_fn): Use d_bool_false_node and + d_bool_true_node instead of boolean_false_node and boolean_true_node. + (register_moduleinfo): Use d_bool_type instead of boolean_type_node. + +2023-10-28 Iain Buclaw + + * d-codegen.cc (call_side_effect_free_p): New function. + * d-tree.h (CALL_EXPR_WARN_IF_UNUSED): New macro. + (call_side_effect_free_p): New prototype. + * expr.cc (ExprVisitor::visit (CallExp *)): Set + CALL_EXPR_WARN_IF_UNUSED on matched call expressions. + (ExprVisitor::visit (NewExp *)): Don't dereference the result of an + allocation call here. + * toir.cc (add_stmt): Emit warning when call expression added to + statement list without being used. + +2023-10-22 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd f4be7f6f7b. + * Make-lang.in (D_FRONTEND_OBJS): Rename d/root-rootobject.o to + d/rootobject.o. + +2023-10-17 Iain Buclaw + + * d-tree.h (intrinsic_code): Update define for DEF_D_INTRINSIC. + (maybe_reject_intrinsic): New prototype. + * expr.cc (ExprVisitor::visit (SymOffExp *)): Call + maybe_reject_intrinsic. + * intrinsics.cc (intrinsic_decl): Add fallback field. + (intrinsic_decls): Update define for DEF_D_INTRINSIC. + (maybe_reject_intrinsic): New function. + * intrinsics.def (DEF_D_LIB_BUILTIN): Update. + (DEF_CTFE_BUILTIN): Update. + (INTRINSIC_BSF): Declare as library builtin. + (INTRINSIC_BSR): Likewise. + (INTRINSIC_BT): Likewise. + (INTRINSIC_BSF64): Likewise. + (INTRINSIC_BSR64): Likewise. + (INTRINSIC_BT64): Likewise. + (INTRINSIC_POPCNT32): Likewise. + (INTRINSIC_POPCNT64): Likewise. + (INTRINSIC_ROL): Likewise. + (INTRINSIC_ROL_TIARG): Likewise. + (INTRINSIC_ROR): Likewise. + (INTRINSIC_ROR_TIARG): Likewise. + (INTRINSIC_ADDS): Likewise. + (INTRINSIC_ADDSL): Likewise. + (INTRINSIC_ADDU): Likewise. + (INTRINSIC_ADDUL): Likewise. + (INTRINSIC_SUBS): Likewise. + (INTRINSIC_SUBSL): Likewise. + (INTRINSIC_SUBU): Likewise. + (INTRINSIC_SUBUL): Likewise. + (INTRINSIC_MULS): Likewise. + (INTRINSIC_MULSL): Likewise. + (INTRINSIC_MULU): Likewise. + (INTRINSIC_MULUI): Likewise. + (INTRINSIC_MULUL): Likewise. + (INTRINSIC_NEGS): Likewise. + (INTRINSIC_NEGSL): Likewise. + (INTRINSIC_TOPRECF): Likewise. + (INTRINSIC_TOPREC): Likewise. + (INTRINSIC_TOPRECL): Likewise. + +2023-10-16 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd 4c18eed967. + * d-diagnostic.cc (verrorReport): Update for new front-end interface. + (verrorReportSupplemental): Likewise. + * d-lang.cc (d_init_options): Likewise. + (d_handle_option): Likewise. + (d_post_options): Likewise. + (d_parse_file): Likewise. + * decl.cc (get_symbol_decl): Likewise. + +2023-10-15 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd f9efc98fd7. + * dmd/VERSION: Bump version to v2.105.2. + * d-builtins.cc (build_frontend_type): Update for new front-end + interface. + * d-diagnostic.cc (verrorReport): Don't emit tips when error gagging + is turned on. + * d-lang.cc (d_handle_option): Remove obsolete parameter. + (d_post_options): Likewise. + (d_read_ddoc_files): New function. + (d_generate_ddoc_file): New function. + (d_parse_file): Update for new front-end interface. + * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Check for new + front-end lowering of static associative arrays. + +2023-10-14 Iain Buclaw + + PR d/111537 + * expr.cc (ExprVisitor::visit (StringExp *)): Include null terminator + in STRING_CST string. + * modules.cc (get_compiler_dso_type): Generate ModuleInfo** type for + the minfo fields. + +2023-10-14 Iain Buclaw + + * d-lang.cc (d_write_file): New function. + (d_parse_file): Reduce code duplication. + +2023-10-03 David Malcolm + + * d-diagnostic.cc (d_diagnostic_report_diagnostic): Use text_info + ctor. + +2023-09-23 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd 4574d1728d. + * dmd/VERSION: Bump version to v2.105.0. + * d-diagnostic.cc (verror): Remove. + (verrorSupplemental): Remove. + (vwarning): Remove. + (vwarningSupplemental): Remove. + (vdeprecation): Remove. + (vdeprecationSupplemental): Remove. + (vmessage): Remove. + (vtip): Remove. + (verrorReport): New function. + (verrorReportSupplemental): New function. + * d-lang.cc (d_parse_file): Update for new front-end interface. + * decl.cc (d_mangle_decl): Update for new front-end interface. + * intrinsics.cc (maybe_set_intrinsic): Update for new front-end + interface. + +2023-08-20 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd 26f049fb26. + * dmd/VERSION: Bump version to v2.105.0-beta.1. + * d-codegen.cc (get_frameinfo): Check useGC in condition. + * d-lang.cc (d_handle_option): Set obsolete parameter when compiling + with -Wall. + (d_post_options): Set useGC to false when compiling with + -fno-druntime. Propagate obsolete flag to compileEnv. + * expr.cc (ExprVisitor::visit (CatExp *)): Check useGC in condition. + +2023-07-10 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd a88e1335f7. + * dmd/VERSION: Bump version to v2.104.1. + +2023-07-10 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd 17ccd12af3. + * dmd/VERSION: Bump version to v2.104.0. + * Make-lang.in (D_FRONTEND_OBJS): Rename d/apply.o to + d/postordervisitor.o. + * d-codegen.cc (make_location_t): Update for new front-end interface. + (build_filename_from_loc): Likewise. + (build_assert_call): Likewise. + (build_array_bounds_call): Likewise. + (build_bounds_index_condition): Likewise. + (build_bounds_slice_condition): Likewise. + (build_frame_type): Likewise. + (get_frameinfo): Likewise. + * d-diagnostic.cc (d_diagnostic_report_diagnostic): Likewise. + * decl.cc (build_decl_tree): Likewise. + (start_function): Likewise. + * expr.cc (ExprVisitor::visit (NewExp *)): Replace code generation of + `new pointer' with front-end lowering. + * runtime.def (NEWITEMT): Remove. + (NEWITEMIT): Remove. + * toir.cc (IRVisitor::visit (LabelStatement *)): Update for new + front-end interface. + * typeinfo.cc (check_typeinfo_type): Likewise. + +2023-07-09 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd 28a3b24c2e. + * dmd/VERSION: Bump version to v2.104.0-beta.1. + * d-codegen.cc (build_bounds_slice_condition): Update for new + front-end interface. + * d-lang.cc (d_init_options): Likewise. + (d_handle_option): Likewise. + (d_post_options): Initialize global.compileEnv. + * expr.cc (ExprVisitor::visit (CatExp *)): Replace code generation + with new front-end lowering. + (ExprVisitor::visit (LoweredAssignExp *)): New method. + (ExprVisitor::visit (StructLiteralExp *)): Don't generate static + initializer symbols for structs defined in C sources. + * runtime.def (ARRAYCATT): Remove. + (ARRAYCATNTX): Remove. + +2023-07-07 Iain Buclaw + + PR d/108842 + * decl.cc (DeclVisitor::visit (VarDeclaration *)): Only emit scalar + manifest constants. + (get_symbol_decl): Don't generate CONST_DECL for non-scalar manifest + constants. + * imports.cc (ImportVisitor::visit (VarDeclaration *)): New method. + +2023-07-02 Iain Buclaw + + PR d/110516 + * intrinsics.cc (expand_volatile_load): Set TREE_SIDE_EFFECTS on the + expanded expression. + (expand_volatile_store): Likewise. + +2023-07-01 Iain Buclaw + + PR d/110514 + * decl.cc (get_symbol_decl): Set TREE_READONLY on certain kinds of + const and immutable variables. + * expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Set TREE_READONLY + on immutable dynamic array literals. + +2023-07-01 Iain Buclaw + + PR d/110471 + * d-builtins.cc (d_init_versions): Predefine D_ModuleInfo, + D_Exceptions, and D_TypeInfo only if feature is enabled. + * lang.opt: Add -fexceptions. + +2023-06-28 Iain Buclaw + + PR d/106977 + PR target/110406 + * types.cc (finish_aggregate_mode): New function. + (finish_incomplete_fields): Call finish_aggregate_mode. + (finish_aggregate_type): Replace call to compute_record_mode with + finish_aggregate_mode. + +2023-06-28 Iain Buclaw + + PR d/110193 + * types.cc (d_signed_or_unsigned_type): Handle being called with any + vector or non-integral type. + +2023-06-26 Iain Buclaw + + PR d/110359 + * d-convert.cc (convert_for_rvalue): Only apply the @safe boolean + conversion to boolean fields of a union. + (convert_for_condition): Call convert_for_rvalue in the default case. + +2023-06-25 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd a45f4e9f43. + * dmd/VERSION: Bump version to v2.103.1. + +2023-06-15 Marek Polacek + + * Make-lang.in: Remove NO_PIE_CFLAGS. + +2023-06-05 Iain Buclaw + + * gdc.texi (Warnings): Document -Wextra and -Wmismatched-special-enum. + * implement-d.texi (Special Enums): Add reference to warning option + -Wmismatched-special-enum. + * lang.opt: Add -Wextra and -Wmismatched-special-enum. + * types.cc (TypeVisitor::visit (TypeEnum *)): Warn when declared + special enum size mismatches its intrinsic type. + +2023-05-18 Bernhard Reutner-Fischer + + * d-codegen.cc (underlying_complex_expr): Use _P defines from tree.h. + * d-convert.cc (convert): Ditto. + (convert_for_rvalue): Ditto. + +2023-03-17 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd 5f7552bb28. + * dmd/VERSION: Bump version to v2.103.0-rc.1. + +2023-03-16 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd 4ca4140e58. + * dmd/VERSION: Bump version to v2.103.0-beta.1. + * Make-lang.in (D_FRONTEND_OBJS): Add d/errorsink.o. + * d-ctfloat.cc (CTFloat::sprint): Update signature for new front-end + interface. + * d-frontend.cc (getTypeInfoType): Likewise. + * d-lang.cc (d_handle_option): Remove handling of -fpreview=dip25 and + -frevert=dip25. + (d_post_options): Remove enabling of sealed references language + feature when scoped pointers is enabled. + * d-tree.h (create_typeinfo): Update signature. + * decl.cc (DeclVisitor::finish_vtable): Update for new front-end + interface. + (DeclVisitor::visit (VarDeclaration *)): Likewise. + (DeclVisitor::visit (FuncDeclaration *)): Check skipCodegen to see if + front-end explicitly requested not to generate code. + * expr.cc (ExprVisitor::visit (NewExp *)): Update for new front-end + interface. + * lang.opt (fpreview=dip25): Remove. + (frevert=dip25): Remove. + * modules.cc (layout_moduleinfo_fields): Update for new front-end + interface. + (layout_moduleinfo): Likewise. + * runtime.def (NEWCLASS): Remove. + * toir.cc (IRVisitor::visit (IfStatement *)): Don't generate IR for if + statement list when condition is `__ctfe'. + * typeinfo.cc (create_typeinfo): Add generate parameter. + * types.cc (layout_aggregate_members): Update for new front-end + interface. + +2023-03-16 Iain Buclaw + + PR d/109144 + * d-codegen.cc (build_frame_type): Set frame field and type alignment. + +2023-03-14 Iain Buclaw + + PR d/109108 + * decl.cc (function_defined_in_root_p): Remove. + (get_symbol_decl): Set DECL_LAMBDA_FUNCTION_P on function literals. + (start_function): Unconditionally unset DECL_EXTERNAL + (set_linkage_for_decl): Give lambda functions one-only linkage. + +2023-03-13 Iain Buclaw + + * decl.cc (finish_thunk): Unset DECL_EXTERNAL on thunk. + (make_thunk): Set DECL_EXTERNAL on thunk, don't call build_decl_tree. + (finish_function): Call finish_thunk on forward referenced thunks. + +2023-03-13 Iain Buclaw + + * decl.cc (get_fndecl_result): New function. + (get_fndecl_arguments): New function. + (DeclVisitor::visit (FuncDeclaration *)): Adjust to call + get_fndecl_arguments. + (make_thunk): Adjust to call get_fndecl_arguments and + get_fndecl_result. + (start_function): Adjust to call get_fndecl_result. + +2023-03-03 Iain Buclaw + + PR d/108763 + * implement-d.texi (Missing Features): Document that TypeInfo-based + va_arg is not implemented. + +2023-03-03 Iain Buclaw + + PR d/108946 + * d-target.cc (Target::isVectorOpSupported): Allow identity ops. + * expr.cc (ExprVisitor::visit (IdentityExp *)): Handle vector identity + comparisons. + +2023-03-03 Iain Buclaw + + PR d/108877 + * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Call + make_import on TYPE_MAIN_VARIANT. + (ImportVisitor::visit (AggregateDeclaration *)): Likewise. + (ImportVisitor::visit (ClassDeclaration *)): Likewise. + +2023-03-03 Iain Buclaw + + PR d/108945 + * d-codegen.cc (build_boolop): Evaluate vector comparison as + the truth_type_for vector type. + +2023-02-23 Arsen Arsenović + + * implement-d.texi: Reorder index entries around @items. + +2023-02-23 Arsen Arsenović + + * gdc.texi: Reorder @opindex commands to precede @items they + relate to. + +2023-02-21 Iain Buclaw + + * Make-lang.in (D_FRONTEND_OBJS): Add d/location.o. + * d-lang.cc (d_init_options): Update for new front-end interface. + (d_post_options): Call Loc::set after handling options. + * dmd/MERGE: Merge upstream dmd 09faa4eacd. + * dmd/VERSION: Bump version to v2.102.0-beta.1. + +2023-02-21 Iain Buclaw + + * d-codegen.cc (d_build_call): Remove front-end expansion of + side-effects in a call expression. + * d-gimplify.cc (d_gimplify_call_expr): Gimplify the callee before its + arguments. + +2023-02-21 Iain Buclaw + + * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set + doing_semantic_analysis_p before calling functionSemantic3. + +2023-01-02 Jakub Jelinek + + * gdc.texi: Bump @copyrights-d year. + + +Copyright (C) 2023 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 b/gcc/fortran/ChangeLog index 3b5c9a6c3793..dc0c0dfb3863 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,2194 +1,5 @@ -2023-12-28 Rimvydas Jasinskas - - PR fortran/81615 - * invoke.texi: Add Developer Options section. Move '-fdump-*' - to it. Add small examples about changed '-save-temps' behavior. - -2023-12-20 Rimvydas Jasinskas - - PR fortran/81615 - * lang-specs.h (F951_CPP_OPTIONS): Do not hardcode ".f90" extension - (F951_CPP_EXTENSION): Use .fi/.fii for fixed/free form sources - * options.cc (form_from_filename): Handle the new extensions - -2023-12-19 Sandra Loosemore - - * gfortran.h: Include omp-selectors.h. - (enum gfc_omp_trait_property_kind): Delete, and replace all - references with equivalent omp_tp_type enumerators. - (struct gfc_omp_trait_property): Update for omp_tp_type. - (struct gfc_omp_selector): Replace string name with new enumerator. - (struct gfc_omp_set_selector): Likewise. - * openmp.cc (gfc_free_omp_trait_property_list): Update for - omp_tp_type. - (omp_construct_selectors): Delete. - (omp_device_selectors): Delete. - (omp_implementation_selectors): Delete. - (omp_user_selectors): Delete. - (gfc_ignore_trait_property_extension): New. - (gfc_ignore_trait_property_extension_list): New. - (gfc_match_omp_selector): Adjust for new representations and simplify - dispatch logic. Uniformly warn instead of sometimes error when an - unknown selector is found. - (gfc_match_omp_context_selector): Adjust for new representations. - Adjust error messages for extraneous/incorrect score. - (gfc_match_omp_context_selector_specification): Likewise. - * trans-openmp.cc (gfc_trans_omp_declare_variant): Adjust for - new representations. - -2023-12-19 Sandra Loosemore - - * trans-openmp.cc (gfc_trans_omp_declare_varaint): Adjust for - new namelist property representation. - -2023-12-19 Sandra Loosemore - - * trans-openmp.cc (gfc_trans_omp_declare_variant): Use new - constructors. - -2023-12-18 Harald Anlauf - - PR fortran/96580 - * check.cc (array_size_check): New helper function. - (gfc_check_date_and_time): Use it for checking minimum size of - VALUES argument. Update kind check to Fortran 2018. - * intrinsic.texi: Fix documentation of DATE_AND_TIME. - -2023-12-17 Harald Anlauf - - PR fortran/97592 - * trans-expr.cc (gfc_conv_procedure_call): For a contiguous dummy - with the TARGET attribute, the effective argument may still be - contiguous even if the actual argument is not simply-contiguous. - Allow packing to be decided at runtime by _gfortran_internal_pack. - -2023-12-16 Paul Thomas - - PR fortran/112459 - * trans-array.cc (gfc_trans_array_constructor_value): Replace - gfc_notification_std with explicit logical expression that - selects F2003/2008 and excludes -std=default/gnu. - * trans-expr.cc (gfc_conv_expr): Ditto. - -2023-12-16 Paul Thomas - - PR fortran/112834 - PR fortran/111853 - * match.cc (build_associate_name): Fix whitespace issues. - (select_type_set_tmp): If the selector is of unknown type, go - the SELECT TYPE selector to see if this is a function and, if - the result is available, use its typespec. - * parse.cc (parse_associate): Again, use the function result if - the type of the selector result is unknown. - * trans-stmt.cc (trans_associate_var): The expression has to be - of type class, for class_target to be true. Convert and fix - class functions. Pass the fixed expression. - * resolve.cc (gfc_expression_rank): Avoid null dereference. - -2023-12-15 Jerry DeLisle - - PR fortran/112783 - * intrinsic.texi: Fix where no COMPLEX allowed. - * invoke.texi: Clarify -fdev-math. - -2023-12-14 Jerry DeLisle - - PR fortran/112873 - * gfortran.texi: Update to reflect the changes. - * intrinsic.cc (add_functions): Update the standard that the - various degree trigonometric functions have been described in. - (gfc_check_intrinsic_standard): Add an error string for F2023. - * intrinsic.texi: Update accordingly. - -2023-12-13 Julian Brown - - * dependency.cc (gfc_omp_expr_prefix_same): New function. - * dependency.h (gfc_omp_expr_prefix_same): Add prototype. - * gfortran.h (gfc_omp_namelist): Add "duplicate_of" field to "u2" - union. - * trans-openmp.cc (dependency.h): Include. - (gfc_trans_omp_array_section): Adjust mapping node arrangement for - array descriptors. Use GOMP_MAP_TO_PSET or - GOMP_MAP_RELEASE/GOMP_MAP_DELETE with the OMP_CLAUSE_RELEASE_DESCRIPTOR - flag set. - (gfc_symbol_rooted_namelist): New function. - (gfc_trans_omp_clauses): Check subcomponent and subarray/element - accesses elsewhere in the clause list for pointers to derived types or - array descriptors, and adjust or drop mapping nodes appropriately. - Adjust for changes to mapping node arrangement. - (gfc_trans_oacc_executable_directive): Pass code op through. - -2023-12-13 Julian Brown - - * trans-openmp.cc (gfc_trans_omp_array_section): Add OPENMP parameter. - Use GOMP_MAP_ATTACH_DETACH instead of GOMP_MAP_ALWAYS_POINTER for - derived type components. - (gfc_trans_omp_clauses): Update calls to gfc_trans_omp_array_section. - -2023-12-11 Thomas Schwinge - - * trans-openmp.cc (gfc_omp_call_is_alloc): Resolve ICE. - -2023-12-11 Tobias Burnus - - * gfortran.h (enum gfc_omp_requires_kind): Add - OMP_REQ_ATOMIC_MEM_ORDER_ACQUIRE and OMP_REQ_ATOMIC_MEM_ORDER_RELEASE. - (gfc_namespace): Add a 7th bit to omp_requires. - * module.cc (enum ab_attribute): Add AB_OMP_REQ_MEM_ORDER_ACQUIRE - and AB_OMP_REQ_MEM_ORDER_RELEASE - (mio_symbol_attribute): Handle it. - * openmp.cc (gfc_omp_requires_add_clause): Update for acquire/release. - (gfc_match_omp_requires): Likewise. - (gfc_match_omp_atomic): Handle them for atomic_default_mem_order. - * parse.cc: Likewise. - -2023-12-11 Tobias Burnus - - * trans-openmp.cc (gfc_omp_call_add_alloc, - gfc_omp_call_is_alloc): Set 'fn spec'. - -2023-12-10 Harald Anlauf - - PR fortran/111503 - * expr.cc (gfc_is_simply_contiguous): Determine characteristics of - NULL() from optional MOLD argument, otherwise treat as contiguous. - * primary.cc (gfc_variable_attr): Derive attributes of NULL(MOLD) - from MOLD. - -2023-12-10 Harald Anlauf - - PR fortran/105543 - * resolve.cc (resolve_symbol): For a CLASS-valued function having a - RESULT clause, ensure that attr.class_ok is set for its symbol as - well as for its resolved result variable. - -2023-12-08 Tobias Burnus - - * dump-parse-tree.cc (show_omp_node): Handle EXEC_OMP_ALLOCATE - and EXEC_OMP_ALLOCATORS. - * f95-lang.cc (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST): - Add 'ECF_LEAF | ECF_MALLOC' to existing 'ECF_NOTHROW'. - (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LEAF_LIST): Define. - * gfortran.h (gfc_omp_clauses): Add contained_in_target_construct. - * invoke.texi (-fopenacc, -fopenmp): Update based on C version. - (-fopenmp-simd): New, based on C version. - (-fopenmp-allocators): New. - * lang.opt (fopenmp-allocators): Add. - * openmp.cc (resolve_omp_clauses): For allocators/allocate directive, - add target and no dynamic_allocators diagnostic and more invalid - diagnostic. - * parse.cc (decode_omp_directive): Set contains_teams_construct. - * trans-array.h (gfc_array_allocate): Update prototype. - (gfc_conv_descriptor_version): New prototype. - * trans-decl.cc (gfc_init_default_dt): Fix comment. - * trans-array.cc (gfc_conv_descriptor_version): New. - (gfc_array_allocate): Support GOMP_alloc allocation. - (gfc_alloc_allocatable_for_assignment, structure_alloc_comps): - Handle GOMP_free/omp_realloc as needed. - * trans-expr.cc (gfc_conv_procedure_call): Likewise. - (alloc_scalar_allocatable_for_assignment): Likewise. - * trans-intrinsic.cc (conv_intrinsic_move_alloc): Likewise. - * trans-openmp.cc (gfc_trans_omp_allocators, - gfc_trans_omp_directive): Handle allocators/allocate directive. - (gfc_omp_call_add_alloc, gfc_omp_call_is_alloc): New. - * trans-stmt.h (gfc_trans_allocate): Update prototype. - * trans-stmt.cc (gfc_trans_allocate): Support GOMP_alloc. - * trans-types.cc (gfc_get_dtype_rank_type): Set version field. - * trans.cc (gfc_allocate_using_malloc, gfc_allocate_allocatable): - Update to handle GOMP_alloc. - (gfc_deallocate_with_status, gfc_deallocate_scalar_with_status): - Handle GOMP_free. - (trans_code): Update call. - * trans.h (gfc_allocate_allocatable, gfc_allocate_using_malloc): - Update prototype. - (gfc_omp_call_add_alloc, gfc_omp_call_is_alloc): New prototype. - * types.def (BT_FN_PTR_PTR_SIZE_PTRMODE_PTRMODE): New. - -2023-12-06 David Malcolm - - * error.cc (gfc_diagnostic_starter): Make diagnostic_info param - const. - (gfc_diagnostic_finalizer): Likewise. - -2023-12-05 Harald Anlauf - Tobias Burnus - - PR fortran/100988 - * gfortran.h (IS_PROC_POINTER): New macro. - * trans-types.cc (gfc_sym_type): Use macro in determination if the - restrict qualifier can be used for a dummy variable. Fix logic to - allow the restrict qualifier also for optional arguments, and to - not apply it to pointer or proc_pointer arguments. - -2023-12-05 Richard Sandiford - - * f95-lang.cc (gfc_gnu_attribute_table): Add extra braces to work - around PR 16333 in older compilers. - -2023-12-02 Harald Anlauf - - PR fortran/93762 - PR fortran/100651 - * trans-array.cc (gfc_trans_deferred_array): Add presence check - for optional deferred-length character dummy arguments. - * trans-expr.cc (gfc_conv_missing_dummy): The character length for - deferred-length dummy arguments is passed by reference, so that - its value can be returned. Adjust handling for optional dummies. - -2023-12-02 Richard Sandiford - - * f95-lang.cc: Include attribs.h. - (gfc_attribute_table): Change to an array of scoped_attribute_specs - pointers, using... - (gfc_gnu_attributes, gfc_gnu_attribute_table): ...these new globals. - -2023-12-01 Harald Anlauf - - PR fortran/112772 - * trans-expr.cc (gfc_conv_class_to_class): Make copy-out conditional - on the presence of an OPTIONAL CLASS argument passed to an OPTIONAL - CLASS dummy. - -2023-11-30 Harald Anlauf - - PR fortran/112764 - * primary.cc (gfc_variable_attr): Set TARGET attribute of associating - entity dependent on TARGET or POINTER attribute of selector. - -2023-11-28 Andrew Jenner - Tobias Burnus - - PR fortran/110415 - * trans-expr.cc (trans_class_vptr_len_assignment): Add - from_vptrp parameter. Populate it. Don't check for DECL_P - when deciding whether to create temporary. - (trans_class_pointer_fcn, gfc_trans_pointer_assignment): Add - NULL argument to trans_class_vptr_len_assignment calls. - (trans_class_assignment): Get rhs_vptr from - trans_class_vptr_len_assignment and use it for determining size - for allocation/reallocation. Use return value from realloc. - -2023-11-26 Harald Anlauf - - PR fortran/111880 - * resolve.cc (resolve_common_vars): Do not call gfc_add_in_common - for symbols that are USE associated or used in a submodule. - -2023-11-24 Tobias Burnus - - * lang.opt (Wopenmp): Add, enabled by dafault and documented in C. - * openmp.cc (gfc_match_omp_declare_target, resolve_positive_int_expr, - resolve_nonnegative_int_expr, resolve_omp_clauses, - gfc_resolve_omp_do_blocks): Use OPT_Wopenmp with gfc_warning{,_now}. - -2023-11-24 Tobias Burnus - - * openmp.cc (gfc_match_omp_depobj): Accept optionally an argument - to the destroy clause. - -2023-11-23 Harald Anlauf - - PR fortran/112609 - * check.cc (gfc_check_system_clock): Add checks on integer arguments - to SYSTEM_CLOCK specific to F2023. - * error.cc (notify_std_msg): Adjust to handle new features added - in F2023. - * gfortran.texi (_gfortran_set_options): Document GFC_STD_F2023_DEL, - remove obsolete option GFC_STD_F2008_TS and fix enumeration values. - * libgfortran.h (GFC_STD_F2023_DEL): Add and use in GFC_STD_OPT_F23. - * options.cc (set_default_std_flags): Add GFC_STD_F2023_DEL. - -2023-11-17 Tobias Burnus - - * gfortran.texi (_gfortran_set_options): Document GFC_STD_F2023. - * invoke.texi (std,pedantic,Wampersand,Wtabs): Add -std=2023. - * lang.opt (std=f2023): Add. - * libgfortran.h (GFC_STD_F2023, GFC_STD_OPT_F23): Add. - * options.cc (set_default_std_flags): Add GFC_STD_F2023. - (gfc_init_options): Set max_continue_free to 1,000,000. - (gfc_post_options): Set flag_free_line_length if unset. - (gfc_handle_option): Add OPT_std_f2023, set max_continue_free = 255 - for -std=f2003, f2008 and f2018. - -2023-11-14 David Malcolm - - * error.cc (gfc_diagnostics_init): Use diagnostic_start_span. - -2023-11-07 Joseph Myers - - * gfortran.h (gfc_real_info): Refer to C23 instead of C2X in - comment. - -2023-11-06 Martin Jambor - - * trans-decl.cc (gfc_build_builtin_function_decls): Fix fnspec of - generate_error. - -2023-11-04 David Malcolm - - * cpp.cc: Update for changes to diagnostic_context. - * error.cc: Likewise. - * options.cc: Likewise. - -2023-11-03 Harald Anlauf - - PR fortran/97245 - * match.cc (gfc_match_call): If a procedure pointer has already been - resolved, do not create a new symbol in a procedure reference of - the same name shadowing the first one if it is host-associated. - -2023-11-03 Harald Anlauf - - PR fortran/92887 - * trans-expr.cc (conv_cond_temp): Helper function for creation of a - conditional temporary. - (gfc_conv_procedure_call): Handle passing of allocatable or pointer - actual argument to dummy with OPTIONAL + VALUE attribute. Actual - arguments that are not allocated or associated are treated as not - present. - -2023-11-03 Paul Thomas - - PR fortran/98498 - * interface.cc (upoly_ok): Defined operators using unlimited - polymorphic formal arguments must not override the intrinsic - operator use. - -2023-11-02 Paul Thomas - - PR fortran/112316 - * parse.cc (parse_associate): Remove condition that caused this - regression. - -2023-10-30 Paul Thomas - - PR fortran/104555 - * resolve.cc (resolve_select_type): If the selector expression - has no class component references and the expression is a - derived type, copy the typespec of the symbol to that of the - expression. - -2023-10-27 Harald Anlauf - Steven G. Kargl - - PR fortran/104649 - * decl.cc (gfc_match_formal_arglist): Handle conflicting declarations - of a MODULE PROCEDURE when one of the declarations is an alternate - return. - -2023-10-27 Paul Thomas - - PR fortran/104625 - * expr.cc (gfc_check_vardef_context): Check that the target - does have a vector index before emitting the specific error. - * match.cc (copy_ts_from_selector_to_associate): Ensure that - class valued operator expressions set the selector rank and - use the rank to provide the associate variable with an - appropriate array spec. - * resolve.cc (resolve_operator): Reduce stacked parentheses to - a single pair. - (fixup_array_ref): Extract selector symbol from parentheses. - -2023-10-26 Paul-Antoine Arras - Tobias Burnus - - * interface.cc (gfc_compare_types): Return true if one type is C_PTR - and the other is a compatible INTEGER(8). - * misc.cc (gfc_typename): Handle the case where an INTEGER(8) actually - holds a TYPE(C_PTR). - -2023-10-25 Thomas Schwinge - - * openmp.cc (omp_mask2): Split 'OMP_CLAUSE_HOST_SELF' into - 'OMP_CLAUSE_SELF', 'OMP_CLAUSE_HOST'. - (gfc_match_omp_clauses, OACC_UPDATE_CLAUSES): Adjust. - -2023-10-25 Chung-Lin Tang - - * gfortran.h (typedef struct gfc_omp_clauses): Add self_expr field. - * openmp.cc (enum omp_mask2): Add OMP_CLAUSE_SELF. - (gfc_match_omp_clauses): Add handling for OMP_CLAUSE_SELF. - (OACC_PARALLEL_CLAUSES): Add OMP_CLAUSE_SELF. - (OACC_KERNELS_CLAUSES): Likewise. - (OACC_SERIAL_CLAUSES): Likewise. - (resolve_omp_clauses): Add handling for omp_clauses->self_expr. - * trans-openmp.cc (gfc_trans_omp_clauses): Add handling of - clauses->self_expr and building of OMP_CLAUSE_SELF tree clause. - (gfc_split_omp_clauses): Add handling of self_expr field copy. - -2023-10-25 Thomas Schwinge - - * dump-parse-tree.cc (show_omp_clauses): Group handling of 'if' - clause without and with modifier. - * frontend-passes.cc (gfc_code_walker): Likewise. - * gfortran.h (gfc_omp_clauses): Likewise. - * openmp.cc (gfc_free_omp_clauses): Likewise. - -2023-10-18 Tobias Burnus - - * intrinsic.texi (signal): Add 'intrinsic :: signal, sleep' to - the example to make it safer. - -2023-10-17 Harald Anlauf - - PR fortran/111837 - * frontend-passes.cc (traverse_io_block): Dependency check of loop - nest shall be triangular, not banded. - -2023-10-17 Tobias Burnus - - * intrinsic.texi (signal): Mention that the argument - passed to the signal handler procedure is passed by reference. - Extend example. - -2023-10-15 Tobias Burnus - - * scanner.cc (skip_free_comments, skip_fixed_comments): Remove - leftover 'OpenACC' from comments about OpenMP's conditional - compilation sentinel. - -2023-10-14 Tobias Burnus - - * gfortran.h (ext_attr_t): Add omp_allocate flag. - * match.cc (gfc_free_omp_namelist): Void deleting same - u2.allocator multiple times now that a sequence can use - the same one. - * openmp.cc (gfc_match_omp_clauses, gfc_match_omp_allocate): Use - same allocator expr multiple times. - (is_predefined_allocator): Make static. - (gfc_resolve_omp_allocate): Update/extend restriction checks; - remove sorry message. - (resolve_omp_clauses): Reject corarrays in allocate/allocators - directive. - * parse.cc (check_omp_allocate_stmt): Permit procedure pointers - here (rejected later) for less misleading diagnostic. - * trans-array.cc (gfc_trans_auto_array_allocation): Propagate - size for GOMP_alloc and location to which it should be added to. - * trans-decl.cc (gfc_trans_deferred_vars): Handle 'omp allocate' - for stack variables; sorry for static variables/common blocks. - * trans-openmp.cc (gfc_trans_omp_clauses): Evaluate 'allocate' - clause's allocator only once; fix adding expressions to the - block. - (gfc_trans_omp_single): Pass a block to gfc_trans_omp_clauses. - -2023-10-13 Harald Anlauf - - PR fortran/104351 - * decl.cc (get_proc_name): Extend name conflict detection between - internal procedure and previous declaration also to derived type. - -2023-10-13 Harald Anlauf - - PR fortran/110957 - * invoke.texi: Update documentation to reflect '-ffpe-trap=none'. - * options.cc (gfc_handle_fpe_option): Fix mixup up of error messages - for options -ffpe-trap and -ffpe-summary. Accept '-ffpe-trap=none' - to clear FPU traps previously set on command line. - -2023-10-13 Richard Biener - - PR tree-optimization/111779 - * trans-expr.cc (gfc_trans_assignment_1): Initialize - lhs_caf_attr and rhs_caf_attr codimension flag to avoid - false positive -Wuninitialized. - -2023-10-12 Paul Thomas - - PR fortran/67740 - * trans-expr.cc (gfc_trans_pointer_assignment): Set the hidden - string length component for pointer assignment to character - pointer components. - -2023-10-08 Tobias Burnus - - * parse.cc (parse_omp_structured_block): Make the user code end - up inside of BLOCK construct for strictly structured blocks; - fix fallout for 'section' and 'teams'. - * openmp.cc (resolve_omp_target): Fix changed BLOCK handling - for teams in target checking. - -2023-10-04 Paul Thomas - - PR fortran/37336 - PR fortran/111674 - * trans-expr.cc (gfc_trans_scalar_assign): Finalize components - on deallocation if derived type is not finalizable. - -2023-10-03 David Malcolm - - * error.cc (gfc_format_decoder): Update for "m_" prefixes to - text_info fields. - -2023-10-02 David Malcolm - - * error.cc (gfc_diagnostics_init): Update for change to start_span. - -2023-10-02 David Malcolm - - * error.cc (gfc_diagnostic_starter): Update for reorganization of - source-printing fields of diagnostic_context. - (gfc_diagnostics_init): Likewise. - (gfc_diagnostics_finish): Likewise. - -2023-09-29 Andre Vehreschild - - PR fortran/37336 - * trans-array.cc (structure_alloc_comps): Deref coarray. - (gfc_trans_deferred_array): Add freeing of components after - check for allocated coarray. - -2023-09-24 Paul Thomas - - PR fortran/68155 - PR fortran/111271 - * decl.cc (fix_initializer_charlen): New function broken out of - add_init_expr_to_sym. - (add_init_expr_to_sym, build_struct): Call the new function. - * trans-expr.cc (gfc_conv_intrinsic_to_class): Remove repeated - condition. - -2023-09-23 Harald Anlauf - - PR fortran/95710 - * class.cc (gfc_build_class_symbol): Do not try to build class - container for invalid typespec. - * resolve.cc (resolve_fl_var_and_proc): Prevent NULL pointer - dereference. - (resolve_symbol): Likewise. - -2023-09-19 Harald Anlauf - - PR fortran/70231 - * trans-array.cc (trans_array_constructor): In absence of a typespec, - use string length determined by get_array_ctor_strlen() to reasonably - initialize auxiliary variable for bounds-checking. - -2023-09-15 Harald Anlauf - - PR fortran/30802 - * trans-array.cc (trans_array_bound_check): Add optional argument - COMPNAME for explicit specification of array component name. - (array_bound_check_elemental): Helper function for generating - bounds-checking code for elemental dimensions. - (gfc_conv_expr_descriptor): Use bounds-checking also for elemental - dimensions, i.e. those not handled by the scalarizer. - -2023-09-15 Mikael Morin - - PR fortran/108957 - * gfortran.h (gfc_symbol): Add comment documenting reference counting. - * parse.cc (parse_interface): Remove reference count incrementation. - -2023-09-12 Mikael Morin - - PR fortran/110996 - * gfortran.h (gfc_release_symbol): Set return type to bool. - * symbol.cc (gfc_release_symbol): Ditto. Return whether symbol was - freed. - (delete_symbol_from_ns): New, outline code from... - (gfc_restore_last_undo_checkpoint): ... here. Delete new symbols - from two more namespaces. - -2023-09-09 Mikael Morin - - * bbt.cc (delete_treap): Add argument REMOVED, set it to the removed - element from the tree. Change NULL to nullptr. - (gfc_delete_bbt): Return the removed element from the tree. - * gfortran.h (gfc_delete_symtree): Remove prototype. - (gfc_delete_bbt): Set return type to pointer. - * symbol.cc (gfc_delete_symtree): Make static. Get the element to be - freed from the result of gfc_delete_bbt. Remove the preliminary walk to - get it. - -2023-09-01 Harald Anlauf - - PR fortran/31059 - * trans-array.cc (gfc_conv_ss_startstride): For array bounds checking, - consider also array constructors in expressions, and use their shape. - -2023-08-31 Francois-Xavier Coudert - - * gfortran.texi: Likewise. - -2023-08-30 Mikael Morin - - PR fortran/48776 - * gfortran.h (gfc_drop_interface_elements_before): New prototype. - (gfc_current_interface_head): Return a reference to the pointer. - * interface.cc (gfc_current_interface_head): Ditto. - (free_interface_elements_until): New function, generalizing - gfc_free_interface. - (gfc_free_interface): Use free_interface_elements_until. - (gfc_drop_interface_elements_before): New function. - * parse.cc - (current_interface_ptr, previous_interface_head): New static variables. - (current_interface_valid_p, get_current_interface_ptr): New functions. - (decode_statement): Initialize previous_interface_head. - (reject_statement): Restore current interface pointer to point to - previous_interface_head. - -2023-08-26 Paul Thomas - - PR fortran/92586 - * trans-expr.cc (gfc_trans_arrayfunc_assign): Supply a missing - dereference for the call to gfc_deallocate_alloc_comp_no_caf. - -2023-08-25 Sandra Loosemore - - * gfortran.h (struct gfc_namespace): Add omp_structured_block bit. - * openmp.cc: Include omp-api.h. - (resolve_omp_clauses): Consolidate inscan reduction clause conflict - checking here. - (find_nested_loop_in_chain): New. - (find_nested_loop_in_block): New. - (gfc_resolve_omp_do_blocks): Set omp_current_do_collapse properly. - Handle imperfectly-nested loops when looking for nested omp scan. - Refactor to move inscan reduction clause conflict checking to - resolve_omp_clauses. - (gfc_resolve_do_iterator): Handle imperfectly-nested loops. - (struct icode_error_state): New. - (icode_code_error_callback): New. - (icode_expr_error_callback): New. - (diagnose_intervening_code_errors_1): New. - (diagnose_intervening_code_errors): New. - (make_structured_block): New. - (restructure_intervening_code): New. - (is_outer_iteration_variable): Do not assume loops are perfectly - nested. - (check_nested_loop_in_chain): New. - (check_nested_loop_in_block_state): New. - (check_nested_loop_in_block_symbol): New. - (check_nested_loop_in_block): New. - (expr_uses_intervening_var): New. - (is_intervening_var): New. - (expr_is_invariant): Do not assume loops are perfectly nested. - (resolve_omp_do): Handle imperfectly-nested loops. - * trans-stmt.cc (gfc_trans_block_construct): Generate - OMP_STRUCTURED_BLOCK if magic bit is set on block namespace. - -2023-08-25 Harald Anlauf - - PR fortran/35095 - * data.cc (get_array_index): Add bounds-checking code and return error - status. Overindexing will be allowed as an extension for -std=legacy - and generate an error in standard-conforming mode. - (gfc_assign_data_value): Use error status from get_array_index for - graceful error recovery. - -2023-08-25 Uros Bizjak - - * match.cc (gfc_match_equivalence): Rename TRUE/FALSE to true/false. - * module.cc (check_access): Ditto. - * primary.cc (match_real_constant): Ditto. - * trans-array.cc (gfc_trans_allocate_array_storage): Ditto. - (get_array_ctor_strlen): Ditto. - * trans-common.cc (find_equivalence): Ditto. - (add_equivalences): Ditto. - -2023-08-23 Harald Anlauf - - PR fortran/32986 - * resolve.cc (is_non_constant_shape_array): Add forward declaration. - (resolve_common_vars): Diagnose automatic array object in COMMON. - (resolve_symbol): Prevent confusing follow-on error. - -2023-08-22 Tobias Burnus - - * gfortran.h (enum gfc_omp_defaultmap_category): - Add OMP_DEFAULTMAP_CAT_ALL. - * openmp.cc (gfc_match_omp_clauses): Parse - 'all' as category. - * trans-openmp.cc (gfc_trans_omp_clauses): Handle it. - -2023-08-22 Harald Anlauf - - PR fortran/49588 - * data.cc (gfc_advance_section): Derive next index set and next offset - into DATA variable also for array references using vector sections. - Use auxiliary array to keep track of offsets into indexing vectors. - (gfc_get_section_index): Set up initial indices also for DATA variables - with array references using vector sections. - * data.h (gfc_get_section_index): Adjust prototype. - (gfc_advance_section): Likewise. - * resolve.cc (check_data_variable): Pass vector offsets. - -2023-08-16 Harald Anlauf - - PR fortran/110360 - * trans-expr.cc (conv_scalar_char_value): Use gfc_replace_expr to - avoid leaking replaced gfc_expr. - -2023-08-15 Martin Jambor - Harald Anlauf - - PR fortran/110677 - * resolve.cc (resolve_structure_cons): Check comp->ts is character - type before accessing stuff through comp->ts.u.cl. - -2023-08-15 Chung-Lin Tang - Thomas Schwinge - - * openmp.cc (OACC_DATA_CLAUSES): Add OMP_CLAUSE_DEFAULT. - -2023-08-14 Mikael Morin - - PR fortran/110360 - PR fortran/110419 - * trans-types.cc (gfc_sym_type): Use a bare character type for length - one value character dummy arguments. - * trans-expr.cc (gfc_conv_string_parameter): Handle single character - case. - (gfc_conv_procedure_call): Don't exclude interoperable kinds - from single character handling. For single character dummy arguments, - extend the existing handling of non-constant expressions to constant - expressions. - -2023-08-14 Mikael Morin - - * gfortran.h (gfc_length_one_character_type_p): New inline - function. - * check.cc (is_c_interoperable): Use - gfc_length_one_character_type_p. - * decl.cc (verify_bind_c_sym): Same. - * trans-expr.cc (gfc_conv_procedure_call): Same. - -2023-08-09 Steve Kargl - - PR fortran/109684 - * resolve.cc (resolve_types): Exclude contained procedures with - the artificial attribute from test for pureness. - -2023-07-31 Chung-Lin Tang - - * openmp.cc (resolve_omp_clauses): Add checking requiring - OpenACC host_data construct to have an use_device clause. - -2023-07-28 Harald Anlauf - - PR fortran/110825 - * gfortran.texi: Clarify argument passing convention. - * trans-expr.cc (gfc_conv_procedure_call): Do not pass the character - length as hidden argument when the declared dummy argument is - assumed-type. - -2023-07-27 Tobias Burnus - - * openmp.cc (resolve_omp_target): Minor cleanup. - * parse.cc (decode_omp_directive): Find TARGET statement - also higher in the stack. - -2023-07-26 Harald Anlauf - - PR fortran/68569 - * resolve.cc (check_data_variable): Do not accept strings with - deferred length or non-constant length in a DATA statement. - Reject also substrings of string variables of non-constant length. - -2023-07-25 Tobias Burnus - - PR fortran/110725 - PR middle-end/71065 - * gfortran.h (gfc_omp_clauses): Add target_first_st_is_teams. - * parse.cc (parse_omp_structured_block): Set it if the first - statement in the structured block of a TARGET is TEAMS or - a combined/composite starting with TEAMS. - * openmp.cc (resolve_omp_target): Also show an error for - contains_teams_construct without target_first_st_is_teams. - -2023-07-24 Tobias Burnus - - PR fortran/110725 - PR middle-end/71065 - * gfortran.h (gfc_omp_clauses): Add contains_teams_construct. - * openmp.cc (resolve_omp_target): New; check for teams nesting. - (gfc_resolve_omp_directive): Call it. - * parse.cc (decode_omp_directive): Set contains_teams_construct - on enclosing ST_OMP_TARGET. - -2023-07-20 Francois-Xavier Coudert - - * trans-intrinsic.cc (conv_intrinsic_ieee_comparison): Only - define it once. - -2023-07-20 Francois-Xavier Coudert - - * f95-lang.cc (gfc_init_builtin_functions): Add __builtin_iseqsig. - * trans-intrinsic.cc (conv_intrinsic_ieee_comparison): New - function. - (gfc_conv_ieee_arithmetic_function): Handle IEEE comparisons. - -2023-07-19 Tobias Burnus - - PR fortran/107424 - * trans-openmp.cc (gfc_nonrect_loop_expr): Accept all - constant loop steps. - (gfc_trans_omp_do): Likewise; use sign to determine - loop direction. - -2023-07-17 Harald Anlauf - - PR fortran/95947 - PR fortran/110658 - * trans-expr.cc (gfc_conv_procedure_call): For intrinsic procedures - whose result characteristics depends on the first argument and which - can be of type character, the character length will not be deferred. - -2023-07-17 Tobias Burnus - Chung-Lin Tang - - * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Dump - uses_allocators clause. - * gfortran.h (gfc_free_omp_namelist): Add memspace_sym to u union - and traits_sym to u2 union. - (OMP_LIST_USES_ALLOCATORS): New enum value. - (gfc_free_omp_namelist): Add 'bool free_mem_traits_space' arg. - * match.cc (gfc_free_omp_namelist): Likewise. - * openmp.cc (gfc_free_omp_clauses, gfc_match_omp_variable_list, - gfc_match_omp_to_link, gfc_match_omp_doacross_sink, - gfc_match_omp_clause_reduction, gfc_match_omp_allocate, - gfc_match_omp_flush): Update call. - (gfc_match_omp_clauses): Likewise. Parse uses_allocators clause. - (gfc_match_omp_clause_uses_allocators): New. - (enum omp_mask2): Add new OMP_CLAUSE_USES_ALLOCATORS. - (OMP_TARGET_CLAUSES): Accept it. - (resolve_omp_clauses): Resolve uses_allocators clause - * st.cc (gfc_free_statement): Update gfc_free_omp_namelist call. - * trans-openmp.cc (gfc_trans_omp_clauses): Handle - OMP_LIST_USES_ALLOCATORS; fail with sorry unless predefined allocator. - (gfc_split_omp_clauses): Handle uses_allocators. - -2023-07-17 Mikael Morin - - PR fortran/110618 - * trans.h (gfc_deallocate_with_status): Add class container - argument. - (gfc_deallocate_scalar_with_status): Ditto. - * trans.cc (gfc_deallocate_with_status): Add class container - argument and pass it down to gfc_add_finalize_call. - (gfc_deallocate_scalar_with_status): Same. - * trans-array.cc (structure_alloc_comps): Update caller. - * trans-stmt.cc (gfc_trans_deallocate): Ditto. - * trans-expr.cc (gfc_conv_procedure_call): Ditto. Pass - pre-evaluated class container argument if it's available. - -2023-07-17 Mikael Morin - - PR fortran/110618 - * trans.h (gfc_add_finalizer_call): Add class container argument. - * trans.cc (gfc_add_finalizer_call): Ditto. Pass down new - argument to get_final_proc_ref, get_elem_size, get_var_desc, - and get_vptr. - (get_elem_size): Add class container argument. - Use provided class container if it's available. - (get_var_descr): Same. - (get_vptr): Same. - (get_final_proc_ref): Same. Add boolean telling the class - container argument is used. Set it. Don't try to use - final_wrapper if class container argument was used. - -2023-07-17 Mikael Morin - - * trans.cc (get_var_descr): Factor scalar descriptor generation. - -2023-07-17 Mikael Morin - - * trans.cc (get_vptr): New function. - (gfc_add_finalizer_call): Move virtual table pointer evaluation - to get_vptr. - -2023-07-17 Mikael Morin - - * trans.cc (get_var_descr): Remove argument ts. Use var->ts - instead. - (gfc_add_finalizer_call): Update caller. - -2023-07-17 Mikael Morin - - * trans.cc (gfc_add_finalizer_call): Inline definition of - variable has_finalizer. Merge nested conditions. - -2023-07-17 Mikael Morin - - * trans.cc (gfc_add_finalizer_call): Remove local variable - final_expr. Pass down expr to get_final_proc_ref and move - final procedure expression generation down to its one usage - in get_final_proc_ref. - (get_final_proc_ref): Add argument expr. Remove argument - final_wrapper. Recreate final_wrapper from expr. - -2023-07-17 Mikael Morin - - * trans.cc (gfc_add_finalizer_call): Remove local variable - elem_size. Pass expression to get_elem_size and move the - element size expression generation close to its usage there. - (get_elem_size): Add argument expr, remove class_size argument - and rebuild it from expr. Remove ts argument and use the - type of expr instead. - -2023-07-17 Mikael Morin - - * trans.cc (gfc_add_finalizer_call): Move pre and post code for - the final procedure pointer expression to the outer block. - Reuse the previously evaluated final procedure pointer - expression. - -2023-07-17 Mikael Morin - - * trans.cc (gfc_add_finalizer_call): Add post code for desc_se - after the finalizer call. Add post code for final_se and - size_se as well. - -2023-07-17 Mikael Morin - - * trans.cc (gfc_build_final_call): Inline... - (gfc_add_finalizer_call): ... to its one caller. - -2023-07-17 Mikael Morin - - * trans.cc (get_var_descr): New function. - (gfc_build_final_call): Outline the data reference descriptor - evaluation code to get_var_descr. - -2023-07-17 Mikael Morin - - * trans.cc (get_elem_size): New function. - (gfc_build_final_call): Outline the element size evaluation - to get_elem_size. - -2023-07-17 Mikael Morin - - * trans.cc (get_final_proc_ref): New function. - (gfc_build_final_call): Outline the pointer evaluation code - to get_final_proc_ref. - -2023-07-17 Mikael Morin - - * trans.cc (gfc_build_final_call): Remove commented assertion. - -2023-07-14 Mikael Morin - - PR fortran/92178 - * trans.h (gfc_reset_vptr): Add class_container argument. - * trans-expr.cc (gfc_reset_vptr): Ditto. If a valid vptr can - be obtained through class_container argument, bypass evaluation - of e. - (gfc_conv_procedure_call): Wrap the argument evaluation code - in a conditional if the associated dummy is optional. Evaluate - the data reference to a pointer now, and replace later - references with usage of the pointer. - -2023-07-14 Mikael Morin - - PR fortran/92178 - * trans.h (struct gfc_se): New field class_container. - (struct gfc_ss_info): Ditto. - (gfc_evaluate_data_ref_now): New prototype. - * trans.cc (gfc_evaluate_data_ref_now): Implement it. - * trans-array.cc (gfc_conv_ss_descriptor): Copy class_container - field from gfc_se struct to gfc_ss_info struct. - (gfc_conv_expr_descriptor): Copy class_container field from - gfc_ss_info struct to gfc_se struct. - * trans-expr.cc (gfc_conv_class_to_class): Use class container - set in class_container field if available. - (gfc_conv_variable): Set class_container field on encountering - class variables or components, clear it on encountering - non-class components. - (gfc_conv_procedure_call): Evaluate data ref to a pointer now, - and replace later references by usage of the pointer. - -2023-07-14 Mikael Morin - - PR fortran/92178 - * trans-expr.cc (gfc_conv_procedure_call): Use a separate gfc_se - struct, initalized from parmse, to generate the class wrapper. - After the class wrapper code has been generated, copy it back - depending on whether parameter deallocation code has been - generated. - -2023-07-13 Mikael Morin - - PR fortran/106050 - * symbol.cc (gfc_restore_last_undo_checkpoint): Release symbols - in reverse order. - -2023-07-12 Andre Vehreschild - - PR fortran/102003 - * expr.cc (find_inquiry_ref): Replace len of pdt_string by - constant. - (simplify_ref_chain): Ensure input to find_inquiry_ref is - NULL. - (gfc_match_init_expr): Prevent PDT analysis for function calls. - (gfc_pdt_find_component_copy_initializer): Get the initializer - value for given component. - * gfortran.h (gfc_pdt_find_component_copy_initializer): New - function. - * simplify.cc (gfc_simplify_len): Replace len() of PDT with pdt - component ref or constant. - -2023-07-11 Harald Anlauf - - PR fortran/110288 - * symbol.cc (gfc_copy_formal_args_intr): When deriving the formal - argument attributes from the actual ones for intrinsic procedure - calls, take special care of CHARACTER arguments that we do not - wrongly treat them formally as deferred-length. - -2023-07-08 Steve Kargl - - PR fortran/99139 - PR fortran/99368 - * match.cc (gfc_match_namelist): Check for host associated or - defined types before applying default type. - (gfc_match_select_rank): Apply default type to selector of - unknown type if possible. - * resolve.cc (resolve_fl_variable): Do not apply local default - initialization to assumed rank entities. - -2023-07-08 Harald Anlauf - Steven G. Kargl - - PR fortran/92178 - * trans-expr.cc (gfc_conv_procedure_call): Check procedures for - allocatable dummy arguments with INTENT(OUT) and move deallocation - of actual arguments after evaluation of argument expressions before - the procedure is executed. - -2023-07-08 Harald Anlauf - - PR fortran/110585 - * arith.cc (gfc_compare_expr): Handle equality comparison of constant - complex gfc_expr arguments. - -2023-07-05 Robin Dapp - Juzhe-Zhong - - * trans-types.cc (gfc_type_for_mode): Ditto. - -2023-06-28 Harald Anlauf - - PR fortran/110360 - * trans-expr.cc (gfc_conv_procedure_call): For non-constant string - argument passed to CHARACTER(LEN=1),VALUE dummy, ensure proper - dereferencing and truncation of string to length 1. - -2023-06-28 Paul Thomas - - PR fortran/49213 - * expr.cc (gfc_is_ptr_fcn): Remove reference to class_pointer. - * resolve.cc (resolve_assoc_var): Call gfc_is_ptr_fcn to allow - associate names with pointer function targets to be used in - variable definition context. - * trans-decl.cc (get_symbol_decl): Remove extraneous line. - * trans-expr.cc (alloc_scalar_allocatable_subcomponent): Obtain - size of intrinsic and character expressions. - (gfc_trans_subcomponent_assign): Expand assignment to class - components to include intrinsic and character expressions. - -2023-06-24 Harald Anlauf - - PR fortran/110360 - * trans-expr.cc (gfc_conv_procedure_call): Truncate constant string - argument of length > 1 passed to scalar CHARACTER(1),VALUE dummy. - -2023-06-23 Harald Anlauf - - PR fortran/110360 - * trans-expr.cc (gfc_conv_procedure_call): Pass actual argument - to scalar CHARACTER(1),VALUE dummy argument by value. - -2023-06-21 Paul Thomas - - PR fortran/87477 - PR fortran/88688 - PR fortran/94380 - PR fortran/107900 - PR fortran/110224 - * decl.cc (char_len_param_value): Fix memory leak. - (resolve_block_construct): Remove unnecessary static decls. - * expr.cc (gfc_is_ptr_fcn): New function. - (gfc_check_vardef_context): Use it to permit pointer function - result selectors to be used for associate names in variable - definition context. - * gfortran.h: Prototype for gfc_is_ptr_fcn. - * match.cc (build_associate_name): New function. - (gfc_match_select_type): Use the new function to replace inline - version and to build a new associate name for the case where - the supplied associate name is already used for that purpose. - * resolve.cc (resolve_assoc_var): Call gfc_is_ptr_fcn to allow - associate names with pointer function targets to be used in - variable definition context. - * trans-decl.cc (gfc_get_symbol_decl): Unlimited polymorphic - variables need deferred initialisation of the vptr. - (gfc_trans_deferred_vars): Do the vptr initialisation. - * trans-stmt.cc (trans_associate_var): Ensure that a pointer - associate name points to the target of the selector and not - the selector itself. - -2023-06-21 Paul Thomas - - PR fortran/108961 - * trans-expr.cc (gfc_conv_procedure_call): The hidden string - length must not be passed to a formal arg of type(cptr). - -2023-06-20 Tobias Burnus - - * dump-parse-tree.cc (show_omp_namelist): Fix dump of the allocator - modifier of OMP_LIST_ALLOCATE. - -2023-06-20 Tobias Burnus - - * match.cc (gfc_match_char): Match with '%S' a symbol - with host_assoc = 1. - -2023-06-19 Tobias Burnus - - * intrinsic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS): Also - add references to the OpenMP 5.1 and 5.2 spec; add omp_initial_device - and omp_invalid_device named constants. - -2023-06-13 Harald Anlauf - Mikael Morin - - PR fortran/86277 - * trans-array.cc (gfc_trans_allocate_array_storage): When passing a - zero-sized array with fixed (= non-dynamic) size, allocate temporary - by the caller, not by the callee. - -2023-06-10 Francois-Xavier Coudert - - * f95-lang.cc (gfc_init_builtin_functions): Add fmax() and - fmin() built-ins, and their variants. - * mathbuiltins.def: Add FMAX and FMIN built-ins. - * trans-intrinsic.cc (conv_intrinsic_ieee_minmax): New function. - (gfc_conv_ieee_arithmetic_function): Handle IEEE_MIN_NUM and - IEEE_MAX_NUM functions. - -2023-06-09 Jakub Jelinek - - PR fortran/96024 - * primary.cc (gfc_convert_to_structure_constructor): Only do - constant string ctor length verification and truncation/padding - if constant length has INTEGER type. - -2023-06-08 Paul Thomas - - PR fortran/87477 - PR fortran/99350 - PR fortran/107821 - PR fortran/109451 - * decl.cc (char_len_param_value): Simplify a copy of the expr - and replace the original if there is no error. - * gfortran.h : Remove the redundant field 'rankguessed' from - 'gfc_association_list'. - * resolve.cc (resolve_assoc_var): Remove refs to 'rankguessed'. - (resolve_variable): Associate names with constant or structure - constructor targets cannot have array refs. - * trans-array.cc (gfc_conv_expr_descriptor): Guard expression - character length backend decl before using it. Suppress the - assignment if lhs equals rhs. - * trans-io.cc (gfc_trans_transfer): Scalarize transfer of - associate variables pointing to a variable. Add comment. - * trans-stmt.cc (trans_associate_var): Remove requirement that - the character length be deferred before assigning the value - returned by gfc_conv_expr_descriptor. Also, guard the backend - decl before testing with VAR_P. - -2023-06-06 Kwok Cheung Yeung - Tobias Burnus - - * dump-parse-tree.cc (show_omp_namelist): Display 'present' map - modifier. - (show_omp_clauses): Display 'present' motion modifier for 'to' - and 'from' clauses. - * gfortran.h (enum gfc_omp_map_op): Add entries with 'present' - modifiers. - (struct gfc_omp_namelist): Add 'present_modifer'. - * openmp.cc (gfc_match_motion_var_list): New, handles optional - 'present' modifier for to/from clauses. - (gfc_match_omp_clauses): Call it for to/from clauses; parse 'present' - in defaultmap and map clauses. - (resolve_omp_clauses): Allow 'present' modifiers on 'target', - 'target data', 'target enter' and 'target exit' directives. - * trans-openmp.cc (gfc_trans_omp_clauses): Apply 'present' modifiers - to tree node for 'map', 'to' and 'from' clauses. Apply 'present' for - defaultmap. - -2023-06-02 Steve Kargl - - PR fortran/100607 - * resolve.cc (resolve_select_rank): Remove duplicate error. - (resolve_fl_var_and_proc): Prevent NULL pointer dereference and - suppress error message for temporary. - -2023-06-02 Paul Thomas - - PR fortran/87477 - * parse.cc (parse_associate): Replace the existing evaluation - of the target rank with calls to gfc_resolve_ref and - gfc_expression_rank. Identify untyped target function results - with structure constructors by finding the appropriate derived - type. - * resolve.cc (resolve_symbol): Allow associate variables to be - assumed shape. - -2023-06-01 Harald Anlauf - - PR fortran/88552 - * decl.cc (gfc_match_kind_spec): Use error path on missing right - parenthesis. - (gfc_match_decl_type_spec): Use error return when an error occurred - during matching a KIND specifier. - -2023-06-01 Tobias Burnus - - * parse.cc (decode_omp_directive): Accept all pure directives - inside a PURE procedures; handle 'error at(execution). - -2023-05-26 Tobias Burnus - - * dump-parse-tree.cc (show_omp_namelist): Update allocator, fix - align dump. - (show_omp_node, show_code_node): Handle EXEC_OMP_ALLOCATE. - * gfortran.h (enum gfc_statement): Add ST_OMP_ALLOCATE and ..._EXEC. - (enum gfc_exec_op): Add EXEC_OMP_ALLOCATE. - (struct gfc_omp_namelist): Add 'allocator' to 'u2' union. - (struct gfc_namespace): Add omp_allocate. - (gfc_resolve_omp_allocate): New. - * match.cc (gfc_free_omp_namelist): Free 'u2.allocator'. - * match.h (gfc_match_omp_allocate, gfc_match_omp_allocators): New. - * openmp.cc (gfc_omp_directives): Uncomment allocate/allocators. - (gfc_match_omp_variable_list): Add bool arg for - rejecting listening common-block vars separately. - (gfc_match_omp_clauses): Update for u2.allocators. - (OMP_ALLOCATORS_CLAUSES, gfc_match_omp_allocate, - gfc_match_omp_allocators, is_predefined_allocator, - gfc_resolve_omp_allocate): New. - (resolve_omp_clauses): Update 'allocate' clause checks. - (omp_code_to_statement, gfc_resolve_omp_directive): Handle - OMP ALLOCATE/ALLOCATORS. - * parse.cc (in_exec_part): New global var. - (check_omp_allocate_stmt, parse_openmp_allocate_block): New. - (decode_omp_directive, case_exec_markers, case_omp_decl, - gfc_ascii_statement, parse_omp_structured_block): Handle - OMP allocate/allocators. - (verify_st_order, parse_executable): Set in_exec_part. - * resolve.cc (gfc_resolve_blocks, resolve_codes): Handle - allocate/allocators. - * st.cc (gfc_free_statement): Likewise. - * trans.cc (trans_code): Likewise. - * trans-openmp.cc (gfc_trans_omp_directive): Likewise. - (gfc_trans_omp_clauses, gfc_split_omp_clauses): Update for - u2.allocator, fix for u.align. - -2023-05-24 Harald Anlauf - - PR fortran/104350 - * simplify.cc (simplify_size): Reject DIM argument of intrinsic SIZE - with error when out of valid range. - -2023-05-24 Harald Anlauf - - PR fortran/103794 - * check.cc (gfc_check_reshape): Expand constant arguments SHAPE and - ORDER before checking. - * gfortran.h (gfc_is_constant_array_expr): Add prototype. - * iresolve.cc (gfc_resolve_reshape): Expand constant argument SHAPE. - * simplify.cc (is_constant_array_expr): If array is determined to be - constant, expand small array constructors if needed. - (gfc_is_constant_array_expr): Wrapper for is_constant_array_expr. - (gfc_simplify_reshape): Fix check for insufficient elements in SOURCE - when no padding specified. - -2023-05-23 Paul Thomas - - PR fortran/103716 - * resolve.cc (gfc_resolve_ref): Conversion of array_ref into an - element should be done for all characters without a len expr, - not just deferred lens, and for integer expressions. - * trans-expr.cc (conv_inquiry): For len and kind inquiry refs, - set the se string_length to NULL_TREE. - -2023-05-23 Paul Thomas - Steven G. Kargl - - PR fortran/97122 - * decl.cc (variable_decl): Clean up white space issues. - (gfc_match_final_decl): Declaration of finalizable derived type - is allowed in a submodule. - -2023-05-19 Bernhard Reutner-Fischer - - * expr.cc (gfc_get_corank): Use CLASS_DATA from gfortran.h. - * resolve.cc (resolve_component): Same. - (resolve_fl_derived0): Same. - * simplify.cc (gfc_simplify_extends_type_of): Same. - (simplify_cobound): Same. - -2023-05-18 Bernhard Reutner-Fischer - - * trans-array.cc (is_pointer_array): Use _P() defines from tree.h. - (gfc_conv_scalarized_array_ref): Ditto. - (gfc_conv_array_ref): Ditto. - * trans-decl.cc (gfc_finish_decl): Ditto. - (gfc_get_symbol_decl): Ditto. - * trans-expr.cc (gfc_trans_pointer_assignment): Ditto. - (gfc_trans_arrayfunc_assign): Ditto. - (gfc_trans_assignment_1): Ditto. - * trans-intrinsic.cc (gfc_conv_intrinsic_minmax): Ditto. - (conv_intrinsic_ieee_value): Ditto. - * trans-io.cc (gfc_convert_array_to_string): Ditto. - * trans-openmp.cc (gfc_omp_is_optional_argument): Ditto. - (gfc_trans_omp_clauses): Ditto. - * trans-stmt.cc (gfc_conv_label_variable): Ditto. - * trans.cc (gfc_build_addr_expr): Ditto. - (get_array_span): Ditto. - -2023-05-18 Bernhard Reutner-Fischer - - PR fortran/78798 - * array.cc (compare_bounds): Use narrower return type. - (gfc_compare_array_spec): Likewise. - (is_constant_element): Likewise. - (gfc_constant_ac): Likewise. - * check.cc (dim_rank_check): Likewise. - * cpp.cc (gfc_cpp_init_options): Likewise. - (dump_macro): Likewise. - * cpp.h (gfc_cpp_handle_option): Likewise. - * dependency.cc (gfc_ref_needs_temporary_p): Likewise. - (gfc_check_argument_dependency): Likewise. - (gfc_check_fncall_dependency): Likewise. - (ref_same_as_full_array): Likewise. - * dependency.h (gfc_check_fncall_dependency): Likewise. - (gfc_dep_resolver): Likewise. - (gfc_are_equivalenced_arrays): Likewise. - * expr.cc (gfc_copy_ref): Likewise. - (gfc_kind_max): Likewise. - (numeric_type): Likewise. - * gfortran.h (gfc_at_end): Likewise. - (gfc_at_eof): Likewise. - (gfc_at_bol): Likewise. - (gfc_at_eol): Likewise. - (gfc_define_undef_line): Likewise. - (gfc_wide_is_printable): Likewise. - (gfc_wide_is_digit): Likewise. - (gfc_wide_fits_in_byte): Likewise. - (gfc_find_sym_tree): Likewise. - (gfc_generic_intrinsic): Likewise. - (gfc_specific_intrinsic): Likewise. - (gfc_intrinsic_actual_ok): Likewise. - (gfc_has_vector_index): Likewise. - (gfc_numeric_ts): Likewise. - (gfc_impure_variable): Likewise. - (gfc_pure): Likewise. - (gfc_implicit_pure): Likewise. - (gfc_elemental): Likewise. - (gfc_pure_function): Likewise. - (gfc_implicit_pure_function): Likewise. - (gfc_compare_array_spec): Likewise. - (gfc_constant_ac): Likewise. - (gfc_expanded_ac): Likewise. - (gfc_check_digit): Likewise. - * intrinsic.cc (gfc_find_subroutine): Likewise. - (gfc_generic_intrinsic): Likewise. - (gfc_specific_intrinsic): Likewise. - * io.cc (compare_to_allowed_values): Likewise. And remove - unneeded forward declaration. - * parse.cc: Likewise. - * parse.h (gfc_check_do_variable): Likewise. - * primary.cc (gfc_check_digit): Likewise. - * resolve.cc (resolve_structure_cons): Likewise. - (pure_stmt_function): Likewise. - (gfc_pure_function): Likewise. - (impure_stmt_fcn): Likewise. - (resolve_forall_iterators): Likewise. - (resolve_data): Likewise. - (gfc_impure_variable): Likewise. - (gfc_pure): Likewise. - (gfc_unset_implicit_pure): Likewise. - * scanner.cc (wide_is_ascii): Likewise. - (gfc_wide_toupper): Likewise. - (gfc_open_included_file): Likewise. - (gfc_at_end): Likewise. - (gfc_at_eof): Likewise. - (gfc_at_bol): Likewise. - (skip_comment_line): Likewise. - (gfc_gobble_whitespace): Likewise. - * symbol.cc (gfc_find_symtree_in_proc): Likewise. - * trans-array.cc: Likewise. - * trans-decl.cc (gfc_set_decl_assembler_name): Likewise. - * trans-types.cc (gfc_get_element_type): Likewise. - (gfc_add_field_to_struct): Likewise. - * trans-types.h (gfc_copy_dt_decls_ifequal): Likewise. - (gfc_return_by_reference): Likewise. - (gfc_is_nodesc_array): Likewise. - * trans.h (gfc_can_put_var_on_stack): Likewise. - -2023-05-17 Harald Anlauf - - PR fortran/95374 - PR fortran/104352 - * decl.cc (add_init_expr_to_sym): Set shape of initializer also for - zero-sized arrays, so that bounds violations can be detected later. - -2023-05-17 Tobias Burnus - - * trans-decl.cc (gfc_get_symbol_decl): Add attributes - such as 'declare target' also to hidden artificial - variable for deferred-length character variables. - * trans-openmp.cc (gfc_trans_omp_array_section, - gfc_trans_omp_clauses, gfc_trans_omp_target_exit_data): - Improve mapping of array descriptors and deferred-length - string variables. - -2023-05-16 Paul Thomas - - PR fortran/105152 - PR fortran/100193 - PR fortran/87496 - PR fortran/103389 - PR fortran/104429 - PR fortran/82774 - * interface.cc (gfc_compare_actual_formal): Emit an error if an - unlimited polymorphic actual is not matched either to an - unlimited or assumed type formal argument. - * resolve.cc (resolve_ordinary_assign): Emit an error if the - var expression of an ordinary assignment is a proc pointer - component. - * trans-array.cc (gfc_walk_array_ref): Provide assumed shape - arrays coming from interface mapping with a viable arrayspec. - * trans-expr.cc (gfc_conv_intrinsic_to_class): Tidy up flagging - of unlimited polymorphic 'class_ts'. - (gfc_conv_gfc_desc_to_cfi_desc): Assumed type is unlimited - polymorphic and should accept any actual type. - (gfc_conv_procedure_call): Replace dreadful kludge with a call - to gfc_finalize_tree_expr. Avoid dereferencing a void pointer - by giving it the pointer type of the actual argument. - (alloc_scalar_allocatable_subcomponent): Shorten the function - name and replace the symbol argument with the se string length. - If a deferred length character length is either not present or - is not a variable, give the typespec a variable and assign the - string length to that. Use gfc_deferred_strlen to find the - hidden string length component. - (gfc_trans_subcomponent_assign): Convert the expression before - the call to alloc_scalar_allocatable_subcomponent so that a - good string length is provided. - (gfc_trans_structure_assign): Remove the unneeded derived type - symbol from calls to gfc_trans_subcomponent_assign. - -2023-05-15 Harald Anlauf - - PR fortran/109846 - * expr.cc (gfc_check_vardef_context): Check appropriate pointer - attribute for CLASS vs. non-CLASS function result in variable - definition context. - -2023-05-11 Xi Ruoyao - - * Make-lang.in: Use grep instead of fgrep. - -2023-05-10 Bernhard Reutner-Fischer - - * dump-parse-tree.cc (gfc_debug_expr): Remove forward declaration. - (debug): Add DEBUG_FUNCTION. - (show_code_node): Remove erroneous whitespace. - -2023-05-10 Bernhard Reutner-Fischer - - PR fortran/109624 - * dump-parse-tree.cc (debug): New function for gfc_namespace. - (gfc_debug_code): Delete forward declaration. - (show_attr): Make sure to print balanced braces. - -2023-05-08 Bernhard Reutner-Fischer - - * resolve.cc (resolve_select_type): Fix coding style. - -2023-05-08 Bernhard Reutner-Fischer - - * resolve.cc (resolve_select_type): Call free() unconditionally. - -2023-05-08 Bernhard Reutner-Fischer - - PR fortran/68800 - * expr.cc (find_array_section): Fix mpz memory leak. - * simplify.cc (gfc_simplify_reshape): Fix mpz memory leaks in - error paths. - -2023-05-05 Harald Anlauf - - PR fortran/109641 - * arith.cc (eval_intrinsic): Check conformability of ranks of operands - for intrinsic binary operators before performing type conversions. - * gfortran.h (gfc_op_rank_conformable): Add prototype. - * resolve.cc (resolve_operator): Check conformability of ranks of - operands for intrinsic binary operators before performing type - conversions. - (gfc_op_rank_conformable): New helper function to compare ranks of - operands of binary operator. - -2023-05-04 Julian Brown - - PR fortran/109622 - * openmp.cc (resolve_omp_clauses): Add diagnostic for - non-pointer/non-allocatable attach/detach. - * trans-openmp.cc (gfc_trans_omp_clauses): Remove dereference for - pointer-to-scalar derived type component attach/detach. Fix - attach/detach handling for descriptors. - -2023-04-28 Julian Brown - - PR fortran/109622 - * trans-openmp.cc (gfc_trans_omp_clauses): Attach/detach clause fixes. - -2023-04-28 Tobias Burnus - - * gfortran.texi: Fix typos. - * decl.cc: Fix typos in comments and in a variable name. - * arith.cc: Fix comment typos. - * check.cc: Likewise. - * class.cc: Likewise. - * dependency.cc: Likewise. - * expr.cc: Likewise. - * frontend-passes.cc: Likewise. - * gfortran.h: Likewise. - * intrinsic.cc: Likewise. - * iresolve.cc: Likewise. - * match.cc: Likewise. - * module.cc: Likewise. - * primary.cc: Likewise. - * resolve.cc: Likewise. - * simplify.cc: Likewise. - * trans-array.cc: Likewise. - * trans-decl.cc: Likewise. - * trans-expr.cc: Likewise. - * trans-intrinsic.cc: Likewise. - * trans-openmp.cc: Likewise. - * trans-stmt.cc: Likewise. - -2023-04-25 Tobias Burnus - - * openmp.cc (gfc_resolve_omp_do_blocks): Handle zero - or more than one exec statements before/after 'omp scan'. - * trans-openmp.cc (gfc_trans_omp_do): Likewise. - -2023-04-22 Harald Anlauf - Steven G. Kargl - - PR fortran/109500 - * interface.cc (gfc_compare_actual_formal): Reject allocatable - functions being used as actual argument for allocable dummy. - -2023-04-14 Harald Anlauf - - PR fortran/109511 - * simplify.cc (gfc_simplify_set_exponent): Fix implementation of - compile-time simplification of intrinsic SET_EXPONENT for argument - X < 1 and for I < 0. - -2023-04-14 Paul Thomas - - PR fortran/104272 - * gfortran.h : Add expr3_not_explicit bit field to gfc_code. - * resolve.cc (resolve_allocate_expr): Set bit field when the - default initializer is applied to expr3. - * trans-stmt.cc (gfc_trans_allocate): If expr3_not_explicit is - set, do not deallocate expr3. - -2023-04-13 Harald Anlauf - - PR fortran/109492 - * trans-expr.cc (gfc_conv_power_op): Use absu_hwi and - unsigned HOST_WIDE_INT for portability. - -2023-04-12 Harald Anlauf - - PR fortran/104312 - * resolve.cc (resolve_entries): Handle functions with ENTRY and - ALLOCATABLE results. - * trans-expr.cc (gfc_conv_procedure_call): Functions with a result - with the POINTER or ALLOCATABLE attribute shall not get any special - treatment with -ff2c, as they cannot be written in Fortran 77. - * trans-types.cc (gfc_return_by_reference): Likewise. - (gfc_get_function_type): Likewise. - -2023-04-12 Harald Anlauf - - PR fortran/61615 - PR fortran/99982 - * interface.cc (compare_parameter): Enable type and rank checks for - arguments of derived type from the intrinsic module ISO_C_BINDING. - -2023-04-08 Paul Thomas - - PR fortran/87477 - * iresolve.cc (gfc_resolve_adjustl, gfc_resolve_adjustr): if - string length is deferred use the string typespec for result. - * resolve.cc (resolve_assoc_var): Handle parentheses around the - target expression. - (resolve_block_construct): Remove unnecessary static decls. - * trans-array.cc (gfc_conv_expr_descriptor): Guard string len - expression in condition. Improve handling of string length and - span, especially for substrings of the descriptor. - (duplicate_allocatable): Make element type more explicit with - 'eltype'. - * trans-decl.cc (gfc_get_symbol_decl): Emit a fatal error with - appropriate message instead of ICE if symbol type is unknown. - (gfc_generate_function_code): Set current locus to proc_sym - declared_at. - * trans-expr.cc (gfc_get_expr_charlen): Retain last charlen in - 'previous' and use if end expression in substring reference is - null. - (gfc_conv_string_length): Use gfc_conv_expr_descriptor if - 'expr_flat' is an array. Add post block to catch deallocation - of temporaries. - (gfc_conv_procedure_call): Assign the parmse string length to - the expression string length, if it is deferred. - (gfc_trans_alloc_subarray_assign): If this is a deferred string - length component, store the string length in the hidden comp. - Update the typespec length accordingly. Generate a new type - spec for the call to gfc_duplicate-allocatable in this case. - * trans-io.cc (gfc_trans_transfer): Scalarize transfer of - deferred character array components. - -2023-04-04 Harald Anlauf - - PR fortran/104349 - * expr.cc (check_restricted): Adjust check for valid variables in - restricted expressions: make no exception for module variables. - -2023-04-01 Thomas Koenig - - * dump-parse-tree.cc (get_c_type_name): Fix "long_long" - type name to be "long long". - -2023-03-30 Andrew Pinski - - * dump-parse-tree.cc (get_c_type_name): Fix "long_long" - type name to be "long long". Add a comment on why adding - 2 to the name too. - -2023-03-28 Jakub Jelinek - - PR fortran/109314 - * openmp.cc (gfc_omp_absent_contains_clause): Fix typo in diagnostics - - composit -> composite. - -2023-03-25 Harald Anlauf - - PR fortran/104321 - * trans-decl.cc (gfc_conv_cfi_to_gfc): Remove dead code. - -2023-03-24 Harald Anlauf - - * expr.cc (free_expr0): Free also BOZ strings as part of an expression. - -2023-03-24 Haochen Gui - Tobias Burnus - - PR target/103628 - * target-memory.cc (gfc_interpret_float): Return FAIL when - native_interpret_expr gets a NULL tree. - * arith.cc (gfc_hollerith2real): Return NULL when - gfc_interpret_float fails. - * error.cc (gfc_buffered_p): Define. - * gfortran.h (gfc_buffered_p): Declare. - * intrinsic.cc: Add diagnostic.h to include list. - (do_simplify): Save errorcount and check it at finish. Report a - "Cannot simplify expression" error on a bad result if error count - doesn't change and no other errors buffered. - -2023-03-22 Harald Anlauf - Steven G. Kargl - - PR fortran/104572 - * resolve.cc (gfc_resolve_finalizers): Argument of a FINAL subroutine - cannot be an alternate return. - -2023-03-21 Harald Anlauf - - PR fortran/99036 - * decl.cc (gfc_match_modproc): Reject MODULE PROCEDURE if not in a - generic module interface. - -2023-03-21 Arsen Arsenović - - * invoke.texi: Remove usages of @gol. - * intrinsic.texi: Ditto. - -2023-03-21 Paul Thomas - - PR fortran/109206 - * trans-array.cc (gfc_trans_array_constructor_value): Correct - incorrect setting of typespec. - -2023-03-21 Paul Thomas - - PR fortran/109209 - * resolve.cc (generate_component_assignments): Restore the - exclusion of allocatable components from the loop. - -2023-03-20 Harald Anlauf - - PR fortran/109216 - * invoke.texi: Correct documentation of how underscores are appended - to external names. - -2023-03-20 Harald Anlauf - - PR fortran/109186 - * simplify.cc (gfc_simplify_nearest): Fix off-by-one error in setting - up real kind-specific maximum exponent for mpfr. - -2023-03-20 Paul Thomas - - PR fortran/87127 - * resolve.cc (check_host_association): If an external function - is typed but not declared explicitly to be external, change the - old symbol from a variable to an external function. - -2023-03-19 Harald Anlauf - - PR fortran/85877 - * resolve.cc (resolve_fl_procedure): Check for an explicit interface - of procedures with the BIND(C) attribute (F2018:15.4.2.2). - -2023-03-19 Thomas Koenig - - * gfortran.texi: Mention behavior on overflow. - -2023-03-18 Paul Thomas - - PR fortran/103854 - PR fortran/96122 - PR fortran/37336 - * class.cc (finalize_component): Include the missing arguments - in the call to the component's finalizer wrapper. - (has_finalizer_component): Do not return true for procedure - pointer components. - (finalizer_insert_packed_call): Remove the redundant argument - in the call to the final subroutine. - (generate_finalization_wrapper): Add support for assumed rank - finalizers. - (gfc_may_be_finalized): New helper function. - * dump-parse-tree.cc (write_proc): Whitespace. - * gfortran.h : Add prototype for gfc_may_be_finalized. - * resolve.cc (resolve_function): Correct derived types that - have an incomplete namespace. - (resolve_where, gfc_resolve_where_code_in_forall, - gfc_resolve_forall_body, gfc_resolve_code): Check that the op - code is still EXEC_ASSIGN. If it is set lhs to must finalize. - (is_finalizable_type): New function. - (generate_component_assignments): Set must_finalize if needed. - (gfc_resolve_finalizers): Error if assumed rank finalizer is - not the only one. Warning on lack of scalar finalizer modified - to account for assumed rank finalizers. - (generate_final_call): New function. - (generate_component_assignments): Enclose the outermost call in - a block to capture automatic deallocation and final calls. - Set must_finalize as required to satisfy the standards. Use an - explicit pointer assignment for pointer components to capture - finalization of the target. Likewise use explicit assignment - for allocatable components. Do not use the temporary copy of - the lhs in defined assignment if the component is allocatable. - Put the temporary in the same namespace as the lhs symbol if - the component may be finalized. Remove the leading assignment - from the expansion of assignment of components that have their - own defined assignment components. Suppress finalization of - assignment of temporary components to the lhs. Make an explicit - final call for the rhs function temporary if it exists. - (gfc_resolve_code): Set must_finalize for assignments with an - array constructor on the rhs. - (gfc_resolve_finalizers): Ensure that an assumed rank finalizer - is the only finalizer for that type and correct the surprising - warning for the lack of a scalar finalizer. - (check_defined_assignments): Handle allocatable components. - (resolve_fl_derived): Set referenced the vtab for use - associated symbols. - (resolve_symbol): Set referenced an unreferenced symbol that - will be finalized. - * trans-array.cc (gfc_trans_array_constructor_value): Add code - to finalize the constructor result. Warn that this feature was - removed in F2018 and that it is suppressed by -std=2018. - (trans_array_constructor): Add finalblock, pass to previous - and apply to loop->post if filled. - (gfc_add_loop_ss_code): Add se finalblock to outer loop post. - (gfc_trans_array_cobounds, gfc_trans_array_bounds): Add any - generated finalization code to the main block. - (structure_alloc_comps): Add boolean argument to suppress - finalization and use it for calls from - gfc_deallocate_alloc_comp_no_caf. Otherwise it defaults to - false. - (gfc_copy_alloc_comp_no_fini): New wrapper for - structure_alloc_comps. - (gfc_alloc_allocatable_for_assignment): Suppress finalization - by setting new arg in call to gfc_deallocate_alloc_comp_no_caf. - (gfc_trans_deferred_array): Use gfc_may_be_finalized and do not - deallocate the components of entities with a leading '_' in the - name that are also marked as artificial. - * trans-array.h : Add the new boolean argument to the prototype - of gfc_deallocate_alloc_comp_no_caf with a default of false. - Add prototype for gfc_copy_alloc_comp_no_fini. - * trans-decl.cc(init_intent_out_dt): Tidy up the code. - * trans-expr.cc (gfc_init_se): Initialize finalblock. - (gfc_conv_procedure_call): Use gfc_finalize_tree_expr to - finalize function results. Replace in-line block for class - results with call to new function. - (gfc_conv_expr): Finalize structure constructors for F2003 and - F2008. Warn that this feature was deleted in F2018 and, unlike - array constructors, is not default. Add array constructor - finalblock to the post block. - (gfc_trans_scalar_assign): Suppress finalization by setting new - argument in call to gfc_deallocate_alloc_comp_no_caf. Add the - finalization blocks to the main block. - (gfc_trans_arrayfunc_assign): Use gfc_assignment_finalizer_call - and ensure that finalization occurs after the evaluation of the - rhs but using the initial value for the lhs. Finalize rhs - function results using gfc_finalize_tree_expr. - (trans_class_assignment, gfc_trans_assignment_1): As previous - function, taking care to order evaluation, assignment and - finalization correctly. - * trans-io.cc (gfc_trans_transfer): Add the final block. - * trans-stmt.cc (gfc_trans_call, gfc_trans_allocate): likewise. - (trans_associate_var): Nullify derived allocatable components - and finalize function targets with defined assignment - components on leaving the block scope. - (trans_allocate): Finalize source expressions, if required, - and set init_expr artificial temporarily to suppress the - finalization in gfc_trans_assignment. - * trans.cc (gfc_add_finalizer_call): Do not finalize the - temporaries generated in type assignment with defined - assignment components. - (gfc_assignment_finalizer_call): New function. - (gfc_finalize_tree_expr): New function. - * trans.h: Add finalblock to gfc_se. Add the prototypes for - gfc_finalize_tree_expr and gfc_assignment_finalizer_call. - -2023-03-15 Harald Anlauf - Tobias Burnus - - PR fortran/58331 - * interface.cc (compare_parameter): Adjust check of array dummy - arguments to handle the case of CLASS variables. - -2023-03-11 Harald Anlauf - - PR fortran/106945 - * trans-expr.cc (gfc_copy_class_to_class): Convert element counts in - bounds check to common type for comparison. - -2023-03-10 Harald Anlauf - - PR fortran/104332 - * resolve.cc (resolve_symbol): Avoid NULL pointer dereference while - checking a symbol with the BIND(C) attribute. - -2023-03-05 Harald Anlauf - Tobias Burnus - - PR fortran/106856 - * class.cc (gfc_build_class_symbol): Handle update of attributes of - existing class container. - (gfc_find_derived_vtab): Fix several memory leaks. - (find_intrinsic_vtab): Ditto. - * decl.cc (attr_decl1): Manage update of symbol attributes from - CLASS attributes. - * primary.cc (gfc_variable_attr): OPTIONAL shall not be taken or - updated from the class container. - * symbol.cc (free_old_symbol): Adjust management of symbol versions - to not prematurely free array specs while working on the declation - of CLASS variables. - -2023-03-01 Tobias Burnus - - PR middle-end/108546 - * trans-openmp.cc (gfc_trans_omp_clauses): Fix mapping of - type(C_ptr) variables. - -2023-02-27 Harald Anlauf - - PR fortran/108937 - * trans-intrinsic.cc (gfc_conv_intrinsic_ibits): Handle corner case - LEN argument of IBITS equal to BITSIZE(I). - -2023-02-25 Mikael Morin - - PR fortran/108923 - * intrinsic.cc (get_intrinsic_dummy_arg, - set_intrinsic_dummy_arg): Rename the former to the latter. - Remove the return value, add a reference to the lhs as argument, - and do the pointer assignment inside the function. Don't do - it if the pointer is already non-NULL. - (sort_actual): Update caller. - -2023-02-25 Harald Anlauf - - * arith.cc (gfc_real2int): Clear mpfr variable after use. - -2023-02-25 Tobias Burnus - - PR fortran/108621 - * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Skip setting of - bounds of CFI desc for 'pointer,intent(out)'. - -2023-02-24 Rimvydas Jasinskas - - * trans-decl.cc (gfc_finish_var_decl): Apply attribute. - (generate_local_decl): Add diagnostic for dummy and local variables. - -2023-02-24 Mikael Morin - - PR fortran/108923 - * expr.cc (gfc_free_actual_arglist): Free associated_dummy - memory. - (gfc_copy_actual_arglist): Make a copy of the associated_dummy - field if it is set in the original element. - -2023-02-24 Harald Anlauf - - PR fortran/108924 - * frontend-passes.cc (do_subscript): Clear used gmp variable. - -2023-02-23 Arsen Arsenović - - * invoke.texi: Reorder index entries around @items. - -2023-02-23 Arsen Arsenović - - * invoke.texi: Reorder @opindex commands to precede @items they - relate to. - -2023-02-22 Harald Anlauf - - PR fortran/96024 - * resolve.cc (resolve_component): The type of a CHARACTER length - expression must be INTEGER. - -2023-02-21 Harald Anlauf - - PR fortran/96025 - * parse.cc (check_function_result_typed): Improve type check of - specification expression for character length and return status. - (parse_spec): Use status from above. - * resolve.cc (resolve_fntype): Prevent use of invalid specification - expression for character length. - -2023-02-16 Patrick Palka - - * gfortran.h: Mechanically drop static from static inline - functions via s/^static inline/inline/g. - -2023-02-15 Steve Kargl - - PR fortran/103608 - * frontend-passes.cc (do_intent): Catch NULL pointer dereference on - reference to invalid formal argument. - -2023-02-15 Steve Kargl - - PR fortran/104554 - * resolve.cc (check_assumed_size_reference): Avoid NULL pointer - dereference. - -2023-02-15 Tobias Burnus - - PR fortran/108512 - * openmp.cc (gfc_resolve_omp_parallel_blocks): Handle combined 'loop' - directives. - (gfc_resolve_do_iterator): Set a source location for added - 'private'-clause arguments. - * resolve.cc (gfc_resolve_code): Call gfc_resolve_omp_do_blocks - also for EXEC_OMP_LOOP and gfc_resolve_omp_parallel_blocks for - combined directives with loop + '{masked,master} taskloop (simd)'. - -2023-02-13 Harald Anlauf - - PR fortran/103475 - * primary.cc (gfc_expr_attr): Avoid NULL pointer dereference for - invalid use of CLASS variable. - -2023-02-13 Rimvydas Jasinskas - - * decl.cc: Add EXT_ATTR_NOINLINE, EXT_ATTR_NORETURN, EXT_ATTR_WEAK. - * gfortran.h (ext_attr_id_t): Ditto. - * gfortran.texi (GCC$ ATTRIBUTES): Document them. - * trans-decl.cc (build_function_decl): Apply them. - -2023-02-09 Harald Anlauf - Steven G. Kargl - - PR fortran/69636 - PR fortran/103779 - * intrinsic.cc (gfc_convert_chartype): Recover on invalid character - kind in conversion instead of generating an internal error. - -2023-02-09 Tobias Burnus - - PR fortran/107424 - * trans-openmp.cc (struct dovar_init_d): Add 'sym' and - 'non_unit_incr' members. - (gfc_nonrect_loop_expr): New. - (gfc_trans_omp_do): Call it; use normal loop bounds - for unit stride - and only create local loop var. - -2023-02-09 Tobias Burnus - - * parse.cc (decode_omp_directive): Really ignore 'assumes' with - -fopenmp-simd. - -2023-02-08 Steve Kargl - - PR fortran/103259 - * resolve.cc (resolve_common_vars): Avoid NULL pointer dereference - when a symbol's location is not set. - -2023-02-07 Harald Anlauf - - PR fortran/95107 - * trans-decl.cc (gfc_finish_var_decl): With -fno-automatic, do not - make ASSOCIATE variables TREE_STATIC. - -2023-02-05 Harald Anlauf - - PR fortran/108592 - * arith.cc (gfc_arith_divide): Emit integer division truncation - warnings using gfc_warning instead of gfc_warning_now to prevent - redundant messages. - -2023-02-03 Jakub Jelinek - - PR fortran/108451 - * trans-decl.cc (gfc_trans_use_stmts): Call clear_slot before - doing continue. - -2023-02-01 Harald Anlauf - - PR fortran/108609 - * expr.cc (find_array_section): Add check to prevent interpreting an - mpz non-integer constant as an integer. - -2023-02-01 Tobias Burnus - - * openmp.cc (resolve_omp_clauses): Check also for - power of two. - -2023-01-29 Mikael Morin - - PR fortran/108450 - * check.cc (gfc_check_minloc_maxloc): Explicitly set argument name. - (gfc_check_findloc): Ditto. - -2023-01-29 Jerry DeLisle - - PR fortran/103506 - * parse.cc (parse_module): Remove use of a bool error value - that prevented proper setting of the namespace pointer. - -2023-01-28 Harald Anlauf - Steven G. Kargl - - PR fortran/108527 - * resolve.cc (compare_bound_int): Expression to compare must be of - type INTEGER. - (compare_bound_mpz_t): Likewise. - (check_dimension): Fix comment on checks applied to array section - and clean up associated logic. - -2023-01-28 Harald Anlauf - - PR fortran/108453 - * match.cc (gfc_match_common): A USE associated name shall not appear - in a COMMON block (F2018:C8121). - -2023-01-27 Tobias Burnus - - PR fortran/108558 - * trans-openmp.cc (gfc_split_omp_clauses): Handle has_device_addr. - -2023-01-26 Harald Anlauf - - PR fortran/108544 - * resolve.cc (check_host_association): Extend host association check - so that it is not restricted to functions. Also prevent NULL pointer - dereference. - -2023-01-25 Steve Kargl - - PR fortran/108528 - * array.cc (compare_bounds): Return false instead of generating an - internal error on an invalid argument type. - -2023-01-24 Harald Anlauf - - PR fortran/108529 - * simplify.cc (simplify_transformation): Do not try to simplify - transformational intrinsic when the ARRAY argument has a NULL shape. - -2023-01-23 Harald Anlauf - - PR fortran/108502 - * dependency.cc (gfc_check_dependency): Prevent NULL pointer - dereference while recursively checking expressions. - -2023-01-23 Harald Anlauf - - PR fortran/108501 - * interface.cc (get_expr_storage_size): Check array subscript triplets - that we actually have integer values before trying to extract with - mpz_get_si. - -2023-01-23 Harald Anlauf - - PR fortran/108420 - * iresolve.cc (check_charlen_present): Preserve character length if - there is no array constructor. - -2023-01-21 Jerry DeLisle - - PR fortran/102595 - * data.cc (gfc_assign_data_value): Remove check for PARAMETER in DATA. - * primary.cc (match_variable): Add check for PARAMETER in DATA. - -2023-01-19 Harald Anlauf - - PR fortran/108434 - * expr.cc (class_allocatable): Prevent NULL pointer dereference - or invalid read. - (class_pointer): Likewise. - -2023-01-17 Harald Anlauf - - PR fortran/108421 - * interface.cc (get_expr_storage_size): Check that we actually have - an integer value before trying to extract it with mpz_get_si. - -2023-01-12 Tobias Burnus - - PR fortran/107706 - * openmp.cc (gfc_resolve_omp_assumptions): Reject nonscalars. - -2023-01-11 Jakub Jelinek - - PR fortran/108349 - * f95-lang.cc (gfc_init_builtin_function): Fix up function types - for BUILT_IN_REALLOC and BUILT_IN_SINCOS{F,,L}. Formatting fixes. - -2023-01-10 Harald Anlauf - - PR fortran/97345 - * frontend-passes.cc (do_subscript): Clear used gmp variables. - -2023-01-02 Jakub Jelinek - - * gfortranspec.cc (lang_specific_driver): Update copyright notice - dates. - * gfc-internals.texi: Bump @copying's copyright year. - * gfortran.texi: Ditto. - * intrinsic.texi: Ditto. - * invoke.texi: Ditto. - -Copyright (C) 2023 Free Software Foundation, Inc. +Copyright (C) 2024 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/fortran/ChangeLog-2023 b/gcc/fortran/ChangeLog-2023 new file mode 100644 index 000000000000..3b5c9a6c3793 --- /dev/null +++ b/gcc/fortran/ChangeLog-2023 @@ -0,0 +1,2195 @@ +2023-12-28 Rimvydas Jasinskas + + PR fortran/81615 + * invoke.texi: Add Developer Options section. Move '-fdump-*' + to it. Add small examples about changed '-save-temps' behavior. + +2023-12-20 Rimvydas Jasinskas + + PR fortran/81615 + * lang-specs.h (F951_CPP_OPTIONS): Do not hardcode ".f90" extension + (F951_CPP_EXTENSION): Use .fi/.fii for fixed/free form sources + * options.cc (form_from_filename): Handle the new extensions + +2023-12-19 Sandra Loosemore + + * gfortran.h: Include omp-selectors.h. + (enum gfc_omp_trait_property_kind): Delete, and replace all + references with equivalent omp_tp_type enumerators. + (struct gfc_omp_trait_property): Update for omp_tp_type. + (struct gfc_omp_selector): Replace string name with new enumerator. + (struct gfc_omp_set_selector): Likewise. + * openmp.cc (gfc_free_omp_trait_property_list): Update for + omp_tp_type. + (omp_construct_selectors): Delete. + (omp_device_selectors): Delete. + (omp_implementation_selectors): Delete. + (omp_user_selectors): Delete. + (gfc_ignore_trait_property_extension): New. + (gfc_ignore_trait_property_extension_list): New. + (gfc_match_omp_selector): Adjust for new representations and simplify + dispatch logic. Uniformly warn instead of sometimes error when an + unknown selector is found. + (gfc_match_omp_context_selector): Adjust for new representations. + Adjust error messages for extraneous/incorrect score. + (gfc_match_omp_context_selector_specification): Likewise. + * trans-openmp.cc (gfc_trans_omp_declare_variant): Adjust for + new representations. + +2023-12-19 Sandra Loosemore + + * trans-openmp.cc (gfc_trans_omp_declare_varaint): Adjust for + new namelist property representation. + +2023-12-19 Sandra Loosemore + + * trans-openmp.cc (gfc_trans_omp_declare_variant): Use new + constructors. + +2023-12-18 Harald Anlauf + + PR fortran/96580 + * check.cc (array_size_check): New helper function. + (gfc_check_date_and_time): Use it for checking minimum size of + VALUES argument. Update kind check to Fortran 2018. + * intrinsic.texi: Fix documentation of DATE_AND_TIME. + +2023-12-17 Harald Anlauf + + PR fortran/97592 + * trans-expr.cc (gfc_conv_procedure_call): For a contiguous dummy + with the TARGET attribute, the effective argument may still be + contiguous even if the actual argument is not simply-contiguous. + Allow packing to be decided at runtime by _gfortran_internal_pack. + +2023-12-16 Paul Thomas + + PR fortran/112459 + * trans-array.cc (gfc_trans_array_constructor_value): Replace + gfc_notification_std with explicit logical expression that + selects F2003/2008 and excludes -std=default/gnu. + * trans-expr.cc (gfc_conv_expr): Ditto. + +2023-12-16 Paul Thomas + + PR fortran/112834 + PR fortran/111853 + * match.cc (build_associate_name): Fix whitespace issues. + (select_type_set_tmp): If the selector is of unknown type, go + the SELECT TYPE selector to see if this is a function and, if + the result is available, use its typespec. + * parse.cc (parse_associate): Again, use the function result if + the type of the selector result is unknown. + * trans-stmt.cc (trans_associate_var): The expression has to be + of type class, for class_target to be true. Convert and fix + class functions. Pass the fixed expression. + * resolve.cc (gfc_expression_rank): Avoid null dereference. + +2023-12-15 Jerry DeLisle + + PR fortran/112783 + * intrinsic.texi: Fix where no COMPLEX allowed. + * invoke.texi: Clarify -fdev-math. + +2023-12-14 Jerry DeLisle + + PR fortran/112873 + * gfortran.texi: Update to reflect the changes. + * intrinsic.cc (add_functions): Update the standard that the + various degree trigonometric functions have been described in. + (gfc_check_intrinsic_standard): Add an error string for F2023. + * intrinsic.texi: Update accordingly. + +2023-12-13 Julian Brown + + * dependency.cc (gfc_omp_expr_prefix_same): New function. + * dependency.h (gfc_omp_expr_prefix_same): Add prototype. + * gfortran.h (gfc_omp_namelist): Add "duplicate_of" field to "u2" + union. + * trans-openmp.cc (dependency.h): Include. + (gfc_trans_omp_array_section): Adjust mapping node arrangement for + array descriptors. Use GOMP_MAP_TO_PSET or + GOMP_MAP_RELEASE/GOMP_MAP_DELETE with the OMP_CLAUSE_RELEASE_DESCRIPTOR + flag set. + (gfc_symbol_rooted_namelist): New function. + (gfc_trans_omp_clauses): Check subcomponent and subarray/element + accesses elsewhere in the clause list for pointers to derived types or + array descriptors, and adjust or drop mapping nodes appropriately. + Adjust for changes to mapping node arrangement. + (gfc_trans_oacc_executable_directive): Pass code op through. + +2023-12-13 Julian Brown + + * trans-openmp.cc (gfc_trans_omp_array_section): Add OPENMP parameter. + Use GOMP_MAP_ATTACH_DETACH instead of GOMP_MAP_ALWAYS_POINTER for + derived type components. + (gfc_trans_omp_clauses): Update calls to gfc_trans_omp_array_section. + +2023-12-11 Thomas Schwinge + + * trans-openmp.cc (gfc_omp_call_is_alloc): Resolve ICE. + +2023-12-11 Tobias Burnus + + * gfortran.h (enum gfc_omp_requires_kind): Add + OMP_REQ_ATOMIC_MEM_ORDER_ACQUIRE and OMP_REQ_ATOMIC_MEM_ORDER_RELEASE. + (gfc_namespace): Add a 7th bit to omp_requires. + * module.cc (enum ab_attribute): Add AB_OMP_REQ_MEM_ORDER_ACQUIRE + and AB_OMP_REQ_MEM_ORDER_RELEASE + (mio_symbol_attribute): Handle it. + * openmp.cc (gfc_omp_requires_add_clause): Update for acquire/release. + (gfc_match_omp_requires): Likewise. + (gfc_match_omp_atomic): Handle them for atomic_default_mem_order. + * parse.cc: Likewise. + +2023-12-11 Tobias Burnus + + * trans-openmp.cc (gfc_omp_call_add_alloc, + gfc_omp_call_is_alloc): Set 'fn spec'. + +2023-12-10 Harald Anlauf + + PR fortran/111503 + * expr.cc (gfc_is_simply_contiguous): Determine characteristics of + NULL() from optional MOLD argument, otherwise treat as contiguous. + * primary.cc (gfc_variable_attr): Derive attributes of NULL(MOLD) + from MOLD. + +2023-12-10 Harald Anlauf + + PR fortran/105543 + * resolve.cc (resolve_symbol): For a CLASS-valued function having a + RESULT clause, ensure that attr.class_ok is set for its symbol as + well as for its resolved result variable. + +2023-12-08 Tobias Burnus + + * dump-parse-tree.cc (show_omp_node): Handle EXEC_OMP_ALLOCATE + and EXEC_OMP_ALLOCATORS. + * f95-lang.cc (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST): + Add 'ECF_LEAF | ECF_MALLOC' to existing 'ECF_NOTHROW'. + (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LEAF_LIST): Define. + * gfortran.h (gfc_omp_clauses): Add contained_in_target_construct. + * invoke.texi (-fopenacc, -fopenmp): Update based on C version. + (-fopenmp-simd): New, based on C version. + (-fopenmp-allocators): New. + * lang.opt (fopenmp-allocators): Add. + * openmp.cc (resolve_omp_clauses): For allocators/allocate directive, + add target and no dynamic_allocators diagnostic and more invalid + diagnostic. + * parse.cc (decode_omp_directive): Set contains_teams_construct. + * trans-array.h (gfc_array_allocate): Update prototype. + (gfc_conv_descriptor_version): New prototype. + * trans-decl.cc (gfc_init_default_dt): Fix comment. + * trans-array.cc (gfc_conv_descriptor_version): New. + (gfc_array_allocate): Support GOMP_alloc allocation. + (gfc_alloc_allocatable_for_assignment, structure_alloc_comps): + Handle GOMP_free/omp_realloc as needed. + * trans-expr.cc (gfc_conv_procedure_call): Likewise. + (alloc_scalar_allocatable_for_assignment): Likewise. + * trans-intrinsic.cc (conv_intrinsic_move_alloc): Likewise. + * trans-openmp.cc (gfc_trans_omp_allocators, + gfc_trans_omp_directive): Handle allocators/allocate directive. + (gfc_omp_call_add_alloc, gfc_omp_call_is_alloc): New. + * trans-stmt.h (gfc_trans_allocate): Update prototype. + * trans-stmt.cc (gfc_trans_allocate): Support GOMP_alloc. + * trans-types.cc (gfc_get_dtype_rank_type): Set version field. + * trans.cc (gfc_allocate_using_malloc, gfc_allocate_allocatable): + Update to handle GOMP_alloc. + (gfc_deallocate_with_status, gfc_deallocate_scalar_with_status): + Handle GOMP_free. + (trans_code): Update call. + * trans.h (gfc_allocate_allocatable, gfc_allocate_using_malloc): + Update prototype. + (gfc_omp_call_add_alloc, gfc_omp_call_is_alloc): New prototype. + * types.def (BT_FN_PTR_PTR_SIZE_PTRMODE_PTRMODE): New. + +2023-12-06 David Malcolm + + * error.cc (gfc_diagnostic_starter): Make diagnostic_info param + const. + (gfc_diagnostic_finalizer): Likewise. + +2023-12-05 Harald Anlauf + Tobias Burnus + + PR fortran/100988 + * gfortran.h (IS_PROC_POINTER): New macro. + * trans-types.cc (gfc_sym_type): Use macro in determination if the + restrict qualifier can be used for a dummy variable. Fix logic to + allow the restrict qualifier also for optional arguments, and to + not apply it to pointer or proc_pointer arguments. + +2023-12-05 Richard Sandiford + + * f95-lang.cc (gfc_gnu_attribute_table): Add extra braces to work + around PR 16333 in older compilers. + +2023-12-02 Harald Anlauf + + PR fortran/93762 + PR fortran/100651 + * trans-array.cc (gfc_trans_deferred_array): Add presence check + for optional deferred-length character dummy arguments. + * trans-expr.cc (gfc_conv_missing_dummy): The character length for + deferred-length dummy arguments is passed by reference, so that + its value can be returned. Adjust handling for optional dummies. + +2023-12-02 Richard Sandiford + + * f95-lang.cc: Include attribs.h. + (gfc_attribute_table): Change to an array of scoped_attribute_specs + pointers, using... + (gfc_gnu_attributes, gfc_gnu_attribute_table): ...these new globals. + +2023-12-01 Harald Anlauf + + PR fortran/112772 + * trans-expr.cc (gfc_conv_class_to_class): Make copy-out conditional + on the presence of an OPTIONAL CLASS argument passed to an OPTIONAL + CLASS dummy. + +2023-11-30 Harald Anlauf + + PR fortran/112764 + * primary.cc (gfc_variable_attr): Set TARGET attribute of associating + entity dependent on TARGET or POINTER attribute of selector. + +2023-11-28 Andrew Jenner + Tobias Burnus + + PR fortran/110415 + * trans-expr.cc (trans_class_vptr_len_assignment): Add + from_vptrp parameter. Populate it. Don't check for DECL_P + when deciding whether to create temporary. + (trans_class_pointer_fcn, gfc_trans_pointer_assignment): Add + NULL argument to trans_class_vptr_len_assignment calls. + (trans_class_assignment): Get rhs_vptr from + trans_class_vptr_len_assignment and use it for determining size + for allocation/reallocation. Use return value from realloc. + +2023-11-26 Harald Anlauf + + PR fortran/111880 + * resolve.cc (resolve_common_vars): Do not call gfc_add_in_common + for symbols that are USE associated or used in a submodule. + +2023-11-24 Tobias Burnus + + * lang.opt (Wopenmp): Add, enabled by dafault and documented in C. + * openmp.cc (gfc_match_omp_declare_target, resolve_positive_int_expr, + resolve_nonnegative_int_expr, resolve_omp_clauses, + gfc_resolve_omp_do_blocks): Use OPT_Wopenmp with gfc_warning{,_now}. + +2023-11-24 Tobias Burnus + + * openmp.cc (gfc_match_omp_depobj): Accept optionally an argument + to the destroy clause. + +2023-11-23 Harald Anlauf + + PR fortran/112609 + * check.cc (gfc_check_system_clock): Add checks on integer arguments + to SYSTEM_CLOCK specific to F2023. + * error.cc (notify_std_msg): Adjust to handle new features added + in F2023. + * gfortran.texi (_gfortran_set_options): Document GFC_STD_F2023_DEL, + remove obsolete option GFC_STD_F2008_TS and fix enumeration values. + * libgfortran.h (GFC_STD_F2023_DEL): Add and use in GFC_STD_OPT_F23. + * options.cc (set_default_std_flags): Add GFC_STD_F2023_DEL. + +2023-11-17 Tobias Burnus + + * gfortran.texi (_gfortran_set_options): Document GFC_STD_F2023. + * invoke.texi (std,pedantic,Wampersand,Wtabs): Add -std=2023. + * lang.opt (std=f2023): Add. + * libgfortran.h (GFC_STD_F2023, GFC_STD_OPT_F23): Add. + * options.cc (set_default_std_flags): Add GFC_STD_F2023. + (gfc_init_options): Set max_continue_free to 1,000,000. + (gfc_post_options): Set flag_free_line_length if unset. + (gfc_handle_option): Add OPT_std_f2023, set max_continue_free = 255 + for -std=f2003, f2008 and f2018. + +2023-11-14 David Malcolm + + * error.cc (gfc_diagnostics_init): Use diagnostic_start_span. + +2023-11-07 Joseph Myers + + * gfortran.h (gfc_real_info): Refer to C23 instead of C2X in + comment. + +2023-11-06 Martin Jambor + + * trans-decl.cc (gfc_build_builtin_function_decls): Fix fnspec of + generate_error. + +2023-11-04 David Malcolm + + * cpp.cc: Update for changes to diagnostic_context. + * error.cc: Likewise. + * options.cc: Likewise. + +2023-11-03 Harald Anlauf + + PR fortran/97245 + * match.cc (gfc_match_call): If a procedure pointer has already been + resolved, do not create a new symbol in a procedure reference of + the same name shadowing the first one if it is host-associated. + +2023-11-03 Harald Anlauf + + PR fortran/92887 + * trans-expr.cc (conv_cond_temp): Helper function for creation of a + conditional temporary. + (gfc_conv_procedure_call): Handle passing of allocatable or pointer + actual argument to dummy with OPTIONAL + VALUE attribute. Actual + arguments that are not allocated or associated are treated as not + present. + +2023-11-03 Paul Thomas + + PR fortran/98498 + * interface.cc (upoly_ok): Defined operators using unlimited + polymorphic formal arguments must not override the intrinsic + operator use. + +2023-11-02 Paul Thomas + + PR fortran/112316 + * parse.cc (parse_associate): Remove condition that caused this + regression. + +2023-10-30 Paul Thomas + + PR fortran/104555 + * resolve.cc (resolve_select_type): If the selector expression + has no class component references and the expression is a + derived type, copy the typespec of the symbol to that of the + expression. + +2023-10-27 Harald Anlauf + Steven G. Kargl + + PR fortran/104649 + * decl.cc (gfc_match_formal_arglist): Handle conflicting declarations + of a MODULE PROCEDURE when one of the declarations is an alternate + return. + +2023-10-27 Paul Thomas + + PR fortran/104625 + * expr.cc (gfc_check_vardef_context): Check that the target + does have a vector index before emitting the specific error. + * match.cc (copy_ts_from_selector_to_associate): Ensure that + class valued operator expressions set the selector rank and + use the rank to provide the associate variable with an + appropriate array spec. + * resolve.cc (resolve_operator): Reduce stacked parentheses to + a single pair. + (fixup_array_ref): Extract selector symbol from parentheses. + +2023-10-26 Paul-Antoine Arras + Tobias Burnus + + * interface.cc (gfc_compare_types): Return true if one type is C_PTR + and the other is a compatible INTEGER(8). + * misc.cc (gfc_typename): Handle the case where an INTEGER(8) actually + holds a TYPE(C_PTR). + +2023-10-25 Thomas Schwinge + + * openmp.cc (omp_mask2): Split 'OMP_CLAUSE_HOST_SELF' into + 'OMP_CLAUSE_SELF', 'OMP_CLAUSE_HOST'. + (gfc_match_omp_clauses, OACC_UPDATE_CLAUSES): Adjust. + +2023-10-25 Chung-Lin Tang + + * gfortran.h (typedef struct gfc_omp_clauses): Add self_expr field. + * openmp.cc (enum omp_mask2): Add OMP_CLAUSE_SELF. + (gfc_match_omp_clauses): Add handling for OMP_CLAUSE_SELF. + (OACC_PARALLEL_CLAUSES): Add OMP_CLAUSE_SELF. + (OACC_KERNELS_CLAUSES): Likewise. + (OACC_SERIAL_CLAUSES): Likewise. + (resolve_omp_clauses): Add handling for omp_clauses->self_expr. + * trans-openmp.cc (gfc_trans_omp_clauses): Add handling of + clauses->self_expr and building of OMP_CLAUSE_SELF tree clause. + (gfc_split_omp_clauses): Add handling of self_expr field copy. + +2023-10-25 Thomas Schwinge + + * dump-parse-tree.cc (show_omp_clauses): Group handling of 'if' + clause without and with modifier. + * frontend-passes.cc (gfc_code_walker): Likewise. + * gfortran.h (gfc_omp_clauses): Likewise. + * openmp.cc (gfc_free_omp_clauses): Likewise. + +2023-10-18 Tobias Burnus + + * intrinsic.texi (signal): Add 'intrinsic :: signal, sleep' to + the example to make it safer. + +2023-10-17 Harald Anlauf + + PR fortran/111837 + * frontend-passes.cc (traverse_io_block): Dependency check of loop + nest shall be triangular, not banded. + +2023-10-17 Tobias Burnus + + * intrinsic.texi (signal): Mention that the argument + passed to the signal handler procedure is passed by reference. + Extend example. + +2023-10-15 Tobias Burnus + + * scanner.cc (skip_free_comments, skip_fixed_comments): Remove + leftover 'OpenACC' from comments about OpenMP's conditional + compilation sentinel. + +2023-10-14 Tobias Burnus + + * gfortran.h (ext_attr_t): Add omp_allocate flag. + * match.cc (gfc_free_omp_namelist): Void deleting same + u2.allocator multiple times now that a sequence can use + the same one. + * openmp.cc (gfc_match_omp_clauses, gfc_match_omp_allocate): Use + same allocator expr multiple times. + (is_predefined_allocator): Make static. + (gfc_resolve_omp_allocate): Update/extend restriction checks; + remove sorry message. + (resolve_omp_clauses): Reject corarrays in allocate/allocators + directive. + * parse.cc (check_omp_allocate_stmt): Permit procedure pointers + here (rejected later) for less misleading diagnostic. + * trans-array.cc (gfc_trans_auto_array_allocation): Propagate + size for GOMP_alloc and location to which it should be added to. + * trans-decl.cc (gfc_trans_deferred_vars): Handle 'omp allocate' + for stack variables; sorry for static variables/common blocks. + * trans-openmp.cc (gfc_trans_omp_clauses): Evaluate 'allocate' + clause's allocator only once; fix adding expressions to the + block. + (gfc_trans_omp_single): Pass a block to gfc_trans_omp_clauses. + +2023-10-13 Harald Anlauf + + PR fortran/104351 + * decl.cc (get_proc_name): Extend name conflict detection between + internal procedure and previous declaration also to derived type. + +2023-10-13 Harald Anlauf + + PR fortran/110957 + * invoke.texi: Update documentation to reflect '-ffpe-trap=none'. + * options.cc (gfc_handle_fpe_option): Fix mixup up of error messages + for options -ffpe-trap and -ffpe-summary. Accept '-ffpe-trap=none' + to clear FPU traps previously set on command line. + +2023-10-13 Richard Biener + + PR tree-optimization/111779 + * trans-expr.cc (gfc_trans_assignment_1): Initialize + lhs_caf_attr and rhs_caf_attr codimension flag to avoid + false positive -Wuninitialized. + +2023-10-12 Paul Thomas + + PR fortran/67740 + * trans-expr.cc (gfc_trans_pointer_assignment): Set the hidden + string length component for pointer assignment to character + pointer components. + +2023-10-08 Tobias Burnus + + * parse.cc (parse_omp_structured_block): Make the user code end + up inside of BLOCK construct for strictly structured blocks; + fix fallout for 'section' and 'teams'. + * openmp.cc (resolve_omp_target): Fix changed BLOCK handling + for teams in target checking. + +2023-10-04 Paul Thomas + + PR fortran/37336 + PR fortran/111674 + * trans-expr.cc (gfc_trans_scalar_assign): Finalize components + on deallocation if derived type is not finalizable. + +2023-10-03 David Malcolm + + * error.cc (gfc_format_decoder): Update for "m_" prefixes to + text_info fields. + +2023-10-02 David Malcolm + + * error.cc (gfc_diagnostics_init): Update for change to start_span. + +2023-10-02 David Malcolm + + * error.cc (gfc_diagnostic_starter): Update for reorganization of + source-printing fields of diagnostic_context. + (gfc_diagnostics_init): Likewise. + (gfc_diagnostics_finish): Likewise. + +2023-09-29 Andre Vehreschild + + PR fortran/37336 + * trans-array.cc (structure_alloc_comps): Deref coarray. + (gfc_trans_deferred_array): Add freeing of components after + check for allocated coarray. + +2023-09-24 Paul Thomas + + PR fortran/68155 + PR fortran/111271 + * decl.cc (fix_initializer_charlen): New function broken out of + add_init_expr_to_sym. + (add_init_expr_to_sym, build_struct): Call the new function. + * trans-expr.cc (gfc_conv_intrinsic_to_class): Remove repeated + condition. + +2023-09-23 Harald Anlauf + + PR fortran/95710 + * class.cc (gfc_build_class_symbol): Do not try to build class + container for invalid typespec. + * resolve.cc (resolve_fl_var_and_proc): Prevent NULL pointer + dereference. + (resolve_symbol): Likewise. + +2023-09-19 Harald Anlauf + + PR fortran/70231 + * trans-array.cc (trans_array_constructor): In absence of a typespec, + use string length determined by get_array_ctor_strlen() to reasonably + initialize auxiliary variable for bounds-checking. + +2023-09-15 Harald Anlauf + + PR fortran/30802 + * trans-array.cc (trans_array_bound_check): Add optional argument + COMPNAME for explicit specification of array component name. + (array_bound_check_elemental): Helper function for generating + bounds-checking code for elemental dimensions. + (gfc_conv_expr_descriptor): Use bounds-checking also for elemental + dimensions, i.e. those not handled by the scalarizer. + +2023-09-15 Mikael Morin + + PR fortran/108957 + * gfortran.h (gfc_symbol): Add comment documenting reference counting. + * parse.cc (parse_interface): Remove reference count incrementation. + +2023-09-12 Mikael Morin + + PR fortran/110996 + * gfortran.h (gfc_release_symbol): Set return type to bool. + * symbol.cc (gfc_release_symbol): Ditto. Return whether symbol was + freed. + (delete_symbol_from_ns): New, outline code from... + (gfc_restore_last_undo_checkpoint): ... here. Delete new symbols + from two more namespaces. + +2023-09-09 Mikael Morin + + * bbt.cc (delete_treap): Add argument REMOVED, set it to the removed + element from the tree. Change NULL to nullptr. + (gfc_delete_bbt): Return the removed element from the tree. + * gfortran.h (gfc_delete_symtree): Remove prototype. + (gfc_delete_bbt): Set return type to pointer. + * symbol.cc (gfc_delete_symtree): Make static. Get the element to be + freed from the result of gfc_delete_bbt. Remove the preliminary walk to + get it. + +2023-09-01 Harald Anlauf + + PR fortran/31059 + * trans-array.cc (gfc_conv_ss_startstride): For array bounds checking, + consider also array constructors in expressions, and use their shape. + +2023-08-31 Francois-Xavier Coudert + + * gfortran.texi: Likewise. + +2023-08-30 Mikael Morin + + PR fortran/48776 + * gfortran.h (gfc_drop_interface_elements_before): New prototype. + (gfc_current_interface_head): Return a reference to the pointer. + * interface.cc (gfc_current_interface_head): Ditto. + (free_interface_elements_until): New function, generalizing + gfc_free_interface. + (gfc_free_interface): Use free_interface_elements_until. + (gfc_drop_interface_elements_before): New function. + * parse.cc + (current_interface_ptr, previous_interface_head): New static variables. + (current_interface_valid_p, get_current_interface_ptr): New functions. + (decode_statement): Initialize previous_interface_head. + (reject_statement): Restore current interface pointer to point to + previous_interface_head. + +2023-08-26 Paul Thomas + + PR fortran/92586 + * trans-expr.cc (gfc_trans_arrayfunc_assign): Supply a missing + dereference for the call to gfc_deallocate_alloc_comp_no_caf. + +2023-08-25 Sandra Loosemore + + * gfortran.h (struct gfc_namespace): Add omp_structured_block bit. + * openmp.cc: Include omp-api.h. + (resolve_omp_clauses): Consolidate inscan reduction clause conflict + checking here. + (find_nested_loop_in_chain): New. + (find_nested_loop_in_block): New. + (gfc_resolve_omp_do_blocks): Set omp_current_do_collapse properly. + Handle imperfectly-nested loops when looking for nested omp scan. + Refactor to move inscan reduction clause conflict checking to + resolve_omp_clauses. + (gfc_resolve_do_iterator): Handle imperfectly-nested loops. + (struct icode_error_state): New. + (icode_code_error_callback): New. + (icode_expr_error_callback): New. + (diagnose_intervening_code_errors_1): New. + (diagnose_intervening_code_errors): New. + (make_structured_block): New. + (restructure_intervening_code): New. + (is_outer_iteration_variable): Do not assume loops are perfectly + nested. + (check_nested_loop_in_chain): New. + (check_nested_loop_in_block_state): New. + (check_nested_loop_in_block_symbol): New. + (check_nested_loop_in_block): New. + (expr_uses_intervening_var): New. + (is_intervening_var): New. + (expr_is_invariant): Do not assume loops are perfectly nested. + (resolve_omp_do): Handle imperfectly-nested loops. + * trans-stmt.cc (gfc_trans_block_construct): Generate + OMP_STRUCTURED_BLOCK if magic bit is set on block namespace. + +2023-08-25 Harald Anlauf + + PR fortran/35095 + * data.cc (get_array_index): Add bounds-checking code and return error + status. Overindexing will be allowed as an extension for -std=legacy + and generate an error in standard-conforming mode. + (gfc_assign_data_value): Use error status from get_array_index for + graceful error recovery. + +2023-08-25 Uros Bizjak + + * match.cc (gfc_match_equivalence): Rename TRUE/FALSE to true/false. + * module.cc (check_access): Ditto. + * primary.cc (match_real_constant): Ditto. + * trans-array.cc (gfc_trans_allocate_array_storage): Ditto. + (get_array_ctor_strlen): Ditto. + * trans-common.cc (find_equivalence): Ditto. + (add_equivalences): Ditto. + +2023-08-23 Harald Anlauf + + PR fortran/32986 + * resolve.cc (is_non_constant_shape_array): Add forward declaration. + (resolve_common_vars): Diagnose automatic array object in COMMON. + (resolve_symbol): Prevent confusing follow-on error. + +2023-08-22 Tobias Burnus + + * gfortran.h (enum gfc_omp_defaultmap_category): + Add OMP_DEFAULTMAP_CAT_ALL. + * openmp.cc (gfc_match_omp_clauses): Parse + 'all' as category. + * trans-openmp.cc (gfc_trans_omp_clauses): Handle it. + +2023-08-22 Harald Anlauf + + PR fortran/49588 + * data.cc (gfc_advance_section): Derive next index set and next offset + into DATA variable also for array references using vector sections. + Use auxiliary array to keep track of offsets into indexing vectors. + (gfc_get_section_index): Set up initial indices also for DATA variables + with array references using vector sections. + * data.h (gfc_get_section_index): Adjust prototype. + (gfc_advance_section): Likewise. + * resolve.cc (check_data_variable): Pass vector offsets. + +2023-08-16 Harald Anlauf + + PR fortran/110360 + * trans-expr.cc (conv_scalar_char_value): Use gfc_replace_expr to + avoid leaking replaced gfc_expr. + +2023-08-15 Martin Jambor + Harald Anlauf + + PR fortran/110677 + * resolve.cc (resolve_structure_cons): Check comp->ts is character + type before accessing stuff through comp->ts.u.cl. + +2023-08-15 Chung-Lin Tang + Thomas Schwinge + + * openmp.cc (OACC_DATA_CLAUSES): Add OMP_CLAUSE_DEFAULT. + +2023-08-14 Mikael Morin + + PR fortran/110360 + PR fortran/110419 + * trans-types.cc (gfc_sym_type): Use a bare character type for length + one value character dummy arguments. + * trans-expr.cc (gfc_conv_string_parameter): Handle single character + case. + (gfc_conv_procedure_call): Don't exclude interoperable kinds + from single character handling. For single character dummy arguments, + extend the existing handling of non-constant expressions to constant + expressions. + +2023-08-14 Mikael Morin + + * gfortran.h (gfc_length_one_character_type_p): New inline + function. + * check.cc (is_c_interoperable): Use + gfc_length_one_character_type_p. + * decl.cc (verify_bind_c_sym): Same. + * trans-expr.cc (gfc_conv_procedure_call): Same. + +2023-08-09 Steve Kargl + + PR fortran/109684 + * resolve.cc (resolve_types): Exclude contained procedures with + the artificial attribute from test for pureness. + +2023-07-31 Chung-Lin Tang + + * openmp.cc (resolve_omp_clauses): Add checking requiring + OpenACC host_data construct to have an use_device clause. + +2023-07-28 Harald Anlauf + + PR fortran/110825 + * gfortran.texi: Clarify argument passing convention. + * trans-expr.cc (gfc_conv_procedure_call): Do not pass the character + length as hidden argument when the declared dummy argument is + assumed-type. + +2023-07-27 Tobias Burnus + + * openmp.cc (resolve_omp_target): Minor cleanup. + * parse.cc (decode_omp_directive): Find TARGET statement + also higher in the stack. + +2023-07-26 Harald Anlauf + + PR fortran/68569 + * resolve.cc (check_data_variable): Do not accept strings with + deferred length or non-constant length in a DATA statement. + Reject also substrings of string variables of non-constant length. + +2023-07-25 Tobias Burnus + + PR fortran/110725 + PR middle-end/71065 + * gfortran.h (gfc_omp_clauses): Add target_first_st_is_teams. + * parse.cc (parse_omp_structured_block): Set it if the first + statement in the structured block of a TARGET is TEAMS or + a combined/composite starting with TEAMS. + * openmp.cc (resolve_omp_target): Also show an error for + contains_teams_construct without target_first_st_is_teams. + +2023-07-24 Tobias Burnus + + PR fortran/110725 + PR middle-end/71065 + * gfortran.h (gfc_omp_clauses): Add contains_teams_construct. + * openmp.cc (resolve_omp_target): New; check for teams nesting. + (gfc_resolve_omp_directive): Call it. + * parse.cc (decode_omp_directive): Set contains_teams_construct + on enclosing ST_OMP_TARGET. + +2023-07-20 Francois-Xavier Coudert + + * trans-intrinsic.cc (conv_intrinsic_ieee_comparison): Only + define it once. + +2023-07-20 Francois-Xavier Coudert + + * f95-lang.cc (gfc_init_builtin_functions): Add __builtin_iseqsig. + * trans-intrinsic.cc (conv_intrinsic_ieee_comparison): New + function. + (gfc_conv_ieee_arithmetic_function): Handle IEEE comparisons. + +2023-07-19 Tobias Burnus + + PR fortran/107424 + * trans-openmp.cc (gfc_nonrect_loop_expr): Accept all + constant loop steps. + (gfc_trans_omp_do): Likewise; use sign to determine + loop direction. + +2023-07-17 Harald Anlauf + + PR fortran/95947 + PR fortran/110658 + * trans-expr.cc (gfc_conv_procedure_call): For intrinsic procedures + whose result characteristics depends on the first argument and which + can be of type character, the character length will not be deferred. + +2023-07-17 Tobias Burnus + Chung-Lin Tang + + * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Dump + uses_allocators clause. + * gfortran.h (gfc_free_omp_namelist): Add memspace_sym to u union + and traits_sym to u2 union. + (OMP_LIST_USES_ALLOCATORS): New enum value. + (gfc_free_omp_namelist): Add 'bool free_mem_traits_space' arg. + * match.cc (gfc_free_omp_namelist): Likewise. + * openmp.cc (gfc_free_omp_clauses, gfc_match_omp_variable_list, + gfc_match_omp_to_link, gfc_match_omp_doacross_sink, + gfc_match_omp_clause_reduction, gfc_match_omp_allocate, + gfc_match_omp_flush): Update call. + (gfc_match_omp_clauses): Likewise. Parse uses_allocators clause. + (gfc_match_omp_clause_uses_allocators): New. + (enum omp_mask2): Add new OMP_CLAUSE_USES_ALLOCATORS. + (OMP_TARGET_CLAUSES): Accept it. + (resolve_omp_clauses): Resolve uses_allocators clause + * st.cc (gfc_free_statement): Update gfc_free_omp_namelist call. + * trans-openmp.cc (gfc_trans_omp_clauses): Handle + OMP_LIST_USES_ALLOCATORS; fail with sorry unless predefined allocator. + (gfc_split_omp_clauses): Handle uses_allocators. + +2023-07-17 Mikael Morin + + PR fortran/110618 + * trans.h (gfc_deallocate_with_status): Add class container + argument. + (gfc_deallocate_scalar_with_status): Ditto. + * trans.cc (gfc_deallocate_with_status): Add class container + argument and pass it down to gfc_add_finalize_call. + (gfc_deallocate_scalar_with_status): Same. + * trans-array.cc (structure_alloc_comps): Update caller. + * trans-stmt.cc (gfc_trans_deallocate): Ditto. + * trans-expr.cc (gfc_conv_procedure_call): Ditto. Pass + pre-evaluated class container argument if it's available. + +2023-07-17 Mikael Morin + + PR fortran/110618 + * trans.h (gfc_add_finalizer_call): Add class container argument. + * trans.cc (gfc_add_finalizer_call): Ditto. Pass down new + argument to get_final_proc_ref, get_elem_size, get_var_desc, + and get_vptr. + (get_elem_size): Add class container argument. + Use provided class container if it's available. + (get_var_descr): Same. + (get_vptr): Same. + (get_final_proc_ref): Same. Add boolean telling the class + container argument is used. Set it. Don't try to use + final_wrapper if class container argument was used. + +2023-07-17 Mikael Morin + + * trans.cc (get_var_descr): Factor scalar descriptor generation. + +2023-07-17 Mikael Morin + + * trans.cc (get_vptr): New function. + (gfc_add_finalizer_call): Move virtual table pointer evaluation + to get_vptr. + +2023-07-17 Mikael Morin + + * trans.cc (get_var_descr): Remove argument ts. Use var->ts + instead. + (gfc_add_finalizer_call): Update caller. + +2023-07-17 Mikael Morin + + * trans.cc (gfc_add_finalizer_call): Inline definition of + variable has_finalizer. Merge nested conditions. + +2023-07-17 Mikael Morin + + * trans.cc (gfc_add_finalizer_call): Remove local variable + final_expr. Pass down expr to get_final_proc_ref and move + final procedure expression generation down to its one usage + in get_final_proc_ref. + (get_final_proc_ref): Add argument expr. Remove argument + final_wrapper. Recreate final_wrapper from expr. + +2023-07-17 Mikael Morin + + * trans.cc (gfc_add_finalizer_call): Remove local variable + elem_size. Pass expression to get_elem_size and move the + element size expression generation close to its usage there. + (get_elem_size): Add argument expr, remove class_size argument + and rebuild it from expr. Remove ts argument and use the + type of expr instead. + +2023-07-17 Mikael Morin + + * trans.cc (gfc_add_finalizer_call): Move pre and post code for + the final procedure pointer expression to the outer block. + Reuse the previously evaluated final procedure pointer + expression. + +2023-07-17 Mikael Morin + + * trans.cc (gfc_add_finalizer_call): Add post code for desc_se + after the finalizer call. Add post code for final_se and + size_se as well. + +2023-07-17 Mikael Morin + + * trans.cc (gfc_build_final_call): Inline... + (gfc_add_finalizer_call): ... to its one caller. + +2023-07-17 Mikael Morin + + * trans.cc (get_var_descr): New function. + (gfc_build_final_call): Outline the data reference descriptor + evaluation code to get_var_descr. + +2023-07-17 Mikael Morin + + * trans.cc (get_elem_size): New function. + (gfc_build_final_call): Outline the element size evaluation + to get_elem_size. + +2023-07-17 Mikael Morin + + * trans.cc (get_final_proc_ref): New function. + (gfc_build_final_call): Outline the pointer evaluation code + to get_final_proc_ref. + +2023-07-17 Mikael Morin + + * trans.cc (gfc_build_final_call): Remove commented assertion. + +2023-07-14 Mikael Morin + + PR fortran/92178 + * trans.h (gfc_reset_vptr): Add class_container argument. + * trans-expr.cc (gfc_reset_vptr): Ditto. If a valid vptr can + be obtained through class_container argument, bypass evaluation + of e. + (gfc_conv_procedure_call): Wrap the argument evaluation code + in a conditional if the associated dummy is optional. Evaluate + the data reference to a pointer now, and replace later + references with usage of the pointer. + +2023-07-14 Mikael Morin + + PR fortran/92178 + * trans.h (struct gfc_se): New field class_container. + (struct gfc_ss_info): Ditto. + (gfc_evaluate_data_ref_now): New prototype. + * trans.cc (gfc_evaluate_data_ref_now): Implement it. + * trans-array.cc (gfc_conv_ss_descriptor): Copy class_container + field from gfc_se struct to gfc_ss_info struct. + (gfc_conv_expr_descriptor): Copy class_container field from + gfc_ss_info struct to gfc_se struct. + * trans-expr.cc (gfc_conv_class_to_class): Use class container + set in class_container field if available. + (gfc_conv_variable): Set class_container field on encountering + class variables or components, clear it on encountering + non-class components. + (gfc_conv_procedure_call): Evaluate data ref to a pointer now, + and replace later references by usage of the pointer. + +2023-07-14 Mikael Morin + + PR fortran/92178 + * trans-expr.cc (gfc_conv_procedure_call): Use a separate gfc_se + struct, initalized from parmse, to generate the class wrapper. + After the class wrapper code has been generated, copy it back + depending on whether parameter deallocation code has been + generated. + +2023-07-13 Mikael Morin + + PR fortran/106050 + * symbol.cc (gfc_restore_last_undo_checkpoint): Release symbols + in reverse order. + +2023-07-12 Andre Vehreschild + + PR fortran/102003 + * expr.cc (find_inquiry_ref): Replace len of pdt_string by + constant. + (simplify_ref_chain): Ensure input to find_inquiry_ref is + NULL. + (gfc_match_init_expr): Prevent PDT analysis for function calls. + (gfc_pdt_find_component_copy_initializer): Get the initializer + value for given component. + * gfortran.h (gfc_pdt_find_component_copy_initializer): New + function. + * simplify.cc (gfc_simplify_len): Replace len() of PDT with pdt + component ref or constant. + +2023-07-11 Harald Anlauf + + PR fortran/110288 + * symbol.cc (gfc_copy_formal_args_intr): When deriving the formal + argument attributes from the actual ones for intrinsic procedure + calls, take special care of CHARACTER arguments that we do not + wrongly treat them formally as deferred-length. + +2023-07-08 Steve Kargl + + PR fortran/99139 + PR fortran/99368 + * match.cc (gfc_match_namelist): Check for host associated or + defined types before applying default type. + (gfc_match_select_rank): Apply default type to selector of + unknown type if possible. + * resolve.cc (resolve_fl_variable): Do not apply local default + initialization to assumed rank entities. + +2023-07-08 Harald Anlauf + Steven G. Kargl + + PR fortran/92178 + * trans-expr.cc (gfc_conv_procedure_call): Check procedures for + allocatable dummy arguments with INTENT(OUT) and move deallocation + of actual arguments after evaluation of argument expressions before + the procedure is executed. + +2023-07-08 Harald Anlauf + + PR fortran/110585 + * arith.cc (gfc_compare_expr): Handle equality comparison of constant + complex gfc_expr arguments. + +2023-07-05 Robin Dapp + Juzhe-Zhong + + * trans-types.cc (gfc_type_for_mode): Ditto. + +2023-06-28 Harald Anlauf + + PR fortran/110360 + * trans-expr.cc (gfc_conv_procedure_call): For non-constant string + argument passed to CHARACTER(LEN=1),VALUE dummy, ensure proper + dereferencing and truncation of string to length 1. + +2023-06-28 Paul Thomas + + PR fortran/49213 + * expr.cc (gfc_is_ptr_fcn): Remove reference to class_pointer. + * resolve.cc (resolve_assoc_var): Call gfc_is_ptr_fcn to allow + associate names with pointer function targets to be used in + variable definition context. + * trans-decl.cc (get_symbol_decl): Remove extraneous line. + * trans-expr.cc (alloc_scalar_allocatable_subcomponent): Obtain + size of intrinsic and character expressions. + (gfc_trans_subcomponent_assign): Expand assignment to class + components to include intrinsic and character expressions. + +2023-06-24 Harald Anlauf + + PR fortran/110360 + * trans-expr.cc (gfc_conv_procedure_call): Truncate constant string + argument of length > 1 passed to scalar CHARACTER(1),VALUE dummy. + +2023-06-23 Harald Anlauf + + PR fortran/110360 + * trans-expr.cc (gfc_conv_procedure_call): Pass actual argument + to scalar CHARACTER(1),VALUE dummy argument by value. + +2023-06-21 Paul Thomas + + PR fortran/87477 + PR fortran/88688 + PR fortran/94380 + PR fortran/107900 + PR fortran/110224 + * decl.cc (char_len_param_value): Fix memory leak. + (resolve_block_construct): Remove unnecessary static decls. + * expr.cc (gfc_is_ptr_fcn): New function. + (gfc_check_vardef_context): Use it to permit pointer function + result selectors to be used for associate names in variable + definition context. + * gfortran.h: Prototype for gfc_is_ptr_fcn. + * match.cc (build_associate_name): New function. + (gfc_match_select_type): Use the new function to replace inline + version and to build a new associate name for the case where + the supplied associate name is already used for that purpose. + * resolve.cc (resolve_assoc_var): Call gfc_is_ptr_fcn to allow + associate names with pointer function targets to be used in + variable definition context. + * trans-decl.cc (gfc_get_symbol_decl): Unlimited polymorphic + variables need deferred initialisation of the vptr. + (gfc_trans_deferred_vars): Do the vptr initialisation. + * trans-stmt.cc (trans_associate_var): Ensure that a pointer + associate name points to the target of the selector and not + the selector itself. + +2023-06-21 Paul Thomas + + PR fortran/108961 + * trans-expr.cc (gfc_conv_procedure_call): The hidden string + length must not be passed to a formal arg of type(cptr). + +2023-06-20 Tobias Burnus + + * dump-parse-tree.cc (show_omp_namelist): Fix dump of the allocator + modifier of OMP_LIST_ALLOCATE. + +2023-06-20 Tobias Burnus + + * match.cc (gfc_match_char): Match with '%S' a symbol + with host_assoc = 1. + +2023-06-19 Tobias Burnus + + * intrinsic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS): Also + add references to the OpenMP 5.1 and 5.2 spec; add omp_initial_device + and omp_invalid_device named constants. + +2023-06-13 Harald Anlauf + Mikael Morin + + PR fortran/86277 + * trans-array.cc (gfc_trans_allocate_array_storage): When passing a + zero-sized array with fixed (= non-dynamic) size, allocate temporary + by the caller, not by the callee. + +2023-06-10 Francois-Xavier Coudert + + * f95-lang.cc (gfc_init_builtin_functions): Add fmax() and + fmin() built-ins, and their variants. + * mathbuiltins.def: Add FMAX and FMIN built-ins. + * trans-intrinsic.cc (conv_intrinsic_ieee_minmax): New function. + (gfc_conv_ieee_arithmetic_function): Handle IEEE_MIN_NUM and + IEEE_MAX_NUM functions. + +2023-06-09 Jakub Jelinek + + PR fortran/96024 + * primary.cc (gfc_convert_to_structure_constructor): Only do + constant string ctor length verification and truncation/padding + if constant length has INTEGER type. + +2023-06-08 Paul Thomas + + PR fortran/87477 + PR fortran/99350 + PR fortran/107821 + PR fortran/109451 + * decl.cc (char_len_param_value): Simplify a copy of the expr + and replace the original if there is no error. + * gfortran.h : Remove the redundant field 'rankguessed' from + 'gfc_association_list'. + * resolve.cc (resolve_assoc_var): Remove refs to 'rankguessed'. + (resolve_variable): Associate names with constant or structure + constructor targets cannot have array refs. + * trans-array.cc (gfc_conv_expr_descriptor): Guard expression + character length backend decl before using it. Suppress the + assignment if lhs equals rhs. + * trans-io.cc (gfc_trans_transfer): Scalarize transfer of + associate variables pointing to a variable. Add comment. + * trans-stmt.cc (trans_associate_var): Remove requirement that + the character length be deferred before assigning the value + returned by gfc_conv_expr_descriptor. Also, guard the backend + decl before testing with VAR_P. + +2023-06-06 Kwok Cheung Yeung + Tobias Burnus + + * dump-parse-tree.cc (show_omp_namelist): Display 'present' map + modifier. + (show_omp_clauses): Display 'present' motion modifier for 'to' + and 'from' clauses. + * gfortran.h (enum gfc_omp_map_op): Add entries with 'present' + modifiers. + (struct gfc_omp_namelist): Add 'present_modifer'. + * openmp.cc (gfc_match_motion_var_list): New, handles optional + 'present' modifier for to/from clauses. + (gfc_match_omp_clauses): Call it for to/from clauses; parse 'present' + in defaultmap and map clauses. + (resolve_omp_clauses): Allow 'present' modifiers on 'target', + 'target data', 'target enter' and 'target exit' directives. + * trans-openmp.cc (gfc_trans_omp_clauses): Apply 'present' modifiers + to tree node for 'map', 'to' and 'from' clauses. Apply 'present' for + defaultmap. + +2023-06-02 Steve Kargl + + PR fortran/100607 + * resolve.cc (resolve_select_rank): Remove duplicate error. + (resolve_fl_var_and_proc): Prevent NULL pointer dereference and + suppress error message for temporary. + +2023-06-02 Paul Thomas + + PR fortran/87477 + * parse.cc (parse_associate): Replace the existing evaluation + of the target rank with calls to gfc_resolve_ref and + gfc_expression_rank. Identify untyped target function results + with structure constructors by finding the appropriate derived + type. + * resolve.cc (resolve_symbol): Allow associate variables to be + assumed shape. + +2023-06-01 Harald Anlauf + + PR fortran/88552 + * decl.cc (gfc_match_kind_spec): Use error path on missing right + parenthesis. + (gfc_match_decl_type_spec): Use error return when an error occurred + during matching a KIND specifier. + +2023-06-01 Tobias Burnus + + * parse.cc (decode_omp_directive): Accept all pure directives + inside a PURE procedures; handle 'error at(execution). + +2023-05-26 Tobias Burnus + + * dump-parse-tree.cc (show_omp_namelist): Update allocator, fix + align dump. + (show_omp_node, show_code_node): Handle EXEC_OMP_ALLOCATE. + * gfortran.h (enum gfc_statement): Add ST_OMP_ALLOCATE and ..._EXEC. + (enum gfc_exec_op): Add EXEC_OMP_ALLOCATE. + (struct gfc_omp_namelist): Add 'allocator' to 'u2' union. + (struct gfc_namespace): Add omp_allocate. + (gfc_resolve_omp_allocate): New. + * match.cc (gfc_free_omp_namelist): Free 'u2.allocator'. + * match.h (gfc_match_omp_allocate, gfc_match_omp_allocators): New. + * openmp.cc (gfc_omp_directives): Uncomment allocate/allocators. + (gfc_match_omp_variable_list): Add bool arg for + rejecting listening common-block vars separately. + (gfc_match_omp_clauses): Update for u2.allocators. + (OMP_ALLOCATORS_CLAUSES, gfc_match_omp_allocate, + gfc_match_omp_allocators, is_predefined_allocator, + gfc_resolve_omp_allocate): New. + (resolve_omp_clauses): Update 'allocate' clause checks. + (omp_code_to_statement, gfc_resolve_omp_directive): Handle + OMP ALLOCATE/ALLOCATORS. + * parse.cc (in_exec_part): New global var. + (check_omp_allocate_stmt, parse_openmp_allocate_block): New. + (decode_omp_directive, case_exec_markers, case_omp_decl, + gfc_ascii_statement, parse_omp_structured_block): Handle + OMP allocate/allocators. + (verify_st_order, parse_executable): Set in_exec_part. + * resolve.cc (gfc_resolve_blocks, resolve_codes): Handle + allocate/allocators. + * st.cc (gfc_free_statement): Likewise. + * trans.cc (trans_code): Likewise. + * trans-openmp.cc (gfc_trans_omp_directive): Likewise. + (gfc_trans_omp_clauses, gfc_split_omp_clauses): Update for + u2.allocator, fix for u.align. + +2023-05-24 Harald Anlauf + + PR fortran/104350 + * simplify.cc (simplify_size): Reject DIM argument of intrinsic SIZE + with error when out of valid range. + +2023-05-24 Harald Anlauf + + PR fortran/103794 + * check.cc (gfc_check_reshape): Expand constant arguments SHAPE and + ORDER before checking. + * gfortran.h (gfc_is_constant_array_expr): Add prototype. + * iresolve.cc (gfc_resolve_reshape): Expand constant argument SHAPE. + * simplify.cc (is_constant_array_expr): If array is determined to be + constant, expand small array constructors if needed. + (gfc_is_constant_array_expr): Wrapper for is_constant_array_expr. + (gfc_simplify_reshape): Fix check for insufficient elements in SOURCE + when no padding specified. + +2023-05-23 Paul Thomas + + PR fortran/103716 + * resolve.cc (gfc_resolve_ref): Conversion of array_ref into an + element should be done for all characters without a len expr, + not just deferred lens, and for integer expressions. + * trans-expr.cc (conv_inquiry): For len and kind inquiry refs, + set the se string_length to NULL_TREE. + +2023-05-23 Paul Thomas + Steven G. Kargl + + PR fortran/97122 + * decl.cc (variable_decl): Clean up white space issues. + (gfc_match_final_decl): Declaration of finalizable derived type + is allowed in a submodule. + +2023-05-19 Bernhard Reutner-Fischer + + * expr.cc (gfc_get_corank): Use CLASS_DATA from gfortran.h. + * resolve.cc (resolve_component): Same. + (resolve_fl_derived0): Same. + * simplify.cc (gfc_simplify_extends_type_of): Same. + (simplify_cobound): Same. + +2023-05-18 Bernhard Reutner-Fischer + + * trans-array.cc (is_pointer_array): Use _P() defines from tree.h. + (gfc_conv_scalarized_array_ref): Ditto. + (gfc_conv_array_ref): Ditto. + * trans-decl.cc (gfc_finish_decl): Ditto. + (gfc_get_symbol_decl): Ditto. + * trans-expr.cc (gfc_trans_pointer_assignment): Ditto. + (gfc_trans_arrayfunc_assign): Ditto. + (gfc_trans_assignment_1): Ditto. + * trans-intrinsic.cc (gfc_conv_intrinsic_minmax): Ditto. + (conv_intrinsic_ieee_value): Ditto. + * trans-io.cc (gfc_convert_array_to_string): Ditto. + * trans-openmp.cc (gfc_omp_is_optional_argument): Ditto. + (gfc_trans_omp_clauses): Ditto. + * trans-stmt.cc (gfc_conv_label_variable): Ditto. + * trans.cc (gfc_build_addr_expr): Ditto. + (get_array_span): Ditto. + +2023-05-18 Bernhard Reutner-Fischer + + PR fortran/78798 + * array.cc (compare_bounds): Use narrower return type. + (gfc_compare_array_spec): Likewise. + (is_constant_element): Likewise. + (gfc_constant_ac): Likewise. + * check.cc (dim_rank_check): Likewise. + * cpp.cc (gfc_cpp_init_options): Likewise. + (dump_macro): Likewise. + * cpp.h (gfc_cpp_handle_option): Likewise. + * dependency.cc (gfc_ref_needs_temporary_p): Likewise. + (gfc_check_argument_dependency): Likewise. + (gfc_check_fncall_dependency): Likewise. + (ref_same_as_full_array): Likewise. + * dependency.h (gfc_check_fncall_dependency): Likewise. + (gfc_dep_resolver): Likewise. + (gfc_are_equivalenced_arrays): Likewise. + * expr.cc (gfc_copy_ref): Likewise. + (gfc_kind_max): Likewise. + (numeric_type): Likewise. + * gfortran.h (gfc_at_end): Likewise. + (gfc_at_eof): Likewise. + (gfc_at_bol): Likewise. + (gfc_at_eol): Likewise. + (gfc_define_undef_line): Likewise. + (gfc_wide_is_printable): Likewise. + (gfc_wide_is_digit): Likewise. + (gfc_wide_fits_in_byte): Likewise. + (gfc_find_sym_tree): Likewise. + (gfc_generic_intrinsic): Likewise. + (gfc_specific_intrinsic): Likewise. + (gfc_intrinsic_actual_ok): Likewise. + (gfc_has_vector_index): Likewise. + (gfc_numeric_ts): Likewise. + (gfc_impure_variable): Likewise. + (gfc_pure): Likewise. + (gfc_implicit_pure): Likewise. + (gfc_elemental): Likewise. + (gfc_pure_function): Likewise. + (gfc_implicit_pure_function): Likewise. + (gfc_compare_array_spec): Likewise. + (gfc_constant_ac): Likewise. + (gfc_expanded_ac): Likewise. + (gfc_check_digit): Likewise. + * intrinsic.cc (gfc_find_subroutine): Likewise. + (gfc_generic_intrinsic): Likewise. + (gfc_specific_intrinsic): Likewise. + * io.cc (compare_to_allowed_values): Likewise. And remove + unneeded forward declaration. + * parse.cc: Likewise. + * parse.h (gfc_check_do_variable): Likewise. + * primary.cc (gfc_check_digit): Likewise. + * resolve.cc (resolve_structure_cons): Likewise. + (pure_stmt_function): Likewise. + (gfc_pure_function): Likewise. + (impure_stmt_fcn): Likewise. + (resolve_forall_iterators): Likewise. + (resolve_data): Likewise. + (gfc_impure_variable): Likewise. + (gfc_pure): Likewise. + (gfc_unset_implicit_pure): Likewise. + * scanner.cc (wide_is_ascii): Likewise. + (gfc_wide_toupper): Likewise. + (gfc_open_included_file): Likewise. + (gfc_at_end): Likewise. + (gfc_at_eof): Likewise. + (gfc_at_bol): Likewise. + (skip_comment_line): Likewise. + (gfc_gobble_whitespace): Likewise. + * symbol.cc (gfc_find_symtree_in_proc): Likewise. + * trans-array.cc: Likewise. + * trans-decl.cc (gfc_set_decl_assembler_name): Likewise. + * trans-types.cc (gfc_get_element_type): Likewise. + (gfc_add_field_to_struct): Likewise. + * trans-types.h (gfc_copy_dt_decls_ifequal): Likewise. + (gfc_return_by_reference): Likewise. + (gfc_is_nodesc_array): Likewise. + * trans.h (gfc_can_put_var_on_stack): Likewise. + +2023-05-17 Harald Anlauf + + PR fortran/95374 + PR fortran/104352 + * decl.cc (add_init_expr_to_sym): Set shape of initializer also for + zero-sized arrays, so that bounds violations can be detected later. + +2023-05-17 Tobias Burnus + + * trans-decl.cc (gfc_get_symbol_decl): Add attributes + such as 'declare target' also to hidden artificial + variable for deferred-length character variables. + * trans-openmp.cc (gfc_trans_omp_array_section, + gfc_trans_omp_clauses, gfc_trans_omp_target_exit_data): + Improve mapping of array descriptors and deferred-length + string variables. + +2023-05-16 Paul Thomas + + PR fortran/105152 + PR fortran/100193 + PR fortran/87496 + PR fortran/103389 + PR fortran/104429 + PR fortran/82774 + * interface.cc (gfc_compare_actual_formal): Emit an error if an + unlimited polymorphic actual is not matched either to an + unlimited or assumed type formal argument. + * resolve.cc (resolve_ordinary_assign): Emit an error if the + var expression of an ordinary assignment is a proc pointer + component. + * trans-array.cc (gfc_walk_array_ref): Provide assumed shape + arrays coming from interface mapping with a viable arrayspec. + * trans-expr.cc (gfc_conv_intrinsic_to_class): Tidy up flagging + of unlimited polymorphic 'class_ts'. + (gfc_conv_gfc_desc_to_cfi_desc): Assumed type is unlimited + polymorphic and should accept any actual type. + (gfc_conv_procedure_call): Replace dreadful kludge with a call + to gfc_finalize_tree_expr. Avoid dereferencing a void pointer + by giving it the pointer type of the actual argument. + (alloc_scalar_allocatable_subcomponent): Shorten the function + name and replace the symbol argument with the se string length. + If a deferred length character length is either not present or + is not a variable, give the typespec a variable and assign the + string length to that. Use gfc_deferred_strlen to find the + hidden string length component. + (gfc_trans_subcomponent_assign): Convert the expression before + the call to alloc_scalar_allocatable_subcomponent so that a + good string length is provided. + (gfc_trans_structure_assign): Remove the unneeded derived type + symbol from calls to gfc_trans_subcomponent_assign. + +2023-05-15 Harald Anlauf + + PR fortran/109846 + * expr.cc (gfc_check_vardef_context): Check appropriate pointer + attribute for CLASS vs. non-CLASS function result in variable + definition context. + +2023-05-11 Xi Ruoyao + + * Make-lang.in: Use grep instead of fgrep. + +2023-05-10 Bernhard Reutner-Fischer + + * dump-parse-tree.cc (gfc_debug_expr): Remove forward declaration. + (debug): Add DEBUG_FUNCTION. + (show_code_node): Remove erroneous whitespace. + +2023-05-10 Bernhard Reutner-Fischer + + PR fortran/109624 + * dump-parse-tree.cc (debug): New function for gfc_namespace. + (gfc_debug_code): Delete forward declaration. + (show_attr): Make sure to print balanced braces. + +2023-05-08 Bernhard Reutner-Fischer + + * resolve.cc (resolve_select_type): Fix coding style. + +2023-05-08 Bernhard Reutner-Fischer + + * resolve.cc (resolve_select_type): Call free() unconditionally. + +2023-05-08 Bernhard Reutner-Fischer + + PR fortran/68800 + * expr.cc (find_array_section): Fix mpz memory leak. + * simplify.cc (gfc_simplify_reshape): Fix mpz memory leaks in + error paths. + +2023-05-05 Harald Anlauf + + PR fortran/109641 + * arith.cc (eval_intrinsic): Check conformability of ranks of operands + for intrinsic binary operators before performing type conversions. + * gfortran.h (gfc_op_rank_conformable): Add prototype. + * resolve.cc (resolve_operator): Check conformability of ranks of + operands for intrinsic binary operators before performing type + conversions. + (gfc_op_rank_conformable): New helper function to compare ranks of + operands of binary operator. + +2023-05-04 Julian Brown + + PR fortran/109622 + * openmp.cc (resolve_omp_clauses): Add diagnostic for + non-pointer/non-allocatable attach/detach. + * trans-openmp.cc (gfc_trans_omp_clauses): Remove dereference for + pointer-to-scalar derived type component attach/detach. Fix + attach/detach handling for descriptors. + +2023-04-28 Julian Brown + + PR fortran/109622 + * trans-openmp.cc (gfc_trans_omp_clauses): Attach/detach clause fixes. + +2023-04-28 Tobias Burnus + + * gfortran.texi: Fix typos. + * decl.cc: Fix typos in comments and in a variable name. + * arith.cc: Fix comment typos. + * check.cc: Likewise. + * class.cc: Likewise. + * dependency.cc: Likewise. + * expr.cc: Likewise. + * frontend-passes.cc: Likewise. + * gfortran.h: Likewise. + * intrinsic.cc: Likewise. + * iresolve.cc: Likewise. + * match.cc: Likewise. + * module.cc: Likewise. + * primary.cc: Likewise. + * resolve.cc: Likewise. + * simplify.cc: Likewise. + * trans-array.cc: Likewise. + * trans-decl.cc: Likewise. + * trans-expr.cc: Likewise. + * trans-intrinsic.cc: Likewise. + * trans-openmp.cc: Likewise. + * trans-stmt.cc: Likewise. + +2023-04-25 Tobias Burnus + + * openmp.cc (gfc_resolve_omp_do_blocks): Handle zero + or more than one exec statements before/after 'omp scan'. + * trans-openmp.cc (gfc_trans_omp_do): Likewise. + +2023-04-22 Harald Anlauf + Steven G. Kargl + + PR fortran/109500 + * interface.cc (gfc_compare_actual_formal): Reject allocatable + functions being used as actual argument for allocable dummy. + +2023-04-14 Harald Anlauf + + PR fortran/109511 + * simplify.cc (gfc_simplify_set_exponent): Fix implementation of + compile-time simplification of intrinsic SET_EXPONENT for argument + X < 1 and for I < 0. + +2023-04-14 Paul Thomas + + PR fortran/104272 + * gfortran.h : Add expr3_not_explicit bit field to gfc_code. + * resolve.cc (resolve_allocate_expr): Set bit field when the + default initializer is applied to expr3. + * trans-stmt.cc (gfc_trans_allocate): If expr3_not_explicit is + set, do not deallocate expr3. + +2023-04-13 Harald Anlauf + + PR fortran/109492 + * trans-expr.cc (gfc_conv_power_op): Use absu_hwi and + unsigned HOST_WIDE_INT for portability. + +2023-04-12 Harald Anlauf + + PR fortran/104312 + * resolve.cc (resolve_entries): Handle functions with ENTRY and + ALLOCATABLE results. + * trans-expr.cc (gfc_conv_procedure_call): Functions with a result + with the POINTER or ALLOCATABLE attribute shall not get any special + treatment with -ff2c, as they cannot be written in Fortran 77. + * trans-types.cc (gfc_return_by_reference): Likewise. + (gfc_get_function_type): Likewise. + +2023-04-12 Harald Anlauf + + PR fortran/61615 + PR fortran/99982 + * interface.cc (compare_parameter): Enable type and rank checks for + arguments of derived type from the intrinsic module ISO_C_BINDING. + +2023-04-08 Paul Thomas + + PR fortran/87477 + * iresolve.cc (gfc_resolve_adjustl, gfc_resolve_adjustr): if + string length is deferred use the string typespec for result. + * resolve.cc (resolve_assoc_var): Handle parentheses around the + target expression. + (resolve_block_construct): Remove unnecessary static decls. + * trans-array.cc (gfc_conv_expr_descriptor): Guard string len + expression in condition. Improve handling of string length and + span, especially for substrings of the descriptor. + (duplicate_allocatable): Make element type more explicit with + 'eltype'. + * trans-decl.cc (gfc_get_symbol_decl): Emit a fatal error with + appropriate message instead of ICE if symbol type is unknown. + (gfc_generate_function_code): Set current locus to proc_sym + declared_at. + * trans-expr.cc (gfc_get_expr_charlen): Retain last charlen in + 'previous' and use if end expression in substring reference is + null. + (gfc_conv_string_length): Use gfc_conv_expr_descriptor if + 'expr_flat' is an array. Add post block to catch deallocation + of temporaries. + (gfc_conv_procedure_call): Assign the parmse string length to + the expression string length, if it is deferred. + (gfc_trans_alloc_subarray_assign): If this is a deferred string + length component, store the string length in the hidden comp. + Update the typespec length accordingly. Generate a new type + spec for the call to gfc_duplicate-allocatable in this case. + * trans-io.cc (gfc_trans_transfer): Scalarize transfer of + deferred character array components. + +2023-04-04 Harald Anlauf + + PR fortran/104349 + * expr.cc (check_restricted): Adjust check for valid variables in + restricted expressions: make no exception for module variables. + +2023-04-01 Thomas Koenig + + * dump-parse-tree.cc (get_c_type_name): Fix "long_long" + type name to be "long long". + +2023-03-30 Andrew Pinski + + * dump-parse-tree.cc (get_c_type_name): Fix "long_long" + type name to be "long long". Add a comment on why adding + 2 to the name too. + +2023-03-28 Jakub Jelinek + + PR fortran/109314 + * openmp.cc (gfc_omp_absent_contains_clause): Fix typo in diagnostics + - composit -> composite. + +2023-03-25 Harald Anlauf + + PR fortran/104321 + * trans-decl.cc (gfc_conv_cfi_to_gfc): Remove dead code. + +2023-03-24 Harald Anlauf + + * expr.cc (free_expr0): Free also BOZ strings as part of an expression. + +2023-03-24 Haochen Gui + Tobias Burnus + + PR target/103628 + * target-memory.cc (gfc_interpret_float): Return FAIL when + native_interpret_expr gets a NULL tree. + * arith.cc (gfc_hollerith2real): Return NULL when + gfc_interpret_float fails. + * error.cc (gfc_buffered_p): Define. + * gfortran.h (gfc_buffered_p): Declare. + * intrinsic.cc: Add diagnostic.h to include list. + (do_simplify): Save errorcount and check it at finish. Report a + "Cannot simplify expression" error on a bad result if error count + doesn't change and no other errors buffered. + +2023-03-22 Harald Anlauf + Steven G. Kargl + + PR fortran/104572 + * resolve.cc (gfc_resolve_finalizers): Argument of a FINAL subroutine + cannot be an alternate return. + +2023-03-21 Harald Anlauf + + PR fortran/99036 + * decl.cc (gfc_match_modproc): Reject MODULE PROCEDURE if not in a + generic module interface. + +2023-03-21 Arsen Arsenović + + * invoke.texi: Remove usages of @gol. + * intrinsic.texi: Ditto. + +2023-03-21 Paul Thomas + + PR fortran/109206 + * trans-array.cc (gfc_trans_array_constructor_value): Correct + incorrect setting of typespec. + +2023-03-21 Paul Thomas + + PR fortran/109209 + * resolve.cc (generate_component_assignments): Restore the + exclusion of allocatable components from the loop. + +2023-03-20 Harald Anlauf + + PR fortran/109216 + * invoke.texi: Correct documentation of how underscores are appended + to external names. + +2023-03-20 Harald Anlauf + + PR fortran/109186 + * simplify.cc (gfc_simplify_nearest): Fix off-by-one error in setting + up real kind-specific maximum exponent for mpfr. + +2023-03-20 Paul Thomas + + PR fortran/87127 + * resolve.cc (check_host_association): If an external function + is typed but not declared explicitly to be external, change the + old symbol from a variable to an external function. + +2023-03-19 Harald Anlauf + + PR fortran/85877 + * resolve.cc (resolve_fl_procedure): Check for an explicit interface + of procedures with the BIND(C) attribute (F2018:15.4.2.2). + +2023-03-19 Thomas Koenig + + * gfortran.texi: Mention behavior on overflow. + +2023-03-18 Paul Thomas + + PR fortran/103854 + PR fortran/96122 + PR fortran/37336 + * class.cc (finalize_component): Include the missing arguments + in the call to the component's finalizer wrapper. + (has_finalizer_component): Do not return true for procedure + pointer components. + (finalizer_insert_packed_call): Remove the redundant argument + in the call to the final subroutine. + (generate_finalization_wrapper): Add support for assumed rank + finalizers. + (gfc_may_be_finalized): New helper function. + * dump-parse-tree.cc (write_proc): Whitespace. + * gfortran.h : Add prototype for gfc_may_be_finalized. + * resolve.cc (resolve_function): Correct derived types that + have an incomplete namespace. + (resolve_where, gfc_resolve_where_code_in_forall, + gfc_resolve_forall_body, gfc_resolve_code): Check that the op + code is still EXEC_ASSIGN. If it is set lhs to must finalize. + (is_finalizable_type): New function. + (generate_component_assignments): Set must_finalize if needed. + (gfc_resolve_finalizers): Error if assumed rank finalizer is + not the only one. Warning on lack of scalar finalizer modified + to account for assumed rank finalizers. + (generate_final_call): New function. + (generate_component_assignments): Enclose the outermost call in + a block to capture automatic deallocation and final calls. + Set must_finalize as required to satisfy the standards. Use an + explicit pointer assignment for pointer components to capture + finalization of the target. Likewise use explicit assignment + for allocatable components. Do not use the temporary copy of + the lhs in defined assignment if the component is allocatable. + Put the temporary in the same namespace as the lhs symbol if + the component may be finalized. Remove the leading assignment + from the expansion of assignment of components that have their + own defined assignment components. Suppress finalization of + assignment of temporary components to the lhs. Make an explicit + final call for the rhs function temporary if it exists. + (gfc_resolve_code): Set must_finalize for assignments with an + array constructor on the rhs. + (gfc_resolve_finalizers): Ensure that an assumed rank finalizer + is the only finalizer for that type and correct the surprising + warning for the lack of a scalar finalizer. + (check_defined_assignments): Handle allocatable components. + (resolve_fl_derived): Set referenced the vtab for use + associated symbols. + (resolve_symbol): Set referenced an unreferenced symbol that + will be finalized. + * trans-array.cc (gfc_trans_array_constructor_value): Add code + to finalize the constructor result. Warn that this feature was + removed in F2018 and that it is suppressed by -std=2018. + (trans_array_constructor): Add finalblock, pass to previous + and apply to loop->post if filled. + (gfc_add_loop_ss_code): Add se finalblock to outer loop post. + (gfc_trans_array_cobounds, gfc_trans_array_bounds): Add any + generated finalization code to the main block. + (structure_alloc_comps): Add boolean argument to suppress + finalization and use it for calls from + gfc_deallocate_alloc_comp_no_caf. Otherwise it defaults to + false. + (gfc_copy_alloc_comp_no_fini): New wrapper for + structure_alloc_comps. + (gfc_alloc_allocatable_for_assignment): Suppress finalization + by setting new arg in call to gfc_deallocate_alloc_comp_no_caf. + (gfc_trans_deferred_array): Use gfc_may_be_finalized and do not + deallocate the components of entities with a leading '_' in the + name that are also marked as artificial. + * trans-array.h : Add the new boolean argument to the prototype + of gfc_deallocate_alloc_comp_no_caf with a default of false. + Add prototype for gfc_copy_alloc_comp_no_fini. + * trans-decl.cc(init_intent_out_dt): Tidy up the code. + * trans-expr.cc (gfc_init_se): Initialize finalblock. + (gfc_conv_procedure_call): Use gfc_finalize_tree_expr to + finalize function results. Replace in-line block for class + results with call to new function. + (gfc_conv_expr): Finalize structure constructors for F2003 and + F2008. Warn that this feature was deleted in F2018 and, unlike + array constructors, is not default. Add array constructor + finalblock to the post block. + (gfc_trans_scalar_assign): Suppress finalization by setting new + argument in call to gfc_deallocate_alloc_comp_no_caf. Add the + finalization blocks to the main block. + (gfc_trans_arrayfunc_assign): Use gfc_assignment_finalizer_call + and ensure that finalization occurs after the evaluation of the + rhs but using the initial value for the lhs. Finalize rhs + function results using gfc_finalize_tree_expr. + (trans_class_assignment, gfc_trans_assignment_1): As previous + function, taking care to order evaluation, assignment and + finalization correctly. + * trans-io.cc (gfc_trans_transfer): Add the final block. + * trans-stmt.cc (gfc_trans_call, gfc_trans_allocate): likewise. + (trans_associate_var): Nullify derived allocatable components + and finalize function targets with defined assignment + components on leaving the block scope. + (trans_allocate): Finalize source expressions, if required, + and set init_expr artificial temporarily to suppress the + finalization in gfc_trans_assignment. + * trans.cc (gfc_add_finalizer_call): Do not finalize the + temporaries generated in type assignment with defined + assignment components. + (gfc_assignment_finalizer_call): New function. + (gfc_finalize_tree_expr): New function. + * trans.h: Add finalblock to gfc_se. Add the prototypes for + gfc_finalize_tree_expr and gfc_assignment_finalizer_call. + +2023-03-15 Harald Anlauf + Tobias Burnus + + PR fortran/58331 + * interface.cc (compare_parameter): Adjust check of array dummy + arguments to handle the case of CLASS variables. + +2023-03-11 Harald Anlauf + + PR fortran/106945 + * trans-expr.cc (gfc_copy_class_to_class): Convert element counts in + bounds check to common type for comparison. + +2023-03-10 Harald Anlauf + + PR fortran/104332 + * resolve.cc (resolve_symbol): Avoid NULL pointer dereference while + checking a symbol with the BIND(C) attribute. + +2023-03-05 Harald Anlauf + Tobias Burnus + + PR fortran/106856 + * class.cc (gfc_build_class_symbol): Handle update of attributes of + existing class container. + (gfc_find_derived_vtab): Fix several memory leaks. + (find_intrinsic_vtab): Ditto. + * decl.cc (attr_decl1): Manage update of symbol attributes from + CLASS attributes. + * primary.cc (gfc_variable_attr): OPTIONAL shall not be taken or + updated from the class container. + * symbol.cc (free_old_symbol): Adjust management of symbol versions + to not prematurely free array specs while working on the declation + of CLASS variables. + +2023-03-01 Tobias Burnus + + PR middle-end/108546 + * trans-openmp.cc (gfc_trans_omp_clauses): Fix mapping of + type(C_ptr) variables. + +2023-02-27 Harald Anlauf + + PR fortran/108937 + * trans-intrinsic.cc (gfc_conv_intrinsic_ibits): Handle corner case + LEN argument of IBITS equal to BITSIZE(I). + +2023-02-25 Mikael Morin + + PR fortran/108923 + * intrinsic.cc (get_intrinsic_dummy_arg, + set_intrinsic_dummy_arg): Rename the former to the latter. + Remove the return value, add a reference to the lhs as argument, + and do the pointer assignment inside the function. Don't do + it if the pointer is already non-NULL. + (sort_actual): Update caller. + +2023-02-25 Harald Anlauf + + * arith.cc (gfc_real2int): Clear mpfr variable after use. + +2023-02-25 Tobias Burnus + + PR fortran/108621 + * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Skip setting of + bounds of CFI desc for 'pointer,intent(out)'. + +2023-02-24 Rimvydas Jasinskas + + * trans-decl.cc (gfc_finish_var_decl): Apply attribute. + (generate_local_decl): Add diagnostic for dummy and local variables. + +2023-02-24 Mikael Morin + + PR fortran/108923 + * expr.cc (gfc_free_actual_arglist): Free associated_dummy + memory. + (gfc_copy_actual_arglist): Make a copy of the associated_dummy + field if it is set in the original element. + +2023-02-24 Harald Anlauf + + PR fortran/108924 + * frontend-passes.cc (do_subscript): Clear used gmp variable. + +2023-02-23 Arsen Arsenović + + * invoke.texi: Reorder index entries around @items. + +2023-02-23 Arsen Arsenović + + * invoke.texi: Reorder @opindex commands to precede @items they + relate to. + +2023-02-22 Harald Anlauf + + PR fortran/96024 + * resolve.cc (resolve_component): The type of a CHARACTER length + expression must be INTEGER. + +2023-02-21 Harald Anlauf + + PR fortran/96025 + * parse.cc (check_function_result_typed): Improve type check of + specification expression for character length and return status. + (parse_spec): Use status from above. + * resolve.cc (resolve_fntype): Prevent use of invalid specification + expression for character length. + +2023-02-16 Patrick Palka + + * gfortran.h: Mechanically drop static from static inline + functions via s/^static inline/inline/g. + +2023-02-15 Steve Kargl + + PR fortran/103608 + * frontend-passes.cc (do_intent): Catch NULL pointer dereference on + reference to invalid formal argument. + +2023-02-15 Steve Kargl + + PR fortran/104554 + * resolve.cc (check_assumed_size_reference): Avoid NULL pointer + dereference. + +2023-02-15 Tobias Burnus + + PR fortran/108512 + * openmp.cc (gfc_resolve_omp_parallel_blocks): Handle combined 'loop' + directives. + (gfc_resolve_do_iterator): Set a source location for added + 'private'-clause arguments. + * resolve.cc (gfc_resolve_code): Call gfc_resolve_omp_do_blocks + also for EXEC_OMP_LOOP and gfc_resolve_omp_parallel_blocks for + combined directives with loop + '{masked,master} taskloop (simd)'. + +2023-02-13 Harald Anlauf + + PR fortran/103475 + * primary.cc (gfc_expr_attr): Avoid NULL pointer dereference for + invalid use of CLASS variable. + +2023-02-13 Rimvydas Jasinskas + + * decl.cc: Add EXT_ATTR_NOINLINE, EXT_ATTR_NORETURN, EXT_ATTR_WEAK. + * gfortran.h (ext_attr_id_t): Ditto. + * gfortran.texi (GCC$ ATTRIBUTES): Document them. + * trans-decl.cc (build_function_decl): Apply them. + +2023-02-09 Harald Anlauf + Steven G. Kargl + + PR fortran/69636 + PR fortran/103779 + * intrinsic.cc (gfc_convert_chartype): Recover on invalid character + kind in conversion instead of generating an internal error. + +2023-02-09 Tobias Burnus + + PR fortran/107424 + * trans-openmp.cc (struct dovar_init_d): Add 'sym' and + 'non_unit_incr' members. + (gfc_nonrect_loop_expr): New. + (gfc_trans_omp_do): Call it; use normal loop bounds + for unit stride - and only create local loop var. + +2023-02-09 Tobias Burnus + + * parse.cc (decode_omp_directive): Really ignore 'assumes' with + -fopenmp-simd. + +2023-02-08 Steve Kargl + + PR fortran/103259 + * resolve.cc (resolve_common_vars): Avoid NULL pointer dereference + when a symbol's location is not set. + +2023-02-07 Harald Anlauf + + PR fortran/95107 + * trans-decl.cc (gfc_finish_var_decl): With -fno-automatic, do not + make ASSOCIATE variables TREE_STATIC. + +2023-02-05 Harald Anlauf + + PR fortran/108592 + * arith.cc (gfc_arith_divide): Emit integer division truncation + warnings using gfc_warning instead of gfc_warning_now to prevent + redundant messages. + +2023-02-03 Jakub Jelinek + + PR fortran/108451 + * trans-decl.cc (gfc_trans_use_stmts): Call clear_slot before + doing continue. + +2023-02-01 Harald Anlauf + + PR fortran/108609 + * expr.cc (find_array_section): Add check to prevent interpreting an + mpz non-integer constant as an integer. + +2023-02-01 Tobias Burnus + + * openmp.cc (resolve_omp_clauses): Check also for + power of two. + +2023-01-29 Mikael Morin + + PR fortran/108450 + * check.cc (gfc_check_minloc_maxloc): Explicitly set argument name. + (gfc_check_findloc): Ditto. + +2023-01-29 Jerry DeLisle + + PR fortran/103506 + * parse.cc (parse_module): Remove use of a bool error value + that prevented proper setting of the namespace pointer. + +2023-01-28 Harald Anlauf + Steven G. Kargl + + PR fortran/108527 + * resolve.cc (compare_bound_int): Expression to compare must be of + type INTEGER. + (compare_bound_mpz_t): Likewise. + (check_dimension): Fix comment on checks applied to array section + and clean up associated logic. + +2023-01-28 Harald Anlauf + + PR fortran/108453 + * match.cc (gfc_match_common): A USE associated name shall not appear + in a COMMON block (F2018:C8121). + +2023-01-27 Tobias Burnus + + PR fortran/108558 + * trans-openmp.cc (gfc_split_omp_clauses): Handle has_device_addr. + +2023-01-26 Harald Anlauf + + PR fortran/108544 + * resolve.cc (check_host_association): Extend host association check + so that it is not restricted to functions. Also prevent NULL pointer + dereference. + +2023-01-25 Steve Kargl + + PR fortran/108528 + * array.cc (compare_bounds): Return false instead of generating an + internal error on an invalid argument type. + +2023-01-24 Harald Anlauf + + PR fortran/108529 + * simplify.cc (simplify_transformation): Do not try to simplify + transformational intrinsic when the ARRAY argument has a NULL shape. + +2023-01-23 Harald Anlauf + + PR fortran/108502 + * dependency.cc (gfc_check_dependency): Prevent NULL pointer + dereference while recursively checking expressions. + +2023-01-23 Harald Anlauf + + PR fortran/108501 + * interface.cc (get_expr_storage_size): Check array subscript triplets + that we actually have integer values before trying to extract with + mpz_get_si. + +2023-01-23 Harald Anlauf + + PR fortran/108420 + * iresolve.cc (check_charlen_present): Preserve character length if + there is no array constructor. + +2023-01-21 Jerry DeLisle + + PR fortran/102595 + * data.cc (gfc_assign_data_value): Remove check for PARAMETER in DATA. + * primary.cc (match_variable): Add check for PARAMETER in DATA. + +2023-01-19 Harald Anlauf + + PR fortran/108434 + * expr.cc (class_allocatable): Prevent NULL pointer dereference + or invalid read. + (class_pointer): Likewise. + +2023-01-17 Harald Anlauf + + PR fortran/108421 + * interface.cc (get_expr_storage_size): Check that we actually have + an integer value before trying to extract it with mpz_get_si. + +2023-01-12 Tobias Burnus + + PR fortran/107706 + * openmp.cc (gfc_resolve_omp_assumptions): Reject nonscalars. + +2023-01-11 Jakub Jelinek + + PR fortran/108349 + * f95-lang.cc (gfc_init_builtin_function): Fix up function types + for BUILT_IN_REALLOC and BUILT_IN_SINCOS{F,,L}. Formatting fixes. + +2023-01-10 Harald Anlauf + + PR fortran/97345 + * frontend-passes.cc (do_subscript): Clear used gmp variables. + +2023-01-02 Jakub Jelinek + + * gfortranspec.cc (lang_specific_driver): Update copyright notice + dates. + * gfc-internals.texi: Bump @copying's copyright year. + * gfortran.texi: Ditto. + * intrinsic.texi: Ditto. + * invoke.texi: Ditto. + + +Copyright (C) 2023 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 b/gcc/testsuite/ChangeLog index 1c1d61d0134e..47b1e679d7e2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -17,53056 +17,8 @@ PR target/113112 * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: New test. -2023-12-31 Uros Bizjak - Roger Sayle - - PR target/43644 - * gcc.target/i386/pr43644-2.c: Expect 2 movq instructions. - -2023-12-30 Martin Uecker - - * gcc.dg/c23-tag-9.c: New test. - -2023-12-29 Tamar Christina - - PR target/110625 - * gcc.target/aarch64/pr110625_4.c: New test. - * gcc.target/aarch64/sve/unpack_fcvt_signed_1.c: Add - --param aarch64-sve-compare-costs=0. - * gcc.target/aarch64/sve/unpack_fcvt_unsigned_1.c: Likewise - -2023-12-29 Xi Ruoyao - - * gcc.target/loongarch/explicit-relocs-auto-single-load-store-2.c: - New test. - * gcc.target/loongarch/explicit-relocs-auto-single-load-store-3.c: - New test. - -2023-12-29 Uros Bizjak - - PR target/113133 - * gcc.target/i386/pr113133-1.c: New test. - * gcc.target/i386/pr113133-2.c: New test. - -2023-12-29 Andrew Pinski - - PR testsuite/113167 - * gcc.dg/tree-ssa/gen-vect-26.c: Mark the test/check loop - as novector. - -2023-12-29 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: Remove redundant checks. - -2023-12-29 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/post-ra-avl.c: Adapt test. - * gcc.target/riscv/rvv/base/vf_avl-2.c: New test. - -2023-12-28 David Edelsohn - - * g++.dg/template/linkage2.C: XFAIL on AIX. - * g++.dg/template/linkage3.C: Same. - -2023-12-28 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Ditto. - -2023-12-27 Xi Ruoyao - - PR target/113148 - * gcc.target/loongarch/pr113148.c: New test. - -2023-12-27 Xi Ruoyao - - * gcc.target/loongarch/rotl-with-rotr.c: New test. - * gcc.target/loongarch/rotl-with-vrotr-b.c: New test. - * gcc.target/loongarch/rotl-with-vrotr-h.c: New test. - * gcc.target/loongarch/rotl-with-vrotr-w.c: New test. - * gcc.target/loongarch/rotl-with-vrotr-d.c: New test. - * gcc.target/loongarch/rotl-with-xvrotr-b.c: New test. - * gcc.target/loongarch/rotl-with-xvrotr-h.c: New test. - * gcc.target/loongarch/rotl-with-xvrotr-w.c: New test. - * gcc.target/loongarch/rotl-with-xvrotr-d.c: New test. - -2023-12-27 Juzhe-Zhong - - PR target/113112 - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-3.c: New test. - -2023-12-27 Chenghui Pan - - * gcc.target/loongarch/vector/lsx/lsx-mov-1.c: New test. - -2023-12-27 Haochen Gui - - * gcc.target/powerpc/block-cmp-4.c: New. - -2023-12-27 Haochen Gui - - * gcc.target/powerpc/block-cmp-3.c: New. - -2023-12-27 Haochen Gui - - * gcc.target/powerpc/block-cmp-1.c: New. - * gcc.target/powerpc/block-cmp-2.c: New. - -2023-12-27 David Edelsohn - - * g++.dg/cpp23/wchar-multi1.C: Require 4 byte wchar_t. - -2023-12-27 David Edelsohn - - * g++.dg/ext/attr-section1.C: Test for csect section directive. - * g++.dg/ext/attr-section1a.C: Same. - * g++.dg/ext/attr-section2.C: Same. - * g++.dg/ext/attr-section2a.C: Same. - * g++.dg/ext/attr-section2b.C: Same. - -2023-12-26 David Edelsohn - - * gcc.dg/analyzer/out-of-bounds-diagram-17.c: Skip on AIX. - * gcc.dg/analyzer/out-of-bounds-diagram-18.c: Same. - -2023-12-26 David Edelsohn - - * gcc.dg/pr111409.c: Skip on AIX. - -2023-12-26 David Edelsohn - - * c-c++-common/strub-unsupported-2.c: Require strub. - * c-c++-common/strub-unsupported-3.c: Same. - * c-c++-common/strub-unsupported.c: Same. - * lib/target-supports.exp (check_effective_target_strub): Return 0 - for AIX. - -2023-12-26 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-10.c: Fix typo. - -2023-12-26 Juzhe-Zhong - - PR target/113112 - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-1.c: Add more checks. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-4.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-6.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-7.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-4.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-10.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-11.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-4.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-6.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-7.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-8.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-12.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-2.c: New test. - -2023-12-26 Di Zhao - - * gcc.dg/pr110279-1.c: Add "-mcpu=generic" for aarch64; add - "-mfma" for x86_64. - * gcc.dg/pr110279-2.c: Replace "-march=armv8.2-a" with - "-mcpu=generic"; limit the check to be on aarch64. - -2023-12-26 Jeevitha Palanisamy - - PR target/110320 - * gcc.target/powerpc/pr110320-1.c: Add dg-require-effective-target powerpc_pcrel. - -2023-12-25 David Edelsohn - - * c-c++-common/analyzer/capacity-1.c: Skip on AIX. - * c-c++-common/analyzer/capacity-2.c: Same. - * c-c++-common/analyzer/fd-glibc-byte-stream-socket.c: Same. - * c-c++-common/analyzer/fd-manpage-getaddrinfo-client.c: Same. - * c-c++-common/analyzer/fd-mappage-getaddrinfo-server.c: Same. - * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: Same. - -2023-12-25 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-mixed-1.c: Robostify test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-4.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-6.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-7.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-4.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-6.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-10.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-10.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-11.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-4.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-6.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-7.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-8.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/no-dynamic-lmul-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr111848.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: Ditto. - -2023-12-25 Jeevitha Palanisamy - Peter Bergner - - PR target/110320 - * gcc.target/powerpc/pr110320-1.c: New testcase. - * gcc.target/powerpc/pr110320-2.c: New testcase. - * gcc.target/powerpc/pr110320-3.c: New testcase. - -2023-12-25 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: Add one more ASM check. - -2023-12-25 Andrew Pinski - - PR tree-optimization/19832 - * gcc.dg/tree-ssa/phi-opt-same-2.c: New test. - -2023-12-24 Tamar Christina - - * gcc.dg/vect/tsvc/vect-tsvc-s332.c: Remove xfail when early break - supported. - * gcc.dg/vect/tsvc/vect-tsvc-s481.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s482.c: Likewise. - -2023-12-24 Tamar Christina - - * lib/target-supports.exp (add_options_for_vect_early_break, - check_effective_target_vect_early_break_hw, - check_effective_target_vect_early_break): New. - * g++.dg/vect/vect-early-break_1.cc: New test. - * g++.dg/vect/vect-early-break_2.cc: New test. - * g++.dg/vect/vect-early-break_3.cc: New test. - * gcc.dg/vect/vect-early-break-run_1.c: New test. - * gcc.dg/vect/vect-early-break-run_10.c: New test. - * gcc.dg/vect/vect-early-break-run_2.c: New test. - * gcc.dg/vect/vect-early-break-run_3.c: New test. - * gcc.dg/vect/vect-early-break-run_4.c: New test. - * gcc.dg/vect/vect-early-break-run_5.c: New test. - * gcc.dg/vect/vect-early-break-run_6.c: New test. - * gcc.dg/vect/vect-early-break-run_7.c: New test. - * gcc.dg/vect/vect-early-break-run_8.c: New test. - * gcc.dg/vect/vect-early-break-run_9.c: New test. - * gcc.dg/vect/vect-early-break-template_1.c: New test. - * gcc.dg/vect/vect-early-break-template_2.c: New test. - * gcc.dg/vect/vect-early-break_1.c: New test. - * gcc.dg/vect/vect-early-break_10.c: New test. - * gcc.dg/vect/vect-early-break_11.c: New test. - * gcc.dg/vect/vect-early-break_12.c: New test. - * gcc.dg/vect/vect-early-break_13.c: New test. - * gcc.dg/vect/vect-early-break_14.c: New test. - * gcc.dg/vect/vect-early-break_15.c: New test. - * gcc.dg/vect/vect-early-break_16.c: New test. - * gcc.dg/vect/vect-early-break_17.c: New test. - * gcc.dg/vect/vect-early-break_18.c: New test. - * gcc.dg/vect/vect-early-break_19.c: New test. - * gcc.dg/vect/vect-early-break_2.c: New test. - * gcc.dg/vect/vect-early-break_20.c: New test. - * gcc.dg/vect/vect-early-break_21.c: New test. - * gcc.dg/vect/vect-early-break_22.c: New test. - * gcc.dg/vect/vect-early-break_23.c: New test. - * gcc.dg/vect/vect-early-break_24.c: New test. - * gcc.dg/vect/vect-early-break_25.c: New test. - * gcc.dg/vect/vect-early-break_26.c: New test. - * gcc.dg/vect/vect-early-break_27.c: New test. - * gcc.dg/vect/vect-early-break_28.c: New test. - * gcc.dg/vect/vect-early-break_29.c: New test. - * gcc.dg/vect/vect-early-break_3.c: New test. - * gcc.dg/vect/vect-early-break_30.c: New test. - * gcc.dg/vect/vect-early-break_31.c: New test. - * gcc.dg/vect/vect-early-break_32.c: New test. - * gcc.dg/vect/vect-early-break_33.c: New test. - * gcc.dg/vect/vect-early-break_34.c: New test. - * gcc.dg/vect/vect-early-break_35.c: New test. - * gcc.dg/vect/vect-early-break_36.c: New test. - * gcc.dg/vect/vect-early-break_37.c: New test. - * gcc.dg/vect/vect-early-break_38.c: New test. - * gcc.dg/vect/vect-early-break_39.c: New test. - * gcc.dg/vect/vect-early-break_4.c: New test. - * gcc.dg/vect/vect-early-break_40.c: New test. - * gcc.dg/vect/vect-early-break_41.c: New test. - * gcc.dg/vect/vect-early-break_42.c: New test. - * gcc.dg/vect/vect-early-break_43.c: New test. - * gcc.dg/vect/vect-early-break_44.c: New test. - * gcc.dg/vect/vect-early-break_45.c: New test. - * gcc.dg/vect/vect-early-break_46.c: New test. - * gcc.dg/vect/vect-early-break_47.c: New test. - * gcc.dg/vect/vect-early-break_48.c: New test. - * gcc.dg/vect/vect-early-break_49.c: New test. - * gcc.dg/vect/vect-early-break_5.c: New test. - * gcc.dg/vect/vect-early-break_50.c: New test. - * gcc.dg/vect/vect-early-break_51.c: New test. - * gcc.dg/vect/vect-early-break_52.c: New test. - * gcc.dg/vect/vect-early-break_53.c: New test. - * gcc.dg/vect/vect-early-break_54.c: New test. - * gcc.dg/vect/vect-early-break_55.c: New test. - * gcc.dg/vect/vect-early-break_56.c: New test. - * gcc.dg/vect/vect-early-break_57.c: New test. - * gcc.dg/vect/vect-early-break_58.c: New test. - * gcc.dg/vect/vect-early-break_59.c: New test. - * gcc.dg/vect/vect-early-break_6.c: New test. - * gcc.dg/vect/vect-early-break_60.c: New test. - * gcc.dg/vect/vect-early-break_61.c: New test. - * gcc.dg/vect/vect-early-break_62.c: New test. - * gcc.dg/vect/vect-early-break_63.c: New test. - * gcc.dg/vect/vect-early-break_64.c: New test. - * gcc.dg/vect/vect-early-break_65.c: New test. - * gcc.dg/vect/vect-early-break_66.c: New test. - * gcc.dg/vect/vect-early-break_67.c: New test. - * gcc.dg/vect/vect-early-break_68.c: New test. - * gcc.dg/vect/vect-early-break_69.c: New test. - * gcc.dg/vect/vect-early-break_7.c: New test. - * gcc.dg/vect/vect-early-break_70.c: New test. - * gcc.dg/vect/vect-early-break_71.c: New test. - * gcc.dg/vect/vect-early-break_72.c: New test. - * gcc.dg/vect/vect-early-break_73.c: New test. - * gcc.dg/vect/vect-early-break_74.c: New test. - * gcc.dg/vect/vect-early-break_75.c: New test. - * gcc.dg/vect/vect-early-break_76.c: New test. - * gcc.dg/vect/vect-early-break_77.c: New test. - * gcc.dg/vect/vect-early-break_78.c: New test. - * gcc.dg/vect/vect-early-break_79.c: New test. - * gcc.dg/vect/vect-early-break_8.c: New test. - * gcc.dg/vect/vect-early-break_80.c: New test. - * gcc.dg/vect/vect-early-break_81.c: New test. - * gcc.dg/vect/vect-early-break_82.c: New test. - * gcc.dg/vect/vect-early-break_83.c: New test. - * gcc.dg/vect/vect-early-break_84.c: New test. - * gcc.dg/vect/vect-early-break_85.c: New test. - * gcc.dg/vect/vect-early-break_86.c: New test. - * gcc.dg/vect/vect-early-break_87.c: New test. - * gcc.dg/vect/vect-early-break_88.c: New test. - * gcc.dg/vect/vect-early-break_89.c: New test. - * gcc.dg/vect/vect-early-break_9.c: New test. - * gcc.dg/vect/vect-early-break_90.c: New test. - * gcc.dg/vect/vect-early-break_91.c: New test. - * gcc.dg/vect/vect-early-break_92.c: New test. - * gcc.dg/vect/vect-early-break_93.c: New test. - -2023-12-24 Tamar Christina - - * gcc.target/aarch64/sve/vect-early-break-cbranch.c: New test. - * gcc.target/aarch64/vect-early-break-cbranch.c: New test. - -2023-12-24 Tamar Christina - - * gcc.dg/vect/no-scevccp-slp-30.c: Add pragma GCC novector to abort - loop. - * gcc.dg/vect/no-scevccp-slp-31.c: Likewise. - * gcc.dg/vect/no-section-anchors-vect-69.c: Likewise. - * gcc.target/aarch64/vect-xorsign_exec.c: Likewise. - * gcc.target/i386/avx512er-vrcp28ps-3.c: Likewise. - * gcc.target/i386/avx512er-vrsqrt28ps-3.c: Likewise. - * gcc.target/i386/avx512er-vrsqrt28ps-5.c: Likewise. - * gcc.target/i386/avx512f-ceil-sfix-vec-1.c: Likewise. - * gcc.target/i386/avx512f-ceil-vec-1.c: Likewise. - * gcc.target/i386/avx512f-ceilf-sfix-vec-1.c: Likewise. - * gcc.target/i386/avx512f-ceilf-vec-1.c: Likewise. - * gcc.target/i386/avx512f-floor-sfix-vec-1.c: Likewise. - * gcc.target/i386/avx512f-floor-vec-1.c: Likewise. - * gcc.target/i386/avx512f-floorf-sfix-vec-1.c: Likewise. - * gcc.target/i386/avx512f-floorf-vec-1.c: Likewise. - * gcc.target/i386/avx512f-rint-sfix-vec-1.c: Likewise. - * gcc.target/i386/avx512f-rintf-sfix-vec-1.c: Likewise. - * gcc.target/i386/avx512f-round-sfix-vec-1.c: Likewise. - * gcc.target/i386/avx512f-roundf-sfix-vec-1.c: Likewise. - * gcc.target/i386/avx512f-trunc-vec-1.c: Likewise. - * gcc.target/i386/avx512f-truncf-vec-1.c: Likewise. - * gcc.target/i386/vect-alignment-peeling-1.c: Likewise. - * gcc.target/i386/vect-alignment-peeling-2.c: Likewise. - * gcc.target/i386/vect-pack-trunc-1.c: Likewise. - * gcc.target/i386/vect-pack-trunc-2.c: Likewise. - * gcc.target/i386/vect-perm-even-1.c: Likewise. - * gcc.target/i386/vect-unpack-1.c: Likewise. - -2023-12-24 John David Anglin - - * gcc.dg/pr110279-1.c: Add -march=2.0 option on hppa*-*-*. - -2023-12-24 Pan Li - - * gcc.dg/signbit-5.c: XFail for the riscv_v. - -2023-12-23 Xi Ruoyao - - * gcc.target/loongarch/rotrw.c: New test. - -2023-12-23 Xi Ruoyao - - * gcc.target/loongarch/movcf2gr.c: New test. - * gcc.target/loongarch/movcf2gr-via-fr.c: New test. - -2023-12-23 Juzhe-Zhong - - PR target/113112 - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: New test. - -2023-12-22 Martin Uecker - - * gcc.dg/c23-tag-alias-6.c: New test. - * gcc.dg/c23-tag-alias-7.c: New test. - * gcc.dg/c23-tag-composite-1.c: New test. - * gcc.dg/c23-tag-composite-2.c: New test. - * gcc.dg/c23-tag-composite-3.c: New test. - * gcc.dg/c23-tag-composite-4.c: New test. - * gcc.dg/c23-tag-composite-5.c: New test. - * gcc.dg/c23-tag-composite-6.c: New test. - * gcc.dg/c23-tag-composite-7.c: New test. - * gcc.dg/c23-tag-composite-8.c: New test. - * gcc.dg/c23-tag-composite-9.c: New test. - * gcc.dg/c23-tag-composite-10.c: New test. - * gcc.dg/gnu23-tag-composite-1.c: New test. - * gcc.dg/gnu23-tag-composite-2.c: New test. - * gcc.dg/gnu23-tag-composite-3.c: New test. - * gcc.dg/gnu23-tag-composite-4.c: New test. - * gcc.dg/gnu23-tag-composite-5.c: New test. - -2023-12-22 Jakub Jelinek - - PR rtl-optimization/112758 - * gcc.c-torture/execute/pr112758.c: New test. - -2023-12-22 Jakub Jelinek - - PR tree-optimization/112941 - * gcc.dg/bitint-60.c: New test. - -2023-12-22 Jakub Jelinek - - PR tree-optimization/113102 - * gcc.dg/bitint-59.c: New test. - -2023-12-22 Jakub Jelinek - - PR tree-optimization/113102 - * gcc.dg/bitint-58.c: New test. - -2023-12-22 Ken Matsui - - * g++.dg/ext/is_array.C: Remove testsuite_tr1.h. Add necessary - definitions accordingly. Tweak macros for consistency across - test codes. - * g++.dg/ext/is_bounded_array.C: Likewise. - * g++.dg/ext/is_function.C: Likewise. - * g++.dg/ext/is_member_function_pointer.C: Likewise. - * g++.dg/ext/is_member_object_pointer.C: Likewise. - * g++.dg/ext/is_member_pointer.C: Likewise. - * g++.dg/ext/is_object.C: Likewise. - * g++.dg/ext/is_reference.C: Likewise. - * g++.dg/ext/is_scoped_enum.C: Likewise. - -2023-12-22 Jason Merrill - - PR c++/81438 - * g++.dg/ext/label15.C: Require indirect_jumps. - * g++.dg/ext/label16.C: New test. - -2023-12-22 Sandra Loosemore - - * g++.dg/analyzer/placement-new-size.C: Include . Also - add missing newline to end of file. - -2023-12-22 Jason Merrill - - PR c++/95298 - * g++.dg/cpp0x/variadic-mangle2.C: Add non-member. - * g++.dg/cpp0x/variadic-mangle4.C: New test. - * g++.dg/cpp0x/variadic-mangle5.C: New test. - * g++.dg/cpp0x/variadic-mangle5a.C: New test. - -2023-12-22 Jason Merrill - - * g++.dg/abi/mangle-arm-crypto.C: Specify -fabi-compat-version. - * g++.dg/abi/mangle-concepts1.C - * g++.dg/abi/mangle-neon-aarch64.C - * g++.dg/abi/mangle-neon.C - * g++.dg/abi/mangle-regparm.C - * g++.dg/abi/mangle-regparm1a.C - * g++.dg/abi/mangle-ttp1.C - * g++.dg/abi/mangle-union1.C - * g++.dg/abi/mangle1.C - * g++.dg/abi/mangle13.C - * g++.dg/abi/mangle15.C - * g++.dg/abi/mangle16.C - * g++.dg/abi/mangle18-1.C - * g++.dg/abi/mangle19-1.C - * g++.dg/abi/mangle20-1.C - * g++.dg/abi/mangle22.C - * g++.dg/abi/mangle23.C - * g++.dg/abi/mangle24.C - * g++.dg/abi/mangle25.C - * g++.dg/abi/mangle26.C - * g++.dg/abi/mangle27.C - * g++.dg/abi/mangle28.C - * g++.dg/abi/mangle29.C - * g++.dg/abi/mangle3-2.C - * g++.dg/abi/mangle3.C - * g++.dg/abi/mangle30.C - * g++.dg/abi/mangle31.C - * g++.dg/abi/mangle32.C - * g++.dg/abi/mangle33.C - * g++.dg/abi/mangle34.C - * g++.dg/abi/mangle35.C - * g++.dg/abi/mangle36.C - * g++.dg/abi/mangle37.C - * g++.dg/abi/mangle39.C - * g++.dg/abi/mangle40.C - * g++.dg/abi/mangle43.C - * g++.dg/abi/mangle44.C - * g++.dg/abi/mangle45.C - * g++.dg/abi/mangle46.C - * g++.dg/abi/mangle47.C - * g++.dg/abi/mangle48.C - * g++.dg/abi/mangle49.C - * g++.dg/abi/mangle5.C - * g++.dg/abi/mangle50.C - * g++.dg/abi/mangle51.C - * g++.dg/abi/mangle52.C - * g++.dg/abi/mangle53.C - * g++.dg/abi/mangle54.C - * g++.dg/abi/mangle55.C - * g++.dg/abi/mangle56.C - * g++.dg/abi/mangle57.C - * g++.dg/abi/mangle58.C - * g++.dg/abi/mangle59.C - * g++.dg/abi/mangle6.C - * g++.dg/abi/mangle60.C - * g++.dg/abi/mangle61.C - * g++.dg/abi/mangle62.C - * g++.dg/abi/mangle62a.C - * g++.dg/abi/mangle63.C - * g++.dg/abi/mangle64.C - * g++.dg/abi/mangle65.C - * g++.dg/abi/mangle66.C - * g++.dg/abi/mangle68.C - * g++.dg/abi/mangle69.C - * g++.dg/abi/mangle7.C - * g++.dg/abi/mangle70.C - * g++.dg/abi/mangle71.C - * g++.dg/abi/mangle72.C - * g++.dg/abi/mangle73.C - * g++.dg/abi/mangle74.C - * g++.dg/abi/mangle75.C - * g++.dg/abi/mangle76.C - * g++.dg/abi/mangle77.C - * g++.dg/abi/mangle78.C - * g++.dg/abi/mangle8.C - * g++.dg/abi/mangle9.C: Likewise. - -2023-12-21 Patrick Palka - - * g++.dg/warn/Wparentheses-34.C: New test. - -2023-12-21 Patrick Palka - - PR c++/84542 - * g++.dg/ext/attr-deprecated-2.C: No longer XFAIL. - * g++.dg/ext/attr-unavailable-12.C: New test. - -2023-12-21 Patrick Palka - - PR c++/70413 - PR c++/107906 - * g++.dg/template/linkage2.C: New test. - * g++.dg/template/linkage3.C: New test. - * g++.dg/template/linkage4.C: New test. - * g++.dg/template/linkage4a.C: New test. - -2023-12-21 Uros Bizjak - - PR target/113044 - * gcc.target/i386/pr113044.c: New test. - -2023-12-21 Alex Coplan - - PR target/113093 - * gcc.dg/pr113093.c: New test. - -2023-12-21 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: New test. - -2023-12-21 Richard Sandiford - - PR target/113094 - * gcc.target/aarch64/pr113094.c: New test. - -2023-12-21 Jakub Jelinek - - * g++.dg/warn/Walloc-size-1.C: New test. - * g++.dg/warn/Wcalloc-transposed-args-1.C: New test. - -2023-12-21 Jakub Jelinek - - PR sanitizer/113092 - * gcc.dg/ubsan/bitint-4.c: New test. - -2023-12-21 Jakub Jelinek - - PR tree-optimization/112941 - * gcc.dg/bitint-56.c: New test. - * gcc.dg/bitint-57.c: New test. - -2023-12-21 chenxiaolong - - * gcc.target/loongarch/vector/simd_correctness_check.h:The variable - types in the check results are modified in conjunction with the - parameter types defined in the vector builtin function. - -2023-12-21 Martin Uecker - - * gcc.dg/c23-tag-2.c: Activate. - * gcc.dg/c23-tag-5.c: Activate. - * gcc.dg/c23-tag-alias-1.c: New test. - * gcc.dg/c23-tag-alias-2.c: New test. - * gcc.dg/c23-tag-alias-3.c: New test. - * gcc.dg/c23-tag-alias-4.c: New test. - * gcc.dg/c23-tag-alias-5.c: New test. - * gcc.dg/gnu23-tag-alias-1.c: New test. - * gcc.dg/gnu23-tag-alias-2.c: New test. - * gcc.dg/gnu23-tag-alias-3.c: New test. - * gcc.dg/gnu23-tag-alias-4.c: New test. - * gcc.dg/gnu23-tag-alias-5.c: New test. - * gcc.dg/gnu23-tag-alias-6.c: New test. - * gcc.dg/gnu23-tag-alias-7.c: New test. - -2023-12-21 Martin Uecker - - * gcc.dg/c23-tag-enum-1.c: New test. - * gcc.dg/c23-tag-enum-2.c: New test. - * gcc.dg/c23-tag-enum-3.c: New test. - * gcc.dg/c23-tag-enum-4.c: New test. - * gcc.dg/c23-tag-enum-5.c: New test. - * gcc.dg/gnu23-tag-enum-1.c: Mew test. - -2023-12-21 Martin Uecker - - * gcc.dg/c23-enum-7.c: Remove warning. - * gcc.dg/c23-tag-1.c: New test. - * gcc.dg/c23-tag-2.c: New deactivated test. - * gcc.dg/c23-tag-3.c: New test. - * gcc.dg/c23-tag-4.c: New test. - * gcc.dg/c23-tag-5.c: New deactivated test. - * gcc.dg/c23-tag-6.c: New test. - * gcc.dg/c23-tag-7.c: New test. - * gcc.dg/c23-tag-8.c: New test. - * gcc.dg/gnu23-tag-1.c: New test. - * gcc.dg/gnu23-tag-2.c: New test. - * gcc.dg/gnu23-tag-3.c: New test. - * gcc.dg/gnu23-tag-4.c: New test. - * gcc.dg/pr112488-2.c: Remove warning. - -2023-12-21 Kewen Lin - - PR rtl-optimization/112995 - * gcc.target/powerpc/pr112995.c: New test. - -2023-12-21 Jason Merrill - - PR c++/37722 - * g++.dg/ext/label15.C: New test. - * g++.dg/torture/pr42739.C: Expect warning. - -2023-12-21 Jason Merrill - - PR c++/106213 - * g++.dg/cpp0x/depr-copy5.C: New test. - -2023-12-20 Juzhe-Zhong - - PR target/113087 - * gcc.target/riscv/rvv/autovec/pr113087-2.c: New test. - -2023-12-20 Juzhe-Zhong - - PR target/113087 - * gcc.target/riscv/rvv/autovec/pr113087-1.c: New test. - -2023-12-20 Richard Sandiford - - PR rtl-optimization/111702 - * gcc.dg/rtl/aarch64/pr111702.c: New test. - -2023-12-20 Kuan-Lin Chen - - * gcc.target/riscv/large-model.c: New test. - -2023-12-20 Jason Merrill - - PR c++/113088 - PR c++/33799 - * g++.dg/eh/return2.C: New test. - -2023-12-20 Jason Merrill - - PR c++/103185 - * g++.dg/cpp1z/array-prvalue2.C: New test. - * g++.dg/cpp1z/eval-order3.C: Test swapped operands. - -2023-12-20 Andre Vieira - - * gcc.target/aarch64/pr112787.c: New test. - -2023-12-20 Xi Ruoyao - - PR target/113033 - * gcc.target/loongarch/pr113033.c: New test. - -2023-12-20 Xi Ruoyao - - PR target/113034 - * gcc.target/loongarch/vfcmp-f.c: New test. - * gcc.target/loongarch/vfcmp-d.c: New test. - * gcc.target/loongarch/xvfcmp-f.c: New test. - * gcc.target/loongarch/xvfcmp-d.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-vcond-2.c: Scan for cune - instead of cne. - * gcc.target/loongarch/vector/lsx/lsx-vcond-2.c: Likewise. - -2023-12-20 demin.han - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Moved to... - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-10.c: ...here. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-4.c: Moved to... - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-11.c: ...here. - -2023-12-20 Jakub Jelinek - - PR tree-optimization/112941 - * gcc.dg/bitint-55.c: New test. - -2023-12-20 Jakub Jelinek - - * gcc.dg/Walloc-size-4.c: New test. - * gcc.dg/Walloc-size-5.c: New test. - * gcc.dg/Wcalloc-transposed-args-1.c: New test. - -2023-12-20 Alex Coplan - - PR target/113062 - * gcc.dg/pr113062.c: New test. - -2023-12-20 Pan Li - - * gcc.target/riscv/rvv/autovec/bug-7.c: New test. - -2023-12-20 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/bug-8.c: New test. - -2023-12-20 Alexandre Oliva - - PR rtl-optimization/113002 - * gcc.dg/vect/pr113002.c: New. - -2023-12-20 Alexandre Oliva - - * gcc.dg/torture/inline-mem-cmp-1.c: Copy timeout factor from - mem-cmp-1.c. - * gcc.dg/torture/inline-mem-cpy-1.c: Likewise. - -2023-12-20 Haochen Jiang - - * gcc.target/i386/avx10_1-6.c: Remove check for errors. - * gcc.target/i386/noevex512-2.c: Diito. - -2023-12-20 Siddhesh Poyarekar - - PR tree-optimization/113012 - * gcc.dg/ubsan/pr113012.c: New test case. - -2023-12-19 Patrick Palka - - PR c++/113063 - * g++.dg/cpp2a/spaceship-synth16.C: New test. - -2023-12-19 Nathaniel Shead - - PR c++/102420 - * g++.dg/cpp0x/constexpr-memfn2.C: New test. - -2023-12-19 Sandra Loosemore - - * c-c++-common/gomp/declare-variant-2.c: Don't expect error on - "acquire" and "release". - * gfortran.dg/gomp/declare-variant-2a.f90: Likewise. - -2023-12-19 Sandra Loosemore - - * c-c++-common/gomp/declare-variant-1.c: Expect warning on - unknown selectors. - * c-c++-common/gomp/declare-variant-2.c: Likewise. Also adjust - messages for score errors. - * c-c++-common/gomp/declare-variant-no-score.c: New. - * gfortran.dg/gomp/declare-variant-1.f90: Expect warning on - unknown selectors. - * gfortran.dg/gomp/declare-variant-2.f90: Likewise. Also adjust - messages for score errors. - * gfortran.dg/gomp/declare-variant-no-score.f90: New. - -2023-12-19 David Faust - - PR debug/111735 - * gcc.dg/debug/btf/btf-forward-2.c: New test. - -2023-12-19 Patrick Palka - - PR c++/90679 - * g++.dg/cpp0x/alias-decl-75a.C: New test. - * g++.dg/cpp0x/alias-decl-75b.C: New test. - -2023-12-19 Patrick Palka - - PR c++/90679 - * g++.dg/cpp0x/alias-decl-76.C: New test. - -2023-12-19 Marc Poulhiès - - * g++.target/i386/excess-precision-12.C: call std::abort instead of abort. - -2023-12-19 Juzhe-Zhong - - * gcc.dg/vect/bb-slp-cond-1.c: Adapt for RISC-V. - -2023-12-19 Richard Biener - - PR tree-optimization/113080 - * gcc.dg/tree-ssa/sccp-3.c: New testcase. - -2023-12-19 Roger Sayle - - * gcc.target/i386/movti-2.c: New test case. - * gcc.target/i386/movti-3.c: Likewise. - -2023-12-19 Thomas Schwinge - - PR c++/90868 - * c-c++-common/goacc/declare-1.c: Adjust. - * c-c++-common/goacc/declare-2.c: Likewise. - -2023-12-19 Jakub Jelinek - - PR target/112816 - * gcc.target/i386/sse2-pr112816-2.c: New test. - -2023-12-19 Alex Coplan - - PR target/113061 - * gfortran.dg/PR113061.f90: New test. - -2023-12-19 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/avl_multiple-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-14.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-15.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-16.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_prop-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_prop-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-100.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-101.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-102.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-103.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-104.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-105.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-106.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-107.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-108.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-109.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-14.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-15.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-16.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-17.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-18.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-19.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-20.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-21.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-22.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-24.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-25.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-26.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-27.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-28.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-29.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-30.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-31.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-32.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-33.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-34.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-35.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-36.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-37.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-38.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-39.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-40.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-41.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-42.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-43.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-44.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-45.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-46.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-47.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-48.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-49.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-50.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-51.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-52.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-53.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-54.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-55.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-56.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-57.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-58.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-59.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-60.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-61.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-62.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-63.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-64.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-65.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-66.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-67.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-68.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-69.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-70.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-71.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-72.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-73.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-74.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-75.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-76.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-77.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-78.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-79.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-80.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-81.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-82.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-83.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-85.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-86.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-87.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-88.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-89.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-90.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-91.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-92.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-93.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-94.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-95.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-96.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-97.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-98.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/avl_single-99.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/dump-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/ffload-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/ffload-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/ffload-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/ffload-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/ffload-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/ffload-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-14.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-15.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-16.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-17.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_switch-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_switch-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_switch-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_switch-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_switch-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_switch-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_switch-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_switch-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/imm_switch-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr108270.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr109399.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr109547.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr109615.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr109743-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr109743-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr109743-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr109743-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr109748.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr109773-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr109773-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr109974.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr111037-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr111037-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr111037-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr111037-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr111234.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr111255.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr111927.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr111947.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr112092-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr112092-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr112713-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr112713-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr112776.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr112813-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr112929-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/pr112988-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-14.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-15.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-16.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-17.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-18.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-19.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-20.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-21.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-22.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-23.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-29.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-32.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-34.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-35.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-37.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-38.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-40.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-41.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-42.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-43.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-44.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-46.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-14.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-15.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-16.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-17.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-18.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-19.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-20.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-21.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-22.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-23.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-24.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-25.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-26.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-27.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-28.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-15.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-16.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-17.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-18.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-19.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-20.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-21.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-22.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-23.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-24.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-25.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-26.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-27.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-28.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-14.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-15.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-16.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-14.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-15.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-16.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-17.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-18.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-19.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-20.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-21.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-22.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-24.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvl_int.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-1.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-10.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-11.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-12.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-13.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-14.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-15.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-16.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-17.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-18.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-19.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-2.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-20.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-3.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-4.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-5.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-6.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-7.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-8.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-9.c: Force scalable vector. - * gcc.target/riscv/rvv/vsetvl/wredsum_vlmax.c: Force scalable vector. - -2023-12-19 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Adapt test. - -2023-12-19 xuli - - * gcc.target/riscv/rvv/base/cpymem-1.c: Fix checks under medany. - * gcc.target/riscv/rvv/base/cpymem-strategy-3.c: Fix checks. - * gcc.target/riscv/rvv/base/cpymem-strategy-4.c: Ditto. - -2023-12-19 Jiufu Guo - - PR rtl-optimization/112525 - PR target/30271 - * gcc.target/powerpc/pr112525.c: New test. - * gcc.target/powerpc/pr30271.c: New test. - -2023-12-19 Juzhe-Zhong - - * lib/target-supports.exp: Remove 256/512/1024 vectors. - -2023-12-19 xuli - - * gcc.target/riscv/rvv/base/cpymem-2.c: Fix checks. - -2023-12-18 Harald Anlauf - - PR fortran/96580 - * gfortran.dg/date_and_time_2.f90: New test. - * gfortran.dg/date_and_time_3.f90: New test. - * gfortran.dg/date_and_time_4.f90: New test. - -2023-12-18 Andreas Krebbel - - * gcc.target/s390/unaligned-2.c: New test. - -2023-12-18 Pan Li - - * gcc.target/riscv/rvv/base/pr112432-42.c: Moved to... - * gcc.target/riscv/rvv/base/pr112431-42.c: ...here. - -2023-12-18 Juzhe-Zhong - - PR target/112432 - * gcc.target/riscv/rvv/base/pr112432-42.c: New test. - -2023-12-18 Richard Biener - - PR c/111975 - * gcc.dg/gimplefe-52.c: New testcase. - -2023-12-18 Juzhe-Zhong - - * lib/target-supports.exp: Add RV32. - -2023-12-18 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/bug-4.c: New test. - * gcc.target/riscv/rvv/autovec/bug-5.c: New test. - * gcc.target/riscv/rvv/autovec/bug-6.c: New test. - -2023-12-18 Jakub Jelinek - - PR tree-optimization/113013 - * gcc.dg/pr113013.c: New test. - -2023-12-18 Jakub Jelinek - - * g++.dg/abi/abi-tag25a.C: Expect second dg-warning only for c++14 - and later. - -2023-12-18 xuli - - * gcc.target/riscv/rvv/base/cpymem-1.c: Fix checks. - -2023-12-18 xuli - - * gcc.target/riscv/rvv/autovec/bug-2.c: New test. - -2023-12-18 Pan Li - - * gcc.target/riscv/rvv/autovec/bug-3.c: New test. - -2023-12-17 Harald Anlauf - - PR fortran/97592 - * gfortran.dg/contiguous_15.f90: New test. - -2023-12-17 Xi Ruoyao - - PR target/112936 - * gcc.target/loongarch/mul-const-reduction.c: New test. - -2023-12-16 Nathaniel Shead - - PR c++/106363 - * g++.dg/modules/pr106363_a.C: New test. - * g++.dg/modules/pr106363_b.C: New test. - -2023-12-16 David Malcolm - - PR analyzer/112792 - * c-c++-common/analyzer/out-of-bounds-pr112792.c: New test. - -2023-12-16 Paul Thomas - - PR fortran/112459 - * gfortran.dg/pr112459.f90: New test. - -2023-12-16 Paul Thomas - - PR fortran/112834 - PR fortran/111853 - * gfortran.dg/associate_63.f90 : New test. - * gfortran.dg/pr111853.f90 : New test. - -2023-12-16 Nathaniel Shead - - PR c++/113031 - * g++.dg/cpp0x/pr113031.C: New test. - -2023-12-16 Andrew Carlotti - - * gcc.target/aarch64/options_set_17.c: Reorder expected flags. - * gcc.target/aarch64/cpunative/native_cpu_0.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_13.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_16.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_17.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_18.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_19.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_20.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_21.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_22.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_6.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_7.c: Ditto. - -2023-12-16 Andrew Carlotti - - * g++.target/i386/mvc2.C: - * g++.target/i386/mvc3.C: - -2023-12-16 Andrew Carlotti - - * gcc.target/aarch64/options_set_28.c: New test. - -2023-12-16 Andrew Carlotti - - * gcc.target/aarch64/options_set_4.c: Add terminating newline. - * gcc.target/aarch64/options_set_27.c: New test. - -2023-12-15 Mary Bennett - - * gcc.target/riscv/cv-elw-elw-compile-1.c: Create test for cv.elw. - * lib/target-supports.exp: Add proc for the XCVelw extension. - -2023-12-15 Patrick O'Neill - - * gcc.target/riscv/rvv/autovec/partial/pr112773.c: Add - -fno-vect-cost-model. - -2023-12-15 Jeff Law - - PR target/110201 - * gcc.target/riscv/zknd32.c: Verify diagnostics are issued for - invalid builtin arguments. - * gcc.target/riscv/zknd64.c: Likewise. - * gcc.target/riscv/zkne32.c: Likewise. - * gcc.target/riscv/zkne64.c: Likewise. - * gcc.target/riscv/zksed32.c: Likewise. - * gcc.target/riscv/zksed64.c: Likewise. - * gcc.target/riscv/zknd32-2.c: New test - * gcc.target/riscv/zknd64-2.c: Likewise. - * gcc.target/riscv/zkne32-2.c: Likewise. - * gcc.target/riscv/zkne64-2.c: Likewise. - * gcc.target/riscv/zksed32-2.c: Likewise. - * gcc.target/riscv/zksed64-2.c: Likewise. - Co-authored-by: Liao Shihua - -2023-12-15 Alex Coplan - - * g++.target/aarch64/pr103147-10.C: Add -fno-schedule-insns{,2} - to dg-options. - * gcc.target/aarch64/pr103147-10.c: Likewise. - -2023-12-15 Alex Coplan - - * gcc.target/aarch64/sve/pcs/stack_clash_1_128.c: Allow ldp/stp saves - of SVE registers. - * gcc.target/aarch64/sve/pcs/struct_3_128.c: Likewise. - -2023-12-15 Alex Coplan - - * gcc.target/aarch64/auto-init-padding-1.c: Add -O to options, - adjust test to work with optimizations enabled. - * gcc.target/aarch64/auto-init-padding-2.c: Add -O to options. - * gcc.target/aarch64/auto-init-padding-3.c: Add -O to options, - adjust test to work with optimizations enabled. - * gcc.target/aarch64/auto-init-padding-4.c: Likewise. - * gcc.target/aarch64/auto-init-padding-9.c: Likewise. - -2023-12-15 Xiao Zeng - - * gcc.target/riscv/arch-31.c: New test. - * gcc.target/riscv/arch-32.c: New test. - * gcc.target/riscv/predef-32.c: New test. - * gcc.target/riscv/predef-33.c: New test. - -2023-12-15 Gaius Mulley - - PR modula2/112946 - * gm2/iso/fail/badassignment.mod: New test. - * gm2/iso/fail/badexpression.mod: New test. - * gm2/iso/fail/badexpression2.mod: New test. - -2023-12-15 Patrick Palka - - PR c++/70435 - PR c++/88061 - * g++.dg/ext/attr-section1.C: New test. - * g++.dg/ext/attr-section1a.C: New test. - * g++.dg/ext/attr-section2.C: New test. - * g++.dg/ext/attr-section2a.C: New test. - * g++.dg/ext/attr-section2b.C: New test. - -2023-12-15 Patrick Palka - - PR c++/109715 - * g++.dg/abi/abi-tag25.C: New test. - * g++.dg/abi/abi-tag25a.C: New test. - -2023-12-15 Andre Vieira - - * gcc.dg/gomp/pr87887-1.c: Fixed test. - * gcc.dg/gomp/pr89246-1.c: Likewise. - * gcc.dg/gomp/simd-clones-2.c: Likewise. - -2023-12-15 Wilco Dijkstra - - * gcc.target/aarch64/memmove.c: Add new test. - * gcc.target/aarch64/memmove2.c: Likewise. - -2023-12-15 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/bug-1.c: New test. - -2023-12-15 Alex Coplan - - PR target/112906 - * gcc.target/aarch64/sve/acle/general/pr112906.c: New test. - -2023-12-15 Thomas Schwinge - - * gcc.dg/pr110279-2.c: Don't '#include '. Remove - '__attribute_noinline__'. - -2023-12-15 Jakub Jelinek - - PR tree-optimization/113024 - * gcc.dg/tree-ssa/pr113024.c: New test. - -2023-12-15 Jakub Jelinek - - PR tree-optimization/113003 - * gcc.dg/bitint-54.c: New test. - -2023-12-15 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Remove xfail of M2. - * gcc.target/riscv/rvv/autovec/partial/slp-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-5.c: Ditto. - -2023-12-15 Hongyu Wang - - * gcc.target/i386/pr112943.c: Require dfp. - -2023-12-15 Hongyu Wang - - PR target/112824 - * gcc.target/i386/pieces-memset-45.c: Remove - -mprefer-vector-width=256. - * g++.target/i386/pr112824-1.C: New test. - -2023-12-15 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/pr112988-1.c: Adapt test. - -2023-12-15 Juzhe-Zhong - - PR target/112387 - * gcc.dg/vect/costmodel/riscv/rvv/pr112387.c: Moved to... - * gcc.dg/vect/costmodel/riscv/rvv/pr112387-1.c: ...here. - * gcc.dg/vect/costmodel/riscv/rvv/pr112387-2.c: New test. - -2023-12-15 Juzhe-Zhong - - PR target/111153 - * gcc.dg/vect/costmodel/riscv/rvv/pr111153.c: Moved to... - * gcc.dg/vect/costmodel/riscv/rvv/pr11153-2.c: ...here. - * gcc.dg/vect/costmodel/riscv/rvv/pr111153-1.c: New test. - -2023-12-14 David Malcolm - - PR analyzer/96395 - * c-c++-common/analyzer/analyzer-decls.h: New header. - * gcc.dg/analyzer/20020129-1.c: Move to... - * c-c++-common/analyzer/20020129-1.c: ...here. - * gcc.dg/analyzer/SARD-tc117-basic-00001-min.c: Move to... - * c-c++-common/analyzer/SARD-tc117-basic-00001-min.c: ...here. - * gcc.dg/analyzer/SARD-tc249-basic-00034-min.c: Move to... - * c-c++-common/analyzer/SARD-tc249-basic-00034-min.c: ...here. - * gcc.dg/analyzer/abort.c: Move to... - * c-c++-common/analyzer/abort.c: ...here. - * gcc.dg/analyzer/aliasing-1.c: Move to... - * c-c++-common/analyzer/aliasing-1.c: ...here. - * gcc.dg/analyzer/aliasing-2.c: Move to... - * c-c++-common/analyzer/aliasing-2.c: ...here. - * gcc.dg/analyzer/alloca-leak.c: Move to... - * c-c++-common/analyzer/alloca-leak.c: ...here. - * gcc.dg/analyzer/analyzer-debugging-fns-1.c: Move to... - * c-c++-common/analyzer/analyzer-debugging-fns-1.c: ...here. - * gcc.dg/analyzer/analyzer-verbosity-2a.c: Move to... - * c-c++-common/analyzer/analyzer-verbosity-2a.c: ...here. - * gcc.dg/analyzer/analyzer-verbosity-3a.c: Move to... - * c-c++-common/analyzer/analyzer-verbosity-3a.c: ...here. - * gcc.dg/analyzer/asm-x86-1.c: Move to... - * c-c++-common/analyzer/asm-x86-1.c: ...here. - * gcc.dg/analyzer/attr-alloc_size-3.c: Move to... - * c-c++-common/analyzer/attr-alloc_size-3.c: ...here. - * gcc.dg/analyzer/attr-const-1.c: Move to... - * c-c++-common/analyzer/attr-const-1.c: ...here. - * gcc.dg/analyzer/attr-const-2.c: Move to... - * c-c++-common/analyzer/attr-const-2.c: ...here. - * gcc.dg/analyzer/attr-const-3.c: Move to... - * c-c++-common/analyzer/attr-const-3.c: ...here. - * gcc.dg/analyzer/attr-malloc-2.c: Move to... - * c-c++-common/analyzer/attr-malloc-2.c: ...here. - * gcc.dg/analyzer/attr-malloc-4.c: Move to... - * c-c++-common/analyzer/attr-malloc-4.c: ...here. - * gcc.dg/analyzer/attr-malloc-5.c: Move to... - * c-c++-common/analyzer/attr-malloc-5.c: ...here. - * gcc.dg/analyzer/attr-malloc-misuses.c: Move to... - * c-c++-common/analyzer/attr-malloc-misuses.c: ...here. - * gcc.dg/analyzer/attr-tainted_args-misuses.c: Move to... - * c-c++-common/analyzer/attr-tainted_args-misuses.c: ...here. - * gcc.dg/analyzer/bzip2-arg-parse-1.c: Move to... - * c-c++-common/analyzer/bzip2-arg-parse-1.c: ...here. - * gcc.dg/analyzer/call-summaries-1.c: Move to... - * c-c++-common/analyzer/call-summaries-1.c: ...here. - * gcc.dg/analyzer/call-summaries-3.c: Move to... - * c-c++-common/analyzer/call-summaries-3.c: ...here. - * gcc.dg/analyzer/call-summaries-asm-x86.c: Move to... - * c-c++-common/analyzer/call-summaries-asm-x86.c: ...here. - * gcc.dg/analyzer/callbacks-1.c: Move to... - * c-c++-common/analyzer/callbacks-1.c: ...here. - * gcc.dg/analyzer/callbacks-2.c: Move to... - * c-c++-common/analyzer/callbacks-2.c: ...here. - * gcc.dg/analyzer/callbacks-3.c: Move to... - * c-c++-common/analyzer/callbacks-3.c: ...here. - * gcc.dg/analyzer/capacity-2.c: Move to... - * c-c++-common/analyzer/capacity-2.c: ...here. - * gcc.dg/analyzer/capacity-3.c: Move to... - * c-c++-common/analyzer/capacity-3.c: ...here. - * gcc.dg/analyzer/casts-1.c: Move to... - * c-c++-common/analyzer/casts-1.c: ...here. - * gcc.dg/analyzer/casts-2.c: Move to... - * c-c++-common/analyzer/casts-2.c: ...here. - * gcc.dg/analyzer/clobbers-1.c: Move to... - * c-c++-common/analyzer/clobbers-1.c: ...here. - * gcc.dg/analyzer/compound-assignment-4.c: Move to... - * c-c++-common/analyzer/compound-assignment-4.c: ...here. - * gcc.dg/analyzer/data-model-12.c: Move to... - * c-c++-common/analyzer/data-model-12.c: ...here. - * gcc.dg/analyzer/data-model-14.c: Move to... - * c-c++-common/analyzer/data-model-14.c: ...here. - * gcc.dg/analyzer/data-model-18.c: Move to... - * c-c++-common/analyzer/data-model-18.c: ...here. - * gcc.dg/analyzer/data-model-2.c: Move to... - * c-c++-common/analyzer/data-model-2.c: ...here. - * gcc.dg/analyzer/data-model-20.c: Move to... - * c-c++-common/analyzer/data-model-20.c: ...here. - * gcc.dg/analyzer/data-model-21.c: Move to... - * c-c++-common/analyzer/data-model-21.c: ...here. - * gcc.dg/analyzer/data-model-22.c: Move to... - * c-c++-common/analyzer/data-model-22.c: ...here. - * gcc.dg/analyzer/data-model-4.c: Move to... - * c-c++-common/analyzer/data-model-4.c: ...here. - * gcc.dg/analyzer/data-model-5d.c: Move to... - * c-c++-common/analyzer/data-model-5d.c: ...here. - * gcc.dg/analyzer/data-model-8.c: Move to... - * c-c++-common/analyzer/data-model-8.c: ...here. - * gcc.dg/analyzer/data-model-path-1.c: Move to... - * c-c++-common/analyzer/data-model-path-1.c: ...here. - * gcc.dg/analyzer/deref-before-check-2.c: Move to... - * c-c++-common/analyzer/deref-before-check-2.c: ...here. - * gcc.dg/analyzer/deref-before-check-macro-pr108745.c: Move to... - * c-c++-common/analyzer/deref-before-check-macro-pr108745.c: ...here. - * gcc.dg/analyzer/deref-before-check-qemu-qtest_rsp_args.c: Move to... - * c-c++-common/analyzer/deref-before-check-qemu-qtest_rsp_args.c: - ...here. - * gcc.dg/analyzer/disabling.c: Move to... - * c-c++-common/analyzer/disabling.c: ...here. - * gcc.dg/analyzer/dump-state.c: Move to... - * c-c++-common/analyzer/dump-state.c: ...here. - * gcc.dg/analyzer/edges-2.c: Move to... - * c-c++-common/analyzer/edges-2.c: ...here. - * gcc.dg/analyzer/equivalence.c: Move to... - * c-c++-common/analyzer/equivalence.c: ...here. - * gcc.dg/analyzer/errno-1.c: Move to... - * c-c++-common/analyzer/errno-1.c: ...here. - * gcc.dg/analyzer/errno-___errno.c: Move to... - * c-c++-common/analyzer/errno-___errno.c: ...here. - * gcc.dg/analyzer/errno-__error.c: Move to... - * c-c++-common/analyzer/errno-__error.c: ...here. - * gcc.dg/analyzer/errno-global-var.c: Move to... - * c-c++-common/analyzer/errno-global-var.c: ...here. - * gcc.dg/analyzer/errno-pr107777.c: Move to... - * c-c++-common/analyzer/errno-pr107777.c: ...here. - * gcc.dg/analyzer/error-3.c: Move to... - * c-c++-common/analyzer/error-3.c: ...here. - * gcc.dg/analyzer/error-uninit.c: Move to... - * c-c++-common/analyzer/error-uninit.c: ...here. - * gcc.dg/analyzer/factorial.c: Move to... - * c-c++-common/analyzer/factorial.c: ...here. - * gcc.dg/analyzer/fd-1.c: Move to... - * c-c++-common/analyzer/fd-1.c: ...here. - * gcc.dg/analyzer/fd-2.c: Move to... - * c-c++-common/analyzer/fd-2.c: ...here. - * gcc.dg/analyzer/fd-3.c: Move to... - * c-c++-common/analyzer/fd-3.c: ...here. - * gcc.dg/analyzer/fd-bind-pr107928.c: Move to... - * c-c++-common/analyzer/fd-bind-pr107928.c: ...here. - * gcc.dg/analyzer/fd-connect-pr107928.c: Move to... - * c-c++-common/analyzer/fd-connect-pr107928.c: ...here. - * gcc.dg/analyzer/fd-glibc-byte-stream-socket.c: Move to... - * c-c++-common/analyzer/fd-glibc-byte-stream-socket.c: ...here. - * gcc.dg/analyzer/fd-manpage-getaddrinfo-client.c: Move to... - * c-c++-common/analyzer/fd-manpage-getaddrinfo-client.c: ...here. - * gcc.dg/analyzer/fd-mappage-getaddrinfo-server.c: Move to... - * c-c++-common/analyzer/fd-mappage-getaddrinfo-server.c: ...here. - * gcc.dg/analyzer/fd-meaning.c: Move to... - * c-c++-common/analyzer/fd-meaning.c: ...here. - * gcc.dg/analyzer/fd-socket-meaning.c: Move to... - * c-c++-common/analyzer/fd-socket-meaning.c: ...here. - * gcc.dg/analyzer/fd-symbolic-socket.c: Move to... - * c-c++-common/analyzer/fd-symbolic-socket.c: ...here. - * gcc.dg/analyzer/fd-uninit-1.c: Move to... - * c-c++-common/analyzer/fd-uninit-1.c: ...here. - * gcc.dg/analyzer/feasibility-1.c: Move to... - * c-c++-common/analyzer/feasibility-1.c: ...here. - * gcc.dg/analyzer/feasibility-2.c: Move to... - * c-c++-common/analyzer/feasibility-2.c: ...here. - * gcc.dg/analyzer/feasibility-4.c: Move to... - * c-c++-common/analyzer/feasibility-4.c: ...here. - * gcc.dg/analyzer/feasibility-pr107948.c: Move to... - * c-c++-common/analyzer/feasibility-pr107948.c: ...here. - * gcc.dg/analyzer/ferror-1.c: Move to... - * c-c++-common/analyzer/ferror-1.c: ...here. - * gcc.dg/analyzer/fibonacci.c: Move to... - * c-c++-common/analyzer/fibonacci.c: ...here. - * gcc.dg/analyzer/file-1.c: Move to... - * c-c++-common/analyzer/file-1.c: ...here. - * gcc.dg/analyzer/file-3.c: Move to... - * c-c++-common/analyzer/file-3.c: ...here. - * gcc.dg/analyzer/file-meaning-1.c: Move to... - * c-c++-common/analyzer/file-meaning-1.c: ...here. - * gcc.dg/analyzer/malloc-ipa-10.c: Move to... - * c-c++-common/analyzer/malloc-ipa-10.c: ...here. - * gcc.dg/analyzer/malloc-ipa-12.c: Move to... - * c-c++-common/analyzer/malloc-ipa-12.c: ...here. - * gcc.dg/analyzer/malloc-ipa-13a.c: Move to... - * c-c++-common/analyzer/malloc-ipa-13a.c: ...here. - * gcc.dg/analyzer/malloc-ipa-9.c: Move to... - * c-c++-common/analyzer/malloc-ipa-9.c: ...here. - * gcc.dg/analyzer/malloc-many-paths-1.c: Move to... - * c-c++-common/analyzer/malloc-many-paths-1.c: ...here. - * gcc.dg/analyzer/malloc-many-paths-3.c: Move to... - * c-c++-common/analyzer/malloc-many-paths-3.c: ...here. - * gcc.dg/analyzer/malloc-meaning-1.c: Move to... - * c-c++-common/analyzer/malloc-meaning-1.c: ...here. - * gcc.dg/analyzer/malloc-paths-1.c: Move to... - * c-c++-common/analyzer/malloc-paths-1.c: ...here. - * gcc.dg/analyzer/malloc-paths-2.c: Move to... - * c-c++-common/analyzer/malloc-paths-2.c: ...here. - * gcc.dg/analyzer/malloc-paths-3.c: Move to... - * c-c++-common/analyzer/malloc-paths-3.c: ...here. - * gcc.dg/analyzer/malloc-paths-4.c: Move to... - * c-c++-common/analyzer/malloc-paths-4.c: ...here. - * gcc.dg/analyzer/malloc-paths-5.c: Move to... - * c-c++-common/analyzer/malloc-paths-5.c: ...here. - * gcc.dg/analyzer/malloc-paths-6.c: Move to... - * c-c++-common/analyzer/malloc-paths-6.c: ...here. - * gcc.dg/analyzer/malloc-paths-7.c: Move to... - * c-c++-common/analyzer/malloc-paths-7.c: ...here. - * gcc.dg/analyzer/malloc-paths-8.c: Move to... - * c-c++-common/analyzer/malloc-paths-8.c: ...here. - * gcc.dg/analyzer/malloc-sarif-1.c: Move to... - * c-c++-common/analyzer/malloc-sarif-1.c: ...here. - * gcc.dg/analyzer/malloc-vs-local-1a.c: Move to... - * c-c++-common/analyzer/malloc-vs-local-1a.c: ...here. - * gcc.dg/analyzer/malloc-vs-local-1b.c: Move to... - * c-c++-common/analyzer/malloc-vs-local-1b.c: ...here. - * gcc.dg/analyzer/malloc-vs-local-2.c: Move to... - * c-c++-common/analyzer/malloc-vs-local-2.c: ...here. - * gcc.dg/analyzer/malloc-vs-local-3.c: Move to... - * c-c++-common/analyzer/malloc-vs-local-3.c: ...here. - * gcc.dg/analyzer/many-disabled-diagnostics.c: Move to... - * c-c++-common/analyzer/many-disabled-diagnostics.c: ...here. - * gcc.dg/analyzer/many-unused-locals.c: Move to... - * c-c++-common/analyzer/many-unused-locals.c: ...here. - * gcc.dg/analyzer/memcpy-pr107882.c: Move to... - * c-c++-common/analyzer/memcpy-pr107882.c: ...here. - * gcc.dg/analyzer/memset-1.c: Move to... - * c-c++-common/analyzer/memset-1.c: ...here. - * gcc.dg/analyzer/memset-2.c: Move to... - * c-c++-common/analyzer/memset-2.c: ...here. - * gcc.dg/analyzer/named-constants-via-macros-2.c: Move to... - * c-c++-common/analyzer/named-constants-via-macros-2.c: ...here. - * gcc.dg/analyzer/named-constants-via-macros-3.c: Move to... - * c-c++-common/analyzer/named-constants-via-macros-3.c: ...here. - * gcc.dg/analyzer/named-constants-via-macros-4.c: Move to... - * c-c++-common/analyzer/named-constants-via-macros-4.c: ...here. - * gcc.dg/analyzer/named-constants-via-macros-empty.c: Move to... - * c-c++-common/analyzer/named-constants-via-macros-empty.c: ...here. - * gcc.dg/analyzer/named-constants-via-macros-traditional.c: Move to... - * c-c++-common/analyzer/named-constants-via-macros-traditional.c: - ...here. - * gcc.dg/analyzer/named-constants-via-macros-undef.c: Move to... - * c-c++-common/analyzer/named-constants-via-macros-undef.c: ...here. - * gcc.dg/analyzer/omp-parallel-for-1.c: Move to... - * c-c++-common/analyzer/omp-parallel-for-1.c: ...here. - * gcc.dg/analyzer/omp-parallel-for-get-min.c: Move to... - * c-c++-common/analyzer/omp-parallel-for-get-min.c: ...here. - * gcc.dg/analyzer/out-of-bounds-3.c: Move to... - * c-c++-common/analyzer/out-of-bounds-3.c: ...here. - * gcc.dg/analyzer/out-of-bounds-coreutils.c: Move to... - * c-c++-common/analyzer/out-of-bounds-coreutils.c: ...here. - * gcc.dg/analyzer/out-of-bounds-curl.c: Move to... - * c-c++-common/analyzer/out-of-bounds-curl.c: ...here. - * gcc.dg/analyzer/out-of-bounds-diagram-1-json.c: Move to... - * c-c++-common/analyzer/out-of-bounds-diagram-1-json.c: ...here. - * gcc.dg/analyzer/out-of-bounds-diagram-1-sarif.c: Move to... - * c-c++-common/analyzer/out-of-bounds-diagram-1-sarif.c: ...here. - * gcc.dg/analyzer/out-of-bounds-pr110387.c: Move to... - * c-c++-common/analyzer/out-of-bounds-pr110387.c: ...here. - * gcc.dg/analyzer/out-of-bounds-read-char-arr.c: Move to... - * c-c++-common/analyzer/out-of-bounds-read-char-arr.c: ...here. - * gcc.dg/analyzer/out-of-bounds-read-int-arr.c: Move to... - * c-c++-common/analyzer/out-of-bounds-read-int-arr.c: ...here. - * gcc.dg/analyzer/out-of-bounds-read-struct-arr.c: Move to... - * c-c++-common/analyzer/out-of-bounds-read-struct-arr.c: ...here. - * gcc.dg/analyzer/out-of-bounds-write-char-arr.c: Move to... - * c-c++-common/analyzer/out-of-bounds-write-char-arr.c: ...here. - * gcc.dg/analyzer/out-of-bounds-write-int-arr.c: Move to... - * c-c++-common/analyzer/out-of-bounds-write-int-arr.c: ...here. - * gcc.dg/analyzer/out-of-bounds-write-struct-arr.c: Move to... - * c-c++-common/analyzer/out-of-bounds-write-struct-arr.c: ...here. - * gcc.dg/analyzer/params-2.c: Move to... - * c-c++-common/analyzer/params-2.c: ...here. - * gcc.dg/analyzer/paths-1.c: Move to... - * c-c++-common/analyzer/paths-1.c: ...here. - * gcc.dg/analyzer/paths-1a.c: Move to... - * c-c++-common/analyzer/paths-1a.c: ...here. - * gcc.dg/analyzer/paths-2.c: Move to... - * c-c++-common/analyzer/paths-2.c: ...here. - * gcc.dg/analyzer/paths-3.c: Move to... - * c-c++-common/analyzer/paths-3.c: ...here. - * gcc.dg/analyzer/paths-4.c: Move to... - * c-c++-common/analyzer/paths-4.c: ...here. - * gcc.dg/analyzer/paths-5.c: Move to... - * c-c++-common/analyzer/paths-5.c: ...here. - * gcc.dg/analyzer/paths-6.c: Move to... - * c-c++-common/analyzer/paths-6.c: ...here. - * gcc.dg/analyzer/paths-7.c: Move to... - * c-c++-common/analyzer/paths-7.c: ...here. - * gcc.dg/analyzer/paths-8.c: Move to... - * c-c++-common/analyzer/paths-8.c: ...here. - * gcc.dg/analyzer/pattern-test-1.c: Move to... - * c-c++-common/analyzer/pattern-test-1.c: ...here. - * gcc.dg/analyzer/pipe-pr107486.c: Move to... - * c-c++-common/analyzer/pipe-pr107486.c: ...here. - * gcc.dg/analyzer/pointer-merging.c: Move to... - * c-c++-common/analyzer/pointer-merging.c: ...here. - * gcc.dg/analyzer/pr100546.c: Move to... - * c-c++-common/analyzer/pr100546.c: ...here. - * gcc.dg/analyzer/pr101503.c: Move to... - * c-c++-common/analyzer/pr101503.c: ...here. - * gcc.dg/analyzer/pr101570.c: Move to... - * c-c++-common/analyzer/pr101570.c: ...here. - * gcc.dg/analyzer/pr101721.c: Move to... - * c-c++-common/analyzer/pr101721.c: ...here. - * gcc.dg/analyzer/pr102692-2.c: Move to... - * c-c++-common/analyzer/pr102692-2.c: ...here. - * gcc.dg/analyzer/pr102695.c: Move to... - * c-c++-common/analyzer/pr102695.c: ...here. - * gcc.dg/analyzer/pr103217-3.c: Move to... - * c-c++-common/analyzer/pr103217-3.c: ...here. - * gcc.dg/analyzer/pr103217-4.c: Move to... - * c-c++-common/analyzer/pr103217-4.c: ...here. - * gcc.dg/analyzer/pr103217-5.c: Move to... - * c-c++-common/analyzer/pr103217-5.c: ...here. - * gcc.dg/analyzer/pr104089.c: Move to... - * c-c++-common/analyzer/pr104089.c: ...here. - * gcc.dg/analyzer/pr104308.c: Move to... - * c-c++-common/analyzer/pr104308.c: ...here. - * gcc.dg/analyzer/pr104452.c: Move to... - * c-c++-common/analyzer/pr104452.c: ...here. - * gcc.dg/analyzer/pr104524.c: Move to... - * c-c++-common/analyzer/pr104524.c: ...here. - * gcc.dg/analyzer/pr104560-2.c: Move to... - * c-c++-common/analyzer/pr104560-2.c: ...here. - * gcc.dg/analyzer/pr105087-1.c: Move to... - * c-c++-common/analyzer/pr105087-1.c: ...here. - * gcc.dg/analyzer/pr105087-2.c: Move to... - * c-c++-common/analyzer/pr105087-2.c: ...here. - * gcc.dg/analyzer/pr105252.c: Move to... - * c-c++-common/analyzer/pr105252.c: ...here. - * gcc.dg/analyzer/pr106394.c: Move to... - * c-c++-common/analyzer/pr106394.c: ...here. - * gcc.dg/analyzer/pr106539.c: Move to... - * c-c++-common/analyzer/pr106539.c: ...here. - * gcc.dg/analyzer/pr106845.c: Move to... - * c-c++-common/analyzer/pr106845.c: ...here. - * gcc.dg/analyzer/pr109439.c: Move to... - * c-c++-common/analyzer/pr109439.c: ...here. - * gcc.dg/analyzer/pr110455.c: Move to... - * c-c++-common/analyzer/pr110455.c: ...here. - * gcc.dg/analyzer/pr93032-mztools-simplified.c: Move to... - * c-c++-common/analyzer/pr93032-mztools-simplified.c: ...here. - * gcc.dg/analyzer/pr93290.c: Move to... - * c-c++-common/analyzer/pr93290.c: ...here. - * gcc.dg/analyzer/pr93352.c: Move to... - * c-c++-common/analyzer/pr93352.c: ...here. - * gcc.dg/analyzer/pr93355-localealias-feasibility-3.c: Move to... - * c-c++-common/analyzer/pr93355-localealias-feasibility-3.c: ...here. - * gcc.dg/analyzer/pr93355-localealias-simplified.c: Move to... - * c-c++-common/analyzer/pr93355-localealias-simplified.c: ...here. - * gcc.dg/analyzer/pr93546.c: Move to... - * c-c++-common/analyzer/pr93546.c: ...here. - * gcc.dg/analyzer/pr93547.c: Move to... - * c-c++-common/analyzer/pr93547.c: ...here. - * gcc.dg/analyzer/pr93669.c: Move to... - * c-c++-common/analyzer/pr93669.c: ...here. - * gcc.dg/analyzer/pr93938.c: Move to... - * c-c++-common/analyzer/pr93938.c: ...here. - * gcc.dg/analyzer/pr94047.c: Move to... - * c-c++-common/analyzer/pr94047.c: ...here. - * gcc.dg/analyzer/pr94099.c: Move to... - * c-c++-common/analyzer/pr94099.c: ...here. - * gcc.dg/analyzer/pr94105.c: Move to... - * c-c++-common/analyzer/pr94105.c: ...here. - * gcc.dg/analyzer/pr94362-2.c: Move to... - * c-c++-common/analyzer/pr94362-2.c: ...here. - * gcc.dg/analyzer/pr94399.c: Move to... - * c-c++-common/analyzer/pr94399.c: ...here. - * gcc.dg/analyzer/pr94447.c: Move to... - * c-c++-common/analyzer/pr94447.c: ...here. - * gcc.dg/analyzer/pr94639.c: Move to... - * c-c++-common/analyzer/pr94639.c: ...here. - * gcc.dg/analyzer/pr94640.c: Move to... - * c-c++-common/analyzer/pr94640.c: ...here. - * gcc.dg/analyzer/pr94732.c: Move to... - * c-c++-common/analyzer/pr94732.c: ...here. - * gcc.dg/analyzer/pr94851-1.c: Move to... - * c-c++-common/analyzer/pr94851-1.c: ...here. - * gcc.dg/analyzer/pr94851-2.c: Move to... - * c-c++-common/analyzer/pr94851-2.c: ...here. - * gcc.dg/analyzer/pr94851-3.c: Move to... - * c-c++-common/analyzer/pr94851-3.c: ...here. - * gcc.dg/analyzer/pr94851-4.c: Move to... - * c-c++-common/analyzer/pr94851-4.c: ...here. - * gcc.dg/analyzer/pr95026.c: Move to... - * c-c++-common/analyzer/pr95026.c: ...here. - * gcc.dg/analyzer/pr96598.c: Move to... - * c-c++-common/analyzer/pr96598.c: ...here. - * gcc.dg/analyzer/pr96611.c: Move to... - * c-c++-common/analyzer/pr96611.c: ...here. - * gcc.dg/analyzer/pr96644.c: Move to... - * c-c++-common/analyzer/pr96644.c: ...here. - * gcc.dg/analyzer/pr96646.c: Move to... - * c-c++-common/analyzer/pr96646.c: ...here. - * gcc.dg/analyzer/pr96648.c: Move to... - * c-c++-common/analyzer/pr96648.c: ...here. - * gcc.dg/analyzer/pr96650-1-notrans.c: Move to... - * c-c++-common/analyzer/pr96650-1-notrans.c: ...here. - * gcc.dg/analyzer/pr96650-1-trans.c: Move to... - * c-c++-common/analyzer/pr96650-1-trans.c: ...here. - * gcc.dg/analyzer/pr96650-2-notrans.c: Move to... - * c-c++-common/analyzer/pr96650-2-notrans.c: ...here. - * gcc.dg/analyzer/pr96650-2-trans.c: Move to... - * c-c++-common/analyzer/pr96650-2-trans.c: ...here. - * gcc.dg/analyzer/pr96651-1.c: Move to... - * c-c++-common/analyzer/pr96651-1.c: ...here. - * gcc.dg/analyzer/pr96699.c: Move to... - * c-c++-common/analyzer/pr96699.c: ...here. - * gcc.dg/analyzer/pr96705.c: Move to... - * c-c++-common/analyzer/pr96705.c: ...here. - * gcc.dg/analyzer/pr96713.c: Move to... - * c-c++-common/analyzer/pr96713.c: ...here. - * gcc.dg/analyzer/pr96764.c: Move to... - * c-c++-common/analyzer/pr96764.c: ...here. - * gcc.dg/analyzer/pr96777.c: Move to... - * c-c++-common/analyzer/pr96777.c: ...here. - * gcc.dg/analyzer/pr96860-2.c: Move to... - * c-c++-common/analyzer/pr96860-2.c: ...here. - * gcc.dg/analyzer/pr97029.c: Move to... - * c-c++-common/analyzer/pr97029.c: ...here. - * gcc.dg/analyzer/pr97072.c: Move to... - * c-c++-common/analyzer/pr97072.c: ...here. - * gcc.dg/analyzer/pr97130.c: Move to... - * c-c++-common/analyzer/pr97130.c: ...here. - * gcc.dg/analyzer/pr97233.c: Move to... - * c-c++-common/analyzer/pr97233.c: ...here. - * gcc.dg/analyzer/pr97514.c: Move to... - * c-c++-common/analyzer/pr97514.c: ...here. - * gcc.dg/analyzer/pr97608.c: Move to... - * c-c++-common/analyzer/pr97608.c: ...here. - * gcc.dg/analyzer/pr97668.c: Move to... - * c-c++-common/analyzer/pr97668.c: ...here. - * gcc.dg/analyzer/pr98073.c: Move to... - * c-c++-common/analyzer/pr98073.c: ...here. - * gcc.dg/analyzer/pr98575-1.c: Move to... - * c-c++-common/analyzer/pr98575-1.c: ...here. - * gcc.dg/analyzer/pr98580-a.c: Move to... - * c-c++-common/analyzer/pr98580-a.c: ...here. - * gcc.dg/analyzer/pr98580-b.c: Move to... - * c-c++-common/analyzer/pr98580-b.c: ...here. - * gcc.dg/analyzer/pr98918.c: Move to... - * c-c++-common/analyzer/pr98918.c: ...here. - * gcc.dg/analyzer/pr99044-2.c: Move to... - * c-c++-common/analyzer/pr99044-2.c: ...here. - * gcc.dg/analyzer/pr99716-2.c: Move to... - * c-c++-common/analyzer/pr99716-2.c: ...here. - * gcc.dg/analyzer/pr99716-3.c: Move to... - * c-c++-common/analyzer/pr99716-3.c: ...here. - * gcc.dg/analyzer/pr99906.c: Move to... - * c-c++-common/analyzer/pr99906.c: ...here. - * gcc.dg/analyzer/pragma-1.c: Move to... - * c-c++-common/analyzer/pragma-1.c: ...here. - * gcc.dg/analyzer/pragma-2.c: Move to... - * c-c++-common/analyzer/pragma-2.c: ...here. - * gcc.dg/analyzer/refcounting-1.c: Move to... - * c-c++-common/analyzer/refcounting-1.c: ...here. - * gcc.dg/analyzer/rhbz1878600.c: Move to... - * c-c++-common/analyzer/rhbz1878600.c: ...here. - * gcc.dg/analyzer/sarif-pr107366.c: Move to... - * c-c++-common/analyzer/sarif-pr107366.c: ...here. - * gcc.dg/analyzer/setjmp-pr109094.c: Move to... - * c-c++-common/analyzer/setjmp-pr109094.c: ...here. - * gcc.dg/analyzer/sock-2.c: Move to... - * c-c++-common/analyzer/sock-2.c: ...here. - * gcc.dg/analyzer/stale-frame-1.c: Move to... - * c-c++-common/analyzer/stale-frame-1.c: ...here. - * gcc.dg/analyzer/stdarg-sentinel-1.c: Move to... - * c-c++-common/analyzer/stdarg-sentinel-1.c: ...here. - * gcc.dg/analyzer/stdarg-types-2.c: Move to... - * c-c++-common/analyzer/stdarg-types-2.c: ...here. - * gcc.dg/analyzer/stdarg-types-3.c: Move to... - * c-c++-common/analyzer/stdarg-types-3.c: ...here. - * gcc.dg/analyzer/stdarg-types-4.c: Move to... - * c-c++-common/analyzer/stdarg-types-4.c: ...here. - * gcc.dg/analyzer/strcpy-2.c: Move to... - * c-c++-common/analyzer/strcpy-2.c: ...here. - * gcc.dg/analyzer/strndup-1.c: Move to... - * c-c++-common/analyzer/strndup-1.c: ...here. - * gcc.dg/analyzer/switch-wrong-enum.c: Move to... - * c-c++-common/analyzer/switch-wrong-enum.c: ...here. - * gcc.dg/analyzer/symbolic-1.c: Move to... - * c-c++-common/analyzer/symbolic-1.c: ...here. - * gcc.dg/analyzer/symbolic-2.c: Move to... - * c-c++-common/analyzer/symbolic-2.c: ...here. - * gcc.dg/analyzer/symbolic-3.c: Move to... - * c-c++-common/analyzer/symbolic-3.c: ...here. - * gcc.dg/analyzer/symbolic-4.c: Move to... - * c-c++-common/analyzer/symbolic-4.c: ...here. - * gcc.dg/analyzer/symbolic-5.c: Move to... - * c-c++-common/analyzer/symbolic-5.c: ...here. - * gcc.dg/analyzer/symbolic-6.c: Move to... - * c-c++-common/analyzer/symbolic-6.c: ...here. - * gcc.dg/analyzer/symbolic-7.c: Move to... - * c-c++-common/analyzer/symbolic-7.c: ...here. - * gcc.dg/analyzer/symbolic-8.c: Move to... - * c-c++-common/analyzer/symbolic-8.c: ...here. - * gcc.dg/analyzer/symbolic-gt-1.c: Move to... - * c-c++-common/analyzer/symbolic-gt-1.c: ...here. - * gcc.dg/analyzer/taint-alloc-3.c: Move to... - * c-c++-common/analyzer/taint-alloc-3.c: ...here. - * gcc.dg/analyzer/taint-assert-BUG_ON.c: Move to... - * c-c++-common/analyzer/taint-assert-BUG_ON.c: ...here. - * gcc.dg/analyzer/taint-divisor-2.c: Move to... - * c-c++-common/analyzer/taint-divisor-2.c: ...here. - * gcc.dg/analyzer/taint-merger.c: Move to... - * c-c++-common/analyzer/taint-merger.c: ...here. - * gcc.dg/analyzer/taint-realloc.c: Move to... - * c-c++-common/analyzer/taint-realloc.c: ...here. - * gcc.dg/analyzer/uninit-1.c: Move to... - * c-c++-common/analyzer/uninit-1.c: ...here. - * gcc.dg/analyzer/uninit-2.c: Move to... - * c-c++-common/analyzer/uninit-2.c: ...here. - * gcc.dg/analyzer/uninit-3.c: Move to... - * c-c++-common/analyzer/uninit-3.c: ...here. - * gcc.dg/analyzer/uninit-6.c: Move to... - * c-c++-common/analyzer/uninit-6.c: ...here. - * gcc.dg/analyzer/uninit-6b.c: Move to... - * c-c++-common/analyzer/uninit-6b.c: ...here. - * gcc.dg/analyzer/uninit-8.c: Move to... - * c-c++-common/analyzer/uninit-8.c: ...here. - * gcc.dg/analyzer/uninit-pr104576.c: Move to... - * c-c++-common/analyzer/uninit-pr104576.c: ...here. - * gcc.dg/analyzer/uninit-pr106204.c: Move to... - * c-c++-common/analyzer/uninit-pr106204.c: ...here. - * gcc.dg/analyzer/uninit-pr108704.c: Move to... - * c-c++-common/analyzer/uninit-pr108704.c: ...here. - * gcc.dg/analyzer/uninit-pr108806-qemu.c: Move to... - * c-c++-common/analyzer/uninit-pr108806-qemu.c: ...here. - * gcc.dg/analyzer/uninit-pr108968-register.c: Move to... - * c-c++-common/analyzer/uninit-pr108968-register.c: ...here. - * gcc.dg/analyzer/uninit-pr94713.c: Move to... - * c-c++-common/analyzer/uninit-pr94713.c: ...here. - * gcc.dg/analyzer/uninit-pr94714.c: Move to... - * c-c++-common/analyzer/uninit-pr94714.c: ...here. - * gcc.dg/analyzer/unknown-fns-2.c: Move to... - * c-c++-common/analyzer/unknown-fns-2.c: ...here. - * gcc.dg/analyzer/unknown-fns-3.c: Move to... - * c-c++-common/analyzer/unknown-fns-3.c: ...here. - * gcc.dg/analyzer/unknown-fns-4.c: Move to... - * c-c++-common/analyzer/unknown-fns-4.c: ...here. - * gcc.dg/analyzer/unused-local-1.c: Move to... - * c-c++-common/analyzer/unused-local-1.c: ...here. - * gcc.dg/analyzer/use-after-free-2.c: Move to... - * c-c++-common/analyzer/use-after-free-2.c: ...here. - * gcc.dg/analyzer/use-after-free-3.c: Move to... - * c-c++-common/analyzer/use-after-free-3.c: ...here. - * gcc.dg/analyzer/vsnprintf-1.c: Move to... - * c-c++-common/analyzer/vsnprintf-1.c: ...here. - * gcc.dg/analyzer/zlib-1.c: Move to... - * c-c++-common/analyzer/zlib-1.c: ...here. - * gcc.dg/analyzer/zlib-2.c: Move to... - * c-c++-common/analyzer/zlib-2.c: ...here. - * gcc.dg/analyzer/zlib-4.c: Move to... - * c-c++-common/analyzer/zlib-4.c: ...here. - * gcc.dg/analyzer/zlib-5.c: Move to... - * c-c++-common/analyzer/zlib-5.c: ...here. - -2023-12-14 Marek Polacek - - PR c++/112482 - * g++.dg/cpp23/auto-fncast15.C: New test. - -2023-12-14 Andrew Pinski - - PR middle-end/111260 - * gcc.c-torture/compile/condmove-1.c: New test. - -2023-12-14 Marek Polacek - - PR c++/112869 - * g++.dg/template/sizeof18.C: New test. - -2023-12-14 Thomas Schwinge - - * gcc.dg/vect/vect-simd-clone-1.c: Update GCN 'dg-warning's. - * gcc.dg/vect/vect-simd-clone-2.c: Likewise. - * gcc.dg/vect/vect-simd-clone-3.c: Likewise. - * gcc.dg/vect/vect-simd-clone-4.c: Likewise. - * gcc.dg/vect/vect-simd-clone-5.c: Likewise. - * gcc.dg/vect/vect-simd-clone-8.c: Likewise. - -2023-12-14 Di Zhao - - PR tree-optimization/110279 - * gcc.dg/pr110279-2.c: New test. - -2023-12-14 Marek Polacek - - * g++.dg/cpp1z/class-deduction67.C: Correct dg-error target. - -2023-12-14 Robin Dapp - - * gcc.target/riscv/rvv/autovec/pr112999.c: New test. - -2023-12-14 Robin Dapp - - * gcc.target/riscv/rvv/autovec/partial/pr112773.c: New test. - -2023-12-14 Patrick Palka - - * g++.dg/cpp1z/class-deduction67.C: Accept in C++23 mode. - * g++.dg/cpp23/class-deduction-inherited1.C: New test. - * g++.dg/cpp23/class-deduction-inherited2.C: New test. - * g++.dg/cpp23/class-deduction-inherited3.C: New test. - * g++.dg/cpp23/class-deduction-inherited4.C: New test. - -2023-12-14 Richard Biener - - PR tree-optimization/112793 - * g++.dg/vect/pr112793.cc: New testcase. - -2023-12-14 Richard Sandiford - - * gcc.target/aarch64/sve/accumulators_1.c: New test. - * gcc.target/aarch64/sve/acle/asm/create2_1.c: Allow the moves to - be in any order. - * gcc.target/aarch64/sve/acle/asm/create3_1.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/create4_1.c: Likewise. - -2023-12-14 Alexandre Oliva - - PR middle-end/112938 - * gcc.dg/strub-internal-volatile.c: Check indirection of - volatile args. - -2023-12-14 Alexandre Oliva - - PR middle-end/112938 - * gcc.dg/strub-internal-volatile.c: New. - -2023-12-14 Jeff Law - - * gcc.target/m68k/pr63347.c: Call __builtin_abort and __builtin_exit - instead of abort and exit. - -2023-12-14 Jakub Jelinek - - PR tree-optimization/112994 - * gcc.dg/tree-ssa/pr112994-2.c: New test. - -2023-12-14 Jakub Jelinek - - PR tree-optimization/112994 - * gcc.dg/tree-ssa/pr112994-1.c: New test. - -2023-12-14 Filip Kastl - - * gcc.dg/sccopy-1.c: New test. - -2023-12-14 liuhongt - - * gcc.target/i386/pr100865-7a.c: Adjust testcase. - * gcc.target/i386/pr100865-7c.c: Ditto. - * gcc.target/i386/pr112992.c: New test. - -2023-12-14 Juzhe-Zhong - - PR target/112387 - * gcc.dg/vect/costmodel/riscv/rvv/pr112387.c: New test. - -2023-12-14 Richard Biener - - PR tree-optimization/110640 - * gcc.dg/torture/pr110640.c: New testcase. - -2023-12-14 Jakub Jelinek - - * c-c++-common/gomp/target-enter-data-1.c: Match also sizeof bar on - 32-bit targets - 8 bytes - rather than just 16 bytes. - -2023-12-14 Jakub Jelinek - - PR target/112904 - * g++.target/i386/pr112904.C: Add dg-do compile, dg-options -mxop - and for ia32 also dg-additional-options -mmmx. - -2023-12-14 Juzhe-Zhong - - PR target/111153 - * gcc.dg/vect/costmodel/riscv/rvv/pr111153.c: New test. - -2023-12-14 Jeff Law - - * gcc.c-torture/execute/20001229-1.c: Prototype syscall(). - -2023-12-13 Marek Polacek - - * g++.dg/cpp0x/constexpr-ex1.C: Adjust expected diagnostic line. - -2023-12-13 Richard Ball - - * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h: Add include - arm_neon_sve_bridge header file - * gcc.dg/torture/neon-sve-bridge.c: New test. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_bf16.c: New test. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_f16.c: New test. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_f32.c: New test. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_f64.c: New test. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_s16.c: New test. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_s32.c: New test. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_s64.c: New test. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_s8.c: New test. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_u16.c: New test. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_u32.c: New test. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_u64.c: New test. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_u8.c: New test. - * gcc.target/aarch64/sve/acle/asm/get_neonq_bf16.c: New test. - * gcc.target/aarch64/sve/acle/asm/get_neonq_f16.c: New test. - * gcc.target/aarch64/sve/acle/asm/get_neonq_f32.c: New test. - * gcc.target/aarch64/sve/acle/asm/get_neonq_f64.c: New test. - * gcc.target/aarch64/sve/acle/asm/get_neonq_s16.c: New test. - * gcc.target/aarch64/sve/acle/asm/get_neonq_s32.c: New test. - * gcc.target/aarch64/sve/acle/asm/get_neonq_s64.c: New test. - * gcc.target/aarch64/sve/acle/asm/get_neonq_s8.c: New test. - * gcc.target/aarch64/sve/acle/asm/get_neonq_u16.c: New test. - * gcc.target/aarch64/sve/acle/asm/get_neonq_u32.c: New test. - * gcc.target/aarch64/sve/acle/asm/get_neonq_u64.c: New test. - * gcc.target/aarch64/sve/acle/asm/get_neonq_u8.c: New test. - * gcc.target/aarch64/sve/acle/asm/set_neonq_bf16.c: New test. - * gcc.target/aarch64/sve/acle/asm/set_neonq_f16.c: New test. - * gcc.target/aarch64/sve/acle/asm/set_neonq_f32.c: New test. - * gcc.target/aarch64/sve/acle/asm/set_neonq_f64.c: New test. - * gcc.target/aarch64/sve/acle/asm/set_neonq_s16.c: New test. - * gcc.target/aarch64/sve/acle/asm/set_neonq_s32.c: New test. - * gcc.target/aarch64/sve/acle/asm/set_neonq_s64.c: New test. - * gcc.target/aarch64/sve/acle/asm/set_neonq_s8.c: New test. - * gcc.target/aarch64/sve/acle/asm/set_neonq_u16.c: New test. - * gcc.target/aarch64/sve/acle/asm/set_neonq_u32.c: New test. - * gcc.target/aarch64/sve/acle/asm/set_neonq_u64.c: New test. - * gcc.target/aarch64/sve/acle/asm/set_neonq_u8.c: New test. - * gcc.target/aarch64/sve/acle/general-c/dup_neonq_1.c: New test. - * gcc.target/aarch64/sve/acle/general-c/get_neonq_1.c: New test. - * gcc.target/aarch64/sve/acle/general-c/set_neonq_1.c: New test. - -2023-12-13 Patrick Palka - - * g++.dg/overload/error6.C: Pass -fdiagnostics-all-candidates. - * g++.dg/cpp0x/deleted16.C: New test. - * g++.dg/cpp0x/deleted16a.C: New test. - * g++.dg/overload/error6a.C: New test. - -2023-12-13 Patrick Palka - - * g++.dg/diagnostic/param-type-mismatch-2.C: Rename template - function test_7 that (maybe accidentally) shares the same name - as its non-template callee. - * g++.dg/overload/error6.C: New test. - -2023-12-13 Patrick Palka - - * g++.dg/overload/error5.C: New test. - -2023-12-13 Patrick Palka - - PR c++/99186 - PR c++/104867 - * g++.dg/cpp1z/nontype-auto23.C: New test. - * g++.dg/cpp1z/nontype-auto24.C: New test. - -2023-12-13 Patrick Palka - - PR c++/93740 - * g++.dg/template/ptrmem34.C: New test. - -2023-12-13 Jason Merrill - - * c-c++-common/Waddress-of-packed-member-1.c: Don't expect - a warning on the cast cases. - * c-c++-common/pr51628-35.c: Use -Wcast-align=strict. - * g++.dg/warn/Waddress-of-packed-member3.C: Likewise. - * gcc.dg/pr88928.c: Likewise. - * gcc.dg/pr51628-20.c: Removed. - * gcc.dg/pr51628-21.c: Removed. - * gcc.dg/pr51628-25.c: Removed. - -2023-12-13 Julian Brown - - * gfortran.dg/goacc/enter-exit-data-2.f90: New test. - * gfortran.dg/goacc/finalize-1.f: Adjust scan output. - * gfortran.dg/gomp/map-9.f90: Adjust scan output. - * gfortran.dg/gomp/map-subarray-2.f90: New test. - * gfortran.dg/gomp/map-subarray.f90: New test. - * gfortran.dg/gomp/target-enter-exit-data.f90: New test. - -2023-12-13 Julian Brown - - * c-c++-common/gomp/clauses-2.c: Fix error output. - * c-c++-common/gomp/target-implicit-map-2.c: Adjust scan output. - * c-c++-common/gomp/target-50.c: Adjust scan output. - * c-c++-common/gomp/target-enter-data-1.c: Adjust scan output. - * g++.dg/gomp/static-component-1.C: New test. - * gcc.dg/gomp/target-3.c: Adjust scan output. - * gfortran.dg/gomp/map-9.f90: Adjust scan output. - -2023-12-13 Jason Merrill - - PR c++/96997 - * g++.dg/debug/cleanup2.C: New test. - -2023-12-13 Jason Merrill - - Revert: - 2023-12-13 Jason Merrill - - * g++.dg/pr112822.C: Require C++17. - -2023-12-13 Gaius Mulley - - PR modula2/112921 - * gm2/iso/run/pass/shorttest.mod: New test. - -2023-12-13 Nathaniel Shead - - PR c++/71093 - * g++.dg/cpp1y/constexpr-lifetime1.C: Improve error message. - * g++.dg/cpp1y/constexpr-lifetime2.C: Likewise. - * g++.dg/cpp1y/constexpr-lifetime3.C: Likewise. - * g++.dg/cpp1y/constexpr-lifetime4.C: Likewise. - * g++.dg/cpp2a/bitfield2.C: Likewise. - * g++.dg/cpp2a/constexpr-new3.C: Likewise. New check. - * g++.dg/cpp1y/constexpr-lifetime7.C: New test. - * g++.dg/cpp2a/constexpr-lifetime1.C: New test. - * g++.dg/cpp2a/constexpr-lifetime2.C: New test. - -2023-12-13 Jason Merrill - - PR c++/108243 - * g++.dg/cpp2a/consteval-prop6.C: Adjust diagnostic. - * g++.dg/opt/is_constant_evaluated3.C: Remove xfails. - -2023-12-13 Jason Merrill - - * g++.dg/cpp1y/constexpr-nsdmi7b.C: Adjust line. - * g++.dg/template/copy1.C: Likewise. - -2023-12-13 Jason Merrill - - * g++.dg/pr112822.C: Require C++17. - -2023-12-13 Andrew Carlotti - - * gcc.target/aarch64/cpunative/native_cpu_18.c: Add \+nopauth\n - * gcc.target/aarch64/options_set_7.c: Add \+crc\n - * gcc.target/aarch64/options_set_8.c: Add \+crc\+nodotprod\n - * gcc.target/aarch64/cpunative/native_cpu_0.c: Add \n - * gcc.target/aarch64/cpunative/native_cpu_1.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_2.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_3.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_4.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_5.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_6.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_7.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_8.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_9.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_10.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_11.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_12.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_13.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_14.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_15.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_16.c: Ditto. - * gcc.target/aarch64/cpunative/native_cpu_17.c: Ditto. - * gcc.target/aarch64/options_set_1.c: Ditto. - * gcc.target/aarch64/options_set_2.c: Ditto. - * gcc.target/aarch64/options_set_3.c: Ditto. - * gcc.target/aarch64/options_set_5.c: Ditto. - * gcc.target/aarch64/options_set_6.c: Ditto. - * gcc.target/aarch64/options_set_9.c: Ditto. - * gcc.target/aarch64/options_set_11.c: Ditto. - * gcc.target/aarch64/options_set_12.c: Ditto. - * gcc.target/aarch64/options_set_13.c: Ditto. - * gcc.target/aarch64/options_set_14.c: Ditto. - * gcc.target/aarch64/options_set_15.c: Ditto. - * gcc.target/aarch64/options_set_16.c: Ditto. - * gcc.target/aarch64/options_set_17.c: Ditto. - * gcc.target/aarch64/options_set_18.c: Ditto. - * gcc.target/aarch64/options_set_19.c: Ditto. - * gcc.target/aarch64/options_set_20.c: Ditto. - * gcc.target/aarch64/options_set_21.c: Ditto. - * gcc.target/aarch64/options_set_22.c: Ditto. - * gcc.target/aarch64/options_set_23.c: Ditto. - * gcc.target/aarch64/options_set_24.c: Ditto. - * gcc.target/aarch64/options_set_25.c: Ditto. - * gcc.target/aarch64/options_set_26.c: Ditto. - -2023-12-13 Peter Bergner - - PR tree-optimization/112822 - * g++.dg/pr112822.C: Add dg-do compile target c++17 directive. - -2023-12-13 Pan Li - - PR target/112929 - PR target/112988 - * gcc.target/riscv/rvv/vsetvl/pr112929.c: Moved to... - * gcc.target/riscv/rvv/vsetvl/pr112929-1.c: ...here. - * gcc.target/riscv/rvv/vsetvl/pr112988.c: Moved to... - * gcc.target/riscv/rvv/vsetvl/pr112988-1.c: ...here. - * gcc.target/riscv/rvv/vsetvl/pr112929-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/pr112988-2.c: New test. - -2023-12-13 Andrew Carlotti - - * g++.target/aarch64/sve/aarch64-ssve.exp: - -2023-12-13 Roger Sayle - Jeff Law - - * gcc.target/arc/extvsi-1.c: New test case. - * gcc.target/arc/extvsi-2.c: Likewise. - -2023-12-13 Juzhe-Zhong - - PR target/112929 - PR target/112988 - * gcc.target/riscv/rvv/vsetvl/pr112929.c: New test. - * gcc.target/riscv/rvv/vsetvl/pr112988.c: New test. - -2023-12-13 demin.han - - * gcc.dg/vect/costmodel/riscv/rvv/riscv_vector.h: New file. - -2023-12-13 Juzhe-Zhong - - PR target/111317 - * gcc.dg/vect/costmodel/riscv/rvv/pr111317.c: New test. - -2023-12-13 Jakub Jelinek - - PR tree-optimization/112940 - * gcc.dg/bitint-53.c: New test. - -2023-12-13 Jakub Jelinek - - PR target/112962 - * gcc.target/i386/pr112962.c: New test. - -2023-12-13 Richard Biener - - PR tree-optimization/112991 - PR tree-optimization/112961 - * gcc.dg/torture/pr112991.c: New testcase. - -2023-12-13 Victor Do Nascimento - - * gcc.target/aarch64/builtin_pld_pli.c: New. - * gcc.target/aarch64/builtin_pld_pli_illegal.c: New. - -2023-12-13 Haochen Jiang - - * gcc.target/i386/pr110790-2.c: Change scan-assembler from shrq - to shr\[qx\]. - -2023-12-13 Jiufu Guo - - * gcc.target/powerpc/const-build-1.c: New test. - -2023-12-12 Jason Merrill - Jason Xu - - * g++.dg/ext/attr-hotness.C: Add member templates. - -2023-12-12 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/pr111313.c: Adapt test. - * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-1.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-10.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-11.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-12.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-2.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-3.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-4.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-5.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-6.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-7.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-8.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-9.c: New test. - -2023-12-12 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-mixed-1.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-3.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-6.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-1.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-2.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-3.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-4.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-5.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-6.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-1.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-2.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-4.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-9.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-1.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-10.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-3.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-4.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-5.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-6.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-7.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-8.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/pr111848.c: Adapt test. - -2023-12-12 Peter Bergner - - PR tree-optimization/112822 - * g++.dg/pr112822.C: New test. - -2023-12-12 Gaius Mulley - - PR modula2/112984 - * gm2/switches/pedantic/pass/hello.mod: New test. - * gm2/switches/pedantic/pass/switches-pedantic-pass.exp: New test. - -2023-12-12 Xi Ruoyao - - * gcc.target/loongarch/vect-ftint-no-inexact.c (xfail): Remove. - -2023-12-12 Jason Merrill - - * g++.dg/ext/is_nothrow_constructible8.C: Require C++14. - -2023-12-12 Jason Merrill - Nathaniel Shead - - * gcc.dg/pr87052.c: Adjust expected CLOBBER output. - -2023-12-12 Szabolcs Nagy - - * gcc.target/aarch64/branch-protection-attr.c: Update. - * gcc.target/aarch64/branch-protection-option.c: Update. - -2023-12-12 Richard Biener - - PR tree-optimization/112736 - * gcc.dg/torture/pr112736.c: New testcase. - -2023-12-12 Richard Biener - - PR tree-optimization/112961 - * g++.dg/vect/pr112961.cc: New testcase. - -2023-12-12 Jakub Jelinek - - * gcc.dg/gomp/pr87887-1.c: Add missing comment argument to dg-warning. - * gcc.dg/gomp/pr89246-1.c: Likewise. - * gcc.dg/gomp/simd-clones-2.c: Add missing " after dump name. - -2023-12-12 Xi Ruoyao - - PR middle-end/107723 - * gcc.dg/torture/builtin-fp-int-inexact-trunc.c: New test. - -2023-12-12 Richard Sandiford - - * gcc.target/aarch64/prfm_imm_offset_2.c: Add dg-options. - -2023-12-12 Pan Li - - * gcc.target/riscv/rvv/autovec/binop/vcompress-avlprop-1.c: New test. - -2023-12-12 Xi Ruoyao - - * gcc.target/loongarch/attr-model-3.c: New test. - * gcc.target/loongarch/attr-model-4.c: New test. - * gcc.target/loongarch/func-call-extreme-3.c: New test. - * gcc.target/loongarch/func-call-extreme-4.c: New test. - -2023-12-12 Richard Biener - - PR tree-optimization/112939 - * gcc.dg/pr112939.c: New testcase. - -2023-12-12 liuhongt - - * gcc.target/i386/pr112891.c: New test. - * gcc.target/i386/pr112891-2.c: New test. - -2023-12-12 Hongyu Wang - - PR target/112943 - * gcc.target/i386/pr112943.c: New test. - -2023-12-12 David Malcolm - - * gcc.dg/plugin/plugin.exp: Add taint-modulus.c to - analyzer_kernel_plugin.c tests. - * gcc.dg/plugin/taint-modulus.c: New test. - -2023-12-12 Yang Yujie - - * gcc.target/loongarch/eh_return-normal-return.c: New test. - -2023-12-11 Jakub Jelinek - - * c-c++-common/strub-O2fni.c: Add -fno-stack-protector to dg-options. - * c-c++-common/strub-O3fni.c: Likewise. - * c-c++-common/strub-Os.c: Likewise. - * c-c++-common/strub-Og.c: Likewise. - -2023-12-11 Martin Uecker - - PR c/112488 - * gcc.dg/pr112488-1.c: New test. - * gcc.dg/pr112488-2.c: New test. - * gcc.dg/pr112898.c: New test. - * gcc.misc-tests/gcov-pr85350.c: Adapt. - -2023-12-11 Richard Sandiford - - * gcc.target/aarch64/prfm_imm_offset_2.c: New test. - -2023-12-11 Jason Merrill - - * g++.dg/cpp2a/concepts-explicit-inst1.C: Specify ABI v18. - * g++.dg/cpp2a/concepts-explicit-inst1a.C: New test. - -2023-12-11 Alexandre Oliva - - PR middle-end/112784 - * gcc.target/i386/avx512cd-inline-stringops-pr112784.c: New. - -2023-12-11 Alexandre Oliva - - PR target/112778 - * gcc.dg/inline-mem-cmp-pr112778.c: New. - -2023-12-11 Alexandre Oliva - - PR target/112804 - * gcc.target/aarch64/inline-mem-set-pr112804.c: New. - -2023-12-11 Roger Sayle - - PR rtl-optimization/112380 - * gcc.dg/pr112380.c: New test case. - -2023-12-11 Francois-Xavier Coudert - - PR testsuite/112297 - * gcc.target/i386/pr100936.c: Require nonpic target. - -2023-12-11 Patrick Palka - - PR c++/63378 - * g++.dg/template/fnspec3.C: New test. - -2023-12-11 Andrew Pinski - - * gcc.dg/tree-ssa/pr110637-1.c: New test. - * gcc.dg/tree-ssa/pr110637-2.c: New test. - * gcc.dg/tree-ssa/pr110637-3.c: New test. - * gcc.dg/tree-ssa/pr111972-1.c: New test. - * gcc.dg/tree-ssa/pr69270.c: Update testcase. - * gcc.target/i386/pr110790-2.c: Update testcase. - * gcc.dg/fold-even-1.c: Removed. - -2023-12-11 Andre Vieira - - * lib/target-supports.exp: Add aarch64 targets to vect_simd_clones. - * c-c++-common/gomp/declare-variant-14.c: Adapt test for aarch64. - * c-c++-common/gomp/pr60823-1.c: Likewise. - * c-c++-common/gomp/pr60823-2.c: Likewise. - * c-c++-common/gomp/pr60823-3.c: Likewise. - * g++.dg/gomp/attrs-10.C: Likewise. - * g++.dg/gomp/declare-simd-1.C: Likewise. - * g++.dg/gomp/declare-simd-3.C: Likewise. - * g++.dg/gomp/declare-simd-4.C: Likewise. - * g++.dg/gomp/declare-simd-7.C: Likewise. - * g++.dg/gomp/declare-simd-8.C: Likewise. - * g++.dg/gomp/pr88182.C: Likewise. - * gcc.dg/declare-simd.c: Likewise. - * gcc.dg/gomp/declare-simd-1.c: Likewise. - * gcc.dg/gomp/declare-simd-3.c: Likewise. - * gcc.dg/gomp/pr87887-1.c: Likewise. - * gcc.dg/gomp/pr87895-1.c: Likewise. - * gcc.dg/gomp/pr89246-1.c: Likewise. - * gcc.dg/gomp/pr99542.c: Likewise. - * gcc.dg/gomp/simd-clones-2.c: Likewise. - * gcc.dg/vect/vect-simd-clone-1.c: Likewise. - * gcc.dg/vect/vect-simd-clone-2.c: Likewise. - * gcc.dg/vect/vect-simd-clone-4.c: Likewise. - * gcc.dg/vect/vect-simd-clone-5.c: Likewise. - * gcc.dg/vect/vect-simd-clone-6.c: Likewise. - * gcc.dg/vect/vect-simd-clone-7.c: Likewise. - * gcc.dg/vect/vect-simd-clone-8.c: Likewise. - * gfortran.dg/gomp/declare-simd-2.f90: Likewise. - * gfortran.dg/gomp/declare-simd-coarray-lib.f90: Likewise. - * gfortran.dg/gomp/declare-variant-14.f90: Likewise. - * gfortran.dg/gomp/pr79154-1.f90: Likewise. - * gfortran.dg/gomp/pr83977.f90: Likewise. - * gcc.target/aarch64/declare-simd-1.c: New file. - * gcc.target/aarch64/declare-simd-2.c: New file. - -2023-12-11 Patrick Palka - - * g++.dg/modules/concept-8.h: New test. - * g++.dg/modules/concept-8_a.H: New test. - * g++.dg/modules/concept-8_b.C: New test. - -2023-12-11 Robin Dapp - - * gcc.target/riscv/rvv/autovec/builtin/strcmp-run.c: Adjust test - expectation and target selector. - * gcc.target/riscv/rvv/autovec/builtin/strlen-run.c: Adjust - target selector. - * gcc.target/riscv/rvv/autovec/builtin/strncmp-run.c: Ditto. - -2023-12-11 Tobias Burnus - - * c-c++-common/gomp/requires-3.c: Update for now valid code. - * gfortran.dg/gomp/requires-3.f90: Likewise. - * gfortran.dg/gomp/requires-2.f90: Update dg-error. - * gfortran.dg/gomp/requires-5.f90: Likewise. - * c-c++-common/gomp/requires-5.c: New test. - * c-c++-common/gomp/requires-6.c: New test. - * c-c++-common/gomp/requires-7.c: New test. - * c-c++-common/gomp/requires-8.c: New test. - * gfortran.dg/gomp/requires-10.f90: New test. - * gfortran.dg/gomp/requires-11.f90: New test. - -2023-12-11 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-2.c: New test. - -2023-12-11 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/pr110950.c: Adapt test. - -2023-12-11 Francois-Xavier Coudert - - * c-c++-common/asan/memcmp-1.c: Adjust pattern on darwin. - -2023-12-11 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/avl_use_bug-1.c: Moved to... - * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-1.c: ...here. - -2023-12-11 Francois-Xavier Coudert - - * gcc.target/i386/pr112445.c: Require dfp. - -2023-12-11 liuhongt - - * gcc.target/i386/avx512vl-blendv-3.c: New test. - * gcc.target/i386/blendv-3.c: New test. - -2023-12-11 Francois-Xavier Coudert - - * gcc.target/i386/libcall-1.c: Skip on darwin. - -2023-12-11 Juzhe-Zhong - - PR target/112431 - * gcc.target/riscv/rvv/base/pr112431-39.c: New test. - * gcc.target/riscv/rvv/base/pr112431-40.c: New test. - * gcc.target/riscv/rvv/base/pr112431-41.c: New test. - -2023-12-11 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/avl_use_bug-1.c: New test. - -2023-12-11 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/poly-selftest-1.c: New test. - -2023-12-11 Fei Gao - Xiao Zeng - - * gcc.target/riscv/zicond_ifcvt_opt.c: Add TCs for AND. - -2023-12-11 Nathaniel Shead - - PR c++/96090 - PR c++/100470 - * g++.dg/cpp0x/noexcept81.C: New test. - * g++.dg/ext/is_nothrow_constructible7.C: New test. - * g++.dg/ext/is_nothrow_constructible8.C: New test. - -2023-12-11 Nathaniel Shead - - PR c++/104234 - PR c++/112580 - * g++.dg/modules/pr104234.C: New test. - -2023-12-11 liuhongt - - * g++.target/i386/pr112904.C: New test. - -2023-12-11 Haochen Gui - - PR target/112707 - * gcc.target/powerpc/pr112707.h: New. - * gcc.target/powerpc/pr112707-2.c: New. - * gcc.target/powerpc/pr112707-3.c: New. - * gcc.target/powerpc/pr88558-p7.c: Check fctid on ilp32 and - has_arch_ppc64 as it's now guarded by powerpc64. - * gcc.target/powerpc/pr88558-p8.c: Likewise. - * gfortran.dg/nint_p7.f90: Add powerpc64 target requirement as - lrounddi2 is now guarded by powerpc64. - -2023-12-11 Haochen Gui - - PR target/112707 - * gcc.target/powerpc/pr112707-1.c: New. - -2023-12-10 Fei Gao - Xiao Zeng - - * gcc.target/riscv/zicond_ifcvt_opt.c: Add tests for shift like op. - -2023-12-10 Richard Sandiford - - * gcc.target/aarch64/sme2/acle-asm/uzp_bf16_x2.c: XFAIL z0_z23 tests - for big-endian. - * gcc.target/aarch64/sme2/acle-asm/uzp_f16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzp_f32_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzp_f64_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzp_s16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzp_s32_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzp_s64_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzp_s8_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzp_u16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzp_u32_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzp_u64_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzp_u8_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzpq_bf16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzpq_f16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzpq_f32_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzpq_f64_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzpq_s16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzpq_s32_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzpq_s64_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzpq_s8_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzpq_u16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzpq_u32_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzpq_u64_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/uzpq_u8_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zip_bf16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zip_f16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zip_f32_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zip_f64_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zip_s16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zip_s32_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zip_s64_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zip_s8_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zip_u16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zip_u32_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zip_u64_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zip_u8_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zipq_bf16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zipq_f16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zipq_f32_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zipq_f64_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zipq_s16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zipq_s32_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zipq_s64_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zipq_s8_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zipq_u16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zipq_u32_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zipq_u64_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zipq_u8_x2.c: Likewise. - -2023-12-10 Richard Sandiford - - * gcc.target/aarch64/sme/call_sm_switch_5.c: Restrict tests that - contain Z8-Z23 saves to little-endian. - * gcc.target/aarch64/sme/call_sm_switch_8.c: Likewise. - * gcc.target/aarch64/sme/locally_streaming_1.c: Likewise. - -2023-12-10 Richard Sandiford - - * gcc.target/aarch64/sme/call_sm_switch_1.c: Add -funwind-tables. - * gcc.target/aarch64/sme/call_sm_switch_3.c: Likewise. - * gcc.target/aarch64/sme/call_sm_switch_5.c: Likewise. - -2023-12-10 Harald Anlauf - - PR fortran/111503 - * gfortran.dg/contiguous_14.f90: New test. - -2023-12-10 Harald Anlauf - - PR fortran/105543 - * gfortran.dg/contiguous_13.f90: New test. - -2023-12-10 Ken Matsui - - * g++.dg/ext/has-builtin-1.C: Test existence of __remove_pointer. - * g++.dg/ext/remove_pointer.C: New test. - -2023-12-10 Ken Matsui - - * g++.dg/ext/has-builtin-1.C: Test existence of __is_object. - * g++.dg/ext/is_object.C: New test. - -2023-12-10 Ken Matsui - - * g++.dg/ext/has-builtin-1.C: Test existence of __is_function. - * g++.dg/ext/is_function.C: New test. - -2023-12-10 Ken Matsui - - * g++.dg/ext/has-builtin-1.C: Test existence of __is_reference. - * g++.dg/ext/is_reference.C: New test. - -2023-12-10 Ken Matsui - - * g++.dg/ext/has-builtin-1.C: Test existence of - __is_member_object_pointer. - * g++.dg/ext/is_member_object_pointer.C: New test. - -2023-12-10 Ken Matsui - - * g++.dg/ext/has-builtin-1.C: Test existence of - __is_member_function_pointer. - * g++.dg/ext/is_member_function_pointer.C: New test. - -2023-12-10 Ken Matsui - - * g++.dg/ext/has-builtin-1.C: Test existence of - __is_member_pointer. - * g++.dg/ext/is_member_pointer.C: New test. - -2023-12-10 Ken Matsui - - * g++.dg/ext/has-builtin-1.C: Test existence of __is_scoped_enum. - * g++.dg/ext/is_scoped_enum.C: New test. - -2023-12-10 Ken Matsui - - * g++.dg/ext/has-builtin-1.C: Test existence of - __is_bounded_array. - * g++.dg/ext/is_bounded_array.C: New test. - -2023-12-10 Ken Matsui - - * g++.dg/ext/has-builtin-1.C: Test existence of __is_array. - * g++.dg/ext/is_array.C: New test. - -2023-12-10 Ken Matsui - - * g++.dg/ext/has-builtin-1.C: Sort built-in traits alphabetically. - -2023-12-09 Jakub Jelinek - - PR tree-optimization/112887 - * gcc.dg/pr112887.c: New test. - -2023-12-09 Jakub Jelinek - - PR tree-optimization/112924 - * gcc.dg/pr112924.c: New test. - -2023-12-09 Jakub Jelinek - - * g++.dg/warn/Wno-attributes-1.C: New test. - -2023-12-09 Juzhe-Zhong - - PR target/112932 - * gcc.target/riscv/rvv/autovec/vls/misalign-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/pr112932.c: New test. - -2023-12-09 Hans-Peter Nilsson - - PR testsuite/112786 - * gcc.dg/tree-ssa/scev-3.c, gcc.dg/tree-ssa/scev-4.c, - gcc.dg/tree-ssa/scev-5.c: Remove. - -2023-12-08 Patrick Palka - - PR c++/83167 - * g++.dg/cpp0x/lambda/lambda-decltype4.C: New test. - -2023-12-08 David Malcolm - - * c-c++-common/analyzer/taint-modulus-1.c: New test. - -2023-12-08 David Malcolm - - * gcc.dg/plugin/infoleak-uninit-size-1.c: New test. - * gcc.dg/plugin/infoleak-uninit-size-2.c: New test. - * gcc.dg/plugin/plugin.exp: Add the new tests. - -2023-12-08 Vladimir N. Makarov - - PR rtl-optimization/112875 - * gcc.target/i386/pr112875.c: New test. - -2023-12-08 Jakub Jelinek - - * g++.dg/cpp0x/gen-attrs-79.C: New test. - -2023-12-08 Jakub Jelinek - - PR sanitizer/112727 - * c-c++-common/ubsan/pr112727.c: New test. - -2023-12-08 Marek Polacek - - PR c++/88848 - * g++.dg/inherit/multiple2.C: New test. - -2023-12-08 Patrick Palka - - PR c++/112658 - PR c++/94264 - * g++.dg/cpp0x/initlist-array20.C: New test. - -2023-12-08 Robin Dapp - - * gcc.target/riscv/rvv/autovec/builtin/strcmp-run.c: New test. - * gcc.target/riscv/rvv/autovec/builtin/strcmp.c: New test. - * gcc.target/riscv/rvv/autovec/builtin/strncmp-run.c: New test. - * gcc.target/riscv/rvv/autovec/builtin/strncmp.c: New test. - -2023-12-08 Robin Dapp - - * gcc.target/riscv/rvv/autovec/builtin/strlen-run.c: New test. - * gcc.target/riscv/rvv/autovec/builtin/strlen.c: New test. - -2023-12-08 Richard Sandiford - - * gcc.target/aarch64/sme/strided_2.c: New test. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-08 Ezra Sitorus - - * gcc.target/arm/simd/vld1q_base_xN_1.c: Add new test. - * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new test. - * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new test. - * gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new test. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-08 Ezra Sitorus - - * gcc.target/arm/simd/vld1q_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new tests. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-08 Ezra Sitorus - - * gcc.target/arm/simd/vld1q_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new tests. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-08 Ezra Sitorus - - * gcc.target/arm/simd/vst1_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1_p64_xN_1.c: Add new tests. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-08 Ezra Sitorus - - * gcc.target/arm/simd/vst1_base_xN_1.c: Add new test. - * gcc.target/arm/simd/vst1_bf16_xN_1.c: Add new test. - * gcc.target/arm/simd/vst1_fp16_xN_1.c: Add new test. - * gcc.target/arm/simd/vst1_p64_xN_1.c: Add new test. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-08 Ezra Sitorus - - * gcc.target/arm/simd/vst1_base_xN_1.c: Add new test. - * gcc.target/arm/simd/vst1_bf16_xN_1.c: Add new test. - * gcc.target/arm/simd/vst1_fp16_xN_1.c: Add new test. - * gcc.target/arm/simd/vst1_p64_xN_1.c: Add new test. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-08 Ezra Sitorus - - * gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-08 Ezra Sitorus - - * gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-08 Ezra Sitorus - - * gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-08 Ezra Sitorus - - * gcc.target/arm/simd/vld1_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_p64_xN_1.c: Add new tests. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-08 Ezra Sitorus - - * gcc.target/arm/simd/vld1_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_p64_xN_1.c: Add new tests. - -2023-12-08 Richard Earnshaw - - Revert: - 2023-12-08 Ezra Sitorus - - * gcc.target/arm/simd/vld1_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_p64_xN_1.c: Add new tests. - -2023-12-08 Tobias Burnus - - * gfortran.dg/gomp/allocate-14.f90: Add coarray and - not-listed tests. - * gfortran.dg/gomp/allocate-5.f90: Remove sorry dg-message. - * gfortran.dg/bind_c_array_params_2.f90: Update expected - dump for dtype '.version=0'. - * gfortran.dg/gomp/allocate-16.f90: New test. - * gfortran.dg/gomp/allocators-3.f90: New test. - * gfortran.dg/gomp/allocators-4.f90: New test. - -2023-12-08 Richard Biener - - PR tree-optimization/112909 - * gcc.dg/uninit-pr112909.c: New testcase. - -2023-12-08 Marc Poulhiès - - Revert: - 2023-12-07 Marc Poulhiès - - * gcc.dg/vect/vect-ifcvt-18.c: Add dep on avx_runtime. - * gcc.dg/vect/vect-simd-clone-16f.c: Likewise. - * gcc.dg/vect/vect-simd-clone-18f.c: Likewise. - -2023-12-08 Jiahao Xu - - * gcc.target/loongarch/pr112476-3.c: New test. - * gcc.target/loongarch/pr112476-4.c: New test. - -2023-12-08 Jiahao Xu - - PR target/112611 - * gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c: Sure index less than 64. - * gcc.target/loongarch/vector/lsx/lsx-vshuf.c: Ditto. - -2023-12-08 Jiahao Xu - - * gcc.target/loongarch/divf.c: New test. - * gcc.target/loongarch/recip-divf.c: New test. - * gcc.target/loongarch/recip-sqrtf.c: New test. - * gcc.target/loongarch/sqrtf.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-divf.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-recip-divf.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-recip-sqrtf.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-recip.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-sqrtf.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-divf.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-recip-divf.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-recip-sqrtf.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-recip.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-sqrtf.c: New test. - -2023-12-08 Jiahao Xu - - * gcc.target/loongarch/vector/lasx/lasx-rsqrt.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-rsqrt.c: New test. - -2023-12-08 Jiahao Xu - - * gcc.target/loongarch/larch-frecipe-builtin.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-frecipe-builtin.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-frecipe-builtin.c: New test. - -2023-12-08 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-lroundf16-rv64-ice-1.c: New test. - -2023-12-08 Jiahao Xu - - * gcc.target/loongarch/vector/lasx/lasx-xorsign-run.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xorsign.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-xorsign-run.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-xorsign.c: New test. - * gcc.target/loongarch/xorsign-run.c: New test. - * gcc.target/loongarch/xorsign.c: New test. - -2023-12-08 Jakub Jelinek - - PR tree-optimization/112902 - * gcc.dg/bitint-52.c: New test. - -2023-12-08 Jakub Jelinek - - PR tree-optimization/112901 - * gcc.dg/bitint-51.c: New test. - -2023-12-08 Jakub Jelinek - - PR middle-end/112411 - * gcc.dg/params/blocksort-part.c: Add dg-skip-if for - --param min-nondebug-insn-uid=1073741824. - -2023-12-08 Haochen Jiang - - * g++.dg/other/i386-2.C: Adjust testcases. - * g++.dg/other/i386-3.C: Ditto. - * g++.dg/pr80481.C: Ditto. - * gcc.dg/pr71279.c: Ditto. - * gcc.target/i386/avx5124fmadd-v4fmaddps-1.c: Ditto. - * gcc.target/i386/avx5124fmadd-v4fmaddps-2.c: Ditto. - * gcc.target/i386/avx5124fmadd-v4fmaddss-1.c: Ditto. - * gcc.target/i386/avx5124fmadd-v4fnmaddps-1.c: Ditto. - * gcc.target/i386/avx5124fmadd-v4fnmaddps-2.c: Ditto. - * gcc.target/i386/avx5124fmadd-v4fnmaddss-1.c: Ditto. - * gcc.target/i386/avx5124vnniw-vp4dpwssd-1.c: Ditto. - * gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c: Ditto. - * gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c: Ditto. - * gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c: Ditto. - * gcc.target/i386/avx512er-vexp2pd-1.c: Ditto. - * gcc.target/i386/avx512er-vexp2pd-2.c: Ditto. - * gcc.target/i386/avx512er-vexp2ps-1.c: Ditto. - * gcc.target/i386/avx512er-vexp2ps-2.c: Ditto. - * gcc.target/i386/avx512er-vrcp28pd-1.c: Ditto. - * gcc.target/i386/avx512er-vrcp28pd-2.c: Ditto. - * gcc.target/i386/avx512er-vrcp28ps-1.c: Ditto. - * gcc.target/i386/avx512er-vrcp28ps-2.c: Ditto. - * gcc.target/i386/avx512er-vrcp28ps-3.c: Ditto. - * gcc.target/i386/avx512er-vrcp28ps-4.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-vrsqrt28pd-1.c: Ditto. - * gcc.target/i386/avx512er-vrsqrt28pd-2.c: Ditto. - * gcc.target/i386/avx512er-vrsqrt28ps-1.c: Ditto. - * gcc.target/i386/avx512er-vrsqrt28ps-2.c: Ditto. - * gcc.target/i386/avx512er-vrsqrt28ps-3.c: Ditto. - * gcc.target/i386/avx512er-vrsqrt28ps-4.c: Ditto. - * gcc.target/i386/avx512er-vrsqrt28ps-5.c: Ditto. - * gcc.target/i386/avx512er-vrsqrt28ps-6.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-gather-1.c: Ditto. - * gcc.target/i386/avx512f-gather-2.c: Ditto. - * gcc.target/i386/avx512f-gather-3.c: Ditto. - * gcc.target/i386/avx512f-gather-4.c: Ditto. - * gcc.target/i386/avx512f-gather-5.c: Ditto. - * gcc.target/i386/avx512f-i32gatherd512-1.c: Ditto. - * gcc.target/i386/avx512f-i32gatherd512-2.c: Ditto. - * gcc.target/i386/avx512f-i32gatherpd512-1.c: Ditto. - * gcc.target/i386/avx512f-i32gatherpd512-2.c: Ditto. - * gcc.target/i386/avx512f-i32gatherps512-1.c: Ditto. - * gcc.target/i386/avx512f-vect-perm-1.c: Ditto. - * gcc.target/i386/avx512f-vect-perm-2.c: Ditto. - * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Ditto. - * gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Ditto. - * gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto. - * gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Ditto. - * gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto. - * gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Ditto. - * gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto. - * gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Ditto. - * gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Ditto. - * gcc.target/i386/avx512pf-vscatterpf0dps-1.c: Ditto. - * gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Ditto. - * gcc.target/i386/avx512pf-vscatterpf0qps-1.c: Ditto. - * gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Ditto. - * gcc.target/i386/avx512pf-vscatterpf1dps-1.c: Ditto. - * gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Ditto. - * gcc.target/i386/avx512pf-vscatterpf1qps-1.c: Ditto. - * gcc.target/i386/funcspec-56.inc: Ditto. - * gcc.target/i386/pr103404.c: Ditto. - * gcc.target/i386/pr104448.c: Ditto. - * gcc.target/i386/pr107934.c: Ditto. - * gcc.target/i386/pr64387.c: Ditto. - * gcc.target/i386/pr70728.c: Ditto. - * gcc.target/i386/pr71346.c: Ditto. - * gcc.target/i386/pr82941-2.c: Ditto. - * gcc.target/i386/pr82942-1.c: Ditto. - * gcc.target/i386/pr82942-2.c: Ditto. - * gcc.target/i386/pr82990-1.c: Ditto. - * gcc.target/i386/pr82990-3.c: Ditto. - * gcc.target/i386/pr82990-4.c: Ditto. - * gcc.target/i386/pr82990-6.c: Ditto. - * gcc.target/i386/pr88713-3.c: Ditto. - * gcc.target/i386/pr89523-5.c: Ditto. - * gcc.target/i386/pr89523-6.c: Ditto. - * gcc.target/i386/pr91033.c: Ditto. - * gcc.target/i386/pr94561.c: Ditto. - * gcc.target/i386/prefetchwt1-1.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-26.c: Ditto. - * gcc.target/i386/pr69471-3.c: Removed. - -2023-12-08 Hao Liu - - * gcc.dg/tree-ssa/scev-16.c: New test. - -2023-12-08 Fei Gao - - * gcc.target/riscv/zicond_ifcvt_opt.c: New file. - -2023-12-08 David Malcolm - - PR analyzer/112889 - * c-c++-common/analyzer/ice-pr112889.c: New test. - -2023-12-07 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/slp-interleave-1.c: New test. - * gcc.target/riscv/rvv/autovec/slp-interleave-2.c: New test. - * gcc.target/riscv/rvv/autovec/slp-interleave-3.c: New test. - * gcc.target/riscv/rvv/autovec/slp-interleave-4.c: New test. - -2023-12-07 Richard Sandiford - - PR rtl-optimization/106694 - PR rtl-optimization/109078 - PR rtl-optimization/109391 - * gcc.target/aarch64/ldp_stp_16.c (cons4_4_float): Tighten expected - output test. - * gcc.target/aarch64/sve/shift_1.c: Allow reversed shifts for .s - as well as .d. - * gcc.target/aarch64/sme/strided_1.c: New test. - * gcc.target/aarch64/pr109078.c: Likewise. - * gcc.target/aarch64/pr109391.c: Likewise. - * gcc.target/aarch64/sve/pr106694.c: Likewise. - -2023-12-07 Ezra Sitorus - - * gcc.target/arm/simd/vld1_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_p64_xN_1.c: Add new tests. - -2023-12-07 Ezra Sitorus - - * gcc.target/arm/simd/vld1_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_p64_xN_1.c: Add new tests. - -2023-12-07 Ezra Sitorus - - * gcc.target/arm/simd/vld1_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1_p64_xN_1.c: Add new tests. - -2023-12-07 Ezra Sitorus - - * gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests. - -2023-12-07 Ezra Sitorus - - * gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests. - -2023-12-07 Ezra Sitorus - - * gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests. - -2023-12-07 Ezra Sitorus - - * gcc.target/arm/simd/vst1_base_xN_1.c: Add new test. - * gcc.target/arm/simd/vst1_bf16_xN_1.c: Add new test. - * gcc.target/arm/simd/vst1_fp16_xN_1.c: Add new test. - * gcc.target/arm/simd/vst1_p64_xN_1.c: Add new test. - -2023-12-07 Ezra Sitorus - - * gcc.target/arm/simd/vst1_base_xN_1.c: Add new test. - * gcc.target/arm/simd/vst1_bf16_xN_1.c: Add new test. - * gcc.target/arm/simd/vst1_fp16_xN_1.c: Add new test. - * gcc.target/arm/simd/vst1_p64_xN_1.c: Add new test. - -2023-12-07 Ezra Sitorus - - * gcc.target/arm/simd/vst1_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vst1_p64_xN_1.c: Add new tests. - -2023-12-07 Ezra Sitorus - - * gcc.target/arm/simd/vld1q_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new tests. - -2023-12-07 Ezra Sitorus - - * gcc.target/arm/simd/vld1q_base_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new tests. - * gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new tests. - -2023-12-07 Ezra Sitorus - - * gcc.target/arm/simd/vld1q_base_xN_1.c: Add new test. - * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new test. - * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new test. - * gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new test. - -2023-12-07 Marek Polacek - - * gcc.target/aarch64/ldp_stp_unaligned_2.c: Use -fno-stack-protector. - * gcc.target/aarch64/shadow_call_stack_5.c: Likewise. - * gcc.target/aarch64/shadow_call_stack_6.c: Likewise. - * gcc.target/aarch64/shadow_call_stack_7.c: Likewise. - * gcc.target/aarch64/shadow_call_stack_8.c: Likewise. - * gcc.target/aarch64/stack-check-12.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-11.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-12.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-13.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-14.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-15.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-17.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-18.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-19.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-2.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-5.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-6.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-8.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-9.c: Likewise. - * gcc.target/aarch64/sve/struct_vect_24.c: Likewise. - * gcc.target/aarch64/test_frame_1.c: Likewise. - * gcc.target/aarch64/test_frame_10.c: Likewise. - * gcc.target/aarch64/test_frame_11.c: Likewise. - * gcc.target/aarch64/test_frame_13.c: Likewise. - * gcc.target/aarch64/test_frame_15.c: Likewise. - * gcc.target/aarch64/test_frame_2.c: Likewise. - * gcc.target/aarch64/test_frame_4.c: Likewise. - * gcc.target/aarch64/test_frame_6.c: Likewise. - * gcc.target/aarch64/test_frame_7.c: Likewise. - * gcc.target/aarch64/test_frame_8.c: Likewise. - -2023-12-07 Alexandre Oliva - - * c-c++-common/strub-split-stack.c: New. - * c-c++-common/strub-unsupported.c: New. - * c-c++-common/strub-unsupported-2.c: New. - * c-c++-common/strub-unsupported-3.c: New. - * lib/target-supports.exp (check_effective_target_strub): New. - * c-c++-common/strub-O0.c: Require effective target strub. - * c-c++-common/strub-O1.c: Likewise. - * c-c++-common/strub-O2.c: Likewise. - * c-c++-common/strub-O2fni.c: Likewise. - * c-c++-common/strub-O3.c: Likewise. - * c-c++-common/strub-O3fni.c: Likewise. - * c-c++-common/strub-Og.c: Likewise. - * c-c++-common/strub-Os.c: Likewise. - * c-c++-common/strub-all1.c: Likewise. - * c-c++-common/strub-all2.c: Likewise. - * c-c++-common/strub-apply1.c: Likewise. - * c-c++-common/strub-apply2.c: Likewise. - * c-c++-common/strub-apply3.c: Likewise. - * c-c++-common/strub-apply4.c: Likewise. - * c-c++-common/strub-at-calls1.c: Likewise. - * c-c++-common/strub-at-calls2.c: Likewise. - * c-c++-common/strub-defer-O1.c: Likewise. - * c-c++-common/strub-defer-O2.c: Likewise. - * c-c++-common/strub-defer-O3.c: Likewise. - * c-c++-common/strub-defer-Os.c: Likewise. - * c-c++-common/strub-internal1.c: Likewise. - * c-c++-common/strub-internal2.c: Likewise. - * c-c++-common/strub-parms1.c: Likewise. - * c-c++-common/strub-parms2.c: Likewise. - * c-c++-common/strub-parms3.c: Likewise. - * c-c++-common/strub-relaxed1.c: Likewise. - * c-c++-common/strub-relaxed2.c: Likewise. - * c-c++-common/strub-short-O0-exc.c: Likewise. - * c-c++-common/strub-short-O0.c: Likewise. - * c-c++-common/strub-short-O1.c: Likewise. - * c-c++-common/strub-short-O2.c: Likewise. - * c-c++-common/strub-short-O3.c: Likewise. - * c-c++-common/strub-short-Os.c: Likewise. - * c-c++-common/strub-strict1.c: Likewise. - * c-c++-common/strub-strict2.c: Likewise. - * c-c++-common/strub-tail-O1.c: Likewise. - * c-c++-common/strub-tail-O2.c: Likewise. - * c-c++-common/strub-var1.c: Likewise. - * c-c++-common/torture/strub-callable1.c: Likewise. - * c-c++-common/torture/strub-callable2.c: Likewise. - * c-c++-common/torture/strub-const1.c: Likewise. - * c-c++-common/torture/strub-const2.c: Likewise. - * c-c++-common/torture/strub-const3.c: Likewise. - * c-c++-common/torture/strub-const4.c: Likewise. - * c-c++-common/torture/strub-data1.c: Likewise. - * c-c++-common/torture/strub-data2.c: Likewise. - * c-c++-common/torture/strub-data3.c: Likewise. - * c-c++-common/torture/strub-data4.c: Likewise. - * c-c++-common/torture/strub-data5.c: Likewise. - * c-c++-common/torture/strub-indcall1.c: Likewise. - * c-c++-common/torture/strub-indcall2.c: Likewise. - * c-c++-common/torture/strub-indcall3.c: Likewise. - * c-c++-common/torture/strub-inlinable1.c: Likewise. - * c-c++-common/torture/strub-inlinable2.c: Likewise. - * c-c++-common/torture/strub-ptrfn1.c: Likewise. - * c-c++-common/torture/strub-ptrfn2.c: Likewise. - * c-c++-common/torture/strub-ptrfn3.c: Likewise. - * c-c++-common/torture/strub-ptrfn4.c: Likewise. - * c-c++-common/torture/strub-pure1.c: Likewise. - * c-c++-common/torture/strub-pure2.c: Likewise. - * c-c++-common/torture/strub-pure3.c: Likewise. - * c-c++-common/torture/strub-pure4.c: Likewise. - * c-c++-common/torture/strub-run1.c: Likewise. - * c-c++-common/torture/strub-run2.c: Likewise. - * c-c++-common/torture/strub-run3.c: Likewise. - * c-c++-common/torture/strub-run4.c: Likewise. - * c-c++-common/torture/strub-run4c.c: Likewise. - * c-c++-common/torture/strub-run4d.c: Likewise. - * c-c++-common/torture/strub-run4i.c: Likewise. - * g++.dg/strub-run1.C: Likewise. - * g++.dg/torture/strub-init1.C: Likewise. - * g++.dg/torture/strub-init2.C: Likewise. - * g++.dg/torture/strub-init3.C: Likewise. - * gnat.dg/strub_attr.adb: Likewise. - * gnat.dg/strub_ind.adb: Likewise. - * gnat.dg/strub_access.adb: Likewise. - * gnat.dg/strub_access1.adb: Likewise. - * gnat.dg/strub_disp.adb: Likewise. - * gnat.dg/strub_disp1.adb: Likewise. - * gnat.dg/strub_ind1.adb: Likewise. - * gnat.dg/strub_ind2.adb: Likewise. - * gnat.dg/strub_intf.adb: Likewise. - * gnat.dg/strub_intf1.adb: Likewise. - * gnat.dg/strub_intf2.adb: Likewise. - * gnat.dg/strub_renm.adb: Likewise. - * gnat.dg/strub_renm1.adb: Likewise. - * gnat.dg/strub_renm2.adb: Likewise. - * gnat.dg/strub_var.adb: Likewise. - * gnat.dg/strub_var1.adb: Likewise. - -2023-12-07 Marc Poulhiès - - * gcc.target/i386/pr106910-1.c: Disable for newlib. - -2023-12-07 Marc Poulhiès - - * gcc.dg/analyzer/fd-4.c: Fix for newlib. - -2023-12-07 Marc Poulhiès - - * gcc.dg/vect/vect-ifcvt-18.c: Add dep on avx_runtime. - * gcc.dg/vect/vect-simd-clone-16f.c: Likewise. - * gcc.dg/vect/vect-simd-clone-18f.c: Likewise. - -2023-12-07 Gaius Mulley - - PR modula2/112893 - * gm2/iso/fail/proccard.mod: New test. - * gm2/pim/pass/proccard.mod: New test. - -2023-12-07 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/avl_prop-2.c: New test. - -2023-12-07 Christoph Müllner - - * gcc.target/riscv/xtheadmemidx-inline-asm-1.c: New test. - -2023-12-07 Christoph Müllner - - * gcc.target/riscv/xtheadfmemidx-without-xtheadmemidx.c: New test. - -2023-12-07 Jakub Jelinek - - PR target/111068 - * gcc.target/i386/pr111068.c: New test. - -2023-12-07 Andrew Pinski - Jakub Jelinek - - PR preprocessor/111965 - * gcc.dg/cpp/pr111965-1.c: New test. - * gcc.dg/cpp/pr111965-2.c: New test. - -2023-12-07 Jakub Jelinek - - PR middle-end/112881 - * gcc.dg/bitint-50.c: New test. - -2023-12-07 Jakub Jelinek - - PR tree-optimization/112880 - * gcc.dg/bitint-49.c: New test. - -2023-12-07 Jakub Jelinek - - PR target/96127 - * gcc.target/s390/pr96127.c (c1): Add casts to long int *. - -2023-12-07 Alexandre Oliva - - * gcc.dg/analyzer/switch-short-enum-1.c: New. - * gcc.dg/analyzer/switch-no-short-enum-1.c: New. - -2023-12-07 Victor Do Nascimento - - * gcc.target/aarch64/acle/rcpc3.c: New. - -2023-12-07 Hongyu Wang - - * gcc.target/i386/apx-ndd-ti-shift.c: New test. - -2023-12-07 Hongyu Wang - - * gcc.target/i386/apx-ndd-cmov.c: New test. - -2023-12-07 Hongyu Wang - - * gcc.target/i386/apx-ndd-shld-shrd.c: New test. - -2023-12-07 Hongyu Wang - - * gcc.target/i386/apx-ndd.c: Add test for left/right rotate. - -2023-12-07 Hongyu Wang - - * gcc.target/i386/apx-ndd.c: Add l/ashiftrt tests. - -2023-12-07 Hongyu Wang - - * gcc.target/i386/apx-ndd.c: Add tests for sal. - -2023-12-07 Kong Lingling - - * gcc.target/i386/apx-ndd.c: Add or and xor test. - -2023-12-07 Kong Lingling - - * gcc.target/i386/apx-ndd.c: Add and test. - -2023-12-07 Kong Lingling - - * gcc.target/i386/apx-ndd.c: Add not test. - -2023-12-07 Kong Lingling - - * gcc.target/i386/apx-ndd.c: Add neg test. - -2023-12-07 Kong Lingling - - * gcc.target/i386/apx-ndd-sbb.c: New test. - -2023-12-07 Kong Lingling - - * gcc.target/i386/apx-ndd.c: Add test for ndd sub. - -2023-12-07 Kong Lingling - - * gcc.target/i386/apx-ndd-adc.c: New test. - -2023-12-07 Kong Lingling - - * gcc.target/i386/apx-ndd.c: Add more test. - -2023-12-07 Kong Lingling - - * gcc.target/i386/apx-ndd.c: New test. - -2023-12-07 David Malcolm - - PR analyzer/103546 - PR analyzer/112850 - * c-c++-common/analyzer/call-summaries-pr107158-2.c: Add - -Wno-analyzer-symbol-too-complex. - * c-c++-common/analyzer/call-summaries-pr107158.c: Likewise. - * c-c++-common/analyzer/deref-before-check-pr109060-haproxy-cfgparse.c: - Likewise. - * c-c++-common/analyzer/feasibility-3.c: Add - -Wno-analyzer-too-complex and -Wno-analyzer-symbol-too-complex. - * c-c++-common/analyzer/flex-with-call-summaries.c: Add - -Wno-analyzer-symbol-too-complex. Remove fail for - PR analyzer/103546 leak false positive. - * c-c++-common/analyzer/flex-without-call-summaries.c: Remove - xfail for PR analyzer/103546 leak false positive. - * c-c++-common/analyzer/infinite-recursion-3.c: Add - -Wno-analyzer-symbol-too-complex. - * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: - Likewise. - * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: - Likewise. - * c-c++-common/analyzer/null-deref-pr108400-SoftEtherVPN-WebUi.c: - Likewise. - * c-c++-common/analyzer/null-deref-pr108806-qemu.c: Likewise. - * c-c++-common/analyzer/null-deref-pr108830.c: Likewise. - * c-c++-common/analyzer/pr94596.c: Likewise. - * c-c++-common/analyzer/strtok-2.c: Likewise. - * c-c++-common/analyzer/strtok-4.c: Add -Wno-analyzer-too-complex - and -Wno-analyzer-symbol-too-complex. - * c-c++-common/analyzer/strtok-cppreference.c: Likewise. - * gcc.dg/analyzer/analyzer.exp: Add -Wanalyzer-symbol-too-complex - to DEFAULT_CFLAGS. - * gcc.dg/analyzer/attr-const-3.c: Add - -Wno-analyzer-symbol-too-complex. - * gcc.dg/analyzer/call-summaries-pr107072.c: Likewise. - * gcc.dg/analyzer/doom-s_sound-pr108867.c: Likewise. - * gcc.dg/analyzer/explode-4.c: Likewise. - * gcc.dg/analyzer/null-deref-pr102671-1.c: Likewise. - * gcc.dg/analyzer/null-deref-pr105755.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-curl.c: Likewise. - * gcc.dg/analyzer/pr101503.c: Likewise. - * gcc.dg/analyzer/pr103892.c: Add -Wno-analyzer-too-complex and - -Wno-analyzer-symbol-too-complex. - * gcc.dg/analyzer/pr94851-4.c: Add - -Wno-analyzer-symbol-too-complex. - * gcc.dg/analyzer/pr96860-1.c: Likewise. - * gcc.dg/analyzer/pr96860-2.c: Likewise. - * gcc.dg/analyzer/pr98918.c: Likewise. - * gcc.dg/analyzer/pr99044-2.c: Likewise. - * gcc.dg/analyzer/uninit-pr108806-qemu.c: Likewise. - * gcc.dg/analyzer/use-after-free.c: Add -Wno-analyzer-too-complex - and -Wno-analyzer-symbol-too-complex. - * gcc.dg/plugin/plugin.exp: Add new tests for - analyzer_kernel_plugin.c. - * gcc.dg/plugin/taint-CVE-2011-0521-4.c: Update expected results. - * gcc.dg/plugin/taint-CVE-2011-0521-5.c: Likewise. - * gcc.dg/plugin/taint-CVE-2011-0521-6.c: Likewise. - * gcc.dg/plugin/taint-CVE-2011-0521-5-fixed.c: Remove xfail. - * gcc.dg/plugin/taint-pr112850-precise.c: New test. - * gcc.dg/plugin/taint-pr112850-too-complex.c: New test. - * gcc.dg/plugin/taint-pr112850-unsanitized.c: New test. - * gcc.dg/plugin/taint-pr112850.c: New test. - -2023-12-06 Victor Do Nascimento - - * gcc.target/aarch64/acle/rwsr.c (get_rsr128): New. - (set_wsr128): Likewise. - -2023-12-06 Edwin Lu - - * gcc.dg/tree-ssa/ssa-fre-3.c: Remove xfail - -2023-12-06 Yang Yujie - - * gcc.dg/fixed-point/composite-type.c: Replace dg-warning with dg-error. - -2023-12-06 David Malcolm - - * c-c++-common/diagnostic-format-json-1.c: Update expected JSON - output to reflect whitespace. - * 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/diagnostic-format-json-stderr-1.c: Likewise. - * g++.dg/pr90462.C: Add -fno-diagnostics-json-formatting. - * gcc.dg/analyzer/malloc-sarif-1.c: Likewise. - * gcc.dg/plugin/diagnostic-test-paths-3.c: Update expected JSON - output to reflect whitespace. - * gfortran.dg/diagnostic-format-json-1.F90: Likewise. - * gfortran.dg/diagnostic-format-json-2.F90: Likewise. - * gfortran.dg/diagnostic-format-json-3.F90: Likewise. - -2023-12-06 David Malcolm - - * g++.dg/plugin/show_template_tree_color_plugin.c - (noop_starter_fn): Make diagnostic_info param const. - * gcc.dg/plugin/diagnostic_group_plugin.c - (test_diagnostic_starter): Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c - (custom_diagnostic_finalizer): Likewise. - * gcc.dg/plugin/location_overflow_plugin.c - (verify_unpacked_ranges): Likewise. - (verify_no_columns): Likewise. - -2023-12-06 John David Anglin - - * c-c++-common/fhardened-1.c: Ignore __SSP_STRONG__ define - if __hppa__ is defined. - * c-c++-common/fhardened-2.c: Ignore __SSP__ define - if __hppa__ is defined. - -2023-12-06 Juzhe-Zhong - - PR target/112855 - * gcc.target/riscv/rvv/autovec/pr112855.c: New test. - -2023-12-06 Jason Merrill - - DR 532 - PR c++/53499 - * g++.dg/template/partial-order4.C: New test. - * g++.dg/template/spec26.C: Adjust for CWG532. - -2023-12-06 Victor Do Nascimento - - * gcc.target/aarch64/acle/rwsr-3.c: New. - -2023-12-06 Victor Do Nascimento - - * gcc.target/aarch64/acle/rwsr.c: New. - * gcc.target/aarch64/acle/rwsr-1.c: Likewise. - * gcc.target/aarch64/acle/rwsr-2.c: Likewise. - * gcc.dg/pch/rwsr-pch.c: Likewise. - * gcc.dg/pch/rwsr-pch.hs: Likewise. - -2023-12-06 Robin Dapp - - * gcc.target/riscv/rvv/autovec/pr112854.c: New test. - * gcc.target/riscv/rvv/autovec/pr112872.c: New test. - -2023-12-06 Jakub Jelinek - - PR rtl-optimization/112760 - * gcc.dg/pr112760.c: New test. - -2023-12-06 Jakub Jelinek - - PR tree-optimization/112809 - * gcc.dg/bitint-48.c: New test. - -2023-12-06 Hans-Peter Nilsson - - PR testsuite/112419 - * gcc.dg/Wnonnull-4.c (test_fda_n_5): Expect warning for exceeding - maximum object size for 32-bit targets. - -2023-12-06 Alexandre Oliva - - * c-c++-common/strub-O0.c: New. - * c-c++-common/strub-O1.c: New. - * c-c++-common/strub-O2.c: New. - * c-c++-common/strub-O2fni.c: New. - * c-c++-common/strub-O3.c: New. - * c-c++-common/strub-O3fni.c: New. - * c-c++-common/strub-Og.c: New. - * c-c++-common/strub-Os.c: New. - * c-c++-common/strub-all1.c: New. - * c-c++-common/strub-all2.c: New. - * c-c++-common/strub-apply1.c: New. - * c-c++-common/strub-apply2.c: New. - * c-c++-common/strub-apply3.c: New. - * c-c++-common/strub-apply4.c: New. - * c-c++-common/strub-at-calls1.c: New. - * c-c++-common/strub-at-calls2.c: New. - * c-c++-common/strub-defer-O1.c: New. - * c-c++-common/strub-defer-O2.c: New. - * c-c++-common/strub-defer-O3.c: New. - * c-c++-common/strub-defer-Os.c: New. - * c-c++-common/strub-internal1.c: New. - * c-c++-common/strub-internal2.c: New. - * c-c++-common/strub-parms1.c: New. - * c-c++-common/strub-parms2.c: New. - * c-c++-common/strub-parms3.c: New. - * c-c++-common/strub-relaxed1.c: New. - * c-c++-common/strub-relaxed2.c: New. - * c-c++-common/strub-short-O0-exc.c: New. - * c-c++-common/strub-short-O0.c: New. - * c-c++-common/strub-short-O1.c: New. - * c-c++-common/strub-short-O2.c: New. - * c-c++-common/strub-short-O3.c: New. - * c-c++-common/strub-short-Os.c: New. - * c-c++-common/strub-strict1.c: New. - * c-c++-common/strub-strict2.c: New. - * c-c++-common/strub-tail-O1.c: New. - * c-c++-common/strub-tail-O2.c: New. - * c-c++-common/torture/strub-callable1.c: New. - * c-c++-common/torture/strub-callable2.c: New. - * c-c++-common/torture/strub-const1.c: New. - * c-c++-common/torture/strub-const2.c: New. - * c-c++-common/torture/strub-const3.c: New. - * c-c++-common/torture/strub-const4.c: New. - * c-c++-common/torture/strub-data1.c: New. - * c-c++-common/torture/strub-data2.c: New. - * c-c++-common/torture/strub-data3.c: New. - * c-c++-common/torture/strub-data4.c: New. - * c-c++-common/torture/strub-data5.c: New. - * c-c++-common/torture/strub-indcall1.c: New. - * c-c++-common/torture/strub-indcall2.c: New. - * c-c++-common/torture/strub-indcall3.c: New. - * c-c++-common/torture/strub-inlinable1.c: New. - * c-c++-common/torture/strub-inlinable2.c: New. - * c-c++-common/torture/strub-ptrfn1.c: New. - * c-c++-common/torture/strub-ptrfn2.c: New. - * c-c++-common/torture/strub-ptrfn3.c: New. - * c-c++-common/torture/strub-ptrfn4.c: New. - * c-c++-common/torture/strub-pure1.c: New. - * c-c++-common/torture/strub-pure2.c: New. - * c-c++-common/torture/strub-pure3.c: New. - * c-c++-common/torture/strub-pure4.c: New. - * c-c++-common/torture/strub-run1.c: New. - * c-c++-common/torture/strub-run2.c: New. - * c-c++-common/torture/strub-run3.c: New. - * c-c++-common/torture/strub-run4.c: New. - * c-c++-common/torture/strub-run4c.c: New. - * c-c++-common/torture/strub-run4d.c: New. - * c-c++-common/torture/strub-run4i.c: New. - * g++.dg/strub-run1.C: New. - * g++.dg/torture/strub-init1.C: New. - * g++.dg/torture/strub-init2.C: New. - * g++.dg/torture/strub-init3.C: New. - * gnat.dg/strub_attr.adb, gnat.dg/strub_attr.ads: New. - * gnat.dg/strub_ind.adb, gnat.dg/strub_ind.ads: New. - * c-c++-common/strub-var1.c: New file. - * gnat.dg/strub_access.adb: New file. - * gnat.dg/strub_access1.adb: New file. - * gnat.dg/strub_disp.adb: New file. - * gnat.dg/strub_disp1.adb: New file. - * gnat.dg/strub_ind1.adb: New file. - * gnat.dg/strub_ind1.ads: New file. - * gnat.dg/strub_ind2.adb: New file. - * gnat.dg/strub_ind2.ads: New file. - * gnat.dg/strub_intf.adb: New file. - * gnat.dg/strub_intf1.adb: New file. - * gnat.dg/strub_intf2.adb: New file. - * gnat.dg/strub_renm.adb: New file. - * gnat.dg/strub_renm1.adb: New file. - * gnat.dg/strub_renm2.adb: New file. - * gnat.dg/strub_var.adb: New file. - * gnat.dg/strub_var1.adb: New file. - -2023-12-05 Juzhe-Zhong - - PR target/112851 - PR target/112852 - * gcc.target/riscv/rvv/autovec/vls/consecutive-1.c: Add LMUL = 8 option. - * gcc.target/riscv/rvv/autovec/vls/consecutive-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mod-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/spill-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/spill-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/spill-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/spill-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/spill-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32f-1.c: Adapt test. - * gcc.target/riscv/rvv/autovec/pr112851.c: New test. - * gcc.target/riscv/rvv/autovec/pr112852.c: New test. - -2023-12-05 David Faust - - PR debug/112849 - * gcc.dg/debug/btf/btf-datasec-3.c: New test. - -2023-12-05 Jakub Jelinek - - PR c++/112795 - * g++.dg/ext/unroll-2.C: Use { target c++11 } instead of dg-skip-if for - -std=gnu++98. - * g++.dg/ext/unroll-3.C: Likewise. - * g++.dg/ext/unroll-7.C: New test. - * g++.dg/ext/unroll-8.C: New test. - -2023-12-05 Harald Anlauf - Tobias Burnus - - PR fortran/100988 - * gfortran.dg/coarray_poly_6.f90: Adjust pattern. - * gfortran.dg/coarray_poly_7.f90: Likewise. - * gfortran.dg/coarray_poly_8.f90: Likewise. - * gfortran.dg/missing_optional_dummy_6a.f90: Likewise. - * gfortran.dg/pr100988.f90: New test. - -2023-12-05 Jakub Jelinek - - PR c++/110734 - * g++.dg/DRs/dr2262.C: New test. - * g++.dg/cpp0x/gen-attrs-76.C (foo, bar): Don't expect errors - on attributes on asm definitions. - * g++.dg/gomp/attrs-11.C: Remove 2 expected errors. - -2023-12-05 Richard Biener - - PR middle-end/112830 - * gcc.target/avr/pr112830.c: New testcase. - * gcc.target/i386/pr112830.c: Likewise. - -2023-12-05 Richard Biener - - PR tree-optimization/109689 - PR tree-optimization/112856 - * gcc.dg/torture/pr109689.c: New testcase. - * gcc.dg/torture/pr112856.c: Likewise. - -2023-12-05 Jakub Jelinek - - PR target/112845 - * gcc.dg/pr112845.c: New file. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h: Provide a way - for test functions to share ZT0. - (ATTR): Update accordingly. - (TEST_LOAD_COUNT, TEST_STORE_COUNT, TEST_PN, TEST_COUNT_PN) - (TEST_EXTRACT_PN, TEST_SELECT_P, TEST_COMPARE_S_X2, TEST_COMPARE_S_C) - (TEST_CREATE_B, TEST_GET_B, TEST_SET_B, TEST_XN, TEST_XN_SINGLE) - (TEST_XN_SINGLE_Z15, TEST_XN_SINGLE_AWKWARD, TEST_X2_NARROW) - (TEST_X4_NARROW): New macros. - * gcc.target/aarch64/sve/acle/asm/create2_1.c: Add _b tests. - * gcc.target/aarch64/sve/acle/general-c/binary_za_m_1.c: Remove - test for svmopa that becomes valid with SME2. - * gcc.target/aarch64/sve/acle/general-c/create_1.c: Adjust for - existence of svboolx2_t version of svcreate2. - * gcc.target/aarch64/sve/acle/general-c/store_1.c: Adjust error - messages to account for svcount_t predication. - * gcc.target/aarch64/sve/acle/general-c/store_2.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/ternary_qq_lane_1.c: Adjust - error messages to account for new SME2 variants. - * gcc.target/aarch64/sve/acle/general-c/ternary_qq_opt_n_2.c: Likewise. - * g++.target/aarch64/sme2/aarch64-sme2-acle-asm.exp: New file. - * gcc.target/aarch64/sme/acle-asm/clamp_s16.c: New file. - * gcc.target/aarch64/sme/acle-asm/clamp_s32.c: New file. - * gcc.target/aarch64/sme/acle-asm/clamp_s64.c: New file. - * gcc.target/aarch64/sme/acle-asm/clamp_s8.c: New file. - * gcc.target/aarch64/sme/acle-asm/clamp_u16.c: New file. - * gcc.target/aarch64/sme/acle-asm/clamp_u32.c: New file. - * gcc.target/aarch64/sme/acle-asm/clamp_u64.c: New file. - * gcc.target/aarch64/sme/acle-asm/clamp_u8.c: New file. - * gcc.target/aarch64/sme/acle-asm/revd_bf16.c: New file. - * gcc.target/aarch64/sme/acle-asm/revd_f16.c: New file. - * gcc.target/aarch64/sme/acle-asm/revd_f32.c: New file. - * gcc.target/aarch64/sme/acle-asm/revd_f64.c: New file. - * gcc.target/aarch64/sme/acle-asm/revd_s16.c: New file. - * gcc.target/aarch64/sme/acle-asm/revd_s32.c: New file. - * gcc.target/aarch64/sme/acle-asm/revd_s64.c: New file. - * gcc.target/aarch64/sme/acle-asm/revd_s8.c: New file. - * gcc.target/aarch64/sme/acle-asm/revd_u16.c: New file. - * gcc.target/aarch64/sme/acle-asm/revd_u32.c: New file. - * gcc.target/aarch64/sme/acle-asm/revd_u64.c: New file. - * gcc.target/aarch64/sme/acle-asm/revd_u8.c: New file. - * gcc.target/aarch64/sme/clamp_1.c: New file. - * gcc.target/aarch64/sme/clamp_2.c: New file. - * gcc.target/aarch64/sme/clamp_3.c: New file. - * gcc.target/aarch64/sme/clamp_4.c: New file. - * gcc.target/aarch64/sme2/aarch64-sme2-acle-asm.exp: New file. - * gcc.target/aarch64/sme2/acle-asm/add_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_write_za32_s32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_write_za32_s32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_write_za32_u32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_write_za32_u32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_write_za64_s64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_write_za64_s64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_write_za64_u64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_write_za64_u64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_za32_f32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_za32_f32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_za32_s32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_za32_s32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_za32_u32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_za32_u32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_za64_f64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_za64_f64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_za64_s64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_za64_s64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_za64_u64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/add_za64_u64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/bfmlslb_f32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/bfmlslb_lane_f32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/bfmlslt_f32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/bfmlslt_lane_f32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/bmopa_za32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/bmops_za32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_f16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_f32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_f64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/clamp_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cntp_c16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cntp_c32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cntp_c64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cntp_c8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cvt_bf16_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cvt_f16_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cvt_f32_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cvt_f32_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cvt_f32_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cvt_f32_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cvt_s32_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cvt_s32_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cvt_u32_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cvt_u32_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cvtn_bf16_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/cvtn_f16_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_f32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_f32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_s32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_u32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_bf16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_bf16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_f16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_f16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_s16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_s16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_s8_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_s8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_u16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_u16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_u8_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_u8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za64_s16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za64_s16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za64_u16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_lane_za64_u16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_s32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_u32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za32_bf16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za32_bf16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za32_f16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za32_f16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za32_s16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za32_s16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za32_s8_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za32_s8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za32_u16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za32_u16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za32_u8_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za32_u8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za64_s16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za64_s16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za64_u16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/dot_za64_u16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_bf16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_bf16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ld1_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_bf16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_bf16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldnt1_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ldr_zt.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_bf16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_bf16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_bf16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_f16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_f32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_s16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_s32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_s8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_u16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_u32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_u8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti2_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_bf16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_bf16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_bf16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_f16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_f32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_s16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_s32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_s8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_u16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_u32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_u8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/luti4_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/max_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/maxnm_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/maxnm_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/maxnm_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/maxnm_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/maxnm_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/maxnm_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/min_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/minnm_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/minnm_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/minnm_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/minnm_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/minnm_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/minnm_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_bf16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_bf16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_bf16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_f16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_f16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_f16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_f32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_f32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_s16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_s16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_s16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_s8_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_s8_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_s8_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_u16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_u16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_u16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_u8_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_u8_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_u8_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_f64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_f64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_s16_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_s16_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_s16_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_u16_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_u16_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_u16_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_bf16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_bf16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_bf16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_f16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_f16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_f16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_f32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_f32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_s16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_s16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_s16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_s8_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_s8_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_s8_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_u16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_u16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_u16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_u8_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_u8_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za32_u8_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za64_f64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za64_f64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za64_s16_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za64_s16_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za64_s16_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za64_u16_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za64_u16_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mla_za64_u16_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_bf16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_bf16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_bf16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_f16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_f16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_f16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_f32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_f32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_s16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_s16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_s16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_s8_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_s8_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_s8_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_u16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_u16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_u16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_u8_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_u8_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_u8_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_f64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_f64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_s16_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_s16_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_s16_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_u16_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_u16_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_u16_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_bf16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_bf16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_bf16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_f16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_f16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_f16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_f32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_f32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_s16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_s16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_s16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_s8_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_s8_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_s8_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_u16_vg2x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_u16_vg2x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_u16_vg2x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_u8_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_u8_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za32_u8_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za64_f64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za64_f64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za64_s16_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za64_s16_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za64_s16_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za64_u16_vg4x1.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za64_u16_vg4x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mls_za64_u16_vg4x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mopa_za32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/mops_za32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/pext_c16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/pext_c16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/pext_c32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/pext_c32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/pext_c64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/pext_c64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/pext_c8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/pext_c8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/pfalse_c.c: New file. - * gcc.target/aarch64/sme2/acle-asm/psel_b16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/psel_b32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/psel_b64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/psel_b8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/psel_c16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/psel_c32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/psel_c64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/psel_c8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ptrue_c16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ptrue_c32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ptrue_c64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/ptrue_c8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvt_s16_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvt_s16_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvt_s8_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvt_u16_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvt_u16_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvt_u16_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvt_u16_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvt_u8_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvt_u8_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvtn_s16_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvtn_s16_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvtn_s8_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvtn_u16_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvtn_u16_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvtn_u16_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvtn_u16_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvtn_u8_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qcvtn_u8_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qdmulh_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qdmulh_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qdmulh_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qdmulh_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qdmulh_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qdmulh_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qdmulh_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qdmulh_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshr_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshr_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshr_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshr_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshr_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshr_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshrn_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshrn_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshrn_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshrn_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshrn_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshrn_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshru_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshru_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshru_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshrun_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshrun_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/qrshrun_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_hor_za16_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_hor_za16_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_hor_za32_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_hor_za32_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_hor_za64_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_hor_za64_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_hor_za8_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_hor_za8_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_ver_za16_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_ver_za16_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_ver_za32_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_ver_za32_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_ver_za64_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_ver_za64_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_ver_za8_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_ver_za8_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_za32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_za32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_za64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_za64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_za8_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/read_za8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rinta_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rinta_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rintm_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rintm_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rintn_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rintn_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rintp_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rintp_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/rshl_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_bf16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_bf16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sel_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_bf16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_bf16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/st1_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_bf16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_bf16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/stnt1_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/str_zt.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_write_za32_s32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_write_za32_s32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_write_za32_u32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_write_za32_u32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_write_za64_s64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_write_za64_s64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_write_za64_u64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_write_za64_u64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_za32_f32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_za32_f32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_za32_s32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_za32_s32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_za32_u32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_za32_u32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_za64_f64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_za64_f64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_za64_s64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_za64_s64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_za64_u64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sub_za64_u64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sudot_lane_za32_s8_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sudot_lane_za32_s8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sudot_za32_s8_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/sudot_za32_s8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/suvdot_lane_za32_s8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/test_sme2_acle.h: New file. - * gcc.target/aarch64/sme2/acle-asm/unpk_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/unpk_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/unpk_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/unpk_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/unpk_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/unpk_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/unpk_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/unpk_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/unpk_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/unpk_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/unpk_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/unpk_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/usdot_lane_za32_u8_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/usdot_lane_za32_u8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/usdot_za32_u8_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/usdot_za32_u8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/usvdot_lane_za32_u8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_bf16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_bf16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzp_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_bf16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_bf16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/uzpq_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za32_bf16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za32_f16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za32_s16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za32_s8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za32_u16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za32_u8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za64_s16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za64_u16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilege_b16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilege_b32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilege_b64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilege_b8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilege_c16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilege_c32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilege_c64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilege_c8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilegt_b16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilegt_b32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilegt_b64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilegt_b8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilegt_c16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilegt_c32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilegt_c64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilegt_c8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilele_b16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilele_b32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilele_b64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilele_b8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilele_c16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilele_c32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilele_c64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilele_c8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilelt_b16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilelt_b32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilelt_b64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilelt_b8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilelt_c16.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilelt_c32.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilelt_c64.c: New file. - * gcc.target/aarch64/sme2/acle-asm/whilelt_c8.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_hor_za16_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_hor_za16_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_hor_za32_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_hor_za32_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_hor_za64_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_hor_za64_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_hor_za8_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_hor_za8_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_ver_za16_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_ver_za16_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_ver_za32_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_ver_za32_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_ver_za64_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_ver_za64_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_ver_za8_vg2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_ver_za8_vg4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_za16_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_za16_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_za32_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_za32_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_za64_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_za64_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_za8_vg1x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/write_za8_vg1x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zero_zt.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_bf16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_bf16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zip_u8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_bf16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_bf16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_f16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_f16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_f32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_f32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_f64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_f64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_s16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_s16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_s32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_s32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_s64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_s64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_s8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_s8_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_u16_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_u16_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_u32_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_u32_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_u64_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_u64_x4.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_u8_x2.c: New file. - * gcc.target/aarch64/sme2/acle-asm/zipq_u8_x4.c: New file. - * gcc.target/aarch64/sve/acle/asm/get2_b.c: New file. - * gcc.target/aarch64/sve/acle/asm/set2_b.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_int_opt_single_n_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_int_opt_single_n_2.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_opt_single_n_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_opt_single_n_2.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_single_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_int_opt_single_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_lane_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_lane_2.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_lane_3.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_lane_4.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_opt_single_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_opt_single_2.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_opt_single_3.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_uint_opt_single_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binaryxn_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/binaryxn_2.c: New file. - * gcc.target/aarch64/sve/acle/general-c/clamp_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/compare_scalar_count_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/dot_za_slice_int_lane_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/dot_za_slice_lane_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/dot_za_slice_lane_2.c: New file. - * gcc.target/aarch64/sve/acle/general-c/dot_za_slice_uint_lane_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/shift_right_imm_narrowxn_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/storexn_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/ternary_qq_or_011_lane_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/unary_convertxn_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/unary_za_slice_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/unary_za_slice_2.c: New file. - * gcc.target/aarch64/sve/acle/general-c/unary_za_slice_3.c: New file. - * gcc.target/aarch64/sve/acle/general-c/unaryxn_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/write_za_1.c: New file. - * gcc.target/aarch64/sve/acle/general-c/write_za_slice_1.c: New file. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sme/zt0_state_1.c: New test. - * gcc.target/aarch64/sme/zt0_state_2.c: Likewise. - * gcc.target/aarch64/sme/zt0_state_3.c: Likewise. - * gcc.target/aarch64/sme/zt0_state_4.c: Likewise. - * gcc.target/aarch64/sme/zt0_state_5.c: Likewise. - * gcc.target/aarch64/sme/zt0_state_6.c: Likewise. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sve/pcs/struct_3_128.c (test_nonpst3): Adjust - stack offsets. - (ret_nonpst3): Remove XFAIL. - * gcc.target/aarch64/sve/acle/general-c/svboolx2_1.c: New test. - -2023-12-05 Richard Sandiford - - * g++.target/aarch64/sve/acle/general-c++/mangle_1.C: Add test - for svcount_t. - * g++.target/aarch64/sve/acle/general-c++/mangle_2.C: Likewise. - * g++.target/aarch64/sve/acle/general-c++/svcount_1.C: New test. - * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h (TEST_DUAL_P) - (TEST_DUAL_P_REV): New macros. - * gcc.target/aarch64/sve/acle/asm/reinterpret_b.c: New test. - * gcc.target/aarch64/sve/acle/general-c/load_1.c: Test passing - an svcount_t. - * gcc.target/aarch64/sve/acle/general-c/svcount_1.c: New test. - * gcc.target/aarch64/sve/acle/general-c/unary_convert_1.c: Test - reinterprets involving svcount_t. - * gcc.target/aarch64/sve/acle/general/attributes_7.c: Test svcount_t. - * gcc.target/aarch64/sve/pcs/annotate_1.c: Likewise. - * gcc.target/aarch64/sve/pcs/annotate_2.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_12.c: New test. - -2023-12-05 Richard Sandiford - - * lib/target-supports.exp (check_effective_target_aarch64_sme2): New - target test. - (check_effective_target_aarch64_asm_sme2_ok): Likewise. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sme/sibcall_1.c: New test. - * gcc.target/aarch64/sme/sibcall_2.c: Likewise. - * gcc.target/aarch64/sme/sibcall_3.c: Likewise. - * gcc.target/aarch64/sme/sibcall_4.c: Likewise. - * gcc.target/aarch64/sme/sibcall_5.c: Likewise. - * gcc.target/aarch64/sme/sibcall_6.c: Likewise. - * gcc.target/aarch64/sme/sibcall_7.c: Likewise. - * gcc.target/aarch64/sme/sibcall_8.c: Likewise. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sme/inlining_1.c: New test. - * gcc.target/aarch64/sme/inlining_2.c: Likewise. - * gcc.target/aarch64/sme/inlining_3.c: Likewise. - * gcc.target/aarch64/sme/inlining_4.c: Likewise. - * gcc.target/aarch64/sme/inlining_5.c: Likewise. - * gcc.target/aarch64/sme/inlining_6.c: Likewise. - * gcc.target/aarch64/sme/inlining_7.c: Likewise. - * gcc.target/aarch64/sme/inlining_8.c: Likewise. - * gcc.target/aarch64/sme/inlining_10.c: New file. - * gcc.target/aarch64/sme/inlining_11.c: New file. - * gcc.target/aarch64/sme/inlining_12.c: New file. - * gcc.target/aarch64/sme/inlining_13.c: New file. - * gcc.target/aarch64/sme/inlining_14.c: New file. - * gcc.target/aarch64/sme/inlining_15.c: New file. - * gcc.target/aarch64/sme/inlining_9.c: New file. - -2023-12-05 Richard Sandiford - - * g++.target/aarch64/sme/exceptions_2.C: New test. - * gcc.target/aarch64/sme/nonlocal_goto_1.c: Likewise. - * gcc.target/aarch64/sme/nonlocal_goto_2.c: Likewise. - * gcc.target/aarch64/sme/nonlocal_goto_3.c: Likewise. - * gcc.target/aarch64/sme/nonlocal_goto_4.c: Likewise. - * gcc.target/aarch64/sme/nonlocal_goto_5.c: Likewise. - * gcc.target/aarch64/sme/nonlocal_goto_6.c: Likewise. - * gcc.target/aarch64/sme/nonlocal_goto_7.c: Likewise. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sme/locally_streaming_1.c: New test. - * gcc.target/aarch64/sme/locally_streaming_2.c: Likewise. - * gcc.target/aarch64/sme/locally_streaming_3.c: Likewise. - * gcc.target/aarch64/sme/locally_streaming_4.c: Likewise. - * gcc.target/aarch64/sme/keyword_macros_1.c: Add - __arm_locally_streaming. - * g++.target/aarch64/sme/keyword_macros_1.C: Likewise. - -2023-12-05 Richard Sandiford - - * lib/target-supports.exp: Add sme and sme-i16i64 features. - * gcc.target/aarch64/pragma_cpp_predefs_4.c: Test __ARM_FEATURE_SME* - macros. - * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h: Allow functions - to be marked as __arm_streaming, __arm_streaming_compatible, and - __arm_inout("za"). - * g++.target/aarch64/sve/acle/general-c++/func_redef_4.c: Mark the - function as __arm_streaming_compatible. - * g++.target/aarch64/sve/acle/general-c++/func_redef_5.c: Likewise. - * g++.target/aarch64/sve/acle/general-c++/func_redef_7.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/func_redef_4.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/func_redef_5.c: Likewise. - * g++.target/aarch64/sme/aarch64-sme-acle-asm.exp: New test harness. - * gcc.target/aarch64/sme/aarch64-sme-acle-asm.exp: Likewise. - * gcc.target/aarch64/sve/acle/general-c/binary_za_int_m_1.c: New test. - * gcc.target/aarch64/sve/acle/general-c/binary_za_m_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/binary_za_m_2.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/binary_za_uint_m_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/read_za_m_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/unary_za_m_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/write_za_m_1.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/addha_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/addha_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/addva_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/addva_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/arm_has_sme_sc.c: New file. - * gcc.target/aarch64/sme/acle-asm/arm_in_streaming_mode_ns.c: New file. - * gcc.target/aarch64/sme/acle-asm/arm_in_streaming_mode_s.c: New file. - * gcc.target/aarch64/sme/acle-asm/arm_in_streaming_mode_sc.c: New file. - * gcc.target/aarch64/sme/acle-asm/cntsb_s.c: New file. - * gcc.target/aarch64/sme/acle-asm/cntsb_sc.c: New file. - * gcc.target/aarch64/sme/acle-asm/cntsd_s.c: New file. - * gcc.target/aarch64/sme/acle-asm/cntsd_sc.c: New file. - * gcc.target/aarch64/sme/acle-asm/cntsh_s.c: New file. - * gcc.target/aarch64/sme/acle-asm/cntsh_sc.c: New file. - * gcc.target/aarch64/sme/acle-asm/cntsw_s.c: New file. - * gcc.target/aarch64/sme/acle-asm/cntsw_sc.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za128.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za16.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za8.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_hor_za128.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_hor_za16.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_hor_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_hor_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_hor_za8.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za128.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za16.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za8.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_ver_za128.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_ver_za16.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_ver_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_ver_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/ld1_ver_za8.c: New file. - * gcc.target/aarch64/sme/acle-asm/ldr_vnum_za_s.c: New file. - * gcc.target/aarch64/sme/acle-asm/ldr_vnum_za_sc.c: New file. - * gcc.target/aarch64/sme/acle-asm/ldr_za_s.c: New file. - * gcc.target/aarch64/sme/acle-asm/ldr_za_sc.c: New file. - * gcc.target/aarch64/sme/acle-asm/mopa_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/mopa_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/mops_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/mops_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/read_hor_za128.c: New file. - * gcc.target/aarch64/sme/acle-asm/read_hor_za16.c: New file. - * gcc.target/aarch64/sme/acle-asm/read_hor_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/read_hor_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/read_hor_za8.c: New file. - * gcc.target/aarch64/sme/acle-asm/read_ver_za128.c: New file. - * gcc.target/aarch64/sme/acle-asm/read_ver_za16.c: New file. - * gcc.target/aarch64/sme/acle-asm/read_ver_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/read_ver_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/read_ver_za8.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za128.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za16.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za8.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_hor_za128.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_hor_za16.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_hor_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_hor_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_hor_za8.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za128.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za16.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za8.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_ver_za128.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_ver_za16.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_ver_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_ver_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/st1_ver_za8.c: New file. - * gcc.target/aarch64/sme/acle-asm/str_vnum_za_s.c: New file. - * gcc.target/aarch64/sme/acle-asm/str_vnum_za_sc.c: New file. - * gcc.target/aarch64/sme/acle-asm/str_za_s.c: New file. - * gcc.target/aarch64/sme/acle-asm/str_za_sc.c: New file. - * gcc.target/aarch64/sme/acle-asm/sumopa_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/sumopa_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/sumops_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/sumops_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/test_sme_acle.h: New file. - * gcc.target/aarch64/sme/acle-asm/undef_za.c: New file. - * gcc.target/aarch64/sme/acle-asm/usmopa_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/usmopa_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/usmops_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/usmops_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/write_hor_za128.c: New file. - * gcc.target/aarch64/sme/acle-asm/write_hor_za16.c: New file. - * gcc.target/aarch64/sme/acle-asm/write_hor_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/write_hor_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/write_hor_za8.c: New file. - * gcc.target/aarch64/sme/acle-asm/write_ver_za128.c: New file. - * gcc.target/aarch64/sme/acle-asm/write_ver_za16.c: New file. - * gcc.target/aarch64/sme/acle-asm/write_ver_za32.c: New file. - * gcc.target/aarch64/sme/acle-asm/write_ver_za64.c: New file. - * gcc.target/aarch64/sme/acle-asm/write_ver_za8.c: New file. - * gcc.target/aarch64/sme/acle-asm/zero_mask_za.c: New file. - * gcc.target/aarch64/sme/acle-asm/zero_za.c: New file. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sme/za_state_1.c: New test. - * gcc.target/aarch64/sme/za_state_2.c: Likewise. - * gcc.target/aarch64/sme/za_state_3.c: Likewise. - * gcc.target/aarch64/sme/za_state_4.c: Likewise. - * gcc.target/aarch64/sme/za_state_5.c: Likewise. - * gcc.target/aarch64/sme/za_state_6.c: Likewise. - * g++.target/aarch64/sme/exceptions_1.C: Likewise. - * gcc.target/aarch64/sme/keyword_macros_1.c: Add ZA macros. - * g++.target/aarch64/sme/keyword_macros_1.C: Likewise. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sme/call_sm_switch_1.c: New test. - * gcc.target/aarch64/sme/call_sm_switch_2.c: Likewise. - * gcc.target/aarch64/sme/call_sm_switch_3.c: Likewise. - * gcc.target/aarch64/sme/call_sm_switch_4.c: Likewise. - * gcc.target/aarch64/sme/call_sm_switch_5.c: Likewise. - * gcc.target/aarch64/sme/call_sm_switch_6.c: Likewise. - * gcc.target/aarch64/sme/call_sm_switch_7.c: Likewise. - * gcc.target/aarch64/sme/call_sm_switch_8.c: Likewise. - * gcc.target/aarch64/sme/call_sm_switch_9.c: Likewise. - * gcc.target/aarch64/sme/call_sm_switch_10.c: Likewise. - -2023-12-05 Richard Sandiford - - * g++.target/aarch64/sve/aarch64-ssve.exp: New harness. - * g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Add - -DSTREAMING_COMPATIBLE to the list of options. - * g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Likewise. - * gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Likewise. - * gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Likewise. - Fix pasto in variable name. - * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h: Mark functions - as streaming-compatible if STREAMING_COMPATIBLE is defined. - * gcc.target/aarch64/sve/acle/asm/adda_f16.c: Disable for - streaming-compatible code. - * gcc.target/aarch64/sve/acle/asm/adda_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/adda_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/adrb.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/adrd.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/adrh.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/adrw.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bfmmla_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/compact_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/compact_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/compact_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/compact_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/compact_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/compact_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/expa_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/expa_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/expa_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/ld1ro_bf16.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/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/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/ld1sw_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sw_gather_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/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/ld1uw_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uw_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_bf16.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_bf16.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/mmla_f32.c: Likewise. - * 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/prfb_gather.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfd_gather.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfh_gather.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfw_gather.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/rdffr_1.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/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/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/st1w_scatter_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1w_scatter_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tmad_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tmad_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tmad_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tsmul_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tsmul_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tsmul_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tssel_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tssel_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tssel_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/usmmla_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/aesd_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/aese_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/aesimc_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/aesmc_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bdep_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bdep_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bdep_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bdep_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bext_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bext_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bext_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bext_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bgrp_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bgrp_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bgrp_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bgrp_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/histcnt_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/histcnt_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/histcnt_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/histcnt_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/histseg_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/histseg_u8.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/match_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/match_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/match_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/match_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/nmatch_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/nmatch_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/nmatch_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/nmatch_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pmullb_pair_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pmullt_pair_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/rax1_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/rax1_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sm4e_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sm4ekey_u32.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. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/movdf_2.c: New test. - * gcc.target/aarch64/movdi_3.c: Likewise. - * gcc.target/aarch64/movhf_2.c: Likewise. - * gcc.target/aarch64/movhi_2.c: Likewise. - * gcc.target/aarch64/movqi_2.c: Likewise. - * gcc.target/aarch64/movsf_2.c: Likewise. - * gcc.target/aarch64/movsi_2.c: Likewise. - * gcc.target/aarch64/movtf_3.c: Likewise. - * gcc.target/aarch64/movtf_4.c: Likewise. - * gcc.target/aarch64/movti_3.c: Likewise. - * gcc.target/aarch64/movti_4.c: Likewise. - * gcc.target/aarch64/movv16qi_4.c: Likewise. - * gcc.target/aarch64/movv16qi_5.c: Likewise. - * gcc.target/aarch64/movv8qi_4.c: Likewise. - * gcc.target/aarch64/sme/arm_neon_1.c: Likewise. - * gcc.target/aarch64/sme/arm_neon_2.c: Likewise. - * gcc.target/aarch64/sme/arm_neon_3.c: Likewise. - -2023-12-05 Richard Sandiford - - * lib/target-supports.exp (check_effective_target_aarch64_sme): New - target test. - * gcc.target/aarch64/sme/aarch64-sme.exp: Force SME to be enabled - if it isn't by default. - * g++.target/aarch64/sme/aarch64-sme.exp: Likewise. - * gcc.target/aarch64/sme/streaming_mode_3.c: New test. - * gcc.target/aarch64/sme/streaming_mode_4.c: New file. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sme/aarch64-sme.exp: New harness. - * gcc.target/aarch64/sme/streaming_mode_1.c: New test. - * gcc.target/aarch64/sme/streaming_mode_2.c: Likewise. - * gcc.target/aarch64/sme/keyword_macros_1.c: Likewise. - * g++.target/aarch64/sme/aarch64-sme.exp: New harness. - * g++.target/aarch64/sme/streaming_mode_1.C: New test. - * g++.target/aarch64/sme/streaming_mode_2.C: Likewise. - * g++.target/aarch64/sme/keyword_macros_1.C: Likewise. - * gcc.target/aarch64/auto-init-1.c: Only expect the call insn - to contain 1 (const_int 0), not 2. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h (TEST_DUAL_XN): - New macro. - * gcc.target/aarch64/sve/acle/asm/reinterpret_bf16.c: Add tests for - tuple forms. - * gcc.target/aarch64/sve/acle/asm/reinterpret_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_u8.c: Likewise. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general-c/set_1.c: Tweak expected - error message. - * gcc.target/aarch64/sve/acle/general-c/set_3.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/set_5.c: Likewise. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general-c/*: Replace "but previous - arguments had" with "but argument N had". - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general-c/*: Update expected error - messages. - -2023-12-05 Richard Sandiford - - * gcc.target/aarch64/sve/acle/asm/cntb.c: Tweak expected output. - * gcc.target/aarch64/sve/acle/asm/cnth.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/cntw.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/cntd.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfb.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfh.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfw.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfd.c: Likewise. - * gcc.target/aarch64/sve/loop_add_4.c: Expect RDVL to be used - to calculate the -17 and 17 factors. - * gcc.target/aarch64/sve/pcs/stack_clash_1.c: Likewise the 18 factor. - -2023-12-05 Szabolcs Nagy - - * gcc.target/aarch64/eh_return-3.c: Fix when retaa is available. - -2023-12-05 Thomas Schwinge - - * gcc.dg/gnu23-builtins-no-dfp-1.c: Remove '-fpermissive'. - 'dg-error "implicit"' instead of 'dg-warning "implicit"'. - -2023-12-05 Kito Cheng - - * gcc.target/riscv/arch-29.c: New test. - * gcc.target/riscv/arch-30.c: New test. - -2023-12-05 Richard Sandiford - - PR rtl-optimization/112278 - * gcc.target/aarch64/sve/pr112278.c: New test. - -2023-12-05 Jakub Jelinek - - PR tree-optimization/112843 - * gcc.dg/bitint-47.c: New test. - -2023-12-05 Jakub Jelinek - - PR target/112816 - * gcc.target/i386/pr112816.c: New test. - -2023-12-05 Juzhe-Zhong - - * g++.target/riscv/rvv/autovec/bug-2.C: New test. - -2023-12-05 Richard Biener - - PR c/89270 - * gcc.target/avr/pr89270.c: New testcase. - -2023-12-05 Richard Biener - - PR c/86869 - * gcc.target/avr/pr86869.c: New testcase. - -2023-12-05 liuhongt - - * gcc.target/i386/udotprodint8_emulate.c: New test. - -2023-12-05 Marek Polacek - - PR c++/107687 - PR c++/110997 - * g++.dg/cpp23/consteval-if10.C: Remove dg-error. - * g++.dg/cpp23/consteval-if2.C: Likewise. - * g++.dg/cpp23/feat-cxx2b.C: Adjust expected value of __cpp_consteval. - * g++.dg/cpp26/feat-cxx26.C: Likewise. - * g++.dg/cpp2a/consteval-memfn1.C: Add dg-error. - * g++.dg/cpp2a/consteval11.C: Likewise. - * g++.dg/cpp2a/consteval3.C: Adjust dg-error. - * g++.dg/cpp2a/consteval34.C: Add dg-error. - * g++.dg/cpp2a/consteval36.C: Likewise. - * g++.dg/cpp2a/consteval9.C: Likewise. - * g++.dg/cpp2a/feat-cxx2a.C: Adjust expected value of __cpp_consteval. - * g++.dg/cpp2a/spaceship-synth9.C: Adjust dg-error. - * g++.dg/cpp2a/consteval-prop1.C: New test. - * g++.dg/cpp2a/consteval-prop10.C: New test. - * g++.dg/cpp2a/consteval-prop11.C: New test. - * g++.dg/cpp2a/consteval-prop12.C: New test. - * g++.dg/cpp2a/consteval-prop13.C: New test. - * g++.dg/cpp2a/consteval-prop14.C: New test. - * g++.dg/cpp2a/consteval-prop15.C: New test. - * g++.dg/cpp2a/consteval-prop16.C: New test. - * g++.dg/cpp2a/consteval-prop17.C: New test. - * g++.dg/cpp2a/consteval-prop18.C: New test. - * g++.dg/cpp2a/consteval-prop19.C: New test. - * g++.dg/cpp2a/consteval-prop20.C: New test. - * g++.dg/cpp2a/consteval-prop2.C: New test. - * g++.dg/cpp2a/consteval-prop3.C: New test. - * g++.dg/cpp2a/consteval-prop4.C: New test. - * g++.dg/cpp2a/consteval-prop5.C: New test. - * g++.dg/cpp2a/consteval-prop6.C: New test. - * g++.dg/cpp2a/consteval-prop7.C: New test. - * g++.dg/cpp2a/consteval-prop8.C: New test. - * g++.dg/cpp2a/consteval-prop9.C: New test. - -2023-12-04 Jason Merrill - - * g++.dg/cpp0x/constexpr-noreturn1.C: New test. - -2023-12-04 Robin Dapp - - * gcc.target/riscv/rvv/autovec/binop/copysign-zvfh-run.c: - Replace riscv_zvfh_hw with riscv_zvfh. - * gcc.target/riscv/rvv/autovec/binop/vadd-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vdiv-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmax-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmin-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmul-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-zvfh-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-10.c: - Ditto. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-6.c: Allow - overriding N. - * gcc.target/riscv/rvv/autovec/unop/abs-zvfh-run.c: Replace - riscv zvfh_hw with riscv_zvfh. - * gcc.target/riscv/rvv/autovec/unop/vneg-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-8.c: Ditto. - * lib/target-supports.exp: Remove riscv_vector_hw and - riscv_zvfh_hw. - -2023-12-04 Robin Dapp - - * gcc.target/riscv/rvv/autovec/pr112552.c: Add - -Wno-incompatible-pointer-types. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-10.c: - Add -std=gnu99. - -2023-12-04 Robin Dapp - - * gcc.target/riscv/rvv/base/cpymem-strategy-1.c: Change to - -mstringop-strategy. - * gcc.target/riscv/rvv/base/cpymem-strategy-2.c: Ditto. - * gcc.target/riscv/rvv/base/cpymem-strategy-3.c: Ditto. - * gcc.target/riscv/rvv/base/cpymem-strategy-4.c: Ditto. - * gcc.target/riscv/rvv/base/cpymem-strategy-5.c: Ditto. - -2023-12-04 Juzhe-Zhong - - PR target/112431 - * gcc.target/riscv/rvv/base/pr112431-34.c: New test. - -2023-12-04 Juzhe-Zhong - - PR target/112431 - * gcc.target/riscv/rvv/base/pr112431-37.c: New test. - * gcc.target/riscv/rvv/base/pr112431-38.c: New test. - -2023-12-04 Richard Biener - - PR tree-optimization/112818 - * gcc.dg/vect/pr112818.c: New testcase. - -2023-12-04 Juzhe-Zhong - - * g++.target/riscv/rvv/autovec/bug-01.C: Moved to... - * g++.target/riscv/rvv/autovec/bug-1.C: ...here. - -2023-12-04 Richard Biener - - PR tree-optimization/112827 - * gcc.dg/torture/pr112827-1.c: New testcase. - * gcc.dg/torture/pr112827-2.c: Likewise. - -2023-12-04 Juzhe-Zhong - - PR target/112431 - * gcc.target/riscv/rvv/base/pr112431-35.c: New test. - * gcc.target/riscv/rvv/base/pr112431-36.c: New test. - -2023-12-04 Indu Bhagat - - PR debug/112656 - * gcc.dg/debug/btf/btf-function-7.c: New test. - -2023-12-04 Indu Bhagat - - PR debug/112768 - * gcc.dg/debug/btf/btf-function-6.c: Empty string expected with - BTF_KIND_FUNC_PROTO. - -2023-12-04 Pan Li - - PR target/112813 - * gcc.target/riscv/rvv/vsetvl/pr112813-1.c: New test. - -2023-12-04 Jakub Jelinek - - PR target/112837 - * gcc.dg/pr112837.c: New test. - -2023-12-04 Jakub Jelinek - - PR target/112816 - * gcc.target/i386/sse2-pr112816.c: New test. - -2023-12-04 Jakub Jelinek - - PR c++/112795 - * g++.dg/ext/unroll-5.C: New test. - * g++.dg/ext/unroll-6.C: New test. - -2023-12-04 Feng Wang - - * gcc.target/riscv/zvkn-1.c: Replace zvbb with zvkb. - * gcc.target/riscv/zvkn.c: Ditto. - * gcc.target/riscv/zvknc-1.c:Ditto. - * gcc.target/riscv/zvknc-2.c:Ditto. - * gcc.target/riscv/zvknc.c: Ditto. - * gcc.target/riscv/zvkng-1.c:Ditto. - * gcc.target/riscv/zvkng-2.c:Ditto. - * gcc.target/riscv/zvkng.c: Ditto. - * gcc.target/riscv/zvks-1.c: Ditto. - * gcc.target/riscv/zvks.c: Ditto. - * gcc.target/riscv/zvksc-1.c:Ditto. - * gcc.target/riscv/zvksc-2.c:Ditto. - * gcc.target/riscv/zvksc.c: Ditto. - * gcc.target/riscv/zvksg-1.c:Ditto. - * gcc.target/riscv/zvksg-2.c:Ditto. - * gcc.target/riscv/zvksg.c: Ditto. - -2023-12-04 Fei Gao - Xiao Zeng - - * gcc.target/riscv/zicond-sfb-primitiveSemantics.c: New test. - -2023-12-04 Kito Cheng - - * gcc.target/riscv/mcpu-sifive-x280.c: New test. - -2023-12-04 Hu, Lin1 - - * gcc.target/i386/user_msr-1.c: Correct the MSR index for give the user - an proper example. - -2023-12-03 Jakub Jelinek - - PR middle-end/112406 - * gcc.target/aarch64/pr112406.c (MagickPixelPacket): Add missing - semicolon. - (GetImageChannelMoments_image): Avoid using implicit int. - (SetMagickPixelPacket): Use void return type instead of implicit int. - (GetImageChannelMoments): Likewise. Use __builtin_atan instead of - atan. - -2023-12-03 Jakub Jelinek - - PR middle-end/112807 - * gcc.dg/bitint-46.c: New test. - -2023-12-03 Saurabh Jha - - * gcc.target/arm/mve/pr112337.c: Use int32_t instead of int. - -2023-12-03 Pan Li - - * gcc.target/riscv/rvv/base/pr112743-1.c: Fix typo. - * gcc.target/riscv/rvv/base/pr112743-2.c: Ditto. - -2023-12-03 Jeff Law - - * gcc.dg/gnu23-builtins-no-dfp-1.c: Add -fpermissive. - -2023-12-03 Jeff Law - - * gcc.c-torture/execute/pr65369.c: Fix type mismatch. - -2023-12-03 Jeff Law - - * gcc.c-torture/execute/comp-goto-1.c: Fix return value of main for - 16 bit targets. - -2023-12-03 Jeff Law - - * gcc.target/arc/lra-1.c: Fix missing prototypes and implicit - types in variable definitions. - * gcc.target/arc/pic-1.c: Similarly. - * gcc.target/arc/pr9001191897.c: Similarly. - * gcc.target/arc/pr9001195952.c: Add -fpermissive. - -2023-12-03 Jeff Law - - * gcc.target/nios2/cdx-ldstwm-1.c: Add -fpermissive. - * gcc.target/nios2/cdx-ldstwm-2.c: Add prototypes fro abort and exit. - -2023-12-03 Jeff Law - - * gcc.target/h8300/pr58400.c: Add -fpermissive. - * gcc.target/h8300/pr17306-2.c: Add missing prototype. - -2023-12-02 Harald Anlauf - - PR fortran/93762 - PR fortran/100651 - * gfortran.dg/optional_deferred_char_1.f90: New test. - -2023-12-02 Francois-Xavier Coudert - - * gcc.target/i386/libcall-1.c: Skip on darwin. - -2023-12-02 Li Wei - - * gcc.target/loongarch/lasx-extract-even_odd-opt.c: New test. - -2023-12-02 Li Wei - - * gcc.target/loongarch/popcnt.c: New test. - * gcc.target/loongarch/popcount.c: New test. - -2023-12-02 chenxiaolong - - * gcc.target/loongarch/vector/lasx/lasx-xvabsd-1.c:Remove - the default Settings to run the behavior. - * gcc.target/loongarch/vector/lasx/lasx-xvabsd-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvadd.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvadda.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvaddi.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvaddwev-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvaddwev-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvaddwev-3.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvaddwod-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvaddwod-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvaddwod-3.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvand.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvandi.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvandn.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvavg-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvavg-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvavgr-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvavgr-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvbitclr.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvbitclri.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvbitrev.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvbitrevi.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvbitsel.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvbitseli.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvbitset.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvbitseti.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvbsll_v.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvbsrl_v.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvclo.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvclz.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvdiv-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvdiv-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvext2xv-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvext2xv-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvexth-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvexth-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvextl-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvextl-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvextrins.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfadd_d.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfadd_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfclass_d.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfclass_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_caf_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_ceq_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cle_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_clt_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cne_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cor_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cun_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_saf_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_seq_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sle_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_slt_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sne_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sor_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sun_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvffinth.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvflogb_d.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvflogb_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfmadd_d.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfmadd_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfmax_d.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfmax_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_d.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_d.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfrstp.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfrstpi.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_d.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_s.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvftintl.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvhaddw-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvhaddw-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvhsubw-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvhsubw-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvilvh.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvilvl.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvinsgr2vr.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvinsve0.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvld.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvldi.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmadd.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-3.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-3.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmax-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmax-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmaxi-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmaxi-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmin-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmin-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmini-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmini-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmod-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmod-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmskgez.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmskltz.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmsknz.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmsub.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmuh-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmuh-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmul.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmulwev-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmulwev-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmulwev-3.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmulwod-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmulwod-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvmulwod-3.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvneg.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvnor.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvnori.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvor.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvori.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvorn.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvpackev.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvpackod.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvpcnt.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvpickev.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvpickod.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvpickve.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvpickve2gr.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvprem.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvpremi.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvreplgr2vr.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvreplve.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvreplve0.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvreplvei.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvrotr.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvrotri.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsadd-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsadd-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsat-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsat-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvseq.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvseqi.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvshuf4i_b.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsigncov.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsle-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsle-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvslei-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvslei-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsll.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvslli.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsllwil-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsllwil-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvslt-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvslt-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvslti-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvslti-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsra.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrai.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsran.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrani.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrar.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrari.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrarn.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrarni.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrl.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrli.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrln.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrlni.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrlr.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrlri.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrlrn.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsrlrni.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvssran.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvssrani.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvssrarn.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvssrarni.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvssrln.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvssrlni.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvssrlrn.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvssrlrni.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvst.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsub.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsubi.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvxor.c:Dito. - * gcc.target/loongarch/vector/lasx/lasx-xvxori.c:Dito. - * gcc.target/loongarch/vector/loongarch-vector.exp:Added hardware - detection to set the behavior of program execution based on the - characteristics of the hardware. - * gcc.target/loongarch/vector/lsx/lsx-vabsd-1.c:Remove the default - Settings to run the behavior. - * gcc.target/loongarch/vector/lsx/lsx-vabsd-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vadd.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vadda.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vaddi.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vaddwev-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vaddwev-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vaddwev-3.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vaddwod-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vaddwod-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vaddwod-3.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vand.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vandi.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vandn.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vavg-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vavg-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vavgr-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vavgr-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vbitclr.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vbitclri.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vbitrev.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vbitrevi.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vbitsel.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vbitseli.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vbitset.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vbitseti.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vbsll.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vbsrl.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vclo.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vclz.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vdiv-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vdiv-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vexth-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vexth-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vextl-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vextl-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vextrins.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfadd_d.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfadd_s.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfclass_d.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfclass_s.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_caf.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_ceq.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cle.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_clt.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cne.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cor.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cun.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_saf.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_seq.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sle.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_slt.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sne.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sor.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sun.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcvt-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfcvt-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vffint-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vffint-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vffint-3.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vflogb_d.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vflogb_s.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfmadd_d.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfmadd_s.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfmax_d.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfmax_s.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfmaxa_d.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfmaxa_s.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfnmadd_d.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfnmadd_s.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfrint_d.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfrint_s.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfrstp.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfrstpi.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfsqrt_d.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vfsqrt_s.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vftint-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vftint-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vftint-3.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vftint-4.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vhaddw-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vhaddw-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vhsubw-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vhsubw-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vilvh.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vilvl.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vinsgr2vr.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vld.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vldi.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmadd.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmaddwev-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmaddwev-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmaddwev-3.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmaddwod-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmaddwod-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmaddwod-3.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmax-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmax-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmaxi-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmaxi-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmin-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmin-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmini-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmini-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmod-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmod-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmskgez.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmskltz.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmsknz.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmsub.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmuh-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmuh-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmul.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmulwev-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmulwev-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmulwev-3.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmulwod-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmulwod-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vmulwod-3.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vneg.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vnor.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vnori.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vor.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vori.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vorn.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vpackev.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vpackod.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vpcnt.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vpickev.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vpickod.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vpickve2gr.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vpremi.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vreplgr2vr.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vreplve.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vreplvei.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vrotr.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vrotri.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsadd-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsadd-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsat-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsat-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vseq.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vseqi.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vshuf.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vshuf4i.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsigncov.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsle-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsle-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vslei-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vslei-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsll.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vslli.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsllwil-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsllwil-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vslt-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vslt-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vslti-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vslti-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsra.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrai.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsran.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrani.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrar.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrari.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrarn.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrarni.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrl.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrli.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrln.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrlni.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrlr.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrlri.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrlrn.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsrlrni.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vssran.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vssrani.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vssrarn.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vssrarni.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vssrln.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vssrlni.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vssrlrn.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vssrlrni.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vssub-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vssub-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vst.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsub.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsubi.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsubwev-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsubwev-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsubwod-1.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vsubwod-2.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vxor.c:Dito. - * gcc.target/loongarch/vector/lsx/lsx-vxori.c:Dito. - -2023-12-02 Juzhe-Zhong - - PR target/112801 - * gcc.target/riscv/rvv/autovec/pr112801.c: New test. - -2023-12-02 Pan Li - - PR target/112743 - * gcc.target/riscv/rvv/base/pr112743-2.c: New test. - -2023-12-01 Harald Anlauf - - PR fortran/112772 - * gfortran.dg/missing_optional_dummy_7.f90: New test. - -2023-12-01 Jason Merrill - - * g++.dg/cpp2a/nontype-class4.C: Specify ABI v18. - * g++.dg/cpp2a/nontype-class4a.C: New test. - -2023-12-01 Jason Merrill - - * g++.dg/abi/mangle10.C: Disable compat aliases. - * g++.dg/abi/mangle52.C: Specify ABI 18. - * g++.dg/cpp2a/class-deduction-alias3.C - * g++.dg/cpp2a/class-deduction-alias8.C: - Avoid builtins in requires-clauses. - * g++.dg/abi/mangle-concepts1.C: New test. - * g++.dg/abi/mangle-ttp1.C: New test. - -2023-12-01 Alexandre Oliva - - PR target/112334 - * c-c++-common/torture/harden-cfr-bret.c: Rework for stricter - untyped_return requirements. Require untyped_assembly. - * c-c++-common/torture/harden-cfr-bret-except.c: New. - * c-c++-common/torture/harden-cfr-bret-always.c: Require - untyped_assembly. - * c-c++-common/torture/harden-cfr-bret-never.c: Likewise. - * c-c++-common/torture/harden-cfr-bret-noopt.c: Likewise. - * c-c++-common/torture/harden-cfr-bret-noret.c: Likewise. - * c-c++-common/torture/harden-cfr-bret-no-xthrow.c: Likewise. - * c-c++-common/torture/harden-cfr-bret-nothrow.c: Likewise. - * c-c++-common/torture/harden-cfr-bret-retcl.c: Likewise. - -2023-12-01 Vladimir N. Makarov - - PR target/112445 - * gcc.target/i386/pr112445.c: New test. - -2023-12-01 David Malcolm - - * gcc.dg/analyzer/fd-accept.c: Update for fix to missing CWE - metadata for -Wanalyzer-fd-phase-mismatch. - * gcc.dg/analyzer/fd-bind.c: Likewise. - * gcc.dg/analyzer/fd-socket-misuse.c: Likewise. - * gcc.dg/plugin/analyzer_cpython_plugin.c: Update for changes to - pending_diagnostic::emit. - * gcc.dg/plugin/analyzer_gil_plugin.c: Likewise. - -2023-12-01 Juzhe-Zhong - - PR target/112431 - * gcc.target/riscv/rvv/base/pr112431-22.c: New test. - * gcc.target/riscv/rvv/base/pr112431-23.c: New test. - * gcc.target/riscv/rvv/base/pr112431-24.c: New test. - * gcc.target/riscv/rvv/base/pr112431-25.c: New test. - * gcc.target/riscv/rvv/base/pr112431-26.c: New test. - * gcc.target/riscv/rvv/base/pr112431-27.c: New test. - -2023-12-01 Juzhe-Zhong - - PR target/112431 - * gcc.target/riscv/rvv/base/pr112431-28.c: New test. - * gcc.target/riscv/rvv/base/pr112431-29.c: New test. - * gcc.target/riscv/rvv/base/pr112431-30.c: New test. - * gcc.target/riscv/rvv/base/pr112431-31.c: New test. - * gcc.target/riscv/rvv/base/pr112431-32.c: New test. - * gcc.target/riscv/rvv/base/pr112431-33.c: New test. - -2023-12-01 Jakub Jelinek - - * gcc.target/x86_64/abi/avx512fp16/m512h/test_passing_m512.c - (fun_check_passing_m512_8_values, fun_check_passing_m512h_8_values): - Add missing void return type. - * gcc.target/x86_64/abi/avx512fp16/m256h/test_passing_m256.c - (fun_check_passing_m256_8_values, fun_check_passing_m256h_8_values): - Likewise. - * gcc.dg/graphite/pr83126.c (ew): Add missing casts to __INTPTR_TYPE__ - and then to int *. - -2023-12-01 Jakub Jelinek - - PR middle-end/112770 - * gcc.dg/bitint-45.c: New test. - -2023-12-01 Jakub Jelinek - - PR middle-end/112771 - * gcc.dg/bitint-44.c: New test. - -2023-12-01 Jose E. Marchesi - - * gcc.target/bpf/section-name-quoting-1.c: New test. - -2023-12-01 Jakub Jelinek - - PR middle-end/112750 - * gcc.dg/bitint-41.c: Use -std=c23 rather than -std=c2x. - * gcc.dg/torture/bitint-43.c: Likewise. - * gcc.dg/torture/bitint-44.c: Likewise. - * gcc.dg/torture/bitint-45.c: New test. - -2023-12-01 Juergen Christ - - * gcc.target/s390/pr112753.c: New test. - -2023-12-01 Florian Weimer - - * gcc.dg/permerror-default.c (missing_parameter_type): - Expect error. - * gcc.dg/permerror-fpermissive.c (missing_parameter_type): - Expect -Wdeclaration-missing-parameter-type warning. - * gcc.dg/permerror-gnu89-nopermissive.c (missing_parameter_type): - Expect -Wdeclaration-missing-parameter-type error. - * gcc.dg/permerror-gnu89-pedantic.c (missing_parameter_type): - Likewise. - * gcc.dg/permerror-gnu89.c (missing_parameter_type): - Expect -Wdeclaration-missing-parameter-type warning. - * gcc.dg/permerror-noerror.c: Add - -Wno-error=declaration-missing-parameter-type to build flags. - (missing_parameter_type): Expect - -Wdeclaration-missing-parameter-type warning. - * gcc.dg/permerror-nowarning.c: Build with - -Wno-declaration-missing-parameter-type. Remove previously - expected warning. - * gcc.dg/permerror-fpermissive-nowarning.c: Likewise. - * gcc.dg/permerror-pedantic.c (missing_parameter_type): - Expect -Wdeclaration-missing-parameter-type error. - * gcc.dg/permerror-system.c (missing_parameter_type): - Likewise. - -2023-12-01 Florian Weimer - - * gcc.dg/permerror-default.c (incompatible_pointer_types): - Expect new permerror. - * gcc.dg/permerror-gnu89-nopermissive.c - (incompatible_pointer_types): Likewise. - * gcc.dg/permerror-pedantic.c (incompatible_pointer_types): - Likewise. - * gcc.dg/permerror-system.c: Likewise. - * gcc.dg/Wincompatible-pointer-types-2.c: Compile with - -fpermissive due to expected errors. - * gcc.dg/Wincompatible-pointer-types-5.c: New test. Copied - from gcc.dg/Wincompatible-pointer-types-2.c. Expect errors. - * gcc.dg/anon-struct-11.c: Compile with -fpermissive - due to expected errors. - * gcc.dg/anon-struct-11a.c: New test. Copied from - gcc.dg/anon-struct-11.c. Expect errors. - * gcc.dg/anon-struct-13.c: Compile with -fpermissive - due to expected errors. - * gcc.dg/anon-struct-13a.c: New test. Copied from - gcc.dg/anon-struct-13.c. Expect errors. - * gcc.dg/builtin-arith-overflow-4.c: Compile with -fpermissive - due to expected errors. - * gcc.dg/builtin-arith-overflow-4a.c: New test. Copied from - gcc.dg/builtin-arith-overflow-4.c. Expect errors. - * gcc.dg/c23-qual-4.c: Expect -Wincompatible-pointer-types errors. - * gcc.dg/dfp/composite-type.c: Compile with -fpermissive - due to expected errors. - * gcc.dg/dfp/composite-type-2.c: New test. Copied from - gcc.dg/dfp/composite-type.c. Expect errors. - * gcc.dg/diag-aka-1.c: Compile with -fpermissive - due to expected errors. - * gcc.dg/diag-aka-1a.c: New test. Copied from - gcc.dg/diag-aka-1a.c. Expect errors. - * gcc.dg/enum-compat-1.c: Compile with -fpermissive - due to expected errors. - * gcc.dg/enum-compat-2.c: New test. Copied from - gcc.dg/enum-compat-1.c. Expect errors. - * gcc.dg/func-ptr-conv-1.c: Compile with -fpermissive - due to expected errors. - * gcc.dg/func-ptr-conv-2.c: New test. Copied from - gcc.dg/func-ptr-conv-1.c. Expect errors. - * gcc.dg/init-bad-7.c: Compile with -fpermissive - due to expected errors. - * gcc.dg/init-bad-7a.c: New test. Copied from gcc.dg/init-bad-7.c. - Expect errors. - * gcc.dg/noncompile/incomplete-3.c (foo): Expect - -Wincompatible-pointer-types error. - * gcc.dg/param-type-mismatch-2.c (test8): Likewise. - * gcc.dg/pointer-array-atomic.c: Compile with -fpermissive - due to expected errors. - * gcc.dg/pointer-array-atomic-2.c: New test. Copied from - gcc.dg/pointer-array-atomic.c. Expect errors. - * gcc.dg/pointer-array-quals-1.c (test): Expect - -Wincompatible-pointer-types errors. - * gcc.dg/transparent-union-1.c: Compile with -fpermissive - due to expected errors. - * gcc.dg/transparent-union-1a.c: New test. Copied from - gcc.dg/transparent-union-1.c. Expect errors. - * gcc.target/aarch64/acle/memtag_2a.c - (test_memtag_warning_return_qualifier): Expect additional - errors. - * gcc.target/aarch64/sve/acle/general-c/load_2.c (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_1.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_2.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_3.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_4.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_5.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_1.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_2.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_3.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_4.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/sizeless-2.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_index_restricted_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. - * gcc.target/aarch64/sve/acle/general/attributes_7.c - (f1): Likewise. - * gcc.target/i386/sse2-bfloat16-scalar-typecheck.c (footest): - Expect -Wincompatible-pointer-types errors. - * gcc.target/i386/vect-bfloat16-typecheck_1.c (footest): Likewise. - * gcc.target/i386/vect-bfloat16-typecheck_2.c (footest): Likewise. - -2023-12-01 Florian Weimer - - * gcc.dg/permerror-default.c (return_mismatch_1) - (return_mismatch_2): Expect new permerror. - * gcc.dg/permerror-gnu89-nopermissive.c (return_mismatch_1): - Likewise. - * gcc.dg/permerror-system.c: Likewise. - * gcc.dg/20030906-1.c: Compile with -fpermissive due to - expected -Wreturn-mismatch error. - * gcc.dg/20030906-1a.c: New test. Copied from - gcc.dg/20030906-1.c. Expect the error. - * gcc.dg/20030906-2.c: Compile with -fpermissive due to - expected -Wreturn-mismatch error. - * gcc.dg/20030906-2a.c: New test. Copied from - gcc.dg/20030906-2.c. Expect the error. - * gcc.dg/Wreturn-mismatch-1.c: Compile with -fpermissive due to - expected -Wreturn-mismatch error. - * gcc.dg/Wreturn-mismatch-1a.c: New test. Copied from - gcc.dg/Wreturn-mismatch-1.c. Expect the error. - * gcc.dg/Wreturn-mismatch-2.c: Compile with -fpermissive due to - expected -Wreturn-mismatch error. - * gcc.dg/Wreturn-mismatch-2a.c: New test. Copied from - gcc.dg/Wreturn-mismatch-2.c. Expect the error. - * gcc.dg/diagnostic-range-bad-return.c: Compile with - -fpermissive due to expected -Wreturn-mismatch error. - * gcc.dg/diagnostic-range-bad-return-2.c: New test. - Copied from gcc.dg/diagnostic-range-bad-return.c. Expect the - error. - * gcc.dg/pr105635-2.c: Expect -Wreturn-mismatch error. - * gcc.dg/pr23075.c: Build with -fpermissive due to - expected -Wreturn-mismatch error. - * gcc.dg/pr23075-2.c: New test. Copied from gcc.dg/pr23075.c. - Expect the error. - * gcc.dg/pr29521.c: Compile with -fpermissive due to expected - -Wreturn-mismatch error. - * gcc.dg/pr29521-a.c: New test. Copied from gcc.dg/pr29521.c. - Expect error. - * gcc.dg/pr67730.c: Compile with -fpermissive due to expected - -Wreturn-mismatch error. - * gcc.dg/pr67730-a.c: New test. Copied from - gcc.dg/pr67730-a.c. Expect error. - * gcc.target/powerpc/conditional-return.c: Compile with - -fpermissive due to expected -Wreturn-mismatch error. - -2023-12-01 Florian Weimer - - * gcc.dg/permerror-system.c: Expect all -Wimplicit-int - permerrors. - -2023-12-01 Florian Weimer - - * gcc.dg/permerror-default.c (implicit_int_1, implicit_int_2) - (implicit_int_3, implicit_int_4): Expect new permerror. - * gcc.dg/permerror-system.c: Expect a single new permerror. - * gcc.dg/Wimplicit-int-1.c: Compile with -fpermissive due to - expected warning. - * gcc.dg/Wimplicit-int-4.c: Likewise. - * gcc.dg/Wimplicit-int-1a.c: New test. Copied from - gcc.dg/Wimplicit-int-1.c, but expect errors. - * gcc.dg/Wimplicit-int-4a.c: New test. Copied from - gcc.dg/Wimplicit-int-4.c, but expect errors. - * gcc.dg/gnu23-attr-syntax-2.c: Compile with -fpermissive - due to expected implicit-int error. - * gcc.dg/gnu23-attr-syntax-3.c: New test. Copied from - gcc.dg/gnu23-attr-syntax-2.c, but expect an error. - * gcc.dg/pr105635.c: Build with -fpermissive due to implicit - int. - * gcc.dg/pr105635-2.c: New test. Copied from - gcc.dg/pr105635.c. Expect implicit int error. - * gcc.dg/noncompile/pr79758.c: Build with -fpermissive due to - implicit int. - * gcc.dg/noncompile/pr79758-2.c: New test. Copied from - gcc.dg/noncompile/pr79758.c. Expect implicit int error. - -2023-12-01 Florian Weimer - - * gcc.dg/permerror-default.c (implicit_function_declaration): - Expect the new permerror. - * gcc.dg/permerror-system.c: Likewise. - * c-c++-common/spellcheck-reserved.c (test, test_2): Expect - error instead of warning. - (f): Expect error instead of warning. - * gcc.dg/Wimplicit-function-declaration-c99.c: Compile with - -fpermissive due to expected warning. - * gcc.dg/Wimplicit-function-declaration-c99-2.c: New test. - Copied from gcc.dg/Wimplicit-function-declaration-c99.c. - Expect error. - * gcc.dg/missing-header-fixit-1.c: Compile with -fpermissive - due to expect error. - * gcc.dg/missing-header-fixit-1a.c: New test. Copied from - gcc.dg/missing-header-fixit-1.c, but expect error. - * gcc.dg/missing-header-fixit-2.c: Compile with -fpermissive - due to expect error. - * gcc.dg/missing-header-fixit-2a.c: New test. Copied from - gcc.dg/missing-header-fixit-2.c, but expect error. - * gcc.dg/missing-header-fixit-4.c: Compile with -fpermissive - due to expect error. - * gcc.dg/missing-header-fixit-4a.c: New test. Copied from - gcc.dg/missing-header-fixit-4.c, but expect error. - * gcc.dg/missing-header-fixit-5.c: Compile with -fpermissive - due to expect error. - * gcc.dg/missing-header-fixit-5a.c: New test. Copied from - gcc.dg/missing-header-fixit-5.c, but expect error. - * gcc.dg/pr61852.c: Expect implicit-function-declaration - error instead of warning. - * gcc.dg/spellcheck-identifiers-2.c: Compile with - -fpermissive due to expected warnings. - * gcc.dg/spellcheck-identifiers-2a.c: New test. Copied - from gcc.dg/spellcheck-identifiers-2a.c. Expect errors. - * gcc.dg/spellcheck-identifiers-3.c: Compile with - -fpermissive due to expected warnings. - * gcc.dg/spellcheck-identifiers-3a.c: New test. Copied - from gcc.dg/spellcheck-identifiers-2a.c. Expect errors. - * gcc.dg/spellcheck-identifiers-4.c: Compile with - -fpermissive due to expected warnings. - * gcc.dg/spellcheck-identifiers-4a.c: New test. Copied - from gcc.dg/spellcheck-identifiers-2a.c. Expect error. - * gcc.dg/spellcheck-identifiers.c: Compile with - -fpermissive due to expected warnings. - * gcc.dg/spellcheck-identifiers-1a.c: New test. Copied - from gcc.dg/spellcheck-identifiers.c. Expect errors. - * gcc.target/aarch64/sve/acle/general-c/ld1sh_gather_1.c (f1): - Expect error. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_index_1.c: - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_index_restricted_1.c: - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_1.c: - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_2.c: - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_3.c: - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_4.c: - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_5.c: - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_1.c: - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_2.c: - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_3.c: - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_4.c: - (f1): Likewise. - -2023-12-01 Florian Weimer - - * gcc.dg/permerror-default.c (int_conversion_1) - (int_conversion_2): Expect the new permerrors. - * gcc.dg/permerror-gnu89-nopermissive.c (int_conversion_1) - (int_conversion_2): Likewise. - * gcc.dg/permerror-system.c: Likewise. - * c-c++-common/pr77624-1.c (foo, bar): Expect - error instead of warning. - * gcc.dg/Wint-conversion-2.c: Compile with -fpermissive due - to expected int-conversion warning. - * gcc.dg/Wint-conversion-3.c: Likewise. - * gcc.dg/Wint-conversion-4.c: New test. Based on - gcc.dg/Wint-conversion-3.c. Expect int-conversion errors. - * gcc.dg/assign-warn-1.c: Compile with -fpermissive. - * gcc.dg/assign-warn-4.c: New file. Extracted from - assign-warn1.c. Expect int-conversion errors. - * gcc.dg/diagnostic-types-1.c: Compile with -fpermissive. - * gcc.dg/diagnostic-types-2.c: New file. Extracted from - gcc.dg/diagnostic-types-1.c. Expect some errors instead of - warnings. - * gcc.dg/gomp/pr35738.c: Compile with -fpermissive due to - expected int-conversion error. - * gcc.dg/gomp/pr35738-2.c: New test. Based on - gcc.dg/gomp/pr35738.c. Expect int-converison errors. - * gcc.dg/init-excess-3.c: Expect int-converison errors. - * gcc.dg/overflow-warn-1.c: Likewise. - * gcc.dg/overflow-warn-3.c: Likewise. - * gcc.dg/param-type-mismatch.c: Compile with -fpermissive. - * gcc.dg/param-type-mismatch-2.c: New test. Copied from - gcc.dg/param-type-mismatch.c. Expect errors. - * gcc.dg/pr61162-2.c: Compile with -fpermissive. - * gcc.dg/pr61162-3.c: New test. Extracted from - gcc.dg/pr61162-2.c. Expect int-conversion errors. - * gcc.dg/spec-barrier-3.c: Use -fpermissive due to expected - int-conversion error. - * gcc.dg/spec-barrier-3a.c: New test. Based on - gcc.dg/spec-barrier-3.c. Expect int-conversion errors. - * gcc.target/aarch64/acle/memtag_2.c: Use -fpermissive due to expected - int-conversion error. - * gcc.target/aarch64/acle/memtag_2a.c: New test. Copied from - gcc.target/aarch64/acle/memtag_2.c. Expect error. - * gcc.target/aarch64/sve/acle/general-c/load_3.c (f1): Expect - error. - * 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_index_restricted_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. - -2023-12-01 Florian Weimer - - * gcc.dg/permerror-default.c: New test. - * gcc.dg/permerror-fpermissive.c: Likewise. - * gcc.dg/permerror-fpermissive-nowarning.c: Likewise. - * gcc.dg/permerror-gnu89-nopermissive.c: Likewise. - No permerrors yet, so this matches gcc.dg/permerror-gnu89.c - for now. - * gcc.dg/permerror-gnu89-pedantic.c: New test. - * gcc.dg/permerror-gnu89.c: Likewise. - * gcc.dg/permerror-noerror.c: Likewise. - * gcc.dg/permerror-nowarning.c: Likewise. - * gcc.dg/permerror-pedantic.c: Likewise. - * gcc.dg/permerror-system.c: Likewise. - -2023-12-01 Florian Weimer - - * gm2/link/externalscaffold/pass/scaffold.c (m2pim_M2RTS_Terminate): - Declare. - -2023-12-01 Florian Weimer - - * gcc.target/aarch64/aapcs64/ice_1.c (foo): Call named. - -2023-12-01 Juzhe-Zhong - - PR target/112776 - * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: Adapt test. - * gcc.target/riscv/rvv/vsetvl/pr111037-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/pr112776.c: New test. - -2023-11-30 Marek Polacek - - PR c++/112744 - * g++.dg/lookup/scoped11.C: New test. - * g++.dg/lookup/scoped12.C: New test. - * g++.dg/lookup/scoped13.C: New test. - * g++.dg/lookup/scoped14.C: New test. - * g++.dg/lookup/scoped15.C: New test. - -2023-11-30 Christophe Lyon - - PR target/112698 - * gcc.target/arm/bfloat16_vector_typecheck_1.c: Update expected - error message. - * gcc.target/arm/bfloat16_vector_typecheck_2.c: Likewise. - -2023-11-30 Thomas Schwinge - - * gcc.target/gcn/avgpr-mem-double.c: Remove - 'dg-skip-if "incompatible ISA" [...]'. - * gcc.target/gcn/avgpr-mem-int.c: Likewise. - * gcc.target/gcn/avgpr-mem-long.c: Likewise. - * gcc.target/gcn/avgpr-mem-short.c: Likewise. - * gcc.target/gcn/avgpr-spill-double.c: Likewise. - * gcc.target/gcn/avgpr-spill-int.c: Likewise. - * gcc.target/gcn/avgpr-spill-long.c: Likewise. - * gcc.target/gcn/avgpr-spill-short.c: Likewise. - -2023-11-30 Harald Anlauf - - PR fortran/112764 - * gfortran.dg/associate_62.f90: New test. - -2023-11-30 Richard Biener - - PR tree-optimization/112767 - * gcc.dg/tree-ssa/pr112767.c: New testcase. - * gcc.dg/graphite/pr83255.c: Disable SCCP. - -2023-11-30 Richard Biener - - PR tree-optimization/112766 - * g++.dg/torture/uninit-pr112766.C: New testcase. - -2023-11-30 Juzhe-Zhong - - PR target/112431 - * gcc.target/riscv/rvv/base/pr112431-16.c: New test. - * gcc.target/riscv/rvv/base/pr112431-17.c: New test. - * gcc.target/riscv/rvv/base/pr112431-18.c: New test. - -2023-11-30 Juzhe-Zhong - - PR target/112431 - * gcc.target/riscv/rvv/base/pr112431-19.c: New test. - * gcc.target/riscv/rvv/base/pr112431-20.c: New test. - * gcc.target/riscv/rvv/base/pr112431-21.c: New test. - -2023-11-30 Jakub Jelinek - - PR c++/110349 - * g++.dg/cpp26/name-independent-decl1.C: New test. - * g++.dg/cpp26/name-independent-decl2.C: New test. - * g++.dg/cpp26/name-independent-decl3.C: New test. - * g++.dg/cpp26/name-independent-decl4.C: New test. - * g++.dg/cpp26/name-independent-decl5.C: New test. - * g++.dg/cpp26/name-independent-decl6.C: New test. - * g++.dg/cpp26/feat-cxx26.C: Add __cpp_placeholder_variables test. - -2023-11-30 liuhongt - - * gcc.target/i386/sdotprodint8_emulate.c: New test. - -2023-11-30 Alexandre Oliva - - Revert: - 2023-11-20 Alexandre Oliva - - * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: - Expect "unaligned pointer value" warning on short_enums - targets, but not in c++. - * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: - Likewise. - -2023-11-30 Tsukasa OI - - * gcc.target/riscv/predef-13.c: Fix 'E' extension version to test. - -2023-11-30 Juzhe-Zhong - - PR target/112431 - * gcc.target/riscv/rvv/base/pr112431-10.c: New test. - * gcc.target/riscv/rvv/base/pr112431-11.c: New test. - * gcc.target/riscv/rvv/base/pr112431-12.c: New test. - * gcc.target/riscv/rvv/base/pr112431-13.c: New test. - * gcc.target/riscv/rvv/base/pr112431-14.c: New test. - * gcc.target/riscv/rvv/base/pr112431-15.c: New test. - * gcc.target/riscv/rvv/base/pr112431-7.c: New test. - * gcc.target/riscv/rvv/base/pr112431-8.c: New test. - * gcc.target/riscv/rvv/base/pr112431-9.c: New test. - -2023-11-30 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/unop_v_constraint-2.c: Adapt test. - * gcc.target/riscv/rvv/base/pr112431-4.c: New test. - * gcc.target/riscv/rvv/base/pr112431-5.c: New test. - * gcc.target/riscv/rvv/base/pr112431-6.c: New test. - -2023-11-29 Marek Polacek - - PR c++/106650 - * g++.dg/cpp0x/constexpr-array-ptr6.C: Remove dg-error. - * g++.dg/cpp0x/constexpr-ref12.C: Likewise. - * g++.dg/cpp0x/constexpr-ref2.C: Adjust dg-error. - * g++.dg/cpp0x/noexcept34.C: Remove dg-error. - * g++.dg/cpp1y/lambda-generic-const10.C: Likewise. - * g++.dg/cpp0x/constexpr-ref13.C: New test. - * g++.dg/cpp1z/constexpr-ref1.C: New test. - * g++.dg/cpp1z/constexpr-ref2.C: New test. - * g++.dg/cpp2a/constexpr-ref1.C: New test. - -2023-11-29 Patrick Palka - - PR c++/112765 - * g++.dg/warn/Wparentheses-33.C: Compile with -Wparentheses. - -2023-11-29 Patrick Palka - - PR c++/112765 - * g++.dg/warn/Wparentheses-33.C: New test. - -2023-11-29 David Faust - - * gcc.target/bpf/core-builtin-enumvalue-opt.c: Change dg-final - scans to not assume a specific comment character. - * gcc.target/bpf/core-builtin-enumvalue.c: Likewise. - * gcc.target/bpf/core-builtin-type-based.c: Likewise. - * gcc.target/bpf/core-builtin-type-id.c: Likewise. - -2023-11-29 Andrew MacLeod - - PR tree-optimization/111922 - * gcc.dg/pr111922.c: New. - -2023-11-29 Martin Jambor - - PR tree-optimization/112711 - PR tree-optimization/112721 - * g++.dg/tree-ssa/pr112711.C: New test. - * gcc.dg/tree-ssa/pr112721.c: Likewise. - -2023-11-29 Thomas Schwinge - - * lib/scanoffload.exp (only_for_offload_target): New 'proc'. - -2023-11-29 Rainer Orth - - PR testsuite/112729 - * lib/target-supports.exp (check_effective_target_cfi): New proc. - * gcc.target/i386/apx-interrupt-1.c: Require cfi instead of - skipping on *-*-darwin*. - * gcc.target/i386/apx-push2pop2_force_drap-1.c: Likewise. - * gcc.target/i386/apx-push2pop2-1.c: Likewise. - -2023-11-29 Thomas Schwinge - - * g++.dg/cpp26/static_assert1.C: Fix for '-fno-exceptions' - configurations. - -2023-11-29 Thomas Schwinge - - * g++.dg/ext/has-feature.C: Adjust for default-'-fno-exceptions', - '-fno-rtti' configurations. - -2023-11-29 Jakub Jelinek - - PR middle-end/112733 - * gcc.dg/pr112733.c: New test. - -2023-11-29 Iain Sandoe - - * lib/target-supports.exp: Test an asm line that fails on broken - Darwin assembler versions. - -2023-11-29 Rainer Orth - - * g++.dg/opt/devirt2.C: Adjust scan-assembler-count on sparc for - removal of -inline from regexp. Update comment. - -2023-11-29 Juzhe-Zhong - kito-cheng - kito-cheng - - PR target/112431 - * gcc.target/riscv/rvv/base/pr112431-1.c: New test. - * gcc.target/riscv/rvv/base/pr112431-2.c: New test. - * gcc.target/riscv/rvv/base/pr112431-3.c: New test. - -2023-11-29 Rainer Orth - - PR testsuite/112728 - * lib/scanasm.exp (dg-scan): Allow for double-quoted LTO section names. - (scan-assembler-times): Likewise. - (scan-assembler-dem-not): Likewise. - -2023-11-29 Jose E. Marchesi - - * gcc.c-torture/compile/libcall-2.c: Remove. - * gcc.target/i386/libcall-1.c: Moved from - gcc.c-torture/compile/libcall-2.c and adapted to use - effective-target for int128_t. - -2023-11-29 Jakub Jelinek - - PR bootstrap/111601 - * g++.dg/opt/pr111601.C: New test. - -2023-11-29 Xi Ruoyao - - * gcc.target/loongarch/vect-frint-scalar.c: New test. - * gcc.target/loongarch/vect-frint-scalar-no-inexact.c: New test. - -2023-11-29 Xi Ruoyao - - * gcc.target/loongarch/vect-rotr.c: New test. - -2023-11-29 Xi Ruoyao - - * gcc.target/loongarch/vect-muh.c: New test. - -2023-11-29 Xi Ruoyao - - PR target/112578 - * gcc.target/loongarch/vect-frint.c: New test. - * gcc.target/loongarch/vect-frint-no-inexact.c: New test. - * gcc.target/loongarch/vect-ftint.c: New test. - * gcc.target/loongarch/vect-ftint-no-inexact.c: New test. - -2023-11-29 Alexandre Oliva - - * gcc.dg/hardbool-err.c: New. - * gcc.dg/hardbool-trap.c: New. - * gcc.dg/torture/hardbool.c: New. - * gcc.dg/torture/hardbool-s.c: New. - * gcc.dg/torture/hardbool-us.c: New. - * gcc.dg/torture/hardbool-i.c: New. - * gcc.dg/torture/hardbool-ul.c: New. - * gcc.dg/torture/hardbool-ll.c: New. - * gcc.dg/torture/hardbool-5a.c: New. - * gcc.dg/torture/hardbool-s-5a.c: New. - * gcc.dg/torture/hardbool-us-5a.c: New. - * gcc.dg/torture/hardbool-i-5a.c: New. - * gcc.dg/torture/hardbool-ul-5a.c: New. - * gcc.dg/torture/hardbool-ll-5a.c: New. - -2023-11-29 Alexandre Oliva - - * g++.dg/warn/Wuse-after-free3.C: xfail on arm_eabi. - -2023-11-29 Alexandre Oliva - - * gcc.dg/torture/inline-mem-cmp-1.c: New. - * gcc.dg/torture/inline-mem-cpy-1.c: New. - * gcc.dg/torture/inline-mem-cpy-cmp-1.c: New. - * gcc.dg/torture/inline-mem-move-1.c: New. - * gcc.dg/torture/inline-mem-set-1.c: New. - -2023-11-29 Pan Li - - PR target/112743 - * gcc.target/riscv/rvv/base/pr112743-1.c: New test. - -2023-11-29 Jose E. Marchesi - - * gcc.c-torture/compile/libcall-2.c: Skip test in -m32. - -2023-11-29 Hongyu Wang - - PR target/112729 - * gcc.target/i386/apx-interrupt-1.c: Add -fomit-frame-pointer. - * gcc.target/i386/apx-push2pop2-1.c: Likewise. - * gcc.target/i386/apx-push2pop2_force_drap-1.c: Likewise. - -2023-11-28 Jason Merrill - - PR c++/94264 - PR c++/53220 - * c-c++-common/array-lit.c: Adjust. - * g++.dg/cpp1z/array-prvalue1.C: New test. - * g++.dg/ext/complit17.C: New test. - -2023-11-28 Roger Sayle - - * gcc.target/arc/jli-1.c: Update dg-final whitespace. - * gcc.target/arc/jli-2.c: Likewise. - * gcc.target/arc/naked-1.c: Likewise. - * gcc.target/arc/naked-2.c: Likewise. - * gcc.target/arc/tmac-1.c: Likewise. - * gcc.target/arc/tmac-2.c: Likewise. - -2023-11-28 Richard Biener - - PR middle-end/112741 - * gcc.dg/ubsan/pr112741.c: New testcase. - -2023-11-28 Cupertino Miranda - - Revert: - 2023-11-28 Cupertino Miranda - - * gcc.target/bpf/atomic-cmpxchg-2.c: Adapted. - * gcc.target/bpf/atomic-fetch-op-3.c: Adapted. - * gcc.target/bpf/atomic-op-3.c: Adapted. - * gcc.target/bpf/atomic-xchg-2.c: Adapted. - * gcc.target/bpf/diag-sdiv.c: Adapted. - * gcc.target/bpf/diag-smod.c: Adapted. - -2023-11-28 Andrew Jenner - Tobias Burnus - - PR fortran/110415 - * gfortran.dg/pr110415.f90: New test. - * gfortran.dg/asan/pr110415-2.f90: New test. - * gfortran.dg/asan/pr110415-3.f90: New test. - -2023-11-28 Jose E. Marchesi - - PR target/109253 - * gcc.target/bpf/divmod-libcall-1.c: New test. - * gcc.target/bpf/divmod-libcall-2.c: Likewise. - * gcc.c-torture/compile/libcall-2.c: Likewise. - -2023-11-28 Cupertino Miranda - - * gcc.dg/debug/btf/btf-enum-small.c: Added test. - -2023-11-28 Cupertino Miranda - - * gcc.target/bpf/atomic-cmpxchg-2.c: Adapted. - * gcc.target/bpf/atomic-fetch-op-3.c: Adapted. - * gcc.target/bpf/atomic-op-3.c: Adapted. - * gcc.target/bpf/atomic-xchg-2.c: Adapted. - * gcc.target/bpf/diag-sdiv.c: Adapted. - * gcc.target/bpf/diag-smod.c: Adapted. - -2023-11-28 Rainer Orth - - * gcc.dg/pr111409.c: Allow for " before .debug_macro. - Quote literals dots. - -2023-11-28 Juzhe-Zhong - - PR target/112694 - * gcc.target/riscv/rvv/autovec/pr112694-2.c: New test. - * gcc.target/riscv/rvv/autovec/pr112694-3.c: New test. - -2023-11-28 Jakub Jelinek - - PR middle-end/111754 - * gcc.dg/vect/pr111754.c: Use dg-additional-options rather than - dg-options, add -Wno-psabi and use -fdump-tree-forwprop1 rather than - -fdump-tree-optimized. Scan forwprop1 dump rather than optimized and - scan for either direct return or setting of to the vector. - -2023-11-28 Jakub Jelinek - - PR tree-optimization/112719 - * gcc.dg/bitint-43.c: New test. - -2023-11-28 Jakub Jelinek - - PR tree-optimization/112719 - * gcc.dg/pr112719.c: New file. - -2023-11-28 Lewis Hyatt - - PR preprocessor/112701 - * gcc.dg/cpp/expr.c: Add additional tests to cover divide by 0 in an - unevaluated context, where the unsignedness still matters. - -2023-11-28 Juzhe-Zhong - - PR target/112713 - * gcc.target/riscv/rvv/vsetvl/pr112713-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/pr112713-2.c: New test. - -2023-11-27 Andrew Pinski - - * gcc.target/aarch64/csinc-3.c: New test. - -2023-11-27 Andrew Pinski - - PR testsuite/112689 - * gcc.dg/tree-prof/time-profiler-3.c: Add -fno-ipa-vrp. - -2023-11-27 Prathamesh Kulkarni - Richard Sandiford - - PR middle-end/111754 - * gcc.target/aarch64/sve/slp_3.c: Adjust code-gen. - * gcc.target/aarch64/sve/slp_4.c: Likewise. - * gcc.dg/vect/pr111754.c: New test. - -2023-11-27 Szabolcs Nagy - - * gcc.target/aarch64/aapcs64/func-ret-1.c: Disable branch-protection. - * gcc.target/aarch64/aapcs64/func-ret-2.c: Likewise. - * gcc.target/aarch64/aapcs64/func-ret-3.c: Likewise. - * gcc.target/aarch64/aapcs64/func-ret-4.c: Likewise. - * gcc.target/aarch64/aapcs64/func-ret-64x1_1.c: Likewise. - -2023-11-27 Szabolcs Nagy - - * gcc.target/aarch64/eh_return-2.c: New test. - * gcc.target/aarch64/eh_return-3.c: New test. - -2023-11-27 Szabolcs Nagy - - * gcc.target/aarch64/return_address_sign_1.c: Move func4 to ... - * gcc.target/aarch64/return_address_sign_2.c: ... here and fix the - scan asm check. - * gcc.target/aarch64/return_address_sign_b_1.c: Move func4 to ... - * gcc.target/aarch64/return_address_sign_b_2.c: ... here and fix the - scan asm check. - -2023-11-27 Richard Sandiford - - PR target/106326 - * gcc.target/aarch64/sve/acle/general/pr106326_1.c: New test. - -2023-11-27 Richard Biener - - PR tree-optimization/112653 - * gcc.dg/tree-ssa/pta-return-1.c: New testcase. - -2023-11-27 Richard Biener - Richard Sandiford - - * g++.dg/vect/pr36648.cc: Remove XFAIL for VLA load-lanes. - -2023-11-27 Alex Coplan - Iain Sandoe - - PR c++/60512 - * c-c++-common/has-feature-common.c: New test. - * c-c++-common/has-feature-pedantic.c: New test. - * g++.dg/ext/has-feature.C: New test. - * gcc.dg/asan/has-feature-asan.c: New test. - * gcc.dg/has-feature.c: New test. - * gcc.dg/ubsan/has-feature-ubsan.c: New test. - * obj-c++.dg/has-feature.mm: New test. - * objc.dg/has-feature.m: New test. - -2023-11-27 Richard Biener - - PR tree-optimization/112706 - * gcc.dg/tree-ssa/pr112706.c: New testcase. - -2023-11-27 Stefan Schulze Frielinghaus - - * gcc.target/s390/zvector/vec-nnpa-fp16-convert.c: Replace V8HI - types with UV8HI. - * gcc.target/s390/zvector/vec-nnpa-fp32-convert-1.c: Dito. - * gcc.target/s390/zvector/vec_convert_from_fp16.c: Dito. - * gcc.target/s390/zvector/vec_convert_to_fp16.c: Dito. - * gcc.target/s390/zvector/vec_extend_to_fp32_hi.c: Dito. - * gcc.target/s390/zvector/vec_extend_to_fp32_lo.c: Dito. - * gcc.target/s390/zvector/vec_round_from_fp32.c: Dito. - -2023-11-27 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-1.c: Adapt test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-9.c: Ditto. - -2023-11-27 Tsukasa OI - - * gcc.target/riscv/predef-1.c: Test for __riscv_64e. - * gcc.target/riscv/predef-2.c: Ditto. - * gcc.target/riscv/predef-3.c: Ditto. - * gcc.target/riscv/predef-4.c: Ditto. - * gcc.target/riscv/predef-5.c: Ditto. - * gcc.target/riscv/predef-6.c: Ditto. - * gcc.target/riscv/predef-7.c: Ditto. - * gcc.target/riscv/predef-8.c: Ditto. - * gcc.target/riscv/predef-9.c: New test for RV64E and LP64E, - based on predef-7.c. - -2023-11-27 Jose E. Marchesi - - * gcc.target/bpf/helper-bind.c: Do not include bpf-helpers.h. - * gcc.target/bpf/helper-skb-ancestor-cgroup-id.c: Likewise, and - renamed from skb-ancestor-cgroup-id.c. - * gcc.target/bpf/helper-bpf-redirect.c: Remove. - * 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. - -2023-11-27 Guo Jie - - * gcc.target/loongarch/imm-load1.c: Change old check. - -2023-11-26 Hans-Peter Nilsson - - * gcc.dg/uninit-pred-9_b.c: Remove xfail for line 20. Pass - --param=logical-op-non-short-circuit=0. Comment why. - -2023-11-26 Hans-Peter Nilsson - - * gcc.dg/uninit-pred-9_b.c: Remove xfail for MMIX from line 23. - -2023-11-26 Harald Anlauf - - PR fortran/111880 - * gfortran.dg/pr111880.f90: New test. - -2023-11-26 John David Anglin - - * gcc.dg/analyzer/strndup-1.c: Skip on hppa*-*-hpux*. - -2023-11-26 John David Anglin - - * gcc.dg/analyzer/fd-glibc-datagram-client.c: Skip on hppa*-*-hpux*. - * gcc.dg/analyzer/fd-glibc-datagram-socket.c: Likewise. - -2023-11-26 John David Anglin - - * g++.dg/pr104869.C: Add attribute visibility default to - main prototype. - -2023-11-26 John David Anglin - - * g++.dg/modules/bad-mapper-1.C: Add hppa*-*-hpux* to dg-error - "this-will-not-work" targets. - -2023-11-26 Francois-Xavier Coudert - - * gcc.target/i386/cf_check-6.c: Only run on Linux. - -2023-11-26 Francois-Xavier Coudert - - * gcc.target/i386/pr112686.c: Add a requirement for split_stack. - -2023-11-26 Juzhe-Zhong - - PR target/112599 - * gcc.target/riscv/rvv/base/vf_avl-1.c: Adapt test. - * gcc.target/riscv/rvv/autovec/pr112599-3.c: New test. - -2023-11-26 Andrew Pinski - - PR testsuite/112691 - * gcc.dg/vla-1.c: Add -fno-ipa-vrp. - Remove noipa from f1. - -2023-11-26 Andrew Pinski - - PR testsuite/112688 - * gcc.target/aarch64/simd/vmulx.x (foo32): Mark as noipa rather - than noinline. - (foo4): Likewise. - -2023-11-26 Andrew Pinski - - PR testsuite/108321 - * g++.dg/contracts/contracts-tmpl-spec2.C: Add -fsigned-char - to options. - -2023-11-25 Andrew Pinski - - PR testsuite/112688 - * gcc.target/aarch64/movk.c: Add noipa on dummy_number_generator - and remove -fno-inline option. - -2023-11-25 Jakub Jelinek - - PR target/111408 - * gcc.c-torture/execute/pr111408.c: New test. - -2023-11-25 Andrew Pinski - Jakub Jelinek - - PR target/109977 - * gcc.dg/pr109977.c: New test. - -2023-11-25 Nathaniel Shead - - * g++.dg/modules/using-10.C: New test. - * g++.dg/modules/using-enum-2.C: New test. - -2023-11-25 Nathaniel Shead - - PR c++/102341 - * g++.dg/modules/export-1.C: Adjust test. - * g++.dg/modules/export-2_a.C: New test. - * g++.dg/modules/export-2_b.C: New test. - -2023-11-24 Lewis Hyatt - - PR pch/112319 - * g++.dg/pch/pr112319.C: New test. - * g++.dg/pch/pr112319.Hs: New test. - * gcc.dg/pch/pr112319.c: New test. - * gcc.dg/pch/pr112319.hs: New test. - -2023-11-24 Martin Jambor - - PR middle-end/109849 - * g++.dg/tree-ssa/pr109849.C: New test. - * g++.dg/tree-ssa/sra-eh-1.C: Likewise. - * gcc.dg/tree-ssa/pr109849.c: Likewise. - * gcc.dg/tree-ssa/sra-longjmp-1.c: Likewise. - * gfortran.dg/pr43984.f90: Added -fno-tree-sra to dg-options. - -2023-11-24 Uros Bizjak - - PR target/112686 - * gcc.target/i386/pr112686.c: New test. - -2023-11-24 Tobias Burnus - - * c-c++-common/gomp/depobj-3.c: New test. - * gfortran.dg/gomp/depobj-3.f90: New test. - -2023-11-24 Nathaniel Shead - - PR c++/99232 - * g++.dg/modules/pr99232_a.C: New test. - * g++.dg/modules/pr99232_b.C: New test. - -2023-11-24 Juzhe-Zhong - - PR target/112694 - * gcc.target/riscv/rvv/autovec/pr112694-1.c: New test. - -2023-11-24 Jakub Jelinek - - PR target/112681 - * gcc.target/i386/sse4-pr112681.c: New test. - -2023-11-24 Jakub Jelinek - - PR tree-optimization/112673 - * gcc.dg/pr112673.c: New test. - -2023-11-24 Jakub Jelinek - - PR middle-end/112679 - * gcc.dg/bitint-42.c: New test. - -2023-11-24 Jakub Jelinek - - PR middle-end/112668 - * gcc.dg/bitint-40.c: New test. - -2023-11-24 Jakub Jelinek - - PR c++/112619 - * g++.dg/eh/pr112619.C: New test. - -2023-11-24 Juzhe-Zhong - - PR target/112599 - * gcc.target/riscv/rvv/autovec/pr112599-2.c: New test. - -2023-11-24 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-4.c: Adapt test. - * gcc.target/riscv/rvv/autovec/vls/perm-4.c: Ditto. - -2023-11-24 Nathaniel Shead - - PR c++/107398 - * g++.dg/modules/lambda-6_a.C: New test. - * g++.dg/modules/lambda-6_b.C: New test. - -2023-11-24 Nathaniel Shead - - PR c++/98885 - * g++.dg/modules/export-1.C: Adjust error messages. Remove - xfails for working case. Add new test case. - -2023-11-23 John David Anglin - - * g++.dg/modules/bad-mapper-1.C: Add hppa*-*-hpux* to dg-error - "-:failed mapper handshake communication" targets. - -2023-11-23 John David Anglin - - * gcc.dg/analyzer/fd-4.c: Define _MODE_T on hpux. - -2023-11-23 John David Anglin - - * g++.dg/pr104869.C: Export main on hpux. - -2023-11-23 Iain Sandoe - - * lib/scanasm.exp: Allow multiple function start symbols, - taking the last as the function name. - -2023-11-23 Harald Anlauf - - PR fortran/104819 - * gfortran.dg/assumed_rank_10.f90: Add MOLD argument to NULL(). - * gfortran.dg/assumed_rank_8.f90: Likewise. - -2023-11-23 Harald Anlauf - - PR fortran/112609 - * gfortran.dg/system_clock_1.f90: Add option -std=f2003. - * gfortran.dg/system_clock_3.f08: Add option -std=f2008. - * gfortran.dg/system_clock_4.f90: New test. - -2023-11-23 John David Anglin - - * g++.dg/cpp0x/initlist-const1.C: xfail scan-assembler-not - check on hppa*-*-hpux*. - -2023-11-23 John David Anglin - - * c-c++-common/Wattributes.c: Don't skip check for warning - at line 411 in Wattributes.c on hppa*64*-*-*. - -2023-11-23 Marek Polacek - - * gcc.misc-tests/help.exp: Test -fhardened. - * c-c++-common/fhardened-1.S: New test. - * c-c++-common/fhardened-1.c: New test. - * c-c++-common/fhardened-10.c: New test. - * c-c++-common/fhardened-11.c: New test. - * c-c++-common/fhardened-12.c: New test. - * c-c++-common/fhardened-13.c: New test. - * c-c++-common/fhardened-14.c: New test. - * c-c++-common/fhardened-15.c: New test. - * c-c++-common/fhardened-2.c: New test. - * c-c++-common/fhardened-3.c: New test. - * c-c++-common/fhardened-4.c: New test. - * c-c++-common/fhardened-5.c: New test. - * c-c++-common/fhardened-6.c: New test. - * c-c++-common/fhardened-7.c: New test. - * c-c++-common/fhardened-8.c: New test. - * c-c++-common/fhardened-9.c: New test. - * gcc.target/i386/cf_check-6.c: New test. - -2023-11-23 Maciej W. Rozycki - - * lib/scanasm.exp (scan-assembler-times): Remove the `-inline' - option to `regexp' and the wrapping `llength' call. - -2023-11-23 Maciej W. Rozycki - - * gcc.target/aarch64/ccmp_1.c: Use non-capturing parentheses - with `scan-assembler-times'. - -2023-11-23 Maciej W. Rozycki - - * gcc.target/arm/pr53447-5.c: Use non-capturing parentheses with - `scan-assembler-times'. - -2023-11-23 Uros Bizjak - - PR target/112672 - * gcc.target/i386/pr112672.c: New test. - -2023-11-23 Uros Bizjak - - PR target/89316 - * g++.target/i386/pr89316.C: New test. - * gcc.target/i386/pr112605-1.c: New test. - * gcc.target/i386/pr112605-2.c: New test. - * gcc.target/i386/pr112605.c: New test. - -2023-11-23 Juergen Christ - - * gcc.target/s390/ccor.c: New test. - -2023-11-23 Juergen Christ - - * gcc.target/s390/int128load.c: New test. - -2023-11-23 Di Zhao - - * gcc.dg/pr110279-1.c: New test. - -2023-11-23 Juzhe-Zhong - - PR target/112599 - PR target/112670 - * gcc.target/riscv/rvv/autovec/pr112599-1.c: New test. - -2023-11-23 Jakub Jelinek - - PR middle-end/112336 - * gcc.dg/bitint-41.c: New test. - -2023-11-23 Jonathan Wakely - - PR libstdc++/110879 - * g++.dg/opt/pr110879.C: Require C++11 or later. - -2023-11-23 Jakub Jelinek - - * gcc.dg/builtin-stdc-bit-1.c: New test. - * gcc.dg/builtin-stdc-bit-2.c: New test. - -2023-11-23 Jakub Jelinek - - PR c++/110348 - * g++.dg/cpp26/static_assert1.C: New test. - * g++.dg/cpp26/feat-cxx26.C (__cpp_static_assert): Expect - 202306L rather than 201411L. - * g++.dg/cpp0x/udlit-error1.C: Expect different diagnostics for - static_assert with user-defined literal. - -2023-11-23 Pan Li - - PR target/111720 - * gcc.target/riscv/rvv/base/pr111720-0.c: New test. - * gcc.target/riscv/rvv/base/pr111720-1.c: New test. - * gcc.target/riscv/rvv/base/pr111720-10.c: New test. - * gcc.target/riscv/rvv/base/pr111720-2.c: New test. - * gcc.target/riscv/rvv/base/pr111720-3.c: New test. - * gcc.target/riscv/rvv/base/pr111720-4.c: New test. - * gcc.target/riscv/rvv/base/pr111720-5.c: New test. - * gcc.target/riscv/rvv/base/pr111720-6.c: New test. - * gcc.target/riscv/rvv/base/pr111720-7.c: New test. - * gcc.target/riscv/rvv/base/pr111720-8.c: New test. - * gcc.target/riscv/rvv/base/pr111720-9.c: New test. - -2023-11-23 Hans-Peter Nilsson - - PR testsuite/106120 - * g++.dg/warn/Wstringop-overflow-4.C:144 XFAIL bogus warning for - lp64 targets with c++98. - -2023-11-22 Patrick Palka - - PR c++/112633 - * g++.dg/cpp0x/alias-decl-75.C: New test. - -2023-11-22 Iain Sandoe - - * lib/plugin-support.exp: Update the expected path to an - in-tree build of libintl. - -2023-11-22 Iain Sandoe - Richard Sandiford - - * lib/scanasm.exp: Initial handling for Mach-O function body scans. - -2023-11-22 Richard Biener - - PR tree-optimization/112344 - * gcc.dg/torture/pr112344.c: New testcase. - -2023-11-22 Florian Weimer - - * gcc.misc-tests/linkage-y.c (puts): Declare. - (main): Add int return type and return 0. - -2023-11-22 Juzhe-Zhong - - PR target/112598 - * gcc.target/riscv/rvv/autovec/pr112598-3.c: New test. - -2023-11-22 Tamar Christina - - * gcc.target/aarch64/uxtl-combine-4.c: Fix typo. - * gcc.target/aarch64/uxtl-combine-5.c: Likewise. - * gcc.target/aarch64/uxtl-combine-6.c: Likewise. - -2023-11-22 Jakub Jelinek - - PR target/112518 - * gcc.target/i386/bmi2-pr112518.c: New test. - -2023-11-22 Xi Ruoyao - - * gcc.target/loongarch/vect-shuf-fp.c: New test. - -2023-11-22 Hongyu Wang - - * gcc.target/i386/apx-push2pop2-1.c: Adjust output scan. - * gcc.target/i386/apx-push2pop2_force_drap-1.c: Likewise. - -2023-11-22 Juzhe-Zhong - - PR target/112598 - * gcc.target/riscv/rvv/autovec/pr112598-2.c: New test. - -2023-11-22 Maciej W. Rozycki - - PR target/111815 - * gcc.dg/torture/pr111815.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/adddifne.c: New test. - * gcc.target/riscv/addsifne.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/adddibfne.c: New test. - * gcc.target/riscv/addsibfne.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdifeq-sfb.c: New test. - * gcc.target/riscv/movdifeq-thead.c: New test. - * gcc.target/riscv/movdifeq-ventana.c: New test. - * gcc.target/riscv/movdifeq-zicond.c: New test. - * gcc.target/riscv/movdifeq.c: New test. - * gcc.target/riscv/movsifeq-sfb.c: New test. - * gcc.target/riscv/movsifeq-thead.c: New test. - * gcc.target/riscv/movsifeq-ventana.c: New test. - * gcc.target/riscv/movsifeq-zicond.c: New test. - * gcc.target/riscv/movsifeq.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdibfeq-ventana.c: New test. - * gcc.target/riscv/movdibfeq-zicond.c: New test. - * gcc.target/riscv/movdibfeq.c: New test. - * gcc.target/riscv/movsibfeq-ventana.c: New test. - * gcc.target/riscv/movsibfeq-zicond.c: New test. - * gcc.target/riscv/movsibfeq.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/adddifeq.c: New test. - * gcc.target/riscv/adddifge.c: New test. - * gcc.target/riscv/adddifgt.c: New test. - * gcc.target/riscv/adddifle.c: New test. - * gcc.target/riscv/adddiflt.c: New test. - * gcc.target/riscv/addsifeq.c: New test. - * gcc.target/riscv/addsifge.c: New test. - * gcc.target/riscv/addsifgt.c: New test. - * gcc.target/riscv/addsifle.c: New test. - * gcc.target/riscv/addsiflt.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/adddibfeq.c: New test. - * gcc.target/riscv/adddibfge.c: New test. - * gcc.target/riscv/adddibfgt.c: New test. - * gcc.target/riscv/adddibfle.c: New test. - * gcc.target/riscv/adddibflt.c: New test. - * gcc.target/riscv/addsibfeq.c: New test. - * gcc.target/riscv/addsibfge.c: New test. - * gcc.target/riscv/addsibfgt.c: New test. - * gcc.target/riscv/addsibfle.c: New test. - * gcc.target/riscv/addsibflt.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdifge.c: New test. - * gcc.target/riscv/movdifgt.c: New test. - * gcc.target/riscv/movdifle.c: New test. - * gcc.target/riscv/movdiflt.c: New test. - * gcc.target/riscv/movdifne.c: New test. - * gcc.target/riscv/movsifge.c: New test. - * gcc.target/riscv/movsifgt.c: New test. - * gcc.target/riscv/movsifle.c: New test. - * gcc.target/riscv/movsiflt.c: New test. - * gcc.target/riscv/movsifne.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdibfge.c: New test. - * gcc.target/riscv/movdibfgt.c: New test. - * gcc.target/riscv/movdibfle.c: New test. - * gcc.target/riscv/movdibflt.c: New test. - * gcc.target/riscv/movdibfne.c: New test. - * gcc.target/riscv/movsibfge.c: New test. - * gcc.target/riscv/movsibfgt.c: New test. - * gcc.target/riscv/movsibfle.c: New test. - * gcc.target/riscv/movsibflt.c: New test. - * gcc.target/riscv/movsibfne.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdifge-sfb.c: Reject "if-conversion - succeeded through" rather than accepting it. - * gcc.target/riscv/movdifge-thead.c: Likewise. - * gcc.target/riscv/movdifge-ventana.c: Likewise. - * gcc.target/riscv/movdifge-zicond.c: Likewise. - * gcc.target/riscv/movdifgt-sfb.c: Likewise. - * gcc.target/riscv/movdifgt-thead.c: Likewise. - * gcc.target/riscv/movdifgt-ventana.c: Likewise. - * gcc.target/riscv/movdifgt-zicond.c: Likewise. - * gcc.target/riscv/movdifle-sfb.c: Likewise. - * gcc.target/riscv/movdifle-thead.c: Likewise. - * gcc.target/riscv/movdifle-ventana.c: Likewise. - * gcc.target/riscv/movdifle-zicond.c: Likewise. - * gcc.target/riscv/movdiflt-sfb.c: Likewise. - * gcc.target/riscv/movdiflt-thead.c: Likewise. - * gcc.target/riscv/movdiflt-ventana.c: Likewise. - * gcc.target/riscv/movdiflt-zicond.c: Likewise. - * gcc.target/riscv/movsifge-sfb.c: Likewise. - * gcc.target/riscv/movsifge-thead.c: Likewise. - * gcc.target/riscv/movsifge-ventana.c: Likewise. - * gcc.target/riscv/movsifge-zicond.c: Likewise. - * gcc.target/riscv/movsifgt-sfb.c: Likewise. - * gcc.target/riscv/movsifgt-thead.c: Likewise. - * gcc.target/riscv/movsifgt-ventana.c: Likewise. - * gcc.target/riscv/movsifgt-zicond.c: Likewise. - * gcc.target/riscv/movsifle-sfb.c: Likewise. - * gcc.target/riscv/movsifle-thead.c: Likewise. - * gcc.target/riscv/movsifle-ventana.c: Likewise. - * gcc.target/riscv/movsifle-zicond.c: Likewise. - * gcc.target/riscv/movsiflt-sfb.c: Likewise. - * gcc.target/riscv/movsiflt-thead.c: Likewise. - * gcc.target/riscv/movsiflt-ventana.c: Likewise. - * gcc.target/riscv/movsiflt-zicond.c: Likewise. - * gcc.target/riscv/smax-ieee.c: Also accept FLT.D. - * gcc.target/riscv/smaxf-ieee.c: Also accept FLT.S. - * gcc.target/riscv/smin-ieee.c: Also accept FGT.D. - * gcc.target/riscv/sminf-ieee.c: Also accept FGT.S. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/adddieq.c: New test. - * gcc.target/riscv/adddige.c: New test. - * gcc.target/riscv/adddigeu.c: New test. - * gcc.target/riscv/adddigt.c: New test. - * gcc.target/riscv/adddigtu.c: New test. - * gcc.target/riscv/adddile.c: New test. - * gcc.target/riscv/adddileu.c: New test. - * gcc.target/riscv/adddilt.c: New test. - * gcc.target/riscv/adddiltu.c: New test. - * gcc.target/riscv/adddine.c: New test. - * gcc.target/riscv/addsieq.c: New test. - * gcc.target/riscv/addsige.c: New test. - * gcc.target/riscv/addsigeu.c: New test. - * gcc.target/riscv/addsigt.c: New test. - * gcc.target/riscv/addsigtu.c: New test. - * gcc.target/riscv/addsile.c: New test. - * gcc.target/riscv/addsileu.c: New test. - * gcc.target/riscv/addsilt.c: New test. - * gcc.target/riscv/addsiltu.c: New test. - * gcc.target/riscv/addsine.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/adddibeq.c: New test. - * gcc.target/riscv/adddibge.c: New test. - * gcc.target/riscv/adddibgeu.c: New test. - * gcc.target/riscv/adddibgt.c: New test. - * gcc.target/riscv/adddibgtu.c: New test. - * gcc.target/riscv/adddible.c: New test. - * gcc.target/riscv/adddibleu.c: New test. - * gcc.target/riscv/adddiblt.c: New test. - * gcc.target/riscv/adddibltu.c: New test. - * gcc.target/riscv/adddibne.c: New test. - * gcc.target/riscv/addsibeq.c: New test. - * gcc.target/riscv/addsibge.c: New test. - * gcc.target/riscv/addsibgeu.c: New test. - * gcc.target/riscv/addsibgt.c: New test. - * gcc.target/riscv/addsibgtu.c: New test. - * gcc.target/riscv/addsible.c: New test. - * gcc.target/riscv/addsibleu.c: New test. - * gcc.target/riscv/addsiblt.c: New test. - * gcc.target/riscv/addsibltu.c: New test. - * gcc.target/riscv/addsibne.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdieq.c: New test. - * gcc.target/riscv/movdige.c: New test. - * gcc.target/riscv/movdigeu.c: New test. - * gcc.target/riscv/movdigt.c: New test. - * gcc.target/riscv/movdigtu.c: New test. - * gcc.target/riscv/movdile.c: New test. - * gcc.target/riscv/movdileu.c: New test. - * gcc.target/riscv/movdilt.c: New test. - * gcc.target/riscv/movdiltu.c: New test. - * gcc.target/riscv/movdine.c: New test. - * gcc.target/riscv/movsieq.c: New test. - * gcc.target/riscv/movsige.c: New test. - * gcc.target/riscv/movsigeu.c: New test. - * gcc.target/riscv/movsigt.c: New test. - * gcc.target/riscv/movsigtu.c: New test. - * gcc.target/riscv/movsile.c: New test. - * gcc.target/riscv/movsileu.c: New test. - * gcc.target/riscv/movsilt.c: New test. - * gcc.target/riscv/movsiltu.c: New test. - * gcc.target/riscv/movsine.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdibeq.c: New test. - * gcc.target/riscv/movdibge.c: New test. - * gcc.target/riscv/movdibgeu.c: New test. - * gcc.target/riscv/movdibgt.c: New test. - * gcc.target/riscv/movdibgtu.c: New test. - * gcc.target/riscv/movdible.c: New test. - * gcc.target/riscv/movdibleu.c: New test. - * gcc.target/riscv/movdiblt.c: New test. - * gcc.target/riscv/movdibltu.c: New test. - * gcc.target/riscv/movdibne.c: New test. - * gcc.target/riscv/movsibeq.c: New test. - * gcc.target/riscv/movsibge.c: New test. - * gcc.target/riscv/movsibgeu.c: New test. - * gcc.target/riscv/movsibgt.c: New test. - * gcc.target/riscv/movsibgtu.c: New test. - * gcc.target/riscv/movsible.c: New test. - * gcc.target/riscv/movsibleu.c: New test. - * gcc.target/riscv/movsiblt.c: New test. - * gcc.target/riscv/movsibltu.c: New test. - * gcc.target/riscv/movsibne.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/zbs-bext-02.c: Adjust to reject SLL rather - than AND. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdige-thead.c: New test. - * gcc.target/riscv/movdigeu-thead.c: New test. - * gcc.target/riscv/movdigt-thead.c: New test. - * gcc.target/riscv/movdigtu-thead.c: New test. - * gcc.target/riscv/movdile-thead.c: New test. - * gcc.target/riscv/movdileu-thead.c: New test. - * gcc.target/riscv/movdilt-thead.c: New test. - * gcc.target/riscv/movdiltu-thead.c: New test. - * gcc.target/riscv/movsige-thead.c: New test. - * gcc.target/riscv/movsigeu-thead.c: New test. - * gcc.target/riscv/movsigt-thead.c: New test. - * gcc.target/riscv/movsigtu-thead.c: New test. - * gcc.target/riscv/movsile-thead.c: New test. - * gcc.target/riscv/movsileu-thead.c: New test. - * gcc.target/riscv/movsilt-thead.c: New test. - * gcc.target/riscv/movsiltu-thead.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdibge-thead.c: New test. - * gcc.target/riscv/movdibgeu-thead.c: New test. - * gcc.target/riscv/movdibgt-thead.c: New test. - * gcc.target/riscv/movdibgtu-thead.c: New test. - * gcc.target/riscv/movdible-thead.c: New test. - * gcc.target/riscv/movdibleu-thead.c: New test. - * gcc.target/riscv/movdiblt-thead.c: New test. - * gcc.target/riscv/movdibltu-thead.c: New test. - * gcc.target/riscv/movsibge-thead.c: New test. - * gcc.target/riscv/movsibgeu-thead.c: New test. - * gcc.target/riscv/movsibgt-thead.c: New test. - * gcc.target/riscv/movsibgtu-thead.c: New test. - * gcc.target/riscv/movsible-thead.c: New test. - * gcc.target/riscv/movsibleu-thead.c: New test. - * gcc.target/riscv/movsiblt-thead.c: New test. - * gcc.target/riscv/movsibltu-thead.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdieq-ventana.c: New test. - * gcc.target/riscv/movdieq-zicond.c: New test. - * gcc.target/riscv/movdine-ventana.c: New test. - * gcc.target/riscv/movdine-zicond.c: New test. - * gcc.target/riscv/movsieq-ventana.c: New test. - * gcc.target/riscv/movsieq-zicond.c: New test. - * gcc.target/riscv/movsine-ventana.c: New test. - * gcc.target/riscv/movsine-zicond.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdibeq-ventana.c: New test. - * gcc.target/riscv/movdibeq-zicond.c: New test. - * gcc.target/riscv/movdibne-ventana.c: New test. - * gcc.target/riscv/movdibne-zicond.c: New test. - * gcc.target/riscv/movsibeq-ventana.c: New test. - * gcc.target/riscv/movsibeq-zicond.c: New test. - * gcc.target/riscv/movsibne-ventana.c: New test. - * gcc.target/riscv/movsibne-zicond.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_imm_imm.c: - Lower `-mbranch-cost=' setting. - * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_imm_reg.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_reg_reg.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_imm_imm.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_imm_reg.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_reg_reg.c: - Likewise. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdigtu-ventana.c: New test. - * gcc.target/riscv/movdigtu-zicond.c: New test. - * gcc.target/riscv/movdiltu-ventana.c: New test. - * gcc.target/riscv/movdiltu-zicond.c: New test. - * gcc.target/riscv/movsigtu-ventana.c: New test. - * gcc.target/riscv/movsigtu-zicond.c: New test. - * gcc.target/riscv/movsiltu-ventana.c: New test. - * gcc.target/riscv/movsiltu-zicond.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdibgtu-ventana.c: New test. - * gcc.target/riscv/movdibgtu-zicond.c: New test. - * gcc.target/riscv/movdibltu-ventana.c: New test. - * gcc.target/riscv/movdibltu-zicond.c: New test. - * gcc.target/riscv/movsibgtu-ventana.c: New test. - * gcc.target/riscv/movsibgtu-zicond.c: New test. - * gcc.target/riscv/movsibltu-ventana.c: New test. - * gcc.target/riscv/movsibltu-zicond.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdifge-sfb.c: New test. - * gcc.target/riscv/movdifge-thead.c: New test. - * gcc.target/riscv/movdifge-ventana.c: New test. - * gcc.target/riscv/movdifge-zicond.c: New test. - * gcc.target/riscv/movdifgt-sfb.c: New test. - * gcc.target/riscv/movdifgt-thead.c: New test. - * gcc.target/riscv/movdifgt-ventana.c: New test. - * gcc.target/riscv/movdifgt-zicond.c: New test. - * gcc.target/riscv/movdifle-sfb.c: New test. - * gcc.target/riscv/movdifle-thead.c: New test. - * gcc.target/riscv/movdifle-ventana.c: New test. - * gcc.target/riscv/movdifle-zicond.c: New test. - * gcc.target/riscv/movdiflt-sfb.c: New test. - * gcc.target/riscv/movdiflt-thead.c: New test. - * gcc.target/riscv/movdiflt-ventana.c: New test. - * gcc.target/riscv/movdiflt-zicond.c: New test. - * gcc.target/riscv/movdifne-sfb.c: New test. - * gcc.target/riscv/movdifne-thead.c: New test. - * gcc.target/riscv/movdifne-ventana.c: New test. - * gcc.target/riscv/movdifne-zicond.c: New test. - * gcc.target/riscv/movsifge-sfb.c: New test. - * gcc.target/riscv/movsifge-thead.c: New test. - * gcc.target/riscv/movsifge-ventana.c: New test. - * gcc.target/riscv/movsifge-zicond.c: New test. - * gcc.target/riscv/movsifgt-sfb.c: New test. - * gcc.target/riscv/movsifgt-thead.c: New test. - * gcc.target/riscv/movsifgt-ventana.c: New test. - * gcc.target/riscv/movsifgt-zicond.c: New test. - * gcc.target/riscv/movsifle-sfb.c: New test. - * gcc.target/riscv/movsifle-thead.c: New test. - * gcc.target/riscv/movsifle-ventana.c: New test. - * gcc.target/riscv/movsifle-zicond.c: New test. - * gcc.target/riscv/movsiflt-sfb.c: New test. - * gcc.target/riscv/movsiflt-thead.c: New test. - * gcc.target/riscv/movsiflt-ventana.c: New test. - * gcc.target/riscv/movsiflt-zicond.c: New test. - * gcc.target/riscv/movsifne-sfb.c: New test. - * gcc.target/riscv/movsifne-thead.c: New test. - * gcc.target/riscv/movsifne-ventana.c: New test. - * gcc.target/riscv/movsifne-zicond.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdibfge-ventana.c: New test. - * gcc.target/riscv/movdibfge-zicond.c: New test. - * gcc.target/riscv/movdibfgt-ventana.c: New test. - * gcc.target/riscv/movdibfgt-zicond.c: New test. - * gcc.target/riscv/movdibfle-ventana.c: New test. - * gcc.target/riscv/movdibfle-zicond.c: New test. - * gcc.target/riscv/movdibflt-ventana.c: New test. - * gcc.target/riscv/movdibflt-zicond.c: New test. - * gcc.target/riscv/movdibfne-ventana.c: New test. - * gcc.target/riscv/movdibfne-zicond.c: New test. - * gcc.target/riscv/movsibfge-ventana.c: New test. - * gcc.target/riscv/movsibfge-zicond.c: New test. - * gcc.target/riscv/movsibfgt-ventana.c: New test. - * gcc.target/riscv/movsibfgt-zicond.c: New test. - * gcc.target/riscv/movsibfle-ventana.c: New test. - * gcc.target/riscv/movsibfle-zicond.c: New test. - * gcc.target/riscv/movsibflt-ventana.c: New test. - * gcc.target/riscv/movsibflt-zicond.c: New test. - * gcc.target/riscv/movsibfne-ventana.c: New test. - * gcc.target/riscv/movsibfne-zicond.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdieq-thead.c: New test. - * gcc.target/riscv/movdige-ventana.c: New test. - * gcc.target/riscv/movdige-zicond.c: New test. - * gcc.target/riscv/movdigeu-ventana.c: New test. - * gcc.target/riscv/movdigeu-zicond.c: New test. - * gcc.target/riscv/movdigt-ventana.c: New test. - * gcc.target/riscv/movdigt-zicond.c: New test. - * gcc.target/riscv/movdile-ventana.c: New test. - * gcc.target/riscv/movdile-zicond.c: New test. - * gcc.target/riscv/movdileu-ventana.c: New test. - * gcc.target/riscv/movdileu-zicond.c: New test. - * gcc.target/riscv/movdilt-ventana.c: New test. - * gcc.target/riscv/movdilt-zicond.c: New test. - * gcc.target/riscv/movdine-thead.c: New test. - * gcc.target/riscv/movsieq-thead.c: New test. - * gcc.target/riscv/movsige-ventana.c: New test. - * gcc.target/riscv/movsige-zicond.c: New test. - * gcc.target/riscv/movsigeu-ventana.c: New test. - * gcc.target/riscv/movsigeu-zicond.c: New test. - * gcc.target/riscv/movsigt-ventana.c: New test. - * gcc.target/riscv/movsigt-zicond.c: New test. - * gcc.target/riscv/movsile-ventana.c: New test. - * gcc.target/riscv/movsile-zicond.c: New test. - * gcc.target/riscv/movsileu-ventana.c: New test. - * gcc.target/riscv/movsileu-zicond.c: New test. - * gcc.target/riscv/movsilt-ventana.c: New test. - * gcc.target/riscv/movsilt-zicond.c: New test. - * gcc.target/riscv/movsine-thead.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdibeq-thead.c: New test. - * gcc.target/riscv/movdibge-ventana.c: New test. - * gcc.target/riscv/movdibge-zicond.c: New test. - * gcc.target/riscv/movdibgeu-ventana.c: New test. - * gcc.target/riscv/movdibgeu-zicond.c: New test. - * gcc.target/riscv/movdibgt-ventana.c: New test. - * gcc.target/riscv/movdibgt-zicond.c: New test. - * gcc.target/riscv/movdible-ventana.c: New test. - * gcc.target/riscv/movdible-zicond.c: New test. - * gcc.target/riscv/movdibleu-ventana.c: New test. - * gcc.target/riscv/movdibleu-zicond.c: New test. - * gcc.target/riscv/movdiblt-ventana.c: New test. - * gcc.target/riscv/movdiblt-zicond.c: New test. - * gcc.target/riscv/movdibne-thead.c: New test. - * gcc.target/riscv/movsibeq-thead.c: New test. - * gcc.target/riscv/movsibge-ventana.c: New test. - * gcc.target/riscv/movsibge-zicond.c: New test. - * gcc.target/riscv/movsibgeu-ventana.c: New test. - * gcc.target/riscv/movsibgeu-zicond.c: New test. - * gcc.target/riscv/movsibgt-ventana.c: New test. - * gcc.target/riscv/movsibgt-zicond.c: New test. - * gcc.target/riscv/movsible-ventana.c: New test. - * gcc.target/riscv/movsible-zicond.c: New test. - * gcc.target/riscv/movsibleu-ventana.c: New test. - * gcc.target/riscv/movsibleu-zicond.c: New test. - * gcc.target/riscv/movsiblt-ventana.c: New test. - * gcc.target/riscv/movsiblt-zicond.c: New test. - * gcc.target/riscv/movsibne-thead.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_imm_imm.c: - Explicitly set the branch cost. - * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_imm_reg.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_reg_reg.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_imm_imm.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_imm_reg.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_reg_reg.c: - Likewise. - -2023-11-22 Maciej W. Rozycki - - * gcc.target/riscv/movdieq-sfb.c: New test. - * gcc.target/riscv/movdige-sfb.c: New test. - * gcc.target/riscv/movdigeu-sfb.c: New test. - * gcc.target/riscv/movdigt-sfb.c: New test. - * gcc.target/riscv/movdigtu-sfb.c: New test. - * gcc.target/riscv/movdile-sfb.c: New test. - * gcc.target/riscv/movdileu-sfb.c: New test. - * gcc.target/riscv/movdilt-sfb.c: New test. - * gcc.target/riscv/movdiltu-sfb.c: New test. - * gcc.target/riscv/movdine-sfb.c: New test. - * gcc.target/riscv/movsieq-sfb.c: New test. - * gcc.target/riscv/movsige-sfb.c: New test. - * gcc.target/riscv/movsigeu-sfb.c: New test. - * gcc.target/riscv/movsigt-sfb.c: New test. - * gcc.target/riscv/movsigtu-sfb.c: New test. - * gcc.target/riscv/movsile-sfb.c: New test. - * gcc.target/riscv/movsileu-sfb.c: New test. - * gcc.target/riscv/movsilt-sfb.c: New test. - * gcc.target/riscv/movsiltu-sfb.c: New test. - * gcc.target/riscv/movsine-sfb.c: New test. - -2023-11-22 Maciej W. Rozycki - - * gcc.dg/torture/addieq.c: New test. - * gcc.dg/torture/addifeq.c: New test. - * gcc.dg/torture/addifge.c: New test. - * gcc.dg/torture/addifgt.c: New test. - * gcc.dg/torture/addifle.c: New test. - * gcc.dg/torture/addiflt.c: New test. - * gcc.dg/torture/addifne.c: New test. - * gcc.dg/torture/addige.c: New test. - * gcc.dg/torture/addigeu.c: New test. - * gcc.dg/torture/addigt.c: New test. - * gcc.dg/torture/addigtu.c: New test. - * gcc.dg/torture/addile.c: New test. - * gcc.dg/torture/addileu.c: New test. - * gcc.dg/torture/addilt.c: New test. - * gcc.dg/torture/addiltu.c: New test. - * gcc.dg/torture/addine.c: New test. - * gcc.dg/torture/addleq.c: New test. - * gcc.dg/torture/addlfeq.c: New test. - * gcc.dg/torture/addlfge.c: New test. - * gcc.dg/torture/addlfgt.c: New test. - * gcc.dg/torture/addlfle.c: New test. - * gcc.dg/torture/addlflt.c: New test. - * gcc.dg/torture/addlfne.c: New test. - * gcc.dg/torture/addlge.c: New test. - * gcc.dg/torture/addlgeu.c: New test. - * gcc.dg/torture/addlgt.c: New test. - * gcc.dg/torture/addlgtu.c: New test. - * gcc.dg/torture/addlle.c: New test. - * gcc.dg/torture/addlleu.c: New test. - * gcc.dg/torture/addllt.c: New test. - * gcc.dg/torture/addlltu.c: New test. - * gcc.dg/torture/addlne.c: New test. - * gcc.dg/torture/movieq.c: New test. - * gcc.dg/torture/movifeq.c: New test. - * gcc.dg/torture/movifge.c: New test. - * gcc.dg/torture/movifgt.c: New test. - * gcc.dg/torture/movifle.c: New test. - * gcc.dg/torture/moviflt.c: New test. - * gcc.dg/torture/movifne.c: New test. - * gcc.dg/torture/movige.c: New test. - * gcc.dg/torture/movigeu.c: New test. - * gcc.dg/torture/movigt.c: New test. - * gcc.dg/torture/movigtu.c: New test. - * gcc.dg/torture/movile.c: New test. - * gcc.dg/torture/movileu.c: New test. - * gcc.dg/torture/movilt.c: New test. - * gcc.dg/torture/moviltu.c: New test. - * gcc.dg/torture/movine.c: New test. - * gcc.dg/torture/movleq.c: New test. - * gcc.dg/torture/movlfeq.c: New test. - * gcc.dg/torture/movlfge.c: New test. - * gcc.dg/torture/movlfgt.c: New test. - * gcc.dg/torture/movlfle.c: New test. - * gcc.dg/torture/movlflt.c: New test. - * gcc.dg/torture/movlfne.c: New test. - * gcc.dg/torture/movlge.c: New test. - * gcc.dg/torture/movlgeu.c: New test. - * gcc.dg/torture/movlgt.c: New test. - * gcc.dg/torture/movlgtu.c: New test. - * gcc.dg/torture/movlle.c: New test. - * gcc.dg/torture/movlleu.c: New test. - * gcc.dg/torture/movllt.c: New test. - * gcc.dg/torture/movlltu.c: New test. - * gcc.dg/torture/movlne.c: New test. - -2023-11-21 Thomas Schwinge - - * gcc.dg/tree-ssa/return-value-range-1.c: Fix. - -2023-11-21 Robin Dapp - - * gcc.target/aarch64/pr112406-2.c: New test. - -2023-11-21 Robin Dapp - - * gcc.target/riscv/rvv/autovec/unop/popcount.c: Adjust check. - * lib/target-supports.exp: Add riscv_zbb. - -2023-11-21 Robin Dapp - - * g++.target/riscv/rvv/base/bug-14.C: Add - dg-require-effective-target rv64. - * g++.target/riscv/rvv/base/bug-9.C: Ditto. - -2023-11-21 Robin Dapp - - * gcc.target/riscv/rvv/rvv.exp: Remove -march and -mabi from - default CFLAGS. - -2023-11-21 Patrick O'Neill - - * gfortran.dg/vect/pr107254.f90: Remove dg-do run directive. - * gfortran.dg/vect/pr85853.f90: Ditto. - * gfortran.dg/vect/vect-alias-check-1.F90: Ditto. - -2023-11-21 Richard Biener - - PR tree-optimization/112623 - * gcc.target/i386/pr112623.c: New testcase. - -2023-11-21 Iain Buclaw - - * gdc.dg/asm1.d: Adjust expected diagnostic. - -2023-11-21 Juzhe-Zhong - - PR target/112598 - * gcc.target/riscv/rvv/autovec/pr112598-1.c: New test. - -2023-11-21 Tamar Christina - - PR target/111370 - * gcc.target/aarch64/sve/cond_asrd_1.c: Updated. - * gcc.target/aarch64/sve/cond_cnot_4.c: Likewise. - * gcc.target/aarch64/sve/cond_unary_5.c: Likewise. - * gcc.target/aarch64/sve/cond_uxt_5.c: Likewise. - * gcc.target/aarch64/target_attr_13.c: Likewise. - * gcc.target/aarch64/target_attr_15.c: Likewise. - -2023-11-21 Tamar Christina - - * gcc.target/aarch64/simd/vmovl_high_1.c: Update codegen. - * gcc.target/aarch64/uxtl-combine-1.c: New test. - * gcc.target/aarch64/uxtl-combine-2.c: New test. - * gcc.target/aarch64/uxtl-combine-3.c: New test. - * gcc.target/aarch64/uxtl-combine-4.c: New test. - * gcc.target/aarch64/uxtl-combine-5.c: New test. - * gcc.target/aarch64/uxtl-combine-6.c: New test. - -2023-11-21 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/pr112438.c: Add missing dump check. - -2023-11-21 Thomas Schwinge - - * gcc.dg/tree-ssa/return-value-range-1.c: Fix. - -2023-11-21 Eric Botcazou - - * gnat.dg/warn25.adb: Add xfail. - -2023-11-21 Jakub Jelinek - - PR c/111309 - * c-c++-common/pr111309-2.c (foo): Don't expect errors for C++ with - -fshort-enums if second argument is E0. - -2023-11-21 Jakub Jelinek - - PR middle-end/112639 - * gcc.dg/torture/pr112639.c: New test. - -2023-11-21 Hongyu Wang - - * gcc.target/i386/apx-interrupt-1.c: Adjust option to restrict them - under certain subfeatures. - * gcc.target/i386/apx-push2pop2-1.c: Likewise. - * gcc.target/i386/apx-push2pop2_force_drap-1.c: Likewise. - * gcc.target/i386/apx-push2pop2_interrupt-1.c: Likewise. - * gcc.target/i386/apx-ppx-1.c: New test. - -2023-11-21 Richard Biener - - * gcc.target/arm/bfloat16_vector_typecheck_1.c: Adjust. - * gcc.target/arm/bfloat16_vector_typecheck_2.c: Likewise. - * gcc.target/aarch64/bfloat16_vector_typecheck_1.c: Likewise. - * gcc.target/aarch64/bfloat16_vector_typecheck_2.c: Likewise. - -2023-11-21 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c: Fix bug. - -2023-11-21 liuhongt - - * gcc.target/i386/pr112325-mmx-1.c: New test. - -2023-11-20 Jan Hubicka - - * g++.dg/ipa/devirt-2.C: Add noipa attribute to prevent ipa-vrp. - * g++.dg/ipa/devirt-7.C: Disable ipa-vrp. - * g++.dg/ipa/ipa-icf-2.C: Disable ipa-vrp. - * g++.dg/ipa/ipa-icf-3.C: Disable ipa-vrp. - * g++.dg/ipa/ivinline-1.C: Disable ipa-vrp. - * g++.dg/ipa/ivinline-3.C: Disable ipa-vrp. - * g++.dg/ipa/ivinline-5.C: Disable ipa-vrp. - * g++.dg/ipa/ivinline-8.C: Disable ipa-vrp. - * g++.dg/ipa/nothrow-1.C: Disable ipa-vrp. - * g++.dg/ipa/pure-const-1.C: Disable ipa-vrp. - * g++.dg/ipa/pure-const-2.C: Disable ipa-vrp. - * g++.dg/lto/inline-crossmodule-1_0.C: Disable ipa-vrp. - * gcc.c-torture/compile/pr106433.c: Add noipa attribute to prevent ipa-vrp. - * gcc.c-torture/execute/frame-address.c: Likewise. - * gcc.dg/vla-1.c: Add noipa attribute to prevent ipa-vrp. - * gcc.dg/ipa/fopt-info-inline-1.c: Disable ipa-vrp. - * gcc.dg/ipa/ipa-icf-25.c: Disable ipa-vrp. - * gcc.dg/ipa/ipa-icf-38.c: Disable ipa-vrp. - * gcc.dg/ipa/pure-const-1.c: Disable ipa-vrp. - * gcc.dg/ipa/remref-0.c: Add noipa attribute to prevent ipa-vrp. - * gcc.dg/tree-prof/time-profiler-1.c: Disable ipa-vrp. - * gcc.dg/tree-prof/time-profiler-2.c: Disable ipa-vrp. - * gcc.dg/tree-ssa/pr110269.c: Disable ipa-vrp. - * gcc.dg/tree-ssa/pr20701.c: Disable ipa-vrp. - * gcc.dg/tree-ssa/vrp05.c: Disable ipa-vrp. - * gcc.dg/tree-ssa/return-value-range-1.c: New test. - * gcc.dg/nonnull-7.c: New file. - -2023-11-20 Richard Biener - - PR tree-optimization/112618 - * gcc.dg/pr112618.c: New testcase. - -2023-11-20 Richard Biener - - PR tree-optimization/112281 - * gcc.dg/torture/pr112281-1.c: New testcase. - * gcc.dg/torture/pr112281-2.c: Likewise. - -2023-11-20 Richard Biener - - PR middle-end/112622 - * gcc.dg/pr112622.c: New testcase. - * gcc.dg/simd-2.c: Adjust. - * gcc.target/i386/vect-bfloat16-typecheck_1.c: Likewise. - * gcc.target/i386/vect-bfloat16-typecheck_2.c: Likewise. - -2023-11-20 Juzhe-Zhong - - PR target/112597 - * gcc.target/riscv/rvv/autovec/pr112597-1.c: New test. - -2023-11-20 Robin Dapp - - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-1.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-1.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-10.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-10.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-11.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-11.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-12.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-12.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-2.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-2.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-3.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-3.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-4.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-4.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-5.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-5.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-6.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-6.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-7.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-7.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-8.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-8.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-9.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-9.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-1.c: - Adjust include. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-1.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-1.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-10.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-10.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-11.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-11.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-2.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-2.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-3.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-3.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-4.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-4.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-5.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-5.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-6.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-6.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-7.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-7.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-8.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-8.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-9.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-9.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-1.c: - Adjust include. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-1.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-1.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-10.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-10.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-2.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-2.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-3.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-3.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-4.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-4.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-5.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-5.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-6.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-6.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-7.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-7.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-8.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-8.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-9.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-9.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-1.c: - Adjust include. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-1.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-1.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-10.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-10.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-3.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-2.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-4.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-4.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-5.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-5.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-6.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-6.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-7.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-7.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-8.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-8.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-9.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-9.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-2.c: Moved to... - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-2.c: ...here. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-1.c: - Adjust include. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-1.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-10.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-11.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-12.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-2.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-3.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-4.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-5.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-6.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-7.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-8.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-9.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-1.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-10.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-11.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-2.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-3.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-4.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-5.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-6.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-7.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-8.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-9.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-1.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-10.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-2.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-3.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-4.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-5.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-6.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-7.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-8.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-9.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-1.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-10.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-3.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-4.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-5.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-6.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-7.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-8.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-9.c: New test. - -2023-11-20 Christophe Lyon - - * gcc.target/arm/mve/intrinsics/vst1q_f16.c: Remove 'return'. - * 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. - -2023-11-20 Juzhe-Zhong - - * lib/target-supports.exp: Remove scalable compile option. - -2023-11-20 Jakub Jelinek - - * c-c++-common/builtin-classify-type-1.c (main): Add tests for vector - types. - -2023-11-20 Robin Dapp - - * gfortran.dg/pr112406.f90: New test. - -2023-11-20 Jakub Jelinek - - PR tree-optimization/90693 - * gcc.target/i386/pr90693.c: New test. - -2023-11-20 Alexandre Oliva - - * lib/target-supports.exp - (check_effective_target_arm_thumb1_cbz_ok): Fix prop name - cut&pasto. - -2023-11-20 Alexandre Oliva - - * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: - Expect "unaligned pointer value" warning on short_enums - targets, but not in c++. - * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: - Likewise. - -2023-11-20 Alexandre Oliva - - * gcc.dg/tree-ssa/scev-3.c: xfail on all ilp32 targets, - though some of these do pass. - * gcc.dg/tree-ssa/scev-4.c: Likewise. - * gcc.dg/tree-ssa/scev-5.c: Likewise. - -2023-11-20 Haochen Jiang - - * gcc.target/i386/avx10_1-1.c: New test. - * gcc.target/i386/avx10_1-10.c: Ditto. - * gcc.target/i386/avx10_1-11.c: Ditto. - * gcc.target/i386/avx10_1-12.c: Ditto. - * gcc.target/i386/avx10_1-13.c: Ditto. - * gcc.target/i386/avx10_1-14.c: Ditto. - * gcc.target/i386/avx10_1-15.c: Ditto. - * gcc.target/i386/avx10_1-16.c: Ditto. - * gcc.target/i386/avx10_1-17.c: Ditto. - * gcc.target/i386/avx10_1-18.c: Ditto. - * gcc.target/i386/avx10_1-19.c: Ditto. - * gcc.target/i386/avx10_1-2.c: Ditto. - * gcc.target/i386/avx10_1-20.c: Ditto. - * gcc.target/i386/avx10_1-21.c: Ditto. - * gcc.target/i386/avx10_1-22.c: Ditto. - * gcc.target/i386/avx10_1-23.c: Ditto. - * gcc.target/i386/avx10_1-3.c: Ditto. - * gcc.target/i386/avx10_1-4.c: Ditto. - * gcc.target/i386/avx10_1-5.c: Ditto. - * gcc.target/i386/avx10_1-6.c: Ditto. - * gcc.target/i386/avx10_1-7.c: Ditto. - * gcc.target/i386/avx10_1-8.c: Ditto. - * gcc.target/i386/avx10_1-9.c: Ditto. - -2023-11-20 liuhongt - - * lib/target-supports.exp (vect_logical_reduc): Add i?86-*-* - and x86_64-*-*. - -2023-11-20 liuhongt - - * gcc.target/i386/pr112325-1.c: New test. - * gcc.target/i386/pr112325-2.c: New test. - -2023-11-20 xuli - - PR target/112537 - * gcc.target/riscv/rvv/base/cpymem-strategy-1.c: New test. - * gcc.target/riscv/rvv/base/cpymem-strategy-2.c: New test. - * gcc.target/riscv/rvv/base/cpymem-strategy-3.c: New test. - * gcc.target/riscv/rvv/base/cpymem-strategy-4.c: New test. - * gcc.target/riscv/rvv/base/cpymem-strategy-5.c: New test. - * gcc.target/riscv/rvv/base/cpymem-strategy.h: New test. - -2023-11-19 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/post-ra-avl.c: New test. - -2023-11-19 Nathaniel Shead - - PR c++/99187 - * g++.dg/modules/pr99187.C: New test. - -2023-11-19 David Edelsohn - - * lib/target-supports.exp (add_options_for___float128): Only add - -mfloat128 to powerpc*-*-linux*. - -2023-11-19 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/pr112561.c: New test. - -2023-11-19 David Malcolm - - PR analyzer/107573 - * c-c++-common/analyzer/strtok-1.c: New test. - * c-c++-common/analyzer/strtok-2.c: New test. - * c-c++-common/analyzer/strtok-3.c: New test. - * c-c++-common/analyzer/strtok-4.c: New test. - * c-c++-common/analyzer/strtok-cppreference.c: New test. - -2023-11-18 Xi Ruoyao - - * gcc.target/loongarch/div-div32.c: New test. - * gcc.target/loongarch/div-no-div32.c: New test. - -2023-11-18 Francois-Xavier Coudert - - * gfortran.dg/coarray/caf.exp: Remove unused variable. - * gfortran.dg/dg.exp: Remove unused variable. - -2023-11-18 Lulu Cheng - Xi Ruoyao - - * gcc.target/loongarch/func-call-medium-5.c: If the assembler supports call36, - the test is abandoned. - * gcc.target/loongarch/func-call-medium-6.c: Likewise. - * gcc.target/loongarch/func-call-medium-7.c: Likewise. - * gcc.target/loongarch/func-call-medium-8.c: Likewise. - * lib/target-supports.exp: Added a function to see if the assembler supports - the call36 relocation. - * gcc.target/loongarch/func-call-medium-call36-1.c: New test. - * gcc.target/loongarch/func-call-medium-call36.c: New test. - -2023-11-18 David Malcolm - - PR analyzer/106147 - * c-c++-common/analyzer/gzio-2.c: Add dg-warning for infinite - loop, marked as xfail. - * c-c++-common/analyzer/infinite-loop-2.c: New test. - * c-c++-common/analyzer/infinite-loop-4.c: New test. - * c-c++-common/analyzer/infinite-loop-crc32c.c: New test. - * c-c++-common/analyzer/infinite-loop-doom-d_main-IdentifyVersion.c: - New test. - * c-c++-common/analyzer/infinite-loop-doom-v_video.c: New test. - * c-c++-common/analyzer/infinite-loop-g_error.c: New test. - * c-c++-common/analyzer/infinite-loop-linked-list.c: New test. - * c-c++-common/analyzer/infinite-recursion-inlining.c: Add - dg-warning directives for infinite loop. - * c-c++-common/analyzer/inlining-4-multiline.c: Update expected - paths for event 5 having a location. - * gcc.dg/analyzer/boxed-malloc-1.c: Add dg-warning for infinite - loop. - * gcc.dg/analyzer/data-model-20.c: Likewise. Add comment about - suspect code, and create... - * gcc.dg/analyzer/data-model-20a.c: ...this new test by cleaning - it up. - * gcc.dg/analyzer/edges-1.c: Add a placeholder statement to avoid - the "...to here" from the if stmt occurring at the "while", and - thus being treated as a bogus event. - * gcc.dg/analyzer/explode-2a.c: Add dg-warning for infinite loop. - * gcc.dg/analyzer/infinite-loop-1.c: New test. - * gcc.dg/analyzer/malloc-1.c: Add dg-warning for infinite loop. - * gcc.dg/analyzer/out-of-bounds-coreutils.c: Add TODO. - * gcc.dg/analyzer/paths-4.c: Add dg-warning for infinite loop. - * gcc.dg/analyzer/pr103892.c: Likewise. - * gcc.dg/analyzer/pr93546.c: Likewise. - -2023-11-17 Robin Dapp - - * gcc.target/aarch64/pr112406.c: New test. - * gcc.target/riscv/rvv/autovec/pr112552.c: New test. - -2023-11-17 Jakub Jelinek - - PR c++/107571 - * g++.dg/DRs/dr2406.C: New test. - -2023-11-17 Jakub Jelinek - - PR tree-optimization/112566 - PR tree-optimization/83171 - * gcc.dg/pr112566-1.c: New test. - * gcc.dg/pr112566-2.c: New test. - * gcc.target/i386/pr78057.c (foo): Pass another long long argument - and use it in __builtin_ia32_*zcnt_u64 instead of the int one. - -2023-11-17 Jakub Jelinek - - PR tree-optimization/112374 - * gcc.dg/pr112374-1.c: New test. - * gcc.dg/pr112374-2.c: New test. - * g++.dg/opt/pr112374.C: New test. - -2023-11-17 Richard Biener - - PR tree-optimization/112585 - * gcc.dg/torture/pr112585.c: New testcase. - -2023-11-17 Richard Biener - - Revert: - 2023-11-17 Richard Biener - - PR tree-optimization/112281 - * gcc.dg/torture/pr112281.c: New testcase. - -2023-11-17 Tobias Burnus - - * gfortran.dg/goacc/warn_truncated.f90: Add -std=f2018 option. - * gfortran.dg/gomp/warn_truncated.f90: Likewise. - * gfortran.dg/line_length_10.f90: Likewise. - * gfortran.dg/line_length_11.f90: Likewise. - * gfortran.dg/line_length_2.f90: Likewise. - * gfortran.dg/line_length_5.f90: Likewise. - * gfortran.dg/line_length_6.f90: Likewise. - * gfortran.dg/line_length_7.f90: Likewise. - * gfortran.dg/line_length_8.f90: Likewise. - * gfortran.dg/line_length_9.f90: Likewise. - * gfortran.dg/continuation_17.f90: New test. - * gfortran.dg/continuation_18.f90: New test. - * gfortran.dg/continuation_19.f: New test. - * gfortran.dg/line_length_12.f90: New test. - * gfortran.dg/line_length_13.f90: New test. - -2023-11-17 Georg-Johann Lay - - PR target/53372 - * gcc.target/avr/pr53372-1.c: New test. - * gcc.target/avr/pr53372-2.c: New test. - -2023-11-17 Francois-Xavier Coudert - - * gfortran.dg/coarray/caf.exp: Remove some output. - * gfortran.dg/dg.exp: Remove some output. - -2023-11-17 Xi Ruoyao - - * g++.target/loongarch/vect-copysign-negconst.C: New test. - * g++.target/loongarch/vect-copysign-negconst-run.C: New test. - -2023-11-17 Haochen Gui - - PR target/111449 - * gcc.target/powerpc/pr111449-2.c: New. - -2023-11-17 Haochen Gui - - PR target/111449 - * gcc.target/powerpc/pr111449-1.c: New. - * gcc.dg/tree-ssa/sra-17.c: Add additional options for 32-bit powerpc. - * gcc.dg/tree-ssa/sra-18.c: Likewise. - -2023-11-17 Li Wei - - * gcc.dg/pr90838.c: add clz/ctz test support on LoongArch. - -2023-11-17 Jiahao Xu - - * gcc.target/loongarch/vector/lasx/lasx-vcond-1.c: Adjust assembler times. - * gcc.target/loongarch/vector/lasx/lasx-vcond-2.c: Ditto. - * gcc.target/loongarch/vector/lsx/lsx-vcond-1.c: Ditto. - * gcc.target/loongarch/vector/lsx/lsx-vcond-2.c: Ditto. - -2023-11-16 Eric Botcazou - - * gnat.dg/varsize4.adb (Func): Initialize Byte_Read parameter. - -2023-11-16 Edwin Lu - - PR target/111557 - * gcc.target/riscv/attribute-1.c: update macro name - * gcc.target/riscv/attribute-4.c: ditto - * gcc.target/riscv/attribute-5.c: ditto - * gcc.target/riscv/predef-align-1.c: ditto - * gcc.target/riscv/predef-align-2.c: ditto - * gcc.target/riscv/predef-align-3.c: ditto - * gcc.target/riscv/predef-align-4.c: ditto - * gcc.target/riscv/predef-align-5.c: ditto - * gcc.target/riscv/predef-align-6.c: ditto - -2023-11-16 Uros Bizjak - - PR target/78904 - * gcc.target/i386/pr78904-10.c: New test. - * gcc.target/i386/pr78904-10a.c: New test. - * gcc.target/i386/pr78904-10b.c: New test. - -2023-11-16 Eric Botcazou - - * gnat.dg/varsize4.ads, gnat.dg/varsize4.adb: New test. - * gnat.dg/varsize4_pkg.ads: New helper. - -2023-11-16 Jakub Jelinek - - PR c++/112365 - * g++.dg/cpp0x/pr112365.C: New test. - -2023-11-16 Patrick Palka - - PR c++/98614 - PR c++/104802 - * g++.dg/cpp1z/nontype-auto22.C: New test. - * g++.dg/cpp2a/concepts-partial-spec14.C: New test. - -2023-11-16 Patrick Palka - - PR c++/111703 - PR c++/107939 - * g++.dg/cpp2a/concepts-fn8.C: Extend test. - * g++.dg/diagnostic/constexpr4.C: New test. - -2023-11-16 Tamar Christina - - PR tree-optimization/111878 - * gcc.dg/graphite/pr111878.c: New test. - -2023-11-16 Florian Weimer - - * gcc.c-torture/execute/931004-13.c (main): Fix mistakenly swapped - int/void types. - -2023-11-16 Kito Cheng - - * gcc.target/riscv/target-attr-01.c: New. - * gcc.target/riscv/target-attr-02.c: Ditto. - * gcc.target/riscv/target-attr-03.c: Ditto. - * gcc.target/riscv/target-attr-04.c: Ditto. - * gcc.target/riscv/target-attr-05.c: Ditto. - * gcc.target/riscv/target-attr-06.c: Ditto. - * gcc.target/riscv/target-attr-07.c: Ditto. - * gcc.target/riscv/target-attr-bad-01.c: Ditto. - * gcc.target/riscv/target-attr-bad-02.c: Ditto. - * gcc.target/riscv/target-attr-bad-03.c: Ditto. - * gcc.target/riscv/target-attr-bad-04.c: Ditto. - * gcc.target/riscv/target-attr-bad-05.c: Ditto. - * gcc.target/riscv/target-attr-bad-06.c: Ditto. - * gcc.target/riscv/target-attr-bad-07.c: Ditto. - * gcc.target/riscv/target-attr-bad-08.c: Ditto. - * gcc.target/riscv/target-attr-bad-09.c: Ditto. - * gcc.target/riscv/target-attr-bad-10.c: Ditto. - -2023-11-16 Kito Cheng - - PR target/112478 - * gcc.target/riscv/pr112478.c: New. - -2023-11-16 liuhongt - - * gcc.target/i386/pr112532.c: New test. - -2023-11-16 Jakub Jelinek - - PR target/112526 - * gcc.target/i386/bmi2-pr112526.c: New test. - -2023-11-16 Jakub Jelinek - - PR tree-optimization/112536 - * gcc.dg/pr112536.c: New test. - -2023-11-16 Richard Biener - - PR tree-optimization/112282 - * gcc.dg/torture/pr112282.c: Do not use __assert_fail. - -2023-11-16 Juzhe-Zhong - - PR middle-end/112554 - * gcc.target/riscv/rvv/autovec/pr112554.c: New test. - -2023-11-16 Marek Polacek - - PR c++/112410 - * g++.dg/cpp23/auto-fncast13.C: New test. - * g++.dg/cpp23/auto-fncast14.C: New test. - -2023-11-15 Uros Bizjak - - PR target/78904 - * gcc.target/i386/pr78904-8.c: New test. - * gcc.target/i386/pr78904-8a.c: New test. - * gcc.target/i386/pr78904-8b.c: New test. - * gcc.target/i386/pr78904-9.c: New test. - * gcc.target/i386/pr78904-9a.c: New test. - * gcc.target/i386/pr78904-9b.c: New test. - -2023-11-15 Patrick O'Neill - - * gcc.target/riscv/arch-27.c: New test. - * gcc.target/riscv/arch-28.c: New test. - -2023-11-15 Patrick Palka - - PR c++/112515 - * g++.dg/template/non-dependent30.C: New test. - -2023-11-15 Patrick Palka - - PR c++/101043 - * g++.dg/cpp2a/concepts-requires37.C: New test. - -2023-11-15 Patrick Palka - - PR c++/112427 - * g++.dg/template/non-dependent29.C: New test. - -2023-11-15 Patrick Palka - - PR c++/111703 - PR c++/112269 - * g++.dg/cpp2a/concepts-fn8.C: New test. - -2023-11-15 Roger Sayle - Thomas Schwinge - - * gcc.target/nvptx/brev-2-O2.c: Adjust. - * gcc.target/nvptx/brevll-2-O2.c: Likewise. - -2023-11-15 Thomas Schwinge - - * gcc.target/nvptx/brev-1.c: Extend. - * gcc.target/nvptx/brev-2.c: Rename to... - * gcc.target/nvptx/brev-2-O2.c: ... this, and extend. Copy to... - * gcc.target/nvptx/brev-2-O0.c: ... this, and adapt for '-O0'. - * gcc.target/nvptx/brevll-1.c: Extend. - * gcc.target/nvptx/brevll-2.c: Rename to... - * gcc.target/nvptx/brevll-2-O2.c: ... this, and extend. Copy to... - * gcc.target/nvptx/brevll-2-O0.c: ... this, and adapt for '-O0'. - -2023-11-15 Andrew Stubbs - Andrew Jenner - - * gcc.target/gcn/avgpr-mem-double.c: New test. - * gcc.target/gcn/avgpr-mem-int.c: New test. - * gcc.target/gcn/avgpr-mem-long.c: New test. - * gcc.target/gcn/avgpr-mem-short.c: New test. - * gcc.target/gcn/avgpr-spill-double.c: New test. - * gcc.target/gcn/avgpr-spill-int.c: New test. - * gcc.target/gcn/avgpr-spill-long.c: New test. - * gcc.target/gcn/avgpr-spill-short.c: New test. - -2023-11-15 Richard Biener - - PR tree-optimization/112282 - * gcc.dg/torture/pr112282.c: New testcase. - -2023-11-15 Jakub Jelinek - - * c-c++-common/asan/sanity-check-pure-c-1.c: Adjust for interceptor_ - or wrap_ substrings possibly not being emitted in newer libasan. - -2023-11-15 Xi Ruoyao - - * gcc.target/loongarch/cas-acquire.c: New test. - -2023-11-15 Richard Earnshaw - - * lib/target-supports.exp (check_effective_target_arm_arch_v6t2_hw_ok): - Rename to... - (check_effective_target_arm_arch_v6t2_hw): ... this. Fix checks. - * gcc.target/arm/acle/data-intrinsics-armv6.c: Update pre-check. - * gcc.target/arm/acle/data-intrinsics-rbit.c: Likewise. - -2023-11-15 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add trailing tests. - * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/trailing-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/trailing-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/trailing-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/trailing-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/trailing-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/trailing-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/trailing-7.c: New test. - -2023-11-15 Jakub Jelinek - - * gcc.dg/cpp/if-2.c: Adjust expected diagnostics for 16-bit targets. - -2023-11-15 Pan Li - - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-10.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-11.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-12.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-13.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-14.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-15.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-8.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-9.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c: New test. - -2023-11-15 Juzhe-Zhong - - PR target/112535 - * gcc.target/riscv/rvv/autovec/pr112535.c: New test. - -2023-11-15 Jakub Jelinek - - * g++.dg/cpp26/enum-conv1.C: New test. - * g++.dg/cpp2a/enum-conv1.C: Adjust expected diagnostics in C++26. - * g++.dg/diagnostic/enum3.C: Likewise. - * g++.dg/parse/attr3.C: Likewise. - * g++.dg/cpp0x/linkage2.C: Likewise. - -2023-11-15 Alexandre Oliva - - * g++.dg/tsan/pthread_cond_clockwait.C: Add fallback overload. - -2023-11-15 Alexandre Oliva - - * gcc.target/i386/pr95126-m32-3.c: Add - -mno-accumulate-outgoing-args. - * gcc.target/i386/pr95126-m32-4.c: Likewise. - -2023-11-14 Lewis Hyatt - - PR pch/9471 - PR pch/47857 - * g++.dg/pch/main-file-warnings.C: New test. - * g++.dg/pch/main-file-warnings.Hs: New test. - * gcc.dg/pch/main-file-warnings.c: New test. - * gcc.dg/pch/main-file-warnings.hs: New test. - -2023-11-14 David Malcolm - - PR analyzer/103533 - * c-c++-common/analyzer/attr-tainted_args-1.c: Remove use of - -fanalyzer-checker=taint. - * c-c++-common/analyzer/fread-1.c: Likewise. - * c-c++-common/analyzer/pr104029.c: Likewise. - * gcc.dg/analyzer/pr93032-mztools-signed-char.c: Add params to - work around state explosion. - * gcc.dg/analyzer/pr93032-mztools-unsigned-char.c: Likewise. - * gcc.dg/analyzer/pr93382.c: Remove use of - -fanalyzer-checker=taint. - * gcc.dg/analyzer/switch-enum-taint-1.c: Likewise. - * gcc.dg/analyzer/taint-CVE-2011-2210-1.c: Likewise. - * gcc.dg/analyzer/taint-CVE-2020-13143-1.c: Likewise. - * gcc.dg/analyzer/taint-CVE-2020-13143-2.c: Likewise. - * gcc.dg/analyzer/taint-CVE-2020-13143.h: Likewise. - * gcc.dg/analyzer/taint-alloc-1.c: Likewise. - * gcc.dg/analyzer/taint-alloc-2.c: Likewise. - * gcc.dg/analyzer/taint-alloc-3.c: Likewise. - * gcc.dg/analyzer/taint-alloc-4.c: Likewise. - * gcc.dg/analyzer/taint-alloc-5.c: Likewise. - * gcc.dg/analyzer/taint-assert-BUG_ON.c: Likewise. - * gcc.dg/analyzer/taint-assert-macro-expansion.c: Likewise. - * gcc.dg/analyzer/taint-assert-system-header.c: Likewise. - * gcc.dg/analyzer/taint-assert.c: Likewise. - * gcc.dg/analyzer/taint-divisor-1.c: Likewise. - * gcc.dg/analyzer/taint-divisor-2.c: Likewise. - * gcc.dg/analyzer/taint-merger.c: Likewise. - * gcc.dg/analyzer/taint-ops.c: Delete this test: it was a - duplicate of material in operations.c and data-model-1.c, with - -fanalyzer-checker=taint added. - * gcc.dg/analyzer/taint-read-index-1.c: Remove use of - -fanalyzer-checker=taint. - * gcc.dg/analyzer/taint-read-offset-1.c: Likewise. - * gcc.dg/analyzer/taint-realloc.c: Likewise. Add missing - dg-warning for leak now that the malloc state machine is also - active. - * gcc.dg/analyzer/taint-size-1.c: Remove use of - -fanalyzer-checker=taint. - * gcc.dg/analyzer/taint-size-access-attr-1.c: Likewise. - * gcc.dg/analyzer/taint-write-index-1.c: Likewise. - * gcc.dg/analyzer/taint-write-offset-1.c: Likewise. - * gcc.dg/analyzer/torture/taint-read-index-2.c: Likewise. - * gcc.dg/analyzer/torture/taint-read-index-3.c: Likewise. - * gcc.dg/plugin/taint-CVE-2011-0521-1-fixed.c: Likewise. Add - -Wno-pedantic. - * gcc.dg/plugin/taint-CVE-2011-0521-1.c: Likewise. - * gcc.dg/plugin/taint-CVE-2011-0521-2-fixed.c: Likewise. - * gcc.dg/plugin/taint-CVE-2011-0521-2.c: Likewise. - * gcc.dg/plugin/taint-CVE-2011-0521-3-fixed.c: Likewise. - * gcc.dg/plugin/taint-CVE-2011-0521-3.c: Likewise. Fix C++-style - comment. - * gcc.dg/plugin/taint-CVE-2011-0521-4.c: Remove use of - -fanalyzer-checker=taint and add -Wno-pedantic. Remove xfail and - add missing dg-warning. - * gcc.dg/plugin/taint-CVE-2011-0521-5-fixed.c: Remove use of - -fanalyzer-checker=taint and add -Wno-pedantic. - * gcc.dg/plugin/taint-CVE-2011-0521-5.c: Likewise. - * gcc.dg/plugin/taint-CVE-2011-0521-6.c: Likewise. - * gcc.dg/plugin/taint-antipatterns-1.c: : Remove use of - -fanalyzer-checker=taint. - -2023-11-14 Dimitar Dimitrov - - * gcc.dg/20020206-1.c: Prune warning that - -fprefetch-loop-arrays is not supported. - -2023-11-14 Nathaniel Shead - - PR c++/103499 - * g++.dg/modules/pr103499_a.C: New test. - * g++.dg/modules/pr103499_b.C: New test. - -2023-11-14 Nathaniel Shead - - PR c++/106849 - * g++.dg/modules/using-9.C: New test. - -2023-11-14 David Malcolm - - * gcc.dg/plugin/diagnostic_group_plugin.c: Use - diagnostic_start_span. - -2023-11-14 Uros Bizjak - - PR target/78904 - * gcc.target/i386/pr78904-7.c: New test. - * gcc.target/i386/pr78904-7a.c: New test. - * gcc.target/i386/pr78904-7b.c: New test. - -2023-11-14 Jakub Jelinek - - PR c++/110341 - * g++.dg/cpp26/literals1.C: New test. - * g++.dg/cpp26/literals2.C: New test. - * g++.dg/cpp23/wchar-multi1.C: Adjust expected diagnostic wordings. - * g++.dg/cpp23/wchar-multi2.C: Likewise. - * gcc.dg/c23-utf8char-3.c: Likewise. - * gcc.dg/cpp/charconst-4.c: Likewise. - * gcc.dg/cpp/charconst.c: Likewise. - * gcc.dg/cpp/if-2.c: Likewise. - * gcc.dg/utf16-4.c: Likewise. - * gcc.dg/utf32-4.c: Likewise. - * g++.dg/cpp1z/utf8-neg.C: Likewise. - * g++.dg/cpp2a/ucn2.C: Likewise. - * g++.dg/ext/utf16-4.C: Likewise. - * g++.dg/ext/utf32-4.C: Likewise. - -2023-11-14 David Malcolm - - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Use - global_dc's file cache. - * gcc.dg/plugin/expensive_selftests_plugin.c: Likewise. - -2023-11-14 Andrew MacLeod - - PR tree-optimization/112509 - * gcc.dg/pr112509.c: New. - -2023-11-14 Saurabh Jha - - PR target/112337 - * gcc.target/arm/mve/pr112337.c: Test for REG_P check for INC and DEC - operations. - -2023-11-14 Richard Biener - - PR tree-optimization/111233 - PR tree-optimization/111652 - PR tree-optimization/111727 - PR tree-optimization/111838 - PR tree-optimization/112113 - * gcc.dg/torture/pr111233.c: New testcase. - * gcc.dg/torture/pr111652.c: Likewise. - * gcc.dg/torture/pr111727.c: Likewise. - * gcc.dg/torture/pr111838.c: Likewise. - * gcc.dg/torture/pr112113.c: Likewise. - -2023-11-14 Richard Biener - - PR tree-optimization/112281 - * gcc.dg/torture/pr112281.c: New testcase. - -2023-11-14 Lehua Ding - - * gcc.target/i386/apx-spill_to_egprs-1.c: Make sure that no local - variables are stored on the stack. - -2023-11-14 Andreas Krebbel - - * g++.target/s390/zvec-templ-1.C: New test. - -2023-11-14 Jonathan Wakely - - PR c++/111842 - PR c++/112498 - * g++.dg/cpp23/ext-floating16.C: New test. - * g++.dg/cpp23/ext-floating17.C: New test. - -2023-11-14 Jakub Jelinek - - PR c/111309 - * c-c++-common/pr111309-1.c: New test. - * c-c++-common/pr111309-2.c: New test. - * gcc.dg/torture/bitint-43.c: New test. - * gcc.dg/torture/bitint-44.c: New test. - -2023-11-14 liuhongt - - * gcc.target/i386/pr112496.c: New test. - -2023-11-14 Jakub Jelinek - - PR middle-end/112511 - * gcc.dg/pr112511.c: New test. - -2023-11-14 Jakub Jelinek - Hu, Lin1 - - PR target/112435 - * gcc.target/i386/avx512vl-pr112435-1.c: New test. - * gcc.target/i386/avx512vl-pr112435-2.c: New test. - * gcc.target/i386/avx512vl-pr112435-3.c: New test. - -2023-11-14 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/init-2.c: Fix vid.v check. - -2023-11-14 liuhongt - - * gcc.target/i386/pr105735-3.c: New test. - -2023-11-13 Uros Bizjak - - PR target/112494 - * gcc.target/i386/pr112494.c: New test. - -2023-11-13 Brendan Shanks - - * g++.dg/modules/bad-mapper-1.C: Also accept posix_spawn. - -2023-11-13 Robin Dapp - - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_zbb.c: New test. - -2023-11-13 Richard Earnshaw - - * lib/target-supports.exp (v7a_neon): New feature-test target. - * gcc.dg/debug/pr57351.c: Use it. - -2023-11-13 Richard Earnshaw - - * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok): - Add test for v7a_arm. - * gcc.target/arm/pr60650-2.c: Use require-effective-target and - add-options. - * gcc.target/arm/pr60657.c: Likewise. - * gcc.target/arm/pr60663.c: Likewise. - * gcc.target/arm/pr81863.c: Likewise. - * gcc.target/arm/pr97969.c: Likewise. - * gcc.target/arm/pr98931.c: Likewise. - * gcc.target/arm/tail-long-call.c: Likewise. - -2023-11-13 Richard Earnshaw - - * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok): - For instruction-set specific tests, check that __thumb__ is, or - isn't defined as appropriate. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/pr59575.c: Use dg-require-effective-target and - dg-add-options. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/pr19599.c: Add +fp to the architecture. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/optional_thumb-1.c: Force a soft-float ABI. - * gcc.target/arm/optional_thumb-3.c: Check for armv7e-m compatibility, - then set the architecture explicitly. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/macro_defs0.c: Use dg-effective-target and - dg-add-options. - * gcc.target/arm/macro_defs1.c: Likewise. - * gcc.target/arm/macro_defs2.c: Likewise. - -2023-11-13 Richard Earnshaw - - * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok): - Use soft-float ABI for armv7m. - * gcc.target/arm/ftest-armv7m-thumb.c: Use dg-require-effective-target - to check flag compatibility. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/scd42-2.c: Use modern dg- flags. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/pragma_arch_switch_2.c: Use testsuite infrastructure - to set the architecture flags. Add +fp to the pragma that changes the - architecture. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/pragma_arch_attribute.c: Add +simd to pragmas that - set an explicit architecture. - * gcc.target/arm/pragma_arch_attribute_2.c: Likewise. - * gcc.target/arm/pragma_arch_attribute_3.c: Likewise. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/pr88648-asm-syntax-unified.c: It isn't necessary - to try to override the architecture flags specified by arm_arch_v7a. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/pr78353-1.c: Use dg-add-options to manage target - flags. - * gcc.target/arm/pr78353-2.c: Likewise. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/pr65647-2.c: Use dg-add-options to manage target - flags. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/lto/pr96939_1.c: Add +simd to the architecture - specification. - -2023-11-13 Richard Earnshaw - - * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok): - Add entry to check for xscale. - * gcc.target/arm/g2.c: Use it. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/attr_thumb-static2.c: Add +fp to the -march - specification. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/attr-crypto.c: Add +simd to the -march - specification. - -2023-11-13 Richard Earnshaw - - * gcc.target/arm/acle/pacbti-m-predef-11.c: Add +fp to the -march - specification. - -2023-11-13 Richard Earnshaw - - * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok): - Add base FPU specifications to all architectures that can support - one. - -2023-11-13 Richard Earnshaw - - * lib/target-supports.exp (check_effective_target_hard_float): Add - arm-specific test. - -2023-11-13 Richard Earnshaw - - * lib/target-supports.exp (check_effective_target_arm_arch_v6t2_hw_ok): - New function. - * gcc.target/arm/acle/data-intrinsics-armv6.c: Use it. - * gcc.target/arm/acle/data-intrinsics-rbit.c: Likewise. - -2023-11-13 Richard Biener - - PR tree-optimization/112495 - * gcc.target/i386/pr112495.c: New testcase. - -2023-11-13 Richard Biener - - PR middle-end/112487 - * gcc.dg/torture/pr112487.c: New testcase. - -2023-11-13 Richard Biener - - PR tree-optimization/111792 - PR tree-optimization/111000 - * gcc.dg/torture/pr111792.c: New testcase. - -2023-11-13 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Fix init test. - * gcc.target/riscv/rvv/autovec/vls/init-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/init-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/init-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/init-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/init-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/init-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/init-7.c: Ditto. - -2023-11-13 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-10.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-11.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-12.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-13.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-14.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-8.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-merge-9.c: New test. - -2023-11-13 liuhongt - - * gcc.target/i386/part-vect-vec_elem-1.c: New test. - * gcc.target/i386/part-vect-vec_elem-2.c: New test. - -2023-11-13 Roger Sayle - - * gcc.target/arc/ashrdi3-1.c: New test case. - * gcc.target/arc/lshrdi3-1.c: Likewise. - * gcc.target/arc/rotldi3-1.c: Likewise. - * gcc.target/arc/rotrdi3-1.c: Likewise. - -2023-11-13 Roger Sayle - - * gcc.target/arc/builtin_norm-1.c: New test case. - * gcc.target/arc/builtin_norm-2.c: Likewise. - * gcc.target/arc/builtin_normw-1.c: Likewise. - * gcc.target/arc/builtin_normw-2.c: Likewise. - * gcc.target/arc/builtin_swap-1.c: Likewise. - * gcc.target/arc/builtin_swap-2.c: Likewise. - * gcc.target/arc/builtin_swap-3.c: Likewise. - -2023-11-13 Florian Weimer - - * gcc.c-torture/execute/20000112-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/20000113-1.c (foobar): Add missing - void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/20000314-2.c (main): Likewise. - * gcc.c-torture/execute/20000402-1.c (main): Likewise. - * gcc.c-torture/execute/20000403-1.c (main): Likewise. - * gcc.c-torture/execute/20000503-1.c (main): Likewise. - * gcc.c-torture/execute/20000605-2.c (main): Likewise. - * gcc.c-torture/execute/20000717-1.c (main): Likewise. - * gcc.c-torture/execute/20000717-5.c (main): Likewise. - * gcc.c-torture/execute/20000726-1.c (main): Likewise. - * gcc.c-torture/execute/20000914-1.c(blah): Add missing - void types. - (main): Add missing int and void types. - * gcc.c-torture/execute/20001009-1.c (main): Likewise. - * gcc.c-torture/execute/20001013-1.c (main): Likewise. - * gcc.c-torture/execute/20001031-1.c (main): Likewise. - * gcc.c-torture/execute/20010221-1.c (main): Likewise. - * gcc.c-torture/execute/20010723-1.c (main): Likewise. - * gcc.c-torture/execute/20010915-1.c (s): Call - __builtin_strcmp instead of strcmp. - * gcc.c-torture/execute/20010924-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/20011128-1.c (main): Likewise. - * gcc.c-torture/execute/20020226-1.c (main): Likewise. - * gcc.c-torture/execute/20020328-1.c (foo): Add missing - void types. - * gcc.c-torture/execute/20020406-1.c (DUPFFexgcd): Call - __builtin_printf instead of printf. - (main): Likewise. - * gcc.c-torture/execute/20020508-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/20020508-2.c (main): Likewise. - * gcc.c-torture/execute/20020508-3.c (main): Likewise. - * gcc.c-torture/execute/20020611-1.c (main): Likewise. - * gcc.c-torture/execute/20021010-2.c (main): Likewise. - * gcc.c-torture/execute/20021113-1.c (foo): Add missing - void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/20021120-3.c (foo): Call - __builtin_sprintf instead of sprintf. - * gcc.c-torture/execute/20030125-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/20030216-1.c (main): Likewise. - * gcc.c-torture/execute/20030404-1.c (main): Likewise. - * gcc.c-torture/execute/20030606-1.c (main): Likewise. - Call __builtin_memset instead of memset. - * gcc.c-torture/execute/20030828-1.c (main): Add missing int - and void types. - * gcc.c-torture/execute/20030828-2.c (main): Likewise. - * gcc.c-torture/execute/20031012-1.c: Call __builtin_strlen - instead of strlen. - * gcc.c-torture/execute/20031211-1.c (main): Add missing int - and void types. - * gcc.c-torture/execute/20040319-1.c (main): Likewise. - * gcc.c-torture/execute/20040411-1.c (sub1): Call - __builtin_memcpy instead of memcpy. - * gcc.c-torture/execute/20040423-1.c (sub1): Likewise. - * gcc.c-torture/execute/20040917-1.c (main): Add missing int - and void types. - * gcc.c-torture/execute/20050131-1.c (main): Likewise. - * gcc.c-torture/execute/20051113-1.c (main): Likewise. - * gcc.c-torture/execute/20121108-1.c (main): Call - __builtin_printf instead of printf. - * gcc.c-torture/execute/20170401-2.c (main): Add missing int - and void types. - * gcc.c-torture/execute/900409-1.c (main): Likewise. - * gcc.c-torture/execute/920202-1.c (f): Add int return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/920302-1.c (execute): Add void return - type. - (main): Add missing int and void types. - * gcc.c-torture/execute/920410-1.c (main): Likewise. - * gcc.c-torture/execute/920501-2.c (main): Likewise. - * gcc.c-torture/execute/920501-3.c (execute): Add void return - type. - (main): Add missing int and void types. - * gcc.c-torture/execute/920501-5.c (x): Add int return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/920501-6.c (main): Add int return - type. - * gcc.c-torture/execute/920501-8.c (main): Add missing - int and void types. Call __builtin_strcmp instead of strcmp. - * gcc.c-torture/execute/920506-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/920612-2.c (main): Likewise. - * gcc.c-torture/execute/920618-1.c (main): Likewise. - * gcc.c-torture/execute/920625-1.c (main): Likewise. - * gcc.c-torture/execute/920710-1.c (main): Likewise. - * gcc.c-torture/execute/920721-1.c (main): Likewise. - * gcc.c-torture/execute/920721-4.c (main): Likewise. - * gcc.c-torture/execute/920726-1.c (first, second): Call - __builtin_strlen instead of strlen. - (main): Add missing int and void types. Call __builtin_strcmp - instead of strcmp. - * gcc.c-torture/execute/920810-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/920829-1.c (main): Likewise. - * gcc.c-torture/execute/920908-1.c (main): Likewise. - * gcc.c-torture/execute/920922-1.c (main): Likewise. - * gcc.c-torture/execute/920929-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/921006-1.c (main): Likewise. Call - __builtin_strcmp instead of strcmp. - * gcc.c-torture/execute/921007-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/921016-1.c (main): Likewise. - * gcc.c-torture/execute/921019-1.c (main): Likewise. - * gcc.c-torture/execute/921019-2.c (main): Likewise. - * gcc.c-torture/execute/921029-1.c (main): Likewise. - * gcc.c-torture/execute/921104-1.c (main): Likewise. - * gcc.c-torture/execute/921112-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/921113-1.c (w, f1, f2, gitter): Add - void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/921117-1.c (check): Call - __builtin_strcmp instead of strcmp. - (main): Add missing int and void types. Call __builtin_strcpy - instead of strcpy. - * gcc.c-torture/execute/921123-2.c (main): Add missing - int and void types. - * gcc.c-torture/execute/921202-2.c (main): Likewise. - * gcc.c-torture/execute/921204-1.c (main): Likewise. - * gcc.c-torture/execute/921208-1.c (main): Likewise. - * gcc.c-torture/execute/930123-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/930126-1.c (main): Likewise. - * gcc.c-torture/execute/930406-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/930408-1.c (p, f): Add missing void - types. - (main): Add missing int and void types. - * gcc.c-torture/execute/930429-1.c (main): Likewise. - * gcc.c-torture/execute/930603-2.c (f): Add missing void - types. - (main): Add missing int and void types. - * gcc.c-torture/execute/930608-1.c (main): Likewise. - * gcc.c-torture/execute/930614-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/930614-2.c (main): Likewise. - * gcc.c-torture/execute/930622-2.c (main): Likewise. - * gcc.c-torture/execute/930628-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/930725-1.c (main): Likewise. Call - __builtin_strcmp instead of strcmp. - * gcc.c-torture/execute/930930-2.c (main): Add missing - int and void types. - * gcc.c-torture/execute/931002-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-10.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-11.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-12.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-13.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-14.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-2.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-3.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-4.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-5.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-6.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-7.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-8.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931004-9.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/931005-1.c (main): Likewise. - * gcc.c-torture/execute/931110-1.c (main): Likewise. - * gcc.c-torture/execute/931110-2.c (main): Likewise. - * gcc.c-torture/execute/941014-1.c (main): Likewise. - * gcc.c-torture/execute/941014-2.c (main): Likewise. - * gcc.c-torture/execute/941015-1.c (main): Likewise. - * gcc.c-torture/execute/941021-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/941025-1.c (main): Likewise. - * gcc.c-torture/execute/941031-1.c (main): Likewise. - * gcc.c-torture/execute/950221-1.c (g2): Add int return type. - (f): Add missing void types. Call __builtin_strcpy instead - of strcpy. - (main): Add missing int and void types. - * gcc.c-torture/execute/950426-2.c (main): Likewise. - * gcc.c-torture/execute/950503-1.c (main): Likewise. - * gcc.c-torture/execute/950511-1.c (main): Likewise. - * gcc.c-torture/execute/950607-1.c (main): Likewise. - * gcc.c-torture/execute/950607-2.c (main): Likewise. - * gcc.c-torture/execute/950612-1.c (main): Likewise. - * gcc.c-torture/execute/950628-1.c (main): Likewise. - * gcc.c-torture/execute/950704-1.c (main): Likewise. - * gcc.c-torture/execute/950706-1.c (main): Likewise. - * gcc.c-torture/execute/950710-1.c (main): Likewise. - * gcc.c-torture/execute/950714-1.c (main): Likewise. - * gcc.c-torture/execute/950809-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/950906-1.c (g, f): Add void return - type. - (main): Add missing int and void types. - * gcc.c-torture/execute/950915-1.c (main): Likewise. - * gcc.c-torture/execute/950929-1.c (main): Likewise. - * gcc.c-torture/execute/951003-1.c (f): Add missing int - parameter type. - (main): Add missing int and void types. - * gcc.c-torture/execute/951115-1.c (g, f): Add void return - type. - (main): Add missing int and void types. - * gcc.c-torture/execute/951204-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/960116-1.c (p): Add int return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/960117-1.c (main): Likewise. - * gcc.c-torture/execute/960209-1.c (main): Likewise. - * gcc.c-torture/execute/960215-1.c (main): Likewise. - * gcc.c-torture/execute/960219-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/960301-1.c (main): Likewise. - * gcc.c-torture/execute/960302-1.c (foo, main): Add missing - int and void types. - * gcc.c-torture/execute/960311-1.c (main): Likewise. - * gcc.c-torture/execute/960311-2.c (main): Likewise. - * gcc.c-torture/execute/960311-3.c (main): Likewise. - * gcc.c-torture/execute/960312-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/960317-1.c (main): Likewise. - * gcc.c-torture/execute/960321-1.c (main): Likewise. - * gcc.c-torture/execute/960326-1.c (main): Likewise. - * gcc.c-torture/execute/960327-1.c (g, main): Add missing - int and void types. - (f): Add missing void types. - * gcc.c-torture/execute/960405-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/960416-1.c (main): Likewise. - * gcc.c-torture/execute/960419-1.c (main): Likewise. - * gcc.c-torture/execute/960419-2.c (main): Likewise. - * gcc.c-torture/execute/960512-1.c (main): Likewise. - * gcc.c-torture/execute/960513-1.c (main): Likewise. - * gcc.c-torture/execute/960521-1.c (f): Add missing void - types. - (main): Add missing int and void types. - * gcc.c-torture/execute/960608-1.c (f): Add int return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/960801-1.c (main): Likewise. - * gcc.c-torture/execute/960802-1.c (main): Likewise. - * gcc.c-torture/execute/960909-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/961004-1.c (main): Likewise. - * gcc.c-torture/execute/961017-1.c (main): Likewise. - * gcc.c-torture/execute/961017-2.c (main): Likewise. - * gcc.c-torture/execute/961026-1.c (main): Likewise. - * gcc.c-torture/execute/961122-1.c (addhi, subhi): Add void - return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/961122-2.c (main): Likewise. - * gcc.c-torture/execute/961125-1.c (main): Likewise. - * gcc.c-torture/execute/961206-1.c (main): Likewise. - * gcc.c-torture/execute/961213-1.c (main): Likewise. - * gcc.c-torture/execute/970214-1.c (main): Likewise. - * gcc.c-torture/execute/970214-2.c (main): Likewise. - * gcc.c-torture/execute/970217-1.c (sub): Add int return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/970923-1.c (main): Likewise. - * gcc.c-torture/execute/980223.c (main): Likewise. - * gcc.c-torture/execute/980506-1.c (main): Likewise. - * gcc.c-torture/execute/980506-2.c (main): Likewise. - * gcc.c-torture/execute/980506-3.c (build_lookup): Call - __builtin_strlen instead of strlen and __builtin_memset - instead of memset. - * gcc.c-torture/execute/980526-3.c (main): Likewise. - * gcc.c-torture/execute/980602-1.c (main): Likewise. - * gcc.c-torture/execute/980604-1.c (main): Likewise. - * gcc.c-torture/execute/980605-1.c (dummy): Add missing int - parameter type. - (main): Add missing int and void types. - * gcc.c-torture/execute/980701-1.c (ns_name_skip): Add missing - int return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/980709-1.c (main): Likewise. - * gcc.c-torture/execute/990117-1.c (main): Likewise. - * gcc.c-torture/execute/990127-1.c (main): Likewise. - * gcc.c-torture/execute/990128-1.c (main): Likewise. - * gcc.c-torture/execute/990130-1.c (main): Likewise. - * gcc.c-torture/execute/990324-1.c (main): Likewise. - * gcc.c-torture/execute/990524-1.c (main): Likewise. - * gcc.c-torture/execute/990531-1.c (main): Likewise. - * gcc.c-torture/execute/990628-1.c (fetch, load_data): Call - __builtin_memset instead of memset. - (main): Add missing int and void types. - * gcc.c-torture/execute/991019-1.c (main): Likewise. - * gcc.c-torture/execute/991023-1.c (foo, main): Likewise. - * gcc.c-torture/execute/991112-1.c (isprint): Declare. - * gcc.c-torture/execute/991118-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/alias-1.c (ptr2): Add cast to float * - in initializer. - (typepun): Add missing void types. - (main): Add missing int and void types. - * gcc.c-torture/execute/alias-2.c (main): Likewise. - * gcc.c-torture/execute/alias-3.c (inc): Add missing - void types. - * gcc.c-torture/execute/alias-4.c (main): Add missing int - return type. - * gcc.c-torture/execute/arith-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/arith-rand-ll.c (main): Likewise. - * gcc.c-torture/execute/arith-rand.c (main): Likewise. - * gcc.c-torture/execute/bf-layout-1.c (main): Likewise. - * gcc.c-torture/execute/bf-pack-1.c (foo): Add missing - void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/bf-sign-1.c (main): Likewise. - * gcc.c-torture/execute/bf-sign-2.c (main): Likewise. - * gcc.c-torture/execute/bf64-1.c (main): Likewise. - * gcc.c-torture/execute/builtin-prefetch-2.c (stat_int_arr): - Add missing int array element type. - * gcc.c-torture/execute/builtin-prefetch-3.c (stat_int_arr): - Likewise. - * gcc.c-torture/execute/cbrt.c (main): Add missing int and - void types. - * gcc.c-torture/execute/complex-1.c (main): Likewise. - * gcc.c-torture/execute/complex-2.c (main): Likewise. - * gcc.c-torture/execute/complex-3.c (main): Likewise. - * gcc.c-torture/execute/complex-4.c (main): Likewise. - * gcc.c-torture/execute/complex-5.c (main): Likewise. - * gcc.c-torture/execute/compndlit-1.c (main): Likewise. - * gcc.c-torture/execute/conversion.c (test_integer_to_float) - (test_longlong_integer_to_float, test_float_to_integer) - (test_float_to_longlong_integer): Add missing void return - type. - (main): Add missing int and void types. - * gcc.c-torture/execute/cvt-1.c (main): Likewise. - * gcc.c-torture/execute/divconst-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/divconst-2.c (main): Likewise. - * gcc.c-torture/execute/divconst-3.c (main): Likewise. - * gcc.c-torture/execute/enum-1.c (main): Likewise. - * gcc.c-torture/execute/func-ptr-1.c (main): Likewise. - * gcc.c-torture/execute/ieee/20011123-1.c (main): Likewise. - * gcc.c-torture/execute/ieee/920518-1.c (main): Likewise. - * gcc.c-torture/execute/ieee/920810-1.c (main): Likewise. - Call __builtin_strcmp instead of strcmp. - * gcc.c-torture/execute/ieee/930529-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/ieee/fp-cmp-1.c (main): Likewise. - * gcc.c-torture/execute/ieee/fp-cmp-2.c (main): Likewise. - * gcc.c-torture/execute/ieee/fp-cmp-3.c (main): Likewise. - * gcc.c-torture/execute/ieee/fp-cmp-6.c (main): Likewise. - * gcc.c-torture/execute/ieee/fp-cmp-9.c (main): Likewise. - * gcc.c-torture/execute/ieee/minuszero.c (main): Likewise. - * gcc.c-torture/execute/ieee/mzero2.c (expect): Call - __builtin_memcmp instead of memcmp. - (main): Add missing int and void types. - * gcc.c-torture/execute/ieee/mzero3.c (main): Likewise. - (expectd, expectf): Call __builtin_memcmp instead of memcmp. - * gcc.c-torture/execute/ieee/mzero5.c (negzero_check): - Likewise. - * gcc.c-torture/execute/ieee/rbug.c (main): Add missing - int and void types. - * gcc.c-torture/execute/index-1.c (main): Likewise. - * gcc.c-torture/execute/loop-1.c (main): Likewise. - * gcc.c-torture/execute/loop-2b.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/loop-6.c (main): Likewise. - * gcc.c-torture/execute/loop-7.c (main): Likewise. - * gcc.c-torture/execute/lto-tbaa-1.c (use_a, set_b, use_c): - Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/memcpy-1.c (main): Likewise. - * gcc.c-torture/execute/memcpy-2.c (main): Likewise. - * gcc.c-torture/execute/memcpy-bi.c (main): Likewise. - * gcc.c-torture/execute/memset-1.c (main): Likewise. - * gcc.c-torture/execute/memset-2.c: Include . - * gcc.c-torture/execute/memset-3.c: Likewise. - * gcc.c-torture/execute/nest-stdar-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/nestfunc-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/packed-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/pr15262-1.c (main): Likewise. Call - __builtin_malloc instead of malloc. - * gcc.c-torture/execute/pr15262-2.c (foo): Add int return - type. - (main): Add missing int and void types. - * gcc.c-torture/execute/pr15262.c (main): Likewise. - * gcc.c-torture/execute/pr17252.c (main): Likewise. - * gcc.c-torture/execute/pr21331.c (main): Likewise. - * gcc.c-torture/execute/pr34176.c (foo): Add missing int - type to definition of foo. - * gcc.c-torture/execute/pr42231.c (max): Add missing int type - to definition. - * gcc.c-torture/execute/pr42614.c (expect_func): Call - __builtin_abs instead of abs. - * gcc.c-torture/execute/pr54937.c (t): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/ptr-arith-1.c (main): Likewise. - * gcc.c-torture/execute/regstack-1.c (main): Likewise. - * gcc.c-torture/execute/scope-1.c (f): Add missing void types. - (main): Add missing int and void types. - * gcc.c-torture/execute/simd-5.c (main): Call __builtin_memcmp - instead of memcmp. - * gcc.c-torture/execute/strcmp-1.c (main): Add missing - int and void types. - * gcc.c-torture/execute/strcpy-1.c (main): Likewise. - * gcc.c-torture/execute/strct-pack-1.c (main): Likewise. - * gcc.c-torture/execute/strct-pack-2.c (main): Likewise. - * gcc.c-torture/execute/strct-pack-4.c (main): Likewise. - * gcc.c-torture/execute/strct-stdarg-1.c (f): Add void return - type. - (main): Add missing int and void types. - * gcc.c-torture/execute/strct-varg-1.c (f): Add void return - type. - (main): Add missing int and void types. - * gcc.c-torture/execute/strlen-1.c (main): Likewise. - * gcc.c-torture/execute/strncmp-1.c (main): Likewise. - * gcc.c-torture/execute/struct-ini-1.c (main): Likewise. - * gcc.c-torture/execute/struct-ini-2.c (main): Likewise. - * gcc.c-torture/execute/struct-ini-3.c (main): Likewise. - * gcc.c-torture/execute/struct-ini-4.c (main): Likewise. - * gcc.c-torture/execute/struct-ret-1.c (main): Likewise. - * gcc.c-torture/execute/struct-ret-2.c (main): Likewise. - * gcc.c-torture/execute/va-arg-1.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/va-arg-10.c (main): Likewise. - * gcc.c-torture/execute/va-arg-2.c (main): Likewise. - * gcc.c-torture/execute/va-arg-4.c (main): Likewise. - * gcc.c-torture/execute/va-arg-5.c (va_double) - (va_long_double): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/va-arg-6.c (f): Add void return type. - (main): Add missing int and void types. - * gcc.c-torture/execute/va-arg-9.c (main): Likewise. - * gcc.c-torture/execute/widechar-1.c (main): Likewise. - -2023-11-13 Florian Weimer - - * gcc.c-torture/execute/20000112-1.c: Declare exit and abort - as appropriate. - * gcc.c-torture/execute/20000113-1.c: Likewise. - * gcc.c-torture/execute/20000205-1.c: Likewise. - * gcc.c-torture/execute/20000217-1.c: Likewise. - * gcc.c-torture/execute/20000223-1.c: Likewise. - * gcc.c-torture/execute/20000224-1.c: Likewise. - * gcc.c-torture/execute/20000225-1.c: Likewise. - * gcc.c-torture/execute/20000227-1.c: Likewise. - * gcc.c-torture/execute/20000313-1.c: Likewise. - * gcc.c-torture/execute/20000314-1.c: Likewise. - * gcc.c-torture/execute/20000314-2.c: Likewise. - * gcc.c-torture/execute/20000314-3.c: Likewise. - * gcc.c-torture/execute/20000402-1.c: Likewise. - * gcc.c-torture/execute/20000403-1.c: Likewise. - * gcc.c-torture/execute/20000412-1.c: Likewise. - * gcc.c-torture/execute/20000412-2.c: Likewise. - * gcc.c-torture/execute/20000412-4.c: Likewise. - * gcc.c-torture/execute/20000412-5.c: Likewise. - * gcc.c-torture/execute/20000412-6.c: Likewise. - * gcc.c-torture/execute/20000419-1.c: Likewise. - * gcc.c-torture/execute/20000422-1.c: Likewise. - * gcc.c-torture/execute/20000503-1.c: Likewise. - * gcc.c-torture/execute/20000511-1.c: Likewise. - * gcc.c-torture/execute/20000519-1.c: Likewise. - * gcc.c-torture/execute/20000519-2.c: Likewise. - * gcc.c-torture/execute/20000523-1.c: Likewise. - * gcc.c-torture/execute/20000528-1.c: Likewise. - * gcc.c-torture/execute/20000603-1.c: Likewise. - * gcc.c-torture/execute/20000605-1.c: Likewise. - * gcc.c-torture/execute/20000605-2.c: Likewise. - * gcc.c-torture/execute/20000605-3.c: Likewise. - * gcc.c-torture/execute/20000622-1.c: Likewise. - * gcc.c-torture/execute/20000717-1.c: Likewise. - * gcc.c-torture/execute/20000717-2.c: Likewise. - * gcc.c-torture/execute/20000717-5.c: Likewise. - * gcc.c-torture/execute/20000722-1.c: Likewise. - * gcc.c-torture/execute/20000726-1.c: Likewise. - * gcc.c-torture/execute/20000731-1.c: Likewise. - * gcc.c-torture/execute/20000731-2.c: Likewise. - * gcc.c-torture/execute/20000801-3.c: Likewise. - * gcc.c-torture/execute/20000801-4.c: Likewise. - * gcc.c-torture/execute/20000808-1.c: Likewise. - * gcc.c-torture/execute/20000815-1.c: Likewise. - * gcc.c-torture/execute/20000818-1.c: Likewise. - * gcc.c-torture/execute/20000819-1.c: Likewise. - * gcc.c-torture/execute/20000822-1.c: Likewise. - * gcc.c-torture/execute/20000914-1.c: Likewise. - * gcc.c-torture/execute/20000917-1.c: Likewise. - * gcc.c-torture/execute/20001009-1.c: Likewise. - * gcc.c-torture/execute/20001009-2.c: Likewise. - * gcc.c-torture/execute/20001013-1.c: Likewise. - * gcc.c-torture/execute/20001017-1.c: Likewise. - * gcc.c-torture/execute/20001017-2.c: Likewise. - * gcc.c-torture/execute/20001024-1.c: Likewise. - * gcc.c-torture/execute/20001027-1.c: Likewise. - * gcc.c-torture/execute/20001101.c: Likewise. - * gcc.c-torture/execute/20001108-1.c: Likewise. - * gcc.c-torture/execute/20001112-1.c: Likewise. - * gcc.c-torture/execute/20001124-1.c: Likewise. - * gcc.c-torture/execute/20001130-1.c: Likewise. - * gcc.c-torture/execute/20001130-2.c: Likewise. - * gcc.c-torture/execute/20001203-2.c: Likewise. - * gcc.c-torture/execute/20001221-1.c: Likewise. - * gcc.c-torture/execute/20001228-1.c: Likewise. - * gcc.c-torture/execute/20001229-1.c: Likewise. - * gcc.c-torture/execute/20010106-1.c: Likewise. - * gcc.c-torture/execute/20010118-1.c: Likewise. - * gcc.c-torture/execute/20010119-1.c: Likewise. - * gcc.c-torture/execute/20010206-1.c: Likewise. - * gcc.c-torture/execute/20010209-1.c: Likewise. - * gcc.c-torture/execute/20010221-1.c: Likewise. - * gcc.c-torture/execute/20010222-1.c: Likewise. - * gcc.c-torture/execute/20010329-1.c: Likewise. - * gcc.c-torture/execute/20010403-1.c: Likewise. - * gcc.c-torture/execute/20010409-1.c: Likewise. - * gcc.c-torture/execute/20010422-1.c: Likewise. - * gcc.c-torture/execute/20010518-1.c: Likewise. - * gcc.c-torture/execute/20010518-2.c: Likewise. - * gcc.c-torture/execute/20010520-1.c: Likewise. - * gcc.c-torture/execute/20010604-1.c: Likewise. - * gcc.c-torture/execute/20010711-1.c: Likewise. - * gcc.c-torture/execute/20010723-1.c: Likewise. - * gcc.c-torture/execute/20010904-1.c: Likewise. - * gcc.c-torture/execute/20010904-2.c: Likewise. - * gcc.c-torture/execute/20010915-1.c: Likewise. - * gcc.c-torture/execute/20010924-1.c: Likewise. - * gcc.c-torture/execute/20011024-1.c: Likewise. - * gcc.c-torture/execute/20011109-1.c: Likewise. - * gcc.c-torture/execute/20011109-2.c: Likewise. - * gcc.c-torture/execute/20011114-1.c: Likewise. - * gcc.c-torture/execute/20011121-1.c: Likewise. - * gcc.c-torture/execute/20011126-1.c: Likewise. - * gcc.c-torture/execute/20011128-1.c: Likewise. - * gcc.c-torture/execute/20011217-1.c: Likewise. - * gcc.c-torture/execute/20020213-1.c: Likewise. - * gcc.c-torture/execute/20020215-1.c: Likewise. - * gcc.c-torture/execute/20020225-2.c: Likewise. - * gcc.c-torture/execute/20020226-1.c: Likewise. - * gcc.c-torture/execute/20020227-1.c: Likewise. - * gcc.c-torture/execute/20020307-1.c: Likewise. - * gcc.c-torture/execute/20020328-1.c: Likewise. - * gcc.c-torture/execute/20020404-1.c: Likewise. - * gcc.c-torture/execute/20020406-1.c: Likewise. - * gcc.c-torture/execute/20020413-1.c: Likewise. - * gcc.c-torture/execute/20020418-1.c: Likewise. - * gcc.c-torture/execute/20020508-1.c: Likewise. - * gcc.c-torture/execute/20020508-2.c: Likewise. - * gcc.c-torture/execute/20020508-3.c: Likewise. - * gcc.c-torture/execute/20020529-1.c: Likewise. - * gcc.c-torture/execute/20020611-1.c: Likewise. - * gcc.c-torture/execute/20020615-1.c: Likewise. - * gcc.c-torture/execute/20020619-1.c: Likewise. - * gcc.c-torture/execute/20020904-1.c: Likewise. - * gcc.c-torture/execute/20020916-1.c: Likewise. - * gcc.c-torture/execute/20021010-1.c: Likewise. - * gcc.c-torture/execute/20021113-1.c: Likewise. - * gcc.c-torture/execute/20021118-1.c: Likewise. - * gcc.c-torture/execute/20021118-2.c: Likewise. - * gcc.c-torture/execute/20021120-1.c: Likewise. - * gcc.c-torture/execute/20021120-2.c: Likewise. - * gcc.c-torture/execute/20021120-3.c: Likewise. - * gcc.c-torture/execute/20030105-1.c: Likewise. - * gcc.c-torture/execute/20030109-1.c: Likewise. - * gcc.c-torture/execute/20030117-1.c: Likewise. - * gcc.c-torture/execute/20030120-1.c: Likewise. - * gcc.c-torture/execute/20030125-1.c: Likewise. - * gcc.c-torture/execute/20030128-1.c: Likewise. - * gcc.c-torture/execute/20030209-1.c: Likewise. - * gcc.c-torture/execute/20030222-1.c: Likewise. - * gcc.c-torture/execute/20030316-1.c: Likewise. - * gcc.c-torture/execute/20030403-1.c: Likewise. - * gcc.c-torture/execute/20030404-1.c: Likewise. - * gcc.c-torture/execute/20030501-1.c: Likewise. - * gcc.c-torture/execute/20030606-1.c: Likewise. - * gcc.c-torture/execute/20030828-1.c: Likewise. - * gcc.c-torture/execute/20030828-2.c: Likewise. - * gcc.c-torture/execute/20030903-1.c: Likewise. - * gcc.c-torture/execute/20030910-1.c: Likewise. - * gcc.c-torture/execute/20030913-1.c: Likewise. - * gcc.c-torture/execute/20030914-1.c: Likewise. - * gcc.c-torture/execute/20030914-2.c: Likewise. - * gcc.c-torture/execute/20030916-1.c: Likewise. - * gcc.c-torture/execute/20030928-1.c: Likewise. - * gcc.c-torture/execute/20031010-1.c: Likewise. - * gcc.c-torture/execute/20031201-1.c: Likewise. - * gcc.c-torture/execute/20031204-1.c: Likewise. - * gcc.c-torture/execute/20031211-1.c: Likewise. - * gcc.c-torture/execute/20040208-1.c: Likewise. - * gcc.c-torture/execute/20040218-1.c: Likewise. - * gcc.c-torture/execute/20040307-1.c: Likewise. - * gcc.c-torture/execute/20040319-1.c: Likewise. - * gcc.c-torture/execute/20040411-1.c: Likewise. - * gcc.c-torture/execute/20040423-1.c: Likewise. - * gcc.c-torture/execute/20040625-1.c: Likewise. - * gcc.c-torture/execute/20040703-1.c: Likewise. - * gcc.c-torture/execute/20040706-1.c: Likewise. - * gcc.c-torture/execute/20040707-1.c: Likewise. - * gcc.c-torture/execute/20040805-1.c: Likewise. - * gcc.c-torture/execute/20040917-1.c: Likewise. - * gcc.c-torture/execute/20041011-1.c: Likewise. - * gcc.c-torture/execute/20041113-1.c: Likewise. - * gcc.c-torture/execute/20041124-1.c: Likewise. - * gcc.c-torture/execute/20041210-1.c: Likewise. - * gcc.c-torture/execute/20041212-1.c: Likewise. - * gcc.c-torture/execute/20050410-1.c: Likewise. - * gcc.c-torture/execute/20051113-1.c: Likewise. - * gcc.c-torture/execute/20070623-1.c: Likewise. - * gcc.c-torture/execute/20091229-1.c: Likewise. - * gcc.c-torture/execute/20101025-1.c: Likewise. - * gcc.c-torture/execute/20120817-1.c: Likewise. - * gcc.c-torture/execute/20170401-2.c: Likewise. - * gcc.c-torture/execute/900409-1.c: Likewise. - * gcc.c-torture/execute/920202-1.c: Likewise. - * gcc.c-torture/execute/920302-1.c: Likewise. - * gcc.c-torture/execute/920410-1.c: Likewise. - * gcc.c-torture/execute/920501-2.c: Likewise. - * gcc.c-torture/execute/920501-3.c: Likewise. - * gcc.c-torture/execute/920501-4.c: Likewise. - * gcc.c-torture/execute/920501-5.c: Likewise. - * gcc.c-torture/execute/920501-6.c: Likewise. - * gcc.c-torture/execute/920501-8.c: Likewise. - * gcc.c-torture/execute/920506-1.c: Likewise. - * gcc.c-torture/execute/920604-1.c: Likewise. - * gcc.c-torture/execute/920612-2.c: Likewise. - * gcc.c-torture/execute/920618-1.c: Likewise. - * gcc.c-torture/execute/920625-1.c: Likewise. - * gcc.c-torture/execute/920710-1.c: Likewise. - * gcc.c-torture/execute/920721-1.c: Likewise. - * gcc.c-torture/execute/920721-4.c: Likewise. - * gcc.c-torture/execute/920726-1.c: Likewise. - * gcc.c-torture/execute/920829-1.c: Likewise. - * gcc.c-torture/execute/920908-1.c: Likewise. - * gcc.c-torture/execute/920922-1.c: Likewise. - * gcc.c-torture/execute/920929-1.c: Likewise. - * gcc.c-torture/execute/921006-1.c: Likewise. - * gcc.c-torture/execute/921007-1.c: Likewise. - * gcc.c-torture/execute/921016-1.c: Likewise. - * gcc.c-torture/execute/921019-1.c: Likewise. - * gcc.c-torture/execute/921019-2.c: Likewise. - * gcc.c-torture/execute/921029-1.c: Likewise. - * gcc.c-torture/execute/921104-1.c: Likewise. - * gcc.c-torture/execute/921112-1.c: Likewise. - * gcc.c-torture/execute/921113-1.c: Likewise. - * gcc.c-torture/execute/921117-1.c: Likewise. - * gcc.c-torture/execute/921123-2.c: Likewise. - * gcc.c-torture/execute/921202-2.c: Likewise. - * gcc.c-torture/execute/921204-1.c: Likewise. - * gcc.c-torture/execute/921208-1.c: Likewise. - * gcc.c-torture/execute/930123-1.c: Likewise. - * gcc.c-torture/execute/930126-1.c: Likewise. - * gcc.c-torture/execute/930406-1.c: Likewise. - * gcc.c-torture/execute/930408-1.c: Likewise. - * gcc.c-torture/execute/930429-1.c: Likewise. - * gcc.c-torture/execute/930603-2.c: Likewise. - * gcc.c-torture/execute/930608-1.c: Likewise. - * gcc.c-torture/execute/930614-1.c: Likewise. - * gcc.c-torture/execute/930614-2.c: Likewise. - * gcc.c-torture/execute/930622-2.c: Likewise. - * gcc.c-torture/execute/930628-1.c: Likewise. - * gcc.c-torture/execute/930725-1.c: Likewise. - * gcc.c-torture/execute/930930-2.c: Likewise. - * gcc.c-torture/execute/931002-1.c: Likewise. - * gcc.c-torture/execute/931004-1.c: Likewise. - * gcc.c-torture/execute/931004-10.c: Likewise. - * gcc.c-torture/execute/931004-11.c: Likewise. - * gcc.c-torture/execute/931004-12.c: Likewise. - * gcc.c-torture/execute/931004-13.c: Likewise. - * gcc.c-torture/execute/931004-14.c: Likewise. - * gcc.c-torture/execute/931004-2.c: Likewise. - * gcc.c-torture/execute/931004-3.c: Likewise. - * gcc.c-torture/execute/931004-4.c: Likewise. - * gcc.c-torture/execute/931004-5.c: Likewise. - * gcc.c-torture/execute/931004-6.c: Likewise. - * gcc.c-torture/execute/931004-7.c: Likewise. - * gcc.c-torture/execute/931004-8.c: Likewise. - * gcc.c-torture/execute/931004-9.c: Likewise. - * gcc.c-torture/execute/931005-1.c: Likewise. - * gcc.c-torture/execute/931110-1.c: Likewise. - * gcc.c-torture/execute/931110-2.c: Likewise. - * gcc.c-torture/execute/941014-1.c: Likewise. - * gcc.c-torture/execute/941015-1.c: Likewise. - * gcc.c-torture/execute/941021-1.c: Likewise. - * gcc.c-torture/execute/941025-1.c: Likewise. - * gcc.c-torture/execute/941031-1.c: Likewise. - * gcc.c-torture/execute/950221-1.c: Likewise. - * gcc.c-torture/execute/950426-2.c: Likewise. - * gcc.c-torture/execute/950503-1.c: Likewise. - * gcc.c-torture/execute/950511-1.c: Likewise. - * gcc.c-torture/execute/950607-1.c: Likewise. - * gcc.c-torture/execute/950607-2.c: Likewise. - * gcc.c-torture/execute/950612-1.c: Likewise. - * gcc.c-torture/execute/950628-1.c: Likewise. - * gcc.c-torture/execute/950704-1.c: Likewise. - * gcc.c-torture/execute/950706-1.c: Likewise. - * gcc.c-torture/execute/950710-1.c: Likewise. - * gcc.c-torture/execute/950714-1.c: Likewise. - * gcc.c-torture/execute/950809-1.c: Likewise. - * gcc.c-torture/execute/950906-1.c: Likewise. - * gcc.c-torture/execute/950915-1.c: Likewise. - * gcc.c-torture/execute/950929-1.c: Likewise. - * gcc.c-torture/execute/951003-1.c: Likewise. - * gcc.c-torture/execute/951115-1.c: Likewise. - * gcc.c-torture/execute/951204-1.c: Likewise. - * gcc.c-torture/execute/960116-1.c: Likewise. - * gcc.c-torture/execute/960117-1.c: Likewise. - * gcc.c-torture/execute/960209-1.c: Likewise. - * gcc.c-torture/execute/960215-1.c: Likewise. - * gcc.c-torture/execute/960219-1.c: Likewise. - * gcc.c-torture/execute/960301-1.c: Likewise. - * gcc.c-torture/execute/960302-1.c: Likewise. - * gcc.c-torture/execute/960311-1.c: Likewise. - * gcc.c-torture/execute/960311-2.c: Likewise. - * gcc.c-torture/execute/960311-3.c: Likewise. - * gcc.c-torture/execute/960312-1.c: Likewise. - * gcc.c-torture/execute/960317-1.c: Likewise. - * gcc.c-torture/execute/960321-1.c: Likewise. - * gcc.c-torture/execute/960326-1.c: Likewise. - * gcc.c-torture/execute/960327-1.c: Likewise. - * gcc.c-torture/execute/960405-1.c: Likewise. - * gcc.c-torture/execute/960416-1.c: Likewise. - * gcc.c-torture/execute/960419-1.c: Likewise. - * gcc.c-torture/execute/960419-2.c: Likewise. - * gcc.c-torture/execute/960512-1.c: Likewise. - * gcc.c-torture/execute/960513-1.c: Likewise. - * gcc.c-torture/execute/960608-1.c: Likewise. - * gcc.c-torture/execute/960801-1.c: Likewise. - * gcc.c-torture/execute/960802-1.c: Likewise. - * gcc.c-torture/execute/960909-1.c: Likewise. - * gcc.c-torture/execute/961004-1.c: Likewise. - * gcc.c-torture/execute/961017-1.c: Likewise. - * gcc.c-torture/execute/961017-2.c: Likewise. - * gcc.c-torture/execute/961026-1.c: Likewise. - * gcc.c-torture/execute/961122-1.c: Likewise. - * gcc.c-torture/execute/961122-2.c: Likewise. - * gcc.c-torture/execute/961125-1.c: Likewise. - * gcc.c-torture/execute/961206-1.c: Likewise. - * gcc.c-torture/execute/961213-1.c: Likewise. - * gcc.c-torture/execute/970214-1.c: Likewise. - * gcc.c-torture/execute/970214-2.c: Likewise. - * gcc.c-torture/execute/970217-1.c: Likewise. - * gcc.c-torture/execute/970923-1.c: Likewise. - * gcc.c-torture/execute/980205.c: Likewise. - * gcc.c-torture/execute/980223.c: Likewise. - * gcc.c-torture/execute/980424-1.c: Likewise. - * gcc.c-torture/execute/980505-1.c: Likewise. - * gcc.c-torture/execute/980505-2.c: Likewise. - * gcc.c-torture/execute/980506-1.c: Likewise. - * gcc.c-torture/execute/980506-2.c: Likewise. - * gcc.c-torture/execute/980506-3.c: Likewise. - * gcc.c-torture/execute/980526-1.c: Likewise. - * gcc.c-torture/execute/980526-2.c: Likewise. - * gcc.c-torture/execute/980526-3.c: Likewise. - * gcc.c-torture/execute/980602-1.c: Likewise. - * gcc.c-torture/execute/980602-2.c: Likewise. - * gcc.c-torture/execute/980604-1.c: Likewise. - * gcc.c-torture/execute/980605-1.c: Likewise. - * gcc.c-torture/execute/980612-1.c: Likewise. - * gcc.c-torture/execute/980617-1.c: Likewise. - * gcc.c-torture/execute/980618-1.c: Likewise. - * gcc.c-torture/execute/980701-1.c: Likewise. - * gcc.c-torture/execute/980709-1.c: Likewise. - * gcc.c-torture/execute/980716-1.c: Likewise. - * gcc.c-torture/execute/980929-1.c: Likewise. - * gcc.c-torture/execute/981001-1.c: Likewise. - * gcc.c-torture/execute/981019-1.c: Likewise. - * gcc.c-torture/execute/981130-1.c: Likewise. - * gcc.c-torture/execute/981206-1.c: Likewise. - * gcc.c-torture/execute/990106-2.c: Likewise. - * gcc.c-torture/execute/990117-1.c: Likewise. - * gcc.c-torture/execute/990128-1.c: Likewise. - * gcc.c-torture/execute/990130-1.c: Likewise. - * gcc.c-torture/execute/990208-1.c: Likewise. - * gcc.c-torture/execute/990222-1.c: Likewise. - * gcc.c-torture/execute/990324-1.c: Likewise. - * gcc.c-torture/execute/990326-1.c: Likewise. - * gcc.c-torture/execute/990404-1.c: Likewise. - * gcc.c-torture/execute/990513-1.c: Likewise. - * gcc.c-torture/execute/990524-1.c: Likewise. - * gcc.c-torture/execute/990525-1.c: Likewise. - * gcc.c-torture/execute/990525-2.c: Likewise. - * gcc.c-torture/execute/990527-1.c: Likewise. - * gcc.c-torture/execute/990531-1.c: Likewise. - * gcc.c-torture/execute/990604-1.c: Likewise. - * gcc.c-torture/execute/990804-1.c: Likewise. - * gcc.c-torture/execute/990811-1.c: Likewise. - * gcc.c-torture/execute/990826-0.c: Likewise. - * gcc.c-torture/execute/990827-1.c: Likewise. - * gcc.c-torture/execute/990829-1.c: Likewise. - * gcc.c-torture/execute/990923-1.c: Likewise. - * gcc.c-torture/execute/991014-1.c: Likewise. - * gcc.c-torture/execute/991016-1.c: Likewise. - * gcc.c-torture/execute/991019-1.c: Likewise. - * gcc.c-torture/execute/991023-1.c: Likewise. - * gcc.c-torture/execute/991030-1.c: Likewise. - * gcc.c-torture/execute/991112-1.c: Likewise. - * gcc.c-torture/execute/991118-1.c: Likewise. - * gcc.c-torture/execute/991201-1.c: Likewise. - * gcc.c-torture/execute/991202-1.c: Likewise. - * gcc.c-torture/execute/991202-2.c: Likewise. - * gcc.c-torture/execute/991202-3.c: Likewise. - * gcc.c-torture/execute/991216-1.c: Likewise. - * gcc.c-torture/execute/991216-2.c: Likewise. - * gcc.c-torture/execute/991216-4.c: Likewise. - * gcc.c-torture/execute/991221-1.c: Likewise. - * gcc.c-torture/execute/991227-1.c: Likewise. - * gcc.c-torture/execute/991228-1.c: Likewise. - * gcc.c-torture/execute/align-1.c: Likewise. - * gcc.c-torture/execute/align-2.c: Likewise. - * gcc.c-torture/execute/align-3.c: Likewise. - * gcc.c-torture/execute/alloca-1.c: Likewise. - * gcc.c-torture/execute/anon-1.c: Likewise. - * gcc.c-torture/execute/arith-1.c: Likewise. - * gcc.c-torture/execute/arith-rand-ll.c: Likewise. - * gcc.c-torture/execute/arith-rand.c: Likewise. - * gcc.c-torture/execute/bf-layout-1.c: Likewise. - * gcc.c-torture/execute/bf-pack-1.c: Likewise. - * gcc.c-torture/execute/bf-sign-1.c: Likewise. - * gcc.c-torture/execute/bf-sign-2.c: Likewise. - * gcc.c-torture/execute/bf64-1.c: Likewise. - * gcc.c-torture/execute/builtin-constant.c: Likewise. - * gcc.c-torture/execute/builtin-prefetch-1.c: Likewise. - * gcc.c-torture/execute/builtin-prefetch-2.c: Likewise. - * gcc.c-torture/execute/builtin-prefetch-3.c: Likewise. - * gcc.c-torture/execute/builtin-prefetch-4.c: Likewise. - * gcc.c-torture/execute/builtin-prefetch-5.c: Likewise. - * gcc.c-torture/execute/builtin-prefetch-6.c: Likewise. - * gcc.c-torture/execute/builtin-types-compatible-p.c: Likewise. - * gcc.c-torture/execute/cbrt.c: Likewise. - * gcc.c-torture/execute/complex-1.c: Likewise. - * gcc.c-torture/execute/complex-2.c: Likewise. - * gcc.c-torture/execute/complex-3.c: Likewise. - * gcc.c-torture/execute/complex-4.c: Likewise. - * gcc.c-torture/execute/complex-5.c: Likewise. - * gcc.c-torture/execute/compndlit-1.c: Likewise. - * gcc.c-torture/execute/conversion.c: Likewise. - * gcc.c-torture/execute/cvt-1.c: Likewise. - * gcc.c-torture/execute/divconst-1.c: Likewise. - * gcc.c-torture/execute/divconst-2.c: Likewise. - * gcc.c-torture/execute/divconst-3.c: Likewise. - * gcc.c-torture/execute/enum-1.c: Likewise. - * gcc.c-torture/execute/enum-2.c: Likewise. - * gcc.c-torture/execute/extzvsi.c: Likewise. - * gcc.c-torture/execute/frame-address.c: Likewise. - * gcc.c-torture/execute/func-ptr-1.c: Likewise. - * gcc.c-torture/execute/gofast.c: Likewise. - * gcc.c-torture/execute/ieee/20000320-1.c: Likewise. - * gcc.c-torture/execute/ieee/20001122-1.c: Likewise. - * gcc.c-torture/execute/ieee/20010226-1.c: Likewise. - * gcc.c-torture/execute/ieee/20011123-1.c: Likewise. - * gcc.c-torture/execute/ieee/920518-1.c: Likewise. - * gcc.c-torture/execute/ieee/920810-1.c: Likewise. - * gcc.c-torture/execute/ieee/930529-1.c: Likewise. - * gcc.c-torture/execute/ieee/980619-1.c: Likewise. - * gcc.c-torture/execute/ieee/acc1.c: Likewise. - * gcc.c-torture/execute/ieee/acc2.c: Likewise. - * gcc.c-torture/execute/ieee/fp-cmp-1.c: Likewise. - * gcc.c-torture/execute/ieee/fp-cmp-2.c: Likewise. - * gcc.c-torture/execute/ieee/fp-cmp-3.c: Likewise. - * gcc.c-torture/execute/ieee/fp-cmp-4.c: Likewise. - * gcc.c-torture/execute/ieee/fp-cmp-5.c: Likewise. - * gcc.c-torture/execute/ieee/fp-cmp-6.c: Likewise. - * gcc.c-torture/execute/ieee/fp-cmp-8.c: Likewise. - * gcc.c-torture/execute/ieee/fp-cmp-9.c: Likewise. - * gcc.c-torture/execute/ieee/hugeval.c: Likewise. - * gcc.c-torture/execute/ieee/minuszero.c: Likewise. - * gcc.c-torture/execute/ieee/mul-subnormal-single-1.c: Likewise. - * gcc.c-torture/execute/ieee/mzero2.c: Likewise. - * gcc.c-torture/execute/ieee/mzero3.c: Likewise. - * gcc.c-torture/execute/ieee/mzero5.c: Likewise. - * gcc.c-torture/execute/ieee/mzero6.c: Likewise. - * gcc.c-torture/execute/ieee/pr28634.c: Likewise. - * gcc.c-torture/execute/ieee/rbug.c: Likewise. - * gcc.c-torture/execute/index-1.c: Likewise. - * gcc.c-torture/execute/longlong.c: Likewise. - * gcc.c-torture/execute/loop-1.c: Likewise. - * gcc.c-torture/execute/loop-10.c: Likewise. - * gcc.c-torture/execute/loop-11.c: Likewise. - * gcc.c-torture/execute/loop-13.c: Likewise. - * gcc.c-torture/execute/loop-14.c: Likewise. - * gcc.c-torture/execute/loop-15.c: Likewise. - * gcc.c-torture/execute/loop-2b.c: Likewise. - * gcc.c-torture/execute/loop-2e.c: Likewise. - * gcc.c-torture/execute/loop-4.c: Likewise. - * gcc.c-torture/execute/loop-4b.c: Likewise. - * gcc.c-torture/execute/loop-5.c: Likewise. - * gcc.c-torture/execute/loop-6.c: Likewise. - * gcc.c-torture/execute/loop-7.c: Likewise. - * gcc.c-torture/execute/loop-8.c: Likewise. - * gcc.c-torture/execute/memcpy-1.c: Likewise. - * gcc.c-torture/execute/memcpy-2.c: Likewise. - * gcc.c-torture/execute/memcpy-bi.c: Likewise. - * gcc.c-torture/execute/memset-1.c: Likewise. - * gcc.c-torture/execute/memset-2.c: Likewise. - * gcc.c-torture/execute/memset-3.c: Likewise. - * gcc.c-torture/execute/multdi-1.c: Likewise. - * gcc.c-torture/execute/multi-ix.c: Likewise. - * gcc.c-torture/execute/nest-stdar-1.c: Likewise. - * gcc.c-torture/execute/nestfunc-1.c: Likewise. - * gcc.c-torture/execute/nestfunc-2.c: Likewise. - * gcc.c-torture/execute/nestfunc-3.c: Likewise. - * gcc.c-torture/execute/nestfunc-4.c: Likewise. - * gcc.c-torture/execute/packed-1.c: Likewise. - * gcc.c-torture/execute/pending-4.c: Likewise. - * gcc.c-torture/execute/pr15262-1.c: Likewise. - * gcc.c-torture/execute/pr15262-2.c: Likewise. - * gcc.c-torture/execute/pr15262.c: Likewise. - * gcc.c-torture/execute/pr15296.c: Likewise. - * gcc.c-torture/execute/pr17252.c: Likewise. - * gcc.c-torture/execute/pr17377.c: Likewise. - * gcc.c-torture/execute/pr19606.c: Likewise. - * gcc.c-torture/execute/pr21964-1.c: Likewise. - * gcc.c-torture/execute/pr22061-2.c: Likewise. - * gcc.c-torture/execute/pr22061-3.c: Likewise. - * gcc.c-torture/execute/pr22061-4.c: Likewise. - * gcc.c-torture/execute/pr23467.c: Likewise. - * gcc.c-torture/execute/pr27073.c: Likewise. - * gcc.c-torture/execute/pr27364.c: Likewise. - * gcc.c-torture/execute/pr28403.c: Likewise. - * gcc.c-torture/execute/pr31605.c: Likewise. - * gcc.c-torture/execute/pr38969.c: Likewise. - * gcc.c-torture/execute/pr40657.c: Likewise. - * gcc.c-torture/execute/pr44575.c: Likewise. - * gcc.c-torture/execute/pr56799.c: Likewise. - * gcc.c-torture/execute/pr58640.c: Likewise. - * gcc.c-torture/execute/pr71335.c: Likewise. - * gcc.c-torture/execute/ptr-arith-1.c: Likewise. - * gcc.c-torture/execute/regstack-1.c: Likewise. - * gcc.c-torture/execute/scope-1.c: Likewise. - * gcc.c-torture/execute/simd-1.c: Likewise. - * gcc.c-torture/execute/simd-2.c: Likewise. - * gcc.c-torture/execute/simd-4.c: Likewise. - * gcc.c-torture/execute/simd-5.c: Likewise. - * gcc.c-torture/execute/strcmp-1.c: Likewise. - * gcc.c-torture/execute/strcpy-1.c: Likewise. - * gcc.c-torture/execute/strct-pack-1.c: Likewise. - * gcc.c-torture/execute/strct-pack-2.c: Likewise. - * gcc.c-torture/execute/strct-pack-4.c: Likewise. - * gcc.c-torture/execute/strct-stdarg-1.c: Likewise. - * gcc.c-torture/execute/strct-varg-1.c: Likewise. - * gcc.c-torture/execute/strlen-1.c: Likewise. - * gcc.c-torture/execute/strncmp-1.c: Likewise. - * gcc.c-torture/execute/struct-ini-1.c: Likewise. - * gcc.c-torture/execute/struct-ini-2.c: Likewise. - * gcc.c-torture/execute/struct-ini-3.c: Likewise. - * gcc.c-torture/execute/struct-ini-4.c: Likewise. - * gcc.c-torture/execute/struct-ret-1.c: Likewise. - * gcc.c-torture/execute/struct-ret-2.c: Likewise. - * gcc.c-torture/execute/usmul.c: Likewise. - * gcc.c-torture/execute/va-arg-1.c: Likewise. - * gcc.c-torture/execute/va-arg-10.c: Likewise. - * gcc.c-torture/execute/va-arg-11.c: Likewise. - * gcc.c-torture/execute/va-arg-12.c: Likewise. - * gcc.c-torture/execute/va-arg-13.c: Likewise. - * gcc.c-torture/execute/va-arg-14.c: Likewise. - * gcc.c-torture/execute/va-arg-15.c: Likewise. - * gcc.c-torture/execute/va-arg-16.c: Likewise. - * gcc.c-torture/execute/va-arg-17.c: Likewise. - * gcc.c-torture/execute/va-arg-18.c: Likewise. - * gcc.c-torture/execute/va-arg-19.c: Likewise. - * gcc.c-torture/execute/va-arg-2.c: Likewise. - * gcc.c-torture/execute/va-arg-20.c: Likewise. - * gcc.c-torture/execute/va-arg-23.c: Likewise. - * gcc.c-torture/execute/va-arg-26.c: Likewise. - * gcc.c-torture/execute/va-arg-4.c: Likewise. - * gcc.c-torture/execute/va-arg-5.c: Likewise. - * gcc.c-torture/execute/va-arg-6.c: Likewise. - * gcc.c-torture/execute/va-arg-9.c: Likewise. - * gcc.c-torture/execute/widechar-1.c: Likewise. - * gcc.c-torture/execute/widechar-2.c: Likewise. - -2023-11-13 Florian Weimer - - * gcc.c-torture/compile/386.c: Compile with -std=gnu89. - * gcc.c-torture/compile/BUG1.c: Likewise. - * gcc.c-torture/compile/BUG11.c: Likewise. - * gcc.c-torture/compile/BUG16.c: Likewise. - * gcc.c-torture/compile/BUG2.c: Likewise. - * gcc.c-torture/compile/BUG24.c: Likewise. - * gcc.c-torture/compile/BUG25.c: Likewise. - * gcc.c-torture/compile/BUG3.c: Likewise. - * gcc.c-torture/compile/DFcmp.c: Likewise. - * gcc.c-torture/compile/HIcmp.c: Likewise. - * gcc.c-torture/compile/HIset.c: Likewise. - * gcc.c-torture/compile/QIcmp.c: Likewise. - * gcc.c-torture/compile/QIset.c: Likewise. - * gcc.c-torture/compile/SFset.c: Likewise. - * gcc.c-torture/compile/SIcmp.c: Likewise. - * gcc.c-torture/compile/SIset.c: Likewise. - * gcc.c-torture/compile/UHIcmp.c: Likewise. - * gcc.c-torture/compile/UQIcmp.c: Likewise. - * gcc.c-torture/compile/USIcmp.c: Likewise. - * gcc.c-torture/compile/a.c: Likewise. - * gcc.c-torture/compile/a1.c: Likewise. - * gcc.c-torture/compile/a3.c: Likewise. - * gcc.c-torture/compile/aa.c: Likewise. - * gcc.c-torture/compile/aaa.c: Likewise. - * gcc.c-torture/compile/abs.c: Likewise. - * gcc.c-torture/compile/ac.c: Likewise. - * gcc.c-torture/compile/acc.c: Likewise. - * gcc.c-torture/compile/add.c: Likewise. - * gcc.c-torture/compile/add386.c: Likewise. - * gcc.c-torture/compile/addcc.c: Likewise. - * gcc.c-torture/compile/andm.c: Likewise. - * gcc.c-torture/compile/andmem.c: Likewise. - * gcc.c-torture/compile/andn.c: Likewise. - * gcc.c-torture/compile/andok.c: Likewise. - * gcc.c-torture/compile/andsi.c: Likewise. - * gcc.c-torture/compile/andsparc.c: Likewise. - * gcc.c-torture/compile/aos.c: Likewise. - * gcc.c-torture/compile/arr.c: Likewise. - * gcc.c-torture/compile/as.c: Likewise. - * gcc.c-torture/compile/ase.c: Likewise. - * gcc.c-torture/compile/band.c: Likewise. - * gcc.c-torture/compile/bb0.c: Likewise. - * gcc.c-torture/compile/bb1.c: Likewise. - * gcc.c-torture/compile/bc.c: Likewise. - * gcc.c-torture/compile/bcopy.c: Likewise. - * gcc.c-torture/compile/bfx.c: Likewise. - * gcc.c-torture/compile/bge.c: Likewise. - * gcc.c-torture/compile/bit.c: Likewise. - * gcc.c-torture/compile/bitf.c: Likewise. - * gcc.c-torture/compile/bitw.c: Likewise. - * gcc.c-torture/compile/blk.c: Likewise. - * gcc.c-torture/compile/bt386.c: Likewise. - * gcc.c-torture/compile/bug.c: Likewise. - * gcc.c-torture/compile/buns.c: Likewise. - * gcc.c-torture/compile/c.c: Likewise. - * gcc.c-torture/compile/c2.c: Likewise. - * gcc.c-torture/compile/call.c: Likewise. - * gcc.c-torture/compile/callind.c: Likewise. - * gcc.c-torture/compile/calls-void.c: Likewise. - * gcc.c-torture/compile/calls.c: Likewise. - * gcc.c-torture/compile/cc.c: Likewise. - * gcc.c-torture/compile/cmb.c: Likewise. - * gcc.c-torture/compile/cmpsi386.c: Likewise. - * gcc.c-torture/compile/cmul.c: Likewise. - * gcc.c-torture/compile/comb.c: Likewise. - * gcc.c-torture/compile/consec.c: Likewise. - * gcc.c-torture/compile/const.c: Likewise. - * gcc.c-torture/compile/conv_tst.c: Likewise. - * gcc.c-torture/compile/cvt.c: Likewise. - * gcc.c-torture/compile/dbl_parm.c: Likewise. - * gcc.c-torture/compile/dblbug.c: Likewise. - * gcc.c-torture/compile/dead.c: Likewise. - * gcc.c-torture/compile/delay.c: Likewise. - * gcc.c-torture/compile/di.c: Likewise. - * gcc.c-torture/compile/div.c: Likewise. - * gcc.c-torture/compile/dm.c: Likewise. - * gcc.c-torture/compile/dshift.c: Likewise. - * gcc.c-torture/compile/e.c: Likewise. - * gcc.c-torture/compile/ex.c: Likewise. - * gcc.c-torture/compile/ext.c: Likewise. - * gcc.c-torture/compile/flo.c: Likewise. - * gcc.c-torture/compile/forgetcc.c: Likewise. - * gcc.c-torture/compile/g.c: Likewise. - * gcc.c-torture/compile/gen_tst.c: Likewise. - * gcc.c-torture/compile/gronk.c: Likewise. - * gcc.c-torture/compile/hi.c: Likewise. - * gcc.c-torture/compile/i.c: Likewise. - * gcc.c-torture/compile/icmp.c: Likewise. - * gcc.c-torture/compile/ifreg.c: Likewise. - * gcc.c-torture/compile/jumptab.c: Likewise. - * gcc.c-torture/compile/l.c: Likewise. - * gcc.c-torture/compile/layout.c: Likewise. - * gcc.c-torture/compile/lll.c: Likewise. - * gcc.c-torture/compile/load8.c: Likewise. - * gcc.c-torture/compile/loadhicc.c: Likewise. - * gcc.c-torture/compile/log2.c: Likewise. - * gcc.c-torture/compile/logic.c: Likewise. - * gcc.c-torture/compile/loop-1.c: Likewise. - * gcc.c-torture/compile/loop386.c: Likewise. - * gcc.c-torture/compile/lop.c: Likewise. - * gcc.c-torture/compile/m1.c: Likewise. - * gcc.c-torture/compile/m5.c: Likewise. - * gcc.c-torture/compile/m68.c: Likewise. - * gcc.c-torture/compile/mbyte.c: Likewise. - * gcc.c-torture/compile/mcmp.c: Likewise. - * gcc.c-torture/compile/mm.c: Likewise. - * gcc.c-torture/compile/mod.c: Likewise. - * gcc.c-torture/compile/modcc.c: Likewise. - * gcc.c-torture/compile/move.c: Likewise. - * gcc.c-torture/compile/move_qhi.c: Likewise. - * gcc.c-torture/compile/mregtst.c: Likewise. - * gcc.c-torture/compile/mu.c: Likewise. - * gcc.c-torture/compile/mword.c: Likewise. - * gcc.c-torture/compile/n.c: Likewise. - * gcc.c-torture/compile/n1.c: Likewise. - * gcc.c-torture/compile/nand.c: Likewise. - * gcc.c-torture/compile/neg.c: Likewise. - * gcc.c-torture/compile/o.c: Likewise. - * gcc.c-torture/compile/omit.c: Likewise. - * gcc.c-torture/compile/opout.c: Likewise. - * gcc.c-torture/compile/opt.c: Likewise. - * gcc.c-torture/compile/or.c: Likewise. - * gcc.c-torture/compile/or386.c: Likewise. - * gcc.c-torture/compile/p.c: Likewise. - * gcc.c-torture/compile/parms.c: Likewise. - * gcc.c-torture/compile/pass.c: Likewise. - * gcc.c-torture/compile/pp.c: Likewise. - * gcc.c-torture/compile/pret-arg.c: Likewise. - * gcc.c-torture/compile/pyr.c: Likewise. - * gcc.c-torture/compile/pyr2.c: Likewise. - * gcc.c-torture/compile/r.c: Likewise. - * gcc.c-torture/compile/r1.c: Likewise. - * gcc.c-torture/compile/rmsc.c: Likewise. - * gcc.c-torture/compile/round.c: Likewise. - * gcc.c-torture/compile/sc.c: Likewise. - * gcc.c-torture/compile/scal.c: Likewise. - * gcc.c-torture/compile/scc.c: Likewise. - * gcc.c-torture/compile/scond.c: Likewise. - * gcc.c-torture/compile/seq.c: Likewise. - * gcc.c-torture/compile/set386.c: Likewise. - * gcc.c-torture/compile/set88.c: Likewise. - * gcc.c-torture/compile/sh.c: Likewise. - * gcc.c-torture/compile/shand.c: Likewise. - * gcc.c-torture/compile/shft.c: Likewise. - * gcc.c-torture/compile/shift.c: Likewise. - * gcc.c-torture/compile/signext.c: Likewise. - * gcc.c-torture/compile/signext2.c: Likewise. - * gcc.c-torture/compile/simple.c: Likewise. - * gcc.c-torture/compile/sparcbug.c: Likewise. - * gcc.c-torture/compile/stor.c: Likewise. - * gcc.c-torture/compile/str.c: Likewise. - * gcc.c-torture/compile/structret.c: Likewise. - * gcc.c-torture/compile/sub32.c: Likewise. - * gcc.c-torture/compile/subcc.c: Likewise. - * gcc.c-torture/compile/subcse.c: Likewise. - * gcc.c-torture/compile/sym.c: Likewise. - * gcc.c-torture/compile/symconst.c: Likewise. - * gcc.c-torture/compile/t.c: Likewise. - * gcc.c-torture/compile/test-flow.c: Likewise. - * gcc.c-torture/compile/test-loop.c: Likewise. - * gcc.c-torture/compile/test.c: Likewise. - * gcc.c-torture/compile/tmp.c: Likewise. - * gcc.c-torture/compile/trivial.c: Likewise. - * gcc.c-torture/compile/trunc.c: Likewise. - * gcc.c-torture/compile/u.c: Likewise. - * gcc.c-torture/compile/uns.c: Likewise. - * gcc.c-torture/compile/uns_tst.c: Likewise. - * gcc.c-torture/compile/uuarg.c: Likewise. - * gcc.c-torture/compile/volatile-1.c: Likewise. - * gcc.c-torture/compile/ww.c: Likewise. - * gcc.c-torture/compile/x.c: Likewise. - * gcc.c-torture/compile/xb.c: Likewise. - * gcc.c-torture/compile/xc.c: Likewise. - * gcc.c-torture/compile/xdi.c: Likewise. - * gcc.c-torture/compile/xfoo.c: Likewise. - * gcc.c-torture/compile/xi.c: Likewise. - * gcc.c-torture/compile/xlop.c: Likewise. - * gcc.c-torture/compile/xneg.c: Likewise. - * gcc.c-torture/compile/xopt.c: Likewise. - * gcc.c-torture/compile/xor.c: Likewise. - * gcc.c-torture/compile/xorn.c: Likewise. - * gcc.c-torture/compile/xp.c: Likewise. - * gcc.c-torture/compile/xpp.c: Likewise. - * gcc.c-torture/compile/xs.c: Likewise. - * gcc.c-torture/compile/xsh.c: Likewise. - * gcc.c-torture/compile/xzz.c: Likewise. - * gcc.c-torture/compile/zero-strct-1.c: Likewise. - * gcc.c-torture/execute/20000717-3.c: Likewise. - * gcc.c-torture/execute/920409-1.c: Likewise. - * gcc.c-torture/execute/920411-1.c: Likewise. - * gcc.c-torture/execute/920415-1.c: Likewise. - * gcc.c-torture/execute/920428-1.c: Likewise. - * gcc.c-torture/execute/920428-2.c: Likewise. - * gcc.c-torture/execute/920429-1.c: Likewise. - * gcc.c-torture/execute/920501-1.c: Likewise. - * gcc.c-torture/execute/920501-7.c: Likewise. - * gcc.c-torture/execute/920501-9.c: Likewise. - * gcc.c-torture/execute/920520-1.c: Likewise. - * gcc.c-torture/execute/920603-1.c: Likewise. - * gcc.c-torture/execute/920721-2.c: Likewise. - * gcc.c-torture/execute/920721-3.c: Likewise. - * gcc.c-torture/execute/920728-1.c: Likewise. - * gcc.c-torture/execute/920730-1.c: Likewise. - * gcc.c-torture/execute/920731-1.c: Likewise. - * gcc.c-torture/execute/920812-1.c: Likewise. - * gcc.c-torture/execute/920909-1.c: Likewise. - * gcc.c-torture/execute/921013-1.c: Likewise. - * gcc.c-torture/execute/921017-1.c: Likewise. - * gcc.c-torture/execute/921123-1.c: Likewise. - * gcc.c-torture/execute/921124-1.c: Likewise. - * gcc.c-torture/execute/921202-1.c: Likewise. - * gcc.c-torture/execute/921207-1.c: Likewise. - * gcc.c-torture/execute/921208-2.c: Likewise. - * gcc.c-torture/execute/921215-1.c: Likewise. - * gcc.c-torture/execute/921218-1.c: Likewise. - * gcc.c-torture/execute/921218-2.c: Likewise. - * gcc.c-torture/execute/930106-1.c: Likewise. - * gcc.c-torture/execute/930429-2.c: Likewise. - * gcc.c-torture/execute/930513-1.c: Likewise. - * gcc.c-torture/execute/930513-2.c: Likewise. - * gcc.c-torture/execute/930518-1.c: Likewise. - * gcc.c-torture/execute/930527-1.c: Likewise. - * gcc.c-torture/execute/930603-1.c: Likewise. - * gcc.c-torture/execute/930603-3.c: Likewise. - * gcc.c-torture/execute/930621-1.c: Likewise. - * gcc.c-torture/execute/930622-1.c: Likewise. - * gcc.c-torture/execute/930630-1.c: Likewise. - * gcc.c-torture/execute/930713-1.c: Likewise. - * gcc.c-torture/execute/930718-1.c: Likewise. - * gcc.c-torture/execute/930719-1.c: Likewise. - * gcc.c-torture/execute/930916-1.c: Likewise. - * gcc.c-torture/execute/930921-1.c: Likewise. - * gcc.c-torture/execute/930929-1.c: Likewise. - * gcc.c-torture/execute/930930-1.c: Likewise. - * gcc.c-torture/execute/931009-1.c: Likewise. - * gcc.c-torture/execute/931012-1.c: Likewise. - * gcc.c-torture/execute/931031-1.c: Likewise. - * gcc.c-torture/execute/931102-1.c: Likewise. - * gcc.c-torture/execute/931102-2.c: Likewise. - * gcc.c-torture/execute/931228-1.c: Likewise. - * gcc.c-torture/execute/940115-1.c: Likewise. - * gcc.c-torture/execute/940122-1.c: Likewise. - * gcc.c-torture/execute/941202-1.c: Likewise. - * gcc.c-torture/execute/950605-1.c: Likewise. - * gcc.c-torture/execute/960830-1.c: Likewise. - * gcc.c-torture/execute/961112-1.c: Likewise. - * gcc.c-torture/execute/990106-1.c: Likewise. - * gcc.c-torture/execute/cmpdi-1.c: Likewise. - * gcc.c-torture/execute/comp-goto-2.c: Likewise. - * gcc.c-torture/execute/dbra-1.c: Likewise. - * gcc.c-torture/execute/inst-check.c: Likewise. - * gcc.c-torture/execute/int-compare.c: Likewise. - * gcc.c-torture/execute/loop-2.c: Likewise. - * gcc.c-torture/execute/loop-2d.c: Likewise. - * gcc.c-torture/execute/loop-3.c: Likewise. - * gcc.c-torture/execute/loop-3b.c: Likewise. - * gcc.c-torture/execute/loop-3c.c: Likewise. - * gcc.c-torture/execute/mod-1.c: Likewise. - * gcc.c-torture/execute/strct-pack-3.c: Likewise. - * gcc.c-torture/execute/tstdi-1.c: Likewise. - -2023-11-13 Florian Weimer - - * gcc.c-torture/compile/BUG17.c (main): Add missing int - return type and missing void type. - * gcc.c-torture/compile/BUG18.c (main): Likewise. Call - __builtin_printf instead of printf. - * gcc.c-torture/compile/BUG21.c (Nase): Add missing void - types. - * gcc.c-torture/compile/BUG23.c (main): Add missing int - return type and missing void type. - * gcc.c-torture/compile/BUG5.c (bar): Call - __builtin_printf instead of printf. - * gcc.c-torture/compile/BUG6.c (main): Likewise. Add missing - int return type and missing void type. - * gcc.c-torture/compile/b.c (main): Add missing int - return type and missing void type. - * gcc.c-torture/compile/b1.c (main): Likewise. Call - __builtin_printf instead of printf. - * gcc.c-torture/compile/b88.c (main): Add missing int - return type and missing void type. - * gcc.c-torture/compile/bbb.c (flset): Add missing void - return type and switch to prototype style. - * gcc.c-torture/compile/bf.c (clr, atoi): Declare. - (main): Add missing int return type. Call - __builtin_printf instead of printf. - * gcc.c-torture/compile/bt.c (main): Add missing int - return type and missing void type. - * gcc.c-torture/compile/charmtst.c (foo, bar): Declare. - (c_move_tst): Add missing int return type. - * gcc.c-torture/compile/cmpdi-1.c (f, g): Add missing int - return type. - * gcc.c-torture/compile/cmphi.c (foo): Likewise. - * gcc.c-torture/compile/conv.c (main): Likewise. Add missing - void type. Call __builtin_printf instead of printf. - * gcc.c-torture/compile/ddd.c (main): Add missing int - return type and missing void type. - * gcc.c-torture/compile/dilayout.c (str, ll): Add missing - void return type. - * gcc.c-torture/compile/dimove.c (foo): Likewise. - * gcc.c-torture/compile/f2.c (foo): Likewise. - * gcc.c-torture/compile/flatten.c (main): Add missing int - return type and missing void type. - * gcc.c-torture/compile/fnul.c (main): Likewise. - Call __builtin_printf instead of printf. - * gcc.c-torture/compile/fq.c (expand_to_ascii): Add missing - void return type. - * gcc.c-torture/compile/funcptr-1.c (g): Call __builtin_printf - instead of printf. - (f): Likewise. Add missing void types. - * gcc.c-torture/compile/glob.c (foo): Add missing void types. - * gcc.c-torture/compile/goto-1.c (f): Likewise. - * gcc.c-torture/compile/i++.c (main): Call __builtin_printf - instead of printf. - * gcc.c-torture/compile/ic.c (foo): Add missing int return - type. - * gcc.c-torture/compile/iftrap-1.c (bar, baz): Declare. - (f4, f6): Call __builtin_abort instead of abort. - * gcc.c-torture/compile/iftrap-2.c (bar): Declare. - * gcc.c-torture/compile/jmp.c (foo): Add missing int types. - * gcc.c-torture/compile/labels-1.c (f): Add missing int - return type and missing void type. Call __builtin_abort - instead of abort. - * gcc.c-torture/compile/labels-2.c (f): Likewise. - * gcc.c-torture/compile/lbug.c (main): Add missing int - return type and missing void type. - * gcc.c-torture/compile/memtst.c (memtst): Add missing void - return type. - (main): Add missing int return type and missing void type. - Call __builtin_bzero instead of bzero. - * gcc.c-torture/compile/miscomp.c (main): Add missing int - return type and missing void type. Call __builtin_printf - instead of printf. - * gcc.c-torture/compile/msp.c (bar): Declare. - (foo): Add missing void types. - * gcc.c-torture/compile/mtst.c (foo): Add missing int return - type. - * gcc.c-torture/compile/packed-1.c (f): Add missing void - types. - * gcc.c-torture/compile/pr17119.c (func1, func2): Declare. - * gcc.c-torture/compile/pr18712.c (foo, foo1): Declare. - * gcc.c-torture/compile/pr20412.c (bar1, bar2, bar3): Declare. - * gcc.c-torture/compile/pr21532.c (foo): Declare. - * gcc.c-torture/compile/pr22398.c (main): Call __builtin_exit - instead of exit. - * gcc.c-torture/compile/pr24883.c (orec_str_list): Add missing - void return type. - * gcc.c-torture/compile/pr25311.c (use): Declare. - * gcc.c-torture/compile/pr25514.c (foo): Declare. - * gcc.c-torture/compile/pr26425.c (key_put): Declare. - * gcc.c-torture/compile/pr27087.c (g): Declare. - * gcc.c-torture/compile/pr27282.c (colrow_equal): Add missing - int return type. - * gcc.c-torture/compile/pr27907.c (fann_run): Add missing - void return type. - * gcc.c-torture/compile/pr28489.c (c_compile): Likewise. - * gcc.c-torture/compile/pr28776-1.c - (tree_contains_struct_check_failed): Declare. - * gcc.c-torture/compile/pr29128.c (process_main): Add missing - void return type. - * gcc.c-torture/compile/pr29945.c (unget_char): Declare. - (main) Add missing void return type. - * gcc.c-torture/compile/pr33382.c (show_configuration): Add - missing int types. - * gcc.c-torture/compile/pr36141.c (ffi_prep_closure_loc): Add - missing return type. - * gcc.c-torture/compile/pr36988.c (__writel): Declare. - * gcc.c-torture/compile/pr37026.c (foo): Declare. - * gcc.c-torture/compile/pr37285.c (_bfd_abort): Declare. - (_bfd_xcoff_canonicalize_dynamic_reloc): Add missing void - return type. - * gcc.c-torture/compile/pr38554.c (applyFunction): Add missing - void return type. - * gcc.c-torture/compile/pr42164.c (swp_offset, __BUG_ON): - Declare. - * gcc.c-torture/compile/pr44788.c (foo): Declare. - * gcc.c-torture/compile/pr47364-1.c (arc4_init): Add missing - void return type. - * gcc.c-torture/compile/pr48596.c (_nrrdCenter): Declare. - * gcc.c-torture/compile/rel.c (foo): Add missing int return - type. - * gcc.c-torture/compile/run.c (main): Likewise. Add missing - void type. - * gcc.c-torture/compile/sar.c (main): Likewise. - * gcc.c-torture/compile/selfrec.c (foo): Add missing int - parameter type. - * gcc.c-torture/compile/shloop.c (main): Add missing int - return type and missing void type. - * gcc.c-torture/compile/shm.c (foo): Add missing int return - type. - * gcc.c-torture/compile/sim.c (main): Likewise. Add missing - void type. - * gcc.c-torture/compile/simd-5.c (main): Add missing int - return type and missing void type. Call __builtin_printf - instead of printf. - * gcc.c-torture/compile/sne.c (foo): Add missing int return - type. - * gcc.c-torture/compile/sound.c (write): Declare. - (main): Add missing int return type and missing void type. - * gcc.c-torture/compile/speed.c (main): Likewise. - * gcc.c-torture/compile/store0.c (foo): Add missing void - return type. - * gcc.c-torture/compile/storecc.c (foo): Add missing int - return type. - * gcc.c-torture/compile/strcpy-1.c (rezero): Add missing - void types. - * gcc.c-torture/compile/stru.c (foo): Add missing void return - type. - * gcc.c-torture/compile/stuct.c (main): Add missing int return - type and missing void type. - * gcc.c-torture/compile/time.c (main): Likewise. - * gcc.c-torture/compile/unalign-1.c (f): Declare. - * gcc.c-torture/compile/v.c (main): Add missing int return - type. - * gcc.c-torture/compile/xcsebug.c (foo): Add missing void - types. - * gcc.c-torture/compile/xmtst.c (p2, p3, p4): Add missing - int return type. - * gcc.c-torture/compile/xz.c (foo): Add missing void return - type. - * gcc.c-torture/execute/loop-2f.c (f): Add missing void - return type. - (main): Return instead of calling exit. Call __builtin_abort - instead of abort. - * gcc.c-torture/execute/loop-2g.c (f): Add missing void - return type. - (main): Return instead of calling exit. Call __builtin_abort - instead of abort. - * gcc.dg/20020206-1.c: Build without -w. - (main): Call __builtin_abort instead of abort and - __builtin_exit instead of exit. - * gcc.dg/ipa/20040703-wpa.c (main): Call __builtin_abort - instead of abort and __builtin_exit instead of exit. - * gcc.dg/torture/pr84528.c (main): Add missing int and void - types. Call __builtin_abort instead of abort, and - __builtin_exit instead of exit. - * gcc.dg/tree-ssa/pr68619-2.c (vector_type_mode, real_inf): - Declare. - * gcc.dg/tree-ssa/pr68619-3.c (iterative_hash): Declare. - (e_hash): Call __builtin_abort instead of abort. - * gcc.dg/tree-ssa/pr68619-4.c (rhs_regno, foop, arf): Declare. - * gcc.dg/tree-ssa/pr68619-5.c (invert_tree_comparison) - (vector_type_mode): Declare. - * gcc.dg/tree-ssa/pr69270-2.c (arf, gimple_debug_bind_p) - (gimple_bb, gimple_assign_rhs_to_tree) - (is_gimple_min_invariant, unshare_expr): Declare. - * gcc.dg/tree-ssa/pr69270-3.c: (end_imm_use_stmt_p) - (next_imm_use_stmt, arf, boo, update_stmt): Declare. - * gcc.dg/tree-ssa/ranger-threader-2.c (gimple_call_arg): - Declare. - (gimple_op): Call __builtin_abort instead of abort. - * gcc.dg/tree-ssa/ranger-threader-3.c (expand_binop): Declare. - * gcc.dg/tree-ssa/ssa-dom-branch-1.c (arf, foo): Declare. - (try_combine): Add casts to rtx. - * gcc.dg/tree-ssa/split-path-3.c (vec_heap_o_reserve) - (VEC_int_base_length, bmp_iter_and_compl_init) - (bmp_iter_and_compl, bmp_iter_next, VEC_int_heap_free): - Declare. - * gcc.dg/tree-ssa/split-path-7.c (linit): Call - __builtin_strcmp instead of strcmp. - * gcc.dg/tree-ssa/ssa-dom-thread-12.c (gimple_call_arg): - Declare. - (gimple_op): Call __builtin_abort instead of abort. - * gcc.dg/tree-ssa/ssa-dom-thread-13.c (arf, error): Declare. - (convert): Call __builtin_abort instead of abort. - * gcc.dg/tree-ssa/ssa-dom-thread-14.c (exand_binop): Declare. - * gcc.dg/tree-ssa/ssa-dom-thread-15.c - (ix86_target_stack_probe, pro_epilogue_adjust_stack) - (gen_rtx_CONST_INT, fancy_abort): Declare. - * gcc.dg/tree-ssa/ssa-dse-25.c (foo): Call __builtin_memset - instead of memset. - * gcc.target/aarch64/aapcs64/va_arg-17.c - (init_data): Call __builtin_memset instead of memset. - * gcc.target/i386/pr69030.c (fn1): Call __builtin_printf instead - of printf. - -2023-11-13 Florian Weimer - - * gcc.c-torture/compile/20080613-1.c (hop_sendmsg): Call - __builtin_memcpy instead of memcpy. - * gcc.c-torture/compile/complex-6.c (bar): Declare. - * gcc.c-torture/compile/pr23445.c (__brelse): Declare. - * gcc.c-torture/compile/pr23946.c (long2str): Declare. - (avi_parse_comments): Call __builtin_memset instead of - memset. __builtin_malloc instead of malloc. Call - __builtin_memcpy instead of memcpy. Call - __builtin_free instead of free. - * gcc.c-torture/compile/pr31953.c (toggle_hexedit_mode): - Add missing void return type. - * gcc.c-torture/compile/pr32372.c (MPV_encode_init): Add - missing void return type. - * gcc.c-torture/compile/pr32355.c (sigemptyset): Declare. - (doSignalsSetup): Add missing void return type. - * gcc.c-torture/compile/pr32453.c (__assert_fail): Declare. - * gcc.c-torture/compile/pr32571.c (mthca_is_memfree) - (mthca_arbel_fmr_unmap, mthca_tavor_fmr_unmap) - (mthca_unmap_fmr): Declare. - * gcc.c-torture/compile/pr32584.c (sortpin): Add missing - void types. - * gcc.c-torture/compile/pr32919.c (read_int, _itoa_word) - (__strnlen): Declare. - * gcc.c-torture/compile/pr33173.c (test_dir_format): Add - missing void return type. Add missing int types. - * gcc.c-torture/compile/pr33855.c (cabsl): Declare. - * gcc.c-torture/compile/pr34334.c (__strsep_1c) - (__strsep_2c): Add missing void return type. - * gcc.c-torture/compile/pr35006.c (grub_putchar) - (cl_set_pos, cl_print, grub_memmove, cl_delete): Declare. - (grub_cmdline_get): Add missing void return type. - * gcc.c-torture/compile/pr35595.c (__kernel_sinf): - Declare. - * gcc.c-torture/compile/pr35869.c (f): Add missing void - return type. - * gcc.c-torture/compile/pr36172.c (FcCharSetFreeze): Add - missing return value. - * gcc.c-torture/compile/pr36238.c (lshift_s_s): Declare. - * gcc.c-torture/compile/pr37207.c (func_81, func_98): - Declare. - * gcc.c-torture/compile/pr37258.c (mod_rhs, lshift_s_s) - (func_112, func_23): Declare. - * gcc.c-torture/compile/pr37305.c (safe_mod_u_u): Declare. - * gcc.c-torture/compile/pr37327.c (func_93, func_59) - (func_124, func_117, safe_add_uint64_t_u_u) - (safe_mul_int32_t_s_s): Declare. - * gcc.c-torture/compile/pr37387.c (FuncMakeConsequencesPres): - Call __builtin_abort instead of ErrorQuit. - * gcc.c-torture/compile/pr37432.c (print_wkb_bytes): Declare. - * gcc.c-torture/compile/pr37713.c (sdp_seq_alloc): Declare. - * gcc.c-torture/compile/pr39886.c (func): Declare. - * gcc.c-torture/compile/pr39941.c (stop): Declare. - * gcc.c-torture/compile/pr41016.c (CompareRNAStructures): - Call __builtin_abort instead of Die. - * gcc.c-torture/compile/pr42632.c (___pskb_trim): Add - forward declaration. - * gcc.c-torture/compile/pr49710.c (baz): Add forward - declaration and missing void types. - (bar): Add missing void type. - * gcc.c-torture/compile/pr52437.c (fn2): Declare. - * gcc.c-torture/compile/pr57441.c (func_1): Add missing void - return type. - * gcc.c-torture/compile/pr87110.c (struct d): Add missing - semicolon. - (g, h): Define as int. - (i): Add missing void types. - * gcc.c-torture/compile/pr87468.c (a): Define as int. - (e, f): Declare. - (b): Add missing void types. - * gcc.c-torture/execute/pr79043.c (ptr2): Use cast in - initializer. - (typepun): Add missing void return type. - (main): Add missing int return type and missing void type. - * gcc.dg/pr100349.c (b): Add missing void return type. - * gcc.dg/pr106189.c (T): Declare. - * gcc.dg/pr110777.c (_setjmp): Declare - * gcc.dg/pr45506.c (dynvec, relative_relocp, atexit): Declare. - (fini_array): Cast result of relative_relocp from int to int *. - * gcc.dg/pr97359.c: Compile with -Wno-pointer-to-int-cast. - (b): Cast point to int to avoid int-conversion warning. - * gcc.dg/uninit-pr78548.c: Call __builtin_printf instead - of printf. - * gcc.dg/torture/pr39829.c (f): Declare. - * gcc.dg/torture/pr44977.c (int329): Cast bar from pointer - to short. - * gcc.dg/torture/pr53703.c (ifa_sa_len): Declare. - (usagi_getifaddrs): Call __builtin_memset instead of memset - and __builtin_memcmp instead of memcmp. - * gcc.dg/torture/pr68625.c (z9): Explicitly cast - pointers to int. - * gcc.dg/torture/pr55964.c (f): Cast q to the expected type. - * gcc.dg/torture/pr70623.c (h9): Fix pointer cast in assignment - of av. - * gcc.dg/torture/pr81118.c (c): Return zero instead of - nothing. - * gcc.dg/torture/pr81510.c (e): Add cast from int to pointer. - * gcc.dg/torture/pr99694.c (d): Add missing casts between - pointers and integers. - * gcc.dg/tree-ssa/pr102563.c: Define as void (*) (void). - (_bdf_parse_glyphs_p): Define with prototype. - * gcc.dg/tree-ssa/pr92085-1.c (di): Add cast to initialization - of fq. - * gcc.dg/tree-ssa/pr92085-2.c (c1): Add casts to - initializations of th, lq. - * gcc.dg/tree-ssa/reassoc-43.c - (c_parser_next_token_is_keyword, chainon) - (c_parser_attributes): Declare. - * gcc.dg/tree-ssa/split-path-4.c (powi_lookup_cost): Declare. - (powi_cost): Add missing void return type. - * gcc.dg/tree-ssa/split-path-6.c (strtosichar) - (ichartosstr, treeinsert, stop, __srget_r): Declare - (givehelp, oof, lookharder): Convert to prototypes. - * gcc.target/i386/pr71621-1.c (y8): Cast to expected - pointer type in assignment of t6. - * gcc.target/i386/pr79571.c (g): Add missing int type. - (j): Add missing void types and pointer cast. - * gcc.target/i386/pr87246.c (s2): Add cast from integer - to pointer type. - * gcc.target/i386/pr87759.c (rc): Cast to the expected - pointer time in initialization of ar. - * gcc.target/i386/pr99454.c (tg3_start_xmit): Add - missing cast from int to int *. - -2023-11-13 Florian Weimer - - * c-c++-common/Wduplicated-branches-11.c: Compile with - -fpermissive. - * c-c++-common/Wduplicated-branches-12.c: Likewise. - * c-c++-common/builtins.c: Likewise. - * c-c++-common/pointer-to-fn1.c: Likewise. - * gcc.c-torture/compile/20010320-1.c: Likewise. - * gcc.c-torture/compile/20050105-1.c: Likewise. - * gcc.c-torture/compile/20080704-1.c: Likewise. - * gcc.c-torture/compile/20080910-1.c: Likewise. - * gcc.c-torture/compile/20090917-1.c: Likewise. - * gcc.c-torture/compile/20100915-1.c: Likewise. - * gcc.c-torture/compile/20101216-1.c: Likewise. - * gcc.c-torture/compile/20121027-1.c: Likewise. - * gcc.c-torture/compile/20180605-1.c: Likewise. - * gcc.c-torture/compile/950816-2.c: Likewise. - * gcc.c-torture/compile/dse.c: Likewise. - * gcc.c-torture/compile/pr100576.c: Likewise. - * gcc.c-torture/compile/pr17408.c: Likewise. - * gcc.c-torture/compile/pr19121.c: Likewise. - * gcc.c-torture/compile/pr26213.c: Likewise. - * gcc.c-torture/compile/pr27341-2.c: Likewise. - * gcc.c-torture/compile/pr28776-2.c: Likewise. - * gcc.c-torture/compile/pr33133.c: Likewise. - * gcc.c-torture/compile/pr34091.c: Likewise. - * gcc.c-torture/compile/pr36154.c: Likewise. - * gcc.c-torture/compile/pr37381.c: Likewise. - * gcc.c-torture/compile/pr38360.c: Likewise. - * gcc.c-torture/compile/pr40291.c: Likewise. - * gcc.c-torture/compile/pr41182-1.c: Likewise. - * gcc.c-torture/compile/pr43635.c: Likewise. - * gcc.c-torture/compile/pr44043.c: Likewise. - * gcc.c-torture/compile/pr44063.c: Likewise. - * gcc.c-torture/compile/pr44246.c: Likewise. - * gcc.c-torture/compile/pr45535.c: Likewise. - * gcc.c-torture/compile/pr46934.c: Likewise. - * gcc.c-torture/compile/pr47428.c: Likewise. - * gcc.c-torture/compile/pr49145.c: Likewise. - * gcc.c-torture/compile/pr49206.c: Likewise. - * gcc.c-torture/compile/pr51694.c: Likewise. - * gcc.c-torture/compile/pr53886.c: Likewise. - * gcc.c-torture/compile/pr65241.c: Likewise. - * gcc.c-torture/compile/pr72802.c: Likewise. - * gcc.c-torture/compile/pr81360.c: Likewise. - * gcc.c-torture/compile/pr82052.c: Likewise. - * gcc.c-torture/compile/pr90275-2.c: Likewise. - * gcc.c-torture/compile/pr90275.c: Likewise. - * gcc.c-torture/compile/pr96796.c: Likewise. - * gcc.c-torture/compile/regs-arg-size.c: Likewise. - * gcc.c-torture/compile/udivmod4.c: Likewise. - * gcc.c-torture/compile/widechar-1.c: Likewise. - * gcc.c-torture/execute/20000412-3.c: Likewise. - * gcc.c-torture/execute/20010605-2.c: Likewise. - * gcc.c-torture/execute/20020314-1.c: Likewise. - * gcc.c-torture/execute/20020819-1.c: Likewise. - * gcc.c-torture/execute/20031211-2.c: Likewise. - * gcc.c-torture/execute/20040223-1.c: Likewise. - * gcc.c-torture/execute/20041019-1.c: Likewise. - * gcc.c-torture/execute/20120427-1.c: Likewise. - * gcc.c-torture/execute/20120427-2.c: Likewise. - * gcc.c-torture/execute/920908-2.c: Likewise. - * gcc.c-torture/execute/921110-1.c: Likewise. - * gcc.c-torture/execute/930111-1.c: Likewise. - * gcc.c-torture/execute/930208-1.c: Likewise. - * gcc.c-torture/execute/930702-1.c: Likewise. - * gcc.c-torture/execute/930818-1.c: Likewise. - * gcc.c-torture/execute/931017-1.c: Likewise. - * gcc.c-torture/execute/931018-1.c: Likewise. - * gcc.c-torture/execute/931208-1.c: Likewise. - * gcc.c-torture/execute/941101-1.c: Likewise. - * gcc.c-torture/execute/941110-1.c: Likewise. - * gcc.c-torture/execute/950322-1.c: Likewise. - * gcc.c-torture/execute/950426-1.c: Likewise. - * gcc.c-torture/execute/950512-1.c: Likewise. - * gcc.c-torture/execute/950621-1.c: Likewise. - * gcc.c-torture/execute/960218-1.c: Likewise. - * gcc.c-torture/execute/960402-1.c: Likewise. - * gcc.c-torture/execute/cmpsf-1.c: Likewise. - * gcc.c-torture/execute/cmpsi-1.c: Likewise. - * gcc.c-torture/execute/cmpsi-2.c: Likewise. - * gcc.c-torture/execute/divmod-1.c: Likewise. - * gcc.c-torture/execute/pr22061-1.c: Likewise. - * gcc.c-torture/execute/pr55875.c: Likewise. - * gcc.dg/20050629-1.c: Likewise. - * gcc.dg/20080615-1.c: Likewise. - * gcc.dg/Walloca-14.c: Likewise. - * gcc.dg/Wbuiltin-declaration-mismatch-3.c: Likewise. - * gcc.dg/Wbuiltin-declaration-mismatch-9.c: Likewise. - * gcc.dg/Wdouble-promotion.c: Likewise. - * gcc.dg/Wrestrict-5.c: Likewise. - * gcc.dg/Wstringop-overflow-13.c: Likewise. - * gcc.dg/analyzer/fd-bind-pr107783.c: Likewise. - * gcc.dg/array-5.c: Likewise. - * gcc.dg/asan/pr56417.c: Likewise. - * gcc.dg/attr-access-read-only.c: Likewise. - * gcc.dg/attr-access-read-write.c: Likewise. - * gcc.dg/attr-access-write-only.c: Likewise. - * gcc.dg/bitint-36.c: Likewise. - * gcc.dg/builtin-bswap-10.c: Likewise. - * gcc.dg/cleanup-1.c: Likewise. - * gcc.dg/cpp/pr60014-1.c: Likewise. - * gcc.dg/cpp/pr60014-2.c: Likewise. - * gcc.dg/cpp/pr60014-3.c: Likewise. - * gcc.dg/ipa/ipa-bit-cp-1.c: Likewise. - * gcc.dg/ipa/ipa-bit-cp-2.c: Likewise. - * gcc.dg/ipa/ipa-bit-cp.c: Likewise. - * gcc.dg/ipa/pr105639.c: Likewise. - * gcc.dg/ipa/pr71981.c: Likewise. - * gcc.dg/lto/20081109_0.c: Likewise. - * gcc.dg/lto/pr54702_1.c: Likewise. - * gcc.dg/lto/pr55525_0.c: Likewise. - * gcc.dg/noncompile/20020213-1.c:: Likewise. - * gcc.dg/noncompile/pr71426.c: Likewise. - * gcc.dg/noncompile/undeclared-1.c: Likewise. - * gcc.dg/overflow-warn-2.c: Likewise. - * gcc.dg/pr100142.c: Likewise. - * gcc.dg/pr100790.c: Likewise. - * gcc.dg/pr100791.c: Likewise. - * gcc.dg/pr103093.c: Likewise. - * gcc.dg/pr105140.c: Likewise. - * gcc.dg/pr105250.c: Likewise. - * gcc.dg/pr105853.c: Likewise. - * gcc.dg/pr105856.c: Likewise. - * gcc.dg/pr26865.c: Likewise. - * gcc.dg/pr40989.c: Likewise. - * gcc.dg/pr42715.c: Likewise. - * gcc.dg/pr44971.c: Likewise. - * gcc.dg/pr46571.c: Likewise. - * gcc.dg/pr54363.c: Likewise. - * gcc.dg/pr56724-2.c: Likewise. - * gcc.dg/pr59630.c: Likewise. - * gcc.dg/pr67043.c: Likewise. - * gcc.dg/pr67730-1.c: Likewise. - * gcc.dg/pr67730-2.c: Likewise. - * gcc.dg/pr68320.c: Likewise. - * gcc.dg/pr69156.c: Likewise. - * gcc.dg/pr69824.c: Likewise. - * gcc.dg/pr70174.c: Likewise. - * gcc.dg/pr70281.c: Likewise. - * gcc.dg/pr77862.c: Likewise. - * gcc.dg/pr82765.c: Likewise. - * gcc.dg/pr83852.c: Likewise. - * gcc.dg/pr84206.c: Likewise. - * gcc.dg/pr85164-1.c: Likewise. - * gcc.dg/pr85955.c: Likewise. - * gcc.dg/pr86271.c: Likewise. - * gcc.dg/pr86928.c: Likewise. - * gcc.dg/pr99122-1.c: Likewise. - * gcc.dg/pr99136.c: Likewise. - * gcc.dg/redecl-19.c: Likewise. - * gcc.dg/redecl-24.c: Likewise. - * gcc.dg/torture/pr39204.c: Likewise. - * gcc.dg/torture/pr57676.c: Likewise. - * gcc.dg/torture/pr67222.c: Likewise. - * gcc.dg/torture/pr77677-2.c: Likewise. - * gcc.dg/torture/pr79125.c: Likewise. - * gcc.dg/torture/pr94479.c: Likewise. - * gcc.dg/tree-ssa/20070815.c: Likewise. - * gcc.dg/tree-ssa/builtin-sprintf-29.c: Likewise. - * gcc.dg/tree-ssa/builtins-folding-gimple-ub.c: Likewise. - * gcc.dg/tree-ssa/pr22051-2.c: Likewise. - * gcc.dg/tree-ssa/ssa-dse-10.c: Likewise. - * gcc.target/aarch64/pr60697.c: Likewise. - * gcc.target/aarch64/pr87305.c: Likewise. - * gcc.target/aarch64/sve/pr96357.c: Likewise. - * gcc.target/i386/attr-nocf-check-1a.c: Likewise. - * gcc.target/i386/attr-nocf-check-3a.c: Likewise. - * gcc.target/i386/avx512bf16-pr108881.c: Likewise. - * gcc.target/i386/cet-notrack-2a.c: Likewise. - * gcc.target/i386/cet-notrack-2b.c: Likewise. - * gcc.target/i386/cet-notrack-5b.c: Likewise. - * gcc.target/i386/cet-notrack-6a.c: Likewise. - * gcc.target/i386/cet-notrack-6b.c: Likewise. - * gcc.target/i386/pr70325.c: Likewise. - * gcc.target/i386/pr70858.c: Likewise. - * gcc.target/i386/pr83488.c: Likewise. - * gcc.target/i386/pr85511.c: Likewise. - * gcc.target/i386/pr87572.c: Likewise. - * gcc.target/i386/pr88195.c: Likewise. - -2023-11-13 Jakub Jelinek - - PR tree-optimization/111967 - * gcc.dg/tree-ssa/pr111967.c: New test. - -2023-11-13 Xi Ruoyao - - PR target/112476 - * gcc.target/loongarch/pr112476-1.c: New test. - * gcc.target/loongarch/pr112476-2.c: New test. - -2023-11-13 Pan Li - - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-54.c: Adjust - the asm checker. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-57.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-58.c: Ditto. - -2023-11-13 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-llrintf16-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llroundf16-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lrintf16-rv32-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lrintf16-rv64-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lroundf16-rv32-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lroundf16-rv64-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-llrintf16-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-llroundf16-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lrintf16-rv32-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lrintf16-rv64-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lroundf16-rv32-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lroundf16-rv64-0.c: New test. - -2023-11-11 Jakub Jelinek - - PR middle-end/112430 - * gcc.dg/pr112430.c: New test. - -2023-11-11 Martin Uecker - - PR c/110815 - PR c/112428 - * gcc.dg/Wnonnull-8.c: Adapt test. - * gcc.dg/Wnonnull-9.c: New test. - -2023-11-11 Joern Rennecke - - * lib/scanasm.exp (scan-assembler-times): Disregard LTO sections. - (scan-assembler-dem, scan-assembler-dem-not): Likewise. - (dg-scan): Likewise, if name starts with scan-assembler. - (scan-raw-assembler): New proc. - * gcc.dg/pr61868.c: Use scan-raw-assembler. - * gcc.dg/scantest-lto.c: New test. - -2023-11-11 Juzhe-Zhong - - PR target/112469 - * gcc.target/riscv/rvv/autovec/pr112469.c: New test. - -2023-11-11 Marek Polacek - - * g++.dg/cpp0x/lambda/lambda-decltype3.C: Check __cpp_init_captures. - -2023-11-10 Patrick O'Neill - - * g++.dg/vect/pr102788.cc: Remove dg-do run directive. - -2023-11-10 Eric Botcazou - - * gnat.dg/opt103.ads, gnat.dg/opt103.adb: New test. - -2023-11-10 Vladimir N. Makarov - - PR target/112337 - * gcc.target/arm/pr112337.c: New. - -2023-11-10 Patrick Palka - - PR c++/79620 - * g++.dg/cpp0x/lambda/lambda-decltype3.C: New test. - -2023-11-10 Patrick Palka - - PR c++/79378 - PR c++/96917 - * g++.dg/cpp1y/decltype-auto7.C: New test. - * g++.dg/cpp1y/lambda-init20.C: New test. - -2023-11-10 Juzhe-Zhong - - PR tree-optimization/112438 - * gcc.target/riscv/rvv/autovec/pr112438.c: New test. - -2023-11-10 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add combine test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/combine-7.c: New test. - -2023-11-10 Robin Dapp - - * gcc.target/riscv/rvv/autovec/binop/vmul-zvfh-run.c: Adjust. - * gcc.target/riscv/rvv/autovec/binop/vsub-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-3.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/pr111401.c: Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-zvfh-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-zvfh-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-zvfh-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-template.h: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-zvfh-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-zvfh-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-zvfh-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-zvfh-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-zvfh-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/slp-mask-run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-10.c: - Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-11.c: - Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-12.c: - Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-3.c: - Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-4.c: - Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-5.c: - Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-6.c: - Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-7.c: - Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-8.c: - Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-9.c: - Ditto. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-zvfh-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-zvfh-run.c: - Ditto. - -2023-11-10 Robin Dapp - - * gcc.target/i386/pr112464.c: New test. - -2023-11-10 Jin Ma - - * gcc.target/riscv/xtheadmempair-interrupt-fcsr.c: New file. - -2023-11-10 Richard Biener - - PR tree-optimization/110221 - * gfortran.dg/pr110221.f: New testcase. - -2023-11-10 Richard Biener - - PR middle-end/112469 - * gcc.dg/torture/pr112469.c: New testcase. - -2023-11-10 Pan Li - - Revert: - 2023-11-10 Pan Li - - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c: New test. - -2023-11-10 Pan Li - - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c: New test. - -2023-11-10 Juzhe-Zhong - - * gcc.dg/vect/pr97428.c: Add additional compile option for riscv. - -2023-11-10 liuhongt - - * g++.target/i386/pr112443.C: New test. - -2023-11-10 Jose E. Marchesi - - * gcc.target/bpf/mulsidi3-zeroextend-pseudoc.c: New test. - -2023-11-09 Jose E. Marchesi - - * gcc.target/bpf/ldxdw.c: Fix regexp with expected result. - -2023-11-09 Robin Dapp - - * gcc.target/riscv/rvv/autovec/binop/fmax_zvfh-1.c: Adjust. - * gcc.target/riscv/rvv/autovec/binop/fmax_zvfh_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/fmin_zvfh-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/fmin_zvfh_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-1.h: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-2.h: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv32-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv32-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv64-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv64-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_run-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_run-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float_run-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float_run-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-3.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-4.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-3.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-4.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-zvfh-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-zvfh-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/reduc/reduc_zvfh-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/reduc/reduc_zvfh_run-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-1.h: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-2.h: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv32-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv32-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv64-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv64-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh_run-2.c: New test. - -2023-11-09 Alexandre Oliva - - * gcc.dg/tree-ssa/scev-3.c: xfail on ia32. - * gcc.dg/tree-ssa/scev-5.c: Likewise. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * gcc.target/aarch64/sve/fneg-abs_5.c: New test. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * gcc.target/aarch64/sve/fneg-abs_1.c: Updated. - * gcc.target/aarch64/sve/fneg-abs_2.c: Updated. - * gcc.target/aarch64/sve/fneg-abs_4.c: Updated. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * gcc.target/aarch64/fneg-abs_2.c: Updated. - * gcc.target/aarch64/fneg-abs_4.c: Updated. - * gcc.target/aarch64/dbl_mov_immediate_1.c: Updated. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * gcc.target/aarch64/fneg-abs_1.c: Updated. - * gcc.target/aarch64/fneg-abs_2.c: Updated. - * gcc.target/aarch64/fneg-abs_4.c: Updated. - * gcc.target/aarch64/dbl_mov_immediate_1.c: Updated. - -2023-11-09 Tamar Christina - - PR tree-optimization/109154 - * gcc.dg/fold-copysign-1.c: Updated. - * gcc.dg/pr55152-2.c: Updated. - * gcc.dg/tree-ssa/abs-4.c: Updated. - * gcc.dg/tree-ssa/backprop-6.c: Updated. - * gcc.dg/tree-ssa/copy-sign-2.c: Updated. - * gcc.dg/tree-ssa/mult-abs-2.c: Updated. - * gcc.target/aarch64/fneg-abs_1.c: New test. - * gcc.target/aarch64/fneg-abs_2.c: New test. - * gcc.target/aarch64/fneg-abs_3.c: New test. - * gcc.target/aarch64/fneg-abs_4.c: New test. - * gcc.target/aarch64/sve/fneg-abs_1.c: New test. - * gcc.target/aarch64/sve/fneg-abs_2.c: New test. - * gcc.target/aarch64/sve/fneg-abs_3.c: New test. - * gcc.target/aarch64/sve/fneg-abs_4.c: New test. - -2023-11-09 Simon Wright - - PR ada/111813 - * gnat.dg/calendar_format_value.adb: New test. - -2023-11-09 Juzhe-Zhong - - PR target/112450 - * gcc.target/riscv/rvv/autovec/pr112450.c: New test. - -2023-11-09 Richard Biener - - PR tree-optimization/112444 - * gcc.dg/torture/pr112444.c: New testcase. - -2023-11-09 YunQiang Su - - * gcc.target/mips/fabs-nan2008.c: New test. - * gcc.target/mips/fabsf-nan2008.c: New test. - -2023-11-09 Florian Weimer - - * gcc.target/x86_64/abi/avx/avx-check.h (main): Call - __builtin_printf instead of printf. - * gcc.target/x86_64/abi/avx/test_passing_m256.c - (fun_check_passing_m256_8_values): Add missing void return - type. - * gcc.target/x86_64/abi/avx512f/avx512f-check.h (main): Call - __builtin_printf instead of printf. - * gcc.target/x86_64/abi/avx512f/test_passing_m512.c - (fun_check_passing_m512_8_values): Add missing void return - type. - * gcc.target/x86_64/abi/bf16/bf16-check.h (main): Call - __builtin_printf instead of printf. - * gcc.target/x86_64/abi/bf16/m256bf16/bf16-ymm-check.h (main): - Likewise. - * gcc.target/x86_64/abi/bf16/m256bf16/test_passing_m256.c - (fun_check_passing_m256bf16_8_values): Add missing void - return type. - * gcc.target/x86_64/abi/bf16/m512bf16/bf16-zmm-check.h (main): - Call __builtin_printf instead of printf. - * gcc.target/x86_64/abi/bf16/m512bf16/test_passing_m512.c - (fun_check_passing_m512bf16_8_values): Add missign void - return type. - -2023-11-09 Florian Weimer - - * gcc.dg/Wreturn-mismatch-1.c: New. - * gcc.dg/Wreturn-mismatch-2.c: New. - * gcc.dg/Wreturn-mismatch-3.c: New. - * gcc.dg/Wreturn-mismatch-4.c: New. - * gcc.dg/Wreturn-mismatch-5.c: New. - * gcc.dg/Wreturn-mismatch-6.c: New. - * gcc.dg/noncompile/pr55976-1.c: Change -Werror=return-type - to -Werror=return-mismatch. - * gcc.dg/noncompile/pr55976-2.c: Change -Wreturn-type - to -Wreturn-mismatch. - -2023-11-09 Florian Weimer - - * gcc.dg/Wmissing-parameter-type.c: Build with -std=gnu89 - to trigger the -Wmissing-parameter-type warning - and not the default -Wimplicit warning. Also match - against -Wmissing-parameter-type. - * gcc.dg/Wmissing-parameter-type-Wextra.c: Likewise. - -2023-11-09 Stefan Schulze Frielinghaus - - * gcc.target/s390/zvector/vec-reve-load-halfword-z14.c: Remove - vperm and substitude by vpdi et al. - * gcc.target/s390/zvector/vec-reve-load-halfword.c: Likewise. - * gcc.target/s390/vector/reverse-elements-1.c: New test. - * gcc.target/s390/vector/reverse-elements-2.c: New test. - * gcc.target/s390/vector/reverse-elements-3.c: New test. - * gcc.target/s390/vector/reverse-elements-4.c: New test. - * gcc.target/s390/vector/reverse-elements-5.c: New test. - * gcc.target/s390/vector/reverse-elements-6.c: New test. - * gcc.target/s390/vector/reverse-elements-7.c: New test. - -2023-11-09 Jakub Jelinek - - PR libgcc/65833 - * gcc.dg/dfp/int128-1.c: New test. - * gcc.dg/dfp/int128-2.c: New test. - * gcc.dg/dfp/int128-3.c: New test. - * gcc.dg/dfp/int128-4.c: New test. - -2023-11-09 Jakub Jelinek - - PR c/112339 - * c-c++-common/ubsan/Wno-attributes-1.c: New test. - -2023-11-09 Jin Ma - - * gcc.target/riscv/xtheadfmemidx-uindex-zbb.c: New test. - -2023-11-09 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-1.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-2.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-3.c: New test. - -2023-11-09 Alexandre Oliva - - * g++.dg/gomp/declare-target-3.C: Adjust for 32-bit targets. - -2023-11-09 Alexandre Oliva - - * g++.dg/pr58245-1.C: Disable PIC/PIE. - -2023-11-09 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-mixed-1.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-4.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-6.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-7.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-4.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-6.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-4.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-9.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-10.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-4.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-6.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-7.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-8.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/no-dynamic-lmul-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr111848.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/rvv-costmodel-vect.exp: Run all tests. - -2023-11-08 Uros Bizjak - - PR target/82524 - * gcc.target/i386/pr78904-1.c (test_sub): New test. - * gcc.target/i386/pr78904-1a.c (test_sub): Ditto. - * gcc.target/i386/pr78904-1b.c (test_sub): Ditto. - * gcc.target/i386/pr78904-2.c (test_sub): Ditto. - * gcc.target/i386/pr78904-2a.c (test_sub): Ditto. - * gcc.target/i386/pr78904-2b.c (test_sub): Ditto. - * gcc.target/i386/pr78952-4.c (test_sub): Ditto. - * gcc.target/i386/pr82524.c: New test. - * gcc.target/i386/pr82524-1.c: New test. - * gcc.target/i386/pr82524-2.c: New test. - * gcc.target/i386/pr82524-3.c: New test. - -2023-11-08 Lehua Ding - - * gcc.target/riscv/rvv/vsetvl/vsetvl_int.c: New test. - -2023-11-08 Florian Weimer - - * gcc.dg/setjmp-7.c (_setjmp): Declare. - -2023-11-08 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/vl-use-ice.c: New test. - -2023-11-08 Mikael Morin - - PR fortran/112371 - * gfortran.dg/bound_11.f90: New test. - -2023-11-08 Mikael Morin - - PR fortran/112371 - * gfortran.dg/bound_10.f90: New test. - -2023-11-08 Mikael Morin - - PR fortran/112412 - * gfortran.dg/allocated_4.f90: New test. - -2023-11-08 Hongyu Wang - - PR target/112394 - * gcc.target/i386/pr112394.c: New test. - -2023-11-08 Juzhe-Zhong - - * gcc.dg/vect/bb-slp-33.c: Rewrite the condition. - -2023-11-08 Juzhe-Zhong - - PR target/112092 - * gcc.target/riscv/rvv/vsetvl/pr109743-1.c: Adapt test. - * gcc.target/riscv/rvv/vsetvl/pr109743-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-22.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/pr112092-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/pr112092-2.c: New test. - -2023-11-08 Haochen Jiang - - PR target/111907 - * gcc.target/i386/pr111907.c: New test. - -2023-11-08 Joseph Myers - - * gcc.dg/atomic/c2x-stdatomic-lockfree-char8_t.c: Move to ... - * gcc.dg/atomic/c23-stdatomic-lockfree-char8_t.c: ... here. - * gcc.dg/atomic/c2x-stdatomic-var-init-1.c: Move to ... - * gcc.dg/atomic/c23-stdatomic-var-init-1.c: ... here. - * gcc.dg/atomic/gnu2x-stdatomic-lockfree-char8_t.c: Move to ... - * gcc.dg/atomic/gnu23-stdatomic-lockfree-char8_t.c: ... here. - Update reference to moved file. - * gcc.dg/c2x-align-1.c: Move to ... - * gcc.dg/c23-align-1.c: ... here. - * gcc.dg/c2x-align-6.c: Move to ... - * gcc.dg/c23-align-6.c: ... here. - * gcc.dg/c2x-attr-deprecated-1.c: Move to ... - * gcc.dg/c23-attr-deprecated-1.c: ... here. Update reference to - moved file. - * gcc.dg/c2x-attr-deprecated-2.c: Move to ... - * gcc.dg/c23-attr-deprecated-2.c: ... here. - * gcc.dg/c2x-attr-deprecated-3.c: Move to ... - * gcc.dg/c23-attr-deprecated-3.c: ... here. - * gcc.dg/c2x-attr-deprecated-4.c: Move to ... - * gcc.dg/c23-attr-deprecated-4.c: ... here. - * gcc.dg/c2x-attr-fallthrough-1.c: Move to ... - * gcc.dg/c23-attr-fallthrough-1.c: ... here. - * gcc.dg/c2x-attr-fallthrough-2.c: Move to ... - * gcc.dg/c23-attr-fallthrough-2.c: ... here. - * gcc.dg/c2x-attr-fallthrough-3.c: Move to ... - * gcc.dg/c23-attr-fallthrough-3.c: ... here. - * gcc.dg/c2x-attr-fallthrough-4.c: Move to ... - * gcc.dg/c23-attr-fallthrough-4.c: ... here. - * gcc.dg/c2x-attr-fallthrough-5.c: Move to ... - * gcc.dg/c23-attr-fallthrough-5.c: ... here. - * gcc.dg/c2x-attr-fallthrough-6.c: Move to ... - * gcc.dg/c23-attr-fallthrough-6.c: ... here. - * gcc.dg/c2x-attr-maybe_unused-1.c: Move to ... - * gcc.dg/c23-attr-maybe_unused-1.c: ... here. - * gcc.dg/c2x-attr-maybe_unused-2.c: Move to ... - * gcc.dg/c23-attr-maybe_unused-2.c: ... here. - * gcc.dg/c2x-attr-maybe_unused-3.c: Move to ... - * gcc.dg/c23-attr-maybe_unused-3.c: ... here. - * gcc.dg/c2x-attr-maybe_unused-4.c: Move to ... - * gcc.dg/c23-attr-maybe_unused-4.c: ... here. - * gcc.dg/c2x-attr-nodiscard-1.c: Move to ... - * gcc.dg/c23-attr-nodiscard-1.c: ... here. - * gcc.dg/c2x-attr-nodiscard-2.c: Move to ... - * gcc.dg/c23-attr-nodiscard-2.c: ... here. - * gcc.dg/c2x-attr-nodiscard-3.c: Move to ... - * gcc.dg/c23-attr-nodiscard-3.c: ... here. - * gcc.dg/c2x-attr-nodiscard-4.c: Move to ... - * gcc.dg/c23-attr-nodiscard-4.c: ... here. - * gcc.dg/c2x-attr-noreturn-1.c: Move to ... - * gcc.dg/c23-attr-noreturn-1.c: ... here. - * gcc.dg/c2x-attr-noreturn-2.c: Move to ... - * gcc.dg/c23-attr-noreturn-2.c: ... here. - * gcc.dg/c2x-attr-noreturn-3.c: Move to ... - * gcc.dg/c23-attr-noreturn-3.c: ... here. - * gcc.dg/c2x-attr-syntax-1.c: Move to ... - * gcc.dg/c23-attr-syntax-1.c: ... here. - * gcc.dg/c2x-attr-syntax-2.c: Move to ... - * gcc.dg/c23-attr-syntax-2.c: ... here. - * gcc.dg/c2x-attr-syntax-3.c: Move to ... - * gcc.dg/c23-attr-syntax-3.c: ... here. - * gcc.dg/c2x-attr-syntax-4.c: Move to ... - * gcc.dg/c23-attr-syntax-4.c: ... here. - * gcc.dg/c2x-attr-syntax-5.c: Move to ... - * gcc.dg/c23-attr-syntax-5.c: ... here. - * gcc.dg/c2x-attr-syntax-6.c: Move to ... - * gcc.dg/c23-attr-syntax-6.c: ... here. - * gcc.dg/c2x-attr-syntax-7.c: Move to ... - * gcc.dg/c23-attr-syntax-7.c: ... here. - * gcc.dg/c2x-auto-1.c: Move to ... - * gcc.dg/c23-auto-1.c: ... here. - * gcc.dg/c2x-auto-2.c: Move to ... - * gcc.dg/c23-auto-2.c: ... here. - * gcc.dg/c2x-auto-3.c: Move to ... - * gcc.dg/c23-auto-3.c: ... here. - * gcc.dg/c2x-auto-4.c: Move to ... - * gcc.dg/c23-auto-4.c: ... here. - * gcc.dg/c2x-binary-constants-1.c: Move to ... - * gcc.dg/c23-binary-constants-1.c: ... here. - * gcc.dg/c2x-binary-constants-2.c: Move to ... - * gcc.dg/c23-binary-constants-2.c: ... here. - * gcc.dg/c2x-binary-constants-3.c: Move to ... - * gcc.dg/c23-binary-constants-3.c: ... here. - * gcc.dg/c2x-bool-1.c: Move to ... - * gcc.dg/c23-bool-1.c: ... here. - * gcc.dg/c2x-bool-2.c: Move to ... - * gcc.dg/c23-bool-2.c: ... here. - * gcc.dg/c2x-bool-limits-1.c: Move to ... - * gcc.dg/c23-bool-limits-1.c: ... here. - * gcc.dg/c2x-builtins-1.c: Move to ... - * gcc.dg/c23-builtins-1.c: ... here. - * gcc.dg/c2x-complit-1.c: Move to ... - * gcc.dg/c23-complit-1.c: ... here. - * gcc.dg/c2x-complit-2.c: Move to ... - * gcc.dg/c23-complit-2.c: ... here. - * gcc.dg/c2x-complit-3.c: Move to ... - * gcc.dg/c23-complit-3.c: ... here. - * gcc.dg/c2x-complit-4.c: Move to ... - * gcc.dg/c23-complit-4.c: ... here. - * gcc.dg/c2x-complit-5.c: Move to ... - * gcc.dg/c23-complit-5.c: ... here. - * gcc.dg/c2x-complit-6.c: Move to ... - * gcc.dg/c23-complit-6.c: ... here. - * gcc.dg/c2x-complit-7.c: Move to ... - * gcc.dg/c23-complit-7.c: ... here. - * gcc.dg/c2x-complit-8.c: Move to ... - * gcc.dg/c23-complit-8.c: ... here. - * gcc.dg/c2x-concat-1.c: Move to ... - * gcc.dg/c23-concat-1.c: ... here. - * gcc.dg/c2x-constexpr-1.c: Move to ... - * gcc.dg/c23-constexpr-1.c: ... here. - * gcc.dg/c2x-constexpr-2a.c: Move to ... - * gcc.dg/c23-constexpr-2a.c: ... here. Update reference to moved - file. - * gcc.dg/c2x-constexpr-2b.c: Move to ... - * gcc.dg/c23-constexpr-2b.c: ... here. - * gcc.dg/c2x-constexpr-3.c: Move to ... - * gcc.dg/c23-constexpr-3.c: ... here. - * gcc.dg/c2x-constexpr-4.c: Move to ... - * gcc.dg/c23-constexpr-4.c: ... here. - * gcc.dg/c2x-constexpr-5.c: Move to ... - * gcc.dg/c23-constexpr-5.c: ... here. - * gcc.dg/c2x-constexpr-6.c: Move to ... - * gcc.dg/c23-constexpr-6.c: ... here. - * gcc.dg/c2x-constexpr-7.c: Move to ... - * gcc.dg/c23-constexpr-7.c: ... here. - * gcc.dg/c2x-constexpr-8.c: Move to ... - * gcc.dg/c23-constexpr-8.c: ... here. - * gcc.dg/c2x-constexpr-9.c: Move to ... - * gcc.dg/c23-constexpr-9.c: ... here. - * gcc.dg/c2x-digit-separators-1.c: Move to ... - * gcc.dg/c23-digit-separators-1.c: ... here. - * gcc.dg/c2x-digit-separators-2.c: Move to ... - * gcc.dg/c23-digit-separators-2.c: ... here. - * gcc.dg/c2x-digit-separators-3.c: Move to ... - * gcc.dg/c23-digit-separators-3.c: ... here. - * gcc.dg/c2x-empty-init-1.c: Move to ... - * gcc.dg/c23-empty-init-1.c: ... here. - * gcc.dg/c2x-empty-init-2.c: Move to ... - * gcc.dg/c23-empty-init-2.c: ... here. - * gcc.dg/c2x-empty-init-3.c: Move to ... - * gcc.dg/c23-empty-init-3.c: ... here. - * gcc.dg/c2x-enum-1.c: Move to ... - * gcc.dg/c23-enum-1.c: ... here. - * gcc.dg/c2x-enum-2.c: Move to ... - * gcc.dg/c23-enum-2.c: ... here. - * gcc.dg/c2x-enum-3.c: Move to ... - * gcc.dg/c23-enum-3.c: ... here. - * gcc.dg/c2x-enum-4.c: Move to ... - * gcc.dg/c23-enum-4.c: ... here. - * gcc.dg/c2x-enum-5.c: Move to ... - * gcc.dg/c23-enum-5.c: ... here. - * gcc.dg/c2x-enum-6.c: Move to ... - * gcc.dg/c23-enum-6.c: ... here. - * gcc.dg/c2x-enum-7.c: Move to ... - * gcc.dg/c23-enum-7.c: ... here. - * gcc.dg/c2x-enum-8.c: Move to ... - * gcc.dg/c23-enum-8.c: ... here. - * gcc.dg/c2x-float-1.c: Move to ... - * gcc.dg/c23-float-1.c: ... here. - * gcc.dg/c2x-float-10.c: Move to ... - * gcc.dg/c23-float-10.c: ... here. - * gcc.dg/c2x-float-11.c: Move to ... - * gcc.dg/c23-float-11.c: ... here. - * gcc.dg/c2x-float-12.c: Move to ... - * gcc.dg/c23-float-12.c: ... here. - * gcc.dg/c2x-float-13.c: Move to ... - * gcc.dg/c23-float-13.c: ... here. - * gcc.dg/c2x-float-2.c: Move to ... - * gcc.dg/c23-float-2.c: ... here. - * gcc.dg/c2x-float-3.c: Move to ... - * gcc.dg/c23-float-3.c: ... here. - * gcc.dg/c2x-float-4.c: Move to ... - * gcc.dg/c23-float-4.c: ... here. - * gcc.dg/c2x-float-5.c: Move to ... - * gcc.dg/c23-float-5.c: ... here. - * gcc.dg/c2x-float-6.c: Move to ... - * gcc.dg/c23-float-6.c: ... here. - * gcc.dg/c2x-float-7a.c: Move to ... - * gcc.dg/c23-float-7a.c: ... here. - * gcc.dg/c2x-float-7b.c: Move to ... - * gcc.dg/c23-float-7b.c: ... here. - * gcc.dg/c2x-float-7c.c: Move to ... - * gcc.dg/c23-float-7c.c: ... here. - * gcc.dg/c2x-float-8.c: Move to ... - * gcc.dg/c23-float-8.c: ... here. - * gcc.dg/c2x-float-9.c: Move to ... - * gcc.dg/c23-float-9.c: ... here. - * gcc.dg/c2x-float-no-dfp-1.c: Move to ... - * gcc.dg/c23-float-no-dfp-1.c: ... here. - * gcc.dg/c2x-float-no-dfp-2.c: Move to ... - * gcc.dg/c23-float-no-dfp-2.c: ... here. Update reference to - moved file. - * gcc.dg/c2x-float-no-dfp-3.c: Move to ... - * gcc.dg/c23-float-no-dfp-3.c: ... here. - * gcc.dg/c2x-float-no-dfp-4.c: Move to ... - * gcc.dg/c23-float-no-dfp-4.c: ... here. Update reference to - moved file. - * gcc.dg/c2x-floatn-1.c: Move to ... - * gcc.dg/c23-floatn-1.c: ... here. - * gcc.dg/c2x-floatn-2.c: Move to ... - * gcc.dg/c23-floatn-2.c: ... here. - * gcc.dg/c2x-floatn-3.c: Move to ... - * gcc.dg/c23-floatn-3.c: ... here. - * gcc.dg/c2x-floatn-4.c: Move to ... - * gcc.dg/c23-floatn-4.c: ... here. - * gcc.dg/c2x-floatn-5.c: Move to ... - * gcc.dg/c23-floatn-5.c: ... here. - * gcc.dg/c2x-floatn-6.c: Move to ... - * gcc.dg/c23-floatn-6.c: ... here. - * gcc.dg/c2x-floatn-7.c: Move to ... - * gcc.dg/c23-floatn-7.c: ... here. - * gcc.dg/c2x-floatn-8.c: Move to ... - * gcc.dg/c23-floatn-8.c: ... here. - * gcc.dg/c2x-fordecl-1.c: Move to ... - * gcc.dg/c23-fordecl-1.c: ... here. - * gcc.dg/c2x-fordecl-2.c: Move to ... - * gcc.dg/c23-fordecl-2.c: ... here. - * gcc.dg/c2x-fordecl-3.c: Move to ... - * gcc.dg/c23-fordecl-3.c: ... here. - * gcc.dg/c2x-fordecl-4.c: Move to ... - * gcc.dg/c23-fordecl-4.c: ... here. - * gcc.dg/c2x-has-c-attribute-1.c: Move to ... - * gcc.dg/c23-has-c-attribute-1.c: ... here. - * gcc.dg/c2x-has-c-attribute-2.c: Move to ... - * gcc.dg/c23-has-c-attribute-2.c: ... here. - * gcc.dg/c2x-has-c-attribute-3.c: Move to ... - * gcc.dg/c23-has-c-attribute-3.c: ... here. - * gcc.dg/c2x-has-c-attribute-4.c: Move to ... - * gcc.dg/c23-has-c-attribute-4.c: ... here. - * gcc.dg/c2x-labels-1.c: Move to ... - * gcc.dg/c23-labels-1.c: ... here. - * gcc.dg/c2x-labels-2.c: Move to ... - * gcc.dg/c23-labels-2.c: ... here. - * gcc.dg/c2x-labels-3.c: Move to ... - * gcc.dg/c23-labels-3.c: ... here. - * gcc.dg/c2x-limits-1.c: Move to ... - * gcc.dg/c23-limits-1.c: ... here. - * gcc.dg/c2x-no-dfp-1.c: Move to ... - * gcc.dg/c23-no-dfp-1.c: ... here. - * gcc.dg/c2x-nullptr-1.c: Move to ... - * gcc.dg/c23-nullptr-1.c: ... here. - * gcc.dg/c2x-nullptr-2.c: Move to ... - * gcc.dg/c23-nullptr-2.c: ... here. - * gcc.dg/c2x-nullptr-3.c: Move to ... - * gcc.dg/c23-nullptr-3.c: ... here. - * gcc.dg/c2x-nullptr-4.c: Move to ... - * gcc.dg/c23-nullptr-4.c: ... here. - * gcc.dg/c2x-nullptr-5.c: Move to ... - * gcc.dg/c23-nullptr-5.c: ... here. - * gcc.dg/c2x-nullptr-6.c: Move to ... - * gcc.dg/c23-nullptr-6.c: ... here. - * gcc.dg/c2x-old-style-definition-1.c: Move to ... - * gcc.dg/c23-old-style-definition-1.c: ... here. - * gcc.dg/c2x-old-style-definition-2.c: Move to ... - * gcc.dg/c23-old-style-definition-2.c: ... here. - * gcc.dg/c2x-old-style-definition-3.c: Move to ... - * gcc.dg/c23-old-style-definition-3.c: ... here. - * gcc.dg/c2x-old-style-definition-4.c: Move to ... - * gcc.dg/c23-old-style-definition-4.c: ... here. - * gcc.dg/c2x-old-style-definition-5.c: Move to ... - * gcc.dg/c23-old-style-definition-5.c: ... here. - * gcc.dg/c2x-old-style-definition-6.c: Move to ... - * gcc.dg/c23-old-style-definition-6.c: ... here. - * gcc.dg/c2x-parm-omit-1.c: Move to ... - * gcc.dg/c23-parm-omit-1.c: ... here. - * gcc.dg/c2x-parm-omit-2.c: Move to ... - * gcc.dg/c23-parm-omit-2.c: ... here. - * gcc.dg/c2x-parm-omit-3.c: Move to ... - * gcc.dg/c23-parm-omit-3.c: ... here. - * gcc.dg/c2x-parm-omit-4.c: Move to ... - * gcc.dg/c23-parm-omit-4.c: ... here. - * gcc.dg/c2x-qual-1.c: Move to ... - * gcc.dg/c23-qual-1.c: ... here. - * gcc.dg/c2x-qual-2.c: Move to ... - * gcc.dg/c23-qual-2.c: ... here. - * gcc.dg/c2x-qual-3.c: Move to ... - * gcc.dg/c23-qual-3.c: ... here. - * gcc.dg/c2x-qual-4.c: Move to ... - * gcc.dg/c23-qual-4.c: ... here. - * gcc.dg/c2x-qual-5.c: Move to ... - * gcc.dg/c23-qual-5.c: ... here. - * gcc.dg/c2x-qual-6.c: Move to ... - * gcc.dg/c23-qual-6.c: ... here. - * gcc.dg/c2x-qual-7.c: Move to ... - * gcc.dg/c23-qual-7.c: ... here. - * gcc.dg/c2x-static-assert-1.c: Move to ... - * gcc.dg/c23-static-assert-1.c: ... here. - * gcc.dg/c2x-static-assert-2.c: Move to ... - * gcc.dg/c23-static-assert-2.c: ... here. - * gcc.dg/c2x-static-assert-3.c: Move to ... - * gcc.dg/c23-static-assert-3.c: ... here. - * gcc.dg/c2x-static-assert-4.c: Move to ... - * gcc.dg/c23-static-assert-4.c: ... here. - * gcc.dg/c2x-stdarg-1.c: Move to ... - * gcc.dg/c23-stdarg-1.c: ... here. - * gcc.dg/c2x-stdarg-2.c: Move to ... - * gcc.dg/c23-stdarg-2.c: ... here. - * gcc.dg/c2x-stdarg-3.c: Move to ... - * gcc.dg/c23-stdarg-3.c: ... here. - * gcc.dg/c2x-stdarg-4.c: Move to ... - * gcc.dg/c23-stdarg-4.c: ... here. - * gcc.dg/c2x-stdarg-5.c: Move to ... - * gcc.dg/c23-stdarg-5.c: ... here. - * gcc.dg/c2x-stdatomic-1.c: Move to ... - * gcc.dg/c23-stdatomic-1.c: ... here. - * gcc.dg/c2x-stddef-1.c: Move to ... - * gcc.dg/c23-stddef-1.c: ... here. - * gcc.dg/c2x-stdint-1.c: Move to ... - * gcc.dg/c23-stdint-1.c: ... here. - * gcc.dg/c2x-thread-local-1.c: Move to ... - * gcc.dg/c23-thread-local-1.c: ... here. - * gcc.dg/c2x-thread-local-2.c: Move to ... - * gcc.dg/c23-thread-local-2.c: ... here. - * gcc.dg/c2x-typeof-1.c: Move to ... - * gcc.dg/c23-typeof-1.c: ... here. - * gcc.dg/c2x-typeof-2.c: Move to ... - * gcc.dg/c23-typeof-2.c: ... here. - * gcc.dg/c2x-typeof-3.c: Move to ... - * gcc.dg/c23-typeof-3.c: ... here. - * gcc.dg/c2x-unproto-1.c: Move to ... - * gcc.dg/c23-unproto-1.c: ... here. - * gcc.dg/c2x-unproto-2.c: Move to ... - * gcc.dg/c23-unproto-2.c: ... here. - * gcc.dg/c2x-unproto-3.c: Move to ... - * gcc.dg/c23-unproto-3.c: ... here. - * gcc.dg/c2x-unproto-4.c: Move to ... - * gcc.dg/c23-unproto-4.c: ... here. - * gcc.dg/c2x-unreachable-1.c: Move to ... - * gcc.dg/c23-unreachable-1.c: ... here. - * gcc.dg/c2x-utf8char-1.c: Move to ... - * gcc.dg/c23-utf8char-1.c: ... here. - * gcc.dg/c2x-utf8char-2.c: Move to ... - * gcc.dg/c23-utf8char-2.c: ... here. - * gcc.dg/c2x-utf8char-3.c: Move to ... - * gcc.dg/c23-utf8char-3.c: ... here. - * gcc.dg/c2x-utf8str-type.c: Move to ... - * gcc.dg/c23-utf8str-type.c: ... here. - * gcc.dg/c2x-utf8str.c: Move to ... - * gcc.dg/c23-utf8str.c: ... here. - * gcc.dg/cpp/c2x-elifdef-1.c: Move to ... - * gcc.dg/cpp/c23-elifdef-1.c: ... here. - * gcc.dg/cpp/c2x-elifdef-2.c: Move to ... - * gcc.dg/cpp/c23-elifdef-2.c: ... here. - * gcc.dg/cpp/c2x-scope-1.c: Move to ... - * gcc.dg/cpp/c23-scope-1.c: ... here. - * gcc.dg/cpp/c2x-scope-2.c: Move to ... - * gcc.dg/cpp/c23-scope-2.c: ... here. Update reference to moved - file. - * gcc.dg/cpp/c2x-trigraphs-1.c: Move to ... - * gcc.dg/cpp/c23-trigraphs-1.c: ... here. - * gcc.dg/cpp/c2x-trigraphs-2.c: Move to ... - * gcc.dg/cpp/c23-trigraphs-2.c: ... here. - * gcc.dg/cpp/c2x-ucn-1.c: Move to ... - * gcc.dg/cpp/c23-ucn-1.c: ... here. - * gcc.dg/cpp/c2x-ucnid-1-utf8.c: Move to ... - * gcc.dg/cpp/c23-ucnid-1-utf8.c: ... here. - * gcc.dg/cpp/c2x-ucnid-1.c: Move to ... - * gcc.dg/cpp/c23-ucnid-1.c: ... here. - * gcc.dg/cpp/c2x-va-opt-1.c: Move to ... - * gcc.dg/cpp/c23-va-opt-1.c: ... here. - * gcc.dg/cpp/c2x-warning-1.c: Move to ... - * gcc.dg/cpp/c23-warning-1.c: ... here. - * gcc.dg/cpp/c2x-warning-2.c: Move to ... - * gcc.dg/cpp/c23-warning-2.c: ... here. - * gcc.dg/cpp/gnu2x-warning-1.c: Move to ... - * gcc.dg/cpp/gnu23-warning-1.c: ... here. - * gcc.dg/cpp/gnu2x-warning-2.c: Move to ... - * gcc.dg/cpp/gnu23-warning-2.c: ... here. - * gcc.dg/dfp/c2x-builtins-dfp-1.c: Move to ... - * gcc.dg/dfp/c23-builtins-dfp-1.c: ... here. - * gcc.dg/dfp/c2x-constants-1.c: Move to ... - * gcc.dg/dfp/c23-constants-1.c: ... here. - * gcc.dg/dfp/c2x-constants-2.c: Move to ... - * gcc.dg/dfp/c23-constants-2.c: ... here. - * gcc.dg/dfp/c2x-constexpr-dfp-1.c: Move to ... - * gcc.dg/dfp/c23-constexpr-dfp-1.c: ... here. - * gcc.dg/dfp/c2x-constexpr-dfp-2.c: Move to ... - * gcc.dg/dfp/c23-constexpr-dfp-2.c: ... here. - * gcc.dg/dfp/c2x-float-dfp-1.c: Move to ... - * gcc.dg/dfp/c23-float-dfp-1.c: ... here. - * gcc.dg/dfp/c2x-float-dfp-2.c: Move to ... - * gcc.dg/dfp/c23-float-dfp-2.c: ... here. Update reference to - moved file. - * gcc.dg/dfp/c2x-float-dfp-3.c: Move to ... - * gcc.dg/dfp/c23-float-dfp-3.c: ... here. - * gcc.dg/dfp/c2x-float-dfp-4.c: Move to ... - * gcc.dg/dfp/c23-float-dfp-4.c: ... here. - * gcc.dg/dfp/c2x-float-dfp-5.c: Move to ... - * gcc.dg/dfp/c23-float-dfp-5.c: ... here. - * gcc.dg/dfp/c2x-float-dfp-6.c: Move to ... - * gcc.dg/dfp/c23-float-dfp-6.c: ... here. - * gcc.dg/dfp/c2x-float-dfp-7.c: Move to ... - * gcc.dg/dfp/c23-float-dfp-7.c: ... here. - * gcc.dg/dfp/c2x-float-dfp-8.c: Move to ... - * gcc.dg/dfp/c23-float-dfp-8.c: ... here. - * gcc.dg/dfp/c2x-keywords-1.c: Move to ... - * gcc.dg/dfp/c23-keywords-1.c: ... here. - * gcc.dg/dfp/c2x-keywords-2.c: Move to ... - * gcc.dg/dfp/c23-keywords-2.c: ... here. - * gcc.dg/format/c2x-dfp-printf-1.c: Move to ... - * gcc.dg/format/c23-dfp-printf-1.c: ... here. - * gcc.dg/format/c2x-dfp-scanf-1.c: Move to ... - * gcc.dg/format/c23-dfp-scanf-1.c: ... here. - * gcc.dg/format/c2x-printf-1.c: Move to ... - * gcc.dg/format/c23-printf-1.c: ... here. - * gcc.dg/format/c2x-scanf-1.c: Move to ... - * gcc.dg/format/c23-scanf-1.c: ... here. - * gcc.dg/format/c2x-strftime-1.c: Move to ... - * gcc.dg/format/c23-strftime-1.c: ... here. - * gcc.dg/gnu2x-attr-syntax-1.c: Move to ... - * gcc.dg/gnu23-attr-syntax-1.c: ... here. - * gcc.dg/gnu2x-attr-syntax-2.c: Move to ... - * gcc.dg/gnu23-attr-syntax-2.c: ... here. - * gcc.dg/gnu2x-attrs-1.c: Move to ... - * gcc.dg/gnu23-attrs-1.c: ... here. - * gcc.dg/gnu2x-attrs-2.c: Move to ... - * gcc.dg/gnu23-attrs-2.c: ... here. - * gcc.dg/gnu2x-auto-1.c: Move to ... - * gcc.dg/gnu23-auto-1.c: ... here. - * gcc.dg/gnu2x-builtins-no-dfp-1.c: Move to ... - * gcc.dg/gnu23-builtins-no-dfp-1.c: ... here. - * gcc.dg/gnu2x-complit-1.c: Move to ... - * gcc.dg/gnu23-complit-1.c: ... here. - * gcc.dg/gnu2x-complit-2.c: Move to ... - * gcc.dg/gnu23-complit-2.c: ... here. - * gcc.dg/gnu2x-constexpr-1.c: Move to ... - * gcc.dg/gnu23-constexpr-1.c: ... here. - * gcc.dg/gnu2x-empty-init-1.c: Move to ... - * gcc.dg/gnu23-empty-init-1.c: ... here. - * gcc.dg/gnu2x-empty-init-2.c: Move to ... - * gcc.dg/gnu23-empty-init-2.c: ... here. - * gcc.dg/gnu2x-enum-1.c: Move to ... - * gcc.dg/gnu23-enum-1.c: ... here. - * gcc.dg/gnu2x-static-assert-1.c: Move to ... - * gcc.dg/gnu23-static-assert-1.c: ... here. - * gcc.dg/gnu2x-stdarg-1.c: Move to ... - * gcc.dg/gnu23-stdarg-1.c: ... here. - * gcc.dg/gnu2x-typeof-1.c: Move to ... - * gcc.dg/gnu23-typeof-1.c: ... here. - * gcc.dg/gnu2x-utf8char-1.c: Move to ... - * gcc.dg/gnu23-utf8char-1.c: ... here. Update reference to moved - file. - * gcc.dg/gnu2x-utf8str-type.c: Move to ... - * gcc.dg/gnu23-utf8str-type.c: ... here. Update reference to - moved file. - * gcc.dg/gnu2x-utf8str.c: Move to ... - * gcc.dg/gnu23-utf8str.c: ... here. - * gcc.dg/torture/builtin-fp-int-inexact-c2x.c: Move to ... - * gcc.dg/torture/builtin-fp-int-inexact-c23.c: ... here. - * gcc.dg/torture/c2x-stdarg-split-1a.c: Move to ... - * gcc.dg/torture/c23-stdarg-split-1a.c: ... here. Update - reference to moved file. - * gcc.dg/torture/c2x-stdarg-split-1b.c: Move to ... - * gcc.dg/torture/c23-stdarg-split-1b.c: ... here. - * objc.dg/attributes/gnu2x-attr-syntax-1.m: Move to ... - * objc.dg/attributes/gnu23-attr-syntax-1.m: ... here. Update - reference to moved file. - * g++.dg/cpp/elifdef-2.C: Update reference to moved file. - * g++.dg/cpp/elifdef-4.C: Likewise. - * gcc.dg/c11-float-dfp-1.c: Likewise. - * gcc.dg/c11-float-dfp-2.c: Likewise. - * gcc.dg/cpp/gnu11-elifdef-1.c: Likewise. - * gcc.dg/dfp/ts18661-2-float-dfp-1.c: Likewise. - -2023-11-07 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-ifloor-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-ifloor-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lfloor-rv32-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lfloor-rv32-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lfloorf-rv64-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lfloorf-rv64-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llfloorf-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llfloorf-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-ifloor-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lfloor-rv32-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lfloorf-rv64-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-llfloorf-0.c: New test. - -2023-11-07 Joseph Myers - - * c-c++-common/alias-1.c: Use "c23" or "gnu23" option names in - place of "c2x" or "gnu2x" names, and refer to C23 in comments in - place of C2X or C2x. - * gcc.dg/Wformat-overflow1.c: Likewise. - * gcc.dg/asm-scope-1.c: Likewise. - * gcc.dg/atomic/c2x-stdatomic-lockfree-char8_t.c: Likewise. - * gcc.dg/atomic/c2x-stdatomic-var-init-1.c: Likewise. - * gcc.dg/atomic/gnu2x-stdatomic-lockfree-char8_t.c: Likewise. - * gcc.dg/atomic/stdatomic-bitint-1.c: Likewise. - * gcc.dg/atomic/stdatomic-bitint-2.c: Likewise. - * gcc.dg/attr-assume-1.c: Likewise. - * gcc.dg/attr-assume-2.c: Likewise. - * gcc.dg/attr-assume-3.c: Likewise. - * gcc.dg/attr-assume-4.c: Likewise. - * gcc.dg/bitint-1.c: Likewise. - * gcc.dg/bitint-10.c: Likewise. - * gcc.dg/bitint-11.c: Likewise. - * gcc.dg/bitint-12.c: Likewise. - * gcc.dg/bitint-13.c: Likewise. - * gcc.dg/bitint-14.c: Likewise. - * gcc.dg/bitint-15.c: Likewise. - * gcc.dg/bitint-16.c: Likewise. - * gcc.dg/bitint-17.c: Likewise. - * gcc.dg/bitint-18.c: Likewise. - * gcc.dg/bitint-19.c: Likewise. - * gcc.dg/bitint-2.c: Likewise. - * gcc.dg/bitint-20.c: Likewise. - * gcc.dg/bitint-21.c: Likewise. - * gcc.dg/bitint-22.c: Likewise. - * gcc.dg/bitint-23.c: Likewise. - * gcc.dg/bitint-25.c: Likewise. - * gcc.dg/bitint-28.c: Likewise. - * gcc.dg/bitint-29.c: Likewise. - * gcc.dg/bitint-3.c: Likewise. - * gcc.dg/bitint-30.c: Likewise. - * gcc.dg/bitint-31.c: Likewise. - * gcc.dg/bitint-32.c: Likewise. - * gcc.dg/bitint-34.c: Likewise. - * gcc.dg/bitint-35.c: Likewise. - * gcc.dg/bitint-36.c: Likewise. - * gcc.dg/bitint-38.c: Likewise. - * gcc.dg/bitint-39.c: Likewise. - * gcc.dg/bitint-4.c: Likewise. - * gcc.dg/bitint-5.c: Likewise. - * gcc.dg/bitint-6.c: Likewise. - * gcc.dg/bitint-7.c: Likewise. - * gcc.dg/bitint-8.c: Likewise. - * gcc.dg/bitint-9.c: Likewise. - * gcc.dg/c11-attr-syntax-3.c: Likewise. - * gcc.dg/c11-builtins-1.c: Likewise. - * gcc.dg/c11-complit-1.c: Likewise. - * gcc.dg/c11-complit-2.c: Likewise. - * gcc.dg/c11-complit-3.c: Likewise. - * gcc.dg/c11-digit-separators-1.c: Likewise. - * gcc.dg/c11-empty-init-3.c: Likewise. - * gcc.dg/c11-enum-1.c: Likewise. - * gcc.dg/c11-enum-2.c: Likewise. - * gcc.dg/c11-enum-3.c: Likewise. - * gcc.dg/c11-enum-4.c: Likewise. - * gcc.dg/c11-enum-5.c: Likewise. - * gcc.dg/c11-enum-6.c: Likewise. - * gcc.dg/c11-floatn-5.c: Likewise. - * gcc.dg/c11-floatn-6.c: Likewise. - * gcc.dg/c11-floatn-7.c: Likewise. - * gcc.dg/c11-floatn-8.c: Likewise. - * gcc.dg/c11-fordecl-3.c: Likewise. - * gcc.dg/c11-fordecl-4.c: Likewise. - * gcc.dg/c11-keywords-1.c: Likewise. - * gcc.dg/c11-old-style-definition-1.c: Likewise. - * gcc.dg/c11-old-style-definition-2.c: Likewise. - * gcc.dg/c11-parm-omit-3.c: Likewise. - * gcc.dg/c11-qual-1.c: Likewise. - * gcc.dg/c11-static-assert-9.c: Likewise. - * gcc.dg/c11-stdarg-3.c: Likewise. - * gcc.dg/c11-unproto-1.c: Likewise. - * gcc.dg/c11-unproto-2.c: Likewise. - * gcc.dg/c11-utf8char-1.c: Likewise. - * gcc.dg/c17-nullptr-2.c: Likewise. - * gcc.dg/c2x-align-1.c: Likewise. - * gcc.dg/c2x-align-6.c: Likewise. - * gcc.dg/c2x-attr-deprecated-1.c: Likewise. - * gcc.dg/c2x-attr-deprecated-2.c: Likewise. - * gcc.dg/c2x-attr-deprecated-3.c: Likewise. - * gcc.dg/c2x-attr-deprecated-4.c: Likewise. - * gcc.dg/c2x-attr-fallthrough-1.c: Likewise. - * gcc.dg/c2x-attr-fallthrough-2.c: Likewise. - * gcc.dg/c2x-attr-fallthrough-3.c: Likewise. - * gcc.dg/c2x-attr-fallthrough-4.c: Likewise. - * gcc.dg/c2x-attr-fallthrough-5.c: Likewise. - * gcc.dg/c2x-attr-fallthrough-6.c: Likewise. - * gcc.dg/c2x-attr-maybe_unused-1.c: Likewise. - * gcc.dg/c2x-attr-maybe_unused-2.c: Likewise. - * gcc.dg/c2x-attr-maybe_unused-3.c: Likewise. - * gcc.dg/c2x-attr-maybe_unused-4.c: Likewise. - * gcc.dg/c2x-attr-nodiscard-1.c: Likewise. - * gcc.dg/c2x-attr-nodiscard-2.c: Likewise. - * gcc.dg/c2x-attr-nodiscard-3.c: Likewise. - * gcc.dg/c2x-attr-nodiscard-4.c: Likewise. - * gcc.dg/c2x-attr-noreturn-1.c: Likewise. - * gcc.dg/c2x-attr-noreturn-2.c: Likewise. - * gcc.dg/c2x-attr-noreturn-3.c: Likewise. - * gcc.dg/c2x-attr-syntax-1.c: Likewise. - * gcc.dg/c2x-attr-syntax-2.c: Likewise. - * gcc.dg/c2x-attr-syntax-3.c: Likewise. - * gcc.dg/c2x-attr-syntax-4.c: Likewise. - * gcc.dg/c2x-attr-syntax-5.c: Likewise. - * gcc.dg/c2x-attr-syntax-7.c: Likewise. - * gcc.dg/c2x-auto-1.c: Likewise. - * gcc.dg/c2x-auto-2.c: Likewise. - * gcc.dg/c2x-auto-3.c: Likewise. - * gcc.dg/c2x-auto-4.c: Likewise. - * gcc.dg/c2x-binary-constants-1.c: Likewise. - * gcc.dg/c2x-binary-constants-2.c: Likewise. - * gcc.dg/c2x-binary-constants-3.c: Likewise. - * gcc.dg/c2x-bool-1.c: Likewise. - * gcc.dg/c2x-bool-2.c: Likewise. - * gcc.dg/c2x-bool-limits-1.c: Likewise. - * gcc.dg/c2x-builtins-1.c: Likewise. - * gcc.dg/c2x-complit-1.c: Likewise. - * gcc.dg/c2x-complit-2.c: Likewise. - * gcc.dg/c2x-complit-3.c: Likewise. - * gcc.dg/c2x-complit-4.c: Likewise. - * gcc.dg/c2x-complit-5.c: Likewise. - * gcc.dg/c2x-complit-6.c: Likewise. - * gcc.dg/c2x-complit-7.c: Likewise. - * gcc.dg/c2x-complit-8.c: Likewise. - * gcc.dg/c2x-concat-1.c: Likewise. - * gcc.dg/c2x-constexpr-1.c: Likewise. - * gcc.dg/c2x-constexpr-2a.c: Likewise. - * gcc.dg/c2x-constexpr-2b.c: Likewise. - * gcc.dg/c2x-constexpr-3.c: Likewise. - * gcc.dg/c2x-constexpr-4.c: Likewise. - * gcc.dg/c2x-constexpr-5.c: Likewise. - * gcc.dg/c2x-constexpr-6.c: Likewise. - * gcc.dg/c2x-constexpr-7.c: Likewise. - * gcc.dg/c2x-constexpr-8.c: Likewise. - * gcc.dg/c2x-constexpr-9.c: Likewise. - * gcc.dg/c2x-digit-separators-1.c: Likewise. - * gcc.dg/c2x-digit-separators-2.c: Likewise. - * gcc.dg/c2x-digit-separators-3.c: Likewise. - * gcc.dg/c2x-empty-init-1.c: Likewise. - * gcc.dg/c2x-empty-init-2.c: Likewise. - * gcc.dg/c2x-empty-init-3.c: Likewise. - * gcc.dg/c2x-enum-1.c: Likewise. - * gcc.dg/c2x-enum-2.c: Likewise. - * gcc.dg/c2x-enum-3.c: Likewise. - * gcc.dg/c2x-enum-4.c: Likewise. - * gcc.dg/c2x-enum-5.c: Likewise. - * gcc.dg/c2x-enum-6.c: Likewise. - * gcc.dg/c2x-enum-7.c: Likewise. - * gcc.dg/c2x-enum-8.c: Likewise. - * gcc.dg/c2x-float-1.c: Likewise. - * gcc.dg/c2x-float-10.c: Likewise. - * gcc.dg/c2x-float-11.c: Likewise. - * gcc.dg/c2x-float-12.c: Likewise. - * gcc.dg/c2x-float-13.c: Likewise. - * gcc.dg/c2x-float-2.c: Likewise. - * gcc.dg/c2x-float-3.c: Likewise. - * gcc.dg/c2x-float-4.c: Likewise. - * gcc.dg/c2x-float-5.c: Likewise. - * gcc.dg/c2x-float-6.c: Likewise. - * gcc.dg/c2x-float-7a.c: Likewise. - * gcc.dg/c2x-float-7b.c: Likewise. - * gcc.dg/c2x-float-7c.c: Likewise. - * gcc.dg/c2x-float-8.c: Likewise. - * gcc.dg/c2x-float-9.c: Likewise. - * gcc.dg/c2x-float-no-dfp-1.c: Likewise. - * gcc.dg/c2x-float-no-dfp-2.c: Likewise. - * gcc.dg/c2x-float-no-dfp-3.c: Likewise. - * gcc.dg/c2x-float-no-dfp-4.c: Likewise. - * gcc.dg/c2x-floatn-1.c: Likewise. - * gcc.dg/c2x-floatn-2.c: Likewise. - * gcc.dg/c2x-floatn-3.c: Likewise. - * gcc.dg/c2x-floatn-4.c: Likewise. - * gcc.dg/c2x-floatn-5.c: Likewise. - * gcc.dg/c2x-floatn-6.c: Likewise. - * gcc.dg/c2x-floatn-7.c: Likewise. - * gcc.dg/c2x-floatn-8.c: Likewise. - * gcc.dg/c2x-fordecl-1.c: Likewise. - * gcc.dg/c2x-fordecl-2.c: Likewise. - * gcc.dg/c2x-fordecl-3.c: Likewise. - * gcc.dg/c2x-fordecl-4.c: Likewise. - * gcc.dg/c2x-has-c-attribute-1.c: Likewise. - * gcc.dg/c2x-has-c-attribute-2.c: Likewise. - * gcc.dg/c2x-has-c-attribute-3.c: Likewise. - * gcc.dg/c2x-has-c-attribute-4.c: Likewise. - * gcc.dg/c2x-labels-1.c: Likewise. - * gcc.dg/c2x-labels-2.c: Likewise. - * gcc.dg/c2x-labels-3.c: Likewise. - * gcc.dg/c2x-limits-1.c: Likewise. - * gcc.dg/c2x-no-dfp-1.c: Likewise. - * gcc.dg/c2x-nullptr-1.c: Likewise. - * gcc.dg/c2x-nullptr-2.c: Likewise. - * gcc.dg/c2x-nullptr-3.c: Likewise. - * gcc.dg/c2x-nullptr-4.c: Likewise. - * gcc.dg/c2x-nullptr-5.c: Likewise. - * gcc.dg/c2x-nullptr-6.c: Likewise. - * gcc.dg/c2x-old-style-definition-1.c: Likewise. - * gcc.dg/c2x-old-style-definition-2.c: Likewise. - * gcc.dg/c2x-old-style-definition-3.c: Likewise. - * gcc.dg/c2x-old-style-definition-4.c: Likewise. - * gcc.dg/c2x-old-style-definition-5.c: Likewise. - * gcc.dg/c2x-old-style-definition-6.c: Likewise. - * gcc.dg/c2x-parm-omit-1.c: Likewise. - * gcc.dg/c2x-parm-omit-2.c: Likewise. - * gcc.dg/c2x-parm-omit-3.c: Likewise. - * gcc.dg/c2x-parm-omit-4.c: Likewise. - * gcc.dg/c2x-qual-1.c: Likewise. - * gcc.dg/c2x-qual-2.c: Likewise. - * gcc.dg/c2x-qual-3.c: Likewise. - * gcc.dg/c2x-qual-4.c: Likewise. - * gcc.dg/c2x-qual-5.c: Likewise. - * gcc.dg/c2x-qual-6.c: Likewise. - * gcc.dg/c2x-qual-7.c: Likewise. - * gcc.dg/c2x-static-assert-1.c: Likewise. - * gcc.dg/c2x-static-assert-2.c: Likewise. - * gcc.dg/c2x-static-assert-3.c: Likewise. - * gcc.dg/c2x-static-assert-4.c: Likewise. - * gcc.dg/c2x-stdarg-1.c: Likewise. - * gcc.dg/c2x-stdarg-2.c: Likewise. - * gcc.dg/c2x-stdarg-3.c: Likewise. - * gcc.dg/c2x-stdarg-4.c: Likewise. - * gcc.dg/c2x-stdarg-5.c: Likewise. - * gcc.dg/c2x-stdatomic-1.c: Likewise. - * gcc.dg/c2x-stddef-1.c: Likewise. - * gcc.dg/c2x-stdint-1.c: Likewise. - * gcc.dg/c2x-thread-local-1.c: Likewise. - * gcc.dg/c2x-thread-local-2.c: Likewise. - * gcc.dg/c2x-typeof-1.c: Likewise. - * gcc.dg/c2x-typeof-2.c: Likewise. - * gcc.dg/c2x-typeof-3.c: Likewise. - * gcc.dg/c2x-unproto-1.c: Likewise. - * gcc.dg/c2x-unproto-2.c: Likewise. - * gcc.dg/c2x-unproto-3.c: Likewise. - * gcc.dg/c2x-unproto-4.c: Likewise. - * gcc.dg/c2x-unreachable-1.c: Likewise. - * gcc.dg/c2x-utf8char-1.c: Likewise. - * gcc.dg/c2x-utf8char-2.c: Likewise. - * gcc.dg/c2x-utf8char-3.c: Likewise. - * gcc.dg/c2x-utf8str-type.c: Likewise. - * gcc.dg/c2x-utf8str.c: Likewise. - * gcc.dg/c90-auto-1.c: Likewise. - * gcc.dg/c90-complit-2.c: Likewise. - * gcc.dg/cpp/c11-warning-3.c: Likewise. - * gcc.dg/cpp/c2x-elifdef-1.c: Likewise. - * gcc.dg/cpp/c2x-elifdef-2.c: Likewise. - * gcc.dg/cpp/c2x-scope-1.c: Likewise. - * gcc.dg/cpp/c2x-scope-2.c: Likewise. - * gcc.dg/cpp/c2x-trigraphs-1.c: Likewise. - * gcc.dg/cpp/c2x-trigraphs-2.c: Likewise. - * gcc.dg/cpp/c2x-ucn-1.c: Likewise. - * gcc.dg/cpp/c2x-ucnid-1-utf8.c: Likewise. - * gcc.dg/cpp/c2x-ucnid-1.c: Likewise. - * gcc.dg/cpp/c2x-va-opt-1.c: Likewise. - * gcc.dg/cpp/c2x-warning-1.c: Likewise. - * gcc.dg/cpp/c2x-warning-2.c: Likewise. - * gcc.dg/cpp/gnu11-warning-3.c: Likewise. - * gcc.dg/cpp/gnu2x-warning-1.c: Likewise. - * gcc.dg/cpp/gnu2x-warning-2.c: Likewise. - * gcc.dg/cr-decimal-dig-2.c: Likewise. - * gcc.dg/cr-decimal-dig-3.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d128-1.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d128-2.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d128-3.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d128-4.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d32-1.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d32-2.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d64-1.c: Likewise. - * gcc.dg/dfp/bid-non-canonical-d64-2.c: Likewise. - * gcc.dg/dfp/bitint-1.c: Likewise. - * gcc.dg/dfp/bitint-2.c: Likewise. - * gcc.dg/dfp/bitint-3.c: Likewise. - * gcc.dg/dfp/bitint-4.c: Likewise. - * gcc.dg/dfp/bitint-5.c: Likewise. - * gcc.dg/dfp/bitint-6.c: Likewise. - * gcc.dg/dfp/bitint-7.c: Likewise. - * gcc.dg/dfp/bitint-8.c: Likewise. - * gcc.dg/dfp/c2x-builtins-dfp-1.c: Likewise. - * gcc.dg/dfp/c2x-constants-1.c: Likewise. - * gcc.dg/dfp/c2x-constants-2.c: Likewise. - * gcc.dg/dfp/c2x-constexpr-dfp-1.c: Likewise. - * gcc.dg/dfp/c2x-constexpr-dfp-2.c: Likewise. - * gcc.dg/dfp/c2x-float-dfp-1.c: Likewise. - * gcc.dg/dfp/c2x-float-dfp-2.c: Likewise. - * gcc.dg/dfp/c2x-float-dfp-3.c: Likewise. - * gcc.dg/dfp/c2x-float-dfp-4.c: Likewise. - * gcc.dg/dfp/c2x-float-dfp-5.c: Likewise. - * gcc.dg/dfp/c2x-float-dfp-6.c: Likewise. - * gcc.dg/dfp/c2x-float-dfp-7.c: Likewise. - * gcc.dg/dfp/c2x-float-dfp-8.c: Likewise. - * gcc.dg/dfp/c2x-keywords-1.c: Likewise. - * gcc.dg/dfp/c2x-keywords-2.c: Likewise. - * gcc.dg/dfp/tr24732-float-dfp-1.c: Likewise. - * gcc.dg/dfp/ts18661-2-float-dfp-1.c: Likewise. - * gcc.dg/fixed-point/bitint-1.c: Likewise. - * gcc.dg/format/c11-printf-1.c: Likewise. - * gcc.dg/format/c11-scanf-1.c: Likewise. - * gcc.dg/format/c2x-dfp-printf-1.c: Likewise. - * gcc.dg/format/c2x-dfp-scanf-1.c: Likewise. - * gcc.dg/format/c2x-printf-1.c: Likewise. - * gcc.dg/format/c2x-scanf-1.c: Likewise. - * gcc.dg/format/c2x-strftime-1.c: Likewise. - * gcc.dg/format/ext-10.c: Likewise. - * gcc.dg/format/ext-9.c: Likewise. - * gcc.dg/gnu11-typeof-2.c: Likewise. - * gcc.dg/gnu2x-attr-syntax-1.c: Likewise. - * gcc.dg/gnu2x-attr-syntax-2.c: Likewise. - * gcc.dg/gnu2x-attrs-1.c: Likewise. - * gcc.dg/gnu2x-attrs-2.c: Likewise. - * gcc.dg/gnu2x-auto-1.c: Likewise. - * gcc.dg/gnu2x-builtins-no-dfp-1.c: Likewise. - * gcc.dg/gnu2x-complit-1.c: Likewise. - * gcc.dg/gnu2x-complit-2.c: Likewise. - * gcc.dg/gnu2x-constexpr-1.c: Likewise. - * gcc.dg/gnu2x-empty-init-1.c: Likewise. - * gcc.dg/gnu2x-empty-init-2.c: Likewise. - * gcc.dg/gnu2x-enum-1.c: Likewise. - * gcc.dg/gnu2x-static-assert-1.c: Likewise. - * gcc.dg/gnu2x-stdarg-1.c: Likewise. - * gcc.dg/gnu2x-typeof-1.c: Likewise. - * gcc.dg/gnu2x-utf8char-1.c: Likewise. - * gcc.dg/gnu2x-utf8str-type.c: Likewise. - * gcc.dg/gnu2x-utf8str.c: Likewise. - * gcc.dg/gomp/attrs-1.c: Likewise. - * gcc.dg/gomp/attrs-10.c: Likewise. - * gcc.dg/gomp/attrs-11.c: Likewise. - * gcc.dg/gomp/attrs-12.c: Likewise. - * gcc.dg/gomp/attrs-13.c: Likewise. - * gcc.dg/gomp/attrs-14.c: Likewise. - * gcc.dg/gomp/attrs-15.c: Likewise. - * gcc.dg/gomp/attrs-16.c: Likewise. - * gcc.dg/gomp/attrs-17.c: Likewise. - * gcc.dg/gomp/attrs-18.c: Likewise. - * gcc.dg/gomp/attrs-19.c: Likewise. - * gcc.dg/gomp/attrs-2.c: Likewise. - * gcc.dg/gomp/attrs-20.c: Likewise. - * gcc.dg/gomp/attrs-21.c: Likewise. - * gcc.dg/gomp/attrs-3.c: Likewise. - * gcc.dg/gomp/attrs-4.c: Likewise. - * gcc.dg/gomp/attrs-5.c: Likewise. - * gcc.dg/gomp/attrs-6.c: Likewise. - * gcc.dg/gomp/attrs-7.c: Likewise. - * gcc.dg/gomp/attrs-8.c: Likewise. - * gcc.dg/gomp/attrs-9.c: Likewise. - * gcc.dg/limits-width-2.c: Likewise. - * gcc.dg/qual-return-10.c: Likewise. - * gcc.dg/qual-return-9.c: Likewise. - * gcc.dg/sso-19.c: Likewise. - * gcc.dg/stdckdint-1.c: Likewise. - * gcc.dg/stdckdint-2.c: Likewise. - * gcc.dg/stdint-width-2.c: Likewise. - * gcc.dg/tm/attrs-1.c: Likewise. - * gcc.dg/torture/bitint-1.c: Likewise. - * gcc.dg/torture/bitint-10.c: Likewise. - * gcc.dg/torture/bitint-11.c: Likewise. - * gcc.dg/torture/bitint-12.c: Likewise. - * gcc.dg/torture/bitint-13.c: Likewise. - * gcc.dg/torture/bitint-14.c: Likewise. - * gcc.dg/torture/bitint-15.c: Likewise. - * gcc.dg/torture/bitint-16.c: Likewise. - * gcc.dg/torture/bitint-17.c: Likewise. - * gcc.dg/torture/bitint-18.c: Likewise. - * gcc.dg/torture/bitint-19.c: Likewise. - * gcc.dg/torture/bitint-2.c: Likewise. - * gcc.dg/torture/bitint-20.c: Likewise. - * gcc.dg/torture/bitint-21.c: Likewise. - * gcc.dg/torture/bitint-22.c: Likewise. - * gcc.dg/torture/bitint-23.c: Likewise. - * gcc.dg/torture/bitint-24.c: Likewise. - * gcc.dg/torture/bitint-25.c: Likewise. - * gcc.dg/torture/bitint-26.c: Likewise. - * gcc.dg/torture/bitint-27.c: Likewise. - * gcc.dg/torture/bitint-28.c: Likewise. - * gcc.dg/torture/bitint-29.c: Likewise. - * gcc.dg/torture/bitint-3.c: Likewise. - * gcc.dg/torture/bitint-30.c: Likewise. - * gcc.dg/torture/bitint-31.c: Likewise. - * gcc.dg/torture/bitint-32.c: Likewise. - * gcc.dg/torture/bitint-33.c: Likewise. - * gcc.dg/torture/bitint-34.c: Likewise. - * gcc.dg/torture/bitint-35.c: Likewise. - * gcc.dg/torture/bitint-36.c: Likewise. - * gcc.dg/torture/bitint-37.c: Likewise. - * gcc.dg/torture/bitint-38.c: Likewise. - * gcc.dg/torture/bitint-39.c: Likewise. - * gcc.dg/torture/bitint-4.c: Likewise. - * gcc.dg/torture/bitint-40.c: Likewise. - * gcc.dg/torture/bitint-41.c: Likewise. - * gcc.dg/torture/bitint-42.c: Likewise. - * gcc.dg/torture/bitint-5.c: Likewise. - * gcc.dg/torture/bitint-6.c: Likewise. - * gcc.dg/torture/bitint-7.c: Likewise. - * gcc.dg/torture/bitint-8.c: Likewise. - * gcc.dg/torture/bitint-9.c: Likewise. - * gcc.dg/torture/builtin-fp-int-inexact-c2x.c: Likewise. - * gcc.dg/torture/c2x-stdarg-split-1a.c: Likewise. - * gcc.dg/torture/c2x-stdarg-split-1b.c: Likewise. - * gcc.dg/torture/float128-nan-floath.c: Likewise. - * gcc.dg/torture/float128x-nan-floath.c: Likewise. - * gcc.dg/torture/float16-nan-floath.c: Likewise. - * gcc.dg/torture/float32-nan-floath.c: Likewise. - * gcc.dg/torture/float32x-nan-floath.c: Likewise. - * gcc.dg/torture/float64-nan-floath.c: Likewise. - * gcc.dg/torture/float64x-nan-floath.c: Likewise. - * gcc.target/i386/excess-precision-11.c: Likewise. - * gcc.target/i386/excess-precision-12.c: Likewise. - * lib/target-supports.exp: Likewise. - * objc.dg/attributes/gnu2x-attr-syntax-1.m: Likewise. - -2023-11-07 Juzhe-Zhong - - * gcc.dg/vect/vect-sdiv-pow2-1.c: Recover scan check. - * lib/target-supports.exp: Remove riscv. - -2023-11-07 Robin Dapp - - * gcc.dg/pr112359.c: New test. - -2023-11-07 Marek Polacek - - * g++.dg/cpp2a/nodiscard-reason-nonstring.C: Adjust dg-error. - -2023-11-07 Kwok Cheung Yeung - - * c-c++-common/gomp/declare-target-7.c: Update expected error message. - * c-c++-common/gomp/declare-target-indirect-1.c: New. - * c-c++-common/gomp/declare-target-indirect-2.c: New. - * g++.dg/gomp/attrs-21.C (v12): Update expected error message. - * g++.dg/gomp/declare-target-indirect-1.C: New. - * gcc.dg/gomp/attrs-21.c (v12): Update expected error message. - -2023-11-07 Joseph Myers - - * gcc.dg/binary-constants-2.c: Refer to C23 instead of C2X. - * gcc.dg/binary-constants-3.c: Likewise. - * gcc.dg/bitint-23.c: Likewise. - * gcc.dg/bitint-26.c: Likewise. - * gcc.dg/bitint-27.c: Likewise. - * gcc.dg/c11-attr-syntax-1.c: Likewise. - * gcc.dg/c11-attr-syntax-2.c: Likewise. - * gcc.dg/c11-floatn-1.c: Likewise. - * gcc.dg/c11-floatn-2.c: Likewise. - * gcc.dg/c11-floatn-3.c: Likewise. - * gcc.dg/c11-floatn-4.c: Likewise. - * gcc.dg/c11-floatn-5.c: Likewise. - * gcc.dg/c11-floatn-6.c: Likewise. - * gcc.dg/c11-floatn-7.c: Likewise. - * gcc.dg/c11-floatn-8.c: Likewise. - * gcc.dg/c2x-attr-syntax-4.c: Likewise. - * gcc.dg/c2x-attr-syntax-6.c: Likewise. - * gcc.dg/c2x-attr-syntax-7.c: Likewise. - * gcc.dg/c2x-binary-constants-2.c: Likewise. - * gcc.dg/c2x-floatn-5.c: Likewise. - * gcc.dg/c2x-floatn-6.c: Likewise. - * gcc.dg/c2x-floatn-7.c: Likewise. - * gcc.dg/c2x-floatn-8.c: Likewise. - * gcc.dg/c2x-nullptr-4.c: Likewise. - * gcc.dg/c2x-qual-2.c: Likewise. - * gcc.dg/c2x-qual-3.c: Likewise. - * gcc.dg/c2x-qual-6.c: Likewise. - * gcc.dg/cpp/c11-warning-1.c: Likewise. - * gcc.dg/cpp/c11-warning-2.c: Likewise. - * gcc.dg/cpp/c11-warning-3.c: Likewise. - * gcc.dg/cpp/c2x-warning-2.c: Likewise. - * gcc.dg/cpp/gnu11-elifdef-3.c: Likewise. - * gcc.dg/cpp/gnu11-elifdef-4.c: Likewise. - * gcc.dg/cpp/gnu11-warning-1.c: Likewise. - * gcc.dg/cpp/gnu11-warning-2.c: Likewise. - * gcc.dg/cpp/gnu11-warning-3.c: Likewise. - * gcc.dg/cpp/gnu2x-warning-2.c: Likewise. - * gcc.dg/dfp/c11-constants-1.c: Likewise. - * gcc.dg/dfp/c11-constants-2.c: Likewise. - * gcc.dg/dfp/c2x-constants-2.c: Likewise. - * gcc.dg/dfp/constants-pedantic.c: Likewise. - * gcc.dg/pr30260.c: Likewise. - * gcc.dg/system-binary-constants-1.c: Likewise. - -2023-11-07 Juzhe-Zhong - - PR target/112420 - * gcc.dg/vect/pr65518.c: Fix check for RVV. - -2023-11-07 Robin Dapp - - * gcc.dg/vect/vect-cond-reduc-4.c: Make check more accurate. - -2023-11-07 Robin Dapp - - * gcc.dg/vect/bb-slp-over-widen-1.c: Change test expectation. - * gcc.dg/vect/bb-slp-over-widen-2.c: Ditto. - -2023-11-07 Juzhe-Zhong - - * lib/target-supports.exp: Add RISC-V. - -2023-11-07 Alexandre Oliva - - * lib/target-supports.exp - (check_effective_target_opt_mstrict_align): New. - * gcc.dg/strlenopt-80.c: Add -mno-strict-align if supported. - * gcc.target/powerpc/prefix-ds-dq.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-1.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-2.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-3.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-4.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-5.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-6.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-7.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-8.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-run-1.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-run-2.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-run-3.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-run-4.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-run-5.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-run-6.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-run-7.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-run-8.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-1.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-2.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-3.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-4.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-5.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-6.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-7.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-8.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-run-1.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-run-2.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-run-3.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-run-4.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-run-5.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-run-6.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-run-7.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-run-8.c: Likewise. - -2023-11-07 Christoph Müllner - - * gcc.target/riscv/xtheadmemidx-helpers.h: - Replace stdint.h with stdint-gcc.h. - -2023-11-07 Christoph Müllner - - * gcc.target/riscv/xtheadfmemidx-index-update.c: Add ABI. - * gcc.target/riscv/xtheadfmemidx-index-xtheadbb-update.c: Likewise. - * gcc.target/riscv/xtheadfmemidx-index-xtheadbb.c: Likewise. - * gcc.target/riscv/xtheadfmemidx-index.c: Likewise. - * gcc.target/riscv/xtheadfmemidx-uindex-update.c: Likewise. - * gcc.target/riscv/xtheadfmemidx-uindex-xtheadbb-update.c: Likewise. - * gcc.target/riscv/xtheadfmemidx-uindex-xtheadbb.c: Likewise. - * gcc.target/riscv/xtheadfmemidx-uindex.c: Likewise. - -2023-11-07 Juzhe-Zhong - - * gcc.dg/vect/bb-slp-cond-1.c: Add riscv. - -2023-11-07 Jiufu Guo - - PR target/112340 - * gcc.target/powerpc/pr106550_1.c: Add has_arch_ppc64 target require. - -2023-11-07 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-1.c: - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-2.c: - -2023-11-07 Juzhe-Zhong - - * gcc.dg/vect/vect-sdiv-pow2-1.c: Fix dump check. - -2023-11-07 Juzhe-Zhong - - * gcc.dg/vect/slp-reduc-sad.c: Fix check. - * gcc.dg/vect/vect-reduc-sad.c: Ditto. - -2023-11-07 Juzhe-Zhong - - * gcc.dg/vect/bb-slp-43.c: Fix XPASS for RVV. - -2023-11-07 Juzhe-Zhong - - PR target/112399 - * gcc.target/riscv/rvv/vsetvl/imm_switch-2.c: Adapt test. - * gcc.target/riscv/rvv/autovec/pr112399.c: New test. - -2023-11-07 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-iceil-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-iceil-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lceil-rv32-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lceil-rv32-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lceilf-rv64-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lceilf-rv64-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llceilf-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llceilf-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-iceil-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lceil-rv32-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lceilf-rv64-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-llceilf-0.c: New test. - -2023-11-07 Pan Li - - Revert: - 2023-11-07 Juzhe-Zhong - - * gcc.dg/vect/bb-slp-cond-1.c: Fix FAIL. - -2023-11-07 Juzhe-Zhong - - * gcc.dg/vect/bb-slp-cond-1.c: Fix FAIL. - -2023-11-07 Juzhe-Zhong - - * gcc.dg/vect/bb-slp-39.c: Add RISCV. - -2023-11-06 Florian Weimer - - * gcc.dg/cpp/wchar-1.c (main): Call __builtin_abort instead of - abort. - -2023-11-06 Christophe Lyon - - * lib/dg-pch.exp (dg-flags-pch): Add -c when generating the - precompiled header. - -2023-11-06 Christophe Lyon - - * g++.dg/init/array54.C: Require thread_fence. - * gcc.dg/c2x-nullptr-1.c: Likewise. - * gcc.dg/pr103721-2.c: Likewise. - * lib/target-supports.exp (check_effective_target_thread_fence): - New. - -2023-11-06 Joseph Myers - - PR c/107954 - * gcc.dg/c23-opts-1.c, gcc.dg/c23-opts-2.c, gcc.dg/c23-opts-3.c, - gcc.dg/c23-opts-4.c, gcc.dg/c23-opts-5.c, gcc.dg/gnu23-opts-1.c, - gcc.dg/gnu23-opts-2.c: New tests. - -2023-11-06 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-iround-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-iround-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llroundf-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llroundf-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lround-rv32-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lround-rv32-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lroundf-rv64-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lroundf-rv64-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-iround-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-llroundf-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lround-rv32-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lroundf-rv64-0.c: New test. - -2023-11-06 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/unop/sew64-rv32.c: New test. - -2023-11-06 Richard Biener - - PR tree-optimization/111950 - * gcc.dg/torture/pr111950.c: New testcase. - -2023-11-06 Richard Biener - - PR tree-optimization/112404 - * gfortran.dg/pr112404.f90: New testcase. - -2023-11-06 Florian Weimer - - * gcc.c-torture/compile/20000412-2.c (f): Call - __builtin_strlen instead of strlen. - * gcc.c-torture/compile/20000427-1.c (FindNearestPowerOf2): - Declare. - * gcc.c-torture/compile/20000802-1.c (bar): Call - __builtin_memcpy instead of memcpy. - * gcc.c-torture/compile/20010525-1.c (kind_varread): Likewise. - * gcc.c-torture/compile/20010706-1.c (foo): Add missing int - return type. - * gcc.c-torture/compile/20020314-1.c (add_output_space_event) - (del_tux_atom, add_req_to_workqueue): Declare. - * gcc.c-torture/compile/20020701-1.c (f): Call - __builtin_memcpy instead of memcpy. - * gcc.c-torture/compile/20021015-2.c (f): Call __builtin_bcmp - instead of bcmo. - * gcc.c-torture/compile/20030110-1.c (inb): Declare. - * gcc.c-torture/compile/20030314-1.c (bar): Add missing - void return type. - * gcc.c-torture/compile/20030405-1.c (bar): Add missing int - return type. - * gcc.c-torture/compile/20030416-1.c (bar): Declare. - (main): Add missing int return type. - * gcc.c-torture/compile/20030503-1.c (bar): Declare. - * gcc.c-torture/compile/20030530-1.c: (bar): Declare. - * gcc.c-torture/compile/20031031-2.c (foo, bar, baz): Declare. - * gcc.c-torture/compile/20040101-1.c (test16): Call - __builtin_printf instead of printf. - * gcc.c-torture/compile/20040124-1.c (f2, f3): Declare. - * gcc.c-torture/compile/20040304-1.c (macarg): Declare. - * gcc.c-torture/compile/20040705-1.c (f): Call - __builtin_memcpy instead of memcpy. - * gcc.c-torture/compile/20040908-1.c (bar): Declare. - * gcc.c-torture/compile/20050510-1.c (dont_remove): Declare. - * gcc.c-torture/compile/20051228-1.c (bar): Declare. - * gcc.c-torture/compile/20060109-1.c (cpp_interpret_string): - Declare. - (int_c_lex, cb_ident): Add missing void return type. - (cb_ident): Define as static. - * gcc.c-torture/compile/20060202-1.c (sarray_get): Declare. - * gcc.c-torture/compile/20070129.c (regcurly) - (reguni): Declare. - * gcc.c-torture/compile/20070529-1.c (__fswab16): Declare. - * gcc.c-torture/compile/20070529-2.c (kmem_free): Declare. - * gcc.c-torture/compile/20070605-1.c (quantize_fs_dither): - Add missing void return type. - * gcc.c-torture/compile/20071107-1.c - (settings_install_property_parser): Declare. - * gcc.c-torture/compile/20090907-1.c (load_waveform): Call - __builtin_abort instead of abort. - * gcc.c-torture/compile/20100907.c (t): Add missing void - types. - * gcc.c-torture/compile/20120524-1.c (build_packet): Call - __builtin_memcpy instead of memcpy. - * gcc.c-torture/compile/20120830-2.c - (ubidi_writeReordered_49): Add missing void return type. - * gcc.c-torture/compile/20121010-1.c (read_long): Add missing - int return type. - * gcc.c-torture/compile/920301-1.c (f, g): Add missing void - types. - * gcc.c-torture/compile/920409-1.c (x): Likewise. - * gcc.c-torture/compile/920410-1.c (main): Add missing int - return type. Call __builtin_printf instead of printf. - * gcc.c-torture/compile/920410-2.c (joe): Add missing void - types. - * gcc.c-torture/compile/920411-2.c (x): Likewise. - * gcc.c-torture/compile/920413-1.c (f): Add missing int return - type. - * gcc.c-torture/compile/920428-3.c (x): Add missing int types. - * gcc.c-torture/compile/920428-4.c (x): Add missing void - return type and int parameter type. - * gcc.c-torture/compile/920501-10.c (x): Add missing int - types. - * gcc.c-torture/compile/920501-12.c (x, a, b, A, B): Likewise. - * gcc.c-torture/compile/920501-17.c (x): Add missing void - types. - * gcc.c-torture/compile/920501-19.c (y): Likewise. - * gcc.c-torture/compile/920501-22.c (x): Likewise. - * gcc.c-torture/compile/920501-3.c (x): Likewise. - * gcc.c-torture/compile/920501-4.c (foo): Likewise. - * gcc.c-torture/compile/920529-1.c (f): Call __builtin_abort - instead of abort. - * gcc.c-torture/compile/920615-1.c (f): Add missing void - types. - * gcc.c-torture/compile/920623-1.c (g): Likewise. - * gcc.c-torture/compile/920624-1.c (f): Likewise. - * gcc.c-torture/compile/920711-1.c (f): Add missing int types. - * gcc.c-torture/compile/920729-1.c (f): Add missing void - types. - * gcc.c-torture/compile/920806-1.c (f): Likewise. - * gcc.c-torture/compile/920821-2.c (f): Likewise. - * gcc.c-torture/compile/920825-1.c (f): Likewise. - * gcc.c-torture/compile/920825-2.c (f, g): Add missing void - return type. - * gcc.c-torture/compile/920826-1.c (f): Likewise. - * gcc.c-torture/compile/920828-1.c (f): Add missing int types. - * gcc.c-torture/compile/920829-1.c (f): Add missing void - return type. - * gcc.c-torture/compile/920928-3.c (f): Likewise. - * gcc.c-torture/compile/921012-2.c (f): Likewise. - * gcc.c-torture/compile/921013-1.c (f): Likewise. - * gcc.c-torture/compile/921019-1.c (f): Add missing void - types. - * gcc.c-torture/compile/921026-1.c (f): Add missing void - return type. - * gcc.c-torture/compile/921126-1.c (f): Add missing int - return type and missing void. - * gcc.c-torture/compile/921227-1.c (f): Add missing void - types. - * gcc.c-torture/compile/930109-2.c (f): Add missing int types. - * gcc.c-torture/compile/930210-1.c (f): Add missing void - types. - * gcc.c-torture/compile/930222-1.c (g): Declare. - (f): Add missing int return type. - * gcc.c-torture/compile/930421-1.c (f): Add missing void - return type. - * gcc.c-torture/compile/930503-1.c (f): Likewise. - * gcc.c-torture/compile/930513-1.c (f): Add missing int return - type. - * gcc.c-torture/compile/930513-3.c (test): Add missing void - types. - * gcc.c-torture/compile/930523-1.c (f): Likewise. - * gcc.c-torture/compile/930527-1.c (f): Likewise. - * gcc.c-torture/compile/930603-1.c (f): Likewise. - * gcc.c-torture/compile/930607-1.c (g): Likewise. - * gcc.c-torture/compile/930702-1.c (f): Add missing int - return type and missing void. - * gcc.c-torture/compile/931018-1.c (f): Add missing void - return type. - * gcc.c-torture/compile/931031-1.c (f): Likewise. - * gcc.c-torture/compile/931102-1.c (xxx): Add missing void - types. - * gcc.c-torture/compile/940611-1.c (f): Likewise. - * gcc.c-torture/compile/940712-1.c (f): Add missing int - return type and missing void. - * gcc.c-torture/compile/950512-1.c (g): Declare. - (f): Add missing void return type. - * gcc.c-torture/compile/950530-1.c (f): Add missing int - return type. - * gcc.c-torture/compile/950610-1.c (f): Add missing void - return type. - * gcc.c-torture/compile/950613-1.c (f): Add missing void - types. - * gcc.c-torture/compile/950816-1.c (f): Add missing int return - type and missing void. - * gcc.c-torture/compile/950816-2.c (func): Declare. - (f): Add missing void types. - * gcc.c-torture/compile/950816-3.c (f): Add missing int - return type and missing void. - * gcc.c-torture/compile/950919-1.c (f): Add missing void - types. - * gcc.c-torture/compile/950921-1.c (f): Add missing int - return type and missing void. - * gcc.c-torture/compile/951004-1.c (f): Add missing void - return type. - * gcc.c-torture/compile/951116-1.c (f): Add missing int - return type and missing void. - * gcc.c-torture/compile/951128-1.c (f): Add missing void - return type. - * gcc.c-torture/compile/951220-1.c (f): Add missing int return - type. - * gcc.c-torture/compile/960220-1.c (f): Add missing void - types. - * gcc.c-torture/compile/960221-1.c (foo): Add missing void - return type. - * gcc.c-torture/compile/960704-1.c (main): Add missing int - return type and missing void. - * gcc.c-torture/compile/961031-1.c (f): Add missing void - types. - * gcc.c-torture/compile/961126-1.c (sub, sub2): Declare. - (main): Add missing int return type and missing void. - * gcc.c-torture/compile/961203-1.c (main): Call __builtin_exit - instead of exit. - * gcc.c-torture/compile/981001-1.c (main): Likewise. - * gcc.c-torture/compile/981107-1.c (call): Declare. - * gcc.c-torture/compile/990517-1.c (sdbm__splpage): Call - __builtin_memcpy instead of memcpy. - * gcc.c-torture/compile/990617-1.c (main): Call - __builtin_printf instead of printf. - * gcc.c-torture/compile/991026-2.c (detach): Add missing void - types. - * gcc.c-torture/compile/991229-1.c (ejEval): Likewise. - * gcc.c-torture/compile/991229-3.c (rand): Declare. - -2023-11-06 Florian Weimer - - * gcc.c-torture/execute/builtins/fputs.c (_GNU_SOURCE): - Define. - (fputs_unlocked): Declare. - -2023-11-06 Robin Dapp - - * gcc.dg/vect/vect-cond-arith-2.c: No vect cost model for - riscv_v. - -2023-11-06 liuhongt - - * gcc.target/i386/pr112393.c: New test. - -2023-11-06 Richard Biener - - PR tree-optimization/112369 - * gcc.dg/pr112369.c: New testcase. - -2023-11-06 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-irint-run-0.c: Adjust - test cases. - * gcc.target/riscv/rvv/autovec/unop/math-llrintf-run-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-lrint-rv32-run-0.c: Ditto. - -2023-11-06 Kewen Lin - - PR target/111828 - * lib/target-supports.exp - (check_effective_target_powerpc_as_p10_htm): New proc. - * g++.target/powerpc/pr111828-1.C: New test. - * g++.target/powerpc/pr111828-2.C: New test. - -2023-11-06 xuli - Pan Li - - * gcc.target/riscv/rvv/base/overloaded_rv32_vadd.c: New test. - * gcc.target/riscv/rvv/base/overloaded_rv32_vfadd.c: New test. - * gcc.target/riscv/rvv/base/overloaded_rv32_vget_vset.c: New test. - * gcc.target/riscv/rvv/base/overloaded_rv32_vloxseg2ei16.c: New test. - * gcc.target/riscv/rvv/base/overloaded_rv32_vmv.c: New test. - * gcc.target/riscv/rvv/base/overloaded_rv32_vreinterpret.c: New test. - * gcc.target/riscv/rvv/base/overloaded_rv64_vadd.c: New test. - * gcc.target/riscv/rvv/base/overloaded_rv64_vfadd.c: New test. - * gcc.target/riscv/rvv/base/overloaded_rv64_vget_vset.c: New test. - * gcc.target/riscv/rvv/base/overloaded_rv64_vloxseg2ei16.c: New test. - * gcc.target/riscv/rvv/base/overloaded_rv64_vmv.c: New test. - * gcc.target/riscv/rvv/base/overloaded_rv64_vreinterpret.c: New test. - * gcc.target/riscv/rvv/base/overloaded_vadd.h: New test. - * gcc.target/riscv/rvv/base/overloaded_vfadd.h: New test. - * gcc.target/riscv/rvv/base/overloaded_vget_vset.h: New test. - * gcc.target/riscv/rvv/base/overloaded_vloxseg2ei16.h: New test. - * gcc.target/riscv/rvv/base/overloaded_vmv.h: New test. - * gcc.target/riscv/rvv/base/overloaded_vreinterpret.h: New test. - -2023-11-06 Haochen Jiang - - PR target/111889 - * gcc.target/i386/pr111889.c: New test. - -2023-11-05 Francois-Xavier Coudert - - * gcc.target/i386/pr111753.c: Require dfp. - -2023-11-05 Jakub Jelinek - - * c-c++-common/gomp/attrs-1.c: Adjust for omp::directive and - omp::sequence being supported also in C and add tests for omp::decl. - * c-c++-common/gomp/attrs-2.c: Likewise. - * c-c++-common/gomp/attrs-3.c: Add tests for omp::decl. - -2023-11-05 Richard Sandiford - - PR target/112105 - * gcc.target/aarch64/pr112105.c: New test. - * gcc.target/aarch64/sve/pcs/struct_3_128.c: Expect a 32-bit spill - rather than a 16-bit spill. - -2023-11-05 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-irint-run-0.c: - * gcc.target/riscv/rvv/autovec/unop/math-irint-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-irintf-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llrintf-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llrintf-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lrint-rv32-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lrint-rv32-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lrintf-rv64-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lrintf-rv64-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-irint-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-llrintf-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lrint-rv32-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lrintf-rv64-0.c: New test. - -2023-11-04 Jakub Jelinek - - * gcc.dg/gomp/attrs-19.c: New test. - * gcc.dg/gomp/attrs-20.c: New test. - * gcc.dg/gomp/attrs-21.c: New test. - -2023-11-04 Jakub Jelinek - - * gcc.dg/gomp/attrs-1.c: New test. - * gcc.dg/gomp/attrs-2.c: New test. - * gcc.dg/gomp/attrs-3.c: New test. - * gcc.dg/gomp/attrs-4.c: New test. - * gcc.dg/gomp/attrs-5.c: New test. - * gcc.dg/gomp/attrs-6.c: New test. - * gcc.dg/gomp/attrs-7.c: New test. - * gcc.dg/gomp/attrs-8.c: New test. - * gcc.dg/gomp/attrs-9.c: New test. - * gcc.dg/gomp/attrs-10.c: New test. - * gcc.dg/gomp/attrs-11.c: New test. - * gcc.dg/gomp/attrs-12.c: New test. - * gcc.dg/gomp/attrs-13.c: New test. - * gcc.dg/gomp/attrs-14.c: New test. - * gcc.dg/gomp/attrs-15.c: New test. - * gcc.dg/gomp/attrs-16.c: New test. - * gcc.dg/gomp/attrs-17.c: New test. - * gcc.dg/gomp/attrs-18.c: New test. - * g++.dg/gomp/attrs-2.C: Enable for c++11 rather than just - c++17. Avoid using omp : syntax for c++11, c++14 and c. - -2023-11-04 David Malcolm - - * gcc.dg/plugin/diagnostic_group_plugin.c: Update for changes to - diagnostic_context. - * gcc.dg/plugin/diagnostic_plugin_test_text_art.c: Likewise. - -2023-11-03 Martin Uecker - - PR c/98541 - * gcc.dg/Wnonnull-4.c: Adapt test. - * gcc.dg/Wstringop-overflow-40.c: Adapt test. - -2023-11-03 Harald Anlauf - - PR fortran/97245 - * gfortran.dg/proc_ptr_53.f90: New test. - -2023-11-03 Andre Vieira - - * gcc.dg/vect/vect-simd-clone-20.c: New file. - * gfortran.dg/simd-builtins-1.h: Adapt. - * gfortran.dg/simd-builtins-6.f90: Adapt. - -2023-11-03 Harald Anlauf - - PR fortran/92887 - * gfortran.dg/value_optional_1.f90: New test. - -2023-11-03 Andrew MacLeod - - PR tree-optimization/111766 - * gcc.dg/pr111766.c: New. - -2023-11-03 Richard Biener - - * gfortran.dg/20231103-1.f90: New testcase. - * gfortran.dg/20231103-2.f90: Likewise. - -2023-11-03 Roger Sayle - - * gcc.target/arc/adddi3-1.c: New test case. - * gcc.target/arc/ashldi3-1.c: Likewise. - -2023-11-03 Thomas Schwinge - - * g++.dg/tree-prof/indir-call-prof-2.C: Specify - 'dg-require-effective-target exceptions_enabled'. - * g++.dg/tree-prof/partition1.C: Likewise. - * g++.dg/tree-prof/partition2.C: Likewise. - * g++.dg/tree-prof/partition3.C: Likewise. - * g++.dg/tree-prof/pr51719.C: Likewise. - * g++.dg/tree-prof/pr57451.C: Likewise. - * g++.dg/tree-prof/pr59255.C: Likewise. - -2023-11-03 Thomas Schwinge - - * g++.dg/lto/20081109-1_0.C: Specify - 'dg-require-effective-target exceptions_enabled'. - * g++.dg/lto/20081109_0.C: Likewise. - * g++.dg/lto/20091026-1_0.C: Likewise. - * g++.dg/lto/pr87906_0.C: Likewise. - * g++.dg/lto/pr88046_0.C: Likewise. - -2023-11-03 Thomas Schwinge - - * g++.dg/compat/eh/ctor1_main.C: Specify - 'dg-require-effective-target exceptions_enabled'. - * g++.dg/compat/eh/ctor2_main.C: Likewise. - * g++.dg/compat/eh/dtor1_main.C: Likewise. - * g++.dg/compat/eh/filter1_main.C: Likewise. - * g++.dg/compat/eh/filter2_main.C: Likewise. - * g++.dg/compat/eh/new1_main.C: Likewise. - * g++.dg/compat/eh/nrv1_main.C: Likewise. - * g++.dg/compat/eh/spec3_main.C: Likewise. - * g++.dg/compat/eh/template1_main.C: Likewise. - * g++.dg/compat/eh/unexpected1_main.C: Likewise. - * g++.dg/compat/init/array5_main.C: Likewise. - -2023-11-03 Thomas Schwinge - - * g++.dg/cpp0x/catch1.C: Specify - 'dg-require-effective-target exceptions_enabled'. - * g++.dg/cpp0x/constexpr-throw.C: Likewise. - * g++.dg/cpp1y/constexpr-89785-2.C: Likewise. - * g++.dg/cpp1y/constexpr-throw.C: Likewise. - * g++.dg/cpp1y/pr79393-3.C: Likewise. - * g++.dg/cpp2a/consteval-memfn1.C: Likewise. - * g++.dg/cpp2a/consteval11.C: Likewise. - * g++.dg/cpp2a/consteval34.C: Likewise. - * g++.dg/cpp2a/consteval9.C: Likewise. - * g++.dg/cpp2a/explicit1.C: Likewise. - * g++.dg/cpp2a/explicit2.C: Likewise. - * g++.dg/cpp2a/explicit5.C: Likewise. - * g++.dg/eh/builtin10.C: Likewise. - * g++.dg/eh/builtin11.C: Likewise. - * g++.dg/eh/builtin6.C: Likewise. - * g++.dg/eh/builtin7.C: Likewise. - * g++.dg/eh/builtin9.C: Likewise. - * g++.dg/eh/dtor4.C: Likewise. - * g++.dg/eh/pr42859.C: Likewise. - * g++.dg/ext/stmtexpr25.C: Likewise. - * g++.dg/ext/vla4.C: Likewise. - * g++.dg/init/placement4.C: Likewise. - * g++.dg/other/error32.C: Likewise. - * g++.dg/parse/crash55.C: Likewise. - * g++.dg/parse/pr31952-2.C: Likewise. - * g++.dg/parse/pr31952-3.C: Likewise. - * g++.dg/tm/noexcept-7.C: Likewise. - * g++.dg/torture/pr43257.C: Likewise. - * g++.dg/torture/pr56694.C: Likewise. - * g++.dg/torture/pr81659.C: Likewise. - * g++.dg/warn/Wcatch-value-1.C: Likewise. - * g++.dg/warn/Wcatch-value-2.C: Likewise. - * g++.dg/warn/Wcatch-value-3.C: Likewise. - * g++.dg/warn/Wcatch-value-3b.C: Likewise. - * g++.dg/warn/Wexceptions1.C: Likewise. - * g++.dg/warn/Wexceptions3.C: Likewise. - * g++.dg/warn/Winfinite-recursion-3.C: Likewise. - * g++.dg/warn/Wreturn-6.C: Likewise. - * g++.dg/warn/Wstringop-truncation-2.C: Likewise. - * g++.dg/warn/Wterminate1.C: Likewise. - * g++.old-deja/g++.eh/catch1.C: Likewise. - * g++.old-deja/g++.eh/catch10.C: Likewise. - * g++.old-deja/g++.eh/cond1.C: Likewise. - * g++.old-deja/g++.eh/ctor1.C: Likewise. - * g++.old-deja/g++.eh/throw2.C: Likewise. - * g++.old-deja/g++.other/cond5.C: Likewise. - -2023-11-03 Richard Biener - - PR tree-optimization/112310 - * gcc.dg/torture/pr112310.c: New testcase. - -2023-11-03 Paul Thomas - - PR fortran/98498 - * gfortran.dg/interface_50.f90: New test. - -2023-11-03 Juzhe-Zhong - - PR target/112326 - * gcc.target/riscv/rvv/autovec/pr112326.c: New test. - -2023-11-02 Paul Thomas - - PR fortran/112316 - * gfortran.dg/pr112316.f90: New test. - -2023-11-02 Jason Merrill - - PR c++/112301 - PR c++/102191 - PR c++/33799 - * g++.dg/eh/return1.C: Add more cases. - -2023-11-02 Martin Uecker - - PR c/112347 - * gcc.dg/Walloc-size-3.c: New test. - -2023-11-02 Robin Dapp - - * gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c: New test. - * gcc.target/riscv/rvv/autovec/cond/pr111401.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-2.c: Adjust. - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-4.c: Ditto. - -2023-11-02 Richard Biener - - PR tree-optimization/112320 - * gcc.dg/pr112320.c: New testcase. - -2023-11-02 Thomas Schwinge - - * lib/target-supports.exp - (check_effective_target_vect_gather_load_ifn): True for GCN - target. - -2023-11-02 liuhongt - - * gcc.target/i386/part-vect-complexhf.c: New test. - -2023-11-02 Jakub Jelinek - - PR c++/110342 - * g++.dg/cpp26/unevalstr1.C: New test. - * g++.dg/cpp26/unevalstr2.C: New test. - * g++.dg/cpp0x/udlit-error1.C (lol): Expect an error for C++26 - about user-defined literal in deprecated attribute. - -2023-11-02 xuli - - * gcc.target/riscv/rvv/base/tuple_create.c: Rename to vcreate.c. - * gcc.target/riscv/rvv/base/vcreate.c: New test. - -2023-11-02 Juzhe-Zhong - - PR target/112327 - * gcc.target/riscv/rvv/base/pr112327-1.c: New test. - * gcc.target/riscv/rvv/base/pr112327-2.c: New test. - -2023-11-01 Roger Sayle - - PR target/110551 - * gcc.target/i386/pr110551-2.c: New test case. - -2023-11-01 Patrick O'Neill - - * gcc.target/riscv/amo-table-ztso-amo-add-1.c: Add Ztso extension to - dg-options for dg-do compile. - * gcc.target/riscv/amo-table-ztso-amo-add-2.c: Ditto. - * gcc.target/riscv/amo-table-ztso-amo-add-3.c: Ditto. - * gcc.target/riscv/amo-table-ztso-amo-add-4.c: Ditto. - * gcc.target/riscv/amo-table-ztso-amo-add-5.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-1.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-2.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-3.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-4.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-5.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-6.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-7.c: Ditto. - * gcc.target/riscv/amo-table-ztso-fence-1.c: Ditto. - * gcc.target/riscv/amo-table-ztso-fence-2.c: Ditto. - * gcc.target/riscv/amo-table-ztso-fence-3.c: Ditto. - * gcc.target/riscv/amo-table-ztso-fence-4.c: Ditto. - * gcc.target/riscv/amo-table-ztso-fence-5.c: Ditto. - * gcc.target/riscv/amo-table-ztso-load-1.c: Ditto. - * gcc.target/riscv/amo-table-ztso-load-2.c: Ditto. - * gcc.target/riscv/amo-table-ztso-load-3.c: Ditto. - * gcc.target/riscv/amo-table-ztso-store-1.c: Ditto. - * gcc.target/riscv/amo-table-ztso-store-2.c: Ditto. - * gcc.target/riscv/amo-table-ztso-store-3.c: Ditto. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-1.c: Ditto. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-2.c: Ditto. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-3.c: Ditto. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-4.c: Ditto. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-5.c: Ditto. - * lib/target-supports.exp: Add testing infrastructure to require the - Ztso extension or add it to an existing -march. - -2023-11-01 Martin Uecker - - PR c/71219 - * gcc.dg/Walloc-size-1.c: New test. - * gcc.dg/Walloc-size-2.c: New test. - -2023-11-01 Gaius Mulley - - PR modula2/102989 - * gm2/pim/fail/largeconst.mod: Updated foo to an outrageous value. - * gm2/pim/fail/largeconst2.mod: Duplicate test removed. - -2023-11-01 xuli - - * gcc.target/riscv/rvv/base/tuple_vundefined.c: New test. - -2023-10-31 Juzhe-Zhong - - * gcc.dg/vect/vect-gather-6.c: New test. - -2023-10-31 Cupertino Miranda - - * gcc.target/bpf/core-attr-5.c: New test. - * gcc.target/bpf/core-attr-6.c: New test. - * gcc.target/bpf/core-builtin-1.c: Corrected - * gcc.target/bpf/core-builtin-enumvalue-opt.c: Corrected regular - expression. - * gcc.target/bpf/core-builtin-enumvalue.c: Corrected regular - expression. - * gcc.target/bpf/core-builtin-exprlist-1.c: New test. - * gcc.target/bpf/core-builtin-exprlist-2.c: New test. - * gcc.target/bpf/core-builtin-exprlist-3.c: New test. - * gcc.target/bpf/core-builtin-exprlist-4.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: Extra tests - -2023-10-31 Neal Frager - - * gcc.target/microblaze/isa/bshift.c: Bump to mcpu=v10.0. - * gcc.target/microblaze/isa/div.c: Ditto. - * gcc.target/microblaze/isa/fcmp1.c: Ditto. - * gcc.target/microblaze/isa/fcmp2.c: Ditto. - * gcc.target/microblaze/isa/fcmp3.c: Ditto. - * gcc.target/microblaze/isa/fcmp4.c: Ditto. - * gcc.target/microblaze/isa/fcvt.c: Ditto. - * gcc.target/microblaze/isa/float.c: Ditto. - * gcc.target/microblaze/isa/fsqrt.c: Ditto. - * gcc.target/microblaze/isa/mul-bshift-pcmp.c: Ditto. - * gcc.target/microblaze/isa/mul-bshift.c: Ditto. - * gcc.target/microblaze/isa/mul.c: Ditto. - * gcc.target/microblaze/isa/mulh-bshift-pcmp.c: Ditto. - * gcc.target/microblaze/isa/mulh.c: Ditto. - * gcc.target/microblaze/isa/nofcmp.c: Ditto. - * gcc.target/microblaze/isa/nofloat.c: Ditto. - * gcc.target/microblaze/isa/pcmp.c: Ditto. - * gcc.target/microblaze/isa/vanilla.c: Ditto. - * gcc.target/microblaze/microblaze.exp: Ditto. - -2023-10-31 Patrick O'Neill - - * gcc.target/riscv/amo-table-a-6-amo-add-1.c: Add A extension to - dg-options for dg-do compile. - * gcc.target/riscv/amo-table-a-6-amo-add-2.c: Ditto. - * gcc.target/riscv/amo-table-a-6-amo-add-3.c: Ditto. - * gcc.target/riscv/amo-table-a-6-amo-add-4.c: Ditto. - * gcc.target/riscv/amo-table-a-6-amo-add-5.c: Ditto. - * gcc.target/riscv/amo-table-a-6-compare-exchange-1.c: Ditto. - * gcc.target/riscv/amo-table-a-6-compare-exchange-2.c: Ditto. - * gcc.target/riscv/amo-table-a-6-compare-exchange-3.c: Ditto. - * gcc.target/riscv/amo-table-a-6-compare-exchange-4.c: Ditto. - * gcc.target/riscv/amo-table-a-6-compare-exchange-5.c: Ditto. - * gcc.target/riscv/amo-table-a-6-compare-exchange-6.c: Ditto. - * gcc.target/riscv/amo-table-a-6-compare-exchange-7.c: Ditto. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-1.c: Ditto. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-2.c: Ditto. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-3.c: Ditto. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-4.c: Ditto. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-5.c: Ditto. - * gcc.target/riscv/inline-atomics-2.c: Ditto. - * gcc.target/riscv/inline-atomics-3.c: Require A extension for dg-do - run. - * gcc.target/riscv/inline-atomics-4.c: Ditto. - * gcc.target/riscv/inline-atomics-5.c: Ditto. - * gcc.target/riscv/inline-atomics-6.c: Ditto. - * gcc.target/riscv/inline-atomics-7.c: Ditto. - * gcc.target/riscv/inline-atomics-8.c: Ditto. - * lib/target-supports.exp: Add testing infrastructure to require the A - extension or add it to an existing -march. - -2023-10-31 Christoph Müllner - - * gcc.target/riscv/xtheadfmemidx-index-update.c: New test. - * gcc.target/riscv/xtheadfmemidx-index-xtheadbb-update.c: New test. - * gcc.target/riscv/xtheadfmemidx-index-xtheadbb.c: New test. - * gcc.target/riscv/xtheadfmemidx-index.c: New test. - * gcc.target/riscv/xtheadfmemidx-uindex-update.c: New test. - * gcc.target/riscv/xtheadfmemidx-uindex-xtheadbb-update.c: New test. - * gcc.target/riscv/xtheadfmemidx-uindex-xtheadbb.c: New test. - * gcc.target/riscv/xtheadfmemidx-uindex.c: New test. - -2023-10-31 Christoph Müllner - - * gcc.target/riscv/xtheadmemidx-helpers.h: New test. - * gcc.target/riscv/xtheadmemidx-index-update.c: New test. - * gcc.target/riscv/xtheadmemidx-index-xtheadbb-update.c: New test. - * gcc.target/riscv/xtheadmemidx-index-xtheadbb.c: New test. - * gcc.target/riscv/xtheadmemidx-index.c: New test. - * gcc.target/riscv/xtheadmemidx-modify-xtheadbb.c: New test. - * gcc.target/riscv/xtheadmemidx-modify.c: New test. - * gcc.target/riscv/xtheadmemidx-uindex-update.c: New test. - * gcc.target/riscv/xtheadmemidx-uindex-xtheadbb-update.c: New test. - * gcc.target/riscv/xtheadmemidx-uindex-xtheadbb.c: New test. - * gcc.target/riscv/xtheadmemidx-uindex.c: New test. - -2023-10-31 Carl Love - - * gcc.target/powerpc/bcd-3.c (do_sub_ge, do_suble): Add functions - to test builtins __builtin_bcdsub_ge and __builtin_bcdsub_le. - -2023-10-31 Vladimir N. Makarov - - PR rtl-optimization/111971 - * gcc.target/powerpc/pr111971.c: New test. - -2023-10-31 Robin Dapp - - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-1.c: Remove - -ffast-math. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/fmax-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/fmax_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/fmax_zvfh-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/fmax_zvfh_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/fmin-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/fmin_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/fmin_zvfh-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/fmin_zvfh_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc-10.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-10.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_zvfh-10.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_zvfh_run-10.c: New test. - -2023-10-31 Alexandre Oliva - - PR tree-optimization/111943 - * gcc.dg/harden-cfr-pr111943.c: New. - -2023-10-31 Richard Biener - - PR tree-optimization/112305 - * gcc.dg/torture/pr112305.c: New testcase. - -2023-10-31 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_arith-1.c: Add vmerge assert. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv32-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv32-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv64-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv64-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv32-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv32-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv64-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv64-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv32-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv32-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv64-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv64-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv32-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv32-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv64-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv64-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-10.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-11.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-10.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-11.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-5.c: New test. - -2023-10-31 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv32-1.c: - Add vfncvt.f.f.w assert. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv32-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv64-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv64-2.c: - Ditto. - -2023-10-31 liuhongt - - * g++.target/i386/part-vect-vcondhf.C: Adjust testcase. - * gcc.target/i386/pr112276.c: New test. - -2023-10-31 Andrew Pinski - - * gcc.dg/tree-ssa/phi-opt-value-4.c: New test. - -2023-10-31 Andrew Pinski - - * gcc.dg/tree-ssa/cond-1.c: New test. - * gcc.dg/tree-ssa/phi-opt-value-1.c: New test. - * gcc.dg/tree-ssa/phi-opt-value-1a.c: New test. - * gcc.dg/tree-ssa/phi-opt-value-2.c: New test. - -2023-10-31 Neal Frager - - * gcc.target/microblaze/isa/bshift.c: Bump to mcpu=v10.0. - * gcc.target/microblaze/isa/div.c: Ditto. - * gcc.target/microblaze/isa/fcmp1.c: Ditto. - * gcc.target/microblaze/isa/fcmp2.c: Ditto. - * gcc.target/microblaze/isa/fcmp3.c: Ditto. - * gcc.target/microblaze/isa/fcmp4.c: Ditto. - * gcc.target/microblaze/isa/fcvt.c: Ditto. - * gcc.target/microblaze/isa/float.c: Ditto. - * gcc.target/microblaze/isa/fsqrt.c: Ditto. - * gcc.target/microblaze/isa/mul-bshift-pcmp.c: Ditto. - * gcc.target/microblaze/isa/mul-bshift.c: Ditto. - * gcc.target/microblaze/isa/mul.c: Ditto. - * gcc.target/microblaze/isa/mulh-bshift-pcmp.c: Ditto. - * gcc.target/microblaze/isa/mulh.c: Ditto. - * gcc.target/microblaze/isa/nofcmp.c: Ditto. - * gcc.target/microblaze/isa/nofloat.c: Ditto. - * gcc.target/microblaze/isa/pcmp.c: Ditto. - * gcc.target/microblaze/isa/vanilla.c: Ditto. - * gcc.target/microblaze/microblaze.exp: Ditto. - -2023-10-30 Mayshao - - * g++.target/i386/mv32.C: Handle new -march. - * gcc.target/i386/funcspec-56.inc: Ditto. - -2023-10-30 Martin Jambor - - PR ipa/111157 - * gcc.dg/lto/pr111157_0.c: New test. - * gcc.dg/lto/pr111157_1.c: Second file of the same new test. - -2023-10-30 Patrick O'Neill - - * gcc.target/riscv/rv32i_zcmp.c: Accept any register in the - range of 1-9 for cm.push and cm.popret insns. - -2023-10-30 Roger Sayle - - PR middle-end/101955 - * gcc.target/arc/pr101955.c: New test case. - -2023-10-30 Roger Sayle - - * gcc.target/arc/lsl16-1.c: New test case. - * gcc.target/arc/lsr16-1.c: Likewise. - * gcc.target/arc/swap-1.c: Likewise. - * gcc.target/arc/swap-2.c: Likewise. - -2023-10-30 Richard Ball - - * gcc.target/arm/arm-switchstatement.c: Alter the tests to - change adr instruction to ldr. - -2023-10-30 Francois-Xavier Coudert - - * gcc.target/i386/pr105554.c: Require ifunc. - -2023-10-30 Francois-Xavier Coudert - - * gcc.dg/Wtrampolines.c: Skip on darwin20 and later. - -2023-10-30 Francois-Xavier Coudert - - PR target/112287 - * gcc.target/i386/pr111698.c: Pass -march=sandybridge. - -2023-10-30 Francois-Xavier Coudert - - * gcc.dg/pie-2.c: Skip test on darwin. - -2023-10-30 Richard Biener - - PR testsuite/111462 - * gcc.dg/tree-ssa/ssa-sink-18.c: XFAIL also powerpc64le. - -2023-10-30 Paul Thomas - - PR fortran/104555 - * gfortran.dg/pr104555.f90: New test. - -2023-10-30 liuhongt - - * gcc.target/i386/pr104610-2.c: New test. - -2023-10-29 Iain Buclaw - - PR d/110712 - * gdc.dg/pr110712.d: New test. - -2023-10-29 Iain Sandoe - - * gcc.target/i386/large-data.c: Skip for Darwin. - -2023-10-29 Iain Sandoe - - * gcc.target/i386/apx-interrupt-1.c: Skip for Darwin. - * gcc.target/i386/apx-push2pop2-1.c: Likewise. - * gcc.target/i386/apx-push2pop2_force_drap-1.c: Likewise. - -2023-10-29 Martin Uecker - - PR tree-optimization/109334 - * gcc.dg/builtin-dynamic-object-size-0.c - (test_parmsz_simple3): Supported again. - (test_parmsz_external4): New test. - * gcc.dg/builtin-dynamic-object-size-20.c: New test. - * gcc.dg/pr104970.c: New test. - -2023-10-28 Iain Buclaw - - PR d/112270 - * gdc.dg/pr112270.d: New test. - -2023-10-28 Iain Buclaw - - * gdc.dg/Wunused_value.d: New test. - -2023-10-27 Patrick O'Neill - - * gcc.target/riscv/stack_save_restore_2.c: Accept any number - after __riscv_save_ and __riscv_restore_. - -2023-10-27 Harald Anlauf - Steven G. Kargl - - PR fortran/104649 - * gfortran.dg/pr104649.f90: New test. - -2023-10-27 Patrick Palka - - PR c++/111929 - * g++.dg/template/non-dependent28a.C: New test. - -2023-10-27 Patrick Palka - - * g++.dg/template/new14.C: New test. - -2023-10-27 Patrick Palka - - * g++.dg/warn/Wparentheses-13.C: Strengthen by expecting that - we issue the -Wparentheses warnings ahead of time. - * g++.dg/warn/Wparentheses-23.C: Likewise. - * g++.dg/warn/Wparentheses-32.C: Remove xfails. - -2023-10-27 Gaius Mulley - - PR modula2/111530 - * gm2/pimlib/run/pass/testgetopt.mod: New test. - -2023-10-27 Robin Dapp - - * gcc.dg/tree-prof/peel-2.c: Add - -fno-tree-loop-distribute-patterns. - * gcc.dg/tree-ssa/ldist-rawmemchr-1.c: Add riscv. - * gcc.dg/tree-ssa/ldist-rawmemchr-2.c: Ditto. - * gcc.target/riscv/rvv/rvv.exp: Add builtin directory. - * gcc.target/riscv/rvv/autovec/builtin/rawmemchr-1.c: New test. - -2023-10-27 Robin Dapp - - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c: Remove - Float16. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c: Ditto. - * lib/target-supports.exp: Add zvfh handling. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-zvfh-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-zvfh-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-zvfh-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-zvfh-2.c: New test. - -2023-10-27 Paul-Antoine Arras - - * gfortran.dg/c_ptr_tests_20.f90: Moved to... - * gfortran.dg/gomp/c_ptr_tests_20.f90: ...here. - * gfortran.dg/c_ptr_tests_21.f90: Moved to... - * gfortran.dg/gomp/c_ptr_tests_21.f90: ...here. - -2023-10-27 Roger Sayle - - PR target/110551 - * gcc.target/i386/pr110551.c: New test case. - -2023-10-27 Lewis Hyatt - - PR preprocessor/87299 - * c-c++-common/pragma-target-1.c: New test. - * c-c++-common/pragma-target-2.c: New test. - * g++.target/i386/pr87299-1.C: New test. - * g++.target/i386/pr87299-2.C: New test. - * gcc.target/i386/pr87299-1.c: New test. - * gcc.target/i386/pr87299-2.c: New test. - * gcc.target/s390/target-attribute/tattr-2b.c: New test. - * gcc.target/aarch64/pragma_cpp_predefs_1b.c: New test. - * gcc.target/arm/pragma_arch_attribute_1b.c: New test. - * gcc.target/nios2/custom-fp-2b.c: New test. - * gcc.target/powerpc/float128-3b.c: New test. - -2023-10-27 Paul Thomas - - PR fortran/104625 - * gfortran.dg/pr104625.f90: New test. - * gfortran.dg/associate_55.f90: Change error check. - -2023-10-27 Andrew Pinski - - PR tree-optimization/101590 - PR tree-optimization/94884 - * gcc.dg/tree-ssa/bitcmp-1.c: New test. - * gcc.dg/tree-ssa/bitcmp-2.c: New test. - * gcc.dg/tree-ssa/bitcmp-3.c: New test. - * gcc.dg/tree-ssa/bitcmp-4.c: New test. - * gcc.dg/tree-ssa/bitcmp-5.c: New test. - * gcc.dg/tree-ssa/bitcmp-6.c: New test. - -2023-10-27 liuhongt - - * g++.target/i386/part-vect-vcondhf.C: New test. - * gcc.target/i386/part-vect-vec_cmphf.c: New test. - -2023-10-26 Juzhe-Zhong - - PR target/111318 - PR target/111888 - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/select_vl-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/pr111318.c: New test. - * gcc.target/riscv/rvv/autovec/pr111888.c: New test. - -2023-10-26 David Malcolm - - * c-c++-common/analyzer/attr-null_terminated_string_arg-access-read_write.c: - New test. - * c-c++-common/analyzer/attr-null_terminated_string_arg-access-without-size.c: - New test. - * c-c++-common/analyzer/attr-null_terminated_string_arg-multiple.c: - New test. - * c-c++-common/analyzer/attr-null_terminated_string_arg-nonnull-2.c: - New test. - * c-c++-common/analyzer/attr-null_terminated_string_arg-nonnull-sized.c: - New test. - * c-c++-common/analyzer/attr-null_terminated_string_arg-nonnull.c: - New test. - * c-c++-common/analyzer/attr-null_terminated_string_arg-nullable-sized.c: - New test. - * c-c++-common/analyzer/attr-null_terminated_string_arg-nullable.c: - New test. - * c-c++-common/attr-null_terminated_string_arg.c: New test. - -2023-10-26 Iain Sandoe - - * gcc.target/aarch64/aarch64.exp: Use aarch64-with-arch-dg-options - to normaize the options to the tests in aarch64.exp. - -2023-10-26 Iain Sandoe - - * lib/target-libpath.exp: Skip DYLD_LIBRARY_PATH for all - current OS versions > 10. - -2023-10-26 Andrew Pinski - - PR tree-optimization/111957 - * gcc.dg/tree-ssa/phi-opt-40.c: New test. - -2023-10-26 Paul-Antoine Arras - - * gfortran.dg/c_ptr_tests_20.f90: Add "fopenmp" effective target. - * gfortran.dg/c_ptr_tests_21.f90: Add "fopenmp" effective target. - -2023-10-26 Patrick O'Neill - - * g++.target/riscv/rvv/rvv.exp: Add -mabi argument to CFLAGS. - -2023-10-26 Richard Sandiford - - * lib/target-supports-dg.exp (check-flags): Move default argument - handling further up. Fix a couple of issues in the lappends. - Avoid frobbing the compiler flags if the return value is already - known to be 1. - * lib/dg-pch.exp (dg-flags-pch): Process the dg-skip-if and - dg-require-effective-target directives to see whether the - assembly test should be skipped. - * gcc.dg/pch/valid-1.c: Remove dg-require-effective-target. - * gcc.dg/pch/valid-1b.c: Likewise. - -2023-10-26 Richard Ball - - * gcc.target/arm/arm-switchstatement.c: New test. - -2023-10-26 Paul-Antoine Arras - Tobias Burnus - - * gfortran.dg/c_ptr_tests_20.f90: New test, checking that INTEGER(8) - and TYPE(C_PTR) are recognised as compatible. - * gfortran.dg/c_ptr_tests_21.f90: New test, exercising the error - detection for C_FUNPTR. - -2023-10-26 Roger Sayle - Richard Biener - - PR rtl-optimization/91865 - * gcc.target/msp430/pr91865.c: New test case. - -2023-10-26 Jiahao Xu - - * gcc.target/loongarch/vector/lasx/lasx-vcond-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-vcond-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vcond-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vcond-2.c: New test. - -2023-10-26 Stefan Schulze Frielinghaus - - * gcc.misc-tests/godump-1.c: Move _BitInt tests into godump-2.c. - * gcc.misc-tests/godump-2.c: New test. - -2023-10-26 Alexandre Oliva - - PR tree-optimization/111520 - * g++.dg/torture/harden-comp-pr111520.cc: New. - -2023-10-25 Wilco Dijkstra - - * gcc.target/aarch64/imm_choice_comparison.c: Change tests. - * gcc.target/aarch64/moveor_imm.c: Add new test. - * gcc.target/aarch64/pr106583.c: Change tests. - -2023-10-25 Uros Bizjak - - PR target/111698 - * gcc.target/i386/pr111698.c: New test. - -2023-10-25 chenxiaolong - - * gcc.target/loongarch/builtin_thread_pointer.c: New test. - -2023-10-25 Patrick Palka - - PR c++/99804 - * g++.dg/template/enum9.C: New test. - -2023-10-25 Gaius Mulley - - PR modula2/111955 - * gm2/pimlib/run/pass/testnan.mod: New test. - -2023-10-25 Thomas Schwinge - - * c-c++-common/goacc/self-clause-2.c: Verify - '--param=openacc-kernels=decompose'. - * gfortran.dg/goacc/kernels-tree.f95: Adjust. - -2023-10-25 Thomas Schwinge - - * c-c++-common/goacc/if-clause-2.c: Enhance. - * c-c++-common/goacc/self-clause-1.c: Likewise. - * c-c++-common/goacc/self-clause-2.c: Likewise. - * gfortran.dg/goacc/if.f95: Likewise. - * gfortran.dg/goacc/kernels-tree.f95: Likewise. - * gfortran.dg/goacc/parallel-tree.f95: Likewise. - * gfortran.dg/goacc/self.f95: Likewise. - -2023-10-25 Thomas Schwinge - - * c-c++-common/goacc/if-clause-1.c: Enable for C++ - * c-c++-common/goacc/self-clause-1.c: Likewise. - -2023-10-25 Chung-Lin Tang - - * c-c++-common/goacc/self-clause-1.c: New test. - * c-c++-common/goacc/self-clause-2.c: New test. - * gfortran.dg/goacc/self.f95: New test. - -2023-10-25 Marek Polacek - - PR c++/111895 - * g++.dg/cpp0x/scoped_enum12.C: New test. - -2023-10-24 Patrick Palka - - PR c++/111929 - * g++.dg/template/non-dependent28.C: New test. - -2023-10-24 Patrick Palka - - PR c++/111919 - * g++.dg/template/non-dependent27.C: New test. - -2023-10-24 Christophe Lyon - - * gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c: Fix. - -2023-10-24 Andrew Pinski - - PR tree-optimization/101541 - * gcc.dg/tree-ssa/phi-opt-39.c: New test. - -2023-10-24 Andrew Pinski - - PR tree-optimization/111913 - * gcc.c-torture/compile/fold-popcount-1.c: New test. - * gcc.dg/fold-popcount-8a.c: New test. - -2023-10-24 xuli - - PR target/111935 - * gcc.target/riscv/rvv/base/pr111935.c: New test. - -2023-10-24 Juzhe-Zhong - - PR target/111947 - * gcc.target/riscv/rvv/vsetvl/pr111947.c: New test. - -2023-10-23 Lewis Hyatt - - PR preprocessor/36887 - * c-c++-common/cpp/diagnostic-poison.c: New test. - * g++.dg/pch/pr36887.C: New test. - * g++.dg/pch/pr36887.Hs: New test. - -2023-10-23 Robin Dapp - - * gcc.target/riscv/rvv/autovec/slp-mask-1.c: New test. - * gcc.target/riscv/rvv/autovec/slp-mask-run-1.c: New test. - -2023-10-23 Robin Dapp - - * gcc.target/riscv/rvv/autovec/unop/popcount-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/popcount-2.c: New test. - * gcc.target/riscv/rvv/autovec/unop/popcount-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/popcount.c: New test. - -2023-10-23 Richard Biener - - PR tree-optimization/111916 - * gcc.dg/torture/pr111916.c: New testcase. - -2023-10-23 Richard Biener - - PR tree-optimization/111915 - * gcc.dg/vect/pr111915.c: New testcase. - -2023-10-23 Richard Biener - - PR ipa/111914 - * gcc.dg/pr111914.c: New testcase. - -2023-10-23 Tamar Christina - - PR tree-optimization/111860 - * gcc.dg/vect/pr111860-2.c: New test. - * gcc.dg/vect/pr111860-3.c: New test. - -2023-10-23 Andrew Pinski - - * gcc.dg/tree-ssa/phi-opt-38.c: New test. - -2023-10-23 Andrew Pinski - - PR c/111903 - * gcc.target/i386/float16-8.c: New test. - -2023-10-23 Richard Biener - - PR tree-optimization/111917 - * gcc.dg/torture/pr111917.c: New testcase. - -2023-10-23 Juzhe-Zhong - - PR target/111927 - * gcc.target/riscv/rvv/vsetvl/pr111927.c: New test. - -2023-10-23 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/cvt-0.c: Remove the vsetvl - asm check from func body. - * gcc.target/riscv/rvv/autovec/unop/cvt-1.c: Ditto. - -2023-10-23 Xi Ruoyao - - * gcc.target/loongarch/explicit-relocs-auto-single-load-store.c: - New test. - * gcc.target/loongarch/explicit-relocs-auto-single-load-store-no-anchor.c: - New test. - -2023-10-23 Xi Ruoyao - - * gcc.target/loongarch/explicit-relocs-auto-tls-ld-gd.c: New - test. - * gcc.target/loongarch/explicit-relocs-auto-tls-le-ie.c: New - test. - -2023-10-23 Xi Ruoyao - - * gcc.target/loongarch/explicit-relocs-auto-lto.c: New test. - -2023-10-23 Florian Weimer - - * gcc.c-torture/execute/builtins/pr93262-chk.c (main_test): - Remove unnecessary return statement. - -2023-10-23 Pan Li - - * gcc.target/riscv/rvv/base/binop_vv_constraint-1.c: Remove the - vsetvl asm check from func body. - * gcc.target/riscv/rvv/base/binop_vx_constraint-1.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-10.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-11.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-12.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-129.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-13.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-130.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-131.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-133.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-134.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-135.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-14.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-15.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-153.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-154.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-155.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-158.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-16.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-17.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-171.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-172.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-173.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-174.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-18.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-19.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-2.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-20.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-22.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-24.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-26.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-28.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-3.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-30.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-32.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-34.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-35.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-36.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-37.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-38.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-39.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-4.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-40.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-41.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-42.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-43.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-44.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-5.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-6.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-7.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-9.c: Ditto. - * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: Ditto. - * gcc.target/riscv/rvv/base/ternop_vv_constraint-1.c: Ditto. - * gcc.target/riscv/rvv/base/ternop_vv_constraint-2.c: Ditto. - * gcc.target/riscv/rvv/base/ternop_vv_constraint-3.c: Ditto. - * gcc.target/riscv/rvv/base/ternop_vv_constraint-4.c: Ditto. - * gcc.target/riscv/rvv/base/ternop_vv_constraint-5.c: Ditto. - * gcc.target/riscv/rvv/base/ternop_vv_constraint-6.c: Ditto. - * gcc.target/riscv/rvv/base/ternop_vx_constraint-1.c: Ditto. - * gcc.target/riscv/rvv/base/ternop_vx_constraint-8.c: Ditto. - * gcc.target/riscv/rvv/base/ternop_vx_constraint-9.c: Ditto. - * gcc.target/riscv/rvv/base/unop_v_constraint-1.c: Ditto. - * gcc.target/riscv/rvv/base/unop_v_constraint-2.c: Ditto. - -2023-10-23 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/bswap16-0.c: Remove the - vsetvl check. - * gcc.target/riscv/rvv/autovec/unop/math-ceil-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-ceil-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-ceil-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-ceil-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-floor-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-floor-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-floor-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-floor-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-iceil-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-ifloor-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-irint-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-iround-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-lceil-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-lceil-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-lfloor-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-lfloor-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-llceil-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-llfloor-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-llrint-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-llround-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-lrint-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-lrint-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-lround-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-lround-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-rint-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-rint-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-rint-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-rint-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-round-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-round-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-round-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-round-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-3.c: Ditto. - -2023-10-23 Haochen Jiang - - PR target/111753 - * gcc.target/i386/pr111753.c: New test. - -2023-10-23 liuhongt - - * gcc.target/i386/pr111820-1.c: New test. - * gcc.target/i386/pr111820-2.c: New test. - * gcc.target/i386/pr111820-3.c: New test. - * gcc.target/i386/pr103144-mul-1.c: Adjust testcase. - * gcc.target/i386/pr103144-mul-2.c: Adjust testcase. - -2023-10-22 Andrew Pinski - - PR target/110986 - * gcc.target/aarch64/cond_op-1.c: New test. - -2023-10-22 Iain Sandoe - - * gfortran.dg/coarray/caf.exp: Correctly set - libatomic flags. - * gfortran.dg/dg.exp: Likewise. - * lib/asan-dg.exp: Set correct -B flags. - * lib/atomic-dg.exp: Likewise. - * lib/target-libpath.exp: Handle ENABLE_DARWIN_AT_RPATH. - -2023-10-22 Tsukasa OI - - * gcc.target/riscv/arch-26.c: New test. - -2023-10-21 Florian Weimer - - * gcc.c-torture/compile/20000403-1.c: Compile with -std=gnu89. - * gcc.c-torture/compile/20000511-1.c: Likewise. - * gcc.c-torture/compile/20000804-1.c: Likewise. - * gcc.c-torture/compile/20020418-1.c: Likewise. - * gcc.c-torture/compile/20020927-1.c: Likewise. - * gcc.c-torture/compile/20030109-1.c: Likewise. - * gcc.c-torture/compile/20030224-1.c: Likewise. - * gcc.c-torture/compile/20030415-1.c: Likewise. - * gcc.c-torture/compile/20030612-1.c: Likewise. - * gcc.c-torture/compile/20030917-1.c: Likewise. - * gcc.c-torture/compile/20031113-1.c: Likewise. - * gcc.c-torture/compile/20031220-2.c: Likewise. - * gcc.c-torture/compile/20040309-1.c: Likewise. - * gcc.c-torture/compile/20040310-1.c: Likewise. - * gcc.c-torture/compile/20040317-3.c: Likewise. - * gcc.c-torture/compile/20040817-1.c: Likewise. - * gcc.c-torture/compile/20091215-1.c: Likewise. - * gcc.c-torture/compile/86.c: Likewise. - * gcc.c-torture/compile/900216-1.c: Likewise. - * gcc.c-torture/compile/900313-1.c: Likewise. - * gcc.c-torture/compile/900407-1.c: Likewise. - * gcc.c-torture/compile/900516-1.c: Likewise. - * gcc.c-torture/compile/920409-2.c: Likewise. - * gcc.c-torture/compile/920415-1.c: Likewise. - * gcc.c-torture/compile/920428-1.c: Likewise. - * gcc.c-torture/compile/920428-5.c: Likewise. - * gcc.c-torture/compile/920428-7.c: Likewise. - * gcc.c-torture/compile/920501-1.c: Likewise. - * gcc.c-torture/compile/920501-13.c: Likewise. - * gcc.c-torture/compile/920501-15.c: Likewise. - * gcc.c-torture/compile/920501-16.c: Likewise. - * gcc.c-torture/compile/920501-18.c: Likewise. - * gcc.c-torture/compile/920501-20.c: Likewise. - * gcc.c-torture/compile/920501-6.c: Likewise. - * gcc.c-torture/compile/920501-7.c: Likewise. - * gcc.c-torture/compile/920502-1.c: Likewise. - * gcc.c-torture/compile/920502-2.c: Likewise. - * gcc.c-torture/compile/920520-1.c: Likewise. - * gcc.c-torture/compile/920521-1.c: Likewise. - * gcc.c-torture/compile/920608-1.c: Likewise. - * gcc.c-torture/compile/920617-1.c: Likewise. - * gcc.c-torture/compile/920617-2.c: Likewise. - * gcc.c-torture/compile/920625-1.c: Likewise. - * gcc.c-torture/compile/920625-2.c: Likewise. - * gcc.c-torture/compile/920626-1.c: Likewise. - * gcc.c-torture/compile/920706-1.c: Likewise. - * gcc.c-torture/compile/920710-2.c: Likewise. - * gcc.c-torture/compile/920723-1.c: Likewise. - * gcc.c-torture/compile/920808-1.c: Likewise. - * gcc.c-torture/compile/920809-1.c: Likewise. - * gcc.c-torture/compile/920817-1.c: Likewise. - * gcc.c-torture/compile/920831-1.c: Likewise. - * gcc.c-torture/compile/920917-1.c: Likewise. - * gcc.c-torture/compile/920928-2.c: Likewise. - * gcc.c-torture/compile/920928-5.c: Likewise. - * gcc.c-torture/compile/921012-1.c: Likewise. - * gcc.c-torture/compile/921021-1.c: Likewise. - * gcc.c-torture/compile/921024-1.c: Likewise. - * gcc.c-torture/compile/921103-1.c: Likewise. - * gcc.c-torture/compile/921109-1.c: Likewise. - * gcc.c-torture/compile/921111-1.c: Likewise. - * gcc.c-torture/compile/921116-2.c: Likewise. - * gcc.c-torture/compile/921118-1.c: Likewise. - * gcc.c-torture/compile/921202-1.c: Likewise. - * gcc.c-torture/compile/921202-2.c: Likewise. - * gcc.c-torture/compile/921203-1.c: Likewise. - * gcc.c-torture/compile/921203-2.c: Likewise. - * gcc.c-torture/compile/921206-1.c: Likewise. - * gcc.c-torture/compile/930109-1.c: Likewise. - * gcc.c-torture/compile/930111-1.c: Likewise. - * gcc.c-torture/compile/930117-1.c: Likewise. - * gcc.c-torture/compile/930118-1.c: Likewise. - * gcc.c-torture/compile/930120-1.c: Likewise. - * gcc.c-torture/compile/930217-1.c: Likewise. - * gcc.c-torture/compile/930325-1.c: Likewise. - * gcc.c-torture/compile/930411-1.c: Likewise. - * gcc.c-torture/compile/930427-2.c: Likewise. - * gcc.c-torture/compile/930503-2.c: Likewise. - * gcc.c-torture/compile/930506-2.c: Likewise. - * gcc.c-torture/compile/930513-2.c: Likewise. - * gcc.c-torture/compile/930530-1.c: Likewise. - * gcc.c-torture/compile/930602-1.c: Likewise. - * gcc.c-torture/compile/930618-1.c: Likewise. - * gcc.c-torture/compile/930623-1.c: Likewise. - * gcc.c-torture/compile/931003-1.c: Likewise. - * gcc.c-torture/compile/931013-1.c: Likewise. - * gcc.c-torture/compile/931013-2.c: Likewise. - * gcc.c-torture/compile/931102-2.c: Likewise. - * gcc.c-torture/compile/931203-1.c: Likewise. - * gcc.c-torture/compile/940718-1.c: Likewise. - * gcc.c-torture/compile/941014-1.c: Likewise. - * gcc.c-torture/compile/941014-2.c: Likewise. - * gcc.c-torture/compile/941014-3.c: Likewise. - * gcc.c-torture/compile/941014-4.c: Likewise. - * gcc.c-torture/compile/941111-1.c: Likewise. - * gcc.c-torture/compile/941113-1.c: Likewise. - * gcc.c-torture/compile/950124-1.c: Likewise. - * gcc.c-torture/compile/950329-1.c: Likewise. - * gcc.c-torture/compile/950612-1.c: Likewise. - * gcc.c-torture/compile/950618-1.c: Likewise. - * gcc.c-torture/compile/950719-1.c: Likewise. - * gcc.c-torture/compile/950910-1.c: Likewise. - * gcc.c-torture/compile/950922-1.c: Likewise. - * gcc.c-torture/compile/951106-1.c: Likewise. - * gcc.c-torture/compile/951222-1.c: Likewise. - * gcc.c-torture/compile/960106-1.c: Likewise. - * gcc.c-torture/compile/960319-1.c: Likewise. - * gcc.c-torture/compile/960829-1.c: Likewise. - * gcc.c-torture/compile/970206-1.c: Likewise. - * gcc.c-torture/compile/980825-1.c: Likewise. - * gcc.c-torture/compile/990829-1.c: Likewise. - * gcc.c-torture/compile/991213-2.c: Likewise. - -2023-10-21 Pan Li - - PR target/111857 - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-4.c: Adjust checker. - * gcc.target/riscv/rvv/autovec/vls/def.h: Add help define. - * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-6.c: New test. - -2023-10-20 Roger Sayle - Uros Bizjak - - PR middle-end/101955 - PR tree-optimization/106245 - * gcc.target/i386/pr106245-2.c: New test case. - * gcc.target/i386/pr106245-3.c: New 32-bit test case. - * gcc.target/i386/pr106245-4.c: New 64-bit test case. - * gcc.target/i386/pr106245-5.c: Likewise. - -2023-10-20 Jason Merrill - - * g++.dg/template/sfinae-dr657.C: Adjust. - -2023-10-20 Jason Merrill - - * g++.dg/cpp1y/constexpr-diag1.C: Add -fno-implicit-constexpr. - -2023-10-20 Jason Merrill - - * g++.dg/warn/Wsign-promo1.C: New test. - -2023-10-20 Nathan Sidwell - - * g++.dg/modules/decltype-1_a.C: New. - * g++.dg/modules/decltype-1_b.C: New. - * g++.dg/modules/lambda-5_a.C: New. - * g++.dg/modules/lambda-5_b.C: New. - -2023-10-20 Florian Weimer - - * gcc.dg/Wint-conversion-3.c: New. - -2023-10-20 Florian Weimer - - * gcc.dg/Wincompatible-pointer-types-2.c: New. - * gcc.dg/Wincompatible-pointer-types-3.c: New. - * gcc.dg/Wincompatible-pointer-types-4.c: New. - -2023-10-20 Marek Polacek - - PR c/111884 - * c-c++-common/alias-1.c: New test. - -2023-10-20 Andre Vieira - - * gcc.dg/vect/pr111882.c: New test. - -2023-10-20 Patrick Palka - - PR c++/106086 - * g++.dg/template/crash127.C: Expect additional error due to - being able to check the member access expression ahead of time. - Strengthen the test by not instantiating the class template. - * g++.dg/cpp1y/lambda-generic-this5.C: New test. - -2023-10-20 Patrick Palka - - * g++.dg/concepts/var-concept3.C: Adjust expected diagnostic - for attempting to call a variable concept. - -2023-10-20 Richard Biener - - PR tree-optimization/111383 - PR tree-optimization/110243 - * gcc.dg/torture/pr111383.c: New testcase. - -2023-10-20 Richard Biener - - PR tree-optimization/111445 - * gcc.dg/torture/pr111445.c: New testcase. - -2023-10-20 Richard Biener - - PR tree-optimization/110243 - PR tree-optimization/111336 - * gcc.dg/torture/pr110243.c: New testcase. - * gcc.dg/torture/pr111336.c: Likewise. - -2023-10-20 Richard Biener - - PR tree-optimization/111891 - * gfortran.dg/pr111891.f90: New testcase. - -2023-10-20 Richard Biener - - PR tree-optimization/111000 - * gcc.dg/torture/pr111000.c: New testcase. - -2023-10-20 Alexandre Oliva - - * c-c++-common/torture/harden-cfr.c: New. - * c-c++-common/harden-cfr-noret-never-O0.c: New. - * c-c++-common/torture/harden-cfr-noret-never.c: New. - * c-c++-common/torture/harden-cfr-noret-noexcept.c: New. - * c-c++-common/torture/harden-cfr-noret-nothrow.c: New. - * c-c++-common/torture/harden-cfr-noret.c: New. - * c-c++-common/torture/harden-cfr-notail.c: New. - * c-c++-common/torture/harden-cfr-returning.c: New. - * c-c++-common/torture/harden-cfr-tail.c: New. - * c-c++-common/torture/harden-cfr-abrt-always.c: New. - * c-c++-common/torture/harden-cfr-abrt-never.c: New. - * c-c++-common/torture/harden-cfr-abrt-no-xthrow.c: New. - * c-c++-common/torture/harden-cfr-abrt-nothrow.c: New. - * c-c++-common/torture/harden-cfr-abrt.c: New. - * c-c++-common/torture/harden-cfr-always.c: New. - * c-c++-common/torture/harden-cfr-never.c: New. - * c-c++-common/torture/harden-cfr-no-xthrow.c: New. - * c-c++-common/torture/harden-cfr-nothrow.c: New. - * c-c++-common/torture/harden-cfr-bret-always.c: New. - * c-c++-common/torture/harden-cfr-bret-never.c: New. - * c-c++-common/torture/harden-cfr-bret-noopt.c: New. - * c-c++-common/torture/harden-cfr-bret-noret.c: New. - * c-c++-common/torture/harden-cfr-bret-no-xthrow.c: New. - * c-c++-common/torture/harden-cfr-bret-nothrow.c: New. - * c-c++-common/torture/harden-cfr-bret-retcl.c: New. - * c-c++-common/torture/harden-cfr-bret.c: New. - * g++.dg/harden-cfr-throw-always-O0.C: New. - * g++.dg/harden-cfr-throw-returning-O0.C: New. - * g++.dg/torture/harden-cfr-noret-always-no-nothrow.C: New. - * g++.dg/torture/harden-cfr-noret-never-no-nothrow.C: New. - * g++.dg/torture/harden-cfr-noret-no-nothrow.C: New. - * g++.dg/torture/harden-cfr-throw-always.C: New. - * g++.dg/torture/harden-cfr-throw-never.C: New. - * g++.dg/torture/harden-cfr-throw-no-xthrow.C: New. - * g++.dg/torture/harden-cfr-throw-no-xthrow-expected.C: New. - * g++.dg/torture/harden-cfr-throw-nothrow.C: New. - * g++.dg/torture/harden-cfr-throw-nocleanup.C: New. - * g++.dg/torture/harden-cfr-throw-returning.C: New. - * g++.dg/torture/harden-cfr-throw.C: New. - * gcc.dg/torture/harden-cfr-noret-no-nothrow.c: New. - * gcc.dg/torture/harden-cfr-tail-ub.c: New. - * gnat.dg/hardcfr.adb: New. - * c-c++-common/torture/harden-cfr-skip-leaf.c: New file. - * g++.dg/harden-cfr-throw-returning-enabled-O0.C: New file. - -2023-10-20 Tamar Christina - Andre Vieira - - * gcc.dg/vect/vect-bitfield-read-1-not.c: New test. - * gcc.dg/vect/vect-bitfield-read-2-not.c: New test. - * gcc.dg/vect/vect-bitfield-read-8.c: New test. - * gcc.dg/vect/vect-bitfield-read-9.c: New test. - -2023-10-20 Hu, Lin1 - - * gcc.target/i386/pr89229-5b.c: Modify test. - * gcc.target/i386/pr89229-6b.c: Ditto. - * gcc.target/i386/pr89229-7b.c: Ditto. - -2023-10-20 Juzhe-Zhong - - PR target/111848 - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/pr111848.c: New test. - -2023-10-20 Lehua Ding - - PR target/111037 - PR target/111234 - PR target/111725 - * gcc.target/riscv/rvv/base/scalar_move-1.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/avl_single-46.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/avl_single-89.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/avl_single-95.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-1.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/pr109743-2.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/pr109773-1.c: Adjust. - * gcc.target/riscv/rvv/base/pr111037-1.c: Moved to... - * gcc.target/riscv/rvv/vsetvl/pr111037-1.c: ...here. - * gcc.target/riscv/rvv/base/pr111037-2.c: Moved to... - * gcc.target/riscv/rvv/vsetvl/pr111037-2.c: ...here. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/vsetvl-13.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/vsetvl-18.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/avl_single-104.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-105.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-106.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-107.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-108.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-109.c: New test. - * gcc.target/riscv/rvv/vsetvl/pr111037-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/pr111037-4.c: New test. - -2023-10-20 Nathaniel Shead - - PR c++/101631 - PR c++/102286 - * g++.dg/cpp1y/constexpr-89336-3.C: Fix union initialisation. - * g++.dg/cpp1y/constexpr-union6.C: New test. - * g++.dg/cpp1y/constexpr-union7.C: New test. - * g++.dg/cpp2a/constexpr-union2.C: New test. - * g++.dg/cpp2a/constexpr-union3.C: New test. - * g++.dg/cpp2a/constexpr-union4.C: New test. - * g++.dg/cpp2a/constexpr-union5.C: New test. - * g++.dg/cpp2a/constexpr-union6.C: New test. - -2023-10-20 Nathaniel Shead - - * g++.dg/cpp0x/constexpr-cast4.C: New test. - -2023-10-19 Andre Vieira - - * gcc.dg/gomp/pr110485.c: New test. - -2023-10-19 Andre Vieira - - * gcc.dg/vect/vect-simd-clone-16f.c: Remove unnecessary differentation - between targets with different pointer sizes. - * gcc.dg/vect/vect-simd-clone-17f.c: Likewise. - * gcc.dg/vect/vect-simd-clone-18f.c: Likewise. - -2023-10-19 Andrew Pinski - - PR c/100532 - * gcc.dg/pr100532-1.c: New test. - -2023-10-19 Andrew Pinski - - PR c/104822 - * gcc.dg/sso-18.c: New test. - * gcc.dg/sso-19.c: New test. - -2023-10-19 Lewis Hyatt - - PR c++/89038 - * c-c++-common/cpp/Wunknown-pragmas-1.c: New test. - -2023-10-19 Lewis Hyatt - - PR preprocessor/82335 - * c-c++-common/cpp/diagnostic-pragma-3.c: New test. - -2023-10-19 Tamar Christina - - PR tree-optimization/111860 - * gcc.dg/vect/pr111860.c: New test. - -2023-10-19 Richard Biener - - PR tree-optimization/111131 - * gcc.dg/vect/vect-gather-1.c: Now expected to vectorize - everywhere. - * gcc.dg/vect/vect-gather-2.c: Expected to not SLP anywhere. - Massage the scale case to more reliably produce a different - one. Scan for the specific messages. - * gcc.dg/vect/vect-gather-3.c: Masked gather is also supported - for AVX2, but not emulated. - * gcc.dg/vect/vect-gather-4.c: Expected to not SLP anywhere. - Massage to more properly ensure this. - * gcc.dg/vect/tsvc/vect-tsvc-s353.c: Expect to vectorize - everywhere. - -2023-10-19 Alex Coplan - - * gcc.target/aarch64/pr71727.c: Adjust scan-assembler-not to - make sure we don't have q-register stores with -mstrict-align. - -2023-10-19 Alex Coplan - - * gcc.target/aarch64/sve/pcs/args_9.c: Adjust scan-assemblers to - allow for stp. - -2023-10-19 Alex Coplan - - * gcc.target/aarch64/lr_free_1.c: Add - --param=aarch64-stp-policy=never to dg-options. - -2023-10-19 Haochen Jiang - - * gcc.target/i386/funcspec-56.inc: Group Clearwater Forest - with atom cores. - -2023-10-19 Jiahao Xu - - * gcc.target/loongarch/vect-widen-add.c: New test. - * gcc.target/loongarch/vect-widen-mul.c: New test. - * gcc.target/loongarch/vect-widen-sub.c: New test. - -2023-10-19 Jiahao Xu - - * gcc.target/loongarch/avg-ceil-lasx.c: New test. - * gcc.target/loongarch/avg-ceil-lsx.c: New test. - * gcc.target/loongarch/avg-floor-lasx.c: New test. - * gcc.target/loongarch/avg-floor-lsx.c: New test. - * gcc.target/loongarch/sad-lasx.c: New test. - * gcc.target/loongarch/sad-lsx.c: New test. - -2023-10-18 Andrew Pinski - - PR middle-end/111863 - * gcc.c-torture/execute/pr111863-1.c: New test. - -2023-10-18 Andrew Pinski - - PR c/101364 - * gcc.dg/pr101364-1.c: New test. - -2023-10-18 Andrew Pinski - - PR c/101285 - * gcc.dg/pr101285-1.c: New test. - -2023-10-18 Jason Merrill - - * g++.dg/ext/integer-pack2.C: Add -fpermissive. - * g++.dg/diagnostic/sys-narrow.h: New test. - * g++.dg/diagnostic/sys-narrow1.C: New test. - * g++.dg/diagnostic/sys-narrow1a.C: New test. - * g++.dg/diagnostic/sys-narrow1b.C: New test. - * g++.dg/diagnostic/sys-narrow1c.C: New test. - * g++.dg/diagnostic/sys-narrow1d.C: New test. - * g++.dg/diagnostic/sys-narrow1e.C: New test. - * g++.dg/diagnostic/sys-narrow1f.C: New test. - * g++.dg/diagnostic/sys-narrow1g.C: New test. - * g++.dg/diagnostic/sys-narrow1h.C: New test. - * g++.dg/diagnostic/sys-narrow1i.C: New test. - -2023-10-18 Tobias Burnus - - * gfortran.dg/gomp/allocate-13a.f90: New test. - -2023-10-18 Jakub Jelinek - - PR tree-optimization/111845 - * gcc.dg/pr111845.c: New test. - * gcc.target/i386/pr111845.c: New test. - -2023-10-18 Tamar Christina - - PR tree-optimization/109154 - * gcc.target/aarch64/sve/pre_cond_share_1.c: New test. - -2023-10-18 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add new test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/consecutive-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/consecutive-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/consecutive-3.c: New test. - -2023-10-18 Haochen Jiang - - * g++.target/i386/mv16.C: Ditto. - * gcc.target/i386/funcspec-56.inc: Handle new march. - -2023-10-18 Haochen Jiang - - * g++.target/i386/mv16.C: Ditto. - * gcc.target/i386/funcspec-56.inc: Handle new march. - -2023-10-18 liuhongt - - * gcc.target/i386/part-vect-fmaddsubhf-1.c: New test. - * gcc.target/i386/part-vect-fmahf-1.c: New test. - -2023-10-18 Juzhe-Zhong - - PR target/111832 - * gcc.target/riscv/rvv/rvv.exp: Enable more dynamic tests. - -2023-10-17 Richard Sandiford - - * gcc.target/aarch64/test_frame_2.c: Expect x30 to come before x19. - * gcc.target/aarch64/test_frame_4.c: Likewise. - * gcc.target/aarch64/test_frame_7.c: Likewise. - * gcc.target/aarch64/test_frame_10.c: Likewise. - -2023-10-17 Richard Sandiford - - * gcc.target/aarch64/sve/pcs/stack_clash_2.c: Expect restores - to happen in offset order. - * gcc.target/aarch64/sve/pcs/stack_clash_2_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/stack_clash_2_256.c: Likewise. - * 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. - -2023-10-17 Andrew Pinski - - PR tree-optimization/110817 - * gcc.c-torture/execute/pr110817-1.c: New test. - * gcc.c-torture/execute/pr110817-2.c: New test. - * gcc.c-torture/execute/pr110817-3.c: New test. - -2023-10-17 Marek Polacek - - PR c++/111840 - * g++.dg/parse/error65.C: New test. - -2023-10-17 Marek Polacek - - PR c++/111660 - * g++.dg/cpp0x/hog1.C: New test. - * g++.dg/cpp2a/consteval36.C: New test. - -2023-10-17 Vineet Gupta - - * gcc.target/riscv/pr111466.c (foo2): Change return to unsigned - int as that will potentially generate two SEXT.W instructions. - dg-final: Change to scan-assembler-not SEXT.W. - -2023-10-17 Martin Uecker - - PR c/111708 - * gcc.dg/pr111708-1.c: New test. - * gcc.dg/pr111708-2.c: New test. - -2023-10-17 Harald Anlauf - - PR fortran/111837 - * gfortran.dg/implied_do_io_8.f90: New test. - -2023-10-17 Andrew Pinski - - PR tree-optimization/111432 - * gcc.dg/tree-ssa/bitops-7.c: New test. - -2023-10-17 Richard Biener - - PR tree-optimization/111846 - * gcc.dg/vect/pr111846.c: New testcase. - -2023-10-17 Lehua Ding - - * gcc.target/riscv/rvv/base/cpymem-1.c: Split check. - -2023-10-17 Richard Biener - - PR middle-end/111818 - * gcc.dg/torture/pr111818.c: New testcase. - -2023-10-17 Richard Biener - - PR tree-optimization/111807 - * gcc.dg/torture/pr111807.c: New testcase. - -2023-10-17 Vineet Gupta - - PR target/111466 - * gcc.target/riscv/pr111466.c: New test. - -2023-10-17 Chenghui Pan - - * gcc.target/loongarch/vector/lasx/lasx-vec-init-1.c: New test. - -2023-10-17 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: New test. - -2023-10-17 Iain Buclaw - - * gdc.dg/builtins_reject.d: New test. - * gdc.dg/intrinsics_reject.d: New test. - -2023-10-16 Uros Bizjak - - * gcc.target/i386/large-data.c: New test. - -2023-10-16 Vineet Gupta - - * gcc.target/riscv/fle-ieee.c: Updates dg-options with - explicit -march=rv64gc and -march=rv32gc. - * gcc.target/riscv/fle-snan.c: Ditto. - * gcc.target/riscv/fle.c: Ditto. - * gcc.target/riscv/flef-ieee.c: Ditto. - * gcc.target/riscv/flef.c: Ditto. - * gcc.target/riscv/flef-snan.c: Ditto. - * gcc.target/riscv/flt-ieee.c: Ditto. - * gcc.target/riscv/flt-snan.c: Ditto. - * gcc.target/riscv/fltf-ieee.c: Ditto. - * gcc.target/riscv/fltf-snan.c: Ditto. - -2023-10-16 Manolis Tsamis - - * gcc.target/riscv/fold-mem-offsets-1.c: New test. - * gcc.target/riscv/fold-mem-offsets-2.c: New test. - * gcc.target/riscv/fold-mem-offsets-3.c: New test. - * gcc.target/i386/pr52146.c: Adjust expected output. - -2023-10-16 Andrew Pinski - - PR tree-optimization/101541 - * gcc.dg/tree-ssa/phi-opt-36.c: New test. - * gcc.dg/tree-ssa/phi-opt-37.c: New test. - -2023-10-16 Andrew Pinski - - PR tree-optimization/31531 - * gcc.dg/tree-ssa/pr31531-1.c: New test. - * gcc.dg/tree-ssa/pr31531-2.c: New test. - -2023-10-16 Jason Merrill - - * g++.dg/concepts/diagnostic3.C: Add expected column. - * g++.dg/cpp1z/fold3.C: Adjust diagnostic lines. - -2023-10-16 Marek Polacek - - PR c++/111272 - * g++.dg/cpp1y/constexpr-diag1.C: New test. - -2023-10-16 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/no-dynamic-lmul-1.c: New test. - -2023-10-16 liuhongt - - * gcc.target/i386/part-vect-hf-convert-1.c: New test. - -2023-10-16 liuhongt - - * gcc.target/i386/part-vect-roundhf.c: New test. - * gcc.target/i386/part-vect-sqrtph-1.c: New test. - -2023-10-15 Iain Buclaw - - * lib/gdc-utils.exp (gdc-convert-args): Handle new compiler options. - -2023-10-14 Iain Buclaw - - PR d/111537 - * gdc.dg/analyzer/analyzer.exp: New test. - * gdc.dg/analyzer/pr111537.d: New test. - -2023-10-14 Tobias Burnus - - * c-c++-common/gomp/allocate-14.c: Fix directive name. - * c-c++-common/gomp/allocate-15.c: Likewise. - * c-c++-common/gomp/allocate-9.c: Fix comment typo. - * gfortran.dg/gomp/allocate-4.f90: Remove sorry dg-error. - * gfortran.dg/gomp/allocate-7.f90: Likewise. - * gfortran.dg/gomp/allocate-10.f90: New test. - * gfortran.dg/gomp/allocate-11.f90: New test. - * gfortran.dg/gomp/allocate-12.f90: New test. - * gfortran.dg/gomp/allocate-13.f90: New test. - * gfortran.dg/gomp/allocate-14.f90: New test. - * gfortran.dg/gomp/allocate-15.f90: New test. - * gfortran.dg/gomp/allocate-8.f90: New test. - * gfortran.dg/gomp/allocate-9.f90: New test. - -2023-10-14 Jakub Jelinek - - PR c/102989 - * gcc.dg/bitint-38.c: Change into dg-do run test, in addition - to checking the addition, division and right shift results at compile - time check it also at runtime. - * gcc.dg/bitint-39.c: New test. - -2023-10-13 Harald Anlauf - - PR fortran/104351 - * gfortran.dg/derived_function_interface_1.f90: Adjust pattern. - * gfortran.dg/pr104351.f90: New test. - -2023-10-13 Richard Biener - - PR tree-optimization/111795 - * gcc.target/i386/vect-simd-clone-avx512-1.c: New testcase. - * gcc.target/i386/vect-simd-clone-avx512-2.c: Likewise. - * gcc.target/i386/vect-simd-clone-avx512-3.c: Likewise. - -2023-10-13 Richard Biener - - * gcc.dg/vect/slp-simd-clone-1.c: New testcase. - * gcc.dg/vect/slp-simd-clone-2.c: Likewise. - -2023-10-13 Juzhe-Zhong - - * gcc.dg/vect/bb-slp-68.c: Use vect512. - -2023-10-13 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-1.c: - Use scalar func as reference instead of hardcode. - * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-floor-run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-floor-run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-rint-run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-rint-run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-round-run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-round-run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-2.c: Ditto. - -2023-10-13 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-llfloor-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llfloor-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-llfloor-0.c: New test. - -2023-10-13 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-ifloor-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-ifloor-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-ifloor-0.c: New test. - -2023-10-13 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-iceil-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-iceil-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-iceil-0.c: New test. - -2023-10-13 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-llceil-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llceil-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-llceil-0.c: New test. - -2023-10-13 Florian Weimer - - * gcc.c-torture/compile/pc44485.c (func_21): Add missing cast. - * gcc.c-torture/compile/pr106101.c: Use builtins to avoid - calls to undeclared functions. Change type of yyvsp to - char ** and introduce yyvsp1 to avoid type errors. - * gcc.c-torture/execute/pr111331-1.c: Add missing int. - * gcc.dg/pr100512.c: Unreduce test case and suppress only - -Wpointer-to-int-cast. - * gcc.dg/pr103003.c: Likewise. - * gcc.dg/pr103451.c: Add cast to long and suppress - -Wdiv-by-zero only. - * gcc.dg/pr68435.c: Avoid implicit int and missing - static function implementation warning. - -2023-10-13 Florian Weimer - - * gcc.c-torture/compile/20000105-1.c: Add missing int return type. - Call __builtin_exit instead of exit. - * gcc.c-torture/compile/20000105-2.c: Add missing void types. - * gcc.c-torture/compile/20000211-1.c (Lstream_fputc, Lstream_write) - (Lstream_flush_out, parse_doprnt_spec): Add missing function - declaration. - * gcc.c-torture/compile/20000224-1.c (call_critical_lisp_code): - Declare. - * gcc.c-torture/compile/20000314-2.c: Add missing void types. - * gcc.c-torture/compile/980816-1.c (XtVaCreateManagedWidget) - (XtAddCallback): Likewise. - * gcc.c-torture/compile/pr49474.c: Use struct - gfc_formal_arglist * instead of (implied) int type. - * gcc.c-torture/execute/20001111-1.c (foo): Add cast to - char *. - (main): Call __builtin_abort and __builtin_exit. - -2023-10-13 Florian Weimer - - * gcc.c-torture/compile/920501-11.c: Compile with -std=gnu89. - * gcc.c-torture/compile/920501-23.c: Likewise. - * gcc.c-torture/compile/920501-8.c: Likewise. - * gcc.c-torture/compile/920701-1.c: Likewise. - * gcc.c-torture/compile/930529-1.c: Likewise. - -2023-10-13 Richard Biener - - PR tree-optimization/111779 - * gcc.dg/tree-ssa/ssa-dse-26.c: Adjust for more DSE. - * gcc.dg/vect/vect-pr111779.c: New testcase. - -2023-10-13 Richard Biener - - PR tree-optimization/111773 - * g++.dg/torture/pr111773.C: New testcase. - -2023-10-13 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-llround-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llround-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-llround-0.c: New test. - -2023-10-13 Juzhe-Zhong - - * gcc.dg/vect/bb-slp-pr69907.c: Add RVV. - -2023-10-13 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-iround-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-iround-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-iround-0.c: New test. - -2023-10-13 Kito Cheng - - * g++.target/riscv/rvv/autovec/bug-01.C: New. - * g++.target/riscv/rvv/rvv.exp: Add autovec folder. - -2023-10-13 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-llrint-0.c: Include - stdint-gcc.h for int types. - * gcc.target/riscv/rvv/autovec/unop/math-llrint-run-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/test-math.h: Remove int64_t - typedef. - -2023-10-13 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-lfloor-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lfloor-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lfloor-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lfloor-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lfloor-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lfloor-1.c: New test. - -2023-10-13 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-lceil-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lceil-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lceil-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lceil-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lceil-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lceil-1.c: New test. - -2023-10-12 Christoph Müllner - - * gcc.target/riscv/xtheadcondmov-indirect.c: Make robust against - instruction reordering. - -2023-10-12 Tamar Christina - - * gcc.target/aarch64/armv9_warning.c: New test. - -2023-10-12 Jakub Jelinek - - PR c/102989 - * gcc.dg/bitint-38.c: New test. - -2023-10-12 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-lround-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lround-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lround-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lround-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lround-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lround-1.c: New test. - -2023-10-12 Richard Biener - - PR tree-optimization/111764 - * gcc.dg/vect/pr111764.c: New testcase. - -2023-10-12 Hu, Lin1 - - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/x86gprintrin-1.c: Add -musermsr for 64bit target. - * gcc.target/i386/x86gprintrin-2.c: Ditto. - * gcc.target/i386/x86gprintrin-3.c: Ditto. - * gcc.target/i386/x86gprintrin-4.c: Add musermsr for 64bit target. - * gcc.target/i386/x86gprintrin-5.c: Ditto - * gcc.target/i386/user_msr-1.c: New test. - * gcc.target/i386/user_msr-2.c: Ditto. - -2023-10-12 Chenghui Pan - - * lib/target-supports.exp: Add LoongArch in - check_effective_target_vect_int_mod according to SX/ASX capabilities. - -2023-10-12 Chenghui Pan - - PR target/111424 - * lib/target-supports.exp: Enable vect.exp for LoongArch. - -2023-10-12 Paul Thomas - - PR fortran/67740 - * gfortran.dg/pr67740.f90: New test - -2023-10-12 Kewen Lin - - PR target/111367 - * g++.target/powerpc/pr111367.C: New test. - -2023-10-12 Kewen Lin - - PR testsuite/111427 - * gfortran.dg/vect/pr60510.f (test): Init variable a. - -2023-10-12 Kewen Lin - - * gcc.dg/vect/costmodel/ppc/costmodel-vect-store-2.c: New test. - -2023-10-12 Kewen Lin - - * gcc.dg/vect/costmodel/ppc/costmodel-vect-store-1.c: New test. - -2023-10-12 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/test-math.h: Add type int64_t. - * gcc.target/riscv/rvv/autovec/unop/math-llrint-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-llrint-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-llrint-0.c: New test. - -2023-10-12 Mo, Zewei - Hu Lin1 - Hongyu Wang - - * gcc.target/i386/apx-push2pop2-1.c: New test. - * gcc.target/i386/apx-push2pop2_force_drap-1.c: Likewise. - * gcc.target/i386/apx-push2pop2_interrupt-1.c: Likewise. - -2023-10-12 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-irint-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-irint-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-irint-0.c: New test. - -2023-10-11 Andrew Pinski - - PR tree-optimization/111282 - * gcc.dg/tree-ssa/and-1.c: Update testcase to avoid - matching `~1 & (a ^ 1)` simplification. - * gcc.dg/tree-ssa/bitops-6.c: New test. - -2023-10-11 Mary Bennett - - * lib/target-supports.exp: Add proc for the XCValu extension. - * gcc.target/riscv/cv-alu-compile.c: New test. - * gcc.target/riscv/cv-alu-fail-compile-addn.c: New test. - * gcc.target/riscv/cv-alu-fail-compile-addrn.c: New test. - * gcc.target/riscv/cv-alu-fail-compile-addun.c: New test. - * gcc.target/riscv/cv-alu-fail-compile-addurn.c: New test. - * gcc.target/riscv/cv-alu-fail-compile-clip.c: New test. - * gcc.target/riscv/cv-alu-fail-compile-clipu.c: New test. - * gcc.target/riscv/cv-alu-fail-compile-subn.c: New test. - * gcc.target/riscv/cv-alu-fail-compile-subrn.c: New test. - * gcc.target/riscv/cv-alu-fail-compile-subun.c: New test. - * gcc.target/riscv/cv-alu-fail-compile-suburn.c: New test. - * gcc.target/riscv/cv-alu-fail-compile.c: New test. - -2023-10-11 Mary Bennett - - * lib/target-supports.exp: Add new effective target check. - * gcc.target/riscv/cv-mac-compile.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-mac.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-machhsn.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-machhsrn.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-machhun.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-machhurn.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-macsn.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-macsrn.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-macun.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-macurn.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-msu.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-mulhhsn.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-mulhhsrn.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-mulhhun.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-mulhhurn.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-mulsn.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-mulsrn.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-mulun.c: New test. - * gcc.target/riscv/cv-mac-fail-compile-mulurn.c: New test. - * gcc.target/riscv/cv-mac-test-autogeneration.c: New test. - -2023-10-11 Gaius Mulley - - PR modula2/111675 - * gm2/extensions/run/pass/packedrecord3.mod: New test. - -2023-10-11 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/gather-scatter/offset_extend-1.c: New test. - -2023-10-11 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/test-math.h: New define for - CVT like test case. - * gcc.target/riscv/rvv/autovec/vls/def.h: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-lrint-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lrint-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lrint-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-lrint-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lrint-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-lrint-1.c: New test. - -2023-10-11 Juzhe-Zhong - - * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Remove riscv. - -2023-10-11 Richard Biener - Jakub Jelinek - - PR tree-optimization/111519 - * gcc.dg/torture/pr111519.c: New testcase. - -2023-10-11 Roger Sayle - - * gcc.target/i386/pr106245-1.c: New test case. - -2023-10-11 Juzhe-Zhong - - * lib/target-supports.exp: Add RVV. - -2023-10-11 liuhongt - - * gcc.target/i386/pr111745.c: New test. - -2023-10-11 Juzhe-Zhong - - * gcc.dg/vect/vect-live-2.c: Make pattern match more accurate. - -2023-10-11 Juzhe-Zhong - - * gcc.dg/vect/vect-multitypes-16.c: Adapt check for RVV. - * lib/target-supports.exp: Add vect_ext_char_longlong property. - -2023-10-10 Jason Merrill - - PR c++/109422 - * g++.dg/cpp2a/lambda-generic-mangle1.C: New test. - * g++.dg/cpp2a/lambda-generic-mangle1a.C: New test. - -2023-10-10 Andrew Pinski - - PR tree-optimization/111679 - * gcc.dg/tree-ssa/bitops-5.c: New test. - -2023-10-10 Juzhe-Zhong - - * gcc.dg/vect/no-scevccp-outer-7.c: Adjust regex pattern. - * gcc.dg/vect/no-scevccp-vect-iv-3.c: Ditto. - -2023-10-10 Juzhe-Zhong - - * gcc.dg/tree-ssa/predcom-2.c: Add riscv. - -2023-10-10 Juzhe-Zhong - - * gcc.dg/vect/pr65947-8.c: Use vect_fold_extract_last. - -2023-10-10 Juzhe-Zhong - - PR target/111751 - * gcc.target/riscv/rvv/autovec/pr111751.c: New test. - -2023-10-10 Juzhe-Zhong - - * gcc.dg/vect/bb-slp-pr65935.c: Add vect1024 variant. - * lib/target-supports.exp: Ditto. - -2023-10-10 Claudiu Zissulescu - - * gcc.target/arc/add_f-combine.c: New test. - -2023-10-10 Juzhe-Zhong - - * lib/target-supports.exp: Add 256/512/1024 - -2023-10-09 Andrew MacLeod - - PR tree-optimization/111694 - * gcc.dg/pr111694.c: New. - -2023-10-09 Juzhe-Zhong - - * gcc.dg/vect/slp-perm-4.c: Adapt test for stride5 load_lanes. - -2023-10-09 Juzhe-Zhong - - * gcc.dg/vect/pr97832-2.c: Adapt dump check for target supports load_lanes with stride = 8. - * gcc.dg/vect/pr97832-3.c: Ditto. - * gcc.dg/vect/pr97832-4.c: Ditto. - -2023-10-09 Juzhe-Zhong - - * gcc.dg/vect/slp-12a.c: Adapt for stride 8 load_lanes. - -2023-10-09 Juzhe-Zhong - - * gcc.dg/vect/slp-reduc-4.c: Adapt test for stride8 load_lanes. - -2023-10-09 Juzhe-Zhong - - * gcc.dg/vect/slp-23.c: Add RVV like ARM SVE. - * gcc.dg/vect/slp-perm-10.c: Ditto. - -2023-10-09 Xianmiao Qu - - * gcc.target/riscv/xtheadmempair-4.c: New test. - -2023-10-09 Richard Biener - - PR tree-optimization/111715 - * gcc.dg/tree-ssa/ssa-fre-102.c: New testcase. - -2023-10-09 Pan Li - - * gcc.target/riscv/rvv/autovec/vls/perm-4.c: Adjust checker. - * gcc.target/riscv/rvv/autovec/unop/bswap16-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/bswap16-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/vls/bswap16-0.c: New test. - -2023-10-09 Juzhe-Zhong - - * gcc.dg/vect/pr45752.c: Adapt dump check for target supports load_lanes with stride = 5. - -2023-10-09 Robin Dapp - - * gcc.dg/vect/vect-cond-arith-2.c: Also match COND_LEN. - * gcc.dg/vect/vect-cond-arith-4.c: Ditto. - * gcc.dg/vect/vect-cond-arith-5.c: Ditto. - * gcc.dg/vect/vect-cond-arith-6.c: Ditto. - -2023-10-09 Juzhe-Zhong - - * gcc.dg/vect/fast-math-slp-38.c: Add ! vect_strided6. - -2023-10-09 Roger Sayle - - * gcc.target/i386/rcr-1.c: New 64-bit test case. - * gcc.target/i386/rcr-2.c: New 32-bit test case. - -2023-10-09 Haochen Jiang - - * gcc.target/i386/noevex512-1.c: New test. - * gcc.target/i386/noevex512-2.c: Ditto. - * gcc.target/i386/noevex512-3.c: Ditto. - -2023-10-09 Haochen Jiang - Hu, Lin1 - - * gcc.target/i386/pr90096.c: Adjust error message. - -2023-10-09 Juzhe-Zhong - - * gcc.dg/vect/vect-cond-reduc-4.c: Add vect_pack_trunc variant. - -2023-10-09 Haochen Gui - - PR target/106769 - * gcc.target/powerpc/pr88558.h: New. - * gcc.target/powerpc/pr88558-p7.c: New. - * gcc.target/powerpc/pr88558-p8.c: New. - -2023-10-08 David Malcolm - - PR analyzer/111155 - * c-c++-common/analyzer/out-of-bounds-diagram-strcat-2.c: New test. - * c-c++-common/analyzer/out-of-bounds-diagram-strcat.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-17.c: Update expected - result to show the existing content of "buf" and the index at - which the write starts. - * gcc.dg/analyzer/out-of-bounds-diagram-18.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-diagram-19.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-diagram-6.c: Update expected - output. - -2023-10-08 David Malcolm - - PR driver/111700 - * c-c++-common/diagnostic-format-sarif-file-pr111700.c: New test. - -2023-10-08 liuhongt - - * gcc.target/i386/part-vect-absneghf.c: New test. - * gcc.target/i386/part-vect-copysignhf.c: New test. - * gcc.target/i386/part-vect-xorsignhf.c: New test. - -2023-10-08 liuhongt - - * gcc.target/i386/part-vect-vminmaxph-1.c: New test. - * gcc.target/i386/avx512fp16-64-32-vecop-1.c: Scan-assembler - only for { target { ! ia32 } }. - -2023-10-08 Tobias Burnus - - * gfortran.dg/block_17.f90: New test. - * gfortran.dg/gomp/strictly-structured-block-5.f90: New test. - -2023-10-08 Jiufu Guo - - * gcc.target/powerpc/const-build.c: Add more tests. - -2023-10-08 Jiufu Guo - - * gcc.target/powerpc/const-build.c: Add more tests. - -2023-10-08 Jiufu Guo - - * gcc.target/powerpc/const-build.c: Add more tests. - -2023-10-08 Jiufu Guo - - * gcc.target/powerpc/const-build.c: New test. - -2023-10-08 Hongyu Wang - - * gcc.target/i386/apx-egprs-names.c: Compile for non-ia32. - * gcc.target/i386/apx-inline-gpr-norex2.c: Likewise. - * gcc.target/i386/apx-interrupt-1.c: Likewise. - * gcc.target/i386/apx-legacy-insn-check-norex2-asm.c: Likewise. - * gcc.target/i386/apx-legacy-insn-check-norex2.c: Likewise. - -2023-10-08 Juzhe-Zhong - - * gcc.dg/vect/tsvc/vect-tsvc-s1115.c: Fix TSVC XPASS. - * gcc.dg/vect/tsvc/vect-tsvc-s114.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s1161.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s1232.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s124.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s1279.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s161.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s253.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s257.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s271.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s2711.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s2712.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s272.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s273.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s274.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s276.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s278.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s279.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s3111.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s353.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s441.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-s443.c: Ditto. - * gcc.dg/vect/tsvc/vect-tsvc-vif.c: Ditto. - -2023-10-08 Juzhe-Zhong - - * lib/target-supports.exp: Enable more vect tests for RVV. - -2023-10-07 Lehua Ding - - Revert: - 2023-10-07 Pan Li - - * gcc.target/riscv/rvv/rvv.exp: Add zfa for building. - * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-floor-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-rint-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-round-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-0.c: New test. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * gcc.target/i386/apx-legacy-insn-check-norex2.c: Add intrinsic - tests. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * gcc.target/i386/apx-legacy-insn-check-norex2.c: Add - sse/vex intrinsic tests. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * lib/target-supports.exp: Add apxf check. - * gcc.target/i386/apx-legacy-insn-check-norex2.c: New test. - * gcc.target/i386/apx-legacy-insn-check-norex2-asm.c: New assembler test. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * gcc.target/i386/apx-inline-gpr-norex2.c: New test. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * gcc.target/i386/apx-egprs-names.c: New test. - * gcc.target/i386/apx-spill_to_egprs-1.c: Likewise. - * gcc.target/i386/apx-interrupt-1.c: Likewise. - -2023-10-07 Kong Lingling - Hongyu Wang - Hongtao Liu - - * gcc.target/i386/apx-1.c: New test. - -2023-10-07 Pan Li - - * gcc.target/riscv/rvv/rvv.exp: Add zfa for building. - * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-floor-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-rint-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-round-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-0.c: New test. - -2023-10-07 Jiufu Guo - - PR target/108338 - * gcc.target/powerpc/pr108338.c: Updated to check mtvsrws for p9. - -2023-10-07 Jiufu Guo - - PR target/108338 - * gcc.target/powerpc/pr108338.c: New test. - -2023-10-07 xuli - - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Adjust assembler times. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Ditto. - -2023-10-06 Roger Sayle - - * gcc.target/i386/ashldi3-2.c: New 32-bit test case. - * gcc.target/i386/ashlti3-3.c: New 64-bit test case. - -2023-10-06 Roger Sayle - Uros Bizjak - - * gcc.target/i386/lea-2.c: New test case. - -2023-10-06 Andrew Pinski - - PR middle-end/111699 - * gcc.c-torture/compile/pr111699-1.c: New test. - -2023-10-06 Patrick O'Neill - - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-1.h: - Replace stdint.h with stdint-gcc.h. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-2.h: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-1.h: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-2.h: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-1.h: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-2.h: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-1.h: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-2.h: - Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/pr111232.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/cvt-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/cvt-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm.h: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-4-run.c: Ditto. - * gcc.target/riscv/rvv/base/pr110119-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/pr111255.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/wredsum_vlmax.c: Ditto. - -2023-10-05 Patrick O'Neill - Joern Rennecke - - * gcc.dg/pr90263.c: Skip riscv_v targets. - * gcc.target/riscv/rvv/base/pr90263.c: New test. - -2023-10-05 Sergei Trofimovich - - PR ipa/111283 - PR gcov-profile/111559 - * gcc.dg/tree-prof/pr111559.c: New test. - -2023-10-05 Uros Bizjak - - PR target/111657 - * gcc.target/i386/pr111657.c: New test. - -2023-10-05 Martin Jambor - - Revert: - 2023-10-05 Martin Jambor - - PR ipa/108007 - * gcc.dg/ipa/pr108007.c: New test. - -2023-10-05 Claudiu Zissulescu - - * gcc.target/arc/enter-dw2-1.c: Remove tests when using linux - build. - * gcc.target/arc/tls-ld.c: Update test. - * gcc.target/arc/tls-le.c: Likewise. - -2023-10-05 Claudiu Zissulescu - - * gcc.target/arc/loop-3.c: Update test. - -2023-10-05 Claudiu Zissulescu - - * gcc.target/arc/add_n-combine.c: Recognize add2 instruction. - * gcc.target/arc/firq-4.c: FP register is a temp reg. Update test. - * gcc.target/arc/firq-6.c: Likewise. - * gcc.target/arc/mtune-ARC600.c: Remove test. - * gcc.target/arc/mtune-ARC601.c: Likewise. - * gcc.target/arc/mtune-ARC700-xmac: Likewise. - * gcc.target/arc/mtune-ARC700.c: Likewise. - * gcc.target/arc/mtune-ARC725D.c: Likewise. - * gcc.target/arc/mtune-ARC750D.c: Likewise. - * gcc.target/arc/uncached-7.c: Set it to XFAIL. - -2023-10-04 Roger Sayle - - * gcc.target/arc/ashrsi-1.c: New TARGET_BARREL_SHIFTER test case. - * gcc.target/arc/ashrsi-2.c: New !TARGET_BARREL_SHIFTER test case. - * gcc.target/arc/ashrsi-3.c: Likewise. - * gcc.target/arc/ashrsi-4.c: Likewise. - * gcc.target/arc/ashrsi-5.c: Likewise. - * gcc.target/arc/lshrsi-1.c: New TARGET_BARREL_SHIFTER test case. - * gcc.target/arc/lshrsi-2.c: New !TARGET_BARREL_SHIFTER test case. - * gcc.target/arc/lshrsi-3.c: Likewise. - * gcc.target/arc/lshrsi-4.c: Likewise. - * gcc.target/arc/lshrsi-5.c: Likewise. - * gcc.target/arc/shlsi-1.c: New TARGET_BARREL_SHIFTER test case. - * gcc.target/arc/shlsi-2.c: New !TARGET_BARREL_SHIFTER test case. - * gcc.target/arc/shlsi-3.c: Likewise. - * gcc.target/arc/shlsi-4.c: Likewise. - * gcc.target/arc/shlsi-5.c: Likewise. - -2023-10-04 Roger Sayle - - PR rtl-optimization/110701 - * gcc.target/i386/pr110701.c: New test case. - -2023-10-04 Paul Thomas - - PR fortran/37336 - PR fortran/111674 - * gfortran.dg/allocate_with_source_25.f90: Final count in tree - dump reverts from 4 to original 6. - * gfortran.dg/finalize_38.f90: Add test for fix of PR111674. - -2023-10-03 David Malcolm - - * g++.dg/diagnostic/static_assert3.C: Add directives for - additional source printing. - * g++.dg/template/error60.C: New test. - -2023-10-03 Patrick O'Neill - - * gcc.target/riscv/rvv/fortran/pr111566.f90: Restore escaped - characters. - -2023-10-03 Martin Jambor - - PR ipa/110378 - * gcc.dg/ipa/ipa-sra-32.c: New test. - * gcc.dg/ipa/pr110378-4.c: Likewise. - * gcc.dg/ipa/ipa-sra-4.c: Use a return value. - -2023-10-03 Martin Jambor - - PR ipa/108007 - * gcc.dg/ipa/pr108007.c: New test. - -2023-10-03 Andrew MacLeod - - * gcc.dg/pr93917.c: Check for ranges in final optimized listing. - * gcc.dg/tree-ssa/vrp-unreachable.c: Ditto. - -2023-10-03 Roger Sayle - - * gcc.target/arc/scc-ltu.c: New test case. - -2023-10-02 John David Anglin - - * gfortran.dg/pr95690.f90: Add hppa*-*-* to dg-error targets at line 5. - -2023-10-02 John David Anglin - - * gcc.dg/pr108095.c: Require target lra. - -2023-10-02 John David Anglin - - * gcc.dg/long_branch.c: Increase timeout factor for hppa*-*-*. - -2023-10-02 David Malcolm - - * gcc.dg/plugin/diagnostic_group_plugin.c - (test_begin_group_cb, test_end_group_cb): Replace with... - (class test_output_format): ...this new subclass. - (plugin_init): Update. - -2023-10-02 David Malcolm - - * gcc.dg/plugin/diagnostic_plugin_show_trees.c: Update for - reorganization of source-printing fields of diagnostic_context. - * gcc.dg/plugin/diagnostic_plugin_test_inlining.c: Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c: - Likewise. - -2023-10-02 Wilco Dijkstra - - PR target/111235 - * gcc.dg/rtl/arm/stl-cond.c: Remove test. - * gcc.target/arm/atomic_loaddi_7.c: Fix dmb count. - * gcc.target/arm/atomic_loaddi_8.c: Likewise. - * gcc.target/arm/pr111235.c: Add new test. - -2023-10-02 Tamar Christina - - * gcc.target/aarch64/xorsign.c: - -2023-10-02 Iain Sandoe - - * g++.dg/debug/dwarf2/pr85550.C: Skip for Darwin. - -2023-10-02 Joern Rennecke - Juzhe-Zhong - - * gcc.target/riscv/rvv/base/cpymem-1.c: New test. - * gcc.target/riscv/rvv/base/cpymem-2.c: Likewise. - -2023-10-01 Joern Rennecke - - * lib/target-supports.exp (add_options_for_riscv_v): - Fix typo in first regexp. - (add_options_for_riscv_zfh): Likewise. - (add_options_for_riscv_d): Likewise. - -2023-10-01 Joern Rennecke - Juzhe-Zhong - Juzhe-Zhong - - PR target/111566 - * gcc.target/riscv/rvv/autovec/vls/mov-1.c: Adapt test. - * gcc.target/riscv/rvv/autovec/vls/mov-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mov-9.c: Ditto.1 - * gcc.target/riscv/rvv/autovec/vls/mov-2.c: Removed. - * gcc.target/riscv/rvv/autovec/vls/mov-4.c: Removed. - * gcc.target/riscv/rvv/autovec/vls/mov-6.c: Removed. - * gcc.target/riscv/rvv/fortran/pr111566.f90: New test. - -2023-09-29 Gaius Mulley - - * gm2/iso/run/pass/m2date.mod (DayName): Reordered. - -2023-09-29 Xiao Zeng - - * gcc.target/riscv/zicond-primitiveSemantics_compare_imm.c: New test. - * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_0_imm.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_imm_imm.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_imm_reg.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_reg_reg.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_reg.c: Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_0_imm.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_imm_imm.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_imm_reg.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_reg_reg.c: - Likewise. - * gcc.target/riscv/zicond-primitiveSemantics.c: Tighten expected regexp. - * gcc.target/riscv/zicond-primitiveSemantics_return_0_imm.c: Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_return_imm_imm.c: Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_return_imm_reg.c: Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_return_reg_reg.c: Likewise. - * gcc.target/riscv/zicond-xor-01.c: Likewise. - -2023-09-29 Patrick O'Neill - - * gcc.target/riscv/rvv/vsetvl/wredsum_vlmax.c: Specify -mabi=lp64d. - -2023-09-29 Jivan Hakobyan - - * gcc.target/riscv/zbb-andn-orn-01.c: New test. - * gcc.target/riscv/zbb-andn-orn-02.c: Likewise. - -2023-09-29 Richard Sandiford - - * gcc.dg/plugin/poly-int-tests.h (test_num_coeffs_extra): Use - poly_int rather than poly_int_pod. - -2023-09-29 Francois-Xavier Coudert - - * gcc.dg/debug/dwarf2/inline4.c: Ajdust regexp to match darwin - output. - -2023-09-29 Andre Vehreschild - - PR fortran/37336 - * gfortran.dg/coarray/alloc_comp_6.f90: New test. - * gfortran.dg/coarray/alloc_comp_7.f90: New test. - -2023-09-29 Manos Anagnostakis - - * gcc.target/aarch64/ldp_aligned.c: Splitted into this and - ldp_unaligned. - * gcc.target/aarch64/stp_aligned.c: Splitted into this and - stp_unaligned. - * gcc.target/aarch64/ldp_unaligned.c: New test. - * gcc.target/aarch64/stp_unaligned.c: New test. - -2023-09-29 Richard Biener - - PR tree-optimization/111583 - * gcc.dg/tree-ssa/pr111583-1.c: New testcase. - * gcc.dg/tree-ssa/pr111583-2.c: Likewise. - -2023-09-28 Gaius Mulley - - * gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: - Add load_lib timeout-dg.exp and increase timeout to 60 - seconds. - * gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: Add - load_lib timeout-dg.exp and increase timeout to 60 seconds. - * gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: - Increase timeout to 45 seconds. - * gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp: - Add load_lib timeout-dg.exp and increase timeout to 120 seconds. - Remove unnecessary compile of mystrlib.mod. - * gm2/iso/run/pass/iso-run-pass.exp: Add load_lib - timeout-dg.exp and set timeout to 60 seconds. - -2023-09-28 Wilco Dijkstra - - PR target/111121 - * gcc.target/aarch64/mops_4.c: Add memmove testcases. - -2023-09-28 Pan Li - - PR target/111506 - * gcc.target/riscv/rvv/autovec/unop/cvt-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/cvt-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cvt-0.c: New test. - -2023-09-28 Richard Biener - - PR tree-optimization/111614 - * gcc.dg/torture/pr111614.c: New testcase. - -2023-09-28 Joern Rennecke - - * lib/target-supports.exp (check_effective_target_riscv_vector): - Delete. Changed all users to use *riscv_v instead. - * g++.target/riscv/rvv/base/bug-10.C: Use riscv_v target selector. - * g++.target/riscv/rvv/base/bug-11.C: Likewise. - * g++.target/riscv/rvv/base/bug-13.C: Likewise. - * g++.target/riscv/rvv/base/bug-15.C: Likewise. - * g++.target/riscv/rvv/base/bug-16.C: Likewise. - * g++.target/riscv/rvv/base/bug-17.C: Likewise. - * g++.target/riscv/rvv/base/bug-2.C: Likewise. - * g++.target/riscv/rvv/base/bug-4.C: Likewise. - * g++.target/riscv/rvv/base/bug-5.C: Likewise. - * g++.target/riscv/rvv/base/bug-6.C: Likewise. - * g++.target/riscv/rvv/base/bug-7.C: Likewise. - * g++.target/riscv/rvv/base/bug-9.C: Likewise. - * g++.target/riscv/rvv/base/bug-12.C: Likewise. - * g++.target/riscv/rvv/base/bug-14.C: Likewise. - * g++.target/riscv/rvv/base/bug-18.C: Likewise. - * g++.target/riscv/rvv/base/bug-19.C: Likewise. - * g++.target/riscv/rvv/base/bug-20.C: Likewise. - * g++.target/riscv/rvv/base/bug-21.C: Likewise. - * g++.target/riscv/rvv/base/bug-22.C: Likewise. - * g++.target/riscv/rvv/base/bug-23.C: Likewise. - * g++.target/riscv/rvv/base/bug-3.C: Likewise. - * g++.target/riscv/rvv/base/bug-8.C: Likewise. - * gcc.dg/vect/pr88598-1.c: Likewise. - * gcc.dg/vect/pr88598-2.c: Likewise. - * gcc.dg/vect/pr88598-3.c: Likewise. - * gcc.dg/vect/slp-26.c: Likewise. - * gcc.dg/vect/slp-reduc-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/copysign-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/copysign-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/narrow_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/narrow_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/narrow_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/shift-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/shift-scalar-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vadd-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vadd-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vand-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vdiv-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vdiv-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vmax-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vmax-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vmin-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vmin-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vmul-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vmul-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vor-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vrem-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vsub-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vsub-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vxor-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/mulh_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/mulh_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vadd-run-nofm.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vdiv-run-nofm.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vmul-run-nofm.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vsub-run-nofm.c: Likewise. - * gcc.target/riscv/rvv/autovec/cmp/vcond_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cmp/vcond_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cmp/vcond_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cmp/vcond_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vncvt-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vsext-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vzext-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-11.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-12.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-13.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-14.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-15.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-16.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-17.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-18.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-19.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/slp_run-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/live_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/partial/live_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/series_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-11.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-12.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-11.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-12.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-11.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-12.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/abs-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/vneg-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/vnot-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/math-floor-run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/math-floor-run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/math-rint-run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/math-rint-run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/math-round-run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/math-round-run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-11.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-12.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-13.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-14.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/insert_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/insert_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-runu.c: Likewise. - * gcc.target/riscv/rvv/autovec/vmv-imm-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run-11.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run-12.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-11.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-12.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/vec-avg-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-11.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-11.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c: Likewise. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-11.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-12.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-13.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-14.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-zvfh-run.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_mulh_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_mulh_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-11.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-12.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-13.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-14.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-15.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-16.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-17.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-18.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-7.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-8.c: Likewise. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-9.c: Likewise. - * gcc.target/riscv/rvv/base/bug-3.c: Likewise. - * gcc.target/riscv/rvv/base/bug-4.c: Likewise. - * gcc.target/riscv/rvv/base/bug-5.c: Likewise. - * gcc.target/riscv/rvv/base/float-point-frm-run-1.c: Likewise. - * gcc.target/riscv/rvv/base/float-point-frm-run-2.c: Likewise. - * gcc.target/riscv/rvv/base/float-point-frm-run-3.c: Likewise. - * gcc.target/riscv/rvv/base/float-point-frm-run-4.c: Likewise. - * gcc.target/riscv/rvv/base/float-point-frm-run-5.c: Likewise. - * gcc.target/riscv/rvv/base/abi-call-args-1-run.c: Likewise. - * gcc.target/riscv/rvv/base/abi-call-args-2-run.c: Likewise. - * gcc.target/riscv/rvv/base/abi-call-args-3-run.c: Likewise. - * gcc.target/riscv/rvv/base/abi-call-args-4-run.c: Likewise. - * gcc.target/riscv/rvv/base/abi-call-return-run.c: Likewise. - * gcc.target/riscv/rvv/base/scalar-move-merged-run-1.c: Likewise. - -2023-09-28 xuli - - PR target/111533 - * gcc.target/riscv/rvv/base/pr111533-1.c: New test. - * gcc.target/riscv/rvv/base/pr111533-2.c: New test. - -2023-09-27 Manos Anagnostakis - Philipp Tomsich - Manolis Tsamis - - * gcc.target/aarch64/ampere1-no_ldp_combine.c: Removed. - * gcc.target/aarch64/ldp_aligned.c: New test. - * gcc.target/aarch64/ldp_always.c: New test. - * gcc.target/aarch64/ldp_never.c: New test. - * gcc.target/aarch64/stp_aligned.c: New test. - * gcc.target/aarch64/stp_always.c: New test. - * gcc.target/aarch64/stp_never.c: New test. - -2023-09-27 Andre Vieira - - * gcc.dg/vect/vect-simd-clone-19.c: New test. - -2023-09-27 Richard Biener - - * gcc.dg/fold-abs-6.c: New testcase. - -2023-09-27 Joern Rennecke - - * gcc.target/riscv/shift-shift-1.c: Avoid spurious pattern matches. - * gcc.target/riscv/shift-shift-3.c: Likewise. - * gcc.target/riscv/zba-shNadd-01.c: Likewise. - * gcc.target/riscv/zba-shNadd-02.c: Likewise. - * gcc.target/riscv/zbb-andn-orn-xnor-01.c: Likewise. - * gcc.target/riscv/zbb-andn-orn-xnor-02.c: Likewise. - * gcc.target/riscv/zbb-min-max.c: Likewise. - * gcc.target/riscv/zero-extend-1.c: Likewise. - * gcc.target/riscv/zero-extend-2.c: Likewise. - * gcc.target/riscv/zero-extend-3.c: Likewise. - * gcc.target/riscv/zero-extend-4.c: Likewise. - * gcc.target/riscv/zero-extend-5.c: Likewise. - * gcc.target/riscv/_Float16-soft-2.c: Likewise. - * gcc.target/riscv/_Float16-soft-3.c: Likewise. - * gcc.target/riscv/_Float16-zfh-1.c: Likewise. - * gcc.target/riscv/_Float16-zfh-2.c: Likewise. - * gcc.target/riscv/_Float16-zfh-3.c: Likewise. - * gcc.target/riscv/and-extend-1.c: Likewise. - * gcc.target/riscv/and-extend-2.c: Likewise. - * gcc.target/riscv/pr108987.c: Likewise. - * gcc.target/riscv/ret-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/align-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/align-2.c: Likewise. - * gcc.target/riscv/zba-shNadd-04.c: Likewise. - * gcc.target/riscv/zba-shNadd-07.c: Likewise. - * gcc.target/riscv/zbb-rol-ror-02.c: Likewise. - * gcc.target/riscv/zbbw.c: Likewise. - * gcc.target/riscv/zbc32.c: Likewise. - * gcc.target/riscv/zbc64.c: Likewise. - * gcc.target/riscv/zbkb32.c: Likewise. - * gcc.target/riscv/zbkb64.c: Likewise. - * gcc.target/riscv/zbkc32.c: Likewise. - * gcc.target/riscv/zbkc64.c: Likewise. - * gcc.target/riscv/zbkx32.c: Likewise. - * gcc.target/riscv/zbkx64.c: Likewise. - * gcc.target/riscv/zfa-fleq-fltq.c: Likewise. - * gcc.target/riscv/zfa-fli-zfh.c: Likewise. - * gcc.target/riscv/zfa-fli.c: Likewise. - * gcc.target/riscv/zknd64.c: Likewise. - * gcc.target/riscv/zksed32.c: Likewise. - * gcc.target/riscv/zksed64.c: Likewise. - * gcc.target/riscv/zksh32.c: Likewise. - * gcc.target/riscv/zksh64.c: Likewise. - * gcc.target/riscv/_Float16-soft-1.c: Likewise. - * gcc.target/riscv/_Float16-zfhmin-1.c: Likewise. - * gcc.target/riscv/_Float16-zfhmin-2.c: Likewise. - * gcc.target/riscv/_Float16-zfhmin-3.c: Likewise. - * gcc.target/riscv/_Float16-zhinxmin-1.c: Likewise. - * gcc.target/riscv/_Float16-zhinxmin-2.c: Likewise. - * gcc.target/riscv/_Float16-zhinxmin-3.c: Likewise. - * gcc.target/riscv/fle-ieee.c: Likewise. - * gcc.target/riscv/fle-snan.c: Likewise. - * gcc.target/riscv/flef-ieee.c: Likewise. - * gcc.target/riscv/flef-snan.c: Likewise. - * gcc.target/riscv/flt-ieee.c: Likewise. - * gcc.target/riscv/flt-snan.c: Likewise. - * gcc.target/riscv/fltf-ieee.c: Likewise. - * gcc.target/riscv/fltf-snan.c: Likewise. - * gcc.target/riscv/interrupt-1.c: Likewise. - * gcc.target/riscv/interrupt-mmode.c: Likewise. - * gcc.target/riscv/interrupt-smode.c: Likewise. - * gcc.target/riscv/interrupt-umode.c: Likewise. - * gcc.target/riscv/pr106888.c: Likewise. - * gcc.target/riscv/pr89835.c: Likewise. - * gcc.target/riscv/shift-and-1.c: Likewise. - * gcc.target/riscv/shift-and-2.c: Likewise. - * gcc.target/riscv/shift-shift-2.c: Likewise. - * gcc.target/riscv/shift-shift-4.c: Likewise. - * gcc.target/riscv/shift-shift-5.c: Likewise. - * gcc.target/riscv/shorten-memrefs-7.c: Likewise. - * gcc.target/riscv/sign-extend.c: Likewise. - * gcc.target/riscv/switch-qi.c: Likewise. - * gcc.target/riscv/switch-si.c: Likewise. - * gcc.target/riscv/xtheadbb-ext-1.c: Likewise. - * gcc.target/riscv/xtheadbb-ext.c: Likewise. - * gcc.target/riscv/xtheadbb-extu-1.c: Likewise. - * gcc.target/riscv/xtheadbb-extu.c: Likewise. - * gcc.target/riscv/xtheadbb-strlen.c: Likewise. - * gcc.target/riscv/xtheadbs-tst.c: Likewise. - * gcc.target/riscv/xtheadfmv-fmv.c: Likewise. - * gcc.target/riscv/xventanacondops-primitiveSemantics.c: Likewise. - * gcc.target/riscv/zba-adduw.c: Likewise. - * gcc.target/riscv/zba-shadd.c: Likewise. - * gcc.target/riscv/zba-slliuw.c: Likewise. - * gcc.target/riscv/zba-zextw.c: Likewise. - * gcc.target/riscv/zbb-min-max-02.c: Likewise. - * gcc.target/riscv/zbb-min-max-03.c: Likewise. - * gcc.target/riscv/zbb-rol-ror-01.c: Likewise. - * gcc.target/riscv/zbb-rol-ror-03.c: Likewise. - * gcc.target/riscv/zbb-rol-ror-04.c: Likewise. - * gcc.target/riscv/zbb-rol-ror-05.c: Likewise. - * gcc.target/riscv/zbb-rol-ror-06.c: Likewise. - * gcc.target/riscv/zbb-rol-ror-07.c: Likewise. - * gcc.target/riscv/zbb-rol-ror-08.c: Likewise. - * gcc.target/riscv/zbb-rol-ror-09.c: Likewise. - * gcc.target/riscv/zbb-strlen.c: Likewise. - * gcc.target/riscv/zbb_32_bswap-1.c: Likewise. - * gcc.target/riscv/zbb_32_bswap-2.c: Likewise. - * gcc.target/riscv/zbb_bswap-1.c: Likewise. - * gcc.target/riscv/zbb_bswap-2.c: Likewise. - * gcc.target/riscv/zbs-bclr.c: Likewise. - * gcc.target/riscv/zbs-bext-02.c: Likewise. - * gcc.target/riscv/zbs-bext.c: Likewise. - * gcc.target/riscv/zbs-binv.c: Likewise. - * gcc.target/riscv/zbs-bset.c: Likewise. - * gcc.target/riscv/zero-scratch-regs-2.c: Likewise. - * gcc.target/riscv/zicond-primitiveSemantics.c: Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_return_0_imm.c: Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_return_imm_imm.c: Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_return_imm_reg.c: Likewise. - * gcc.target/riscv/zicond-primitiveSemantics_return_reg_reg.c: Likewise. - -2023-09-27 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-2.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-roundeven-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-roundeven-1.c: New test. - -2023-09-27 Joern Rennecke - - * lib/target-supports.exp (check_effective_target_rv_float_abi_soft): - New proc. - (check_effective_target_riscv_d): Likewise. - (check_effective_target_riscv_v): Likewise. - (check_effective_target_riscv_zfh): Likewise. - (check_effective_target_riscv_v_ok): likewise. - (check_effective_target_riscv_zfh_ok): Likewise. - (riscv_get_arch, add_options_for_riscv_v): Likewise. - (add_options_for_riscv_zfh): Likewise. - (add_options_for_riscv_d): Likewise. - -2023-09-27 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-trunc-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-2.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-3.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-trunc-1.c: New test. - -2023-09-26 Andrew Pinski - - PR testsuite/111603 - * gcc.dg/tree-ssa/pr111456-1.c: Use `signed char` instead of plain `char`. - -2023-09-26 Xiao Zeng - Jeff Law - - * gcc.target/riscv/zicond-primitiveSemantics_return_0_imm.c: New test. - * gcc.target/riscv/zicond-primitiveSemantics_return_imm_imm.c: New test. - * gcc.target/riscv/zicond-primitiveSemantics_return_imm_reg.c: New test. - * gcc.target/riscv/zicond-primitiveSemantics_return_reg_reg.c: New test. - -2023-09-26 Andrew MacLeod - - PR tree-optimization/111599 - * gcc.dg/pr111599.c: New. - -2023-09-26 Andrew Pinski - - PR tree-optimization/106164 - PR tree-optimization/111456 - * gcc.dg/tree-ssa/cmpbit-6.c: New test. - * gcc.dg/tree-ssa/cmpbit-7.c: New test. - * gcc.dg/tree-ssa/pr111456-1.c: New test. - -2023-09-26 Andrew Pinski - - PR tree-optimization/111469 - * gcc.c-torture/execute/pr111469-1.c: New test. - -2023-09-26 Juzhe-Zhong - - PR tree-optimization/111594 - PR tree-optimization/110660 - * gcc.target/riscv/rvv/autovec/cond/cond_reduc-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/pr111594.c: New test. - -2023-09-26 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-round-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-round-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-round-2.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-round-3.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-round-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-round-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-round-1.c: New test. - -2023-09-26 Maciej W. Rozycki - - * gcc.target/riscv/rvv/autovec/vmv-imm-template.h: Remove - inclusion. - -2023-09-26 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-rint-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-rint-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-rint-2.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-rint-3.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-rint-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-rint-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-rint-1.c: New test. - -2023-09-26 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/test-math.h: Add helper function. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-2.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-3.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-nearbyint-1.c: New test. - -2023-09-25 Vladimir N. Makarov - - PR middle-end/111497 - * g++.target/i386/pr111497.C: new test. - -2023-09-25 Eric Botcazou - - * gnat.dg/opt102.adb:New test. - * gnat.dg/opt102_pkg.adb, gnat.dg/opt102_pkg.ads: New helper. - -2023-09-25 Andrew Pinski - - PR tree-optimization/110386 - * gcc.c-torture/compile/pr110386-1.c: New test. - * gcc.c-torture/compile/pr110386-2.c: New test. - -2023-09-25 Juzhe-Zhong - - PR target/111548 - * gcc.target/riscv/rvv/autovec/pr111548.c: New test. - -2023-09-25 Kewen Lin - - PR target/111366 - * g++.target/powerpc/pr111366.C: New test. - -2023-09-25 Kewen Lin - - PR target/111380 - * gcc.target/powerpc/pr111380-1.c: New test. - * gcc.target/powerpc/pr111380-2.c: New test. - -2023-09-25 Guo Jie - - * gcc.target/loongarch/vector/lasx/lasx-vec-construct-opt.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vec-construct-opt.c: New test. - -2023-09-24 Paul Thomas - - PR fortran/68155 - * gfortran.dg/pr68155.f90: New test. - -2023-09-24 Andrew Pinski - - PR tree-optimization/111543 - * gcc.dg/tree-ssa/bitops-4.c: New test. - -2023-09-24 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: - * gcc.target/riscv/rvv/autovec/vls/cond_convert-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_convert-10.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_convert-11.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_convert-12.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_convert-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_convert-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_convert-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_convert-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_convert-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_convert-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_convert-8.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_convert-9.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_copysign-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_ext-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_ext-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_ext-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_ext-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_ext-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_mulh-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_narrow-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_narrow-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_trunc-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_trunc-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_trunc-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_trunc-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_trunc-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wadd-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wadd-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wadd-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wadd-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wfma-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wfma-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wfms-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wfnma-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wmul-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wmul-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wmul-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wsub-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wsub-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wsub-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_wsub-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/narrow-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/narrow-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/narrow-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wred-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wred-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wred-3.c: New test. - -2023-09-23 Harald Anlauf - - PR fortran/95710 - * gfortran.dg/pr95710.f90: New test. - -2023-09-23 Jakub Jelinek - - PR c++/111455 - * g++.dg/ext/integer-pack8.C: New test. - -2023-09-23 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/cond_abs-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_sqrt-1.c: New test. - -2023-09-23 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-floor-0.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-floor-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-floor-2.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-floor-3.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-floor-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/math-floor-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/math-floor-1.c: New test. - -2023-09-23 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-0.c: Remove. - -2023-09-22 Jason Merrill - - * g++.dg/cpp2a/constexpr-union7.C: New test. - -2023-09-22 Jason Merrill - - PR c++/111529 - * g++.dg/ext/unroll-4.C: New test. - -2023-09-22 Pan Li - - * gcc.target/riscv/rvv/autovec/unop/math-ceil-0.c: Adjust body check. - * gcc.target/riscv/rvv/autovec/unop/math-ceil-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-ceil-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/math-ceil-3.c: Ditto. - -2023-09-22 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS modes. - * gcc.target/riscv/rvv/autovec/vls/wfma-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wfma-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wfma-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wfms-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wfnma-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wfnms-1.c: New test. - -2023-09-22 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS modes cond tests. - * gcc.target/riscv/rvv/autovec/vls/wadd-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wadd-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wadd-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wadd-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wmul-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wmul-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wmul-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wsub-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wsub-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wsub-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/wsub-4.c: New test. - -2023-09-22 Patrick Palka - - PR c++/111493 - * g++.dg/cpp23/subscript15.C: New test. - -2023-09-22 Patrick Palka - - PR c++/111485 - * g++.dg/cpp2a/concepts-ttp5.C: New test. - * g++.dg/cpp2a/concepts-ttp6.C: New test. - -2023-09-22 Pan Li - - * gcc.target/riscv/rvv/autovec/math-ceil-0.c: Moved to... - * gcc.target/riscv/rvv/autovec/unop/math-ceil-0.c: ...here. - * gcc.target/riscv/rvv/autovec/math-ceil-1.c: Moved to... - * gcc.target/riscv/rvv/autovec/unop/math-ceil-1.c: ...here. - * gcc.target/riscv/rvv/autovec/math-ceil-2.c: Moved to... - * gcc.target/riscv/rvv/autovec/unop/math-ceil-2.c: ...here. - * gcc.target/riscv/rvv/autovec/math-ceil-3.c: Moved to... - * gcc.target/riscv/rvv/autovec/unop/math-ceil-3.c: ...here. - * gcc.target/riscv/rvv/autovec/math-ceil-run-0.c: Moved to... - * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-0.c: ...here. - * gcc.target/riscv/rvv/autovec/math-ceil-run-1.c: Moved to... - * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-1.c: ...here. - * gcc.target/riscv/rvv/autovec/math-ceil-run-2.c: Moved to... - * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-2.c: ...here. - * gcc.target/riscv/rvv/autovec/test-math.h: Moved to... - * gcc.target/riscv/rvv/autovec/unop/test-math.h: ...here. - -2023-09-22 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS conditional tests. - * gcc.target/riscv/rvv/autovec/vls/cond_add-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_add-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_and-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_div-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_div-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_fma-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_fma-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_fms-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_fnma-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_fnma-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_fnms-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_ior-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_max-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_max-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_min-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_min-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_mod-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_mul-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_mul-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_neg-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_neg-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_not-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_shift-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_shift-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_sub-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_sub-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cond_xor-1.c: New test. - -2023-09-22 Pan Li - - * gcc.target/riscv/rvv/autovec/test-math.h: Rename. - * gcc.target/riscv/rvv/autovec/math-ceil-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/math-ceil-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/math-ceil-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/math-ceil-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/math-ceil-run-0.c: Ditto. - * gcc.target/riscv/rvv/autovec/math-ceil-run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/math-ceil-run-2.c: Ditto. - -2023-09-22 xuli - - PR target/111451 - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-4.c: Adjust case. - * gcc.target/riscv/rvv/autovec/vls/perm-4.c: Ditto. - -2023-09-22 Pan Li - - * gcc.target/riscv/rvv/autovec/math-ceil-run-0.c: Remove arch and abi. - * gcc.target/riscv/rvv/autovec/math-ceil-run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/math-ceil-run-2.c: Ditto. - -2023-09-22 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-2.c: New test. - -2023-09-22 Pan Li - - * gcc.target/riscv/rvv/autovec/vls/floating-point-max-5.c: - Remove reference to math.h. - * gcc.target/riscv/rvv/autovec/vls/floating-point-min-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-2.c: Ditto. - -2023-09-22 Pan Li - - * gcc.target/riscv/rvv/autovec/math-ceil-0.c: New test. - * gcc.target/riscv/rvv/autovec/math-ceil-1.c: New test. - * gcc.target/riscv/rvv/autovec/math-ceil-2.c: New test. - * gcc.target/riscv/rvv/autovec/math-ceil-3.c: New test. - * gcc.target/riscv/rvv/autovec/math-ceil-run-0.c: New test. - * gcc.target/riscv/rvv/autovec/math-ceil-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/math-ceil-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/test-math.h: New test. - * gcc.target/riscv/rvv/autovec/vls/math-ceil-1.c: New test. - -2023-09-21 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/abs-2.c: New test. - -2023-09-21 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/abs-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/not-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/sqrt-1.c: New test. - -2023-09-21 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS mult high. - * gcc.target/riscv/rvv/autovec/vls/mulh-1.c: New test. - -2023-09-21 Juzhe-Zhong - - PR target/110751 - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv-nofm.c: Adapt test. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vrem-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-9.c: Ditto. - -2023-09-21 Juzhe-Zhong - - PR target/111486 - * gcc.target/riscv/rvv/autovec/pr111486.c: New test. - -2023-09-21 Jiufu Guo - - PR tree-optimization/111355 - * gcc.dg/pr111355.c: New test. - -2023-09-21 xuli - - PR target/111450 - * gcc.target/riscv/rvv/base/pr111450.c: New test. - -2023-09-21 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/convert-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/convert-10.c: New test. - * gcc.target/riscv/rvv/autovec/vls/convert-11.c: New test. - * gcc.target/riscv/rvv/autovec/vls/convert-12.c: New test. - * gcc.target/riscv/rvv/autovec/vls/convert-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/convert-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/convert-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/convert-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/convert-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/convert-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/convert-8.c: New test. - * gcc.target/riscv/rvv/autovec/vls/convert-9.c: New test. - -2023-09-20 Lewis Hyatt - - PR preprocessor/90400 - * c-c++-common/cpp/pr90400.c: New test. - -2023-09-20 Lewis Hyatt - - PR preprocessor/61474 - * c-c++-common/cpp/pr61474-2.h: New test. - * c-c++-common/cpp/pr61474.c: New test. - * c-c++-common/cpp/pr61474.h: New test. - -2023-09-20 Patrick O'Neill - - * gcc.target/riscv/rvv/autovec/vls/def.h: Remove unneeded math.h - import. - -2023-09-20 Aldy Hernandez - - * gcc.dg/tree-ssa/vrp-float-relations-5.c: New test. - * gcc.dg/tree-ssa/vrp-float-relations-6.c: New test. - -2023-09-20 Jakub Jelinek - - * c-c++-common/builtin-classify-type-1.c: New test. - * g++.dg/ext/builtin-classify-type-1.C: New test. - * g++.dg/ext/builtin-classify-type-2.C: New test. - * gcc.dg/builtin-classify-type-1.c: New test. - -2023-09-20 Patrick Palka - - PR c++/111471 - * g++.dg/concepts/diagnostic19.C: New test. - -2023-09-20 Tobias Burnus - - * c-c++-common/gomp/allocate-11.c: Remove C-only dg-message - for 'sorry, unimplemented'. - * c-c++-common/gomp/allocate-12.c: Likewise. - * c-c++-common/gomp/allocate-15.c: Likewise. - * c-c++-common/gomp/allocate-9.c: Likewise. - * c-c++-common/gomp/allocate-10.c: New test. - * c-c++-common/gomp/allocate-17.c: New test. - -2023-09-20 Yanzhang Wang - - * gcc.target/riscv/rvv/base/simplify-vdiv.c: New test. - -2023-09-20 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/widen/widen-10.c: Adapt test. - * gcc.target/riscv/rvv/autovec/widen/widen-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/ext-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/ext-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/trunc-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/trunc-5.c: New test. - -2023-09-20 Richard Biener - - PR tree-optimization/111489 - * gcc.dg/uninit-pr111489.c: New testcase. - -2023-09-20 Jakub Jelinek - - PR c++/111392 - * g++.dg/gomp/attrs-19.C: New test. - * g++.dg/gomp/attrs-20.C: New test. - * g++.dg/gomp/attrs-21.C: New test. - -2023-09-20 Omar Sandoval - - PR debug/111409 - * gcc.dg/pr111409.c: New test. - -2023-09-20 Jiufu Guo - - * gcc.dg/tree-ssa/pr111303.c: Rename to ... - * gcc.dg/tree-ssa/pr111324.c: ... this. - -2023-09-20 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/binop/narrow-1.c: Adapt testcase. - * gcc.target/riscv/rvv/autovec/binop/narrow-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/narrow-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cmp/vcond-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cmp/vcond-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cmp/vcond-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cmp/vcond-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/pr110950.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/def.h: Ditto. - * gcc.target/riscv/rvv/autovec/vls/div-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32f-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/avg-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/avg-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/avg-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/avg-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/avg-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/avg-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/ext-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/ext-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/ext-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/trunc-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/trunc-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/trunc-3.c: New test. - -2023-09-20 Surya Kumari Jangala - - PR rtl-optimization/110071 - * gcc.target/powerpc/pr110071.c: New test. - -2023-09-19 Ben Boeckel - - * g++.dg/modules/depreport-2.modmap: New test. - * g++.dg/modules/depreport-2_a.C: New test. - * g++.dg/modules/depreport-2_b.C: New test. - * g++.dg/modules/test-depfile.py: Support `:|` syntax output - when generating modules. - -2023-09-19 Ben Boeckel - - * g++.dg/modules/depreport-1_a.C: New test. - * g++.dg/modules/depreport-1_b.C: New test. - * g++.dg/modules/test-depfile.py: New tool for validating depfile - information. - * lib/modules.exp: Support for validating depfile contents. - -2023-09-19 Ben Boeckel - - * g++.dg/modules/depflags-f-MD.C: New test. - * g++.dg/modules/depflags-f.C: New test. - * g++.dg/modules/depflags-fi.C: New test. - * g++.dg/modules/depflags-fj-MD.C: New test. - * g++.dg/modules/depflags-fj.C: New test. - * g++.dg/modules/depflags-fjo-MD.C: New test. - * g++.dg/modules/depflags-fjo.C: New test. - * g++.dg/modules/depflags-fo-MD.C: New test. - * g++.dg/modules/depflags-fo.C: New test. - * g++.dg/modules/depflags-j-MD.C: New test. - * g++.dg/modules/depflags-j.C: New test. - * g++.dg/modules/depflags-jo-MD.C: New test. - * g++.dg/modules/depflags-jo.C: New test. - * g++.dg/modules/depflags-o-MD.C: New test. - * g++.dg/modules/depflags-o.C: New test. - * g++.dg/modules/p1689-1.C: New test. - * g++.dg/modules/p1689-1.exp.ddi: New test expectation. - * g++.dg/modules/p1689-2.C: New test. - * g++.dg/modules/p1689-2.exp.ddi: New test expectation. - * g++.dg/modules/p1689-3.C: New test. - * g++.dg/modules/p1689-3.exp.ddi: New test expectation. - * g++.dg/modules/p1689-4.C: New test. - * g++.dg/modules/p1689-4.exp.ddi: New test expectation. - * g++.dg/modules/p1689-5.C: New test. - * g++.dg/modules/p1689-5.exp.ddi: New test expectation. - * g++.dg/modules/modules.exp: Load new P1689 library routines. - * g++.dg/modules/test-p1689.py: New tool for validating P1689 output. - * lib/modules.exp: Support for validating P1689 outputs. - * g++.dg/modules/depflags-fj-MF-share.C: New file. - * g++.dg/modules/p1689-file-default.C: New file. - * g++.dg/modules/p1689-file-default.exp.ddi: New file. - * g++.dg/modules/p1689-target-default.C: New file. - * g++.dg/modules/p1689-target-default.exp.ddi: New file. - -2023-09-19 Aldy Hernandez - - * gcc.dg/tree-ssa/vrp-float-12.c: Moved to... - * gcc.dg/tree-ssa/vrp-float-relations-1.c: ...here. - * gcc.dg/tree-ssa/vrp-float-relations-2.c: New test. - * gcc.dg/tree-ssa/vrp-float-relations-3.c: New test. - * gcc.dg/tree-ssa/vrp-float-relations-4.c: New test. - -2023-09-19 Javier Martinez - - * g++.dg/ext/attr-hotness.C: New test. - -2023-09-19 Pat Haugen - - * gcc.target/powerpc/clone1.c: Add xfails. - * gcc.target/powerpc/clone3.c: Likewise. - * gcc.target/powerpc/mod-1.c: Update scan strings and add xfails. - * gcc.target/powerpc/mod-2.c: Likewise. - * gcc.target/powerpc/p10-vdivq-vmodq.c: Add xfails. - -2023-09-19 Gaius Mulley - - * gm2/extensions/pass/libc.def: Add spacing. - * gm2/pimlib/logitech/run/pass/realconv.mod: Add debugging print. - * gm2/switches/uninit-variable-checking/cascade/fail/switches-uninit-variable-checking-cascade-fail.exp: - Add -fdebug-builtins flag. - * lib/gm2.exp (gm2_target_compile_default): Add - -mabi=ieeelongdouble if the target is powerpc. - (gm2_link_flags): Add - -mabi=ieeelongdouble if the target is powerpc. - * gm2/pim/intrinsic/run/pass/cstub.c: New test. - * gm2/pim/intrinsic/run/pass/cstub.def: New test. - * gm2/pim/intrinsic/run/pass/pim-intrinsic-run-pass.exp: New test. - * gm2/pim/intrinsic/run/pass/test.mod: New test. - * gm2/pim/run/pass/builtins.mod: New test. - * gm2/pim/run/pass/convert1.mod: New test. - * gm2/pim/run/pass/longint1.mod: New test. - * gm2/pim/run/pass/longint2.mod: New test. - * gm2/pim/run/pass/longint3.mod: New test. - * gm2/pim/run/pass/longint4.mod: New test. - * gm2/pim/run/pass/longint5.mod: New test. - * gm2/pim/run/pass/longint6.mod: New test. - * gm2/pim/run/pass/longint7.mod: New test. - * gm2/pim/run/pass/longint8.mod: New test. - -2023-09-19 Harald Anlauf - - PR fortran/70231 - * gfortran.dg/bounds_check_fail_7.f90: New test. - -2023-09-19 Aldy Hernandez - - * gcc.dg/tree-ssa/vrp-float-13.c: New test. - -2023-09-19 Jakub Jelinek - - PR testsuite/111377 - * c-c++-common/analyzer/compound-assignment-1.c (test_5b): Move - closing } to the same line as the call to work-around differences in - diagnostics line. - -2023-09-19 Jason Merrill - - DR 2799 - * g++.dg/cpp0x/inh-ctor38.C: New test. - -2023-09-19 Andrew MacLeod - - PR tree-optimization/110080 - PR tree-optimization/110249 - * g++.dg/pr110249.C: New. - * gcc.dg/pr110080.c: New. - * gcc.dg/pr93917.c: Adjust. - -2023-09-19 Marek Polacek - - * g++.dg/cpp23/consteval-if2.C: Add xfail. - * g++.dg/cpp2a/consteval-memfn1.C: Adjust. - * g++.dg/cpp2a/consteval11.C: Remove dg-message. - * g++.dg/cpp2a/consteval3.C: Remove dg-message and dg-error. - * g++.dg/cpp2a/consteval9.C: Remove dg-message. - * g++.dg/cpp2a/consteval32.C: New test. - * g++.dg/cpp2a/consteval33.C: New test. - * g++.dg/cpp2a/consteval34.C: New test. - * g++.dg/cpp2a/consteval35.C: New test. - -2023-09-19 Richard Biener - - PR c/111468 - * gcc.dg/gimplefe-50.c: Amend. - -2023-09-19 Patrick Palka - - PR c++/111419 - * g++.dg/cpp2a/concepts-requires36.C: New test. - * g++.dg/expr/discarded1.C: New test. - * g++.dg/expr/discarded1a.C: New test. - -2023-09-19 Patrick Palka - - PR c++/99631 - * g++.dg/cpp2a/nontype-class60.C: New test. - -2023-09-19 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add FNMS VLS modes tests. - * gcc.target/riscv/rvv/autovec/vls/fnms-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fnms-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fnms-3.c: New test. - -2023-09-19 Richard Wai - - * gnat.dg/sync_tag_finalize.adb: New test. - -2023-09-19 Richard Wai - - * gnat.dg/sync_tag_discriminals.adb: New test. - * gnat.dg/sync_tag_limited.adb: New test. - -2023-09-19 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add unary test. - * gcc.target/riscv/rvv/autovec/vls/neg-2.c: New test. - -2023-09-19 Richard Biener - - PR tree-optimization/111465 - * g++.dg/torture/pr111465.C: New testcase. - -2023-09-19 Richard Biener - - PR c/111468 - * gcc.dg/gimplefe-50.c: New testcase. - * gcc.dg/gimplefe-51.c: Likewise. - -2023-09-19 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add FMS tests. - * gcc.target/riscv/rvv/autovec/vls/fma-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fma-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fma-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fms-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fms-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fms-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fnma-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fnma-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fnma-7.c: New test. - -2023-09-19 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS FMA/FNMA test. - * gcc.target/riscv/rvv/autovec/vls/fma-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fma-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fma-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fma-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fnma-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fnma-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fnma-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/fnma-4.c: New test. - -2023-09-19 Prathamesh Kulkarni - - * gcc.target/aarch64/vect_copy_lane_1.c: Scan for zip1 instead - of ins for float32x2_t, int32x2_t and uint32x2_t tests. - -2023-09-18 Pan Li - - * gcc.target/riscv/rvv/autovec/vls/def.h: New macros. - * gcc.target/riscv/rvv/autovec/vls/vec-set-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-10.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-11.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-12.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-13.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-14.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-15.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-16.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-17.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-18.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-19.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-20.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-21.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-22.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-8.c: New test. - * gcc.target/riscv/rvv/autovec/vls/vec-set-9.c: New test. - -2023-09-18 Pan Li - - * gcc.target/riscv/rvv/base/scalar-move-merged-run-1.c: New test. - -2023-09-18 Andrew Pinski - - PR tree-optimization/111442 - * gcc.c-torture/compile/pr111442-1.c: New test. - -2023-09-18 Andrew Pinski - - PR tree-optimization/111435 - * gcc.c-torture/compile/pr111435-1.c: New test. - -2023-09-18 Patrick Palka - - PR c++/89231 - * g++.dg/cpp0x/variadic-partial3.C: New test. - -2023-09-18 Patrick Palka - - PR c++/63198 - PR c++/18474 - * g++.dg/cpp0x/static_assert15.C: Expect diagnostic for - non-constant static_assert condition. - * g++.dg/expr/unary2.C: Remove xfails. - * g++.dg/template/init7.C: Make initializer type-dependent to - preserve intent of test. - * g++.dg/template/recurse3.C: Likewise for the erroneous - statement. - * g++.dg/template/non-dependent26.C: New test. - * g++.dg/warn/Wparentheses-32.C: New test. - -2023-09-18 Patrick Palka - - PR c++/108347 - * g++.dg/template/ttp41.C: New test. - -2023-09-18 Patrick Palka - - * g++.dg/cpp0x/vt-57397-1.C: Expect "candidate expects ... N - argument(s)" at the declaration site instead of the call site. - * g++.dg/cpp0x/vt-57397-2.C: Likewise. - * g++.dg/overload/template5.C: Likewise. - * g++.dg/template/local6.C: Likewise. - * g++.dg/template/conv20.C: New test. - * g++.dg/template/ttp40.C: New test. - -2023-09-18 Patrick Palka - - * g++.dg/template/nontype12.C: Expect two instead of three - duplicate diagnostics for A::bar() specialization. - -2023-09-18 Andrew Pinski - - PR tree-optimization/111431 - * gcc.dg/binop-notand1a.c: Remove xfail. - * gcc.dg/binop-notand4a.c: Likewise. - * gcc.c-torture/execute/pr111431-1.c: New test. - * gcc.dg/binop-andeq1.c: New test. - * gcc.dg/binop-andeq2.c: New test. - * gcc.dg/binop-notand7.c: New test. - * gcc.dg/binop-notand7a.c: New test. - -2023-09-18 Thomas Schwinge - - * g++.dg/abi/nvptx-nrv1.C: Move... - * g++.target/nvptx/abi-nrv1.C: ... here. - * g++.dg/abi/nvptx-ptrmem1.C: Move... - * g++.target/nvptx/abi-ptrmem1.C: ... here. - -2023-09-18 Thomas Schwinge - - * g++.target/nvptx/nvptx.exp: New. - -2023-09-18 Thomas Schwinge - - * g++.dg/abi/nvptx-ptrmem1.C: Fix up. - -2023-09-18 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/pr111313.c: Adapt test. - -2023-09-18 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/avl_single-21.c: Adapt test. - * gcc.target/riscv/rvv/vsetvl/avl_single-26.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-39.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-41.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: Ditto. - -2023-09-18 Lehua Ding - - * gcc.target/riscv/rvv/autovec/vls/div-1.c: Removed comments. - * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Ditto. - -2023-09-18 Wilco Dijkstra - - PR target/105928 - * gcc.target/aarch64/pr105928.c: Add new test. - * gcc.target/aarch64/vect-cse-codegen.c: Fix test. - -2023-09-18 Lehua Ding - - PR target/111255 - * gcc.target/riscv/rvv/vsetvl/pr111255.c: New test. - -2023-09-18 Richard Biener - - PR tree-optimization/111294 - * gcc.dg/tree-ssa/pr111294.c: New test. - * gcc.dg/tree-ssa/phi_on_compare-4.c: Adjust. - * gcc.dg/tree-ssa/pr59597.c: Likewise. - * gcc.dg/tree-ssa/pr61839_2.c: Likewise. - * gcc.dg/tree-ssa/ssa-sink-18.c: Likewise. - * g++.dg/warn/Wstringop-overflow-4.C: XFAIL subtest on ilp32. - * gcc.dg/uninit-pred-9_b.c: XFAIL subtest everywhere. - * gcc.dg/vect/vect-117.c: Make scan for not Invalid sum - conditional on lp64. - -2023-09-18 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS vec_init tests. - * gcc.target/riscv/rvv/autovec/vls/init-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/init-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/repeat-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/repeat-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/repeat-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/repeat-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/repeat-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/repeat-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/repeat-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/repeat-8.c: New test. - * gcc.target/riscv/rvv/autovec/vls/repeat-9.c: New test. - -2023-09-18 Juzhe-Zhong - - PR target/111153 - * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS mode reduction case. - * gcc.target/riscv/rvv/autovec/vls/reduc-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-10.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-11.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-12.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-13.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-14.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-15.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-16.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-17.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-18.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-19.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-20.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-21.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-8.c: New test. - * gcc.target/riscv/rvv/autovec/vls/reduc-9.c: New test. - -2023-09-18 Jiufu Guo - - PR middle-end/111303 - * gcc.dg/tree-ssa/pr111303.c: New test. - -2023-09-17 Andrew Pinski - - * gcc.dg/tree-ssa/20040204-1.c: Remove xfail. - -2023-09-17 Ajit Kumar Agarwal - - * g++.target/powerpc/altivec-19.C: New testcase. - -2023-09-16 Juzhe-Zhong - - PR target/111391 - * gcc.target/riscv/rvv/autovec/partial/slp-9.c: Adapt test. - * gcc.target/riscv/rvv/autovec/pr111391-1.c: New test. - * gcc.target/riscv/rvv/autovec/pr111391-2.c: New test. - -2023-09-16 Tsukasa OI - - * gcc.target/riscv/zknh-sha256.c: Moved to... - * gcc.target/riscv/zknh-sha256-64.c: ...here. Test RV64. - * gcc.target/riscv/zknh-sha256-32.c: New test for RV32. - * gcc.target/riscv/zksh64.c: Change the type. - * gcc.target/riscv/zksed64.c: Ditto. - -2023-09-16 Tsukasa OI - - * gcc.target/riscv/zbc32.c: Make signed type to unsigned. - * gcc.target/riscv/zbc64.c: Ditto. - * gcc.target/riscv/zbkb32.c: Ditto. - * gcc.target/riscv/zbkb64.c: Ditto. - * gcc.target/riscv/zbkc32.c: Ditto. - * gcc.target/riscv/zbkc64.c: Ditto. - * gcc.target/riscv/zbkx32.c: Ditto. - * gcc.target/riscv/zbkx64.c: Ditto. - * gcc.target/riscv/zknd32.c: Ditto. - * gcc.target/riscv/zknd64.c: Ditto. - * gcc.target/riscv/zkne32.c: Ditto. - * gcc.target/riscv/zkne64.c: Ditto. - * gcc.target/riscv/zknh-sha256.c: Ditto. - * gcc.target/riscv/zknh-sha512-32.c: Ditto. - * gcc.target/riscv/zknh-sha512-64.c: Ditto. - * gcc.target/riscv/zksed32.c: Ditto. - * gcc.target/riscv/zksed64.c: Ditto. - * gcc.target/riscv/zksh32.c: Ditto. - * gcc.target/riscv/zksh64.c: Ditto. - -2023-09-16 Pan Li - - * gcc.target/riscv/rvv/autovec/vls/def.h: New macro. - * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-2.c: New test. - -2023-09-15 David Malcolm - - * c-c++-common/analyzer/volatile-1.c: New test. - -2023-09-15 Harald Anlauf - - PR fortran/30802 - * gfortran.dg/bounds_check_fail_6.f90: New test. - -2023-09-15 Andrew Pinski - - * gcc.dg/tree-ssa/bool-13.c: Update testcase as we now do - the MIN/MAX during forwprop1. - -2023-09-15 Andrew Pinski - - PR tree-optimization/111414 - * gcc.c-torture/compile/pr111414-1.c: New test. - -2023-09-15 Qing Zhao - - PR tree-optimization/111407 - * gcc.dg/pr111407.c: New test. - -2023-09-15 Lehua Ding - - * gcc.target/riscv/rvv/vsetvl/wredsum_vlmax.c: New test. - -2023-09-15 Juzhe-Zhong - - * gcc.dg/vect/slp-35.c: Block SLP check for vect_strided5 targets. - -2023-09-15 Juzhe-Zhong - - * gcc.dg/vect/slp-34.c: Block check for vect_strided5. - -2023-09-15 Juzhe-Zhong - - * gcc.dg/vect/slp-34-big-array.c: Block SLP check for vect_strided5. - -2023-09-15 Juzhe-Zhong - - * gcc.dg/vect/slp-16.c: Block vect_strided6. - * lib/target-supports.exp: Add strided type. - -2023-09-15 Juzhe-Zhong - - * gcc.dg/vect/slp-1.c: Add vect_stried5. - -2023-09-15 Juzhe-Zhong - - * gcc.dg/Wstringop-overflow-47.c: Add riscv. - -2023-09-15 Richard Sandiford - - PR target/111411 - * gcc.dg/rtl/aarch64/pr111411.c: New test. - -2023-09-15 Lehua Ding - - PR target/111381 - * gcc.target/riscv/rvv/autovec/widen/widen_reduc-1.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order-1.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order-2.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_run-1.c: New test. - -2023-09-14 David Malcolm - - * gcc.dg/plugin/diagnostic-test-paths-multithreaded-inline-events.c: - New test. - * gcc.dg/plugin/diagnostic-test-paths-multithreaded-sarif.c: New - test. - * gcc.dg/plugin/diagnostic-test-paths-multithreaded-separate-events.c: - New test. - * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Add support for - generating multithreaded paths. - * gcc.dg/plugin/plugin.exp: Add the new tests. - -2023-09-14 Gaius Mulley - - * gm2/switches/case/fail/subrangecase.mod: Replace 19 - with 17. - * gm2/switches/case/fail/subrangecase2.mod: Ditto. - * gm2/switches/case/fail/subrangecase3.mod: Ditto. - * gm2/switches/case/fail/subrangecase4.mod: Ditto. - * gm2/switches/case/pass/subrangecase.mod: Ditto. - * gm2/switches/case/pass/subrangecase2.mod: Ditto. - * gm2/switches/case/pass/subrangecase3.mod: Ditto. - * gm2/switches/case/pass/subrangecase4.mod: Ditto. - * gm2/switches/case/fail/calendar.mod: New test. - -2023-09-14 Gaius Mulley - - * gm2/switches/case/fail/subrangecase.mod: New test. - * gm2/switches/case/fail/subrangecase2.mod: New test. - * gm2/switches/case/fail/subrangecase3.mod: New test. - * gm2/switches/case/fail/subrangecase4.mod: New test. - * gm2/switches/case/fail/subrangecase5.mod: New test. - * gm2/switches/case/fail/subrangecase6.mod: New test. - * gm2/switches/case/pass/subrangecase.mod: New test. - * gm2/switches/case/pass/subrangecase2.mod: New test. - * gm2/switches/case/pass/subrangecase3.mod: New test. - * gm2/switches/case/pass/subrangecase4.mod: New test. - -2023-09-14 Richard Sandiford - - * gcc.target/aarch64/sve/cost_model_15.c: New test. - -2023-09-14 Andrew Pinski - - PR tree-optimization/106164 - * gcc.dg/pr21643.c: Update test now that match does - the combing of the comparisons. - * gcc.dg/tree-ssa/cmpbit-5.c: New test. - * gcc.dg/tree-ssa/phi-opt-35.c: New test. - -2023-09-14 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS tests. - * gcc.target/riscv/rvv/autovec/vls/cmp-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cmp-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cmp-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cmp-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cmp-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/cmp-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mask-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mask-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mask-3.c: New test. - -2023-09-14 Richard Biener - - PR tree-optimization/111294 - * gcc.dg/tree-ssa/evrp10.c: Adjust. - * gcc.dg/tree-ssa/evrp6.c: Likewise. - * gcc.dg/tree-ssa/forwprop-31.c: Likewise. - * gcc.dg/tree-ssa/neg-cast-3.c: Likewise. - -2023-09-14 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general/ld1rq_1.c: New test. - -2023-09-14 Juzhe-Zhong - - PR target/111395 - * gcc.target/riscv/rvv/fortran/pr111395.f90: New test. - * gcc.target/riscv/rvv/rvv-fortran.exp: New test. - -2023-09-14 Lulu Cheng - - * gcc.target/loongarch/cmov_ii.c: New test. - -2023-09-14 Lulu Cheng - - PR target/111334 - * gcc.target/loongarch/pr111334.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvssran.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvssrani.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvssrarn.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvssrarni.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvssrln.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvssrlni.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvssrlrn.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvssrlrni.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvpackev.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvpackod.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvpickev.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvpickod.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvpickve.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvpickve2gr.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvreplgr2vr.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvreplve.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvreplve0.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvreplvei.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvshuf4i_b.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvext2xv-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvext2xv-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvexth-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvexth-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvextrins.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvilvh.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvilvl.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvinsgr2vr.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvinsve0.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvprem.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvpremi.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_saf_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_seq_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sle_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_slt_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sne_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sor_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sun_s.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_caf_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_ceq_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cle_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_clt_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cne_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cor_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cun_s.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvabsd-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvabsd-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvavg-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvavg-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvavgr-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvavgr-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvbsll_v.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvbsrl_v.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvneg.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsat-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsat-2.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_d.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfrstp.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfrstpi.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvhsubw-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvhsubw-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvld.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmsub.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvrotr.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvrotri.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvst.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvseq.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvseqi.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsle-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsle-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvslei-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvslei-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvslt-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvslt-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvslti-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvslti-2.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvffinth.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvftintl.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvfadd_d.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfadd_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfclass_d.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfclass_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvflogb_d.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvflogb_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfmadd_d.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfmadd_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfmax_d.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfmax_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_d.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_s.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_d.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_s.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvldrepl.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvstelm.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-builtin.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvbitclr.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvbitclri.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvbitrev.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvbitrevi.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvbitsel.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvbitseli.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvbitset.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvbitseti.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvclo.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvclz.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvpcnt.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvextl-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvextl-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsra.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrai.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsran.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrani.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrar.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrari.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrarn.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrarni.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvsll.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvslli.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsllwil-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsllwil-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrl.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrli.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrln.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrlni.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrlr.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrlri.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrlrn.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsrlrni.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvand.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvandi.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvandn.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvnor.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvnori.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvor.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvori.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvorn.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvxor.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvxori.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvldi.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmskgez.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmskltz.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmsknz.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmuh-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmuh-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsigncov.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvmax-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmax-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmaxi-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmaxi-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmin-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmin-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmini-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmini-2.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvdiv-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvdiv-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmod-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmod-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmul.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmulwev-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmulwev-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmulwev-3.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmulwod-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmulwod-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmulwod-3.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsub.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsubi.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvhaddw-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvhaddw-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmadd.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-3.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-3.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lasx/lasx-xvadd.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvadda.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvaddi.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvaddwev-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvaddwev-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvaddwev-3.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvaddwod-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvaddwod-2.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvaddwod-3.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsadd-1.c: New test. - * gcc.target/loongarch/vector/lasx/lasx-xvsadd-2.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vfmadd_d.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfmadd_s.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfnmadd_d.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfnmadd_s.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vld.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vst.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vand.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vandi.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vandn.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vnor.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vnori.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vor.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vori.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vorn.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vxor.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vxori.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vbsll.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vbsrl.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vextrins.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vilvh.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vilvl.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vinsgr2vr.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vpackev.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vpackod.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vpickev.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vpickod.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vpickve2gr.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vpremi.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vreplgr2vr.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vreplve.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vreplvei.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vshuf.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vshuf4i.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_caf.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_ceq.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cle.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_clt.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cne.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cor.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cun.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_saf.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_seq.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sle.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_slt.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sne.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sor.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sun.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vfrstp.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfrstpi.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vseq.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vseqi.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsle-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsle-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vslei-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vslei-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vslt-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vslt-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vslti-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vslti-2.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vfadd_d.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfadd_s.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfclass_d.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfclass_s.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vflogb_d.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vflogb_s.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfmax_d.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfmax_s.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfmaxa_d.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfmaxa_s.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfsqrt_d.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfsqrt_s.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vbitclr.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vbitclri.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vbitrev.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vbitrevi.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vbitsel.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vbitseli.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vbitset.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vbitseti.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vclo.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vclz.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vpcnt.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vssran.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vssrani.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vssrarn.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vssrarni.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vssrln.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vssrlni.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vssrlrn.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vssrlrni.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vrotr.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vrotri.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsra.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrai.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsran.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrani.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrar.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrari.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrarn.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrarni.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vsll.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vslli.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsllwil-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsllwil-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrl.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrli.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrln.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrlni.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrlr.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrlri.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrlrn.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsrlrni.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vdiv-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vdiv-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmod-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmod-2.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vabsd-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vabsd-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmskgez.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmskltz.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmsknz.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsigncov.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vexth-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vexth-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vextl-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vextl-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vldi.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vneg.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsat-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsat-2.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vmax-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmax-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmaxi-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmaxi-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmin-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmin-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmini-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmini-2.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vavg-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vavg-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vavgr-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vavgr-2.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vmuh-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmuh-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmul.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmulwev-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmulwev-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmulwev-3.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmulwod-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmulwod-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmulwod-3.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vsadd-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsadd-2.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vhsubw-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vhsubw-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmsub.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vssub-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vssub-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsub.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsubi.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsubwev-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsubwev-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsubwod-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vsubwod-2.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vadd.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vadda.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vaddi.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vaddwev-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vaddwev-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vaddwev-3.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vaddwod-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vaddwod-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vaddwod-3.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vhaddw-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vhaddw-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmadd.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmaddwev-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmaddwev-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmaddwev-3.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmaddwod-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmaddwod-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vmaddwod-3.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-vfcvt-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfcvt-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vffint-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vffint-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vffint-3.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfrint_d.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vfrint_s.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vftint-1.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vftint-2.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vftint-3.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vftint-4.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/lsx/lsx-builtin.c: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/vector/loongarch-vector.exp: New test. - * gcc.target/loongarch/vector/simd_correctness_check.h: New test. - -2023-09-14 Xiaolong Chen - - * gcc.target/loongarch/strict-align.c: New test. - -2023-09-13 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add more def. - * gcc.target/riscv/rvv/autovec/vls/extract-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/extract-2.c: New test. - -2023-09-13 Andrew Pinski - - PR tree-optimization/111364 - * gcc.c-torture/execute/minmaxcmp-1.c: New test. - * gcc.dg/tree-ssa/minmaxcmp-2.c: New test. - * gcc.dg/pr96708-negative.c: Update testcase. - * gcc.dg/pr96708-positive.c: Add comment about `return 0`. - -2023-09-13 Richard Biener - - PR tree-optimization/111387 - * gcc.dg/torture/pr111387.c: New testcase. - -2023-09-13 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_mulh-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_mulh-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_mulh_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_mulh_run-2.c: New test. - -2023-09-13 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-3.c: New test. - -2023-09-13 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-run.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-template.h: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-zvfh-run.c: New test. - -2023-09-13 Richard Biener - - PR tree-optimization/111397 - * gcc.dg/uninit-pr111397.c: New testcase. - -2023-09-13 Pan Li - - PR target/111362 - * gcc.target/riscv/rvv/base/no-honor-frm-1.c: New test. - -2023-09-13 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/vector-abi-9.c: Removed. - -2023-09-13 Jiufu Guo - - PR tree-optimization/111303 - * gcc.dg/pr111303.c: New test. - -2023-09-12 Juzhe-Zhong - - * lib/target-supports.exp: Enable vect_int for RVV. - -2023-09-12 Jason Merrill - - PR c++/111357 - * g++.dg/ext/integer-pack7.C: New test. - -2023-09-12 Jason Merrill - - PR c++/107198 - * g++.dg/eh/no-exceptions1.C: New test. - -2023-09-12 Richard Sandiford - - * gcc.target/aarch64/stack-protector-8.c: New test. - * gcc.target/aarch64/stack-protector-9.c: Likewise. - -2023-09-12 Richard Sandiford - - * gcc.target/aarch64/sve/pcs/stack_clash_3.c: Avoid redundant probes. - -2023-09-12 Richard Sandiford - - * gcc.target/aarch64/stack-check-prologue-17.c: Expect the probe - to be at offset 1024 rather than offset 0. - * gcc.target/aarch64/stack-check-prologue-18.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-19.c: Likewise. - -2023-09-12 Richard Sandiford - - * gcc.target/aarch64/stack-check-prologue-18.c: New test. - * gcc.target/aarch64/stack-check-prologue-19.c: Likewise. - * gcc.target/aarch64/stack-check-prologue-20.c: Likewise. - -2023-09-12 Richard Sandiford - - * gcc.target/aarch64/stack-check-prologue-17.c: New test. - -2023-09-12 Andrew Pinski - - PR tree-optimization/107881 - * gcc.c-torture/execute/pr107881-1.c: New test. - * gcc.dg/tree-ssa/cmpeq-4.c: New test. - * gcc.dg/tree-ssa/cmpxor-1.c: New test. - -2023-09-12 Juzhe-Zhong - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-mixed-1.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-1.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-2.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-3.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-4.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-5.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-6.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-7.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-1.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-2.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-3.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-4.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-5.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-6.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-1.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-2.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-4.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-1.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-10.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-3.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-4.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-5.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-6.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-7.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-8.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/rvv-costmodel-vect.exp: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-9.c: New file. - -2023-09-12 Jakub Jelinek - - PR middle-end/111338 - * gcc.dg/bitint-37.c: New test. - -2023-09-12 Gaius Mulley - - * gm2/switches/case/fail/missingclause.mod: New test. - * gm2/switches/case/fail/switches-case-fail.exp: New test. - * gm2/switches/case/pass/enumcase.mod: New test. - * gm2/switches/case/pass/enumcase2.mod: New test. - * gm2/switches/case/pass/switches-case-pass.exp: New test. - -2023-09-12 Thomas Schwinge - - * lib/target-supports.exp (check_effective_target_stack_size): For - nvptx target, stack size limits are relevant for execution only. - -2023-09-12 Christoph Müllner - - * gcc.target/riscv/xtheadbb-strcmp.c: New test. - * gcc.target/riscv/zbb-strcmp-disabled-2.c: New test. - * gcc.target/riscv/zbb-strcmp-disabled.c: New test. - * gcc.target/riscv/zbb-strcmp-unaligned.c: New test. - * gcc.target/riscv/zbb-strcmp.c: New test. - * gcc.target/riscv/zbb-strcmp-limit.c: New file. - -2023-09-12 Christoph Müllner - - * gcc.target/riscv/xtheadbb-strlen-unaligned.c: New test. - * gcc.target/riscv/xtheadbb-strlen.c: New test. - * gcc.target/riscv/zbb-strlen-disabled-2.c: New test. - * gcc.target/riscv/zbb-strlen-disabled.c: New test. - * gcc.target/riscv/zbb-strlen-unaligned.c: New test. - * gcc.target/riscv/zbb-strlen.c: New test. - -2023-09-12 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_arith-1.c: Add vrem op. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-1.c: Moved to... - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-1.c: ...here. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-2.c: Moved to... - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-2.c: ...here. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-3.c: Moved to... - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-3.c: ...here. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-4.c: Moved to... - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-4.c: ...here. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-5.c: Moved to... - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-5.c: ...here. - * gcc.target/riscv/rvv/autovec/cond/cond_logical-1.c: Removed. - * gcc.target/riscv/rvv/autovec/cond/cond_logical-2.c: Removed. - * gcc.target/riscv/rvv/autovec/cond/cond_logical-3.c: Removed. - * gcc.target/riscv/rvv/autovec/cond/cond_logical-4.c: Removed. - * gcc.target/riscv/rvv/autovec/cond/cond_logical-5.c: Removed. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-6.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-7.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-8.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-9.c: New test. - -2023-09-12 Thomas Schwinge - - * lib/scanasm.exp (configure_check-function-bodies): New proc. - (parse_function_bodies, check-function-bodies): Use it. - -2023-09-12 Mikael Morin - - PR fortran/110996 - * gfortran.dg/pr110996.f90: New test. - -2023-09-12 Tobias Burnus - - * c-c++-common/gomp/allocate-5.c: Fix testcase; make some - dg-messages for 'sorry' as c++, only. - * c-c++-common/gomp/directive-1.c: Make a 'sorry' c++ only. - * c-c++-common/gomp/allocate-9.c: New test. - * c-c++-common/gomp/allocate-11.c: New test. - * c-c++-common/gomp/allocate-12.c: New test. - * c-c++-common/gomp/allocate-14.c: New test. - * c-c++-common/gomp/allocate-15.c: New test. - * c-c++-common/gomp/allocate-16.c: New test. - -2023-09-12 xuli - - * gcc.target/riscv/rvv/base/tuple_create.c: New test. - -2023-09-12 Fei Gao - - * gcc.target/riscv/rv32e_zcmp.c: remove -fno-shrink-wrap-separate - * gcc.target/riscv/rv32i_zcmp.c: likewise - * gcc.target/riscv/zcmp_push_fpr.c: likewise - * gcc.target/riscv/zcmp_stack_alignment.c: likewise - * gcc.target/riscv/zcmp_shrink_wrap_separate.c: New test. - * gcc.target/riscv/zcmp_shrink_wrap_separate2.c: New test. - -2023-09-11 Andrew Pinski - - PR tree-optimization/111348 - * gcc.dg/tree-ssa/minmax-26.c: New test. - -2023-09-11 Uros Bizjak - - PR target/111340 - * gcc.target/i386/pr111340.c: New test. - -2023-09-11 Andrew Pinski - - PR tree-optimization/111349 - * gcc.dg/tree-ssa/minmax-25.c: New test. - -2023-09-11 Juzhe-Zhong - - PR target/111311 - * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Adapt test. - * gcc.target/riscv/rvv/autovec/partial/slp-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/compress-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/compress-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/compress-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/compress-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/compress-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/compress-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/merge-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/merge-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/merge-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/merge-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/merge-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/merge-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/merge-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/perm-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/perm-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/perm-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/perm-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/perm-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/perm-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/perm-7.c: New test. - -2023-09-11 Andrew Pinski - - PR tree-optimization/111346 - * gcc.dg/tree-ssa/minmaxcmp-1.c: New test. - -2023-09-11 liuhongt - - * gcc.target/i386/pr111306.c: New test. - -2023-09-10 Andrew Pinski - - PR tree-optimization/111331 - * gcc.c-torture/execute/pr111331-1.c: New test. - * gcc.c-torture/execute/pr111331-2.c: New test. - * gcc.c-torture/execute/pr111331-3.c: New test. - -2023-09-09 benjamin priour - - PR analyzer/96395 - * gcc.dg/analyzer/allocation-size-1.c: Moved to... - * c-c++-common/analyzer/allocation-size-1.c: ...here. - * gcc.dg/analyzer/allocation-size-2.c: Moved to... - * c-c++-common/analyzer/allocation-size-2.c: ...here. - * gcc.dg/analyzer/allocation-size-3.c: Moved to... - * c-c++-common/analyzer/allocation-size-3.c: ...here. - * gcc.dg/analyzer/allocation-size-4.c: Moved to... - * c-c++-common/analyzer/allocation-size-4.c: ...here. - * gcc.dg/analyzer/analyzer-verbosity-0.c: Moved to... - * c-c++-common/analyzer/analyzer-verbosity-0.c: ...here. - * gcc.dg/analyzer/analyzer-verbosity-1.c: Moved to... - * c-c++-common/analyzer/analyzer-verbosity-1.c: ...here. - * gcc.dg/analyzer/analyzer-verbosity-2.c: Moved to... - * c-c++-common/analyzer/analyzer-verbosity-2.c: ...here. - * gcc.dg/analyzer/analyzer-verbosity-3.c: Moved to... - * c-c++-common/analyzer/analyzer-verbosity-3.c: ...here. - * gcc.dg/analyzer/attr-alloc_size-1.c: Moved to... - * c-c++-common/analyzer/attr-alloc_size-1.c: ...here. - * gcc.dg/analyzer/attr-alloc_size-2.c: Moved to... - * c-c++-common/analyzer/attr-alloc_size-2.c: ...here. - * gcc.dg/analyzer/call-summaries-malloc.c: Moved to... - * c-c++-common/analyzer/call-summaries-malloc.c: ...here. - * gcc.dg/analyzer/call-summaries-pr107158-2.c: Moved to... - * c-c++-common/analyzer/call-summaries-pr107158-2.c: ...here. - * gcc.dg/analyzer/capacity-1.c: Moved to... - * c-c++-common/analyzer/capacity-1.c: ...here. - * gcc.dg/analyzer/dot-output.c: Moved to... - * c-c++-common/analyzer/dot-output.c: ...here. - * gcc.dg/analyzer/escaping-1.c: Moved to... - * c-c++-common/analyzer/escaping-1.c: ...here. - * gcc.dg/analyzer/expect-1.c: Moved to... - * c-c++-common/analyzer/expect-1.c: ...here. - * gcc.dg/analyzer/fgets-1.c: Moved to... - * c-c++-common/analyzer/fgets-1.c: ...here. - * gcc.dg/analyzer/file-uninit-1.c: Moved to... - * c-c++-common/analyzer/file-uninit-1.c: ...here. - * gcc.dg/analyzer/fileno-1.c: Moved to... - * c-c++-common/analyzer/fileno-1.c: ...here. - * gcc.dg/analyzer/first-field-1.c: Moved to... - * c-c++-common/analyzer/first-field-1.c: ...here. - * gcc.dg/analyzer/first-field-2.c: Moved to... - * c-c++-common/analyzer/first-field-2.c: ...here. - * gcc.dg/analyzer/flex-with-call-summaries.c: Moved to... - * c-c++-common/analyzer/flex-with-call-summaries.c: ...here. - * gcc.dg/analyzer/flex-without-call-summaries.c: Moved to... - * c-c++-common/analyzer/flex-without-call-summaries.c: ...here. - * gcc.dg/analyzer/flexible-array-member-1.c: Moved to... - * c-c++-common/analyzer/flexible-array-member-1.c: ...here. - * gcc.dg/analyzer/fold-string-to-char.c: Moved to... - * c-c++-common/analyzer/fold-string-to-char.c: ...here. - * gcc.dg/analyzer/fread-1.c: Moved to... - * c-c++-common/analyzer/fread-1.c: ...here. - * gcc.dg/analyzer/fread-2.c: Moved to... - * c-c++-common/analyzer/fread-2.c: ...here. - * gcc.dg/analyzer/fread-pr108661.c: Moved to... - * c-c++-common/analyzer/fread-pr108661.c: ...here. - * gcc.dg/analyzer/function-ptr-1.c: Moved to... - * c-c++-common/analyzer/function-ptr-1.c: ...here. - * gcc.dg/analyzer/function-ptr-2.c: Moved to... - * c-c++-common/analyzer/function-ptr-2.c: ...here. - * gcc.dg/analyzer/function-ptr-3.c: Moved to... - * c-c++-common/analyzer/function-ptr-3.c: ...here. - * gcc.dg/analyzer/function-ptr-4.c: Moved to... - * c-c++-common/analyzer/function-ptr-4.c: ...here. - * gcc.dg/analyzer/getc-1.c: Moved to... - * c-c++-common/analyzer/getc-1.c: ...here. - * gcc.dg/analyzer/getchar-1.c: Moved to... - * c-c++-common/analyzer/getchar-1.c: ...here. - * gcc.dg/analyzer/gzio-2.c: Moved to... - * c-c++-common/analyzer/gzio-2.c: ...here. - * gcc.dg/analyzer/gzio-3.c: Moved to... - * c-c++-common/analyzer/gzio-3.c: ...here. - * gcc.dg/analyzer/gzio-3a.c: Moved to... - * c-c++-common/analyzer/gzio-3a.c: ...here. - * gcc.dg/analyzer/gzio.c: Moved to... - * c-c++-common/analyzer/gzio.c: ...here. - * gcc.dg/analyzer/imprecise-floating-point-1.c: Moved to... - * c-c++-common/analyzer/imprecise-floating-point-1.c: ...here. - * gcc.dg/analyzer/infinite-recursion-2.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-2.c: ...here. - * gcc.dg/analyzer/infinite-recursion-3.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-3.c: ...here. - * gcc.dg/analyzer/infinite-recursion-4-limited-buggy.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-4-limited-buggy.c: ...here. - * gcc.dg/analyzer/infinite-recursion-4-limited.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-4-limited.c: ...here. - * gcc.dg/analyzer/infinite-recursion-4-unlimited-buggy.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-4-unlimited-buggy.c: ...here. - * gcc.dg/analyzer/infinite-recursion-4-unlimited.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-4-unlimited.c: ...here. - * gcc.dg/analyzer/infinite-recursion-5.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-5.c: ...here. - * gcc.dg/analyzer/infinite-recursion-alloca.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-alloca.c: ...here. - * gcc.dg/analyzer/infinite-recursion-inlining.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-inlining.c: ...here. - * gcc.dg/analyzer/infinite-recursion-multiline-1.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-multiline-1.c: ...here. - * gcc.dg/analyzer/infinite-recursion-multiline-2.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-multiline-2.c: ...here. - * gcc.dg/analyzer/infinite-recursion-pr108935-1.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-pr108935-1.c: ...here. - * gcc.dg/analyzer/infinite-recursion-pr108935-1a.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-pr108935-1a.c: ...here. - * gcc.dg/analyzer/infinite-recursion-pr108935-2.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-pr108935-2.c: ...here. - * gcc.dg/analyzer/infinite-recursion-variadic.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-variadic.c: ...here. - * gcc.dg/analyzer/infinite-recursion.c: Moved to... - * c-c++-common/analyzer/infinite-recursion.c: ...here. - * gcc.dg/analyzer/inlining-1-multiline.c: Moved to... - * c-c++-common/analyzer/inlining-1-multiline.c: ...here. - * gcc.dg/analyzer/inlining-1-no-undo.c: Moved to... - * c-c++-common/analyzer/inlining-1-no-undo.c: ...here. - * gcc.dg/analyzer/inlining-2-multiline.c: Moved to... - * c-c++-common/analyzer/inlining-2-multiline.c: ...here. - * gcc.dg/analyzer/inlining-5-multiline.c: Moved to... - * c-c++-common/analyzer/inlining-5-multiline.c: ...here. - * gcc.dg/analyzer/inlining-6-multiline.c: Moved to... - * c-c++-common/analyzer/inlining-6-multiline.c: ...here. - * gcc.dg/analyzer/inlining-6.c: Moved to... - * c-c++-common/analyzer/inlining-6.c: ...here. - * gcc.dg/analyzer/inlining-7-multiline.c: Moved to... - * c-c++-common/analyzer/inlining-7-multiline.c: ...here. - * gcc.dg/analyzer/invalid-shift-1.c: Moved to... - * c-c++-common/analyzer/invalid-shift-1.c: ...here. - * gcc.dg/analyzer/isatty-1.c: Moved to... - * c-c++-common/analyzer/isatty-1.c: ...here. - * gcc.dg/analyzer/leak-2.c: Moved to... - * c-c++-common/analyzer/leak-2.c: ...here. - * gcc.dg/analyzer/leak-3.c: Moved to... - * c-c++-common/analyzer/leak-3.c: ...here. - * gcc.dg/analyzer/leak-4.c: Moved to... - * c-c++-common/analyzer/leak-4.c: ...here. - * gcc.dg/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: Moved to... - * c-c++-common/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: ...here. - * gcc.dg/analyzer/loop-0-up-to-n-by-1.c: Moved to... - * c-c++-common/analyzer/loop-0-up-to-n-by-1.c: ...here. - * gcc.dg/analyzer/loop-2.c: Moved to... - * c-c++-common/analyzer/loop-2.c: ...here. - * gcc.dg/analyzer/loop-2a.c: Moved to... - * c-c++-common/analyzer/loop-2a.c: ...here. - * gcc.dg/analyzer/loop-3.c: Moved to... - * c-c++-common/analyzer/loop-3.c: ...here. - * gcc.dg/analyzer/loop-4.c: Moved to... - * c-c++-common/analyzer/loop-4.c: ...here. - * gcc.dg/analyzer/loop-n-down-to-1-by-1.c: Moved to... - * c-c++-common/analyzer/loop-n-down-to-1-by-1.c: ...here. - * gcc.dg/analyzer/loop-start-down-to-end-by-1.c: Moved to... - * c-c++-common/analyzer/loop-start-down-to-end-by-1.c: ...here. - * gcc.dg/analyzer/loop-start-down-to-end-by-step.c: Moved to... - * c-c++-common/analyzer/loop-start-down-to-end-by-step.c: ...here. - * gcc.dg/analyzer/loop-start-to-end-by-step.c: Moved to... - * c-c++-common/analyzer/loop-start-to-end-by-step.c: ...here. - * gcc.dg/analyzer/loop-start-up-to-end-by-1.c: Moved to... - * c-c++-common/analyzer/loop-start-up-to-end-by-1.c: ...here. - * gcc.dg/analyzer/loop.c: Moved to... - * c-c++-common/analyzer/loop.c: ...here. - * gcc.dg/analyzer/malloc-3.c: Moved to... - * c-c++-common/analyzer/malloc-3.c: ...here. - * gcc.dg/analyzer/malloc-5.c: Moved to... - * c-c++-common/analyzer/malloc-5.c: ...here. - * gcc.dg/analyzer/malloc-CWE-401-example.c: Moved to... - * c-c++-common/analyzer/malloc-CWE-401-example.c: ...here. - * gcc.dg/analyzer/malloc-CWE-415-examples.c: Moved to... - * c-c++-common/analyzer/malloc-CWE-415-examples.c: ...here. - * gcc.dg/analyzer/malloc-CWE-416-examples.c: Moved to... - * c-c++-common/analyzer/malloc-CWE-416-examples.c: ...here. - * gcc.dg/analyzer/malloc-CWE-590-examples.c: Moved to... - * c-c++-common/analyzer/malloc-CWE-590-examples.c: ...here. - * gcc.dg/analyzer/malloc-callbacks.c: Moved to... - * c-c++-common/analyzer/malloc-callbacks.c: ...here. - * gcc.dg/analyzer/malloc-dce.c: Moved to... - * c-c++-common/analyzer/malloc-dce.c: ...here. - * gcc.dg/analyzer/malloc-dedupe-1.c: Moved to... - * c-c++-common/analyzer/malloc-dedupe-1.c: ...here. - * gcc.dg/analyzer/malloc-in-loop.c: Moved to... - * c-c++-common/analyzer/malloc-in-loop.c: ...here. - * gcc.dg/analyzer/malloc-ipa-1.c: Moved to... - * c-c++-common/analyzer/malloc-ipa-1.c: ...here. - * gcc.dg/analyzer/malloc-ipa-11.c: Moved to... - * c-c++-common/analyzer/malloc-ipa-11.c: ...here. - * gcc.dg/analyzer/malloc-ipa-2.c: Moved to... - * c-c++-common/analyzer/malloc-ipa-2.c: ...here. - * gcc.dg/analyzer/malloc-ipa-3.c: Moved to... - * c-c++-common/analyzer/malloc-ipa-3.c: ...here. - * gcc.dg/analyzer/malloc-ipa-4.c: Moved to... - * c-c++-common/analyzer/malloc-ipa-4.c: ...here. - * gcc.dg/analyzer/malloc-ipa-5.c: Moved to... - * c-c++-common/analyzer/malloc-ipa-5.c: ...here. - * gcc.dg/analyzer/malloc-ipa-6.c: Moved to... - * c-c++-common/analyzer/malloc-ipa-6.c: ...here. - * gcc.dg/analyzer/malloc-ipa-7.c: Moved to... - * c-c++-common/analyzer/malloc-ipa-7.c: ...here. - * gcc.dg/analyzer/malloc-ipa-8-unchecked.c: Moved to... - * c-c++-common/analyzer/malloc-ipa-8-unchecked.c: ...here. - * gcc.dg/analyzer/malloc-macro-inline-events.c: Moved to... - * c-c++-common/analyzer/malloc-macro-inline-events.c: ...here. - * gcc.dg/analyzer/malloc-macro-separate-events.c: Moved to... - * c-c++-common/analyzer/malloc-macro-separate-events.c: ...here. - * gcc.dg/analyzer/malloc-macro.h: Moved to... - * c-c++-common/analyzer/malloc-macro.h: ...here. - * gcc.dg/analyzer/null-deref-pr108400-SoftEtherVPN-WebUi.c: Moved to... - * c-c++-common/analyzer/null-deref-pr108400-SoftEtherVPN-WebUi.c: ...here. - * gcc.dg/analyzer/out-of-bounds-1.c: Moved to... - * c-c++-common/analyzer/out-of-bounds-1.c: ...here. - * gcc.dg/analyzer/out-of-bounds-2.c: Moved to... - * c-c++-common/analyzer/out-of-bounds-2.c: ...here. - * gcc.dg/analyzer/out-of-bounds-5.c: Moved to... - * c-c++-common/analyzer/out-of-bounds-5.c: ...here. - * gcc.dg/analyzer/out-of-bounds-diagram-11.c: Moved to... - * c-c++-common/analyzer/out-of-bounds-diagram-11.c: ...here. - * gcc.dg/analyzer/out-of-bounds-diagram-3.c: Moved to... - * c-c++-common/analyzer/out-of-bounds-diagram-3.c: ...here. - * gcc.dg/analyzer/out-of-bounds-diagram-8.c: Moved to... - * c-c++-common/analyzer/out-of-bounds-diagram-8.c: ...here. - * gcc.dg/analyzer/phi-1.c: Moved to... - * c-c++-common/analyzer/phi-1.c: ...here. - * gcc.dg/analyzer/pr100615.c: Moved to... - * c-c++-common/analyzer/pr100615.c: ...here. - * gcc.dg/analyzer/pr103526.c: Moved to... - * c-c++-common/analyzer/pr103526.c: ...here. - * gcc.dg/analyzer/pr94362-1.c: Moved to... - * c-c++-common/analyzer/pr94362-1.c: ...here. - * gcc.dg/analyzer/pr97074.c: Moved to... - * c-c++-common/analyzer/pr97074.c: ...here. - * c-c++-common/analyzer/pr99193-2.c: Added include. - * c-c++-common/analyzer/realloc-1.c: Added include. - * gcc.dg/analyzer/scope-1.c: Moved to... - * c-c++-common/analyzer/scope-1.c: ...here. - * gcc.dg/analyzer/setjmp-2.c: Moved to... - * c-c++-common/analyzer/setjmp-2.c: ...here. - * gcc.dg/analyzer/setjmp-5.c: Moved to... - * c-c++-common/analyzer/setjmp-5.c: ...here. - * gcc.dg/analyzer/setjmp-9.c: Moved to... - * c-c++-common/analyzer/setjmp-9.c: ...here. - * gcc.dg/analyzer/signal-4a.c: Moved to... - * c-c++-common/analyzer/signal-4a.c: ...here. - * gcc.dg/analyzer/signal-4b.c: Moved to... - * c-c++-common/analyzer/signal-4b.c: ...here. - * gcc.dg/analyzer/file-pr58237.c: C only. - * gcc.dg/analyzer/fopen-1.c: C only. - * gcc.dg/analyzer/malloc-4.c: C only. - * gcc.dg/analyzer/malloc-paths-9.c: C only. - * gcc.dg/analyzer/pr103892.c: C only. - * gcc.dg/analyzer/pr109577.c: C only. - * gcc.dg/analyzer/pr93355-localealias-feasibility.c: C only. - * gcc.dg/analyzer/pr99193-1.c: C only. - * gcc.dg/analyzer/compound-assignment-1.c: Removed. - * gcc.dg/analyzer/inlining-1.c: Removed. - * gcc.dg/analyzer/inlining-2.c: Removed. - * gcc.dg/analyzer/inlining-5.c: Removed. - * gcc.dg/analyzer/inlining-7.c: Removed. - * c-c++-common/analyzer/compound-assignment-1.c: New test. - * c-c++-common/analyzer/file-pr58237-noexcept.c: Duplicate of - gcc.dg/analyzer/file-pr58237.c with exceptions disabled. - * c-c++-common/analyzer/fopen-2.c: C++ compatible parts from - gcc.dg/analyzer/fopen-1.c. - * c-c++-common/analyzer/inlining-1.c: New test. - * c-c++-common/analyzer/inlining-2.c: New test. - * c-c++-common/analyzer/inlining-5.c: New test. - * c-c++-common/analyzer/inlining-7.c: New test. - * c-c++-common/analyzer/malloc-paths-9-noexcept.c: Duplicate of - gcc.dg/analyzer/malloc-paths-9.c with exceptions disabled. - * c-c++-common/analyzer/pr109577-noexcept.c: Duplicate of - gcc.dg/analyzer/pr109577.c with exceptions disabled. - * c-c++-common/analyzer/pr93355-localealias-feasibility-noexcept.c: - Duplicate of gcc.dg/analyzer/pr93355-localealias-feasibility.c with - exceptions disabled. - * c-c++-common/analyzer/pr99193-1-noexcept.c: Duplicate of - gcc.dg/analyzer/pr99193-1.c with exceptions disabled. - -2023-09-09 Xi Ruoyao - - * gcc.target/loongarch/memcpy-vec-3.c: Increase the amount of - copied bytes to 32. - -2023-09-09 Lulu Cheng - - * gcc.target/loongarch/mulw_d_wu.c: New test. - * gcc.target/loongarch/smuldi3_highpart.c: New test. - * gcc.target/loongarch/smulsi3_highpart.c: New test. - * gcc.target/loongarch/umulsi3_highpart.c: New test. - -2023-09-09 Xi Ruoyao - - * gcc.target/loongarch/memcpy-vec-1.c: New test. - * gcc.target/loongarch/memcpy-vec-2.c: New test. - * gcc.target/loongarch/memcpy-vec-3.c: New test. - -2023-09-09 Lehua Ding - - * gcc.target/riscv/rvv/autovec/vls/div-1.c: Adjust. - * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Adjust. - * gcc.target/riscv/rvv/autovec/fold-min-poly.c: New test. - -2023-09-08 Francois-Xavier Coudert - - * gcc.dg/darwin-segaddr.c: Adjust for darwin linker warning. - * gcc.dg/pie-7.c: Likewise. - -2023-09-08 Patrick Palka - - PR c++/99599 - * g++.dg/cpp2a/concepts-recursive-sat4.C: Make 'Int' non-aggregate - in order to preserve intent of the testcase. - * g++.dg/cpp2a/concepts-nondep4.C: New test. - -2023-09-08 Christoph Müllner - - * gcc.target/riscv/xtheadbb-ext-2.c: New test. - * gcc.target/riscv/xtheadbb-ext-3.c: New test. - -2023-09-07 David Malcolm - - PR analyzer/110529 - * c-c++-common/analyzer/computed-goto-1.c: New test. - * gcc.dg/analyzer/computed-goto-pr110529.c: New test. - -2023-09-07 benjamin priour - David Malcolm - - PR analyzer/110830 - * c-c++-common/analyzer/pr110830.c: New test. - -2023-09-07 Andrew MacLeod - - PR tree-optimization/110875 - * gcc.dg/pr110875.c: New. - -2023-09-07 Sandra Loosemore - - PR c++/111274 - * g++.dg/gomp/pr111274.C: New test case. - -2023-09-07 Vladimir N. Makarov - - PR target/111225 - * gcc.target/i386/pr111225.c: New test. - -2023-09-07 David Malcolm - - * rust/compile/bad_as_bool_char.rs: Add error code to testcase. - -2023-09-07 Xi Ruoyao - - * g++.target/loongarch/bstrins-compile.C: New test. - * g++.target/loongarch/bstrins-run.C: New test. - -2023-09-07 Juzhe-Zhong - - PR target/111313 - * gcc.target/riscv/rvv/vsetvl/avl_single-13.c: Adapt test. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-17.c: Skip check for O1. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-18.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-19.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-20.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/pr111313.c: New test. - -2023-09-07 Tsukasa OI - - * gcc.target/riscv/xventanacondops-primitiveSemantics.c: New test, - * gcc.target/riscv/xventanacondops-primitiveSemantics-rv32.c: New - test to make sure that XVentanaCondOps instructions are disabled - on RV32. - * gcc.target/riscv/xventanacondops-xor-01.c: New test, - -2023-09-06 Ian Lance Taylor - - PR go/111310 - * gcc.misc-tests/godump-1.c: Add _BitInt test cases. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * gcc.dg/bitint-2.c (foo): Add tests for constexpr var or enumerator - arguments of _BitInt. - * gcc.dg/bitint-31.c: Remove forgotten 0 &&. - * gcc.dg/bitint-32.c: New test. - * gcc.dg/bitint-33.c: New test. - * gcc.dg/bitint-34.c: New test. - * gcc.dg/bitint-35.c: New test. - * gcc.dg/bitint-36.c: New test. - * gcc.dg/fixed-point/bitint-1.c: New test. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * gcc.dg/torture/bitint-21.c (main): Add tests for -1 for signed only, - -1 + epsilon, another (-1, 0) range value and -0. - * gcc.dg/torture/bitint-22.c (main): Likewise. - * gcc.dg/bitint-28.c: New test. - * gcc.dg/bitint-29.c: New test. - * gcc.dg/bitint-30.c: New test. - * gcc.dg/bitint-31.c: New test. - * gcc.dg/dfp/bitint-1.c (main): Add tests for -1 for signed only, - -1 + epsilon and -0. - * gcc.dg/dfp/bitint-2.c (main): Likewise. - * gcc.dg/dfp/bitint-3.c (main): Likewise. - * gcc.dg/dfp/bitint-7.c: New test. - * gcc.dg/dfp/bitint-8.c: New test. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * gcc.dg/bitint-19.c: New test. - * gcc.dg/bitint-20.c: New test. - * gcc.dg/bitint-21.c: New test. - * gcc.dg/bitint-22.c: New test. - * gcc.dg/bitint-23.c: New test. - * gcc.dg/bitint-24.c: New test. - * gcc.dg/bitint-25.c: New test. - * gcc.dg/bitint-26.c: New test. - * gcc.dg/bitint-27.c: New test. - * g++.dg/ext/bitint1.C: New test. - * g++.dg/ext/bitint2.C: New test. - * g++.dg/ext/bitint3.C: New test. - * g++.dg/ext/bitint4.C: New test. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * gcc.dg/torture/bitint-20.c: New test. - * gcc.dg/torture/bitint-21.c: New test. - * gcc.dg/torture/bitint-22.c: New test. - * gcc.dg/torture/bitint-23.c: New test. - * gcc.dg/torture/bitint-24.c: New test. - * gcc.dg/torture/bitint-25.c: New test. - * gcc.dg/torture/bitint-26.c: New test. - * gcc.dg/torture/bitint-27.c: New test. - * gcc.dg/torture/bitint-28.c: New test. - * gcc.dg/torture/bitint-29.c: New test. - * gcc.dg/torture/bitint-30.c: New test. - * gcc.dg/torture/bitint-31.c: New test. - * gcc.dg/torture/bitint-32.c: New test. - * gcc.dg/torture/bitint-33.c: New test. - * gcc.dg/torture/bitint-34.c: New test. - * gcc.dg/torture/bitint-35.c: New test. - * gcc.dg/torture/bitint-36.c: New test. - * gcc.dg/torture/bitint-37.c: New test. - * gcc.dg/torture/bitint-38.c: New test. - * gcc.dg/torture/bitint-39.c: New test. - * gcc.dg/torture/bitint-40.c: New test. - * gcc.dg/torture/bitint-41.c: New test. - * gcc.dg/torture/bitint-42.c: New test. - * gcc.dg/atomic/stdatomic-bitint-1.c: New test. - * gcc.dg/atomic/stdatomic-bitint-2.c: New test. - * gcc.dg/dfp/bitint-1.c: New test. - * gcc.dg/dfp/bitint-2.c: New test. - * gcc.dg/dfp/bitint-3.c: New test. - * gcc.dg/dfp/bitint-4.c: New test. - * gcc.dg/dfp/bitint-5.c: New test. - * gcc.dg/dfp/bitint-6.c: New test. - * gcc.dg/ubsan/bitint-1.c: New test. - * gcc.dg/ubsan/bitint-2.c: New test. - * gcc.dg/ubsan/bitint-3.c: New test. - -2023-09-06 Jakub Jelinek - - PR c/102989 - * lib/target-supports.exp (check_effective_target_bitint, - check_effective_target_bitint128, check_effective_target_bitint575): - New effective targets. - * gcc.dg/bitint-1.c: New test. - * gcc.dg/bitint-2.c: New test. - * gcc.dg/bitint-3.c: New test. - * gcc.dg/bitint-4.c: New test. - * gcc.dg/bitint-5.c: New test. - * gcc.dg/bitint-6.c: New test. - * gcc.dg/bitint-7.c: New test. - * gcc.dg/bitint-8.c: New test. - * gcc.dg/bitint-9.c: New test. - * gcc.dg/bitint-10.c: New test. - * gcc.dg/bitint-11.c: New test. - * gcc.dg/bitint-12.c: New test. - * gcc.dg/bitint-13.c: New test. - * gcc.dg/bitint-14.c: New test. - * gcc.dg/bitint-15.c: New test. - * gcc.dg/bitint-16.c: New test. - * gcc.dg/bitint-17.c: New test. - * gcc.dg/bitint-18.c: New test. - * gcc.dg/torture/bitint-1.c: New test. - * gcc.dg/torture/bitint-2.c: New test. - * gcc.dg/torture/bitint-3.c: New test. - * gcc.dg/torture/bitint-4.c: New test. - * gcc.dg/torture/bitint-5.c: New test. - * gcc.dg/torture/bitint-6.c: New test. - * gcc.dg/torture/bitint-7.c: New test. - * gcc.dg/torture/bitint-8.c: New test. - * gcc.dg/torture/bitint-9.c: New test. - * gcc.dg/torture/bitint-10.c: New test. - * gcc.dg/torture/bitint-11.c: New test. - * gcc.dg/torture/bitint-12.c: New test. - * gcc.dg/torture/bitint-13.c: New test. - * gcc.dg/torture/bitint-14.c: New test. - * gcc.dg/torture/bitint-15.c: New test. - * gcc.dg/torture/bitint-16.c: New test. - * gcc.dg/torture/bitint-17.c: New test. - * gcc.dg/torture/bitint-18.c: New test. - * gcc.dg/torture/bitint-19.c: New test. - -2023-09-06 Juzhe-Zhong - - PR target/111296 - * g++.target/riscv/rvv/base/pr111296.C: New test. - -2023-09-06 Juzhe-Zhong - - PR target/111295 - * gcc.target/riscv/rvv/autovec/pr111295.c: New test. - -2023-09-06 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/partial/slp-9.c: Adapt test. - * gcc.target/riscv/rvv/autovec/zve32f_zvl1024b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32f_zvl2048b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32f_zvl256b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32f_zvl4096b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32f_zvl512b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32x_zvl1024b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32x_zvl2048b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32x_zvl256b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32x_zvl4096b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32x_zvl512b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64d-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64f-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64x-1.c: Ditto. - -2023-09-06 David Malcolm - - PR analyzer/105899 - * c-c++-common/analyzer/strstr-1.c: New test. - -2023-09-06 David Malcolm - - PR analyzer/105899 - * c-c++-common/analyzer/null-terminated-strings-2.c: New test. - * c-c++-common/analyzer/overlapping-buffers.c: Update dg-bogus - directives to avoid clashing with note from that might - happen to have the same line number. Add strpncpy test coverage. - * c-c++-common/analyzer/strncpy-1.c: New test. - * gcc.dg/analyzer/null-terminated-strings-1.c - (test_filled_nonzero): New. - (void test_filled_zero): New. - (test_filled_symbolic): New. - -2023-09-06 David Malcolm - - * gcc.dg/plugin/analyzer_cpython_plugin.c: Pass ctxt to - zero_fill_region. - -2023-09-06 Pan Li - - * gcc.target/riscv/rvv/intrisinc-vrgatherei16.c: Moved to... - * gcc.target/riscv/rvv/base/intrisinc-vrgatherei16.c: ...here. - -2023-09-06 Christoph Müllner - - * gcc.target/riscv/xtheadbb-li-rotr.c: Don't run for RV32. - -2023-09-06 Lehua Ding - - PR target/111232 - * gcc.target/riscv/rvv/autovec/widen/widen-4.c: Add more testcases. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/pr111232.c: New test. - -2023-09-06 Lehua Ding - - * gcc.target/riscv/rvv/base/abi-call-variant_cc.c: New test. - -2023-09-06 Lehua Ding - - * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-1.c: New test. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-2.c: New test. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-save-restore.c: New test. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-zcmp.c: New test. - * gcc.target/riscv/rvv/base/abi-callee-saved-1.c: New test. - * gcc.target/riscv/rvv/base/abi-callee-saved-2-save-restore.c: New test. - * gcc.target/riscv/rvv/base/abi-callee-saved-2-zcmp.c: New test. - * gcc.target/riscv/rvv/base/abi-callee-saved-2.c: New test. - -2023-09-06 Lehua Ding - - * gcc.target/riscv/rvv/base/abi-call-args-1-run.c: New test. - * gcc.target/riscv/rvv/base/abi-call-args-1.c: New test. - * gcc.target/riscv/rvv/base/abi-call-args-2-run.c: New test. - * gcc.target/riscv/rvv/base/abi-call-args-2.c: New test. - * gcc.target/riscv/rvv/base/abi-call-args-3-run.c: New test. - * gcc.target/riscv/rvv/base/abi-call-args-3.c: New test. - * gcc.target/riscv/rvv/base/abi-call-args-4-run.c: New test. - * gcc.target/riscv/rvv/base/abi-call-args-4.c: New test. - * gcc.target/riscv/rvv/base/abi-call-error-1.c: New test. - * gcc.target/riscv/rvv/base/abi-call-return-run.c: New test. - * gcc.target/riscv/rvv/base/abi-call-return.c: New test. - -2023-09-06 Jakub Jelinek - - * gcc.dg/c11-floatn-1.c: New test. - * gcc.dg/c11-floatn-2.c: New test. - * gcc.dg/c11-floatn-3.c: New test. - * gcc.dg/c11-floatn-4.c: New test. - * gcc.dg/c11-floatn-5.c: New test. - * gcc.dg/c11-floatn-6.c: New test. - * gcc.dg/c11-floatn-7.c: New test. - * gcc.dg/c11-floatn-8.c: New test. - * gcc.dg/c2x-floatn-1.c: New test. - * gcc.dg/c2x-floatn-2.c: New test. - * gcc.dg/c2x-floatn-3.c: New test. - * gcc.dg/c2x-floatn-4.c: New test. - * gcc.dg/c2x-floatn-5.c: New test. - * gcc.dg/c2x-floatn-6.c: New test. - * gcc.dg/c2x-floatn-7.c: New test. - * gcc.dg/c2x-floatn-8.c: New test. - -2023-09-06 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-2.c: New test. - -2023-09-06 Jason Merrill - - * g++.dg/abi/no_unique_address8.C: New test. - * g++.dg/abi/no_unique_address8a.C: New test. - -2023-09-06 Tsukasa OI - - * gcc.target/riscv/zicond-ice-2.c: New test. This is based on - an ICE at libat_lock_n func on gcc/libatomic/config/posix/lock.c - but heavily minimized. - -2023-09-05 Christoph Müllner - - * gcc.target/riscv/xtheadbb-li-rotr.c: New tests. - * gcc.target/riscv/zbb-li-rotr.c: Likewise. - -2023-09-05 Andrew Pinski - - PR tree-optimization/98710 - * gcc.dg/tree-ssa/andor-7.c: New test. - * gcc.dg/tree-ssa/andor-8.c: New test. - -2023-09-05 Andrew Pinski - - PR tree-optimization/103536 - * gcc.dg/tree-ssa/andor-6.c: New test. - * gcc.dg/tree-ssa/andor-bool-1.c: New test. - -2023-09-05 Andrew Pinski - - PR tree-optimization/107137 - * gcc.dg/tree-ssa/neg-cast-2.c: New test. - * gcc.dg/tree-ssa/neg-cast-3.c: New test. - -2023-09-05 Andrew Pinski - - PR tree-optimization/96694 - * gcc.dg/tree-ssa/minmax-24.c: New test. - -2023-09-05 Andrew Pinski - - PR tree-optimization/105832 - * gcc.dg/tree-ssa/pr105832-1.c: New test. - * gcc.dg/tree-ssa/pr105832-2.c: New test. - * gcc.dg/tree-ssa/pr105832-3.c: New test. - -2023-09-05 Marek Polacek - - PR c++/91483 - * g++.dg/diagnostic/constexpr3.C: New test. - -2023-09-05 Christoph Müllner - - * gcc.target/riscv/xtheadbb-li-rotr.c: New test. - -2023-09-05 Jakub Jelinek - - PR c++/52953 - * g++.dg/diagnostic/redeclaration-4.C: New test. - * g++.dg/diagnostic/redeclaration-5.C: New test. - * g++.dg/warn/Wshadow-19.C: New test. - -2023-09-05 Jakub Jelinek - - PR c++/52953 - * g++.dg/diagnostic/redeclaration-1.C: Expect different diagnostic - wording. - * g++.dg/diagnostic/redeclaration-3.C: New test. - * g++.dg/parse/pr31952-1.C: Expect different diagnostic wording. - * g++.dg/parse/pr31952-3.C: Likewise. - -2023-09-05 Tobias Burnus - - * c-c++-common/gomp/allocate-13.c: New test. - -2023-09-05 Pan Li - - * gcc.target/riscv/rvv/autovec/vls/def.h: New macro. - * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnj-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnj-2.c: New test. - -2023-09-05 Marc Poulhiès - - Revert: - 2023-07-25 Marc Poulhiès - - * gnat.dg/unroll3.adb: Adjust. - -2023-09-05 Christoph Müllner - - * gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c: Disable for -Oz. - * gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c: Likewise. - * gcc.target/riscv/xtheadcondmov-mveqz-reg-eqz.c: Likewise. - * gcc.target/riscv/xtheadcondmov-mveqz-reg-not.c: Likewise. - * gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c: Likewise. - * gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c: Likewise. - * gcc.target/riscv/xtheadcondmov-mvnez-reg-cond.c: Likewise. - * gcc.target/riscv/xtheadcondmov-mvnez-reg-nez.c: Likewise. - -2023-09-05 liuhongt - - * gcc.target/i386/avx512fp16-vmovsh-1a.c: Remove xfail. - -2023-09-04 Christophe Lyon - - * gcc.dg/vect/bb-slp-44.c: Remove 'dg-do run'. - * gcc.dg/vect/bb-slp-71.c: Likewise. - * gcc.dg/vect/bb-slp-72.c: Likewise. - * gcc.dg/vect/bb-slp-73.c: Likewise. - * gcc.dg/vect/bb-slp-74.c: Likewise. - * gcc.dg/vect/bb-slp-pr101207.c: Likewise. - * gcc.dg/vect/bb-slp-pr101615-1.c: Likewise. - * gcc.dg/vect/bb-slp-pr101615-2.c: Likewise. - * gcc.dg/vect/bb-slp-pr101668.c: Likewise. - * gcc.dg/vect/bb-slp-pr54400.c: Likewise. - * gcc.dg/vect/bb-slp-pr98516-1.c: Likewise. - * gcc.dg/vect/bb-slp-pr98516-2.c: Likewise. - * gcc.dg/vect/bb-slp-pr98544.c: Likewise. - * gcc.dg/vect/pr101445.c: Likewise. - * gcc.dg/vect/pr105219.c: Likewise. - * gcc.dg/vect/pr107160.c: Likewise. - * gcc.dg/vect/pr107212-1.c: Likewise. - * gcc.dg/vect/pr107212-2.c: Likewise. - * gcc.dg/vect/pr109502.c: Likewise. - * gcc.dg/vect/pr110381.c: Likewise. - * gcc.dg/vect/pr110838.c: Likewise. - * gcc.dg/vect/pr88497-1.c: Likewise. - * gcc.dg/vect/pr88497-7.c: Likewise. - * gcc.dg/vect/pr96783-1.c: Likewise. - * gcc.dg/vect/pr96783-2.c: Likewise. - * gcc.dg/vect/pr97558-2.c: Likewise. - * gcc.dg/vect/pr99253.c: Likewise. - * gcc.dg/vect/slp-mask-store-1.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-10.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-11.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-2.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-3.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-4.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-5.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-6.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-8.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-9.c: Likewise. - * gcc.dg/vect/vect-cond-13.c: Likewise. - * gcc.dg/vect/vect-recurr-1.c: Likewise. - * gcc.dg/vect/vect-recurr-2.c: Likewise. - * gcc.dg/vect/vect-recurr-3.c: Likewise. - * gcc.dg/vect/vect-recurr-4.c: Likewise. - * gcc.dg/vect/vect-recurr-5.c: Likewise. - * gcc.dg/vect/vect-recurr-6.c: Likewise. - -2023-09-04 Thiago Jung Bauermann - - PR testsuite/111071 - * gcc.target/aarch64/sve/acle/asm/subr_s8.c: Adjust to new code. - * gcc.target/aarch64/sve/acle/asm/subr_u8.c: Likewise. - -2023-09-04 Pan Li - - * gcc.target/riscv/rvv/intrisinc-vrgatherei16.c: New test. - -2023-09-04 Jiufu Guo - - PR tree-optimization/108757 - * gcc.dg/pr108757-1.c: New test. - * gcc.dg/pr108757-2.c: New test. - * gcc.dg/pr108757.h: New test. - -2023-09-04 Guo Jie - - * gcc.target/loongarch/const-double-zero-stx.c: New test. - -2023-09-04 Lulu Cheng - - * gcc.target/loongarch/switch-qi.c: New test. - -2023-09-04 Lulu Cheng - - * gcc.target/loongarch/float-load.c: New test. - -2023-09-03 Francois-Xavier Coudert - - PR testsuite/111066 - * g++.dg/special/initpri3.C: Fix wording. - -2023-09-03 Pan Li - - * gcc.target/riscv/rvv/autovec/vls/def.h: New macros. - * gcc.target/riscv/rvv/autovec/vls/floating-point-max-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-max-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-max-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-max-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-max-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-min-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-min-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-min-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-min-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-min-5.c: New test. - -2023-09-02 chenxiaolong - - * gcc.target/loongarch/math-float-128.c: New test. - -2023-09-01 Harald Anlauf - - PR fortran/31059 - * gfortran.dg/bounds_check_fail_5.f90: New test. - -2023-09-01 benjamin priour - - PR analyzer/105948 - PR analyzer/94355 - * g++.dg/analyzer/out-of-bounds-placement-new.C: Added a directive. - * g++.dg/analyzer/placement-new.C: Added tests. - * g++.dg/analyzer/new-2.C: New test. - * g++.dg/analyzer/noexcept-new.C: New test. - * g++.dg/analyzer/placement-new-size.C: New test. - -2023-09-01 Hans-Peter Nilsson - - PR testsuite/111264 - * gcc.dg/plugin/analyzer_cpython_plugin.c: Make declarations - C++11-compatible. - -2023-09-01 Jonathan Wakely - - * g++.dg/pr110879.C: Moved to... - * g++.dg/opt/pr110879.C: ...here. - -2023-09-01 Vladimir Palevich - - PR libstdc++/110879 - * g++.dg/pr110879.C: New test. - -2023-09-01 Jakub Jelinek - - PR c++/111069 - * g++.dg/cpp2a/decomp8.C: New test. - * g++.dg/cpp2a/decomp9.C: New test. - * g++.dg/abi/macro0.C: Expect __GXX_ABI_VERSION 1019 rather than - 1018. - -2023-09-01 Jakub Jelinek - - PR tree-optimization/19832 - * g++.dg/opt/vectcond-1.C: Add -Wno-psabi to dg-options. - -2023-09-01 Jakub Jelinek - - PR tree-optimization/110915 - * gcc.dg/pr110915-1.c: Add -Wno-psabi to dg-options. Move vector - macro definition after limits.h inclusion. - * gcc.dg/pr110915-2.c: Likewise. - * gcc.dg/pr110915-3.c: Likewise. - * gcc.dg/pr110915-4.c: Likewise. - * gcc.dg/pr110915-5.c: Likewise. - * gcc.dg/pr110915-6.c: Likewise. - * gcc.dg/pr110915-7.c: Likewise. - * gcc.dg/pr110915-8.c: Likewise. - * gcc.dg/pr110915-9.c: Likewise. - * gcc.dg/pr110915-10.c: Likewise. - * gcc.dg/pr110915-11.c: Likewise. - * gcc.dg/pr110915-12.c: Likewise. - -2023-09-01 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-1.h: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-2.h: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv32-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv32-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv64-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv64-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-1.h: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-2.h: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv32-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv32-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv64-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv64-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float_run-2.c: New test. - -2023-09-01 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-1.h: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-2.h: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv32-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv32-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv64-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv64-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float_run-2.c: New test. - -2023-09-01 Lehua Ding - - * gcc.target/riscv/rvv/autovec/binop/narrow-3.c: Adjust. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-1.h: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-2.h: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv32-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv32-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv64-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv64-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int_run-2.c: New test. - -2023-09-01 Robin Dapp - - * gcc.target/riscv/rvv/autovec/partial/live-2.c: New test. - * gcc.target/riscv/rvv/autovec/partial/live_run-2.c: New test. - -2023-09-01 Robin Dapp - - * gcc.dg/vect/vect-outer-4c-big-array.c: Adjust regex pattern. - * gcc.dg/vect/vect-reduc-dot-s16a.c: Ditto. - * gcc.dg/vect/vect-reduc-dot-s8a.c: Ditto. - * gcc.dg/vect/vect-reduc-dot-s8b.c: Ditto. - * gcc.dg/vect/vect-reduc-dot-u16a.c: Ditto. - * gcc.dg/vect/vect-reduc-dot-u16b.c: Ditto. - * gcc.dg/vect/vect-reduc-dot-u8a.c: Ditto. - * gcc.dg/vect/vect-reduc-dot-u8b.c: Ditto. - * gcc.dg/vect/vect-reduc-pattern-1a.c: Ditto. - * gcc.dg/vect/vect-reduc-pattern-1b-big-array.c: Ditto. - * gcc.dg/vect/vect-reduc-pattern-1c-big-array.c: Ditto. - * gcc.dg/vect/vect-reduc-pattern-2a.c: Ditto. - * gcc.dg/vect/vect-reduc-pattern-2b-big-array.c: Ditto. - * gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Ditto. - -2023-09-01 Pan Li - - * gcc.target/riscv/rvv/autovec/vls/def.h: - * gcc.target/riscv/rvv/autovec/vls/floating-point-add-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-add-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-add-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-div-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-div-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-div-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-3.c: New test. - -2023-09-01 Andrew Pinski - - PR tree-optimization/19832 - * g++.dg/opt/vectcond-1.C: New test. - * gcc.dg/tree-ssa/phi-opt-same-1.c: New test. - -2023-08-31 Andrew Pinski - - PR tree-optimization/110915 - * gcc.dg/pr110915-1.c: New test. - * gcc.dg/pr110915-10.c: New test. - * gcc.dg/pr110915-11.c: New test. - * gcc.dg/pr110915-12.c: New test. - * gcc.dg/pr110915-2.c: New test. - * gcc.dg/pr110915-3.c: New test. - * gcc.dg/pr110915-4.c: New test. - * gcc.dg/pr110915-5.c: New test. - * gcc.dg/pr110915-6.c: New test. - * gcc.dg/pr110915-7.c: New test. - * gcc.dg/pr110915-8.c: New test. - * gcc.dg/pr110915-9.c: New test. - -2023-08-31 Pan Li - - * gcc.target/riscv/rvv/base/float-point-frm-autovec-4.c: New test. - -2023-08-31 Pan Li - - * gcc.target/riscv/rvv/base/float-point-frm-autovec-3.c: New test. - -2023-08-31 Peter Bergner - - PR testsuite/111228 - * gcc.target/powerpc/fold-vec-logical-ors-char.c: Update instruction - counts to match the number of associated vec_* built-in calls. - * gcc.target/powerpc/fold-vec-logical-ors-int.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-ors-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-ors-short.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-other-char.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-other-int.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-other-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-other-short.c: Likewise. - -2023-08-31 Pan Li - - * gcc.target/riscv/rvv/base/float-point-frm-autovec-2.c: New test. - -2023-08-31 Pan Li - Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/float-point-frm-autovec-1.c: New test. - -2023-08-31 Richard Biener - - PR middle-end/111253 - * gcc.dg/Wfree-nonheap-object-7.c: New testcase. - -2023-08-31 Jeevitha Palanisamy - - PR target/110411 - * gcc.target/powerpc/pr110411-1.c: New testcase. - * gcc.target/powerpc/pr110411-2.c: New testcase. - -2023-08-31 Lehua Ding - - * gcc.target/riscv/rvv/base/binop_vx_constraint-171.c: Adjust. - * gcc.target/riscv/rvv/base/binop_vx_constraint-173.c: Adjust. - * gcc.target/riscv/rvv/vsetvl/vsetvl-24.c: New test. - -2023-08-31 Richard Biener - - * gcc.dg/tree-ssa/forwprop-42.c: Move ... - * gcc.target/i386/pr111228.c: ... here. Enable SSE2. - -2023-08-31 Richard Biener - - * gcc.target/i386/pr52252-atom.c: Add -mprefer-vector-width=128. - * gcc.target/i386/pr52252-core.c: Likewise. - -2023-08-31 Haochen Gui - - PR target/96762 - * gcc.target/powerpc/pr96762.c: New. - -2023-08-31 Lehua Ding - - PR target/111234 - * gcc.target/riscv/rvv/vsetvl/pr111234.c: New test. - -2023-08-30 Eric Feng - - PR analyzer/107646 - * gcc.dg/plugin/analyzer_cpython_plugin.c: Implements reference - count checking for PyObjects. - * gcc.dg/plugin/cpython-plugin-test-2.c: Moved to... - * gcc.dg/plugin/cpython-plugin-test-PyList_Append.c: ...here - (and added more tests). - * gcc.dg/plugin/cpython-plugin-test-1.c: Moved to... - * gcc.dg/plugin/cpython-plugin-test-no-Python-h.c: ...here (and - added more tests). - * gcc.dg/plugin/plugin.exp: New tests. - * gcc.dg/plugin/cpython-plugin-test-PyList_New.c: New test. - * gcc.dg/plugin/cpython-plugin-test-PyLong_FromLong.c: New test. - -2023-08-30 Dimitar Dimitrov - - PR target/106562 - * gcc.target/pru/pr106562-10.c: New test. - * gcc.target/pru/pr106562-11.c: New test. - * gcc.target/pru/pr106562-5.c: New test. - * gcc.target/pru/pr106562-6.c: New test. - * gcc.target/pru/pr106562-7.c: New test. - * gcc.target/pru/pr106562-8.c: New test. - * gcc.target/pru/pr106562-9.c: New test. - -2023-08-30 Marek Polacek - - PR c++/91319 - * g++.dg/cpp2a/desig30.C: New test. - -2023-08-30 Marek Polacek - - PR c++/111173 - * g++.dg/cpp2a/constinit19.C: New test. - -2023-08-30 Richard Biener - - * gcc.dg/tree-ssa/forwprop-42.c: Use __UINT64_TYPE__ instead - of unsigned long. - -2023-08-30 Juzhe-Zhong - - * gcc.dg/vect/slp-reduc-7.c: Add RVV. - -2023-08-30 Juzhe-Zhong - - * gcc.dg/vect/slp-26.c: Adapt for RVV. - -2023-08-30 Mikael Morin - - PR fortran/48776 - * gfortran.dg/interface_procedure_1.f90: New test. - -2023-08-30 Richard Biener - - PR tree-optimization/111228 - * gcc.dg/tree-ssa/forwprop-42.c: New testcase. - -2023-08-30 Juzhe-Zhong - - * gcc.dg/vect/vect-double-reduc-5.c: Add riscv. - * gcc.dg/vect/vect-outer-4e.c: Ditto. - * gcc.dg/vect/vect-outer-4f.c: Ditto. - * gcc.dg/vect/vect-outer-4g.c: Ditto. - * gcc.dg/vect/vect-outer-4k.c: Ditto. - * gcc.dg/vect/vect-outer-4l.c: Ditto. - -2023-08-30 Juzhe-Zhong - - * gcc.dg/vect/pr88598-1.c: Add riscv_vector. - * gcc.dg/vect/pr88598-2.c: Ditto. - * gcc.dg/vect/pr88598-3.c: Ditto. - -2023-08-30 Die Li - Fei Gao - - * gcc.target/riscv/cm_mv_rv32.c: New test. - -2023-08-30 Fei Gao - - * gcc.target/riscv/rv32e_zcmp.c: add testcase for cm.popretz in rv32e - * gcc.target/riscv/rv32i_zcmp.c: add testcase for cm.popretz in rv32i - -2023-08-30 Fei Gao - - * gcc.target/riscv/rv32e_zcmp.c: New test. - * gcc.target/riscv/rv32i_zcmp.c: New test. - * gcc.target/riscv/zcmp_push_fpr.c: New test. - * gcc.target/riscv/zcmp_stack_alignment.c: New test. - -2023-08-30 Jakub Jelinek - - PR tree-optimization/110914 - * gcc.c-torture/execute/pr110914.c: New test. - -2023-08-30 Jakub Jelinek - - PR tree-optimization/111015 - * gcc.dg/pr111015.c: New test. - -2023-08-30 Tsukasa OI - - * gcc.target/riscv/arch-24.c: Test RV32I+Zcf instead. - -2023-08-30 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/misalign-1.c: New test. - -2023-08-29 Philipp Tomsich - - * gcc.target/riscv/zicond-xor-01.c: New test. - Co-authored-by: Jeff Law - -2023-08-29 David Malcolm - - PR analyzer/99860 - * c-c++-common/analyzer/overlapping-buffers.c: New test. - -2023-08-29 Marek Polacek - - * g++.dg/diagnostic/explicit.C: New test. - -2023-08-29 Jin Ma - - * gcc.target/riscv/zfa-fli-7.c: Change fa0 to fa\[0-9\] to avoid - assigning register numbers that are non-zero. - * gcc.target/riscv/zfa-fli-8.c: Ditto. - * gcc.target/riscv/zfa-fli-5.c: New test. - -2023-08-29 Edwin Lu - Vineet Gupta - - * gcc.target/riscv/attribute-1.c: Check for - __riscv_unaligned_slow or __riscv_unaligned_fast - * gcc.target/riscv/attribute-4.c: Check for - __riscv_unaligned_avoid - * gcc.target/riscv/attribute-5.c: Check for - __riscv_unaligned_slow or __riscv_unaligned_fast - * gcc.target/riscv/predef-align-1.c: New test. - * gcc.target/riscv/predef-align-2.c: New test. - * gcc.target/riscv/predef-align-3.c: New test. - * gcc.target/riscv/predef-align-4.c: New test. - * gcc.target/riscv/predef-align-5.c: New test. - * gcc.target/riscv/predef-align-6.c: New test. - -2023-08-29 Guillaume Gomez - - * jit.dg/test-restrict.c: Add test for __restrict__ attribute. - * jit.dg/all-non-failing-tests.h: Add test-restrict.c to the list. - -2023-08-29 Carl Love - - PR target/93448 - * gcc.target/powerpc/pr93448.c: New test case. - -2023-08-29 David Malcolm - - PR analyzer/105899 - * c-c++-common/analyzer/pr99193-2.c: Add - -Wno-analyzer-too-complex. - * gcc.dg/analyzer/strdup-1.c: Include "analyzer-decls.h". - (test_concrete_strlen): New. - (test_symbolic_strlen): New. - -2023-08-29 Tsukasa OI - - * gcc.target/riscv/predef-31.c: New test for a stub unprivileged - extension 'Zcb' with some implications. - -2023-08-29 Tsukasa OI - - * gcc.target/riscv/predef-30.c: New test for a stub - vendor extension 'XVentanaCondOps'. - -2023-08-29 Tsukasa OI - - * gcc.target/riscv/predef-29.c: New test for a stub privileged - extension 'Smstateen' with some implications. - -2023-08-29 Tsukasa OI - - * gcc.target/riscv/pr102957-2.c: New test case using the 'Zk' - extension to continue testing whether we can use valid two-letter - extensions. - -2023-08-29 Jakub Jelinek - - PR middle-end/79173 - PR middle-end/111209 - * gcc.target/i386/pr79173-12.c: New test. - -2023-08-29 Andrew Pinski - - PR tree-optimization/111147 - * gcc.dg/tree-ssa/cmpbit-4.c: New test. - -2023-08-29 Juzhe-Zhong - - * gcc.dg/vect/no-scevccp-outer-12.c: Add riscv xfail. - -2023-08-29 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: Fix ASM check. - -2023-08-29 Lehua Ding - - PR target/110943 - * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Adjust. - * gcc.target/riscv/rvv/base/pr110943.c: New test. - -2023-08-29 Lulu Cheng - - * gcc.target/loongarch/sign-extend.c: New test. - -2023-08-28 Tsukasa OI - - * gcc.target/riscv/builtin_pause.c: Removed. - * gcc.target/riscv/zihintpause-1.c: New test when the 'Zihintpause' - extension is enabled. - * gcc.target/riscv/zihintpause-2.c: Likewise. - * gcc.target/riscv/zihintpause-noarch.c: New test when the 'Zihintpause' - extension is disabled. - -2023-08-28 Andrew Pinski - - PR testsuite/111215 - * gcc.dg/tree-ssa/cond-bool-2.c: Add - `--param logical-op-non-short-circuit=1` to the options. - -2023-08-28 Andrew Pinski - - * gcc.dg/tree-ssa/cmpbit-3.c: New test. - * gcc.dg/pr87009.c: Update test. - -2023-08-28 Lulu Cheng - - * gcc.target/loongarch/slt-sign-extend.c: New test. - -2023-08-28 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/vxrm-8.c: Adapt tests. - * gcc.target/riscv/rvv/base/vxrm-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: Ditto. - -2023-08-28 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/avl_multiple-7.c: Adapt test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-102.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-27.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-28.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-29.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-30.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-35.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-36.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-46.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-48.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-50.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-51.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-66.c: - * gcc.target/riscv/rvv/vsetvl/avl_single-67.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-68.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-69.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-70.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-71.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-72.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-76.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-77.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-82.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-83.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-89.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-93.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-94.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-95.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-96.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/ffload-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_switch-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_switch-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-103.c: New test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-13.c: New test. - -2023-08-27 Jeff Law - - * gcc.target/riscv/rvv/base/spill-11.c: Adjust expected output. - -2023-08-27 Jeff Law - - * gcc.target/riscv/rvv/base/spill-12.c: Update expected output. - -2023-08-27 Jeff Law - - * gcc.target/riscv/xtheadcondmov-indirect.c: Turn off pressure - sensitive scheduling. - -2023-08-27 benjamin priour - - PR analyzer/96395 - * gcc.dg/analyzer/aliasing-3.c: Moved to... - * c-c++-common/analyzer/aliasing-3.c: ...here. - * gcc.dg/analyzer/aliasing-pr106473.c: Moved to... - * c-c++-common/analyzer/aliasing-pr106473.c: ...here. - * gcc.dg/analyzer/asm-x86-dyndbg-2.c: Moved to... - * c-c++-common/analyzer/asm-x86-dyndbg-2.c: ...here. - * gcc.dg/analyzer/asm-x86-lp64-2.c: Moved to... - * c-c++-common/analyzer/asm-x86-lp64-2.c: ...here. - * gcc.dg/analyzer/atomic-builtins-haproxy-proxy.c: Moved to... - * c-c++-common/analyzer/atomic-builtins-haproxy-proxy.c: ...here. - * gcc.dg/analyzer/atomic-builtins-qemu-sockets.c: Moved to... - * c-c++-common/analyzer/atomic-builtins-qemu-sockets.c: ...here. - * gcc.dg/analyzer/attr-malloc-6.c: Moved to... - * c-c++-common/analyzer/attr-malloc-6.c: ...here. - * gcc.dg/analyzer/attr-malloc-CVE-2019-19078-usb-leak.c: Moved to... - * c-c++-common/analyzer/attr-malloc-CVE-2019-19078-usb-leak.c: ...here. - * gcc.dg/analyzer/attr-tainted_args-1.c: Moved to... - * c-c++-common/analyzer/attr-tainted_args-1.c: ...here. - * gcc.dg/analyzer/call-summaries-pr107158.c: Moved to... - * c-c++-common/analyzer/call-summaries-pr107158.c: ...here. - * gcc.dg/analyzer/calloc-1.c: Moved to... - * c-c++-common/analyzer/calloc-1.c: ...here. - * gcc.dg/analyzer/compound-assignment-5.c: Moved to... - * c-c++-common/analyzer/compound-assignment-5.c: ...here. - * gcc.dg/analyzer/coreutils-cksum-pr108664.c: Moved to... - * c-c++-common/analyzer/coreutils-cksum-pr108664.c: ...here. - * gcc.dg/analyzer/coreutils-sum-pr108666.c: Moved to... - * c-c++-common/analyzer/coreutils-sum-pr108666.c: ...here. - * gcc.dg/analyzer/deref-before-check-pr108455-1.c: Moved to... - * c-c++-common/analyzer/deref-before-check-pr108455-1.c: ...here. - * gcc.dg/analyzer/deref-before-check-pr108455-git-pack-revindex.c: Moved to... - * c-c++-common/analyzer/deref-before-check-pr108455-git-pack-revindex.c: ...here. - * gcc.dg/analyzer/deref-before-check-pr108475-1.c: Moved to... - * c-c++-common/analyzer/deref-before-check-pr108475-1.c: ...here. - * gcc.dg/analyzer/deref-before-check-pr108475-haproxy-tcpcheck.c: Moved to... - * c-c++-common/analyzer/deref-before-check-pr108475-haproxy-tcpcheck.c: ...here. - * gcc.dg/analyzer/deref-before-check-pr109060-haproxy-cfgparse.c: Moved to... - * c-c++-common/analyzer/deref-before-check-pr109060-haproxy-cfgparse.c: ...here. - * gcc.dg/analyzer/deref-before-check-pr109239-linux-bus.c: Moved to... - * c-c++-common/analyzer/deref-before-check-pr109239-linux-bus.c: ...here. - * gcc.dg/analyzer/deref-before-check-pr77425.c: Moved to... - * c-c++-common/analyzer/deref-before-check-pr77425.c: ...here. - * gcc.dg/analyzer/exec-1.c: Moved to... - * c-c++-common/analyzer/exec-1.c: ...here. - * gcc.dg/analyzer/feasibility-3.c: Moved to... - * c-c++-common/analyzer/feasibility-3.c: ...here. - * gcc.dg/analyzer/fields.c: Moved to... - * c-c++-common/analyzer/fields.c: ...here. - * gcc.dg/analyzer/function-ptr-5.c: Moved to... - * c-c++-common/analyzer/function-ptr-5.c: ...here. - * gcc.dg/analyzer/infinite-recursion-pr108524-1.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-pr108524-1.c: ...here. - * gcc.dg/analyzer/infinite-recursion-pr108524-2.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-pr108524-2.c: ...here. - * gcc.dg/analyzer/infinite-recursion-pr108524-qobject-json-parser.c: Moved to... - * c-c++-common/analyzer/infinite-recursion-pr108524-qobject-json-parser.c: ...here. - * gcc.dg/analyzer/init.c: Moved to... - * c-c++-common/analyzer/init.c: ...here. - * gcc.dg/analyzer/inlining-3-multiline.c: Moved to... - * c-c++-common/analyzer/inlining-3-multiline.c: ...here. - * gcc.dg/analyzer/inlining-3.c: Moved to... - * c-c++-common/analyzer/inlining-3.c: ...here. - * gcc.dg/analyzer/inlining-4-multiline.c: Moved to... - * c-c++-common/analyzer/inlining-4-multiline.c: ...here. - * gcc.dg/analyzer/inlining-4.c: Moved to... - * c-c++-common/analyzer/inlining-4.c: ...here. - * gcc.dg/analyzer/leak-pr105906.c: Moved to... - * c-c++-common/analyzer/leak-pr105906.c: ...here. - * gcc.dg/analyzer/leak-pr108045-with-call-summaries.c: Moved to... - * c-c++-common/analyzer/leak-pr108045-with-call-summaries.c: ...here. - * gcc.dg/analyzer/leak-pr108045-without-call-summaries.c: Moved to... - * c-c++-common/analyzer/leak-pr108045-without-call-summaries.c: ...here. - * gcc.dg/analyzer/leak-pr109059-1.c: Moved to... - * c-c++-common/analyzer/leak-pr109059-1.c: ...here. - * gcc.dg/analyzer/leak-pr109059-2.c: Moved to... - * c-c++-common/analyzer/leak-pr109059-2.c: ...here. - * gcc.dg/analyzer/malloc-2.c: Moved to... - * c-c++-common/analyzer/malloc-2.c: ...here. - * gcc.dg/analyzer/memcpy-2.c: Moved to... - * c-c++-common/analyzer/memcpy-2.c: ...here. - * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: Moved to... - * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: ...here. - * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: Moved to... - * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: ...here. - * gcc.dg/analyzer/null-deref-pr108806-qemu.c: Moved to... - * c-c++-common/analyzer/null-deref-pr108806-qemu.c: ...here. - * gcc.dg/analyzer/null-deref-pr108830.c: Moved to... - * c-c++-common/analyzer/null-deref-pr108830.c: ...here. - * gcc.dg/analyzer/pr101962.c: Moved to... - * c-c++-common/analyzer/pr101962.c: ...here. - * gcc.dg/analyzer/pr103217-2.c: Moved to... - * c-c++-common/analyzer/pr103217-2.c: ...here. - * gcc.dg/analyzer/pr103217.c: Moved to... - * c-c++-common/analyzer/pr103217.c: ...here. - * gcc.dg/analyzer/pr104029.c: Moved to... - * c-c++-common/analyzer/pr104029.c: ...here. - * gcc.dg/analyzer/pr104062.c: Moved to... - * c-c++-common/analyzer/pr104062.c: ...here. - * gcc.dg/analyzer/pr105783.c: Moved to... - * c-c++-common/analyzer/pr105783.c: ...here. - * gcc.dg/analyzer/pr107345.c: Moved to... - * c-c++-common/analyzer/pr107345.c: ...here. - * gcc.dg/analyzer/pr93695-1.c: Moved to... - * c-c++-common/analyzer/pr93695-1.c: ...here. - * gcc.dg/analyzer/pr94596.c: Moved to... - * c-c++-common/analyzer/pr94596.c: ...here. - * gcc.dg/analyzer/pr94839.c: Moved to... - * c-c++-common/analyzer/pr94839.c: ...here. - * gcc.dg/analyzer/pr95152-4.c: C only. - * gcc.dg/analyzer/pr95152-5.c: C only. - * gcc.dg/analyzer/pr95240.c: Moved to... - * c-c++-common/analyzer/pr95240.c: ...here. - * gcc.dg/analyzer/pr96639.c: Moved to... - * c-c++-common/analyzer/pr96639.c: ...here. - * gcc.dg/analyzer/pr96653.c: Moved to... - * c-c++-common/analyzer/pr96653.c: ...here. - * gcc.dg/analyzer/pr96792.c: Moved to... - * c-c++-common/analyzer/pr96792.c: ...here. - * gcc.dg/analyzer/pr96841.c: Moved to... - * c-c++-common/analyzer/pr96841.c: ...here. - * gcc.dg/analyzer/pr98564.c: Moved to... - * c-c++-common/analyzer/pr98564.c: ...here. - * gcc.dg/analyzer/pr98628.c: Moved to... - * c-c++-common/analyzer/pr98628.c: ...here. - * gcc.dg/analyzer/pr98969.c: Moved to... - * c-c++-common/analyzer/pr98969.c: ...here. - * gcc.dg/analyzer/pr99193-2.c: Moved to... - * c-c++-common/analyzer/pr99193-2.c: ...here. - * gcc.dg/analyzer/pr99193-3.c: Moved to... - * c-c++-common/analyzer/pr99193-3.c: ...here. - * gcc.dg/analyzer/pr99716-1.c: Moved to... - * c-c++-common/analyzer/pr99716-1.c: ...here. - * gcc.dg/analyzer/pr99774-1.c: Moved to... - * c-c++-common/analyzer/pr99774-1.c: ...here. - * gcc.dg/analyzer/realloc-1.c: Moved to... - * c-c++-common/analyzer/realloc-1.c: ...here. - * gcc.dg/analyzer/realloc-2.c: Moved to... - * c-c++-common/analyzer/realloc-2.c: ...here. - * gcc.dg/analyzer/realloc-3.c: Moved to... - * c-c++-common/analyzer/realloc-3.c: ...here. - * gcc.dg/analyzer/realloc-4.c: Moved to... - * c-c++-common/analyzer/realloc-4.c: ...here. - * gcc.dg/analyzer/realloc-5.c: Moved to... - * c-c++-common/analyzer/realloc-5.c: ...here. - * gcc.dg/analyzer/realloc-pr110014.c: Moved to... - * c-c++-common/analyzer/realloc-pr110014.c: ...here. - * gcc.dg/analyzer/snprintf-concat.c: Moved to... - * c-c++-common/analyzer/snprintf-concat.c: ...here. - * gcc.dg/analyzer/sock-1.c: Moved to... - * c-c++-common/analyzer/sock-1.c: ...here. - * gcc.dg/analyzer/sprintf-concat.c: Moved to... - * c-c++-common/analyzer/sprintf-concat.c: ...here. - * gcc.dg/analyzer/string-ops-concat-pair.c: Moved to... - * c-c++-common/analyzer/string-ops-concat-pair.c: ...here. - * gcc.dg/analyzer/string-ops-dup.c: Moved to... - * c-c++-common/analyzer/string-ops-dup.c: ...here. - * gcc.dg/analyzer/switch-enum-pr105273-git-vreportf-2.c: Moved to... - * c-c++-common/analyzer/switch-enum-pr105273-git-vreportf-2.c: ...here. - * gcc.dg/analyzer/symbolic-12.c: Moved to... - * c-c++-common/analyzer/symbolic-12.c: ...here. - * gcc.dg/analyzer/uninit-alloca.c: Moved to... - * c-c++-common/analyzer/uninit-alloca.c: ...here. - * gcc.dg/analyzer/untracked-2.c: Moved to... - * c-c++-common/analyzer/untracked-2.c: ...here. - * gcc.dg/analyzer/vasprintf-1.c: Moved to... - * c-c++-common/analyzer/vasprintf-1.c: ...here. - * gcc.dg/analyzer/write-to-const-1.c: Moved to... - * c-c++-common/analyzer/write-to-const-1.c: ...here. - * gcc.dg/analyzer/write-to-function-1.c: C only. - * gcc.dg/analyzer/write-to-string-literal-1.c: Moved to... - * c-c++-common/analyzer/write-to-string-literal-1.c: ...here. - * gcc.dg/analyzer/write-to-string-literal-4-disabled.c: Moved to... - * c-c++-common/analyzer/write-to-string-literal-4-disabled.c: ...here. - * gcc.dg/analyzer/write-to-string-literal-5.c: Moved to... - * c-c++-common/analyzer/write-to-string-literal-5.c: ...here. - * g++.dg/analyzer/analyzer.exp: Now also run tests under - c-c++-common/analyzer. - * gcc.dg/analyzer/analyzer-decls.h: Add NULL definition. - * gcc.dg/analyzer/analyzer.exp: Now also run tests under - c-c++-common/analyzer. - * gcc.dg/analyzer/pr104369-1.c: C only. - * gcc.dg/analyzer/pr104369-2.c: Likewise. - * gcc.dg/analyzer/pr93355-localealias-feasibility-2.c: Likewise. - * gcc.dg/analyzer/sprintf-1.c: Split into C-only and - C++-friendly bits. - * gcc.dg/analyzer/allocation-size-multiline-1.c: Removed. - * gcc.dg/analyzer/allocation-size-multiline-2.c: Removed. - * gcc.dg/analyzer/allocation-size-multiline-3.c: Removed. - * gcc.dg/analyzer/data-model-11.c: Removed. - * gcc.dg/analyzer/pr61861.c: C only. - * gcc.dg/analyzer/pr93457.c: Removed. - * gcc.dg/analyzer/pr97568.c: Removed. - * gcc.dg/analyzer/write-to-string-literal-4.c: Removed. - * c-c++-common/analyzer/allocation-size-multiline-1.c: New test. - * c-c++-common/analyzer/allocation-size-multiline-2.c: New test. - * c-c++-common/analyzer/allocation-size-multiline-3.c: New test. - * c-c++-common/analyzer/data-model-11.c: New test. - * c-c++-common/analyzer/pr93457.c: New test. - * c-c++-common/analyzer/pr97568.c: New test. - * c-c++-common/analyzer/sprintf-2.c: C++-friendly bit of - previous gcc.dg/analyzer/sprintf-1.c. - * c-c++-common/analyzer/write-to-string-literal-4.c: New test. - -2023-08-26 Paul Thomas - - PR fortran/92586 - * gfortran.dg/pr92586.f90 : New test - -2023-08-26 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/reduc/extract_last-1.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-10.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-11.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-12.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-13.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-14.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-2.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-3.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-4.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-5.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-6.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-7.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-8.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-9.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-10.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-11.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-12.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-13.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-14.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-6.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-7.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-8.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-9.c: New test. - -2023-08-26 Andrew Pinski - - * gcc.dg/tree-ssa/phi-opt-34.c: Fix dg-options directive. - -2023-08-25 Jeff Law - - * gcc.target/riscv/stack_save_restore_1.c: Robustify. - * gcc.target/riscv/stack_save_restore_2.c: Robustify. - -2023-08-25 Jeff Law - - * gcc.target/riscv/zicond-primitiveSemantics.c: Disable for -Og. - -2023-08-25 Jin Ma - - * gcc.target/riscv/zfa-fleq-fltq.c: New test. - * gcc.target/riscv/zfa-fli-zfh.c: New test. - * gcc.target/riscv/zfa-fli.c: New test. - * gcc.target/riscv/zfa-fmovh-fmovp.c: New test. - * gcc.target/riscv/zfa-fli-1.c: New test. - * gcc.target/riscv/zfa-fli-2.c: New test. - * gcc.target/riscv/zfa-fli-3.c: New test. - * gcc.target/riscv/zfa-fli-4.c: New test. - * gcc.target/riscv/zfa-fli-6.c: New test. - * gcc.target/riscv/zfa-fli-7.c: New test. - * gcc.target/riscv/zfa-fli-8.c: New test. - Co-authored-by: Tsukasa OI - * gcc.target/riscv/zfa-fround.c: New file. - -2023-08-25 Sandra Loosemore - - * gfortran.dg/gomp/collapse1.f90: Adjust expected errors. - * gfortran.dg/gomp/collapse2.f90: Likewise. - * gfortran.dg/gomp/imperfect-gotos.f90: New. - * gfortran.dg/gomp/imperfect-invalid-scope.f90: New. - * gfortran.dg/gomp/imperfect1.f90: New. - * gfortran.dg/gomp/imperfect2.f90: New. - * gfortran.dg/gomp/imperfect3.f90: New. - * gfortran.dg/gomp/imperfect4.f90: New. - * gfortran.dg/gomp/imperfect5.f90: New. - -2023-08-25 Sandra Loosemore - - * c-c++-common/gomp/imperfect-attributes.c: New. - * c-c++-common/gomp/imperfect-badloops.c: New. - * c-c++-common/gomp/imperfect-blocks.c: New. - * c-c++-common/gomp/imperfect-extension.c: New. - * c-c++-common/gomp/imperfect-gotos.c: New. - * c-c++-common/gomp/imperfect-invalid-scope.c: New. - * c-c++-common/gomp/imperfect-labels.c: New. - * c-c++-common/gomp/imperfect-legacy-syntax.c: New. - * c-c++-common/gomp/imperfect-pragmas.c: New. - * c-c++-common/gomp/imperfect1.c: New. - * c-c++-common/gomp/imperfect2.c: New. - * c-c++-common/gomp/imperfect3.c: New. - * c-c++-common/gomp/imperfect4.c: New. - * c-c++-common/gomp/imperfect5.c: New. - -2023-08-25 Sandra Loosemore - - * c-c++-common/goacc/tile-2.c: Adjust expected error patterns. - * g++.dg/gomp/attrs-imperfect1.C: New test. - * g++.dg/gomp/attrs-imperfect2.C: New test. - * g++.dg/gomp/attrs-imperfect3.C: New test. - * g++.dg/gomp/attrs-imperfect4.C: New test. - * g++.dg/gomp/attrs-imperfect5.C: New test. - * g++.dg/gomp/pr41967.C: Adjust expected error patterns. - * g++.dg/gomp/tpl-imperfect-gotos.C: New test. - * g++.dg/gomp/tpl-imperfect-invalid-scope.C: New test. - -2023-08-25 Sandra Loosemore - - * c-c++-common/goacc/collapse-1.c: Update for new C error behavior. - * c-c++-common/goacc/tile-2.c: Likewise. - * gcc.dg/gomp/collapse-1.c: Likewise. - -2023-08-25 Vineet Gupta - - * gcc.target/riscv/gcse-const.c: New Test - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: Remove test - for Jump. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c: Ditto. - -2023-08-25 Andrew Pinski - - * gcc.dg/tree-ssa/phi-opt-34.c: New test. - -2023-08-25 Harald Anlauf - - PR fortran/35095 - * gfortran.dg/data_bounds_1.f90: Adjust options to disable warnings. - * gfortran.dg/data_bounds_2.f90: New test. - -2023-08-25 David Malcolm - - * gcc.dg/analyzer/out-of-bounds-diagram-17.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-18.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-19.c: New test. - -2023-08-25 Richard Biener - - PR tree-optimization/111137 - * gcc.dg/torture/pr111137.c: New testcase. - -2023-08-25 Aldy Hernandez - - * gcc.dg/tree-ssa/vrp-float-12.c: New test. - -2023-08-25 Patrick O'Neill - - * gcc.target/riscv/vector-abi-1.c: Moved to... - * gcc.target/riscv/rvv/base/vector-abi-1.c: ...here. - * gcc.target/riscv/vector-abi-2.c: Moved to... - * gcc.target/riscv/rvv/base/vector-abi-2.c: ...here. - * gcc.target/riscv/vector-abi-3.c: Moved to... - * gcc.target/riscv/rvv/base/vector-abi-3.c: ...here. - * gcc.target/riscv/vector-abi-4.c: Moved to... - * gcc.target/riscv/rvv/base/vector-abi-4.c: ...here. - * gcc.target/riscv/vector-abi-5.c: Moved to... - * gcc.target/riscv/rvv/base/vector-abi-5.c: ...here. - * gcc.target/riscv/vector-abi-6.c: Moved to... - * gcc.target/riscv/rvv/base/vector-abi-6.c: ...here. - * gcc.target/riscv/vector-abi-7.c: Moved to... - * gcc.target/riscv/rvv/base/vector-abi-7.c: ...here. - * gcc.target/riscv/vector-abi-8.c: Moved to... - * gcc.target/riscv/rvv/base/vector-abi-8.c: ...here. - * gcc.target/riscv/vector-abi-9.c: Moved to... - * gcc.target/riscv/rvv/base/vector-abi-9.c: ...here. - -2023-08-25 Hongyu Wang - - PR target/111127 - * gcc.target/i386/pr111127.c: New test. - -2023-08-24 Uros Bizjak - - PR target/94866 - * g++.target/i386/pr94866.C: New test. - -2023-08-24 Jose E. Marchesi - - PR c/106537 - * gcc.c-torture/compile/pr106537-1.c: Comparing void pointers to - non-function pointers is legit. - * gcc.c-torture/compile/pr106537-2.c: Likewise. - -2023-08-24 David Malcolm - - PR analyzer/105899 - * gcc.dg/analyzer/strcat-1.c: New test. - -2023-08-24 David Malcolm - - PR analyzer/105899 - * gcc.dg/analyzer/strcpy-3.c (test_2): New. - -2023-08-24 David Malcolm - - PR analyzer/105899 - * gcc.dg/analyzer/out-of-bounds-diagram-16.c: New test. - * gcc.dg/analyzer/strcpy-1.c: Add test coverage. - * gcc.dg/analyzer/strcpy-3.c: Likewise. - * gcc.dg/analyzer/strcpy-4.c: New test. - -2023-08-24 David Malcolm - - PR analyzer/105899 - * gcc.dg/analyzer/sprintf-1.c: Include "analyzer-decls.h". - (test_strlen_1): New. - -2023-08-24 Richard Biener - - PR tree-optimization/111123 - * g++.dg/warn/Wuninitialized-pr111123-1.C: New testcase. - -2023-08-24 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv-nofm.c: Adapt test. - * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-10.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-11.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-12.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-4.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-5.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-6.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-7.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-8.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-9.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-10.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-11.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-12.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-6.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-7.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-8.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-9.c: New test. - -2023-08-24 Robin Dapp - - * gcc.target/riscv/rvv/base/narrow_constraint-1.c: Add - -fno-sched-pressure. - * gcc.target/riscv/rvv/base/narrow_constraint-17.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-18.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-19.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-20.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-21.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-22.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-23.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-24.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-25.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-26.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-27.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-28.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-29.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-30.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-31.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-4.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-5.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-8.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: Ditto. - -2023-08-24 Robin Dapp - - * gcc.target/riscv/rvv/autovec/binop/shift-immediate.c: New test. - -2023-08-24 Robin Dapp - - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-run.c: - Add tests. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-rv32gcv.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-rv64gcv.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-template.h: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-rv32gcv.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-rv64gcv.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-template.h: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-zvfh-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-rv32gcv.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-rv64gcv.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-template.h: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-zvfh-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-rv32gcv.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-rv64gcv.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-template.h: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-zvfh-run.c: - Ditto. - -2023-08-24 Robin Dapp - - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-1.c: - Add variable to hold reference result. - -2023-08-24 Richard Sandiford - - * gcc.dg/c2x-attr-syntax-6.c: New test. - * gcc.dg/c2x-attr-syntax-7.c: Likewise. - -2023-08-24 Richard Biener - - PR tree-optimization/111115 - * lib/target-supports.exp (check_effective_target_vect_masked_store): - Supported with check_avx_available. - * gcc.dg/vect/slp-mask-store-1.c: New testcase. - -2023-08-24 Richard Sandiford - - * gcc.target/aarch64/neoverse_v1_2.c: New test. - * gcc.target/aarch64/neoverse_v1_3.c: Likewise. - -2023-08-24 Richard Biener - - PR tree-optimization/111128 - * gcc.dg/torture/pr111128.c: New testcase. - -2023-08-24 Richard Biener - - PR testsuite/111125 - * gcc.dg/vect/pr53773.c: Disable BB vectorization. - -2023-08-24 Andrew Pinski - - PR tree-optimization/111109 - * gcc.c-torture/execute/ieee/fp-cmp-cond-1.c: New test. - -2023-08-24 Andrew Pinski - - PR tree-optimization/95929 - * gcc.dg/tree-ssa/bit1neg-1.c: New test. - * gcc.dg/tree-ssa/cond-bool-1.c: New test. - * gcc.dg/tree-ssa/cond-bool-2.c: New test. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-24 Haochen Jiang - - * g++.target/i386/mv33.C: New test. - * gcc.target/i386/avx10_1-1.c: Ditto. - * gcc.target/i386/avx10_1-2.c: Ditto. - * gcc.target/i386/avx10_1-3.c: Ditto. - * gcc.target/i386/avx10_1-4.c: Ditto. - * gcc.target/i386/avx10_1-5.c: Ditto. - * gcc.target/i386/avx10_1-6.c: Ditto. - * gcc.target/i386/avx10_1-7.c: Ditto. - * gcc.target/i386/avx10_1-8.c: Ditto. - * gcc.target/i386/avx10_1-9.c: Ditto. - * gcc.target/i386/avx10_1-10.c: Ditto. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-24 Haochen Jiang - - * gcc.target/i386/avx10_1-11.c: New test. - * gcc.target/i386/avx10_1-12.c: Ditto. - * gcc.target/i386/avx10_1-13.c: Ditto. - * gcc.target/i386/avx10_1-14.c: Ditto. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-24 Haochen Jiang - - * gcc.target/i386/avx10_1-15.c: New test. - * gcc.target/i386/avx10_1-16.c: Ditto. - * gcc.target/i386/avx10_1-17.c: Ditto. - * gcc.target/i386/avx10_1-18.c: Ditto. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-24 Haochen Jiang - - * gcc.target/i386/avx-1.c: Add -mavx10.1. - * gcc.target/i386/avx-2.c: Ditto. - * gcc.target/i386/sse-26.c: Skip AVX512VLDQ intrin file. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-17 Haochen Jiang - - * gcc.target/i386/avx10_1-vandnpd-1.c: New test. - * gcc.target/i386/avx10_1-vandnps-1.c: Ditto. - * gcc.target/i386/avx10_1-vbroadcastf32x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vbroadcastf64x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vbroadcasti32x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vbroadcasti64x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtpd2qq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtpd2uqq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvttpd2qq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvttpd2uqq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvttps2qq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvttps2uqq-1.c: Ditto. - * gcc.target/i386/avx10_1-vpmullq-1.c: Ditto. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-17 Haochen Jiang - - * gcc.target/i386/avx10_1-abs-copysign-1.c: New test. - * gcc.target/i386/avx10_1-vandpd-1.c: Ditto. - * gcc.target/i386/avx10_1-vandps-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtps2qq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtps2uqq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtqq2pd-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtqq2ps-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtuqq2pd-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtuqq2ps-1.c: Ditto. - * gcc.target/i386/avx10_1-vorpd-1.c: Ditto. - * gcc.target/i386/avx10_1-vorps-1.c: Ditto. - * gcc.target/i386/avx10_1-vpmovd2m-1.c: Ditto. - * gcc.target/i386/avx10_1-vpmovm2d-1.c: Ditto. - * gcc.target/i386/avx10_1-vpmovm2q-1.c: Ditto. - * gcc.target/i386/avx10_1-vpmovq2m-1.c: Ditto. - * gcc.target/i386/avx10_1-vxorpd-1.c: Ditto. - * gcc.target/i386/avx10_1-vxorps-1.c: Ditto. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-17 Haochen Jiang - - * gcc.target/i386/avx10_1-vextractf64x2-1.c: New test. - * gcc.target/i386/avx10_1-vextracti64x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vfpclasspd-1.c: Ditto. - * gcc.target/i386/avx10_1-vfpclassps-1.c: Ditto. - * gcc.target/i386/avx10_1-vinsertf64x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vinserti64x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vrangepd-1.c: Ditto. - * gcc.target/i386/avx10_1-vrangeps-1.c: Ditto. - * gcc.target/i386/avx10_1-vreducepd-1.c: Ditto. - * gcc.target/i386/avx10_1-vreduceps-1.c: Ditto. - -2023-08-24 Haochen Jiang - - Revert: - 2023-08-24 Haochen Jiang - - PR target/111051 - PR target/111051 - * gcc.target/i386/pr111051-1.c: New test. - -2023-08-24 Richard Biener - - PR debug/111080 - * gcc.dg/debug/dwarf2/pr111080.c: New testcase. - -2023-08-24 Hans-Peter Nilsson - - * gcc.dg/tree-ssa/update-threading.c: Xfail for cris-*-*. - -2023-08-23 Harald Anlauf - - PR fortran/32986 - * gfortran.dg/common_28.f90: New test. - -2023-08-23 Andrew MacLeod - - * gcc.dg/pr102983.c: Adjust output expectations. - * gcc.dg/pr110918.c: New. - -2023-08-23 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_unary-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-6.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-7.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-8.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-6.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-7.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-8.c: New test. - -2023-08-23 Jan Hubicka - - * gcc.dg/tree-ssa/copy-headers-9.c: Update template. - -2023-08-23 Jan Hubicka - - PR middle-end/110940 - * gcc.c-torture/compile/pr110940.c: New test. - -2023-08-23 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c: - Add vsetvli asm. - -2023-08-23 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/partial/live-1.c: Adapt test. - -2023-08-22 David Malcolm - - PR analyzer/105899 - * gcc.dg/analyzer/null-terminated-strings-1.c: Update expected - results on symbolic values. - * gcc.dg/analyzer/strlen-1.c: New test. - -2023-08-22 Jason Merrill - - PR c++/109751 - * g++.dg/cpp2a/concepts-friend11.C: Now works. Add template. - * g++.dg/cpp2a/concepts-friend15.C: New test. - * g++.dg/cpp2a/concepts-friend11a.C: New file. - -2023-08-22 Tobias Burnus - - * gfortran.dg/gomp/defaultmap-1.f90: Update dg-error. - * c-c++-common/gomp/defaultmap-5.c: New test. - * c-c++-common/gomp/defaultmap-6.c: New test. - * gfortran.dg/gomp/defaultmap-10.f90: New test. - * gfortran.dg/gomp/defaultmap-9.f90: New test. - -2023-08-22 Richard Biener - - PR tree-optimization/94864 - PR tree-optimization/94865 - PR tree-optimization/93080 - * gcc.target/i386/pr94864.c: New testcase. - * gcc.target/i386/pr94865.c: Likewise. - * gcc.target/i386/avx512fp16-vmovsh-1a.c: XFAIL. - * gcc.dg/tree-ssa/forwprop-40.c: Likewise. - * gcc.dg/tree-ssa/forwprop-41.c: Likewise. - -2023-08-22 Harald Anlauf - - PR fortran/49588 - * gfortran.dg/data_vector_section.f90: New test. - -2023-08-22 Juzhe-Zhong - Kewen.Lin - - * gcc.target/riscv/rvv/autovec/partial/live-1.c: New test. - * gcc.target/riscv/rvv/autovec/partial/live_run-1.c: New test. - -2023-08-22 liuhongt - - * gcc.target/i386/invariant-ternlog-1.c: Only scan %rdx under - TARGET_64BIT. - -2023-08-22 Lehua Ding - - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-1.c: Adjust. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-6.c: Ditto. - -2023-08-22 David Malcolm - - PR analyzer/105899 - * gcc.dg/analyzer/attr-format-1.c: New test. - * gcc.dg/analyzer/sprintf-1.c: Update expected results for - now-passing tests. - -2023-08-22 David Malcolm - - * gcc.dg/analyzer/fopen-1.c: New test. - -2023-08-22 David Malcolm - - PR analyzer/105899 - * gcc.dg/analyzer/error-1.c: Update expected results to reflect - reimplementation of unterminated string detection. Add test - coverage for uninitialized buffers. - * gcc.dg/analyzer/null-terminated-strings-1.c: Likewise. - * gcc.dg/analyzer/putenv-1.c: Likewise. - * gcc.dg/analyzer/strchr-1.c: Likewise. - * gcc.dg/analyzer/strcpy-1.c: Likewise. - * gcc.dg/analyzer/strdup-1.c: Likewise. - -2023-08-22 Pan Li - - * gcc.target/riscv/rvv/base/float-point-wredusum.c: New test. - -2023-08-21 Thiago Jung Bauermann - - * gcc.dg/unroll-7.c: Remove xfail. - -2023-08-21 Tsukasa OI - - * gcc.target/riscv/xtheadba.c: Quote unquoted #error message. - * gcc.target/riscv/xtheadbb.c: Ditto. - * gcc.target/riscv/xtheadbs.c: Ditto. - * gcc.target/riscv/xtheadcmo.c: Ditto. - * gcc.target/riscv/xtheadcondmov.c: Ditto. - * gcc.target/riscv/xtheadfmemidx.c: Ditto. - * gcc.target/riscv/xtheadfmv.c: Ditto. - * gcc.target/riscv/xtheadint.c: Ditto. - * gcc.target/riscv/xtheadmac.c: Ditto. - * gcc.target/riscv/xtheadmemidx.c: Ditto. - * gcc.target/riscv/xtheadmempair.c: Ditto. - * gcc.target/riscv/xtheadsync.c: Ditto. - * gcc.target/riscv/zawrs.c: Ditto. - * gcc.target/riscv/zvbb.c: Ditto. - * gcc.target/riscv/zvbc.c: Ditto. - * gcc.target/riscv/zvkg.c: Ditto. - * gcc.target/riscv/zvkned.c: Ditto. - * gcc.target/riscv/zvknha.c: Ditto. - * gcc.target/riscv/zvknhb.c: Ditto. - * gcc.target/riscv/zvksed.c: Ditto. - * gcc.target/riscv/zvksh.c: Ditto. - * gcc.target/riscv/zvkt.c: Ditto. - -2023-08-21 Tsukasa OI - - * gcc.target/riscv/zvkn.c: Quote #error messages. - * gcc.target/riscv/zvkn-1.c: Ditto. - * gcc.target/riscv/zvknc.c: Ditto. - * gcc.target/riscv/zvknc-1.c: Ditto. - * gcc.target/riscv/zvknc-2.c: Ditto. - * gcc.target/riscv/zvkng.c: Ditto. - * gcc.target/riscv/zvkng-1.c: Ditto. - * gcc.target/riscv/zvkng-2.c: Ditto. - * gcc.target/riscv/zvks.c: Ditto. - * gcc.target/riscv/zvks-1.c: Ditto. - * gcc.target/riscv/zvksc.c: Ditto. - * gcc.target/riscv/zvksc-1.c: Ditto. - * gcc.target/riscv/zvksc-2.c: Ditto. - * gcc.target/riscv/zvksg.c: Ditto. - * gcc.target/riscv/zvksg-1.c: Ditto. - * gcc.target/riscv/zvksg-2.c: Ditto. - -2023-08-21 Richard Biener - - * gcc.target/i386/pr87007-5.c: Update comment, adjust subtest. - -2023-08-21 Richard Biener - - * lib/target-supports.exp: Add vect128, vect256 and vect512 - effective targets. - * gcc.dg/vect/bb-slp-subgroups-2.c: Properly handle the - vect256 case. - -2023-08-21 Prathamesh Kulkarni - - * gcc.dg/vect/pr65947-7.c: Add target check aarch64*-*-* and scan vect - dump for pattern "optimizing condition reduction with FOLD_EXTRACT_LAST" - for targets that support vect_fold_extract_last. - -2023-08-21 Richard Biener - - * gcc.dg/vect/bb-slp-46.c: Use division instead of addition - to avoid reduction vectorization. - -2023-08-21 liuhongt - - * gcc.target/i386/avx512f-pr88464-2.c: Add -mgather to - options. - * gcc.target/i386/avx512f-pr88464-3.c: Ditto. - * gcc.target/i386/avx512f-pr88464-4.c: Ditto. - * gcc.target/i386/avx512f-pr88464-6.c: Ditto. - * gcc.target/i386/avx512f-pr88464-7.c: Ditto. - * gcc.target/i386/avx512f-pr88464-8.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-10.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-12.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-13.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-14.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-15.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-16.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-2.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-4.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-5.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-6.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-7.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-8.c: Ditto. - -2023-08-21 Richard Biener - - PR tree-optimization/111082 - * gcc.dg/pr111082.c: New testcase. - -2023-08-21 Richard Biener - - PR tree-optimization/111070 - * gcc.dg/pr111070.c: New testcase. - -2023-08-21 Andrew Pinski - - PR tree-optimization/111002 - * gcc.target/aarch64/sve/cond_convert_8.c: New test. - -2023-08-21 Francois-Xavier Coudert - - * gcc.dg/lto/20091013-1_2.c: Add -Wno-stringop-overread. - -2023-08-20 Francois-Xavier Coudert - - * gcc.dg/darwin-minversion-link.c: Account for macOS 13 and 14. - -2023-08-20 Thiago Jung Bauermann - - PR testsuite/110756 - * g++.dg/gomp/pr58567.C: Adjust to new compiler error message. - -2023-08-20 Francois-Xavier Coudert - - * gcc.dg/plugin/taint-CVE-2011-0521-5-fixed.c: Use - _FORTIFY_SOURCE=0 on darwin. - * gcc.dg/plugin/taint-CVE-2011-0521-5.c: Likewise. - * gcc.dg/plugin/taint-CVE-2011-0521-6.c: Likewise. - -2023-08-20 Francois-Xavier Coudert - - * gcc.dg/ipa/ipa-icf-38.c: Require alias support. - -2023-08-20 Francois-Xavier Coudert - - * gcc.dg/plugin/crash-test-write-though-null-sarif.c: Update - expected pattern. - -2023-08-20 Francois-Xavier Coudert - - PR analyzer/104042 - * gcc.dg/analyzer/analyzer.exp: Pass -D_FORTIFY_SOURCE=0 on Darwin. - * gcc.dg/analyzer/fd-bind.c: Add missing header. - * gcc.dg/analyzer/fd-datagram-socket.c: Likewise. - * gcc.dg/analyzer/fd-listen.c: Likewise. - * gcc.dg/analyzer/fd-socket-misuse.c: Likewise. - * gcc.dg/analyzer/fd-stream-socket-active-open.c: Likewise. - * gcc.dg/analyzer/fd-stream-socket-passive-open.c: Likewise. - * gcc.dg/analyzer/fd-stream-socket.c: Likewise. - * gcc.dg/analyzer/fd-symbolic-socket.c: Likewise. - -2023-08-20 Andrew Pinski - - PR tree-optimization/111006 - * gcc.target/aarch64/sve/cond_convert_7.c: New test. - -2023-08-18 Thiago Jung Bauermann - - * lib/target-supports.exp (dg-require-python-h): Test - whether Python.h can really be used. - -2023-08-18 Uros Bizjak - - PR target/111023 - * gcc.target/i386/pr111023-2.c: New test. - * gcc.target/i386/pr111023-4b.c: New test. - * gcc.target/i386/pr111023-8b.c: New test. - * gcc.target/i386/pr111023.c: New test. - -2023-08-18 Aldy Hernandez - - PR ipa/110753 - * gcc.dg/tree-ssa/pr110753.c: New test. - -2023-08-18 Richard Biener - - PR tree-optimization/111019 - * g++.dg/torture/pr111019.C: New testcase. - -2023-08-18 Jose E. Marchesi - - * gcc.target/bpf/frame-limit-1.c: New test. - * gcc.target/bpf/frame-limit-2.c: Likewise. - -2023-08-18 Richard Biener - - PR tree-optimization/111048 - * gcc.dg/torture/pr111048.c: New testcase. - -2023-08-18 Haochen Jiang - - PR target/111051 - PR target/111051 - * gcc.target/i386/pr111051-1.c: New test. - -2023-08-18 Lehua Ding - - * gcc.target/riscv/_Float16-zhinxmin-3.c: Adjust. - * gcc.target/riscv/_Float16-zhinxmin-4.c: Ditto. - -2023-08-18 Lehua Ding - - * gcc.target/riscv/_Float16-zfhmin-4.c: New test. - * gcc.target/riscv/_Float16-zhinxmin-4.c: New test. - -2023-08-18 Lehua Ding - Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/scalar_move-5.c: Update. - * gcc.target/riscv/rvv/base/scalar_move-6.c: Ditto. - -2023-08-18 Lehua Ding - - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-1.c: - Address failure due to uninitialized vtype register. - -2023-08-17 Andrew MacLeod - - PR tree-optimization/111009 - * gcc.dg/pr111009.c: New. - -2023-08-17 Patrick O'Neill - Charlie Jenkins - - * gcc.target/riscv/zbb-rol-ror-08.c: New test. - * gcc.target/riscv/zbb-rol-ror-09.c: New test. - -2023-08-17 Jose E. Marchesi - - PR c/106537 - * gcc.c-torture/compile/pr106537-1.c: New test. - * gcc.c-torture/compile/pr106537-2.c: Likewise. - * gcc.c-torture/compile/pr106537-3.c: Likewise. - -2023-08-17 Tsukasa OI - - * gcc.target/riscv/zvkn.c: Deduplicate #error messages. - * gcc.target/riscv/zvkn-1.c: Ditto. - * gcc.target/riscv/zvknc.c: Ditto. - * gcc.target/riscv/zvknc-1.c: Ditto. - * gcc.target/riscv/zvknc-2.c: Ditto. - * gcc.target/riscv/zvkng.c: Ditto. - * gcc.target/riscv/zvkng-1.c: Ditto. - * gcc.target/riscv/zvkng-2.c: Ditto. - * gcc.target/riscv/zvks.c: Ditto. - * gcc.target/riscv/zvks-1.c: Ditto. - * gcc.target/riscv/zvksc.c: Ditto. - * gcc.target/riscv/zvksc-1.c: Ditto. - * gcc.target/riscv/zvksc-2.c: Ditto. - * gcc.target/riscv/zvksg.c: Ditto. - * gcc.target/riscv/zvksg-1.c: Ditto. - * gcc.target/riscv/zvksg-2.c: Ditto. - -2023-08-17 Richard Biener - - PR tree-optimization/111039 - * gcc.dg/pr111039.c: New testcase. - -2023-08-17 Lehua Ding - - * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Fix. - * gcc.target/riscv/rvv/autovec/partial/slp-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-6.c: Ditto. - -2023-08-17 Jose E. Marchesi - - * gcc.target/bpf/naked-1.c: New test. - -2023-08-17 Richard Biener - - * gcc.target/i386/vect-reduc-2.c: New testcase. - -2023-08-17 benjamin priour - - * g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C: - Remove dg-line var declare_a. - -2023-08-17 Pan Li - - * gcc.target/riscv/rvv/base/float-point-wredosum.c: New test. - -2023-08-17 Pan Li - - * gcc.target/riscv/rvv/base/float-point-redosum.c: New test. - -2023-08-17 Pan Li - - * gcc.target/riscv/rvv/base/float-point-redusum.c: New test. - -2023-08-17 Pan Li - - * gcc.target/riscv/rvv/base/float-point-ncvt-f.c: New test. - -2023-08-17 Pan Li - - * gcc.target/riscv/rvv/base/float-point-ncvt-xu.c: New test. - -2023-08-17 Pan Li - - * gcc.target/riscv/rvv/base/float-point-ncvt-x.c: New test. - -2023-08-17 Haochen Jiang - - * gcc.target/i386/avx10_1-vextractf64x2-1.c: New test. - * gcc.target/i386/avx10_1-vextracti64x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vfpclasspd-1.c: Ditto. - * gcc.target/i386/avx10_1-vfpclassps-1.c: Ditto. - * gcc.target/i386/avx10_1-vinsertf64x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vinserti64x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vrangepd-1.c: Ditto. - * gcc.target/i386/avx10_1-vrangeps-1.c: Ditto. - * gcc.target/i386/avx10_1-vreducepd-1.c: Ditto. - * gcc.target/i386/avx10_1-vreduceps-1.c: Ditto. - -2023-08-17 Haochen Jiang - - * gcc.target/i386/avx10_1-abs-copysign-1.c: New test. - * gcc.target/i386/avx10_1-vandpd-1.c: Ditto. - * gcc.target/i386/avx10_1-vandps-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtps2qq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtps2uqq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtqq2pd-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtqq2ps-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtuqq2pd-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtuqq2ps-1.c: Ditto. - * gcc.target/i386/avx10_1-vorpd-1.c: Ditto. - * gcc.target/i386/avx10_1-vorps-1.c: Ditto. - * gcc.target/i386/avx10_1-vpmovd2m-1.c: Ditto. - * gcc.target/i386/avx10_1-vpmovm2d-1.c: Ditto. - * gcc.target/i386/avx10_1-vpmovm2q-1.c: Ditto. - * gcc.target/i386/avx10_1-vpmovq2m-1.c: Ditto. - * gcc.target/i386/avx10_1-vxorpd-1.c: Ditto. - * gcc.target/i386/avx10_1-vxorps-1.c: Ditto. - -2023-08-17 Juzhe-Zhong - - PR target/111037 - * gcc.target/riscv/rvv/base/pr111037-1.c: New test. - * gcc.target/riscv/rvv/base/pr111037-2.c: New test. - -2023-08-17 Haochen Jiang - - * gcc.target/i386/avx10_1-vandnpd-1.c: New test. - * gcc.target/i386/avx10_1-vandnps-1.c: Ditto. - * gcc.target/i386/avx10_1-vbroadcastf32x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vbroadcastf64x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vbroadcasti32x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vbroadcasti64x2-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtpd2qq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvtpd2uqq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvttpd2qq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvttpd2uqq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvttps2qq-1.c: Ditto. - * gcc.target/i386/avx10_1-vcvttps2uqq-1.c: Ditto. - * gcc.target/i386/avx10_1-vpmullq-1.c: Ditto. - -2023-08-17 Haochen Jiang - - * gcc.target/i386/avx-1.c: Add -mavx10.1. - * gcc.target/i386/avx-2.c: Ditto. - * gcc.target/i386/sse-26.c: Skip AVX512VLDQ intrin file. - -2023-08-17 Haochen Jiang - - * gcc.target/i386/avx10_1-15.c: New test. - * gcc.target/i386/avx10_1-16.c: Ditto. - * gcc.target/i386/avx10_1-17.c: Ditto. - * gcc.target/i386/avx10_1-18.c: Ditto. - -2023-08-17 Haochen Jiang - - * gcc.target/i386/avx10_1-11.c: New test. - * gcc.target/i386/avx10_1-12.c: Ditto. - * gcc.target/i386/avx10_1-13.c: Ditto. - * gcc.target/i386/avx10_1-14.c: Ditto. - -2023-08-17 Haochen Jiang - - * g++.target/i386/mv33.C: New test. - * gcc.target/i386/avx10_1-1.c: Ditto. - * gcc.target/i386/avx10_1-2.c: Ditto. - * gcc.target/i386/avx10_1-3.c: Ditto. - * gcc.target/i386/avx10_1-4.c: Ditto. - * gcc.target/i386/avx10_1-5.c: Ditto. - * gcc.target/i386/avx10_1-6.c: Ditto. - * gcc.target/i386/avx10_1-7.c: Ditto. - * gcc.target/i386/avx10_1-8.c: Ditto. - * gcc.target/i386/avx10_1-9.c: Ditto. - * gcc.target/i386/avx10_1-10.c: Ditto. - -2023-08-17 Yanzhang Wang - - * gcc.target/riscv/rvv/base/simplify-vrsub.c: New test. - -2023-08-17 Andrew Pinski - - PR target/110986 - * gcc.target/aarch64/sve/cond_unary_9.c: New test. - -2023-08-16 Robin Dapp - - * gcc.target/riscv/rvv/autovec/widen/vec-avg-run.c: New test. - * gcc.target/riscv/rvv/autovec/widen/vec-avg-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/widen/vec-avg-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/widen/vec-avg-template.h: New test. - -2023-08-16 Robin Dapp - - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1u.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2u.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3u.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4u.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-runu.c: New test. - -2023-08-16 Pan Li - - * gcc.target/riscv/rvv/base/float-point-wcvt-xu.c: New test. - -2023-08-16 Pan Li - - * gcc.target/riscv/rvv/base/float-point-wcvt-x.c: New test. - -2023-08-16 Pan Li - - * gcc.target/riscv/rvv/base/float-point-cvt-f.c: New test. - -2023-08-16 Pan Li - - * gcc.target/riscv/rvv/base/float-point-cvt-xu.c: New test. - -2023-08-16 Haochen Gui - - PR target/110429 - * gcc.target/powerpc/pr110429.c: New. - -2023-08-16 Haochen Gui - - PR target/106769 - * gcc.target/powerpc/pr106769.h: New. - * gcc.target/powerpc/pr106769-p8.c: New. - * gcc.target/powerpc/pr106769-p9.c: New. - -2023-08-16 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-2.c: - Adapt test. - * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-6.c: Ditto. - * gcc.target/riscv/rvv/rvv.exp: Add lanes tests. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-1.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-2.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-3.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-4.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-5.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-6.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-7.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-1.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-2.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-3.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-4.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-5.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-6.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-7.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-1.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-2.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-3.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-4.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-5.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-6.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-7.c: New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-1.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-2.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-3.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-4.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-5.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-6.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-7.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-1.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-10.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-11.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-12.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-13.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-14.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-15.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-16.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-17.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-18.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-2.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-3.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-4.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-5.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-6.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-7.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-8.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-9.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-10.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-11.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-12.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-13.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-14.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-15.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-16.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-17.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-18.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-6.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-7.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-8.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-9.c: New test. - -2023-08-16 Pan Li - - * gcc.target/riscv/rvv/base/float-point-cvt-x.c: New test. - -2023-08-16 liuhongt - - * gcc.target/i386/avx2-gather-2.c: Adjust options to keep - gather vectorization. - * gcc.target/i386/avx2-gather-6.c: Ditto. - * gcc.target/i386/avx512f-pr88464-1.c: Ditto. - * gcc.target/i386/avx512f-pr88464-5.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-1.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-11.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-3.c: Ditto. - * gcc.target/i386/avx512vl-pr88464-9.c: Ditto. - * gcc.target/i386/pr88531-1b.c: Ditto. - * gcc.target/i386/pr88531-1c.c: Ditto. - -2023-08-16 liuhongt - - * gcc.target/i386/pr89229-4a.c: Adjust testcase. - -2023-08-15 David Faust - - PR target/111029 - * gcc.target/bpf/smov-2.c: New test. - * gcc.target/bpf/smov-pseudoc-2.c: New test. - -2023-08-15 Martin Jambor - - PR ipa/68930 - PR ipa/92497 - * gcc.dg/ipa/pr92497-1.c: New test. - * gcc.dg/ipa/pr92497-2.c: Likewise. - -2023-08-15 Iain Buclaw - - PR d/110959 - * gdc.dg/pr110959.d: New test. - -2023-08-15 Chung-Lin Tang - Thomas Schwinge - - * c-c++-common/goacc/default-3.c: Adjust testcase. - * c-c++-common/goacc/default-4.c: Adjust testcase. - * c-c++-common/goacc/default-5.c: Adjust testcase. - * gfortran.dg/goacc/default-3.f95: Adjust testcase. - * gfortran.dg/goacc/default-4.f: Adjust testcase. - * gfortran.dg/goacc/default-5.f: Adjust testcase. - -2023-08-15 Juzhe-Zhong - - PR target/110989 - * gcc.target/riscv/rvv/autovec/pr110989.c: Add vsetvli assembly check. - -2023-08-15 Richard Biener - - * gcc.dg/vect/bb-slp-75.c: New testcase. - -2023-08-15 Richard Biener - - PR tree-optimization/110963 - * gcc.dg/tree-ssa/ssa-pre-34.c: New testcase. - -2023-08-15 Richard Biener - - PR tree-optimization/110991 - * gcc.dg/tree-ssa/cunroll-16.c: New testcase. - -2023-08-15 Pan Li - - * gcc.target/riscv/mode-switch-ice-1.c: New test. - -2023-08-15 Pan Li - - * gcc.target/riscv/rvv/base/float-point-rec7.c: New test. - -2023-08-14 Mikael Morin - - * gfortran.dg/value_9.f90 (val, val4, sub, sub4): Take the error - codes from the arguments. - (p): Update calls: pass explicit distinct error codes. - -2023-08-14 Mikael Morin - - PR fortran/110360 - PR fortran/110419 - * gfortran.dg/bind_c_usage_13.f03: Update tree dump patterns. - -2023-08-14 benjamin priour - - PR analyzer/110543 - * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C: - New test. - * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C: - New test. - * g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C: - New test. - -2023-08-14 gnaggnoyil - - DR 2386 - PR c++/110216 - * g++.dg/cpp1z/decomp10.C: Update expected error for DR 2386. - * g++.dg/cpp1z/pr110216.C: New test. - -2023-08-14 Jiawei - - * gcc.target/riscv/arch-24.c: New test. - * gcc.target/riscv/arch-25.c: New test. - -2023-08-14 Pan Li - - * gcc.target/riscv/rvv/base/float-point-sqrt.c: New test. - -2023-08-14 Pan Li - - * gcc.target/riscv/rvv/base/float-point-wnmsac.c: New test. - -2023-08-14 Pan Li - - * gcc.target/riscv/rvv/base/float-point-wmsac.c: New test. - -2023-08-14 Pan Li - - * gcc.target/riscv/rvv/base/float-point-wnmacc.c: New test. - -2023-08-14 Pan Li - - * gcc.target/riscv/rvv/base/float-point-fwmacc.c: New test. - -2023-08-14 Pan Li - - * gcc.target/riscv/rvv/base/float-point-nmsub.c: New test. - -2023-08-12 Gaius Mulley - - PR modula2/108119 - * gm2/iso/check/fail/iso-check-fail.exp (gm2_init_iso): Add -fm2-plugin. - * gm2/switches/auto-init/fail/switches-auto-init-fail.exp - (gm2_init_iso): Add -fm2-plugin. - * gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp - (gm2_init_pim2): Add -fm2-plugin. - * gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp - (gm2_init_iso): Add -fm2-plugin. - * gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp - (gm2_init_pim2): Add -fm2-plugin. - -2023-08-12 Jakub Jelinek - - * gcc.dg/stdckdint-1.c: New test. - * gcc.dg/stdckdint-2.c: New test. - -2023-08-12 Juzhe-Zhong - - PR target/110994 - * gcc.target/riscv/rvv/autovec/vls/pr110994.c: New test. - -2023-08-12 Patrick Palka - Jason Merrill - - PR c++/106604 - * g++.dg/cpp1z/class-deduction74.C: Expect "defined" instead - of "declared" in the repeated deduction guide diagnostics. - * g++.dg/cpp1z/class-deduction116.C: New test. - -2023-08-12 Juzhe-Zhong - - PR target/110985 - * gcc.target/riscv/rvv/autovec/vls-vlmax/pr110985.c: New test. - -2023-08-12 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS CONST_VECTOR tests. - * gcc.target/riscv/rvv/autovec/vls/const-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/const-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/const-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/const-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/const-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/series-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/series-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/series-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/series-4.c: New test. - -2023-08-11 David Malcolm - - PR analyzer/105899 - * gcc.dg/analyzer/analyzer-decls.h (__analyzer_get_strlen): New. - * gcc.dg/analyzer/error-1.c (test_error_unterminated): New. - (test_error_at_line_unterminated): New. - * gcc.dg/analyzer/null-terminated-strings-1.c: New test. - * gcc.dg/analyzer/putenv-1.c (test_unterminated): New. - * gcc.dg/analyzer/strchr-1.c (test_unterminated): New. - * gcc.dg/analyzer/strcpy-1.c (test_unterminated): New. - * gcc.dg/analyzer/strdup-1.c (test_unterminated): New. - -2023-08-11 Juzhe-Zhong - - PR middle-end/110989 - * gcc.target/riscv/rvv/autovec/pr110989.c: New test. - -2023-08-11 Patrick O'Neill - - * gcc.target/riscv/amo-table-ztso-amo-add-1.c: Add -mabi=lp64d - to dg-options. - * gcc.target/riscv/amo-table-ztso-amo-add-2.c: Ditto. - * gcc.target/riscv/amo-table-ztso-amo-add-3.c: Ditto. - * gcc.target/riscv/amo-table-ztso-amo-add-4.c: Ditto. - * gcc.target/riscv/amo-table-ztso-amo-add-5.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-1.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-2.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-3.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-4.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-5.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-6.c: Ditto. - * gcc.target/riscv/amo-table-ztso-compare-exchange-7.c: Ditto. - * gcc.target/riscv/amo-table-ztso-fence-1.c: Ditto. - * gcc.target/riscv/amo-table-ztso-fence-2.c: Ditto. - * gcc.target/riscv/amo-table-ztso-fence-3.c: Ditto. - * gcc.target/riscv/amo-table-ztso-fence-4.c: Ditto. - * gcc.target/riscv/amo-table-ztso-fence-5.c: Ditto. - * gcc.target/riscv/amo-table-ztso-load-1.c: Ditto. - * gcc.target/riscv/amo-table-ztso-load-2.c: Ditto. - * gcc.target/riscv/amo-table-ztso-load-3.c: Ditto. - * gcc.target/riscv/amo-table-ztso-store-1.c: Ditto. - * gcc.target/riscv/amo-table-ztso-store-2.c: Ditto. - * gcc.target/riscv/amo-table-ztso-store-3.c: Ditto. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-1.c: Ditto. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-2.c: Ditto. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-3.c: Ditto. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-4.c: Ditto. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-5.c: Ditto. - -2023-08-11 Jose E. Marchesi - - * lib/target-supports.exp (check_effective_target_alloca): BPF - target does not support alloca. - * gcc.target/bpf/diag-alloca-1.c: New test. - * gcc.target/bpf/diag-alloca-2.c: Likewise. - * gcc.target/bpf/xbpf-callee-saved-regs-1.c: Remove test. - * gcc.target/bpf/xbpf-callee-saved-regs-2.c: Likewise. - * gcc.target/bpf/regs-availability-1.c: Likewise. - -2023-08-11 Jose E. Marchesi - - * gcc.target/bpf/diag-funargs-inline-1.c: New test. - * gcc.target/bpf/diag-funargs.c: Adapt test. - -2023-08-11 Eric Feng - - PR analyzer/107646 - * gcc.dg/plugin/analyzer_cpython_plugin.c: Analyzer support for - PyList_New, PyList_Append, PyLong_FromLong - * gcc.dg/plugin/plugin.exp: New test. - * lib/target-supports.exp: New procedure. - * gcc.dg/plugin/cpython-plugin-test-2.c: New test. - -2023-08-11 Patrick Palka - - PR c++/110927 - * g++.dg/cpp2a/concepts-requires35.C: New test. - -2023-08-11 Patrick Palka - - PR c++/71954 - * g++.dg/cpp1y/var-templ84.C: New test. - * g++.dg/cpp1y/var-templ84a.C: New test. - -2023-08-11 Richard Biener - - PR tree-optimization/110979 - * gcc.dg/torture/pr110979.c: New testcase. - -2023-08-11 Richard Biener - - * g++.dg/vect/slp-pr87105.cc: Adjust. - * gcc.dg/vect/bb-slp-17.c: Likewise. - * gcc.dg/vect/bb-slp-20.c: Likewise. - * gcc.dg/vect/bb-slp-21.c: Likewise. - * gcc.dg/vect/bb-slp-22.c: Likewise. - * gcc.dg/vect/bb-slp-subgroups-2.c: Likewise. - -2023-08-11 Pan Li - - * gcc.target/riscv/rvv/base/float-point-msub.c: New test. - -2023-08-11 Pan Li - - * gcc.target/riscv/rvv/base/float-point-nmadd.c: New test. - -2023-08-11 Drew Ross - Jakub Jelinek - - PR tree-optimization/109938 - * gcc.c-torture/execute/pr109938.c: New test. - * gcc.dg/tree-ssa/pr109938.c: New test. - -2023-08-11 Pan Li - - * gcc.target/riscv/rvv/base/float-point-madd.c: New test. - -2023-08-11 Pan Li - - * gcc.target/riscv/rvv/base/float-point-nmsac.c: New test. - -2023-08-11 Jakub Jelinek - - * gcc.dg/c11-typeof-2.c: New test. - * gcc.dg/c11-typeof-3.c: New test. - * gcc.dg/gnu11-typeof-3.c: New test. - * gcc.dg/gnu11-typeof-4.c: New test. - -2023-08-11 Andrew Pinski - - PR tree-optimization/110954 - * gcc.c-torture/execute/pr110954-1.c: New test. - -2023-08-11 Martin Uecker - - PR c/84510 - * gcc.dg/Wuseless-cast.c: New test. - -2023-08-11 Pan Li - - * gcc.target/riscv/rvv/base/float-point-msac.c: New test. - -2023-08-10 Jan Hubicka - - PR middle-end/110923 - * gcc.dg/tree-ssa/pr110923.c: New test. - -2023-08-10 Patrick O'Neill - - * gcc.target/riscv/amo-table-ztso-amo-add-1.c: New test. - * gcc.target/riscv/amo-table-ztso-amo-add-2.c: New test. - * gcc.target/riscv/amo-table-ztso-amo-add-3.c: New test. - * gcc.target/riscv/amo-table-ztso-amo-add-4.c: New test. - * gcc.target/riscv/amo-table-ztso-amo-add-5.c: New test. - * gcc.target/riscv/amo-table-ztso-compare-exchange-1.c: New test. - * gcc.target/riscv/amo-table-ztso-compare-exchange-2.c: New test. - * gcc.target/riscv/amo-table-ztso-compare-exchange-3.c: New test. - * gcc.target/riscv/amo-table-ztso-compare-exchange-4.c: New test. - * gcc.target/riscv/amo-table-ztso-compare-exchange-5.c: New test. - * gcc.target/riscv/amo-table-ztso-compare-exchange-6.c: New test. - * gcc.target/riscv/amo-table-ztso-compare-exchange-7.c: New test. - * gcc.target/riscv/amo-table-ztso-fence-1.c: New test. - * gcc.target/riscv/amo-table-ztso-fence-2.c: New test. - * gcc.target/riscv/amo-table-ztso-fence-3.c: New test. - * gcc.target/riscv/amo-table-ztso-fence-4.c: New test. - * gcc.target/riscv/amo-table-ztso-fence-5.c: New test. - * gcc.target/riscv/amo-table-ztso-load-1.c: New test. - * gcc.target/riscv/amo-table-ztso-load-2.c: New test. - * gcc.target/riscv/amo-table-ztso-load-3.c: New test. - * gcc.target/riscv/amo-table-ztso-store-1.c: New test. - * gcc.target/riscv/amo-table-ztso-store-2.c: New test. - * gcc.target/riscv/amo-table-ztso-store-3.c: New test. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-1.c: New test. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-2.c: New test. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-3.c: New test. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-4.c: New test. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-5.c: New test. - -2023-08-10 Jan Hubicka - - * gcc.dg/tree-ssa/phi_on_compare-1.c: Check profile consistency. - -2023-08-10 Pan Li - - * gcc.target/riscv/rvv/base/float-point-nmacc.c: New test. - -2023-08-10 Pan Li - - * gcc.target/riscv/rvv/base/float-point-macc.c: New test. - -2023-08-10 Juzhe-Zhong - - PR target/110964 - * gcc.target/riscv/rvv/autovec/pr110964.c: New test. - -2023-08-09 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-1.c: - Adapt test. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: Ditto. - -2023-08-09 David Malcolm - - * gcc.dg/analyzer/allocation-size-1.c: Update expected results - to reflect splitting of allocation size and assignment messages - from a single event into pairs of events - * gcc.dg/analyzer/allocation-size-2.c: Likewise. - * gcc.dg/analyzer/allocation-size-3.c: Likewise. - * gcc.dg/analyzer/allocation-size-4.c: Likewise. - * gcc.dg/analyzer/allocation-size-multiline-1.c: Likewise. - * gcc.dg/analyzer/allocation-size-multiline-2.c: Likewise. - * gcc.dg/analyzer/allocation-size-multiline-3.c: Likewise. - * gcc.dg/analyzer/memset-1.c (test_1): Verify that the return - value is the initial argument. - * gcc.dg/plugin/analyzer_kernel_plugin.c - (copy_across_boundary_fn::impl_call_pre): Ensure the LHS is set on - the "known zero size" case. - * gcc.dg/plugin/analyzer_known_fns_plugin.c - (known_function_attempt_to_copy::impl_call_pre): Likewise. - -2023-08-09 Andrew Pinski - - PR tree-optimization/110937 - PR tree-optimization/100798 - * gcc.dg/tree-ssa/bool-14.c: New test. - * gcc.dg/tree-ssa/bool-15.c: New test. - * gcc.dg/tree-ssa/phi-opt-33.c: New test. - * gcc.dg/tree-ssa/20030709-2.c: Update testcase - so `a ? -1 : 0` is not used to hit the match - pattern. - -2023-08-09 Carl Love - - * gcc.target/powerpc/vec-cmpne-runnable.c: New execution test. - * gcc.target/powerpc/vec-cmpne.c (define_test_functions, - execute_test_functions): Move to vec-cmpne.h. Add - scan-assembler-times for vcmpequb, vcmpequh, vcmpequw. - * gcc.target/powerpc/vec-cmpne.h: New include file for vec-cmpne.c - and vec-cmpne-runnable.c. Split define_test_functions definition - into define_test_functions and define_init_verify_functions. - -2023-08-09 Juzhe-Zhong - - PR target/110950 - * gcc.target/riscv/rvv/autovec/pr110950.c: New test. - -2023-08-08 Jeff Law - - * gcc.target/riscv/zicond-ice-1.c: New test. - -2023-08-08 Nathaniel Shead - - PR c++/100482 - * g++.dg/cpp0x/decltype-100482.C: New test. - -2023-08-08 Uros Bizjak - - PR target/110832 - * gcc.target/i386/pr110832-1.c: New test. - * gcc.target/i386/pr110832-2.c: New test. - * gcc.target/i386/pr110832-3.c: New test. - -2023-08-08 Andrew Pinski - - PR tree-optimization/103281 - PR tree-optimization/28794 - * gcc.dg/tree-ssa/pr103281-1.c: New test. - * gcc.dg/tree-ssa/vrp-compare-1.c: New test. - -2023-08-08 Pan Li - - * gcc.target/riscv/rvv/base/float-point-single-rsub.c: Enhance - cases. - * gcc.target/riscv/rvv/base/float-point-single-sub.c: Ditto. - -2023-08-08 Juzhe-Zhong - - * gcc.target/riscv/rvv/rvv.exp: Add condition tests. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-6.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-7.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-8.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-9.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-6.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-7.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-8.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-9.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-6.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-7.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-8.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-6.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-7.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-8.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-6.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-6.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-6.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-7.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-8.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-9.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-6.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-7.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-8.c: New test. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-9.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-1.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-2.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-3.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-4.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-5.c: New test. - -2023-08-08 Richard Biener - - PR tree-optimization/49955 - * gfortran.dg/vect/pr49955.f: New testcase. - -2023-08-08 Richard Biener - - PR tree-optimization/110924 - * gcc.dg/torture/pr110924.c: New testcase. - -2023-08-08 yulong - - * gcc.target/riscv/rvv/base/vslide1down-1.c: New test. - * gcc.target/riscv/rvv/base/vslide1down-2.c: New test. - * gcc.target/riscv/rvv/base/vslide1down-3.c: New test. - * gcc.target/riscv/rvv/base/vslide1up-1.c: New test. - * gcc.target/riscv/rvv/base/vslide1up-2.c: New test. - * gcc.target/riscv/rvv/base/vslide1up-3.c: New test. - -2023-08-08 Stefan Schulze Frielinghaus - - PR rtl-optimization/110869 - * gcc.dg/cmp-mem-const-1.c: Use optimization level 2. - * gcc.dg/cmp-mem-const-2.c: Dito. - * gcc.dg/cmp-mem-const-3.c: Exclude sparc from this test. - * gcc.dg/cmp-mem-const-4.c: Dito. - * gcc.dg/cmp-mem-const-5.c: Dito. - * gcc.dg/cmp-mem-const-6.c: Dito. - -2023-08-08 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Ditto. - * gcc.target/riscv/rvv/autovec/vls/neg-1.c: New test. - -2023-08-08 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS shift. - * gcc.target/riscv/rvv/autovec/vls/shift-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/shift-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/shift-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/shift-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/shift-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/shift-6.c: New test. - -2023-08-07 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add basic operations. - * gcc.target/riscv/rvv/autovec/vls/and-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/and-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/and-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/div-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/ior-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/ior-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/ior-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/max-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/min-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/minus-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/minus-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/minus-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mod-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mult-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/plus-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/plus-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/plus-3.c: New test. - -2023-08-07 Martin Jambor - - PR ipa/110378 - * g++.dg/ipa/pr110378-1.C: New test. - -2023-08-07 Andrew Pinski - - PR tree-optimization/109959 - * gcc.dg/tree-ssa/builtin-sprintf-warn-23.c: Remove xfail. - * c-c++-common/Wrestrict.c: Update test and remove some xfail. - * gcc.dg/tree-ssa/cmpeq-1.c: New test. - * gcc.dg/tree-ssa/cmpeq-2.c: New test. - * gcc.dg/tree-ssa/cmpeq-3.c: New test. - -2023-08-07 liuhongt - - * gcc.target/i386/pr110762-v4hf.c: New test. - -2023-08-07 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/binop/narrow-1.c: Adapt testcase. - -2023-08-07 Jan Hubicka - - PR tree-optimization/106293 - * gcc.dg/vect/vect-cond-11.c: Check profile consistency. - * gcc.dg/vect/vect-widen-mult-extern-1.c: Check profile consistency. - -2023-08-07 Andrew Pinski - - PR tree-optimization/96695 - * gcc.dg/pr96695-1.c: New test. - * gcc.dg/pr96695-10.c: New test. - * gcc.dg/pr96695-11.c: New test. - * gcc.dg/pr96695-12.c: New test. - * gcc.dg/pr96695-2.c: New test. - * gcc.dg/pr96695-3.c: New test. - * gcc.dg/pr96695-4.c: New test. - * gcc.dg/pr96695-5.c: New test. - * gcc.dg/pr96695-6.c: New test. - * gcc.dg/pr96695-7.c: New test. - * gcc.dg/pr96695-8.c: New test. - * gcc.dg/pr96695-9.c: New test. - -2023-08-06 Roger Sayle - - PR target/110792 - * gcc.target/i386/pr110792.c: Remove dg-final scan-assembler-not. - -2023-08-06 Jan Hubicka - - * gcc.dg/vect/vect-bitfield-read-1.c: Check profile consistency. - * gcc.dg/vect/vect-bitfield-read-2.c: Check profile consistency. - * gcc.dg/vect/vect-bitfield-read-3.c: Check profile consistency. - * gcc.dg/vect/vect-bitfield-read-4.c: Check profile consistency. - * gcc.dg/vect/vect-bitfield-read-5.c: Check profile consistency. - * gcc.dg/vect/vect-bitfield-read-6.c: Check profile consistency. - * gcc.dg/vect/vect-bitfield-read-7.c: Check profile consistency. - * gcc.dg/vect/vect-bitfield-write-1.c: Check profile consistency. - * gcc.dg/vect/vect-bitfield-write-2.c: Check profile consistency. - * gcc.dg/vect/vect-bitfield-write-3.c: Check profile consistency. - * gcc.dg/vect/vect-bitfield-write-4.c: Check profile consistency. - * gcc.dg/vect/vect-bitfield-write-5.c: Check profile consistency. - * gcc.dg/vect/vect-epilogues-2.c: Check profile consistency. - * gcc.dg/vect/vect-epilogues.c: Check profile consistency. - * gcc.dg/vect/vect-mask-store-move-1.c: Check profile consistency. - -2023-08-05 Gaius Mulley - - PR modula2/110779 - * gm2/iso/run/pass/m2date.mod: New test. - * gm2/iso/run/pass/testclock.mod: New test. - * gm2/iso/run/pass/testclock2.mod: New test. - -2023-08-05 Martin Uecker - - PR c/98536 - * gcc.dg/Wvla-parameter-4.c: Adapt test. - * gcc.dg/attr-access-2.c: Adapt test. - -2023-08-05 Martin Uecker - - * gcc.dg/pr68193.c: New test. - -2023-08-04 David Malcolm - - PR analyzer/110426 - * gcc.dg/analyzer/allocation-size-1.c: Update expected message to - reflect consolidation of size and assignment into a single event. - * gcc.dg/analyzer/allocation-size-2.c: Likewise. - * gcc.dg/analyzer/allocation-size-3.c: Likewise. - * gcc.dg/analyzer/allocation-size-4.c: Likewise. - * gcc.dg/analyzer/allocation-size-multiline-1.c: Likewise. - * gcc.dg/analyzer/allocation-size-multiline-2.c: Likewise. - * gcc.dg/analyzer/allocation-size-multiline-3.c: Likewise. - * gcc.dg/analyzer/attr-alloc_size-1.c: New test. - * gcc.dg/analyzer/attr-alloc_size-2.c: New test. - * gcc.dg/analyzer/attr-alloc_size-3.c: New test. - * gcc.dg/analyzer/explode-4.c: New test. - * gcc.dg/analyzer/taint-size-1.c: Add test coverage for - __attribute__ alloc_size. - -2023-08-04 Yan Simonaytes - - PR target/110202 - * gcc.target/i386/invariant-ternlog-1.c: New test. - * gcc.target/i386/invariant-ternlog-2.c: New test. - -2023-08-04 Roger Sayle - - * gcc.target/i386/pr110717-2.c: New test case. - -2023-08-04 Roger Sayle - - * gcc.target/i386/pr88873.c: Tweak to check for improved code. - -2023-08-04 Vladimir N. Makarov - - * gcc.target/avr/lra-cpymem_qi.c: New. - -2023-08-04 Tamar Christina - - * g++.dg/vect/pr84556.cc: Add novector pragma. - * g++.dg/vect/simd-1.cc: Add novector pragma. - * g++.dg/vect/simd-2.cc: Add novector pragma. - * g++.dg/vect/simd-3.cc: Add novector pragma. - * g++.dg/vect/simd-4.cc: Add novector pragma. - * g++.dg/vect/simd-5.cc: Add novector pragma. - * g++.dg/vect/simd-6.cc: Add novector pragma. - * g++.dg/vect/simd-7.cc: Add novector pragma. - * g++.dg/vect/simd-8.cc: Add novector pragma. - * g++.dg/vect/simd-9.cc: Add novector pragma. - * g++.dg/vect/simd-clone-6.cc: Add novector pragma. - * gcc.dg/vect/O3-pr70130.c: Add novector pragma. - * gcc.dg/vect/Os-vect-95.c: Add novector pragma. - * gcc.dg/vect/bb-slp-1.c: Add novector pragma. - * gcc.dg/vect/bb-slp-16.c: Add novector pragma. - * gcc.dg/vect/bb-slp-2.c: Add novector pragma. - * gcc.dg/vect/bb-slp-24.c: Add novector pragma. - * gcc.dg/vect/bb-slp-25.c: Add novector pragma. - * gcc.dg/vect/bb-slp-26.c: Add novector pragma. - * gcc.dg/vect/bb-slp-27.c: Add novector pragma. - * gcc.dg/vect/bb-slp-28.c: Add novector pragma. - * gcc.dg/vect/bb-slp-29.c: Add novector pragma. - * gcc.dg/vect/bb-slp-42.c: Add novector pragma. - * gcc.dg/vect/bb-slp-cond-1.c: Add novector pragma. - * gcc.dg/vect/bb-slp-over-widen-1.c: Add novector pragma. - * gcc.dg/vect/bb-slp-over-widen-2.c: Add novector pragma. - * gcc.dg/vect/bb-slp-pattern-1.c: Add novector pragma. - * gcc.dg/vect/bb-slp-pattern-2.c: Add novector pragma. - * gcc.dg/vect/bb-slp-pow-1.c: Add novector pragma. - * gcc.dg/vect/bb-slp-pr101615-2.c: Add novector pragma. - * gcc.dg/vect/bb-slp-pr65935.c: Add novector pragma. - * gcc.dg/vect/bb-slp-subgroups-1.c: Add novector pragma. - * gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: Add novector pragma. - * gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Add novector pragma. - * gcc.dg/vect/costmodel/i386/costmodel-vect-68.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-slp-34.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-31b.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-31c.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-33.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-68a.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-68b.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-68c.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-76a.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-76c.c: Add novector pragma. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Add novector pragma. - * gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c: Add novector pragma. - * gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c: Add novector pragma. - * gcc.dg/vect/costmodel/x86_64/costmodel-vect-68.c: Add novector pragma. - * gcc.dg/vect/fast-math-bb-slp-call-1.c: Add novector pragma. - * gcc.dg/vect/fast-math-bb-slp-call-2.c: Add novector pragma. - * gcc.dg/vect/fast-math-vect-call-1.c: Add novector pragma. - * gcc.dg/vect/fast-math-vect-call-2.c: Add novector pragma. - * gcc.dg/vect/fast-math-vect-complex-3.c: Add novector pragma. - * gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-noreassoc-outer-1.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-noreassoc-outer-2.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-noreassoc-outer-3.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-noreassoc-outer-5.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-10.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-10a.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-10b.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-11.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-12.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-15.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-16.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-17.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-18.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-19.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-20.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-21.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-22.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-3.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-4.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-5.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-6-global.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-6.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-7.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-8.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-9.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-9a.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-outer-9b.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-slp-30.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-slp-31.c: Add novector pragma. - * gcc.dg/vect/no-scevccp-vect-iv-2.c: Add novector pragma. - * gcc.dg/vect/no-section-anchors-vect-31.c: Add novector pragma. - * gcc.dg/vect/no-section-anchors-vect-34.c: Add novector pragma. - * gcc.dg/vect/no-section-anchors-vect-36.c: Add novector pragma. - * gcc.dg/vect/no-section-anchors-vect-64.c: Add novector pragma. - * gcc.dg/vect/no-section-anchors-vect-65.c: Add novector pragma. - * gcc.dg/vect/no-section-anchors-vect-66.c: Add novector pragma. - * gcc.dg/vect/no-section-anchors-vect-68.c: Add novector pragma. - * gcc.dg/vect/no-section-anchors-vect-69.c: Add novector pragma. - * gcc.dg/vect/no-section-anchors-vect-outer-4h.c: Add novector pragma. - * gcc.dg/vect/no-trapping-math-2.c: Add novector pragma. - * gcc.dg/vect/no-trapping-math-vect-111.c: Add novector pragma. - * gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c: Add novector pragma. - * gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c: Add novector pragma. - * gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c: Add novector pragma. - * gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c: Add novector pragma. - * gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c: Add novector pragma. - * gcc.dg/vect/no-tree-dom-vect-bug.c: Add novector pragma. - * gcc.dg/vect/no-tree-pre-slp-29.c: Add novector pragma. - * gcc.dg/vect/no-vfa-pr29145.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-101.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-102.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-102a.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-37.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-43.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-45.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-49.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-51.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-53.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-57.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-61.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-79.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-depend-1.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-depend-2.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-depend-3.c: Add novector pragma. - * gcc.dg/vect/no-vfa-vect-dv-2.c: Add novector pragma. - * gcc.dg/vect/pr101445.c: Add novector pragma. - * gcc.dg/vect/pr103581.c: Add novector pragma. - * gcc.dg/vect/pr105219.c: Add novector pragma. - * gcc.dg/vect/pr108608.c: Add novector pragma. - * gcc.dg/vect/pr18400.c: Add novector pragma. - * gcc.dg/vect/pr18536.c: Add novector pragma. - * gcc.dg/vect/pr20122.c: Add novector pragma. - * gcc.dg/vect/pr25413.c: Add novector pragma. - * gcc.dg/vect/pr30784.c: Add novector pragma. - * gcc.dg/vect/pr37539.c: Add novector pragma. - * gcc.dg/vect/pr40074.c: Add novector pragma. - * gcc.dg/vect/pr45752.c: Add novector pragma. - * gcc.dg/vect/pr45902.c: Add novector pragma. - * gcc.dg/vect/pr46009.c: Add novector pragma. - * gcc.dg/vect/pr48172.c: Add novector pragma. - * gcc.dg/vect/pr51074.c: Add novector pragma. - * gcc.dg/vect/pr51581-3.c: Add novector pragma. - * gcc.dg/vect/pr51581-4.c: Add novector pragma. - * gcc.dg/vect/pr53185-2.c: Add novector pragma. - * gcc.dg/vect/pr56918.c: Add novector pragma. - * gcc.dg/vect/pr56920.c: Add novector pragma. - * gcc.dg/vect/pr56933.c: Add novector pragma. - * gcc.dg/vect/pr57705.c: Add novector pragma. - * gcc.dg/vect/pr57741-2.c: Add novector pragma. - * gcc.dg/vect/pr57741-3.c: Add novector pragma. - * gcc.dg/vect/pr59591-1.c: Add novector pragma. - * gcc.dg/vect/pr59591-2.c: Add novector pragma. - * gcc.dg/vect/pr59594.c: Add novector pragma. - * gcc.dg/vect/pr59984.c: Add novector pragma. - * gcc.dg/vect/pr60276.c: Add novector pragma. - * gcc.dg/vect/pr61194.c: Add novector pragma. - * gcc.dg/vect/pr61680.c: Add novector pragma. - * gcc.dg/vect/pr62021.c: Add novector pragma. - * gcc.dg/vect/pr63341-2.c: Add novector pragma. - * gcc.dg/vect/pr64252.c: Add novector pragma. - * gcc.dg/vect/pr64404.c: Add novector pragma. - * gcc.dg/vect/pr64421.c: Add novector pragma. - * gcc.dg/vect/pr64493.c: Add novector pragma. - * gcc.dg/vect/pr64495.c: Add novector pragma. - * gcc.dg/vect/pr66251.c: Add novector pragma. - * gcc.dg/vect/pr66253.c: Add novector pragma. - * gcc.dg/vect/pr68502-1.c: Add novector pragma. - * gcc.dg/vect/pr68502-2.c: Add novector pragma. - * gcc.dg/vect/pr69820.c: Add novector pragma. - * gcc.dg/vect/pr70021.c: Add novector pragma. - * gcc.dg/vect/pr70354-1.c: Add novector pragma. - * gcc.dg/vect/pr70354-2.c: Add novector pragma. - * gcc.dg/vect/pr71259.c: Add novector pragma. - * gcc.dg/vect/pr78005.c: Add novector pragma. - * gcc.dg/vect/pr78558.c: Add novector pragma. - * gcc.dg/vect/pr80815-2.c: Add novector pragma. - * gcc.dg/vect/pr80815-3.c: Add novector pragma. - * gcc.dg/vect/pr80928.c: Add novector pragma. - * gcc.dg/vect/pr81410.c: Add novector pragma. - * gcc.dg/vect/pr81633.c: Add novector pragma. - * gcc.dg/vect/pr81740-1.c: Add novector pragma. - * gcc.dg/vect/pr81740-2.c: Add novector pragma. - * gcc.dg/vect/pr85586.c: Add novector pragma. - * gcc.dg/vect/pr87288-1.c: Add novector pragma. - * gcc.dg/vect/pr87288-2.c: Add novector pragma. - * gcc.dg/vect/pr87288-3.c: Add novector pragma. - * gcc.dg/vect/pr88903-1.c: Add novector pragma. - * gcc.dg/vect/pr88903-2.c: Add novector pragma. - * gcc.dg/vect/pr90018.c: Add novector pragma. - * gcc.dg/vect/pr92420.c: Add novector pragma. - * gcc.dg/vect/pr94994.c: Add novector pragma. - * gcc.dg/vect/pr96783-1.c: Add novector pragma. - * gcc.dg/vect/pr96783-2.c: Add novector pragma. - * gcc.dg/vect/pr97081-2.c: Add novector pragma. - * gcc.dg/vect/pr97558-2.c: Add novector pragma. - * gcc.dg/vect/pr97678.c: Add novector pragma. - * gcc.dg/vect/section-anchors-pr27770.c: Add novector pragma. - * gcc.dg/vect/section-anchors-vect-69.c: Add novector pragma. - * gcc.dg/vect/slp-1.c: Add novector pragma. - * gcc.dg/vect/slp-10.c: Add novector pragma. - * gcc.dg/vect/slp-11a.c: Add novector pragma. - * gcc.dg/vect/slp-11b.c: Add novector pragma. - * gcc.dg/vect/slp-11c.c: Add novector pragma. - * gcc.dg/vect/slp-12a.c: Add novector pragma. - * gcc.dg/vect/slp-12b.c: Add novector pragma. - * gcc.dg/vect/slp-12c.c: Add novector pragma. - * gcc.dg/vect/slp-13-big-array.c: Add novector pragma. - * gcc.dg/vect/slp-13.c: Add novector pragma. - * gcc.dg/vect/slp-14.c: Add novector pragma. - * gcc.dg/vect/slp-15.c: Add novector pragma. - * gcc.dg/vect/slp-16.c: Add novector pragma. - * gcc.dg/vect/slp-17.c: Add novector pragma. - * gcc.dg/vect/slp-18.c: Add novector pragma. - * gcc.dg/vect/slp-19a.c: Add novector pragma. - * gcc.dg/vect/slp-19b.c: Add novector pragma. - * gcc.dg/vect/slp-19c.c: Add novector pragma. - * gcc.dg/vect/slp-2.c: Add novector pragma. - * gcc.dg/vect/slp-20.c: Add novector pragma. - * gcc.dg/vect/slp-21.c: Add novector pragma. - * gcc.dg/vect/slp-22.c: Add novector pragma. - * gcc.dg/vect/slp-23.c: Add novector pragma. - * gcc.dg/vect/slp-24-big-array.c: Add novector pragma. - * gcc.dg/vect/slp-24.c: Add novector pragma. - * gcc.dg/vect/slp-25.c: Add novector pragma. - * gcc.dg/vect/slp-26.c: Add novector pragma. - * gcc.dg/vect/slp-28.c: Add novector pragma. - * gcc.dg/vect/slp-3-big-array.c: Add novector pragma. - * gcc.dg/vect/slp-3.c: Add novector pragma. - * gcc.dg/vect/slp-33.c: Add novector pragma. - * gcc.dg/vect/slp-34-big-array.c: Add novector pragma. - * gcc.dg/vect/slp-34.c: Add novector pragma. - * gcc.dg/vect/slp-35.c: Add novector pragma. - * gcc.dg/vect/slp-37.c: Add novector pragma. - * gcc.dg/vect/slp-4-big-array.c: Add novector pragma. - * gcc.dg/vect/slp-4.c: Add novector pragma. - * gcc.dg/vect/slp-41.c: Add novector pragma. - * gcc.dg/vect/slp-43.c: Add novector pragma. - * gcc.dg/vect/slp-45.c: Add novector pragma. - * gcc.dg/vect/slp-46.c: Add novector pragma. - * gcc.dg/vect/slp-47.c: Add novector pragma. - * gcc.dg/vect/slp-48.c: Add novector pragma. - * gcc.dg/vect/slp-49.c: Add novector pragma. - * gcc.dg/vect/slp-5.c: Add novector pragma. - * gcc.dg/vect/slp-6.c: Add novector pragma. - * gcc.dg/vect/slp-7.c: Add novector pragma. - * gcc.dg/vect/slp-8.c: Add novector pragma. - * gcc.dg/vect/slp-9.c: Add novector pragma. - * gcc.dg/vect/slp-cond-1.c: Add novector pragma. - * gcc.dg/vect/slp-cond-2-big-array.c: Add novector pragma. - * gcc.dg/vect/slp-cond-2.c: Add novector pragma. - * gcc.dg/vect/slp-cond-3.c: Add novector pragma. - * gcc.dg/vect/slp-cond-4.c: Add novector pragma. - * gcc.dg/vect/slp-cond-5.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-1.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-10.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-11-big-array.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-11.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-12.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-2.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-3.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-4.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-5.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-6.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-7.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-8.c: Add novector pragma. - * gcc.dg/vect/slp-multitypes-9.c: Add novector pragma. - * gcc.dg/vect/slp-perm-1.c: Add novector pragma. - * gcc.dg/vect/slp-perm-10.c: Add novector pragma. - * gcc.dg/vect/slp-perm-11.c: Add novector pragma. - * gcc.dg/vect/slp-perm-12.c: Add novector pragma. - * gcc.dg/vect/slp-perm-2.c: Add novector pragma. - * gcc.dg/vect/slp-perm-3.c: Add novector pragma. - * gcc.dg/vect/slp-perm-4.c: Add novector pragma. - * gcc.dg/vect/slp-perm-5.c: Add novector pragma. - * gcc.dg/vect/slp-perm-6.c: Add novector pragma. - * gcc.dg/vect/slp-perm-7.c: Add novector pragma. - * gcc.dg/vect/slp-perm-8.c: Add novector pragma. - * gcc.dg/vect/slp-perm-9.c: Add novector pragma. - * gcc.dg/vect/slp-widen-mult-half.c: Add novector pragma. - * gcc.dg/vect/slp-widen-mult-s16.c: Add novector pragma. - * gcc.dg/vect/slp-widen-mult-u8.c: Add novector pragma. - * gcc.dg/vect/vect-100.c: Add novector pragma. - * gcc.dg/vect/vect-103.c: Add novector pragma. - * gcc.dg/vect/vect-104.c: Add novector pragma. - * gcc.dg/vect/vect-105-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-105.c: Add novector pragma. - * gcc.dg/vect/vect-106.c: Add novector pragma. - * gcc.dg/vect/vect-107.c: Add novector pragma. - * gcc.dg/vect/vect-108.c: Add novector pragma. - * gcc.dg/vect/vect-109.c: Add novector pragma. - * gcc.dg/vect/vect-11.c: Add novector pragma. - * gcc.dg/vect/vect-110.c: Add novector pragma. - * gcc.dg/vect/vect-113.c: Add novector pragma. - * gcc.dg/vect/vect-114.c: Add novector pragma. - * gcc.dg/vect/vect-115.c: Add novector pragma. - * gcc.dg/vect/vect-116.c: Add novector pragma. - * gcc.dg/vect/vect-117.c: Add novector pragma. - * gcc.dg/vect/vect-11a.c: Add novector pragma. - * gcc.dg/vect/vect-12.c: Add novector pragma. - * gcc.dg/vect/vect-122.c: Add novector pragma. - * gcc.dg/vect/vect-124.c: Add novector pragma. - * gcc.dg/vect/vect-13.c: Add novector pragma. - * gcc.dg/vect/vect-14.c: Add novector pragma. - * gcc.dg/vect/vect-15-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-15.c: Add novector pragma. - * gcc.dg/vect/vect-17.c: Add novector pragma. - * gcc.dg/vect/vect-18.c: Add novector pragma. - * gcc.dg/vect/vect-19.c: Add novector pragma. - * gcc.dg/vect/vect-2-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-2.c: Add novector pragma. - * gcc.dg/vect/vect-20.c: Add novector pragma. - * gcc.dg/vect/vect-21.c: Add novector pragma. - * gcc.dg/vect/vect-22.c: Add novector pragma. - * gcc.dg/vect/vect-23.c: Add novector pragma. - * gcc.dg/vect/vect-24.c: Add novector pragma. - * gcc.dg/vect/vect-25.c: Add novector pragma. - * gcc.dg/vect/vect-26.c: Add novector pragma. - * gcc.dg/vect/vect-27.c: Add novector pragma. - * gcc.dg/vect/vect-28.c: Add novector pragma. - * gcc.dg/vect/vect-29.c: Add novector pragma. - * gcc.dg/vect/vect-3.c: Add novector pragma. - * gcc.dg/vect/vect-30.c: Add novector pragma. - * gcc.dg/vect/vect-31-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-31.c: Add novector pragma. - * gcc.dg/vect/vect-32-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-32.c: Add novector pragma. - * gcc.dg/vect/vect-33-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-33.c: Add novector pragma. - * gcc.dg/vect/vect-34-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-34.c: Add novector pragma. - * gcc.dg/vect/vect-35-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-35.c: Add novector pragma. - * gcc.dg/vect/vect-36-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-36.c: Add novector pragma. - * gcc.dg/vect/vect-38.c: Add novector pragma. - * gcc.dg/vect/vect-4.c: Add novector pragma. - * gcc.dg/vect/vect-40.c: Add novector pragma. - * gcc.dg/vect/vect-42.c: Add novector pragma. - * gcc.dg/vect/vect-44.c: Add novector pragma. - * gcc.dg/vect/vect-46.c: Add novector pragma. - * gcc.dg/vect/vect-48.c: Add novector pragma. - * gcc.dg/vect/vect-5.c: Add novector pragma. - * gcc.dg/vect/vect-50.c: Add novector pragma. - * gcc.dg/vect/vect-52.c: Add novector pragma. - * gcc.dg/vect/vect-54.c: Add novector pragma. - * gcc.dg/vect/vect-56.c: Add novector pragma. - * gcc.dg/vect/vect-58.c: Add novector pragma. - * gcc.dg/vect/vect-6-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-6.c: Add novector pragma. - * gcc.dg/vect/vect-60.c: Add novector pragma. - * gcc.dg/vect/vect-62.c: Add novector pragma. - * gcc.dg/vect/vect-63.c: Add novector pragma. - * gcc.dg/vect/vect-64.c: Add novector pragma. - * gcc.dg/vect/vect-65.c: Add novector pragma. - * gcc.dg/vect/vect-66.c: Add novector pragma. - * gcc.dg/vect/vect-67.c: Add novector pragma. - * gcc.dg/vect/vect-68.c: Add novector pragma. - * gcc.dg/vect/vect-7.c: Add novector pragma. - * gcc.dg/vect/vect-70.c: Add novector pragma. - * gcc.dg/vect/vect-71.c: Add novector pragma. - * gcc.dg/vect/vect-72.c: Add novector pragma. - * gcc.dg/vect/vect-73-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-73.c: Add novector pragma. - * gcc.dg/vect/vect-74-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-74.c: Add novector pragma. - * gcc.dg/vect/vect-75-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-75.c: Add novector pragma. - * gcc.dg/vect/vect-76-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-76.c: Add novector pragma. - * gcc.dg/vect/vect-77-alignchecks.c: Add novector pragma. - * gcc.dg/vect/vect-77-global.c: Add novector pragma. - * gcc.dg/vect/vect-77.c: Add novector pragma. - * gcc.dg/vect/vect-78-alignchecks.c: Add novector pragma. - * gcc.dg/vect/vect-78-global.c: Add novector pragma. - * gcc.dg/vect/vect-78.c: Add novector pragma. - * gcc.dg/vect/vect-8.c: Add novector pragma. - * gcc.dg/vect/vect-80-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-80.c: Add novector pragma. - * gcc.dg/vect/vect-82.c: Add novector pragma. - * gcc.dg/vect/vect-82_64.c: Add novector pragma. - * gcc.dg/vect/vect-83.c: Add novector pragma. - * gcc.dg/vect/vect-83_64.c: Add novector pragma. - * gcc.dg/vect/vect-85-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-85.c: Add novector pragma. - * gcc.dg/vect/vect-86.c: Add novector pragma. - * gcc.dg/vect/vect-87.c: Add novector pragma. - * gcc.dg/vect/vect-88.c: Add novector pragma. - * gcc.dg/vect/vect-89-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-89.c: Add novector pragma. - * gcc.dg/vect/vect-9.c: Add novector pragma. - * gcc.dg/vect/vect-92.c: Add novector pragma. - * gcc.dg/vect/vect-93.c: Add novector pragma. - * gcc.dg/vect/vect-95.c: Add novector pragma. - * gcc.dg/vect/vect-96.c: Add novector pragma. - * gcc.dg/vect/vect-97-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-97.c: Add novector pragma. - * gcc.dg/vect/vect-98-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-98.c: Add novector pragma. - * gcc.dg/vect/vect-99.c: Add novector pragma. - * gcc.dg/vect/vect-alias-check-10.c: Add novector pragma. - * gcc.dg/vect/vect-alias-check-11.c: Add novector pragma. - * gcc.dg/vect/vect-alias-check-12.c: Add novector pragma. - * gcc.dg/vect/vect-alias-check-14.c: Add novector pragma. - * gcc.dg/vect/vect-alias-check-15.c: Add novector pragma. - * gcc.dg/vect/vect-alias-check-16.c: Add novector pragma. - * gcc.dg/vect/vect-alias-check-18.c: Add novector pragma. - * gcc.dg/vect/vect-alias-check-19.c: Add novector pragma. - * gcc.dg/vect/vect-alias-check-20.c: Add novector pragma. - * gcc.dg/vect/vect-alias-check-8.c: Add novector pragma. - * gcc.dg/vect/vect-alias-check-9.c: Add novector pragma. - * gcc.dg/vect/vect-align-1.c: Add novector pragma. - * gcc.dg/vect/vect-align-2.c: Add novector pragma. - * gcc.dg/vect/vect-all-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-all.c: Add novector pragma. - * gcc.dg/vect/vect-avg-1.c: Add novector pragma. - * gcc.dg/vect/vect-avg-11.c: Add novector pragma. - * gcc.dg/vect/vect-avg-15.c: Add novector pragma. - * gcc.dg/vect/vect-avg-16.c: Add novector pragma. - * gcc.dg/vect/vect-avg-5.c: Add novector pragma. - * gcc.dg/vect/vect-bitfield-write-1.c: Add novector pragma. - * gcc.dg/vect/vect-bitfield-write-2.c: Add novector pragma. - * gcc.dg/vect/vect-bitfield-write-3.c: Add novector pragma. - * gcc.dg/vect/vect-bitfield-write-4.c: Add novector pragma. - * gcc.dg/vect/vect-bitfield-write-5.c: Add novector pragma. - * gcc.dg/vect/vect-bool-cmp.c: Add novector pragma. - * gcc.dg/vect/vect-bswap16.c: Add novector pragma. - * gcc.dg/vect/vect-bswap32.c: Add novector pragma. - * gcc.dg/vect/vect-bswap64.c: Add novector pragma. - * gcc.dg/vect/vect-complex-1.c: Add novector pragma. - * gcc.dg/vect/vect-complex-2.c: Add novector pragma. - * gcc.dg/vect/vect-complex-4.c: Add novector pragma. - * gcc.dg/vect/vect-cond-1.c: Add novector pragma. - * gcc.dg/vect/vect-cond-10.c: Add novector pragma. - * gcc.dg/vect/vect-cond-11.c: Add novector pragma. - * gcc.dg/vect/vect-cond-3.c: Add novector pragma. - * gcc.dg/vect/vect-cond-4.c: Add novector pragma. - * gcc.dg/vect/vect-cond-5.c: Add novector pragma. - * gcc.dg/vect/vect-cond-6.c: Add novector pragma. - * gcc.dg/vect/vect-cond-7.c: Add novector pragma. - * gcc.dg/vect/vect-cond-8.c: Add novector pragma. - * gcc.dg/vect/vect-cond-9.c: Add novector pragma. - * gcc.dg/vect/vect-cond-arith-1.c: Add novector pragma. - * gcc.dg/vect/vect-cond-arith-3.c: Add novector pragma. - * gcc.dg/vect/vect-cond-arith-4.c: Add novector pragma. - * gcc.dg/vect/vect-cond-arith-5.c: Add novector pragma. - * gcc.dg/vect/vect-cond-arith-6.c: Add novector pragma. - * gcc.dg/vect/vect-cond-arith-7.c: Add novector pragma. - * gcc.dg/vect/vect-cselim-1.c: Add novector pragma. - * gcc.dg/vect/vect-cselim-2.c: Add novector pragma. - * gcc.dg/vect/vect-div-bitmask-4.c: Add novector pragma. - * gcc.dg/vect/vect-div-bitmask-5.c: Add novector pragma. - * gcc.dg/vect/vect-div-bitmask.h: Add novector pragma. - * gcc.dg/vect/vect-double-reduc-1.c: Add novector pragma. - * gcc.dg/vect/vect-double-reduc-2.c: Add novector pragma. - * gcc.dg/vect/vect-double-reduc-3.c: Add novector pragma. - * gcc.dg/vect/vect-double-reduc-4.c: Add novector pragma. - * gcc.dg/vect/vect-double-reduc-5.c: Add novector pragma. - * gcc.dg/vect/vect-double-reduc-6-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-double-reduc-6.c: Add novector pragma. - * gcc.dg/vect/vect-double-reduc-7.c: Add novector pragma. - * gcc.dg/vect/vect-float-extend-1.c: Add novector pragma. - * gcc.dg/vect/vect-float-truncate-1.c: Add novector pragma. - * gcc.dg/vect/vect-floatint-conversion-1.c: Add novector pragma. - * gcc.dg/vect/vect-floatint-conversion-2.c: Add novector pragma. - * gcc.dg/vect/vect-fma-1.c: Add novector pragma. - * gcc.dg/vect/vect-gather-1.c: Add novector pragma. - * gcc.dg/vect/vect-gather-3.c: Add novector pragma. - * gcc.dg/vect/vect-ifcvt-11.c: Add novector pragma. - * gcc.dg/vect/vect-ifcvt-16.c: Add novector pragma. - * gcc.dg/vect/vect-ifcvt-17.c: Add novector pragma. - * gcc.dg/vect/vect-ifcvt-2.c: Add novector pragma. - * gcc.dg/vect/vect-ifcvt-3.c: Add novector pragma. - * gcc.dg/vect/vect-ifcvt-4.c: Add novector pragma. - * gcc.dg/vect/vect-ifcvt-5.c: Add novector pragma. - * gcc.dg/vect/vect-ifcvt-6.c: Add novector pragma. - * gcc.dg/vect/vect-ifcvt-7.c: Add novector pragma. - * gcc.dg/vect/vect-ifcvt-9.c: Add novector pragma. - * gcc.dg/vect/vect-intfloat-conversion-1.c: Add novector pragma. - * gcc.dg/vect/vect-intfloat-conversion-2.c: Add novector pragma. - * gcc.dg/vect/vect-intfloat-conversion-3.c: Add novector pragma. - * gcc.dg/vect/vect-intfloat-conversion-4a.c: Add novector pragma. - * gcc.dg/vect/vect-intfloat-conversion-4b.c: Add novector pragma. - * gcc.dg/vect/vect-iv-1.c: Add novector pragma. - * gcc.dg/vect/vect-iv-10.c: Add novector pragma. - * gcc.dg/vect/vect-iv-2.c: Add novector pragma. - * gcc.dg/vect/vect-iv-3.c: Add novector pragma. - * gcc.dg/vect/vect-iv-4.c: Add novector pragma. - * gcc.dg/vect/vect-iv-5.c: Add novector pragma. - * gcc.dg/vect/vect-iv-6.c: Add novector pragma. - * gcc.dg/vect/vect-iv-7.c: Add novector pragma. - * gcc.dg/vect/vect-iv-8-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-iv-8.c: Add novector pragma. - * gcc.dg/vect/vect-iv-8a-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-iv-8a.c: Add novector pragma. - * gcc.dg/vect/vect-live-1.c: Add novector pragma. - * gcc.dg/vect/vect-live-2.c: Add novector pragma. - * gcc.dg/vect/vect-live-3.c: Add novector pragma. - * gcc.dg/vect/vect-live-4.c: Add novector pragma. - * gcc.dg/vect/vect-live-5.c: Add novector pragma. - * gcc.dg/vect/vect-live-slp-1.c: Add novector pragma. - * gcc.dg/vect/vect-live-slp-2.c: Add novector pragma. - * gcc.dg/vect/vect-live-slp-3.c: Add novector pragma. - * gcc.dg/vect/vect-mask-load-1.c: Add novector pragma. - * gcc.dg/vect/vect-mask-loadstore-1.c: Add novector pragma. - * gcc.dg/vect/vect-mulhrs-1.c: Add novector pragma. - * gcc.dg/vect/vect-mult-const-pattern-1.c: Add novector pragma. - * gcc.dg/vect/vect-mult-const-pattern-2.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-1.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-10.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-11.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-12.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-13.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-14.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-16.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-17.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-2.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-3.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-4.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-5.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-6.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-8.c: Add novector pragma. - * gcc.dg/vect/vect-multitypes-9.c: Add novector pragma. - * gcc.dg/vect/vect-nb-iter-ub-1.c: Add novector pragma. - * gcc.dg/vect/vect-nb-iter-ub-2.c: Add novector pragma. - * gcc.dg/vect/vect-nb-iter-ub-3.c: Add novector pragma. - * gcc.dg/vect/vect-neg-store-1.c: Add novector pragma. - * gcc.dg/vect/vect-neg-store-2.c: Add novector pragma. - * gcc.dg/vect/vect-nest-cycle-1.c: Add novector pragma. - * gcc.dg/vect/vect-nest-cycle-2.c: Add novector pragma. - * gcc.dg/vect/vect-nest-cycle-3.c: Add novector pragma. - * gcc.dg/vect/vect-outer-2-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-outer-2.c: Add novector pragma. - * gcc.dg/vect/vect-outer-2a-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-outer-2a.c: Add novector pragma. - * gcc.dg/vect/vect-outer-2b.c: Add novector pragma. - * gcc.dg/vect/vect-outer-2c-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-outer-2c.c: Add novector pragma. - * gcc.dg/vect/vect-outer-2d.c: Add novector pragma. - * gcc.dg/vect/vect-outer-3-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-outer-3.c: Add novector pragma. - * gcc.dg/vect/vect-outer-3a-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-outer-3a.c: Add novector pragma. - * gcc.dg/vect/vect-outer-3b.c: Add novector pragma. - * gcc.dg/vect/vect-outer-3c.c: Add novector pragma. - * gcc.dg/vect/vect-outer-4.c: Add novector pragma. - * gcc.dg/vect/vect-outer-4d-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-outer-4d.c: Add novector pragma. - * gcc.dg/vect/vect-outer-5.c: Add novector pragma. - * gcc.dg/vect/vect-outer-6.c: Add novector pragma. - * gcc.dg/vect/vect-outer-fir-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-outer-fir-lb-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-outer-fir-lb.c: Add novector pragma. - * gcc.dg/vect/vect-outer-fir.c: Add novector pragma. - * gcc.dg/vect/vect-outer-simd-1.c: Add novector pragma. - * gcc.dg/vect/vect-outer-simd-2.c: Add novector pragma. - * gcc.dg/vect/vect-outer-simd-3.c: Add novector pragma. - * gcc.dg/vect/vect-outer-slp-2.c: Add novector pragma. - * gcc.dg/vect/vect-outer-slp-3.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-1-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-1.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-11.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-13.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-15.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-17.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-18.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-19.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-2-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-2.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-20.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-21.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-22.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-3-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-3.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-4-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-4.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-5.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-7.c: Add novector pragma. - * gcc.dg/vect/vect-over-widen-9.c: Add novector pragma. - * gcc.dg/vect/vect-peel-1-src.c: Add novector pragma. - * gcc.dg/vect/vect-peel-2-src.c: Add novector pragma. - * gcc.dg/vect/vect-peel-4-src.c: Add novector pragma. - * gcc.dg/vect/vect-recurr-1.c: Add novector pragma. - * gcc.dg/vect/vect-recurr-2.c: Add novector pragma. - * gcc.dg/vect/vect-recurr-3.c: Add novector pragma. - * gcc.dg/vect/vect-recurr-4.c: Add novector pragma. - * gcc.dg/vect/vect-recurr-5.c: Add novector pragma. - * gcc.dg/vect/vect-recurr-6.c: Add novector pragma. - * gcc.dg/vect/vect-sdiv-pow2-1.c: Add novector pragma. - * gcc.dg/vect/vect-sdivmod-1.c: Add novector pragma. - * gcc.dg/vect/vect-shift-1.c: Add novector pragma. - * gcc.dg/vect/vect-shift-3.c: Add novector pragma. - * gcc.dg/vect/vect-shift-4.c: Add novector pragma. - * gcc.dg/vect/vect-simd-1.c: Add novector pragma. - * gcc.dg/vect/vect-simd-10.c: Add novector pragma. - * gcc.dg/vect/vect-simd-11.c: Add novector pragma. - * gcc.dg/vect/vect-simd-12.c: Add novector pragma. - * gcc.dg/vect/vect-simd-13.c: Add novector pragma. - * gcc.dg/vect/vect-simd-14.c: Add novector pragma. - * gcc.dg/vect/vect-simd-15.c: Add novector pragma. - * gcc.dg/vect/vect-simd-16.c: Add novector pragma. - * gcc.dg/vect/vect-simd-17.c: Add novector pragma. - * gcc.dg/vect/vect-simd-18.c: Add novector pragma. - * gcc.dg/vect/vect-simd-19.c: Add novector pragma. - * gcc.dg/vect/vect-simd-20.c: Add novector pragma. - * gcc.dg/vect/vect-simd-8.c: Add novector pragma. - * gcc.dg/vect/vect-simd-9.c: Add novector pragma. - * gcc.dg/vect/vect-simd-clone-1.c: Add novector pragma. - * gcc.dg/vect/vect-simd-clone-10.c: Add novector pragma. - * gcc.dg/vect/vect-simd-clone-11.c: Add novector pragma. - * gcc.dg/vect/vect-simd-clone-15.c: Add novector pragma. - * gcc.dg/vect/vect-simd-clone-2.c: Add novector pragma. - * gcc.dg/vect/vect-simd-clone-3.c: Add novector pragma. - * gcc.dg/vect/vect-simd-clone-4.c: Add novector pragma. - * gcc.dg/vect/vect-simd-clone-5.c: Add novector pragma. - * gcc.dg/vect/vect-simd-clone-6.c: Add novector pragma. - * gcc.dg/vect/vect-simd-clone-7.c: Add novector pragma. - * gcc.dg/vect/vect-simd-clone-8.c: Add novector pragma. - * gcc.dg/vect/vect-simd-clone-9.c: Add novector pragma. - * gcc.dg/vect/vect-strided-a-mult.c: Add novector pragma. - * gcc.dg/vect/vect-strided-a-u16-i2.c: Add novector pragma. - * gcc.dg/vect/vect-strided-a-u16-i4.c: Add novector pragma. - * gcc.dg/vect/vect-strided-a-u16-mult.c: Add novector pragma. - * gcc.dg/vect/vect-strided-a-u32-mult.c: Add novector pragma. - * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Add novector pragma. - * gcc.dg/vect/vect-strided-a-u8-i8-gap2-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Add novector pragma. - * gcc.dg/vect/vect-strided-a-u8-i8-gap7-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Add novector pragma. - * gcc.dg/vect/vect-strided-float.c: Add novector pragma. - * gcc.dg/vect/vect-strided-mult-char-ls.c: Add novector pragma. - * gcc.dg/vect/vect-strided-mult.c: Add novector pragma. - * gcc.dg/vect/vect-strided-same-dr.c: Add novector pragma. - * gcc.dg/vect/vect-strided-shift-1.c: Add novector pragma. - * gcc.dg/vect/vect-strided-store-a-u8-i2.c: Add novector pragma. - * gcc.dg/vect/vect-strided-store-u16-i4.c: Add novector pragma. - * gcc.dg/vect/vect-strided-store-u32-i2.c: Add novector pragma. - * gcc.dg/vect/vect-strided-store.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u16-i2.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u16-i3.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u16-i4.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u32-i4.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u32-i8.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u32-mult.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u8-i2-gap.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u8-i2.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u8-i8-gap2-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u8-i8-gap2.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u8-i8-gap4-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u8-i8-gap4.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u8-i8-gap7-big-array.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u8-i8-gap7.c: Add novector pragma. - * gcc.dg/vect/vect-strided-u8-i8.c: Add novector pragma. - * gcc.dg/vect/vect-vfa-01.c: Add novector pragma. - * gcc.dg/vect/vect-vfa-02.c: Add novector pragma. - * gcc.dg/vect/vect-vfa-03.c: Add novector pragma. - * gcc.dg/vect/vect-vfa-04.c: Add novector pragma. - * gcc.dg/vect/vect-vfa-slp.c: Add novector pragma. - * gcc.dg/vect/vect-widen-mult-1.c: Add novector pragma. - * gcc.dg/vect/vect-widen-mult-const-s16.c: Add novector pragma. - * gcc.dg/vect/vect-widen-mult-const-u16.c: Add novector pragma. - * gcc.dg/vect/vect-widen-mult-half-u8.c: Add novector pragma. - * gcc.dg/vect/vect-widen-mult-half.c: Add novector pragma. - * gcc.dg/vect/vect-widen-mult-s16.c: Add novector pragma. - * gcc.dg/vect/vect-widen-mult-s8.c: Add novector pragma. - * gcc.dg/vect/vect-widen-mult-u16.c: Add novector pragma. - * gcc.dg/vect/vect-widen-mult-u8-s16-s32.c: Add novector pragma. - * gcc.dg/vect/vect-widen-mult-u8-u32.c: Add novector pragma. - * gcc.dg/vect/vect-widen-mult-u8.c: Add novector pragma. - * gcc.dg/vect/vect-widen-shift-s16.c: Add novector pragma. - * gcc.dg/vect/vect-widen-shift-s8.c: Add novector pragma. - * gcc.dg/vect/vect-widen-shift-u16.c: Add novector pragma. - * gcc.dg/vect/vect-widen-shift-u8.c: Add novector pragma. - * gcc.dg/vect/wrapv-vect-7.c: Add novector pragma. - -2023-08-04 Tamar Christina - - * gcc.dg/vect/vect-novector-pragma.c: New test. - -2023-08-04 Tamar Christina - - * g++.dg/vect/vect.exp (support vect- prefix). - * g++.dg/vect/vect-novector-pragma.cc: New test. - -2023-08-04 Tamar Christina - - PR target/106346 - * gcc.target/aarch64/pr98772.c: Adjust assembly. - * gcc.target/aarch64/vect-widen-shift.c: New test. - -2023-08-04 Richard Biener - - PR tree-optimization/110838 - * gcc.dg/vect/pr110838.c: New testcase. - -2023-08-04 Pan Li - - Revert: - 2023-08-04 Pan Li - - * gcc.target/riscv/rvv/base/float-point-single-multiply-add.c: New test. - -2023-08-04 Pan Li - - Revert: - 2023-08-04 Pan Li - - * gcc.target/riscv/rvv/base/float-point-single-negate-multiply-add.c: - New test. - -2023-08-04 Pan Li - - Revert: - 2023-08-04 Pan Li - - * gcc.target/riscv/rvv/base/float-point-single-multiply-sub.c: New test. - -2023-08-04 Pan Li - - Revert: - 2023-08-04 Pan Li - - * gcc.target/riscv/rvv/base/float-point-single-negate-multiply-sub.c: - New test. - -2023-08-04 Andrew Pinski - - PR tree-optimization/110874 - * gcc.c-torture/compile/pr110874-a.c: New test. - -2023-08-04 Drew Ross - - PR middle-end/101955 - * gcc.dg/pr101955.c: New test. - -2023-08-04 Pan Li - - * gcc.target/riscv/rvv/base/float-point-single-negate-multiply-sub.c: - New test. - -2023-08-04 Pan Li - - * gcc.target/riscv/rvv/base/float-point-single-multiply-sub.c: New test. - -2023-08-04 Pan Li - - * gcc.target/riscv/rvv/base/float-point-single-negate-multiply-add.c: - New test. - -2023-08-04 Hao Liu - - * gcc.target/aarch64/pr110625_3.c: New testcase. - -2023-08-04 Pan Li - - * gcc.target/riscv/rvv/base/float-point-single-multiply-add.c: New test. - -2023-08-04 Pan Li - - * gcc.target/riscv/rvv/base/float-point-widening-mul.c: New test. - -2023-08-04 Pan Li - - * gcc.target/riscv/rvv/base/float-point-single-div.c: New test. - * gcc.target/riscv/rvv/base/float-point-single-rdiv.c: New test. - -2023-08-03 Aldy Hernandez - - * g++.dg/ipa/pure-const-3.C: Move source to... - * g++.dg/ipa/pure-const-3.h: ...here, and adjust original test - accordingly. - * g++.dg/ipa/pure-const-3b.C: New. - -2023-08-03 Cupertino Miranda - - * gcc.target/bpf/core-builtin-enumvalue.c: New test. - * gcc.target/bpf/core-builtin-enumvalue-errors.c: New test. - * gcc.target/bpf/core-builtin-enumvalue-opt.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-const-elimination.c: New test. - * gcc.target/bpf/core-builtin-fieldinfo-errors-1.c: Changed. - * gcc.target/bpf/core-builtin-fieldinfo-errors-2.c: Changed. - * gcc.target/bpf/core-builtin-type-based.c: New test. - * gcc.target/bpf/core-builtin-type-id.c: New test. - * gcc.target/bpf/core-support.h: New test. - -2023-08-03 David Malcolm - - PR analyzer/108171 - * gcc.dg/analyzer/pr108171.c: New test. - -2023-08-03 David Malcolm - - PR analyzer/110882 - * gcc.dg/analyzer/pr110882.c: New test. - -2023-08-03 Richard Sandiford - - * gcc.dg/plugin/poly-int-tests.h (test_can_div_trunc_p_const) - (test_can_div_trunc_p_const): Add more tests. - -2023-08-03 Richard Biener - - PR tree-optimization/110838 - * gcc.dg/torture/pr110838.c: New testcase. - -2023-08-03 Richard Biener - - PR tree-optimization/110702 - * gcc.dg/torture/pr110702.c: New testcase. - -2023-08-03 Richard Biener - - * gcc.dg/tree-ssa/ssa-sink-20.c: New testcase. - -2023-08-03 Richard Biener - - * gcc.target/i386/pr87007-5.c: Make sure we split the loop - and eliminate both in the end. - -2023-08-03 Stefan Schulze Frielinghaus - - * gcc.target/s390/s390.exp: Add subdirectory vxe2. - * gcc.target/s390/vxe2/vlbr-1.c: New test. - * gcc.target/s390/vxe2/vstbr-1.c: New test. - * gcc.target/s390/vxe2/vstbr-2.c: New test. - -2023-08-03 Stefan Schulze Frielinghaus - - * lib/target-supports.exp (check_effective_target_vect_bswap): - Add s390. - -2023-08-03 Yanzhang Wang - - * gcc.target/riscv/omit-frame-pointer-1.c: New test. - * gcc.target/riscv/omit-frame-pointer-2.c: New test. - * gcc.target/riscv/omit-frame-pointer-3.c: New test. - * gcc.target/riscv/omit-frame-pointer-4.c: New test. - * gcc.target/riscv/omit-frame-pointer-test.c: New test. - -2023-08-03 Roger Sayle - - PR target/110792 - * g++.target/i386/pr110792.C: New 32-bit C++ test case. - * gcc.target/i386/pr110792.c: New 64-bit C test case. - -2023-08-03 Pan Li - - * gcc.target/riscv/rvv/base/float-point-single-mul.c: New test. - -2023-08-03 Andrew Pinski - - * gcc.c-torture/execute/20230802-1.c: New test. - -2023-08-03 Pan Li - - * gcc.target/riscv/rvv/base/float-point-widening-sub.c: New test. - -2023-08-02 Eric Feng - - PR analyzer/107646 - * gcc.dg/plugin/plugin.exp: Add new plugin and test. - * gcc.dg/plugin/analyzer_cpython_plugin.c: New plugin. - * gcc.dg/plugin/cpython-plugin-test-1.c: New test. - -2023-08-02 Stefan Schulze Frielinghaus - - PR rtl-optimization/110869 - * gcc.dg/cmp-mem-const-1.c: Relax mode for constant. - * gcc.dg/cmp-mem-const-2.c: Relax mode for constant. - * gcc.dg/cmp-mem-const-3.c: Relax mode for constant. - * gcc.dg/cmp-mem-const-4.c: Relax mode for constant. - * gcc.dg/cmp-mem-const-5.c: Exclude sparc since here the - constant is already reduced. - * gcc.dg/cmp-mem-const-6.c: Exclude sparc since here the - constant is already reduced. - -2023-08-02 Richard Biener - - PR tree-optimization/92335 - * gcc.dg/tree-ssa/ssa-sink-10.c: Disable vectorizing. - * gcc.dg/tree-ssa/predcom-9.c: Clone from ssa-sink-10.c, - expect predictive commoning to happen instead of sinking. - * gcc.dg/vect/pr65947-3.c: Ajdust. - -2023-08-02 Pan Li - - * gcc.target/riscv/rvv/base/float-point-widening-add.c: New test. - -2023-08-02 Jan Hubicka - - * gcc.dg/unroll-1.c: Fix template. - -2023-08-02 Jan Hubicka - - * gcc.dg/vect/pr98308.c: Check that profile is consistent. - -2023-08-02 liuhongt - - * gcc.target/i386/pr81904.c: New test. - -2023-08-02 liuhongt - - * gcc.target/i386/vlddqu_vinserti128.c: New test. - -2023-08-01 Gaius Mulley - - PR modula2/110161 - * gm2/pim/fail/badxproc.mod: New test. - -2023-08-01 Andreas Krebbel - - * gcc.target/s390/aligned-1.c: New test. - * gcc.target/s390/unaligned-1.c: New test. - -2023-08-01 Jan Hubicka - - * gcc.dg/vect/vect-1-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-1.c: Check profile consistency. - * gcc.dg/vect/vect-10-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-10.c: Check profile consistency. - * gcc.dg/vect/vect-100.c: Check profile consistency. - * gcc.dg/vect/vect-103.c: Check profile consistency. - * gcc.dg/vect/vect-104.c: Check profile consistency. - * gcc.dg/vect/vect-105-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-105.c: Check profile consistency. - * gcc.dg/vect/vect-106.c: Check profile consistency. - * gcc.dg/vect/vect-107.c: Check profile consistency. - * gcc.dg/vect/vect-108.c: Check profile consistency. - * gcc.dg/vect/vect-109.c: Check profile consistency. - * gcc.dg/vect/vect-11.c: Check profile consistency. - * gcc.dg/vect/vect-110.c: Check profile consistency. - * gcc.dg/vect/vect-112-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-112.c: Check profile consistency. - * gcc.dg/vect/vect-113.c: Check profile consistency. - * gcc.dg/vect/vect-114.c: Check profile consistency. - * gcc.dg/vect/vect-115.c: Check profile consistency. - * gcc.dg/vect/vect-116.c: Check profile consistency. - * gcc.dg/vect/vect-117.c: Check profile consistency. - * gcc.dg/vect/vect-118.c: Check profile consistency. - * gcc.dg/vect/vect-119.c: Check profile consistency. - * gcc.dg/vect/vect-11a.c: Check profile consistency. - * gcc.dg/vect/vect-12.c: Check profile consistency. - * gcc.dg/vect/vect-120.c: Check profile consistency. - * gcc.dg/vect/vect-121.c: Check profile consistency. - * gcc.dg/vect/vect-122.c: Check profile consistency. - * gcc.dg/vect/vect-123.c: Check profile consistency. - * gcc.dg/vect/vect-124.c: Check profile consistency. - * gcc.dg/vect/vect-126.c: Check profile consistency. - * gcc.dg/vect/vect-13.c: Check profile consistency. - * gcc.dg/vect/vect-14.c: Check profile consistency. - * gcc.dg/vect/vect-15-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-15.c: Check profile consistency. - * gcc.dg/vect/vect-17.c: Check profile consistency. - * gcc.dg/vect/vect-18.c: Check profile consistency. - * gcc.dg/vect/vect-19.c: Check profile consistency. - * gcc.dg/vect/vect-2-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-2.c: Check profile consistency. - * gcc.dg/vect/vect-20.c: Check profile consistency. - * gcc.dg/vect/vect-21.c: Check profile consistency. - * gcc.dg/vect/vect-22.c: Check profile consistency. - * gcc.dg/vect/vect-23.c: Check profile consistency. - * gcc.dg/vect/vect-24.c: Check profile consistency. - * gcc.dg/vect/vect-25.c: Check profile consistency. - * gcc.dg/vect/vect-26.c: Check profile consistency. - * gcc.dg/vect/vect-27.c: Check profile consistency. - * gcc.dg/vect/vect-28.c: Check profile consistency. - * gcc.dg/vect/vect-29.c: Check profile consistency. - * gcc.dg/vect/vect-3.c: Check profile consistency. - * gcc.dg/vect/vect-30.c: Check profile consistency. - * gcc.dg/vect/vect-31-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-31.c: Check profile consistency. - * gcc.dg/vect/vect-32-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-32-chars.c: Check profile consistency. - * gcc.dg/vect/vect-32.c: Check profile consistency. - * gcc.dg/vect/vect-33-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-33.c: Check profile consistency. - * gcc.dg/vect/vect-34-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-34.c: Check profile consistency. - * gcc.dg/vect/vect-35-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-35.c: Check profile consistency. - * gcc.dg/vect/vect-36-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-36.c: Check profile consistency. - * gcc.dg/vect/vect-38.c: Check profile consistency. - * gcc.dg/vect/vect-4.c: Check profile consistency. - * gcc.dg/vect/vect-40.c: Check profile consistency. - * gcc.dg/vect/vect-42.c: Check profile consistency. - * gcc.dg/vect/vect-44.c: Check profile consistency. - * gcc.dg/vect/vect-46.c: Check profile consistency. - * gcc.dg/vect/vect-48.c: Check profile consistency. - * gcc.dg/vect/vect-5.c: Check profile consistency. - * gcc.dg/vect/vect-50.c: Check profile consistency. - * gcc.dg/vect/vect-52.c: Check profile consistency. - * gcc.dg/vect/vect-54.c: Check profile consistency. - * gcc.dg/vect/vect-56.c: Check profile consistency. - * gcc.dg/vect/vect-58.c: Check profile consistency. - * gcc.dg/vect/vect-6-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-6.c: Check profile consistency. - * gcc.dg/vect/vect-60.c: Check profile consistency. - * gcc.dg/vect/vect-62.c: Check profile consistency. - * gcc.dg/vect/vect-63.c: Check profile consistency. - * gcc.dg/vect/vect-64.c: Check profile consistency. - * gcc.dg/vect/vect-65.c: Check profile consistency. - * gcc.dg/vect/vect-66.c: Check profile consistency. - * gcc.dg/vect/vect-67.c: Check profile consistency. - * gcc.dg/vect/vect-68.c: Check profile consistency. - * gcc.dg/vect/vect-7.c: Check profile consistency. - * gcc.dg/vect/vect-70.c: Check profile consistency. - * gcc.dg/vect/vect-71.c: Check profile consistency. - * gcc.dg/vect/vect-72.c: Check profile consistency. - * gcc.dg/vect/vect-73-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-73.c: Check profile consistency. - * gcc.dg/vect/vect-74-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-74.c: Check profile consistency. - * gcc.dg/vect/vect-75-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-75.c: Check profile consistency. - * gcc.dg/vect/vect-76-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-76.c: Check profile consistency. - * gcc.dg/vect/vect-77-alignchecks.c: Check profile consistency. - * gcc.dg/vect/vect-77-global.c: Check profile consistency. - * gcc.dg/vect/vect-77.c: Check profile consistency. - * gcc.dg/vect/vect-78-alignchecks.c: Check profile consistency. - * gcc.dg/vect/vect-78-global.c: Check profile consistency. - * gcc.dg/vect/vect-78.c: Check profile consistency. - * gcc.dg/vect/vect-8.c: Check profile consistency. - * gcc.dg/vect/vect-80-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-80.c: Check profile consistency. - * gcc.dg/vect/vect-82.c: Check profile consistency. - * gcc.dg/vect/vect-82_64.c: Check profile consistency. - * gcc.dg/vect/vect-83.c: Check profile consistency. - * gcc.dg/vect/vect-83_64.c: Check profile consistency. - * gcc.dg/vect/vect-85-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-85.c: Check profile consistency. - * gcc.dg/vect/vect-86.c: Check profile consistency. - * gcc.dg/vect/vect-87.c: Check profile consistency. - * gcc.dg/vect/vect-88.c: Check profile consistency. - * gcc.dg/vect/vect-89-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-89.c: Check profile consistency. - * gcc.dg/vect/vect-9.c: Check profile consistency. - * gcc.dg/vect/vect-91.c: Check profile consistency. - * gcc.dg/vect/vect-92.c: Check profile consistency. - * gcc.dg/vect/vect-93.c: Check profile consistency. - * gcc.dg/vect/vect-95.c: Check profile consistency. - * gcc.dg/vect/vect-96.c: Check profile consistency. - * gcc.dg/vect/vect-97-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-97.c: Check profile consistency. - * gcc.dg/vect/vect-98-big-array.c: Check profile consistency. - * gcc.dg/vect/vect-98.c: Check profile consistency. - * gcc.dg/vect/vect-99.c: Check profile consistency. - -2023-08-01 Pan Li - Juzhe-Zhong - - * gcc.target/riscv/rvv/base/float-point-frm-insert-7.c: Adjust - test cases. - * gcc.target/riscv/rvv/base/float-point-frm-run-1.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-run-2.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-run-3.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-33.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-34.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-35.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-36.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-37.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-38.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-39.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-40.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-41.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-42.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-43.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-44.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-45.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-46.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-47.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-48.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-49.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-50.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-51.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-52.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-53.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-54.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-55.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-56.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-57.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-58.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-59.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-60.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-61.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-62.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-63.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-64.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-65.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-66.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-67.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-68.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-69.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-70.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-71.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-72.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-73.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-74.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-75.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-76.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-77.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-run-4.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-run-5.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-run.h: New test. - -2023-08-01 Pan Li - - * gcc.target/riscv/rvv/base/float-point-single-rsub.c: New test. - * gcc.target/riscv/rvv/base/float-point-single-sub.c: New test. - -2023-08-01 liuhongt - - * gcc.target/i386/pr87007-4.c: Adjust testcase. - * gcc.target/i386/pr87007-5.c: Ditto. - -2023-08-01 Gaius Mulley - - PR modula2/110865 - * gm2/iso/pass/constvec.mod: New test. - * gm2/iso/pass/constvec2.mod: New test. - * gm2/iso/run/pass/constvec3.mod: New test. - -2023-08-01 Andrew Pinski - - PR tree-optimization/93044 - * gcc.dg/tree-ssa/cast-1.c: New test. - * gcc.dg/tree-ssa/cast-2.c: New test. - -2023-07-31 Hamza Mahfooz - - PR c/65213 - * gcc.dg/Wmissing-variable-declarations.c: New test. - -2023-07-31 Andrew Pinski - - PR tree-optimization/106164 - * gcc.dg/tree-ssa/cmpbit-2.c: New test. - -2023-07-31 Andrew Pinski - - PR tree-optimization/106164 - * gcc.dg/tree-ssa/cmpbit-1.c: New test. - -2023-07-31 Andrew Pinski - - PR tree-optimization/100864 - * gcc.dg/tree-ssa/bitops-3.c: New test. - -2023-07-31 Andrew MacLeod - - * gcc.dg/pr110582.c: New. - -2023-07-31 David Malcolm - - PR analyzer/109361 - * c-c++-common/diagnostic-format-sarif-file-timevars-1.c: New test. - * c-c++-common/diagnostic-format-sarif-file-timevars-2.c: New test. - -2023-07-31 Chung-Lin Tang - - * c-c++-common/goacc/host_data-2.c: Adjust testcase. - * gfortran.dg/goacc/host_data-error.f90: New testcase. - * gfortran.dg/goacc/pr71704.f90: Adjust testcase. - -2023-07-31 Stefan Schulze Frielinghaus - - * gcc.dg/cmp-mem-const-1.c: New test. - * gcc.dg/cmp-mem-const-2.c: New test. - * gcc.dg/cmp-mem-const-3.c: New test. - * gcc.dg/cmp-mem-const-4.c: New test. - * gcc.dg/cmp-mem-const-5.c: New test. - * gcc.dg/cmp-mem-const-6.c: New test. - * gcc.target/s390/cmp-mem-const-1.c: New test. - -2023-07-31 Hao Liu - - * gcc.target/aarch64/pr110625_1.c: New testcase. - * gcc.target/aarch64/pr110625_2.c: New testcase. - -2023-07-31 Roger Sayle - - PR target/110843 - * gcc.target/i386/pr110843.c: New test case. - -2023-07-31 Pan Li - - * gcc.target/riscv/rvv/base/float-point-frm-insert-1.c: Adjust - test cases. - * gcc.target/riscv/rvv/base/float-point-frm.c: Ditto. - -2023-07-31 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/v-1.c: Adapt test. - * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/dup-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/dup-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/dup-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/dup-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/dup-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/dup-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/dup-7.c: New test. - -2023-07-29 Roger Sayle - - PR target/110790 - * gcc.target/i386/pr110790-1.c: New test case. - * gcc.target/i386/pr110790-2.c: Likewise. - -2023-07-29 Jan Hubicka - - * gcc.dg/tree-ssa/vect-profile-upate-2.c: New test. - -2023-07-28 Harald Anlauf - - PR fortran/110825 - * gfortran.dg/assumed_type_18.f90: New test. - -2023-07-28 Patrick O'Neill - - * gcc.target/riscv/rvv/autovec/madd-split2-1.c: Add -mabi=lp64d - to dg-options. - -2023-07-28 Ng YongXiang - - PR c++/110057 - PR ipa/83054 - * g++.dg/warn/pr83054.C: Remove devirtualization warning. - * g++.dg/lto/pr89335_0.C: Likewise. - * g++.dg/tree-ssa/devirt-array-destructor-1.C: New test. - * g++.dg/tree-ssa/devirt-array-destructor-2.C: New test. - * g++.dg/warn/pr83054-2.C: New test. - -2023-07-28 Jan Hubicka - - PR middle-end/77689 - * g++.dg/tree-ssa/loop-split-1.C: New test. - -2023-07-28 Jan Hubicka - - PR middle-end/106293 - * gcc.dg/tree-prof/loop-split-1.c: New test. - * gcc.dg/tree-prof/loop-split-2.c: New test. - * gcc.dg/tree-prof/loop-split-3.c: New test. - -2023-07-28 xuli - - * g++.target/riscv/rvv/base/bug-12.C: Adapt testcase. - * g++.target/riscv/rvv/base/bug-14.C: Ditto. - * g++.target/riscv/rvv/base/bug-18.C: Ditto. - * g++.target/riscv/rvv/base/bug-19.C: Ditto. - * g++.target/riscv/rvv/base/bug-20.C: Ditto. - * g++.target/riscv/rvv/base/bug-21.C: Ditto. - * g++.target/riscv/rvv/base/bug-22.C: Ditto. - * g++.target/riscv/rvv/base/bug-23.C: Ditto. - * g++.target/riscv/rvv/base/bug-3.C: Ditto. - * g++.target/riscv/rvv/base/bug-8.C: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-100.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-101.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-103.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-104.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-105.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-106.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-107.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-109.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-110.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-111.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-112.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-113.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-115.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-116.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-117.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-118.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-97.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-98.c: Ditto. - * gcc.target/riscv/rvv/base/merge_constraint-1.c: Ditto. - * gcc.target/riscv/rvv/base/fixed-point-vxrm-error.c: New test. - * gcc.target/riscv/rvv/base/fixed-point-vxrm.c: New test. - -2023-07-28 Jan Hubicka - - * gcc.dg/tree-ssa/ifc-12.c: Disable loop splitting. - * gcc.target/i386/avx2-gather-6.c: Likewise. - * gcc.target/i386/avx2-vect-aggressive.c: Likewise. - -2023-07-28 liuhongt - - * gcc.target/i386/pr110788.c: New test. - -2023-07-27 David Faust - - PR target/110782 - PR target/110784 - * gcc.target/bpf/sload-1.c: New test. - * gcc.target/bpf/sload-pseudoc-1.c: New test. - * gcc.target/bpf/smov-1.c: New test. - * gcc.target/bpf/smov-pseudoc-1.c: New test. - -2023-07-27 David Faust - - * gcc.target/bpf/alu-2.c: New test. - * gcc.target/bpf/alu-pseudoc-2.c: Likewise. - -2023-07-27 Jan Hubicka - - * gcc.dg/tree-prof/peel-1.c: Test for profile mismatches. - * gcc.dg/tree-prof/unroll-1.c: Test for profile mismatches. - * gcc.dg/tree-ssa/peel1.c: Test for profile mismatches. - * gcc.dg/unroll-1.c: Test for profile mismatches. - * gcc.dg/unroll-3.c: Test for profile mismatches. - * gcc.dg/unroll-4.c: Test for profile mismatches. - * gcc.dg/unroll-5.c: Test for profile mismatches. - * gcc.dg/unroll-6.c: Test for profile mismatches. - -2023-07-27 Tobias Burnus - - * gfortran.dg/gomp/teams-6.f90: Extend. - -2023-07-27 Jan Hubicka - - * gcc.dg/pr102385.c: Check for no profile mismatches. - * gcc.dg/pr96931.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-1.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-2.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-3.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-4.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-5.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-7.c: Check for one profile mismatch. - * gcc.dg/tree-ssa/predcom-8.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-dse-1.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-dse-10.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-dse-11.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-dse-12.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-dse-2.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-dse-3.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-dse-4.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-dse-5.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-dse-6.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-dse-7.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-dse-8.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/predcom-dse-9.c: Check for no profile mismatches. - * gcc.dg/tree-ssa/update-unroll-1.c: Unxfail. - -2023-07-27 Patrick Palka - - PR c++/110197 - * g++.dg/cpp0x/constexpr-empty18.C: New test. - * g++.dg/cpp0x/constexpr-empty19.C: New test. - -2023-07-27 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/partial/slp-9.c: Add more checks. - * gcc.target/riscv/rvv/rvv.exp: Add VLS modes tests. - * gcc.target/riscv/rvv/autovec/vls/def.h: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-10.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-11.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-12.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-13.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-14.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-15.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-16.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-17.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-8.c: New test. - * gcc.target/riscv/rvv/autovec/vls/mov-9.c: New test. - * gcc.target/riscv/rvv/autovec/vls/spill-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/spill-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/spill-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/spill-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/spill-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/spill-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/spill-7.c: New test. - -2023-07-27 demin.han - - * gcc.target/riscv/rvv/autovec/madd-split2-1.c: New test. - -2023-07-27 Richard Biener - - PR tree-optimization/110829 - * gcc.dg/pr56837.c: XFAIL part of the testcase. - -2023-07-27 Nathaniel Shead - - PR c++/103497 - * g++.dg/cpp1y/decltype-auto-103497.C: New test. - -2023-07-27 Kewen Lin - Richard Biener - - PR tree-optimization/110776 - * gcc.target/powerpc/pr110776.c: New test. - -2023-07-27 Jeff Law - - * gcc.target/riscv/arch-23.c: Update expected diagnostic messages. - * gcc.target/riscv/pr102957.c: Likewise. - -2023-07-26 Patrick Palka - - PR c++/110566 - PR c++/108179 - * g++.dg/cpp1z/class-deduction115.C: New test. - * g++.dg/template/ttp39.C: New test. - -2023-07-26 Patrick Palka - - PR c++/110566 - PR c++/108179 - * g++.dg/template/ttp38.C: New test. - -2023-07-26 Xiao Zeng - - * gcc.target/riscv/zicond-primitiveSemantics.c: New test. - Co-authored-by: Philipp Tomsich - Co-authored-by: Raphael Zinsly - Co-authored-by: Jeff Law - -2023-07-26 Xiao Zeng - - * gcc.target/riscv/attribute-20.c: New test. - * gcc.target/riscv/attribute-21.c: New test. - Co-authored-by: Philipp Tomsich - -2023-07-26 Patrick Palka - - PR c++/110809 - * g++.dg/cpp2a/nontype-float3.C: New test. - -2023-07-26 Harald Anlauf - - PR fortran/68569 - * gfortran.dg/data_char_4.f90: Adjust expected diagnostic. - * gfortran.dg/data_char_5.f90: Likewise. - * gfortran.dg/data_char_6.f90: New test. - -2023-07-26 Jason Merrill - - PR c++/106310 - * g++.dg/template/template-keyword4.C: New test. - -2023-07-26 David Faust - - * gcc.target/bpf/atomic-cmpxchg-1.c: New test. - * gcc.target/bpf/atomic-cmpxchg-2.c: New test. - * gcc.target/bpf/atomic-fetch-op-1.c: New test. - * gcc.target/bpf/atomic-fetch-op-2.c: New test. - * gcc.target/bpf/atomic-fetch-op-3.c: New test. - * gcc.target/bpf/atomic-op-1.c: New test. - * gcc.target/bpf/atomic-op-2.c: New test. - * gcc.target/bpf/atomic-op-3.c: New test. - * gcc.target/bpf/atomic-xchg-1.c: New test. - * gcc.target/bpf/atomic-xchg-2.c: New test. - -2023-07-26 Matthew Malcomson - - * gcc.dg/vect/vect-multi-peel-gaps.c: Add `check_vect` call into - `main` of this testcase. - -2023-07-26 Carl Love - - * gcc.target/powerpc/vec-replace-word-runnable.c: Renam - vec-replace-word-runnable_1.c. - * gcc.target/powerpc/vec-replace-word-runnable_1.c - (dg-options): add -flax-vector-conversions. - (vec_replace_unaligned) Fix first argument type. - (vresult_uchar): Fix expected results. - (vec_replace_unaligned): Update for loop to check uchar results. - Remove extra spaces in if statements. Insert missing spaces in - for statements. - * gcc.target/powerpc/vec-replace-word-runnable_2.c: New test file. - -2023-07-26 Uros Bizjak - - * gfortran.dg/ieee/comparisons_3.F90: Use dg-additional-options - instead of dg-options. - -2023-07-26 Richard Biener - - PR tree-optimization/106081 - * gcc.dg/vect/pr106081.c: New testcase. - -2023-07-26 Siddhesh Poyarekar - - PR testsuite/110763 - * gcc.dg/ubsan/object-size-dyn.c (dyn): New parameter RET. - (main): Use it. - -2023-07-26 Li Xu - - * gcc.target/riscv/rvv/base/tuple-intrinsic.c: New test. - -2023-07-26 Uros Bizjak - - PR target/110762 - * gcc.target/i386/pr110762.c: New test. - -2023-07-26 Jose E. Marchesi - - * gcc.target/bpf/neg-1.c: New test. - * gcc.target/bpf/neg-pseudoc-1.c: Likewise. - -2023-07-26 Richard Biener - - PR tree-optimization/110799 - * gcc.dg/torture/pr110799.c: New testcase. - -2023-07-26 Jakub Jelinek - - PR tree-optimization/110755 - * gcc.dg/pr110755.c: New test. - -2023-07-26 Kewen Lin - - PR target/110741 - * g++.target/powerpc/pr110741.C: New test. - -2023-07-26 Jin Ma - - * gcc.target/riscv/fsflags.c: New test. - -2023-07-26 Nathaniel Shead - - PR c++/96630 - PR c++/98675 - PR c++/70331 - * g++.dg/cpp1y/constexpr-lifetime1.C: New test. - * g++.dg/cpp1y/constexpr-lifetime2.C: New test. - * g++.dg/cpp1y/constexpr-lifetime3.C: New test. - * g++.dg/cpp1y/constexpr-lifetime4.C: New test. - * g++.dg/cpp1y/constexpr-lifetime5.C: New test. - * g++.dg/cpp1y/constexpr-lifetime6.C: New test. - -2023-07-26 Nathaniel Shead - - PR c++/110619 - * g++.dg/cpp1y/constexpr-110619.C: New test. - -2023-07-26 Nathaniel Shead - - * g++.dg/cpp0x/constexpr-48089.C: Update diagnostic locations. - * g++.dg/cpp0x/constexpr-70323.C: Likewise. - * g++.dg/cpp0x/constexpr-70323a.C: Likewise. - * g++.dg/cpp0x/constexpr-delete2.C: Likewise. - * g++.dg/cpp0x/constexpr-diag3.C: Likewise. - * g++.dg/cpp0x/constexpr-ice20.C: Likewise. - * g++.dg/cpp0x/constexpr-mutable3.C: Likewise. - * g++.dg/cpp0x/constexpr-recursion.C: Likewise. - * g++.dg/cpp0x/overflow1.C: Likewise. - * g++.dg/cpp1y/constexpr-89285.C: Likewise. - * g++.dg/cpp1y/constexpr-89481.C: Likewise. - * g++.dg/cpp1y/constexpr-tracking-const14.C: Likewise. - * g++.dg/cpp1y/constexpr-tracking-const16.C: Likewise. - * g++.dg/cpp1y/constexpr-tracking-const18.C: Likewise. - * g++.dg/cpp1y/constexpr-tracking-const19.C: Likewise. - * g++.dg/cpp1y/constexpr-tracking-const21.C: Likewise. - * g++.dg/cpp1y/constexpr-tracking-const22.C: Likewise. - * g++.dg/cpp1y/constexpr-tracking-const3.C: Likewise. - * g++.dg/cpp1y/constexpr-tracking-const4.C: Likewise. - * g++.dg/cpp1y/constexpr-tracking-const7.C: Likewise. - * g++.dg/cpp1y/constexpr-union5.C: Likewise. - * g++.dg/cpp1y/pr68180.C: Likewise. - * g++.dg/cpp1z/constexpr-lambda6.C: Likewise. - * g++.dg/cpp1z/constexpr-lambda8.C: Likewise. - * g++.dg/cpp2a/bit-cast11.C: Likewise. - * g++.dg/cpp2a/bit-cast12.C: Likewise. - * g++.dg/cpp2a/bit-cast14.C: Likewise. - * g++.dg/cpp2a/constexpr-98122.C: Likewise. - * g++.dg/cpp2a/constexpr-dynamic17.C: Likewise. - * g++.dg/cpp2a/constexpr-init1.C: Likewise. - * g++.dg/cpp2a/constexpr-new12.C: Likewise. - * g++.dg/cpp2a/constexpr-new3.C: Likewise. - * g++.dg/cpp2a/constinit10.C: Likewise. - * g++.dg/cpp2a/is-corresponding-member4.C: Likewise. - * g++.dg/ext/constexpr-vla2.C: Likewise. - * g++.dg/ext/constexpr-vla3.C: Likewise. - * g++.dg/ubsan/pr63956.C: Likewise. - -2023-07-26 Jason Merrill - - * lib/g++-dg.exp (g++-dg-runtest): Check for c++11_only. - -2023-07-25 Andrew Pinski - - PR testsuite/110803 - * gcc.dg/tree-ssa/pr109986.c: Change plain char to be - `signed char`. - -2023-07-25 Marek Polacek - - PR c++/110382 - * g++.dg/cpp1y/constexpr-110382.C: New test. - -2023-07-25 Tobias Burnus - - PR fortran/110725 - PR middle-end/71065 - * gfortran.dg/gomp/teams-6.f90: New test. - -2023-07-25 Marc Poulhiès - - * gnat.dg/unroll3.adb: Adjust. - -2023-07-25 Tobias Burnus - - * gfortran.dg/gomp/pr99226.f90: Update dg-error. - -2023-07-25 Haochen Gui - - PR target/103605 - * gcc.target/powerpc/pr103605.h: New. - * gcc.target/powerpc/pr103605-1.c: New. - * gcc.target/powerpc/pr103605-2.c: New. - -2023-07-25 Gaius Mulley - - PR modula2/110174 - * gm2/pim/pass/program2.mod: Remove import of BuildInline. - * gm2/extensions/asm/fail/extensions-asm-fail.exp: New test. - * gm2/extensions/asm/fail/stressreturn.mod: New test. - * gm2/extensions/asm/pass/extensions-asm-pass.exp: New test. - * gm2/extensions/asm/pass/fooasm.mod: New test. - -2023-07-24 Tobias Burnus - - PR fortran/110725 - PR middle-end/71065 - * gfortran.dg/gomp/pr99226.f90: Update dg-error. - * gfortran.dg/gomp/teams-5.f90: New test. - -2023-07-24 Drew Ross - Jakub Jelinek - - PR middle-end/109986 - * gcc.c-torture/execute/pr109986.c: New test. - * gcc.dg/tree-ssa/pr109986.c: New test. - -2023-07-24 Jose E. Marchesi - - PR target/110783 - * gcc.target/bpf/xbpf-sdiv-1.c: Renamed to sdiv-1.c - * gcc.target/bpf/xbpf-smod-1.c: Renamed to smod-1.c - * gcc.target/bpf/sdiv-1.c: Renamed from xbpf-sdiv-1.c, use -mcpu=v4. - * gcc.target/bpf/smod-1.c: Renamed from xbpf-smod-1.c, use -mcpu=v4. - * gcc.target/bpf/diag-sdiv.c: Use -mcpu=v3. - * gcc.target/bpf/diag-smod.c: Likewise. - -2023-07-24 Robin Dapp - - * gcc.target/riscv/rvv/autovec/conversions/vec-narrow-int64-float16.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vec-widen-float16-int64.c: New test. - -2023-07-24 Jose E. Marchesi - - PR target/110786 - * gcc.target/bpf/bswap-1.c: Pass -mcpu=v3 to build test. - * gcc.target/bpf/bswap-2.c: New test. - -2023-07-24 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-1.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-2.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-3.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-4.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-5.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-6.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-7.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-2.c: New test. - -2023-07-24 Richard Biener - - PR tree-optimization/110777 - * gcc.dg/pr110777.c: New testcase. - -2023-07-24 Richard Biener - - PR tree-optimization/110766 - * gcc.dg/torture/pr110766.c: New testcase. - -2023-07-24 Pan Li - - * gcc.target/riscv/rvv/base/float-point-frm-error.c: Update cases. - * gcc.target/riscv/rvv/base/float-point-frm-insert-6.c: Removed. - -2023-07-22 Vineet Gupta - - * gcc.target/riscv/pr110748-1.c: New Test. - * gcc.target/riscv/xtheadfmv-fmv.c: Add '\t' around test - patterns to avoid random string matches. - -2023-07-22 Maciej W. Rozycki - - * gcc.dg/vect/bb-slp-pr95839-v8.c: Limit to `vect64' targets. - -2023-07-22 Gaius Mulley - - PR modula2/110631 - * gm2/pimlib/run/pass/testfiobinary.mod: New test. - -2023-07-21 John David Anglin - - * gcc.c-torture/compile/asmgoto-6.c: Require target lra. - -2023-07-21 Roger Sayle - Richard Biener - - PR c/110699 - * gcc.dg/pr110699.c: New test case. - -2023-07-21 Marek Polacek - - PR c++/110106 - * g++.dg/cpp0x/noexcept80.C: New test. - -2023-07-21 Jan Hubicka - - * gcc.dg/tree-ssa/copy-headers-9.c: Fix template for tree-ssa-loop-ch.cc changes. - * gcc.dg/tree-ssa/dce-1.c: Likewise. - -2023-07-21 Jan Hubicka - - * gcc.dg/loop-unswitch-17.c: Disable ch. - * gcc.dg/pr103079.c: Disable ch. - * gcc.dg/tree-ssa/copy-headers-7.c: Update so ch behaves - as expected. - * gcc.dg/tree-ssa/copy-headers.c: Update template. - * gcc.dg/tree-ssa/copy-headers-9.c: New test. - -2023-07-21 Richard Biener - - PR tree-optimization/41320 - * gcc.dg/tree-ssa/forwprop-12.c: Remove. - -2023-07-21 Jan Hubicka - - * gcc.dg/tree-ssa/dce-1.c: Update for new loop dumps. - -2023-07-21 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/gimple_fold-1.c: Ditto. - -2023-07-21 Richard Biener - - PR tree-optimization/88540 - * gcc.target/i386/pr88540.c: New testcase. - * gcc.target/i386/pr54855-9.c: XFAIL check for redundant moves. - * gcc.target/i386/pr54855-12.c: Adjust. - * gcc.target/i386/pr54855-13.c: Likewise. - * gcc.target/i386/pr110170.c: Likewise. - * gcc.dg/tree-ssa/split-path-12.c: Likewise. - -2023-07-21 Andrew Pinski - - * gcc.dg/tree-ssa/reassoc-12.c: Disable all of - the passes that enables match-and-simplify. - * gcc.dg/tree-ssa/minmax-23.c: New test. - -2023-07-21 Richard Biener - - PR tree-optimization/110742 - * g++.dg/torture/pr110742.C: New testcase. - -2023-07-21 Kewen Lin - - PR testsuite/110729 - * gcc.dg/pr110729.c: New test. - -2023-07-21 liuhongt - - * c-c++-common/fcf-protection-10.c: New test. - * c-c++-common/fcf-protection-11.c: New test. - * c-c++-common/fcf-protection-12.c: New test. - * c-c++-common/fcf-protection-8.c: New test. - * c-c++-common/fcf-protection-9.c: New test. - * gcc.target/i386/pr89701-1.c: New test. - * gcc.target/i386/pr89701-2.c: New test. - * gcc.target/i386/pr89701-3.c: New test. - -2023-07-21 liuhongt - - * gcc.dg/pr107547.c: Add { dg-add-options float16 }. - * gcc.target/i386/float16-7.c: Add -msse2 to dg-options. - * lib/target-supports.exp (add_options_for_float16): Add - -msse2 for i?86-*-* || x86_64-*-*. - -2023-07-21 David Malcolm - - PR analyzer/110455 - * gcc.dg/analyzer/pr110455.c: New test. - -2023-07-21 David Malcolm - - PR analyzer/110387 - * gcc.dg/analyzer/out-of-bounds-pr110387.c: New test. - -2023-07-20 Gaius Mulley - - * gm2/switches/uninit-variable-checking/procedures/fail/testdispose3.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/fail/testdispose4.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/pass/testdispose3.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/pass/testdispose4.mod: New test. - -2023-07-20 Uros Bizjak - - PR target/110717 - * gcc.target/i386/pr110717.c: New test. - -2023-07-20 Marek Polacek - - * g++.dg/tree-ssa/allocator-opt1.C: Force _GLIBCXX_USE_CXX11_ABI to 1. - -2023-07-20 Marek Polacek - - PR c++/110114 - * g++.dg/cpp0x/initlist100.C: Adjust expected diagnostic. - * g++.dg/cpp2a/desig28.C: New test. - * g++.dg/cpp2a/desig29.C: New test. - -2023-07-20 Jan Hubicka - - * g++.dg/uninit-pred-loop-1_c.C: Allow warning. - * gcc.dg/tree-ssa/copy-headers-7.c: Add tests so exit conditition is - static; update template. - * gcc.dg/tree-ssa/ivopt_mult_1.c: Add test so exit condition is static. - * gcc.dg/tree-ssa/ivopt_mult_2.c: Add test so exit condition is static. - * gcc.dg/tree-ssa/copy-headers-8.c: New test. - -2023-07-20 Matthew Malcomson - - * gcc.dg/vect/vect-multi-peel-gaps.c: New test. - -2023-07-20 Francois-Xavier Coudert - - * gfortran.dg/ieee/comparisons_1.f90: New test. - * gfortran.dg/ieee/comparisons_2.f90: New test. - * gfortran.dg/ieee/comparisons_3.F90: New test. - -2023-07-20 Francois-Xavier Coudert - - PR middle-end/77928 - * gcc.dg/torture/builtin-iseqsig-1.c: New test. - * gcc.dg/torture/builtin-iseqsig-2.c: New test. - * gcc.dg/torture/builtin-iseqsig-3.c: New test. - -2023-07-20 Pan Li - - * gcc.target/riscv/rvv/base/pr110299-1.c: Adjust tests. - * gcc.target/riscv/rvv/base/pr110299-2.c: Ditto. - -2023-07-20 Roger Sayle - - * gcc.target/i386/pr88873.c: New test case. - -2023-07-20 Richard Biener - - PR middle-end/61747 - * g++.target/i386/pr61747.C: New testcase. - -2023-07-20 Lewis Hyatt - - PR preprocessor/103902 - * g++.dg/cpp0x/udlit-extended-id-1.C: Change "unsigned long" to - "size_t" throughout. - * g++.dg/cpp0x/udlit-extended-id-3.C: Likewise. - -2023-07-20 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-7.c: - Adapt test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-8.c: - Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-9.c: - Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-8.c - : Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-8.c: - Ditto. - -2023-07-19 Marek Polacek - - PR c++/110745 - * g++.dg/diagnostic/base.C: New test. - -2023-07-19 David Malcolm - - PR analyzer/110700 - * gcc.dg/analyzer/taint-divisor-2.c: New test. - -2023-07-19 Marek Polacek - - PR c++/110064 - * g++.dg/warn/Wmissing-field-initializers-3.C: New test. - -2023-07-19 Vladimir N. Makarov - - * gcc.target/avr/lra-elim.c: New test. - -2023-07-19 Gaius Mulley - - * gm2/errors/fail/badabs.mod: New test. - * gm2/errors/fail/badenum.mod: New test. - -2023-07-19 Andrew Carlotti - - * gcc.target/aarch64/feature-bf16-backport.c: New test. - * gcc.target/aarch64/feature-dotprod-backport.c: New test. - * gcc.target/aarch64/feature-fp16-backport.c: New test. - * gcc.target/aarch64/feature-fp16-scalar-backport.c: New test. - * gcc.target/aarch64/feature-fp16fml-backport.c: New test. - * gcc.target/aarch64/feature-i8mm-backport.c: New test. - * gcc.target/aarch64/feature-memtag-backport.c: New test. - * gcc.target/aarch64/feature-sha3-backport.c: New test. - * gcc.target/aarch64/feature-sm4-backport.c: New test. - -2023-07-19 Andrew Pinski - - PR tree-optimization/110252 - * gcc.dg/tree-ssa/phi-opt-25b.c: Updated as - __builtin_parity loses the nonzerobits info. - * gcc.c-torture/execute/pr110252-1.c: New test. - * gcc.c-torture/execute/pr110252-2.c: New test. - * gcc.c-torture/execute/pr110252-3.c: New test. - * gcc.c-torture/execute/pr110252-4.c: New test. - -2023-07-19 Andrew Pinski - - PR tree-optimization/110726 - * gcc.c-torture/execute/bitops-1.c: New test. - -2023-07-19 Gaius Mulley - - * gm2/switches/uninit-variable-checking/procedures/fail/testdispose.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/fail/testdispose2.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/fail/testnil.mod: New test. - -2023-07-19 Jakub Jelinek - - PR tree-optimization/110731 - * gcc.dg/pr110731.c: New test. - -2023-07-19 Maciej W. Rozycki - - * gcc.dg/vect/bb-slp-pr95839-v8.c: New test. - -2023-07-19 Tobias Burnus - - PR fortran/107424 - * gfortran.dg/gomp/linear-2.f90: Update dump to remove - the additional count variable. - -2023-07-19 Lehua Ding - - * gcc.target/riscv/arch-2.c: Update -march. - * gcc.target/riscv/arch-3.c: Ditto. - * gcc.target/riscv/arch-5.c: Ditto. - * gcc.target/riscv/arch-8.c: Ditto. - * gcc.target/riscv/attribute-10.c: Ditto. - * gcc.target/riscv/attribute-18.c: Ditto. - * gcc.target/riscv/attribute-19.c: Ditto. - * gcc.target/riscv/attribute-8.c: Ditto. - * gcc.target/riscv/attribute-9.c: Ditto. - * gcc.target/riscv/pr102957.c: Ditto. - * gcc.target/riscv/arch-22.cc: New test. - * gcc.target/riscv/arch-23.c: New file. - -2023-07-19 Lehua Ding - - * gcc.target/riscv/stack_save_restore.c: Moved to... - * gcc.target/riscv/stack_save_restore_2.c: ...here. - * gcc.target/riscv/stack_save_restore_1.c: New test. - -2023-07-19 Lewis Hyatt - - PR preprocessor/103902 - * g++.dg/cpp0x/udlit-extended-id-1.C: New test. - * g++.dg/cpp0x/udlit-extended-id-2.C: New test. - * g++.dg/cpp0x/udlit-extended-id-3.C: New test. - * g++.dg/cpp0x/udlit-extended-id-4.C: New test. - -2023-07-19 liuhongt - - * gcc.target/i386/pr109504.c: New test. - * gcc.target/i386/sse2-bfloat16-1.c: Adjust error info. - * gcc.target/i386/sse2-float16-1.c: Ditto. - * gcc.target/i386/sse2-float16-4.c: New test. - * gcc.target/i386/sse2-float16-5.c: New test. - * g++.target/i386/float16-1.C: Adjust error info. - -2023-07-18 Marek Polacek - - PR c++/110340 - * g++.dg/cpp/string-4.C: New test. - * g++.dg/cpp/ucn-2.C: New test. - -2023-07-18 Marek Polacek - - * g++.dg/debug/dwarf2/utf-1.C: Use -gdwarf-4. Adjust expected - output. - -2023-07-18 Gaius Mulley - - * gm2/switches/uninit-variable-checking/pass/assignparam.mod: New test. - * gm2/switches/uninit-variable-checking/pass/tiny.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/fail/switches-uninit-variable-checking-procedures-fail.exp: - New test. - * gm2/switches/uninit-variable-checking/procedures/fail/testnew.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/fail/testnew2.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/fail/testnew3.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/fail/testnew4.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/fail/testnew5.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/fail/testnew6.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/fail/testptrptr.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/pass/assignparam2.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/pass/switches-uninit-variable-checking-procedures-pass.exp: - New test. - * gm2/switches/uninit-variable-checking/procedures/pass/testnew5.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/pass/testnew6.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/pass/testparamlvalue.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/pass/testparamrvalue.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/pass/testproc.mod: New test. - * gm2/switches/uninit-variable-checking/procedures/pass/testptrptr.mod: New test. - -2023-07-18 Patrick Palka - - * g++.dg/overload/conv-op5.C: New test. - -2023-07-18 Patrick Palka - - PR c++/110535 - * g++.dg/cpp2a/concepts-surrogate1.C: New test. - * g++.dg/cpp2a/concepts-surrogate2.C: New test. - -2023-07-18 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/zve32f_zvl1024b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32f_zvl2048b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32f_zvl256b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32f_zvl4096b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32f_zvl512b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32x_zvl1024b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32x_zvl2048b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32x_zvl256b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32x_zvl4096b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32x_zvl512b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64d_zvl1024b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64d_zvl2048b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64d_zvl256b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64d_zvl4096b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64d_zvl512b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64f_zvl1024b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64f_zvl2048b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64f_zvl256b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64f_zvl4096b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64f_zvl512b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64x_zvl1024b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64x_zvl2048b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64x_zvl256b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64x_zvl4096b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64x_zvl512b-1.c: New test. - -2023-07-18 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/reduc/reduc-5.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc-6.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc-7.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc-8.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc-9.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-6.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-7.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-8.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c: New test. - -2023-07-18 Lehua Ding - - * gcc.target/riscv/attribute-20.c: Removed. - -2023-07-18 Juergen Christ - - * gcc.target/s390/vector/vec-cmpge.c: New test. - -2023-07-18 Joern Rennecke - - * gcc.target/riscv/_Float16-zhinx-1.c: Tighten regexps. - -2023-07-18 liuhongt - - * gcc.target/i386/pr110591.c: New test. - * gcc.target/i386/pr110591-2.c: New test. - -2023-07-18 Pan Li - - * gcc.target/riscv/rvv/base/float-point-frm-run-1.c: Fix run failure. - -2023-07-18 Pan Li - Juzhe-Zhong - - * gcc.target/riscv/rvv/base/float-point-frm-insert-1.c: Adjust - test cases. - * gcc.target/riscv/rvv/base/float-point-frm-insert-10.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-insert-2.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-insert-3.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-insert-4.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-insert-5.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-insert-6.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-insert-7.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-insert-8.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-insert-9.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-run-1.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-run-2.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-run-3.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-1.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-10.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-11.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-12.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-13.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-14.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-15.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-16.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-17.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-18.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-19.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-2.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-20.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-21.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-22.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-23.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-24.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-25.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-26.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-27.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-28.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-29.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-3.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-30.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-31.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-32.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-4.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-5.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-6.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-7.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-8.c: New test. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-9.c: New test. - -2023-07-17 Harald Anlauf - - PR fortran/95947 - PR fortran/110658 - * gfortran.dg/deferred_character_37.f90: New test. - -2023-07-17 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/zvl-unimplemented-1.c: New test. - * gcc.target/riscv/rvv/base/zvl-unimplemented-2.c: New test. - -2023-07-17 Mikael Morin - - PR fortran/110618 - * gfortran.dg/intent_out_22.f90: New test. - -2023-07-17 Mikael Morin - - * gfortran.dg/finalize_53.f90: New test. - -2023-07-17 Lehua Ding - - PR target/110696 - * gcc.target/riscv/attribute-20.c: New test. - * gcc.target/riscv/pr110696.c: New test. - -2023-07-17 Juzhe-Zhong - - * gcc.target/riscv/rvv/rvv.exp: Add reduction tests. - * gcc.target/riscv/rvv/autovec/reduc/reduc-1.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc-2.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc-3.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc-4.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-4.c: New test. - -2023-07-17 Richard Biener - - PR tree-optimization/110669 - * gcc.dg/torture/pr110669.c: New testcase. - -2023-07-17 Andrew Pinski - - PR tree-optimization/95923 - * gcc.dg/tree-ssa/bitops-2.c: New test. - * gcc.dg/tree-ssa/bool-checks-1.c: New test. - -2023-07-17 Andrew Pinski - - PR tree-optimization/110666 - * gcc.c-torture/execute/pr110666-1.c: New test. - -2023-07-17 Mo, Zewei - - * g++.target/i386/mv16.C: Add arrowlake and arrowlake-s. - * gcc.target/i386/funcspec-56.inc: Handle new march. - -2023-07-17 Haochen Jiang - - * gcc.target/i386/vnniint16-auto-vectorize-1.c: New test. - * gcc.target/i386/vnniint16-auto-vectorize-2.c: Ditto. - -2023-07-17 Haochen Jiang - - * g++.dg/other/i386-2.C: Add -msm4. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-12.c: Add -msm4. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add sm4. - * gcc.target/i386/sse-23.c: Ditto. - * lib/target-supports.exp (check_effective_target_sm4): New. - * gcc.target/i386/sm4-1.c: New test. - * gcc.target/i386/sm4-check.h: Ditto. - * gcc.target/i386/sm4key4-2.c: Ditto. - * gcc.target/i386/sm4rnds4-2.c: Ditto. - -2023-07-17 Haochen Jiang - - * g++.dg/other/i386-2.C: Add -msha512. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-12.c: Add -msha512. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add sha512. - * gcc.target/i386/sse-23.c: Ditto. - * lib/target-supports.exp (check_effective_target_sha512): New. - * gcc.target/i386/sha512-1.c: New test. - * gcc.target/i386/sha512-check.h: Ditto. - * gcc.target/i386/sha512msg1-2.c: Ditto. - * gcc.target/i386/sha512msg2-2.c: Ditto. - * gcc.target/i386/sha512rnds2-2.c: Ditto. - -2023-07-17 Haochen Jiang - - * g++.dg/other/i386-2.C: Add -msm3. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/avx-1.c: Add new define for immediate. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-12.c: Add -msm3. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add sm3. - * gcc.target/i386/sse-23.c: Ditto. - * lib/target-supports.exp (check_effective_target_sm3): New. - * gcc.target/i386/sm3-1.c: New test. - * gcc.target/i386/sm3-check.h: Ditto. - * gcc.target/i386/sm3msg1-2.c: Ditto. - * gcc.target/i386/sm3msg2-2.c: Ditto. - * gcc.target/i386/sm3rnds2-2.c: Ditto. - -2023-07-17 Kong Lingling - Haochen Jiang - - * g++.dg/other/i386-2.C: Add -mavxvnniint16. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/avx-check.h: Add avxvnniint16 check. - * gcc.target/i386/sse-12.c: Add -mavxvnniint16. - * 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. - * lib/target-supports.exp - (check_effective_target_avxvnniint16): New. - * gcc.target/i386/avxvnniint16-1.c: Ditto. - * gcc.target/i386/avxvnniint16-vpdpwusd-2.c: Ditto. - * gcc.target/i386/avxvnniint16-vpdpwusds-2.c: Ditto. - * gcc.target/i386/avxvnniint16-vpdpwsud-2.c: Ditto. - * gcc.target/i386/avxvnniint16-vpdpwsuds-2.c: Ditto. - * gcc.target/i386/avxvnniint16-vpdpwuud-2.c: Ditto. - * gcc.target/i386/avxvnniint16-vpdpwuuds-2.c: Ditto. - -2023-07-15 David Edelsohn - - * gfortran.dg/pr103628.f90: Add -mlong-double-128 option. - -2023-07-15 Patrick Palka - - PR c++/110441 - * g++.dg/cpp1z/elide8.C: New test. - -2023-07-15 Patrick Palka - - PR c++/110524 - * g++.dg/cpp2a/fn-template26.C: New test. - -2023-07-14 Jason Merrill - - PR c++/110344 - * g++.dg/cpp0x/constexpr-cast2.C: Adjust for P2738. - * g++.dg/ipa/devirt-45.C: Handle -fimplicit-constexpr. - -2023-07-14 Roger Sayle - - PR target/110588 - * gcc.target/i386/pr110588.c: New test case. - -2023-07-14 Marek Polacek - Jason Merrill - - PR c++/109876 - * g++.dg/cpp0x/constexpr-template12.C: New test. - * g++.dg/cpp1z/constexpr-template1.C: New test. - * g++.dg/cpp1z/constexpr-template2.C: New test. - -2023-07-14 Uros Bizjak - - PR target/110206 - * gcc.target/i386/pr110206.c: New test. - -2023-07-14 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-7.c: - Adapt testcase for link fail. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-1.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-2.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-3.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-3.c: New test. - -2023-07-14 Mikael Morin - - PR fortran/92178 - * gfortran.dg/intent_out_21.f90: New test. - -2023-07-14 Mikael Morin - - PR fortran/92178 - * gfortran.dg/intent_out_20.f90: New test. - -2023-07-14 Mikael Morin - - PR fortran/92178 - * gfortran.dg/intent_out_19.f90: New test. - -2023-07-14 Tamar Christina - - PR tree-optimization/109154 - * gcc.dg/vect/vect-ifcvt-20.c: New test. - -2023-07-14 Tamar Christina - - PR tree-optimization/109154 - * gcc.dg/vect/vect-ifcvt-19.c: New test. - -2023-07-14 Monk Chiang - - * gcc.target/riscv/arch-22.c: New test. - * gcc.target/riscv/predef-28.c: New test. - -2023-07-13 Mikael Pettersson - - PR target/107841 - * gcc.target/pdp11/pr107841.c: New test. - -2023-07-13 Mikael Morin - - PR fortran/106050 - * gfortran.dg/pdt_33.f90: New test. - -2023-07-13 Carl Love - - * gcc.target/powerpc/test_fpscr_rn_builtin.c: Rename to - test_fpscr_rn_builtin_1.c. Add comment. - * gcc.target/powerpc/test_fpscr_rn_builtin_2.c: New test for the - return value of __builtin_set_fpscr_rn builtin. - * gcc.target/powerpc/test_fpscr_rn_builtin_1.c: New file. - -2023-07-13 Uros Bizjak - - PR target/106966 - * gcc.target/alpha/pr106966.c: New test. - -2023-07-13 Andrew Pinski - - * gcc.dg/tree-ssa/pr110293-1.c: New test. - * gcc.dg/tree-ssa/pr110539-1.c: New test. - * gcc.dg/tree-ssa/pr110539-2.c: New test. - * gcc.dg/tree-ssa/pr110539-3.c: New test. - * gcc.dg/tree-ssa/pr110539-4.c: New test. - -2023-07-13 Vladimir N. Makarov - - PR middle-end/109520 - * gcc.target/i386/pr109520.c: New test. - -2023-07-13 Pan Li - - * gcc.target/riscv/rvv/base/float-point-frm-insert-10.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-insert-7.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-insert-8.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-insert-9.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-run-1.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-run-2.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-run-3.c: New test. - -2023-07-13 Kewen Lin - - * gcc.target/i386/pr70021.c: Adjust with -fno-vect-cost-model. - -2023-07-13 Kewen Lin - - * gcc.dg/vect/costmodel/ppc/costmodel-vect-reversed.c: New test. - -2023-07-13 Bill Schmidt - Kewen Lin - - * gcc.dg/vect/costmodel/ppc/costmodel-pr82255.c: New test. - -2023-07-13 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/rvv.exp: Add gather/scatter tests. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-1.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-10.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-11.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-12.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-2.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-3.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-4.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-5.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-6.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-7.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-8.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-9.c: New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-1.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-10.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-11.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-2.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-3.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-4.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-5.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-6.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-7.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-8.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-9.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-1.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-10.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-11.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-2.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-3.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-4.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-5.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-6.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-7.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-8.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-9.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-1.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-10.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-11.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-2.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-3.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-4.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-5.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-6.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-7.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-8.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-9.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-1.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-10.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-2.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-3.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-4.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-5.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-6.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-7.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-8.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-9.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-1.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-10.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-2.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-3.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-4.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-5.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-6.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-7.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-8.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-9.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-1.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-10.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-2.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-3.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-4.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-5.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-6.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-7.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-8.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-9.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-1.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-10.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-2.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-3.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-4.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-5.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-6.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-7.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-8.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-9.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-1.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-2.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-1.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-2.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-1.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-2.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store_run-1.c: - New test. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store_run-2.c: - New test. - -2023-07-12 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: Adapt testcase. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vrem-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vadd-run-nofm.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv-nofm.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv-nofm.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vdiv-run-nofm.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv-nofm.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv-nofm.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vmul-run-nofm.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv-nofm.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv-nofm.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vsub-run-nofm.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv-nofm.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv-nofm.c: New test. - -2023-07-12 Aldy Hernandez - - PR tree-optimization/107043 - * gcc.dg/tree-ssa/pr107043.c: New test. - -2023-07-12 Aldy Hernandez - - PR tree-optimization/107053 - * gcc.dg/tree-ssa/pr107053.c: New test. - -2023-07-12 Aldy Hernandez - - * gcc.dg/pr83073.c: Adjust testcase. - -2023-07-12 Jan Hubicka - - * gcc.dg/tree-ssa/loop-ch-profile-1.c: Remove xfail. - -2023-07-12 Christoph Müllner - - * gcc.target/riscv/xtheadcondmov-indirect-rv32.c: Moved to... - * gcc.target/riscv/xtheadcondmov-indirect.c: ...here. - * gcc.target/riscv/xtheadcondmov-indirect-rv64.c: Removed. - -2023-07-12 Roger Sayle - - PR target/110598 - * gcc.target/i386/pr110598.c: New test case. - -2023-07-12 Andre Vehreschild - - * gfortran.dg/pdt_33.f03: New test. - -2023-07-12 Richard Biener - - PR tree-optimization/110630 - * gcc.dg/vect/bb-slp-pr95839.c: Make stricter. - * gcc.dg/vect/bb-slp-pr95839-3.c: New variant testcase. - -2023-07-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/autovec/binop/mulh-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/mulh-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/mulh_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/mulh_run-2.c: New test. - -2023-07-12 Jan Beulich - - * gcc.target/i386/avx2-dupv4sf.c: New test. - * gcc.target/i386/avx2-dupv4si.c: Likewise. - * gcc.target/i386/avx512f-dupv4sf.c: Likewise. - * gcc.target/i386/avx512f-dupv4si.c: Likewise. - -2023-07-12 Christoph Müllner - - * gcc.target/riscv/xtheadbb-ext-1.c: New test. - * gcc.target/riscv/xtheadbb-extu-1.c: New test. - -2023-07-12 liuhongt - - * gcc.target/i386/pr110438.c: New test. - * gcc.target/i386/pr100711-6.c: Adjust testcase. - -2023-07-12 Mo, Zewei - - * g++.target/i386/mv16.C: Add graniterapids-d. - * gcc.target/i386/funcspec-56.inc: Handle new march. - -2023-07-12 Haochen Jiang - - * gcc.target/i386/avx512vl-vaes-1.c: New test. - -2023-07-11 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-6.c: New test. - -2023-07-11 David Edelsohn - - * gcc.dg/analyzer/out-of-bounds-diagram-4.c: Skip on AIX. - * gcc.dg/analyzer/out-of-bounds-diagram-5-ascii.c: Same. - * gcc.dg/analyzer/out-of-bounds-diagram-5-unicode.c: Same. - * gcc.dg/analyzer/out-of-bounds-diagram-7.c: Same. - * gcc.dg/analyzer/out-of-bounds-diagram-13.c: Same. - * gcc.dg/analyzer/out-of-bounds-diagram-15.c: Same. - -2023-07-11 Harald Anlauf - - PR fortran/110288 - * gfortran.dg/findloc_10.f90: New test. - -2023-07-11 Carl Love - - * gcc.target/powerpc/vsx-vector-6-func-1op.h: New test file. - * gcc.target/powerpc/vsx-vector-6-func-1op-run.c: New test file. - * gcc.target/powerpc/vsx-vector-6-func-1op.c: New test file. - * gcc.target/powerpc/vsx-vector-6-func-2lop.h: New test file. - * gcc.target/powerpc/vsx-vector-6-func-2lop-run.c: New test file. - * gcc.target/powerpc/vsx-vector-6-func-2lop.c: New test file. - * gcc.target/powerpc/vsx-vector-6-func-2op.h: New test file. - * gcc.target/powerpc/vsx-vector-6-func-2op-run.c: New test file. - * gcc.target/powerpc/vsx-vector-6-func-2op.c: New test file. - * gcc.target/powerpc/vsx-vector-6-func-3op.h: New test file. - * gcc.target/powerpc/vsx-vector-6-func-3op-run.c: New test file. - * gcc.target/powerpc/vsx-vector-6-func-3op.c: New test file. - * gcc.target/powerpc/vsx-vector-6-func-cmp-all.h: New test file. - * gcc.target/powerpc/vsx-vector-6-func-cmp-all-run.c: New test file. - * gcc.target/powerpc/vsx-vector-6-func-cmp-all.c: New test - file. - * gcc.target/powerpc/vsx-vector-6-func-cmp.h: New test file. - * gcc.target/powerpc/vsx-vector-6-func-cmp-run.c: New test file. - * gcc.target/powerpc/vsx-vector-6-func-cmp.c: New test file. - * gcc.target/powerpc/vsx-vector-6.h: Remove test file. - * gcc.target/powerpc/vsx-vector-6.p7.c: Remove test file. - * gcc.target/powerpc/vsx-vector-6.p8.c: Remove test file. - * gcc.target/powerpc/vsx-vector-6.p9.c: Remove test file. - -2023-07-11 Maciej W. Rozycki - - * gcc.dg/vect/pr97428.c: Limit to `vect_double' targets. - -2023-07-11 Gaius Mulley - - * gm2/switches/uninit-variable-checking/cascade/fail/cascadedif.mod: New test. - * gm2/switches/uninit-variable-checking/cascade/fail/switches-uninit-variable-checking-cascade-fail.exp: - New test. - -2023-07-11 Patrick Palka - - PR c++/110580 - * g++.dg/cpp1y/var-templ83.C: New test. - -2023-07-11 liuhongt - - PR target/110170 - * g++.target/i386/pr110170.C: Fix typo. - -2023-07-11 Xi Ruoyao - - * g++.dg/vect/pr110557.cc: Use long long instead of long for - 64-bit type. - (test): Remove an unnecessary cast. - -2023-07-10 Patrick Palka - - PR c++/110523 - * g++.dg/template/ttp37.C: New test. - -2023-07-10 Christophe Lyon - - PR target/110268 - * gcc.target/arm/pr110268-1.c: New test. - * gcc.target/arm/pr110268-2.c: New test. - -2023-07-10 Christophe Lyon - - * lib/target-supports.exp (arm_*FUNC_link): New effective-targets. - -2023-07-10 Xi Ruoyao - - PR tree-optimization/110557 - * g++.dg/vect/pr110557.cc: New test. - -2023-07-10 Roger Sayle - - * gcc.target/i386/insvdi_lowpart-1.c: New test case. - * gcc.target/i386/insvti_lowpart-1.c: Likewise. - -2023-07-10 Roger Sayle - - * gcc.target/i386/avx512vl-stv-rotatedi-1.c: New test case. - -2023-07-10 Iain Buclaw - - * gdc.dg/asm4.d: Update test. - -2023-07-10 liuhongt - - * g++.target/i386/pr110170.C: New test. - * gcc.target/i386/pr110170.c: New test. - -2023-07-09 Iain Buclaw - - * gdc.dg/rtti1.d: Move array concat testcase to ... - * gdc.dg/nogc1.d: ... here. New test. - -2023-07-09 Jan Hubicka - - * gcc.dg/predict-22.c: Update template. - -2023-07-08 Jan Hubicka - - PR tree-optimization/110600 - * gcc.c-torture/compile/pr110600.c: New test. - -2023-07-08 Steve Kargl - - PR fortran/99139 - PR fortran/99368 - * gfortran.dg/pr99139.f90 : New test - * gfortran.dg/pr99368.f90 : New test - -2023-07-08 Jan Hubicka - - PR middle-end/110590 - * gcc.dg/tree-prof/update-cunroll-2.c: Remove xfail. - * gcc.dg/tree-ssa/update-cunroll.c: Likewise. - -2023-07-08 Harald Anlauf - Steven G. Kargl - - PR fortran/92178 - * gfortran.dg/intent_out_16.f90: New test. - * gfortran.dg/intent_out_17.f90: New test. - * gfortran.dg/intent_out_18.f90: New test. - -2023-07-08 Harald Anlauf - - PR fortran/110585 - * gfortran.dg/findloc_9.f90: New test. - -2023-07-07 Jan Hubicka - - * gcc.dg/pr43864-2.c: Avoid matching pre dump with details-blocks. - * gcc.dg/pr43864-3.c: Likewise. - * gcc.dg/pr43864-4.c: Likewise. - * gcc.dg/pr43864.c: Likewise. - * gcc.dg/unroll-7.c: xfail. - -2023-07-07 Eugene Rozenfeld - - * lib/target-supports.exp: Collect both kernel and user events for autofdo - -2023-07-07 Roger Sayle - - PR target/43644 - PR target/110533 - * gcc.target/i386/pr110533.c: New test case. - * gcc.target/i386/pr43644-2.c: Likewise. - -2023-07-07 Iain Buclaw - - PR d/108842 - * gdc.dg/pr98277.d: Add more tests. - * gdc.dg/pr108842.d: New test. - -2023-07-07 Jan Hubicka - - * g++.dg/tree-prof/indir-call-prof.C: Add block-details to dump flags. - * gcc.dg/pr43864-2.c: Likewise. - * gcc.dg/pr43864-3.c: Likewise. - * gcc.dg/pr43864-4.c: Likewise. - * gcc.dg/pr43864.c: Likewise. - * gcc.dg/tree-prof/cold_partition_label.c: Likewise. - * gcc.dg/tree-prof/indir-call-prof.c: Likewise. - * gcc.dg/tree-prof/update-cunroll-2.c: Likewise. - * gcc.dg/tree-prof/update-tailcall.c: Likewise. - * gcc.dg/tree-prof/val-prof-1.c: Likewise. - * gcc.dg/tree-prof/val-prof-2.c: Likewise. - * gcc.dg/tree-prof/val-prof-3.c: Likewise. - * gcc.dg/tree-prof/val-prof-4.c: Likewise. - * gcc.dg/tree-prof/val-prof-5.c: Likewise. - * gcc.dg/tree-ssa/fnsplit-1.c: Likewise. - * gcc.dg/tree-ssa/loop-ch-profile-2.c: Likewise. - * gcc.dg/tree-ssa/update-threading.c: Likewise. - * gcc.dg/tree-ssa/update-unswitch-1.c: Likewise. - * gcc.dg/unroll-7.c: Likewise. - * gcc.dg/unroll-8.c: Likewise. - * gfortran.dg/pr25623-2.f90: Likewise. - * gfortran.dg/pr25623.f90: Likewise. - * gcc.dg/tree-ssa/loop-ch-profile-1.c: Likewise; xfail. - * gcc.dg/tree-ssa/update-cunroll.c: Likewise; xfail. - * gcc.dg/tree-ssa/update-unroll-1.c: Likewise; xfail. - -2023-07-07 Jan Hubicka - - * gcc.dg/tree-ssa/vect-profile-upate.c: New test. - -2023-07-07 Juergen Christ - - * gcc.target/s390/vector/vec-init-3.c: New test. - -2023-07-07 Vladimir N. Makarov - - * gcc.target/i386/pr110372.c: New. - -2023-07-07 Aldy Hernandez - - * gcc.dg/tree-ssa/pr107009.c: Adjust irange dumping for - value/mask changes. - * gcc.dg/tree-ssa/vrp-unreachable.c: Same. - * gcc.dg/tree-ssa/vrp122.c: Same. - -2023-07-07 Pan Li - Robin Dapp - - * gcc.target/riscv/rvv/base/float-point-frm-insert-6.c: New test. - -2023-07-06 Jan Hubicka - - PR middle-end/25623 - * gfortran.dg/pr25623-2.f90: New test. - -2023-07-06 Hao Liu OS - - * gcc.target/aarch64/pr110449.c: New testcase. - -2023-07-06 Richard Biener - - PR tree-optimization/110556 - * gcc.dg/torture/pr110556.c: New testcase. - -2023-07-06 Richard Biener - - PR tree-optimization/110515 - * g++.dg/opt/pr110515.C: New testcase. - -2023-07-06 Richard Biener - - PR tree-optimization/110544 - * gcc.dg/vect/pr71264.c: Remove scan for vectorization. - -2023-07-06 Hongyu Wang - - * gcc.target/i386/inline_attr_arch.c: New test. - * gcc.target/i386/inline_target_clones.c: Ditto. - -2023-07-06 liuhongt - - * gcc.target/i386/pr110170-2.c: New test. - -2023-07-06 liuhongt - - * gcc.target/i386/pr110170-3.c: New test. - -2023-07-06 Hao Liu - - * gcc.target/aarch64/pr110474.c: New testcase. - -2023-07-05 Robin Dapp - - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1.c: Add - tests for variable index. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c: - Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-zvfh-run.c: - Ditto. - -2023-07-05 Robin Dapp - - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: Adjust - test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-zvfh-run.c: - Ditto. - -2023-07-05 Robin Dapp - Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-10.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-11.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-12.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-13.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-14.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-8.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-9.c: New test. - -2023-07-05 YunQiang Su - - * gcc.target/mips/expand-block-move-r6-no-unaligned.c: new test. - * gcc.target/mips/expand-block-move-r6.c: new test. - -2023-07-05 Richard Biener - - * gcc.dg/vect/slp-perm-9.c: Always use alternate N. - -2023-07-05 Jan Beulich - - * gcc.target/i386/avx512f-copysign.c: Suppress for 32-bit. - -2023-07-05 Jan Beulich - - PR target/100711 - * gcc.target/i386/pr100711-6.c: New test. - -2023-07-05 Jan Beulich - - PR target/100711 - * gcc.target/i386/pr100711-4.c: New test. - * gcc.target/i386/pr100711-5.c: New test. - -2023-07-05 Jan Beulich - - PR target/93768 - * gcc.target/i386/avx512f-andn-di-zmm-2.c: New test. - * gcc.target/i386/avx512f-andn-si-zmm-2.c: Adjust expecations - towards generated code. - * gcc.target/i386/pr100711-3.c: Adjust expectations for 32-bit - code. - -2023-07-05 Jan Beulich - - PR target/93768 - * gcc.target/i386/avx512-binop-not-1.h: New. - * gcc.target/i386/avx512-binop-not-2.h: New. - * gcc.target/i386/avx512f-orn-si-zmm-1.c: New test. - * gcc.target/i386/avx512f-orn-si-zmm-2.c: New test. - -2023-07-05 yulong - - * gcc.target/riscv/rvv/base/abi-10.c: Add float16 tuple type case. - * gcc.target/riscv/rvv/base/abi-11.c: Ditto. - * gcc.target/riscv/rvv/base/abi-12.c: Ditto. - * gcc.target/riscv/rvv/base/abi-15.c: Ditto. - * gcc.target/riscv/rvv/base/abi-8.c: Ditto. - * gcc.target/riscv/rvv/base/abi-9.c: Ditto. - * gcc.target/riscv/rvv/base/abi-17.c: New test. - * gcc.target/riscv/rvv/base/abi-18.c: New test. - -2023-07-05 yulong - - * gcc.target/riscv/rvv/base/tuple-28.c: New test. - * gcc.target/riscv/rvv/base/tuple-29.c: New test. - * gcc.target/riscv/rvv/base/tuple-30.c: New test. - * gcc.target/riscv/rvv/base/tuple-31.c: New test. - * gcc.target/riscv/rvv/base/tuple-32.c: New test. - -2023-07-05 Jie Mei - - * gcc.target/mips/mips16e2-cmov.c: Adjust branch cost to - encourage if-conversion. - * gcc.target/mips/movcc-3.c: Same as above. - -2023-07-04 Richard Biener - - PR tree-optimization/110491 - * gcc.dg/torture/pr110491.c: New testcase. - -2023-07-04 Richard Biener - - PR tree-optimization/110376 - * gcc.dg/torture/pr110376.c: New testcase. - -2023-07-04 Richard Biener - - PR tree-optimization/110228 - * gcc.dg/torture/pr110228.c: New testcase. - * gcc.dg/uninit-pr101912.c: Un-XFAIL. - -2023-07-04 Richard Biener - - PR tree-optimization/110436 - * gcc.dg/pr110436.c: New testcase. - -2023-07-04 Richard Biener - - PR middle-end/110495 - * gcc.dg/tree-ssa/addadd-2.c: Amend. - * gcc.dg/tree-ssa/forwprop-27.c: Adjust. - -2023-07-04 Richard Biener - - PR tree-optimization/110310 - * gcc.target/i386/pr110310.c: New testcase. - * gcc.dg/vect/slp-perm-12.c: Disable epilogue vectorization. - -2023-07-04 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/avl_prop-1.c: New test. - -2023-07-03 Christoph Müllner - - * gcc.target/riscv/zvbb.c: New test. - * gcc.target/riscv/zvbc.c: New test. - * gcc.target/riscv/zvkg.c: New test. - * gcc.target/riscv/zvkn-1.c: New test. - * gcc.target/riscv/zvkn.c: New test. - * gcc.target/riscv/zvknc-1.c: New test. - * gcc.target/riscv/zvknc-2.c: New test. - * gcc.target/riscv/zvknc.c: New test. - * gcc.target/riscv/zvkned.c: New test. - * gcc.target/riscv/zvkng-1.c: New test. - * gcc.target/riscv/zvkng-2.c: New test. - * gcc.target/riscv/zvkng.c: New test. - * gcc.target/riscv/zvknha.c: New test. - * gcc.target/riscv/zvknhb.c: New test. - * gcc.target/riscv/zvks-1.c: New test. - * gcc.target/riscv/zvks.c: New test. - * gcc.target/riscv/zvksc-1.c: New test. - * gcc.target/riscv/zvksc-2.c: New test. - * gcc.target/riscv/zvksc.c: New test. - * gcc.target/riscv/zvksed.c: New test. - * gcc.target/riscv/zvksg-1.c: New test. - * gcc.target/riscv/zvksg-2.c: New test. - * gcc.target/riscv/zvksg.c: New test. - * gcc.target/riscv/zvksh.c: New test. - * gcc.target/riscv/zvkt.c: New test. - -2023-07-03 Iain Sandoe - - * lib/g++.exp: Remove additional flag handled by Darwin specs. - * lib/obj-c++.exp: Likewise. - -2023-07-03 Gaius Mulley - - PR modula2/110125 - * gm2/switches/uninit-variable-checking/fail/testinit.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testlarge.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testlarge2.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testrecinit.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testrecinit2.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testrecinit5.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testsmallrec.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testsmallrec2.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testsmallvec.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testvarinit.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testwithnoptr.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testwithptr.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testwithptr2.mod: New test. - * gm2/switches/uninit-variable-checking/fail/testwithptr3.mod: New test. - * gm2/switches/uninit-variable-checking/pass/testrecinit3.mod: New test. - * gm2/switches/uninit-variable-checking/pass/testrecinit5.mod: New test. - * gm2/switches/uninit-variable-checking/pass/testsmallrec.mod: New test. - * gm2/switches/uninit-variable-checking/pass/testsmallrec2.mod: New test. - * gm2/switches/uninit-variable-checking/pass/testvarinit.mod: New test. - * gm2/switches/uninit-variable-checking/pass/testwithptr.mod: New test. - * gm2/switches/uninit-variable-checking/pass/testwithptr2.mod: New test. - * gm2/switches/uninit-variable-checking/pass/testwithptr3.mod: New test. - * gm2/switches/uninit-variable-checking/fail/switches-uninit-variable-checking-fail.exp: New file. - * gm2/switches/uninit-variable-checking/pass/switches-uninit-variable-checking-pass.exp: New file. - -2023-07-03 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/widen/widen-10.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-11.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-12.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-7.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-8.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-9.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-10.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-11.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-12.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-10.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-11.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-12.c: New test. - -2023-07-03 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/widen/widen-3.c: Add floating-point. - * gcc.target/riscv/rvv/autovec/widen/widen-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-3.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-7.c: New test. - -2023-07-03 Lehua Ding - - Revert: - 2023-07-03 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/widen/widen-10.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-11.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-12.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-7.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-8.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-9.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-10.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-11.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-12.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-10.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-11.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-12.c: New test. - -2023-07-03 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/widen/widen-10.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-11.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-12.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-7.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-8.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-9.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-10.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-11.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-12.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-10.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-11.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-12.c: New test. - -2023-07-03 Richard Biener - - PR tree-optimization/110506 - * gcc.dg/pr110506-2.c: New testcase. - -2023-07-03 Richard Biener - - PR tree-optimization/110506 - * gcc.dg/pr110506.c: New testcase. - -2023-07-03 Andrew Pinski - - PR tree-optimization/110381 - * gcc.dg/vect/pr110381.c: Add vect_float_strict. - -2023-07-03 Jie Mei - - * gcc.target/mips/mips16e2-cache.c: New tests for mips16e2. - -2023-07-03 Jie Mei - - * gcc.target/mips/mips16e2.c: New tests for mips16e2. - -2023-07-03 Jie Mei - - * gcc.target/mips/mips16e2.c: Add new tests for mips16e2. - -2023-07-03 Jie Mei - - * gcc.target/mips/mips16e2.c: New tests for mips16e2. - -2023-07-03 Jie Mei - - * gcc.target/mips/mips16e2-gp.c: New tests for mips16e2. - -2023-07-03 Jie Mei - - * gcc.target/mips/mips16e2-cmov.c: Added tests for MOVx instructions. - -2023-07-03 Jie Mei - - * gcc.target/mips/mips.exp(mips_option_groups): Add -mmips16e2 - option. - (mips-dg-init): Handle the recognization of mips16e2 targets. - (mips-dg-options): Add dependencies for mips16e2. - -2023-07-02 Iain Buclaw - - * gdc.dg/Wbuiltin_declaration_mismatch2.d: Fix failed tests. - -2023-07-02 Jakub Jelinek - - PR tree-optimization/110508 - * gcc.dg/pr110508.c: New test. - -2023-07-02 Iain Buclaw - - PR d/108962 - * gdc.dg/pr108962.d: New test. - -2023-07-02 Iain Buclaw - - PR d/110516 - * gdc.dg/torture/pr110516a.d: New test. - * gdc.dg/torture/pr110516b.d: New test. - -2023-07-01 Iain Buclaw - - PR d/110514 - * gdc.dg/pr110514a.d: New test. - * gdc.dg/pr110514b.d: New test. - * gdc.dg/pr110514c.d: New test. - * gdc.dg/pr110514d.d: New test. - -2023-07-01 Iain Buclaw - - PR d/110471 - * gdc.dg/pr110471a.d: New test. - * gdc.dg/pr110471b.d: New test. - * gdc.dg/pr110471c.d: New test. - -2023-07-01 Jan Hubicka - - PR tree-optimization/25623 - * gfortran.dg/pr25623.f90: New test. - -2023-07-01 Jan Hubicka - - * gcc.dg/tree-ssa/ifc-20040816-1.c: Reduce number of mismatches - from 2 to 1. - * gcc.dg/tree-ssa/loop-ch-profile-1.c: New test. - * gcc.dg/tree-ssa/loop-ch-profile-2.c: New test. - -2023-07-01 Roger Sayle - - * gcc.target/i386/rotate-6.c: New test case. - * gcc.target/i386/sse2-stv-1.c: Likewise. - -2023-07-01 Jan Hubicka - - PR tree-optimization/103680 - * gcc.dg/tree-ssa/pr103680.c: New test. - * gcc.dg/tree-prof/cmpsf-1.c: Un-xfail. - -2023-06-30 Patrick Palka - - * g++.dg/template/nontype12.C: Refine and XFAIL the dg-bogus - duplicate diagnostic check. - -2023-06-30 Qing Zhao - - PR tree-optimization/101832 - * gcc.dg/builtin-object-size-pr101832.c: New test. - -2023-06-30 Eric Botcazou - - * gcc.c-torture/execute/20230630-1.c: New test. - * gcc.c-torture/execute/20230630-2.c: Likewise. - * gcc.c-torture/execute/20230630-3.c: Likewise - * gcc.c-torture/execute/20230630-4.c: Likewise - -2023-06-30 David Malcolm - - PR jit/110466 - * jit.dg/jit.exp (jit-check-debug-info): Gracefully handle too - early versions of gdb that don't support our dwarf version, via - "unsupported". - -2023-06-30 David Malcolm - Marek Polacek - - PR jit/110466 - * jit.dg/test-expressions.c (run_test_of_comparison): Fix size - param to gcc_jit_type_get_vector. - (verify_comparisons): Use a typedef rather than __vector. - -2023-06-30 Jan Hubicka - - PR middle-end/109849 - * gcc.dg/predict-18.c: Improve testcase. - -2023-06-30 Oluwatamilore Adebayo - - * gcc.target/aarch64/abd_2.c: Added ABDL testcases. - * gcc.target/aarch64/abd_3.c: Added ABDL testcases. - * gcc.target/aarch64/abd_4.c: Added ABDL testcases. - * gcc.target/aarch64/abd_none_2.c: Added ABDL testcases. - * gcc.target/aarch64/abd_none_3.c: Added ABDL testcases. - * gcc.target/aarch64/abd_none_4.c: Added ABDL testcases. - * gcc.target/aarch64/abd_run_1.c: Added ABDL testcases. - * gcc.target/aarch64/sve/abd_1.c: Added ABDL testcases. - * gcc.target/aarch64/sve/abd_2.c: Added ABDL testcases. - * gcc.target/aarch64/sve/abd_none_1.c: Added ABDL testcases. - * gcc.target/aarch64/sve/abd_none_2.c: Added ABDL testcases. - * gcc.target/aarch64/abd_widen_2.c: New file. - * gcc.target/aarch64/abd_widen_3.c: New file. - * gcc.target/aarch64/abd_widen_4.c: New file. - -2023-06-30 Richard Biener - - PR tree-optimization/110496 - * gcc.dg/pr110496.c: New testcase. - -2023-06-30 Richard Biener - - PR tree-optimization/110381 - * gcc.dg/vect/pr110381.c: Add check_vect (). - -2023-06-30 Jovan Dmitrović - - * gcc.target/mips/align-1-n64.c: New test. - * gcc.target/mips/align-1-o32.c: New test. - -2023-06-29 Jan Hubicka - - PR tree-optimization/109849 - * gcc.dg/ipa/pr109849.c: New test. - -2023-06-29 Marek Polacek - - * gcc.dg/plugin/crash-test-ice-sarif.c: Use -fno-report-bug. Adjust - scan-sarif-file. - * gcc.dg/plugin/crash-test-ice-stderr.c: Use -fno-report-bug. - * gcc.dg/plugin/crash-test-write-though-null-sarif.c: Use - -fno-report-bug. Adjust scan-sarif-file. - * gcc.dg/plugin/crash-test-write-though-null-stderr.c: Use - -fno-report-bug. - -2023-06-29 Marek Polacek - - * gcc.target/i386/pr104610.c: Use -fno-stack-protector. - * gcc.target/i386/pr69482-1.c: Likewise. - -2023-06-29 Patrick Palka - - PR c++/110468 - * g++.dg/cpp0x/noexcept79.C: New test. - -2023-06-29 Patrick Palka - - PR c++/110463 - * g++.dg/cpp0x/constexpr-mutable6.C: New test. - -2023-06-29 Qing Zhao - - PR c/77650 - * gcc.dg/variable-sized-type-flex-array.c: New test. - -2023-06-29 Roger Sayle - - * gcc.target/i386/pieces-memcmp-2.c: Specify that 128-bit - comparisons are desired, to see if 256-bit instructions are - generated inappropriately (fixes test on -march=cascadelake). - -2023-06-29 Alexandre Oliva - - * lib/options.exp (check_for_options_with_filter): Handle - missing frontend compiler like disabled language. - -2023-06-29 Richard Biener - - PR middle-end/110452 - * gcc.target/i386/pr110452.c: New file. - -2023-06-29 Richard Biener - - PR middle-end/110461 - * gcc.dg/pr110461.c: New testcase. - -2023-06-29 Richard Biener - - PR c/110454 - * gcc.dg/Wtraditional-conversion-3.c: New testcase. - -2023-06-29 Pan Li - - * gcc.target/riscv/rvv/base/float-point-frm-insert-1.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-insert-2.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-insert-3.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-insert-4.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm-insert-5.c: New test. - -2023-06-29 Pan Li - - * gcc.target/riscv/rvv/base/float-point-frm-error.c: New test. - * gcc.target/riscv/rvv/base/float-point-frm.c: New test. - -2023-06-28 Hans-Peter Nilsson - - * lib/target-supports.exp (check_effective_target_lra): Remove - cris-*-* from expression for exceptions to LRA. - -2023-06-28 Jan Hubicka - - PR middle-end/110334 - * g++.dg/opt/pr66119.C: Disable early inlining. - * gcc.c-torture/compile/pr110334.c: New test. - * gcc.dg/tree-ssa/pr110334.c: New test. - -2023-06-28 Harald Anlauf - - PR fortran/110360 - * gfortran.dg/value_9.f90: Add tests for intermediate regression. - -2023-06-28 Patrick Palka - - PR c++/89442 - PR c++/107437 - * g++.dg/cpp/pr64127.C: Expect "expected unqualified-id at end - of input" error. - * g++.dg/cpp0x/alias-decl-ttp1.C: Fix template parameter/argument - kind mismatch for variable template has_P_match_V. - * g++.dg/cpp1y/pr72759.C: Expect "template argument 1 is invalid" - error. - * g++.dg/cpp1z/constexpr-if20.C: XFAIL test due to bogus "'i' is - not captured" error. - * g++.dg/cpp1z/noexcept-type21.C: Fix arity of variable template d. - * g++.dg/diagnostic/not-a-function-template-1.C: Add default - template argument to variable template A so that A<> is valid. - * g++.dg/parse/error56.C: Don't expect "ISO C++ forbids - declaration with no type" error. - * g++.dg/parse/template30.C: Don't expect "parse error in - template argument list" error. - * g++.dg/cpp1y/var-templ82.C: New test. - -2023-06-28 Iain Buclaw - - PR d/106977 - PR target/110406 - * gdc.dg/torture/pr110406.d: New test. - -2023-06-28 Marek Polacek - - PR c++/110175 - * g++.dg/cpp0x/decltype-110175.C: New test. - -2023-06-28 Manolis Tsamis - - PR debug/110308 - * g++.dg/torture/pr110308.C: New test. - -2023-06-28 Christophe Lyon - - * gcc.target/arm/mve/intrinsics/mve_fp_fpu1.c: Fix .fpu - scan-assembler. - * gcc.target/arm/mve/intrinsics/mve_fp_fpu2.c: Likewise. - -2023-06-28 Christophe Lyon - - * gcc.target/arm/mve/general-c/nomve_fp_1.c: Require arm_fp. - -2023-06-28 Richard Biener - - PR tree-optimization/110451 - * gfortran.dg/vect/pr110451.f: New testcase. - -2023-06-28 Paul Thomas - - PR fortran/49213 - * gfortran.dg/pr49213.f90 : New test - -2023-06-28 Roger Sayle - - * gcc.target/i386/pieces-memcmp-2.c: New test case. - -2023-06-28 Richard Biener - - PR tree-optimization/110443 - * gcc.dg/torture/pr110443.c: New testcase. - -2023-06-28 Haochen Gui - - * gcc.dg/rtl/powerpc/move_compare_peephole_32.c: New. - * gcc.dg/rtl/powerpc/move_compare_peephole_64.c: New. - -2023-06-28 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/widen/widen-8.c: Add floating-point. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-8.c: New test. - -2023-06-28 Haochen Gui - - PR target/104124 - * gcc.target/powerpc/pr104124.c: New. - -2023-06-28 Jan Hubicka - - PR tree-optimization/110377 - * gcc.dg/ipa/pr110377.c: New test. - -2023-06-28 Andrew Pinski - - PR tree-optimization/110444 - * gcc.c-torture/compile/pr110444-1.c: New test. - -2023-06-28 Jason Merrill - - PR c++/110334 - * g++.dg/cpp1z/nodiscard-inh1.C: New test. - -2023-06-28 Alexandre Oliva - - * c-c++-common/zero-scratch-regs-leafy-1.c: New. - * c-c++-common/zero-scratch-regs-leafy-2.c: New. - * gcc.target/i386/zero-scratch-regs-leafy-1.c: New. - * gcc.target/i386/zero-scratch-regs-leafy-2.c: New. - -2023-06-28 Alexandre Oliva - - * gcc.misc-tests/outputs.exp (gld): Note a known mismatch and - record a workaround. - -2023-06-28 Jason Merrill - - PR c++/110344 - * g++.dg/cpp26/constexpr-voidptr1.C: New test. - * g++.dg/cpp26/constexpr-voidptr2.C: New test. - * g++.dg/cpp26/feat-cxx26.C: New test. - -2023-06-28 Jason Merrill - - * lib/g++-dg.exp (g++-dg-runtest): Update for C++26. - -2023-06-28 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/widen/widen-1.c: Add floating-point. - * gcc.target/riscv/rvv/autovec/widen/widen-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-1.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-2.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-5.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-6.c: New test. - -2023-06-28 Hongyu Wang - - * gcc.target/i386/mvc17.c: Add -march=x86-64 to dg-options. - -2023-06-28 liuhongt - - * gcc.target/i386/bf16_short_warn.c: New test. - -2023-06-27 Robin Dapp - - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-template.h: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-template.h: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-template.h: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-template.h: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-zvfh-run.c: New test. - -2023-06-27 Robin Dapp - - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-template.h: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-template.h: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-zvfh-run.c: New test. - -2023-06-27 Robin Dapp - - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-run.c: Adjust. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-rv32gcv.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-rv64gcv.c: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-template.h: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vncvt-template.h: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vsext-template.h: - Ditto. - * gcc.target/riscv/rvv/autovec/conversions/vzext-template.h: - Ditto. - * gcc.target/riscv/rvv/autovec/zvfhmin-1.c: Add int/float conversions. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-template.h: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-zvfh-run.c: New file. - -2023-06-27 Robin Dapp - - * gcc.target/riscv/rvv/autovec/binop/copysign-run.c: New test. - * gcc.target/riscv/rvv/autovec/binop/copysign-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/binop/copysign-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/binop/copysign-template.h: New test. - * gcc.target/riscv/rvv/autovec/binop/copysign-zvfh-run.c: New test. - -2023-06-27 Prathamesh Kulkarni - - * gcc.target/aarch64/sve/acle/general/dupq_11.c: New test. - -2023-06-27 Andrew Pinski - - PR middle-end/110420 - PR middle-end/103979 - PR middle-end/98619 - * gcc.c-torture/compile/asmgoto-6.c: New test. - -2023-06-27 Richard Biener - - PR tree-optimization/96208 - * gcc.dg/vect/slp-46.c: Adjust for new vectorizations. - * gcc.dg/vect/bb-slp-pr65935.c: Adjust. - -2023-06-27 liuhongt - - * gcc.target/i386/avx-vzeroupper-29.c: New testcase. - -2023-06-27 liuhongt - - * gcc.target/i386/avx-vzeroupper-30.c: New test. - -2023-06-27 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/partial/slp-17.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-18.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-19.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-17.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-18.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-19.c: New test. - -2023-06-26 Andreas Krebbel - - * gcc.target/s390/larl-1.c: New test. - -2023-06-26 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/autovec/partial/gimple_fold-1.c: New test. - -2023-06-26 Richard Biener - - PR tree-optimization/110381 - * gcc.dg/vect/pr110381.c: New testcase. - -2023-06-26 Roger Sayle - - * gcc.target/i386/ashldi3-1.c: New 32-bit test case. - * gcc.target/i386/ashlti3-2.c: New 64-bit test case. - -2023-06-26 liuhongt - - * gcc.target/aarch64/pr110371.c: New test. - -2023-06-26 liuhongt - - * gcc.target/i386/pr110018-1.c: Add -fno-trapping-math to dg-options. - * gcc.target/i386/pr110018-2.c: Ditto. - -2023-06-26 Hongyu Wang - - * gcc.target/i386/mvc17.c: New test. - -2023-06-26 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/vlmul_ext-2.c: Add -Wno-psabi for dg. - -2023-06-26 Iain Buclaw - - PR d/110359 - * gdc.dg/pr110359.d: New test. - -2023-06-25 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/partial/select_vl-1.c: Add dump checks. - * gcc.target/riscv/rvv/autovec/partial/select_vl-2.c: New test. - -2023-06-25 Li Xu - - * gcc.target/riscv/rvv/base/vlmul_ext-2.c: New test. - -2023-06-25 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-2.c: New test. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-2.h: New test. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-3.c: New test. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-3.h: New test. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-3.c: New test. - -2023-06-25 Pan Li - - * gcc.target/riscv/rvv/base/abi-10.c: Revert. - * gcc.target/riscv/rvv/base/abi-11.c: Ditto. - * gcc.target/riscv/rvv/base/abi-12.c: Ditto. - * gcc.target/riscv/rvv/base/abi-15.c: Ditto. - * gcc.target/riscv/rvv/base/abi-8.c: Ditto. - * gcc.target/riscv/rvv/base/abi-9.c: Ditto. - * gcc.target/riscv/rvv/base/abi-17.c: Ditto. - * gcc.target/riscv/rvv/base/abi-18.c: Ditto. - -2023-06-25 Pan Li - - * gcc.target/riscv/rvv/base/tuple-28.c: Removed. - * gcc.target/riscv/rvv/base/tuple-29.c: Removed. - * gcc.target/riscv/rvv/base/tuple-30.c: Removed. - * gcc.target/riscv/rvv/base/tuple-31.c: Removed. - * gcc.target/riscv/rvv/base/tuple-32.c: Removed. - -2023-06-25 liuhongt - - * gcc.target/i386/pr110309.c: New test. - -2023-06-25 yulong - - * gcc.target/riscv/rvv/base/abi-10.c: Add float16 tuple type case. - * gcc.target/riscv/rvv/base/abi-11.c: Ditto. - * gcc.target/riscv/rvv/base/abi-12.c: Ditto. - * gcc.target/riscv/rvv/base/abi-15.c: Ditto. - * gcc.target/riscv/rvv/base/abi-8.c: Ditto. - * gcc.target/riscv/rvv/base/abi-9.c: Ditto. - * gcc.target/riscv/rvv/base/abi-17.c: New test. - * gcc.target/riscv/rvv/base/abi-18.c: New test. - -2023-06-24 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/ternop/ternop-1.c: Adjust tests. - * gcc.target/riscv/rvv/autovec/ternop/ternop-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/ternop/ternop-10.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop-11.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop-12.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop-7.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop-8.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop-9.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-10.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-11.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-12.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-7.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-8.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-9.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-1.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-10.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-11.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-12.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-2.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-3.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-4.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-5.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-6.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-7.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-8.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-9.c: New test. - -2023-06-24 David Malcolm - - * gcc.dg/plugin/diagnostic_plugin_test_text_art.c: Add - #define INCLUDE_VECTOR. - -2023-06-23 David Malcolm - - PR c++/110164 - * g++.dg/diagnostic/missing-header-pr110164.C: New test. - -2023-06-23 Marek Polacek - - * lib/target-supports.exp (check_effective_target_c++23): Return - 1 also if check_effective_target_c++26. - (check_effective_target_c++23_down): New. - (check_effective_target_c++26_only): New. - (check_effective_target_c++26): New. - * g++.dg/cpp23/cplusplus.C: Adjust expected value. - * g++.dg/cpp26/cplusplus.C: New test. - -2023-06-23 Harald Anlauf - - PR fortran/110360 - * gfortran.dg/value_9.f90: New test. - -2023-06-23 Michael Meissner - Aaron Sawdey - - PR target/105325 - * g++.target/powerpc/pr105325.C: New test. - * gcc.target/powerpc/fusion-p10-ldcmpi.c: Update insn counts. - -2023-06-23 Iain Sandoe - - * objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h: Make - this header use pragma system_header. - -2023-06-23 Prathamesh Kulkarni - - PR tree-optimization/110280 - * gcc.target/aarch64/sve/pr110280.c: New test. - -2023-06-22 Richard Biener - - PR tree-optimization/110332 - * g++.dg/torture/pr110332.C: New testcase. - * gcc.dg/torture/pr110332-1.c: Likewise. - * gcc.dg/torture/pr110332-2.c: Likewise. - -2023-06-22 Roger Sayle - Uros Bizjak - - * gcc.target/i386/avx-vptest-4.c: New test case. - * gcc.target/i386/avx-vptest-5.c: Likewise. - * gcc.target/i386/avx-vptest-6.c: Likewise. - * gcc.target/i386/pr109973-1.c: Update test case. - * gcc.target/i386/pr109973-2.c: Likewise. - * gcc.target/i386/sse4_1-ptest-4.c: New test case. - * gcc.target/i386/sse4_1-ptest-5.c: Likewise. - * gcc.target/i386/sse4_1-ptest-6.c: Likewise. - -2023-06-22 David Malcolm - - PR analyzer/106626 - * gcc.dg/analyzer/data-model-1.c (test_16): Update for - out-of-bounds working. - * gcc.dg/analyzer/out-of-bounds-diagram-1-ascii.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-1-debug.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-1-emoji.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-1-json.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-1-sarif.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-1-unicode.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-10.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-11.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-12.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-13.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-14.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-15.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-2.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-3.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-4.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-5-ascii.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-5-unicode.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-6.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-7.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-8.c: New test. - * gcc.dg/analyzer/out-of-bounds-diagram-9.c: New test. - * gcc.dg/analyzer/pattern-test-2.c: Update expected results. - * gcc.dg/analyzer/pr101962.c: Update expected results. - * gcc.dg/plugin/analyzer_gil_plugin.c: Add logger param to - pending_diagnostic::emit implementations. - -2023-06-22 David Malcolm - - * gcc.dg/plugin/diagnostic-test-text-art-ascii-bw.c: New test. - * gcc.dg/plugin/diagnostic-test-text-art-ascii-color.c: New test. - * gcc.dg/plugin/diagnostic-test-text-art-none.c: New test. - * gcc.dg/plugin/diagnostic-test-text-art-unicode-bw.c: New test. - * gcc.dg/plugin/diagnostic-test-text-art-unicode-color.c: New test. - * gcc.dg/plugin/diagnostic_plugin_test_text_art.c: New test plugin. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add them. - -2023-06-22 David Malcolm - - * c-c++-common/Wlogical-not-parentheses-2.c: Split up the - multiline directive. - * gcc.dg/analyzer/malloc-macro-inline-events.c: Remove redundant - dg-regexp directives. - * gcc.dg/missing-header-fixit-5.c: Split up the multiline - directives. - * lib/gcc-dg.exp (gcc-dg-prune): Move call to - handle-multiline-outputs from prune_gcc_output to here. - * lib/multiline.exp (dg-end-multiline-output): Move call to - maybe-handle-nn-line-numbers from prune_gcc_output to here. - * lib/prune.exp (prune_gcc_output): Move calls to - maybe-handle-nn-line-numbers and handle-multiline-outputs from - here to the above. - -2023-06-21 Paul Thomas - - PR fortran/87477 - PR fortran/107900 - PR fortran/110224 - PR fortran/88688 - PR fortran/94380 - PR fortran/95398 - * gfortran.dg/pr107900.f90 : New test - * gfortran.dg/pr110224.f90 : New test - * gfortran.dg/pr88688.f90 : New test - * gfortran.dg/pr94380.f90 : New test - * gfortran.dg/pr95398.f90 : Set -std=f2008, bump the line - numbers in the error tests by two and change the text in two. - -2023-06-21 Paul Thomas - - PR fortran/108961 - * gfortran.dg/pr108961.f90: New test. - -2023-06-21 Uros Bizjak - - PR target/110018 - * gcc.target/i386/pr110018-1.c: Use explicit signed types. - * gcc.target/i386/pr110018-2.c: New test. - -2023-06-21 Kyrylo Tkachov - - * gcc.target/aarch64/sve/gather_earlyclobber.c: New test. - * gcc.target/aarch64/sve2/gather_earlyclobber.c: New test. - -2023-06-21 Richard Biener - - * gcc.target/i386/vect-partial-vectors-1.c: New testcase. - * gcc.target/i386/vect-partial-vectors-2.c: Likewise. - -2023-06-21 Jan Beulich - - * gcc.target/i386/avx512f-copysign.c: New test. - -2023-06-21 Jan Beulich - - * gcc.target/i386/avx512f-dupv2di.c: Add - -mprefer-vector-width=512. - -2023-06-21 liuhongt - - * gcc.target/i386/pr110018-1.c: New test. - -2023-06-20 Lewis Hyatt - - PR c++/66290 - * c-c++-common/cpp/macro-ranges.c: New test. - * c-c++-common/cpp/line-2.c: Adapt to check for column information - on macro-related libcpp warnings. - * c-c++-common/cpp/line-3.c: Likewise. - * c-c++-common/cpp/macro-arg-count-1.c: Likewise. - * c-c++-common/cpp/pr58844-1.c: Likewise. - * c-c++-common/cpp/pr58844-2.c: Likewise. - * c-c++-common/cpp/warning-zero-location.c: Likewise. - * c-c++-common/pragma-diag-14.c: Likewise. - * c-c++-common/pragma-diag-15.c: Likewise. - * g++.dg/modules/macro-2_d.C: Likewise. - * g++.dg/modules/macro-4_d.C: Likewise. - * g++.dg/modules/macro-4_e.C: Likewise. - * g++.dg/spellcheck-macro-ordering.C: Likewise. - * gcc.dg/builtin-redefine.c: Likewise. - * gcc.dg/cpp/Wunused.c: Likewise. - * gcc.dg/cpp/redef2.c: Likewise. - * gcc.dg/cpp/redef3.c: Likewise. - * gcc.dg/cpp/redef4.c: Likewise. - * gcc.dg/cpp/ucnid-11-utf8.c: Likewise. - * gcc.dg/cpp/ucnid-11.c: Likewise. - * gcc.dg/cpp/undef2.c: Likewise. - * gcc.dg/cpp/warn-redefined-2.c: Likewise. - * gcc.dg/cpp/warn-redefined.c: Likewise. - * gcc.dg/cpp/warn-unused-macros-2.c: Likewise. - * gcc.dg/cpp/warn-unused-macros.c: Likewise. - -2023-06-20 Richard Sandiford - - * gcc.target/aarch64/sve/pcs/args_1.c: Match moves from the stack - pointer to indirect argument registers and allow either to be used - as the base register in subsequent stores. - * gcc.target/aarch64/sve/pcs/args_8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_2.c: Allow the store of the - indirect argument to happen via the argument register or the - stack pointer. - * gcc.target/aarch64/sve/pcs/args_3.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_4.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_bf16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_f16.c: Likewise. - * 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_bf16.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_bf16.c: Disable - -fcprop-registers and combine. - * 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_bf16.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/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/varargs_3_nosc.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_3_sc.c: Likewise. - -2023-06-20 Jakub Jelinek - - PR middle-end/79173 - * g++.target/i386/pr79173-1.C: New test. - -2023-06-20 Martin Jambor - - PR ipa/110276 - * gcc.dg/ipa/pr110276.c: New test. - -2023-06-20 Carl Love - - * gcc.target/powerpc/bfp/scalar-extract-exp-8.c: New test case. - * gcc.target/powerpc/bfp/scalar-extract-sig-8.c: New test case. - * gcc.target/powerpc/bfp/scalar-insert-exp-16.c: New test case. - -2023-06-20 Robin Dapp - - * gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c: Add - -mabi=lp64d. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-2.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-3.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-4.c: Dito. - -2023-06-20 Li Xu - - * gcc.target/riscv/rvv/autovec/vreinterpet-fixed.c: New test. - -2023-06-20 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Adapt testcase. - * gcc.target/riscv/rvv/autovec/partial/slp-16.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-16.c: New test. - -2023-06-20 Robin Dapp - - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1.c: Add - -Wno-psabi. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c: - Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-2.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-3.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-4.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-run.c: Dito. - -2023-06-20 Robin Dapp - - * gcc.target/riscv/rvv/autovec/binop/vadd-run.c: Add - -ffast-math. - * gcc.target/riscv/rvv/autovec/binop/vadd-zvfh-run.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Remove - -ffast-math - * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv.c: Check for - vfmul. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv.c: Dito. - -2023-06-20 Richard Biener - - * gcc.dg/tree-ssa/ssa-dse-47.c: New testcase. - * c-c++-common/asan/pr106558.c: Avoid undefined behavior - due to missing return. - -2023-06-20 Kyrylo Tkachov - - * gcc.target/aarch64/simd/addp-same-low_1.c: New test. - -2023-06-20 Jan Beulich - - * gcc.target/i386/avx512f-dupv2di.c: New test. - -2023-06-20 Richard Biener - - PR debug/110295 - * g++.dg/debug/pr110295.C: New testcase. - -2023-06-20 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c: Fix fail. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-zvfh-run.c: Ditto. - -2023-06-20 Lehua Ding - - * gcc.target/riscv/rvv/autovec/fixed-vlmax-1.c: Add -Wno-psabi option. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-7.c: Ditto. - * gcc.target/riscv/rvv/base/pr110119-1.c: Ditto. - * gcc.target/riscv/rvv/base/pr110119-2.c: Ditto. - * gcc.target/riscv/vector-abi-1.c: Ditto. - * gcc.target/riscv/vector-abi-2.c: Ditto. - * gcc.target/riscv/vector-abi-3.c: Ditto. - * gcc.target/riscv/vector-abi-4.c: Ditto. - * gcc.target/riscv/vector-abi-5.c: Ditto. - * gcc.target/riscv/vector-abi-6.c: Ditto. - * gcc.target/riscv/vector-abi-7.c: New test. - * gcc.target/riscv/vector-abi-8.c: New test. - * gcc.target/riscv/vector-abi-9.c: New test. - -2023-06-19 Jin Ma - - * gcc.target/riscv/interrupt-fcsr-1.c: New test. - * gcc.target/riscv/interrupt-fcsr-2.c: New test. - * gcc.target/riscv/interrupt-fcsr-3.c: New test. - -2023-06-19 Jan Hubicka - - PR tree-optimization/109811 - PR tree-optimization/109849 - * gcc.dg/tree-ssa/phiprop-1.c: New test. - * gcc.dg/tree-ssa/pr21463.c: Adjust template. - -2023-06-19 Pan Li - - PR target/110299 - * gcc.target/riscv/rvv/base/pr110299-1.c: New test. - * gcc.target/riscv/rvv/base/pr110299-1.h: New test. - * gcc.target/riscv/rvv/base/pr110299-2.c: New test. - * gcc.target/riscv/rvv/base/pr110299-2.h: New test. - * gcc.target/riscv/rvv/base/pr110299-3.c: New test. - * gcc.target/riscv/rvv/base/pr110299-3.h: New test. - * gcc.target/riscv/rvv/base/pr110299-4.c: New test. - * gcc.target/riscv/rvv/base/pr110299-4.h: New test. - -2023-06-19 Pan Li - - PR target/110277 - * gcc.target/riscv/rvv/base/pr110277-1.c: New test. - * gcc.target/riscv/rvv/base/pr110277-1.h: New test. - * gcc.target/riscv/rvv/base/pr110277-2.c: New test. - * gcc.target/riscv/rvv/base/pr110277-2.h: New test. - -2023-06-19 Andrew Stubbs - - * gcc.dg/tree-ssa/predcom-2.c: Avoid vectors on amdgcn. - * gcc.dg/unroll-8.c: Likewise. - * gcc.dg/vect/slp-26.c: Change expected results on amdgdn. - * lib/target-supports.exp - (check_effective_target_vect_int_mod): Add amdgcn. - (check_effective_target_divmod): Likewise. - * gcc.target/gcn/simd-math-3-16.c: New test. - * gcc.target/gcn/simd-math-3-2.c: New test. - * gcc.target/gcn/simd-math-3-32.c: New test. - * gcc.target/gcn/simd-math-3-4.c: New test. - * gcc.target/gcn/simd-math-3-8.c: New test. - * gcc.target/gcn/simd-math-3-char-16.c: New test. - * gcc.target/gcn/simd-math-3-char-2.c: New test. - * gcc.target/gcn/simd-math-3-char-32.c: New test. - * gcc.target/gcn/simd-math-3-char-4.c: New test. - * gcc.target/gcn/simd-math-3-char-8.c: New test. - * gcc.target/gcn/simd-math-3-char-run-16.c: New test. - * gcc.target/gcn/simd-math-3-char-run-2.c: New test. - * gcc.target/gcn/simd-math-3-char-run-32.c: New test. - * gcc.target/gcn/simd-math-3-char-run-4.c: New test. - * gcc.target/gcn/simd-math-3-char-run-8.c: New test. - * gcc.target/gcn/simd-math-3-char-run.c: New test. - * gcc.target/gcn/simd-math-3-char.c: New test. - * gcc.target/gcn/simd-math-3-long-16.c: New test. - * gcc.target/gcn/simd-math-3-long-2.c: New test. - * gcc.target/gcn/simd-math-3-long-32.c: New test. - * gcc.target/gcn/simd-math-3-long-4.c: New test. - * gcc.target/gcn/simd-math-3-long-8.c: New test. - * gcc.target/gcn/simd-math-3-long-run-16.c: New test. - * gcc.target/gcn/simd-math-3-long-run-2.c: New test. - * gcc.target/gcn/simd-math-3-long-run-32.c: New test. - * gcc.target/gcn/simd-math-3-long-run-4.c: New test. - * gcc.target/gcn/simd-math-3-long-run-8.c: New test. - * gcc.target/gcn/simd-math-3-long-run.c: New test. - * gcc.target/gcn/simd-math-3-long.c: New test. - * gcc.target/gcn/simd-math-3-run-16.c: New test. - * gcc.target/gcn/simd-math-3-run-2.c: New test. - * gcc.target/gcn/simd-math-3-run-32.c: New test. - * gcc.target/gcn/simd-math-3-run-4.c: New test. - * gcc.target/gcn/simd-math-3-run-8.c: New test. - * gcc.target/gcn/simd-math-3-run.c: New test. - * gcc.target/gcn/simd-math-3-short-16.c: New test. - * gcc.target/gcn/simd-math-3-short-2.c: New test. - * gcc.target/gcn/simd-math-3-short-32.c: New test. - * gcc.target/gcn/simd-math-3-short-4.c: New test. - * gcc.target/gcn/simd-math-3-short-8.c: New test. - * gcc.target/gcn/simd-math-3-short-run-16.c: New test. - * gcc.target/gcn/simd-math-3-short-run-2.c: New test. - * gcc.target/gcn/simd-math-3-short-run-32.c: New test. - * gcc.target/gcn/simd-math-3-short-run-4.c: New test. - * gcc.target/gcn/simd-math-3-short-run-8.c: New test. - * gcc.target/gcn/simd-math-3-short-run.c: New test. - * gcc.target/gcn/simd-math-3-short.c: New test. - * gcc.target/gcn/simd-math-3.c: New test. - * gcc.target/gcn/simd-math-4-char-run.c: New test. - * gcc.target/gcn/simd-math-4-char.c: New test. - * gcc.target/gcn/simd-math-4-long-run.c: New test. - * gcc.target/gcn/simd-math-4-long.c: New test. - * gcc.target/gcn/simd-math-4-run.c: New test. - * gcc.target/gcn/simd-math-4-short-run.c: New test. - * gcc.target/gcn/simd-math-4-short.c: New test. - * gcc.target/gcn/simd-math-4.c: New test. - * gcc.target/gcn/simd-math-5-16.c: New test. - * gcc.target/gcn/simd-math-5-32.c: New test. - * gcc.target/gcn/simd-math-5-4.c: New test. - * gcc.target/gcn/simd-math-5-8.c: New test. - * gcc.target/gcn/simd-math-5-char-16.c: New test. - * gcc.target/gcn/simd-math-5-char-32.c: New test. - * gcc.target/gcn/simd-math-5-char-4.c: New test. - * gcc.target/gcn/simd-math-5-char-8.c: New test. - * gcc.target/gcn/simd-math-5-char-run-16.c: New test. - * gcc.target/gcn/simd-math-5-char-run-32.c: New test. - * gcc.target/gcn/simd-math-5-char-run-4.c: New test. - * gcc.target/gcn/simd-math-5-char-run-8.c: New test. - * gcc.target/gcn/simd-math-5-char-run.c: New test. - * gcc.target/gcn/simd-math-5-char.c: New test. - * gcc.target/gcn/simd-math-5-long-16.c: New test. - * gcc.target/gcn/simd-math-5-long-32.c: New test. - * gcc.target/gcn/simd-math-5-long-4.c: New test. - * gcc.target/gcn/simd-math-5-long-8.c: New test. - * gcc.target/gcn/simd-math-5-long-run-16.c: New test. - * gcc.target/gcn/simd-math-5-long-run-32.c: New test. - * gcc.target/gcn/simd-math-5-long-run-4.c: New test. - * gcc.target/gcn/simd-math-5-long-run-8.c: New test. - * gcc.target/gcn/simd-math-5-long-run.c: New test. - * gcc.target/gcn/simd-math-5-long.c: New test. - * gcc.target/gcn/simd-math-5-run-16.c: New test. - * gcc.target/gcn/simd-math-5-run-32.c: New test. - * gcc.target/gcn/simd-math-5-run-4.c: New test. - * gcc.target/gcn/simd-math-5-run-8.c: New test. - * gcc.target/gcn/simd-math-5-run.c: New test. - * gcc.target/gcn/simd-math-5-short-16.c: New test. - * gcc.target/gcn/simd-math-5-short-32.c: New test. - * gcc.target/gcn/simd-math-5-short-4.c: New test. - * gcc.target/gcn/simd-math-5-short-8.c: New test. - * gcc.target/gcn/simd-math-5-short-run-16.c: New test. - * gcc.target/gcn/simd-math-5-short-run-32.c: New test. - * gcc.target/gcn/simd-math-5-short-run-4.c: New test. - * gcc.target/gcn/simd-math-5-short-run-8.c: New test. - * gcc.target/gcn/simd-math-5-short-run.c: New test. - * gcc.target/gcn/simd-math-5-short.c: New test. - * gcc.target/gcn/simd-math-5.c: New test. - -2023-06-19 Richard Biener - - * gcc.dg/vect/vect-bic-bitmask-2.c: Remove -save-temps. - * gcc.dg/vect/vect-bic-bitmask-3.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-4.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-5.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-6.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-8.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-9.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-10.c: Likewise. - * gcc.dg/vect/vect-bic-bitmask-11.c: Likewise. - -2023-06-19 Richard Biener - - PR tree-optimization/110298 - * gcc.dg/torture/pr110298.c: New testcase. - -2023-06-19 Kyrylo Tkachov - - * gcc.target/aarch64/simd/low-high-combine_1.c: New test. - -2023-06-19 Senthil Kumar Selvaraj - - PR target/105523 - * lib/target-supports.exp - (check_effective_target_keeps_null_pointer_checks): Add - avr. - * gcc.target/avr/pr105523.c: New test. - -2023-06-19 Robin Dapp - - * gcc.target/riscv/rvv/autovec/unop/abs-run.c: Add FP. - * gcc.target/riscv/rvv/autovec/unop/abs-rv32gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/unop/abs-rv64gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/unop/abs-template.h: Add FP. - * gcc.target/riscv/rvv/autovec/unop/vneg-run.c: Add FP. - * gcc.target/riscv/rvv/autovec/unop/vneg-rv32gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/unop/vneg-rv64gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/unop/vneg-template.h: Add FP. - * gcc.target/riscv/rvv/autovec/unop/abs-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-run.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-template.h: New test. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vneg-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/zvfhmin-1.c: Add unops. - -2023-06-19 Robin Dapp - - * gcc.target/riscv/rvv/autovec/binop/vadd-run.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vadd-template.h: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vdiv-run.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vdiv-template.h: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vmax-run.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vmax-rv32gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vmax-rv64gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vmax-template.h: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vmin-run.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vmin-rv32gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vmin-rv64gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vmin-template.h: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vmul-run.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vmul-template.h: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vsub-run.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv.c: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vsub-template.h: Add FP. - * gcc.target/riscv/rvv/autovec/binop/vadd-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vdiv-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vmax-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vmin-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vmul-zvfh-run.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vsub-zvfh-run.c: New test. - * lib/target-supports.exp: Add riscv_vector_hw and riscv_zvfh_hw - target selectors. - -2023-06-19 Robin Dapp - - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1.c: Ensure - that no sext insns are present. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3.c: Dito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4.c: Dito. - -2023-06-19 Robin Dapp - - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-zvfh-run.c: - New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-run.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-zvfh-run.c: - New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c: New file. - -2023-06-19 Robin Dapp - - * gcc.target/riscv/rvv/autovec/binop/shift-run.c: Adapt for - (u)int8_t. - * gcc.target/riscv/rvv/autovec/binop/shift-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/shift-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/shift-template.h: Dito. - * gcc.target/riscv/rvv/autovec/binop/vadd-run.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vadd-template.h: Dito. - * gcc.target/riscv/rvv/autovec/binop/vand-run.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vand-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vand-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vand-template.h: Dito. - * gcc.target/riscv/rvv/autovec/binop/vdiv-run.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vdiv-template.h: Dito. - * gcc.target/riscv/rvv/autovec/binop/vmax-run.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vmax-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vmax-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vmax-template.h: Dito. - * gcc.target/riscv/rvv/autovec/binop/vmin-run.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vmin-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vmin-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vmin-template.h: Dito. - * gcc.target/riscv/rvv/autovec/binop/vmul-run.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vmul-template.h: Dito. - * gcc.target/riscv/rvv/autovec/binop/vor-run.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vor-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vor-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vor-template.h: Dito. - * gcc.target/riscv/rvv/autovec/binop/vrem-run.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vrem-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vrem-template.h: Dito. - * gcc.target/riscv/rvv/autovec/binop/vsub-run.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vsub-template.h: Dito. - * gcc.target/riscv/rvv/autovec/binop/vxor-run.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vxor-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vxor-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vxor-template.h: Dito. - -2023-06-19 Senthil Kumar Selvaraj - - PR target/110086 - * gcc.target/avr/pr110086.c: New test. - -2023-06-19 Jiufu Guo - - * gcc.target/powerpc/const_anchors.c: New test. - * gcc.target/powerpc/try_const_anchors_ice.c: New test. - -2023-06-19 liuhongt - - * gcc.target/i386/avx512bw-vpackssdw-3.c: New test. - * gcc.target/i386/avx512bw-vpacksswb-3.c: New test. - -2023-06-18 Jan Hubicka - - * gcc.dg/lto/20091013-1_0.c: Disable stringop-overread warning. - -2023-06-18 Honza - - PR tree-optimization/109849 - * g++.dg/ipa/devirt-45.C: Update template. - -2023-06-18 yulong - - * gcc.target/riscv/rvv/base/tuple-28.c: New test. - * gcc.target/riscv/rvv/base/tuple-29.c: New test. - * gcc.target/riscv/rvv/base/tuple-30.c: New test. - * gcc.target/riscv/rvv/base/tuple-31.c: New test. - * gcc.target/riscv/rvv/base/tuple-32.c: New test. - -2023-06-17 Roger Sayle - - * gcc.target/i386/sse2-v1ti-mov-2.c: New test case. - -2023-06-16 Pan Li - - PR target/110265 - * gcc.target/riscv/rvv/base/pr110265-1.c: New test. - * gcc.target/riscv/rvv/base/pr110265-1.h: New test. - * gcc.target/riscv/rvv/base/pr110265-2.c: New test. - * gcc.target/riscv/rvv/base/pr110265-2.h: New test. - * gcc.target/riscv/rvv/base/pr110265-3.c: New test. - -2023-06-16 Jakub Jelinek - - PR middle-end/79173 - * gcc.target/i386/pr79173-11.c: New test. - * gcc.dg/builtin-addc-1.c: New test. - -2023-06-16 Jakub Jelinek - - PR tree-optimization/110271 - * gcc.c-torture/compile/pr110271.c: New test. - -2023-06-16 Roger Sayle - Uros Bizjak - - PR target/31985 - * gcc.target/i386/pr31985.c: New test case. - -2023-06-16 Alex Coplan - - * g++.dg/cpp0x/enum40.C: Adjust expected diagnostics. - * g++.dg/cpp0x/forw_enum6.C: Likewise. - * g++.dg/cpp0x/elab-enum-base.C: New test. - -2023-06-16 Simon Dardis - - * gcc.target/mips/code-readable-attr-1.c: New test. - * gcc.target/mips/code-readable-attr-2.c: New test. - * gcc.target/mips/code-readable-attr-3.c: New test. - * gcc.target/mips/code-readable-attr-4.c: New test. - * gcc.target/mips/code-readable-attr-5.c: New test. - -2023-06-16 Richard Biener - - PR tree-optimization/110269 - * gcc.dg/tree-ssa/pr110269.c: New testcase. - -2023-06-16 David Malcolm - - PR c/107583 - * c-c++-common/spellcheck-pr107583.c: New test. - -2023-06-15 Andrew Pinski - - PR tree-optimization/110266 - * gcc.c-torture/compile/pr110266.c: New test. - -2023-06-15 Andrew MacLeod - - PR tree-optimization/110266 - * gcc.dg/pr110266.c: New. - -2023-06-15 Jakub Jelinek - - PR preprocessor/80753 - * c-c++-common/missing-header-5.c: New test. - -2023-06-15 Thomas Schwinge - - * c-c++-common/Wfree-nonheap-object-3.c: Fix 'dg-warning' for C++. - -2023-06-15 Jakub Jelinek - - PR middle-end/79173 - * gcc.target/i386/pr79173-1.c: New test. - * gcc.target/i386/pr79173-2.c: New test. - * gcc.target/i386/pr79173-3.c: New test. - * gcc.target/i386/pr79173-4.c: New test. - * gcc.target/i386/pr79173-5.c: New test. - * gcc.target/i386/pr79173-6.c: New test. - * gcc.target/i386/pr79173-7.c: New test. - * gcc.target/i386/pr79173-8.c: New test. - * gcc.target/i386/pr79173-9.c: New test. - * gcc.target/i386/pr79173-10.c: New test. - -2023-06-15 Oluwatamilore Adebayo - - * gcc.target/aarch64/abd.h: New file. - * gcc.target/aarch64/abd_2.c: New test. - * gcc.target/aarch64/abd_3.c: New test. - * gcc.target/aarch64/abd_4.c: New test. - * gcc.target/aarch64/abd_none_2.c: New test. - * gcc.target/aarch64/abd_none_3.c: New test. - * gcc.target/aarch64/abd_none_4.c: New test. - * gcc.target/aarch64/abd_run_1.c: New test. - * gcc.target/aarch64/sve/abd_1.c: New test. - * gcc.target/aarch64/sve/abd_none_1.c: New test. - * gcc.target/aarch64/sve/abd_2.c: New test. - * gcc.target/aarch64/sve/abd_none_2.c: New test. - -2023-06-15 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-7.c: New test. - -2023-06-15 Lehua Ding - - PR target/110119 - * gcc.target/riscv/rvv/base/pr110119-1.c: New test. - * gcc.target/riscv/rvv/base/pr110119-2.c: New test. - -2023-06-14 Jason Merrill - - DR 2327 - PR c++/86521 - * g++.dg/cpp0x/overload-conv-4.C: Remove warnings. - * g++.dg/cpp1z/elide7.C: New test. - -2023-06-14 Thomas Schwinge - - * gfortran.fortran-torture/execute/math.f90: Enhance for optional - OpenACC 'serial', OpenMP 'target' usage. - -2023-06-14 Thomas Schwinge - - * c-c++-common/Wfree-nonheap-object-2.c: Tighten 'dg-warning' - alternatives. - * c-c++-common/Wfree-nonheap-object-3.c: Likewise. - * c-c++-common/Wfree-nonheap-object.c: Likewise. - -2023-06-14 Thomas Schwinge - - * g++.dg/warn/Wfree-nonheap-object.s: Remove. - -2023-06-14 liuhongt - - * gcc.target/i386/pr110227.c: New test. - -2023-06-13 David Malcolm - - PR c/84890 - * g++.dg/cpp2a/srcloc3.C: Update expected message. - * g++.dg/lookup/missing-std-include-2.C: Likewise. - * g++.dg/lookup/missing-std-include-3.C: Likewise. - * g++.dg/lookup/missing-std-include-6.C: Likewise. - * g++.dg/lookup/missing-std-include.C: Likewise. - * g++.dg/spellcheck-inttypes.C: Likewise. - * g++.dg/spellcheck-stdint.C: Likewise. - * g++.dg/spellcheck-stdlib.C: Likewise. - * gcc.dg/spellcheck-inttypes.c: Likewise. - * gcc.dg/spellcheck-stdbool.c: Likewise. - * gcc.dg/spellcheck-stdint.c: Likewise. - * gcc.dg/spellcheck-stdlib.c: Likewise. - -2023-06-13 Francois-Xavier Coudert - - * gfortran.dg/data_array_7.f90: New test. - -2023-06-13 Harald Anlauf - Mikael Morin - - PR fortran/86277 - * gfortran.dg/zero_sized_14.f90: New test. - * gfortran.dg/zero_sized_15.f90: New test. - -2023-06-13 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/partial/slp-10.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-11.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-13.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-14.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-15.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-10.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-11.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-13.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-14.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-15.c: New test. - -2023-06-13 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/partial/slp-12.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-12.c: New test. - -2023-06-13 Jason Merrill - - * g++.dg/tree-ssa/initlist-opt6.C: New test. - -2023-06-13 Yanzhang Wang - Kito Cheng - - * g++.target/riscv/rvv/base/pr109244.C: Add the -Wno-psabi. - * g++.target/riscv/rvv/base/pr109535.C: Same - * gcc.target/riscv/rvv/base/binop_vx_constraint-120.c: Same - * gcc.target/riscv/rvv/base/integer_compare_insn_shortcut.c: Same - * gcc.target/riscv/rvv/base/mask_insn_shortcut.c: Same - * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: Same - * gcc.target/riscv/rvv/base/pr110109-2.c: Same - * gcc.target/riscv/rvv/base/scalar_move-9.c: Same - * gcc.target/riscv/rvv/base/spill-10.c: Same - * gcc.target/riscv/rvv/base/spill-11.c: Same - * gcc.target/riscv/rvv/base/spill-9.c: Same - * gcc.target/riscv/rvv/base/vlmul_ext-1.c: Same - * gcc.target/riscv/rvv/base/zero_base_load_store_optimization.c: Same - * gcc.target/riscv/rvv/base/zvfh-intrinsic.c: Same - * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Same - * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Same - * gcc.target/riscv/rvv/vsetvl/vsetvl-1.c: Same - * gcc.target/riscv/vector-abi-1.c: New test. - * gcc.target/riscv/vector-abi-2.c: New test. - * gcc.target/riscv/vector-abi-3.c: New test. - * gcc.target/riscv/vector-abi-4.c: New test. - * gcc.target/riscv/vector-abi-5.c: New test. - * gcc.target/riscv/vector-abi-6.c: New test. - -2023-06-13 Kyrylo Tkachov - - * gcc.target/arm/mtp.c: New test. - * gcc.target/arm/mtp_1.c: New test. - * gcc.target/arm/mtp_2.c: New test. - * gcc.target/arm/mtp_3.c: New test. - * gcc.target/arm/mtp_4.c: New test. - -2023-06-13 Kyrylo Tkachov - - PR target/108779 - * gcc.target/aarch64/mtp_5.c: New test. - * gcc.target/aarch64/mtp_6.c: New test. - * gcc.target/aarch64/mtp_7.c: New test. - * gcc.target/aarch64/mtp_8.c: New test. - * gcc.target/aarch64/mtp_9.c: New test. - -2023-06-13 Richard Biener - - PR middle-end/110232 - * gcc.target/i386/pr110232.c: New testcase. - -2023-06-13 Ajit Kumar Agarwal - - PR testsuite/109880 - * gcc.target/powerpc/fold-vec-extract-int.p8.c: Update test. - -2023-06-13 Kewen Lin - - PR testsuite/110230 - PR target/109932 - * gcc.target/powerpc/pr109932-1.c: Adjust with int128 effective target. - * gcc.target/powerpc/pr109932-2.c: Ditto. - -2023-06-13 Pan Li - - * gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c: - Adjust dg-do to comiple for asm checking. - -2023-06-13 Tejas Belagod - - PR target/96339 - * gcc.target/aarch64/sve/acle/general-c/svlast.c: New. - * gcc.target/aarch64/sve/acle/general-c/svlast128_run.c: New. - * gcc.target/aarch64/sve/acle/general-c/svlast256_run.c: New. - * gcc.target/aarch64/sve/pcs/return_4.c (caller_bf16): Fix asm - to expect optimized code for function body. - * gcc.target/aarch64/sve/pcs/return_4_128.c (caller_bf16): Likewise. - * gcc.target/aarch64/sve/pcs/return_4_256.c (caller_bf16): Likewise. - * gcc.target/aarch64/sve/pcs/return_4_512.c (caller_bf16): Likewise. - * gcc.target/aarch64/sve/pcs/return_4_1024.c (caller_bf16): Likewise. - * gcc.target/aarch64/sve/pcs/return_4_2048.c (caller_bf16): Likewise. - * gcc.target/aarch64/sve/pcs/return_5.c (caller_bf16): Likewise. - * gcc.target/aarch64/sve/pcs/return_5_128.c (caller_bf16): Likewise. - * gcc.target/aarch64/sve/pcs/return_5_256.c (caller_bf16): Likewise. - * gcc.target/aarch64/sve/pcs/return_5_512.c (caller_bf16): Likewise. - * gcc.target/aarch64/sve/pcs/return_5_1024.c (caller_bf16): Likewise. - * gcc.target/aarch64/sve/pcs/return_5_2048.c (caller_bf16): Likewise. - -2023-06-13 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c: New test. - -2023-06-13 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/partial/slp-8.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-9.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-8.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-9.c: New test. - -2023-06-12 Gaius Mulley - - PR modula2/110189 - * gm2/pim/fail/foovaltype.mod: New test. - -2023-06-12 Jeff Law - - PR rtl-optimization/101188 - * gcc.c-torture/execute/pr101188.c: New test - -2023-06-12 Prathamesh Kulkarni - - * gcc.target/aarch64/vec-init-single-const.c: New test. - * gcc.target/aarch64/vec-init-single-const-be.c: Likewise. - * gcc.target/aarch64/vec-init-single-const-2.c: Likewise. - -2023-06-12 Tobias Burnus - - * c-c++-common/gomp/defaultmap-4.c: Update scan-tree-dump. - * c-c++-common/gomp/map-9.c: Likewise. - * gfortran.dg/gomp/defaultmap-8.f90: Likewise. - * gfortran.dg/gomp/map-11.f90: Likewise. - * gfortran.dg/gomp/target-update-1.f90: Likewise. - * gfortran.dg/gomp/map-12.f90: Likewise; also check original dump. - * c-c++-common/gomp/map-6.c: Update dg-error and also check - clause error with 'target (enter/exit) data'. - -2023-06-12 Pan Li - - * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: Adjust test checking. - -2023-06-12 Pan Li - - * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Add new test cases. - * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Likewise. - -2023-06-12 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/binop/narrow-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/narrow-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/narrow-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/narrow_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/narrow_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/narrow_run-3.c: New test. - -2023-06-12 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/zvfhmin-1.c: New test. - -2023-06-12 Andre Vieira - - * gcc.dg/vect/pr110142.c: New test. - -2023-06-12 liuhongt - - * gcc.target/i386/vec_pack_fp16-1.c: New test. - * gcc.target/i386/vec_pack_fp16-2.c: New test. - * gcc.target/i386/vec_pack_fp16-3.c: New test. - -2023-06-12 Jason Merrill - - PR c++/105838 - * g++.dg/tree-ssa/initlist-opt5.C: New test. - -2023-06-12 Kewen Lin - - PR target/109932 - * gcc.target/powerpc/pr109932-1.c: New test. - * gcc.target/powerpc/pr109932-2.c: New test. - -2023-06-12 Kewen Lin - - PR target/110011 - * gcc.target/powerpc/pr110011.c: New test. - -2023-06-12 Pan Li - - * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Add test cases. - * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Ditto. - -2023-06-12 Pan Li - - * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Add new test cases. - * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Add new test cases. - -2023-06-11 Patrick Palka - - PR c++/110122 - * g++.dg/cpp2a/nontype-class59.C: New test. - -2023-06-11 Patrick Palka - - PR c++/110122 - * g++.dg/cpp2a/nontype-class57.C: New test. - * g++.dg/cpp2a/nontype-class58.C: New test. - -2023-06-11 Georg-Johann Lay - - PR target/109907 - * gcc.target/avr/pr109907.c: New test. - * gcc.target/avr/torture/pr109907-1.c: New test. - * gcc.target/avr/torture/pr109907-2.c: New test. - -2023-06-11 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/vsetvl-16.c: Adapt test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-21.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-22.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: New test. - -2023-06-10 Nathan Sidwell - - * g++.dg/template/pr61663.C: New. - -2023-06-10 Georg-Johann Lay - - PR target/109650 - * gcc.target/avr/torture/pr109650-1.c: New test. - * gcc.target/avr/torture/pr109650-2.c: New test. - -2023-06-10 Francois-Xavier Coudert - - * gfortran.dg/ieee/minmax_1.f90: New test. - * gfortran.dg/ieee/minmax_2.f90: New file. - * gfortran.dg/ieee/minmax_3.f90: New file. - * gfortran.dg/ieee/minmax_4.f90: New file. - -2023-06-10 Tim Lange - - PR analyzer/110014 - * gcc.dg/analyzer/realloc-pr110014.c: New tests. - -2023-06-10 Tim Lange - - PR analyzer/109577 - * gcc.dg/analyzer/allocation-size-2.c: Change expected output - and add new test case. - * gcc.dg/analyzer/pr109577.c: New test. - -2023-06-10 Pan Li - - * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Add new cases. - * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Diito. - -2023-06-10 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/ternop/ternop-2.c: Adapt test. - * gcc.target/riscv/rvv/autovec/ternop/ternop-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/select_vl-1.c: New test. - -2023-06-09 Jason Merrill - - * g++.dg/concepts/auto7.C: New test. - * g++.dg/concepts/auto7a.C: New test. - -2023-06-09 Jason Merrill - - PR c++/110102 - * g++.dg/cpp0x/initlist-opt1.C: New test. - -2023-06-09 Andrew Pinski - - PR tree-optimization/97711 - PR tree-optimization/110155 - * gcc.dg/tree-ssa/branchless-cond-add-2.c: New test. - * gcc.dg/tree-ssa/branchless-cond-add.c: New test. - -2023-06-09 Andrew Pinski - - * gcc.dg/tree-ssa/branchless-cond.c: Update testcase. - -2023-06-09 Andrew Pinski - - PR tree-optimization/110165 - PR tree-optimization/110166 - * gcc.c-torture/execute/pr110165-1.c: New test. - * gcc.c-torture/execute/pr110166-1.c: New test. - -2023-06-09 Lehua Ding - - * gcc.dg/vect/tsvc/vect-tsvc-s176.c: Adjust iterations. - * gcc.dg/vect/tsvc/tsvc.h: Adjust expected rsult for s176. - -2023-06-09 Pan Li - - * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Add vle16 test - for ZVFHMIN. - -2023-06-09 liuhongt - - * gcc.target/i386/pr110108-2.c: New test. - -2023-06-09 liuhongt - - * gcc.target/i386/pr110108.c: New test. - * gcc.target/i386/pr110108-3.c: New test. - * gcc.target/i386/pr109900.c: Adjust testcase. - -2023-06-08 Gaius Mulley - - PR modula2/110126 - * gm2/pim/pass/fooasm3.mod: New test. - -2023-06-08 Pan Li - - * gcc.target/riscv/rvv/base/zvfh-intrinsic.c: Add new cases. - * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: New test. - -2023-06-08 Benjamin Priour - - * gcc.dg/analyzer/out-of-bounds-2.c: Cleaned test for uninitialized-value warning - * gcc.dg/analyzer/out-of-bounds-5.c: Likewise. - * gcc.dg/analyzer/pr101962.c: Likewise. - * gcc.dg/analyzer/realloc-5.c: Likewise. - * gcc.dg/analyzer/pr109439.c: New test. - -2023-06-08 Jakub Jelinek - - * gcc.target/i386/ctzll-1.c: New test. - * gcc.target/i386/ffsll-1.c: New test. - -2023-06-08 Paul Thomas - - PR fortran/99350 - PR fortran/107821 - PR fortran/109451 - * gfortran.dg/pr99350.f90 : New test. - * gfortran.dg/associate_5.f03 : Changed error message. - * gfortran.dg/pr107821.f90 : New test. - * gfortran.dg/associate_61.f90 : New test - -2023-06-08 Alexandre Oliva - - * gcc.dg/vect/tsvc/vect-tsvc-s116.c: Bump timeout factor. - * gcc.dg/vect/tsvc/vect-tsvc-s241.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s254.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s271.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s2711.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s2712.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s276.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-vdotr.c: Likewise. - -2023-06-07 Roger Sayle - Uros Bizjak - - * gcc.target/i386/cmc-1.c: New test case. - * gcc.target/i386/stc-1.c: Likewise. - -2023-06-07 Jason Merrill - - PR c++/58487 - PR c++/53637 - * g++.dg/opt/nrv26.C: New test. - * g++.dg/opt/nrv26a.C: New test. - * g++.dg/opt/nrv27.C: New test. - -2023-06-07 Jeff Law - Jeff Law - - * gcc.target/riscv/shift-and-2.c: New tests. - * gcc.target/riscv/shift-shift-2.c: Adjust expected output. - * gcc.target/riscv/sign-extend.c: New test. - * gcc.target/riscv/zbb-rol-ror-03.c: Adjust expected output. - -2023-06-07 Alex Coplan - - PR target/110132 - * lib/target-supports.exp (check_effective_target_aarch64_asm_FUNC_ok): - Extend to ls64. - * g++.target/aarch64/acle/acle.exp: New. - * g++.target/aarch64/acle/ls64.C: New test. - * g++.target/aarch64/acle/ls64_lto.C: New test. - * gcc.target/aarch64/acle/ls64_lto.c: New test. - * gcc.target/aarch64/acle/pr110132.c: New test. - -2023-06-07 Alex Coplan - - PR target/110100 - * gcc.target/aarch64/acle/pr110100.c: New test. - -2023-06-07 Vladimir N. Makarov - - * gcc.target/sparc/pr109541.c: New. - -2023-06-07 Jeff Law - - * gcc.target/hppa/shadd-3.c: Update expected output. - -2023-06-07 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/scalable-1.c: Adapt testcase for VLA - vectorizer. - * gcc.target/riscv/rvv/autovec/v-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64d-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64f-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/slp-1.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-2.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-3.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-4.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-5.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-6.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp-7.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-6.c: New test. - * gcc.target/riscv/rvv/autovec/partial/slp_run-7.c: New test. - -2023-06-07 Andrew Pinski - - PR middle-end/110117 - * gcc.dg/pr110117-1.c: New test. - * gcc.dg/pr110117-2.c: New test. - -2023-06-07 Andrew Pinski - - PR tree-optimization/110134 - * gcc.dg/tree-ssa/negneq-1.c: New test. - * gcc.dg/tree-ssa/negneq-2.c: New test. - * gcc.dg/tree-ssa/negneq-3.c: New test. - * gcc.dg/tree-ssa/negneq-4.c: New test. - -2023-06-07 Andrew Pinski - - * gcc.dg/tree-ssa/phi-opt-2.c: Adjust the testcase. - * gcc.dg/tree-ssa/phi-opt-25b.c: Adjust the testcase. - * gcc.dg/tree-ssa/ssa-thread-21.c: Disable phiopt. - * gcc.dg/tree-ssa/phi-opt-27.c: New test. - * gcc.dg/tree-ssa/phi-opt-28.c: New test. - * gcc.dg/tree-ssa/phi-opt-29.c: New test. - * gcc.dg/tree-ssa/phi-opt-30.c: New test. - * gcc.dg/tree-ssa/phi-opt-31.c: New test. - * gcc.dg/tree-ssa/phi-opt-32.c: New test. - -2023-06-07 Jason Merrill - - PR c++/58487 - * g++.dg/opt/nrv25.C: New test. - -2023-06-07 Jason Merrill - - PR c++/51571 - PR c++/92407 - * g++.dg/opt/nrv23.C: New test. - -2023-06-07 Jason Merrill - - PR c++/92407 - * g++.dg/opt/nrv22.C: New test. - -2023-06-07 Jason Merrill - - PR c++/33799 - * g++.dg/eh/return1.C: Add label cases. - -2023-06-07 Jason Merrill - - * g++.dg/contracts/contracts-post7.C: New test. - -2023-06-07 Jason Merrill - - PR c++/58050 - * g++.dg/opt/nrv24.C: New test. - -2023-06-07 Gaius Mulley - - PR modula2/110019 - * gm2/cpp/fail/cpp-fail.exp: New test. - * gm2/cpp/fail/foocpp.mod: New test. - -2023-06-06 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/widen/widen-8.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-9.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-5.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-6.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-8.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-9.c: New test. - -2023-06-06 Kwok Cheung Yeung - Tobias Burnus - - * c-c++-common/gomp/map-6.c: Update dg-error, extend to test for - duplicated 'present' and extend scan-dump tests for 'present'. - * gfortran.dg/gomp/defaultmap-1.f90: Update dg-error. - * gfortran.dg/gomp/map-7.f90: Extend parse and dump test for - 'present'. - * gfortran.dg/gomp/map-8.f90: Extend for duplicate 'present' - modifier checking. - * c-c++-common/gomp/defaultmap-4.c: New test. - * c-c++-common/gomp/map-9.c: New test. - * c-c++-common/gomp/target-update-1.c: New test. - * gfortran.dg/gomp/defaultmap-8.f90: New test. - * gfortran.dg/gomp/map-11.f90: New test. - * gfortran.dg/gomp/map-12.f90: New test. - * gfortran.dg/gomp/target-update-1.f90: New test. - -2023-06-06 Kyrylo Tkachov - - * gcc.target/aarch64/simd/vrshr_1.c: New test. - -2023-06-06 Kyrylo Tkachov - - * gcc.target/aarch64/simd/pr99195_5.c: Add testing for shrn_n, rshrn_n - intrinsics. - -2023-06-06 Kyrylo Tkachov - - * gcc.target/aarch64/simd/addlv_1.c: New test. - -2023-06-06 Richard Biener - - PR middle-end/110055 - * g++.dg/warn/Wdangling-pointer-pr110055.C: New testcase. - -2023-06-06 Fei Gao - - * gcc.target/riscv/save-restore-cfi.c: New test to check save-restore - cfi directives. - -2023-06-06 Pan Li - - * gcc.target/riscv/rvv/base/zvfh-intrinsic.c: Add new test cases. - -2023-06-06 Fei Gao - - * gcc.target/riscv/save-restore-cfi-2.c: New test to check machmode - for cfi reg/mem. - -2023-06-05 Andre Vieira - Joel Hutton - Tamar Christina - - * gcc.target/aarch64/vect-widen-add.c: Test that new - IFN_VEC_WIDEN_PLUS is being used. - * gcc.target/aarch64/vect-widen-sub.c: Test that new - IFN_VEC_WIDEN_MINUS is being used. - -2023-06-05 Iain Buclaw - - * gdc.dg/Wmismatched_enum.d: New test. - -2023-06-05 Liao Shihua - - * gcc.target/riscv/xtheadcondmov-indirect-rv32.c: Generalize to be - less sensitive to register allocation choices. - * gcc.target/riscv/xtheadcondmov-indirect-rv64.c: Similarly. - -2023-06-05 Pan Li - - * gcc.target/riscv/rvv/base/zvfh-intrinsic.c: New test. - -2023-06-04 Juzhe-Zhong - - PR target/110109 - * gcc.target/riscv/rvv/base/pr110109-1.c: New test. - * gcc.target/riscv/rvv/base/pr110109-2.c: New test. - -2023-06-04 Pan Li - - * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: New test. - -2023-06-04 Roger Sayle - - PR target/110083 - * gcc.target/i386/pr110083.c: New test case. - -2023-06-04 Jason Merrill - - PR c++/97720 - * g++.dg/eh/terminate2.C: New test. - -2023-06-04 Pan Li - - * gcc.target/riscv/rvv/base/mov-14.c: New test. - * gcc.target/riscv/rvv/base/spill-13.c: New test. - -2023-06-03 Patrick Palka - - PR c++/109923 - * g++.dg/template/friend79.C: New test. - -2023-06-03 Patrick Palka - - * g++.dg/warn/Waddress-of-packed-member2.C: No longer expect a() - to be marked as odr-used. - -2023-06-03 Patrick Palka - - PR c++/70790 - * g++.dg/abi/mangle78.C: New test. - -2023-06-03 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/widen/widen-7.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-3.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-4.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-7.c: New test. - -2023-06-03 liuhongt - - * gcc.target/i386/pr110067.c: New test. - -2023-06-03 liuhongt - - * gcc.target/i386/pr92658-avx512bw-trunc-2.c: New test. - -2023-06-02 Andrew Pinski - - PR rtl-optimization/102733 - * gcc.target/i386/addr-space-6.c: New test. - -2023-06-02 Andrew Pinski - - PR rtl-optimization/110042 - * gcc.target/aarch64/csel_bfx_2.c: New test. - -2023-06-02 Iain Sandoe - - PR target/110044 - * gcc.target/powerpc/darwin-abi-13-0.c: New test. - * gcc.target/powerpc/darwin-abi-13-1.c: New test. - * gcc.target/powerpc/darwin-abi-13-2.c: New test. - * gcc.target/powerpc/darwin-structs-0.h: New test. - -2023-06-02 Steve Kargl - - PR fortran/100607 - * gfortran.dg/select_rank_6.f90: New test. - -2023-06-02 Jason Merrill - - DR 2735 - PR c++/109247 - * g++.dg/cpp0x/initlist-explicit3.C: New test. - -2023-06-02 Carl Love - - * gcc.target/powerpc/builtin_altivec_tr_stxvr_runnable.c: New test - for __builtin_altivec_tr_stxvrbx, __builtin_altivec_tr_stxvrhx, - __builtin_altivec_tr_stxvrwx, __builtin_altivec_tr_stxvrdx. - -2023-06-02 Jason Merrill - - PR c++/110070 - PR c++/105838 - * g++.dg/tree-ssa/initlist-opt1.C: Check for static array. - * g++.dg/tree-ssa/initlist-opt2.C: Likewise. - * g++.dg/tree-ssa/initlist-opt4.C: New test. - * g++.dg/opt/icf1.C: New test. - * g++.dg/opt/icf2.C: New test. - * g++.dg/opt/icf3.C: New test. - * g++.dg/tree-ssa/array-temp1.C: Revert r12-657 change. - -2023-06-02 David Malcolm - - PR analyzer/109015 - * gcc.dg/analyzer/atomic-builtins-1.c: New test. - * gcc.dg/analyzer/atomic-builtins-haproxy-proxy.c: New test. - * gcc.dg/analyzer/atomic-builtins-qemu-sockets.c: New test. - * gcc.dg/analyzer/atomic-types-1.c: New test. - -2023-06-02 David Edelsohn - - * gcc.dg/pr107557-1.c: Require LTO support. - * gcc.dg/pr107557-2.c: Require LTO support. - -2023-06-02 Paul Thomas - - PR fortran/87477 - PR fortran/102109 - PR fortran/102112 - PR fortran/102190 - PR fortran/102532 - PR fortran/109948 - PR fortran/99326 - * gfortran.dg/associate_54.f90 : Cope with extra error. - * gfortran.dg/pr102109.f90 : New test. - * gfortran.dg/pr102112.f90 : New test. - * gfortran.dg/pr102190.f90 : New test. - * gfortran.dg/pr102532.f90 : New test. - * gfortran.dg/pr109948.f90 : New test. - * gfortran.dg/pr99326.f90 : New test. - -2023-06-02 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-4.c: Add assembly check. - -2023-06-02 Pan Li - - * gcc.target/riscv/rvv/base/abi-16.c: Add test cases. - * gcc.target/riscv/rvv/base/user-7.c: Likewise. - -2023-06-02 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/frm-1.c: Ditto. - * gcc.target/riscv/rvv/base/vxrm-1.c: Ditto. - * gcc.target/riscv/rvv/base/vxrm-10.c: Ditto. - * gcc.target/riscv/rvv/base/vxrm-11.c: Ditto. - * gcc.target/riscv/rvv/base/vxrm-12.c: Ditto. - * gcc.target/riscv/rvv/base/vxrm-6.c: Ditto. - * gcc.target/riscv/rvv/base/vxrm-7.c: Ditto. - * gcc.target/riscv/rvv/base/vxrm-8.c: Ditto. - * gcc.target/riscv/rvv/base/vxrm-9.c: Ditto. - -2023-06-02 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/widen/widen-5.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-6.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-1.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-2.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-6.c: New test. - -2023-06-02 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm.h: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-7.c: New test. - -2023-06-01 Harald Anlauf - - PR fortran/88552 - * gfortran.dg/pr88552.f90: New test. - -2023-06-01 Vineet Gupta - - * lib/torture-options.exp: print the value of non-empty options: - torture_without_loops, torture_with_loops, LTO_TORTURE_OPTIONS. - -2023-06-01 Vineet Gupta - - * gcc.misc-tests/i386-prefetch.exp: Move early return outside - the torture-{init,finish} - -2023-06-01 David Edelsohn - - * gcc.target/powerpc/pr100106-sa.c: Skip on AIX. - * gcc.target/powerpc/pr109566.c: Skip on AIX. - -2023-06-01 Roger Sayle - Uros Bizjak - - PR target/109973 - * gcc.target/i386/pr109973-1.c: New test case. - * gcc.target/i386/pr109973-2.c: Likewise. - -2023-06-01 Kyrylo Tkachov - - * gcc.target/aarch64/xreg-vec-modes_1.c: New test. - -2023-06-01 Tobias Burnus - - * gfortran.dg/gomp/nothing-2.f90: Remove one dg-error. - * gfortran.dg/gomp/pr79154-2.f90: Update expected dg-error wording. - * gfortran.dg/gomp/pr79154-simd.f90: Likewise. - * gfortran.dg/gomp/pure-1.f90: New test. - * gfortran.dg/gomp/pure-2.f90: New test. - * gfortran.dg/gomp/pure-3.f90: New test. - * gfortran.dg/gomp/pure-4.f90: New test. - -2023-06-01 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/frm-1.c: New test. - -2023-05-31 Bernhard Reutner-Fischer - - * lib/gcc-dg.exp: Rename gcc_force_conventional_output to - gcc_set_required_options. - * lib/target-supports.exp: Rename force_conventional_output_for - to set_required_options_for. - * lib/scanasm.exp: Adjust callers. - * lib/scanrtl.exp: Same. - -2023-05-31 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_11.c: New test. - -2023-05-31 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_1.c: Add tests for qdmulh, qrdmulh. - * gcc.target/aarch64/simd/pr99195_10.c: New test. - -2023-05-31 David Faust - - * gcc.dg/debug/btf/btf-array-1.c: Use new BTF asm comments - in scan-assembler expressions where useful. - * gcc.dg/debug/btf/btf-anonymous-struct-1.c: Likewise. - * gcc.dg/debug/btf/btf-anonymous-union-1.c: Likewise. - * gcc.dg/debug/btf/btf-bitfields-2.c: Likewise. - * gcc.dg/debug/btf/btf-bitfields-3.c: Likewise. - * gcc.dg/debug/btf/btf-datasec-2.c: Likewise. - * gcc.dg/debug/btf/btf-enum-1.c: Likewise. - * gcc.dg/debug/btf/btf-function-6.c: Likewise. - * gcc.dg/debug/btf/btf-pointers-1.c: Likewise. - * gcc.dg/debug/btf/btf-struct-1.c: Likewise. - * gcc.dg/debug/btf/btf-struct-2.c: Likewise. - * gcc.dg/debug/btf/btf-typedef-1.c: Likewise. - * gcc.dg/debug/btf/btf-union-1.c: Likewise. - * gcc.dg/debug/btf/btf-variables-1.c: Likewise. - * gcc.dg/debug/btf/btf-variables-2.c: Likewise. Update outdated comment. - * gcc.dg/debug/btf/btf-function-3.c: Update outdated comment. - -2023-05-31 Juzhe-Zhong - - * gcc.target/riscv/rvv/rvv.exp: - * gcc.target/riscv/rvv/autovec/widen/widen-1.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-2.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-3.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen-4.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/widen/widen_run-4.c: New test. - -2023-05-31 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/binop/vsub-run.c: Add vsub.vi. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vsub-template.h: Ditto. - -2023-05-31 Cui, Lili - - PR tree-optimization/110038 - * gcc.dg/pr110038.c: New test. - -2023-05-31 Pan Li - - * gcc.target/riscv/arch-21.c: New test. - * gcc.target/riscv/predef-27.c: New test. - -2023-05-31 Pan Li - - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-1.c: - Remove debug code. - -2023-05-30 liuhongt - - * gcc.target/i386/pr108804.c: New test. - -2023-05-30 David Malcolm - - * gcc.dg/analyzer/malloc-sarif-1.c: Add missing verify-sarif-file - directive. - * gcc.dg/analyzer/sarif-pr107366.c: Likewise. - -2023-05-30 Georg-Johann Lay - - PR testsuite/52641 - * gcc.dg/torture/pr107451.c: Require int32plus. - * gcc.dg/torture/pr108574-3.c: Use __INT32_TYPE__ instead of int. - * gcc.dg/torture/pr109940.c: Use __INTPTR_TYPE__ instead of long. - * gcc.dg/torture/pr95248.c: Require size24plus. - * gcc.dg/torture/pr95295-3.c: Use var_* with at least 32 bits int. - * gcc.dg/torture/pr98640.c: Cast to __INT32_TYPE__ instead of int. - * gcc.dg/tree-ssa/pr103771.c: Use int with at least 32 bits. - -2023-05-30 Christophe Lyon - - * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-int.c: - Support both definitions of int32_t. - -2023-05-30 Andrew Pinski - - * gcc.dg/tree-ssa/minmax-22.c: New test. - -2023-05-30 Andrew Pinski - - * gcc.dg/tree-ssa/phi-opt-5.c: Remove last xfail. - * gcc.dg/tree-ssa/pr66726-4.c: Change how scanning - works. - * gcc.dg/tree-ssa/pr66726-5.c: New test. - * gcc.dg/tree-ssa/pr66726-6.c: New test. - -2023-05-30 Christophe Lyon - - * gcc.target/arm/acle/data-intrinsics-armv6.c: Fix typo. - * gcc.target/arm/acle/data-intrinsics-assembly.c: Require - arm_softfp_ok. - -2023-05-30 Tobias Burnus - - PR c/109999 - * c-c++-common/goacc/asyncwait-1.c: Update dg-error. - * c-c++-common/goacc/clauses-fail.c: Likewise. - * c-c++-common/goacc/data-2.c: Likewise. - * c-c++-common/gomp/declare-target-2.c: Likewise. - * c-c++-common/gomp/directive-1.c: Likewise. - * g++.dg/goacc/data-1.C: Likewise. - -2023-05-30 Robin Dapp - - * gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c: Add vmv.v.x - tests. - * gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv64.c: Dito. - * gcc.target/riscv/rvv/autovec/vmv-imm-run.c: Dito. - * gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c: Dito. - * gcc.target/riscv/rvv/autovec/vmv-imm-rv64.c: Dito. - * gcc.target/riscv/rvv/autovec/vmv-imm-template.h: Dito. - -2023-05-30 liuhongt - - * gcc.target/i386/pr108938-1.c: New test. - * gcc.target/i386/pr108938-2.c: New test. - * gcc.target/i386/pr108938-3.c: New test. - * gcc.target/i386/pr108938-load-1.c: New test. - * gcc.target/i386/pr108938-load-2.c: New test. - -2023-05-30 Andreas Schwab - - PR sanitizer/82501 - * c-c++-common/asan/pointer-compare-1.c: Disable use of small data - on RISC-V. - -2023-05-30 Lili Cui - - PR tree-optimization/98350 - * gcc.dg/pr98350-1.c: New test. - * gcc.dg/pr98350-2.c: Ditto. - -2023-05-30 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-template.h: New test. - -2023-05-30 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/ternop/ternop-4.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop-5.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop-6.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-6.c: New test. - -2023-05-29 Die Li - - * gcc.target/riscv/xtheadcondmov-indirect-rv32.c: Update the output. - * gcc.target/riscv/xtheadcondmov-indirect-rv64.c: Likewise. - -2023-05-29 Jivan Hakobyan - - * gcc.target/riscv/and-extend-1.c: New test - * gcc.target/riscv/and-extend-2.c: New test - -2023-05-29 Pan Li - - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-3.c: New test. - -2023-05-29 Eric Botcazou - - * gnat.dg/specs/storage_offset1.ads: New test. - -2023-05-29 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/pr109974.c: New test. - -2023-05-29 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/unop/abs-run.c: Remove redundant printf. - -2023-05-29 Juzhe-Zhong - - * gcc.target/riscv/rvv/rvv.exp: Add ternary tests - * gcc.target/riscv/rvv/autovec/ternop/ternop-1.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop-2.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop-3.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-3.c: New test. - -2023-05-29 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/vxrm-11.c: New test. - * gcc.target/riscv/rvv/base/vxrm-12.c: New test. - -2023-05-29 Pan Li - - * gcc.target/riscv/arch-20.c: New test. - * gcc.target/riscv/predef-26.c: New test. - -2023-05-27 liuhongt - - * gcc.target/i386/pr100711-2.c: Add v4di/v2di testcases. - * gcc.target/i386/pr100711-3.c: New test. - -2023-05-26 Martin Uecker - - * gcc.dg/pr109970.c: New test. - -2023-05-26 Robin Dapp - - * gcc.target/riscv/rvv/rvv.exp: Add unop tests. - * gcc.target/riscv/rvv/autovec/unop/abs-run.c: New test. - * gcc.target/riscv/rvv/autovec/unop/abs-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/unop/abs-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/unop/abs-template.h: New test. - * gcc.target/riscv/rvv/autovec/unop/vneg-run.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vneg-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vneg-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vneg-template.h: New test. - * gcc.target/riscv/rvv/autovec/unop/vnot-run.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vnot-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vnot-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vnot-template.h: New test. - -2023-05-26 Robin Dapp - Juzhe Zhong - - * gcc.target/riscv/rvv/autovec/binop/shift-rv32gcv.c: Adjust - expectation. - * gcc.target/riscv/rvv/autovec/binop/shift-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vdiv-run.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vdiv-template.h: Dito. - * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/binop/vrem-rv64gcv.c: Dito. - * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-2.c: Dito. - * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-2.c: Dito. - * gcc.target/riscv/rvv/autovec/zve64d-2.c: Dito. - * gcc.target/riscv/rvv/autovec/zve64f-2.c: Dito. - * gcc.target/riscv/rvv/autovec/zve64x-2.c: Dito. - * gcc.target/riscv/rvv/rvv.exp: Add new conversion tests. - * gcc.target/riscv/rvv/vsetvl/avl_single-38.c: Do not vectorize. - * gcc.target/riscv/rvv/vsetvl/avl_single-47.c: Dito. - * gcc.target/riscv/rvv/vsetvl/avl_single-48.c: Dito. - * gcc.target/riscv/rvv/vsetvl/avl_single-49.c: Dito. - * gcc.target/riscv/rvv/vsetvl/imm_switch-8.c: Dito. - * gcc.target/riscv/rvv/autovec/conversions/vncvt-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vncvt-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vncvt-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vncvt-template.h: New test. - * gcc.target/riscv/rvv/autovec/conversions/vsext-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vsext-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vsext-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vsext-template.h: New test. - * gcc.target/riscv/rvv/autovec/conversions/vzext-run.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vzext-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vzext-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/conversions/vzext-template.h: New test. - -2023-05-26 Tobias Burnus - - * gfortran.dg/gomp/allocate-2.f90: Update dg-error. - * gfortran.dg/gomp/allocate-4.f90: New test. - * gfortran.dg/gomp/allocate-5.f90: New test. - * gfortran.dg/gomp/allocate-6.f90: New test. - * gfortran.dg/gomp/allocate-7.f90: New test. - * gfortran.dg/gomp/allocators-1.f90: New test. - * gfortran.dg/gomp/allocators-2.f90: New test. - -2023-05-26 Tobias Burnus - - * gfortran.dg/gomp/allocate-4.f90: Remove autoadded file. - * gfortran.dg/gomp/allocate-5.f90: Likewise. - * gfortran.dg/gomp/allocate-6.f90: Likewise. - * gfortran.dg/gomp/allocate-7.f90: Likewise. - * gfortran.dg/gomp/allocators-1.f90: Likewise. - * gfortran.dg/gomp/allocators-2.f90: Likewise. - -2023-05-26 Andrew Stubbs - Tobias Burnus - - * gfortran.dg/gomp/allocate-4.f90: New file. - * gfortran.dg/gomp/allocate-5.f90: New file. - * gfortran.dg/gomp/allocate-6.f90: New file. - * gfortran.dg/gomp/allocate-7.f90: New file. - * gfortran.dg/gomp/allocators-1.f90: New file. - * gfortran.dg/gomp/allocators-2.f90: New file. - -2023-05-25 Dimitar Dimitrov - - * gcc.dg/nested-vla-1.c: Require effective target trampolines. - * gcc.dg/nested-vla-2.c: Ditto. - * gcc.dg/nested-vla-3.c: Ditto. - -2023-05-25 Uros Bizjak - - * gcc.target/i386/avx512vl-pr95488-1.c: Revert 2023-05-18 change. - -2023-05-25 Georg-Johann Lay - - PR target/82931 - * gcc.target/avr/pr82931.c: New test. - -2023-05-25 Ju-Zhe Zhong - Richard Sandiford - - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-3.c: New test. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-4.c: New test. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-4.c: New test. - -2023-05-25 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_9.c: New test. - -2023-05-25 Chris Sidebottom - - * gcc.target/arm/acle/data-intrinsics-armv6.c: New test. - * gcc.target/arm/acle/data-intrinsics-assembly.c: New test. - * gcc.target/arm/acle/data-intrinsics-rbit.c: New test. - * gcc.target/arm/acle/data-intrinsics.c: New test. - -2023-05-25 Alex Coplan - - PR target/109800 - * gcc.target/arm/pure-code/pr109800.c: New test. - -2023-05-25 Kyrylo Tkachov - - * gcc.target/aarch64/simd/facgt_constpool_1.c: New test. - -2023-05-25 Hu, Lin1 - - PR target/109173 - PR target/109174 - * gcc.target/i386/pr109173-1.c: New test. - * gcc.target/i386/pr109174-1.c: Ditto. - -2023-05-25 Christophe Lyon - - * gcc.dg/analyzer/data-model-4.c: Exit if fopen returns NULL. - * gcc.dg/analyzer/torture/conftest-1.c: Likewise. - -2023-05-25 Alexandre Oliva - - PR target/100106 - * gcc.target/powerpc/pr100106-sa.c: New. - -2023-05-25 Alexandre Oliva - - * gcc.target/i386/mcount_pic.c: Add dg-require-profiling. - * gcc.target/i386/pr104447.c: Likewise. - -2023-05-25 Alexandre Oliva - - * g++.dg/pr80481.C: Add explicit pthread requirement. - -2023-05-25 Alexandre Oliva - - * gcc.target/i386/pr103074.c: Require fpic support. - -2023-05-25 Alexandre Oliva - - * gcc.dg/vect/tsvc/tsvc.h: Test for and conditionally include - malloc.h and sys/time.h. - -2023-05-25 Alexandre Oliva - - * gcc.target/i386/pieces-memcpy-7.c: Add -fomit-frame-pointer. - * gcc.target/i386/pieces-memcpy-8.c: Likewise. - * gcc.target/i386/pieces-memcpy-9.c: Likewise. - * gcc.target/i386/pieces-memset-1.c: Likewise. - * gcc.target/i386/pieces-memset-36.c: Likewise. - * gcc.target/i386/pieces-memset-4.c: Likewise. - * gcc.target/i386/pieces-memset-40.c: Likewise. - * gcc.target/i386/pieces-memset-41.c: Likewise. - * gcc.target/i386/pieces-memset-7.c: Likewise. - * gcc.target/i386/pieces-memset-8.c: Likewise. - * gcc.target/i386/pieces-memset-9.c: Likewise. - * gcc.target/i386/pr102230.c: Likewise. - * gcc.target/i386/pr78103-2.c: Likewise. - -2023-05-24 Andrew MacLeod - - PR tree-optimization/107822 - PR tree-optimization/107986 - * gcc.dg/pr107822.c: New. - * gcc.dg/pr107986-1.c: New. - -2023-05-24 Harald Anlauf - - PR fortran/104350 - * gfortran.dg/size_dim_2.f90: New test. - -2023-05-24 Harald Anlauf - - PR fortran/103794 - * gfortran.dg/reshape_10.f90: New test. - * gfortran.dg/reshape_11.f90: New test. - -2023-05-24 Roger Sayle - - PR middle-end/109840 - * gcc.dg/fold-parity-8.c: New test. - * gcc.dg/fold-popcount-11.c: Likewise. - -2023-05-24 Aldy Hernandez - - * gcc.dg/ipa/pr78121.c: Adjust for vrange::dump use. - * gcc.dg/ipa/vrp1.c: Same. - * gcc.dg/ipa/vrp2.c: Same. - * gcc.dg/ipa/vrp3.c: Same. - * gcc.dg/ipa/vrp4.c: Same. - * gcc.dg/ipa/vrp5.c: Same. - * gcc.dg/ipa/vrp6.c: Same. - * gcc.dg/ipa/vrp7.c: Same. - * gcc.dg/ipa/vrp8.c: Same. - -2023-05-24 Uros Bizjak - - * gcc.target/i386/vect-shiftv4qi.c (dg-options): - Remove -ftree-vectorize. - * gcc.target/i386/vect-shiftv8qi.c (dg-options): Ditto. - * gcc.target/i386/vect-vshiftv4qi.c: New test. - * gcc.target/i386/vect-vshiftv8qi.c: New test. - -2023-05-24 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_1.c: Add testing for shifts. - * gcc.target/aarch64/simd/pr99195_6.c: Likewise. - * gcc.target/aarch64/simd/pr99195_8.c: New test. - -2023-05-24 Richard Biener - - PR target/109944 - * gcc.target/i386/pr109944-1.c: New testcase. - * gcc.target/i386/pr109944-2.c: Likewise. - -2023-05-24 Richard Biener - - PR tree-optimization/109849 - * gcc.dg/tree-ssa/ssa-hoist-9.c: New testcase. - -2023-05-24 Gaius Mulley - - PR modula2/109952 - * gm2/pim/run/pass/hightests.mod: New test. - -2023-05-24 Richard Sandiford - - * gcc.dg/torture/pr109940.c: New test. - -2023-05-24 Kyrylo Tkachov - - PR target/109939 - * gcc.target/arm/pr109939.c: New test. - -2023-05-24 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/cmp/vcond-4.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/vcond_run-4.c: New test. - -2023-05-24 Alexandre Oliva - - * gcc.dg/uninit-pred-9_b.c: Xfail bogus warning on 32-bit ppc - as well. - -2023-05-24 Alexandre Oliva - - * gcc.dg/signbit-2.c: Add -msse2 on x86. - -2023-05-24 Alexandre Oliva - - * lib/target-supports.exp (check_effective_target_sysconf): - Check for declaration and _SC_PAGESIZE on vxworks. - -2023-05-24 Kewen Lin - - * gcc.dg/vect/costmodel/ppc/costmodel-slp-perm.c: New test. - -2023-05-24 Juzhe-Zhong - Richard Sandiford - - * gcc.target/riscv/rvv/rvv.exp: - * gcc.target/riscv/rvv/autovec/cmp/vcond-1.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/vcond-2.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/vcond-3.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/vcond_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/vcond_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/vcond_run-3.c: New test. - -2023-05-24 Pan Li - - * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: - Enrich test cases. - -2023-05-24 Pan Li - - * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: - Enrich the test cases. - -2023-05-24 liuhongt - - * gcc.target/i386/pr109900.c: New test. - -2023-05-23 Martin Uecker - - PR c/109450 - * gcc.dg/pr109450-1.c: New test. - * gcc.dg/pr109450-2.c: New test. - * gcc.dg/vla-26.c: New test. - -2023-05-23 Martin Uecker - - PR c/70418 - PR c/106465 - PR c/107557 - PR c/108423 - * gcc.dg/nested-vla-1.c: New test. - * gcc.dg/nested-vla-2.c: New test. - * gcc.dg/nested-vla-3.c: New test. - * gcc.dg/pr70418.c: New test. - * gcc.dg/pr106465.c: New test. - * gcc.dg/pr107557-1.c: New test. - * gcc.dg/pr107557-2.c: New test. - * gcc.dg/pr108423-1.c: New test. - * gcc.dg/pr108423-2.c: New test. - * gcc.dg/pr108423-3.c: New test. - * gcc.dg/pr108423-4.c: New test. - * gcc.dg/pr108423-5.c: New test. - * gcc.dg/pr108423-6.c: New test. - * gcc.dg/typename-vla-2.c: New test. - * gcc.dg/typename-vla-3.c: New test. - * gcc.dg/typename-vla-4.c: New test. - * gcc.misc-tests/gcov-pr85350.c: Adapt. - * gcc.dg/typename-vla-5.c: New file. - * gcc.dg/typename-vla-6.c: New file. - -2023-05-23 Uros Bizjak - - * gcc.target/i386/vect-shiftv4qi.c: New test. - * gcc.target/i386/vect-shiftv8qi.c: New test. - -2023-05-23 Aldy Hernandez - - PR tree-optimization/109934 - * gcc.dg/tree-ssa/pr109934.c: New test. - -2023-05-23 Richard Sandiford - - * gcc.target/aarch64/ins_bitfield_1.c: New test. - * gcc.target/aarch64/ins_bitfield_2.c: Likewise. - * gcc.target/aarch64/ins_bitfield_3.c: Likewise. - * gcc.target/aarch64/ins_bitfield_4.c: Likewise. - * gcc.target/aarch64/ins_bitfield_5.c: Likewise. - * gcc.target/aarch64/ins_bitfield_6.c: Likewise. - -2023-05-23 Kyrylo Tkachov - - PR target/109855 - * gcc.target/aarch64/pr109855.c: New test. - -2023-05-23 Richard Biener - - PR tree-optimization/109849 - * gcc.dg/tree-ssa/ssa-hoist-8.c: New testcase. - -2023-05-23 Eric Botcazou - - * gnat.dg/opt101.adb: New test. - * gnat.dg/opt101_pkg.ads: New helper. - -2023-05-23 Paul Thomas - - PR fortran/103716 - * gfortran.dg/pr103716.f90 : New test. - -2023-05-23 Paul Thomas - Steven G. Kargl - - PR fortran/97122 - * gfortran.dg/finalize_8.f03 : Replace testcase that checks - declaration of finalizable derived types in submodules works. - -2023-05-22 Uros Bizjak - - * gcc.target/i386/sse2-shiftqihi-constant-1.c: Remove XFAILs. - -2023-05-22 Georg-Johann Lay - - PR testsuite/52641 - * gcc.c-torture/compile/pr108892.c: Require int32. - * gcc.c-torture/compile/pr98199.c: Require int32plus. - * gcc.dg/analyzer/call-summaries-pr107072.c: Same. - * gcc.dg/analyzer/null-deref-pr105755.c: Same. - * gcc.dg/tree-ssa/pr102232.c: Same. - * gcc.dg/tree-ssa/pr105860.c: Same. - * gcc.dg/tree-ssa/pr96730.c: Same. - * gcc.dg/tree-ssa/pr96779-disabled.c: Same. - * gcc.dg/tree-ssa/pr96779.c: Same. - * gcc.dg/tree-ssa/pr98513.c: Same. - * gcc.dg/tree-ssa/ssa-sink-18.c - * gcc.dg/analyzer/coreutils-cksum-pr108664.c: Require int32plus, - size24plus. - * gcc.dg/analyzer/doom-s_sound-pr108867.c: Require size32plus. - * gcc.dg/analyzer/malloc-CWE-590-examples.c: Same. - * gcc.dg/debug/btf/btf-bitfields-4.c: Same. - * gcc.dg/tree-ssa/pr93435.c: Same. - * gcc.dg/analyzer/null-deref-pr102671-1.c: Require ptr_eq_long: - * gcc.dg/analyzer/null-deref-pr102671-2.c: Same. - * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: - Same. - * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: - Same. - * gcc.dg/tree-ssa/pr103345.c: Use uint32_t. - * gcc.dg/tree-ssa/ssa-ccp-41.c [sizeof(int)==2]: Same. - * gcc.dg/tree-ssa/pr109031-1.c: Use uint16_t, uint32_t. - * gcc.dg/tree-ssa/pr109031-2.c: Same. - * gcc.dg/Warray-bounds-49.c (dg-warning): Discriminate int != short. - * gcc.dg/Warray-bounds-52.c (dg-warning): Discriminate avr. - * gcc.dg/Warray-bounds-33.c: Skip target avr. - * gcc.dg/analyzer/fd-access-mode-target-headers.c: Same. - * gcc.dg/analyzer/flex-with-call-summaries.c: Same. - * gcc.dg/analyzer/isatty-1.c: Same. - * gcc.dg/analyzer/pipe-glibc.c: Same. - -2023-05-22 Georg-Johann Lay - - PR testsuite/52641 - * c-c++-common/pr19807-2.c: Use __SIZEOF_INT__ instead of 4. - * gcc.c-torture/compile/pr103813.c: Require size32plus. - * gcc.c-torture/execute/pr108498-2.c: Same. - * gcc.c-torture/compile/pr96426.c: Condition on - __SIZEOF_LONG_LONG__ == __SIZEOF_DOUBLE__. - * gcc.c-torture/execute/pr103417.c: Require int32plus. - * gcc.dg/pr104198.c: Same. - * gcc.dg/pr21137.c: Same. - * gcc.dg/pr88905.c: Same. - * gcc.dg/pr90838.c: Same. - * gcc.dg/pr97317.c: Same. - * gcc.dg/pr100292.c: Require int32. - * gcc.dg/pr101008.c: Same. - * gcc.dg/pr96542.c: Same. - * gcc.dg/pr96674.c: Same. - * gcc.dg/pr97750.c: Require ptr_eq_long. - -2023-05-22 Georg-Johann Lay - - * lib/target-supports.exp (check_effective_target_lra) [avr]: Return 0. - * gcc.dg/pr19402-2.c: Skip for avr. - * gcc.dg/pr86124.c: Same. - * gcc.dg/pr94291.c: Same. - * gcc.dg/torture/builtin-complex-1.c: Same. - * gcc.dg/torture/fp-int-convert-float32x-timode.c: Same. - * gcc.dg/torture/fp-int-convert-float32x.c: Same. - * gcc.dg/torture/fp-int-convert-float64-timode.c: Same. - * gcc.dg/torture/fp-int-convert-float64.c: Same. - * gcc.dg/torture/fp-int-convert-long-double.c: Same. - * gcc.dg/torture/fp-int-convert-timode.c: Same. - * c-c++-common/torture/builtin-convertvector-1.c: Same. - * c-c++-common/torture/complex-sign-add.c: Same. - * c-c++-common/torture/complex-sign-mixed-add.c: Same. - * c-c++-common/torture/complex-sign-mixed-div.c: Same. - * c-c++-common/torture/complex-sign-mixed-mul.c: Same. - * c-c++-common/torture/complex-sign-mixed-sub.c: Same. - * c-c++-common/torture/complex-sign-mul-minus-one.c: Same. - * c-c++-common/torture/complex-sign-mul-one.c: Same. - * c-c++-common/torture/complex-sign-mul.c: Same. - * c-c++-common/torture/complex-sign-sub.c: Same. - -2023-05-22 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-2.h: Fix - typo - -2023-05-22 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-1.c: New - test. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-1.h: New - test. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-2.c: New - test. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-2.h: New - test. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-1.c: - New test. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-2.c: - New test. - -2023-05-21 Roger Sayle - - * gcc.target/nvptx/brev-1.c: New 32-bit test case. - * gcc.target/nvptx/brev-2.c: Likewise. - * gcc.target/nvptx/brevll-1.c: New 64-bit test case. - * gcc.target/nvptx/brevll-2.c: Likewise. - -2023-05-21 Jakub Jelinek - - PR tree-optimization/109505 - * gcc.target/aarch64/sve/pr109505.c: New test. - -2023-05-21 Pan Li - - * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: Add - test cases for vbool[2|4|8|16|32|64]_t. - -2023-05-21 Andrew Pinski - - PR middle-end/109919 - * gcc.c-torture/compile/pr109919-1.c: New test. - -2023-05-20 Triffid Hunter - - PR target/105753 - * gcc.target/avr/torture/pr105753.c: New test. - -2023-05-20 Die Li - - * gcc.target/riscv/xtheadcondmov-indirect-rv32.c: New test. - * gcc.target/riscv/xtheadcondmov-indirect-rv64.c: New test. - -2023-05-20 Raphael Moreira Zinsly - - * gcc.target/riscv/zbs-bext-02.c: New test. - -2023-05-20 Raphael Moreira Zinsly - - PR target/106888 - * gcc.target/riscv/pr106888.c: New test. - * gcc.target/riscv/zbbw.c: Check for ANDI. - -2023-05-19 Patrick Palka - - PR c++/97340 - * g++.dg/cpp1y/var-templ80.C: New test. - * g++.dg/cpp1y/var-templ81.C: New test. - -2023-05-19 Robin Dapp - - * gcc.target/riscv/rvv/autovec/binop/shift-run.c: Do not include - . - * gcc.target/riscv/rvv/autovec/binop/shift-run-template.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vadd-run-template.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vand-run-template.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vdiv-run-template.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vmax-run-template.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vmin-run-template.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vmul-run-template.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vor-run-template.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vrem-run-template.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vsub-run-template.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vxor-run-template.h: Removed. - -2023-05-19 Robin Dapp - - * gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c: New test. - * gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv64.c: New test. - -2023-05-19 Gaius Mulley - - PR modula2/109908 - * gm2/isolib/run/pass/testdelete.mod: New test. - -2023-05-19 Jakub Jelinek - - PR tree-optimization/105776 - * gcc.target/i386/pr105776.c: New test. - -2023-05-19 Jakub Jelinek - - PR tree-optimization/101856 - * gcc.dg/tree-ssa/pr101856.c: New test. - -2023-05-19 Eric Botcazou - - * gnat.dg/specs/array6.ads: New test. - -2023-05-19 Joseph Myers - - * gcc.dg/c2x-thread-local-2.c: New test. - -2023-05-18 Uros Bizjak - - * gcc.target/i386/avx512vl-pr95488-1.c: Adjust - expected scan-assembler-times frequency and strings.. - * gcc.target/i386/vect-mulv4qi.c: New test. - * gcc.target/i386/vect-mulv8qi.c: New test. - -2023-05-18 Jonathan Wakely - - PR bootstrap/105831 - * gcc.test-framework/gen_directive_tests: Use = operator instead - of ==. - -2023-05-18 Stam Markianos-Wright - - * gcc.target/arm/mve/intrinsics/srshr.c: Update shift value. - * gcc.target/arm/mve/intrinsics/srshrl.c: Update shift value. - * gcc.target/arm/mve/intrinsics/uqshl.c: Update shift value. - * gcc.target/arm/mve/intrinsics/uqshll.c: Update shift value. - * gcc.target/arm/mve/intrinsics/urshr.c: Update shift value. - * gcc.target/arm/mve/intrinsics/urshrl.c: Update shift value. - * gcc.target/arm/mve/intrinsics/vadciq_m_s32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vadciq_m_u32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vadciq_s32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vadciq_u32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vadcq_m_s32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vadcq_m_u32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vadcq_s32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vadcq_u32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vsbciq_m_s32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vsbciq_m_u32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vsbciq_s32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vsbciq_u32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vsbcq_m_s32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vsbcq_m_u32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vsbcq_s32.c: Update to ubfx. - * gcc.target/arm/mve/intrinsics/vsbcq_u32.c: Update to ubfx. - * gcc.target/arm/mve/mve_const_shifts.c: New test. - -2023-05-18 Stam Markianos-Wright - - PR target/109697 - * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u16.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u32.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u8.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u16.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u32.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u8.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmphiq_n_u16.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmphiq_n_u32.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmphiq_n_u8.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_u16.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_u32.c: XFAIL check. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_u8.c: XFAIL check. - * gcc.target/arm/mve/pr108177-1.c: Relax registers. - * gcc.target/arm/mve/pr108177-10.c: Relax registers. - * gcc.target/arm/mve/pr108177-11.c: Relax registers. - * gcc.target/arm/mve/pr108177-12.c: Relax registers. - * gcc.target/arm/mve/pr108177-13.c: Relax registers. - * gcc.target/arm/mve/pr108177-13-run.c: use mve_fp - * gcc.target/arm/mve/pr108177-14.c: Relax registers. - * gcc.target/arm/mve/pr108177-14-run.c: use mve_fp - * gcc.target/arm/mve/pr108177-2.c: Relax registers. - * gcc.target/arm/mve/pr108177-3.c: Relax registers. - * gcc.target/arm/mve/pr108177-4.c: Relax registers. - * gcc.target/arm/mve/pr108177-5.c: Relax registers. - * gcc.target/arm/mve/pr108177-6.c: Relax registers. - * gcc.target/arm/mve/pr108177-7.c: Relax registers. - * gcc.target/arm/mve/pr108177-8.c: Relax registers. - * gcc.target/arm/mve/pr108177-9.c: Relax registers. - -2023-05-18 Stam Markianos-Wright - - * gcc.target/arm/mve/intrinsics/mve_fp_vaddq_n.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vaddq_m.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vaddq_n.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vddupq_m_n_u16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vddupq_m_n_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vddupq_m_n_u8.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vddupq_n_u16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vddupq_n_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vddupq_n_u8.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vddupq_x_n_u16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vddupq_x_n_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vddupq_x_n_u8.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vdwdupq_x_n_u16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vdwdupq_x_n_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vdwdupq_x_n_u8.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vidupq_m_n_u16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vidupq_m_n_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vidupq_m_n_u8.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vidupq_n_u16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vidupq_n_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vidupq_n_u8.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vidupq_x_n_u16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vidupq_x_n_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vidupq_x_n_u8.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_viwdupq_x_n_u16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_viwdupq_x_n_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_viwdupq_x_n_u8.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_offset_s64.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_offset_u64.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_offset_z_s64.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_offset_z_u64.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_shifted_offset_s64.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_shifted_offset_u64.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_shifted_offset_z_s64.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_shifted_offset_z_u64.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_f16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_s16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_s32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_u16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_z_f16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_z_s16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_z_s32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_z_u16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_z_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_f16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_s16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_s32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_u16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_z_f16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_z_s16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_z_s32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_z_u16.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_z_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_offset_f32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_offset_s32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_offset_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_offset_z_f32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_offset_z_s32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_offset_z_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_shifted_offset_f32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_shifted_offset_s32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_shifted_offset_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_shifted_offset_z_f32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_shifted_offset_z_s32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_shifted_offset_z_u32.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_shifted_offset.c: Removed. - * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_shifted_offset_p.c: Removed. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vfmaq_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vfmaq_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vfmasq_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vfmasq_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vminnmavq_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vminnmavq_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vminnmavq_p_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vminnmavq_p_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vminnmvq_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vminnmvq_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vminnmvq_p_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vminnmvq_p_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmulq_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmulq_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vsetq_lane_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vsetq_lane_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vsubq_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vsubq_n_f32-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_f16-1.c: Removed. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_f32-1.c: Removed. - -2023-05-18 Stam Markianos-Wright - - * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-fp.c: Add testcases. - * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-int.c: Add testcases. - -2023-05-18 Stam Markianos-Wright - - * gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c: New. - -2023-05-18 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/asrl.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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/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/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. - * 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/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/vcmpgtq_n_f16.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_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_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/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/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/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_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/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/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/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/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/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/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/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/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/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_m_s16.c: Likewise. - * 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. - * 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/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. - -2023-05-18 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vstrwq_f32.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-05-18 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vld1q_f16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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/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/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/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. - -2023-05-18 Joseph Myers - - * gcc.dg/format/c2x-printf-1.c: Test %B here. - * gcc.dg/format/ext-9.c: Do not test %B here. - -2023-05-17 Harald Anlauf - - PR fortran/95374 - PR fortran/104352 - * gfortran.dg/zero_sized_13.f90: New test. - -2023-05-17 Jivan Hakobyan - - * gcc.target/riscv/shift-and-2.c: Fixed test - * gcc.target/riscv/zbb-rol-ror-01.c: New test - * gcc.target/riscv/zbb-rol-ror-02.c: New test - * gcc.target/riscv/zbb-rol-ror-03.c: New test - * gcc.target/riscv/zbb-rol-ror-04.c: New test - * gcc.target/riscv/zbb-rol-ror-05.c: New test - * gcc.target/riscv/zbb-rol-ror-06.c: New test - * gcc.target/riscv/zbb-rol-ror-07.c: New test - -2023-05-17 Jakub Jelinek - - PR c++/109884 - * c-c++-common/pr109884.c: New test. - -2023-05-17 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/vxrm-10.c: New test. - * gcc.target/riscv/rvv/base/vxrm-6.c: New test. - * gcc.target/riscv/rvv/base/vxrm-7.c: New test. - * gcc.target/riscv/rvv/base/vxrm-8.c: New test. - * gcc.target/riscv/rvv/base/vxrm-9.c: New test. - -2023-05-17 Juzhe-Zhong - - * g++.target/riscv/rvv/base/bug-11.C: Adapt testcase. - * g++.target/riscv/rvv/base/bug-12.C: Ditto. - * g++.target/riscv/rvv/base/bug-14.C: Ditto. - * g++.target/riscv/rvv/base/bug-15.C: Ditto. - * g++.target/riscv/rvv/base/bug-16.C: Ditto. - * g++.target/riscv/rvv/base/bug-17.C: Ditto. - * g++.target/riscv/rvv/base/bug-18.C: Ditto. - * g++.target/riscv/rvv/base/bug-19.C: Ditto. - * g++.target/riscv/rvv/base/bug-20.C: Ditto. - * g++.target/riscv/rvv/base/bug-21.C: Ditto. - * g++.target/riscv/rvv/base/bug-22.C: Ditto. - * g++.target/riscv/rvv/base/bug-23.C: Ditto. - * g++.target/riscv/rvv/base/bug-3.C: Ditto. - * g++.target/riscv/rvv/base/bug-5.C: Ditto. - * g++.target/riscv/rvv/base/bug-6.C: Ditto. - * g++.target/riscv/rvv/base/bug-8.C: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-100.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-101.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-103.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-104.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-105.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-106.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-107.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-109.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-110.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-111.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-112.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-113.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-115.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-116.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-117.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-118.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-122.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-97.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-98.c: Ditto. - * gcc.target/riscv/rvv/base/merge_constraint-1.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-6.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-7.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-8.c: Ditto. - * gcc.target/riscv/rvv/base/narrow_constraint-9.c: Ditto. - * gcc.target/riscv/rvv/base/vxrm-2.c: New test. - * gcc.target/riscv/rvv/base/vxrm-3.c: New test. - * gcc.target/riscv/rvv/base/vxrm-4.c: New test. - * gcc.target/riscv/rvv/base/vxrm-5.c: New test. - -2023-05-17 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/vxrm-1.c: New test. - -2023-05-17 Tobias Burnus - - * gfortran.dg/goacc/finalize-1.f: Update dg-tree; shows a fix - for 'finalize' as a ptr is now 'delete' instead of 'release'. - * gfortran.dg/gomp/pr78260-2.f90: Likewise as elem-size calc moved - to if (allocated) block - * gfortran.dg/gomp/target-exit-data.f90: Likewise as a var is now a - replaced by a MEM< _25 > expression. - * gfortran.dg/gomp/map-9.f90: Update dg-scan-tree-dump. - * gfortran.dg/gomp/map-10.f90: New test. - -2023-05-17 Stefan Schulze Frielinghaus - - * g++.target/s390/atomic-align-1.C: New test. - * gcc.target/s390/atomic-align-1.c: New test. - * gcc.target/s390/atomic-align-2.c: New test. - -2023-05-17 Jakub Jelinek - - PR c++/109868 - * g++.dg/init/pr109868.C: New test. - -2023-05-17 Pan Li - - * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: New test. - -2023-05-17 Jiufu Guo - - PR target/106708 - * gcc.target/powerpc/pr106708.c: Add test function. - -2023-05-16 Joseph Myers - - * gcc.dg/c11-fordecl-1.c, gcc.dg/c11-fordecl-2.c, - gcc.dg/c11-fordecl-3.c, gcc.dg/c11-fordecl-4.c, - gcc.dg/c2x-fordecl-1.c, gcc.dg/c2x-fordecl-2.c, - gcc.dg/c2x-fordecl-3.c, gcc.dg/c2x-fordecl-4.c: New tests. - * gcc.dg/c99-fordecl-2.c: Test diagnostic for typedef declaration - in for loop here. - * gcc.dg/pr67784-2.c, gcc.dg/pr68320.c, objc.dg/foreach-7.m: Do - not expect errors for typedef declaration in for loop. - -2023-05-16 Gaius Mulley - - PR modula2/109879 - * gm2/isolib/run/pass/testreadint.mod: New test. - -2023-05-16 Marek Polacek - - PR c++/109774 - * g++.dg/warn/Wdangling-reference13.C: New test. - -2023-05-16 Patrick Palka - - PR c++/109871 - * g++.dg/cpp2a/desig27.C: New test. - -2023-05-16 Carl Love - - * gcc.target/powerpc/int_128bit-runnable.c: Update expected - instruction counts. - -2023-05-16 Carl Love - - * gcc.target/powerpc/rs6000-fpint.c: Update dg-options, drop dg-do - compile specifier. - -2023-05-16 Richard Sandiford - - * gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c: Allow mves - to occur after the intrinsic instruction, rather than requiring - them to happen before. - * gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c: Likewise. - -2023-05-16 Pan Li - - * gcc.target/riscv/rvv/autovec/binop/shift-scalar-template.h: - Replace stdint.h with stdint-gcc.h. - * gcc.target/riscv/rvv/autovec/binop/shift-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vadd-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vand-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vdiv-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmax-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmin-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmul-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vor-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vrem-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vsub-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vxor-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/series-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vmv-imm-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vmv-imm-template.h: Ditto. - -2023-05-16 Stefan Schulze Frielinghaus - - * gcc.target/s390/memset-1.c: Test case memset1 makes use of - vst, now. - -2023-05-16 Paul Thomas - - PR fortran/105152 - PR fortran/100193 - PR fortran/87946 - PR fortran/103389 - PR fortran/104429 - PR fortran/82774 - * gfortran.dg/pr105152.f90 : New test - * gfortran.dg/pr100193.f90 : New test - * gfortran.dg/pr87946.f90 : New test - * gfortran.dg/pr103389.f90 : New test - * gfortran.dg/pr104429.f90 : New test - * gfortran.dg/pr82774.f90 : New test - -2023-05-16 Senthil Kumar Selvaraj - - * gcc.dg/attr-returns-nonnull.c: Skip if - keeps_null_pointer_checks. - * gcc.dg/init-compare-1.c: Likewise. - * gcc.dg/ipa/pr85734.c: Likewise. - * gcc.dg/ipa/propmalloc-1.c: Likewise. - * gcc.dg/ipa/propmalloc-2.c: Likewise. - * gcc.dg/ipa/propmalloc-3.c: Likewise. - * gcc.dg/ipa/propmalloc-4.c: Likewise. - * gcc.dg/tree-ssa/evrp11.c: Likewise. - * gcc.dg/tree-ssa/pr83648.c: Likewise. - -2023-05-16 Andrew Pinski - - PR tree-optimization/109424 - * gcc.dg/tree-ssa/bool-12.c: New test. - * gcc.dg/tree-ssa/bool-13.c: New test. - * gcc.dg/tree-ssa/minmax-20.c: New test. - * gcc.dg/tree-ssa/minmax-21.c: New test. - -2023-05-15 Joseph Myers - - * gcc.dg/qual-return-9.c, gcc.dg/qual-return-10.c: New tests. - -2023-05-15 Joseph Myers - - * gcc.dg/c2x-has-c-attribute-2.c: Expect 202311L return value from - __has_c_attribute for all C2x attributes. - -2023-05-15 Harald Anlauf - - PR fortran/109846 - * gfortran.dg/ptr-func-5.f90: New test. - -2023-05-15 Patrick Palka - - * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_auto_cast. - -2023-05-15 Kyrylo Tkachov - - * gcc.target/aarch64/facg_1.c: New test. - -2023-05-15 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_7.c: New test. - -2023-05-15 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_4.c: Add testing for qabs, qneg. - -2023-05-15 Pan Li - Juzhe-Zhong - kito-cheng - - * gcc.target/riscv/rvv/base/vf_avl-1.c: New test. - -2023-05-15 Richard Biener - - * gcc.dg/vect/pr108950.c: Re-order dg-require-effective-target - and dg-do. - -2023-05-15 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/binop/shift-rv32gcv.c: Adapt testcase. - * gcc.target/riscv/rvv/autovec/align-1.c: New test. - * gcc.target/riscv/rvv/autovec/align-2.c: New test. - -2023-05-14 Andrew Pinski - - PR tree-optimization/109829 - * gcc.dg/tree-ssa/abs-3.c: New test. - * gcc.dg/tree-ssa/abs-4.c: New test. - -2023-05-14 Uros Bizjak - - PR target/109807 - * gcc.target/i386/pr109825.c: New test. - -2023-05-13 Prathamesh Kulkarni - - * gcc.target/aarch64/ldp_stp_16.c (cons2_8_float): Adjust for new - code-gen. - * gcc.target/aarch64/sve/acle/general/dupq_5.c: Likewise. - * gcc.target/aarch64/sve/acle/general/dupq_6.c: Likewise. - * gcc.target/aarch64/interleave-init-1.c: Rename to ... - * gcc.target/aarch64/vec-init-18.c: ... this. - * gcc.target/aarch64/vec-init-19.c: New test. - * gcc.target/aarch64/vec-init-20.c: Likewise. - * gcc.target/aarch64/vec-init-21.c: Likewise. - * gcc.target/aarch64/vec-init-22-size.c: Likewise. - * gcc.target/aarch64/vec-init-22-speed.c: Likewise. - * gcc.target/aarch64/vec-init-22.h: New header. - -2023-05-13 Andrew Pinski - - PR tree-optimization/109834 - * gcc.c-torture/compile/pr109834-1.c: New test. - * gcc.dg/tree-ssa/pr109834-1.c: New test. - -2023-05-12 Jerry DeLisle - - PR fortran/109662 - * gfortran.dg/pr109662-a.f90: Add a section to verify that - a short namelist read does not modify the variable. - -2023-05-12 Gaius Mulley - - PR modula2/109830 - * gm2/isolib/run/pass/seqappend.mod: New test. - -2023-05-12 Kito Cheng - Juzhe-Zhong - - PR target/109743 - * gcc.target/riscv/rvv/vsetvl/pr109743-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/pr109743-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/pr109743-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/pr109743-4.c: New test. - -2023-05-12 Richard Biener - - PR tree-optimization/64731 - * gcc.target/i386/pr64731.c: New testcase. - -2023-05-12 Patrick Palka - - PR c++/83258 - * g++.dg/ext/visibility/anon8.C: Mention PR83258. - * g++.dg/template/function2.C: Removed. - -2023-05-12 Patrick Palka - - PR c++/109752 - * g++.dg/cpp2a/concepts-pr109752.C: Rename to ... - * g++.dg/cpp2a/concepts-complete4.C: ... this. Rewrite. - -2023-05-12 Juzhe Zhong - - * gcc.target/riscv/rvv/autovec/vmv-imm-rv64.c: Add ABI - -2023-05-12 Juzhe Zhong - - * gcc.target/riscv/rvv/rvv.exp: - * gcc.target/riscv/rvv/autovec/vls-vlmax/insert-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/insert-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/insert-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/insert_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/insert_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-6.c: New test. - -2023-05-12 Pan Li - - * gcc.target/riscv/rvv/autovec/shift-run-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/shift-run-template.h: ...here. - * gcc.target/riscv/rvv/autovec/shift-run.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/shift-run.c: ...here. - * gcc.target/riscv/rvv/autovec/shift-rv32gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/shift-rv32gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/shift-rv64gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/shift-rv64gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/shift-scalar-run.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/shift-scalar-run.c: ...here. - * gcc.target/riscv/rvv/autovec/shift-scalar-rv32gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/shift-scalar-rv32gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/shift-scalar-rv64gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/shift-scalar-rv64gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/shift-scalar-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/shift-scalar-template.h: ...here. - * gcc.target/riscv/rvv/autovec/shift-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/shift-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vadd-run-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vadd-run-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vadd-run.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vadd-run.c: ...here. - * gcc.target/riscv/rvv/autovec/vadd-rv32gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vadd-rv64gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vadd-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vadd-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vand-run-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vand-run-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vand-run.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vand-run.c: ...here. - * gcc.target/riscv/rvv/autovec/vand-rv32gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vand-rv32gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vand-rv64gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vand-rv64gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vand-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vand-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vdiv-run-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vdiv-run-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vdiv-run.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vdiv-run.c: ...here. - * gcc.target/riscv/rvv/autovec/vdiv-rv32gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vdiv-rv64gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vdiv-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vdiv-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vmax-run-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmax-run-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vmax-run.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmax-run.c: ...here. - * gcc.target/riscv/rvv/autovec/vmax-rv32gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmax-rv32gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vmax-rv64gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmax-rv64gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vmax-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmax-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vmin-run-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmin-run-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vmin-run.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmin-run.c: ...here. - * gcc.target/riscv/rvv/autovec/vmin-rv32gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmin-rv32gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vmin-rv64gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmin-rv64gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vmin-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmin-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vmul-run-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmul-run-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vmul-run.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmul-run.c: ...here. - * gcc.target/riscv/rvv/autovec/vmul-rv32gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vmul-rv64gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vmul-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vmul-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vor-run-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vor-run-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vor-run.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vor-run.c: ...here. - * gcc.target/riscv/rvv/autovec/vor-rv32gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vor-rv32gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vor-rv64gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vor-rv64gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vor-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vor-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vrem-run-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vrem-run-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vrem-run.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vrem-run.c: ...here. - * gcc.target/riscv/rvv/autovec/vrem-rv32gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vrem-rv64gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vrem-rv64gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vrem-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vrem-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vsub-run-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vsub-run-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vsub-run.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vsub-run.c: ...here. - * gcc.target/riscv/rvv/autovec/vsub-rv32gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vsub-rv64gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vsub-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vsub-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vxor-run-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vxor-run-template.h: ...here. - * gcc.target/riscv/rvv/autovec/vxor-run.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vxor-run.c: ...here. - * gcc.target/riscv/rvv/autovec/vxor-rv32gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vxor-rv32gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vxor-rv64gcv.c: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vxor-rv64gcv.c: ...here. - * gcc.target/riscv/rvv/autovec/vxor-template.h: Moved to... - * gcc.target/riscv/rvv/autovec/binop/vxor-template.h: ...here. - * gcc.target/riscv/rvv/rvv.exp: Add autovec LMUL = 2/4/8 for binary. - -2023-05-12 Pan Li - - * gcc.target/riscv/rvv/autovec/shift-run.c: Fix fail. - * gcc.target/riscv/rvv/autovec/shift-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/shift-scalar-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/shift-scalar-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/vadd-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/vand-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vand-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/vdiv-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vdiv-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/vmax-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vmax-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/vmin-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vmin-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/vmul-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vmul-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/vor-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vor-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/vrem-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vrem-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/vsub-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/vxor-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vxor-rv64gcv.c: Ditto. - -2023-05-12 Haochen Gui - - * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Replace ilp32 check - with dg-skip-if has_arch_ppc64. - * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise. - -2023-05-12 Haochen Gui - - * gcc.target/powerpc/bfp/scalar-insert-exp-0.c: Replace lp64 check - with has_arch_ppc64. - * gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-12.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-13.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Likewise. - -2023-05-12 Haochen Gui - - * gcc.target/powerpc/bfp/scalar-extract-sig-0.c: Replace lp64 check - with has_arch_ppc64. - * gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-6.c: Likewise. - -2023-05-12 Haochen Gui - - * gcc.target/powerpc/bfp/scalar-extract-exp-0.c: Remove lp64 check. - * gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Delete as the case - is invalid now. - * gcc.target/powerpc/bfp/scalar-extract-exp-6.c: Remove lp64 check. - -2023-05-11 Gaius Mulley - - PR modula2/109810 - * gm2/pim/fail/highice.mod: New test. - -2023-05-11 Patrick Palka - - PR c++/109745 - * g++.dg/cpp0x/constexpr-mutable4.C: New test. - * g++.dg/cpp0x/constexpr-mutable5.C: New test. - * g++.dg/cpp1y/constexpr-mutable2.C: New test. - -2023-05-11 mtsamis - - * gcc.target/aarch64/swar_to_vec_cmp.c: New test. - -2023-05-11 Uros Bizjak - - PR target/109807 - * gcc.target/i386/pr109807.c: New test. - -2023-05-11 Patrick Palka - - PR c++/103807 - * g++.dg/cpp2a/lambda-targ1.C: New test. - -2023-05-11 Robin Dapp - - * gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c: New test. - * gcc.target/riscv/rvv/autovec/vmv-imm-rv64.c: New test. - * gcc.target/riscv/rvv/autovec/vmv-imm-template.h: New test. - * gcc.target/riscv/rvv/autovec/vmv-imm-run.c: New test. - -2023-05-11 Patrick Palka - Jonathan Wakely - - PR c++/83258 - PR c++/80488 - PR c++/97700 - * g++.dg/ext/visibility/anon8.C: Don't expect a "no linkage" - error for the template argument &B2:fn in C++17 mode. - * g++.dg/cpp0x/lambda/lambda-conv15.C: New test. - * g++.dg/cpp2a/nontype-class56.C: New test. - * g++.dg/template/function2.C: New test. - -2023-05-11 Alexandre Oliva - - * gcc.target/aarch64/sve/pred-not-gen-4.c: Drop math.h - include, call builtin. - -2023-05-11 Robin Dapp - Michael Collison - - * gcc.target/riscv/rvv/autovec/shift-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/shift-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/shift-template.h: New test. - * gcc.target/riscv/rvv/autovec/shift-run.c: New test. - * gcc.target/riscv/rvv/autovec/shift-scalar-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/shift-scalar-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/shift-scalar-template.h: New test. - * gcc.target/riscv/rvv/autovec/shift-scalar-run.c: New test. - * gcc.target/riscv/rvv/autovec/vadd-run-template.h: New test. - * gcc.target/riscv/rvv/autovec/vadd-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vadd-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vadd-template.h: New test. - * gcc.target/riscv/rvv/autovec/vand-run.c: New test. - * gcc.target/riscv/rvv/autovec/vand-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vand-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vand-template.h: New test. - * gcc.target/riscv/rvv/autovec/vdiv-run.c: New test. - * gcc.target/riscv/rvv/autovec/vdiv-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vdiv-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vdiv-template.h: New test. - * gcc.target/riscv/rvv/autovec/vmax-run.c: New test. - * gcc.target/riscv/rvv/autovec/vmax-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vmax-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vmax-template.h: New test. - * gcc.target/riscv/rvv/autovec/vmin-run.c: New test. - * gcc.target/riscv/rvv/autovec/vmin-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vmin-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vmin-template.h: New test. - * gcc.target/riscv/rvv/autovec/vmul-run.c: New test. - * gcc.target/riscv/rvv/autovec/vmul-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vmul-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vmul-template.h: New test. - * gcc.target/riscv/rvv/autovec/vor-run.c: New test. - * gcc.target/riscv/rvv/autovec/vor-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vor-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vor-template.h: New test. - * gcc.target/riscv/rvv/autovec/vrem-run.c: New test. - * gcc.target/riscv/rvv/autovec/vrem-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vrem-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vrem-template.h: New test. - * gcc.target/riscv/rvv/autovec/vsub-run.c: New test. - * gcc.target/riscv/rvv/autovec/vsub-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vsub-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vsub-template.h: New test. - * gcc.target/riscv/rvv/autovec/vxor-run.c: New test. - * gcc.target/riscv/rvv/autovec/vxor-rv32gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vxor-rv64gcv.c: New test. - * gcc.target/riscv/rvv/autovec/vxor-template.h: New test. - * gcc.target/riscv/rvv/autovec/shift-run-template.h: New file. - * gcc.target/riscv/rvv/autovec/vadd-run.c: New file. - * gcc.target/riscv/rvv/autovec/vand-run-template.h: New file. - * gcc.target/riscv/rvv/autovec/vdiv-run-template.h: New file. - * gcc.target/riscv/rvv/autovec/vmax-run-template.h: New file. - * gcc.target/riscv/rvv/autovec/vmin-run-template.h: New file. - * gcc.target/riscv/rvv/autovec/vmul-run-template.h: New file. - * gcc.target/riscv/rvv/autovec/vor-run-template.h: New file. - * gcc.target/riscv/rvv/autovec/vrem-run-template.h: New file. - * gcc.target/riscv/rvv/autovec/vsub-run-template.h: New file. - * gcc.target/riscv/rvv/autovec/vxor-run-template.h: New file. - -2023-05-11 Thomas Schwinge - - * lib/torture-options.exp (torture-init-done): Add. - * lib/gcc-dg.exp (gcc-dg-runtest): Use it to conditionalize - implicit 'torture-init'. - * lib/gfortran-dg.exp (gfortran-dg-runtest): Likewise. - * lib/obj-c++-dg.exp (obj-c++-dg-runtest): Likewise. - * lib/objc-dg.exp (objc-dg-runtest): Likewise. - -2023-05-11 Thomas Schwinge - - * gcc.target/arm/acle/acle.exp: Add missing - 'torture-init'/'torture-finish' around 'LTO_TORTURE_OPTIONS' - usage. - * gcc.target/arm/cmse/cmse.exp: Likewise. - * gcc.target/arm/pure-code/pure-code.exp: Likewise. - -2023-05-11 Roger Sayle - - * gcc.dg/fold-popcount-8.c: New test case. - * gcc.dg/fold-popcount-9.c: Likewise. - * gcc.dg/fold-popcount-10.c: Likewise. - -2023-05-11 Roger Sayle - - * gcc.dg/fold-parity-6.c: New test. - * gcc.dg/fold-parity-7.c: Likewise. - * gcc.dg/fold-popcount-6.c: Likewise. - * gcc.dg/fold-popcount-7.c: Likewise. - -2023-05-11 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/series-1.c: New test. - * gcc.target/riscv/rvv/autovec/series_run-1.c: New test. - -2023-05-10 Marek Polacek - - PR c++/109680 - * g++.dg/ext/is_convertible6.C: New test. - -2023-05-10 Uros Bizjak - - PR target/92658 - * gcc.target/i386/pr92658-sse4-4b.c: New test. - * gcc.target/i386/pr92658-sse4-8b.c: New test. - -2023-05-10 Andrew Pinski - - * gcc.c-torture/execute/20230510-1.c: New test. - -2023-05-10 Jason Merrill - - DR 2543 - * g++.dg/DRs/dr2543.C: New test. - -2023-05-10 Jason Merrill - - * g++.dg/DRs/dr2478.C: Handle -fimplicit-constexpr. - * g++.dg/cpp23/consteval-if12.C: Adjust diagnostics. - * g++.dg/cpp2a/consteval20.C: Likewise. - * g++.dg/cpp2a/consteval24.C: Likewise. - * g++.dg/cpp2a/srcloc20.C: Likewise. - -2023-05-10 Richard Biener - - * g++.dg/torture/pr106922.C: Force _GLIBCXX_USE_CXX11_ABI to 1. - -2023-05-10 Kyrylo Tkachov - - * gcc.target/aarch64/simd/pr99195_4.c: Add tests for sqmovun. - -2023-05-10 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_1.c: Add tests for zip and rev - intrinsics. - -2023-05-10 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_1.c: Add testing for qadd, qsub. - * gcc.target/aarch64/simd/pr99195_6.c: New test. - -2023-05-10 Kyrylo Tkachov - - * gcc.target/aarch64/simd/pr99195_5.c: New test. - -2023-05-10 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_4.c: Add tests for vmovn, vqmovn. - -2023-05-10 Jakub Jelinek - - PR c++/109756 - * g++.dg/cpp0x/gen-attrs-78.C: New test. - -2023-05-10 Li Xu - - * gcc.target/riscv/rvv/base/scalar_move-10.c: New test. - * gcc.target/riscv/rvv/base/scalar_move-11.c: New test. - -2023-05-10 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/v-2.c: Adapt testcase. - * gcc.target/riscv/rvv/autovec/zve32f-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32f-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32x-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve32x-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64d-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64d-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64f-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64f-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64x-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64x-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-2.c: Ditto. - -2023-05-10 Juzhe-Zhong - - PR target/109773 - * gcc.target/riscv/rvv/vsetvl/pr109773-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/pr109773-2.c: New test. - -2023-05-10 Andrew Pinski - - * gcc.c-torture/execute/20230509-1.c: New test. - -2023-05-09 Patrick Palka - - PR c++/109752 - * g++.dg/cpp2a/concepts-pr109752.C: New test. - -2023-05-09 Patrick Palka - - PR c++/109761 - * g++.dg/cpp0x/noexcept78.C: New test. - -2023-05-09 Richard Sandiford - - * gcc.target/aarch64/sve/acle/asm/abd_f16.c: Remove XFAILs. - * gcc.target/aarch64/sve/acle/asm/abd_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/abd_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/abd_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/abd_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/abd_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/abd_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/abd_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/abd_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/abd_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/abd_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/add_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/add_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/add_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/add_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/add_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/add_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/add_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/add_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/and_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/and_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/and_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/and_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/and_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/and_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/and_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/and_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/asr_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/asr_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/div_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/div_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/div_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/div_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/div_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/div_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/div_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/divr_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/divr_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/divr_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/divr_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/divr_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/divr_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/divr_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dot_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dot_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dot_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dot_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/eor_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/eor_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/eor_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/eor_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/eor_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/eor_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/eor_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/eor_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_wide_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_wide_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_wide_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_wide_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_wide_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_wide_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsr_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsr_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/max_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/max_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/max_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/max_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/max_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/max_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/max_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/max_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/min_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/min_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/min_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/min_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/min_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/min_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/min_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/min_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_f16_notrap.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_f32_notrap.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_f64_notrap.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulh_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulh_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulh_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulh_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulh_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulh_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulh_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulh_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulx_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulx_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulx_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmad_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmad_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmad_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmla_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmla_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmla_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmls_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmls_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmls_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmsb_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmsb_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmsb_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/orr_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/orr_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/orr_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/orr_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/orr_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/orr_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/orr_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/orr_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/scale_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/scale_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/scale_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sub_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sub_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sub_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sub_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sub_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sub_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sub_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sub_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_f16_notrap.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_f32_notrap.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_f64_notrap.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bcax_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bcax_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bcax_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bcax_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bcax_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bcax_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bcax_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bcax_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qadd_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qadd_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qadd_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qadd_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qadd_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qadd_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qadd_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qadd_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qdmlalb_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qdmlalb_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qdmlalb_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qdmlalbt_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qdmlalbt_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qdmlalbt_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsub_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsub_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsub_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsub_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsub_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsub_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsub_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsub_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsubr_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsubr_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsubr_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsubr_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsubr_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsubr_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsubr_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qsubr_u8.c: Likewise. - -2023-05-09 Richard Sandiford - - * gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Use - sve2_flags instead of sve_flags. - -2023-05-09 Gaius Mulley - - PR modula2/109779 - * gm2/isolib/run/pass/skiplinetest.mod: New test. - -2023-05-09 Jakub Jelinek - - PR c++/109756 - * g++.dg/cpp23/attr-assume11.C: New test. - -2023-05-09 Jakub Jelinek - - PR tree-optimization/109778 - * gcc.dg/lto/pr109778_0.c: New test. - * gcc.dg/lto/pr109778_1.c: New file. - -2023-05-09 Jakub Jelinek - - PR tree-optimization/109778 - * gcc.c-torture/execute/pr109778.c: New test. - -2023-05-09 Richard Sandiford - - * gcc.target/aarch64/asimd-mul-to-shl-sub.c: Allow any register - allocation for temporary results, rather than requiring specific - registers. - * gcc.target/aarch64/auto-init-padding-1.c: Likewise. - * gcc.target/aarch64/auto-init-padding-2.c: Likewise. - * gcc.target/aarch64/auto-init-padding-3.c: Likewise. - * gcc.target/aarch64/auto-init-padding-4.c: Likewise. - * gcc.target/aarch64/auto-init-padding-9.c: Likewise. - * gcc.target/aarch64/memset-corner-cases.c: Likewise. - * gcc.target/aarch64/memset-q-reg.c: Likewise. - * gcc.target/aarch64/simd/vaddlv_1.c: Likewise. - * gcc.target/aarch64/sve-neon-modes_1.c: Likewise. - * gcc.target/aarch64/sve-neon-modes_3.c: Likewise. - * gcc.target/aarch64/sve/load_scalar_offset_1.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/pr89007-1.c: Likewise. - * gcc.target/aarch64/sve/pr89007-2.c: Likewise. - * gcc.target/aarch64/sve/store_scalar_offset_1.c: Likewise. - * gcc.target/aarch64/vadd_reduc-1.c: Likewise. - * gcc.target/aarch64/vadd_reduc-2.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_bf16.c: Allow the temporary - predicate register to be any of p4-p7, rather than requiring p4 - specifically. - * gcc.target/aarch64/sve/pcs/args_5_be_f16.c: Likewise. - * 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_s8.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_u8.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. - -2023-05-09 Richard Sandiford - - * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-6.c: Allow any - FP/vector register, not just register 0-9. - * gcc.target/aarch64/fmul_fcvt_2.c: Likewise. - * gcc.target/aarch64/ldp_stp_8.c: Likewise. - * gcc.target/aarch64/ldp_stp_17.c: Likewise. - * gcc.target/aarch64/ldp_stp_21.c: Likewise. - * gcc.target/aarch64/simd/vpaddd_f64.c: Likewise. - * gcc.target/aarch64/simd/vpaddd_s64.c: Likewise. - * gcc.target/aarch64/simd/vpaddd_u64.c: Likewise. - * gcc.target/aarch64/sve/adr_1.c: Likewise. - * gcc.target/aarch64/sve/adr_2.c: Likewise. - * gcc.target/aarch64/sve/adr_3.c: Likewise. - * gcc.target/aarch64/sve/adr_4.c: Likewise. - * gcc.target/aarch64/sve/adr_5.c: Likewise. - * gcc.target/aarch64/sve/extract_1.c: Likewise. - * gcc.target/aarch64/sve/extract_2.c: Likewise. - * gcc.target/aarch64/sve/extract_3.c: Likewise. - * gcc.target/aarch64/sve/extract_4.c: Likewise. - * gcc.target/aarch64/sve/slp_4.c: Likewise. - * gcc.target/aarch64/sve/spill_3.c: Likewise. - * gcc.target/aarch64/vfp-1.c: Likewise. - * gcc.target/aarch64/asm-x-constraint-1.c: Allow s0-s15, not just - s0-s7. - * gcc.target/aarch64/sve/pcs/return_9.c: Allow z24-z31 as well as - z2-z7. - -2023-05-09 Richard Sandiford - - * g++.target/aarch64/sve/vcond_1.C: Allow any predicate - register for the temporary results, not just p0-p7. - * gcc.target/aarch64/sve/acle/asm/dupq_b8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dupq_b16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dupq_b32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dupq_b64.c: Likewise. - * gcc.target/aarch64/sve/acle/general/whilele_5.c: Likewise. - * gcc.target/aarch64/sve/acle/general/whilele_6.c: Likewise. - * gcc.target/aarch64/sve/acle/general/whilele_7.c: Likewise. - * gcc.target/aarch64/sve/acle/general/whilele_9.c: Likewise. - * gcc.target/aarch64/sve/acle/general/whilele_10.c: Likewise. - * gcc.target/aarch64/sve/acle/general/whilelt_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general/whilelt_2.c: Likewise. - * gcc.target/aarch64/sve/acle/general/whilelt_3.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_1.c: Likewise. - * gcc.target/aarch64/sve/peel_ind_2.c: Likewise. - * gcc.target/aarch64/sve/mask_gather_load_6.c: Likewise. - * gcc.target/aarch64/sve/vcond_2.c: Likewise. - * gcc.target/aarch64/sve/vcond_3.c: Likewise. - * gcc.target/aarch64/sve/vcond_7.c: Likewise. - * gcc.target/aarch64/sve/vcond_18.c: Likewise. - * gcc.target/aarch64/sve/vcond_19.c: Likewise. - * gcc.target/aarch64/sve/vcond_20.c: Likewise. - -2023-05-09 Richard Sandiford - - * gcc.target/aarch64/sve/acle/asm/dup_s16.c: When using SEL to select - between two constant vectors, allow the constant moves to appear in - either order. - * gcc.target/aarch64/sve/acle/asm/dup_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_u64.c: Likewise. - -2023-05-09 Richard Sandiford - - * gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c: Allow - moves to occur after the intrinsic instruction, rather than requiring - them to happen before. - * gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/adda_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/adda_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/adda_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/brka_b.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/brkb_b.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/brkn_b.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/clasta_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/clasta_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/clasta_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/clasta_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/clastb_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/clastb_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/clastb_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/clastb_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/pfirst_b.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/pnext_b16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/pnext_b32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/pnext_b64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/pnext_b8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sli_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sli_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sli_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sli_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sli_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sli_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sli_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sli_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sri_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sri_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sri_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sri_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sri_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sri_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sri_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sri_u8.c: Likewise. - -2023-05-09 Richard Sandiford - - * gcc.target/aarch64/sve2/acle/asm/aesd_u8.c: Fix expected register - allocation in the case where a move occurs after the intrinsic - instruction. - * gcc.target/aarch64/sve2/acle/asm/aese_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/aesimc_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/aesmc_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sm4e_u32.c: Likewise. - -2023-05-09 Richard Sandiford - - * gcc.target/aarch64/sve/acle/asm/asr_wide_s16.c: Remove XFAILs. - * gcc.target/aarch64/sve/acle/asm/asr_wide_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/asr_wide_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_wide_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_wide_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_wide_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_wide_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_wide_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsl_wide_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsr_wide_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsr_wide_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lsr_wide_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/scale_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/scale_f64.c: Likewise. - -2023-05-09 Jason Merrill - - PR c++/106740 - * g++.dg/template/friend78.C: New test. - -2023-05-08 Roger Sayle - Uros Bizjak - - * gcc.target/i386/insvti_highpart-1.c: New test case. - -2023-05-08 Andrew Pinski - - PR testsuite/109776 - * gcc.dg/pr81192.c: Fix integer constants for int16 targets. - -2023-05-08 Kito Cheng - - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-1.h: Change - stdint.h to stdint-gcc.h. - * gcc.target/riscv/rvv/autovec/template-1.h: Ditto. - * gcc.target/riscv/rvv/autovec/riscv_vector.h: New. - -2023-05-08 Thomas Schwinge - - * g++.dg/guality/guality.exp: Move 'torture-init' earlier. - * gcc.dg/guality/guality.exp: Likewise. - * gfortran.dg/guality/guality.exp: Likewise. - * lib/c-torture.exp (LTO_TORTURE_OPTIONS): Don't set. - * lib/gcc-dg.exp (LTO_TORTURE_OPTIONS): Don't set. - * lib/lto.exp (lto_init, lto_finish): Let each 'lto_init' - determine the default 'LTO_OPTIONS'. - * lib/torture-options.exp (torture-init, torture-finish): Let each - 'torture-init' determine the 'LTO_TORTURE_OPTIONS'. - -2023-05-08 Patrick Palka - - PR c++/106214 - PR c++/93107 - * g++.dg/cpp1z/class-deduction114.C: New test. - -2023-05-08 Andrew Pinski - - * gcc.dg/tree-ssa/abs-2.c: Update tree scan for - details change in wording. - * gcc.dg/tree-ssa/minmax-17.c: Likewise. - * gcc.dg/tree-ssa/pr103771.c: Likewise. - * gcc.dg/tree-ssa/minmax-18.c: New test. - * gcc.dg/tree-ssa/minmax-19.c: New test. - -2023-05-08 Andrew Pinski - - * gcc.dg/tree-ssa/minmax-17.c: New test. - -2023-05-08 Andrew Pinski - - PR tree-optimization/49959 - PR tree-optimization/103771 - * c-c++-common/torture/harden-cond-comp.c: Change testcase - slightly to avoid the new phiopt optimization. - * gcc.dg/tree-ssa/abs-2.c: New test. - * gcc.dg/tree-ssa/pr103771.c: New test. - -2023-05-08 Juzhe-Zhong - - * gcc.target/riscv/rvv/autovec/fixed-vlmax-1.c: Fix typo. - -2023-05-08 Andrew Pinski - - * gcc.dg/tree-ssa/evrp7.c: Update for output change. - * gcc.dg/tree-ssa/evrp8.c: Likewise. - * gcc.dg/tree-ssa/vrp35.c: Likewise. - * gcc.dg/tree-ssa/vrp36.c: Likewise. - * gcc.dg/tree-ssa/pr98737-1.c: Update scan-tree-dump-not - to check for assignment too instead of just a call. - * c-c++-common/goacc/kernels-alias-8.c: Update test - for removal of load. - * gcc.dg/pr81192.c: Rewrite testcase in gimple based test. - -2023-05-08 Jerry DeLisle - - PR fortran/109662 - * gfortran.dg/pr109662-a.f90: New test. - -2023-05-07 Patrick Palka - - PR c++/85979 - * g++.dg/diagnostic/alignof4.C: New test. - -2023-05-07 Patrick Palka - - DR 2256 - PR c++/103091 - * g++.old-deja/g++.other/init9.C: Don't expect diagnostics for - goto made valid by DR 2256. - * g++.dg/init/goto4.C: New test. - -2023-05-07 Patrick Palka - - * g++.dg/cpp2a/concepts-alias6.C: New test. - -2023-05-07 Patrick Palka - - PR c++/98283 - * g++.dg/cpp1y/paren6.C: New test. - -2023-05-07 Patrick Palka - - PR c++/109651 - * g++.dg/cpp2a/lambda-generic-ttp1.C: New test. - * g++.dg/cpp2a/lambda-generic-ttp2.C: New test. - -2023-05-07 Patrick Palka - - PR c++/109480 - * g++.dg/template/non-dependent25a.C: New test. - -2023-05-07 Patrick Palka - - PR c++/109480 - * g++.dg/cpp0x/noexcept59.C: Make e() constexpr so that the - expected "without object" diagnostic isn't replaced by a - "call to non-constexpr function" diagnostic. - * g++.dg/template/non-dependent25.C: New test. - -2023-05-07 Jiufu Guo - - * gcc.target/powerpc/parall_5insn_const.c: New test. - -2023-05-07 Roger Sayle - - PR target/43644 - * gcc.target/i386/pr43644.c: New test case. - -2023-05-06 Xi Ruoyao - - * gcc.target/loongarch/shrink-wrap.c: New test. - -2023-05-06 Juzhe-Zhong - - * gcc.target/riscv/rvv/rvv.exp: Add testcases for RVV auto-vectorization. - * gcc.target/riscv/rvv/autovec/fixed-vlmax-1.c: New test. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-1.c: New test. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-1.h: New test. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-1.c: New test. - * gcc.target/riscv/rvv/autovec/scalable-1.c: New test. - * gcc.target/riscv/rvv/autovec/template-1.h: New test. - * gcc.target/riscv/rvv/autovec/v-1.c: New test. - * gcc.target/riscv/rvv/autovec/v-2.c: New test. - * gcc.target/riscv/rvv/autovec/zve32f-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32f-2.c: New test. - * gcc.target/riscv/rvv/autovec/zve32f-3.c: New test. - * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-2.c: New test. - * gcc.target/riscv/rvv/autovec/zve32x-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32x-2.c: New test. - * gcc.target/riscv/rvv/autovec/zve32x-3.c: New test. - * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-2.c: New test. - * gcc.target/riscv/rvv/autovec/zve64d-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64d-2.c: New test. - * gcc.target/riscv/rvv/autovec/zve64d-3.c: New test. - * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-2.c: New test. - * gcc.target/riscv/rvv/autovec/zve64f-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64f-2.c: New test. - * gcc.target/riscv/rvv/autovec/zve64f-3.c: New test. - * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-2.c: New test. - * gcc.target/riscv/rvv/autovec/zve64x-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64x-2.c: New test. - * gcc.target/riscv/rvv/autovec/zve64x-3.c: New test. - * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-1.c: New test. - * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-2.c: New test. - -2023-05-06 Jerry DeLisle - - PR fortran/109662 - * gfortran.dg/pr109662.f90: New test. - -2023-05-06 Jakub Jelinek - - * gcc.dg/tree-ssa/range-sincos-2.c: New test. - -2023-05-06 Juzhe-Zhong - - PR target/109748 - * gcc.target/riscv/rvv/vsetvl/pr109748.c: New test. - -2023-05-06 Jakub Jelinek - - * gcc.dg/tree-ssa/range-sqrt-2.c: New test. - -2023-05-06 Hans-Peter Nilsson - - * gcc.target/cris/peep2-addsplit1.c: New test. - -2023-05-05 Hans-Peter Nilsson - - * gcc.target/cris/peep2-movandsplit1.c: New test. - -2023-05-05 Hans-Peter Nilsson - - * gcc.target/cris/peep2-lsrandsplit1.c, - gcc.target/cris/peep2-movulsr2.c: New tests. - -2023-05-05 Harald Anlauf - - PR fortran/109641 - * gfortran.dg/overload_5.f90: New test. - -2023-05-05 Pan Li - Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/zero_base_load_store_optimization.c: - Adjust indexed load/store check condition. - -2023-05-05 Pan Li - - * gcc.target/riscv/rvv/base/integer_compare_insn_shortcut.c: - Adjust test check condition. - -2023-05-05 Juzhe-Zhong - - PR target/109615 - * gcc.target/riscv/rvv/vsetvl/avl_single-74.c: Adapt testcase. - * gcc.target/riscv/rvv/vsetvl/vsetvl-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/pr109615.c: New test. - -2023-05-05 Uros Bizjak - - * gcc.target/i386/sse2-mmx-mult-vec.c: New test. - -2023-05-05 Andrew Pinski - - PR tree-optimization/109732 - * gcc.dg/pr109732.c: New test. - * gcc.dg/pr109732-1.c: New test. - -2023-05-05 Andrew Pinski - - PR tree-optimization/109722 - * gcc.dg/tree-ssa/abs-1.c: New test. - -2023-05-04 Gaius Mulley - - PR modula2/109729 - * gm2/pim/run/pass/ForChar.mod: New test. - -2023-05-04 Kyrylo Tkachov - - * gcc.target/aarch64/simd/pr99195_4.c: New test. - -2023-05-04 Julian Brown - - PR fortran/109622 - * gfortran.dg/goacc/pr109622-5.f90: New test. - * gfortran.dg/goacc/pr109622-6.f90: New test. - -2023-05-04 Andrew Pinski - - * gcc.dg/tree-ssa/minmax-15.c: Update test. - * gcc.dg/tree-ssa/minmax-16.c: Update test. - * gcc.dg/tree-ssa/minmax-3.c: Update test. - * gcc.dg/tree-ssa/minmax-4.c: Update test. - * gcc.dg/tree-ssa/minmax-5.c: Update test. - * gcc.dg/tree-ssa/minmax-8.c: Update test. - -2023-05-04 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_3.c: New test. - -2023-05-04 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_1.c: Add testing for more binary ops. - * gcc.target/aarch64/simd/pr99195_2.c: Add testing for more binary ops. - -2023-05-04 Richard Biener - - PR tree-optimization/109724 - * g++.dg/torture/pr109724.C: New testcase. - -2023-05-04 Jakub Jelinek - - PR debug/109676 - * g++.target/i386/pr109676.C: New test. - -2023-05-04 Hans-Peter Nilsson - - * gcc.target/cris/peep2-andsplit1.c: New test. - * gcc.target/cris/peep2-andu1.c, gcc.target/cris/peep2-andu2.c, - gcc.target/cris/peep2-xsrand.c, gcc.target/cris/peep2-xsrand2.c: - Adjust values to avoid interference with "opsplit1" with AND. Add - whitespace to match-strings that may be confused with identifiers - or file names. - -2023-05-03 Jason Merrill - - PR c++/91618 - PR c++/109649 - * g++.dg/template/friend77.C: New test. - -2023-05-03 Aldy Hernandez - - PR tree-optimization/109711 - * gcc.dg/tree-ssa/pr109711-1.c: New file. - * gcc.dg/tree-ssa/pr109711-2.c: New file. - -2023-05-03 Alexander Monakov - - PR sanitizer/90746 - * gcc.dg/sancov/basic0.c: Verify absence of tailcall. - -2023-05-03 Richard Sandiford - - * g++.target/aarch64/pr109661-1.C: New test. - * g++.target/aarch64/pr109661-2.C: Likewise. - * g++.target/aarch64/pr109661-3.C: Likewise. - * g++.target/aarch64/pr109661-4.C: Likewise. - * gcc.target/aarch64/pr109661-1.c: Likewise. - -2023-05-03 Murray Steele - Christophe Lyon - - * g++.target/arm/mve.exp: Add general-c++ and general directories. - * g++.target/arm/mve/general-c++/nomve_fp_1.c: New test. - * g++.target/arm/mve/general-c++/vreinterpretq_1.C: New test. - * gcc.target/arm/mve/general-c/nomve_fp_1.c: New test. - * gcc.target/arm/mve/general-c/vreinterpretq_1.c: New test. - -2023-05-03 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/abi-10.c: New test. - * gcc.target/riscv/rvv/base/abi-11.c: New test. - * gcc.target/riscv/rvv/base/abi-12.c: New test. - * gcc.target/riscv/rvv/base/abi-13.c: New test. - * gcc.target/riscv/rvv/base/abi-14.c: New test. - * gcc.target/riscv/rvv/base/abi-15.c: New test. - * gcc.target/riscv/rvv/base/abi-16.c: New test. - * gcc.target/riscv/rvv/base/abi-8.c: New test. - * gcc.target/riscv/rvv/base/abi-9.c: New test. - * gcc.target/riscv/rvv/base/tuple-1.c: New test. - * gcc.target/riscv/rvv/base/tuple-10.c: New test. - * gcc.target/riscv/rvv/base/tuple-11.c: New test. - * gcc.target/riscv/rvv/base/tuple-12.c: New test. - * gcc.target/riscv/rvv/base/tuple-13.c: New test. - * gcc.target/riscv/rvv/base/tuple-14.c: New test. - * gcc.target/riscv/rvv/base/tuple-15.c: New test. - * gcc.target/riscv/rvv/base/tuple-16.c: New test. - * gcc.target/riscv/rvv/base/tuple-17.c: New test. - * gcc.target/riscv/rvv/base/tuple-18.c: New test. - * gcc.target/riscv/rvv/base/tuple-19.c: New test. - * gcc.target/riscv/rvv/base/tuple-2.c: New test. - * gcc.target/riscv/rvv/base/tuple-20.c: New test. - * gcc.target/riscv/rvv/base/tuple-21.c: New test. - * gcc.target/riscv/rvv/base/tuple-22.c: New test. - * gcc.target/riscv/rvv/base/tuple-23.c: New test. - * gcc.target/riscv/rvv/base/tuple-24.c: New test. - * gcc.target/riscv/rvv/base/tuple-25.c: New test. - * gcc.target/riscv/rvv/base/tuple-26.c: New test. - * gcc.target/riscv/rvv/base/tuple-27.c: New test. - * gcc.target/riscv/rvv/base/tuple-3.c: New test. - * gcc.target/riscv/rvv/base/tuple-4.c: New test. - * gcc.target/riscv/rvv/base/tuple-5.c: New test. - * gcc.target/riscv/rvv/base/tuple-6.c: New test. - * gcc.target/riscv/rvv/base/tuple-7.c: New test. - * gcc.target/riscv/rvv/base/tuple-8.c: New test. - * gcc.target/riscv/rvv/base/tuple-9.c: New test. - * gcc.target/riscv/rvv/base/user-10.c: New test. - * gcc.target/riscv/rvv/base/user-11.c: New test. - * gcc.target/riscv/rvv/base/user-12.c: New test. - * gcc.target/riscv/rvv/base/user-13.c: New test. - * gcc.target/riscv/rvv/base/user-14.c: New test. - * gcc.target/riscv/rvv/base/user-15.c: New test. - * gcc.target/riscv/rvv/base/user-7.c: New test. - * gcc.target/riscv/rvv/base/user-8.c: New test. - * gcc.target/riscv/rvv/base/user-9.c: New test. - -2023-05-03 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_1.c: Add tests for halving and rounding - add/sub intrinsics. - -2023-05-03 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_1.c: Add testing for some unary - and binary floating-point ops. - * gcc.target/aarch64/simd/pr99195_2.c: New test. - -2023-05-03 Jason Merrill - - * g++.dg/template/nontype12.C: Check for duplicate error. - -2023-05-02 Andrew Pinski - - PR tree-optimization/109702 - * gcc.dg/tree-ssa/phi-opt-25b.c: New test. - -2023-05-02 Andrew Pinski - - PR target/109657 - * gcc.target/aarch64/csinv-2.c: New test. - -2023-05-02 Jason Merrill - - PR c++/109678 - * g++.dg/cpp1z/variant1.C: New test. - -2023-05-02 Patrick O'Neill - - * gcc.target/riscv/amo-table-a-6-amo-add-1.c: New test. - * gcc.target/riscv/amo-table-a-6-amo-add-2.c: New test. - * gcc.target/riscv/amo-table-a-6-amo-add-3.c: New test. - * gcc.target/riscv/amo-table-a-6-amo-add-4.c: New test. - * gcc.target/riscv/amo-table-a-6-amo-add-5.c: New test. - * gcc.target/riscv/amo-table-a-6-compare-exchange-1.c: New test. - * gcc.target/riscv/amo-table-a-6-compare-exchange-2.c: New test. - * gcc.target/riscv/amo-table-a-6-compare-exchange-3.c: New test. - * gcc.target/riscv/amo-table-a-6-compare-exchange-4.c: New test. - * gcc.target/riscv/amo-table-a-6-compare-exchange-5.c: New test. - * gcc.target/riscv/amo-table-a-6-compare-exchange-6.c: New test. - * gcc.target/riscv/amo-table-a-6-compare-exchange-7.c: New test. - * gcc.target/riscv/amo-table-a-6-fence-1.c: New test. - * gcc.target/riscv/amo-table-a-6-fence-2.c: New test. - * gcc.target/riscv/amo-table-a-6-fence-3.c: New test. - * gcc.target/riscv/amo-table-a-6-fence-4.c: New test. - * gcc.target/riscv/amo-table-a-6-fence-5.c: New test. - * gcc.target/riscv/amo-table-a-6-load-1.c: New test. - * gcc.target/riscv/amo-table-a-6-load-2.c: New test. - * gcc.target/riscv/amo-table-a-6-load-3.c: New test. - * gcc.target/riscv/amo-table-a-6-store-1.c: New test. - * gcc.target/riscv/amo-table-a-6-store-2.c: New test. - * gcc.target/riscv/amo-table-a-6-store-compat-3.c: New test. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-1.c: New test. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-2.c: New test. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-3.c: New test. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-4.c: New test. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-5.c: New test. - -2023-05-02 Patrick O'Neill - - PR target/89835 - * gcc.target/riscv/pr89835.c: New test. - -2023-05-02 Yanzhang Wang - Pan Li - - PR target/109617 - * gcc.target/riscv/rvv/base/vlmul_ext-1.c: New test. - -2023-05-02 Patrick Palka - - PR c++/109506 - * g++.dg/cpp0x/nsdmi-template26.C: New test. - -2023-05-02 Richard Biener - - * gcc.target/i386/pr88531-2a.c: Skip scanning for ia32. - * gcc.target/i386/pr88531-2b.c: Likewise. - * gcc.target/i386/pr88531-2c.c: Likewise. - * gcc.target/i386/pr89618-2.c: Likewise. Disable AVX512. - -2023-05-01 Jason Merrill - - PR c++/109666 - * g++.dg/cpp0x/nsdmi-array2.C: New test. - -2023-04-30 Jeff Law - - Revert: - 2023-04-30 Longjun Luo - - * gcc.dg/builtin-redefine.c: Test for redefintion warnings - for __LINE__. - * gcc.dg/builtin-redefine-1.c: New test. - -2023-04-30 Roger Sayle - - * gcc.target/xstormy16/neghi2.c: Update expected implementation. - -2023-04-30 Andrew Pinski - - * gcc.dg/init-bad-1.c: Update error message. - * gcc.dg/init-bad-2.c: Likewise. - * gcc.dg/init-bad-3.c: Likewise. - * gcc.dg/init-excess-3.c: Likewise. - * gcc.dg/pr61096-1.c: Likewise. - -2023-04-30 Andrew Pinski - - PR c/107926 - * gcc.dg/init-excess-3.c: New test. - -2023-04-30 Martin Liska - - * c-c++-common/hwasan/asan-pr70541.c: Adjust wording of expected - output. - * c-c++-common/hwasan/heap-overflow.c: Likewise. - * c-c++-common/hwasan/sanity-check-pure-c.c: Likewise. - * c-c++-common/hwasan/use-after-free.c: Likewise. - -2023-04-30 Longjun Luo - - * gcc.dg/builtin-redefine.c: Test for redefintion warnings - for __LINE__. - * gcc.dg/builtin-redefine-1.c: New test. - -2023-04-30 Gaius Mulley - - * gm2/pim/run/pass/constlitbase.mod: New test. - -2023-04-29 Roger Sayle - - * gcc.target/xstormy16/neghi2.c: New test case. - * gcc.target/xstormy16/rotatehi-1.c: Likewise. - -2023-04-29 Roger Sayle - - * gcc.target/xstormy16/swpn-1.c: New QImode test case. - * gcc.target/xstormy16/swpn-2.c: New zero_extend test case. - * gcc.target/xstormy16/swpn-3.c: New sign_extend test case. - * gcc.target/xstormy16/swpn-4.c: New HImode test case. - -2023-04-29 Jeff Law - - * gcc.target/mips/mips-ps-type-2.c: Adjust branch cost to - encourage if-conversion. Skip for -Os. - * gcc.target/mips/movcc-3.c: Similarly. - -2023-04-29 Fei Gao - - * gcc.target/riscv/rv32e_stack.c: New test. - -2023-04-28 Hans-Peter Nilsson - - * lib/scanasm.exp (parse_function_bodies): Set fluff to include - empty lines (besides optionally leading whitespace). - -2023-04-28 Matevos Mehrabyan - - * gcc.target/riscv/divmod-1.c: New testcase. - * gcc.target/riscv/divmod-2.c: New testcase. - -2023-04-28 Karen Sargsyan - - * gcc.target/riscv/zbc32.c: New test. - * gcc.target/riscv/zbc64.c: New test. - -2023-04-28 Jivan Hakobyan - - * gcc.target/riscv/zbb-min-max-02.c: Updated scanning check. - * gcc.target/riscv/zbb-min-max-03.c: New tests. - -2023-04-28 Andrew Pinski - - * gcc.dg/tree-ssa/minmax-16.c: Update testcase slightly. - * gcc.dg/tree-ssa/split-path-1.c: Also disable tree-loop-if-convert - as that now does the combining. - -2023-04-28 Roger Sayle - - PR rtl-optimization/109476 - * gcc.target/avr/mmcu/pr109476.c: New test case. - -2023-04-28 Richard Biener - - * gcc.dg/vect/pr25413a.c: Un-XFAIL everywhere. - * gcc.dg/vect/vect-71.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s4113.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s491.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-vas.c: Likewise. - -2023-04-28 Richard Biener - - * gcc.target/i386/pr89618-2.c: New testcase. - * gcc.target/i386/pr88531-2b.c: Adjust. - * gcc.target/i386/pr88531-2c.c: Likewise. - -2023-04-28 Pan Li - kito-cheng - - * gcc.target/riscv/rvv/base/integer_compare_insn_shortcut.c: New test. - -2023-04-28 Richard Biener - - PR ipa/109652 - * gcc.dg/torture/pr109652.c: New testcase. - -2023-04-28 Julian Brown - - PR fortran/109622 - * gfortran.dg/goacc/attach-descriptor.f90: Adjust expected output. - -2023-04-28 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_1.c: Add tests for unary integer ops. - -2023-04-28 Jakub Jelinek - - * gcc.dg/tree-ssa/range-sqrt.c: New test. - * gfortran.dg/ieee/ieee_6.f90: Make x volatile to avoid - ranger optimizing sqrt (-1) call away because it is only used in - test for whether it returns NaN. - -2023-04-28 Aldy Hernandez - Jakub Jelinek - - * gcc.dg/tree-ssa/range-sincos.c: New test. - -2023-04-28 Jan Beulich - - * g++.dg/modules/alias-1_b.C: Add -fno-canonical-system-headers. - * g++.dg/modules/alias-1_d.C: Likewise. - * g++.dg/modules/alias-1_e.C: Likewise. - * g++.dg/modules/alias-1_f.C: Likewise. - * g++.dg/modules/cpp-6_c.C: Likewise. - * g++.dg/modules/dir-only-2_b.C: Likewise. - -2023-04-28 Jan Beulich - - * g++.dg/modules/bad-mapper-3.C: Relax failure pattern. - -2023-04-28 Alexandre Oliva - - * c-c++-common/torture/harden-cond-comp.c: New. - -2023-04-27 Jason Merrill - - * g++.dg/template/copy1.C: Adjust error lines. - -2023-04-27 Pan Li - - * gcc.target/riscv/read-thread-pointer.c: Add required tls. - -2023-04-27 Aldy Hernandez - - PR tree-optimization/109639 - * gcc.dg/tree-ssa/pr109639.c: New file. - * gcc.dg/tree-ssa/pr109643.c: New file. - -2023-04-27 Richard Biener - - PR ipa/109607 - * g++.dg/torture/pr109607.C: New testcase. - -2023-04-27 Jakub Jelinek - - PR c/109409 - * gcc.dg/pr109409.c: New test. - -2023-04-27 Jakub Jelinek - - PR c/107682 - PR c/109412 - * gcc.dg/pr109412.c: New test. - -2023-04-27 Jan Beulich - - * c-c++-common/patchable_function_entry-decl.c: Special-case - RISC-V. - * c-c++-common/patchable_function_entry-default.c: Likewise. - * c-c++-common/patchable_function_entry-definition.c: Likewise. - -2023-04-26 Jason Merrill - - PR c++/69836 - * g++.dg/template/friend76.C: New test. - -2023-04-26 Patrick O'Neill - - PR target/104338 - * gcc.target/riscv/inline-atomics-1.c: New test. - * gcc.target/riscv/inline-atomics-2.c: New test. - * gcc.target/riscv/inline-atomics-3.c: New test. - * gcc.target/riscv/inline-atomics-4.c: New test. - * gcc.target/riscv/inline-atomics-5.c: New test. - * gcc.target/riscv/inline-atomics-6.c: New test. - * gcc.target/riscv/inline-atomics-7.c: New test. - * gcc.target/riscv/inline-atomics-8.c: New test. - -2023-04-26 Pan Li - Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/zero_base_load_store_optimization.c: New test. - -2023-04-26 Roger Sayle - - * gcc.target/xstormy16/bswap16.c: New test case. - * gcc.target/xstormy16/bswap32.c: Likewise. - * gcc.target/xstormy16/swpb.c: Likewise. - * gcc.target/xstormy16/swpw-1.c: Likewise. - * gcc.target/xstormy16/swpw-2.c: Likewise. - -2023-04-26 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/narrow_constraint-13.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-14.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-15.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-16.c: New test. - -2023-04-26 Kewen Lin - - PR target/109069 - * gcc.target/powerpc/pr109069-1.c: New test. - * gcc.target/powerpc/pr109069-2-run.c: New test. - * gcc.target/powerpc/pr109069-2.c: New test. - * gcc.target/powerpc/pr109069-2.h: New test. - -2023-04-26 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/binop_vv_constraint-4.c: Adapt testcase. - * gcc.target/riscv/rvv/base/narrow_constraint-17.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-18.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-19.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-20.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-21.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-22.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-23.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-24.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-25.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-26.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-27.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-28.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-29.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-30.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-31.c: New test. - -2023-04-26 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/binop_vx_constraint-150.c: Adapt assembly - check. - -2023-04-26 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/narrow_constraint-12.c: New test. - -2023-04-26 Pan Li - - PR target/109272 - * gcc.target/riscv/rvv/base/pr108185-4.c: Update test check - condition. - * gcc.target/riscv/rvv/base/pr108185-5.c: Likewise. - * gcc.target/riscv/rvv/base/pr108185-6.c: Likewise. - -2023-04-26 Jivan Hakobyan - - * gcc.target/riscv/zbs-bclri-nottwobits.c: New test. - -2023-04-26 Gaius Mulley - - PR modula2/108121 - * gm2/pim/fail/largeconst.mod: Increased constant value test - to fail now that cc1gm2 uses widest_int to represent a ZTYPE. - * gm2/pim/fail/largeconst2.mod: New test. - -2023-04-25 Patrick Palka - - PR c++/108975 - * g++.dg/cpp0x/lambda/lambda-const11a.C: New test. - -2023-04-25 Richard Biener - - PR tree-optimization/109609 - * gcc.dg/torture/pr109609.c: New testcase. - -2023-04-25 Tobias Burnus - - * g++.dg/gomp/attrs-7.C: Update dg-error/dg-warning. - * gfortran.dg/gomp/loop-2.f90: Likewise. - * gfortran.dg/gomp/reduction5.f90: Likewise. - * gfortran.dg/gomp/reduction6.f90: Likewise. - * gfortran.dg/gomp/scan-1.f90: Likewise. - * gfortran.dg/gomp/taskloop-2.f90: Likewise. - * c-c++-common/gomp/scan-6.c: New test. - * gfortran.dg/gomp/scan-8.f90: New test. - -2023-04-25 Jakub Jelinek - - * g++.dg/cpp23/ext-floating2.C: Add dg-add-options for - float16, float32, float64 and float128. - -2023-04-25 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_1.c: Add tests for orn, bic, max and min. - -2023-04-25 Kyrylo Tkachov - - * gcc.target/aarch64/sve-neon-modes_3.c: New test. - -2023-04-25 Jakub Jelinek - - PR c++/109278 - * g++.dg/cpp23/ext-floating15.C: Add dg-add-options float128. - -2023-04-25 Richard Biener - - PR rtl-optimization/109585 - * gcc.dg/torture/pr109585.c: New testcase. - -2023-04-25 Jakub Jelinek - - PR target/109566 - * gcc.target/powerpc/pr109566.c: New test. - -2023-04-25 Martin Liska - - * g++.dg/gcov/gcov-17.C: Add call to a noreturn function. - * g++.dg/gcov/test-gcov-17.py: Cover new format. - * lib/gcov.exp: Add options for gcov that emit the extra info. - -2023-04-25 Victor Do Nascimento - - * gcc.target/aarch64/stp_vec_dup_32_64-1.c: New. - -2023-04-25 Sam James - - PR tree-optimization/105312 - PR target/105573 - * gcc.target/sparc/pr105573.c: New test. - -2023-04-25 Andrew Pinski - - * gcc.dg/tree-ssa/phi-opt-25a.c: New test. - -2023-04-24 Prathamesh Kulkarni - - * gcc.target/aarch64/sve/acle/general/rev-1.c: New test. - -2023-04-24 Andrew Pinski - - * gcc.dg/tree-ssa/phi-opt-23.c: Update testcase. - * gcc.dg/tree-ssa/phi-opt-24.c: Likewise. - -2023-04-24 Andrew Pinski - - * gcc.dg/tree-ssa/ssa-ifcombine-13.c: Add -fno-ssa-phiopt. - -2023-04-24 Andrew Pinski - - PR tree-optimization/109604 - * gcc.c-torture/compile/pr109604-1.c: New test. - * gcc.c-torture/compile/pr109604-2.c: New test. - -2023-04-24 Kyrylo Tkachov - - * gcc.target/aarch64/sve-neon-modes_1.c: New test. - * gcc.target/aarch64/sve-neon-modes_2.c: New test. - -2023-04-24 Kyrylo Tkachov - - PR target/109406 - * gcc.target/aarch64/sve2/div-by-bitmask_1.c: Adjust for unpredicated SVE2 - MUL. - * gcc.target/aarch64/sve2/unpred_mul_1.c: New test. - -2023-04-24 Kyrylo Tkachov - - * gcc.target/aarch64/simd/vabal_combine.c: New test. - -2023-04-24 Kyrylo Tkachov - - * gcc.target/aarch64/simd/addlv_zext.c: New test. - -2023-04-24 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/avl_single-102.c: New test. - -2023-04-24 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/ffload-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/ffload-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/ffload-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/ffload-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/ffload-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/ffload-7.c: New test. - -2023-04-24 liuhongt - - PR tree-optimization/109011 - * gcc.target/i386/pr109011-b1.c: New test. - * gcc.target/i386/pr109011-b2.c: New test. - * gcc.target/i386/pr109011-d1.c: New test. - * gcc.target/i386/pr109011-d2.c: New test. - * gcc.target/i386/pr109011-q1.c: New test. - * gcc.target/i386/pr109011-q2.c: New test. - * gcc.target/i386/pr109011-w1.c: New test. - * gcc.target/i386/pr109011-w2.c: New test. - * gcc.target/i386/pr109011-dq1.c: New file. - * gcc.target/i386/pr109011-dq2.c: New file. - -2023-04-23 Gaius Mulley - - * lib/gm2.exp (gm2_target_compile_default): Conditionally - append -lnsl -lsocket to ldflags. - -2023-04-23 Kyrylo Tkachov - - * gcc.target/aarch64/float_truncate_zero.c: New test. - -2023-04-23 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_1.c: Add testing for vpadd intrinsics. - -2023-04-23 Roger Sayle - - * gcc.target/xstormy16/mulhi.c: New test case. - -2023-04-23 Roger Sayle - - * gcc.target/xstormy16/extendhisi2.c: New test case. - * gcc.target/xstormy16/zextendhisi2.c: Likewise. - -2023-04-23 Roger Sayle - - * gcc.target/xstormy16/shiftsi.c: New test case. - -2023-04-23 liuhongt - - * gcc.target/i386/avx2-dest-false-dep-for-glc.c: Rewrite - testcase to make the codegen more stable. - * gcc.target/i386/avx512dq-dest-false-dep-for-glc.c: Ditto - * gcc.target/i386/avx512f-dest-false-dep-for-glc.c: Ditto. - * gcc.target/i386/avx512fp16-dest-false-dep-for-glc.c: Ditto. - * gcc.target/i386/avx512vl-dest-false-dep-for-glc.c: Ditto. - -2023-04-23 liuhongt - - * gcc.target/i386/pr108707.c: New test. - -2023-04-22 Andrew Pinski - - * gcc.dg/tree-ssa/phi-opt-5.c: Remvoe some xfail. - -2023-04-22 Roger Sayle - - PR target/54816 - * gcc.target/avr/pr54816.c: Move to... - * gcc.target/avr/mmcu/pr54816.c: ... here. - -2023-04-22 Harald Anlauf - Steven G. Kargl - - PR fortran/109500 - * gfortran.dg/allocatable_function_11.f90: New test. - -2023-04-22 Jakub Jelinek - - PR testsuite/109572 - * gcc.dg/vect/pr109011-1.c: In scan-tree-dump-times regexps match also - vect prefix to make sure we only count vectorized calls. - * gcc.dg/vect/pr109011-2.c: Likewise. On powerpc* expect just count 3 - rather than 4. - * gcc.dg/vect/pr109011-3.c: In scan-tree-dump-times regexps match also - vect prefix to make sure we only count vectorized calls. - * gcc.dg/vect/pr109011-4.c: Likewise. On powerpc* expect just count 3 - rather than 4. - (foo): Add 2 further arithmetic ops to the loop to make it appear - worthwhile for vectorization heuristics on powerpc. - * gcc.dg/vect/pr109011-5.c: In scan-tree-dump-times regexps match also - vect prefix to make sure we only count vectorized calls. - (foo): Add 2 further arithmetic ops to the loop to make it appear - worthwhile for vectorization heuristics on powerpc. - -2023-04-22 Jeff Law - - * gcc.target/rx/movsicc.c: Broken down into ... - * gcc.target/rx/movsicc-1.c: Here. - * gcc.target/rx/movsicc-2.c: Here. - * gcc.target/rx/movsicc-3.c: Here. xfail one test. - * gcc.target/rx/movsicc-4.c: Here. - * gcc.target/rx/movsicc-5.c: Here. - * gcc.target/rx/movsicc-6.c: Here. - * gcc.target/rx/movsicc-7.c: Here. - * gcc.target/rx/movsicc-8.c: Here. - -2023-04-22 Jakub Jelinek - - PR tree-optimization/109583 - * gcc.dg/pr109583.c: New test. - -2023-04-22 Jan Hubicka - Ondrej Kubanek - - * gcc.dg/tree-ssa/peel1.c: Decrease number of peels by 1. - * gcc.dg/unroll-8.c: Decrease loop iteration estimate. - * gcc.dg/tree-prof/peel-2.c: New test. - -2023-04-21 Andrew MacLeod - - PR tree-optimization/109546 - * gcc.dg/pr109546.c: New. - -2023-04-21 Jason Merrill - - PR c++/108099 - * g++.dg/ext/int128-8.C: Remove xfailed dg-bogus markers. - * g++.dg/ext/unsigned-typedef2.C: New test. - * g++.dg/ext/unsigned-typedef3.C: New test. - -2023-04-21 Jeff Law - - PR testsuite/109549 - * gcc.target/i386/cmov6.c: No longer expect this test to - generate 'cmov' instructions. - -2023-04-21 Kyrylo Tkachov - - * gcc.target/aarch64/sminmax-asr_1.c: New test. - -2023-04-21 Kyrylo Tkachov - - PR target/108779 - * gcc.target/aarch64/mtp.c: New test. - * gcc.target/aarch64/mtp_1.c: New test. - * gcc.target/aarch64/mtp_2.c: New test. - * gcc.target/aarch64/mtp_3.c: New test. - * gcc.target/aarch64/mtp_4.c: New test. - -2023-04-21 Kyrylo Tkachov - - PR target/99195 - * gcc.target/aarch64/simd/pr99195_1.c: New test. - -2023-04-21 Richard Biener - - PR tree-optimization/109573 - * g++.dg/vect/pr109573.cc: New testcase. - -2023-04-21 Juzhe-Zhong - - PR target/108270 - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-1.c: Adapt testcase. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/pr108270.c: New test. - -2023-04-21 Haochen Gui - - PR target/108728 - * gcc.dg/torture/float128-cmp-invalid.c: Add xfail. - -2023-04-21 Haochen Gui - - PR target/108728 - * lib/target-supports.exp (is-effective-target-keyword): Add - ppc_cpu_supports_hw. - -2023-04-21 Juzhe-Zhong - - PR target/109547 - * gcc.target/riscv/rvv/vsetvl/pr109547.c: New. - * gcc.target/riscv/rvv/vsetvl/vsetvl-17.c: Update scan - condition. - -2023-04-20 Andrew MacLeod - - PR tree-optimization/109564 - * gcc.dg/torture/pr109564-1.c: New testcase. - * gcc.dg/torture/pr109564-2.c: Likewise. - * gcc.dg/tree-ssa/evrp-ignore.c: XFAIL. - * gcc.dg/tree-ssa/vrp06.c: Likewise. - -2023-04-20 Jakub Jelinek - - PR c/107041 - * gcc.dg/goacc/pr107041.c: New test. - -2023-04-20 Uros Bizjak - - PR target/78952 - * gcc.target/i386/pr78952-4.c: New test. - -2023-04-20 Juzhe-Zhong - kito-cheng - - * gcc.target/riscv/rvv/base/spill-4.c: Adapt testcase. - * gcc.target/riscv/rvv/base/spill-6.c: Adapt testcase. - * gcc.target/riscv/rvv/base/reg_order-1.c: New test. - -2023-04-20 Kito Cheng - - * gcc.target/riscv/arch-19.c: Add -misa-spec. - -2023-04-20 Ju-Zhe Zhong - kito-cheng - - PR target/109535 - * g++.target/riscv/rvv/base/pr109535.C: New test. - * gcc.target/riscv/rvv/base/pr109535.c: New test. - -2023-04-20 Kito Cheng - - * gcc.target/riscv/simplify_ior_optimization.c: Use stdint-gcc.h - rather than stdint.h - -2023-04-20 Andrew Stubbs - - * lib/target-supports.exp - (check_effective_target_vect_call_copysignf): Add amdgcn. - (check_effective_target_vect_call_sqrtf): Add amdgcn. - (check_effective_target_vect_call_ceilf): Add amdgcn. - (check_effective_target_vect_call_floor): Add amdgcn. - (check_effective_target_vect_logical_reduc): Add amdgcn. - -2023-04-20 Jakub Jelinek - - PR tree-optimization/109011 - * gcc.dg/vect/pr109011-1.c: Remove -mpower9-vector from - dg-additional-options. - (baz, qux): Remove functions and corresponding dg-final. - * gcc.dg/vect/pr109011-2.c: New test. - * gcc.dg/vect/pr109011-3.c: New test. - * gcc.dg/vect/pr109011-4.c: New test. - * gcc.dg/vect/pr109011-5.c: New test. - -2023-04-20 Jakub Jelinek - - PR c++/108099 - PR testsuite/109560 - * g++.dg/ext/int128-8.C: Require int128 effective target. - -2023-04-20 Jiufu Guo - - PR testsuite/106879 - * gcc.dg/vect/bb-slp-layout-19.c: Modify to guard the check with - vect_hw_misalign on POWERs. - -2023-04-20 Haochen Jiang - - * gcc.target/i386/avx512fvl-vaes-1.c: Add VAES xmm test. - * gcc.target/i386/pr109117-1.c: Modify error message. - -2023-04-20 Hu, Lin1 - - * gcc.target/i386/avx512vlbw-reduce-op-1.c: New test. - -2023-04-20 Haochen Jiang - - * gcc.target/i386/vpclmulqdq.c: Add compile test for xmm. - -2023-04-20 Haochen Jiang - - * gcc.target/i386/avx512bw-pr100267-1.c: Remove avx512f and avx512bw. - * gcc.target/i386/avx512bw-pr100267-b-2.c: Ditto. - * gcc.target/i386/avx512bw-pr100267-d-2.c: Ditto. - * gcc.target/i386/avx512bw-pr100267-q-2.c: Ditto. - * gcc.target/i386/avx512bw-pr100267-w-2.c: Ditto. - * gcc.target/i386/avx512f-vpcompressb-1.c: Ditto. - * gcc.target/i386/avx512f-vpcompressb-2.c: Ditto. - * gcc.target/i386/avx512f-vpcompressw-1.c: Ditto. - * gcc.target/i386/avx512f-vpcompressw-2.c: Ditto. - * gcc.target/i386/avx512f-vpexpandb-1.c: Ditto. - * gcc.target/i386/avx512f-vpexpandb-2.c: Ditto. - * gcc.target/i386/avx512f-vpexpandw-1.c: Ditto. - * gcc.target/i386/avx512f-vpexpandw-2.c: Ditto. - * gcc.target/i386/avx512f-vpshld-1.c: Ditto. - * gcc.target/i386/avx512f-vpshldd-2.c: Ditto. - * gcc.target/i386/avx512f-vpshldq-2.c: Ditto. - * gcc.target/i386/avx512f-vpshldv-1.c: Ditto. - * gcc.target/i386/avx512f-vpshldvd-2.c: Ditto. - * gcc.target/i386/avx512f-vpshldvq-2.c: Ditto. - * gcc.target/i386/avx512f-vpshldvw-2.c: Ditto. - * gcc.target/i386/avx512f-vpshrdd-2.c: Ditto. - * gcc.target/i386/avx512f-vpshrdq-2.c: Ditto. - * gcc.target/i386/avx512f-vpshrdv-1.c: Ditto. - * gcc.target/i386/avx512f-vpshrdvd-2.c: Ditto. - * gcc.target/i386/avx512f-vpshrdvq-2.c: Ditto. - * gcc.target/i386/avx512f-vpshrdvw-2.c: Ditto. - * gcc.target/i386/avx512f-vpshrdw-2.c: Ditto. - * gcc.target/i386/avx512vbmi2-vpshld-1.c: Ditto. - * gcc.target/i386/avx512vbmi2-vpshrd-1.c: Ditto. - * gcc.target/i386/avx512vl-vpcompressb-1.c: Ditto. - * gcc.target/i386/avx512vl-vpcompressb-2.c: Ditto. - * gcc.target/i386/avx512vl-vpcompressw-2.c: Ditto. - * gcc.target/i386/avx512vl-vpexpandb-1.c: Ditto. - * gcc.target/i386/avx512vl-vpexpandb-2.c: Ditto. - * gcc.target/i386/avx512vl-vpexpandw-1.c: Ditto. - * gcc.target/i386/avx512vl-vpexpandw-2.c: Ditto. - * gcc.target/i386/avx512vl-vpshldd-2.c: Ditto. - * gcc.target/i386/avx512vl-vpshldq-2.c: Ditto. - * gcc.target/i386/avx512vl-vpshldv-1.c: Ditto. - * gcc.target/i386/avx512vl-vpshldvd-2.c: Ditto. - * gcc.target/i386/avx512vl-vpshldvq-2.c: Ditto. - * gcc.target/i386/avx512vl-vpshldvw-2.c: Ditto. - * gcc.target/i386/avx512vl-vpshrdd-2.c: Ditto. - * gcc.target/i386/avx512vl-vpshrdq-2.c: Ditto. - * gcc.target/i386/avx512vl-vpshrdv-1.c: Ditto. - * gcc.target/i386/avx512vl-vpshrdvd-2.c: Ditto. - * gcc.target/i386/avx512vl-vpshrdvq-2.c: Ditto. - * gcc.target/i386/avx512vl-vpshrdvw-2.c: Ditto. - * gcc.target/i386/avx512vl-vpshrdw-2.c: Ditto. - * gcc.target/i386/avx512vlbw-pr100267-1.c: Ditto. - * gcc.target/i386/avx512vlbw-pr100267-b-2.c: Ditto. - * gcc.target/i386/avx512vlbw-pr100267-w-2.c: Ditto. - -2023-04-20 Haochen Jiang - - * gcc.target/i386/avx512bitalg-vpopcntb-1.c: - Remove avx512bw. - * gcc.target/i386/avx512bitalg-vpopcntb.c: Ditto. - * gcc.target/i386/avx512bitalg-vpopcntbvl.c: Ditto. - * gcc.target/i386/avx512bitalg-vpopcntw-1.c: Ditto. - * gcc.target/i386/avx512bitalg-vpopcntw.c: Ditto. - * gcc.target/i386/avx512bitalg-vpopcntwvl.c: Ditto. - * gcc.target/i386/avx512bitalg-vpshufbitqmb-1.c: Ditto. - * gcc.target/i386/avx512bitalg-vpshufbitqmb.c: Ditto. - * gcc.target/i386/avx512bitalgvl-vpopcntb-1.c: Ditto. - * gcc.target/i386/avx512bitalgvl-vpopcntw-1.c: Ditto. - * gcc.target/i386/avx512bitalgvl-vpshufbitqmb-1.c: Ditto. - * gcc.target/i386/pr93696-1.c: Ditto. - * gcc.target/i386/pr93696-2.c: Ditto. - -2023-04-20 Hu, Lin1 - - * gcc.target/i386/avx512vl-vshuff32x4-1.c: Modify test. - * gcc.target/i386/avx512vl-vshuff64x2-1.c: Ditto. - * gcc.target/i386/avx512vl-vshufi32x4-1.c: Ditto. - * gcc.target/i386/avx512vl-vshufi64x2-1.c: Ditto. - * gcc.target/i386/opt-vperm-vshuf-1.c: New test. - * gcc.target/i386/opt-vperm-vshuf-2.c: Ditto. - * gcc.target/i386/opt-vperm-vshuf-3.c: Ditto. - -2023-04-19 Patrick Palka - Jonathan Wakely - - PR c++/100157 - * g++.dg/ext/type_pack_element1.C: New test. - * g++.dg/ext/type_pack_element2.C: New test. - * g++.dg/ext/type_pack_element3.C: New test. - -2023-04-19 Patrick Palka - - PR c++/109556 - * g++.dg/cpp2a/concepts-placeholder13.C: New test. - -2023-04-19 Harald Anlauf - - PR testsuite/83904 - PR fortran/100297 - * gfortran.dg/allocatable_function_1.f90: Use "__builtin_free " - instead of the naive "free". - * gfortran.dg/reshape_8.f90: Extend pattern from a simple "data". - -2023-04-19 Andrew Pinski - - * gcc.target/i386/cmov10.c: New test. - * gcc.target/i386/cmov11.c: New test. - -2023-04-19 Jason Merrill - - PR c++/108099 - * g++.dg/ext/int128-8.C: New test. - -2023-04-19 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/pr108185-4.c: Adapt testcase. - * gcc.target/riscv/rvv/base/spill-1.c: Ditto. - * gcc.target/riscv/rvv/base/spill-11.c: Ditto. - * gcc.target/riscv/rvv/base/spill-2.c: Ditto. - * gcc.target/riscv/rvv/base/spill-3.c: Ditto. - * gcc.target/riscv/rvv/base/spill-5.c: Ditto. - * gcc.target/riscv/rvv/base/spill-9.c: Ditto. - -2023-04-19 Pan Li - - * gcc.target/riscv/rvv/base/mask_insn_shortcut.c: Update check - condition. - * gcc.target/riscv/simplify_ior_optimization.c: New test. - -2023-04-19 Uros Bizjak - - PR target/78904 - PR target/78952 - * gcc.target/i386/pr78952-3.c: New test. - -2023-04-19 Xi Ruoyao - - PR target/109465 - * gcc.target/loongarch/pr109465-1.c: New test. - * gcc.target/loongarch/pr109465-2.c: New test. - * gcc.target/loongarch/pr109465-3.c: New test. - -2023-04-19 Xi Ruoyao - - * gcc.target/loongarch/va_arg.c: New test. - -2023-04-19 Jakub Jelinek - - PR tree-optimization/109011 - * gcc.dg/vect/pr109011-1.c: New test. - -2023-04-19 Prathamesh Kulkarni - - * gcc.target/aarch64/vec-set-zero.c: New test. - -2023-04-19 Kyrylo Tkachov - - PR target/108840 - * gcc.target/aarch64/pr108840.c: New test. - -2023-04-19 Jakub Jelinek - - PR tree-optimization/109524 - * g++.dg/pr109524.C (nn::nn): Change argument type from nn & to - const nn &. - -2023-04-18 Uros Bizjak - - PR target/94908 - * gcc.target/i386/pr94908.c: New test. - * gcc.target/i386/sse4_1-insertps-5.c: New test. - * gcc.target/i386/vperm-v4sf-2-sse4.c: New test. - -2023-04-18 Richard Biener - - * gcc.dg/ipa/ipa-pta-16.c: Use -details for dump. - * gcc.dg/tm/alias-1.c: Likewise. - * gcc.dg/tm/alias-2.c: Likewise. - * gcc.dg/torture/ipa-pta-1.c: Likewise. - * gcc.dg/torture/pr39074-2.c: Likewise. - * gcc.dg/torture/pr39074.c: Likewise. - * gcc.dg/torture/pta-callused-1.c: Likewise. - * gcc.dg/torture/pta-escape-1.c: Likewise. - * gcc.dg/torture/pta-ptrarith-1.c: Likewise. - * gcc.dg/torture/pta-ptrarith-2.c: Likewise. - * gcc.dg/torture/pta-ptrarith-3.c: Likewise. - * gcc.dg/torture/pta-structcopy-1.c: Likewise. - * gcc.dg/torture/ssa-pta-fn-1.c: Likewise. - * gcc.dg/tree-ssa/alias-19.c: Likewise. - * gcc.dg/tree-ssa/pta-callused.c: Likewise. - * gcc.dg/tree-ssa/pta-fp.c: Likewise. - * gcc.dg/tree-ssa/pta-ptrarith-1.c: Likewise. - * gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise. - -2023-04-18 Andrew Stubbs - - * gcc.target/gcn/fpdiv.c: Remove the -ffast-math requirement. - -2023-04-18 Kyrylo Tkachov - - * gcc.target/aarch64/spellcheck_11.c: New test. - -2023-04-18 Kyrylo Tkachov - - * gcc.target/aarch64/ldapr-zext.c: Add test for u8 to u16 - extension. - -2023-04-18 Jin Ma - - * gcc.target/riscv/arch-5.c: Likewise. - -2023-04-18 Jakub Jelinek - - PR tree-optimization/109240 - * gcc.target/aarch64/simd/addsub_2.c: New test. - * gcc.target/aarch64/sve/addsub_2.c: New test. - -2023-04-18 Xi Ruoyao - - * gcc.target/loongarch/add-const.c: New test. - * gcc.target/loongarch/stack-check-cfa-1.c: Adjust for stack - frame size change. - * gcc.target/loongarch/stack-check-cfa-2.c: Likewise. - -2023-04-17 Patrick Palka - - PR c++/109531 - * g++.dg/template/canon-type-20.C: New test. - * g++.dg/template/ttp36.C: New test. - -2023-04-17 Fei Gao - - * gcc.target/riscv/stack_save_restore.c: New test. - -2023-04-17 Palmer Dabbelt - - * gcc.target/riscv/xtheadfmv-fmv.c: Force the ilp32d ABI. - -2023-04-17 Palmer Dabbelt - - * gcc.target/riscv/rvv/rvv.exp (gcc_mabi): New variable. - -2023-04-17 Palmer Dabbelt - - PR target/106602 - * gcc.target/riscv/pr106602.c: Moved to... - * gcc.target/riscv/pr106602-rv64i.c: ...here. - * gcc.target/riscv/pr106602-rv32i.c: New test. - * gcc.target/riscv/pr106602-rv64i_zba.c: New test. - -2023-04-17 Feng Wang - - * gcc.target/riscv/zbb-rol-ror-04.c: New test. - * gcc.target/riscv/zbb-rol-ror-05.c: New test. - * gcc.target/riscv/zbb-rol-ror-06.c: New test. - * gcc.target/riscv/zbb-rol-ror-07.c: New test. - -2023-04-17 Martin Jambor - - PR ipa/107769 - PR ipa/109318 - * gcc.dg/ipa/pr109318.c: New test. - * gcc.dg/lto/pr107769_0.c: Likewise. - -2023-04-17 Philipp Tomsich - Di Zhao - - * gcc.target/aarch64/ampere1-no_ldp_combine.c: New test. - -2023-04-17 Jakub Jelinek - - * gcc.dg/vect/vect-simd-clone-16f.c: Add -mno-avx512f for non-lp64 x86. - * gcc.dg/vect/vect-simd-clone-17f.c: Likewise. - * gcc.dg/vect/vect-simd-clone-18f.c: Likewise. - -2023-04-17 Richard Biener - - PR tree-optimization/109524 - * g++.dg/pr109524.C: New testcase. - -2023-04-17 Jiufu Guo - - PR testsuite/108809 - * gcc.target/powerpc/builtins-5-p9-runnable.c: Update for BE. - -2023-04-17 Kito Cheng - - * gcc.target/riscv/rvv/base/scalar_move-2.c: Adjust include way - for riscv_vector.h - * gcc.target/riscv/rvv/base/spill-sp-adjust.c: Add missing - -mabi. - -2023-04-17 Pan Li - - * gcc.target/riscv/rvv/base/mask_insn_shortcut.c: New test. - -2023-04-16 Jeff Law - - PR target/109508 - * gcc.target/riscv/pr109508.c: New test. - -2023-04-16 Roger Sayle - - PR target/54816 - * gcc.target/avr/pr54816.c: New test case. - -2023-04-15 Jason Merrill - - PR c++/109357 - * g++.dg/cpp2a/constexpr-dtor15.C: New test. - -2023-04-15 Alexandre Oliva - Kewen Lin - - PR target/99708 - * gcc.target/powerpc/pr99708.c: Accept lack of - __SIZEOF_IBM128__ when long double is 64-bit wide. - -2023-04-15 Jason Merrill - - PR c++/109514 - * g++.dg/warn/Wdangling-pointer-6.C: New test. - -2023-04-14 Harald Anlauf - - PR fortran/109511 - * gfortran.dg/set_exponent_1.f90: New test. - -2023-04-14 Richard Biener - - * gcc.dg/vect/vect-simd-clone-16e.c: Revert back to - checking avx_runtime in dump scanning. - * gcc.dg/vect/vect-simd-clone-17e.c: Likewise. - * gcc.dg/vect/vect-simd-clone-18e.c: Likewise. - -2023-04-14 Paul Thomas - - PR fortran/104272 - * gfortran.dg/class_result_8.f90 : Number of builtin_frees down - from 6 to 5 without memory leaks. - * gfortran.dg/finalize_52.f90: New test - -2023-04-14 Richard Biener - - PR tree-optimization/109502 - * gcc.dg/vect/pr109502.c: New testcase. - -2023-04-14 Richard Biener - - * gcc.dg/vect/vect-simd-clone-16e.c: Fix x86 lp64 checking - and add missing avx guard. - * gcc.dg/vect/vect-simd-clone-17e.c: Likewise. - * gcc.dg/vect/vect-simd-clone-18e.c: Likewise. - * gcc.dg/vect/vect-simd-clone-16f.c: Fix x86 lp64 checking. - * gcc.dg/vect/vect-simd-clone-17f.c: Likewise. - * gcc.dg/vect/vect-simd-clone-18f.c: Likewise. - -2023-04-14 Jeff Law - Jakub Jelinek - - PR target/108947 - PR target/109040 - * gcc.dg/pr108947.c: New test. - * gcc.c-torture/execute/pr109040.c: New test. - -2023-04-14 Jiufu Guo - - PR analyzer/108722 - * gcc.dg/analyzer/file-CWE-1341-example.c: Update. - -2023-04-13 Patrick Palka - - PR c++/109420 - * g++.dg/template/typename27.C: New test. - -2023-04-13 Jason Merrill - - PR c++/109277 - * g++.dg/ext/is_convertible5.C: New test. - -2023-04-13 Gaius Mulley - - PR modula2/109497 - PR modula2/109496 - * gm2/pim/run/pass/addcharconst.mod: New test. - * gm2/pim/run/pass/singlechar.mod: New test. - -2023-04-13 Richard Sandiford - - PR target/108910 - * gcc.dg/torture/pr108910.c: New test. - -2023-04-12 Ju-Zhe Zhong - - PR target/109479 - * gcc.target/riscv/rvv/base/pr109479-1.c: New test. - * gcc.target/riscv/rvv/base/pr109479-2.c: New test. - * gcc.target/riscv/rvv/base/pr109479-3.c: New test. - * gcc.target/riscv/rvv/base/pr109479-4.c: New test. - * gcc.target/riscv/rvv/base/pr109479-5.c: New test. - * gcc.target/riscv/rvv/base/pr109479-6.c: New test. - -2023-04-12 Jakub Jelinek - - PR tree-optimization/109410 - * gcc.dg/pr109410.c: New test. - -2023-04-12 Jakub Jelinek - - PR target/109458 - * gcc.target/i386/pr109458.c: New test. - -2023-04-12 Jakub Jelinek - - PR tree-optimization/109462 - * g++.dg/opt/pr109462.C: New test. - -2023-04-12 Andrew MacLeod - - PR tree-optimization/109462 - * gcc.dg/uninit-pr101912.c: XFAIL the warning. - -2023-04-12 Richard Biener - - PR tree-optimization/109473 - * gcc.dg/vect/pr109473.c: New testcase. - -2023-04-12 Harald Anlauf - - PR fortran/104312 - * gfortran.dg/entry_26.f90: New test. - * gfortran.dg/entry_27.f90: New test. - -2023-04-12 Harald Anlauf - - PR fortran/61615 - PR fortran/99982 - * gfortran.dg/interface_49.f90: New test. - -2023-04-12 Richard Biener - - PR tree-optimization/109469 - * gcc.dg/torture/pr109469.c: New testcase. - -2023-04-12 Richard Biener - - PR tree-optimization/109434 - * g++.dg/opt/pr109434.C: New testcase. - -2023-04-12 Kewen Lin - - PR testsuite/108815 - * gcc.target/powerpc/pr83677.c (v_expand_u8, v_expand_u16, - v_load_deinterleave_f32, v_store_interleave_f32): Adjust some code by - considering BE. - -2023-04-11 Lin Sinan - - * gcc.target/riscv/zbs-extra-bit-or-twobits.c: New test. - -2023-04-11 Yanzhang Wang - Pan Li - Ju-Zhe Zhong - Kito Cheng - - PR target/109104 - * gcc.target/riscv/zero-scratch-regs-1.c: New test. - * gcc.target/riscv/zero-scratch-regs-2.c: New test. - * gcc.target/riscv/zero-scratch-regs-3.c: New test. - -2023-04-11 Tobias Burnus - - * gfortran.dg/gomp/affinity-clause-1.f90: Update scan-tree pattern - for -m32. - -2023-04-11 Martin Liska - - PR driver/108241 - * gcc.dg/pr108241.c: New test. - * gcc.dg/pr79570.c: Add also -g option. - -2023-04-11 Andre Vieira - - * gcc.dg/vect/vect-simd-clone-16.c: Make simd clone inbranch only. - * gcc.dg/vect/vect-simd-clone-17.c: Likewise. - * gcc.dg/vect/vect-simd-clone-18.c: Likewise. - -2023-04-11 Haochen Gui - - PR target/108812 - * gcc.target/powerpc/p9-sign_extend-runnable.c: Set corresponding - expected vectors for Big Endian. - * gcc.target/powerpc/int_128bit-runnable.c: Likewise. - -2023-04-10 Michael Meissner - - PR target/70243 - * gcc.target/powerpc/pr70243.c: New test. - -2023-04-10 Haochen Jiang - - * g++.dg/other/i386-2.C: Add -mamx-complex. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/amx-check.h: Add cpu check for AMX-COMPLEX. - * gcc.target/i386/amx-helper.h: Add amx-complex support. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-12.c: Add -mamx-complex. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add amx-complex. - * gcc.target/i386/sse-23.c: Ditto. - * lib/target-supports.exp (check_effective_target_amx_complex): New. - * gcc.target/i386/amxcomplex-asmatt-1.c: New test. - * gcc.target/i386/amxcomplex-asmintel-1.c: Ditto. - * gcc.target/i386/amxcomplex-cmmimfp16ps-2.c: Ditto. - * gcc.target/i386/amxcomplex-cmmrlfp16ps-2.c: Ditto. - -2023-04-08 Jakub Jelinek - - PR tree-optimization/109392 - * gcc.dg/pr109392.c: New test. - -2023-04-08 John David Anglin - - * gcc.dg/pr84877.c: xfail on hppa*-*-*. - -2023-04-08 John David Anglin - - * gcc.dg/long_branch.c: Use timeout factor 2.0 on hppa*-*-*. - -2023-04-08 Paul Thomas - - PR fortran/87477 - PR fortran/85686 - PR fortran/88247 - PR fortran/91941 - PR fortran/92779 - PR fortran/93339 - PR fortran/93813 - PR fortran/100948 - PR fortran/102106 - PR fortran/98408 - PR fortran/105205 - PR fortran/106918 - * gfortran.dg/associate_47.f90 : Enable substring test. - * gfortran.dg/associate_51.f90 : Update an error message. - * gfortran.dg/goacc/array-with-dt-2.f90 : Add span to - uninitialzed dg-warnings. - * gfortran.dg/associate_60.f90 : New test - * gfortran.dg/pr98408.f90 : New test - * gfortran.dg/pr105205.f90 : New test - * gfortran.dg/pr106918.f90 : New test - -2023-04-08 Paul Thomas - - * gfortran.dg/c-interop/allocatable-optional-pointer.f90 : Fix - dg directive and remove trailing whitespace. - * gfortran.dg/c-interop/c407a-1.f90 : ditto - * gfortran.dg/c-interop/c407b-1.f90 : ditto - * gfortran.dg/c-interop/c407b-2.f90 : ditto - * gfortran.dg/c-interop/c407c-1.f90 : ditto - * gfortran.dg/c-interop/c535a-1.f90 : ditto - * gfortran.dg/c-interop/c535a-2.f90 : ditto - * gfortran.dg/c-interop/c535b-1.f90 : ditto - * gfortran.dg/c-interop/c535b-2.f90 : ditto - * gfortran.dg/c-interop/c535b-3.f90 : ditto - * gfortran.dg/c-interop/c535c-1.f90 : ditto - * gfortran.dg/c-interop/c535c-2.f90 : ditto - * gfortran.dg/c-interop/deferred-character-1.f90 : ditto - * gfortran.dg/c-interop/removed-restrictions-1.f90 : ditto - * gfortran.dg/c-interop/removed-restrictions-2.f90 : ditto - * gfortran.dg/c-interop/removed-restrictions-4.f90 : ditto - * gfortran.dg/c-interop/tkr.f90 : ditto - * gfortran.dg/class_result_10.f90 : ditto - * gfortran.dg/dtio_35.f90 : ditto - * gfortran.dg/gomp/affinity-clause-1.f90 : ditto - * gfortran.dg/pr103258.f90 : ditto - * gfortran.dg/pr59107.f90 : ditto - * gfortran.dg/pr93835.f08 : ditto - -2023-04-07 Alexandre Oliva - - * gcc.target/powerpc/ppc-fortran/ppc-fortran.exp: Test for - fortran compiler, skip if missing. - -2023-04-06 Stam Markianos-Wright - - * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-fp.c: Remove unused variables. - * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-int.c: Remove unused variables. - -2023-04-06 Andrew MacLeod - - PR tree-optimization/109417 - * gcc.dg/pr109417.c: New. - -2023-04-06 Owen Avery - - * rust/compile/issue-1422.rs: New test. - -2023-04-06 Philip Herron - - * rust/compile/issue-1361.rs: New test. - -2023-04-06 Thomas Schwinge - - * rust/compile/issue-1830_bytes.rs: Fix up DejaGnu directives. - * rust/compile/issue-1830_str.rs: Likewise. - -2023-04-06 Arthur Cohen - - * rust/compile/empty.in: New test. - * rust/compile/include_empty.rs: New test. - -2023-04-06 Philip Herron - - * rust/compile/torture/traits10.rs: Fix test-case - -2023-04-06 Philip Herron - - * rust/compile/issue-1725-1.rs: New test. - * rust/compile/issue-1725-2.rs: New test. - -2023-04-06 Owen Avery - - * rust/compile/builtin_macro_include_str.rs: - Include test of invalid UTF-8. - * rust/compile/invalid_utf8: File with invalid UTF-8. - -2023-04-06 Owen Avery - - * rust/compile/parse_empty_tuple_pattern.rs: New test. - -2023-04-06 Pierre-Emmanuel Patry - - * rust/compile/issue-1830_bytes.rs: New test. - * rust/compile/issue-1830_str.rs: New test. - -2023-04-06 Owen Avery - - * rust/compile/variadic.rs: New test. - -2023-04-06 Owen Avery - - * rust/execute/torture/overflow1.rs: Fix test. - -2023-04-06 mxlol233 - - * rust/compile/const-issue1440.rs: Add crate feature: `intrinsics`. - * rust/compile/feature_intrinsics.rs: New file. - * rust/compile/issue-1031.rs: Add crate feature: `intrinsics`. - * rust/compile/issue-1130.rs: Add crate feature: `intrinsics`. - * rust/compile/issue-1131.rs: Add crate feature: `intrinsics`. - * rust/compile/issue-1237.rs: Add crate feature: `intrinsics`. - * rust/compile/issue-1289.rs: Add crate feature: `intrinsics`. - * rust/compile/rust-const-blog-issue.rs: Add crate feature: `intrinsics`. - * rust/compile/torture/intrinsics-3.rs: Add crate feature: `intrinsics`. - * rust/compile/torture/intrinsics-4.rs: Add crate feature: `intrinsics`. - * rust/compile/torture/intrinsics-5.rs: Add crate feature: `intrinsics`. - * rust/compile/torture/intrinsics-6.rs: Add crate feature: `intrinsics`. - * rust/compile/torture/intrinsics-7.rs: Add crate feature: `intrinsics`. - * rust/compile/torture/issue-1024.rs: Add crate feature: `intrinsics`. - * rust/compile/torture/issue-1075.rs: Add crate feature: `intrinsics`. - * rust/compile/torture/issue-1432.rs: Add crate feature: `intrinsics`. - * rust/compile/unsafe10.rs: Add crate feature: `intrinsics`. - * rust/execute/torture/atomic_load.rs: Add crate feature: `intrinsics`. - * rust/execute/torture/atomic_store.rs: Add crate feature: `intrinsics`. - * rust/execute/torture/copy_nonoverlapping1.rs: Add crate feature: - `intrinsics`. - * rust/execute/torture/issue-1120.rs: Add crate feature: `intrinsics`. - * rust/execute/torture/issue-1133.rs: Add crate feature: `intrinsics`. - * rust/execute/torture/issue-1232.rs: Add crate feature: `intrinsics`. - * rust/execute/torture/slice-magic.rs: Add crate feature: `intrinsics`. - * rust/execute/torture/slice-magic2.rs: Add crate feature: `intrinsics`. - * rust/execute/torture/str-layout1.rs: Add crate feature: `intrinsics`. - * rust/execute/torture/transmute1.rs: Add crate feature: `intrinsics`. - * rust/execute/torture/wrapping_op1.rs: Add crate feature: `intrinsics`. - * rust/execute/torture/wrapping_op2.rs: Add crate feature: `intrinsics`. - -2023-04-06 Arthur Cohen - - * rust/compile/macro17.rs: Fix testsuite for new recursion errors. - * rust/compile/macro44.rs: Fix invalid testcase assertions. - * rust/compile/builtin_macro_recurse.rs: Fix invalid test. - * rust/compile/builtin_macro_recurse2.rs: New test. - * rust/compile/macro46.rs: New test. - * rust/compile/builtin_macro_eager1.rs: New file. - * rust/compile/builtin_macro_eager2.rs: New file. - -2023-04-06 Owen Avery - - * rust/execute/torture/let-pattern-1.rs: New test. - -2023-04-06 Philip Herron - - * rust/compile/torture/intrinsics-4.rs: implement Copy trait - * rust/compile/torture/intrinsics-5.rs: likewise - * rust/execute/torture/atomic_load.rs: likewise - * rust/execute/torture/atomic_store.rs: likewise - * rust/bounds1.rs: New test. - -2023-04-06 Philip Herron - - * rust/compile/func3.rs: update test case - -2023-04-06 Philip Herron - - * rust/compile/issue-1786.rs: New test. - -2023-04-06 Philip Herron - - * rust/compile/never_type_err1.rs: Moved to... - * rust/compile/never_type1.rs: ...here. It now works - -2023-04-06 Philip Herron - - * rust/compile/issue-1773.rs: New test. - -2023-04-06 Philip Herron - - * rust/execute/torture/issue-1720-2.rs: New test. - -2023-04-06 mxlol233 - - * rust/compile/feature.rs: New test. - -2023-04-06 Arthur Cohen - - * rust/compile/closure_move_expr.rs: New test. - -2023-04-06 Arthur Cohen - - * rust/compile/parse_complex_generic_application.rs: New test. - * rust/compile/parse_complex_generic_application2.rs: New test. - -2023-04-06 Arthur Cohen - - * rust/compile/multi_reference_type.rs: New test. - -2023-04-06 Abdul Rafey - - * rust/compile/issue-867.rs: New test. - -2023-04-06 Lyra - - * rust/compile/macro45.rs: New test. - -2023-04-06 Arthur Cohen - - * rust/execute/torture/builtin_macro_cfg.rs: Handle carriage returns - properly. - * rust/execute/torture/builtin_macro_concat.rs: Likewise. - * rust/execute/torture/builtin_macro_env.rs: Likewise. - * rust/execute/torture/builtin_macro_include_bytes.rs: Likewise. - * rust/execute/torture/builtin_macro_include_str.rs: Likewise. - * rust/execute/torture/builtin_macro_line.rs: Likewise. - * rust/execute/torture/builtin_macros1.rs: Likewise. - * rust/execute/torture/builtin_macros3.rs: Likewise. - * rust/execute/torture/cfg1.rs: Likewise. - * rust/execute/torture/cfg2.rs: Likewise. - * rust/execute/torture/cfg3.rs: Likewise. - * rust/execute/torture/cfg4.rs: Likewise. - * rust/execute/torture/coercion1.rs: Likewise. - * rust/execute/torture/coercion2.rs: Likewise. - * rust/execute/torture/extern_mod4.rs: Likewise. - * rust/execute/torture/helloworld1.rs: Likewise. - * rust/execute/torture/helloworld2.rs: Likewise. - * rust/execute/torture/issue-1198.rs: Likewise. - * rust/execute/torture/issue-1231.rs: Likewise. - * rust/execute/torture/issue-1232.rs: Likewise. - * rust/execute/torture/issue-1249.rs: Likewise. - * rust/execute/torture/issue-1436.rs: Likewise. - * rust/execute/torture/issue-1496.rs: Likewise. - * rust/execute/torture/issue-647.rs: Likewise. - * rust/execute/torture/issue-845.rs: Likewise. - * rust/execute/torture/issue-851.rs: Likewise. - * rust/execute/torture/issue-858.rs: Likewise. - * rust/execute/torture/issue-976.rs: Likewise. - * rust/execute/torture/macros10.rs: Likewise. - * rust/execute/torture/macros11.rs: Likewise. - * rust/execute/torture/macros12.rs: Likewise. - * rust/execute/torture/macros13.rs: Likewise. - * rust/execute/torture/macros14.rs: Likewise. - * rust/execute/torture/macros2.rs: Likewise. - * rust/execute/torture/macros22.rs: Likewise. - * rust/execute/torture/macros29.rs: Likewise. - * rust/execute/torture/macros3.rs: Likewise. - * rust/execute/torture/macros30.rs: Likewise. - * rust/execute/torture/macros31.rs: Likewise. - * rust/execute/torture/macros7.rs: Likewise. - * rust/execute/torture/macros8.rs: Likewise. - * rust/execute/torture/macros9.rs: Likewise. - * rust/execute/torture/match1.rs: Likewise. - * rust/execute/torture/match2.rs: Likewise. - * rust/execute/torture/match3.rs: Likewise. - * rust/execute/torture/match_bool1.rs: Likewise. - * rust/execute/torture/match_byte1.rs: Likewise. - * rust/execute/torture/match_char1.rs: Likewise. - * rust/execute/torture/match_int1.rs: Likewise. - * rust/execute/torture/match_loop1.rs: Likewise. - * rust/execute/torture/match_range1.rs: Likewise. - * rust/execute/torture/match_range2.rs: Likewise. - * rust/execute/torture/match_tuple1.rs: Likewise. - * rust/execute/torture/method1.rs: Likewise. - * rust/execute/torture/method2.rs: Likewise. - * rust/execute/torture/method3.rs: Likewise. - * rust/execute/torture/method4.rs: Likewise. - * rust/execute/torture/operator_overload_1.rs: Likewise. - * rust/execute/torture/operator_overload_10.rs: Likewise. - * rust/execute/torture/operator_overload_11.rs: Likewise. - * rust/execute/torture/operator_overload_12.rs: Likewise. - * rust/execute/torture/operator_overload_2.rs: Likewise. - * rust/execute/torture/operator_overload_4.rs: Likewise. - * rust/execute/torture/operator_overload_5.rs: Likewise. - * rust/execute/torture/operator_overload_6.rs: Likewise. - * rust/execute/torture/operator_overload_7.rs: Likewise. - * rust/execute/torture/operator_overload_8.rs: Likewise. - * rust/execute/torture/operator_overload_9.rs: Likewise. - * rust/execute/torture/str-layout1.rs: Likewise. - * rust/execute/torture/str-zero.rs: Likewise. - * rust/execute/torture/trait1.rs: Likewise. - * rust/execute/torture/trait10.rs: Likewise. - * rust/execute/torture/trait11.rs: Likewise. - * rust/execute/torture/trait12.rs: Likewise. - * rust/execute/torture/trait13.rs: Likewise. - * rust/execute/torture/trait2.rs: Likewise. - * rust/execute/torture/trait3.rs: Likewise. - * rust/execute/torture/trait4.rs: Likewise. - * rust/execute/torture/trait5.rs: Likewise. - * rust/execute/torture/trait6.rs: Likewise. - * rust/execute/torture/trait7.rs: Likewise. - * rust/execute/torture/trait8.rs: Likewise. - * rust/execute/torture/trait9.rs: Likewise. - * rust/execute/torture/closure2.rs: Likewise. - * rust/execute/torture/closure3.rs: Likewise. - * rust/execute/torture/loop-condition-eval.rs: Likewise. - * rust/execute/torture/operator_overload_3.rs: Likewise. - -2023-04-06 mxlol233 - - * rust/compile/diagnostic_underline.rs: New test. - -2023-04-06 Philip Herron - - * rust/compile/bounds.rs: change to use -fsyntax-only - * rust/execute/torture/issue-1720.rs: New test. - -2023-04-06 Raiki Tamura - - * rust/compile/decl_macro1.rs: New test. - * rust/compile/decl_macro2.rs: New test. - * rust/compile/decl_macro3.rs: New test. - * rust/compile/decl_macro4.rs: New test. - * rust/compile/decl_macro5.rs: New test. - * rust/compile/decl_macro6.rs: New test. - * rust/compile/decl_macro7.rs: New test. - * rust/execute/torture/decl_macro1.rs: New test. - * rust/execute/torture/decl_macro2.rs: New test. - * rust/execute/torture/decl_macro3.rs: New test. - * rust/execute/torture/decl_macro4.rs: New test. - -2023-04-06 mxlol233 - - * rust/compile/bounds.rs: New test. - -2023-04-06 Dave - - * rust/compile/const10.rs: New test. - -2023-04-06 Prajwal S N - - * rust/compile/unsafe11.rs: New test. - -2023-04-06 Alexandre Oliva - - * gcc.dg/signbit-2.c: Add -maltivec if supported. - -2023-04-06 Alexandre Oliva - Thomas Schwinge - - PR testsuite/108899 - * g++.dg/modules/modules.exp (unsupported): Drop renaming. - Fix quoting. - -2023-04-05 Gaius Mulley - - PR modula2/109423 - * gm2/pim/fail/setunknown.mod: New test. - * gm2/pim/fail/setunknown2.mod: New test. - -2023-04-05 Jeff Law - - PR target/108892 - * gcc.c-torture/compile/pr108892.c: New test. - -2023-04-05 Martin Jambor - - PR ipa/108959 - * gcc.dg/ipa/pr108959.c: New test. - -2023-04-05 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/bug-23.C: New test. - -2023-04-05 Juzhe-Zhong - - * gcc.target/riscv/rvv/vsetvl/pr109399.c: New test. - -2023-04-04 Harald Anlauf - - PR fortran/104349 - * gfortran.dg/der_charlen_1.f90: Adjust dg-patterns. - * gfortran.dg/pr104349.f90: New test. - -2023-04-04 Jakub Jelinek - - PR tree-optimization/109386 - * gcc.c-torture/execute/ieee/pr109386.c: New test. - -2023-04-04 Marek Polacek - - PR sanitizer/109107 - * c-c++-common/ubsan/pr109107-1.c: New test. - * c-c++-common/ubsan/pr109107-2.c: New test. - * c-c++-common/ubsan/pr109107-3.c: New test. - * c-c++-common/ubsan/pr109107-4.c: New test. - -2023-04-04 Stam Markianos-Wright - - * gcc.target/arm/mve/intrinsics/vcreateq_f16.c: Tighten test. - * gcc.target/arm/mve/intrinsics/vcreateq_f32.c: Tighten test. - * gcc.target/arm/mve/intrinsics/vcreateq_s16.c: Tighten test. - * gcc.target/arm/mve/intrinsics/vcreateq_s32.c: Tighten test. - * gcc.target/arm/mve/intrinsics/vcreateq_s64.c: Tighten test. - * gcc.target/arm/mve/intrinsics/vcreateq_s8.c: Tighten test. - * gcc.target/arm/mve/intrinsics/vcreateq_u16.c: Tighten test. - * gcc.target/arm/mve/intrinsics/vcreateq_u32.c: Tighten test. - * gcc.target/arm/mve/intrinsics/vcreateq_u64.c: Tighten test. - * gcc.target/arm/mve/intrinsics/vcreateq_u8.c: Tighten test. - -2023-04-04 Jakub Jelinek - - PR target/109384 - * gcc.target/riscv/arch-19.c: Expect a different message about zfinx - vs. f conflict. - -2023-04-04 Richard Biener - - PR tree-optimization/109304 - * gcc.dg/pr109304.c: New testcase. - -2023-04-04 Kewen Lin - - PR target/108699 - * gcc.target/powerpc/p9-vparity.c: Add scan-assembler-not for vpopcntb - to distinguish parity byte from parity. - * gcc.target/powerpc/pr108699.c: New test. - -2023-04-04 Jason Merrill - - PR c++/107484 - * g++.dg/lookup/friend25.C: New test. - -2023-04-03 Patrick Palka - - PR c++/109300 - * g++.dg/cpp1y/var-templ79.C: New test. - -2023-04-03 Jakub Jelinek - Martin Jambor - - PR ipa/109303 - * gcc.dg/pr109303.c: New test. - -2023-04-03 Haochen Gui - - PR target/102146 - * gcc.target/powerpc/pr56605.c: Modify the match pattern for dump - scan. - -2023-04-02 John David Anglin - - PR target/109375 - * gnat.dg/opt39.adb: Add hppa*-*-* to dg-additional-options list. - -2023-04-02 John David Anglin - - PR target/109376 - * gnat.dg/prot7.adb: Skip on hppa. - -2023-04-02 Juzhe-Zhong - kito-cheng - - * g++.target/riscv/rvv/base/bug-19.C: New test. - * g++.target/riscv/rvv/base/bug-20.C: New test. - * g++.target/riscv/rvv/base/bug-21.C: New test. - * g++.target/riscv/rvv/base/bug-22.C: New test. - -2023-04-02 Juzhe-Zhong - - * gcc.target/riscv/rvv/base/scalar_move-6.c: Adapt test. - * gcc.target/riscv/rvv/base/scalar_move-9.c: New test. - -2023-04-01 Patrick Palka - - PR c++/109160 - * g++.dg/cpp2a/concepts-placeholder12.C: New test. - -2023-04-01 Patrick Palka - - PR c++/53164 - PR c++/105848 - * g++.dg/template/fn-ptr3a.C: New test. - * g++.dg/template/fn-ptr3b.C: New test. - * g++.dg/template/fn-ptr4.C: New test. - -2023-04-01 Jakub Jelinek - - * gcc.dg/torture/inf-compare-1.c: Add dg-additional-options - -fno-tree-dominator-opts -fno-tree-vrp. - * gcc.dg/torture/inf-compare-1-float.c: Likewise. - * gcc.dg/torture/inf-compare-2.c: Likewise. - * gcc.dg/torture/inf-compare-2-float.c: Likewise. - -2023-04-01 Jakub Jelinek - - PR tree-optimization/109362 - * gcc.target/i386/pr109362.c: New test. - -2023-04-01 Jakub Jelinek - Richard Sandiford - - PR target/109254 - * gcc.target/aarch64/sve/pr109254.c: New test. - -2023-03-31 Jakub Jelinek - - PR analyzer/107396 - * gcc.dg/analyzer/pipe-glibc.c (read_from_pie, write_to_pipe): Exit - if fdopen returns NULL. - -2023-03-31 Andrew MacLeod - - * g++.dg/warn/Wstringop-overflow-4.C: Always check bogus message. - * gcc.dg/tree-ssa/pr23109.c: Disable better recomputations. - -2023-03-31 Vladimir N. Makarov - - * gcc.target/i386/pr109052-2.c: New. - -2023-03-31 Jakub Jelinek - - PR tree-optimization/91645 - * gcc.target/i386/pr103559-1.c: New test. - * gcc.target/i386/pr103559-2.c: New test. - * gcc.target/i386/pr103559-3.c: New test. - * gcc.target/i386/pr103559-4.c: New test. - -2023-03-31 Jonathan Yong <10walls@gmail.com> - - * c-c++-common/Warray-bounds.c: Fix excess warnings on - LLP64. - -2023-03-31 liuhongt - - * g++.target/i386/pr85048.C: New test. - -2023-03-30 Jason Merrill - - PR c++/105452 - * g++.dg/lookup/anon8.C: New test. - -2023-03-30 Jason Merrill - - PR c++/105221 - * g++.dg/cpp1z/noexcept-type27.C: New test. - -2023-03-30 Jakub Jelinek - - PR c++/109319 - * g++.dg/cpp23/subscript14.C: New test. - -2023-03-30 Andrew MacLeod - - PR tree-optimization/109154 - * gcc.dg/Walloca-13.c: Remove bogus warning that is now fixed. - -2023-03-30 Jason Merrill - - PR c++/107897 - PR c++/108887 - * g++.dg/cpp2a/concepts-lambda3.C: Use -flto if supported. - * g++.dg/cpp0x/lambda/lambda-mangle7.C: New test. - -2023-03-30 Richard Biener - - PR tree-optimization/107561 - * g++.dg/pr71488.C: Remove XFAILed bogus diagnostic again. - * g++.dg/warn/Warray-bounds-16.C: Likewise. - -2023-03-30 Richard Biener - - PR tree-optimization/109342 - * g++.dg/torture/pr109342.C: New testcase. - -2023-03-30 Jakub Jelinek - - PR c++/109278 - * g++.dg/cpp23/ext-floating15.C: New test. - -2023-03-30 liuhongt - - * gcc.target/i386/pr88828-0.c: Adjust testcase. - -2023-03-29 Gaius Mulley - - PR modula2/109336 - * gm2/link/nondefaultext/pass/hello.md: New test. - * gm2/link/nondefaultext/pass/liba.dm: New test. - * gm2/link/nondefaultext/pass/liba.md: New test. - * gm2/link/nondefaultext/pass/link-nondefaultext-pass.exp: New test. - -2023-03-29 Jiawei - - * gcc.target/riscv/arch-19.c: New test. - -2023-03-29 Richard Biener - - PR tree-optimization/109331 - * gcc.dg/torture/pr109331.c: New testcase. - -2023-03-29 Richard Biener - - * g++.dg/pr94920.C: Scan forwprop1 instead of optimized. - -2023-03-29 Richard Biener - - PR tree-optimization/109327 - * gcc.dg/pr109327.c: New testcase. - -2023-03-29 Richard Biener - - PR ipa/106124 - * g++.dg/gomp/pr106124.C: New testcase. - -2023-03-29 Jakub Jelinek - Richard Biener - - PR tree-optimization/109301 - * gcc.dg/pr109301.c: New test. - -2023-03-29 Jason Merrill - - PR c++/109321 - PR c++/109320 - * g++.dg/cpp2a/class-deduction-alias16.C: New test. - * g++.dg/cpp2a/class-deduction-alias17.C: New test. - -2023-03-28 Thomas Schwinge - - * gfortran.dg/weak-2.f90: Enable for nvptx target. - -2023-03-28 David Malcolm - - PR c/107002 - * c-c++-common/Wxor-used-as-pow-1.c: Add macro test. - * c-c++-common/Wxor-used-as-pow-pr107002-0.c: New test. - * c-c++-common/Wxor-used-as-pow-pr107002-1.c: New test. - * c-c++-common/Wxor-used-as-pow-pr107002-2.c: New test. - -2023-03-28 Jason Merrill - - PR c++/107163 - * g++.dg/warn/Wsequence-point-5.C: New test. - -2023-03-28 Kito Cheng - - PR target/109312 - * gcc.target/riscv/predef-__riscv_v_intrinsic.c: New test. - -2023-03-28 Alexander Monakov - - PR rtl-optimization/109187 - * gcc.dg/pr109187.c: New test. - -2023-03-28 Andrew MacLeod - - PR tree-optimization/109265 - PR tree-optimization/109274 - * gcc.dg/pr109274.c: New. - * gfortran.dg/pr109265.f90: New. - -2023-03-28 Richard Biener - - PR tree-optimization/107087 - * g++.dg/pr107087.C: New testcase. - -2023-03-28 Richard Sandiford - - PR target/109072 - * gcc.target/aarch64/pr109072_1.c: New test. - * gcc.target/aarch64/pr109072_2.c: Likewise. - -2023-03-28 Jakub Jelinek - - PR middle-end/106190 - * gcc.dg/asan/pr106190.c: New test. - -2023-03-28 Eric Botcazou - - * gcc.target/sparc/20230328-1.c: New test. - * gcc.target/sparc/20230328-2.c: Likewise. - * gcc.target/sparc/20230328-3.c: Likewise. - * gcc.target/sparc/20230328-4.c: Likewise. - -2023-03-28 Jakub Jelinek - - PR target/109276 - * gcc.target/i386/pr109276.c: New test. - -2023-03-28 Eric Botcazou - - * gcc.target/sparc/20230328-1.c: New test. - * gcc.target/sparc/20230328-2.c: Likewise. - * gcc.target/sparc/20230328-3.c: Likewise. - * gcc.target/sparc/20230328-4.c: Likewise. - -2023-03-28 Rainer Orth - - * lib/target-supports.exp (add_options_for_weak_undefined): Escape - brackets. - * gcc.dg/visibility-22.c: Add weak_undefined options. - -2023-03-27 Richard Biener - - PR tree-optimization/54498 - * g++.dg/torture/pr54498.C: New testcase. - -2023-03-27 Richard Biener - - PR tree-optimization/108357 - * gcc.dg/tree-ssa/pr108357.c: New testcase. - -2023-03-27 Martin Liska - - * lib/verify-sarif-file.py: Use apostrophes instead - of double quotes. - -2023-03-27 Kewen Lin - - PR target/109167 - * gcc.target/powerpc/pr109167.c: New test. - -2023-03-27 Kewen Lin - - PR target/109082 - * gcc.target/powerpc/pr109082.c: New test. - -2023-03-26 Andreas Schwab - - PR target/106282 - * gcc.target/m68k/tls-gd-off.c: New. - * gcc.target/m68k/tls-ie-off.c: New. - * gcc.target/m68k/tls-ld-off.c: New. - * gcc.target/m68k/tls-ld-xtls-off.c: New. - * gcc.target/m68k/tls-le-off.c: New. - * gcc.target/m68k/tls-le-xtls-off.c: New. - * gcc.target/m68k/tls-ld.c: Make pattern less strict. - * gcc.target/m68k/tls-le.c: Likewise. - -2023-03-26 Jakub Jelinek - - PR tree-optimization/109230 - * gcc.dg/pr109230.c: New test. - -2023-03-26 Jakub Jelinek - - PR ipa/105685 - * c-c++-common/cold-2.c: New test. - -2023-03-25 David Malcolm - - PR analyzer/109098 - * c-c++-common/diagnostic-format-sarif-file-1.c: Add - verify-sarif-file directive. - * c-c++-common/diagnostic-format-sarif-file-2.c: Likewise. - * c-c++-common/diagnostic-format-sarif-file-3.c: Likewise. - * c-c++-common/diagnostic-format-sarif-file-4.c: Likewise. - * c-c++-common/diagnostic-format-sarif-file-Wbidi-chars.c: New - test case, adapted from Wbidi-chars-1.c. - * c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-1.c: - New test case. - * c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-2.c: - New test case. - * c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-3.c: - New test case, adapted from cpp/Winvalid-utf8-1.c. - * c-c++-common/diagnostic-format-sarif-file-valid-CP850.c: New - test case, adapted from gcc.dg/diagnostic-input-charset-1.c. - * gcc.dg/plugin/crash-test-ice-sarif.c: Add verify-sarif-file - directive. - * gcc.dg/plugin/crash-test-write-though-null-sarif.c: Likewise. - * gcc.dg/plugin/diagnostic-test-paths-5.c: Likewise. - * lib/scansarif.exp (verify-sarif-file): New procedure. - * lib/verify-sarif-file.py: New support script. - -2023-03-24 Patrick Palka - - PR c++/106969 - * g++.dg/lookup/name-clash11.C: Fix ASSERT macro definition in - C++98 mode. - * g++.dg/lookup/this2.C: New test. - -2023-03-24 Jason Merrill - - PR c++/105481 - * g++.dg/cpp0x/fntmpdefarg-partial1.C: New test. - -2023-03-24 David Malcolm - - PR other/109163 - * c-c++-common/diagnostic-format-json-1.c: Update comment. - * 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: Rewrite regexps. - * c-c++-common/diagnostic-format-json-stderr-1.c: Update comment. - -2023-03-24 Andrew MacLeod - - PR tree-optimization/109238 - * gcc.dg/pr109238.c: New. - -2023-03-24 Richard Biener - - PR tree-optimization/106912 - * gcc.dg/profile-generate-4.c: New testcase. - -2023-03-24 Gaius Mulley - - * gm2/projects/iso/small/run/pass/iso-extended-opaque-run-pass.exp: - Compile object for stressset.mod and testlib.mod. Add test so - that we only link these objects with test application objects. - -2023-03-24 Jakub Jelinek - - PR target/109137 - * gcc.target/i386/pr109137.c: Remove -m32 from dg-options, instead - require ia32 effective target. Only add -fPIC for fpic effective - target. Remove #include , use __builtin_memset instead of - memset. - -2023-03-24 Jakub Jelinek - - PR tree-optimization/99739 - * gcc.dg/tree-ssa/pr99739.c: New test. - -2023-03-24 Alexandre Oliva - - * lib/target-supports.exp (add_options_for_weak_undefined): - New. - (check_effective_target_weak_undefined): Use it. - (check_effective_target_posix_memalign): New. - * gcc.dg/torture/pr53922.c: Drop skips and custom options in - favor of effective target requirement and added options for - weak_undefined symbols. - * gcc.dg/torture/pr90020.c: Likewise. - * gcc.dg/addr_equal-1.c: Likewise. - * gcc.target/aarch64/aapcs64/aapcs64.exp: Likewise, for - abitest.S-using tests. - * gcc.dg/torture/pr60092.c: Likewise, but in favor of - posix_memalign tests. - * gcc.dg/vect/vect-tail-nomask-1.c: Likewise. - -2023-03-24 Haochen Gui - Tobias Burnus - - PR target/103628 - * gfortran.dg/assumed_size_refs_2.f90: Check "Cannot simplify - expression" error. - * gfortran.dg/unpack_field_1.f90: Likewise. - * gfortran.dg/pr103628.f90: New. - -2023-03-23 Jason Merrill - - PR c++/105996 - * g++.dg/cpp0x/constexpr-pmf3.C: New test. - -2023-03-23 Hans-Peter Nilsson - - * gcc.dg/tree-ssa/ssa-fre-100.c: XFAIL for ! natural_alignment_32. - -2023-03-23 Hans-Peter Nilsson - - * gcc.dg/tree-ssa/pr100359.c: Compile-only for ! natural_alignment_32. - -2023-03-23 Pat Haugen - - * gcc.target/powerpc/mod-no_copy.c: New. - * gcc.target/powerpc/mod-peephole.c: New. - -2023-03-23 Andrew Pinski - - PR c/84900 - * gcc.dg/compound-literal-cast-lvalue-1.c: New test. - -2023-03-23 Gaius Mulley - - PR modula2/109264 - * gm2/iso/extended-opaque/pass/iso-extended-opaque-pass.exp: - New test. - * gm2/iso/extended-opaque/pass/stressset.def: New test. - * gm2/iso/extended-opaque/pass/stressset.mod: New test. - * gm2/iso/extended-opaque/pass/testset.mod: New test. - * gm2/projects/iso/small/run/pass/iso-extended-opaque-run-pass.exp: - New test. - * gm2/projects/iso/small/run/pass/stressset.def: New test. - * gm2/projects/iso/small/run/pass/stressset.mod: New test. - * gm2/projects/iso/small/run/pass/test1.mod: New test. - * gm2/projects/iso/small/run/pass/testlib.def: New test. - * gm2/projects/iso/small/run/pass/testlib.mod: New test. - * gm2/projects/iso/small/run/pass/testset.mod: New test. - -2023-03-23 Richard Biener - - PR tree-optimization/107569 - * g++.dg/opt/pr107569.C: New testcase. - -2023-03-23 Richard Biener - - PR tree-optimization/109262 - * g++.dg/torture/pr109262.C: New testcase. - -2023-03-23 Eric Botcazou - - * gnat.dg/div_zero.adb: Skip for aarch64*-*-* targets. - -2023-03-23 Marek Polacek - - PR c++/107532 - * g++.dg/warn/Wdangling-reference11.C: New test. - * g++.dg/warn/Wdangling-reference12.C: New test. - -2023-03-23 Jakub Jelinek - - PR tree-optimization/109176 - * gcc.target/aarch64/sve/pr109176.c: New test. - -2023-03-23 Pan Li - Ju-Zhe Zhong - - PR target/108654 - PR target/108185 - * gcc.target/riscv/rvv/base/pr108185-1.c: Update. - * gcc.target/riscv/rvv/base/pr108185-2.c: Ditto. - * gcc.target/riscv/rvv/base/pr108185-3.c: Ditto. - -2023-03-23 Jason Merrill - - PR c++/109241 - * g++.dg/cpp1y/lambda-generic-local-class2.C: New test. - -2023-03-23 Ju-Zhe Zhong - - PR target/109244 - * g++.target/riscv/rvv/base/pr109244.C: New test. - * gcc.target/riscv/rvv/base/binop_vv_constraint-4.c: Adapt testcase. - * gcc.target/riscv/rvv/base/binop_vv_constraint-6.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-127.c: Ditto. - * gcc.target/riscv/rvv/base/spill-1.c: Ditto. - * gcc.target/riscv/rvv/base/spill-2.c: Ditto. - * gcc.target/riscv/rvv/base/spill-3.c: Ditto. - * gcc.target/riscv/rvv/base/spill-5.c: Ditto. - * gcc.target/riscv/rvv/base/spill-7.c: Ditto. - * g++.target/riscv/rvv/base/bug-18.C: New test. - * gcc.target/riscv/rvv/base/merge_constraint-3.c: New test. - * gcc.target/riscv/rvv/base/merge_constraint-4.c: New test. - -2023-03-23 Ju-Zhe Zhong - - PR target/109228 - * gcc.target/riscv/rvv/base/vlenb-1.c: New test. - -2023-03-23 Ju-Zhe Zhong - kito-cheng - - * g++.target/riscv/rvv/base/bug-10.C: New test. - * g++.target/riscv/rvv/base/bug-11.C: New test. - * g++.target/riscv/rvv/base/bug-12.C: New test. - * g++.target/riscv/rvv/base/bug-13.C: New test. - * g++.target/riscv/rvv/base/bug-14.C: New test. - * g++.target/riscv/rvv/base/bug-15.C: New test. - * g++.target/riscv/rvv/base/bug-16.C: New test. - * g++.target/riscv/rvv/base/bug-17.C: New test. - * g++.target/riscv/rvv/base/bug-2.C: New test. - * g++.target/riscv/rvv/base/bug-3.C: New test. - * g++.target/riscv/rvv/base/bug-4.C: New test. - * g++.target/riscv/rvv/base/bug-5.C: New test. - * g++.target/riscv/rvv/base/bug-6.C: New test. - * g++.target/riscv/rvv/base/bug-7.C: New test. - * g++.target/riscv/rvv/base/bug-8.C: New test. - * g++.target/riscv/rvv/base/bug-9.C: New test. - -2023-03-23 Ju-Zhe Zhong - kito-cheng - - * gcc.target/riscv/rvv/base/bug-3.c: New test. - * gcc.target/riscv/rvv/base/bug-4.c: New test. - * gcc.target/riscv/rvv/base/bug-5.c: New test. - -2023-03-23 Kito Cheng - - * lib/target-supports.exp (check_effective_target_riscv_vector): - New. - -2023-03-22 David Malcolm - - PR testsuite/105959 - * gcc.dg-selftests/dg-final.exp - (dg_final_directive_check_num_args): Update expected maximum - number of args for the various directives using dg-scan. - * lib/scanasm.exp (append_encoding_arg): New procedure. - (dg-scan): Add optional 3rd argument: the encoding to use when - reading from the file. - * lib/scansarif.exp (scan-sarif-file): Treat the file as UTF-8 - encoded when reading it. - (scan-sarif-file-not): Likewise. - -2023-03-22 Jason Merrill - - PR c++/108390 - * g++.dg/template/partial-order3.C: New test. - -2023-03-22 Harald Anlauf - Steven G. Kargl - - PR fortran/104572 - * gfortran.dg/pr104572.f90: New test. - -2023-03-22 Vladimir N. Makarov - - * gcc.target/i386/pr109137.c: New. - -2023-03-22 Jason Merrill - - PR c++/108795 - * g++.dg/ext/attr-tsafe1.C: New test. - -2023-03-22 Alex Coplan - - PR c++/109177 - * g++.dg/ext/pr109177.C: New test. - -2023-03-22 David Malcolm - - PR analyzer/109239 - * gcc.dg/analyzer/deref-before-check-pr109239-linux-bus.c: New test. - -2023-03-22 Andrew Jenner - - * gcc.target/gcn/complex.c: New test. - -2023-03-21 Harald Anlauf - - PR fortran/99036 - * gfortran.dg/pr99036.f90: New test. - -2023-03-21 Jason Merrill - - PR c++/106890 - * g++.dg/cpp0x/nsdmi-template25.C: New test. - -2023-03-21 Richard Biener - - PR tree-optimization/109219 - * gcc.dg/torture/pr109219.c: New testcase. - -2023-03-21 Jakub Jelinek - - PR testsuite/108898 - * gcc.dg/vect/vect-simd-clone-16.c: Remove parts of comment mentioning - epilogue loops. - * gcc.dg/vect/vect-simd-clone-17.c: Likewise. - * gcc.dg/vect/vect-simd-clone-18.c: Likewise. - -2023-03-21 Jakub Jelinek - - PR testsuite/108898 - * gcc.dg/vect/vect-simd-clone-16.c: Add --param vect-epilogues-nomask=0 - to dg-additional-options. Always expect just 2 foo.simdclone calls. - * gcc.dg/vect/vect-simd-clone-16f.c: Add - --param vect-epilogues-nomask=0 to dg-additional-options. - * gcc.dg/vect/vect-simd-clone-17.c: Likewise. Always expect just 2 - foo.simdclone calls. - * gcc.dg/vect/vect-simd-clone-17d.c: Remove -fdump-tree-optimized from - dg-additional-options. - * gcc.dg/vect/vect-simd-clone-17e.c: Likewise. - * gcc.dg/vect/vect-simd-clone-17f.c: Likewise. Add - --param vect-epilogues-nomask=0 to dg-additional-options. - * gcc.dg/vect/vect-simd-clone-18.c: Add --param vect-epilogues-nomask=0 - to dg-additional-options. Always expect just 2 foo.simdclone calls. - * gcc.dg/vect/vect-simd-clone-18f.c: Add - --param vect-epilogues-nomask=0 to dg-additional-options. - -2023-03-21 Jakub Jelinek - - PR tree-optimization/109215 - * gcc.dg/Wzero-length-array-bounds-3.c: New test. - -2023-03-21 Richard Biener - - PR tree-optimization/109170 - * gcc.dg/Wuse-after-free-pr109170.c: New testcase. - * gcc.dg/tree-ssa/ssa-lim-21.c: Adjust. - * gcc.dg/predict-20.c: Likewise. - -2023-03-21 Paul Thomas - - PR fortran/109209 - * gfortran.dg/pr109209.f90: New test. - -2023-03-20 Marek Polacek - - PR c++/109159 - * g++.dg/cpp0x/explicit16.C: New test. - -2023-03-20 Jakub Jelinek - - PR c++/109164 - * g++.dg/tls/thread_local13.C: New test. - * g++.dg/tls/thread_local13-aux.cc: New file. - * g++.dg/tls/thread_local14.C: New test. - * g++.dg/tls/thread_local14-aux.cc: New file. - -2023-03-20 Michael Meissner - - PR target/109067 - * gcc.target/powerpc/divic3-1.c: New test. - * gcc.target/powerpc/divic3-2.c: Likewise. - * gcc.target/powerpc/mulic3-1.c: Likewise. - * gcc.target/powerpc/mulic3-2.c: Likewise. - -2023-03-20 Harald Anlauf - - PR fortran/109186 - * gfortran.dg/nearest_6.f90: New test. - -2023-03-20 Peter Bergner - - PR target/109178 - * gcc.target/powerpc/pr109178.c: New test. - -2023-03-20 Jakub Jelinek - - * g++.dg/torture/20230313.C (auto_vec): Change m_data type - from char to char [2 * sizeof (int)]. - -2023-03-20 Paul Thomas - - PR fortran/87127 - * gfortran.dg/external_procedures_4.f90: New test. - -2023-03-19 Harald Anlauf - - PR fortran/85877 - * gfortran.dg/pr85877.f90: New test. - -2023-03-19 Xin Liu - - * gcc.target/mips/mips.exp (mips-dg-options): Disable micromips - for MSA tests. - -2023-03-18 David Malcolm - - PR analyzer/109094 - * gcc.dg/analyzer/setjmp-pr109094.c: New test. - -2023-03-18 Paul Thomas - - PR fortran/64290 - PR fortran/67444 - PR fortran/67471 - PR fortran/69298 - PR fortran/70863 - PR fortran/71798 - PR fortran/80524 - PR fortran/82996 - PR fortran/84472 - PR fortran/88735 - PR fortran/93691 - PR fortran/91316 - PR fortran/106576 - PR fortran/37336 - * gfortran.dg/finalize_38.f90 : New test. - * gfortran.dg/finalize_38a.f90 : New test. - * gfortran.dg/allocate_with_source_25.f90 : The number of final - calls goes down from 6 to 4. - * gfortran.dg/associate_25.f90 : Remove the incorrect comment. - * gfortran.dg/auto_dealloc_2.f90 : Change the tree dump expr - but the final count remains the same. - * gfortran.dg/unlimited_polymorphic_8.f90 : Tree dump reveals - foo.1.x rather than foo.0.x - * gfortran.dg/finalize_39.f90 : New test. - * gfortran.dg/finalize_40.f90 : New test. - * gfortran.dg/finalize_41.f90 : New test. - * gfortran.dg/finalize_42.f90 : New test. - * gfortran.dg/finalize_43.f90 : New test. - * gfortran.dg/finalize_44.f90 : New test. - * gfortran.dg/finalize_45.f90 : New test. - * gfortran.dg/finalize_46.f90 : New test. - * gfortran.dg/finalize_47.f90 : New test. - * gfortran.dg/finalize_48.f90 : New test. - * gfortran.dg/finalize_49.f90 : New test. - * gfortran.dg/finalize_50.f90 : New test. - * gfortran.dg/finalize_51.f90 : New test. - -2023-03-17 Hans-Peter Nilsson - - * gcc.dg/plugin/infoleak-2.c, - gcc.dg/plugin/infoleak-CVE-2011-1078-1.c, - gcc.dg/plugin/infoleak-CVE-2011-1078-2.c, - gcc.dg/plugin/infoleak-CVE-2017-18549-1.c, - gcc.dg/plugin/infoleak-CVE-2017-18550-1.c, - gcc.dg/plugin/infoleak-antipatterns-1.c, - gcc.dg/plugin/infoleak-fixit-1.c: Skip for default_packed targets. - -2023-03-17 Jason Merrill - - PR c++/108975 - * g++.dg/cpp0x/lambda/lambda-const11.C: New test. - -2023-03-17 Jason Merrill - - PR c++/109172 - * g++.dg/eh/dtor4.C: New test. - -2023-03-17 Jason Merrill - - PR c++/69410 - * g++.dg/lookup/friend24.C: New test. - -2023-03-17 Jakub Jelinek - - PR target/105554 - * gcc.target/i386/pr105554.c: New test. - -2023-03-17 Jakub Jelinek - - PR c/109151 - * c-c++-common/ubsan/div-by-zero-8.c: New test. - -2023-03-17 Vladimir N. Makarov - - * gcc.target/i386/pr109052.c: New. - -2023-03-17 Ju-Zhe Zhong - kito-cheng - - * gcc.target/riscv/rvv/base/binop_vv_constraint-4.c: Adapt the test. - * gcc.target/riscv/rvv/base/binop_vv_constraint-6.c: Ditto. - * gcc.target/riscv/rvv/base/binop_vx_constraint-127.c: Ditto. - * g++.target/riscv/rvv/base/bug-1.C: New test. - * gcc.target/riscv/rvv/base/bug-2.c: New test. - -2023-03-17 Jakub Jelinek - - PR testsuite/109145 - * gcc.dg/tree-ssa/forwprop-39.c: Remove -std=c11 from dg-options. - Don't include complex.h. - (foo): Use __builtin_complex rather than CMPLXF. - -2023-03-17 Jakub Jelinek - - PR middle-end/108685 - * c-c++-common/gomp/doacross-8.c: New test. - -2023-03-16 Jason Merrill - - PR c++/105809 - * g++.dg/cpp0x/constexpr-__func__3.C: New test. - -2023-03-16 Jason Merrill - - PR c++/108242 - * g++.dg/cpp1y/lambda-generic-func2.C: New test. - -2023-03-16 Jason Merrill - - PR c++/101869 - * g++.dg/cpp0x/enum43.C: New test. - -2023-03-16 Gaius Mulley - - * gm2/types/run/pass/d.c: Add missing include . - -2023-03-16 Gaius Mulley - - PR modula2/109125 - * gm2/types/run/pass/d.c: Convert data structure from - BOOLEAN int to bool and cast int to bool in test function. - -2023-03-16 Gaius Mulley - - * gm2/complex/pass/arith3.mod: Halt parameters reordered. - * gm2/complex/run/pass/arith3.mod: Ditto. - * gm2/complex/run/pass/arith4.mod: Ditto. - * gm2/complex/run/pass/arith5.mod: Ditto. - * gm2/isolib/run/pass/real2.mod: Ditto. - * gm2/isolib/run/pass/real3.mod: Ditto. - * gm2/isolib/run/pass/realconv.mod: Ditto. - * gm2/isolib/run/pass/realconv2.mod: Ditto. - * gm2/pim/pass/testshort.mod: Ditto. - * gm2/projects/pim/run/pass/tower/AdvSystem.mod: Ditto. - * gm2/projects/pim/run/pass/tower/DrawL.mod: Ditto. - * gm2/warnings/returntype/pass/Termbase.mod: Ditto. - * gm2/warnings/returntype/pass/keypressedsimple.mod: Ditto. - -2023-03-16 Patrick Palka - - PR c++/109030 - * g++.dg/cpp2a/constexpr-inst2.C: New test. - -2023-03-16 Patrick Palka - - PR c++/100288 - * g++.dg/cpp2a/concepts-recursive-sat5.C: New test. - -2023-03-16 Iain Buclaw - - * gdc.dg/torture/simd23084.d: New test. - * gdc.dg/torture/simd23085.d: New test. - * gdc.dg/torture/simd23218.d: New test. - -2023-03-16 Martin Liska - - PR middle-end/106133 - * c-c++-common/pr106133.c: New test. - -2023-03-16 Alexandre Oliva - - * gcc.dg/vect/pr103116-2.c (x): Fix array size. - -2023-03-16 Jason Merrill - - PR c++/105406 - * g++.dg/coroutines/co-await-moveonly1.C: New test. - -2023-03-16 Iain Buclaw - - PR d/109144 - * gdc.dg/torture/pr109144.d: New test. - -2023-03-16 Richard Biener - - PR tree-optimization/109123 - * gcc.dg/Wuse-after-free-pr109123.c: New testcase. - * gcc.dg/Wuse-after-free-2.c: Amend expected diagnostic with - the name of the pointer. - * c-c++-common/Wuse-after-free-6.c: Un-XFAIL case. - -2023-03-15 Jason Merrill - - PR c++/103871 - PR c++/98056 - * g++.dg/coroutines/co-await-initlist1.C: New test. - -2023-03-15 David Malcolm - - PR analyzer/109097 - * c-c++-common/diagnostic-format-sarif-file-1.c: Verify that we - have an invocation object marked as succeeding, with no - notifications. - * gcc.dg/plugin/crash-test-ice-sarif.c: New test. - * gcc.dg/plugin/crash-test-ice-stderr.c: New test. - * gcc.dg/plugin/crash-test-write-though-null-sarif.c: New test. - * gcc.dg/plugin/crash-test-write-though-null-stderr.c: New test. - * gcc.dg/plugin/crash_test_plugin.c: New plugin. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the new plugin - and test cases. - -2023-03-15 Uros Bizjak - - * gcc.target/i386/merge-1.c (dg-options): Use -mno-sse4. - * gcc.target/i386/sse2-mmx-21.c (dg-options): Ditto. - * gcc.target/i386/sse-movss-4.c (dg-options): - Use -mno-sse4. Simplify scan-assembler-not strings. - * gcc.target/i386/sse2-movsd-3.c (dg-options): Ditto. - * gcc.target/i386/sse2-mmx-movss-1.c: New test. - -2023-03-15 Harald Anlauf - Tobias Burnus - - PR fortran/58331 - * gfortran.dg/class_dummy_10.f90: New test. - -2023-03-15 Marek Polacek - - PR c++/107280 - * g++.dg/cpp1z/constexpr-lambda28.C: New test. - -2023-03-15 Richard Biener - - * g++.dg/warn/Wuse-after-free3.C: Remove expected duplicate - diagnostic. - -2023-03-15 Jason Merrill - - PR c++/58538 - * g++.dg/template/ttp7.C: Remove expected error. - -2023-03-15 Jason Merrill - - PR c++/108179 - PR c++/104107 - PR c++/95036 - * g++.dg/template/ttp35.C: New test. - -2023-03-15 Richard Biener - - PR tree-optimization/109139 - * gcc.dg/torture/pr109139.c: New testcase. - -2023-03-15 Christoph Müllner - - * gcc.target/riscv/xtheadmempair-1.c: New test. - * gcc.target/riscv/xtheadmempair-2.c: New test. - * gcc.target/riscv/xtheadmempair-3.c: New test. - -2023-03-15 Christoph Müllner - - * gcc.target/riscv/xtheadfmv-fmv.c: New test. - -2023-03-15 Christoph Müllner - - * gcc.target/riscv/xtheadmac-mula-muls.c: New test. - -2023-03-15 Christoph Müllner - - * gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c: New test. - * gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c: New test. - * gcc.target/riscv/xtheadcondmov-mveqz-reg-eqz.c: New test. - * gcc.target/riscv/xtheadcondmov-mveqz-reg-not.c: New test. - * gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c: New test. - * gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c: New test. - * gcc.target/riscv/xtheadcondmov-mvnez-reg-cond.c: New test. - * gcc.target/riscv/xtheadcondmov-mvnez-reg-nez.c: New test. - -2023-03-15 Christoph Müllner - - * gcc.target/riscv/xtheadbb-ext.c: New test. - * gcc.target/riscv/xtheadbb-extu-2.c: New test. - * gcc.target/riscv/xtheadbb-extu.c: New test. - * gcc.target/riscv/xtheadbb-ff1.c: New test. - * gcc.target/riscv/xtheadbb-rev.c: New test. - * gcc.target/riscv/xtheadbb-srri.c: New test. - -2023-03-15 Christoph Müllner - - * gcc.target/riscv/xtheadbs-tst.c: New test. - -2023-03-15 Christoph Müllner - - * gcc.target/riscv/xtheadba-addsl.c: New test. - -2023-03-15 Christoph Müllner - - * gcc.target/riscv/mcpu-thead-c906.c: New test. - -2023-03-15 Christoph Müllner - - * gcc.target/riscv/xtheadba.c: New test. - * gcc.target/riscv/xtheadbb.c: New test. - * gcc.target/riscv/xtheadbs.c: New test. - * gcc.target/riscv/xtheadcmo.c: New test. - * gcc.target/riscv/xtheadcondmov.c: New test. - * gcc.target/riscv/xtheadfmemidx.c: New test. - * gcc.target/riscv/xtheadfmv.c: New test. - * gcc.target/riscv/xtheadint.c: New test. - * gcc.target/riscv/xtheadmac.c: New test. - * gcc.target/riscv/xtheadmemidx.c: New test. - * gcc.target/riscv/xtheadmempair.c: New test. - * gcc.target/riscv/xtheadsync.c: New test. - -2023-03-15 Hu, Lin1 - - PR target/109117 - * gcc.target/i386/pr109117-1.c: New test. - -2023-03-15 Jonathan Yong <10walls@gmail.com> - - * gcc.dg/pic-2.c: Fix expected __PIC__ value. - * gcc.dg/pic-3.c: Ditto. - * gcc.dg/pic-4.c: Ditto. - -2023-03-14 Patrick Palka - - PR c++/96830 - * g++.dg/cpp2a/concepts-class5.C: New test. - * g++.dg/cpp2a/concepts-class5a.C: New test. - -2023-03-14 Patrick Palka - - PR c++/96830 - * g++.dg/cpp2a/concepts-friend14.C: New test. - -2023-03-14 Jason Merrill - - PR c++/108468 - * g++.dg/cpp1y/var-templ78.C: New test. - -2023-03-14 Jason Merrill - - PR c++/107310 - * c-c++-common/Wimplicit-fallthrough-39.c: Adjust warning. - * g++.dg/warn/Wreturn-6.C: New test. - -2023-03-14 Jakub Jelinek - - PR target/109109 - * gcc.target/i386/pr109109-1.c: New test. - * gcc.target/i386/pr109109-2.c: New test. - -2023-03-14 Iain Buclaw - - PR d/109108 - * gdc.dg/torture/imports/pr109108.d: New test. - * gdc.dg/torture/pr109108.d: New test. - -2023-03-14 Jakub Jelinek - - PR c++/108972 - PR testsuite/109129 - * g++.dg/cpp2a/concepts-lambda3.C: Use dg-do run only for c++20, - for c++17_down dg-do compile. Expect dg-excess-errors for c++17_down - rather than ! concepts. - -2023-03-14 Jakub Jelinek - - PR c++/109096 - * g++.dg/cpp1z/has-unique-obj-representations3.C: New test. - -2023-03-14 Richard Biener - - * gcc.dg/auto-init-unused-1.c: New testcase. - -2023-03-14 Eric Botcazou - - PR tree-optimization/109005 - * gnat.dg/specs/opt6.ads: New test. - -2023-03-14 Tamar Christina - - PR testsuite/109118 - * gcc.dg/mla_1.c: Moved to... - * gcc.target/aarch64/sve/mla_3.c: ...here. - -2023-03-14 Jakub Jelinek - - PR tree-optimization/109115 - * gcc.dg/pr109115.c: New test. - -2023-03-14 Richard Biener - - * g++.dg/torture/20230313.C: New testcase. - -2023-03-13 Gaius Mulley - - * gm2/pim/fail/largeconst.mod: New test. - -2023-03-13 Jason Merrill - - PR c++/107128 - * g++.dg/warn/pragma-system_header6.h: New test. - * g++.dg/warn/pragma-system_header6.C: New test. - -2023-03-13 David Malcolm - - PR analyzer/105906 - * gcc.dg/analyzer/leak-pr105906.c: New test. - -2023-03-13 David Malcolm - - PR analyzer/108045 - * gcc.dg/analyzer/leak-pr108045-with-call-summaries.c: New test. - * gcc.dg/analyzer/leak-pr108045-without-call-summaries.c: New test. - -2023-03-13 David Malcolm - - * gcc.dg/analyzer/exec-1.c: New test. - * gcc.dg/analyzer/snprintf-concat.c: New test. - * gcc.dg/analyzer/vsnprintf-1.c: New test. - -2023-03-13 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/merge_constraint-2.c: New test. - -2023-03-13 Kito Cheng - - * g++.target/riscv/rvv/base/vaadd_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vadc_vvm-1.C: Removed. - * g++.target/riscv/rvv/base/vadc_vvm-2.C: Removed. - * g++.target/riscv/rvv/base/vadc_vvm-3.C: Removed. - * g++.target/riscv/rvv/base/vadc_vvm_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vadc_vvm_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vadc_vvm_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vadc_vxm_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vadc_vxm_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vadc_vxm_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vadc_vxm_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vadc_vxm_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vadc_vxm_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vand_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vle-1.C: Removed. - * g++.target/riscv/rvv/base/vle_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vle_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vle_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei16-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei16-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei16-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei16_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei16_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei16_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei16_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei16_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei16_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei16_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei16_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei16_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei16_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei16_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei16_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei32-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei32-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei32-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei32_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei32_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei32_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei32_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei32_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei32_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei32_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei32_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei32_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei32_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei32_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei32_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei64-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei64-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei64-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei64_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei64_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei64_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei64_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei64_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei64_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei64_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei64_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei64_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei64_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei64_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei64_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei8-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei8-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei8-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei8_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei8_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei8_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei8_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei8_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei8_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei8_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei8_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei8_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vloxei8_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vloxei8_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vloxei8_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vlse-1.C: Removed. - * g++.target/riscv/rvv/base/vlse_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vlse_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vlse_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei16-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei16-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei16-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei16_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei16_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei16_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei16_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei16_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei16_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei16_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei16_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei16_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei16_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei16_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei16_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei32-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei32-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei32-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei32_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei32_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei32_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei32_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei32_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei32_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei32_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei32_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei32_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei32_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei32_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei32_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei64-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei64-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei64-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei64_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei64_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei64_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei64_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei64_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei64_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei64_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei64_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei64_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei64_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei64_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei64_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei8-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei8-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei8-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei8_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei8_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei8_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei8_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei8_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei8_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei8_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei8_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei8_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vluxei8_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vluxei8_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vluxei8_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vvm-1.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vvm-2.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vvm-3.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vxm_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vxm_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vxm_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vxm_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vxm_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmadc_vxm_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vvm-1.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vvm-2.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vvm-3.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vvm-4.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vvm-5.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vvm-6.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vvm_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vvm_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vvm_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vvm_tu-4.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vvm_tu-5.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vvm_tu-6.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vxm_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vxm_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vxm_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vxm_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vxm_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vxm_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vvm-1.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vvm-2.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vvm-3.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vv_m-1.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vv_m-2.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vv_m-3.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_m_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_m_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_m_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_m_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_m_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_m_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmseq_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vv_m-1.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vv_m-2.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vv_m-3.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_m_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_m_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_m_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_m_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_m_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_m_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsge_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vv_m-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vv_m-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vv_m-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgeu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vv_m-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vv_m-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vv_m-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgt_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vv_m-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vv_m-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vv_m-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsgtu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vv_m-1.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vv_m-2.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vv_m-3.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_m_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_m_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_m_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_m_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_m_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_m_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsle_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vv_m-1.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vv_m-2.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vv_m-3.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsleu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vv_m-1.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vv_m-2.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vv_m-3.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_m_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_m_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_m_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_m_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_m_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_m_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmslt_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vv_m-1.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vv_m-2.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vv_m-3.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsltu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vv_m-1.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vv_m-2.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vv_m-3.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_m_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_m_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_m_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_m_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_m_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_m_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmsne_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vmv_v-1.C: Removed. - * g++.target/riscv/rvv/base/vmv_v_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vmv_v_x_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vmv_v_x_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vmv_v_x_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vmv_v_x_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vmv_v_x_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vmv_v_x_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vnclip_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vnclipu_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x-1.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x-2.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x-3.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vncvt_x_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vneg_v-1.C: Removed. - * g++.target/riscv/rvv/base/vneg_v-2.C: Removed. - * g++.target/riscv/rvv/base/vneg_v-3.C: Removed. - * g++.target/riscv/rvv/base/vneg_v_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vneg_v_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vneg_v_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vneg_v_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vneg_v_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vneg_v_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vneg_v_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vneg_v_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vneg_v_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vneg_v_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vneg_v_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vneg_v_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vnot_v-1.C: Removed. - * g++.target/riscv/rvv/base/vnot_v-2.C: Removed. - * g++.target/riscv/rvv/base/vnot_v-3.C: Removed. - * g++.target/riscv/rvv/base/vnot_v_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vnot_v_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vnot_v_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vnot_v_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vnot_v_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vnot_v_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vnot_v_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vnot_v_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vnot_v_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vnot_v_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vnot_v_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vnot_v_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vnsra_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vnsrl_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vor_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vvm-1.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vvm-2.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vvm-3.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vvm_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vvm_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vvm_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vxm_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vxm_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vxm_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vxm_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vxm_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vxm_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vse-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf2_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf4_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsext_vf8_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsll_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsll_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsm-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsoxei16-1.C: Removed. - * g++.target/riscv/rvv/base/vsoxei16-2.C: Removed. - * g++.target/riscv/rvv/base/vsoxei16-3.C: Removed. - * g++.target/riscv/rvv/base/vsoxei32-1.C: Removed. - * g++.target/riscv/rvv/base/vsoxei32-2.C: Removed. - * g++.target/riscv/rvv/base/vsoxei32-3.C: Removed. - * g++.target/riscv/rvv/base/vsoxei64-1.C: Removed. - * g++.target/riscv/rvv/base/vsoxei64-2.C: Removed. - * g++.target/riscv/rvv/base/vsoxei64-3.C: Removed. - * g++.target/riscv/rvv/base/vsoxei8-1.C: Removed. - * g++.target/riscv/rvv/base/vsoxei8-2.C: Removed. - * g++.target/riscv/rvv/base/vsoxei8-3.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsra_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsra_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsrl_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsse-1.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vssra_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vssra_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vssrl_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vsuxei16-1.C: Removed. - * g++.target/riscv/rvv/base/vsuxei16-2.C: Removed. - * g++.target/riscv/rvv/base/vsuxei16-3.C: Removed. - * g++.target/riscv/rvv/base/vsuxei32-1.C: Removed. - * g++.target/riscv/rvv/base/vsuxei32-2.C: Removed. - * g++.target/riscv/rvv/base/vsuxei32-3.C: Removed. - * g++.target/riscv/rvv/base/vsuxei64-1.C: Removed. - * g++.target/riscv/rvv/base/vsuxei64-2.C: Removed. - * g++.target/riscv/rvv/base/vsuxei64-3.C: Removed. - * g++.target/riscv/rvv/base/vsuxei8-1.C: Removed. - * g++.target/riscv/rvv/base/vsuxei8-2.C: Removed. - * g++.target/riscv/rvv/base/vsuxei8-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwadd_wx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwaddu_wx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x-1.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x-2.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x-3.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwcvt_x_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x-1.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x-2.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x-3.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwcvtu_x_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmacc_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccu_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmaccus_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmul_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwmulu_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsub_wx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_vx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vwsubu_wx_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vv_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_mu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_mu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_mu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_mu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_mu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_mu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tum_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tum_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tum_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tum_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tum_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tum_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-3.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-1.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-2.C: Removed. - * g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf2_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf4_tumu-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8_mu-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8_mu-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8_mu-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8_tu-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8_tu-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8_tu-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8_tum-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8_tum-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8_tum-3.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8_tumu-1.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8_tumu-2.C: Removed. - * g++.target/riscv/rvv/base/vzext_vf8_tumu-3.C: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vadc-1.c: Removed. - * gcc.target/riscv/rvv/base/vadc-2.c: Removed. - * gcc.target/riscv/rvv/base/vadc-3.c: Removed. - * gcc.target/riscv/rvv/base/vadc-4.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vvm-1.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vvm-2.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vvm-3.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vvm_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vvm_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vvm_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vxm_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vxm_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vxm_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vxm_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vxm_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vxm_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vand_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vle-1.c: Removed. - * gcc.target/riscv/rvv/base/vle-2.c: Removed. - * gcc.target/riscv/rvv/base/vle-3.c: Removed. - * gcc.target/riscv/rvv/base/vle-constraint-1.c: Removed. - * gcc.target/riscv/rvv/base/vle_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vle_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vle_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vle_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vle_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vle_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vle_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vle_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vle_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vle_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vle_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vle_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vle_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vle_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vle_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vlm_vsm-1.c: Removed. - * gcc.target/riscv/rvv/base/vlm_vsm-2.c: Removed. - * gcc.target/riscv/rvv/base/vlm_vsm-3.c: Removed. - * gcc.target/riscv/rvv/base/vlmul_v.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei16_v_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei32_v_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei64_v_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vloxei8_v_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vlse-1.c: Removed. - * gcc.target/riscv/rvv/base/vlse-2.c: Removed. - * gcc.target/riscv/rvv/base/vlse-3.c: Removed. - * gcc.target/riscv/rvv/base/vlse-vsse-constraint-1.c: Removed. - * gcc.target/riscv/rvv/base/vlse_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vlse_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vlse_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vlse_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vlse_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vlse_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vlse_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vlse_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vlse_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vlse_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vlse_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vlse_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vlse_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vlse_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vlse_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei16_v_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei32_v_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei64_v_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vluxei8_v_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vlxei-vsxei-constraint-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadc-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadc-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadc-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadc-4.c: Removed. - * gcc.target/riscv/rvv/base/vmadc-5.c: Removed. - * gcc.target/riscv/rvv/base/vmadc-6.c: Removed. - * gcc.target/riscv/rvv/base/vmadc-7.c: Removed. - * gcc.target/riscv/rvv/base/vmadc-8.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vvm-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vvm-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vvm-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmerge-1.c: Removed. - * gcc.target/riscv/rvv/base/vmerge-2.c: Removed. - * gcc.target/riscv/rvv/base/vmerge-3.c: Removed. - * gcc.target/riscv/rvv/base/vmerge-4.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vvm-1.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vvm-2.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vvm-3.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vvm-4.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vvm-5.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vvm-6.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vvm_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vvm_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vvm_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vvm_tu-4.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vvm_tu-5.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vvm_tu-6.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vxm_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vxm_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vxm_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vxm_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vxm_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vxm_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc-4.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc-5.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc-6.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc-7.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc-8.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vvm-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vvm-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vvm-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmseq_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsge_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsle_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmslt_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmsne_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_v_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_v_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_v_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_x_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_x_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_x_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_x_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_x_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_x_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclip_wx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnclipu_wx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x-1.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x-2.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x-3.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vncvt_x_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vneg_v_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnot_v_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsra_wx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vor_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vread_csr.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsbc-1.c: Removed. - * gcc.target/riscv/rvv/base/vsbc-2.c: Removed. - * gcc.target/riscv/rvv/base/vsbc-3.c: Removed. - * gcc.target/riscv/rvv/base/vsbc-4.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vvm-1.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vvm-2.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vvm-3.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vvm_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vvm_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vvm_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vse-1.c: Removed. - * gcc.target/riscv/rvv/base/vse-2.c: Removed. - * gcc.target/riscv/rvv/base/vse-3.c: Removed. - * gcc.target/riscv/rvv/base/vse-constraint-1.c: Removed. - * gcc.target/riscv/rvv/base/vse_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vse_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vse_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsetvl-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf2_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf4_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsext_vf8_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsll_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei16_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei16_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei16_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei16_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei16_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei16_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei32_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei32_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei32_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei32_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei32_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei32_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei64_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei64_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei64_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei64_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei64_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei64_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei8_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei8_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei8_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei8_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei8_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsoxei8_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsra_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsrl_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsse-1.c: Removed. - * gcc.target/riscv/rvv/base/vsse-2.c: Removed. - * gcc.target/riscv/rvv/base/vsse-3.c: Removed. - * gcc.target/riscv/rvv/base/vsse_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsse_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsse_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssra_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssrl_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei16_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei16_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei16_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei16_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei16_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei16_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei32_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei32_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei32_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei32_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei32_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei32_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei64_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei64_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei64_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei64_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei64_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei64_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei8_v-1.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei8_v-2.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei8_v-3.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei8_v_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei8_v_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vsuxei8_v_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwadd_wx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwaddu_wx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x-1.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x-2.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x-3.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwcvt_x_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x-1.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x-2.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x-3.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwcvtu_x_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmacc_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmul_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwmulu_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwrite_csr.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsub_wx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_vx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vwsubu_wx_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vv_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_m_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_m_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_m_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_m_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_m_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_m_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_mu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_mu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_mu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_mu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_mu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_mu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tum_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tum_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tum_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tum_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tum_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tum_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv32-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv32-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv32-3.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv64-1.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv64-2.c: Removed. - * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv64-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf2_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf4_tumu-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_m-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_m-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_m-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_mu-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_mu-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_mu-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_tu-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_tu-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_tu-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_tum-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_tum-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_tum-3.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_tumu-1.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_tumu-2.c: Removed. - * gcc.target/riscv/rvv/base/vzext_vf8_tumu-3.c: Removed. - -2023-03-13 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/bug-1.c: New test. - -2023-03-13 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/narrow_constraint-1.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-10.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-11.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-2.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-3.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-4.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-5.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-6.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-7.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-8.c: New test. - * gcc.target/riscv/rvv/base/narrow_constraint-9.c: New test. - -2023-03-13 Marek Polacek - - PR c++/107532 - * g++.dg/warn/Wdangling-reference10.C: New test. - -2023-03-13 Lewis Hyatt - - PR preprocessor/67046 - * c-c++-common/cpp/pr67046.c: New test. - -2023-03-13 Richard Biener - - PR tree-optimization/109046 - * gcc.dg/tree-ssa/forwprop-39.c: New testcase. - -2023-03-12 Jakub Jelinek - - * gcc.target/aarch64/sve/acle/general-c/ternary_bfloat16_opt_n_1.c: - Don't expect one __bf16 related error. - * gcc.target/aarch64/bfloat16_vector_typecheck_1.c: Adjust or remove - dg-error directives for __bf16 being an extended arithmetic type. - * gcc.target/aarch64/bfloat16_vector_typecheck_2.c: Likewise. - * gcc.target/aarch64/bfloat16_scalar_typecheck.c: Likewise. - * g++.target/aarch64/bfloat_cpp_typecheck.C: Don't expect two __bf16 - related errors. - -2023-03-12 Roger Sayle - - PR middle-end/109031 - * gcc.dg/tree-ssa/pr109031-1.c: New test case. - * gcc.dg/tree-ssa/pr109031-2.c: Likewise. - -2023-03-12 Tamar Christina - - PR target/108583 - * gcc.dg/vect/vect-div-bitmask-4.c: New test. - * gcc.dg/vect/vect-div-bitmask-5.c: New test. - -2023-03-12 Tamar Christina - Richard Sandiford - - PR target/108583 - * gcc.dg/mla_1.c: New test. - -2023-03-12 Gaius Mulley - - PR modula2/109089 - * gm2/pimlib/run/pass/limittests.mod: Rewritten to reflect - the external definitions of isfinite. - -2023-03-12 Jonathan Yong <10walls@gmail.com> - - * gcc.dg/builtins-69.c: Use (long )*regex pattern to - allow long long instead of just long. - * gcc.dg/pr80163.c: Use __INTPTR_TYPE__ for LLP64 tagets. - -2023-03-12 Jonathan Yong <10walls@gmail.com> - - * gcc.c-torture/compile/103818.c: Enable test for llp64. - -2023-03-11 Cupertino Miranda - - * gcc.dg/pr25521.c: Skip for !const_volatile_readonly_section - targets. Adjust expected output. - * lib/target-supports.exp - (check_effective_target_const_volatile_readonly_section): New - -2023-03-11 Harald Anlauf - - PR fortran/106945 - * gfortran.dg/pr106945.f90: New test. - -2023-03-10 Hans-Peter Nilsson - - * lib/target-supports.exp (check_fork_available): Don't signal - true for CRIS running on a simulator. - -2023-03-10 Hans-Peter Nilsson - - * gcc.dg/pr108117.c: Require effective-target scheduling. - -2023-03-10 Hans-Peter Nilsson - - * gcc.dg/pr106397.c: Add -w to options. - -2023-03-10 Jakub Jelinek - - PR target/107703 - * g++.dg/cpp23/ext-floating.h (__STDCPP_BFLOAT16_T__): Don't undefine - it. - (std::bfloat16_t): Use decltype (0.0bf16) like libstdc++, rather than - __bf16. - * g++.dg/cpp23/ext-floating14.C: New test. - -2023-03-10 Jakub Jelinek - - PR c++/107558 - * g++.dg/gomp/pr107558.C: New test. - -2023-03-10 Jakub Jelinek - - PR c++/109039 - * g++.dg/abi/no_unique_address7.C: New test. - -2023-03-10 Jason Merrill - - PR c++/108972 - * g++.dg/cpp2a/concepts-lambda3.C: Run at lower std levels, - but expect errors. - -2023-03-10 Marek Polacek - - PR sanitizer/108060 - PR sanitizer/109050 - * c-c++-common/ubsan/bounds-17.c: New test. - * c-c++-common/ubsan/bounds-18.c: New test. - * c-c++-common/ubsan/bounds-19.c: New test. - * c-c++-common/ubsan/bounds-20.c: New test. - * c-c++-common/ubsan/bounds-21.c: New test. - -2023-03-10 Harald Anlauf - - PR fortran/104332 - * gfortran.dg/bind_c_usage_34.f90: New test. - -2023-03-10 Andrew Pinski - - * gcc.target/aarch64/rev16_2.c: New test. - * gcc.target/aarch64/shift_and_operator-1.c: New test. - -2023-03-10 David Malcolm - - PR analyzer/109059 - * gcc.dg/analyzer/flex-with-call-summaries.c: Remove xfail. - * gcc.dg/analyzer/leak-pr109059-1.c: New test. - * gcc.dg/analyzer/leak-pr109059-2.c: New test. - -2023-03-10 Jason Merrill - - PR c++/108566 - * g++.dg/abi/anon6.C: New test. - -2023-03-10 David Malcolm - - PR analyzer/108475 - PR analyzer/109060 - * gcc.dg/analyzer/deref-before-check-pr108475-1.c: New test. - * gcc.dg/analyzer/deref-before-check-pr108475-haproxy-tcpcheck.c: - New test. - * gcc.dg/analyzer/deref-before-check-pr109060-haproxy-cfgparse.c: - New test. - -2023-03-10 Jakub Jelinek - - PR c/108079 - * c-c++-common/Wunused-var-18.c: New test. - -2023-03-10 Jakub Jelinek - - PR tree-optimization/109008 - * gcc.dg/pr109008.c: New test. - -2023-03-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/merge_constraint-1.c: New test. - -2023-03-10 Jason Merrill - - PR c++/108099 - * g++.dg/ext/int128-7.C: New test. - -2023-03-10 Jason Merrill - - PR c++/108542 - * g++.dg/contracts/contracts-err1.C: New test. - -2023-03-09 Jason Merrill - - PR c++/108773 - * g++.dg/cpp0x/initlist-array18.C: New test. - * g++.dg/cpp0x/initlist-array19.C: New test. - -2023-03-09 David Malcolm - - PR analyzer/102671 - PR analyzer/105755 - PR analyzer/108251 - PR analyzer/108400 - * gcc.dg/analyzer/null-deref-pr102671-1.c: New test, reduced - from Emacs. - * gcc.dg/analyzer/null-deref-pr102671-2.c: Likewise. - * gcc.dg/analyzer/null-deref-pr105755.c: Likewise. - * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: - New test, reduced from haproxy's src/ssl_sample.c. - * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: - Likewise. - * gcc.dg/analyzer/null-deref-pr108400-SoftEtherVPN-WebUi.c: New - test, reduced from SoftEtherVPN's src/Cedar/WebUI.c. - -2023-03-09 Tamar Christina - - * gcc.target/aarch64/tbz_2.c: New test. - * gcc.target/aarch64/tbz_3.c: New test. - -2023-03-09 Jason Merrill - - DR 2664 - PR c++/102529 - * g++.dg/DRs/dr2664.C: New test. - * g++.dg/cpp2a/class-deduction-alias15.C: New test. - -2023-03-09 Jason Merrill - Michael Spertus - - PR c++/105841 - * g++.dg/cpp2a/class-deduction-alias14.C: New test. - -2023-03-09 Jason Merrill - - * g++.dg/ext/is_deducible1.C: Guard with - __has_builtin (__is_deducible). - -2023-03-09 Jason Merrill - - PR c++/105841 - * g++.dg/ext/is_deducible1.C: New test. - -2023-03-09 Vladimir N. Makarov - - * gcc.target/aarch64/pr108999.c: New. - -2023-03-09 Richard Biener - - PR middle-end/108995 - * gcc.dg/ubsan/pr108995.c: New testcase. - -2023-03-09 Jakub Jelinek - Richard Biener - - PR tree-optimization/109008 - * gcc.c-torture/execute/ieee/pr109008.c: New test. - -2023-03-08 Kewen Lin - - * gcc.target/powerpc/ppc-fortran/ppc-fortran.exp: Override - gcc_{warning,error}_prefix with Fortran specific one used in - gfortran_init. - -2023-03-08 Kewen Lin - - * gcc.target/powerpc/bfp/scalar-test-data-class-14.c: Adjust with - int128 effective target requirement. - * gcc.target/powerpc/bfp/scalar-test-data-class-15.c: Likewise. - -2023-03-08 Kewen Lin - - PR testsuite/108729 - * gcc.target/powerpc/bfp/scalar-test-data-class-12.c: Adjust with - has_arch_ppc64 effective target. - * gcc.target/powerpc/bfp/vec-test-data-class-9.c: Likewise. - -2023-03-08 Kewen Lin - - PR testsuite/108730 - * gcc.target/powerpc/bfp/scalar-test-neg-8.c: Adjust with lp64 - effective target requirement. - -2023-03-08 Kewen Lin - - PR testsuite/108813 - * gcc.target/powerpc/pr101384-2.c: Adjust with xxspltib. - -2023-03-08 Kewen Lin - - PR testsuite/108810 - * gcc.target/powerpc/fold-vec-extract-double.p9.c (testd_cst): Adjust - the extracted index for BE. - -2023-03-08 Jeff Law - - * gcc.target/mips/msa-ds.c: Fix over eager pattern matching. - -2023-03-08 Hans-Peter Nilsson - - * gcc.dg/analyzer/omp-parallel-for-get-min.c, - gcc.dg/analyzer/omp-parallel-for-1.c: Require effective target fopenmp. - -2023-03-07 Jason Merrill - - PR c++/108526 - PR c++/106651 - * g++.dg/cpp23/static-operator-call5.C: Pass -g. - -2023-03-07 Marek Polacek - - PR c++/107532 - * g++.dg/warn/Wdangling-reference8.C: New test. - * g++.dg/warn/Wdangling-reference9.C: New test. - -2023-03-07 Robin Dapp - - * gcc.dg/vect/slp-3.c: Add '{ ... }'. - -2023-03-07 Jakub Jelinek - - PR c++/109042 - * g++.dg/rtti/pr109042.C: New test. - -2023-03-07 Marek Polacek - - PR c++/109030 - * g++.dg/cpp0x/noexcept77.C: New test. - -2023-03-07 Marek Polacek - - PR c++/107939 - * g++.dg/cpp1y/var-templ74.C: Remove dg-error. - * g++.dg/cpp1y/var-templ77.C: New test. - -2023-03-07 Pan Li - Ju-Zhe Zhong - - PR target/108185 - PR target/108654 - * gcc.target/riscv/rvv/base/pr108185-1.c: New test. - * gcc.target/riscv/rvv/base/pr108185-2.c: New test. - * gcc.target/riscv/rvv/base/pr108185-3.c: New test. - * gcc.target/riscv/rvv/base/pr108185-4.c: New test. - * gcc.target/riscv/rvv/base/pr108185-5.c: New test. - * gcc.target/riscv/rvv/base/pr108185-6.c: New test. - * gcc.target/riscv/rvv/base/pr108185-7.c: New test. - * gcc.target/riscv/rvv/base/pr108185-8.c: New test. - -2023-03-07 Xi Ruoyao - - * gcc.target/aarch64/shrink_wrap_1.c (dg-options): Add - -fno-stack-protector. - * gcc.target/aarch64/stack-check-cfa-1.c (dg-options): Add - -fno-stack-protector. - * gcc.target/aarch64/stack-check-cfa-2.c (dg-options): Add - -fno-stack-protector. - * gcc.target/aarch64/test_frame_17.c (dg-options): Add - -fno-stack-protector. - -2023-03-07 Xi Ruoyao - - * gcc.target/aarch64/pr104005.c (dg-options): Add - -fno-stack-protector. - -2023-03-07 Xi Ruoyao - - * gcc.target/aarch64/auto-init-7.c (dg-options): Add - -fno-stack-protector. - -2023-03-07 Xi Ruoyao - - * gcc.target/aarch64/pr103147-10.c (dg-options): Add - -fno-stack-protector. - * g++.target/aarch64/pr103147-10.C: Likewise. - -2023-03-07 Xi Ruoyao - - * gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp (sve_flags): - Add -fno-stack-protector. - -2023-03-07 Xi Ruoyao - - PR testsuite/70150 - * gcc.target/aarch64/fuse_adrp_add_1.c (dg-options): Add - -fno-pie. - -2023-03-07 Xi Ruoyao - - PR testsuite/70150 - * gcc.dg/tls/pr78796.c (dg-additional-options): Add -fno-pie - -no-pie for aarch64-*-*. - * gcc.target/aarch64/pr63304_1.c (dg-options): Add -fno-pie. - * gcc.target/aarch64/pr70120-2.c (dg-options): Add -fno-pie. - * gcc.target/aarch64/pr78733.c (dg-options): Add -fno-pie. - * gcc.target/aarch64/pr79041-2.c (dg-options): Add -fno-pie. - * gcc.target/aarch64/pr94530.c (dg-options): Add -fno-pie. - * gcc.target/aarch64/pr94577.c (dg-options): Add -fno-pie. - * gcc.target/aarch64/reload-valid-spoff.c (dg-options): Add - -fno-pie. - -2023-03-07 Xi Ruoyao - - PR testsuite/70150 - * gcc.target/aarch64/aapcs64/aapcs64.exp (additional_flags): - Add -fno-pie -no-pie. - -2023-03-07 Hans-Peter Nilsson - - * lib/target-supports.exp (check_compile): Support scanning tree-dumps. - -2023-03-07 Hans-Peter Nilsson - - * gcc.dg/plugin/must-tail-call-1.c, gcc.dg/plugin/must-tail-call-2.c: - Gate on effective target tail_call. - -2023-03-07 Hans-Peter Nilsson - - * lib/target-supports.exp (check_effective_target_tail_call): New. - -2023-03-07 Hans-Peter Nilsson - - * gcc.dg/analyzer/allocation-size-multiline-3.c: Handle - int32_t being "long int". - -2023-03-07 Hans-Peter Nilsson - - * lib/multiline.exp (_build_multiline_regex): Map - "{re:" to "(", similarly ")?" from ":re?}" and the - same without question mark. - -2023-03-06 Paul-Antoine Arras - - * gcc.target/gcn/cond_fmaxnm_1.c: New test. - * gcc.target/gcn/cond_fmaxnm_1_run.c: New test. - * gcc.target/gcn/cond_fmaxnm_2.c: New test. - * gcc.target/gcn/cond_fmaxnm_2_run.c: New test. - * gcc.target/gcn/cond_fmaxnm_3.c: New test. - * gcc.target/gcn/cond_fmaxnm_3_run.c: New test. - * gcc.target/gcn/cond_fmaxnm_4.c: New test. - * gcc.target/gcn/cond_fmaxnm_4_run.c: New test. - * gcc.target/gcn/cond_fmaxnm_5.c: New test. - * gcc.target/gcn/cond_fmaxnm_5_run.c: New test. - * gcc.target/gcn/cond_fmaxnm_6.c: New test. - * gcc.target/gcn/cond_fmaxnm_6_run.c: New test. - * gcc.target/gcn/cond_fmaxnm_7.c: New test. - * gcc.target/gcn/cond_fmaxnm_7_run.c: New test. - * gcc.target/gcn/cond_fmaxnm_8.c: New test. - * gcc.target/gcn/cond_fmaxnm_8_run.c: New test. - * gcc.target/gcn/cond_fminnm_1.c: New test. - * gcc.target/gcn/cond_fminnm_1_run.c: New test. - * gcc.target/gcn/cond_fminnm_2.c: New test. - * gcc.target/gcn/cond_fminnm_2_run.c: New test. - * gcc.target/gcn/cond_fminnm_3.c: New test. - * gcc.target/gcn/cond_fminnm_3_run.c: New test. - * gcc.target/gcn/cond_fminnm_4.c: New test. - * gcc.target/gcn/cond_fminnm_4_run.c: New test. - * gcc.target/gcn/cond_fminnm_5.c: New test. - * gcc.target/gcn/cond_fminnm_5_run.c: New test. - * gcc.target/gcn/cond_fminnm_6.c: New test. - * gcc.target/gcn/cond_fminnm_6_run.c: New test. - * gcc.target/gcn/cond_fminnm_7.c: New test. - * gcc.target/gcn/cond_fminnm_7_run.c: New test. - * gcc.target/gcn/cond_fminnm_8.c: New test. - * gcc.target/gcn/cond_fminnm_8_run.c: New test. - * gcc.target/gcn/cond_smax_1.c: New test. - * gcc.target/gcn/cond_smax_1_run.c: New test. - * gcc.target/gcn/cond_smin_1.c: New test. - * gcc.target/gcn/cond_smin_1_run.c: New test. - * gcc.target/gcn/cond_umax_1.c: New test. - * gcc.target/gcn/cond_umax_1_run.c: New test. - * gcc.target/gcn/cond_umin_1.c: New test. - * gcc.target/gcn/cond_umin_1_run.c: New test. - * gcc.target/gcn/smax_1.c: New test. - * gcc.target/gcn/smax_1_run.c: New test. - * gcc.target/gcn/smin_1.c: New test. - * gcc.target/gcn/smin_1_run.c: New test. - * gcc.target/gcn/umax_1.c: New test. - * gcc.target/gcn/umax_1_run.c: New test. - * gcc.target/gcn/umin_1.c: New test. - * gcc.target/gcn/umin_1_run.c: New test. - -2023-03-06 Richard Biener - - PR tree-optimization/109025 - * gcc.dg/vect/pr109025.c: New testcase. - -2023-03-06 Xi Ruoyao - - * gcc.target/loongarch/prolog-opt.c (dg-options): Add - -fno-stack-protector. - * gcc.target/loongarch/stack-check-cfa-1.c (dg-options): - Likewise. - * gcc.target/loongarch/stack-check-cfa-2.c (dg-options): - Likewise. - -2023-03-06 Xi Ruoyao - - PR target/109000 - * gcc.target/loongarch/flt-abi-isa-1.c: New test. - * gcc.target/loongarch/flt-abi-isa-2.c: New test. - * gcc.target/loongarch/flt-abi-isa-3.c: New test. - * gcc.target/loongarch/flt-abi-isa-4.c: New test. - -2023-03-05 Harald Anlauf - Tobias Burnus - - PR fortran/106856 - * gfortran.dg/interface_41.f90: Remove dg-pattern from valid testcase. - * gfortran.dg/class_74.f90: New test. - * gfortran.dg/class_75.f90: New test. - -2023-03-05 Jakub Jelinek - - * gcc.dg/vect/slp-perm-8.c: Fix up syntax error in - scan-tree-dump-times target selector. - -2023-03-05 Liao Shihua - SiYu Wu - - * gcc.target/riscv/zksed32.c: New test. - * gcc.target/riscv/zksed64.c: New test. - * gcc.target/riscv/zksh32.c: New test. - * gcc.target/riscv/zksh64.c: New test. - -2023-03-05 Liao Shihua - SiYu Wu - - * gcc.target/riscv/zknh-sha256.c: New test. - * gcc.target/riscv/zknh-sha512-32.c: New test. - * gcc.target/riscv/zknh-sha512-64.c: New test. - -2023-03-05 Liao Shihua - SiYu Wu - - * gcc.target/riscv/zknd32.c: New test. - * gcc.target/riscv/zknd64.c: New test. - * gcc.target/riscv/zkne32.c: New test. - * gcc.target/riscv/zkne64.c: New test. - -2023-03-05 Liao Shihua - SiYu Wu - - * gcc.target/riscv/zbkb32.c: New test. - * gcc.target/riscv/zbkb64.c: New test. - * gcc.target/riscv/zbkc32.c: New test. - * gcc.target/riscv/zbkc64.c: New test. - * gcc.target/riscv/zbkx32.c: New test. - * gcc.target/riscv/zbkx64.c: New test. - -2023-03-05 Vineet Gupta - - * gcc.target/riscv/zba-shNadd-07.c: f2(i*783) now generates MUL vs. - 5 insn sh1add+slli+add+slli+sub. - * gcc.target/riscv/pr108987.c: New test. - -2023-03-05 Ju-Zhe Zhong - kito-cheng - - * gcc.target/riscv/rvv/base/vlmul_v.c: New test. - -2023-03-05 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/binop_vx_constraint-167.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-168.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-169.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-170.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-171.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-172.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-173.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-174.c: New test. - -2023-03-05 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/scalar_move-1.c: New test. - * gcc.target/riscv/rvv/base/scalar_move-2.c: New test. - * gcc.target/riscv/rvv/base/scalar_move-3.c: New test. - * gcc.target/riscv/rvv/base/scalar_move-4.c: New test. - * gcc.target/riscv/rvv/base/scalar_move-5.c: New test. - * gcc.target/riscv/rvv/base/scalar_move-6.c: New test. - * gcc.target/riscv/rvv/base/scalar_move-7.c: New test. - * gcc.target/riscv/rvv/base/scalar_move-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-100.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-101.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-78.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-79.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-80.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-81.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-82.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-83.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-85.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-86.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-87.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-88.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-89.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-90.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-91.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-92.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-93.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-94.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-95.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-96.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-97.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-98.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-99.c: New test. - -2023-03-05 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-10.c: Adjust test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-18.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-9.c: Ditto. - -2023-03-05 Lin Sinan - - * gcc.target/riscv/zbb-min-max-03.c: New test. - -2023-03-04 Jakub Jelinek - - * gcc.dg/vect/slp-3.c: Fix up syntax errors in scan-tree-dump-times - target selectors. - * gcc.dg/vect/slp-multitypes-11.c: Likewise. - -2023-03-04 Jakub Jelinek - - PR c/107465 - * c-c++-common/Wsign-compare-2.c (f18): New test. - -2023-03-04 Jakub Jelinek - - PR c/107465 - * c-c++-common/Wsign-compare-2.c: New test. - * c-c++-common/pr107465.c: New test. - -2023-03-04 Jakub Jelinek - - PR c/107846 - * gcc.dg/pr107846.c: New test. - -2023-03-04 Jakub Jelinek - - PR c++/108702 - * g++.dg/ext/stmtexpr19.C: Use dg-do link rather than dg-do compile. - -2023-03-04 Hans-Peter Nilsson - - * gcc.dg/ipa/pr77653.c: Skip for cris-*-*. - -2023-03-04 Hans-Peter Nilsson - - * gcc.dg/ifcvt-4.c: Add cris-*-* to skip list. - -2023-03-04 Hans-Peter Nilsson - - * g++.dg/cpp0x/pr84497.C: Handle USER_LABEL_PREFIX == "_" on - scan-assembler identifiers. - * gcc.dg/debug/btf/btf-enum64-1.c, gcc.dg/ipa/symver1.c: Ditto. - -2023-03-03 David Malcolm - - PR analyzer/109016 - * gcc.dg/analyzer/omp-parallel-for-1.c: New test. - * gcc.dg/analyzer/omp-parallel-for-get-min.c: New test. - -2023-03-03 David Malcolm - - * gcc.dg/analyzer/doom-d_main-IdentifyVersion.c: New test. - * gcc.dg/analyzer/sprintf-1.c: New test. - * gcc.dg/analyzer/sprintf-concat.c: New test. - -2023-03-03 David Malcolm - - PR tree-optimization/108988 - * gcc.dg/analyzer/pr99716-1.c (test_2): Remove xfail. - -2023-03-03 Alexandre Oliva - - * g++.dg/warn/Wdangling-pointer.C (warn_init_ref_member): Add - two new variants, one fixed, one xfailed. - * c-c++-common/Wdangling-pointer-5.c - (nowarn_store_arg_store_arg): Add now-expected warnings. - -2023-03-03 Alexandre Oliva - - * gcc.target/arm/acle/cde-errors.c: Adjust messages for quote - around +cdecp. - * gcc.target/arm/acle/cde-mve-error-2.c: Likewise. - -2023-03-03 Alexandre Oliva - - * gcc.target/arm/armv8_2-fp16-move-1.c: Combine vcmp and vcmpe - expected counts into a single pattern. - * gcc.target/arm/armv8_2-fp16-move-2.c: Accept conditional - return and reversed conditions. - -2023-03-03 Alexandre Oliva - - PR target/51534 - * gcc.target/arm/pr51534.c: Split softfp variant into... - * gcc.target/arm/pr51534s.c: ... this, and support ARM too. - -2023-03-03 Alexandre Oliva - - * gcc.target/arm/acle/cde-mve-full-assembly.c: Drop blank - after tab after vmsr, and lower the case of P0. - -2023-03-03 Alexandre Oliva - - PR target/104882 - * gcc.target/arm/simd/pr104882.c: Require mve hardware. - -2023-03-03 Patrick Palka - - PR c++/108998 - * g++.dg/cpp2a/lambda-generic11.C: New test. - -2023-03-03 Jakub Jelinek - - PR c/108986 - * gcc.dg/Wnonnull-8.c: New test. - -2023-03-03 Robin Dapp - - * gcc.target/s390/ifcvt-two-insns-bool.c: Allow "high" and - "not low or equal" load on condition variant. - * gcc.target/s390/ifcvt-two-insns-int.c: Dito. - * gcc.target/s390/ifcvt-two-insns-long.c: Dito. - -2023-03-03 Robin Dapp - - * gcc.dg/vect/slp-3.c: Adapt test expectation. - * gcc.dg/vect/slp-multitypes-11.c: Likewise. - * gcc.dg/vect/slp-perm-8.c: Likewise. - -2023-03-03 Richard Biener - - PR tree-optimization/109002 - * gcc.dg/torture/pr109002.c: New testcase. - -2023-03-03 Richard Biener - - PR debug/108772 - * g++.dg/lto/pr108772_0.C: New testcase. - -2023-03-03 Alexandre Oliva - - PR c++/100127 - * g++.dg/coroutines/pr100127.C: Test for header rather than - compiler macro. - * g++.dg/coroutines/pr100772-a.C: Likewise. - * g++.dg/coroutines/pr100772-b.C: Likewise. - -2023-03-03 Hans-Peter Nilsson - - * gcc.dg/attr-aligned.c: Adjust comment for ALIGN_MAX_STATIC. - (ALIGN_MAX_STATIC): Set to 512 for CRIS. - -2023-03-03 Iain Buclaw - - PR d/108946 - * gdc.dg/simd2a.d: Update test. - * gdc.dg/simd2b.d: Likewise. - * gdc.dg/simd2c.d: Likewise. - * gdc.dg/simd2d.d: Likewise. - * gdc.dg/simd2e.d: Likewise. - * gdc.dg/simd2f.d: Likewise. - * gdc.dg/simd2g.d: Likewise. - * gdc.dg/simd2h.d: Likewise. - * gdc.dg/simd2i.d: Likewise. - * gdc.dg/simd2j.d: Likewise. - -2023-03-03 Iain Buclaw - - PR d/108877 - * gdc.dg/imports/pr108877a.d: New test. - * gdc.dg/pr108877.d: New test. - -2023-03-03 Iain Buclaw - - PR d/108167 - * gdc.dg/pr108167.d: New test. - -2023-03-03 Iain Buclaw - - PR d/108945 - * gdc.dg/pr108945.d: New test. - -2023-03-02 Jakub Jelinek - - PR testsuite/108991 - * gcc.dg/memchr-3.c: Add missing comment argument to dg-warning - before target selector. - -2023-03-02 Guillaume Gomez - - PR jit/107999 - * jit.dg/test-error-array-bounds.c: Update test. - -2023-03-02 Vladimir N. Makarov - - * gcc.target/avr/pr90706.c: New. - -2023-03-02 Kwok Cheung Yeung - Paul-Antoine Arras - - * gcc.target/gcn/simd-math-1.c: New testcase. - * gcc.target/gcn/simd-math-2.c: New testcase. - -2023-03-02 Patrick Palka - - PR c++/108243 - PR c++/97553 - * g++.dg/opt/is_constant_evaluated3.C: New test. - -2023-03-02 Patrick Palka - - PR c++/108243 - * g++.dg/cpp2a/is-constant-evaluated14.C: New test. - -2023-03-02 David Malcolm - - PR analyzer/108968 - * gcc.dg/analyzer/uninit-pr108968-register.c: New test. - -2023-03-02 Jakub Jelinek - - PR debug/108716 - * g++.dg/debug/dwarf2/pr108716.C: New test. - -2023-03-02 Richard Sandiford - - PR tree-optimization/108979 - * gfortran.dg/vect/pr108979.f90: New test. - -2023-03-02 Marek Polacek - - PR c++/106259 - * g++.dg/warn/Wmismatched-tags-11.C: New test. - -2023-03-02 Robin Dapp - - * gcc.target/s390/s390.exp: Add partial subdirectory. - * gcc.target/s390/vector/vec-nopeel-2.c: Change test - expectation. - * lib/target-supports.exp: Add s390. - * gcc.target/s390/vector/partial/s390-vec-length-1.h: New test. - * gcc.target/s390/vector/partial/s390-vec-length-2.h: New test. - * gcc.target/s390/vector/partial/s390-vec-length-3.h: New test. - * gcc.target/s390/vector/partial/s390-vec-length-7.h: New test. - * gcc.target/s390/vector/partial/s390-vec-length-epil-1.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-epil-2.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-epil-3.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-epil-7.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-epil-run-1.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-epil-run-2.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-epil-run-3.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-epil-run-7.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-full-1.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-full-2.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-full-3.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-full-7.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-full-run-1.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-full-run-2.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-full-run-3.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-full-run-7.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length-run-1.h: New test. - * gcc.target/s390/vector/partial/s390-vec-length-run-2.h: New test. - * gcc.target/s390/vector/partial/s390-vec-length-run-3.h: New test. - * gcc.target/s390/vector/partial/s390-vec-length-run-7.h: New test. - * gcc.target/s390/vector/partial/s390-vec-length-small.c: New test. - * gcc.target/s390/vector/partial/s390-vec-length.h: New test. - -2023-03-02 Jonathan Yong <10walls@gmail.com> - - PR middle-end/97956 - * gcc.dg/memchr-3.c (memchr): Account for LLP64 warnings. - -2023-03-02 Jonathan Yong <10walls@gmail.com> - - * gcc.dg/overflow-warn-9.c: Add LLP64 case. - -2023-03-02 Richard Sandiford - - PR tree-optimization/108603 - * gcc.target/aarch64/sve/pr108603.c: New test. - -2023-03-02 Richard Sandiford - - PR tree-optimization/108430 - * gcc.target/aarch64/sve/pr108430.c: New test. - -2023-03-02 Jakub Jelinek - - PR c++/108934 - * gcc.target/i386/auto-init-4.c: Revert PR105259 change. - * g++.target/i386/pr108934.C: New test. - -2023-03-02 Jakub Jelinek - - PR c++/105839 - * g++.dg/gomp/pr105839-1.C: New test. - * g++.dg/gomp/pr105839-2.C: New test. - -2023-03-02 Richard Biener - - PR testsuite/108985 - * gcc.dg/vect/pr108950.c: Require vect_simd_clones. - -2023-03-02 Hans-Peter Nilsson - - * g++.dg/ext/attr-copy-2.C: Fix for default_packed targets. - -2023-03-02 Hans-Peter Nilsson - - * gcc.dg/attr-copy-6.c: Prefix asm-declared name with - __USER_LABEL_PREFIX__. - -2023-03-02 Hans-Peter Nilsson - - * c-c++-common/auto-init-7.c, c-c++-common/auto-init-8.c: Also - match targets where sizeof (union U) == 5, like "packed" targets. - -2023-03-01 Marek Polacek - - PR c++/107574 - * g++.dg/cpp0x/ptrmem-cst1.C: New test. - -2023-03-01 David Malcolm - - PR analyzer/107565 - * gcc.dg/analyzer/builtins-pr107565.c: New test. - * gcc.dg/analyzer/pr99716-1.c (test_2): Mark the leak as xfailing. - -2023-03-01 Patrick Palka - Jason Merrill - - PR c++/108219 - PR c++/108218 - * g++.dg/cpp0x/new6.C: New test. - * g++.dg/cpp2a/concepts-new1.C: New test. - -2023-03-01 Tobias Burnus - - PR middle-end/108545 - * c-c++-common/gomp/map-8.c: New test. - * gfortran.dg/gomp/map-9.f90: New test. - -2023-03-01 David Malcolm - - PR analyzer/108935 - * gcc.dg/analyzer/infinite-recursion-pr108935-1.c: New test. - * gcc.dg/analyzer/infinite-recursion-pr108935-1a.c: New test. - * gcc.dg/analyzer/infinite-recursion-pr108935-2.c: New test. - -2023-03-01 Jonathan Yong <10walls@gmail.com> - - * gcc.target/i386/harden-sls-6.c: Fix warning on LLP64 - targets. - -2023-03-01 Jakub Jelinek - - PR sanitizer/108894 - * c-c++-common/ubsan/bounds-16.c: New test. - -2023-03-01 Jakub Jelinek - - PR debug/108967 - * g++.dg/debug/pr108967.C: New test. - -2023-03-01 Jakub Jelinek - - PR c++/108606 - * g++.dg/cpp1y/pr108606.C: New test. - -2023-03-01 Richard Biener - - PR tree-optimization/108970 - * gcc.dg/pr108970.c: New testcase. - -2023-03-01 Richard Biener - - PR tree-optimization/108950 - * gcc.dg/vect/pr108950.c: New testcase. - -2023-03-01 Hans-Peter Nilsson - - * gcc.dg/analyzer/fd-access-mode-target-headers.c: Skip for - newlib targets too. - -2023-02-28 Patrick Palka - - PR c++/108848 - * g++.dg/cpp1y/noexcept1.C: Don't expect a bogus "different - exception specifier" error. Expect a separate "not usable - in a constant expression" error. - * g++.dg/cpp1y/var-templ75.C: New test. - * g++.dg/cpp1y/var-templ76.C: New test. - -2023-02-28 Qing Zhao - - PR middle-end/107411 - PR middle-end/107411 - * g++.dg/pr107411.C: New test. - -2023-02-28 Marek Polacek - - PR c++/108550 - * g++.dg/cpp1y/var-templ70.C: New test. - * g++.dg/cpp1y/var-templ71.C: New test. - * g++.dg/cpp1y/var-templ72.C: New test. - -2023-02-28 Marek Polacek - - PR c++/107938 - * g++.dg/cpp1y/var-templ73.C: New test. - * g++.dg/cpp1y/var-templ74.C: New test. - * g++.dg/warn/Waddress-of-packed-member3.C: New test. - -2023-02-28 Jakub Jelinek - - PR sanitizer/108894 - * gcc.dg/ubsan/bounds-4.c: New test. - * gcc.dg/ubsan/bounds-4a.c: New test. - * gcc.dg/ubsan/bounds-4b.c: New test. - * gcc.dg/ubsan/bounds-4c.c: New test. - * gcc.dg/ubsan/bounds-4d.c: New test. - * g++.dg/ubsan/bounds-1.C: New test. - -2023-02-28 Richard Biener - - PR testsuite/108942 - * gcc.dg/torture/ssa-fre-7.c: Use __SIZETYPE__. - -2023-02-28 Hans-Peter Nilsson - - * gcc.dg/plugin/infoleak-vfio_iommu_type1.c: Don't xfail bogus - message for "default_packed" targets. - -2023-02-28 Hans-Peter Nilsson - - * lib/multiline.exp (handle-multiline-outputs): Shorten - message to the same for fail and pass. - -2023-02-28 Hans-Peter Nilsson - - PR testsuite/91419 - * gcc.dg/tree-ssa/pr91091-2.c:15 Remove xfail for RHS. - -2023-02-28 Hans-Peter Nilsson - - PR testsuite/79356 - * gcc.dg/attr-alloc_size-11.c: Add CRIS to the list - of targets excluding xfail on lines 50 and 51. - -2023-02-28 Hans-Peter Nilsson - - PR tree-optimization/108828 - * gcc.dg/Wuse-after-free-2.c: Add -fno-ivopts. - -2023-02-27 Harald Anlauf - - PR fortran/108937 - * gfortran.dg/ibits_2.f90: New test. - -2023-02-26 Eric Botcazou - - * ada/acats/run_all.sh: Adjust example of compiler options. - -2023-02-25 Gaius Mulley - - * gm2/projects/pim/run/pass/tower/projects-pim-run-pass-tower.exp: - Also add conditional to gm2-simple-execute. - -2023-02-25 Gaius Mulley - - * gm2/projects/pim/run/pass/tower/projects-pim-run-pass-tower.exp - (gm2_run_tower_test): New global variable. Add conditional - before invoking gm2-local-exec. - -2023-02-25 Hans-Peter Nilsson - - * lib/multiline.exp (handle-multiline-outputs): Don't include the - quoted multiline pattern in the pass/fail output. - -2023-02-25 Gaius Mulley - - PR modula2/108261 - * gm2/examples/callingC/pass/examples-callingC-pass.exp: Tidy up - variable access. - * gm2/examples/callingC/run/pass/examples-callingC-run-pass.exp: Tidy up - variable access. - * gm2/examples/cpp/pass/examples-cpp-pass.exp: Tidy up - variable access. - * gm2/examples/cppDef/pass/examples-cppDef-pass.exp: Tidy up - variable access. - * gm2/examples/hello/pass/examples-hello-pass.exp: Tidy up - variable access. - * gm2/examples/map/pass/examples-map-pass.exp: Tidy up - variable access. - * gm2/iso/check/fail/iso-check-fail.exp: Add pathname. - * gm2/link/externalscaffold/pass/link-externalscaffold-pass.exp: - Add pathname. - * gm2/link/externalscaffold/pass/scaffold.c: Add mangled export name. - * gm2/pimlib/base/run/pass/FIO.mod: Updated test code. - * gm2/pimlib/base/run/pass/StrLib.mod: Updated test code. - * gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: Remove path. - * gm2/projects/pim/run/pass/random/projects-pim-run-pass-random.exp: - Tidy up variable access. - * gm2/switches/auto-init/fail/switches-auto-init-fail.exp: Add pathname. - * gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp: - Add pathname. - * gm2/switches/makeall/fail/switches-makeall-fail.exp: Remove -fmakeall. - * gm2/switches/makeall/pass/switches-makeall-pass.exp: Remove -fmakeall. - * lib/gm2-simple.exp (gm2_keep_executable): New global variable. - (gm2_simple_execute): Keep executable if global is true. - * lib/gm2-torture.exp: Add ; after global variable access. - * lib/gm2.exp: Set up pathnames. - * gm2/projects/pim/run/pass/tower/AdvCmd.def: New test. - * gm2/projects/pim/run/pass/tower/AdvCmd.mod: New test. - * gm2/projects/pim/run/pass/tower/AdvIntroduction.def: New test. - * gm2/projects/pim/run/pass/tower/AdvIntroduction.mod: New test. - * gm2/projects/pim/run/pass/tower/AdvMap.def: New test. - * gm2/projects/pim/run/pass/tower/AdvMap.mod: New test. - * gm2/projects/pim/run/pass/tower/AdvMath.def: New test. - * gm2/projects/pim/run/pass/tower/AdvMath.mod: New test. - * gm2/projects/pim/run/pass/tower/AdvParse.bnf: New test. - * gm2/projects/pim/run/pass/tower/AdvParse.def: New test. - * gm2/projects/pim/run/pass/tower/AdvParse.mod: New test. - * gm2/projects/pim/run/pass/tower/AdvSound.def: New test. - * gm2/projects/pim/run/pass/tower/AdvSound.mod: New test. - * gm2/projects/pim/run/pass/tower/AdvSystem.def: New test. - * gm2/projects/pim/run/pass/tower/AdvSystem.mod: New test. - * gm2/projects/pim/run/pass/tower/AdvTreasure.def: New test. - * gm2/projects/pim/run/pass/tower/AdvTreasure.mod: New test. - * gm2/projects/pim/run/pass/tower/AdvUtil.def: New test. - * gm2/projects/pim/run/pass/tower/AdvUtil.mod: New test. - * gm2/projects/pim/run/pass/tower/DrawG.def: New test. - * gm2/projects/pim/run/pass/tower/DrawG.mod: New test. - * gm2/projects/pim/run/pass/tower/DrawL.def: New test. - * gm2/projects/pim/run/pass/tower/DrawL.mod: New test. - * gm2/projects/pim/run/pass/tower/Dungeon.mod: New test. - * gm2/projects/pim/run/pass/tower/Lock.def: New test. - * gm2/projects/pim/run/pass/tower/Lock.mod: New test. - * gm2/projects/pim/run/pass/tower/ProcArgs.def: New test. - * gm2/projects/pim/run/pass/tower/ProcArgs.mod: New test. - * gm2/projects/pim/run/pass/tower/Screen.def: New test. - * gm2/projects/pim/run/pass/tower/Screen.mod: New test. - * gm2/projects/pim/run/pass/tower/SocketControl.c: New test. - * gm2/projects/pim/run/pass/tower/SocketControl.def: New test. - * gm2/projects/pim/run/pass/tower/Window.def: New test. - * gm2/projects/pim/run/pass/tower/Window.mod: New test. - * gm2/projects/pim/run/pass/tower/adv.flex: New test. - * gm2/projects/pim/run/pass/tower/advflex.c: New test. - * gm2/projects/pim/run/pass/tower/advflex.def: New test. - * gm2/projects/pim/run/pass/tower/projects-pim-run-pass-tower.exp: - New test. - * gm2/projects/pim/run/pass/tower/star: New test. - -2023-02-25 Max Filippov - - * gcc.target/xtensa/pr108919.c: New test. - -2023-02-25 Tobias Burnus - - PR fortran/108621 - * gfortran.dg/c-interop/fc-descriptor-pr108621.f90: New test. - -2023-02-24 Rimvydas Jasinskas - - * gfortran.dg/weak-2.f90: New test. - * gfortran.dg/weak-3.f90: New test. - -2023-02-24 Martin Liska - - PR sanitizer/108834 - * c-c++-common/asan/global-overflow-1.c: Test line and column - info for a global variable. - -2023-02-24 Alexandre Oliva - - PR c++/105224 - * g++.dg/modules/virt-2_a.C: Skip on arm_eabi. - -2023-02-24 Jakub Jelinek - - PR middle-end/108854 - * g++.dg/opt/pr108854.C: New test. - -2023-02-24 Jakub Jelinek - - PR target/108881 - * gcc.target/i386/avx512bf16-pr108881.c: New test. - -2023-02-24 Junxian Zhu - - * gcc.target/mips/clz.c: New test. - * gcc.target/mips/clo.c: New test. - * gcc.target/mips/mips.exp: New option HAS_CLZ. - -2023-02-24 Prachi Godbole - - * gcc.target/mips/hazard-barrier-return-attribute.c: New test. - -2023-02-23 Takayuki 'January June' Suwa - - * gcc.target/xtensa/elim_GP_regmove_0.c: New test. - * gcc.target/xtensa/elim_GP_regmove_1.c: New test. - -2023-02-23 Takayuki 'January June' Suwa - - * gcc.target/xtensa/elim_callee_saved.c: New. - -2023-02-23 Jakub Jelinek - - PR testsuite/108899 - * g++.dg/modules/modules.exp: Only override unsupported if it - exists and saved-unsupported doesn't. - -2023-02-23 Richard Biener - - PR tree-optimization/108888 - * g++.dg/torture/pr108888.C: New testcase. - -2023-02-22 Marek Polacek - - PR c/108880 - * c-c++-common/ubsan/pr108880.c: New test. - -2023-02-22 Harald Anlauf - - PR fortran/96024 - * gfortran.dg/pr96024.f90: New test. - -2023-02-22 Alexandre Oliva - - * g++.dg/modules/modules.exp: Override unsupported to update - module_do, and test it after dg-test. - -2023-02-22 Alexandre Oliva - - * gcc.target/arm/aes-fuse-1.c: Switch to -mcpu=cortex-a53. - * gcc.target/arm/aes-fuse-2.c: Likewise. - -2023-02-22 Alexandre Oliva - - * gcc.dg/debug/ctf/ctf-complex-1.c: Do not test whether I is - usable in initializers. - -2023-02-22 Alexandre Oliva - - * gcc.dg/torture/fp-uint64-convert-double-1.c: XFAIL on all of - arm-*-*. - * gcc.dg/torture/fp-uint64-convert-double-2.c: Likewise. - -2023-02-22 Alexandre Oliva - - * gcc.target/arm/asm-flag-4.c: Match quotes around "asm" in - message. - -2023-02-22 Alexandre Oliva - - * g++.dg/warn/Waddress-5.C: Tolerate extra -Waddress warning. - -2023-02-22 Andrew Stubbs - - * gcc.dg/vect/vect-simd-clone-16.c: New test. - * gcc.dg/vect/vect-simd-clone-16b.c: New test. - * gcc.dg/vect/vect-simd-clone-16c.c: New test. - * gcc.dg/vect/vect-simd-clone-16d.c: New test. - * gcc.dg/vect/vect-simd-clone-16e.c: New test. - * gcc.dg/vect/vect-simd-clone-16f.c: New test. - * gcc.dg/vect/vect-simd-clone-17.c: New test. - * gcc.dg/vect/vect-simd-clone-17b.c: New test. - * gcc.dg/vect/vect-simd-clone-17c.c: New test. - * gcc.dg/vect/vect-simd-clone-17d.c: New test. - * gcc.dg/vect/vect-simd-clone-17e.c: New test. - * gcc.dg/vect/vect-simd-clone-17f.c: New test. - * gcc.dg/vect/vect-simd-clone-18.c: New test. - * gcc.dg/vect/vect-simd-clone-18b.c: New test. - * gcc.dg/vect/vect-simd-clone-18c.c: New test. - * gcc.dg/vect/vect-simd-clone-18d.c: New test. - * gcc.dg/vect/vect-simd-clone-18e.c: New test. - * gcc.dg/vect/vect-simd-clone-18f.c: New test. - -2023-02-22 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/ternop_vv_constraint-3.c: New test. - * gcc.target/riscv/rvv/base/ternop_vv_constraint-4.c: New test. - * gcc.target/riscv/rvv/base/ternop_vv_constraint-5.c: New test. - * gcc.target/riscv/rvv/base/ternop_vv_constraint-6.c: New test. - * gcc.target/riscv/rvv/base/ternop_vx_constraint-8.c: New test. - * gcc.target/riscv/rvv/base/ternop_vx_constraint-9.c: New test. - -2023-02-22 Kito Cheng - - * gcc.target/riscv/_Float16-zhinxmin-1.c: Tweak test - condition. - -2023-02-22 Kito Cheng - - * gcc.target/riscv/rvv/vsetvl/avl_multiple-1.c: Filter out '-Oz'. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-27.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-30.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-38.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-41.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-42.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-43.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-44.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-45.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-48.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-50.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-51.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-65.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-66.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-67.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-68.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-69.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-70.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-71.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-73.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-74.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-75.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_switch-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_switch-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_switch-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_switch-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_switch-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-17.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-18.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-19.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-20.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-21.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-22.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-23.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-29.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-32.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-34.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-35.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-37.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-38.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-40.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-41.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-42.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-43.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-44.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-46.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-17.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-18.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-19.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-20.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-21.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-22.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-23.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-24.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-25.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-26.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-27.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-28.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-17.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-18.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-19.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-20.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-21.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-22.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-23.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-24.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-25.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-26.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-27.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-28.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-18.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: Filter - out -Oz and -Og -g. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: Ditto. - -2023-02-22 Jakub Jelinek - - PR middle-end/106258 - * g++.dg/ipa/pr106258.C: New test. - -2023-02-22 Thomas Schwinge - - * gcc.dg/Wcomplain-wrong-lang-1.c: New. - * gcc.dg/Wcomplain-wrong-lang-2.c: Likewise. - * gcc.dg/Wcomplain-wrong-lang-3.c: Likewise. - * gcc.dg/Wcomplain-wrong-lang-4.c: Likewise. - * gcc.dg/Wcomplain-wrong-lang-5.c: Likewise. - * lib/target-supports.exp (check_compile): Use - '-Wno-complain-wrong-lang'. - * g++.dg/abi/empty12.C: Likewise. - * g++.dg/abi/empty13.C: Likewise. - * g++.dg/abi/empty14.C: Likewise. - * g++.dg/abi/empty15.C: Likewise. - * g++.dg/abi/empty16.C: Likewise. - * g++.dg/abi/empty17.C: Likewise. - * g++.dg/abi/empty18.C: Likewise. - * g++.dg/abi/empty19.C: Likewise. - * g++.dg/abi/empty22.C: Likewise. - * g++.dg/abi/empty25.C: Likewise. - * g++.dg/abi/empty26.C: Likewise. - * gfortran.dg/bind-c-contiguous-1.f90: Likewise. - * gfortran.dg/bind-c-contiguous-4.f90: Likewise. - * gfortran.dg/bind-c-contiguous-5.f90: Likewise. - -2023-02-21 David Malcolm - - PR analyzer/108830 - * gcc.dg/analyzer/attribute-nonnull.c: Update for - -Wanalyzer-use-of-uninitialized-value terminating analysis along - a path. - * gcc.dg/analyzer/call-summaries-2.c: Likewise. - * gcc.dg/analyzer/data-model-1.c: Likewise. - * gcc.dg/analyzer/data-model-5.c: Likewise. - * gcc.dg/analyzer/doom-s_sound-pr108867.c: New test. - * gcc.dg/analyzer/memset-CVE-2017-18549-1.c: Add - -fno-analyzer-suppress-followups. - * gcc.dg/analyzer/null-deref-pr108830.c: New test. - * gcc.dg/analyzer/pipe-1.c: Add -fno-analyzer-suppress-followups. - * gcc.dg/analyzer/pipe-void-return.c: Likewise. - * gcc.dg/analyzer/pipe2-1.c: Likewise. - * gcc.dg/analyzer/pr101547.c: Update for - -Wanalyzer-use-of-uninitialized-value terminating analysis along - a path. - * gcc.dg/analyzer/pr101875.c: Likewise. - * gcc.dg/analyzer/pr104224-split.c: New test, based on... - * gcc.dg/analyzer/pr104224.c: Add - -fno-analyzer-suppress-followups. - * gcc.dg/analyzer/realloc-2.c: Add - -fno-analyzer-suppress-followups. - * gcc.dg/analyzer/realloc-3.c: Likewise. - * gcc.dg/analyzer/realloc-5.c: Likewise. - * gcc.dg/analyzer/stdarg-1-ms_abi.c: Likewise. - * gcc.dg/analyzer/stdarg-1-sysv_abi.c: Likewise. - * gcc.dg/analyzer/stdarg-1.c: Likewise. - * gcc.dg/analyzer/symbolic-1.c: Likewise. - * gcc.dg/analyzer/symbolic-7.c: Update for - -Wanalyzer-use-of-uninitialized-value terminating analysis along a - path. - * gcc.dg/analyzer/uninit-4.c: Likewise. - * gcc.dg/analyzer/uninit-8.c: New test. - * gcc.dg/analyzer/uninit-pr94713.c: Update for - -Wanalyzer-use-of-uninitialized-value terminating analysis along a - path. - * gcc.dg/analyzer/zlib-6a.c: Add -fno-analyzer-suppress-followups. - -2023-02-21 Harald Anlauf - - PR fortran/96025 - * gfortran.dg/pr96025.f90: New test. - -2023-02-21 Iain Buclaw - - * gdc.dg/simd2a.d: Update. - * gdc.dg/simd2b.d: Update. - * gdc.dg/simd2c.d: Update. - * gdc.dg/simd2d.d: Update. - * gdc.dg/simd2e.d: Update. - * gdc.dg/simd2f.d: Update. - * gdc.dg/simd2g.d: Update. - * gdc.dg/simd2h.d: Update. - * gdc.dg/simd2i.d: Update. - * gdc.dg/simd2j.d: Update. - -2023-02-21 Iain Buclaw - - * gdc.dg/ctfeintrinsics.d: New test. - -2023-02-21 Richard Biener - - PR tree-optimization/108691 - * gcc.dg/pr108691.c: New testcase. - -2023-02-21 Richard Biener - - PR tree-optimization/108793 - * gcc.dg/torture/pr108793.c: New testcase. - -2023-02-21 Raiki Tamura - - * rust/compile/torture/intrinsics-math.rs: New test. - -2023-02-21 Philip Herron - - * rust/debug/chartype.rs: Skip testcases on Darwin architectures. - -2023-02-21 Philip Herron - - * rust/execute/torture/closure3.rs: New test. - -2023-02-21 Raiki Tamura - - * rust/compile/torture/phantom_data.rs: New test. - -2023-02-21 Arthur Cohen - - * rust/compile/torture/intrinsics-3.rs: - * rust/execute/torture/atomic_load.rs: New test. - -2023-02-21 Arthur Cohen - - * rust/compile/torture/intrinsics-5.rs: Fix error message. - -2023-02-21 Arthur Cohen - - * rust/compile/torture/intrinsics-6.rs: New test. - * rust/compile/torture/intrinsics-7.rs: New test. - -2023-02-21 Arthur Cohen - - * rust/compile/torture/intrinsics-4.rs: New test. - * rust/compile/torture/intrinsics-5.rs: New test. - * rust/execute/torture/atomic_store.rs: New test. - -2023-02-21 Arthur Cohen - - * rust/compile/torture/intrinsics-3.rs: New test. - -2023-02-21 Philip Herron - - * rust/execute/torture/closure2.rs: New test. - -2023-02-21 Philip Herron - - * rust/execute/torture/closure1.rs: New test. - -2023-02-21 Philip Herron - - * rust/compile/issue-1589.rs: New test. - -2023-02-21 Philip Herron - - * rust/compile/generics7.rs: Fix test with missing assertion. - * rust/execute/torture/operator_overload_9.rs: Fix test assertion. - -2023-02-21 Marc Poulhiès - - * rust/compile/missing_closing_paren.rs: New test. - -2023-02-21 Arthur Cohen - - * rust/execute/torture/prefetch_data.rs: New test. - -2023-02-21 Philip Herron - - * rust/compile/torture/issue-1555.rs: New test. - -2023-02-21 Faisal Abbas - - * rust/compile/const9.rs: New test. - -2023-02-21 Philip Herron - - * rust/compile/issue-1272.rs: New test. - -2023-02-21 Richard Biener - - PR tree-optimization/108868 - * gcc.dg/pr108868.c: New testcase. - -2023-02-21 Richard Biener - - PR tree-optimization/108855 - * gcc.dg/pr108855.c: New testcase. - -2023-02-21 Richard Biener - - Revert: - 2023-02-21 Richard Biener - - PR tree-optimization/108691 - * gcc.dg/pr108691.c: New testcase. - -2023-02-20 Jakub Jelinek - - PR target/108862 - * gcc.dg/pr108862.c: New test. - * gcc.target/powerpc/pr108862.c: New test. - -2023-02-20 Marek Polacek - - PR c++/101073 - * g++.dg/cpp0x/constexpr-nsdmi3.C: New test. - * g++.dg/cpp1y/constexpr-nsdmi10.C: New test. - -2023-02-20 Marek Polacek - - PR c++/108829 - * g++.dg/cpp0x/lambda/lambda-108829-2.C: New test. - * g++.dg/cpp0x/lambda/lambda-108829.C: New test. - -2023-02-20 Richard Biener - - PR tree-optimization/108816 - * gcc.dg/torture/pr108816.c: New testcase. - -2023-02-20 Richard Biener - - PR tree-optimization/108825 - * gcc.dg/torture/pr108825.c: New testcase. - -2023-02-18 Jason Merrill - - DR 2518 - PR c++/52809 - PR c++/53638 - PR c++/87389 - PR c++/89741 - PR c++/92099 - PR c++/104041 - PR c++/104691 - * g++.dg/DRs/dr2518.C: New test. - -2023-02-18 Jakub Jelinek - - PR tree-optimization/108819 - * gcc.dg/pr108819.c: New test. - -2023-02-18 Jakub Jelinek - - PR target/108832 - * gcc.target/i386/pr108832.c: New test. - -2023-02-18 Martin Uecker - - PR c/108375 - * gcc.dg/pr108375-1.c: New test. - * gcc.dg/pr108375-2.c: New test. - -2023-02-18 Martin Uecker - - PR c/105660 - PR c/105660 - * gcc.dg/pr105660-1.c: New test. - * gcc.dg/pr105660-2.c: New test. - -2023-02-17 Patrick Palka - - PR c++/108243 - PR c++/97553 - * g++.dg/opt/is_constant_evaluated1.C: New test. - * g++.dg/opt/is_constant_evaluated2.C: New test. - -2023-02-17 Uroš Bizjak - - PR target/108831 - * gcc.target/i386/pr108831-1.c: New test. - * gcc.target/i386/pr108831-2.c: Ditto. - -2023-02-17 Uroš Bizjak - - PR target/108805 - * gcc.dg/pr108805.c: New test. - -2023-02-17 Richard Biener - - PR tree-optimization/108821 - * gcc.dg/tree-ssa/ssa-lim-24.c: New testcase. - -2023-02-17 Jerry DeLisle - - * gfortran.dg/ISO_Fortran_binding_14.f90: Change example function to - CLOCK which is available on mingw as well as other platforms. - * gfortran.dg/pr96486.f90: Change variable to PATH likewise. - -2023-02-17 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/binop_vx_constraint-148.c: Change vmnot.mm to vmnot.m. - * gcc.target/riscv/rvv/base/binop_vx_constraint-149.c: Change vmnot.mm to vmnot.m. - * gcc.target/riscv/rvv/base/binop_vx_constraint-150.c: Change vmnot.mm to vmnot.m. - * gcc.target/riscv/rvv/base/binop_vx_constraint-151.c: Change vmnot.mm to vmnot.m. - * gcc.target/riscv/rvv/base/binop_vx_constraint-152.c: Change vmnot.mm to vmnot.m. - * gcc.target/riscv/rvv/base/binop_vx_constraint-153.c: Change vmnot.mm to vmnot.m. - * gcc.target/riscv/rvv/base/binop_vx_constraint-156.c: Change vmnot.mm to vmnot.m. - * gcc.target/riscv/rvv/base/binop_vx_constraint-157.c: Change vmnot.mm to vmnot.m. - * gcc.target/riscv/rvv/base/binop_vx_constraint-159.c: Change vmnot.mm to vmnot.m. - * gcc.target/riscv/rvv/base/binop_vx_constraint-160.c: Change vmnot.mm to vmnot.m. - * gcc.target/riscv/rvv/base/binop_vx_constraint-161.c: Change vmnot.mm to vmnot.m. - -2023-02-17 Jerry DeLisle - - * gfortran.dg/bind_c_array_params_2.f90: Add *-*-ming* to dg-final. - -2023-02-16 David Malcolm - - PR analyzer/108806 - * gcc.dg/analyzer/null-deref-pr108806-qemu.c: New test. - * gcc.dg/analyzer/pr103217.c: Add -Wno-analyzer-too-complex. - * gcc.dg/analyzer/switch.c (test_bitmask_1): New. - (test_bitmask_2): New. - * gcc.dg/analyzer/uninit-pr108806-qemu.c: New test. - -2023-02-16 Iain Sandoe - - * objc.dg/proto-lossage-4.m: Amendn diagnostic matches for Windows. - -2023-02-16 Patrick Palka - - PR c++/107773 - * g++.dg/template/typename24.C: New test. - * g++.dg/template/typename25.C: New test. - * g++.dg/template/typename25a.C: New test. - * g++.dg/template/typename26.C: New test. - -2023-02-16 Jakub Jelinek - - PR tree-optimization/108657 - * gcc.dg/pr108657.c: New test. - -2023-02-16 Jakub Jelinek - - PR tree-optimization/108783 - * gcc.c-torture/compile/pr108783.c: New test. - -2023-02-16 Richard Biener - - PR tree-optimization/108791 - * gcc.dg/torture/pr108791.c: New testcase. - -2023-02-16 Hans-Peter Nilsson - - * lib/target-supports.exp (check_effective_target_lra): Add CRIS - as a non-LRA target. - -2023-02-15 Steve Kargl - - PR fortran/103608 - * gfortran.dg/pr103608.f90: New test. - -2023-02-15 Steve Kargl - - PR fortran/104554 - * gfortran.dg/pr104554.f90: New test. - -2023-02-15 David Malcolm - - PR analyzer/108664 - PR analyzer/108666 - PR analyzer/108725 - * gcc.dg/analyzer/coreutils-cksum-pr108664.c: New test. - * gcc.dg/analyzer/coreutils-sum-pr108666.c: New test. - * gcc.dg/analyzer/torture/uninit-pr108725.c: New test. - -2023-02-15 Uroš Bizjak - - * g++.target/i386/empty-class2.C (dg-additional-options): Remove. - * gcc.target/i386/avx512fp16-reduce-op-2.c: Ditto. - * gcc.target/i386/pr99464.c: Ditto. - * gcc.target/i386/pr103541.c (dg-do): Compile for !ia32 target. - * gcc.target/i386/pr108774.c (dg-do): Compile for lp64 target. - * gcc.target/i386/pr85593.c (dg-do): Run for *-*-linux* target. - * gcc.target/i386/pr98063.c: Ditto. - * gcc.target/i386/pr90007.c (dg-do): Remove target selector. - * gcc.target/i386/pr92841-2.c (dg-do): Remove unneeded curly braces. - * gcc.target/i386/pr95464.c: Ditto. - * gcc.target/i386/pr99530-1.c (dg-do): Compile for *-*-linux* target. - * gcc.target/i386/pr99530-2.c: Ditto. - * gcc.target/i386/pr99530-3.c: Ditto. - * gcc.target/i386/pr99530-4.c: Ditto. - * gcc.target/i386/pr99530-5.c: Ditto. - * gcc.target/i386/pr99530-6.c: Ditto. - * gcc.target/i386/pr99531.c (dg-do): Compile for !ia32 target. - -2023-02-15 Marek Polacek - - PR middle-end/106080 - * c-c++-common/Wdangling-pointer-10.c: New test. - * c-c++-common/Wdangling-pointer-9.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmacc_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vv_tumu-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmadd_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vmadd_vv_tumu-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vnmsac_vv-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv-3.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vv_tumu-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vnmsub_vv-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv-3.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vv_tumu-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwmacc_vv-1.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv-2.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv-3.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vv_tumu-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwmacc_vx-1.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx-2.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx-3.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmacc_vx_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccu_vx_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmaccus_vx_tumu-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/ternop_vv_constraint-1.c: New test. - * gcc.target/riscv/rvv/base/ternop_vv_constraint-2.c: New test. - * gcc.target/riscv/rvv/base/ternop_vx_constraint-1.c: New test. - * gcc.target/riscv/rvv/base/ternop_vx_constraint-2.c: New test. - * gcc.target/riscv/rvv/base/ternop_vx_constraint-3.c: New test. - * gcc.target/riscv/rvv/base/ternop_vx_constraint-4.c: New test. - * gcc.target/riscv/rvv/base/ternop_vx_constraint-5.c: New test. - * gcc.target/riscv/rvv/base/ternop_vx_constraint-6.c: New test. - * gcc.target/riscv/rvv/base/ternop_vx_constraint-7.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmacc_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vv_tumu-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmadd_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vv_tumu-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vnmsac_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vv_tumu-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vnmsub_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vnmsub_vv_tumu-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwmacc_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwmacc_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmacc_vx_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmseq_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmseq_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmseq_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmseq_vv_m-1.C: New test. - * g++.target/riscv/rvv/base/vmseq_vv_m-2.C: New test. - * g++.target/riscv/rvv/base/vmseq_vv_m-3.C: New test. - * g++.target/riscv/rvv/base/vmseq_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmseq_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmseq_vv_mu-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmseq_vx_m_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_m_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_m_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_m_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_m_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_m_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmseq_vx_rv64-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmsge_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmsge_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmsge_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmsge_vv_m-1.C: New test. - * g++.target/riscv/rvv/base/vmsge_vv_m-2.C: New test. - * g++.target/riscv/rvv/base/vmsge_vv_m-3.C: New test. - * g++.target/riscv/rvv/base/vmsge_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmsge_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmsge_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vv_m-1.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vv_m-2.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vv_m-3.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vv_mu-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmsge_vx_m_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_m_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_m_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_m_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_m_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_m_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsge_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsgeu_vx_rv64-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmsgt_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vv_m-1.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vv_m-2.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vv_m-3.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vv_m-1.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vv_m-2.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vv_m-3.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vv_mu-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsgt_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsgtu_vx_rv64-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmsle_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmsle_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmsle_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmsle_vv_m-1.C: New test. - * g++.target/riscv/rvv/base/vmsle_vv_m-2.C: New test. - * g++.target/riscv/rvv/base/vmsle_vv_m-3.C: New test. - * g++.target/riscv/rvv/base/vmsle_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmsle_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmsle_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vv_m-1.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vv_m-2.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vv_m-3.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vv_mu-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmsle_vx_m_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_m_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_m_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_m_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_m_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_m_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsle_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsleu_vx_rv64-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmslt_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmslt_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmslt_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmslt_vv_m-1.C: New test. - * g++.target/riscv/rvv/base/vmslt_vv_m-2.C: New test. - * g++.target/riscv/rvv/base/vmslt_vv_m-3.C: New test. - * g++.target/riscv/rvv/base/vmslt_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmslt_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmslt_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vv_m-1.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vv_m-2.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vv_m-3.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vv_mu-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmslt_vx_m_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_m_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_m_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_m_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_m_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_m_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmslt_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsltu_vx_rv64-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmsne_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmsne_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmsne_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmsne_vv_m-1.C: New test. - * g++.target/riscv/rvv/base/vmsne_vv_m-2.C: New test. - * g++.target/riscv/rvv/base/vmsne_vv_m-3.C: New test. - * g++.target/riscv/rvv/base/vmsne_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmsne_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmsne_vv_mu-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmsne_vx_m_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_m_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_m_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_m_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_m_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_m_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsne_vx_rv64-3.C: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/binop_vv_constraint-2.c: New test. - * gcc.target/riscv/rvv/base/binop_vv_constraint-3.c: New test. - * gcc.target/riscv/rvv/base/binop_vv_constraint-4.c: New test. - * gcc.target/riscv/rvv/base/binop_vv_constraint-5.c: New test. - * gcc.target/riscv/rvv/base/binop_vv_constraint-6.c: New test. - * gcc.target/riscv/rvv/base/binop_vv_constraint-7.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-123.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-124.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-125.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-126.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-127.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-128.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-129.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-130.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-131.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-132.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-133.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-134.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-135.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-136.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-137.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-138.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-139.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-140.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-141.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-142.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-143.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-144.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-145.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-146.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-147.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-148.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-149.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-150.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-151.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-152.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-153.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-154.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-155.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-156.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-157.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-158.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-159.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-160.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-161.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-162.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-163.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-164.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-165.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-166.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmseq_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vv_mu-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmseq_vx_rv64-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmsge_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsge_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmsgt_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmsle_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vv_mu-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsle_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmslt_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vv_mu-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmslt_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmsne_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vv_mu-3.c: New test. - -2023-02-15 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsne_vx_rv64-3.c: New test. - -2023-02-15 Iain Sandoe - - * obj-c++.dg/proto-lossage-4.mm: Use uintptr_t for integral pointer - representations. - -2023-02-15 Martin Jambor - - PR ipa/108679 - * gcc.dg/ipa/pr108679.c: New test. - -2023-02-15 Tobias Burnus - - PR fortran/108512 - * gfortran.dg/gomp/loop-5.f90: New test. - * gfortran.dg/gomp/loop-2.f90: Update dg-error. - * gfortran.dg/gomp/taskloop-2.f90: Update dg-error. - -2023-02-15 Jakub Jelinek - - PR target/108787 - PR target/103109 - * gcc.dg/pr108787.c: New test. - * gcc.target/powerpc/pr108787.c: New test. - * gcc.target/powerpc/pr103109-1.c: Adjust expected instruction counts. - -2023-02-15 Jakub Jelinek - - * g++.dg/DRs/dr2475.C: New test. - * g++.dg/DRs/dr2478.C: New test. - * g++.dg/DRs/dr2530.C: New test. - * g++.dg/DRs/dr2673.C: New test. - * c-c++-common/cpp/delimited-escape-seq-8.c: New test. - -2023-02-15 Marek Polacek - - PR c++/106675 - * g++.dg/cpp0x/overload-conv-5.C: New test. - -2023-02-14 David Faust - - PR target/108790 - * gcc.target/bpf/ldxdw.c: New test. - -2023-02-14 Andrew Pinski - - PR tree-optimization/108355 - PR tree-optimization/96921 - * gcc.dg/tree-ssa/bool-minus-1.c: New test. - * gcc.dg/tree-ssa/bool-minus-2.c: New test. - * gcc.dg/tree-ssa/pr108354-1.c: New test. - -2023-02-14 Eric Botcazou - - * gnat.dg/shift2.adb: New test. - -2023-02-14 Richard Biener - - PR tree-optimization/108782 - * gcc.dg/torture/pr108782.c: New testcase. - -2023-02-14 Jakub Jelinek - - PR sanitizer/108777 - * gcc.dg/asan/pr108777-1.c: New test. - * gcc.dg/asan/pr108777-2.c: New test. - * gcc.dg/asan/pr108777-3.c: New test. - * gcc.dg/asan/pr108777-4.c: New test. - * gcc.dg/asan/pr108777-5.c: New test. - * gcc.dg/asan/pr108777-6.c: New test. - * gcc.dg/completion-3.c: Adjust expected multiline output. - -2023-02-14 Andreas Schwab - - PR target/108723 - * gcc.target/riscv/shorten-memrefs-1.c: Adjust patterns to skip - over cfi directives. - * gcc.target/riscv/shorten-memrefs-2.c: Likewise. - * gcc.target/riscv/shorten-memrefs-3.c: Likewise. - * gcc.target/riscv/shorten-memrefs-4.c: Likewise. - * gcc.target/riscv/shorten-memrefs-5.c: Likewise. - * gcc.target/riscv/shorten-memrefs-6.c: Likewise. - * gcc.target/riscv/shorten-memrefs-8.c: Likewise. - -2023-02-14 Thomas Schwinge - - * gfortran.dg/weak-1.f90: Adjust 'scan-assembler' for nvptx. - -2023-02-14 Richard Sandiford - - PR tree-optimization/96373 - PR tree-optimization/108571 - * gcc.target/aarch64/sve/fabd_1.c: Add -fno-trapping-math. - * gcc.target/aarch64/sve/fsubr_1.c: Likewise. - * gcc.target/aarch64/sve/fmul_1.c: Expect predicate ops. - * gcc.target/aarch64/sve/fp_arith_1.c: Likewise. - -2023-02-14 Kewen Lin - - PR target/96373 - * gcc.target/powerpc/p9-vec-length-epil-1.c: Add -fno-trapping-math. - * gcc.target/powerpc/p9-vec-length-epil-2.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-3.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-4.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-5.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-6.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-8.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-1.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-2.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-3.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-4.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-5.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-6.c: Likewise. - * gcc.target/powerpc/p9-vec-length-full-8.c: Likewise. - * gcc.target/powerpc/pr96373.c: New test. - -2023-02-13 Richard Sandiford - - PR rtl-optimization/108681 - * gcc.target/aarch64/pr108681.c: New test. - -2023-02-13 Vladimir N. Makarov - - * gcc.target/i386/pr108774.c: New. - -2023-02-13 Harald Anlauf - - PR fortran/103475 - * gfortran.dg/pr103475.f90: New test. - -2023-02-13 Uroš Bizjak - - PR target/108516 - * gcc.target/i386/pr108516-1.c: New test. - * gcc.target/i386/pr108516-2.c: Ditto. - -2023-02-13 Rimvydas Jasinskas - - * gfortran.dg/noinline.f90: New test. - * gfortran.dg/noreturn-1.f90: New test. - * gfortran.dg/noreturn-2.f90: New test. - * gfortran.dg/noreturn-3.f90: New test. - * gfortran.dg/noreturn-4.f90: New test. - * gfortran.dg/noreturn-5.f90: New test. - * gfortran.dg/weak-1.f90: New test. - -2023-02-13 Richard Biener - - PR tree-optimization/108691 - * gcc.dg/pr108691.c: New testcase. - -2023-02-13 Jonathan Yong <10walls@gmail.com> - - * gcc.dg/Wbuiltin-declaration-mismatch-7.c: Use (long )* - regex pattern to allow long long instead of just long. - -2023-02-13 Claudiu Zissulescu - - * gcc.target/arc/milli-1.c: Update test. - -2023-02-13 Richard Biener - - PR tree-optimization/106722 - * gcc.dg/torture/pr108737.c: New testcase. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vaadd_vv-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vaaddu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vasub_vv-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vv-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vv-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vasub_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vasubu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vnclip_vv-1.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv-2.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv-3.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vnclip_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx-1.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx-2.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx-3.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vnclip_vx_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx-1.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx-2.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx-3.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vnclipu_vx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsmul_vv-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vssra_vv-1.C: New test. - * g++.target/riscv/rvv/base/vssra_vv-2.C: New test. - * g++.target/riscv/rvv/base/vssra_vv-3.C: New test. - * g++.target/riscv/rvv/base/vssra_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vssra_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vssra_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vssra_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vssra_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vssra_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vssra_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vssra_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vssra_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vssra_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vssra_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vssra_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vssra_vx-1.C: New test. - * g++.target/riscv/rvv/base/vssra_vx-2.C: New test. - * g++.target/riscv/rvv/base/vssra_vx-3.C: New test. - * g++.target/riscv/rvv/base/vssra_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vssra_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vssra_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vssra_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vssra_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vssra_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vssra_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vssra_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vssra_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vssra_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vssra_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vssra_vx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vssrl_vv-1.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv-2.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv-3.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vssrl_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vssrl_vx-1.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx-2.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx-3.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vssrl_vx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/binop_vx_constraint-122.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vaaddu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vasub_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vasub_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vasubu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vnclip_wv-1.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv-2.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv-3.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx-1.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx-2.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx-3.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vnclip_wx_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv-1.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv-2.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv-3.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx-1.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx-2.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx-3.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vnclipu_wx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsmul_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vssra_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vssra_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vssra_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vssra_vx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vssrl_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vssrl_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vssrl_vx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmerge_vvm-1.C: New test. - * g++.target/riscv/rvv/base/vmerge_vvm-2.C: New test. - * g++.target/riscv/rvv/base/vmerge_vvm-3.C: New test. - * g++.target/riscv/rvv/base/vmerge_vvm-4.C: New test. - * g++.target/riscv/rvv/base/vmerge_vvm-5.C: New test. - * g++.target/riscv/rvv/base/vmerge_vvm-6.C: New test. - * g++.target/riscv/rvv/base/vmerge_vvm_tu-1.C: New test. - * g++.target/riscv/rvv/base/vmerge_vvm_tu-2.C: New test. - * g++.target/riscv/rvv/base/vmerge_vvm_tu-3.C: New test. - * g++.target/riscv/rvv/base/vmerge_vvm_tu-4.C: New test. - * g++.target/riscv/rvv/base/vmerge_vvm_tu-5.C: New test. - * g++.target/riscv/rvv/base/vmerge_vvm_tu-6.C: New test. - * g++.target/riscv/rvv/base/vmerge_vxm_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmerge_vxm_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmerge_vxm_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmerge_vxm_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmerge_vxm_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmerge_vxm_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmv_v-1.C: New test. - * g++.target/riscv/rvv/base/vmv_v_tu-1.C: New test. - * g++.target/riscv/rvv/base/vmv_v_x_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmv_v_x_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmv_v_x_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmv_v_x_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmv_v_x_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmv_v_x_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vncvt_x-1.C: New test. - * g++.target/riscv/rvv/base/vncvt_x-2.C: New test. - * g++.target/riscv/rvv/base/vncvt_x-3.C: New test. - * g++.target/riscv/rvv/base/vncvt_x_mu-1.C: New test. - * g++.target/riscv/rvv/base/vncvt_x_mu-2.C: New test. - * g++.target/riscv/rvv/base/vncvt_x_mu-3.C: New test. - * g++.target/riscv/rvv/base/vncvt_x_tu-1.C: New test. - * g++.target/riscv/rvv/base/vncvt_x_tu-2.C: New test. - * g++.target/riscv/rvv/base/vncvt_x_tu-3.C: New test. - * g++.target/riscv/rvv/base/vncvt_x_tum-1.C: New test. - * g++.target/riscv/rvv/base/vncvt_x_tum-2.C: New test. - * g++.target/riscv/rvv/base/vncvt_x_tum-3.C: New test. - * g++.target/riscv/rvv/base/vncvt_x_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vncvt_x_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vncvt_x_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vnsra_vv-1.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv-2.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv-3.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vnsra_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx-1.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx-2.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx-3.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vnsra_vx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vnsrl_vv-1.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv-2.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv-3.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx-1.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx-2.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx-3.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vnsrl_vx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmerge-1.c: New test. - * gcc.target/riscv/rvv/base/vmerge-2.c: New test. - * gcc.target/riscv/rvv/base/vmerge-3.c: New test. - * gcc.target/riscv/rvv/base/vmerge-4.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vvm-1.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vvm-2.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vvm-3.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vvm-4.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vvm-5.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vvm-6.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vvm_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vvm_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vvm_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vvm_tu-4.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vvm_tu-5.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vvm_tu-6.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vxm_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vxm_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vxm_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vxm_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vxm_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vxm_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmv_v_x_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_x_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_x_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_x_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_x_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_x_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmv_v_v-1.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_v-2.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_v-3.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_v_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_v_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vmv_v_v_tu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vncvt_x-1.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x-2.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x-3.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_m-1.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_m-2.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_m-3.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vncvt_x_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vnsra_wv-1.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv-2.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv-3.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx-1.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx-2.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx-3.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vnsra_wx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vnsrl_wv-1.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv-2.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv-3.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx-1.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx-2.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx-3.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmsbc_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vvm-1.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vvm-2.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vvm-3.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmadc_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmadc_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmadc_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmadc_vvm-1.C: New test. - * g++.target/riscv/rvv/base/vmadc_vvm-2.C: New test. - * g++.target/riscv/rvv/base/vmadc_vvm-3.C: New test. - * g++.target/riscv/rvv/base/vmadc_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmadc_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmadc_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmadc_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmadc_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmadc_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmadc_vxm_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmadc_vxm_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmadc_vxm_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmadc_vxm_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmadc_vxm_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmadc_vxm_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmsbc-1.c: New test. - * gcc.target/riscv/rvv/base/vmsbc-2.c: New test. - * gcc.target/riscv/rvv/base/vmsbc-3.c: New test. - * gcc.target/riscv/rvv/base/vmsbc-4.c: New test. - * gcc.target/riscv/rvv/base/vmsbc-5.c: New test. - * gcc.target/riscv/rvv/base/vmsbc-6.c: New test. - * gcc.target/riscv/rvv/base/vmsbc-7.c: New test. - * gcc.target/riscv/rvv/base/vmsbc-8.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vvm-1.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vvm-2.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vvm-3.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmadc-1.c: New test. - * gcc.target/riscv/rvv/base/vmadc-2.c: New test. - * gcc.target/riscv/rvv/base/vmadc-3.c: New test. - * gcc.target/riscv/rvv/base/vmadc-4.c: New test. - * gcc.target/riscv/rvv/base/vmadc-5.c: New test. - * gcc.target/riscv/rvv/base/vmadc-6.c: New test. - * gcc.target/riscv/rvv/base/vmadc-7.c: New test. - * gcc.target/riscv/rvv/base/vmadc-8.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vvm-1.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vvm-2.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vvm-3.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vadc_vvm-1.C: New test. - * g++.target/riscv/rvv/base/vadc_vvm-2.C: New test. - * g++.target/riscv/rvv/base/vadc_vvm-3.C: New test. - * g++.target/riscv/rvv/base/vadc_vvm_tu-1.C: New test. - * g++.target/riscv/rvv/base/vadc_vvm_tu-2.C: New test. - * g++.target/riscv/rvv/base/vadc_vvm_tu-3.C: New test. - * g++.target/riscv/rvv/base/vadc_vxm_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vadc_vxm_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vadc_vxm_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vadc_vxm_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vadc_vxm_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vadc_vxm_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsbc_vvm-1.C: New test. - * g++.target/riscv/rvv/base/vsbc_vvm-2.C: New test. - * g++.target/riscv/rvv/base/vsbc_vvm-3.C: New test. - * g++.target/riscv/rvv/base/vsbc_vvm_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsbc_vvm_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsbc_vvm_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsbc_vxm_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsbc_vxm_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsbc_vxm_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsbc_vxm_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsbc_vxm_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsbc_vxm_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsbc-1.c: New test. - * gcc.target/riscv/rvv/base/vsbc-2.c: New test. - * gcc.target/riscv/rvv/base/vsbc-3.c: New test. - * gcc.target/riscv/rvv/base/vsbc-4.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vvm-1.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vvm-2.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vvm-3.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vvm_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vvm_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vvm_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vadc-1.c: New test. - * gcc.target/riscv/rvv/base/vadc-2.c: New test. - * gcc.target/riscv/rvv/base/vadc-3.c: New test. - * gcc.target/riscv/rvv/base/vadc-4.c: New test. - * gcc.target/riscv/rvv/base/vadc_vvm-1.c: New test. - * gcc.target/riscv/rvv/base/vadc_vvm-2.c: New test. - * gcc.target/riscv/rvv/base/vadc_vvm-3.c: New test. - * gcc.target/riscv/rvv/base/vadc_vvm_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vadc_vvm_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vadc_vvm_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vadc_vxm_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vadc_vxm_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vadc_vxm_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vadc_vxm_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vadc_vxm_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vadc_vxm_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/binop_vx_constraint-121.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwadd_vv-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_vx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwadd_wv-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_wv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwadd_wx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwaddu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_vx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwaddu_wv-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwaddu_wx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwcvt_x-1.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x-2.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x-3.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwcvt_x_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x-1.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x-2.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x-3.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwcvtu_x_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwmul_vv-1.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv-2.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv-3.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmul_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx-1.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx-2.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx-3.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmul_vx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwmulsu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx-1.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx-2.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx-3.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwmulu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx-1.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx-2.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx-3.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwmulu_vx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwsub_vv-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_vx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwsub_wv-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_wv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwsub_wx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwsubu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_vx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vwsubu_wv-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vwsubu_wx_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/binop_vx_constraint-120.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwadd_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_vx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwadd_wv-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwadd_wx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwaddu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_vx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwaddu_wv-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwaddu_wx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwcvt_x-1.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x-2.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x-3.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwcvt_x_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x-1.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x-2.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x-3.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwcvtu_x_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwmul_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmul_vx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwmulsu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwmulu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwmulu_vx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwsub_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwsub_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_vx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwsub_wv-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwsub_wx-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsub_wx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwsubu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwsubu_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_vx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwsubu_wv-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vwsubu_wx-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vwsubu_wx_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmulh_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmulhsu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmulh_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmulhsu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmulhu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsext_vf2-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf2_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf4_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsext_vf8_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vzext_vf2-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2-3.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2_mu-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2_mu-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2_mu-3.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2_tu-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2_tu-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2_tu-3.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2_tum-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2_tum-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2_tum-3.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf2_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vzext_vf4-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4-3.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4_mu-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4_mu-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4_mu-3.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4_tu-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4_tu-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4_tu-3.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4_tum-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4_tum-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4_tum-3.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf4_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vzext_vf8-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8-3.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8_mu-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8_mu-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8_mu-3.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8_tu-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8_tu-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8_tu-3.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8_tum-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8_tum-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8_tum-3.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vzext_vf8_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/unop_v_constraint-2.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsext_vf2-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf2_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsext_vf4-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf4_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsext_vf8-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsext_vf8_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vzext_vf2-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_m-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_m-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_m-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf2_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vzext_vf4-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_m-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_m-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_m-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf4_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vzext_vf8-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_m-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_m-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_m-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vzext_vf8_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vssub_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vssub_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsadd_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsadd_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsaddu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsaddu_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vssub_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vssub_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vssubu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vssubu_vv_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vssubu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vssubu_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vssub_vv-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vv-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vv-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vssub_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vssub_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vssub_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsaddu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsaddu_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsadd_vv-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsadd_vv_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/binop_vx_constraint-100.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-101.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-103.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-104.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-105.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-106.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-107.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-109.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-110.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-111.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-112.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-113.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-115.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-116.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-117.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-118.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-97.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-98.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-99.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vneg_v-1.C: New test. - * g++.target/riscv/rvv/base/vneg_v-2.C: New test. - * g++.target/riscv/rvv/base/vneg_v-3.C: New test. - * g++.target/riscv/rvv/base/vneg_v_mu-1.C: New test. - * g++.target/riscv/rvv/base/vneg_v_mu-2.C: New test. - * g++.target/riscv/rvv/base/vneg_v_mu-3.C: New test. - * g++.target/riscv/rvv/base/vneg_v_tu-1.C: New test. - * g++.target/riscv/rvv/base/vneg_v_tu-2.C: New test. - * g++.target/riscv/rvv/base/vneg_v_tu-3.C: New test. - * g++.target/riscv/rvv/base/vneg_v_tum-1.C: New test. - * g++.target/riscv/rvv/base/vneg_v_tum-2.C: New test. - * g++.target/riscv/rvv/base/vneg_v_tum-3.C: New test. - * g++.target/riscv/rvv/base/vneg_v_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vneg_v_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vneg_v_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vnot_v-1.C: New test. - * g++.target/riscv/rvv/base/vnot_v-2.C: New test. - * g++.target/riscv/rvv/base/vnot_v-3.C: New test. - * g++.target/riscv/rvv/base/vnot_v_mu-1.C: New test. - * g++.target/riscv/rvv/base/vnot_v_mu-2.C: New test. - * g++.target/riscv/rvv/base/vnot_v_mu-3.C: New test. - * g++.target/riscv/rvv/base/vnot_v_tu-1.C: New test. - * g++.target/riscv/rvv/base/vnot_v_tu-2.C: New test. - * g++.target/riscv/rvv/base/vnot_v_tu-3.C: New test. - * g++.target/riscv/rvv/base/vnot_v_tum-1.C: New test. - * g++.target/riscv/rvv/base/vnot_v_tum-2.C: New test. - * g++.target/riscv/rvv/base/vnot_v_tum-3.C: New test. - * g++.target/riscv/rvv/base/vnot_v_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vnot_v_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vnot_v_tumu-3.C: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/unop_v_constraint-1.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vneg_v-1.c: New test. - * gcc.target/riscv/rvv/base/vneg_v-2.c: New test. - * gcc.target/riscv/rvv/base/vneg_v-3.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vneg_v_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vnot_v-1.c: New test. - * gcc.target/riscv/rvv/base/vnot_v-2.c: New test. - * gcc.target/riscv/rvv/base/vnot_v-3.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vnot_v_tumu-3.c: New test. - -2023-02-12 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/exception-1.C: New test. - -2023-02-11 Jakub Jelinek - - PR ipa/108605 - * c-c++-common/pr108605.c: New test. - -2023-02-11 Jonathan Yong <10walls@gmail.com> - - * gcc.dg/pr65658.c: fix LLP64 test. - -2023-02-11 Jonathan Yong <10walls@gmail.com> - - * c-c++-common/Wsizeof-array-div1.c: fix excess warnings. - * gcc.dg/Warray-bounds-52.c: ditto - * gcc.dg/Wstringop-overflow-62.c: ditto - * gcc.dg/attr-vector_size.c: ditto - * gcc.dg/overflow-warn-9.c: ditto - -2023-02-10 David Malcolm - - PR analyzer/108745 - * gcc.dg/analyzer/deref-before-check-macro-pr108745.c: New test. - * gcc.dg/analyzer/deref-before-check-macro.c: New test. - -2023-02-10 Andrew MacLeod - - PR tree-optimization/108520 - * g++.dg/pr108520.C: New. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vand_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vand_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vand_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vand_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vand_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vand_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vand_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vand_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vand_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vand_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vand_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vand_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vand_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmax_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmin_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vminu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmul_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vor_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vor_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vor_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vor_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vor_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vor_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vor_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vor_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vor_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vor_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vor_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vor_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vor_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vrem_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vremu_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vadd_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsub_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vxor_vx_mu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_mu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_mu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_mu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_mu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_mu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tu_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tum_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tum_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tum_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tum_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tum_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tum_rv64-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/binop_vx_constraint-1.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-10.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-11.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-12.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-13.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-14.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-15.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-16.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-17.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-18.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-19.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-2.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-20.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-22.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-24.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-26.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-28.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-3.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-30.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-32.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-34.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-35.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-36.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-37.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-38.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-39.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-4.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-40.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-41.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-42.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-43.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-44.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-45.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-46.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-47.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-48.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-49.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-5.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-50.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-51.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-52.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-53.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-54.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-55.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-56.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-57.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-58.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-59.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-6.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-60.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-61.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-62.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-63.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-64.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-65.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-66.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-67.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-68.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-69.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-7.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-70.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-71.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-72.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-73.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-74.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-75.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-76.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-77.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-78.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-79.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-80.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-81.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-82.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-83.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-84.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-85.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-86.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-87.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-88.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-89.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-9.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-90.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-91.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-92.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-93.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-94.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-95.c: New test. - * gcc.target/riscv/rvv/base/binop_vx_constraint-96.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vadd_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vand_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vdiv_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vdivu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmax_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmin_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vminu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmul_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vor_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vrem_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vremu_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vrsub_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsub_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vxor_vx_m_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_m_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_m_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_m_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_m_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_m_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_mu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_mu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_mu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_mu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_mu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_mu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tu_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tum_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tum_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tum_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tum_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tum_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tum_rv64-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv32-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv32-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv32-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv64-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv64-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv64-3.c: New test. - -2023-02-10 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmul_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vmul_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vmul_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vmul_vv_tumu-3.C: New test. - -2023-02-10 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmul_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vmul_vv_tumu-3.c: New test. - -2023-02-10 Richard Biener - - PR tree-optimization/108724 - * gcc.target/i386/pr108724.c: New testcase. - -2023-02-10 Andrew Pinski - Andrew Macleod - - PR tree-optimization/108684 - * gcc.c-torture/compile/dce-inline-asm-1.c: New test. - * gcc.c-torture/compile/dce-inline-asm-2.c: New test. - * gcc.dg/tree-ssa/pr108684-1.c: New test. - -2023-02-10 Joseph Myers - - * gcc.dg/c2x-nullptr-1.c: Test conversion of null pointer - constants to nullptr_t. - * gcc.dg/c2x-nullptr-3.c: Do not expect errors for conversion of - null pointer constants to nullptr_t. Do test errors for - conversion of other values to nullptr_t and for unary '+' on - nullptr_t. - -2023-02-10 Hans-Peter Nilsson - - PR tree-optimization/107561 - * g++.dg/warn/Warray-bounds-16.C: XFAIL bogus "overflows destination" - warning. - * g++.dg/pr71488.C: Ditto, but just for ilp32 targets. - -2023-02-10 Hans-Peter Nilsson - - PR testsuite/106120 - * g++.dg/warn/Wstringop-overflow-4.C:144 XFAIL bogus warning for - ilp32 targets with c++98. - -2023-02-10 Marek Polacek - - PR c++/107079 - * g++.dg/cpp0x/constexpr-nsdmi2.C: New test. - -2023-02-09 David Malcolm - - PR analyzer/108733 - * gcc.dg/analyzer/torture/uninit-pr108733.c: New test. - -2023-02-09 Vladimir N. Makarov - - * gcc.target/i386/pr103541.c: New. - * g++.target/i386/pr108711.C: New. - -2023-02-09 Harald Anlauf - Steven G. Kargl - - PR fortran/69636 - PR fortran/103779 - * gfortran.dg/pr103779.f90: New test. - -2023-02-09 Jakub Jelinek - - PR tree-optimization/108688 - * gcc.c-torture/compile/pr108688-1.c: Add PR number as comment. - * gcc.dg/pr108688.c: New test. - -2023-02-09 Andrew Pinski - - PR tree-optimization/108688 - * gcc.c-torture/compile/pr108688-1.c: New test. - -2023-02-09 Tobias Burnus - - PR fortran/107424 - * gfortran.dg/goacc/privatization-1-compute-loop.f90: Update dg-note. - * gfortran.dg/goacc/privatization-1-routine_gang-loop.f90: Likewise. - -2023-02-09 Tobias Burnus - - * c-c++-common/gomp/allocate-5.c: Extend for align clause. - -2023-02-09 Tobias Burnus - - * gfortran.dg/gomp/openmp-simd-8.f90: New test. - -2023-02-09 Jakub Jelinek - - PR c++/108698 - * g++.dg/cpp0x/pr108698.C: New test. - -2023-02-08 Joseph Myers - - * gcc.dg/c2x-constexpr-1.c: Test initialization of constexpr - pointers with null values that are not null pointer constants. - * gcc.dg/c2x-constexpr-3.c: Test initialization of constexpr - pointers with non-null values, not with null values that are not - null pointer constants. - -2023-02-08 Hans-Peter Nilsson - - * gcc.dg/torture/pr100398.c: Limit to lra targets. - * gcc.dg/pr100590.c: Ditto. - -2023-02-08 David Malcolm - - PR analyzer/108704 - * gcc.dg/analyzer/uninit-7.c: New test. - * gcc.dg/analyzer/uninit-pr108704.c: New test. - -2023-02-08 Steve Kargl - - PR fortran/103259 - * gfortran.dg/pr103259.f90: New test. - -2023-02-08 Jakub Jelinek - - PR tree-optimization/108692 - * gcc.dg/pr108692.c: New test. - -2023-02-08 Richard Sandiford - - * objc/execute/execute.exp: Load objc-dg.exp. - -2023-02-08 Richard Sandiford - - PR tree-optimization/108316 - * gcc.dg/vect/pr108316.c: New test. - -2023-02-08 Vladimir N. Makarov - - Revert: - 2023-02-08 Vladimir N. Makarov - - * gcc.target/i386/pr103541.c: New. - -2023-02-08 Jakub Jelinek - - PR c++/108525 - * g++.dg/cpp23/static-operator-call5.C: Move PR108525 testcase - incorrectly applied into PR108526 testcase ... - * g++.dg/cpp23/static-operator-call6.C: ... here. New test. - -2023-02-07 David Malcolm - - PR analyzer/108661 - * gcc.dg/analyzer/fread-pr108661.c: New test. - * gcc.dg/analyzer/read-pr108661.c: New test. - -2023-02-07 Harald Anlauf - - PR fortran/95107 - * gfortran.dg/save_7.f90: New test. - -2023-02-07 Vladimir N. Makarov - - * gcc.target/i386/pr103541.c: New. - -2023-02-07 Jakub Jelinek - - PR tree-optimization/106923 - * gcc.dg/pr106923.c: New test. - -2023-02-07 Jakub Jelinek - - PR tree-optimization/106433 - * gcc.c-torture/compile/pr106433.c: New test. - -2023-02-07 Jakub Jelinek - - * g++.dg/warn/Wstrict-aliasing-bogus-union-2.C: Expect - -Wdeprecated warning for C++23. - -2023-02-06 Alex Coplan - - PR target/104921 - * gcc.target/aarch64/pr104921-1.c: New test. - * gcc.target/aarch64/pr104921-2.c: New test. - * gcc.target/aarch64/pr104921.x: Include file for new tests. - -2023-02-06 Xi Ruoyao - - * g++.target/loongarch/bytepick.C: New test. - -2023-02-06 Tamar Christina - - * gcc.target/aarch64/options_set_10.c: Removed. - -2023-02-06 Jakub Jelinek - - PR tree-optimization/108655 - * gcc.dg/pr108655.c: New test. - -2023-02-06 Patrick Palka - - PR c++/107461 - * g++.dg/cpp0x/overload5.C: New test. - * g++.dg/cpp0x/overload5a.C: New test. - * g++.dg/cpp0x/overload6.C: New test. - -2023-02-05 Harald Anlauf - - PR fortran/108592 - * gfortran.dg/pr108592.f90: New test. - -2023-02-03 Jakub Jelinek - - PR tree-optimization/108647 - * g++.dg/torture/pr108647.C: New test. - -2023-02-03 Aldy Hernandez - - PR tree-optimization/108639 - * gcc.c-torture/compile/pr108638.c: New file. - * gcc.c-torture/compile/pr108639.c: New file. - -2023-02-03 Andrew MacLeod - - PR tree-optimization/107570 - * gcc.dg/pr107570.c: New. - -2023-02-03 Marek Polacek - - PR c++/108158 - * g++.dg/cpp1y/constexpr-108158.C: New test. - -2023-02-03 Marek Polacek - - PR c++/101071 - * g++.dg/cpp0x/variadic-alias8.C: New test. - -2023-02-03 Patrick Palka - - PR c++/107461 - * g++.dg/template/call9.C: New test. - -2023-02-03 Patrick Palka - - PR c++/96745 - * g++.dg/cpp2a/concepts-dtor1.C: New test. - -2023-02-03 Patrick Palka - - PR c++/108579 - * g++.dg/cpp2a/concepts-pr108579.C: New test. - -2023-02-03 Martin Jambor - - PR ipa/108384 - * gcc.dg/ipa/pr108384.c: New test. - -2023-02-03 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/binop_vv_constraint-1.c: - * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: - -2023-02-03 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsll_vx-1.C: New test. - * g++.target/riscv/rvv/base/vsll_vx-2.C: New test. - * g++.target/riscv/rvv/base/vsll_vx-3.C: New test. - * g++.target/riscv/rvv/base/vsll_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsll_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsll_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsll_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsll_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsll_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsll_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsll_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsll_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsll_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsll_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsll_vx_tumu-3.C: New test. - -2023-02-03 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsra_vx-1.C: New test. - * g++.target/riscv/rvv/base/vsra_vx-2.C: New test. - * g++.target/riscv/rvv/base/vsra_vx-3.C: New test. - * g++.target/riscv/rvv/base/vsra_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsra_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsra_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsra_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsra_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsra_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsra_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsra_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsra_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsra_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsra_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsra_vx_tumu-3.C: New test. - -2023-02-03 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsrl_vx-1.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx-2.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx-3.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsrl_vx_tumu-3.C: New test. - -2023-02-03 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: New test. - -2023-02-03 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsll_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsll_vx_tumu-3.c: New test. - -2023-02-03 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsra_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsra_vx_tumu-3.c: New test. - -2023-02-03 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsrl_vx-1.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx-2.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx-3.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vx_tumu-3.c: New test. - -2023-02-02 Joseph Myers - - * gcc.dg/c2x-constexpr-3.c: Do not expect comparison of nullptr_t - and pointer to be disallowed. - * gcc.dg/c2x-nullptr-1.c: Test comparisons of nullptr_t and - pointers are allowed. - * gcc.dg/c2x-nullptr-3.c: Do not test that comparisons of - nullptr_t and pointers are disallowed. - -2023-02-02 Joseph Myers - - * gcc.dg/c2x-constexpr-1.c: Test constexpr initializers of complex - types with real initializers are allowed. - * gcc.dg/c2x-constexpr-3.c: Do not test for constexpr initializers - of complex types with real initializers being disallowed. - * gcc.dg/c2x-constexpr-8.c: Add tests of signaling NaN complex - initializers. - * gcc.dg/c2x-constexpr-9.c: Add more tests. - * gcc.dg/dfp/c2x-constexpr-dfp-1.c: Add tests of binary floating - initializers for decimal types. - * gcc.dg/dfp/c2x-constexpr-dfp-2.c: Change tests of binary - initializers for decimal types. Add more tests of decimal - initializers for binary types. - -2023-02-02 Paul-Antoine Arras - - * gcc.target/gcn/cond_shift_3.c: New test. - * gcc.target/gcn/cond_shift_3_run.c: New test. - * gcc.target/gcn/cond_shift_4.c: New test. - * gcc.target/gcn/cond_shift_4_run.c: New test. - * gcc.target/gcn/cond_shift_8.c: New test. - * gcc.target/gcn/cond_shift_8_run.c: New test. - * gcc.target/gcn/cond_shift_9.c: New test. - * gcc.target/gcn/cond_shift_9_run.c: New test. - -2023-02-02 Richard Sandiford - - PR rtl-optimization/108508 - * gcc.target/aarch64/pr108508.c: New test. - -2023-02-02 Richard Sandiford - - * g++.dg/tree-ssa/pr107876.C: Add --param case-values-threshold=4. - -2023-02-02 David Malcolm - - PR analyzer/108633 - * gcc.dg/analyzer/fd-pr108633.c: New test. - -2023-02-02 David Malcolm - - * gcc.dg/analyzer/deref-before-check-qemu-qtest_rsp_args.c: New test. - -2023-02-02 Jakub Jelinek - - PR debug/106746 - PR rtl-optimization/108463 - PR target/108484 - * gcc.dg/pr108463.c: New test. - -2023-02-02 Richard Biener - - PR middle-end/108625 - * gcc.dg/pr108625.c: New testcase. - -2023-02-02 Andrew Stubbs - - * gcc.c-torture/execute/pr47237.c: Xfail on amdgcn. - * gcc.dg/builtin-apply3.c: Xfail for amdgcn. - * gcc.dg/builtin-apply4.c: Xfail for amdgcn. - * gcc.dg/torture/stackalign/builtin-apply-3.c: Xfail for amdgcn. - * gcc.dg/torture/stackalign/builtin-apply-4.c: Xfail for amdgcn. - -2023-02-02 Andre Vieira - - * gcc.target/arm/mve/pr108443-run.c: New test. - * gcc.target/arm/mve/pr108443.c: New test. - -2023-02-02 Andre Vieira - - * gcc.target/arm/mve/mve_vpt.c: Change to remove unecessary zero-extend. - -2023-02-02 Andre Vieira - - PR target/107674 - * gcc.target/arm/mve/mve_vpt.c: New test. - -2023-02-02 Jakub Jelinek - - PR ipa/107300 - * gcc.dg/pr107300.c: New test. - -2023-02-02 liuhongt - - * gcc.target/aarch64/pr108601.c: New test. - -2023-02-02 Jakub Jelinek - - PR middle-end/108435 - * gcc.dg/gomp/pr108435.c: New test. - -2023-02-01 Harald Anlauf - - PR fortran/108609 - * gfortran.dg/pr108527.f90: Adjust test pattern. - -2023-02-01 Tamar Christina - - * gcc.target/aarch64/cpunative/info_19: New test. - * gcc.target/aarch64/cpunative/info_20: New test. - * gcc.target/aarch64/cpunative/info_21: New test. - * gcc.target/aarch64/cpunative/info_22: New test. - * gcc.target/aarch64/cpunative/native_cpu_19.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_20.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_21.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_22.c: New test. - -2023-02-01 Siddhesh Poyarekar - - * gcc.dg/builtin-dynamic-object-size-0.c: Move FAIL and nfail - into... - * gcc.dg/builtin-object-size-common.h: ... new file. - * g++.dg/ext/builtin-object-size1.C: Include - builtin-object-size-common.h. Replace all abort with FAIL. - (main): Call DONE. - * g++.dg/ext/builtin-object-size2.C: Likewise. - * gcc.dg/builtin-object-size-1.c: Likewise. - * gcc.dg/builtin-object-size-12.c: Likewise. - * gcc.dg/builtin-object-size-13.c: Likewise. - * gcc.dg/builtin-object-size-15.c: Likewise. - * gcc.dg/builtin-object-size-2.c: Likewise. - * gcc.dg/builtin-object-size-3.c: Likewise. - * gcc.dg/builtin-object-size-4.c: Likewise. - * gcc.dg/builtin-object-size-6.c: Likewise. - * gcc.dg/builtin-object-size-7.c: Likewise. - * gcc.dg/builtin-object-size-8.c: Likewise. - * gcc.dg/pr101836.c: Likewise. - * gcc.dg/strict-flex-array-3.c: Likewise. - -2023-02-01 Andrew MacLeod - - PR tree-optimization/108356 - * gcc.dg/pr108356.c: New. - -2023-02-01 Martin Liska - - PR ipa/108509 - * g++.dg/ipa/pr108509.C: New test. - -2023-02-01 Marek Polacek - - PR c++/107755 - * g++.dg/warn/Wlogical-op-4.C: New test. - -2023-02-01 Jakub Jelinek - - PR debug/108573 - * gcc.dg/pr108573.c: New test. - -2023-02-01 Richard Sandiford - - * g++.dg/gomp/attrs-10.C: Update warning strings for aarch64. - * g++.dg/gomp/declare-simd-8.C: Add expected warning for aarch64. - -2023-02-01 Jakub Jelinek - - PR c++/108607 - * g++.dg/gomp/pr108607.C: New test. - -2023-02-01 Andreas Krebbel - - * gcc.target/s390/preserve-args-1.c: New test. - * gcc.target/s390/preserve-args-2.c: New test. - * gcc.target/s390/preserve-args-3.c: New file. - -2023-02-01 Jason Merrill - - * g++.dg/warn/changes-meaning2.C: New test. - * g++.dg/warn/changes-meaning3.C: New test. - -2023-02-01 David Malcolm - - * gcc.dg/analyzer/call-summaries-2.c: Add - dg-require-effective-target alloca. - * gcc.dg/analyzer/imprecise-floating-point-1.c: Likewise. - * gcc.dg/analyzer/infinite-recursion-alloca.c: Likewise. - * gcc.dg/analyzer/malloc-callbacks.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-5.c: Likewise. Remove includes - of and . Use "__builtin_free" rather than - "free", to match uses of "__builtin_malloc". - * gcc.dg/analyzer/putenv-1.c: Add dg-require-effective-target - alloca. - * gcc.dg/analyzer/write-to-string-literal-5.c: Likewise. - -2023-02-01 David Malcolm - - PR analyzer/108616 - * gcc.dg/analyzer/allocation-size-multiline-3.c: New test. - * gcc.dg/analyzer/test-alloca.h: New test. - -2023-01-31 Jason Merrill - - PR c++/108559 - * g++.dg/cpp1z/aggr-base13.C: New test. - -2023-01-31 Thomas Schwinge - - * lib/gm2.exp (gm2_link_flags) [$gccpath != ""]: Also consider - 'gcc-set-multilib-library-path' for 'ld_library_path'. - -2023-01-31 Marek Polacek - - PR c++/102870 - * g++.dg/cpp0x/variadic184.C: New test. - -2023-01-31 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vdiv_vv-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vdiv_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vdivu_vv_tumu-3.C: New test. - -2023-01-31 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmax_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vmax_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vmax_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vmax_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vmaxu_vv_tumu-3.C: New test. - -2023-01-31 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vmin_vv-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vv-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vv-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vmin_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vmin_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vmin_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vminu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vminu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vminu_vv_tumu-3.C: New test. - -2023-01-31 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vor_vv-1.C: New test. - * g++.target/riscv/rvv/base/vor_vv-2.C: New test. - * g++.target/riscv/rvv/base/vor_vv-3.C: New test. - * g++.target/riscv/rvv/base/vor_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vor_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vor_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vor_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vor_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vor_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vor_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vor_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vor_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vor_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vor_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vor_vv_tumu-3.C: New test. - -2023-01-31 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vrem_vv-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vv-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vv-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vrem_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vrem_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vrem_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vv-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vv-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vv-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vremu_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vremu_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vremu_vv_tumu-3.C: New test. - -2023-01-31 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsll_vv-1.C: New test. - * g++.target/riscv/rvv/base/vsll_vv-2.C: New test. - * g++.target/riscv/rvv/base/vsll_vv-3.C: New test. - * g++.target/riscv/rvv/base/vsll_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsll_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsll_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsll_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsll_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsll_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsll_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsll_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsll_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsll_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsll_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsll_vv_tumu-3.C: New test. - -2023-01-31 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsra_vv-1.C: New test. - * g++.target/riscv/rvv/base/vsra_vv-2.C: New test. - * g++.target/riscv/rvv/base/vsra_vv-3.C: New test. - * g++.target/riscv/rvv/base/vsra_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsra_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsra_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsra_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsra_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsra_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsra_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsra_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsra_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsra_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsra_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsra_vv_tumu-3.C: New test. - -2023-01-31 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsrl_vv-1.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv-2.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv-3.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsrl_vv_tumu-3.C: New test. - -2023-01-31 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vand_vv-1.C: New test. - * g++.target/riscv/rvv/base/vand_vv-2.C: New test. - * g++.target/riscv/rvv/base/vand_vv-3.C: New test. - * g++.target/riscv/rvv/base/vand_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vand_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vand_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vand_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vand_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vand_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vand_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vand_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vand_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vand_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vand_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vand_vv_tumu-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vv-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vv-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vv-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vsub_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsub_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vsub_vv_tumu-3.C: New test. - -2023-01-31 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vxor_vv-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vv-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vv-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vxor_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vxor_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vxor_vv_tumu-3.C: New test. - -2023-01-31 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vadd_vv-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vv-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vv-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vv_mu-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vv_mu-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vv_mu-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vv_tu-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vv_tu-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vv_tu-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vv_tum-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vv_tum-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vv_tum-3.C: New test. - * g++.target/riscv/rvv/base/vadd_vv_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vadd_vv_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vadd_vv_tumu-3.C: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/binop_vv_constraint-1.c: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vadd_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vadd_vv_tumu-3.c: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vand_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vand_vv_tumu-3.c: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vdiv_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vdiv_vv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vdivu_vv_tumu-3.c: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmax_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vmax_vv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vmaxu_vv_tumu-3.c: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vmin_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vmin_vv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vminu_vv_tumu-3.c: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vor_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vor_vv_tumu-3.c: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vrem_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vrem_vv_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vremu_vv_tumu-3.c: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsll_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsll_vv_tumu-3.c: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsra_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsra_vv_tumu-3.c: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsrl_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsrl_vv_tumu-3.c: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsub_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vsub_vv_tumu-3.c: New test. - -2023-01-31 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vxor_vv-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_m-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_m-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_m-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vxor_vv_tumu-3.c: New test. - -2023-01-31 Marek Polacek - - PR c++/107593 - PR c++/108597 - * g++.dg/warn/Wduplicated-cond3.C: New test. - * g++.dg/warn/Wduplicated-cond4.C: New test. - * g++.dg/warn/Wduplicated-cond5.C: New test. - -2023-01-31 Philipp Tomsich - - PR target/108589 - * gcc.target/aarch64/pr108589.c: New test. - -2023-01-31 Richard Sandiford - - PR tree-optimization/108608 - * gcc.dg/vect/pr108608.c: New test. - * gcc.target/aarch64/sve/pr108608-1.c: Likewise. - -2023-01-31 Andrew MacLeod - - PR tree-optimization/108385 - * gcc.dg/pr108385.c: New. - -2023-01-31 Andrew MacLeod - - PR tree-optimization/108359 - * gcc.dg/pr108359.c: New. - -2023-01-31 Philip Herron - - * rust/compile/issue-1073.rs: New test. - -2023-01-31 Philip Herron - - * rust/compile/issue-1006.rs: New test. - -2023-01-31 Philip Herron - - * rust/compile/const_generics_5.rs: Fix assertions. - * rust/compile/unconstrained_type_param.rs: Add more assertions. - -2023-01-31 liushuyu - - * rust/compile/builtin_macro_recurse.rs: New test. - -2023-01-31 liushuyu - - * rust/compile/builtin_macro_concat.rs: Fix test error messages. - * rust/compile/builtin_macro_env.rs: Likewise. - -2023-01-31 Arthur Cohen - - * rust/compile/frust-compile-until.rs: New test. - -2023-01-31 Philip Herron - - * rust/compile/rust-const-blog-issue.rs: New test. - -2023-01-31 Arthur Cohen - - * rust/compile/macro44.rs: New test. - -2023-01-31 Arthur Cohen - - * rust/compile/macro_export_1.rs: New test. - -2023-01-31 Arthur Cohen - - * rust/compile/const_generics_8.rs: New test. - -2023-01-31 Arthur Cohen - - * rust/compile/const_generics_7.rs: New test. - -2023-01-31 liushuyu - - * rust/execute/torture/loop-condition-eval.rs: New test. - -2023-01-31 Faisal Abbas <90.abbasfaisal@gmail.com> - - * rust/compile/const8.rs: New test. - -2023-01-31 Faisal Abbas <90.abbasfaisal@gmail.com> - - * rust/compile/const7.rs: New test. - -2023-01-31 Faisal Abbas <90.abbasfaisal@gmail.com> - - * rust/compile/const6.rs: New test. - -2023-01-31 Philip Herron - - * rust/compile/issue-1152.rs: Fix dejagnu assertion. - * rust/compile/tuple1.rs: Likewise. - * rust/compile/type-alias1.rs: Likewise. - * rust/execute/torture/operator_overload_9.rs: Likewise. - * rust/execute/torture/slice1.rs: Rework test to use new parsing - capability and stick to the original implementation. - -2023-01-31 Arthur Cohen - - * rust/compile/macro43.rs: New test. - -2023-01-31 Arthur Cohen - - * rust/compile/parse_range.rs: New test. - -2023-01-31 Arthur Cohen - - * rust/compile/issue-1031.rs: Remove extraneous dead code warnings. - * rust/compile/issue-1289.rs: Likewise. - * rust/compile/test_mod.rs: Likewise. - * rust/compile/torture/raw_identifiers.rs: Likewise. - * rust/compile/torture/raw_identifiers_keywords.rs: Likewise. - * rust/compile/privacy7.rs: New test. - -2023-01-31 Arthur Cohen - - * rust/compile/rustc_attr1.rs: New test. - -2023-01-31 Arthur Cohen - - * rust/debug/win64-abi.rs: Fix assertion to take into account - overflow builtins - * rust/compile/torture/macro-issue1426.rs: Moved to... - * rust/execute/torture/macro-issue1426.rs: ...here. - * rust/execute/torture/overflow1.rs: New test. - -2023-01-31 Philip Herron - - * rust/compile/torture/issue-1506.rs: New test. - -2023-01-31 Faisal Abbas <90.abbasfaisal@gmail.com> - - * rust/compile/const4.rs: New. - * rust/compile/const5.rs: New. - -2023-01-31 Gaius Mulley - - * lib/gm2.exp (gm2_init_pimx): Replace gm2-libs-pim with - gm2-libs-log. - (gm2_init_iso): Replace gm2-libs-pim with gm2-libs-log. - (gm2_init_ulm): Replace gm2-libs-pim with gm2-libs-log. - (gm2_init_log): Replace gm2-libs-pim with gm2-libs-log. - (gm2_init_cor): Replace gm2-libs-pim with gm2-libs-log. - -2023-01-31 Jakub Jelinek - - PR target/108599 - * gcc.target/i386/avx2-pr108599.c: New test. - -2023-01-31 Xianmiao Qu - - PR testsuite/108604 - * gcc.dg/torture/pr108574-3.c (b, f): Change type from char to - signed char. - -2023-01-31 Jakub Jelinek - - PR rtl-optimization/108596 - * gcc.c-torture/compile/pr108596.c: New test. - -2023-01-31 Jakub Jelinek - - PR c++/105593 - * gcc.target/i386/sse-23.c: Add -Wuninitialized to dg-options. - -2023-01-31 Kito Cheng - - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: Refine the scan - condition. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: Ditto. - -2023-01-30 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vloxei64-1.C: New test. - * g++.target/riscv/rvv/base/vloxei64-2.C: New test. - * g++.target/riscv/rvv/base/vloxei64-3.C: New test. - * g++.target/riscv/rvv/base/vloxei64_mu-1.C: New test. - * g++.target/riscv/rvv/base/vloxei64_mu-2.C: New test. - * g++.target/riscv/rvv/base/vloxei64_mu-3.C: New test. - * g++.target/riscv/rvv/base/vloxei64_tu-1.C: New test. - * g++.target/riscv/rvv/base/vloxei64_tu-2.C: New test. - * g++.target/riscv/rvv/base/vloxei64_tu-3.C: New test. - * g++.target/riscv/rvv/base/vloxei64_tum-1.C: New test. - * g++.target/riscv/rvv/base/vloxei64_tum-2.C: New test. - * g++.target/riscv/rvv/base/vloxei64_tum-3.C: New test. - * g++.target/riscv/rvv/base/vloxei64_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vloxei64_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vloxei64_tumu-3.C: New test. - -2023-01-30 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vloxei32-1.C: New test. - * g++.target/riscv/rvv/base/vloxei32-2.C: New test. - * g++.target/riscv/rvv/base/vloxei32-3.C: New test. - * g++.target/riscv/rvv/base/vloxei32_mu-1.C: New test. - * g++.target/riscv/rvv/base/vloxei32_mu-2.C: New test. - * g++.target/riscv/rvv/base/vloxei32_mu-3.C: New test. - * g++.target/riscv/rvv/base/vloxei32_tu-1.C: New test. - * g++.target/riscv/rvv/base/vloxei32_tu-2.C: New test. - * g++.target/riscv/rvv/base/vloxei32_tu-3.C: New test. - * g++.target/riscv/rvv/base/vloxei32_tum-1.C: New test. - * g++.target/riscv/rvv/base/vloxei32_tum-2.C: New test. - * g++.target/riscv/rvv/base/vloxei32_tum-3.C: New test. - * g++.target/riscv/rvv/base/vloxei32_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vloxei32_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vloxei32_tumu-3.C: New test. - -2023-01-30 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vloxei16-1.C: New test. - * g++.target/riscv/rvv/base/vloxei16-2.C: New test. - * g++.target/riscv/rvv/base/vloxei16-3.C: New test. - * g++.target/riscv/rvv/base/vloxei16_mu-1.C: New test. - * g++.target/riscv/rvv/base/vloxei16_mu-2.C: New test. - * g++.target/riscv/rvv/base/vloxei16_mu-3.C: New test. - * g++.target/riscv/rvv/base/vloxei16_tu-1.C: New test. - * g++.target/riscv/rvv/base/vloxei16_tu-2.C: New test. - * g++.target/riscv/rvv/base/vloxei16_tu-3.C: New test. - * g++.target/riscv/rvv/base/vloxei16_tum-1.C: New test. - * g++.target/riscv/rvv/base/vloxei16_tum-2.C: New test. - * g++.target/riscv/rvv/base/vloxei16_tum-3.C: New test. - * g++.target/riscv/rvv/base/vloxei16_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vloxei16_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vloxei16_tumu-3.C: New test. - -2023-01-30 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vloxei8-1.C: New test. - * g++.target/riscv/rvv/base/vloxei8-2.C: New test. - * g++.target/riscv/rvv/base/vloxei8-3.C: New test. - * g++.target/riscv/rvv/base/vloxei8_mu-1.C: New test. - * g++.target/riscv/rvv/base/vloxei8_mu-2.C: New test. - * g++.target/riscv/rvv/base/vloxei8_mu-3.C: New test. - * g++.target/riscv/rvv/base/vloxei8_tu-1.C: New test. - * g++.target/riscv/rvv/base/vloxei8_tu-2.C: New test. - * g++.target/riscv/rvv/base/vloxei8_tu-3.C: New test. - * g++.target/riscv/rvv/base/vloxei8_tum-1.C: New test. - * g++.target/riscv/rvv/base/vloxei8_tum-2.C: New test. - * g++.target/riscv/rvv/base/vloxei8_tum-3.C: New test. - * g++.target/riscv/rvv/base/vloxei8_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vloxei8_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vloxei8_tumu-3.C: New test. - -2023-01-30 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vluxei64-1.C: New test. - * g++.target/riscv/rvv/base/vluxei64-2.C: New test. - * g++.target/riscv/rvv/base/vluxei64-3.C: New test. - * g++.target/riscv/rvv/base/vluxei64_mu-1.C: New test. - * g++.target/riscv/rvv/base/vluxei64_mu-2.C: New test. - * g++.target/riscv/rvv/base/vluxei64_mu-3.C: New test. - * g++.target/riscv/rvv/base/vluxei64_tu-1.C: New test. - * g++.target/riscv/rvv/base/vluxei64_tu-2.C: New test. - * g++.target/riscv/rvv/base/vluxei64_tu-3.C: New test. - * g++.target/riscv/rvv/base/vluxei64_tum-1.C: New test. - * g++.target/riscv/rvv/base/vluxei64_tum-2.C: New test. - * g++.target/riscv/rvv/base/vluxei64_tum-3.C: New test. - * g++.target/riscv/rvv/base/vluxei64_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vluxei64_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vluxei64_tumu-3.C: New test. - -2023-01-30 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vluxei32-1.C: New test. - * g++.target/riscv/rvv/base/vluxei32-2.C: New test. - * g++.target/riscv/rvv/base/vluxei32-3.C: New test. - * g++.target/riscv/rvv/base/vluxei32_mu-1.C: New test. - * g++.target/riscv/rvv/base/vluxei32_mu-2.C: New test. - * g++.target/riscv/rvv/base/vluxei32_mu-3.C: New test. - * g++.target/riscv/rvv/base/vluxei32_tu-1.C: New test. - * g++.target/riscv/rvv/base/vluxei32_tu-2.C: New test. - * g++.target/riscv/rvv/base/vluxei32_tu-3.C: New test. - * g++.target/riscv/rvv/base/vluxei32_tum-1.C: New test. - * g++.target/riscv/rvv/base/vluxei32_tum-2.C: New test. - * g++.target/riscv/rvv/base/vluxei32_tum-3.C: New test. - * g++.target/riscv/rvv/base/vluxei32_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vluxei32_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vluxei32_tumu-3.C: New test. - -2023-01-30 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vluxei16-1.C: New test. - * g++.target/riscv/rvv/base/vluxei16-2.C: New test. - * g++.target/riscv/rvv/base/vluxei16-3.C: New test. - * g++.target/riscv/rvv/base/vluxei16_mu-1.C: New test. - * g++.target/riscv/rvv/base/vluxei16_mu-2.C: New test. - * g++.target/riscv/rvv/base/vluxei16_mu-3.C: New test. - * g++.target/riscv/rvv/base/vluxei16_tu-1.C: New test. - * g++.target/riscv/rvv/base/vluxei16_tu-2.C: New test. - * g++.target/riscv/rvv/base/vluxei16_tu-3.C: New test. - * g++.target/riscv/rvv/base/vluxei16_tum-1.C: New test. - * g++.target/riscv/rvv/base/vluxei16_tum-2.C: New test. - * g++.target/riscv/rvv/base/vluxei16_tum-3.C: New test. - * g++.target/riscv/rvv/base/vluxei16_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vluxei16_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vluxei16_tumu-3.C: New test. - -2023-01-30 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vluxei8-1.C: New test. - * g++.target/riscv/rvv/base/vluxei8-2.C: New test. - * g++.target/riscv/rvv/base/vluxei8-3.C: New test. - * g++.target/riscv/rvv/base/vluxei8_mu-1.C: New test. - * g++.target/riscv/rvv/base/vluxei8_mu-2.C: New test. - * g++.target/riscv/rvv/base/vluxei8_mu-3.C: New test. - * g++.target/riscv/rvv/base/vluxei8_tu-1.C: New test. - * g++.target/riscv/rvv/base/vluxei8_tu-2.C: New test. - * g++.target/riscv/rvv/base/vluxei8_tu-3.C: New test. - * g++.target/riscv/rvv/base/vluxei8_tum-1.C: New test. - * g++.target/riscv/rvv/base/vluxei8_tum-2.C: New test. - * g++.target/riscv/rvv/base/vluxei8_tum-3.C: New test. - * g++.target/riscv/rvv/base/vluxei8_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vluxei8_tumu-2.C: New test. - * g++.target/riscv/rvv/base/vluxei8_tumu-3.C: New test. - -2023-01-30 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsuxei16-1.C: New test. - * g++.target/riscv/rvv/base/vsuxei16-2.C: New test. - * g++.target/riscv/rvv/base/vsuxei16-3.C: New test. - * g++.target/riscv/rvv/base/vsuxei32-1.C: New test. - * g++.target/riscv/rvv/base/vsuxei32-2.C: New test. - * g++.target/riscv/rvv/base/vsuxei32-3.C: New test. - * g++.target/riscv/rvv/base/vsuxei64-1.C: New test. - * g++.target/riscv/rvv/base/vsuxei64-2.C: New test. - * g++.target/riscv/rvv/base/vsuxei64-3.C: New test. - * g++.target/riscv/rvv/base/vsuxei8-1.C: New test. - * g++.target/riscv/rvv/base/vsuxei8-2.C: New test. - * g++.target/riscv/rvv/base/vsuxei8-3.C: New test. - -2023-01-30 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsuxei16_v-1.c: New test. - * gcc.target/riscv/rvv/base/vsuxei16_v-2.c: New test. - * gcc.target/riscv/rvv/base/vsuxei16_v-3.c: New test. - * gcc.target/riscv/rvv/base/vsuxei16_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsuxei16_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsuxei16_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsuxei32_v-1.c: New test. - * gcc.target/riscv/rvv/base/vsuxei32_v-2.c: New test. - * gcc.target/riscv/rvv/base/vsuxei32_v-3.c: New test. - * gcc.target/riscv/rvv/base/vsuxei32_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsuxei32_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsuxei32_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsuxei64_v-1.c: New test. - * gcc.target/riscv/rvv/base/vsuxei64_v-2.c: New test. - * gcc.target/riscv/rvv/base/vsuxei64_v-3.c: New test. - * gcc.target/riscv/rvv/base/vsuxei64_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsuxei64_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsuxei64_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsuxei8_v-1.c: New test. - * gcc.target/riscv/rvv/base/vsuxei8_v-2.c: New test. - * gcc.target/riscv/rvv/base/vsuxei8_v-3.c: New test. - * gcc.target/riscv/rvv/base/vsuxei8_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsuxei8_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsuxei8_v_m-3.c: New test. - -2023-01-30 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vsoxei16_v-1.c: New test. - * gcc.target/riscv/rvv/base/vsoxei16_v-2.c: New test. - * gcc.target/riscv/rvv/base/vsoxei16_v-3.c: New test. - * gcc.target/riscv/rvv/base/vsoxei16_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsoxei16_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsoxei16_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsoxei32_v-1.c: New test. - * gcc.target/riscv/rvv/base/vsoxei32_v-2.c: New test. - * gcc.target/riscv/rvv/base/vsoxei32_v-3.c: New test. - * gcc.target/riscv/rvv/base/vsoxei32_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsoxei32_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsoxei32_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsoxei64_v-1.c: New test. - * gcc.target/riscv/rvv/base/vsoxei64_v-2.c: New test. - * gcc.target/riscv/rvv/base/vsoxei64_v-3.c: New test. - * gcc.target/riscv/rvv/base/vsoxei64_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsoxei64_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsoxei64_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vsoxei8_v-1.c: New test. - * gcc.target/riscv/rvv/base/vsoxei8_v-2.c: New test. - * gcc.target/riscv/rvv/base/vsoxei8_v-3.c: New test. - * gcc.target/riscv/rvv/base/vsoxei8_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsoxei8_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsoxei8_v_m-3.c: New test. - -2023-01-30 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsoxei32-1.C: New test. - * g++.target/riscv/rvv/base/vsoxei32-2.C: New test. - * g++.target/riscv/rvv/base/vsoxei32-3.C: New test. - * g++.target/riscv/rvv/base/vsoxei64-1.C: New test. - * g++.target/riscv/rvv/base/vsoxei64-2.C: New test. - * g++.target/riscv/rvv/base/vsoxei64-3.C: New test. - -2023-01-30 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsoxei16-1.C: New test. - * g++.target/riscv/rvv/base/vsoxei16-2.C: New test. - * g++.target/riscv/rvv/base/vsoxei16-3.C: New test. - * g++.target/riscv/rvv/base/vsoxei8-1.C: New test. - * g++.target/riscv/rvv/base/vsoxei8-2.C: New test. - * g++.target/riscv/rvv/base/vsoxei8-3.C: New test. - -2023-01-30 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vluxei64_v-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei64_v_tumu-3.c: New test. - -2023-01-30 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vluxei32_v-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei32_v_tumu-3.c: New test. - -2023-01-30 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vluxei16_v-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei16_v_tumu-3.c: New test. - -2023-01-30 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vluxei8_v-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vluxei8_v_tumu-3.c: New test. - -2023-01-30 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vloxei64_v-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei64_v_tumu-3.c: New test. - -2023-01-30 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vloxei32_v-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei32_v_tumu-3.c: New test. - -2023-01-30 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vloxei16_v-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei16_v_tumu-3.c: New test. - -2023-01-30 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vloxei8_v-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_m-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_m-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_m-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vloxei8_v_tumu-3.c: New test. - -2023-01-30 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vlxei-vsxei-constraint-1.c: New test. - -2023-01-30 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/vsetvl/avl_single-72.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-76.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-77.c: New test. - -2023-01-30 Rainer Orth - - * gm2/warnings/returntype/fail/warnings-returntype-fail.exp: Save, - restore TORTURE_OPTIONS. - -2023-01-30 Andrew Pinski - - PR tree-optimization/108582 - * gcc.dg/pr108582-1.c: New test. - -2023-01-30 Richard Biener - - PR tree-optimization/108574 - * gcc.dg/torture/pr108574-1.c: New testcase. - * gcc.dg/torture/pr108574-2.c: Likewise. - * gcc.dg/torture/pr108574-3.c: Likewise. - -2023-01-29 Mikael Morin - - PR fortran/108450 - * gfortran.dg/gomp/minmaxloc_1.f90: New test. - -2023-01-29 Jerry DeLisle - - PR fortran/103506 - * gfortran.dg/pr103506_1.f90: New test. - -2023-01-29 Jan Hubicka - - * gcc.dg/ipa/ipa-sra-30.c: New test. - * gcc.dg/ipa/ipa-sra-31.c: New test. - * gcc.dg/tree-ssa/modref-dse-7.c: New test. - -2023-01-28 Harald Anlauf - Steven G. Kargl - - PR fortran/108527 - * gfortran.dg/pr108527.f90: New test. - -2023-01-28 Harald Anlauf - - PR fortran/108453 - * gfortran.dg/common_27.f90: New test. - -2023-01-28 Jonathan Yong <10walls@gmail.com> - - PR c/108192 - * g++.dg/cet-notrack-1.C: Use puts instead of printf, - so function call is not mangled by __mingw_printf when - doing assembly symbol inspection. - -2023-01-28 Jonathan Yong <10walls@gmail.com> - - PR c/108150 - * gcc.dg/attr-aligned.c: Make errors emitted on Windows - target same as on Linux. - -2023-01-28 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vlse-1.C: New test. - * g++.target/riscv/rvv/base/vlse_tu-1.C: New test. - * g++.target/riscv/rvv/base/vlse_tum-1.C: New test. - * g++.target/riscv/rvv/base/vlse_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vsse-1.C: New test. - * gcc.target/riscv/rvv/base/vlse-1.c: New test. - * gcc.target/riscv/rvv/base/vlse-2.c: New test. - * gcc.target/riscv/rvv/base/vlse-3.c: New test. - * gcc.target/riscv/rvv/base/vlse-vsse-constraint-1.c: New test. - * gcc.target/riscv/rvv/base/vlse_m-1.c: New test. - * gcc.target/riscv/rvv/base/vlse_m-2.c: New test. - * gcc.target/riscv/rvv/base/vlse_m-3.c: New test. - * gcc.target/riscv/rvv/base/vlse_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vlse_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vlse_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vlse_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vlse_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vlse_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vlse_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vlse_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vlse_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vlse_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vlse_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vlse_tumu-3.c: New test. - * gcc.target/riscv/rvv/base/vsse-1.c: New test. - * gcc.target/riscv/rvv/base/vsse-2.c: New test. - * gcc.target/riscv/rvv/base/vsse-3.c: New test. - * gcc.target/riscv/rvv/base/vsse_m-1.c: New test. - * gcc.target/riscv/rvv/base/vsse_m-2.c: New test. - * gcc.target/riscv/rvv/base/vsse_m-3.c: New test. - -2023-01-28 Jerry DeLisle - - * gfortran.dg/ISO_Fortran_binding_17.f90: Replace (\n|\r\n|\r) - with (\r*\n+). - * gfortran.dg/array_temporaries_2.f90: Likewise. - * gfortran.dg/bind-c-contiguous-1.f90: Likewise. - * gfortran.dg/bind-c-contiguous-4.f90: Likewise. - * gfortran.dg/bind-c-contiguous-5.f90: Likewise. - * gfortran.dg/fmt_error_4.f90: Likewise. - * gfortran.dg/fmt_error_5.f90: Likewise. - * gfortran.dg/fmt_float.f90: Likewise. - * gfortran.dg/fmt_l.f90: Likewise. - * gfortran.dg/fmt_nonchar_2.f90: Likewise. - * gfortran.dg/fmt_zero_precision.f90: Likewise. - * gfortran.dg/g77/f77-edit-apostrophe-out.f: Likewise. - * gfortran.dg/g77/f77-edit-colon-out.f: Likewise. - * gfortran.dg/g77/f77-edit-h-out.f: Likewise. - * gfortran.dg/g77/f77-edit-i-out.f: Likewise. - * gfortran.dg/g77/f77-edit-s-out.f: Likewise. - * gfortran.dg/g77/f77-edit-slash-out.f: Likewise. - * gfortran.dg/g77/f77-edit-t-out.f: Likewise. - * gfortran.dg/g77/f77-edit-x-out.f: Likewise. - * gfortran.dg/namelist_40.f90: Likewise. - * gfortran.dg/namelist_47.f90: Likewise. - * gfortran.dg/namelist_print_1.f: Likewise. - * gfortran.dg/parameter_array_dummy.f90: Likewise. - -2023-01-27 Gaius Mulley - - * gm2/pim/fail/empty.mod: New test. - -2023-01-27 Joseph Myers - - * gcc.dg/c2x-auto-1.c, gcc.dg/c2x-auto-3.c: Expect braces around - auto initializers to be disallowed. - -2023-01-27 Richard Sandiford - - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c: - Remove XFAIL. - * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Fix names - of dump files. - -2023-01-27 Richard Sandiford - - * gcc.target/aarch64/simd/vfma_f64.c: Use a wrapper function - rather than an asm barrier. - * gcc.target/aarch64/simd/vfms_f64.c: Likewise. - * gcc.target/aarch64/simd/vmul_f64_1.c: Use a wrapper function - rather than volatile. - * gcc.target/aarch64/simd/vmul_n_f64_1.c: Likewise. - * gcc.target/aarch64/simd/vqdmlalh_laneq_s16_1.c: Use a wrapper - function. Remove -fno-inline. - * gcc.target/aarch64/simd/vqdmlals_laneq_s32_1.c: Likewise. - * gcc.target/aarch64/simd/vqdmlslh_laneq_s16_1.c: Likewise. - * gcc.target/aarch64/simd/vqdmlsls_laneq_s32_1.c: Likewise. - * gcc.target/aarch64/simd/vqdmulhh_lane_s16.c: Likewise. - * gcc.target/aarch64/simd/vqdmulhh_laneq_s16_1.c: Likewise. - * gcc.target/aarch64/simd/vqdmulhs_laneq_s32_1.c: Likewise. - * gcc.target/aarch64/simd/vqrdmulhh_lane_s16.c: Likewise. - * gcc.target/aarch64/simd/vqrdmulhh_laneq_s16_1.c: Likewise. - * gcc.target/aarch64/simd/vqrdmulhs_lane_s32.c: Likewise. - * gcc.target/aarch64/simd/vqrdmulhs_laneq_s32_1.c: Likewise. - * gcc.target/aarch64/simd/vqdmulhs_lane_s32.c: Likewise. - Allow the scalar form to be used when operating on lane 0. - Add a test for lane 1. - -2023-01-27 Richard Sandiford - - PR tree-optimization/96373 - * gcc.target/aarch64/sve/cond_xorsign_1.c: New test. - * gcc.target/aarch64/sve/cond_xorsign_2.c: Likewise. - -2023-01-27 Richard Sandiford - - * gcc.target/aarch64/sve/cond_asrd_1.c: Tune for a 256-bit - vector length. - * gcc.target/aarch64/sve/cond_cnot_4.c: Likewise. - * gcc.target/aarch64/sve/cond_cnot_6.c: Likewise. - * gcc.target/aarch64/sve/cond_unary_5.c: Likewise. - * gcc.target/aarch64/sve/cond_unary_6.c: Likewise. - * gcc.target/aarch64/sve/cond_uxt_5.c: Likewise. - * gcc.target/aarch64/sve/vcond_4_costly.c: Remove XFAILs. - -2023-01-27 Andrew MacLeod - - PR tree-optimization/108306 - * gcc.dg/pr108306.c: New. - -2023-01-27 Andrew MacLeod - - PR tree-optimization/108447 - * gcc.dg/pr108447.c: New. - -2023-01-27 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/vsetvl/avl_multiple-7.c: Fix testcase check. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-18.c: Ditto. - -2023-01-27 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vle-1.C: New test. - * g++.target/riscv/rvv/base/vle_tu-1.C: New test. - * g++.target/riscv/rvv/base/vle_tum-1.C: New test. - * g++.target/riscv/rvv/base/vle_tumu-1.C: New test. - * g++.target/riscv/rvv/base/vse-1.C: New test. - * g++.target/riscv/rvv/base/riscv_vector.h: New. - -2023-01-27 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vse-1.c: New test. - * gcc.target/riscv/rvv/base/vse-2.c: New test. - * gcc.target/riscv/rvv/base/vse-3.c: New test. - * gcc.target/riscv/rvv/base/vse_m-1.c: New test. - * gcc.target/riscv/rvv/base/vse_m-2.c: New test. - * gcc.target/riscv/rvv/base/vse_m-3.c: New test. - -2023-01-27 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vle-1.c: New test. - * gcc.target/riscv/rvv/base/vle-2.c: New test. - * gcc.target/riscv/rvv/base/vle-3.c: New test. - * gcc.target/riscv/rvv/base/vle_m-1.c: New test. - * gcc.target/riscv/rvv/base/vle_m-2.c: New test. - * gcc.target/riscv/rvv/base/vle_m-3.c: New test. - * gcc.target/riscv/rvv/base/vle_mu-1.c: New test. - * gcc.target/riscv/rvv/base/vle_mu-2.c: New test. - * gcc.target/riscv/rvv/base/vle_mu-3.c: New test. - * gcc.target/riscv/rvv/base/vle_tu-1.c: New test. - * gcc.target/riscv/rvv/base/vle_tu-2.c: New test. - * gcc.target/riscv/rvv/base/vle_tu-3.c: New test. - * gcc.target/riscv/rvv/base/vle_tum-1.c: New test. - * gcc.target/riscv/rvv/base/vle_tum-2.c: New test. - * gcc.target/riscv/rvv/base/vle_tum-3.c: New test. - * gcc.target/riscv/rvv/base/vle_tumu-1.c: New test. - * gcc.target/riscv/rvv/base/vle_tumu-2.c: New test. - * gcc.target/riscv/rvv/base/vle_tumu-3.c: New test. - -2023-01-27 Ju-Zhe Zhong - - * g++.target/riscv/rvv/base/vsm-1.C: New test. - * g++.target/riscv/rvv/rvv.exp: New test. - * gcc.target/riscv/rvv/base/vlm_vsm-1.c: New test. - * gcc.target/riscv/rvv/base/vlm_vsm-2.c: New test. - * gcc.target/riscv/rvv/base/vlm_vsm-3.c: New test. - -2023-01-27 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/vsetvl/avl_single-14.c: Adjust for final implementation. - * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-30.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-44.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-47.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-50.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-51.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-65.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-66.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-67.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-68.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-70.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-71.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_single-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-15.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-16.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-21.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-22.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-23.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-24.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-4.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-5.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-6.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-8.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-9.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-10.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-13.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-14.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-15.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-16.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-9.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-73.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-74.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-75.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-13.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-14.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-15.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-16.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-17.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-18.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-19.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-20.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvl-9.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-13.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-14.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-15.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-16.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-17.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-18.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-19.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-20.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-9.c: New test. - -2023-01-27 Xi Ruoyao - - * gcc.dg/pr95115.c (x): Add noipa attribute. - -2023-01-27 Jakub Jelinek - - PR ipa/106061 - * gcc.dg/pr106061.c: New test. - -2023-01-27 Tobias Burnus - - * gfortran.dg/gomp/declare-variant-10.f90: Update scan-tree's - target selector to handle Windows. - * gfortran.dg/gomp/declare-variant-11.f90: Likewise. - * gfortran.dg/gomp/declare-variant-12.f90: Likewise. - -2023-01-26 Gaius Mulley - - * gm2/warnings/returntype/fail/badreturn.mod: New test. - * gm2/warnings/returntype/fail/warnings-returntype-fail.exp: - New test. - * gm2/warnings/returntype/pass/Termbase.mod: New test. - * gm2/warnings/returntype/pass/goodreturn.mod: New test. - * gm2/warnings/returntype/pass/keypressedsimple.mod: New test. - * gm2/warnings/returntype/pass/warnings-returntype-pass.exp: - New test. - -2023-01-26 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/vsetvl/avl_single-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-20.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-21.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-22.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-24.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-25.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-26.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-27.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-28.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-29.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-30.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-31.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-32.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-33.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-34.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-35.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-36.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-37.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-38.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-39.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-40.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-41.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-42.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-43.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-44.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-45.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-46.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-47.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-48.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-49.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-50.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-51.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-52.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-53.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-54.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-55.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-56.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-57.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-58.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-59.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-60.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-61.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-62.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-63.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-64.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-65.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-66.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-67.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-68.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-69.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-13.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-14.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-15.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-16.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-17.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-18.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-19.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-70.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-71.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/avl_single-9.c: New test. - -2023-01-26 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-13.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-9.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-10.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-11.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-12.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-13.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-14.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-15.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-16.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-17.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-9.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_switch-1.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_switch-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_switch-3.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_switch-4.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_switch-5.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_switch-6.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_switch-7.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_switch-8.c: New test. - * gcc.target/riscv/rvv/vsetvl/imm_switch-9.c: New test. - -2023-01-26 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c: Update - testcase. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-25.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-26.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-27.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-28.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c: Ditto. - -2023-01-26 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vle-constraint-1.c: - -2023-01-26 Ju-Zhe Zhong - - * gcc.target/riscv/rvv/base/vse-constraint-1.c: New test. - -2023-01-26 Harald Anlauf - - PR fortran/108544 - * gfortran.dg/pr108544.f90: New test. - * gfortran.dg/pr96102b.f90: New test. - -2023-01-26 Marek Polacek - - PR middle-end/108543 - * c-c++-common/asan/pointer-subtract-5.c: New test. - * c-c++-common/asan/pointer-subtract-6.c: New test. - * c-c++-common/asan/pointer-subtract-7.c: New test. - * c-c++-common/asan/pointer-subtract-8.c: New test. - -2023-01-26 Jakub Jelinek - - PR tree-optimization/108540 - * gcc.c-torture/execute/ieee/pr108540-1.c: New test. - * gcc.c-torture/execute/ieee/pr108540-2.c: New test. - -2023-01-26 Richard Sandiford - - * c-c++-common/hwasan/arguments-3.c: Remove extraneous .*s. - -2023-01-26 Richard Sandiford - - * gcc.target/aarch64/bfloat16_scalar_typecheck.c: Accept empty - compound literals. - -2023-01-26 Richard Sandiford - - * gcc.dg/guality/pr36728-2.c: Update XFAILs for aarch64*-*-*. - * gcc.dg/guality/pr54519-1.c: Likewise. - * gcc.dg/guality/pr54519-3.c: Likewise. - * gcc.dg/guality/pr54693-2.c: Likewise. - * gcc.dg/guality/sra-1.c: Likewise. - -2023-01-26 Richard Sandiford - - * g++.target/aarch64/sve/pr99766.C: Disable warnings. - -2023-01-26 Richard Sandiford - - * gcc.target/aarch64/sve/slp_13.c: Remove XFAILs. - -2023-01-26 Marek Polacek - - PR c++/105300 - * g++.dg/cpp0x/udlit-error1.C: New test. - -2023-01-26 David Malcolm - - PR analyzer/108507 - * gcc.dg/analyzer/SARD-tc841-basic-00182-min.c: Add - -Wno-stringop-overflow. - -2023-01-26 David Malcolm - - PR analyzer/108524 - * gcc.dg/analyzer/infinite-recursion-pr108524-1.c: New test. - * gcc.dg/analyzer/infinite-recursion-pr108524-2.c: New test. - * gcc.dg/analyzer/infinite-recursion-pr108524-qobject-json-parser.c: - New test. - -2023-01-26 Richard Biener - - PR tree-optimization/108547 - * gcc.dg/uninit-pr108547.c: New testcase. - -2023-01-26 Siddhesh Poyarekar - - PR tree-optimization/108522 - * gcc.dg/builtin-dynamic-object-size-0.c (DEFSTRUCT): New - macro. - (test_dynarray_struct_member_b, test_dynarray_struct_member_c, - test_dynarray_struct_member_d, - test_dynarray_struct_member_subobj_b, - test_dynarray_struct_member_subobj_c, - test_dynarray_struct_member_subobj_d): New tests. - (main): Call them. - -2023-01-26 Jakub Jelinek - - PR c++/108503 - * g++.dg/gomp/pr108503.C: New test. - -2023-01-26 Richard Biener - - PR tree-optimization/108523 - * gcc.dg/torture/pr108523.c: New testcase. - -2023-01-25 Steve Kargl - - PR fortran/108528 - * gfortran.dg/pr108528.f90: New test. - -2023-01-25 Jakub Jelinek - - PR c++/108525 - * g++.dg/cpp23/static-operator-call5.C: New test. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vhaddq_n_s16.c: Add missing extern - "C". - * 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/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/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/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/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/vqdmlashq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s8.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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vld2q_f16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vqnegq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s8.c: Likewise. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vqabsq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vcmulq_f16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vcmlaq_f16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_f16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vmulhq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vnegq_f16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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/simd/mve-vneg.c: Update test. - * gcc.target/arm/simd/mve-vshr.c: Likewise - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vclzq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use - extern "C" for C++ testing. - * 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/simd/mve-vclz.c: Update test. - -2023-01-25 Andrea Corallo - - * gcc.target/arm/mve/intrinsics/vclsq_m_s16.c: Use - check-function-bodies instead of scan-assembler checks. Use extern - "C" for C++ testing. - * 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. - -2023-01-25 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Avoid - "initializer element is not constant" error. - * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise. - -2023-01-25 Andre Vieira - - * lib/target-supports.exp (check_effective_target_vect_long_long): Add - aarch64 to list of targets supporting long long vectorization. - -2023-01-25 Jakub Jelinek - - PR tree-optimization/108498 - * gcc.c-torture/execute/pr108498-1.c: New test. - * gcc.c-torture/execute/pr108498-2.c: New test. - -2023-01-25 Siddhesh Poyarekar - Jakub Jelinek - - PR tree-optimization/108522 - * gcc.dg/builtin-dynamic-object-size-0.c - (test_dynarray_struct_member): New test. - (main): Call it. - -2023-01-24 Jakub Jelinek - - PR c++/107329 - PR testsuite/108533 - * g++.dg/init/new51.C (size_t): New typedef. - (RexxClass::operator new, RexxClass::operator delete): Use size_t - instead of unsigned long. - -2023-01-24 Jason Merrill - - PR c++/108504 - * g++.dg/ext/pragma1.C: New test. - -2023-01-24 Jason Merrill - - PR c++/108526 - * g++.dg/cpp23/static-operator-call5.C: New test. - -2023-01-24 Vladimir N. Makarov - - * gcc.target/pdp11/pdp11.exp: New. - * gcc.target/pdp11/pr108388.c: New. - -2023-01-24 Harald Anlauf - - PR fortran/108529 - * gfortran.dg/pr108529.f90: New test. - -2023-01-24 Andre Vieira - - * gcc.target/arm/mve/pr108177-1-run.c: New test. - * gcc.target/arm/mve/pr108177-1.c: New test. - * gcc.target/arm/mve/pr108177-10-run.c: New test. - * gcc.target/arm/mve/pr108177-10.c: New test. - * gcc.target/arm/mve/pr108177-11-run.c: New test. - * gcc.target/arm/mve/pr108177-11.c: New test. - * gcc.target/arm/mve/pr108177-12-run.c: New test. - * gcc.target/arm/mve/pr108177-12.c: New test. - * gcc.target/arm/mve/pr108177-13-run.c: New test. - * gcc.target/arm/mve/pr108177-13.c: New test. - * gcc.target/arm/mve/pr108177-14-run.c: New test. - * gcc.target/arm/mve/pr108177-14.c: New test. - * gcc.target/arm/mve/pr108177-2-run.c: New test. - * gcc.target/arm/mve/pr108177-2.c: New test. - * gcc.target/arm/mve/pr108177-3-run.c: New test. - * gcc.target/arm/mve/pr108177-3.c: New test. - * gcc.target/arm/mve/pr108177-4-run.c: New test. - * gcc.target/arm/mve/pr108177-4.c: New test. - * gcc.target/arm/mve/pr108177-5-run.c: New test. - * gcc.target/arm/mve/pr108177-5.c: New test. - * gcc.target/arm/mve/pr108177-6-run.c: New test. - * gcc.target/arm/mve/pr108177-6.c: New test. - * gcc.target/arm/mve/pr108177-7-run.c: New test. - * gcc.target/arm/mve/pr108177-7.c: New test. - * gcc.target/arm/mve/pr108177-8-run.c: New test. - * gcc.target/arm/mve/pr108177-8.c: New test. - * gcc.target/arm/mve/pr108177-9-run.c: New test. - * gcc.target/arm/mve/pr108177-9.c: New test. - * gcc.target/arm/mve/pr108177-main.x: New test include. - * gcc.target/arm/mve/pr108177.x: New test include. - -2023-01-24 Jakub Jelinek - - PR c++/108474 - * g++.dg/cpp1z/decomp57.C: New test. - * g++.dg/cpp1z/decomp58.C: New test. - -2023-01-24 Rainer Orth - - PR testsuite/107808 - * gcc.dg/vect/vect-bitfield-write-2.c: Require vect_long_long. - * gcc.dg/vect/vect-bitfield-write-3.c: Likewise. - -2023-01-24 Rainer Orth - - PR testsuite/104756 - * gcc.dg/vect/vect-fmax-1.c: Require vect_float. - * gcc.dg/vect/vect-fmax-2.c: Likewise. - * gcc.dg/vect/vect-fmax-3.c: Likewise. - * gcc.dg/vect/vect-fmin-1.c: Likewise. - * gcc.dg/vect/vect-fmin-2.c: Likewise. - * gcc.dg/vect/vect-fmin-3.c: Likewise. - -2023-01-24 Lulu Cheng - Yang Yujie - - PR target/107731 - * gcc.target/loongarch/tst-asm-const.c: Moved to... - * gcc.target/loongarch/pr107731.c: ...here. - -2023-01-24 Jason Merrill - - PR c++/107303 - PR c++/107329 - * g++.dg/ext/builtin-shufflevector-5.C: New test. - * g++.dg/init/new51.C: New test. - -2023-01-23 Jason Merrill - - PR c++/107267 - * g++.dg/cpp0x/move2.C: New test. - -2023-01-23 Harald Anlauf - - PR fortran/108502 - * gfortran.dg/pr108502.f90: New test. - -2023-01-23 Marek Polacek - - PR c++/107797 - * g++.dg/warn/Wunused-value-1.C: New test. - -2023-01-23 Jason Merrill - - PR c++/108195 - * g++.dg/cpp0x/initlist-vect2.C: New test. - -2023-01-23 Harald Anlauf - - PR fortran/108501 - * gfortran.dg/pr108501.f90: New test. - -2023-01-23 Harald Anlauf - - PR fortran/108420 - * gfortran.dg/pr108420.f90: New test. - -2023-01-23 Jason Merrill - - PR c++/108496 - * g++.dg/template/explicit-instantiation5.C: New test. - -2023-01-23 Srinath Parvathaneni - - * g++.target/arm/pac-1.C: New test. - * gcc.target/arm/pac-15.c: Likewise. - -2023-01-23 Srinath Parvathaneni - - * gcc.target/arm/multilib.exp (multilib_config "rmprofile"): Update - tests. - * gcc.target/arm/pac-12.c: New test. - * gcc.target/arm/pac-13.c: Likewise. - * gcc.target/arm/pac-14.c: Likewise. - -2023-01-23 Srinath Parvathaneni - - * gcc.target/arm/multilib.exp: Add tests for cortex-m85. - -2023-01-23 Richard Biener - - PR tree-optimization/108482 - * gcc.dg/torture/pr108482.c: New testcase. - -2023-01-23 Andrea Corallo - - * gcc.target/arm/bti-1.c: New testcase. - * gcc.target/arm/bti-2.c: Likewise. - -2023-01-23 Andrea Corallo - - * gcc.target/arm/pac.h : New file. - * gcc.target/arm/pac-1.c : New test case. - * gcc.target/arm/pac-2.c : Likewise. - * gcc.target/arm/pac-3.c : Likewise. - * gcc.target/arm/pac-4.c : Likewise. - * gcc.target/arm/pac-5.c : Likewise. - * gcc.target/arm/pac-6.c : Likewise. - * gcc.target/arm/pac-7.c : Likewise. - * gcc.target/arm/pac-8.c : Likewise. - * gcc.target/arm/pac-9.c : Likewise. - * gcc.target/arm/pac-10.c : Likewise. - * gcc.target/arm/pac-11.c : Likewise. - -2023-01-23 Andrea Corallo - - * gcc.target/arm/multilib.exp: Add pacbti related entries. - -2023-01-23 Andrea Corallo - Tejas Belagod - - * gcc.target/arm/acle/pacbti-m-predef-1.c: New test. - * gcc.target/arm/acle/pacbti-m-predef-3.c: Likewise. - * gcc.target/arm/acle/pacbti-m-predef-6.c: Likewise. - * gcc.target/arm/acle/pacbti-m-predef-7.c: Likewise. - -2023-01-23 Andrea Corallo - Tejas Belagod - - * lib/target-supports.exp - (check_effective_target_mbranch_protection_ok): New function. - * gcc.target/arm/acle/pacbti-m-predef-2.c: New test. - * gcc.target/arm/acle/pacbti-m-predef-4.c: Likewise. - * gcc.target/arm/acle/pacbti-m-predef-5.c: Likewise. - * gcc.target/arm/acle/pacbti-m-predef-8.c: Likewise. - * gcc.target/arm/acle/pacbti-m-predef-9.c: Likewise. - * gcc.target/arm/acle/pacbti-m-predef-10.c: Likewise. - * gcc.target/arm/acle/pacbti-m-predef-11.c: Likewise. - * gcc.target/arm/acle/pacbti-m-predef-12.c: Likewise. - -2023-01-23 Andrea Corallo - Tejas Belagod - - * lib/target-supports.exp: - (check_effective_target_arm_pacbti_hw): New. - -2023-01-23 Richard Biener - - PR tree-optimization/108449 - * gcc.dg/pr108449.c: New testcase. - -2023-01-23 Jason Merrill - - PR c++/53288 - DR 1299 - * g++.dg/init/lifetime4.C: New test. - -2023-01-22 Iain Sandoe - - * gm2/case/pass/case-pass.exp: Update for removal of concatenated - paths. - * gm2/complex/pass/complex-pass.exp: Likewise. - * gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: Likewise. - * gm2/iso/analysis/fail/iso-analysis-fail.exp: Likewise. - * gm2/iso/check/fail/iso-check-fail.exp: Likewise. - * gm2/iso/fail/iso-fail.exp: Likewise. - * gm2/iso/pass/iso-pass.exp: Likewise. - * gm2/isolib/run/pass/isolib-run-pass.exp: Likewise. - * gm2/pim/fail/pim-fail.exp: Likewise. - * gm2/pim/pass/pim-pass.exp: Likewise. - * gm2/pimlib/logitech/run/pass/pimlib-logitech-run-pass.exp: Likewise. - * gm2/pimlib/pass/pimlib-pass.exp: Likewise. - * gm2/pimlib/run/pass/pimlib-run-pass.exp: Likewise. - * gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: Likewise. - * gm2/projects/iso/run/pass/hello/projects-iso-run-pass-hello.exp: Likewise. - * gm2/projects/log/run/pass/hello/projects-log-run-pass-hello.exp: Likewise. - * gm2/projects/pim/run/pass/hello/projects-pim-run-pass-hello.exp: Likewise. - * gm2/recover/pass/recover-pass.exp: Likewise. - * gm2/switches/makeall/fail/switches-makeall-fail.exp: Likewise. - * gm2/switches/makeall/pass/switches-makeall-pass.exp: Likewise. - * gm2/switches/none/run/pass/gm2-none.exp: Likewise. - * gm2/switches/pim2/run/pass/switches-pim2-run-pass.exp: Likewise. - * gm2/ulmlib/pass/ulmlib-pass.exp: Likewise. - * gm2/ulmlib/std/pass/ulmlib-std-pass.exp: Likewise. - * gm2/ulmlib/sys/pass/ulmlib-sys-pass.exp: Likewise. - * lib/gm2.exp: Make the paths list a mandatory entry for each gm2_init_xxx - function. Remove the use of concatenated include and library paths. - Remove string processing where possible. - -2023-01-22 Dimitar Dimitrov - - * gcc.target/pru/clz-hi-2.c: New test. - * gcc.target/pru/clz-hi.c: New test. - -2023-01-21 Jerry DeLisle - - PR fortran/102595 - * gfortran.dg/pr88048.f90: Adjust for changed error message. - * gfortran.dg/parameter_data0.f90: New test. - -2023-01-20 Tejas Belagod - - * gcc.target/aarch64/acle/pmull64.c: New. - * gcc.target/aarch64/aes-fuse-1.c: Replace '+crypto' with corresponding - feature flag based on the intrinsic. - * gcc.target/aarch64/aes-fuse-2.c: Likewise. - * gcc.target/aarch64/aes_1.c: Likewise. - * gcc.target/aarch64/aes_2.c: Likewise. - * gcc.target/aarch64/aes_xor_combine.c: Likewise. - * gcc.target/aarch64/sha1_1.c: Likewise. - * gcc.target/aarch64/sha256_1.c: Likewise. - * gcc.target/aarch64/target_attr_crypto_ice_1.c: Likewise. - -2023-01-19 Jakub Jelinek - - PR c++/108437 - * g++.dg/cpp23/subscript12.C: New test. - * g++.dg/cpp23/subscript13.C: New test. - -2023-01-19 Jakub Jelinek - - PR c++/53932 - * g++.dg/init/pr53932.C: New test. - -2023-01-19 H.J. Lu - - * gcc.target/i386/pr108436.c: New test. - -2023-01-19 David Malcolm - - PR analyzer/108455 - * gcc.dg/analyzer/deref-before-check-1.c: Add test coverage - involving dominance. - * gcc.dg/analyzer/deref-before-check-pr108455-1.c: New test. - * gcc.dg/analyzer/deref-before-check-pr108455-git-pack-revindex.c: - New test. - -2023-01-19 Harald Anlauf - - PR fortran/108434 - * gfortran.dg/pr108434.f90: New test. - -2023-01-19 Iain Sandoe - - * gm2/complex/run/pass/complex-run-pass.exp: Remove gm2_link_lib. - * gm2/iso/run/pass/iso-run-pass.exp: Likewise. - * gm2/link/externalscaffold/pass/link-externalscaffold-pass.exp: - * gm2/pimlib/logitech/run/pass/pimlib-logitech-run-pass.exp: Likewise. - * gm2/pimlib/run/pass/pimlib-run-pass.exp: Likewise. - * gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: - Likewise. - * gm2/projects/iso/run/pass/hello/projects-iso-run-pass-hello.exp: - Likewise. - * gm2/projects/pim/run/pass/hello/projects-pim-run-pass-hello.exp: - Likewise. - * gm2/sets/run/pass/sets-run-pass.exp: Likewise. - * gm2/switches/none/run/pass/gm2-none.exp: Likewise. - * gm2/switches/pic/run/pass/switches-pic-run-pass.exp: Likewise. - * gm2/projects/pim/run/pass/random/projects-pim-run-pass-random.exp: - Likewise, and also ensure that the -g option is appended to avoid it - being taken as a path. - * lib/gm2.exp: Ensure for each gm2_init_xxxx function that the set of - libraries added matches the set of -I and -L options. - -2023-01-19 Christophe Lyon - - PR target/108411 - * g++.target/aarch64/bitfield-abi-warning-align16-O2-extra.C: Add - -fno-stack-protector. - * g++.target/aarch64/bitfield-abi-warning-align16-O2.C: Likewise. - * g++.target/aarch64/bitfield-abi-warning-align32-O2-extra.C: Likewise. - * g++.target/aarch64/bitfield-abi-warning-align32-O2.C: Likewise. - * g++.target/aarch64/bitfield-abi-warning-align8-O2.C: Likewise. - * gcc.target/aarch64/bitfield-abi-warning-align16-O2-extra.c: Likewise. - * gcc.target/aarch64/bitfield-abi-warning-align16-O2.c: Likewise. - * gcc.target/aarch64/bitfield-abi-warning-align32-O2-extra.c: Likewise. - * gcc.target/aarch64/bitfield-abi-warning-align32-O2.c: Likewise. - * gcc.target/aarch64/bitfield-abi-warning-align8-O2.c: Likewise. - -2023-01-19 Jakub Jelinek - - PR tree-optimization/108440 - * c-c++-common/rotate-10.c: New test. - * c-c++-common/rotate-11.c: New test. - -2023-01-19 Alexandre Oliva - - PR debug/106746 - * gcc.target/i386/pr106746.c: New. - -2023-01-18 Marek Polacek - - PR c/108424 - * gcc.dg/c2x-nullptr-6.c: New test. - -2023-01-18 David Malcolm - - * gcc.dg/analyzer/SARD-tc117-basic-00001-min.c: New test, adapted - from https://samate.nist.gov/SARD/test-suites/81. - * gcc.dg/analyzer/SARD-tc1909-stack_overflow_loop.c: Likewise. - * gcc.dg/analyzer/SARD-tc249-basic-00034-min.c: Likewise. - * gcc.dg/analyzer/SARD-tc293-basic-00045-min.c: Likewise. - * gcc.dg/analyzer/SARD-tc841-basic-00182-min.c: Likewise. - -2023-01-18 Richard Biener - - PR lto/108445 - * gcc.dg/lto/pr108445_0.c: New testcase. - * gcc.dg/lto/pr108445_1.c: Likewise. - -2023-01-18 Murray Steele - - * gcc.target/arm/mve/general/preserve_user_namespace_1.c: New test. - -2023-01-18 Kewen Lin - Andrew Pinski - - PR target/108396 - * gcc.target/powerpc/pr108396.c: New test. - -2023-01-18 Kewen Lin - - PR target/108348 - * gcc.target/powerpc/pr108348-1.c: New test. - * gcc.target/powerpc/pr108348-2.c: New test. - -2023-01-17 Harald Anlauf - - PR fortran/108421 - * gfortran.dg/pr108421.f90: New test. - -2023-01-17 Jakub Jelinek - - PR tree-optimization/106523 - * c-c++-common/rotate-2.c (f5, f6, f7, f8, f13, f14, f15, f16, - f37, f38, f39, f40, f45, f46, f47, f48): Add assertions using - __builtin_unreachable about shift count. - * c-c++-common/rotate-2b.c: New test. - * c-c++-common/rotate-4.c (f5, f6, f7, f8, f13, f14, f15, f16, - f37, f38, f39, f40, f45, f46, f47, f48): Add assertions using - __builtin_unreachable about shift count. - * c-c++-common/rotate-4b.c: New test. - * gcc.c-torture/execute/pr106523.c: New test. - -2023-01-16 Andrew Pinski - - * lib/target-supports.exp (add_options_for_tls): Remove - reference to Solaris 9 in comments. - -2023-01-16 H.J. Lu - - PR target/105980 - * g++.target/i386/pr105980.C: New test. - -2023-01-16 Jan Hubicka - - * g++.dg/tree-ssa/pr106077.C: New test. - -2023-01-16 Stam Markianos-Wright - - PR target/96795 - PR target/107515 - * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-fp.c: New test. - * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-int.c: New test. - -2023-01-16 Andrew Carlotti - - * g++.dg/tree-ssa/pr86544.C: Add .POPCOUNT to tree scan regex. - * gcc.dg/tree-ssa/popcount.c: Likewise. - * gcc.dg/tree-ssa/popcount2.c: Likewise. - * gcc.dg/tree-ssa/popcount3.c: Likewise. - * gcc.target/aarch64/popcount4.c: Likewise. - * gcc.target/i386/pr95771.c: Likewise, and... - * gcc.target/i386/pr95771-2.c: ...split int128 test from above, - since this would emit just a single IFN if a TI optab is added. - -2023-01-16 Andrew Carlotti - - * gcc.dg/tree-ssa/cltz-max.c: New test. - * gcc.dg/tree-ssa/clz-char.c: New test. - * gcc.dg/tree-ssa/clz-int.c: New test. - * gcc.dg/tree-ssa/clz-long-long.c: New test. - * gcc.dg/tree-ssa/clz-long.c: New test. - * gcc.dg/tree-ssa/ctz-char.c: New test. - * gcc.dg/tree-ssa/ctz-int.c: New test. - * gcc.dg/tree-ssa/ctz-long-long.c: New test. - * gcc.dg/tree-ssa/ctz-long.c: New test. - -2023-01-16 Andrew Carlotti - - * lib/target-supports.exp (check_effective_target_clz) - (check_effective_target_clzl, check_effective_target_clzll) - (check_effective_target_ctz, check_effective_target_clzl) - (check_effective_target_ctzll): New. - * gcc.dg/tree-ssa/cltz-complement-max.c: New test. - * gcc.dg/tree-ssa/clz-complement-char.c: New test. - * gcc.dg/tree-ssa/clz-complement-int.c: New test. - * gcc.dg/tree-ssa/clz-complement-long-long.c: New test. - * gcc.dg/tree-ssa/clz-complement-long.c: New test. - * gcc.dg/tree-ssa/ctz-complement-char.c: New test. - * gcc.dg/tree-ssa/ctz-complement-int.c: New test. - * gcc.dg/tree-ssa/ctz-complement-long-long.c: New test. - * gcc.dg/tree-ssa/ctz-complement-long.c: New test. - -2023-01-16 Jakub Jelinek - - PR c++/105593 - * g++.target/i386/pr105593.C: New test. - -2023-01-16 Jakub Jelinek - - PR c++/105593 - * c-c++-common/Winit-self3.c: New test. - * c-c++-common/Winit-self4.c: New test. - * c-c++-common/Winit-self5.c: New test. - -2023-01-16 Kewen Lin - - PR target/108272 - * gcc.target/powerpc/pr108272-1.c: New test. - * gcc.target/powerpc/pr108272-2.c: New test. - * gcc.target/powerpc/pr108272-3.c: New test. - * gcc.target/powerpc/pr108272-4.c: New test. - -2023-01-14 Prathamesh Kulkarni - - * gcc.target/aarch64/sve/acle/general/pr96463-2.c: Adjust. - -2023-01-14 Jakub Jelinek - - PR c++/108365 - * c-c++-common/pr108365.c: New test. - * g++.dg/opt/pr108365.C: New test. - * g++.dg/warn/pr108365.C: New test. - -2023-01-14 Alexandre Oliva - - PR target/42093 - * gcc.target/arm/pr42093.c: Disable tree-dce. - -2023-01-13 David Malcolm - - PR analyzer/105273 - * gcc.dg/analyzer/switch-enum-1.c: New test. - * gcc.dg/analyzer/switch-enum-2.c: New test. - * gcc.dg/analyzer/switch-enum-pr105273-git-vreportf-2.c: New test. - * gcc.dg/analyzer/switch-enum-taint-1.c: New test. - * gcc.dg/analyzer/switch-wrong-enum.c: New test. - * gcc.dg/analyzer/torture/switch-enum-pr105273-doom-p_floor.c: New - test. - * gcc.dg/analyzer/torture/switch-enum-pr105273-doom-p_maputl.c: - New test. - * gcc.dg/analyzer/torture/switch-enum-pr105273-git-vreportf-1.c: - New test. - -2023-01-13 Alexander Monakov - - PR rtl-optimization/108117 - PR rtl-optimization/108132 - * gcc.dg/pr108117.c: New test. - -2023-01-13 Jakub Jelinek - - PR c++/108285 - * g++.dg/warn/pr108285.C: New test. - -2023-01-13 Gaius Mulley - - * gm2/examples/map/pass/examples-map-pass.exp: - Call gm2_push_timeout 30 before foreach testcase. - Call gm2_pop_timeout after the foreach statement. - * gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: - Call gm2_push_timeout 20 before foreach testcase. - Call gm2_pop_timeout after the foreach statement. - -2023-01-13 Jakub Jelinek - - PR target/107131 - * gcc.c-torture/execute/pr107131.c: New test. - -2023-01-13 Srinath Parvathaneni - - * gcc.target/arm/multilib.exp: Add multilib tests for Cortex-M55 CPU. - -2023-01-13 Qing Zhao - - * gcc.dg/Warray-bounds-flex-arrays-1.c: Delete the level information - from the message issued by -Wstrict-flex-arrays. - * gcc.dg/Warray-bounds-flex-arrays-2.c: Likewise. - * gcc.dg/Warray-bounds-flex-arrays-3.c: Likewise. - * gcc.dg/Warray-bounds-flex-arrays-4.c: Likewise. - * gcc.dg/Warray-bounds-flex-arrays-5.c: Likewise. - * gcc.dg/Warray-bounds-flex-arrays-6.c: Likewise. - * gcc.dg/Wstrict-flex-arrays-2.c: Likewise. - * gcc.dg/Wstrict-flex-arrays-3.c: Likewise. - * gcc.dg/Wstrict-flex-arrays.c: Likewise. - -2023-01-13 Jakub Jelinek - - PR target/107131 - * gcc.dg/pr107131.c: New test. - -2023-01-13 Richard Sandiford - - * gcc.target/aarch64/dwarf_reg_size_1.c: New test. - * gcc.target/aarch64/dwarf_reg_size_2.c: Likewise. - -2023-01-13 Richard Biener - - * gcc.target/aarch64/pr107209.c: New test. - -2023-01-13 Richard Biener - - PR tree-optimization/108387 - * gcc.dg/pr108387.c: New testcase. - -2023-01-13 Gaius Mulley - - * gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp - (timeout-dg.exp): Load. - Call gm2_push_timeout 15. - Call gm2_pop_timeout at the end. - * gm2/link/min/pass/link-min-pass.exp: Set path - argument to "". - * gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp: - Call gm2_push_timeout 60. - Call gm2_pop_timeout at the end. - * lib/gm2-torture.exp (gm2_previous_timeout): Set to 10 or - individual_timeout. - Configure dejagnu to timeout for 10 seconds. - (gm2_push_timeout): New proc. - (gm2_pop_timeout): New proc. - * lib/gm2.exp (gm2_previous_timeout): Set to 10 or - individual_timeout. - Configure dejagnu to timeout for 10 seconds. - (gm2_push_timeout): New proc. - (gm2_pop_timeout): New proc. - -2023-01-12 Gaius Mulley - - * lib/gm2.exp: Use timeout.exp. - -2023-01-12 Gaius Mulley - - * lib/gm2.exp (gm2_init_min): Append -fno-exceptions - to args. - -2023-01-12 Andrew Pinski - Roger Sayle - - PR tree-optimization/92342 - * gcc.dg/tree-ssa/andnegcmp-1.c: New test. - * gcc.dg/tree-ssa/andnegcmp-2.c: New test. - * gcc.dg/tree-ssa/multcmp-1.c: New test. - * gcc.dg/tree-ssa/multcmp-2.c: New test. - -2023-01-12 Christophe Lyon - Richard Sandiford - - PR target/105549 - * gcc.target/aarch64/bitfield-abi-warning-align16-O2.c: Update. - * gcc.target/aarch64/bitfield-abi-warning-align16-O2-extra.c: Update. - * gcc.target/aarch64/bitfield-abi-warning-align32-O2.c: Update. - * gcc.target/aarch64/bitfield-abi-warning-align32-O2-extra.c: Update. - * gcc.target/aarch64/aapcs64/va_arg-17.c: New test. - * gcc.target/aarch64/pr105549.c: New test. - * g++.target/aarch64/bitfield-abi-warning-align16-O2.C: Update. - * g++.target/aarch64/bitfield-abi-warning-align16-O2-extra.C: Update. - * g++.target/aarch64/bitfield-abi-warning-align32-O2.C: Update. - * g++.target/aarch64/bitfield-abi-warning-align32-O2-extra.C: Update. - -2023-01-12 Christophe Lyon - Richard Sandiford - - * gcc.target/aarch64/bitfield-abi-warning-align16-O2.c: New test. - * gcc.target/aarch64/bitfield-abi-warning-align16-O2-extra.c: New - test. - * gcc.target/aarch64/bitfield-abi-warning-align32-O2.c: New test. - * gcc.target/aarch64/bitfield-abi-warning-align32-O2-extra.c: New - test. - * gcc.target/aarch64/bitfield-abi-warning-align8-O2.c: New test. - * gcc.target/aarch64/bitfield-abi-warning.h: New test. - * g++.target/aarch64/bitfield-abi-warning-align16-O2.C: New test. - * g++.target/aarch64/bitfield-abi-warning-align16-O2-extra.C: New - test. - * g++.target/aarch64/bitfield-abi-warning-align32-O2.C: New test. - * g++.target/aarch64/bitfield-abi-warning-align32-O2-extra.C: New - test. - * g++.target/aarch64/bitfield-abi-warning-align8-O2.C: New test. - * g++.target/aarch64/bitfield-abi-warning.h: New test. - -2023-01-12 Richard Biener - - PR tree-optimization/99412 - * gcc.dg/vect/pr99412.c: New testcase. - * gcc.dg/tree-ssa/reassoc-47.c: Adjust comment. - * gcc.dg/tree-ssa/reassoc-48.c: Remove. - -2023-01-12 Tobias Burnus - - PR fortran/107706 - * gfortran.dg/gomp/assume-2.f90: Update dg-error. - * gfortran.dg/gomp/assumes-2.f90: Likewise. - * gfortran.dg/gomp/assume-5.f90: New test. - -2023-01-12 Lewis Hyatt - - * c-c++-common/cpp/pr108244-1.c: New test. - * c-c++-common/cpp/pr108244-2.c: New test. - * c-c++-common/gomp/pr108244-3.c: New test. - -2023-01-11 David Malcolm - - PR analyzer/108252 - * gcc.dg/analyzer/attr-malloc-pr108252.c: New test. - * gcc.dg/analyzer/fd-leak-pr108252.c: New test. - * gcc.dg/analyzer/flex-with-call-summaries.c: Remove xfail from - warning false +ve directives. - * gcc.dg/analyzer/pr103217-2.c: Add -Wno-analyzer-too-complex. - * gcc.dg/analyzer/pr103217-3.c: Likewise. - * gcc.dg/analyzer/strdup-pr108252.c: New test. - * gcc.dg/analyzer/strndup-pr108252.c: New test. - -2023-01-11 Jakub Jelinek - - PR c/105972 - * gcc.dg/pr105972.c: New test. - -2023-01-11 Roger Sayle - - PR tree-optimization/71343 - * gcc.dg/pr71343-2.c: New test case. - -2023-01-11 David Faust - - PR target/108293 - * gcc.target/bpf/double-1.c: New test. - * gcc.target/bpf/double-2.c: New test. - * gcc.target/bpf/float-1.c: New test. - -2023-01-11 Eric Botcazou - - * gcc.dg/sso-17.c: New test. - -2023-01-11 Kewen Lin - - * gcc.target/powerpc/ppc-fortran/ppc-fortran.exp: Exit immediately if - the testing target isn't a PowerPC target. - -2023-01-11 Richard Biener - - PR tree-optimization/107767 - * gcc.dg/tree-ssa/pr107767.c: New testcase. - -2023-01-11 Jakub Jelinek - - PR target/108308 - * gcc.dg/pr108308.c: Use int32 target rather than { ilp32 || lp64 }. - -2023-01-11 Richard Biener - - PR tree-optimization/108352 - * gcc.dg/tree-ssa/ssa-thread-21.c: New testcase. - * gcc.dg/tree-ssa/vrp46.c: Remove --param fsm-scale-path-blocks=1. - -2023-01-11 Richard Biener - - PR tree-optimization/108353 - * gcc.dg/tree-ssa/ssa-copyprop-3.c: New testcase. - -2023-01-11 Andreas Krebbel - - * gcc.target/s390/not.c: New test. - -2023-01-11 Richard Biener - - PR tree-optimization/106293 - * gcc.dg/tree-ssa/ssa-dse-46.c: Remove long initializer. - -2023-01-10 Richard Biener - - PR tree-optimization/106293 - * gcc.dg/tree-ssa/ssa-dse-46.c: New testcase. - -2023-01-10 Roger Sayle - - PR rtl-optimization/106421 - * gcc.dg/pr106421.c: New test case. - -2023-01-10 Martin Jambor - - PR ipa/108110 - * g++.dg/ipa/pr108110.C: New test. - -2023-01-10 Richard Biener - - PR tree-optimization/108314 - * gcc.dg/vect/pr108314.c: New testcase. - -2023-01-10 Xianmiao Qu - - * gcc.target/csky/ldbs.c : Fix exclude-opts, should not - be "*". - -2023-01-10 Xianmiao Qu - - * gcc.target/csky/and3a.c: Rename to ... - * gcc.target/csky/ck801-and.c: ... this. - * gcc.target/csky/constpool-3.c: Rename to ... - * gcc.target/csky/constpool-2.c: ... this, Rename to ... - * gcc.target/csky/constpool-1.c: ... this, Rename to ... - * gcc.target/csky/ck801-constpool.c: ... this, and skip - if the CPU is not ck801. - * gcc.target/csky/ck801-branch.c: Skip if the CPU is not ck801. - -2023-01-10 Andreas Krebbel - - * gcc.target/s390/fcall-saved.c: New test. - -2023-01-09 Jakub Jelinek - - PR c++/105838 - PR c++/108047 - PR c++/108266 - * g++.dg/tree-ssa/initlist-opt2.C: New test. - * g++.dg/tree-ssa/initlist-opt3.C: New test. - -2023-01-09 Joseph Myers - - * gcc.dg/c2x-complit-8.c: New test. - -2023-01-09 Richard Biener - - PR middle-end/69482 - * gcc.target/i386/pr69482-1.c: New testcase. - * gcc.target/i386/pr69482-2.c: Likewise. - -2023-01-09 Martin Liska - - PR lto/108330 - * g++.dg/ipa/pr108830.C: New test. - -2023-01-09 Richard Biener - - PR tree-optimization/101912 - * gcc.dg/uninit-pr101912.c: New testcase. - -2023-01-09 Martin Liska - - PR c/107993 - * gcc.target/i386/pr107993.c: New test. - -2023-01-07 John David Anglin - - * gcc.dg/atomic/c11-atomic-exec-4.c: Add "-D_HPUX_SOURCE" option - on *-*-hpux*. - * gcc.dg/atomic/c11-atomic-exec-5.c: Likewise. - -2023-01-06 Joseph Myers - - * gcc.dg/builtin-tgmath-3.c: Update expectations and add more - tests. - -2023-01-06 Tamar Christina - - Revert: - 2023-01-06 Tamar Christina - - * gcc.target/aarch64/sve/slp_1.c: Update testcase. - -2023-01-06 Jakub Jelinek - - PR target/108292 - PR target/108308 - * gcc.c-torture/execute/pr108292.c: New test. - * gcc.target/i386/pr108292.c: New test. - * gcc.dg/pr108308.c: New test. - -2023-01-05 Roger Sayle - - Revert: - 2023-01-05 Roger Sayle - - * gcc.target/i386/cmov10.c: New test case. - -2023-01-05 Patrick Palka - - PR c++/108275 - * g++.dg/parse/access14.C: New test. - -2023-01-05 Gaius Mulley - - * lib/gm2.exp (gm2_init_minx): New procedure. - (gm2_init_min): New procedure calls gm2_init_min with - dialect flags. - * gm2/link/min/pass/tiny.mod: New test case. - * gm2/link/min/pass/link-min-pass.exp: New file. - -2023-01-04 Patrick Palka - - PR c++/108282 - * g++.dg/cpp2a/concepts-requires34.C: New test. - -2023-01-04 Jakub Jelinek - - PR c++/108206 - * g++.dg/template/pr108206.C: New test. - -2023-01-04 Iain Sandoe - - * gm2/iso/pass/realbitscast.mod: Disable REAL96 on Darwin. - -2023-01-04 Jakub Jelinek - - PR tree-optimization/108253 - * g++.dg/opt/pr108253.C: New test. - -2023-01-04 Jakub Jelinek - - PR middle-end/108237 - * gcc.c-torture/compile/pr108237.c: New test. - -2023-01-04 Jakub Jelinek - - PR sanitizer/108256 - * c-c++-common/ubsan/pr108256.c: New test. - -2023-01-03 David Edelsohn - - * g++.dg/modules/modules.exp: Skip on AIX. - * gcc.target/powerpc/pr99708.c: Skip on AIX. - -2023-01-03 Sandra Loosemore - - * g++.dg/gomp/target-simd-clone-1.C: Tweak to test - that the unused clone is GC'ed. - * gcc.dg/gomp/target-simd-clone-1.c: Likewise. - -2023-01-03 Roger Sayle - - * gcc.target/i386/cmov10.c: New test case. - -2023-01-03 Jakub Jelinek - - PR middle-end/108264 - * gcc.dg/pr108264.c: New test. - -2023-01-03 Jakub Jelinek - - PR rtl-optimization/108263 - * gcc.dg/pr108263.c: New test. - -2023-01-01 Roger Sayle - Uroš Bizjak - - * gcc.target/i386/extendditi2-1.c: New test case. - * gcc.target/i386/extendditi2-2.c: Likewise. - -Copyright (C) 2023 Free Software Foundation, Inc. +Copyright (C) 2024 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/testsuite/ChangeLog-2023 b/gcc/testsuite/ChangeLog-2023 new file mode 100644 index 000000000000..7e37126ebee6 --- /dev/null +++ b/gcc/testsuite/ChangeLog-2023 @@ -0,0 +1,53054 @@ +2023-12-31 Uros Bizjak + Roger Sayle + + PR target/43644 + * gcc.target/i386/pr43644-2.c: Expect 2 movq instructions. + +2023-12-30 Martin Uecker + + * gcc.dg/c23-tag-9.c: New test. + +2023-12-29 Tamar Christina + + PR target/110625 + * gcc.target/aarch64/pr110625_4.c: New test. + * gcc.target/aarch64/sve/unpack_fcvt_signed_1.c: Add + --param aarch64-sve-compare-costs=0. + * gcc.target/aarch64/sve/unpack_fcvt_unsigned_1.c: Likewise + +2023-12-29 Xi Ruoyao + + * gcc.target/loongarch/explicit-relocs-auto-single-load-store-2.c: + New test. + * gcc.target/loongarch/explicit-relocs-auto-single-load-store-3.c: + New test. + +2023-12-29 Uros Bizjak + + PR target/113133 + * gcc.target/i386/pr113133-1.c: New test. + * gcc.target/i386/pr113133-2.c: New test. + +2023-12-29 Andrew Pinski + + PR testsuite/113167 + * gcc.dg/tree-ssa/gen-vect-26.c: Mark the test/check loop + as novector. + +2023-12-29 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: Remove redundant checks. + +2023-12-29 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/post-ra-avl.c: Adapt test. + * gcc.target/riscv/rvv/base/vf_avl-2.c: New test. + +2023-12-28 David Edelsohn + + * g++.dg/template/linkage2.C: XFAIL on AIX. + * g++.dg/template/linkage3.C: Same. + +2023-12-28 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Ditto. + +2023-12-27 Xi Ruoyao + + PR target/113148 + * gcc.target/loongarch/pr113148.c: New test. + +2023-12-27 Xi Ruoyao + + * gcc.target/loongarch/rotl-with-rotr.c: New test. + * gcc.target/loongarch/rotl-with-vrotr-b.c: New test. + * gcc.target/loongarch/rotl-with-vrotr-h.c: New test. + * gcc.target/loongarch/rotl-with-vrotr-w.c: New test. + * gcc.target/loongarch/rotl-with-vrotr-d.c: New test. + * gcc.target/loongarch/rotl-with-xvrotr-b.c: New test. + * gcc.target/loongarch/rotl-with-xvrotr-h.c: New test. + * gcc.target/loongarch/rotl-with-xvrotr-w.c: New test. + * gcc.target/loongarch/rotl-with-xvrotr-d.c: New test. + +2023-12-27 Juzhe-Zhong + + PR target/113112 + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-3.c: New test. + +2023-12-27 Chenghui Pan + + * gcc.target/loongarch/vector/lsx/lsx-mov-1.c: New test. + +2023-12-27 Haochen Gui + + * gcc.target/powerpc/block-cmp-4.c: New. + +2023-12-27 Haochen Gui + + * gcc.target/powerpc/block-cmp-3.c: New. + +2023-12-27 Haochen Gui + + * gcc.target/powerpc/block-cmp-1.c: New. + * gcc.target/powerpc/block-cmp-2.c: New. + +2023-12-27 David Edelsohn + + * g++.dg/cpp23/wchar-multi1.C: Require 4 byte wchar_t. + +2023-12-27 David Edelsohn + + * g++.dg/ext/attr-section1.C: Test for csect section directive. + * g++.dg/ext/attr-section1a.C: Same. + * g++.dg/ext/attr-section2.C: Same. + * g++.dg/ext/attr-section2a.C: Same. + * g++.dg/ext/attr-section2b.C: Same. + +2023-12-26 David Edelsohn + + * gcc.dg/analyzer/out-of-bounds-diagram-17.c: Skip on AIX. + * gcc.dg/analyzer/out-of-bounds-diagram-18.c: Same. + +2023-12-26 David Edelsohn + + * gcc.dg/pr111409.c: Skip on AIX. + +2023-12-26 David Edelsohn + + * c-c++-common/strub-unsupported-2.c: Require strub. + * c-c++-common/strub-unsupported-3.c: Same. + * c-c++-common/strub-unsupported.c: Same. + * lib/target-supports.exp (check_effective_target_strub): Return 0 + for AIX. + +2023-12-26 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-10.c: Fix typo. + +2023-12-26 Juzhe-Zhong + + PR target/113112 + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-1.c: Add more checks. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-4.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-6.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-7.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-4.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-10.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-11.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-4.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-6.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-7.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-8.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-12.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-2.c: New test. + +2023-12-26 Di Zhao + + * gcc.dg/pr110279-1.c: Add "-mcpu=generic" for aarch64; add + "-mfma" for x86_64. + * gcc.dg/pr110279-2.c: Replace "-march=armv8.2-a" with + "-mcpu=generic"; limit the check to be on aarch64. + +2023-12-26 Jeevitha Palanisamy + + PR target/110320 + * gcc.target/powerpc/pr110320-1.c: Add dg-require-effective-target powerpc_pcrel. + +2023-12-25 David Edelsohn + + * c-c++-common/analyzer/capacity-1.c: Skip on AIX. + * c-c++-common/analyzer/capacity-2.c: Same. + * c-c++-common/analyzer/fd-glibc-byte-stream-socket.c: Same. + * c-c++-common/analyzer/fd-manpage-getaddrinfo-client.c: Same. + * c-c++-common/analyzer/fd-mappage-getaddrinfo-server.c: Same. + * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: Same. + +2023-12-25 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-mixed-1.c: Robostify test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-4.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-6.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-7.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-4.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-6.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-10.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-10.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-11.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-4.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-6.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-7.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-8.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/no-dynamic-lmul-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr111848.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: Ditto. + +2023-12-25 Jeevitha Palanisamy + Peter Bergner + + PR target/110320 + * gcc.target/powerpc/pr110320-1.c: New testcase. + * gcc.target/powerpc/pr110320-2.c: New testcase. + * gcc.target/powerpc/pr110320-3.c: New testcase. + +2023-12-25 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: Add one more ASM check. + +2023-12-25 Andrew Pinski + + PR tree-optimization/19832 + * gcc.dg/tree-ssa/phi-opt-same-2.c: New test. + +2023-12-24 Tamar Christina + + * gcc.dg/vect/tsvc/vect-tsvc-s332.c: Remove xfail when early break + supported. + * gcc.dg/vect/tsvc/vect-tsvc-s481.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s482.c: Likewise. + +2023-12-24 Tamar Christina + + * lib/target-supports.exp (add_options_for_vect_early_break, + check_effective_target_vect_early_break_hw, + check_effective_target_vect_early_break): New. + * g++.dg/vect/vect-early-break_1.cc: New test. + * g++.dg/vect/vect-early-break_2.cc: New test. + * g++.dg/vect/vect-early-break_3.cc: New test. + * gcc.dg/vect/vect-early-break-run_1.c: New test. + * gcc.dg/vect/vect-early-break-run_10.c: New test. + * gcc.dg/vect/vect-early-break-run_2.c: New test. + * gcc.dg/vect/vect-early-break-run_3.c: New test. + * gcc.dg/vect/vect-early-break-run_4.c: New test. + * gcc.dg/vect/vect-early-break-run_5.c: New test. + * gcc.dg/vect/vect-early-break-run_6.c: New test. + * gcc.dg/vect/vect-early-break-run_7.c: New test. + * gcc.dg/vect/vect-early-break-run_8.c: New test. + * gcc.dg/vect/vect-early-break-run_9.c: New test. + * gcc.dg/vect/vect-early-break-template_1.c: New test. + * gcc.dg/vect/vect-early-break-template_2.c: New test. + * gcc.dg/vect/vect-early-break_1.c: New test. + * gcc.dg/vect/vect-early-break_10.c: New test. + * gcc.dg/vect/vect-early-break_11.c: New test. + * gcc.dg/vect/vect-early-break_12.c: New test. + * gcc.dg/vect/vect-early-break_13.c: New test. + * gcc.dg/vect/vect-early-break_14.c: New test. + * gcc.dg/vect/vect-early-break_15.c: New test. + * gcc.dg/vect/vect-early-break_16.c: New test. + * gcc.dg/vect/vect-early-break_17.c: New test. + * gcc.dg/vect/vect-early-break_18.c: New test. + * gcc.dg/vect/vect-early-break_19.c: New test. + * gcc.dg/vect/vect-early-break_2.c: New test. + * gcc.dg/vect/vect-early-break_20.c: New test. + * gcc.dg/vect/vect-early-break_21.c: New test. + * gcc.dg/vect/vect-early-break_22.c: New test. + * gcc.dg/vect/vect-early-break_23.c: New test. + * gcc.dg/vect/vect-early-break_24.c: New test. + * gcc.dg/vect/vect-early-break_25.c: New test. + * gcc.dg/vect/vect-early-break_26.c: New test. + * gcc.dg/vect/vect-early-break_27.c: New test. + * gcc.dg/vect/vect-early-break_28.c: New test. + * gcc.dg/vect/vect-early-break_29.c: New test. + * gcc.dg/vect/vect-early-break_3.c: New test. + * gcc.dg/vect/vect-early-break_30.c: New test. + * gcc.dg/vect/vect-early-break_31.c: New test. + * gcc.dg/vect/vect-early-break_32.c: New test. + * gcc.dg/vect/vect-early-break_33.c: New test. + * gcc.dg/vect/vect-early-break_34.c: New test. + * gcc.dg/vect/vect-early-break_35.c: New test. + * gcc.dg/vect/vect-early-break_36.c: New test. + * gcc.dg/vect/vect-early-break_37.c: New test. + * gcc.dg/vect/vect-early-break_38.c: New test. + * gcc.dg/vect/vect-early-break_39.c: New test. + * gcc.dg/vect/vect-early-break_4.c: New test. + * gcc.dg/vect/vect-early-break_40.c: New test. + * gcc.dg/vect/vect-early-break_41.c: New test. + * gcc.dg/vect/vect-early-break_42.c: New test. + * gcc.dg/vect/vect-early-break_43.c: New test. + * gcc.dg/vect/vect-early-break_44.c: New test. + * gcc.dg/vect/vect-early-break_45.c: New test. + * gcc.dg/vect/vect-early-break_46.c: New test. + * gcc.dg/vect/vect-early-break_47.c: New test. + * gcc.dg/vect/vect-early-break_48.c: New test. + * gcc.dg/vect/vect-early-break_49.c: New test. + * gcc.dg/vect/vect-early-break_5.c: New test. + * gcc.dg/vect/vect-early-break_50.c: New test. + * gcc.dg/vect/vect-early-break_51.c: New test. + * gcc.dg/vect/vect-early-break_52.c: New test. + * gcc.dg/vect/vect-early-break_53.c: New test. + * gcc.dg/vect/vect-early-break_54.c: New test. + * gcc.dg/vect/vect-early-break_55.c: New test. + * gcc.dg/vect/vect-early-break_56.c: New test. + * gcc.dg/vect/vect-early-break_57.c: New test. + * gcc.dg/vect/vect-early-break_58.c: New test. + * gcc.dg/vect/vect-early-break_59.c: New test. + * gcc.dg/vect/vect-early-break_6.c: New test. + * gcc.dg/vect/vect-early-break_60.c: New test. + * gcc.dg/vect/vect-early-break_61.c: New test. + * gcc.dg/vect/vect-early-break_62.c: New test. + * gcc.dg/vect/vect-early-break_63.c: New test. + * gcc.dg/vect/vect-early-break_64.c: New test. + * gcc.dg/vect/vect-early-break_65.c: New test. + * gcc.dg/vect/vect-early-break_66.c: New test. + * gcc.dg/vect/vect-early-break_67.c: New test. + * gcc.dg/vect/vect-early-break_68.c: New test. + * gcc.dg/vect/vect-early-break_69.c: New test. + * gcc.dg/vect/vect-early-break_7.c: New test. + * gcc.dg/vect/vect-early-break_70.c: New test. + * gcc.dg/vect/vect-early-break_71.c: New test. + * gcc.dg/vect/vect-early-break_72.c: New test. + * gcc.dg/vect/vect-early-break_73.c: New test. + * gcc.dg/vect/vect-early-break_74.c: New test. + * gcc.dg/vect/vect-early-break_75.c: New test. + * gcc.dg/vect/vect-early-break_76.c: New test. + * gcc.dg/vect/vect-early-break_77.c: New test. + * gcc.dg/vect/vect-early-break_78.c: New test. + * gcc.dg/vect/vect-early-break_79.c: New test. + * gcc.dg/vect/vect-early-break_8.c: New test. + * gcc.dg/vect/vect-early-break_80.c: New test. + * gcc.dg/vect/vect-early-break_81.c: New test. + * gcc.dg/vect/vect-early-break_82.c: New test. + * gcc.dg/vect/vect-early-break_83.c: New test. + * gcc.dg/vect/vect-early-break_84.c: New test. + * gcc.dg/vect/vect-early-break_85.c: New test. + * gcc.dg/vect/vect-early-break_86.c: New test. + * gcc.dg/vect/vect-early-break_87.c: New test. + * gcc.dg/vect/vect-early-break_88.c: New test. + * gcc.dg/vect/vect-early-break_89.c: New test. + * gcc.dg/vect/vect-early-break_9.c: New test. + * gcc.dg/vect/vect-early-break_90.c: New test. + * gcc.dg/vect/vect-early-break_91.c: New test. + * gcc.dg/vect/vect-early-break_92.c: New test. + * gcc.dg/vect/vect-early-break_93.c: New test. + +2023-12-24 Tamar Christina + + * gcc.target/aarch64/sve/vect-early-break-cbranch.c: New test. + * gcc.target/aarch64/vect-early-break-cbranch.c: New test. + +2023-12-24 Tamar Christina + + * gcc.dg/vect/no-scevccp-slp-30.c: Add pragma GCC novector to abort + loop. + * gcc.dg/vect/no-scevccp-slp-31.c: Likewise. + * gcc.dg/vect/no-section-anchors-vect-69.c: Likewise. + * gcc.target/aarch64/vect-xorsign_exec.c: Likewise. + * gcc.target/i386/avx512er-vrcp28ps-3.c: Likewise. + * gcc.target/i386/avx512er-vrsqrt28ps-3.c: Likewise. + * gcc.target/i386/avx512er-vrsqrt28ps-5.c: Likewise. + * gcc.target/i386/avx512f-ceil-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-ceil-vec-1.c: Likewise. + * gcc.target/i386/avx512f-ceilf-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-ceilf-vec-1.c: Likewise. + * gcc.target/i386/avx512f-floor-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-floor-vec-1.c: Likewise. + * gcc.target/i386/avx512f-floorf-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-floorf-vec-1.c: Likewise. + * gcc.target/i386/avx512f-rint-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-rintf-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-round-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-roundf-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-trunc-vec-1.c: Likewise. + * gcc.target/i386/avx512f-truncf-vec-1.c: Likewise. + * gcc.target/i386/vect-alignment-peeling-1.c: Likewise. + * gcc.target/i386/vect-alignment-peeling-2.c: Likewise. + * gcc.target/i386/vect-pack-trunc-1.c: Likewise. + * gcc.target/i386/vect-pack-trunc-2.c: Likewise. + * gcc.target/i386/vect-perm-even-1.c: Likewise. + * gcc.target/i386/vect-unpack-1.c: Likewise. + +2023-12-24 John David Anglin + + * gcc.dg/pr110279-1.c: Add -march=2.0 option on hppa*-*-*. + +2023-12-24 Pan Li + + * gcc.dg/signbit-5.c: XFail for the riscv_v. + +2023-12-23 Xi Ruoyao + + * gcc.target/loongarch/rotrw.c: New test. + +2023-12-23 Xi Ruoyao + + * gcc.target/loongarch/movcf2gr.c: New test. + * gcc.target/loongarch/movcf2gr-via-fr.c: New test. + +2023-12-23 Juzhe-Zhong + + PR target/113112 + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: New test. + +2023-12-22 Martin Uecker + + * gcc.dg/c23-tag-alias-6.c: New test. + * gcc.dg/c23-tag-alias-7.c: New test. + * gcc.dg/c23-tag-composite-1.c: New test. + * gcc.dg/c23-tag-composite-2.c: New test. + * gcc.dg/c23-tag-composite-3.c: New test. + * gcc.dg/c23-tag-composite-4.c: New test. + * gcc.dg/c23-tag-composite-5.c: New test. + * gcc.dg/c23-tag-composite-6.c: New test. + * gcc.dg/c23-tag-composite-7.c: New test. + * gcc.dg/c23-tag-composite-8.c: New test. + * gcc.dg/c23-tag-composite-9.c: New test. + * gcc.dg/c23-tag-composite-10.c: New test. + * gcc.dg/gnu23-tag-composite-1.c: New test. + * gcc.dg/gnu23-tag-composite-2.c: New test. + * gcc.dg/gnu23-tag-composite-3.c: New test. + * gcc.dg/gnu23-tag-composite-4.c: New test. + * gcc.dg/gnu23-tag-composite-5.c: New test. + +2023-12-22 Jakub Jelinek + + PR rtl-optimization/112758 + * gcc.c-torture/execute/pr112758.c: New test. + +2023-12-22 Jakub Jelinek + + PR tree-optimization/112941 + * gcc.dg/bitint-60.c: New test. + +2023-12-22 Jakub Jelinek + + PR tree-optimization/113102 + * gcc.dg/bitint-59.c: New test. + +2023-12-22 Jakub Jelinek + + PR tree-optimization/113102 + * gcc.dg/bitint-58.c: New test. + +2023-12-22 Ken Matsui + + * g++.dg/ext/is_array.C: Remove testsuite_tr1.h. Add necessary + definitions accordingly. Tweak macros for consistency across + test codes. + * g++.dg/ext/is_bounded_array.C: Likewise. + * g++.dg/ext/is_function.C: Likewise. + * g++.dg/ext/is_member_function_pointer.C: Likewise. + * g++.dg/ext/is_member_object_pointer.C: Likewise. + * g++.dg/ext/is_member_pointer.C: Likewise. + * g++.dg/ext/is_object.C: Likewise. + * g++.dg/ext/is_reference.C: Likewise. + * g++.dg/ext/is_scoped_enum.C: Likewise. + +2023-12-22 Jason Merrill + + PR c++/81438 + * g++.dg/ext/label15.C: Require indirect_jumps. + * g++.dg/ext/label16.C: New test. + +2023-12-22 Sandra Loosemore + + * g++.dg/analyzer/placement-new-size.C: Include . Also + add missing newline to end of file. + +2023-12-22 Jason Merrill + + PR c++/95298 + * g++.dg/cpp0x/variadic-mangle2.C: Add non-member. + * g++.dg/cpp0x/variadic-mangle4.C: New test. + * g++.dg/cpp0x/variadic-mangle5.C: New test. + * g++.dg/cpp0x/variadic-mangle5a.C: New test. + +2023-12-22 Jason Merrill + + * g++.dg/abi/mangle-arm-crypto.C: Specify -fabi-compat-version. + * g++.dg/abi/mangle-concepts1.C + * g++.dg/abi/mangle-neon-aarch64.C + * g++.dg/abi/mangle-neon.C + * g++.dg/abi/mangle-regparm.C + * g++.dg/abi/mangle-regparm1a.C + * g++.dg/abi/mangle-ttp1.C + * g++.dg/abi/mangle-union1.C + * g++.dg/abi/mangle1.C + * g++.dg/abi/mangle13.C + * g++.dg/abi/mangle15.C + * g++.dg/abi/mangle16.C + * g++.dg/abi/mangle18-1.C + * g++.dg/abi/mangle19-1.C + * g++.dg/abi/mangle20-1.C + * g++.dg/abi/mangle22.C + * g++.dg/abi/mangle23.C + * g++.dg/abi/mangle24.C + * g++.dg/abi/mangle25.C + * g++.dg/abi/mangle26.C + * g++.dg/abi/mangle27.C + * g++.dg/abi/mangle28.C + * g++.dg/abi/mangle29.C + * g++.dg/abi/mangle3-2.C + * g++.dg/abi/mangle3.C + * g++.dg/abi/mangle30.C + * g++.dg/abi/mangle31.C + * g++.dg/abi/mangle32.C + * g++.dg/abi/mangle33.C + * g++.dg/abi/mangle34.C + * g++.dg/abi/mangle35.C + * g++.dg/abi/mangle36.C + * g++.dg/abi/mangle37.C + * g++.dg/abi/mangle39.C + * g++.dg/abi/mangle40.C + * g++.dg/abi/mangle43.C + * g++.dg/abi/mangle44.C + * g++.dg/abi/mangle45.C + * g++.dg/abi/mangle46.C + * g++.dg/abi/mangle47.C + * g++.dg/abi/mangle48.C + * g++.dg/abi/mangle49.C + * g++.dg/abi/mangle5.C + * g++.dg/abi/mangle50.C + * g++.dg/abi/mangle51.C + * g++.dg/abi/mangle52.C + * g++.dg/abi/mangle53.C + * g++.dg/abi/mangle54.C + * g++.dg/abi/mangle55.C + * g++.dg/abi/mangle56.C + * g++.dg/abi/mangle57.C + * g++.dg/abi/mangle58.C + * g++.dg/abi/mangle59.C + * g++.dg/abi/mangle6.C + * g++.dg/abi/mangle60.C + * g++.dg/abi/mangle61.C + * g++.dg/abi/mangle62.C + * g++.dg/abi/mangle62a.C + * g++.dg/abi/mangle63.C + * g++.dg/abi/mangle64.C + * g++.dg/abi/mangle65.C + * g++.dg/abi/mangle66.C + * g++.dg/abi/mangle68.C + * g++.dg/abi/mangle69.C + * g++.dg/abi/mangle7.C + * g++.dg/abi/mangle70.C + * g++.dg/abi/mangle71.C + * g++.dg/abi/mangle72.C + * g++.dg/abi/mangle73.C + * g++.dg/abi/mangle74.C + * g++.dg/abi/mangle75.C + * g++.dg/abi/mangle76.C + * g++.dg/abi/mangle77.C + * g++.dg/abi/mangle78.C + * g++.dg/abi/mangle8.C + * g++.dg/abi/mangle9.C: Likewise. + +2023-12-21 Patrick Palka + + * g++.dg/warn/Wparentheses-34.C: New test. + +2023-12-21 Patrick Palka + + PR c++/84542 + * g++.dg/ext/attr-deprecated-2.C: No longer XFAIL. + * g++.dg/ext/attr-unavailable-12.C: New test. + +2023-12-21 Patrick Palka + + PR c++/70413 + PR c++/107906 + * g++.dg/template/linkage2.C: New test. + * g++.dg/template/linkage3.C: New test. + * g++.dg/template/linkage4.C: New test. + * g++.dg/template/linkage4a.C: New test. + +2023-12-21 Uros Bizjak + + PR target/113044 + * gcc.target/i386/pr113044.c: New test. + +2023-12-21 Alex Coplan + + PR target/113093 + * gcc.dg/pr113093.c: New test. + +2023-12-21 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: New test. + +2023-12-21 Richard Sandiford + + PR target/113094 + * gcc.target/aarch64/pr113094.c: New test. + +2023-12-21 Jakub Jelinek + + * g++.dg/warn/Walloc-size-1.C: New test. + * g++.dg/warn/Wcalloc-transposed-args-1.C: New test. + +2023-12-21 Jakub Jelinek + + PR sanitizer/113092 + * gcc.dg/ubsan/bitint-4.c: New test. + +2023-12-21 Jakub Jelinek + + PR tree-optimization/112941 + * gcc.dg/bitint-56.c: New test. + * gcc.dg/bitint-57.c: New test. + +2023-12-21 chenxiaolong + + * gcc.target/loongarch/vector/simd_correctness_check.h:The variable + types in the check results are modified in conjunction with the + parameter types defined in the vector builtin function. + +2023-12-21 Martin Uecker + + * gcc.dg/c23-tag-2.c: Activate. + * gcc.dg/c23-tag-5.c: Activate. + * gcc.dg/c23-tag-alias-1.c: New test. + * gcc.dg/c23-tag-alias-2.c: New test. + * gcc.dg/c23-tag-alias-3.c: New test. + * gcc.dg/c23-tag-alias-4.c: New test. + * gcc.dg/c23-tag-alias-5.c: New test. + * gcc.dg/gnu23-tag-alias-1.c: New test. + * gcc.dg/gnu23-tag-alias-2.c: New test. + * gcc.dg/gnu23-tag-alias-3.c: New test. + * gcc.dg/gnu23-tag-alias-4.c: New test. + * gcc.dg/gnu23-tag-alias-5.c: New test. + * gcc.dg/gnu23-tag-alias-6.c: New test. + * gcc.dg/gnu23-tag-alias-7.c: New test. + +2023-12-21 Martin Uecker + + * gcc.dg/c23-tag-enum-1.c: New test. + * gcc.dg/c23-tag-enum-2.c: New test. + * gcc.dg/c23-tag-enum-3.c: New test. + * gcc.dg/c23-tag-enum-4.c: New test. + * gcc.dg/c23-tag-enum-5.c: New test. + * gcc.dg/gnu23-tag-enum-1.c: Mew test. + +2023-12-21 Martin Uecker + + * gcc.dg/c23-enum-7.c: Remove warning. + * gcc.dg/c23-tag-1.c: New test. + * gcc.dg/c23-tag-2.c: New deactivated test. + * gcc.dg/c23-tag-3.c: New test. + * gcc.dg/c23-tag-4.c: New test. + * gcc.dg/c23-tag-5.c: New deactivated test. + * gcc.dg/c23-tag-6.c: New test. + * gcc.dg/c23-tag-7.c: New test. + * gcc.dg/c23-tag-8.c: New test. + * gcc.dg/gnu23-tag-1.c: New test. + * gcc.dg/gnu23-tag-2.c: New test. + * gcc.dg/gnu23-tag-3.c: New test. + * gcc.dg/gnu23-tag-4.c: New test. + * gcc.dg/pr112488-2.c: Remove warning. + +2023-12-21 Kewen Lin + + PR rtl-optimization/112995 + * gcc.target/powerpc/pr112995.c: New test. + +2023-12-21 Jason Merrill + + PR c++/37722 + * g++.dg/ext/label15.C: New test. + * g++.dg/torture/pr42739.C: Expect warning. + +2023-12-21 Jason Merrill + + PR c++/106213 + * g++.dg/cpp0x/depr-copy5.C: New test. + +2023-12-20 Juzhe-Zhong + + PR target/113087 + * gcc.target/riscv/rvv/autovec/pr113087-2.c: New test. + +2023-12-20 Juzhe-Zhong + + PR target/113087 + * gcc.target/riscv/rvv/autovec/pr113087-1.c: New test. + +2023-12-20 Richard Sandiford + + PR rtl-optimization/111702 + * gcc.dg/rtl/aarch64/pr111702.c: New test. + +2023-12-20 Kuan-Lin Chen + + * gcc.target/riscv/large-model.c: New test. + +2023-12-20 Jason Merrill + + PR c++/113088 + PR c++/33799 + * g++.dg/eh/return2.C: New test. + +2023-12-20 Jason Merrill + + PR c++/103185 + * g++.dg/cpp1z/array-prvalue2.C: New test. + * g++.dg/cpp1z/eval-order3.C: Test swapped operands. + +2023-12-20 Andre Vieira + + * gcc.target/aarch64/pr112787.c: New test. + +2023-12-20 Xi Ruoyao + + PR target/113033 + * gcc.target/loongarch/pr113033.c: New test. + +2023-12-20 Xi Ruoyao + + PR target/113034 + * gcc.target/loongarch/vfcmp-f.c: New test. + * gcc.target/loongarch/vfcmp-d.c: New test. + * gcc.target/loongarch/xvfcmp-f.c: New test. + * gcc.target/loongarch/xvfcmp-d.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-vcond-2.c: Scan for cune + instead of cne. + * gcc.target/loongarch/vector/lsx/lsx-vcond-2.c: Likewise. + +2023-12-20 demin.han + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Moved to... + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-10.c: ...here. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-4.c: Moved to... + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-11.c: ...here. + +2023-12-20 Jakub Jelinek + + PR tree-optimization/112941 + * gcc.dg/bitint-55.c: New test. + +2023-12-20 Jakub Jelinek + + * gcc.dg/Walloc-size-4.c: New test. + * gcc.dg/Walloc-size-5.c: New test. + * gcc.dg/Wcalloc-transposed-args-1.c: New test. + +2023-12-20 Alex Coplan + + PR target/113062 + * gcc.dg/pr113062.c: New test. + +2023-12-20 Pan Li + + * gcc.target/riscv/rvv/autovec/bug-7.c: New test. + +2023-12-20 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/bug-8.c: New test. + +2023-12-20 Alexandre Oliva + + PR rtl-optimization/113002 + * gcc.dg/vect/pr113002.c: New. + +2023-12-20 Alexandre Oliva + + * gcc.dg/torture/inline-mem-cmp-1.c: Copy timeout factor from + mem-cmp-1.c. + * gcc.dg/torture/inline-mem-cpy-1.c: Likewise. + +2023-12-20 Haochen Jiang + + * gcc.target/i386/avx10_1-6.c: Remove check for errors. + * gcc.target/i386/noevex512-2.c: Diito. + +2023-12-20 Siddhesh Poyarekar + + PR tree-optimization/113012 + * gcc.dg/ubsan/pr113012.c: New test case. + +2023-12-19 Patrick Palka + + PR c++/113063 + * g++.dg/cpp2a/spaceship-synth16.C: New test. + +2023-12-19 Nathaniel Shead + + PR c++/102420 + * g++.dg/cpp0x/constexpr-memfn2.C: New test. + +2023-12-19 Sandra Loosemore + + * c-c++-common/gomp/declare-variant-2.c: Don't expect error on + "acquire" and "release". + * gfortran.dg/gomp/declare-variant-2a.f90: Likewise. + +2023-12-19 Sandra Loosemore + + * c-c++-common/gomp/declare-variant-1.c: Expect warning on + unknown selectors. + * c-c++-common/gomp/declare-variant-2.c: Likewise. Also adjust + messages for score errors. + * c-c++-common/gomp/declare-variant-no-score.c: New. + * gfortran.dg/gomp/declare-variant-1.f90: Expect warning on + unknown selectors. + * gfortran.dg/gomp/declare-variant-2.f90: Likewise. Also adjust + messages for score errors. + * gfortran.dg/gomp/declare-variant-no-score.f90: New. + +2023-12-19 David Faust + + PR debug/111735 + * gcc.dg/debug/btf/btf-forward-2.c: New test. + +2023-12-19 Patrick Palka + + PR c++/90679 + * g++.dg/cpp0x/alias-decl-75a.C: New test. + * g++.dg/cpp0x/alias-decl-75b.C: New test. + +2023-12-19 Patrick Palka + + PR c++/90679 + * g++.dg/cpp0x/alias-decl-76.C: New test. + +2023-12-19 Marc Poulhiès + + * g++.target/i386/excess-precision-12.C: call std::abort instead of abort. + +2023-12-19 Juzhe-Zhong + + * gcc.dg/vect/bb-slp-cond-1.c: Adapt for RISC-V. + +2023-12-19 Richard Biener + + PR tree-optimization/113080 + * gcc.dg/tree-ssa/sccp-3.c: New testcase. + +2023-12-19 Roger Sayle + + * gcc.target/i386/movti-2.c: New test case. + * gcc.target/i386/movti-3.c: Likewise. + +2023-12-19 Thomas Schwinge + + PR c++/90868 + * c-c++-common/goacc/declare-1.c: Adjust. + * c-c++-common/goacc/declare-2.c: Likewise. + +2023-12-19 Jakub Jelinek + + PR target/112816 + * gcc.target/i386/sse2-pr112816-2.c: New test. + +2023-12-19 Alex Coplan + + PR target/113061 + * gfortran.dg/PR113061.f90: New test. + +2023-12-19 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/avl_multiple-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-14.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-15.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-16.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_prop-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_prop-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-100.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-101.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-102.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-103.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-104.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-105.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-106.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-107.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-108.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-109.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-14.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-15.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-16.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-17.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-18.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-19.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-20.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-21.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-22.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-24.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-25.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-26.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-27.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-28.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-29.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-30.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-31.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-32.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-33.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-34.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-35.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-36.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-37.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-38.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-39.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-40.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-41.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-42.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-43.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-44.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-45.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-46.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-47.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-48.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-49.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-50.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-51.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-52.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-53.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-54.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-55.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-56.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-57.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-58.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-59.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-60.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-61.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-62.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-63.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-64.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-65.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-66.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-67.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-68.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-69.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-70.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-71.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-72.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-73.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-74.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-75.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-76.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-77.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-78.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-79.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-80.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-81.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-82.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-83.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-85.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-86.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-87.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-88.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-89.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-90.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-91.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-92.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-93.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-94.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-95.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-96.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-97.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-98.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/avl_single-99.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/dump-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/ffload-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/ffload-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/ffload-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/ffload-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/ffload-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/ffload-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-14.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-15.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-16.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-17.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_switch-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_switch-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_switch-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_switch-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_switch-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_switch-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_switch-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_switch-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/imm_switch-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr108270.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr109399.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr109547.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr109615.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr109743-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr109743-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr109743-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr109743-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr109748.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr109773-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr109773-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr109974.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr111037-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr111037-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr111037-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr111037-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr111234.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr111255.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr111927.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr111947.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr112092-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr112092-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr112713-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr112713-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr112776.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr112813-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr112929-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/pr112988-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-14.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-15.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-16.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-17.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-18.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-19.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-20.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-21.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-22.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-23.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-29.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-32.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-34.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-35.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-37.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-38.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-40.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-41.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-42.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-43.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-44.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-46.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-14.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-15.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-16.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-17.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-18.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-19.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-20.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-21.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-22.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-23.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-24.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-25.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-26.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-27.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-28.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-15.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-16.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-17.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-18.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-19.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-20.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-21.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-22.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-23.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-24.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-25.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-26.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-27.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-28.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-14.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-15.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-16.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-14.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-15.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-16.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-17.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-18.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-19.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-20.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-21.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-22.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-24.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvl_int.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-1.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-10.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-11.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-12.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-13.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-14.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-15.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-16.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-17.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-18.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-19.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-2.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-20.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-3.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-4.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-5.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-6.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-7.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-8.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-9.c: Force scalable vector. + * gcc.target/riscv/rvv/vsetvl/wredsum_vlmax.c: Force scalable vector. + +2023-12-19 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Adapt test. + +2023-12-19 xuli + + * gcc.target/riscv/rvv/base/cpymem-1.c: Fix checks under medany. + * gcc.target/riscv/rvv/base/cpymem-strategy-3.c: Fix checks. + * gcc.target/riscv/rvv/base/cpymem-strategy-4.c: Ditto. + +2023-12-19 Jiufu Guo + + PR rtl-optimization/112525 + PR target/30271 + * gcc.target/powerpc/pr112525.c: New test. + * gcc.target/powerpc/pr30271.c: New test. + +2023-12-19 Juzhe-Zhong + + * lib/target-supports.exp: Remove 256/512/1024 vectors. + +2023-12-19 xuli + + * gcc.target/riscv/rvv/base/cpymem-2.c: Fix checks. + +2023-12-18 Harald Anlauf + + PR fortran/96580 + * gfortran.dg/date_and_time_2.f90: New test. + * gfortran.dg/date_and_time_3.f90: New test. + * gfortran.dg/date_and_time_4.f90: New test. + +2023-12-18 Andreas Krebbel + + * gcc.target/s390/unaligned-2.c: New test. + +2023-12-18 Pan Li + + * gcc.target/riscv/rvv/base/pr112432-42.c: Moved to... + * gcc.target/riscv/rvv/base/pr112431-42.c: ...here. + +2023-12-18 Juzhe-Zhong + + PR target/112432 + * gcc.target/riscv/rvv/base/pr112432-42.c: New test. + +2023-12-18 Richard Biener + + PR c/111975 + * gcc.dg/gimplefe-52.c: New testcase. + +2023-12-18 Juzhe-Zhong + + * lib/target-supports.exp: Add RV32. + +2023-12-18 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/bug-4.c: New test. + * gcc.target/riscv/rvv/autovec/bug-5.c: New test. + * gcc.target/riscv/rvv/autovec/bug-6.c: New test. + +2023-12-18 Jakub Jelinek + + PR tree-optimization/113013 + * gcc.dg/pr113013.c: New test. + +2023-12-18 Jakub Jelinek + + * g++.dg/abi/abi-tag25a.C: Expect second dg-warning only for c++14 + and later. + +2023-12-18 xuli + + * gcc.target/riscv/rvv/base/cpymem-1.c: Fix checks. + +2023-12-18 xuli + + * gcc.target/riscv/rvv/autovec/bug-2.c: New test. + +2023-12-18 Pan Li + + * gcc.target/riscv/rvv/autovec/bug-3.c: New test. + +2023-12-17 Harald Anlauf + + PR fortran/97592 + * gfortran.dg/contiguous_15.f90: New test. + +2023-12-17 Xi Ruoyao + + PR target/112936 + * gcc.target/loongarch/mul-const-reduction.c: New test. + +2023-12-16 Nathaniel Shead + + PR c++/106363 + * g++.dg/modules/pr106363_a.C: New test. + * g++.dg/modules/pr106363_b.C: New test. + +2023-12-16 David Malcolm + + PR analyzer/112792 + * c-c++-common/analyzer/out-of-bounds-pr112792.c: New test. + +2023-12-16 Paul Thomas + + PR fortran/112459 + * gfortran.dg/pr112459.f90: New test. + +2023-12-16 Paul Thomas + + PR fortran/112834 + PR fortran/111853 + * gfortran.dg/associate_63.f90 : New test. + * gfortran.dg/pr111853.f90 : New test. + +2023-12-16 Nathaniel Shead + + PR c++/113031 + * g++.dg/cpp0x/pr113031.C: New test. + +2023-12-16 Andrew Carlotti + + * gcc.target/aarch64/options_set_17.c: Reorder expected flags. + * gcc.target/aarch64/cpunative/native_cpu_0.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_13.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_16.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_17.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_18.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_19.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_20.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_21.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_22.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_6.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_7.c: Ditto. + +2023-12-16 Andrew Carlotti + + * g++.target/i386/mvc2.C: + * g++.target/i386/mvc3.C: + +2023-12-16 Andrew Carlotti + + * gcc.target/aarch64/options_set_28.c: New test. + +2023-12-16 Andrew Carlotti + + * gcc.target/aarch64/options_set_4.c: Add terminating newline. + * gcc.target/aarch64/options_set_27.c: New test. + +2023-12-15 Mary Bennett + + * gcc.target/riscv/cv-elw-elw-compile-1.c: Create test for cv.elw. + * lib/target-supports.exp: Add proc for the XCVelw extension. + +2023-12-15 Patrick O'Neill + + * gcc.target/riscv/rvv/autovec/partial/pr112773.c: Add + -fno-vect-cost-model. + +2023-12-15 Jeff Law + + PR target/110201 + * gcc.target/riscv/zknd32.c: Verify diagnostics are issued for + invalid builtin arguments. + * gcc.target/riscv/zknd64.c: Likewise. + * gcc.target/riscv/zkne32.c: Likewise. + * gcc.target/riscv/zkne64.c: Likewise. + * gcc.target/riscv/zksed32.c: Likewise. + * gcc.target/riscv/zksed64.c: Likewise. + * gcc.target/riscv/zknd32-2.c: New test + * gcc.target/riscv/zknd64-2.c: Likewise. + * gcc.target/riscv/zkne32-2.c: Likewise. + * gcc.target/riscv/zkne64-2.c: Likewise. + * gcc.target/riscv/zksed32-2.c: Likewise. + * gcc.target/riscv/zksed64-2.c: Likewise. + Co-authored-by: Liao Shihua + +2023-12-15 Alex Coplan + + * g++.target/aarch64/pr103147-10.C: Add -fno-schedule-insns{,2} + to dg-options. + * gcc.target/aarch64/pr103147-10.c: Likewise. + +2023-12-15 Alex Coplan + + * gcc.target/aarch64/sve/pcs/stack_clash_1_128.c: Allow ldp/stp saves + of SVE registers. + * gcc.target/aarch64/sve/pcs/struct_3_128.c: Likewise. + +2023-12-15 Alex Coplan + + * gcc.target/aarch64/auto-init-padding-1.c: Add -O to options, + adjust test to work with optimizations enabled. + * gcc.target/aarch64/auto-init-padding-2.c: Add -O to options. + * gcc.target/aarch64/auto-init-padding-3.c: Add -O to options, + adjust test to work with optimizations enabled. + * gcc.target/aarch64/auto-init-padding-4.c: Likewise. + * gcc.target/aarch64/auto-init-padding-9.c: Likewise. + +2023-12-15 Xiao Zeng + + * gcc.target/riscv/arch-31.c: New test. + * gcc.target/riscv/arch-32.c: New test. + * gcc.target/riscv/predef-32.c: New test. + * gcc.target/riscv/predef-33.c: New test. + +2023-12-15 Gaius Mulley + + PR modula2/112946 + * gm2/iso/fail/badassignment.mod: New test. + * gm2/iso/fail/badexpression.mod: New test. + * gm2/iso/fail/badexpression2.mod: New test. + +2023-12-15 Patrick Palka + + PR c++/70435 + PR c++/88061 + * g++.dg/ext/attr-section1.C: New test. + * g++.dg/ext/attr-section1a.C: New test. + * g++.dg/ext/attr-section2.C: New test. + * g++.dg/ext/attr-section2a.C: New test. + * g++.dg/ext/attr-section2b.C: New test. + +2023-12-15 Patrick Palka + + PR c++/109715 + * g++.dg/abi/abi-tag25.C: New test. + * g++.dg/abi/abi-tag25a.C: New test. + +2023-12-15 Andre Vieira + + * gcc.dg/gomp/pr87887-1.c: Fixed test. + * gcc.dg/gomp/pr89246-1.c: Likewise. + * gcc.dg/gomp/simd-clones-2.c: Likewise. + +2023-12-15 Wilco Dijkstra + + * gcc.target/aarch64/memmove.c: Add new test. + * gcc.target/aarch64/memmove2.c: Likewise. + +2023-12-15 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/bug-1.c: New test. + +2023-12-15 Alex Coplan + + PR target/112906 + * gcc.target/aarch64/sve/acle/general/pr112906.c: New test. + +2023-12-15 Thomas Schwinge + + * gcc.dg/pr110279-2.c: Don't '#include '. Remove + '__attribute_noinline__'. + +2023-12-15 Jakub Jelinek + + PR tree-optimization/113024 + * gcc.dg/tree-ssa/pr113024.c: New test. + +2023-12-15 Jakub Jelinek + + PR tree-optimization/113003 + * gcc.dg/bitint-54.c: New test. + +2023-12-15 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Remove xfail of M2. + * gcc.target/riscv/rvv/autovec/partial/slp-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-5.c: Ditto. + +2023-12-15 Hongyu Wang + + * gcc.target/i386/pr112943.c: Require dfp. + +2023-12-15 Hongyu Wang + + PR target/112824 + * gcc.target/i386/pieces-memset-45.c: Remove + -mprefer-vector-width=256. + * g++.target/i386/pr112824-1.C: New test. + +2023-12-15 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/pr112988-1.c: Adapt test. + +2023-12-15 Juzhe-Zhong + + PR target/112387 + * gcc.dg/vect/costmodel/riscv/rvv/pr112387.c: Moved to... + * gcc.dg/vect/costmodel/riscv/rvv/pr112387-1.c: ...here. + * gcc.dg/vect/costmodel/riscv/rvv/pr112387-2.c: New test. + +2023-12-15 Juzhe-Zhong + + PR target/111153 + * gcc.dg/vect/costmodel/riscv/rvv/pr111153.c: Moved to... + * gcc.dg/vect/costmodel/riscv/rvv/pr11153-2.c: ...here. + * gcc.dg/vect/costmodel/riscv/rvv/pr111153-1.c: New test. + +2023-12-14 David Malcolm + + PR analyzer/96395 + * c-c++-common/analyzer/analyzer-decls.h: New header. + * gcc.dg/analyzer/20020129-1.c: Move to... + * c-c++-common/analyzer/20020129-1.c: ...here. + * gcc.dg/analyzer/SARD-tc117-basic-00001-min.c: Move to... + * c-c++-common/analyzer/SARD-tc117-basic-00001-min.c: ...here. + * gcc.dg/analyzer/SARD-tc249-basic-00034-min.c: Move to... + * c-c++-common/analyzer/SARD-tc249-basic-00034-min.c: ...here. + * gcc.dg/analyzer/abort.c: Move to... + * c-c++-common/analyzer/abort.c: ...here. + * gcc.dg/analyzer/aliasing-1.c: Move to... + * c-c++-common/analyzer/aliasing-1.c: ...here. + * gcc.dg/analyzer/aliasing-2.c: Move to... + * c-c++-common/analyzer/aliasing-2.c: ...here. + * gcc.dg/analyzer/alloca-leak.c: Move to... + * c-c++-common/analyzer/alloca-leak.c: ...here. + * gcc.dg/analyzer/analyzer-debugging-fns-1.c: Move to... + * c-c++-common/analyzer/analyzer-debugging-fns-1.c: ...here. + * gcc.dg/analyzer/analyzer-verbosity-2a.c: Move to... + * c-c++-common/analyzer/analyzer-verbosity-2a.c: ...here. + * gcc.dg/analyzer/analyzer-verbosity-3a.c: Move to... + * c-c++-common/analyzer/analyzer-verbosity-3a.c: ...here. + * gcc.dg/analyzer/asm-x86-1.c: Move to... + * c-c++-common/analyzer/asm-x86-1.c: ...here. + * gcc.dg/analyzer/attr-alloc_size-3.c: Move to... + * c-c++-common/analyzer/attr-alloc_size-3.c: ...here. + * gcc.dg/analyzer/attr-const-1.c: Move to... + * c-c++-common/analyzer/attr-const-1.c: ...here. + * gcc.dg/analyzer/attr-const-2.c: Move to... + * c-c++-common/analyzer/attr-const-2.c: ...here. + * gcc.dg/analyzer/attr-const-3.c: Move to... + * c-c++-common/analyzer/attr-const-3.c: ...here. + * gcc.dg/analyzer/attr-malloc-2.c: Move to... + * c-c++-common/analyzer/attr-malloc-2.c: ...here. + * gcc.dg/analyzer/attr-malloc-4.c: Move to... + * c-c++-common/analyzer/attr-malloc-4.c: ...here. + * gcc.dg/analyzer/attr-malloc-5.c: Move to... + * c-c++-common/analyzer/attr-malloc-5.c: ...here. + * gcc.dg/analyzer/attr-malloc-misuses.c: Move to... + * c-c++-common/analyzer/attr-malloc-misuses.c: ...here. + * gcc.dg/analyzer/attr-tainted_args-misuses.c: Move to... + * c-c++-common/analyzer/attr-tainted_args-misuses.c: ...here. + * gcc.dg/analyzer/bzip2-arg-parse-1.c: Move to... + * c-c++-common/analyzer/bzip2-arg-parse-1.c: ...here. + * gcc.dg/analyzer/call-summaries-1.c: Move to... + * c-c++-common/analyzer/call-summaries-1.c: ...here. + * gcc.dg/analyzer/call-summaries-3.c: Move to... + * c-c++-common/analyzer/call-summaries-3.c: ...here. + * gcc.dg/analyzer/call-summaries-asm-x86.c: Move to... + * c-c++-common/analyzer/call-summaries-asm-x86.c: ...here. + * gcc.dg/analyzer/callbacks-1.c: Move to... + * c-c++-common/analyzer/callbacks-1.c: ...here. + * gcc.dg/analyzer/callbacks-2.c: Move to... + * c-c++-common/analyzer/callbacks-2.c: ...here. + * gcc.dg/analyzer/callbacks-3.c: Move to... + * c-c++-common/analyzer/callbacks-3.c: ...here. + * gcc.dg/analyzer/capacity-2.c: Move to... + * c-c++-common/analyzer/capacity-2.c: ...here. + * gcc.dg/analyzer/capacity-3.c: Move to... + * c-c++-common/analyzer/capacity-3.c: ...here. + * gcc.dg/analyzer/casts-1.c: Move to... + * c-c++-common/analyzer/casts-1.c: ...here. + * gcc.dg/analyzer/casts-2.c: Move to... + * c-c++-common/analyzer/casts-2.c: ...here. + * gcc.dg/analyzer/clobbers-1.c: Move to... + * c-c++-common/analyzer/clobbers-1.c: ...here. + * gcc.dg/analyzer/compound-assignment-4.c: Move to... + * c-c++-common/analyzer/compound-assignment-4.c: ...here. + * gcc.dg/analyzer/data-model-12.c: Move to... + * c-c++-common/analyzer/data-model-12.c: ...here. + * gcc.dg/analyzer/data-model-14.c: Move to... + * c-c++-common/analyzer/data-model-14.c: ...here. + * gcc.dg/analyzer/data-model-18.c: Move to... + * c-c++-common/analyzer/data-model-18.c: ...here. + * gcc.dg/analyzer/data-model-2.c: Move to... + * c-c++-common/analyzer/data-model-2.c: ...here. + * gcc.dg/analyzer/data-model-20.c: Move to... + * c-c++-common/analyzer/data-model-20.c: ...here. + * gcc.dg/analyzer/data-model-21.c: Move to... + * c-c++-common/analyzer/data-model-21.c: ...here. + * gcc.dg/analyzer/data-model-22.c: Move to... + * c-c++-common/analyzer/data-model-22.c: ...here. + * gcc.dg/analyzer/data-model-4.c: Move to... + * c-c++-common/analyzer/data-model-4.c: ...here. + * gcc.dg/analyzer/data-model-5d.c: Move to... + * c-c++-common/analyzer/data-model-5d.c: ...here. + * gcc.dg/analyzer/data-model-8.c: Move to... + * c-c++-common/analyzer/data-model-8.c: ...here. + * gcc.dg/analyzer/data-model-path-1.c: Move to... + * c-c++-common/analyzer/data-model-path-1.c: ...here. + * gcc.dg/analyzer/deref-before-check-2.c: Move to... + * c-c++-common/analyzer/deref-before-check-2.c: ...here. + * gcc.dg/analyzer/deref-before-check-macro-pr108745.c: Move to... + * c-c++-common/analyzer/deref-before-check-macro-pr108745.c: ...here. + * gcc.dg/analyzer/deref-before-check-qemu-qtest_rsp_args.c: Move to... + * c-c++-common/analyzer/deref-before-check-qemu-qtest_rsp_args.c: + ...here. + * gcc.dg/analyzer/disabling.c: Move to... + * c-c++-common/analyzer/disabling.c: ...here. + * gcc.dg/analyzer/dump-state.c: Move to... + * c-c++-common/analyzer/dump-state.c: ...here. + * gcc.dg/analyzer/edges-2.c: Move to... + * c-c++-common/analyzer/edges-2.c: ...here. + * gcc.dg/analyzer/equivalence.c: Move to... + * c-c++-common/analyzer/equivalence.c: ...here. + * gcc.dg/analyzer/errno-1.c: Move to... + * c-c++-common/analyzer/errno-1.c: ...here. + * gcc.dg/analyzer/errno-___errno.c: Move to... + * c-c++-common/analyzer/errno-___errno.c: ...here. + * gcc.dg/analyzer/errno-__error.c: Move to... + * c-c++-common/analyzer/errno-__error.c: ...here. + * gcc.dg/analyzer/errno-global-var.c: Move to... + * c-c++-common/analyzer/errno-global-var.c: ...here. + * gcc.dg/analyzer/errno-pr107777.c: Move to... + * c-c++-common/analyzer/errno-pr107777.c: ...here. + * gcc.dg/analyzer/error-3.c: Move to... + * c-c++-common/analyzer/error-3.c: ...here. + * gcc.dg/analyzer/error-uninit.c: Move to... + * c-c++-common/analyzer/error-uninit.c: ...here. + * gcc.dg/analyzer/factorial.c: Move to... + * c-c++-common/analyzer/factorial.c: ...here. + * gcc.dg/analyzer/fd-1.c: Move to... + * c-c++-common/analyzer/fd-1.c: ...here. + * gcc.dg/analyzer/fd-2.c: Move to... + * c-c++-common/analyzer/fd-2.c: ...here. + * gcc.dg/analyzer/fd-3.c: Move to... + * c-c++-common/analyzer/fd-3.c: ...here. + * gcc.dg/analyzer/fd-bind-pr107928.c: Move to... + * c-c++-common/analyzer/fd-bind-pr107928.c: ...here. + * gcc.dg/analyzer/fd-connect-pr107928.c: Move to... + * c-c++-common/analyzer/fd-connect-pr107928.c: ...here. + * gcc.dg/analyzer/fd-glibc-byte-stream-socket.c: Move to... + * c-c++-common/analyzer/fd-glibc-byte-stream-socket.c: ...here. + * gcc.dg/analyzer/fd-manpage-getaddrinfo-client.c: Move to... + * c-c++-common/analyzer/fd-manpage-getaddrinfo-client.c: ...here. + * gcc.dg/analyzer/fd-mappage-getaddrinfo-server.c: Move to... + * c-c++-common/analyzer/fd-mappage-getaddrinfo-server.c: ...here. + * gcc.dg/analyzer/fd-meaning.c: Move to... + * c-c++-common/analyzer/fd-meaning.c: ...here. + * gcc.dg/analyzer/fd-socket-meaning.c: Move to... + * c-c++-common/analyzer/fd-socket-meaning.c: ...here. + * gcc.dg/analyzer/fd-symbolic-socket.c: Move to... + * c-c++-common/analyzer/fd-symbolic-socket.c: ...here. + * gcc.dg/analyzer/fd-uninit-1.c: Move to... + * c-c++-common/analyzer/fd-uninit-1.c: ...here. + * gcc.dg/analyzer/feasibility-1.c: Move to... + * c-c++-common/analyzer/feasibility-1.c: ...here. + * gcc.dg/analyzer/feasibility-2.c: Move to... + * c-c++-common/analyzer/feasibility-2.c: ...here. + * gcc.dg/analyzer/feasibility-4.c: Move to... + * c-c++-common/analyzer/feasibility-4.c: ...here. + * gcc.dg/analyzer/feasibility-pr107948.c: Move to... + * c-c++-common/analyzer/feasibility-pr107948.c: ...here. + * gcc.dg/analyzer/ferror-1.c: Move to... + * c-c++-common/analyzer/ferror-1.c: ...here. + * gcc.dg/analyzer/fibonacci.c: Move to... + * c-c++-common/analyzer/fibonacci.c: ...here. + * gcc.dg/analyzer/file-1.c: Move to... + * c-c++-common/analyzer/file-1.c: ...here. + * gcc.dg/analyzer/file-3.c: Move to... + * c-c++-common/analyzer/file-3.c: ...here. + * gcc.dg/analyzer/file-meaning-1.c: Move to... + * c-c++-common/analyzer/file-meaning-1.c: ...here. + * gcc.dg/analyzer/malloc-ipa-10.c: Move to... + * c-c++-common/analyzer/malloc-ipa-10.c: ...here. + * gcc.dg/analyzer/malloc-ipa-12.c: Move to... + * c-c++-common/analyzer/malloc-ipa-12.c: ...here. + * gcc.dg/analyzer/malloc-ipa-13a.c: Move to... + * c-c++-common/analyzer/malloc-ipa-13a.c: ...here. + * gcc.dg/analyzer/malloc-ipa-9.c: Move to... + * c-c++-common/analyzer/malloc-ipa-9.c: ...here. + * gcc.dg/analyzer/malloc-many-paths-1.c: Move to... + * c-c++-common/analyzer/malloc-many-paths-1.c: ...here. + * gcc.dg/analyzer/malloc-many-paths-3.c: Move to... + * c-c++-common/analyzer/malloc-many-paths-3.c: ...here. + * gcc.dg/analyzer/malloc-meaning-1.c: Move to... + * c-c++-common/analyzer/malloc-meaning-1.c: ...here. + * gcc.dg/analyzer/malloc-paths-1.c: Move to... + * c-c++-common/analyzer/malloc-paths-1.c: ...here. + * gcc.dg/analyzer/malloc-paths-2.c: Move to... + * c-c++-common/analyzer/malloc-paths-2.c: ...here. + * gcc.dg/analyzer/malloc-paths-3.c: Move to... + * c-c++-common/analyzer/malloc-paths-3.c: ...here. + * gcc.dg/analyzer/malloc-paths-4.c: Move to... + * c-c++-common/analyzer/malloc-paths-4.c: ...here. + * gcc.dg/analyzer/malloc-paths-5.c: Move to... + * c-c++-common/analyzer/malloc-paths-5.c: ...here. + * gcc.dg/analyzer/malloc-paths-6.c: Move to... + * c-c++-common/analyzer/malloc-paths-6.c: ...here. + * gcc.dg/analyzer/malloc-paths-7.c: Move to... + * c-c++-common/analyzer/malloc-paths-7.c: ...here. + * gcc.dg/analyzer/malloc-paths-8.c: Move to... + * c-c++-common/analyzer/malloc-paths-8.c: ...here. + * gcc.dg/analyzer/malloc-sarif-1.c: Move to... + * c-c++-common/analyzer/malloc-sarif-1.c: ...here. + * gcc.dg/analyzer/malloc-vs-local-1a.c: Move to... + * c-c++-common/analyzer/malloc-vs-local-1a.c: ...here. + * gcc.dg/analyzer/malloc-vs-local-1b.c: Move to... + * c-c++-common/analyzer/malloc-vs-local-1b.c: ...here. + * gcc.dg/analyzer/malloc-vs-local-2.c: Move to... + * c-c++-common/analyzer/malloc-vs-local-2.c: ...here. + * gcc.dg/analyzer/malloc-vs-local-3.c: Move to... + * c-c++-common/analyzer/malloc-vs-local-3.c: ...here. + * gcc.dg/analyzer/many-disabled-diagnostics.c: Move to... + * c-c++-common/analyzer/many-disabled-diagnostics.c: ...here. + * gcc.dg/analyzer/many-unused-locals.c: Move to... + * c-c++-common/analyzer/many-unused-locals.c: ...here. + * gcc.dg/analyzer/memcpy-pr107882.c: Move to... + * c-c++-common/analyzer/memcpy-pr107882.c: ...here. + * gcc.dg/analyzer/memset-1.c: Move to... + * c-c++-common/analyzer/memset-1.c: ...here. + * gcc.dg/analyzer/memset-2.c: Move to... + * c-c++-common/analyzer/memset-2.c: ...here. + * gcc.dg/analyzer/named-constants-via-macros-2.c: Move to... + * c-c++-common/analyzer/named-constants-via-macros-2.c: ...here. + * gcc.dg/analyzer/named-constants-via-macros-3.c: Move to... + * c-c++-common/analyzer/named-constants-via-macros-3.c: ...here. + * gcc.dg/analyzer/named-constants-via-macros-4.c: Move to... + * c-c++-common/analyzer/named-constants-via-macros-4.c: ...here. + * gcc.dg/analyzer/named-constants-via-macros-empty.c: Move to... + * c-c++-common/analyzer/named-constants-via-macros-empty.c: ...here. + * gcc.dg/analyzer/named-constants-via-macros-traditional.c: Move to... + * c-c++-common/analyzer/named-constants-via-macros-traditional.c: + ...here. + * gcc.dg/analyzer/named-constants-via-macros-undef.c: Move to... + * c-c++-common/analyzer/named-constants-via-macros-undef.c: ...here. + * gcc.dg/analyzer/omp-parallel-for-1.c: Move to... + * c-c++-common/analyzer/omp-parallel-for-1.c: ...here. + * gcc.dg/analyzer/omp-parallel-for-get-min.c: Move to... + * c-c++-common/analyzer/omp-parallel-for-get-min.c: ...here. + * gcc.dg/analyzer/out-of-bounds-3.c: Move to... + * c-c++-common/analyzer/out-of-bounds-3.c: ...here. + * gcc.dg/analyzer/out-of-bounds-coreutils.c: Move to... + * c-c++-common/analyzer/out-of-bounds-coreutils.c: ...here. + * gcc.dg/analyzer/out-of-bounds-curl.c: Move to... + * c-c++-common/analyzer/out-of-bounds-curl.c: ...here. + * gcc.dg/analyzer/out-of-bounds-diagram-1-json.c: Move to... + * c-c++-common/analyzer/out-of-bounds-diagram-1-json.c: ...here. + * gcc.dg/analyzer/out-of-bounds-diagram-1-sarif.c: Move to... + * c-c++-common/analyzer/out-of-bounds-diagram-1-sarif.c: ...here. + * gcc.dg/analyzer/out-of-bounds-pr110387.c: Move to... + * c-c++-common/analyzer/out-of-bounds-pr110387.c: ...here. + * gcc.dg/analyzer/out-of-bounds-read-char-arr.c: Move to... + * c-c++-common/analyzer/out-of-bounds-read-char-arr.c: ...here. + * gcc.dg/analyzer/out-of-bounds-read-int-arr.c: Move to... + * c-c++-common/analyzer/out-of-bounds-read-int-arr.c: ...here. + * gcc.dg/analyzer/out-of-bounds-read-struct-arr.c: Move to... + * c-c++-common/analyzer/out-of-bounds-read-struct-arr.c: ...here. + * gcc.dg/analyzer/out-of-bounds-write-char-arr.c: Move to... + * c-c++-common/analyzer/out-of-bounds-write-char-arr.c: ...here. + * gcc.dg/analyzer/out-of-bounds-write-int-arr.c: Move to... + * c-c++-common/analyzer/out-of-bounds-write-int-arr.c: ...here. + * gcc.dg/analyzer/out-of-bounds-write-struct-arr.c: Move to... + * c-c++-common/analyzer/out-of-bounds-write-struct-arr.c: ...here. + * gcc.dg/analyzer/params-2.c: Move to... + * c-c++-common/analyzer/params-2.c: ...here. + * gcc.dg/analyzer/paths-1.c: Move to... + * c-c++-common/analyzer/paths-1.c: ...here. + * gcc.dg/analyzer/paths-1a.c: Move to... + * c-c++-common/analyzer/paths-1a.c: ...here. + * gcc.dg/analyzer/paths-2.c: Move to... + * c-c++-common/analyzer/paths-2.c: ...here. + * gcc.dg/analyzer/paths-3.c: Move to... + * c-c++-common/analyzer/paths-3.c: ...here. + * gcc.dg/analyzer/paths-4.c: Move to... + * c-c++-common/analyzer/paths-4.c: ...here. + * gcc.dg/analyzer/paths-5.c: Move to... + * c-c++-common/analyzer/paths-5.c: ...here. + * gcc.dg/analyzer/paths-6.c: Move to... + * c-c++-common/analyzer/paths-6.c: ...here. + * gcc.dg/analyzer/paths-7.c: Move to... + * c-c++-common/analyzer/paths-7.c: ...here. + * gcc.dg/analyzer/paths-8.c: Move to... + * c-c++-common/analyzer/paths-8.c: ...here. + * gcc.dg/analyzer/pattern-test-1.c: Move to... + * c-c++-common/analyzer/pattern-test-1.c: ...here. + * gcc.dg/analyzer/pipe-pr107486.c: Move to... + * c-c++-common/analyzer/pipe-pr107486.c: ...here. + * gcc.dg/analyzer/pointer-merging.c: Move to... + * c-c++-common/analyzer/pointer-merging.c: ...here. + * gcc.dg/analyzer/pr100546.c: Move to... + * c-c++-common/analyzer/pr100546.c: ...here. + * gcc.dg/analyzer/pr101503.c: Move to... + * c-c++-common/analyzer/pr101503.c: ...here. + * gcc.dg/analyzer/pr101570.c: Move to... + * c-c++-common/analyzer/pr101570.c: ...here. + * gcc.dg/analyzer/pr101721.c: Move to... + * c-c++-common/analyzer/pr101721.c: ...here. + * gcc.dg/analyzer/pr102692-2.c: Move to... + * c-c++-common/analyzer/pr102692-2.c: ...here. + * gcc.dg/analyzer/pr102695.c: Move to... + * c-c++-common/analyzer/pr102695.c: ...here. + * gcc.dg/analyzer/pr103217-3.c: Move to... + * c-c++-common/analyzer/pr103217-3.c: ...here. + * gcc.dg/analyzer/pr103217-4.c: Move to... + * c-c++-common/analyzer/pr103217-4.c: ...here. + * gcc.dg/analyzer/pr103217-5.c: Move to... + * c-c++-common/analyzer/pr103217-5.c: ...here. + * gcc.dg/analyzer/pr104089.c: Move to... + * c-c++-common/analyzer/pr104089.c: ...here. + * gcc.dg/analyzer/pr104308.c: Move to... + * c-c++-common/analyzer/pr104308.c: ...here. + * gcc.dg/analyzer/pr104452.c: Move to... + * c-c++-common/analyzer/pr104452.c: ...here. + * gcc.dg/analyzer/pr104524.c: Move to... + * c-c++-common/analyzer/pr104524.c: ...here. + * gcc.dg/analyzer/pr104560-2.c: Move to... + * c-c++-common/analyzer/pr104560-2.c: ...here. + * gcc.dg/analyzer/pr105087-1.c: Move to... + * c-c++-common/analyzer/pr105087-1.c: ...here. + * gcc.dg/analyzer/pr105087-2.c: Move to... + * c-c++-common/analyzer/pr105087-2.c: ...here. + * gcc.dg/analyzer/pr105252.c: Move to... + * c-c++-common/analyzer/pr105252.c: ...here. + * gcc.dg/analyzer/pr106394.c: Move to... + * c-c++-common/analyzer/pr106394.c: ...here. + * gcc.dg/analyzer/pr106539.c: Move to... + * c-c++-common/analyzer/pr106539.c: ...here. + * gcc.dg/analyzer/pr106845.c: Move to... + * c-c++-common/analyzer/pr106845.c: ...here. + * gcc.dg/analyzer/pr109439.c: Move to... + * c-c++-common/analyzer/pr109439.c: ...here. + * gcc.dg/analyzer/pr110455.c: Move to... + * c-c++-common/analyzer/pr110455.c: ...here. + * gcc.dg/analyzer/pr93032-mztools-simplified.c: Move to... + * c-c++-common/analyzer/pr93032-mztools-simplified.c: ...here. + * gcc.dg/analyzer/pr93290.c: Move to... + * c-c++-common/analyzer/pr93290.c: ...here. + * gcc.dg/analyzer/pr93352.c: Move to... + * c-c++-common/analyzer/pr93352.c: ...here. + * gcc.dg/analyzer/pr93355-localealias-feasibility-3.c: Move to... + * c-c++-common/analyzer/pr93355-localealias-feasibility-3.c: ...here. + * gcc.dg/analyzer/pr93355-localealias-simplified.c: Move to... + * c-c++-common/analyzer/pr93355-localealias-simplified.c: ...here. + * gcc.dg/analyzer/pr93546.c: Move to... + * c-c++-common/analyzer/pr93546.c: ...here. + * gcc.dg/analyzer/pr93547.c: Move to... + * c-c++-common/analyzer/pr93547.c: ...here. + * gcc.dg/analyzer/pr93669.c: Move to... + * c-c++-common/analyzer/pr93669.c: ...here. + * gcc.dg/analyzer/pr93938.c: Move to... + * c-c++-common/analyzer/pr93938.c: ...here. + * gcc.dg/analyzer/pr94047.c: Move to... + * c-c++-common/analyzer/pr94047.c: ...here. + * gcc.dg/analyzer/pr94099.c: Move to... + * c-c++-common/analyzer/pr94099.c: ...here. + * gcc.dg/analyzer/pr94105.c: Move to... + * c-c++-common/analyzer/pr94105.c: ...here. + * gcc.dg/analyzer/pr94362-2.c: Move to... + * c-c++-common/analyzer/pr94362-2.c: ...here. + * gcc.dg/analyzer/pr94399.c: Move to... + * c-c++-common/analyzer/pr94399.c: ...here. + * gcc.dg/analyzer/pr94447.c: Move to... + * c-c++-common/analyzer/pr94447.c: ...here. + * gcc.dg/analyzer/pr94639.c: Move to... + * c-c++-common/analyzer/pr94639.c: ...here. + * gcc.dg/analyzer/pr94640.c: Move to... + * c-c++-common/analyzer/pr94640.c: ...here. + * gcc.dg/analyzer/pr94732.c: Move to... + * c-c++-common/analyzer/pr94732.c: ...here. + * gcc.dg/analyzer/pr94851-1.c: Move to... + * c-c++-common/analyzer/pr94851-1.c: ...here. + * gcc.dg/analyzer/pr94851-2.c: Move to... + * c-c++-common/analyzer/pr94851-2.c: ...here. + * gcc.dg/analyzer/pr94851-3.c: Move to... + * c-c++-common/analyzer/pr94851-3.c: ...here. + * gcc.dg/analyzer/pr94851-4.c: Move to... + * c-c++-common/analyzer/pr94851-4.c: ...here. + * gcc.dg/analyzer/pr95026.c: Move to... + * c-c++-common/analyzer/pr95026.c: ...here. + * gcc.dg/analyzer/pr96598.c: Move to... + * c-c++-common/analyzer/pr96598.c: ...here. + * gcc.dg/analyzer/pr96611.c: Move to... + * c-c++-common/analyzer/pr96611.c: ...here. + * gcc.dg/analyzer/pr96644.c: Move to... + * c-c++-common/analyzer/pr96644.c: ...here. + * gcc.dg/analyzer/pr96646.c: Move to... + * c-c++-common/analyzer/pr96646.c: ...here. + * gcc.dg/analyzer/pr96648.c: Move to... + * c-c++-common/analyzer/pr96648.c: ...here. + * gcc.dg/analyzer/pr96650-1-notrans.c: Move to... + * c-c++-common/analyzer/pr96650-1-notrans.c: ...here. + * gcc.dg/analyzer/pr96650-1-trans.c: Move to... + * c-c++-common/analyzer/pr96650-1-trans.c: ...here. + * gcc.dg/analyzer/pr96650-2-notrans.c: Move to... + * c-c++-common/analyzer/pr96650-2-notrans.c: ...here. + * gcc.dg/analyzer/pr96650-2-trans.c: Move to... + * c-c++-common/analyzer/pr96650-2-trans.c: ...here. + * gcc.dg/analyzer/pr96651-1.c: Move to... + * c-c++-common/analyzer/pr96651-1.c: ...here. + * gcc.dg/analyzer/pr96699.c: Move to... + * c-c++-common/analyzer/pr96699.c: ...here. + * gcc.dg/analyzer/pr96705.c: Move to... + * c-c++-common/analyzer/pr96705.c: ...here. + * gcc.dg/analyzer/pr96713.c: Move to... + * c-c++-common/analyzer/pr96713.c: ...here. + * gcc.dg/analyzer/pr96764.c: Move to... + * c-c++-common/analyzer/pr96764.c: ...here. + * gcc.dg/analyzer/pr96777.c: Move to... + * c-c++-common/analyzer/pr96777.c: ...here. + * gcc.dg/analyzer/pr96860-2.c: Move to... + * c-c++-common/analyzer/pr96860-2.c: ...here. + * gcc.dg/analyzer/pr97029.c: Move to... + * c-c++-common/analyzer/pr97029.c: ...here. + * gcc.dg/analyzer/pr97072.c: Move to... + * c-c++-common/analyzer/pr97072.c: ...here. + * gcc.dg/analyzer/pr97130.c: Move to... + * c-c++-common/analyzer/pr97130.c: ...here. + * gcc.dg/analyzer/pr97233.c: Move to... + * c-c++-common/analyzer/pr97233.c: ...here. + * gcc.dg/analyzer/pr97514.c: Move to... + * c-c++-common/analyzer/pr97514.c: ...here. + * gcc.dg/analyzer/pr97608.c: Move to... + * c-c++-common/analyzer/pr97608.c: ...here. + * gcc.dg/analyzer/pr97668.c: Move to... + * c-c++-common/analyzer/pr97668.c: ...here. + * gcc.dg/analyzer/pr98073.c: Move to... + * c-c++-common/analyzer/pr98073.c: ...here. + * gcc.dg/analyzer/pr98575-1.c: Move to... + * c-c++-common/analyzer/pr98575-1.c: ...here. + * gcc.dg/analyzer/pr98580-a.c: Move to... + * c-c++-common/analyzer/pr98580-a.c: ...here. + * gcc.dg/analyzer/pr98580-b.c: Move to... + * c-c++-common/analyzer/pr98580-b.c: ...here. + * gcc.dg/analyzer/pr98918.c: Move to... + * c-c++-common/analyzer/pr98918.c: ...here. + * gcc.dg/analyzer/pr99044-2.c: Move to... + * c-c++-common/analyzer/pr99044-2.c: ...here. + * gcc.dg/analyzer/pr99716-2.c: Move to... + * c-c++-common/analyzer/pr99716-2.c: ...here. + * gcc.dg/analyzer/pr99716-3.c: Move to... + * c-c++-common/analyzer/pr99716-3.c: ...here. + * gcc.dg/analyzer/pr99906.c: Move to... + * c-c++-common/analyzer/pr99906.c: ...here. + * gcc.dg/analyzer/pragma-1.c: Move to... + * c-c++-common/analyzer/pragma-1.c: ...here. + * gcc.dg/analyzer/pragma-2.c: Move to... + * c-c++-common/analyzer/pragma-2.c: ...here. + * gcc.dg/analyzer/refcounting-1.c: Move to... + * c-c++-common/analyzer/refcounting-1.c: ...here. + * gcc.dg/analyzer/rhbz1878600.c: Move to... + * c-c++-common/analyzer/rhbz1878600.c: ...here. + * gcc.dg/analyzer/sarif-pr107366.c: Move to... + * c-c++-common/analyzer/sarif-pr107366.c: ...here. + * gcc.dg/analyzer/setjmp-pr109094.c: Move to... + * c-c++-common/analyzer/setjmp-pr109094.c: ...here. + * gcc.dg/analyzer/sock-2.c: Move to... + * c-c++-common/analyzer/sock-2.c: ...here. + * gcc.dg/analyzer/stale-frame-1.c: Move to... + * c-c++-common/analyzer/stale-frame-1.c: ...here. + * gcc.dg/analyzer/stdarg-sentinel-1.c: Move to... + * c-c++-common/analyzer/stdarg-sentinel-1.c: ...here. + * gcc.dg/analyzer/stdarg-types-2.c: Move to... + * c-c++-common/analyzer/stdarg-types-2.c: ...here. + * gcc.dg/analyzer/stdarg-types-3.c: Move to... + * c-c++-common/analyzer/stdarg-types-3.c: ...here. + * gcc.dg/analyzer/stdarg-types-4.c: Move to... + * c-c++-common/analyzer/stdarg-types-4.c: ...here. + * gcc.dg/analyzer/strcpy-2.c: Move to... + * c-c++-common/analyzer/strcpy-2.c: ...here. + * gcc.dg/analyzer/strndup-1.c: Move to... + * c-c++-common/analyzer/strndup-1.c: ...here. + * gcc.dg/analyzer/switch-wrong-enum.c: Move to... + * c-c++-common/analyzer/switch-wrong-enum.c: ...here. + * gcc.dg/analyzer/symbolic-1.c: Move to... + * c-c++-common/analyzer/symbolic-1.c: ...here. + * gcc.dg/analyzer/symbolic-2.c: Move to... + * c-c++-common/analyzer/symbolic-2.c: ...here. + * gcc.dg/analyzer/symbolic-3.c: Move to... + * c-c++-common/analyzer/symbolic-3.c: ...here. + * gcc.dg/analyzer/symbolic-4.c: Move to... + * c-c++-common/analyzer/symbolic-4.c: ...here. + * gcc.dg/analyzer/symbolic-5.c: Move to... + * c-c++-common/analyzer/symbolic-5.c: ...here. + * gcc.dg/analyzer/symbolic-6.c: Move to... + * c-c++-common/analyzer/symbolic-6.c: ...here. + * gcc.dg/analyzer/symbolic-7.c: Move to... + * c-c++-common/analyzer/symbolic-7.c: ...here. + * gcc.dg/analyzer/symbolic-8.c: Move to... + * c-c++-common/analyzer/symbolic-8.c: ...here. + * gcc.dg/analyzer/symbolic-gt-1.c: Move to... + * c-c++-common/analyzer/symbolic-gt-1.c: ...here. + * gcc.dg/analyzer/taint-alloc-3.c: Move to... + * c-c++-common/analyzer/taint-alloc-3.c: ...here. + * gcc.dg/analyzer/taint-assert-BUG_ON.c: Move to... + * c-c++-common/analyzer/taint-assert-BUG_ON.c: ...here. + * gcc.dg/analyzer/taint-divisor-2.c: Move to... + * c-c++-common/analyzer/taint-divisor-2.c: ...here. + * gcc.dg/analyzer/taint-merger.c: Move to... + * c-c++-common/analyzer/taint-merger.c: ...here. + * gcc.dg/analyzer/taint-realloc.c: Move to... + * c-c++-common/analyzer/taint-realloc.c: ...here. + * gcc.dg/analyzer/uninit-1.c: Move to... + * c-c++-common/analyzer/uninit-1.c: ...here. + * gcc.dg/analyzer/uninit-2.c: Move to... + * c-c++-common/analyzer/uninit-2.c: ...here. + * gcc.dg/analyzer/uninit-3.c: Move to... + * c-c++-common/analyzer/uninit-3.c: ...here. + * gcc.dg/analyzer/uninit-6.c: Move to... + * c-c++-common/analyzer/uninit-6.c: ...here. + * gcc.dg/analyzer/uninit-6b.c: Move to... + * c-c++-common/analyzer/uninit-6b.c: ...here. + * gcc.dg/analyzer/uninit-8.c: Move to... + * c-c++-common/analyzer/uninit-8.c: ...here. + * gcc.dg/analyzer/uninit-pr104576.c: Move to... + * c-c++-common/analyzer/uninit-pr104576.c: ...here. + * gcc.dg/analyzer/uninit-pr106204.c: Move to... + * c-c++-common/analyzer/uninit-pr106204.c: ...here. + * gcc.dg/analyzer/uninit-pr108704.c: Move to... + * c-c++-common/analyzer/uninit-pr108704.c: ...here. + * gcc.dg/analyzer/uninit-pr108806-qemu.c: Move to... + * c-c++-common/analyzer/uninit-pr108806-qemu.c: ...here. + * gcc.dg/analyzer/uninit-pr108968-register.c: Move to... + * c-c++-common/analyzer/uninit-pr108968-register.c: ...here. + * gcc.dg/analyzer/uninit-pr94713.c: Move to... + * c-c++-common/analyzer/uninit-pr94713.c: ...here. + * gcc.dg/analyzer/uninit-pr94714.c: Move to... + * c-c++-common/analyzer/uninit-pr94714.c: ...here. + * gcc.dg/analyzer/unknown-fns-2.c: Move to... + * c-c++-common/analyzer/unknown-fns-2.c: ...here. + * gcc.dg/analyzer/unknown-fns-3.c: Move to... + * c-c++-common/analyzer/unknown-fns-3.c: ...here. + * gcc.dg/analyzer/unknown-fns-4.c: Move to... + * c-c++-common/analyzer/unknown-fns-4.c: ...here. + * gcc.dg/analyzer/unused-local-1.c: Move to... + * c-c++-common/analyzer/unused-local-1.c: ...here. + * gcc.dg/analyzer/use-after-free-2.c: Move to... + * c-c++-common/analyzer/use-after-free-2.c: ...here. + * gcc.dg/analyzer/use-after-free-3.c: Move to... + * c-c++-common/analyzer/use-after-free-3.c: ...here. + * gcc.dg/analyzer/vsnprintf-1.c: Move to... + * c-c++-common/analyzer/vsnprintf-1.c: ...here. + * gcc.dg/analyzer/zlib-1.c: Move to... + * c-c++-common/analyzer/zlib-1.c: ...here. + * gcc.dg/analyzer/zlib-2.c: Move to... + * c-c++-common/analyzer/zlib-2.c: ...here. + * gcc.dg/analyzer/zlib-4.c: Move to... + * c-c++-common/analyzer/zlib-4.c: ...here. + * gcc.dg/analyzer/zlib-5.c: Move to... + * c-c++-common/analyzer/zlib-5.c: ...here. + +2023-12-14 Marek Polacek + + PR c++/112482 + * g++.dg/cpp23/auto-fncast15.C: New test. + +2023-12-14 Andrew Pinski + + PR middle-end/111260 + * gcc.c-torture/compile/condmove-1.c: New test. + +2023-12-14 Marek Polacek + + PR c++/112869 + * g++.dg/template/sizeof18.C: New test. + +2023-12-14 Thomas Schwinge + + * gcc.dg/vect/vect-simd-clone-1.c: Update GCN 'dg-warning's. + * gcc.dg/vect/vect-simd-clone-2.c: Likewise. + * gcc.dg/vect/vect-simd-clone-3.c: Likewise. + * gcc.dg/vect/vect-simd-clone-4.c: Likewise. + * gcc.dg/vect/vect-simd-clone-5.c: Likewise. + * gcc.dg/vect/vect-simd-clone-8.c: Likewise. + +2023-12-14 Di Zhao + + PR tree-optimization/110279 + * gcc.dg/pr110279-2.c: New test. + +2023-12-14 Marek Polacek + + * g++.dg/cpp1z/class-deduction67.C: Correct dg-error target. + +2023-12-14 Robin Dapp + + * gcc.target/riscv/rvv/autovec/pr112999.c: New test. + +2023-12-14 Robin Dapp + + * gcc.target/riscv/rvv/autovec/partial/pr112773.c: New test. + +2023-12-14 Patrick Palka + + * g++.dg/cpp1z/class-deduction67.C: Accept in C++23 mode. + * g++.dg/cpp23/class-deduction-inherited1.C: New test. + * g++.dg/cpp23/class-deduction-inherited2.C: New test. + * g++.dg/cpp23/class-deduction-inherited3.C: New test. + * g++.dg/cpp23/class-deduction-inherited4.C: New test. + +2023-12-14 Richard Biener + + PR tree-optimization/112793 + * g++.dg/vect/pr112793.cc: New testcase. + +2023-12-14 Richard Sandiford + + * gcc.target/aarch64/sve/accumulators_1.c: New test. + * gcc.target/aarch64/sve/acle/asm/create2_1.c: Allow the moves to + be in any order. + * gcc.target/aarch64/sve/acle/asm/create3_1.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/create4_1.c: Likewise. + +2023-12-14 Alexandre Oliva + + PR middle-end/112938 + * gcc.dg/strub-internal-volatile.c: Check indirection of + volatile args. + +2023-12-14 Alexandre Oliva + + PR middle-end/112938 + * gcc.dg/strub-internal-volatile.c: New. + +2023-12-14 Jeff Law + + * gcc.target/m68k/pr63347.c: Call __builtin_abort and __builtin_exit + instead of abort and exit. + +2023-12-14 Jakub Jelinek + + PR tree-optimization/112994 + * gcc.dg/tree-ssa/pr112994-2.c: New test. + +2023-12-14 Jakub Jelinek + + PR tree-optimization/112994 + * gcc.dg/tree-ssa/pr112994-1.c: New test. + +2023-12-14 Filip Kastl + + * gcc.dg/sccopy-1.c: New test. + +2023-12-14 liuhongt + + * gcc.target/i386/pr100865-7a.c: Adjust testcase. + * gcc.target/i386/pr100865-7c.c: Ditto. + * gcc.target/i386/pr112992.c: New test. + +2023-12-14 Juzhe-Zhong + + PR target/112387 + * gcc.dg/vect/costmodel/riscv/rvv/pr112387.c: New test. + +2023-12-14 Richard Biener + + PR tree-optimization/110640 + * gcc.dg/torture/pr110640.c: New testcase. + +2023-12-14 Jakub Jelinek + + * c-c++-common/gomp/target-enter-data-1.c: Match also sizeof bar on + 32-bit targets - 8 bytes - rather than just 16 bytes. + +2023-12-14 Jakub Jelinek + + PR target/112904 + * g++.target/i386/pr112904.C: Add dg-do compile, dg-options -mxop + and for ia32 also dg-additional-options -mmmx. + +2023-12-14 Juzhe-Zhong + + PR target/111153 + * gcc.dg/vect/costmodel/riscv/rvv/pr111153.c: New test. + +2023-12-14 Jeff Law + + * gcc.c-torture/execute/20001229-1.c: Prototype syscall(). + +2023-12-13 Marek Polacek + + * g++.dg/cpp0x/constexpr-ex1.C: Adjust expected diagnostic line. + +2023-12-13 Richard Ball + + * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h: Add include + arm_neon_sve_bridge header file + * gcc.dg/torture/neon-sve-bridge.c: New test. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_bf16.c: New test. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_f16.c: New test. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_f32.c: New test. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_f64.c: New test. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_s16.c: New test. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_s32.c: New test. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_s64.c: New test. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_s8.c: New test. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_u16.c: New test. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_u32.c: New test. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_u64.c: New test. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_u8.c: New test. + * gcc.target/aarch64/sve/acle/asm/get_neonq_bf16.c: New test. + * gcc.target/aarch64/sve/acle/asm/get_neonq_f16.c: New test. + * gcc.target/aarch64/sve/acle/asm/get_neonq_f32.c: New test. + * gcc.target/aarch64/sve/acle/asm/get_neonq_f64.c: New test. + * gcc.target/aarch64/sve/acle/asm/get_neonq_s16.c: New test. + * gcc.target/aarch64/sve/acle/asm/get_neonq_s32.c: New test. + * gcc.target/aarch64/sve/acle/asm/get_neonq_s64.c: New test. + * gcc.target/aarch64/sve/acle/asm/get_neonq_s8.c: New test. + * gcc.target/aarch64/sve/acle/asm/get_neonq_u16.c: New test. + * gcc.target/aarch64/sve/acle/asm/get_neonq_u32.c: New test. + * gcc.target/aarch64/sve/acle/asm/get_neonq_u64.c: New test. + * gcc.target/aarch64/sve/acle/asm/get_neonq_u8.c: New test. + * gcc.target/aarch64/sve/acle/asm/set_neonq_bf16.c: New test. + * gcc.target/aarch64/sve/acle/asm/set_neonq_f16.c: New test. + * gcc.target/aarch64/sve/acle/asm/set_neonq_f32.c: New test. + * gcc.target/aarch64/sve/acle/asm/set_neonq_f64.c: New test. + * gcc.target/aarch64/sve/acle/asm/set_neonq_s16.c: New test. + * gcc.target/aarch64/sve/acle/asm/set_neonq_s32.c: New test. + * gcc.target/aarch64/sve/acle/asm/set_neonq_s64.c: New test. + * gcc.target/aarch64/sve/acle/asm/set_neonq_s8.c: New test. + * gcc.target/aarch64/sve/acle/asm/set_neonq_u16.c: New test. + * gcc.target/aarch64/sve/acle/asm/set_neonq_u32.c: New test. + * gcc.target/aarch64/sve/acle/asm/set_neonq_u64.c: New test. + * gcc.target/aarch64/sve/acle/asm/set_neonq_u8.c: New test. + * gcc.target/aarch64/sve/acle/general-c/dup_neonq_1.c: New test. + * gcc.target/aarch64/sve/acle/general-c/get_neonq_1.c: New test. + * gcc.target/aarch64/sve/acle/general-c/set_neonq_1.c: New test. + +2023-12-13 Patrick Palka + + * g++.dg/overload/error6.C: Pass -fdiagnostics-all-candidates. + * g++.dg/cpp0x/deleted16.C: New test. + * g++.dg/cpp0x/deleted16a.C: New test. + * g++.dg/overload/error6a.C: New test. + +2023-12-13 Patrick Palka + + * g++.dg/diagnostic/param-type-mismatch-2.C: Rename template + function test_7 that (maybe accidentally) shares the same name + as its non-template callee. + * g++.dg/overload/error6.C: New test. + +2023-12-13 Patrick Palka + + * g++.dg/overload/error5.C: New test. + +2023-12-13 Patrick Palka + + PR c++/99186 + PR c++/104867 + * g++.dg/cpp1z/nontype-auto23.C: New test. + * g++.dg/cpp1z/nontype-auto24.C: New test. + +2023-12-13 Patrick Palka + + PR c++/93740 + * g++.dg/template/ptrmem34.C: New test. + +2023-12-13 Jason Merrill + + * c-c++-common/Waddress-of-packed-member-1.c: Don't expect + a warning on the cast cases. + * c-c++-common/pr51628-35.c: Use -Wcast-align=strict. + * g++.dg/warn/Waddress-of-packed-member3.C: Likewise. + * gcc.dg/pr88928.c: Likewise. + * gcc.dg/pr51628-20.c: Removed. + * gcc.dg/pr51628-21.c: Removed. + * gcc.dg/pr51628-25.c: Removed. + +2023-12-13 Julian Brown + + * gfortran.dg/goacc/enter-exit-data-2.f90: New test. + * gfortran.dg/goacc/finalize-1.f: Adjust scan output. + * gfortran.dg/gomp/map-9.f90: Adjust scan output. + * gfortran.dg/gomp/map-subarray-2.f90: New test. + * gfortran.dg/gomp/map-subarray.f90: New test. + * gfortran.dg/gomp/target-enter-exit-data.f90: New test. + +2023-12-13 Julian Brown + + * c-c++-common/gomp/clauses-2.c: Fix error output. + * c-c++-common/gomp/target-implicit-map-2.c: Adjust scan output. + * c-c++-common/gomp/target-50.c: Adjust scan output. + * c-c++-common/gomp/target-enter-data-1.c: Adjust scan output. + * g++.dg/gomp/static-component-1.C: New test. + * gcc.dg/gomp/target-3.c: Adjust scan output. + * gfortran.dg/gomp/map-9.f90: Adjust scan output. + +2023-12-13 Jason Merrill + + PR c++/96997 + * g++.dg/debug/cleanup2.C: New test. + +2023-12-13 Jason Merrill + + Revert: + 2023-12-13 Jason Merrill + + * g++.dg/pr112822.C: Require C++17. + +2023-12-13 Gaius Mulley + + PR modula2/112921 + * gm2/iso/run/pass/shorttest.mod: New test. + +2023-12-13 Nathaniel Shead + + PR c++/71093 + * g++.dg/cpp1y/constexpr-lifetime1.C: Improve error message. + * g++.dg/cpp1y/constexpr-lifetime2.C: Likewise. + * g++.dg/cpp1y/constexpr-lifetime3.C: Likewise. + * g++.dg/cpp1y/constexpr-lifetime4.C: Likewise. + * g++.dg/cpp2a/bitfield2.C: Likewise. + * g++.dg/cpp2a/constexpr-new3.C: Likewise. New check. + * g++.dg/cpp1y/constexpr-lifetime7.C: New test. + * g++.dg/cpp2a/constexpr-lifetime1.C: New test. + * g++.dg/cpp2a/constexpr-lifetime2.C: New test. + +2023-12-13 Jason Merrill + + PR c++/108243 + * g++.dg/cpp2a/consteval-prop6.C: Adjust diagnostic. + * g++.dg/opt/is_constant_evaluated3.C: Remove xfails. + +2023-12-13 Jason Merrill + + * g++.dg/cpp1y/constexpr-nsdmi7b.C: Adjust line. + * g++.dg/template/copy1.C: Likewise. + +2023-12-13 Jason Merrill + + * g++.dg/pr112822.C: Require C++17. + +2023-12-13 Andrew Carlotti + + * gcc.target/aarch64/cpunative/native_cpu_18.c: Add \+nopauth\n + * gcc.target/aarch64/options_set_7.c: Add \+crc\n + * gcc.target/aarch64/options_set_8.c: Add \+crc\+nodotprod\n + * gcc.target/aarch64/cpunative/native_cpu_0.c: Add \n + * gcc.target/aarch64/cpunative/native_cpu_1.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_2.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_3.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_4.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_5.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_6.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_7.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_8.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_9.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_10.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_11.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_12.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_13.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_14.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_15.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_16.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_17.c: Ditto. + * gcc.target/aarch64/options_set_1.c: Ditto. + * gcc.target/aarch64/options_set_2.c: Ditto. + * gcc.target/aarch64/options_set_3.c: Ditto. + * gcc.target/aarch64/options_set_5.c: Ditto. + * gcc.target/aarch64/options_set_6.c: Ditto. + * gcc.target/aarch64/options_set_9.c: Ditto. + * gcc.target/aarch64/options_set_11.c: Ditto. + * gcc.target/aarch64/options_set_12.c: Ditto. + * gcc.target/aarch64/options_set_13.c: Ditto. + * gcc.target/aarch64/options_set_14.c: Ditto. + * gcc.target/aarch64/options_set_15.c: Ditto. + * gcc.target/aarch64/options_set_16.c: Ditto. + * gcc.target/aarch64/options_set_17.c: Ditto. + * gcc.target/aarch64/options_set_18.c: Ditto. + * gcc.target/aarch64/options_set_19.c: Ditto. + * gcc.target/aarch64/options_set_20.c: Ditto. + * gcc.target/aarch64/options_set_21.c: Ditto. + * gcc.target/aarch64/options_set_22.c: Ditto. + * gcc.target/aarch64/options_set_23.c: Ditto. + * gcc.target/aarch64/options_set_24.c: Ditto. + * gcc.target/aarch64/options_set_25.c: Ditto. + * gcc.target/aarch64/options_set_26.c: Ditto. + +2023-12-13 Peter Bergner + + PR tree-optimization/112822 + * g++.dg/pr112822.C: Add dg-do compile target c++17 directive. + +2023-12-13 Pan Li + + PR target/112929 + PR target/112988 + * gcc.target/riscv/rvv/vsetvl/pr112929.c: Moved to... + * gcc.target/riscv/rvv/vsetvl/pr112929-1.c: ...here. + * gcc.target/riscv/rvv/vsetvl/pr112988.c: Moved to... + * gcc.target/riscv/rvv/vsetvl/pr112988-1.c: ...here. + * gcc.target/riscv/rvv/vsetvl/pr112929-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/pr112988-2.c: New test. + +2023-12-13 Andrew Carlotti + + * g++.target/aarch64/sve/aarch64-ssve.exp: + +2023-12-13 Roger Sayle + Jeff Law + + * gcc.target/arc/extvsi-1.c: New test case. + * gcc.target/arc/extvsi-2.c: Likewise. + +2023-12-13 Juzhe-Zhong + + PR target/112929 + PR target/112988 + * gcc.target/riscv/rvv/vsetvl/pr112929.c: New test. + * gcc.target/riscv/rvv/vsetvl/pr112988.c: New test. + +2023-12-13 demin.han + + * gcc.dg/vect/costmodel/riscv/rvv/riscv_vector.h: New file. + +2023-12-13 Juzhe-Zhong + + PR target/111317 + * gcc.dg/vect/costmodel/riscv/rvv/pr111317.c: New test. + +2023-12-13 Jakub Jelinek + + PR tree-optimization/112940 + * gcc.dg/bitint-53.c: New test. + +2023-12-13 Jakub Jelinek + + PR target/112962 + * gcc.target/i386/pr112962.c: New test. + +2023-12-13 Richard Biener + + PR tree-optimization/112991 + PR tree-optimization/112961 + * gcc.dg/torture/pr112991.c: New testcase. + +2023-12-13 Victor Do Nascimento + + * gcc.target/aarch64/builtin_pld_pli.c: New. + * gcc.target/aarch64/builtin_pld_pli_illegal.c: New. + +2023-12-13 Haochen Jiang + + * gcc.target/i386/pr110790-2.c: Change scan-assembler from shrq + to shr\[qx\]. + +2023-12-13 Jiufu Guo + + * gcc.target/powerpc/const-build-1.c: New test. + +2023-12-12 Jason Merrill + Jason Xu + + * g++.dg/ext/attr-hotness.C: Add member templates. + +2023-12-12 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/pr111313.c: Adapt test. + * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-1.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-10.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-11.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-12.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-2.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-3.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-4.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-5.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-6.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-7.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-8.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-9.c: New test. + +2023-12-12 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-mixed-1.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-3.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-6.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-1.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-2.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-3.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-4.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-5.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-6.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-1.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-2.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-4.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-9.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-1.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-10.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-3.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-4.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-5.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-6.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-7.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-8.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/pr111848.c: Adapt test. + +2023-12-12 Peter Bergner + + PR tree-optimization/112822 + * g++.dg/pr112822.C: New test. + +2023-12-12 Gaius Mulley + + PR modula2/112984 + * gm2/switches/pedantic/pass/hello.mod: New test. + * gm2/switches/pedantic/pass/switches-pedantic-pass.exp: New test. + +2023-12-12 Xi Ruoyao + + * gcc.target/loongarch/vect-ftint-no-inexact.c (xfail): Remove. + +2023-12-12 Jason Merrill + + * g++.dg/ext/is_nothrow_constructible8.C: Require C++14. + +2023-12-12 Jason Merrill + Nathaniel Shead + + * gcc.dg/pr87052.c: Adjust expected CLOBBER output. + +2023-12-12 Szabolcs Nagy + + * gcc.target/aarch64/branch-protection-attr.c: Update. + * gcc.target/aarch64/branch-protection-option.c: Update. + +2023-12-12 Richard Biener + + PR tree-optimization/112736 + * gcc.dg/torture/pr112736.c: New testcase. + +2023-12-12 Richard Biener + + PR tree-optimization/112961 + * g++.dg/vect/pr112961.cc: New testcase. + +2023-12-12 Jakub Jelinek + + * gcc.dg/gomp/pr87887-1.c: Add missing comment argument to dg-warning. + * gcc.dg/gomp/pr89246-1.c: Likewise. + * gcc.dg/gomp/simd-clones-2.c: Add missing " after dump name. + +2023-12-12 Xi Ruoyao + + PR middle-end/107723 + * gcc.dg/torture/builtin-fp-int-inexact-trunc.c: New test. + +2023-12-12 Richard Sandiford + + * gcc.target/aarch64/prfm_imm_offset_2.c: Add dg-options. + +2023-12-12 Pan Li + + * gcc.target/riscv/rvv/autovec/binop/vcompress-avlprop-1.c: New test. + +2023-12-12 Xi Ruoyao + + * gcc.target/loongarch/attr-model-3.c: New test. + * gcc.target/loongarch/attr-model-4.c: New test. + * gcc.target/loongarch/func-call-extreme-3.c: New test. + * gcc.target/loongarch/func-call-extreme-4.c: New test. + +2023-12-12 Richard Biener + + PR tree-optimization/112939 + * gcc.dg/pr112939.c: New testcase. + +2023-12-12 liuhongt + + * gcc.target/i386/pr112891.c: New test. + * gcc.target/i386/pr112891-2.c: New test. + +2023-12-12 Hongyu Wang + + PR target/112943 + * gcc.target/i386/pr112943.c: New test. + +2023-12-12 David Malcolm + + * gcc.dg/plugin/plugin.exp: Add taint-modulus.c to + analyzer_kernel_plugin.c tests. + * gcc.dg/plugin/taint-modulus.c: New test. + +2023-12-12 Yang Yujie + + * gcc.target/loongarch/eh_return-normal-return.c: New test. + +2023-12-11 Jakub Jelinek + + * c-c++-common/strub-O2fni.c: Add -fno-stack-protector to dg-options. + * c-c++-common/strub-O3fni.c: Likewise. + * c-c++-common/strub-Os.c: Likewise. + * c-c++-common/strub-Og.c: Likewise. + +2023-12-11 Martin Uecker + + PR c/112488 + * gcc.dg/pr112488-1.c: New test. + * gcc.dg/pr112488-2.c: New test. + * gcc.dg/pr112898.c: New test. + * gcc.misc-tests/gcov-pr85350.c: Adapt. + +2023-12-11 Richard Sandiford + + * gcc.target/aarch64/prfm_imm_offset_2.c: New test. + +2023-12-11 Jason Merrill + + * g++.dg/cpp2a/concepts-explicit-inst1.C: Specify ABI v18. + * g++.dg/cpp2a/concepts-explicit-inst1a.C: New test. + +2023-12-11 Alexandre Oliva + + PR middle-end/112784 + * gcc.target/i386/avx512cd-inline-stringops-pr112784.c: New. + +2023-12-11 Alexandre Oliva + + PR target/112778 + * gcc.dg/inline-mem-cmp-pr112778.c: New. + +2023-12-11 Alexandre Oliva + + PR target/112804 + * gcc.target/aarch64/inline-mem-set-pr112804.c: New. + +2023-12-11 Roger Sayle + + PR rtl-optimization/112380 + * gcc.dg/pr112380.c: New test case. + +2023-12-11 Francois-Xavier Coudert + + PR testsuite/112297 + * gcc.target/i386/pr100936.c: Require nonpic target. + +2023-12-11 Patrick Palka + + PR c++/63378 + * g++.dg/template/fnspec3.C: New test. + +2023-12-11 Andrew Pinski + + * gcc.dg/tree-ssa/pr110637-1.c: New test. + * gcc.dg/tree-ssa/pr110637-2.c: New test. + * gcc.dg/tree-ssa/pr110637-3.c: New test. + * gcc.dg/tree-ssa/pr111972-1.c: New test. + * gcc.dg/tree-ssa/pr69270.c: Update testcase. + * gcc.target/i386/pr110790-2.c: Update testcase. + * gcc.dg/fold-even-1.c: Removed. + +2023-12-11 Andre Vieira + + * lib/target-supports.exp: Add aarch64 targets to vect_simd_clones. + * c-c++-common/gomp/declare-variant-14.c: Adapt test for aarch64. + * c-c++-common/gomp/pr60823-1.c: Likewise. + * c-c++-common/gomp/pr60823-2.c: Likewise. + * c-c++-common/gomp/pr60823-3.c: Likewise. + * g++.dg/gomp/attrs-10.C: Likewise. + * g++.dg/gomp/declare-simd-1.C: Likewise. + * g++.dg/gomp/declare-simd-3.C: Likewise. + * g++.dg/gomp/declare-simd-4.C: Likewise. + * g++.dg/gomp/declare-simd-7.C: Likewise. + * g++.dg/gomp/declare-simd-8.C: Likewise. + * g++.dg/gomp/pr88182.C: Likewise. + * gcc.dg/declare-simd.c: Likewise. + * gcc.dg/gomp/declare-simd-1.c: Likewise. + * gcc.dg/gomp/declare-simd-3.c: Likewise. + * gcc.dg/gomp/pr87887-1.c: Likewise. + * gcc.dg/gomp/pr87895-1.c: Likewise. + * gcc.dg/gomp/pr89246-1.c: Likewise. + * gcc.dg/gomp/pr99542.c: Likewise. + * gcc.dg/gomp/simd-clones-2.c: Likewise. + * gcc.dg/vect/vect-simd-clone-1.c: Likewise. + * gcc.dg/vect/vect-simd-clone-2.c: Likewise. + * gcc.dg/vect/vect-simd-clone-4.c: Likewise. + * gcc.dg/vect/vect-simd-clone-5.c: Likewise. + * gcc.dg/vect/vect-simd-clone-6.c: Likewise. + * gcc.dg/vect/vect-simd-clone-7.c: Likewise. + * gcc.dg/vect/vect-simd-clone-8.c: Likewise. + * gfortran.dg/gomp/declare-simd-2.f90: Likewise. + * gfortran.dg/gomp/declare-simd-coarray-lib.f90: Likewise. + * gfortran.dg/gomp/declare-variant-14.f90: Likewise. + * gfortran.dg/gomp/pr79154-1.f90: Likewise. + * gfortran.dg/gomp/pr83977.f90: Likewise. + * gcc.target/aarch64/declare-simd-1.c: New file. + * gcc.target/aarch64/declare-simd-2.c: New file. + +2023-12-11 Patrick Palka + + * g++.dg/modules/concept-8.h: New test. + * g++.dg/modules/concept-8_a.H: New test. + * g++.dg/modules/concept-8_b.C: New test. + +2023-12-11 Robin Dapp + + * gcc.target/riscv/rvv/autovec/builtin/strcmp-run.c: Adjust test + expectation and target selector. + * gcc.target/riscv/rvv/autovec/builtin/strlen-run.c: Adjust + target selector. + * gcc.target/riscv/rvv/autovec/builtin/strncmp-run.c: Ditto. + +2023-12-11 Tobias Burnus + + * c-c++-common/gomp/requires-3.c: Update for now valid code. + * gfortran.dg/gomp/requires-3.f90: Likewise. + * gfortran.dg/gomp/requires-2.f90: Update dg-error. + * gfortran.dg/gomp/requires-5.f90: Likewise. + * c-c++-common/gomp/requires-5.c: New test. + * c-c++-common/gomp/requires-6.c: New test. + * c-c++-common/gomp/requires-7.c: New test. + * c-c++-common/gomp/requires-8.c: New test. + * gfortran.dg/gomp/requires-10.f90: New test. + * gfortran.dg/gomp/requires-11.f90: New test. + +2023-12-11 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-2.c: New test. + +2023-12-11 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/pr110950.c: Adapt test. + +2023-12-11 Francois-Xavier Coudert + + * c-c++-common/asan/memcmp-1.c: Adjust pattern on darwin. + +2023-12-11 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/avl_use_bug-1.c: Moved to... + * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-1.c: ...here. + +2023-12-11 Francois-Xavier Coudert + + * gcc.target/i386/pr112445.c: Require dfp. + +2023-12-11 liuhongt + + * gcc.target/i386/avx512vl-blendv-3.c: New test. + * gcc.target/i386/blendv-3.c: New test. + +2023-12-11 Francois-Xavier Coudert + + * gcc.target/i386/libcall-1.c: Skip on darwin. + +2023-12-11 Juzhe-Zhong + + PR target/112431 + * gcc.target/riscv/rvv/base/pr112431-39.c: New test. + * gcc.target/riscv/rvv/base/pr112431-40.c: New test. + * gcc.target/riscv/rvv/base/pr112431-41.c: New test. + +2023-12-11 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/avl_use_bug-1.c: New test. + +2023-12-11 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/poly-selftest-1.c: New test. + +2023-12-11 Fei Gao + Xiao Zeng + + * gcc.target/riscv/zicond_ifcvt_opt.c: Add TCs for AND. + +2023-12-11 Nathaniel Shead + + PR c++/96090 + PR c++/100470 + * g++.dg/cpp0x/noexcept81.C: New test. + * g++.dg/ext/is_nothrow_constructible7.C: New test. + * g++.dg/ext/is_nothrow_constructible8.C: New test. + +2023-12-11 Nathaniel Shead + + PR c++/104234 + PR c++/112580 + * g++.dg/modules/pr104234.C: New test. + +2023-12-11 liuhongt + + * g++.target/i386/pr112904.C: New test. + +2023-12-11 Haochen Gui + + PR target/112707 + * gcc.target/powerpc/pr112707.h: New. + * gcc.target/powerpc/pr112707-2.c: New. + * gcc.target/powerpc/pr112707-3.c: New. + * gcc.target/powerpc/pr88558-p7.c: Check fctid on ilp32 and + has_arch_ppc64 as it's now guarded by powerpc64. + * gcc.target/powerpc/pr88558-p8.c: Likewise. + * gfortran.dg/nint_p7.f90: Add powerpc64 target requirement as + lrounddi2 is now guarded by powerpc64. + +2023-12-11 Haochen Gui + + PR target/112707 + * gcc.target/powerpc/pr112707-1.c: New. + +2023-12-10 Fei Gao + Xiao Zeng + + * gcc.target/riscv/zicond_ifcvt_opt.c: Add tests for shift like op. + +2023-12-10 Richard Sandiford + + * gcc.target/aarch64/sme2/acle-asm/uzp_bf16_x2.c: XFAIL z0_z23 tests + for big-endian. + * gcc.target/aarch64/sme2/acle-asm/uzp_f16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzp_f32_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzp_f64_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzp_s16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzp_s32_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzp_s64_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzp_s8_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzp_u16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzp_u32_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzp_u64_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzp_u8_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzpq_bf16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzpq_f16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzpq_f32_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzpq_f64_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzpq_s16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzpq_s32_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzpq_s64_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzpq_s8_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzpq_u16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzpq_u32_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzpq_u64_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/uzpq_u8_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zip_bf16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zip_f16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zip_f32_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zip_f64_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zip_s16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zip_s32_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zip_s64_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zip_s8_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zip_u16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zip_u32_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zip_u64_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zip_u8_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zipq_bf16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zipq_f16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zipq_f32_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zipq_f64_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zipq_s16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zipq_s32_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zipq_s64_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zipq_s8_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zipq_u16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zipq_u32_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zipq_u64_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zipq_u8_x2.c: Likewise. + +2023-12-10 Richard Sandiford + + * gcc.target/aarch64/sme/call_sm_switch_5.c: Restrict tests that + contain Z8-Z23 saves to little-endian. + * gcc.target/aarch64/sme/call_sm_switch_8.c: Likewise. + * gcc.target/aarch64/sme/locally_streaming_1.c: Likewise. + +2023-12-10 Richard Sandiford + + * gcc.target/aarch64/sme/call_sm_switch_1.c: Add -funwind-tables. + * gcc.target/aarch64/sme/call_sm_switch_3.c: Likewise. + * gcc.target/aarch64/sme/call_sm_switch_5.c: Likewise. + +2023-12-10 Harald Anlauf + + PR fortran/111503 + * gfortran.dg/contiguous_14.f90: New test. + +2023-12-10 Harald Anlauf + + PR fortran/105543 + * gfortran.dg/contiguous_13.f90: New test. + +2023-12-10 Ken Matsui + + * g++.dg/ext/has-builtin-1.C: Test existence of __remove_pointer. + * g++.dg/ext/remove_pointer.C: New test. + +2023-12-10 Ken Matsui + + * g++.dg/ext/has-builtin-1.C: Test existence of __is_object. + * g++.dg/ext/is_object.C: New test. + +2023-12-10 Ken Matsui + + * g++.dg/ext/has-builtin-1.C: Test existence of __is_function. + * g++.dg/ext/is_function.C: New test. + +2023-12-10 Ken Matsui + + * g++.dg/ext/has-builtin-1.C: Test existence of __is_reference. + * g++.dg/ext/is_reference.C: New test. + +2023-12-10 Ken Matsui + + * g++.dg/ext/has-builtin-1.C: Test existence of + __is_member_object_pointer. + * g++.dg/ext/is_member_object_pointer.C: New test. + +2023-12-10 Ken Matsui + + * g++.dg/ext/has-builtin-1.C: Test existence of + __is_member_function_pointer. + * g++.dg/ext/is_member_function_pointer.C: New test. + +2023-12-10 Ken Matsui + + * g++.dg/ext/has-builtin-1.C: Test existence of + __is_member_pointer. + * g++.dg/ext/is_member_pointer.C: New test. + +2023-12-10 Ken Matsui + + * g++.dg/ext/has-builtin-1.C: Test existence of __is_scoped_enum. + * g++.dg/ext/is_scoped_enum.C: New test. + +2023-12-10 Ken Matsui + + * g++.dg/ext/has-builtin-1.C: Test existence of + __is_bounded_array. + * g++.dg/ext/is_bounded_array.C: New test. + +2023-12-10 Ken Matsui + + * g++.dg/ext/has-builtin-1.C: Test existence of __is_array. + * g++.dg/ext/is_array.C: New test. + +2023-12-10 Ken Matsui + + * g++.dg/ext/has-builtin-1.C: Sort built-in traits alphabetically. + +2023-12-09 Jakub Jelinek + + PR tree-optimization/112887 + * gcc.dg/pr112887.c: New test. + +2023-12-09 Jakub Jelinek + + PR tree-optimization/112924 + * gcc.dg/pr112924.c: New test. + +2023-12-09 Jakub Jelinek + + * g++.dg/warn/Wno-attributes-1.C: New test. + +2023-12-09 Juzhe-Zhong + + PR target/112932 + * gcc.target/riscv/rvv/autovec/vls/misalign-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/pr112932.c: New test. + +2023-12-09 Hans-Peter Nilsson + + PR testsuite/112786 + * gcc.dg/tree-ssa/scev-3.c, gcc.dg/tree-ssa/scev-4.c, + gcc.dg/tree-ssa/scev-5.c: Remove. + +2023-12-08 Patrick Palka + + PR c++/83167 + * g++.dg/cpp0x/lambda/lambda-decltype4.C: New test. + +2023-12-08 David Malcolm + + * c-c++-common/analyzer/taint-modulus-1.c: New test. + +2023-12-08 David Malcolm + + * gcc.dg/plugin/infoleak-uninit-size-1.c: New test. + * gcc.dg/plugin/infoleak-uninit-size-2.c: New test. + * gcc.dg/plugin/plugin.exp: Add the new tests. + +2023-12-08 Vladimir N. Makarov + + PR rtl-optimization/112875 + * gcc.target/i386/pr112875.c: New test. + +2023-12-08 Jakub Jelinek + + * g++.dg/cpp0x/gen-attrs-79.C: New test. + +2023-12-08 Jakub Jelinek + + PR sanitizer/112727 + * c-c++-common/ubsan/pr112727.c: New test. + +2023-12-08 Marek Polacek + + PR c++/88848 + * g++.dg/inherit/multiple2.C: New test. + +2023-12-08 Patrick Palka + + PR c++/112658 + PR c++/94264 + * g++.dg/cpp0x/initlist-array20.C: New test. + +2023-12-08 Robin Dapp + + * gcc.target/riscv/rvv/autovec/builtin/strcmp-run.c: New test. + * gcc.target/riscv/rvv/autovec/builtin/strcmp.c: New test. + * gcc.target/riscv/rvv/autovec/builtin/strncmp-run.c: New test. + * gcc.target/riscv/rvv/autovec/builtin/strncmp.c: New test. + +2023-12-08 Robin Dapp + + * gcc.target/riscv/rvv/autovec/builtin/strlen-run.c: New test. + * gcc.target/riscv/rvv/autovec/builtin/strlen.c: New test. + +2023-12-08 Richard Sandiford + + * gcc.target/aarch64/sme/strided_2.c: New test. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-08 Ezra Sitorus + + * gcc.target/arm/simd/vld1q_base_xN_1.c: Add new test. + * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new test. + * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new test. + * gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new test. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-08 Ezra Sitorus + + * gcc.target/arm/simd/vld1q_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new tests. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-08 Ezra Sitorus + + * gcc.target/arm/simd/vld1q_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new tests. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-08 Ezra Sitorus + + * gcc.target/arm/simd/vst1_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1_p64_xN_1.c: Add new tests. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-08 Ezra Sitorus + + * gcc.target/arm/simd/vst1_base_xN_1.c: Add new test. + * gcc.target/arm/simd/vst1_bf16_xN_1.c: Add new test. + * gcc.target/arm/simd/vst1_fp16_xN_1.c: Add new test. + * gcc.target/arm/simd/vst1_p64_xN_1.c: Add new test. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-08 Ezra Sitorus + + * gcc.target/arm/simd/vst1_base_xN_1.c: Add new test. + * gcc.target/arm/simd/vst1_bf16_xN_1.c: Add new test. + * gcc.target/arm/simd/vst1_fp16_xN_1.c: Add new test. + * gcc.target/arm/simd/vst1_p64_xN_1.c: Add new test. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-08 Ezra Sitorus + + * gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-08 Ezra Sitorus + + * gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-08 Ezra Sitorus + + * gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-08 Ezra Sitorus + + * gcc.target/arm/simd/vld1_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_p64_xN_1.c: Add new tests. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-08 Ezra Sitorus + + * gcc.target/arm/simd/vld1_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_p64_xN_1.c: Add new tests. + +2023-12-08 Richard Earnshaw + + Revert: + 2023-12-08 Ezra Sitorus + + * gcc.target/arm/simd/vld1_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_p64_xN_1.c: Add new tests. + +2023-12-08 Tobias Burnus + + * gfortran.dg/gomp/allocate-14.f90: Add coarray and + not-listed tests. + * gfortran.dg/gomp/allocate-5.f90: Remove sorry dg-message. + * gfortran.dg/bind_c_array_params_2.f90: Update expected + dump for dtype '.version=0'. + * gfortran.dg/gomp/allocate-16.f90: New test. + * gfortran.dg/gomp/allocators-3.f90: New test. + * gfortran.dg/gomp/allocators-4.f90: New test. + +2023-12-08 Richard Biener + + PR tree-optimization/112909 + * gcc.dg/uninit-pr112909.c: New testcase. + +2023-12-08 Marc Poulhiès + + Revert: + 2023-12-07 Marc Poulhiès + + * gcc.dg/vect/vect-ifcvt-18.c: Add dep on avx_runtime. + * gcc.dg/vect/vect-simd-clone-16f.c: Likewise. + * gcc.dg/vect/vect-simd-clone-18f.c: Likewise. + +2023-12-08 Jiahao Xu + + * gcc.target/loongarch/pr112476-3.c: New test. + * gcc.target/loongarch/pr112476-4.c: New test. + +2023-12-08 Jiahao Xu + + PR target/112611 + * gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c: Sure index less than 64. + * gcc.target/loongarch/vector/lsx/lsx-vshuf.c: Ditto. + +2023-12-08 Jiahao Xu + + * gcc.target/loongarch/divf.c: New test. + * gcc.target/loongarch/recip-divf.c: New test. + * gcc.target/loongarch/recip-sqrtf.c: New test. + * gcc.target/loongarch/sqrtf.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-divf.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-recip-divf.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-recip-sqrtf.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-recip.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-sqrtf.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-divf.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-recip-divf.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-recip-sqrtf.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-recip.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-sqrtf.c: New test. + +2023-12-08 Jiahao Xu + + * gcc.target/loongarch/vector/lasx/lasx-rsqrt.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-rsqrt.c: New test. + +2023-12-08 Jiahao Xu + + * gcc.target/loongarch/larch-frecipe-builtin.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-frecipe-builtin.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-frecipe-builtin.c: New test. + +2023-12-08 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-lroundf16-rv64-ice-1.c: New test. + +2023-12-08 Jiahao Xu + + * gcc.target/loongarch/vector/lasx/lasx-xorsign-run.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xorsign.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-xorsign-run.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-xorsign.c: New test. + * gcc.target/loongarch/xorsign-run.c: New test. + * gcc.target/loongarch/xorsign.c: New test. + +2023-12-08 Jakub Jelinek + + PR tree-optimization/112902 + * gcc.dg/bitint-52.c: New test. + +2023-12-08 Jakub Jelinek + + PR tree-optimization/112901 + * gcc.dg/bitint-51.c: New test. + +2023-12-08 Jakub Jelinek + + PR middle-end/112411 + * gcc.dg/params/blocksort-part.c: Add dg-skip-if for + --param min-nondebug-insn-uid=1073741824. + +2023-12-08 Haochen Jiang + + * g++.dg/other/i386-2.C: Adjust testcases. + * g++.dg/other/i386-3.C: Ditto. + * g++.dg/pr80481.C: Ditto. + * gcc.dg/pr71279.c: Ditto. + * gcc.target/i386/avx5124fmadd-v4fmaddps-1.c: Ditto. + * gcc.target/i386/avx5124fmadd-v4fmaddps-2.c: Ditto. + * gcc.target/i386/avx5124fmadd-v4fmaddss-1.c: Ditto. + * gcc.target/i386/avx5124fmadd-v4fnmaddps-1.c: Ditto. + * gcc.target/i386/avx5124fmadd-v4fnmaddps-2.c: Ditto. + * gcc.target/i386/avx5124fmadd-v4fnmaddss-1.c: Ditto. + * gcc.target/i386/avx5124vnniw-vp4dpwssd-1.c: Ditto. + * gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c: Ditto. + * gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c: Ditto. + * gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c: Ditto. + * gcc.target/i386/avx512er-vexp2pd-1.c: Ditto. + * gcc.target/i386/avx512er-vexp2pd-2.c: Ditto. + * gcc.target/i386/avx512er-vexp2ps-1.c: Ditto. + * gcc.target/i386/avx512er-vexp2ps-2.c: Ditto. + * gcc.target/i386/avx512er-vrcp28pd-1.c: Ditto. + * gcc.target/i386/avx512er-vrcp28pd-2.c: Ditto. + * gcc.target/i386/avx512er-vrcp28ps-1.c: Ditto. + * gcc.target/i386/avx512er-vrcp28ps-2.c: Ditto. + * gcc.target/i386/avx512er-vrcp28ps-3.c: Ditto. + * gcc.target/i386/avx512er-vrcp28ps-4.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-vrsqrt28pd-1.c: Ditto. + * gcc.target/i386/avx512er-vrsqrt28pd-2.c: Ditto. + * gcc.target/i386/avx512er-vrsqrt28ps-1.c: Ditto. + * gcc.target/i386/avx512er-vrsqrt28ps-2.c: Ditto. + * gcc.target/i386/avx512er-vrsqrt28ps-3.c: Ditto. + * gcc.target/i386/avx512er-vrsqrt28ps-4.c: Ditto. + * gcc.target/i386/avx512er-vrsqrt28ps-5.c: Ditto. + * gcc.target/i386/avx512er-vrsqrt28ps-6.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-gather-1.c: Ditto. + * gcc.target/i386/avx512f-gather-2.c: Ditto. + * gcc.target/i386/avx512f-gather-3.c: Ditto. + * gcc.target/i386/avx512f-gather-4.c: Ditto. + * gcc.target/i386/avx512f-gather-5.c: Ditto. + * gcc.target/i386/avx512f-i32gatherd512-1.c: Ditto. + * gcc.target/i386/avx512f-i32gatherd512-2.c: Ditto. + * gcc.target/i386/avx512f-i32gatherpd512-1.c: Ditto. + * gcc.target/i386/avx512f-i32gatherpd512-2.c: Ditto. + * gcc.target/i386/avx512f-i32gatherps512-1.c: Ditto. + * gcc.target/i386/avx512f-vect-perm-1.c: Ditto. + * gcc.target/i386/avx512f-vect-perm-2.c: Ditto. + * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Ditto. + * gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Ditto. + * gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto. + * gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Ditto. + * gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto. + * gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Ditto. + * gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto. + * gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Ditto. + * gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Ditto. + * gcc.target/i386/avx512pf-vscatterpf0dps-1.c: Ditto. + * gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Ditto. + * gcc.target/i386/avx512pf-vscatterpf0qps-1.c: Ditto. + * gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Ditto. + * gcc.target/i386/avx512pf-vscatterpf1dps-1.c: Ditto. + * gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Ditto. + * gcc.target/i386/avx512pf-vscatterpf1qps-1.c: Ditto. + * gcc.target/i386/funcspec-56.inc: Ditto. + * gcc.target/i386/pr103404.c: Ditto. + * gcc.target/i386/pr104448.c: Ditto. + * gcc.target/i386/pr107934.c: Ditto. + * gcc.target/i386/pr64387.c: Ditto. + * gcc.target/i386/pr70728.c: Ditto. + * gcc.target/i386/pr71346.c: Ditto. + * gcc.target/i386/pr82941-2.c: Ditto. + * gcc.target/i386/pr82942-1.c: Ditto. + * gcc.target/i386/pr82942-2.c: Ditto. + * gcc.target/i386/pr82990-1.c: Ditto. + * gcc.target/i386/pr82990-3.c: Ditto. + * gcc.target/i386/pr82990-4.c: Ditto. + * gcc.target/i386/pr82990-6.c: Ditto. + * gcc.target/i386/pr88713-3.c: Ditto. + * gcc.target/i386/pr89523-5.c: Ditto. + * gcc.target/i386/pr89523-6.c: Ditto. + * gcc.target/i386/pr91033.c: Ditto. + * gcc.target/i386/pr94561.c: Ditto. + * gcc.target/i386/prefetchwt1-1.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-26.c: Ditto. + * gcc.target/i386/pr69471-3.c: Removed. + +2023-12-08 Hao Liu + + * gcc.dg/tree-ssa/scev-16.c: New test. + +2023-12-08 Fei Gao + + * gcc.target/riscv/zicond_ifcvt_opt.c: New file. + +2023-12-08 David Malcolm + + PR analyzer/112889 + * c-c++-common/analyzer/ice-pr112889.c: New test. + +2023-12-07 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/slp-interleave-1.c: New test. + * gcc.target/riscv/rvv/autovec/slp-interleave-2.c: New test. + * gcc.target/riscv/rvv/autovec/slp-interleave-3.c: New test. + * gcc.target/riscv/rvv/autovec/slp-interleave-4.c: New test. + +2023-12-07 Richard Sandiford + + PR rtl-optimization/106694 + PR rtl-optimization/109078 + PR rtl-optimization/109391 + * gcc.target/aarch64/ldp_stp_16.c (cons4_4_float): Tighten expected + output test. + * gcc.target/aarch64/sve/shift_1.c: Allow reversed shifts for .s + as well as .d. + * gcc.target/aarch64/sme/strided_1.c: New test. + * gcc.target/aarch64/pr109078.c: Likewise. + * gcc.target/aarch64/pr109391.c: Likewise. + * gcc.target/aarch64/sve/pr106694.c: Likewise. + +2023-12-07 Ezra Sitorus + + * gcc.target/arm/simd/vld1_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_p64_xN_1.c: Add new tests. + +2023-12-07 Ezra Sitorus + + * gcc.target/arm/simd/vld1_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_p64_xN_1.c: Add new tests. + +2023-12-07 Ezra Sitorus + + * gcc.target/arm/simd/vld1_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1_p64_xN_1.c: Add new tests. + +2023-12-07 Ezra Sitorus + + * gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests. + +2023-12-07 Ezra Sitorus + + * gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests. + +2023-12-07 Ezra Sitorus + + * gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests. + +2023-12-07 Ezra Sitorus + + * gcc.target/arm/simd/vst1_base_xN_1.c: Add new test. + * gcc.target/arm/simd/vst1_bf16_xN_1.c: Add new test. + * gcc.target/arm/simd/vst1_fp16_xN_1.c: Add new test. + * gcc.target/arm/simd/vst1_p64_xN_1.c: Add new test. + +2023-12-07 Ezra Sitorus + + * gcc.target/arm/simd/vst1_base_xN_1.c: Add new test. + * gcc.target/arm/simd/vst1_bf16_xN_1.c: Add new test. + * gcc.target/arm/simd/vst1_fp16_xN_1.c: Add new test. + * gcc.target/arm/simd/vst1_p64_xN_1.c: Add new test. + +2023-12-07 Ezra Sitorus + + * gcc.target/arm/simd/vst1_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vst1_p64_xN_1.c: Add new tests. + +2023-12-07 Ezra Sitorus + + * gcc.target/arm/simd/vld1q_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new tests. + +2023-12-07 Ezra Sitorus + + * gcc.target/arm/simd/vld1q_base_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new tests. + * gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new tests. + +2023-12-07 Ezra Sitorus + + * gcc.target/arm/simd/vld1q_base_xN_1.c: Add new test. + * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new test. + * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new test. + * gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new test. + +2023-12-07 Marek Polacek + + * gcc.target/aarch64/ldp_stp_unaligned_2.c: Use -fno-stack-protector. + * gcc.target/aarch64/shadow_call_stack_5.c: Likewise. + * gcc.target/aarch64/shadow_call_stack_6.c: Likewise. + * gcc.target/aarch64/shadow_call_stack_7.c: Likewise. + * gcc.target/aarch64/shadow_call_stack_8.c: Likewise. + * gcc.target/aarch64/stack-check-12.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-11.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-12.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-13.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-14.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-15.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-17.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-18.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-19.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-2.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-5.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-6.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-8.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-9.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_24.c: Likewise. + * gcc.target/aarch64/test_frame_1.c: Likewise. + * gcc.target/aarch64/test_frame_10.c: Likewise. + * gcc.target/aarch64/test_frame_11.c: Likewise. + * gcc.target/aarch64/test_frame_13.c: Likewise. + * gcc.target/aarch64/test_frame_15.c: Likewise. + * gcc.target/aarch64/test_frame_2.c: Likewise. + * gcc.target/aarch64/test_frame_4.c: Likewise. + * gcc.target/aarch64/test_frame_6.c: Likewise. + * gcc.target/aarch64/test_frame_7.c: Likewise. + * gcc.target/aarch64/test_frame_8.c: Likewise. + +2023-12-07 Alexandre Oliva + + * c-c++-common/strub-split-stack.c: New. + * c-c++-common/strub-unsupported.c: New. + * c-c++-common/strub-unsupported-2.c: New. + * c-c++-common/strub-unsupported-3.c: New. + * lib/target-supports.exp (check_effective_target_strub): New. + * c-c++-common/strub-O0.c: Require effective target strub. + * c-c++-common/strub-O1.c: Likewise. + * c-c++-common/strub-O2.c: Likewise. + * c-c++-common/strub-O2fni.c: Likewise. + * c-c++-common/strub-O3.c: Likewise. + * c-c++-common/strub-O3fni.c: Likewise. + * c-c++-common/strub-Og.c: Likewise. + * c-c++-common/strub-Os.c: Likewise. + * c-c++-common/strub-all1.c: Likewise. + * c-c++-common/strub-all2.c: Likewise. + * c-c++-common/strub-apply1.c: Likewise. + * c-c++-common/strub-apply2.c: Likewise. + * c-c++-common/strub-apply3.c: Likewise. + * c-c++-common/strub-apply4.c: Likewise. + * c-c++-common/strub-at-calls1.c: Likewise. + * c-c++-common/strub-at-calls2.c: Likewise. + * c-c++-common/strub-defer-O1.c: Likewise. + * c-c++-common/strub-defer-O2.c: Likewise. + * c-c++-common/strub-defer-O3.c: Likewise. + * c-c++-common/strub-defer-Os.c: Likewise. + * c-c++-common/strub-internal1.c: Likewise. + * c-c++-common/strub-internal2.c: Likewise. + * c-c++-common/strub-parms1.c: Likewise. + * c-c++-common/strub-parms2.c: Likewise. + * c-c++-common/strub-parms3.c: Likewise. + * c-c++-common/strub-relaxed1.c: Likewise. + * c-c++-common/strub-relaxed2.c: Likewise. + * c-c++-common/strub-short-O0-exc.c: Likewise. + * c-c++-common/strub-short-O0.c: Likewise. + * c-c++-common/strub-short-O1.c: Likewise. + * c-c++-common/strub-short-O2.c: Likewise. + * c-c++-common/strub-short-O3.c: Likewise. + * c-c++-common/strub-short-Os.c: Likewise. + * c-c++-common/strub-strict1.c: Likewise. + * c-c++-common/strub-strict2.c: Likewise. + * c-c++-common/strub-tail-O1.c: Likewise. + * c-c++-common/strub-tail-O2.c: Likewise. + * c-c++-common/strub-var1.c: Likewise. + * c-c++-common/torture/strub-callable1.c: Likewise. + * c-c++-common/torture/strub-callable2.c: Likewise. + * c-c++-common/torture/strub-const1.c: Likewise. + * c-c++-common/torture/strub-const2.c: Likewise. + * c-c++-common/torture/strub-const3.c: Likewise. + * c-c++-common/torture/strub-const4.c: Likewise. + * c-c++-common/torture/strub-data1.c: Likewise. + * c-c++-common/torture/strub-data2.c: Likewise. + * c-c++-common/torture/strub-data3.c: Likewise. + * c-c++-common/torture/strub-data4.c: Likewise. + * c-c++-common/torture/strub-data5.c: Likewise. + * c-c++-common/torture/strub-indcall1.c: Likewise. + * c-c++-common/torture/strub-indcall2.c: Likewise. + * c-c++-common/torture/strub-indcall3.c: Likewise. + * c-c++-common/torture/strub-inlinable1.c: Likewise. + * c-c++-common/torture/strub-inlinable2.c: Likewise. + * c-c++-common/torture/strub-ptrfn1.c: Likewise. + * c-c++-common/torture/strub-ptrfn2.c: Likewise. + * c-c++-common/torture/strub-ptrfn3.c: Likewise. + * c-c++-common/torture/strub-ptrfn4.c: Likewise. + * c-c++-common/torture/strub-pure1.c: Likewise. + * c-c++-common/torture/strub-pure2.c: Likewise. + * c-c++-common/torture/strub-pure3.c: Likewise. + * c-c++-common/torture/strub-pure4.c: Likewise. + * c-c++-common/torture/strub-run1.c: Likewise. + * c-c++-common/torture/strub-run2.c: Likewise. + * c-c++-common/torture/strub-run3.c: Likewise. + * c-c++-common/torture/strub-run4.c: Likewise. + * c-c++-common/torture/strub-run4c.c: Likewise. + * c-c++-common/torture/strub-run4d.c: Likewise. + * c-c++-common/torture/strub-run4i.c: Likewise. + * g++.dg/strub-run1.C: Likewise. + * g++.dg/torture/strub-init1.C: Likewise. + * g++.dg/torture/strub-init2.C: Likewise. + * g++.dg/torture/strub-init3.C: Likewise. + * gnat.dg/strub_attr.adb: Likewise. + * gnat.dg/strub_ind.adb: Likewise. + * gnat.dg/strub_access.adb: Likewise. + * gnat.dg/strub_access1.adb: Likewise. + * gnat.dg/strub_disp.adb: Likewise. + * gnat.dg/strub_disp1.adb: Likewise. + * gnat.dg/strub_ind1.adb: Likewise. + * gnat.dg/strub_ind2.adb: Likewise. + * gnat.dg/strub_intf.adb: Likewise. + * gnat.dg/strub_intf1.adb: Likewise. + * gnat.dg/strub_intf2.adb: Likewise. + * gnat.dg/strub_renm.adb: Likewise. + * gnat.dg/strub_renm1.adb: Likewise. + * gnat.dg/strub_renm2.adb: Likewise. + * gnat.dg/strub_var.adb: Likewise. + * gnat.dg/strub_var1.adb: Likewise. + +2023-12-07 Marc Poulhiès + + * gcc.target/i386/pr106910-1.c: Disable for newlib. + +2023-12-07 Marc Poulhiès + + * gcc.dg/analyzer/fd-4.c: Fix for newlib. + +2023-12-07 Marc Poulhiès + + * gcc.dg/vect/vect-ifcvt-18.c: Add dep on avx_runtime. + * gcc.dg/vect/vect-simd-clone-16f.c: Likewise. + * gcc.dg/vect/vect-simd-clone-18f.c: Likewise. + +2023-12-07 Gaius Mulley + + PR modula2/112893 + * gm2/iso/fail/proccard.mod: New test. + * gm2/pim/pass/proccard.mod: New test. + +2023-12-07 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/avl_prop-2.c: New test. + +2023-12-07 Christoph Müllner + + * gcc.target/riscv/xtheadmemidx-inline-asm-1.c: New test. + +2023-12-07 Christoph Müllner + + * gcc.target/riscv/xtheadfmemidx-without-xtheadmemidx.c: New test. + +2023-12-07 Jakub Jelinek + + PR target/111068 + * gcc.target/i386/pr111068.c: New test. + +2023-12-07 Andrew Pinski + Jakub Jelinek + + PR preprocessor/111965 + * gcc.dg/cpp/pr111965-1.c: New test. + * gcc.dg/cpp/pr111965-2.c: New test. + +2023-12-07 Jakub Jelinek + + PR middle-end/112881 + * gcc.dg/bitint-50.c: New test. + +2023-12-07 Jakub Jelinek + + PR tree-optimization/112880 + * gcc.dg/bitint-49.c: New test. + +2023-12-07 Jakub Jelinek + + PR target/96127 + * gcc.target/s390/pr96127.c (c1): Add casts to long int *. + +2023-12-07 Alexandre Oliva + + * gcc.dg/analyzer/switch-short-enum-1.c: New. + * gcc.dg/analyzer/switch-no-short-enum-1.c: New. + +2023-12-07 Victor Do Nascimento + + * gcc.target/aarch64/acle/rcpc3.c: New. + +2023-12-07 Hongyu Wang + + * gcc.target/i386/apx-ndd-ti-shift.c: New test. + +2023-12-07 Hongyu Wang + + * gcc.target/i386/apx-ndd-cmov.c: New test. + +2023-12-07 Hongyu Wang + + * gcc.target/i386/apx-ndd-shld-shrd.c: New test. + +2023-12-07 Hongyu Wang + + * gcc.target/i386/apx-ndd.c: Add test for left/right rotate. + +2023-12-07 Hongyu Wang + + * gcc.target/i386/apx-ndd.c: Add l/ashiftrt tests. + +2023-12-07 Hongyu Wang + + * gcc.target/i386/apx-ndd.c: Add tests for sal. + +2023-12-07 Kong Lingling + + * gcc.target/i386/apx-ndd.c: Add or and xor test. + +2023-12-07 Kong Lingling + + * gcc.target/i386/apx-ndd.c: Add and test. + +2023-12-07 Kong Lingling + + * gcc.target/i386/apx-ndd.c: Add not test. + +2023-12-07 Kong Lingling + + * gcc.target/i386/apx-ndd.c: Add neg test. + +2023-12-07 Kong Lingling + + * gcc.target/i386/apx-ndd-sbb.c: New test. + +2023-12-07 Kong Lingling + + * gcc.target/i386/apx-ndd.c: Add test for ndd sub. + +2023-12-07 Kong Lingling + + * gcc.target/i386/apx-ndd-adc.c: New test. + +2023-12-07 Kong Lingling + + * gcc.target/i386/apx-ndd.c: Add more test. + +2023-12-07 Kong Lingling + + * gcc.target/i386/apx-ndd.c: New test. + +2023-12-07 David Malcolm + + PR analyzer/103546 + PR analyzer/112850 + * c-c++-common/analyzer/call-summaries-pr107158-2.c: Add + -Wno-analyzer-symbol-too-complex. + * c-c++-common/analyzer/call-summaries-pr107158.c: Likewise. + * c-c++-common/analyzer/deref-before-check-pr109060-haproxy-cfgparse.c: + Likewise. + * c-c++-common/analyzer/feasibility-3.c: Add + -Wno-analyzer-too-complex and -Wno-analyzer-symbol-too-complex. + * c-c++-common/analyzer/flex-with-call-summaries.c: Add + -Wno-analyzer-symbol-too-complex. Remove fail for + PR analyzer/103546 leak false positive. + * c-c++-common/analyzer/flex-without-call-summaries.c: Remove + xfail for PR analyzer/103546 leak false positive. + * c-c++-common/analyzer/infinite-recursion-3.c: Add + -Wno-analyzer-symbol-too-complex. + * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: + Likewise. + * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: + Likewise. + * c-c++-common/analyzer/null-deref-pr108400-SoftEtherVPN-WebUi.c: + Likewise. + * c-c++-common/analyzer/null-deref-pr108806-qemu.c: Likewise. + * c-c++-common/analyzer/null-deref-pr108830.c: Likewise. + * c-c++-common/analyzer/pr94596.c: Likewise. + * c-c++-common/analyzer/strtok-2.c: Likewise. + * c-c++-common/analyzer/strtok-4.c: Add -Wno-analyzer-too-complex + and -Wno-analyzer-symbol-too-complex. + * c-c++-common/analyzer/strtok-cppreference.c: Likewise. + * gcc.dg/analyzer/analyzer.exp: Add -Wanalyzer-symbol-too-complex + to DEFAULT_CFLAGS. + * gcc.dg/analyzer/attr-const-3.c: Add + -Wno-analyzer-symbol-too-complex. + * gcc.dg/analyzer/call-summaries-pr107072.c: Likewise. + * gcc.dg/analyzer/doom-s_sound-pr108867.c: Likewise. + * gcc.dg/analyzer/explode-4.c: Likewise. + * gcc.dg/analyzer/null-deref-pr102671-1.c: Likewise. + * gcc.dg/analyzer/null-deref-pr105755.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-curl.c: Likewise. + * gcc.dg/analyzer/pr101503.c: Likewise. + * gcc.dg/analyzer/pr103892.c: Add -Wno-analyzer-too-complex and + -Wno-analyzer-symbol-too-complex. + * gcc.dg/analyzer/pr94851-4.c: Add + -Wno-analyzer-symbol-too-complex. + * gcc.dg/analyzer/pr96860-1.c: Likewise. + * gcc.dg/analyzer/pr96860-2.c: Likewise. + * gcc.dg/analyzer/pr98918.c: Likewise. + * gcc.dg/analyzer/pr99044-2.c: Likewise. + * gcc.dg/analyzer/uninit-pr108806-qemu.c: Likewise. + * gcc.dg/analyzer/use-after-free.c: Add -Wno-analyzer-too-complex + and -Wno-analyzer-symbol-too-complex. + * gcc.dg/plugin/plugin.exp: Add new tests for + analyzer_kernel_plugin.c. + * gcc.dg/plugin/taint-CVE-2011-0521-4.c: Update expected results. + * gcc.dg/plugin/taint-CVE-2011-0521-5.c: Likewise. + * gcc.dg/plugin/taint-CVE-2011-0521-6.c: Likewise. + * gcc.dg/plugin/taint-CVE-2011-0521-5-fixed.c: Remove xfail. + * gcc.dg/plugin/taint-pr112850-precise.c: New test. + * gcc.dg/plugin/taint-pr112850-too-complex.c: New test. + * gcc.dg/plugin/taint-pr112850-unsanitized.c: New test. + * gcc.dg/plugin/taint-pr112850.c: New test. + +2023-12-06 Victor Do Nascimento + + * gcc.target/aarch64/acle/rwsr.c (get_rsr128): New. + (set_wsr128): Likewise. + +2023-12-06 Edwin Lu + + * gcc.dg/tree-ssa/ssa-fre-3.c: Remove xfail + +2023-12-06 Yang Yujie + + * gcc.dg/fixed-point/composite-type.c: Replace dg-warning with dg-error. + +2023-12-06 David Malcolm + + * c-c++-common/diagnostic-format-json-1.c: Update expected JSON + output to reflect whitespace. + * 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/diagnostic-format-json-stderr-1.c: Likewise. + * g++.dg/pr90462.C: Add -fno-diagnostics-json-formatting. + * gcc.dg/analyzer/malloc-sarif-1.c: Likewise. + * gcc.dg/plugin/diagnostic-test-paths-3.c: Update expected JSON + output to reflect whitespace. + * gfortran.dg/diagnostic-format-json-1.F90: Likewise. + * gfortran.dg/diagnostic-format-json-2.F90: Likewise. + * gfortran.dg/diagnostic-format-json-3.F90: Likewise. + +2023-12-06 David Malcolm + + * g++.dg/plugin/show_template_tree_color_plugin.c + (noop_starter_fn): Make diagnostic_info param const. + * gcc.dg/plugin/diagnostic_group_plugin.c + (test_diagnostic_starter): Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c + (custom_diagnostic_finalizer): Likewise. + * gcc.dg/plugin/location_overflow_plugin.c + (verify_unpacked_ranges): Likewise. + (verify_no_columns): Likewise. + +2023-12-06 John David Anglin + + * c-c++-common/fhardened-1.c: Ignore __SSP_STRONG__ define + if __hppa__ is defined. + * c-c++-common/fhardened-2.c: Ignore __SSP__ define + if __hppa__ is defined. + +2023-12-06 Juzhe-Zhong + + PR target/112855 + * gcc.target/riscv/rvv/autovec/pr112855.c: New test. + +2023-12-06 Jason Merrill + + DR 532 + PR c++/53499 + * g++.dg/template/partial-order4.C: New test. + * g++.dg/template/spec26.C: Adjust for CWG532. + +2023-12-06 Victor Do Nascimento + + * gcc.target/aarch64/acle/rwsr-3.c: New. + +2023-12-06 Victor Do Nascimento + + * gcc.target/aarch64/acle/rwsr.c: New. + * gcc.target/aarch64/acle/rwsr-1.c: Likewise. + * gcc.target/aarch64/acle/rwsr-2.c: Likewise. + * gcc.dg/pch/rwsr-pch.c: Likewise. + * gcc.dg/pch/rwsr-pch.hs: Likewise. + +2023-12-06 Robin Dapp + + * gcc.target/riscv/rvv/autovec/pr112854.c: New test. + * gcc.target/riscv/rvv/autovec/pr112872.c: New test. + +2023-12-06 Jakub Jelinek + + PR rtl-optimization/112760 + * gcc.dg/pr112760.c: New test. + +2023-12-06 Jakub Jelinek + + PR tree-optimization/112809 + * gcc.dg/bitint-48.c: New test. + +2023-12-06 Hans-Peter Nilsson + + PR testsuite/112419 + * gcc.dg/Wnonnull-4.c (test_fda_n_5): Expect warning for exceeding + maximum object size for 32-bit targets. + +2023-12-06 Alexandre Oliva + + * c-c++-common/strub-O0.c: New. + * c-c++-common/strub-O1.c: New. + * c-c++-common/strub-O2.c: New. + * c-c++-common/strub-O2fni.c: New. + * c-c++-common/strub-O3.c: New. + * c-c++-common/strub-O3fni.c: New. + * c-c++-common/strub-Og.c: New. + * c-c++-common/strub-Os.c: New. + * c-c++-common/strub-all1.c: New. + * c-c++-common/strub-all2.c: New. + * c-c++-common/strub-apply1.c: New. + * c-c++-common/strub-apply2.c: New. + * c-c++-common/strub-apply3.c: New. + * c-c++-common/strub-apply4.c: New. + * c-c++-common/strub-at-calls1.c: New. + * c-c++-common/strub-at-calls2.c: New. + * c-c++-common/strub-defer-O1.c: New. + * c-c++-common/strub-defer-O2.c: New. + * c-c++-common/strub-defer-O3.c: New. + * c-c++-common/strub-defer-Os.c: New. + * c-c++-common/strub-internal1.c: New. + * c-c++-common/strub-internal2.c: New. + * c-c++-common/strub-parms1.c: New. + * c-c++-common/strub-parms2.c: New. + * c-c++-common/strub-parms3.c: New. + * c-c++-common/strub-relaxed1.c: New. + * c-c++-common/strub-relaxed2.c: New. + * c-c++-common/strub-short-O0-exc.c: New. + * c-c++-common/strub-short-O0.c: New. + * c-c++-common/strub-short-O1.c: New. + * c-c++-common/strub-short-O2.c: New. + * c-c++-common/strub-short-O3.c: New. + * c-c++-common/strub-short-Os.c: New. + * c-c++-common/strub-strict1.c: New. + * c-c++-common/strub-strict2.c: New. + * c-c++-common/strub-tail-O1.c: New. + * c-c++-common/strub-tail-O2.c: New. + * c-c++-common/torture/strub-callable1.c: New. + * c-c++-common/torture/strub-callable2.c: New. + * c-c++-common/torture/strub-const1.c: New. + * c-c++-common/torture/strub-const2.c: New. + * c-c++-common/torture/strub-const3.c: New. + * c-c++-common/torture/strub-const4.c: New. + * c-c++-common/torture/strub-data1.c: New. + * c-c++-common/torture/strub-data2.c: New. + * c-c++-common/torture/strub-data3.c: New. + * c-c++-common/torture/strub-data4.c: New. + * c-c++-common/torture/strub-data5.c: New. + * c-c++-common/torture/strub-indcall1.c: New. + * c-c++-common/torture/strub-indcall2.c: New. + * c-c++-common/torture/strub-indcall3.c: New. + * c-c++-common/torture/strub-inlinable1.c: New. + * c-c++-common/torture/strub-inlinable2.c: New. + * c-c++-common/torture/strub-ptrfn1.c: New. + * c-c++-common/torture/strub-ptrfn2.c: New. + * c-c++-common/torture/strub-ptrfn3.c: New. + * c-c++-common/torture/strub-ptrfn4.c: New. + * c-c++-common/torture/strub-pure1.c: New. + * c-c++-common/torture/strub-pure2.c: New. + * c-c++-common/torture/strub-pure3.c: New. + * c-c++-common/torture/strub-pure4.c: New. + * c-c++-common/torture/strub-run1.c: New. + * c-c++-common/torture/strub-run2.c: New. + * c-c++-common/torture/strub-run3.c: New. + * c-c++-common/torture/strub-run4.c: New. + * c-c++-common/torture/strub-run4c.c: New. + * c-c++-common/torture/strub-run4d.c: New. + * c-c++-common/torture/strub-run4i.c: New. + * g++.dg/strub-run1.C: New. + * g++.dg/torture/strub-init1.C: New. + * g++.dg/torture/strub-init2.C: New. + * g++.dg/torture/strub-init3.C: New. + * gnat.dg/strub_attr.adb, gnat.dg/strub_attr.ads: New. + * gnat.dg/strub_ind.adb, gnat.dg/strub_ind.ads: New. + * c-c++-common/strub-var1.c: New file. + * gnat.dg/strub_access.adb: New file. + * gnat.dg/strub_access1.adb: New file. + * gnat.dg/strub_disp.adb: New file. + * gnat.dg/strub_disp1.adb: New file. + * gnat.dg/strub_ind1.adb: New file. + * gnat.dg/strub_ind1.ads: New file. + * gnat.dg/strub_ind2.adb: New file. + * gnat.dg/strub_ind2.ads: New file. + * gnat.dg/strub_intf.adb: New file. + * gnat.dg/strub_intf1.adb: New file. + * gnat.dg/strub_intf2.adb: New file. + * gnat.dg/strub_renm.adb: New file. + * gnat.dg/strub_renm1.adb: New file. + * gnat.dg/strub_renm2.adb: New file. + * gnat.dg/strub_var.adb: New file. + * gnat.dg/strub_var1.adb: New file. + +2023-12-05 Juzhe-Zhong + + PR target/112851 + PR target/112852 + * gcc.target/riscv/rvv/autovec/vls/consecutive-1.c: Add LMUL = 8 option. + * gcc.target/riscv/rvv/autovec/vls/consecutive-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mod-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/spill-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/spill-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/spill-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/spill-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/spill-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f-1.c: Adapt test. + * gcc.target/riscv/rvv/autovec/pr112851.c: New test. + * gcc.target/riscv/rvv/autovec/pr112852.c: New test. + +2023-12-05 David Faust + + PR debug/112849 + * gcc.dg/debug/btf/btf-datasec-3.c: New test. + +2023-12-05 Jakub Jelinek + + PR c++/112795 + * g++.dg/ext/unroll-2.C: Use { target c++11 } instead of dg-skip-if for + -std=gnu++98. + * g++.dg/ext/unroll-3.C: Likewise. + * g++.dg/ext/unroll-7.C: New test. + * g++.dg/ext/unroll-8.C: New test. + +2023-12-05 Harald Anlauf + Tobias Burnus + + PR fortran/100988 + * gfortran.dg/coarray_poly_6.f90: Adjust pattern. + * gfortran.dg/coarray_poly_7.f90: Likewise. + * gfortran.dg/coarray_poly_8.f90: Likewise. + * gfortran.dg/missing_optional_dummy_6a.f90: Likewise. + * gfortran.dg/pr100988.f90: New test. + +2023-12-05 Jakub Jelinek + + PR c++/110734 + * g++.dg/DRs/dr2262.C: New test. + * g++.dg/cpp0x/gen-attrs-76.C (foo, bar): Don't expect errors + on attributes on asm definitions. + * g++.dg/gomp/attrs-11.C: Remove 2 expected errors. + +2023-12-05 Richard Biener + + PR middle-end/112830 + * gcc.target/avr/pr112830.c: New testcase. + * gcc.target/i386/pr112830.c: Likewise. + +2023-12-05 Richard Biener + + PR tree-optimization/109689 + PR tree-optimization/112856 + * gcc.dg/torture/pr109689.c: New testcase. + * gcc.dg/torture/pr112856.c: Likewise. + +2023-12-05 Jakub Jelinek + + PR target/112845 + * gcc.dg/pr112845.c: New file. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h: Provide a way + for test functions to share ZT0. + (ATTR): Update accordingly. + (TEST_LOAD_COUNT, TEST_STORE_COUNT, TEST_PN, TEST_COUNT_PN) + (TEST_EXTRACT_PN, TEST_SELECT_P, TEST_COMPARE_S_X2, TEST_COMPARE_S_C) + (TEST_CREATE_B, TEST_GET_B, TEST_SET_B, TEST_XN, TEST_XN_SINGLE) + (TEST_XN_SINGLE_Z15, TEST_XN_SINGLE_AWKWARD, TEST_X2_NARROW) + (TEST_X4_NARROW): New macros. + * gcc.target/aarch64/sve/acle/asm/create2_1.c: Add _b tests. + * gcc.target/aarch64/sve/acle/general-c/binary_za_m_1.c: Remove + test for svmopa that becomes valid with SME2. + * gcc.target/aarch64/sve/acle/general-c/create_1.c: Adjust for + existence of svboolx2_t version of svcreate2. + * gcc.target/aarch64/sve/acle/general-c/store_1.c: Adjust error + messages to account for svcount_t predication. + * gcc.target/aarch64/sve/acle/general-c/store_2.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/ternary_qq_lane_1.c: Adjust + error messages to account for new SME2 variants. + * gcc.target/aarch64/sve/acle/general-c/ternary_qq_opt_n_2.c: Likewise. + * g++.target/aarch64/sme2/aarch64-sme2-acle-asm.exp: New file. + * gcc.target/aarch64/sme/acle-asm/clamp_s16.c: New file. + * gcc.target/aarch64/sme/acle-asm/clamp_s32.c: New file. + * gcc.target/aarch64/sme/acle-asm/clamp_s64.c: New file. + * gcc.target/aarch64/sme/acle-asm/clamp_s8.c: New file. + * gcc.target/aarch64/sme/acle-asm/clamp_u16.c: New file. + * gcc.target/aarch64/sme/acle-asm/clamp_u32.c: New file. + * gcc.target/aarch64/sme/acle-asm/clamp_u64.c: New file. + * gcc.target/aarch64/sme/acle-asm/clamp_u8.c: New file. + * gcc.target/aarch64/sme/acle-asm/revd_bf16.c: New file. + * gcc.target/aarch64/sme/acle-asm/revd_f16.c: New file. + * gcc.target/aarch64/sme/acle-asm/revd_f32.c: New file. + * gcc.target/aarch64/sme/acle-asm/revd_f64.c: New file. + * gcc.target/aarch64/sme/acle-asm/revd_s16.c: New file. + * gcc.target/aarch64/sme/acle-asm/revd_s32.c: New file. + * gcc.target/aarch64/sme/acle-asm/revd_s64.c: New file. + * gcc.target/aarch64/sme/acle-asm/revd_s8.c: New file. + * gcc.target/aarch64/sme/acle-asm/revd_u16.c: New file. + * gcc.target/aarch64/sme/acle-asm/revd_u32.c: New file. + * gcc.target/aarch64/sme/acle-asm/revd_u64.c: New file. + * gcc.target/aarch64/sme/acle-asm/revd_u8.c: New file. + * gcc.target/aarch64/sme/clamp_1.c: New file. + * gcc.target/aarch64/sme/clamp_2.c: New file. + * gcc.target/aarch64/sme/clamp_3.c: New file. + * gcc.target/aarch64/sme/clamp_4.c: New file. + * gcc.target/aarch64/sme2/aarch64-sme2-acle-asm.exp: New file. + * gcc.target/aarch64/sme2/acle-asm/add_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_write_za32_s32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_write_za32_s32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_write_za32_u32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_write_za32_u32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_write_za64_s64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_write_za64_s64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_write_za64_u64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_write_za64_u64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_za32_f32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_za32_f32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_za32_s32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_za32_s32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_za32_u32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_za32_u32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_za64_f64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_za64_f64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_za64_s64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_za64_s64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_za64_u64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/add_za64_u64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/bfmlslb_f32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/bfmlslb_lane_f32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/bfmlslt_f32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/bfmlslt_lane_f32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/bmopa_za32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/bmops_za32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_f16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_f32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_f64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/clamp_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cntp_c16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cntp_c32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cntp_c64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cntp_c8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cvt_bf16_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cvt_f16_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cvt_f32_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cvt_f32_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cvt_f32_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cvt_f32_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cvt_s32_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cvt_s32_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cvt_u32_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cvt_u32_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cvtn_bf16_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/cvtn_f16_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_f32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_f32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_s32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_u32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_bf16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_bf16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_f16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_f16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_s16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_s16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_s8_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_s8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_u16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_u16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_u8_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_u8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za64_s16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za64_s16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za64_u16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_lane_za64_u16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_s32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_u32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za32_bf16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za32_bf16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za32_f16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za32_f16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za32_s16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za32_s16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za32_s8_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za32_s8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za32_u16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za32_u16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za32_u8_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za32_u8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za64_s16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za64_s16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za64_u16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/dot_za64_u16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_bf16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_bf16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ld1_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_bf16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_bf16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldnt1_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ldr_zt.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_bf16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_bf16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_bf16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_f16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_f32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_s16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_s32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_s8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_u16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_u32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_u8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti2_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_bf16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_bf16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_bf16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_f16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_f32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_s16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_s32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_s8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_u16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_u32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_u8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/luti4_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/max_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/maxnm_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/maxnm_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/maxnm_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/maxnm_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/maxnm_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/maxnm_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/min_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/minnm_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/minnm_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/minnm_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/minnm_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/minnm_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/minnm_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_bf16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_bf16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_bf16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_f16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_f16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_f16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_f32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_f32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_s16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_s16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_s16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_s8_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_s8_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_s8_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_u16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_u16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_u16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_u8_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_u8_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_u8_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_f64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_f64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_s16_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_s16_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_s16_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_u16_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_u16_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za64_u16_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_bf16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_bf16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_bf16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_f16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_f16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_f16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_f32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_f32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_s16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_s16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_s16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_s8_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_s8_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_s8_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_u16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_u16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_u16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_u8_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_u8_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za32_u8_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za64_f64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za64_f64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za64_s16_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za64_s16_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za64_s16_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za64_u16_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za64_u16_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mla_za64_u16_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_bf16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_bf16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_bf16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_f16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_f16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_f16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_f32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_f32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_s16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_s16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_s16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_s8_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_s8_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_s8_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_u16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_u16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_u16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_u8_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_u8_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za32_u8_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_f64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_f64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_s16_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_s16_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_s16_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_u16_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_u16_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za64_u16_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_bf16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_bf16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_bf16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_f16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_f16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_f16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_f32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_f32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_s16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_s16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_s16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_s8_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_s8_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_s8_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_u16_vg2x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_u16_vg2x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_u16_vg2x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_u8_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_u8_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za32_u8_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za64_f64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za64_f64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za64_s16_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za64_s16_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za64_s16_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za64_u16_vg4x1.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za64_u16_vg4x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mls_za64_u16_vg4x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mopa_za32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/mops_za32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/pext_c16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/pext_c16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/pext_c32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/pext_c32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/pext_c64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/pext_c64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/pext_c8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/pext_c8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/pfalse_c.c: New file. + * gcc.target/aarch64/sme2/acle-asm/psel_b16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/psel_b32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/psel_b64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/psel_b8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/psel_c16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/psel_c32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/psel_c64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/psel_c8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ptrue_c16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ptrue_c32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ptrue_c64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/ptrue_c8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvt_s16_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvt_s16_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvt_s8_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvt_u16_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvt_u16_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvt_u16_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvt_u16_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvt_u8_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvt_u8_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvtn_s16_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvtn_s16_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvtn_s8_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvtn_u16_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvtn_u16_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvtn_u16_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvtn_u16_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvtn_u8_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qcvtn_u8_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qdmulh_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qdmulh_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qdmulh_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qdmulh_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qdmulh_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qdmulh_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qdmulh_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qdmulh_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshr_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshr_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshr_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshr_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshr_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshr_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshrn_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshrn_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshrn_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshrn_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshrn_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshrn_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshru_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshru_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshru_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshrun_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshrun_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/qrshrun_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_hor_za16_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_hor_za16_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_hor_za32_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_hor_za32_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_hor_za64_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_hor_za64_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_hor_za8_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_hor_za8_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_ver_za16_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_ver_za16_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_ver_za32_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_ver_za32_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_ver_za64_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_ver_za64_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_ver_za8_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_ver_za8_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_za32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_za32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_za64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_za64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_za8_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/read_za8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rinta_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rinta_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rintm_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rintm_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rintn_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rintn_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rintp_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rintp_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/rshl_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_bf16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_bf16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sel_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_bf16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_bf16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/st1_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_bf16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_bf16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/stnt1_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/str_zt.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_write_za32_s32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_write_za32_s32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_write_za32_u32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_write_za32_u32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_write_za64_s64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_write_za64_s64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_write_za64_u64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_write_za64_u64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_za32_f32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_za32_f32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_za32_s32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_za32_s32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_za32_u32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_za32_u32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_za64_f64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_za64_f64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_za64_s64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_za64_s64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_za64_u64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sub_za64_u64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sudot_lane_za32_s8_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sudot_lane_za32_s8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sudot_za32_s8_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/sudot_za32_s8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/suvdot_lane_za32_s8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/test_sme2_acle.h: New file. + * gcc.target/aarch64/sme2/acle-asm/unpk_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/unpk_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/unpk_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/unpk_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/unpk_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/unpk_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/unpk_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/unpk_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/unpk_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/unpk_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/unpk_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/unpk_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/usdot_lane_za32_u8_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/usdot_lane_za32_u8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/usdot_za32_u8_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/usdot_za32_u8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/usvdot_lane_za32_u8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_bf16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_bf16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzp_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_bf16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_bf16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/uzpq_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za32_bf16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za32_f16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za32_s16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za32_s8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za32_u16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za32_u8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za64_s16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/vdot_lane_za64_u16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilege_b16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilege_b32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilege_b64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilege_b8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilege_c16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilege_c32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilege_c64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilege_c8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilegt_b16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilegt_b32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilegt_b64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilegt_b8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilegt_c16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilegt_c32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilegt_c64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilegt_c8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilele_b16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilele_b32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilele_b64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilele_b8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilele_c16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilele_c32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilele_c64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilele_c8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilelt_b16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilelt_b32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilelt_b64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilelt_b8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilelt_c16.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilelt_c32.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilelt_c64.c: New file. + * gcc.target/aarch64/sme2/acle-asm/whilelt_c8.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_hor_za16_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_hor_za16_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_hor_za32_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_hor_za32_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_hor_za64_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_hor_za64_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_hor_za8_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_hor_za8_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_ver_za16_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_ver_za16_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_ver_za32_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_ver_za32_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_ver_za64_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_ver_za64_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_ver_za8_vg2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_ver_za8_vg4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_za16_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_za16_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_za32_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_za32_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_za64_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_za64_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_za8_vg1x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/write_za8_vg1x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zero_zt.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_bf16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_bf16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zip_u8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_bf16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_bf16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_f16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_f16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_f32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_f32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_f64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_f64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_s16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_s16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_s32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_s32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_s64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_s64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_s8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_s8_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_u16_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_u16_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_u32_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_u32_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_u64_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_u64_x4.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_u8_x2.c: New file. + * gcc.target/aarch64/sme2/acle-asm/zipq_u8_x4.c: New file. + * gcc.target/aarch64/sve/acle/asm/get2_b.c: New file. + * gcc.target/aarch64/sve/acle/asm/set2_b.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_int_opt_single_n_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_int_opt_single_n_2.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_opt_single_n_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_opt_single_n_2.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_single_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_int_opt_single_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_lane_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_lane_2.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_lane_3.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_lane_4.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_opt_single_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_opt_single_2.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_opt_single_3.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binary_za_slice_uint_opt_single_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binaryxn_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/binaryxn_2.c: New file. + * gcc.target/aarch64/sve/acle/general-c/clamp_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/compare_scalar_count_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/dot_za_slice_int_lane_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/dot_za_slice_lane_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/dot_za_slice_lane_2.c: New file. + * gcc.target/aarch64/sve/acle/general-c/dot_za_slice_uint_lane_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/shift_right_imm_narrowxn_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/storexn_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/ternary_qq_or_011_lane_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/unary_convertxn_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/unary_za_slice_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/unary_za_slice_2.c: New file. + * gcc.target/aarch64/sve/acle/general-c/unary_za_slice_3.c: New file. + * gcc.target/aarch64/sve/acle/general-c/unaryxn_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/write_za_1.c: New file. + * gcc.target/aarch64/sve/acle/general-c/write_za_slice_1.c: New file. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sme/zt0_state_1.c: New test. + * gcc.target/aarch64/sme/zt0_state_2.c: Likewise. + * gcc.target/aarch64/sme/zt0_state_3.c: Likewise. + * gcc.target/aarch64/sme/zt0_state_4.c: Likewise. + * gcc.target/aarch64/sme/zt0_state_5.c: Likewise. + * gcc.target/aarch64/sme/zt0_state_6.c: Likewise. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sve/pcs/struct_3_128.c (test_nonpst3): Adjust + stack offsets. + (ret_nonpst3): Remove XFAIL. + * gcc.target/aarch64/sve/acle/general-c/svboolx2_1.c: New test. + +2023-12-05 Richard Sandiford + + * g++.target/aarch64/sve/acle/general-c++/mangle_1.C: Add test + for svcount_t. + * g++.target/aarch64/sve/acle/general-c++/mangle_2.C: Likewise. + * g++.target/aarch64/sve/acle/general-c++/svcount_1.C: New test. + * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h (TEST_DUAL_P) + (TEST_DUAL_P_REV): New macros. + * gcc.target/aarch64/sve/acle/asm/reinterpret_b.c: New test. + * gcc.target/aarch64/sve/acle/general-c/load_1.c: Test passing + an svcount_t. + * gcc.target/aarch64/sve/acle/general-c/svcount_1.c: New test. + * gcc.target/aarch64/sve/acle/general-c/unary_convert_1.c: Test + reinterprets involving svcount_t. + * gcc.target/aarch64/sve/acle/general/attributes_7.c: Test svcount_t. + * gcc.target/aarch64/sve/pcs/annotate_1.c: Likewise. + * gcc.target/aarch64/sve/pcs/annotate_2.c: Likewise. + * gcc.target/aarch64/sve/pcs/args_12.c: New test. + +2023-12-05 Richard Sandiford + + * lib/target-supports.exp (check_effective_target_aarch64_sme2): New + target test. + (check_effective_target_aarch64_asm_sme2_ok): Likewise. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sme/sibcall_1.c: New test. + * gcc.target/aarch64/sme/sibcall_2.c: Likewise. + * gcc.target/aarch64/sme/sibcall_3.c: Likewise. + * gcc.target/aarch64/sme/sibcall_4.c: Likewise. + * gcc.target/aarch64/sme/sibcall_5.c: Likewise. + * gcc.target/aarch64/sme/sibcall_6.c: Likewise. + * gcc.target/aarch64/sme/sibcall_7.c: Likewise. + * gcc.target/aarch64/sme/sibcall_8.c: Likewise. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sme/inlining_1.c: New test. + * gcc.target/aarch64/sme/inlining_2.c: Likewise. + * gcc.target/aarch64/sme/inlining_3.c: Likewise. + * gcc.target/aarch64/sme/inlining_4.c: Likewise. + * gcc.target/aarch64/sme/inlining_5.c: Likewise. + * gcc.target/aarch64/sme/inlining_6.c: Likewise. + * gcc.target/aarch64/sme/inlining_7.c: Likewise. + * gcc.target/aarch64/sme/inlining_8.c: Likewise. + * gcc.target/aarch64/sme/inlining_10.c: New file. + * gcc.target/aarch64/sme/inlining_11.c: New file. + * gcc.target/aarch64/sme/inlining_12.c: New file. + * gcc.target/aarch64/sme/inlining_13.c: New file. + * gcc.target/aarch64/sme/inlining_14.c: New file. + * gcc.target/aarch64/sme/inlining_15.c: New file. + * gcc.target/aarch64/sme/inlining_9.c: New file. + +2023-12-05 Richard Sandiford + + * g++.target/aarch64/sme/exceptions_2.C: New test. + * gcc.target/aarch64/sme/nonlocal_goto_1.c: Likewise. + * gcc.target/aarch64/sme/nonlocal_goto_2.c: Likewise. + * gcc.target/aarch64/sme/nonlocal_goto_3.c: Likewise. + * gcc.target/aarch64/sme/nonlocal_goto_4.c: Likewise. + * gcc.target/aarch64/sme/nonlocal_goto_5.c: Likewise. + * gcc.target/aarch64/sme/nonlocal_goto_6.c: Likewise. + * gcc.target/aarch64/sme/nonlocal_goto_7.c: Likewise. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sme/locally_streaming_1.c: New test. + * gcc.target/aarch64/sme/locally_streaming_2.c: Likewise. + * gcc.target/aarch64/sme/locally_streaming_3.c: Likewise. + * gcc.target/aarch64/sme/locally_streaming_4.c: Likewise. + * gcc.target/aarch64/sme/keyword_macros_1.c: Add + __arm_locally_streaming. + * g++.target/aarch64/sme/keyword_macros_1.C: Likewise. + +2023-12-05 Richard Sandiford + + * lib/target-supports.exp: Add sme and sme-i16i64 features. + * gcc.target/aarch64/pragma_cpp_predefs_4.c: Test __ARM_FEATURE_SME* + macros. + * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h: Allow functions + to be marked as __arm_streaming, __arm_streaming_compatible, and + __arm_inout("za"). + * g++.target/aarch64/sve/acle/general-c++/func_redef_4.c: Mark the + function as __arm_streaming_compatible. + * g++.target/aarch64/sve/acle/general-c++/func_redef_5.c: Likewise. + * g++.target/aarch64/sve/acle/general-c++/func_redef_7.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/func_redef_4.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/func_redef_5.c: Likewise. + * g++.target/aarch64/sme/aarch64-sme-acle-asm.exp: New test harness. + * gcc.target/aarch64/sme/aarch64-sme-acle-asm.exp: Likewise. + * gcc.target/aarch64/sve/acle/general-c/binary_za_int_m_1.c: New test. + * gcc.target/aarch64/sve/acle/general-c/binary_za_m_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/binary_za_m_2.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/binary_za_uint_m_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/read_za_m_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/unary_za_m_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/write_za_m_1.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/addha_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/addha_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/addva_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/addva_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/arm_has_sme_sc.c: New file. + * gcc.target/aarch64/sme/acle-asm/arm_in_streaming_mode_ns.c: New file. + * gcc.target/aarch64/sme/acle-asm/arm_in_streaming_mode_s.c: New file. + * gcc.target/aarch64/sme/acle-asm/arm_in_streaming_mode_sc.c: New file. + * gcc.target/aarch64/sme/acle-asm/cntsb_s.c: New file. + * gcc.target/aarch64/sme/acle-asm/cntsb_sc.c: New file. + * gcc.target/aarch64/sme/acle-asm/cntsd_s.c: New file. + * gcc.target/aarch64/sme/acle-asm/cntsd_sc.c: New file. + * gcc.target/aarch64/sme/acle-asm/cntsh_s.c: New file. + * gcc.target/aarch64/sme/acle-asm/cntsh_sc.c: New file. + * gcc.target/aarch64/sme/acle-asm/cntsw_s.c: New file. + * gcc.target/aarch64/sme/acle-asm/cntsw_sc.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za128.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za16.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za8.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_hor_za128.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_hor_za16.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_hor_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_hor_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_hor_za8.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za128.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za16.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za8.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_ver_za128.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_ver_za16.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_ver_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_ver_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/ld1_ver_za8.c: New file. + * gcc.target/aarch64/sme/acle-asm/ldr_vnum_za_s.c: New file. + * gcc.target/aarch64/sme/acle-asm/ldr_vnum_za_sc.c: New file. + * gcc.target/aarch64/sme/acle-asm/ldr_za_s.c: New file. + * gcc.target/aarch64/sme/acle-asm/ldr_za_sc.c: New file. + * gcc.target/aarch64/sme/acle-asm/mopa_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/mopa_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/mops_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/mops_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/read_hor_za128.c: New file. + * gcc.target/aarch64/sme/acle-asm/read_hor_za16.c: New file. + * gcc.target/aarch64/sme/acle-asm/read_hor_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/read_hor_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/read_hor_za8.c: New file. + * gcc.target/aarch64/sme/acle-asm/read_ver_za128.c: New file. + * gcc.target/aarch64/sme/acle-asm/read_ver_za16.c: New file. + * gcc.target/aarch64/sme/acle-asm/read_ver_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/read_ver_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/read_ver_za8.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za128.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za16.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za8.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_hor_za128.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_hor_za16.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_hor_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_hor_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_hor_za8.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za128.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za16.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za8.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_ver_za128.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_ver_za16.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_ver_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_ver_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/st1_ver_za8.c: New file. + * gcc.target/aarch64/sme/acle-asm/str_vnum_za_s.c: New file. + * gcc.target/aarch64/sme/acle-asm/str_vnum_za_sc.c: New file. + * gcc.target/aarch64/sme/acle-asm/str_za_s.c: New file. + * gcc.target/aarch64/sme/acle-asm/str_za_sc.c: New file. + * gcc.target/aarch64/sme/acle-asm/sumopa_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/sumopa_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/sumops_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/sumops_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/test_sme_acle.h: New file. + * gcc.target/aarch64/sme/acle-asm/undef_za.c: New file. + * gcc.target/aarch64/sme/acle-asm/usmopa_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/usmopa_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/usmops_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/usmops_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/write_hor_za128.c: New file. + * gcc.target/aarch64/sme/acle-asm/write_hor_za16.c: New file. + * gcc.target/aarch64/sme/acle-asm/write_hor_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/write_hor_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/write_hor_za8.c: New file. + * gcc.target/aarch64/sme/acle-asm/write_ver_za128.c: New file. + * gcc.target/aarch64/sme/acle-asm/write_ver_za16.c: New file. + * gcc.target/aarch64/sme/acle-asm/write_ver_za32.c: New file. + * gcc.target/aarch64/sme/acle-asm/write_ver_za64.c: New file. + * gcc.target/aarch64/sme/acle-asm/write_ver_za8.c: New file. + * gcc.target/aarch64/sme/acle-asm/zero_mask_za.c: New file. + * gcc.target/aarch64/sme/acle-asm/zero_za.c: New file. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sme/za_state_1.c: New test. + * gcc.target/aarch64/sme/za_state_2.c: Likewise. + * gcc.target/aarch64/sme/za_state_3.c: Likewise. + * gcc.target/aarch64/sme/za_state_4.c: Likewise. + * gcc.target/aarch64/sme/za_state_5.c: Likewise. + * gcc.target/aarch64/sme/za_state_6.c: Likewise. + * g++.target/aarch64/sme/exceptions_1.C: Likewise. + * gcc.target/aarch64/sme/keyword_macros_1.c: Add ZA macros. + * g++.target/aarch64/sme/keyword_macros_1.C: Likewise. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sme/call_sm_switch_1.c: New test. + * gcc.target/aarch64/sme/call_sm_switch_2.c: Likewise. + * gcc.target/aarch64/sme/call_sm_switch_3.c: Likewise. + * gcc.target/aarch64/sme/call_sm_switch_4.c: Likewise. + * gcc.target/aarch64/sme/call_sm_switch_5.c: Likewise. + * gcc.target/aarch64/sme/call_sm_switch_6.c: Likewise. + * gcc.target/aarch64/sme/call_sm_switch_7.c: Likewise. + * gcc.target/aarch64/sme/call_sm_switch_8.c: Likewise. + * gcc.target/aarch64/sme/call_sm_switch_9.c: Likewise. + * gcc.target/aarch64/sme/call_sm_switch_10.c: Likewise. + +2023-12-05 Richard Sandiford + + * g++.target/aarch64/sve/aarch64-ssve.exp: New harness. + * g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Add + -DSTREAMING_COMPATIBLE to the list of options. + * g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Likewise. + * gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Likewise. + * gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Likewise. + Fix pasto in variable name. + * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h: Mark functions + as streaming-compatible if STREAMING_COMPATIBLE is defined. + * gcc.target/aarch64/sve/acle/asm/adda_f16.c: Disable for + streaming-compatible code. + * gcc.target/aarch64/sve/acle/asm/adda_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/adda_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/adrb.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/adrd.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/adrh.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/adrw.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bfmmla_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/compact_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/compact_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/compact_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/compact_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/compact_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/compact_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/expa_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/expa_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/expa_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/ld1ro_bf16.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/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/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/ld1sw_gather_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ld1sw_gather_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/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/ld1uw_gather_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ld1uw_gather_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ldff1_bf16.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_bf16.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/mmla_f32.c: Likewise. + * 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/prfb_gather.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/prfd_gather.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/prfh_gather.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/prfw_gather.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/rdffr_1.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/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/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/st1w_scatter_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/st1w_scatter_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tmad_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tmad_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tmad_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tsmul_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tsmul_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tsmul_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tssel_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tssel_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tssel_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/usmmla_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/aesd_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/aese_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/aesimc_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/aesmc_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bdep_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bdep_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bdep_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bdep_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bext_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bext_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bext_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bext_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bgrp_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bgrp_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bgrp_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bgrp_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/histcnt_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/histcnt_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/histcnt_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/histcnt_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/histseg_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/histseg_u8.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/match_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/match_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/match_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/match_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/nmatch_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/nmatch_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/nmatch_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/nmatch_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pmullb_pair_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pmullt_pair_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/rax1_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/rax1_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sm4e_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sm4ekey_u32.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. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/movdf_2.c: New test. + * gcc.target/aarch64/movdi_3.c: Likewise. + * gcc.target/aarch64/movhf_2.c: Likewise. + * gcc.target/aarch64/movhi_2.c: Likewise. + * gcc.target/aarch64/movqi_2.c: Likewise. + * gcc.target/aarch64/movsf_2.c: Likewise. + * gcc.target/aarch64/movsi_2.c: Likewise. + * gcc.target/aarch64/movtf_3.c: Likewise. + * gcc.target/aarch64/movtf_4.c: Likewise. + * gcc.target/aarch64/movti_3.c: Likewise. + * gcc.target/aarch64/movti_4.c: Likewise. + * gcc.target/aarch64/movv16qi_4.c: Likewise. + * gcc.target/aarch64/movv16qi_5.c: Likewise. + * gcc.target/aarch64/movv8qi_4.c: Likewise. + * gcc.target/aarch64/sme/arm_neon_1.c: Likewise. + * gcc.target/aarch64/sme/arm_neon_2.c: Likewise. + * gcc.target/aarch64/sme/arm_neon_3.c: Likewise. + +2023-12-05 Richard Sandiford + + * lib/target-supports.exp (check_effective_target_aarch64_sme): New + target test. + * gcc.target/aarch64/sme/aarch64-sme.exp: Force SME to be enabled + if it isn't by default. + * g++.target/aarch64/sme/aarch64-sme.exp: Likewise. + * gcc.target/aarch64/sme/streaming_mode_3.c: New test. + * gcc.target/aarch64/sme/streaming_mode_4.c: New file. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sme/aarch64-sme.exp: New harness. + * gcc.target/aarch64/sme/streaming_mode_1.c: New test. + * gcc.target/aarch64/sme/streaming_mode_2.c: Likewise. + * gcc.target/aarch64/sme/keyword_macros_1.c: Likewise. + * g++.target/aarch64/sme/aarch64-sme.exp: New harness. + * g++.target/aarch64/sme/streaming_mode_1.C: New test. + * g++.target/aarch64/sme/streaming_mode_2.C: Likewise. + * g++.target/aarch64/sme/keyword_macros_1.C: Likewise. + * gcc.target/aarch64/auto-init-1.c: Only expect the call insn + to contain 1 (const_int 0), not 2. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h (TEST_DUAL_XN): + New macro. + * gcc.target/aarch64/sve/acle/asm/reinterpret_bf16.c: Add tests for + tuple forms. + * gcc.target/aarch64/sve/acle/asm/reinterpret_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_u8.c: Likewise. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sve/acle/general-c/set_1.c: Tweak expected + error message. + * gcc.target/aarch64/sve/acle/general-c/set_3.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/set_5.c: Likewise. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sve/acle/general-c/*: Replace "but previous + arguments had" with "but argument N had". + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sve/acle/general-c/*: Update expected error + messages. + +2023-12-05 Richard Sandiford + + * gcc.target/aarch64/sve/acle/asm/cntb.c: Tweak expected output. + * gcc.target/aarch64/sve/acle/asm/cnth.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/cntw.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/cntd.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/prfb.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/prfh.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/prfw.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/prfd.c: Likewise. + * gcc.target/aarch64/sve/loop_add_4.c: Expect RDVL to be used + to calculate the -17 and 17 factors. + * gcc.target/aarch64/sve/pcs/stack_clash_1.c: Likewise the 18 factor. + +2023-12-05 Szabolcs Nagy + + * gcc.target/aarch64/eh_return-3.c: Fix when retaa is available. + +2023-12-05 Thomas Schwinge + + * gcc.dg/gnu23-builtins-no-dfp-1.c: Remove '-fpermissive'. + 'dg-error "implicit"' instead of 'dg-warning "implicit"'. + +2023-12-05 Kito Cheng + + * gcc.target/riscv/arch-29.c: New test. + * gcc.target/riscv/arch-30.c: New test. + +2023-12-05 Richard Sandiford + + PR rtl-optimization/112278 + * gcc.target/aarch64/sve/pr112278.c: New test. + +2023-12-05 Jakub Jelinek + + PR tree-optimization/112843 + * gcc.dg/bitint-47.c: New test. + +2023-12-05 Jakub Jelinek + + PR target/112816 + * gcc.target/i386/pr112816.c: New test. + +2023-12-05 Juzhe-Zhong + + * g++.target/riscv/rvv/autovec/bug-2.C: New test. + +2023-12-05 Richard Biener + + PR c/89270 + * gcc.target/avr/pr89270.c: New testcase. + +2023-12-05 Richard Biener + + PR c/86869 + * gcc.target/avr/pr86869.c: New testcase. + +2023-12-05 liuhongt + + * gcc.target/i386/udotprodint8_emulate.c: New test. + +2023-12-05 Marek Polacek + + PR c++/107687 + PR c++/110997 + * g++.dg/cpp23/consteval-if10.C: Remove dg-error. + * g++.dg/cpp23/consteval-if2.C: Likewise. + * g++.dg/cpp23/feat-cxx2b.C: Adjust expected value of __cpp_consteval. + * g++.dg/cpp26/feat-cxx26.C: Likewise. + * g++.dg/cpp2a/consteval-memfn1.C: Add dg-error. + * g++.dg/cpp2a/consteval11.C: Likewise. + * g++.dg/cpp2a/consteval3.C: Adjust dg-error. + * g++.dg/cpp2a/consteval34.C: Add dg-error. + * g++.dg/cpp2a/consteval36.C: Likewise. + * g++.dg/cpp2a/consteval9.C: Likewise. + * g++.dg/cpp2a/feat-cxx2a.C: Adjust expected value of __cpp_consteval. + * g++.dg/cpp2a/spaceship-synth9.C: Adjust dg-error. + * g++.dg/cpp2a/consteval-prop1.C: New test. + * g++.dg/cpp2a/consteval-prop10.C: New test. + * g++.dg/cpp2a/consteval-prop11.C: New test. + * g++.dg/cpp2a/consteval-prop12.C: New test. + * g++.dg/cpp2a/consteval-prop13.C: New test. + * g++.dg/cpp2a/consteval-prop14.C: New test. + * g++.dg/cpp2a/consteval-prop15.C: New test. + * g++.dg/cpp2a/consteval-prop16.C: New test. + * g++.dg/cpp2a/consteval-prop17.C: New test. + * g++.dg/cpp2a/consteval-prop18.C: New test. + * g++.dg/cpp2a/consteval-prop19.C: New test. + * g++.dg/cpp2a/consteval-prop20.C: New test. + * g++.dg/cpp2a/consteval-prop2.C: New test. + * g++.dg/cpp2a/consteval-prop3.C: New test. + * g++.dg/cpp2a/consteval-prop4.C: New test. + * g++.dg/cpp2a/consteval-prop5.C: New test. + * g++.dg/cpp2a/consteval-prop6.C: New test. + * g++.dg/cpp2a/consteval-prop7.C: New test. + * g++.dg/cpp2a/consteval-prop8.C: New test. + * g++.dg/cpp2a/consteval-prop9.C: New test. + +2023-12-04 Jason Merrill + + * g++.dg/cpp0x/constexpr-noreturn1.C: New test. + +2023-12-04 Robin Dapp + + * gcc.target/riscv/rvv/autovec/binop/copysign-zvfh-run.c: + Replace riscv_zvfh_hw with riscv_zvfh. + * gcc.target/riscv/rvv/autovec/binop/vadd-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vdiv-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmax-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmin-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmul-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-zvfh-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-10.c: + Ditto. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-6.c: Allow + overriding N. + * gcc.target/riscv/rvv/autovec/unop/abs-zvfh-run.c: Replace + riscv zvfh_hw with riscv_zvfh. + * gcc.target/riscv/rvv/autovec/unop/vneg-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-8.c: Ditto. + * lib/target-supports.exp: Remove riscv_vector_hw and + riscv_zvfh_hw. + +2023-12-04 Robin Dapp + + * gcc.target/riscv/rvv/autovec/pr112552.c: Add + -Wno-incompatible-pointer-types. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-10.c: + Add -std=gnu99. + +2023-12-04 Robin Dapp + + * gcc.target/riscv/rvv/base/cpymem-strategy-1.c: Change to + -mstringop-strategy. + * gcc.target/riscv/rvv/base/cpymem-strategy-2.c: Ditto. + * gcc.target/riscv/rvv/base/cpymem-strategy-3.c: Ditto. + * gcc.target/riscv/rvv/base/cpymem-strategy-4.c: Ditto. + * gcc.target/riscv/rvv/base/cpymem-strategy-5.c: Ditto. + +2023-12-04 Juzhe-Zhong + + PR target/112431 + * gcc.target/riscv/rvv/base/pr112431-34.c: New test. + +2023-12-04 Juzhe-Zhong + + PR target/112431 + * gcc.target/riscv/rvv/base/pr112431-37.c: New test. + * gcc.target/riscv/rvv/base/pr112431-38.c: New test. + +2023-12-04 Richard Biener + + PR tree-optimization/112818 + * gcc.dg/vect/pr112818.c: New testcase. + +2023-12-04 Juzhe-Zhong + + * g++.target/riscv/rvv/autovec/bug-01.C: Moved to... + * g++.target/riscv/rvv/autovec/bug-1.C: ...here. + +2023-12-04 Richard Biener + + PR tree-optimization/112827 + * gcc.dg/torture/pr112827-1.c: New testcase. + * gcc.dg/torture/pr112827-2.c: Likewise. + +2023-12-04 Juzhe-Zhong + + PR target/112431 + * gcc.target/riscv/rvv/base/pr112431-35.c: New test. + * gcc.target/riscv/rvv/base/pr112431-36.c: New test. + +2023-12-04 Indu Bhagat + + PR debug/112656 + * gcc.dg/debug/btf/btf-function-7.c: New test. + +2023-12-04 Indu Bhagat + + PR debug/112768 + * gcc.dg/debug/btf/btf-function-6.c: Empty string expected with + BTF_KIND_FUNC_PROTO. + +2023-12-04 Pan Li + + PR target/112813 + * gcc.target/riscv/rvv/vsetvl/pr112813-1.c: New test. + +2023-12-04 Jakub Jelinek + + PR target/112837 + * gcc.dg/pr112837.c: New test. + +2023-12-04 Jakub Jelinek + + PR target/112816 + * gcc.target/i386/sse2-pr112816.c: New test. + +2023-12-04 Jakub Jelinek + + PR c++/112795 + * g++.dg/ext/unroll-5.C: New test. + * g++.dg/ext/unroll-6.C: New test. + +2023-12-04 Feng Wang + + * gcc.target/riscv/zvkn-1.c: Replace zvbb with zvkb. + * gcc.target/riscv/zvkn.c: Ditto. + * gcc.target/riscv/zvknc-1.c:Ditto. + * gcc.target/riscv/zvknc-2.c:Ditto. + * gcc.target/riscv/zvknc.c: Ditto. + * gcc.target/riscv/zvkng-1.c:Ditto. + * gcc.target/riscv/zvkng-2.c:Ditto. + * gcc.target/riscv/zvkng.c: Ditto. + * gcc.target/riscv/zvks-1.c: Ditto. + * gcc.target/riscv/zvks.c: Ditto. + * gcc.target/riscv/zvksc-1.c:Ditto. + * gcc.target/riscv/zvksc-2.c:Ditto. + * gcc.target/riscv/zvksc.c: Ditto. + * gcc.target/riscv/zvksg-1.c:Ditto. + * gcc.target/riscv/zvksg-2.c:Ditto. + * gcc.target/riscv/zvksg.c: Ditto. + +2023-12-04 Fei Gao + Xiao Zeng + + * gcc.target/riscv/zicond-sfb-primitiveSemantics.c: New test. + +2023-12-04 Kito Cheng + + * gcc.target/riscv/mcpu-sifive-x280.c: New test. + +2023-12-04 Hu, Lin1 + + * gcc.target/i386/user_msr-1.c: Correct the MSR index for give the user + an proper example. + +2023-12-03 Jakub Jelinek + + PR middle-end/112406 + * gcc.target/aarch64/pr112406.c (MagickPixelPacket): Add missing + semicolon. + (GetImageChannelMoments_image): Avoid using implicit int. + (SetMagickPixelPacket): Use void return type instead of implicit int. + (GetImageChannelMoments): Likewise. Use __builtin_atan instead of + atan. + +2023-12-03 Jakub Jelinek + + PR middle-end/112807 + * gcc.dg/bitint-46.c: New test. + +2023-12-03 Saurabh Jha + + * gcc.target/arm/mve/pr112337.c: Use int32_t instead of int. + +2023-12-03 Pan Li + + * gcc.target/riscv/rvv/base/pr112743-1.c: Fix typo. + * gcc.target/riscv/rvv/base/pr112743-2.c: Ditto. + +2023-12-03 Jeff Law + + * gcc.dg/gnu23-builtins-no-dfp-1.c: Add -fpermissive. + +2023-12-03 Jeff Law + + * gcc.c-torture/execute/pr65369.c: Fix type mismatch. + +2023-12-03 Jeff Law + + * gcc.c-torture/execute/comp-goto-1.c: Fix return value of main for + 16 bit targets. + +2023-12-03 Jeff Law + + * gcc.target/arc/lra-1.c: Fix missing prototypes and implicit + types in variable definitions. + * gcc.target/arc/pic-1.c: Similarly. + * gcc.target/arc/pr9001191897.c: Similarly. + * gcc.target/arc/pr9001195952.c: Add -fpermissive. + +2023-12-03 Jeff Law + + * gcc.target/nios2/cdx-ldstwm-1.c: Add -fpermissive. + * gcc.target/nios2/cdx-ldstwm-2.c: Add prototypes fro abort and exit. + +2023-12-03 Jeff Law + + * gcc.target/h8300/pr58400.c: Add -fpermissive. + * gcc.target/h8300/pr17306-2.c: Add missing prototype. + +2023-12-02 Harald Anlauf + + PR fortran/93762 + PR fortran/100651 + * gfortran.dg/optional_deferred_char_1.f90: New test. + +2023-12-02 Francois-Xavier Coudert + + * gcc.target/i386/libcall-1.c: Skip on darwin. + +2023-12-02 Li Wei + + * gcc.target/loongarch/lasx-extract-even_odd-opt.c: New test. + +2023-12-02 Li Wei + + * gcc.target/loongarch/popcnt.c: New test. + * gcc.target/loongarch/popcount.c: New test. + +2023-12-02 chenxiaolong + + * gcc.target/loongarch/vector/lasx/lasx-xvabsd-1.c:Remove + the default Settings to run the behavior. + * gcc.target/loongarch/vector/lasx/lasx-xvabsd-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvadd.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvadda.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvaddi.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvaddwev-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvaddwev-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvaddwev-3.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvaddwod-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvaddwod-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvaddwod-3.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvand.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvandi.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvandn.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvavg-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvavg-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvavgr-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvavgr-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvbitclr.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvbitclri.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvbitrev.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvbitrevi.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvbitsel.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvbitseli.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvbitset.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvbitseti.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvbsll_v.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvbsrl_v.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvclo.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvclz.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvdiv-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvdiv-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvext2xv-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvext2xv-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvexth-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvexth-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvextl-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvextl-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvextrins.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfadd_d.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfadd_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfclass_d.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfclass_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_caf_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_ceq_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cle_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_clt_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cne_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cor_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cun_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_saf_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_seq_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sle_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_slt_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sne_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sor_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sun_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvffinth.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvflogb_d.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvflogb_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfmadd_d.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfmadd_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfmax_d.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfmax_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_d.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_d.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfrstp.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfrstpi.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_d.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_s.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvftintl.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvhaddw-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvhaddw-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvhsubw-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvhsubw-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvilvh.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvilvl.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvinsgr2vr.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvinsve0.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvld.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvldi.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmadd.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-3.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-3.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmax-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmax-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmaxi-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmaxi-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmin-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmin-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmini-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmini-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmod-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmod-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmskgez.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmskltz.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmsknz.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmsub.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmuh-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmuh-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmul.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmulwev-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmulwev-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmulwev-3.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmulwod-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmulwod-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvmulwod-3.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvneg.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvnor.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvnori.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvor.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvori.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvorn.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvpackev.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvpackod.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvpcnt.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvpickev.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvpickod.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvpickve.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvpickve2gr.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvprem.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvpremi.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvreplgr2vr.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvreplve.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvreplve0.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvreplvei.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvrotr.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvrotri.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsadd-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsadd-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsat-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsat-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvseq.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvseqi.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvshuf4i_b.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsigncov.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsle-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsle-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvslei-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvslei-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsll.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvslli.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsllwil-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsllwil-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvslt-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvslt-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvslti-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvslti-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsra.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrai.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsran.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrani.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrar.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrari.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrarn.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrarni.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrl.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrli.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrln.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrlni.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrlr.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrlri.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrlrn.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsrlrni.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvssran.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvssrani.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvssrarn.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvssrarni.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvssrln.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvssrlni.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvssrlrn.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvssrlrni.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvst.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsub.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsubi.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvxor.c:Dito. + * gcc.target/loongarch/vector/lasx/lasx-xvxori.c:Dito. + * gcc.target/loongarch/vector/loongarch-vector.exp:Added hardware + detection to set the behavior of program execution based on the + characteristics of the hardware. + * gcc.target/loongarch/vector/lsx/lsx-vabsd-1.c:Remove the default + Settings to run the behavior. + * gcc.target/loongarch/vector/lsx/lsx-vabsd-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vadd.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vadda.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vaddi.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vaddwev-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vaddwev-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vaddwev-3.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vaddwod-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vaddwod-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vaddwod-3.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vand.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vandi.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vandn.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vavg-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vavg-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vavgr-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vavgr-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vbitclr.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vbitclri.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vbitrev.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vbitrevi.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vbitsel.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vbitseli.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vbitset.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vbitseti.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vbsll.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vbsrl.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vclo.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vclz.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vdiv-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vdiv-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vexth-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vexth-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vextl-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vextl-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vextrins.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfadd_d.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfadd_s.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfclass_d.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfclass_s.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_caf.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_ceq.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cle.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_clt.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cne.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cor.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cun.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_saf.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_seq.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sle.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_slt.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sne.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sor.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sun.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcvt-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfcvt-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vffint-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vffint-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vffint-3.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vflogb_d.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vflogb_s.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfmadd_d.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfmadd_s.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfmax_d.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfmax_s.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfmaxa_d.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfmaxa_s.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfnmadd_d.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfnmadd_s.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfrint_d.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfrint_s.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfrstp.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfrstpi.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfsqrt_d.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vfsqrt_s.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vftint-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vftint-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vftint-3.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vftint-4.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vhaddw-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vhaddw-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vhsubw-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vhsubw-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vilvh.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vilvl.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vinsgr2vr.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vld.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vldi.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmadd.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmaddwev-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmaddwev-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmaddwev-3.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmaddwod-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmaddwod-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmaddwod-3.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmax-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmax-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmaxi-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmaxi-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmin-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmin-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmini-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmini-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmod-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmod-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmskgez.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmskltz.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmsknz.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmsub.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmuh-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmuh-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmul.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmulwev-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmulwev-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmulwev-3.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmulwod-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmulwod-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vmulwod-3.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vneg.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vnor.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vnori.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vor.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vori.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vorn.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vpackev.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vpackod.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vpcnt.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vpickev.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vpickod.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vpickve2gr.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vpremi.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vreplgr2vr.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vreplve.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vreplvei.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vrotr.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vrotri.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsadd-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsadd-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsat-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsat-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vseq.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vseqi.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vshuf.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vshuf4i.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsigncov.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsle-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsle-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vslei-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vslei-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsll.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vslli.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsllwil-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsllwil-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vslt-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vslt-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vslti-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vslti-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsra.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrai.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsran.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrani.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrar.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrari.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrarn.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrarni.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrl.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrli.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrln.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrlni.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrlr.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrlri.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrlrn.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsrlrni.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vssran.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vssrani.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vssrarn.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vssrarni.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vssrln.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vssrlni.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vssrlrn.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vssrlrni.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vssub-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vssub-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vst.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsub.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsubi.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsubwev-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsubwev-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsubwod-1.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vsubwod-2.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vxor.c:Dito. + * gcc.target/loongarch/vector/lsx/lsx-vxori.c:Dito. + +2023-12-02 Juzhe-Zhong + + PR target/112801 + * gcc.target/riscv/rvv/autovec/pr112801.c: New test. + +2023-12-02 Pan Li + + PR target/112743 + * gcc.target/riscv/rvv/base/pr112743-2.c: New test. + +2023-12-01 Harald Anlauf + + PR fortran/112772 + * gfortran.dg/missing_optional_dummy_7.f90: New test. + +2023-12-01 Jason Merrill + + * g++.dg/cpp2a/nontype-class4.C: Specify ABI v18. + * g++.dg/cpp2a/nontype-class4a.C: New test. + +2023-12-01 Jason Merrill + + * g++.dg/abi/mangle10.C: Disable compat aliases. + * g++.dg/abi/mangle52.C: Specify ABI 18. + * g++.dg/cpp2a/class-deduction-alias3.C + * g++.dg/cpp2a/class-deduction-alias8.C: + Avoid builtins in requires-clauses. + * g++.dg/abi/mangle-concepts1.C: New test. + * g++.dg/abi/mangle-ttp1.C: New test. + +2023-12-01 Alexandre Oliva + + PR target/112334 + * c-c++-common/torture/harden-cfr-bret.c: Rework for stricter + untyped_return requirements. Require untyped_assembly. + * c-c++-common/torture/harden-cfr-bret-except.c: New. + * c-c++-common/torture/harden-cfr-bret-always.c: Require + untyped_assembly. + * c-c++-common/torture/harden-cfr-bret-never.c: Likewise. + * c-c++-common/torture/harden-cfr-bret-noopt.c: Likewise. + * c-c++-common/torture/harden-cfr-bret-noret.c: Likewise. + * c-c++-common/torture/harden-cfr-bret-no-xthrow.c: Likewise. + * c-c++-common/torture/harden-cfr-bret-nothrow.c: Likewise. + * c-c++-common/torture/harden-cfr-bret-retcl.c: Likewise. + +2023-12-01 Vladimir N. Makarov + + PR target/112445 + * gcc.target/i386/pr112445.c: New test. + +2023-12-01 David Malcolm + + * gcc.dg/analyzer/fd-accept.c: Update for fix to missing CWE + metadata for -Wanalyzer-fd-phase-mismatch. + * gcc.dg/analyzer/fd-bind.c: Likewise. + * gcc.dg/analyzer/fd-socket-misuse.c: Likewise. + * gcc.dg/plugin/analyzer_cpython_plugin.c: Update for changes to + pending_diagnostic::emit. + * gcc.dg/plugin/analyzer_gil_plugin.c: Likewise. + +2023-12-01 Juzhe-Zhong + + PR target/112431 + * gcc.target/riscv/rvv/base/pr112431-22.c: New test. + * gcc.target/riscv/rvv/base/pr112431-23.c: New test. + * gcc.target/riscv/rvv/base/pr112431-24.c: New test. + * gcc.target/riscv/rvv/base/pr112431-25.c: New test. + * gcc.target/riscv/rvv/base/pr112431-26.c: New test. + * gcc.target/riscv/rvv/base/pr112431-27.c: New test. + +2023-12-01 Juzhe-Zhong + + PR target/112431 + * gcc.target/riscv/rvv/base/pr112431-28.c: New test. + * gcc.target/riscv/rvv/base/pr112431-29.c: New test. + * gcc.target/riscv/rvv/base/pr112431-30.c: New test. + * gcc.target/riscv/rvv/base/pr112431-31.c: New test. + * gcc.target/riscv/rvv/base/pr112431-32.c: New test. + * gcc.target/riscv/rvv/base/pr112431-33.c: New test. + +2023-12-01 Jakub Jelinek + + * gcc.target/x86_64/abi/avx512fp16/m512h/test_passing_m512.c + (fun_check_passing_m512_8_values, fun_check_passing_m512h_8_values): + Add missing void return type. + * gcc.target/x86_64/abi/avx512fp16/m256h/test_passing_m256.c + (fun_check_passing_m256_8_values, fun_check_passing_m256h_8_values): + Likewise. + * gcc.dg/graphite/pr83126.c (ew): Add missing casts to __INTPTR_TYPE__ + and then to int *. + +2023-12-01 Jakub Jelinek + + PR middle-end/112770 + * gcc.dg/bitint-45.c: New test. + +2023-12-01 Jakub Jelinek + + PR middle-end/112771 + * gcc.dg/bitint-44.c: New test. + +2023-12-01 Jose E. Marchesi + + * gcc.target/bpf/section-name-quoting-1.c: New test. + +2023-12-01 Jakub Jelinek + + PR middle-end/112750 + * gcc.dg/bitint-41.c: Use -std=c23 rather than -std=c2x. + * gcc.dg/torture/bitint-43.c: Likewise. + * gcc.dg/torture/bitint-44.c: Likewise. + * gcc.dg/torture/bitint-45.c: New test. + +2023-12-01 Juergen Christ + + * gcc.target/s390/pr112753.c: New test. + +2023-12-01 Florian Weimer + + * gcc.dg/permerror-default.c (missing_parameter_type): + Expect error. + * gcc.dg/permerror-fpermissive.c (missing_parameter_type): + Expect -Wdeclaration-missing-parameter-type warning. + * gcc.dg/permerror-gnu89-nopermissive.c (missing_parameter_type): + Expect -Wdeclaration-missing-parameter-type error. + * gcc.dg/permerror-gnu89-pedantic.c (missing_parameter_type): + Likewise. + * gcc.dg/permerror-gnu89.c (missing_parameter_type): + Expect -Wdeclaration-missing-parameter-type warning. + * gcc.dg/permerror-noerror.c: Add + -Wno-error=declaration-missing-parameter-type to build flags. + (missing_parameter_type): Expect + -Wdeclaration-missing-parameter-type warning. + * gcc.dg/permerror-nowarning.c: Build with + -Wno-declaration-missing-parameter-type. Remove previously + expected warning. + * gcc.dg/permerror-fpermissive-nowarning.c: Likewise. + * gcc.dg/permerror-pedantic.c (missing_parameter_type): + Expect -Wdeclaration-missing-parameter-type error. + * gcc.dg/permerror-system.c (missing_parameter_type): + Likewise. + +2023-12-01 Florian Weimer + + * gcc.dg/permerror-default.c (incompatible_pointer_types): + Expect new permerror. + * gcc.dg/permerror-gnu89-nopermissive.c + (incompatible_pointer_types): Likewise. + * gcc.dg/permerror-pedantic.c (incompatible_pointer_types): + Likewise. + * gcc.dg/permerror-system.c: Likewise. + * gcc.dg/Wincompatible-pointer-types-2.c: Compile with + -fpermissive due to expected errors. + * gcc.dg/Wincompatible-pointer-types-5.c: New test. Copied + from gcc.dg/Wincompatible-pointer-types-2.c. Expect errors. + * gcc.dg/anon-struct-11.c: Compile with -fpermissive + due to expected errors. + * gcc.dg/anon-struct-11a.c: New test. Copied from + gcc.dg/anon-struct-11.c. Expect errors. + * gcc.dg/anon-struct-13.c: Compile with -fpermissive + due to expected errors. + * gcc.dg/anon-struct-13a.c: New test. Copied from + gcc.dg/anon-struct-13.c. Expect errors. + * gcc.dg/builtin-arith-overflow-4.c: Compile with -fpermissive + due to expected errors. + * gcc.dg/builtin-arith-overflow-4a.c: New test. Copied from + gcc.dg/builtin-arith-overflow-4.c. Expect errors. + * gcc.dg/c23-qual-4.c: Expect -Wincompatible-pointer-types errors. + * gcc.dg/dfp/composite-type.c: Compile with -fpermissive + due to expected errors. + * gcc.dg/dfp/composite-type-2.c: New test. Copied from + gcc.dg/dfp/composite-type.c. Expect errors. + * gcc.dg/diag-aka-1.c: Compile with -fpermissive + due to expected errors. + * gcc.dg/diag-aka-1a.c: New test. Copied from + gcc.dg/diag-aka-1a.c. Expect errors. + * gcc.dg/enum-compat-1.c: Compile with -fpermissive + due to expected errors. + * gcc.dg/enum-compat-2.c: New test. Copied from + gcc.dg/enum-compat-1.c. Expect errors. + * gcc.dg/func-ptr-conv-1.c: Compile with -fpermissive + due to expected errors. + * gcc.dg/func-ptr-conv-2.c: New test. Copied from + gcc.dg/func-ptr-conv-1.c. Expect errors. + * gcc.dg/init-bad-7.c: Compile with -fpermissive + due to expected errors. + * gcc.dg/init-bad-7a.c: New test. Copied from gcc.dg/init-bad-7.c. + Expect errors. + * gcc.dg/noncompile/incomplete-3.c (foo): Expect + -Wincompatible-pointer-types error. + * gcc.dg/param-type-mismatch-2.c (test8): Likewise. + * gcc.dg/pointer-array-atomic.c: Compile with -fpermissive + due to expected errors. + * gcc.dg/pointer-array-atomic-2.c: New test. Copied from + gcc.dg/pointer-array-atomic.c. Expect errors. + * gcc.dg/pointer-array-quals-1.c (test): Expect + -Wincompatible-pointer-types errors. + * gcc.dg/transparent-union-1.c: Compile with -fpermissive + due to expected errors. + * gcc.dg/transparent-union-1a.c: New test. Copied from + gcc.dg/transparent-union-1.c. Expect errors. + * gcc.target/aarch64/acle/memtag_2a.c + (test_memtag_warning_return_qualifier): Expect additional + errors. + * gcc.target/aarch64/sve/acle/general-c/load_2.c (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_1.c + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_2.c + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_3.c + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_4.c + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_5.c + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_1.c + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_2.c + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_3.c + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_4.c + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/sizeless-2.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_index_restricted_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. + * gcc.target/aarch64/sve/acle/general/attributes_7.c + (f1): Likewise. + * gcc.target/i386/sse2-bfloat16-scalar-typecheck.c (footest): + Expect -Wincompatible-pointer-types errors. + * gcc.target/i386/vect-bfloat16-typecheck_1.c (footest): Likewise. + * gcc.target/i386/vect-bfloat16-typecheck_2.c (footest): Likewise. + +2023-12-01 Florian Weimer + + * gcc.dg/permerror-default.c (return_mismatch_1) + (return_mismatch_2): Expect new permerror. + * gcc.dg/permerror-gnu89-nopermissive.c (return_mismatch_1): + Likewise. + * gcc.dg/permerror-system.c: Likewise. + * gcc.dg/20030906-1.c: Compile with -fpermissive due to + expected -Wreturn-mismatch error. + * gcc.dg/20030906-1a.c: New test. Copied from + gcc.dg/20030906-1.c. Expect the error. + * gcc.dg/20030906-2.c: Compile with -fpermissive due to + expected -Wreturn-mismatch error. + * gcc.dg/20030906-2a.c: New test. Copied from + gcc.dg/20030906-2.c. Expect the error. + * gcc.dg/Wreturn-mismatch-1.c: Compile with -fpermissive due to + expected -Wreturn-mismatch error. + * gcc.dg/Wreturn-mismatch-1a.c: New test. Copied from + gcc.dg/Wreturn-mismatch-1.c. Expect the error. + * gcc.dg/Wreturn-mismatch-2.c: Compile with -fpermissive due to + expected -Wreturn-mismatch error. + * gcc.dg/Wreturn-mismatch-2a.c: New test. Copied from + gcc.dg/Wreturn-mismatch-2.c. Expect the error. + * gcc.dg/diagnostic-range-bad-return.c: Compile with + -fpermissive due to expected -Wreturn-mismatch error. + * gcc.dg/diagnostic-range-bad-return-2.c: New test. + Copied from gcc.dg/diagnostic-range-bad-return.c. Expect the + error. + * gcc.dg/pr105635-2.c: Expect -Wreturn-mismatch error. + * gcc.dg/pr23075.c: Build with -fpermissive due to + expected -Wreturn-mismatch error. + * gcc.dg/pr23075-2.c: New test. Copied from gcc.dg/pr23075.c. + Expect the error. + * gcc.dg/pr29521.c: Compile with -fpermissive due to expected + -Wreturn-mismatch error. + * gcc.dg/pr29521-a.c: New test. Copied from gcc.dg/pr29521.c. + Expect error. + * gcc.dg/pr67730.c: Compile with -fpermissive due to expected + -Wreturn-mismatch error. + * gcc.dg/pr67730-a.c: New test. Copied from + gcc.dg/pr67730-a.c. Expect error. + * gcc.target/powerpc/conditional-return.c: Compile with + -fpermissive due to expected -Wreturn-mismatch error. + +2023-12-01 Florian Weimer + + * gcc.dg/permerror-system.c: Expect all -Wimplicit-int + permerrors. + +2023-12-01 Florian Weimer + + * gcc.dg/permerror-default.c (implicit_int_1, implicit_int_2) + (implicit_int_3, implicit_int_4): Expect new permerror. + * gcc.dg/permerror-system.c: Expect a single new permerror. + * gcc.dg/Wimplicit-int-1.c: Compile with -fpermissive due to + expected warning. + * gcc.dg/Wimplicit-int-4.c: Likewise. + * gcc.dg/Wimplicit-int-1a.c: New test. Copied from + gcc.dg/Wimplicit-int-1.c, but expect errors. + * gcc.dg/Wimplicit-int-4a.c: New test. Copied from + gcc.dg/Wimplicit-int-4.c, but expect errors. + * gcc.dg/gnu23-attr-syntax-2.c: Compile with -fpermissive + due to expected implicit-int error. + * gcc.dg/gnu23-attr-syntax-3.c: New test. Copied from + gcc.dg/gnu23-attr-syntax-2.c, but expect an error. + * gcc.dg/pr105635.c: Build with -fpermissive due to implicit + int. + * gcc.dg/pr105635-2.c: New test. Copied from + gcc.dg/pr105635.c. Expect implicit int error. + * gcc.dg/noncompile/pr79758.c: Build with -fpermissive due to + implicit int. + * gcc.dg/noncompile/pr79758-2.c: New test. Copied from + gcc.dg/noncompile/pr79758.c. Expect implicit int error. + +2023-12-01 Florian Weimer + + * gcc.dg/permerror-default.c (implicit_function_declaration): + Expect the new permerror. + * gcc.dg/permerror-system.c: Likewise. + * c-c++-common/spellcheck-reserved.c (test, test_2): Expect + error instead of warning. + (f): Expect error instead of warning. + * gcc.dg/Wimplicit-function-declaration-c99.c: Compile with + -fpermissive due to expected warning. + * gcc.dg/Wimplicit-function-declaration-c99-2.c: New test. + Copied from gcc.dg/Wimplicit-function-declaration-c99.c. + Expect error. + * gcc.dg/missing-header-fixit-1.c: Compile with -fpermissive + due to expect error. + * gcc.dg/missing-header-fixit-1a.c: New test. Copied from + gcc.dg/missing-header-fixit-1.c, but expect error. + * gcc.dg/missing-header-fixit-2.c: Compile with -fpermissive + due to expect error. + * gcc.dg/missing-header-fixit-2a.c: New test. Copied from + gcc.dg/missing-header-fixit-2.c, but expect error. + * gcc.dg/missing-header-fixit-4.c: Compile with -fpermissive + due to expect error. + * gcc.dg/missing-header-fixit-4a.c: New test. Copied from + gcc.dg/missing-header-fixit-4.c, but expect error. + * gcc.dg/missing-header-fixit-5.c: Compile with -fpermissive + due to expect error. + * gcc.dg/missing-header-fixit-5a.c: New test. Copied from + gcc.dg/missing-header-fixit-5.c, but expect error. + * gcc.dg/pr61852.c: Expect implicit-function-declaration + error instead of warning. + * gcc.dg/spellcheck-identifiers-2.c: Compile with + -fpermissive due to expected warnings. + * gcc.dg/spellcheck-identifiers-2a.c: New test. Copied + from gcc.dg/spellcheck-identifiers-2a.c. Expect errors. + * gcc.dg/spellcheck-identifiers-3.c: Compile with + -fpermissive due to expected warnings. + * gcc.dg/spellcheck-identifiers-3a.c: New test. Copied + from gcc.dg/spellcheck-identifiers-2a.c. Expect errors. + * gcc.dg/spellcheck-identifiers-4.c: Compile with + -fpermissive due to expected warnings. + * gcc.dg/spellcheck-identifiers-4a.c: New test. Copied + from gcc.dg/spellcheck-identifiers-2a.c. Expect error. + * gcc.dg/spellcheck-identifiers.c: Compile with + -fpermissive due to expected warnings. + * gcc.dg/spellcheck-identifiers-1a.c: New test. Copied + from gcc.dg/spellcheck-identifiers.c. Expect errors. + * gcc.target/aarch64/sve/acle/general-c/ld1sh_gather_1.c (f1): + Expect error. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_index_1.c: + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_index_restricted_1.c: + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_1.c: + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_2.c: + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_3.c: + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_4.c: + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_5.c: + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_1.c: + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_2.c: + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_3.c: + (f1): Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_4.c: + (f1): Likewise. + +2023-12-01 Florian Weimer + + * gcc.dg/permerror-default.c (int_conversion_1) + (int_conversion_2): Expect the new permerrors. + * gcc.dg/permerror-gnu89-nopermissive.c (int_conversion_1) + (int_conversion_2): Likewise. + * gcc.dg/permerror-system.c: Likewise. + * c-c++-common/pr77624-1.c (foo, bar): Expect + error instead of warning. + * gcc.dg/Wint-conversion-2.c: Compile with -fpermissive due + to expected int-conversion warning. + * gcc.dg/Wint-conversion-3.c: Likewise. + * gcc.dg/Wint-conversion-4.c: New test. Based on + gcc.dg/Wint-conversion-3.c. Expect int-conversion errors. + * gcc.dg/assign-warn-1.c: Compile with -fpermissive. + * gcc.dg/assign-warn-4.c: New file. Extracted from + assign-warn1.c. Expect int-conversion errors. + * gcc.dg/diagnostic-types-1.c: Compile with -fpermissive. + * gcc.dg/diagnostic-types-2.c: New file. Extracted from + gcc.dg/diagnostic-types-1.c. Expect some errors instead of + warnings. + * gcc.dg/gomp/pr35738.c: Compile with -fpermissive due to + expected int-conversion error. + * gcc.dg/gomp/pr35738-2.c: New test. Based on + gcc.dg/gomp/pr35738.c. Expect int-converison errors. + * gcc.dg/init-excess-3.c: Expect int-converison errors. + * gcc.dg/overflow-warn-1.c: Likewise. + * gcc.dg/overflow-warn-3.c: Likewise. + * gcc.dg/param-type-mismatch.c: Compile with -fpermissive. + * gcc.dg/param-type-mismatch-2.c: New test. Copied from + gcc.dg/param-type-mismatch.c. Expect errors. + * gcc.dg/pr61162-2.c: Compile with -fpermissive. + * gcc.dg/pr61162-3.c: New test. Extracted from + gcc.dg/pr61162-2.c. Expect int-conversion errors. + * gcc.dg/spec-barrier-3.c: Use -fpermissive due to expected + int-conversion error. + * gcc.dg/spec-barrier-3a.c: New test. Based on + gcc.dg/spec-barrier-3.c. Expect int-conversion errors. + * gcc.target/aarch64/acle/memtag_2.c: Use -fpermissive due to expected + int-conversion error. + * gcc.target/aarch64/acle/memtag_2a.c: New test. Copied from + gcc.target/aarch64/acle/memtag_2.c. Expect error. + * gcc.target/aarch64/sve/acle/general-c/load_3.c (f1): Expect + error. + * 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_index_restricted_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. + +2023-12-01 Florian Weimer + + * gcc.dg/permerror-default.c: New test. + * gcc.dg/permerror-fpermissive.c: Likewise. + * gcc.dg/permerror-fpermissive-nowarning.c: Likewise. + * gcc.dg/permerror-gnu89-nopermissive.c: Likewise. + No permerrors yet, so this matches gcc.dg/permerror-gnu89.c + for now. + * gcc.dg/permerror-gnu89-pedantic.c: New test. + * gcc.dg/permerror-gnu89.c: Likewise. + * gcc.dg/permerror-noerror.c: Likewise. + * gcc.dg/permerror-nowarning.c: Likewise. + * gcc.dg/permerror-pedantic.c: Likewise. + * gcc.dg/permerror-system.c: Likewise. + +2023-12-01 Florian Weimer + + * gm2/link/externalscaffold/pass/scaffold.c (m2pim_M2RTS_Terminate): + Declare. + +2023-12-01 Florian Weimer + + * gcc.target/aarch64/aapcs64/ice_1.c (foo): Call named. + +2023-12-01 Juzhe-Zhong + + PR target/112776 + * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: Adapt test. + * gcc.target/riscv/rvv/vsetvl/pr111037-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/pr112776.c: New test. + +2023-11-30 Marek Polacek + + PR c++/112744 + * g++.dg/lookup/scoped11.C: New test. + * g++.dg/lookup/scoped12.C: New test. + * g++.dg/lookup/scoped13.C: New test. + * g++.dg/lookup/scoped14.C: New test. + * g++.dg/lookup/scoped15.C: New test. + +2023-11-30 Christophe Lyon + + PR target/112698 + * gcc.target/arm/bfloat16_vector_typecheck_1.c: Update expected + error message. + * gcc.target/arm/bfloat16_vector_typecheck_2.c: Likewise. + +2023-11-30 Thomas Schwinge + + * gcc.target/gcn/avgpr-mem-double.c: Remove + 'dg-skip-if "incompatible ISA" [...]'. + * gcc.target/gcn/avgpr-mem-int.c: Likewise. + * gcc.target/gcn/avgpr-mem-long.c: Likewise. + * gcc.target/gcn/avgpr-mem-short.c: Likewise. + * gcc.target/gcn/avgpr-spill-double.c: Likewise. + * gcc.target/gcn/avgpr-spill-int.c: Likewise. + * gcc.target/gcn/avgpr-spill-long.c: Likewise. + * gcc.target/gcn/avgpr-spill-short.c: Likewise. + +2023-11-30 Harald Anlauf + + PR fortran/112764 + * gfortran.dg/associate_62.f90: New test. + +2023-11-30 Richard Biener + + PR tree-optimization/112767 + * gcc.dg/tree-ssa/pr112767.c: New testcase. + * gcc.dg/graphite/pr83255.c: Disable SCCP. + +2023-11-30 Richard Biener + + PR tree-optimization/112766 + * g++.dg/torture/uninit-pr112766.C: New testcase. + +2023-11-30 Juzhe-Zhong + + PR target/112431 + * gcc.target/riscv/rvv/base/pr112431-16.c: New test. + * gcc.target/riscv/rvv/base/pr112431-17.c: New test. + * gcc.target/riscv/rvv/base/pr112431-18.c: New test. + +2023-11-30 Juzhe-Zhong + + PR target/112431 + * gcc.target/riscv/rvv/base/pr112431-19.c: New test. + * gcc.target/riscv/rvv/base/pr112431-20.c: New test. + * gcc.target/riscv/rvv/base/pr112431-21.c: New test. + +2023-11-30 Jakub Jelinek + + PR c++/110349 + * g++.dg/cpp26/name-independent-decl1.C: New test. + * g++.dg/cpp26/name-independent-decl2.C: New test. + * g++.dg/cpp26/name-independent-decl3.C: New test. + * g++.dg/cpp26/name-independent-decl4.C: New test. + * g++.dg/cpp26/name-independent-decl5.C: New test. + * g++.dg/cpp26/name-independent-decl6.C: New test. + * g++.dg/cpp26/feat-cxx26.C: Add __cpp_placeholder_variables test. + +2023-11-30 liuhongt + + * gcc.target/i386/sdotprodint8_emulate.c: New test. + +2023-11-30 Alexandre Oliva + + Revert: + 2023-11-20 Alexandre Oliva + + * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: + Expect "unaligned pointer value" warning on short_enums + targets, but not in c++. + * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: + Likewise. + +2023-11-30 Tsukasa OI + + * gcc.target/riscv/predef-13.c: Fix 'E' extension version to test. + +2023-11-30 Juzhe-Zhong + + PR target/112431 + * gcc.target/riscv/rvv/base/pr112431-10.c: New test. + * gcc.target/riscv/rvv/base/pr112431-11.c: New test. + * gcc.target/riscv/rvv/base/pr112431-12.c: New test. + * gcc.target/riscv/rvv/base/pr112431-13.c: New test. + * gcc.target/riscv/rvv/base/pr112431-14.c: New test. + * gcc.target/riscv/rvv/base/pr112431-15.c: New test. + * gcc.target/riscv/rvv/base/pr112431-7.c: New test. + * gcc.target/riscv/rvv/base/pr112431-8.c: New test. + * gcc.target/riscv/rvv/base/pr112431-9.c: New test. + +2023-11-30 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/unop_v_constraint-2.c: Adapt test. + * gcc.target/riscv/rvv/base/pr112431-4.c: New test. + * gcc.target/riscv/rvv/base/pr112431-5.c: New test. + * gcc.target/riscv/rvv/base/pr112431-6.c: New test. + +2023-11-29 Marek Polacek + + PR c++/106650 + * g++.dg/cpp0x/constexpr-array-ptr6.C: Remove dg-error. + * g++.dg/cpp0x/constexpr-ref12.C: Likewise. + * g++.dg/cpp0x/constexpr-ref2.C: Adjust dg-error. + * g++.dg/cpp0x/noexcept34.C: Remove dg-error. + * g++.dg/cpp1y/lambda-generic-const10.C: Likewise. + * g++.dg/cpp0x/constexpr-ref13.C: New test. + * g++.dg/cpp1z/constexpr-ref1.C: New test. + * g++.dg/cpp1z/constexpr-ref2.C: New test. + * g++.dg/cpp2a/constexpr-ref1.C: New test. + +2023-11-29 Patrick Palka + + PR c++/112765 + * g++.dg/warn/Wparentheses-33.C: Compile with -Wparentheses. + +2023-11-29 Patrick Palka + + PR c++/112765 + * g++.dg/warn/Wparentheses-33.C: New test. + +2023-11-29 David Faust + + * gcc.target/bpf/core-builtin-enumvalue-opt.c: Change dg-final + scans to not assume a specific comment character. + * gcc.target/bpf/core-builtin-enumvalue.c: Likewise. + * gcc.target/bpf/core-builtin-type-based.c: Likewise. + * gcc.target/bpf/core-builtin-type-id.c: Likewise. + +2023-11-29 Andrew MacLeod + + PR tree-optimization/111922 + * gcc.dg/pr111922.c: New. + +2023-11-29 Martin Jambor + + PR tree-optimization/112711 + PR tree-optimization/112721 + * g++.dg/tree-ssa/pr112711.C: New test. + * gcc.dg/tree-ssa/pr112721.c: Likewise. + +2023-11-29 Thomas Schwinge + + * lib/scanoffload.exp (only_for_offload_target): New 'proc'. + +2023-11-29 Rainer Orth + + PR testsuite/112729 + * lib/target-supports.exp (check_effective_target_cfi): New proc. + * gcc.target/i386/apx-interrupt-1.c: Require cfi instead of + skipping on *-*-darwin*. + * gcc.target/i386/apx-push2pop2_force_drap-1.c: Likewise. + * gcc.target/i386/apx-push2pop2-1.c: Likewise. + +2023-11-29 Thomas Schwinge + + * g++.dg/cpp26/static_assert1.C: Fix for '-fno-exceptions' + configurations. + +2023-11-29 Thomas Schwinge + + * g++.dg/ext/has-feature.C: Adjust for default-'-fno-exceptions', + '-fno-rtti' configurations. + +2023-11-29 Jakub Jelinek + + PR middle-end/112733 + * gcc.dg/pr112733.c: New test. + +2023-11-29 Iain Sandoe + + * lib/target-supports.exp: Test an asm line that fails on broken + Darwin assembler versions. + +2023-11-29 Rainer Orth + + * g++.dg/opt/devirt2.C: Adjust scan-assembler-count on sparc for + removal of -inline from regexp. Update comment. + +2023-11-29 Juzhe-Zhong + kito-cheng + kito-cheng + + PR target/112431 + * gcc.target/riscv/rvv/base/pr112431-1.c: New test. + * gcc.target/riscv/rvv/base/pr112431-2.c: New test. + * gcc.target/riscv/rvv/base/pr112431-3.c: New test. + +2023-11-29 Rainer Orth + + PR testsuite/112728 + * lib/scanasm.exp (dg-scan): Allow for double-quoted LTO section names. + (scan-assembler-times): Likewise. + (scan-assembler-dem-not): Likewise. + +2023-11-29 Jose E. Marchesi + + * gcc.c-torture/compile/libcall-2.c: Remove. + * gcc.target/i386/libcall-1.c: Moved from + gcc.c-torture/compile/libcall-2.c and adapted to use + effective-target for int128_t. + +2023-11-29 Jakub Jelinek + + PR bootstrap/111601 + * g++.dg/opt/pr111601.C: New test. + +2023-11-29 Xi Ruoyao + + * gcc.target/loongarch/vect-frint-scalar.c: New test. + * gcc.target/loongarch/vect-frint-scalar-no-inexact.c: New test. + +2023-11-29 Xi Ruoyao + + * gcc.target/loongarch/vect-rotr.c: New test. + +2023-11-29 Xi Ruoyao + + * gcc.target/loongarch/vect-muh.c: New test. + +2023-11-29 Xi Ruoyao + + PR target/112578 + * gcc.target/loongarch/vect-frint.c: New test. + * gcc.target/loongarch/vect-frint-no-inexact.c: New test. + * gcc.target/loongarch/vect-ftint.c: New test. + * gcc.target/loongarch/vect-ftint-no-inexact.c: New test. + +2023-11-29 Alexandre Oliva + + * gcc.dg/hardbool-err.c: New. + * gcc.dg/hardbool-trap.c: New. + * gcc.dg/torture/hardbool.c: New. + * gcc.dg/torture/hardbool-s.c: New. + * gcc.dg/torture/hardbool-us.c: New. + * gcc.dg/torture/hardbool-i.c: New. + * gcc.dg/torture/hardbool-ul.c: New. + * gcc.dg/torture/hardbool-ll.c: New. + * gcc.dg/torture/hardbool-5a.c: New. + * gcc.dg/torture/hardbool-s-5a.c: New. + * gcc.dg/torture/hardbool-us-5a.c: New. + * gcc.dg/torture/hardbool-i-5a.c: New. + * gcc.dg/torture/hardbool-ul-5a.c: New. + * gcc.dg/torture/hardbool-ll-5a.c: New. + +2023-11-29 Alexandre Oliva + + * g++.dg/warn/Wuse-after-free3.C: xfail on arm_eabi. + +2023-11-29 Alexandre Oliva + + * gcc.dg/torture/inline-mem-cmp-1.c: New. + * gcc.dg/torture/inline-mem-cpy-1.c: New. + * gcc.dg/torture/inline-mem-cpy-cmp-1.c: New. + * gcc.dg/torture/inline-mem-move-1.c: New. + * gcc.dg/torture/inline-mem-set-1.c: New. + +2023-11-29 Pan Li + + PR target/112743 + * gcc.target/riscv/rvv/base/pr112743-1.c: New test. + +2023-11-29 Jose E. Marchesi + + * gcc.c-torture/compile/libcall-2.c: Skip test in -m32. + +2023-11-29 Hongyu Wang + + PR target/112729 + * gcc.target/i386/apx-interrupt-1.c: Add -fomit-frame-pointer. + * gcc.target/i386/apx-push2pop2-1.c: Likewise. + * gcc.target/i386/apx-push2pop2_force_drap-1.c: Likewise. + +2023-11-28 Jason Merrill + + PR c++/94264 + PR c++/53220 + * c-c++-common/array-lit.c: Adjust. + * g++.dg/cpp1z/array-prvalue1.C: New test. + * g++.dg/ext/complit17.C: New test. + +2023-11-28 Roger Sayle + + * gcc.target/arc/jli-1.c: Update dg-final whitespace. + * gcc.target/arc/jli-2.c: Likewise. + * gcc.target/arc/naked-1.c: Likewise. + * gcc.target/arc/naked-2.c: Likewise. + * gcc.target/arc/tmac-1.c: Likewise. + * gcc.target/arc/tmac-2.c: Likewise. + +2023-11-28 Richard Biener + + PR middle-end/112741 + * gcc.dg/ubsan/pr112741.c: New testcase. + +2023-11-28 Cupertino Miranda + + Revert: + 2023-11-28 Cupertino Miranda + + * gcc.target/bpf/atomic-cmpxchg-2.c: Adapted. + * gcc.target/bpf/atomic-fetch-op-3.c: Adapted. + * gcc.target/bpf/atomic-op-3.c: Adapted. + * gcc.target/bpf/atomic-xchg-2.c: Adapted. + * gcc.target/bpf/diag-sdiv.c: Adapted. + * gcc.target/bpf/diag-smod.c: Adapted. + +2023-11-28 Andrew Jenner + Tobias Burnus + + PR fortran/110415 + * gfortran.dg/pr110415.f90: New test. + * gfortran.dg/asan/pr110415-2.f90: New test. + * gfortran.dg/asan/pr110415-3.f90: New test. + +2023-11-28 Jose E. Marchesi + + PR target/109253 + * gcc.target/bpf/divmod-libcall-1.c: New test. + * gcc.target/bpf/divmod-libcall-2.c: Likewise. + * gcc.c-torture/compile/libcall-2.c: Likewise. + +2023-11-28 Cupertino Miranda + + * gcc.dg/debug/btf/btf-enum-small.c: Added test. + +2023-11-28 Cupertino Miranda + + * gcc.target/bpf/atomic-cmpxchg-2.c: Adapted. + * gcc.target/bpf/atomic-fetch-op-3.c: Adapted. + * gcc.target/bpf/atomic-op-3.c: Adapted. + * gcc.target/bpf/atomic-xchg-2.c: Adapted. + * gcc.target/bpf/diag-sdiv.c: Adapted. + * gcc.target/bpf/diag-smod.c: Adapted. + +2023-11-28 Rainer Orth + + * gcc.dg/pr111409.c: Allow for " before .debug_macro. + Quote literals dots. + +2023-11-28 Juzhe-Zhong + + PR target/112694 + * gcc.target/riscv/rvv/autovec/pr112694-2.c: New test. + * gcc.target/riscv/rvv/autovec/pr112694-3.c: New test. + +2023-11-28 Jakub Jelinek + + PR middle-end/111754 + * gcc.dg/vect/pr111754.c: Use dg-additional-options rather than + dg-options, add -Wno-psabi and use -fdump-tree-forwprop1 rather than + -fdump-tree-optimized. Scan forwprop1 dump rather than optimized and + scan for either direct return or setting of to the vector. + +2023-11-28 Jakub Jelinek + + PR tree-optimization/112719 + * gcc.dg/bitint-43.c: New test. + +2023-11-28 Jakub Jelinek + + PR tree-optimization/112719 + * gcc.dg/pr112719.c: New file. + +2023-11-28 Lewis Hyatt + + PR preprocessor/112701 + * gcc.dg/cpp/expr.c: Add additional tests to cover divide by 0 in an + unevaluated context, where the unsignedness still matters. + +2023-11-28 Juzhe-Zhong + + PR target/112713 + * gcc.target/riscv/rvv/vsetvl/pr112713-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/pr112713-2.c: New test. + +2023-11-27 Andrew Pinski + + * gcc.target/aarch64/csinc-3.c: New test. + +2023-11-27 Andrew Pinski + + PR testsuite/112689 + * gcc.dg/tree-prof/time-profiler-3.c: Add -fno-ipa-vrp. + +2023-11-27 Prathamesh Kulkarni + Richard Sandiford + + PR middle-end/111754 + * gcc.target/aarch64/sve/slp_3.c: Adjust code-gen. + * gcc.target/aarch64/sve/slp_4.c: Likewise. + * gcc.dg/vect/pr111754.c: New test. + +2023-11-27 Szabolcs Nagy + + * gcc.target/aarch64/aapcs64/func-ret-1.c: Disable branch-protection. + * gcc.target/aarch64/aapcs64/func-ret-2.c: Likewise. + * gcc.target/aarch64/aapcs64/func-ret-3.c: Likewise. + * gcc.target/aarch64/aapcs64/func-ret-4.c: Likewise. + * gcc.target/aarch64/aapcs64/func-ret-64x1_1.c: Likewise. + +2023-11-27 Szabolcs Nagy + + * gcc.target/aarch64/eh_return-2.c: New test. + * gcc.target/aarch64/eh_return-3.c: New test. + +2023-11-27 Szabolcs Nagy + + * gcc.target/aarch64/return_address_sign_1.c: Move func4 to ... + * gcc.target/aarch64/return_address_sign_2.c: ... here and fix the + scan asm check. + * gcc.target/aarch64/return_address_sign_b_1.c: Move func4 to ... + * gcc.target/aarch64/return_address_sign_b_2.c: ... here and fix the + scan asm check. + +2023-11-27 Richard Sandiford + + PR target/106326 + * gcc.target/aarch64/sve/acle/general/pr106326_1.c: New test. + +2023-11-27 Richard Biener + + PR tree-optimization/112653 + * gcc.dg/tree-ssa/pta-return-1.c: New testcase. + +2023-11-27 Richard Biener + Richard Sandiford + + * g++.dg/vect/pr36648.cc: Remove XFAIL for VLA load-lanes. + +2023-11-27 Alex Coplan + Iain Sandoe + + PR c++/60512 + * c-c++-common/has-feature-common.c: New test. + * c-c++-common/has-feature-pedantic.c: New test. + * g++.dg/ext/has-feature.C: New test. + * gcc.dg/asan/has-feature-asan.c: New test. + * gcc.dg/has-feature.c: New test. + * gcc.dg/ubsan/has-feature-ubsan.c: New test. + * obj-c++.dg/has-feature.mm: New test. + * objc.dg/has-feature.m: New test. + +2023-11-27 Richard Biener + + PR tree-optimization/112706 + * gcc.dg/tree-ssa/pr112706.c: New testcase. + +2023-11-27 Stefan Schulze Frielinghaus + + * gcc.target/s390/zvector/vec-nnpa-fp16-convert.c: Replace V8HI + types with UV8HI. + * gcc.target/s390/zvector/vec-nnpa-fp32-convert-1.c: Dito. + * gcc.target/s390/zvector/vec_convert_from_fp16.c: Dito. + * gcc.target/s390/zvector/vec_convert_to_fp16.c: Dito. + * gcc.target/s390/zvector/vec_extend_to_fp32_hi.c: Dito. + * gcc.target/s390/zvector/vec_extend_to_fp32_lo.c: Dito. + * gcc.target/s390/zvector/vec_round_from_fp32.c: Dito. + +2023-11-27 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-1.c: Adapt test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-9.c: Ditto. + +2023-11-27 Tsukasa OI + + * gcc.target/riscv/predef-1.c: Test for __riscv_64e. + * gcc.target/riscv/predef-2.c: Ditto. + * gcc.target/riscv/predef-3.c: Ditto. + * gcc.target/riscv/predef-4.c: Ditto. + * gcc.target/riscv/predef-5.c: Ditto. + * gcc.target/riscv/predef-6.c: Ditto. + * gcc.target/riscv/predef-7.c: Ditto. + * gcc.target/riscv/predef-8.c: Ditto. + * gcc.target/riscv/predef-9.c: New test for RV64E and LP64E, + based on predef-7.c. + +2023-11-27 Jose E. Marchesi + + * gcc.target/bpf/helper-bind.c: Do not include bpf-helpers.h. + * gcc.target/bpf/helper-skb-ancestor-cgroup-id.c: Likewise, and + renamed from skb-ancestor-cgroup-id.c. + * gcc.target/bpf/helper-bpf-redirect.c: Remove. + * 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. + +2023-11-27 Guo Jie + + * gcc.target/loongarch/imm-load1.c: Change old check. + +2023-11-26 Hans-Peter Nilsson + + * gcc.dg/uninit-pred-9_b.c: Remove xfail for line 20. Pass + --param=logical-op-non-short-circuit=0. Comment why. + +2023-11-26 Hans-Peter Nilsson + + * gcc.dg/uninit-pred-9_b.c: Remove xfail for MMIX from line 23. + +2023-11-26 Harald Anlauf + + PR fortran/111880 + * gfortran.dg/pr111880.f90: New test. + +2023-11-26 John David Anglin + + * gcc.dg/analyzer/strndup-1.c: Skip on hppa*-*-hpux*. + +2023-11-26 John David Anglin + + * gcc.dg/analyzer/fd-glibc-datagram-client.c: Skip on hppa*-*-hpux*. + * gcc.dg/analyzer/fd-glibc-datagram-socket.c: Likewise. + +2023-11-26 John David Anglin + + * g++.dg/pr104869.C: Add attribute visibility default to + main prototype. + +2023-11-26 John David Anglin + + * g++.dg/modules/bad-mapper-1.C: Add hppa*-*-hpux* to dg-error + "this-will-not-work" targets. + +2023-11-26 Francois-Xavier Coudert + + * gcc.target/i386/cf_check-6.c: Only run on Linux. + +2023-11-26 Francois-Xavier Coudert + + * gcc.target/i386/pr112686.c: Add a requirement for split_stack. + +2023-11-26 Juzhe-Zhong + + PR target/112599 + * gcc.target/riscv/rvv/base/vf_avl-1.c: Adapt test. + * gcc.target/riscv/rvv/autovec/pr112599-3.c: New test. + +2023-11-26 Andrew Pinski + + PR testsuite/112691 + * gcc.dg/vla-1.c: Add -fno-ipa-vrp. + Remove noipa from f1. + +2023-11-26 Andrew Pinski + + PR testsuite/112688 + * gcc.target/aarch64/simd/vmulx.x (foo32): Mark as noipa rather + than noinline. + (foo4): Likewise. + +2023-11-26 Andrew Pinski + + PR testsuite/108321 + * g++.dg/contracts/contracts-tmpl-spec2.C: Add -fsigned-char + to options. + +2023-11-25 Andrew Pinski + + PR testsuite/112688 + * gcc.target/aarch64/movk.c: Add noipa on dummy_number_generator + and remove -fno-inline option. + +2023-11-25 Jakub Jelinek + + PR target/111408 + * gcc.c-torture/execute/pr111408.c: New test. + +2023-11-25 Andrew Pinski + Jakub Jelinek + + PR target/109977 + * gcc.dg/pr109977.c: New test. + +2023-11-25 Nathaniel Shead + + * g++.dg/modules/using-10.C: New test. + * g++.dg/modules/using-enum-2.C: New test. + +2023-11-25 Nathaniel Shead + + PR c++/102341 + * g++.dg/modules/export-1.C: Adjust test. + * g++.dg/modules/export-2_a.C: New test. + * g++.dg/modules/export-2_b.C: New test. + +2023-11-24 Lewis Hyatt + + PR pch/112319 + * g++.dg/pch/pr112319.C: New test. + * g++.dg/pch/pr112319.Hs: New test. + * gcc.dg/pch/pr112319.c: New test. + * gcc.dg/pch/pr112319.hs: New test. + +2023-11-24 Martin Jambor + + PR middle-end/109849 + * g++.dg/tree-ssa/pr109849.C: New test. + * g++.dg/tree-ssa/sra-eh-1.C: Likewise. + * gcc.dg/tree-ssa/pr109849.c: Likewise. + * gcc.dg/tree-ssa/sra-longjmp-1.c: Likewise. + * gfortran.dg/pr43984.f90: Added -fno-tree-sra to dg-options. + +2023-11-24 Uros Bizjak + + PR target/112686 + * gcc.target/i386/pr112686.c: New test. + +2023-11-24 Tobias Burnus + + * c-c++-common/gomp/depobj-3.c: New test. + * gfortran.dg/gomp/depobj-3.f90: New test. + +2023-11-24 Nathaniel Shead + + PR c++/99232 + * g++.dg/modules/pr99232_a.C: New test. + * g++.dg/modules/pr99232_b.C: New test. + +2023-11-24 Juzhe-Zhong + + PR target/112694 + * gcc.target/riscv/rvv/autovec/pr112694-1.c: New test. + +2023-11-24 Jakub Jelinek + + PR target/112681 + * gcc.target/i386/sse4-pr112681.c: New test. + +2023-11-24 Jakub Jelinek + + PR tree-optimization/112673 + * gcc.dg/pr112673.c: New test. + +2023-11-24 Jakub Jelinek + + PR middle-end/112679 + * gcc.dg/bitint-42.c: New test. + +2023-11-24 Jakub Jelinek + + PR middle-end/112668 + * gcc.dg/bitint-40.c: New test. + +2023-11-24 Jakub Jelinek + + PR c++/112619 + * g++.dg/eh/pr112619.C: New test. + +2023-11-24 Juzhe-Zhong + + PR target/112599 + * gcc.target/riscv/rvv/autovec/pr112599-2.c: New test. + +2023-11-24 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-4.c: Adapt test. + * gcc.target/riscv/rvv/autovec/vls/perm-4.c: Ditto. + +2023-11-24 Nathaniel Shead + + PR c++/107398 + * g++.dg/modules/lambda-6_a.C: New test. + * g++.dg/modules/lambda-6_b.C: New test. + +2023-11-24 Nathaniel Shead + + PR c++/98885 + * g++.dg/modules/export-1.C: Adjust error messages. Remove + xfails for working case. Add new test case. + +2023-11-23 John David Anglin + + * g++.dg/modules/bad-mapper-1.C: Add hppa*-*-hpux* to dg-error + "-:failed mapper handshake communication" targets. + +2023-11-23 John David Anglin + + * gcc.dg/analyzer/fd-4.c: Define _MODE_T on hpux. + +2023-11-23 John David Anglin + + * g++.dg/pr104869.C: Export main on hpux. + +2023-11-23 Iain Sandoe + + * lib/scanasm.exp: Allow multiple function start symbols, + taking the last as the function name. + +2023-11-23 Harald Anlauf + + PR fortran/104819 + * gfortran.dg/assumed_rank_10.f90: Add MOLD argument to NULL(). + * gfortran.dg/assumed_rank_8.f90: Likewise. + +2023-11-23 Harald Anlauf + + PR fortran/112609 + * gfortran.dg/system_clock_1.f90: Add option -std=f2003. + * gfortran.dg/system_clock_3.f08: Add option -std=f2008. + * gfortran.dg/system_clock_4.f90: New test. + +2023-11-23 John David Anglin + + * g++.dg/cpp0x/initlist-const1.C: xfail scan-assembler-not + check on hppa*-*-hpux*. + +2023-11-23 John David Anglin + + * c-c++-common/Wattributes.c: Don't skip check for warning + at line 411 in Wattributes.c on hppa*64*-*-*. + +2023-11-23 Marek Polacek + + * gcc.misc-tests/help.exp: Test -fhardened. + * c-c++-common/fhardened-1.S: New test. + * c-c++-common/fhardened-1.c: New test. + * c-c++-common/fhardened-10.c: New test. + * c-c++-common/fhardened-11.c: New test. + * c-c++-common/fhardened-12.c: New test. + * c-c++-common/fhardened-13.c: New test. + * c-c++-common/fhardened-14.c: New test. + * c-c++-common/fhardened-15.c: New test. + * c-c++-common/fhardened-2.c: New test. + * c-c++-common/fhardened-3.c: New test. + * c-c++-common/fhardened-4.c: New test. + * c-c++-common/fhardened-5.c: New test. + * c-c++-common/fhardened-6.c: New test. + * c-c++-common/fhardened-7.c: New test. + * c-c++-common/fhardened-8.c: New test. + * c-c++-common/fhardened-9.c: New test. + * gcc.target/i386/cf_check-6.c: New test. + +2023-11-23 Maciej W. Rozycki + + * lib/scanasm.exp (scan-assembler-times): Remove the `-inline' + option to `regexp' and the wrapping `llength' call. + +2023-11-23 Maciej W. Rozycki + + * gcc.target/aarch64/ccmp_1.c: Use non-capturing parentheses + with `scan-assembler-times'. + +2023-11-23 Maciej W. Rozycki + + * gcc.target/arm/pr53447-5.c: Use non-capturing parentheses with + `scan-assembler-times'. + +2023-11-23 Uros Bizjak + + PR target/112672 + * gcc.target/i386/pr112672.c: New test. + +2023-11-23 Uros Bizjak + + PR target/89316 + * g++.target/i386/pr89316.C: New test. + * gcc.target/i386/pr112605-1.c: New test. + * gcc.target/i386/pr112605-2.c: New test. + * gcc.target/i386/pr112605.c: New test. + +2023-11-23 Juergen Christ + + * gcc.target/s390/ccor.c: New test. + +2023-11-23 Juergen Christ + + * gcc.target/s390/int128load.c: New test. + +2023-11-23 Di Zhao + + * gcc.dg/pr110279-1.c: New test. + +2023-11-23 Juzhe-Zhong + + PR target/112599 + PR target/112670 + * gcc.target/riscv/rvv/autovec/pr112599-1.c: New test. + +2023-11-23 Jakub Jelinek + + PR middle-end/112336 + * gcc.dg/bitint-41.c: New test. + +2023-11-23 Jonathan Wakely + + PR libstdc++/110879 + * g++.dg/opt/pr110879.C: Require C++11 or later. + +2023-11-23 Jakub Jelinek + + * gcc.dg/builtin-stdc-bit-1.c: New test. + * gcc.dg/builtin-stdc-bit-2.c: New test. + +2023-11-23 Jakub Jelinek + + PR c++/110348 + * g++.dg/cpp26/static_assert1.C: New test. + * g++.dg/cpp26/feat-cxx26.C (__cpp_static_assert): Expect + 202306L rather than 201411L. + * g++.dg/cpp0x/udlit-error1.C: Expect different diagnostics for + static_assert with user-defined literal. + +2023-11-23 Pan Li + + PR target/111720 + * gcc.target/riscv/rvv/base/pr111720-0.c: New test. + * gcc.target/riscv/rvv/base/pr111720-1.c: New test. + * gcc.target/riscv/rvv/base/pr111720-10.c: New test. + * gcc.target/riscv/rvv/base/pr111720-2.c: New test. + * gcc.target/riscv/rvv/base/pr111720-3.c: New test. + * gcc.target/riscv/rvv/base/pr111720-4.c: New test. + * gcc.target/riscv/rvv/base/pr111720-5.c: New test. + * gcc.target/riscv/rvv/base/pr111720-6.c: New test. + * gcc.target/riscv/rvv/base/pr111720-7.c: New test. + * gcc.target/riscv/rvv/base/pr111720-8.c: New test. + * gcc.target/riscv/rvv/base/pr111720-9.c: New test. + +2023-11-23 Hans-Peter Nilsson + + PR testsuite/106120 + * g++.dg/warn/Wstringop-overflow-4.C:144 XFAIL bogus warning for + lp64 targets with c++98. + +2023-11-22 Patrick Palka + + PR c++/112633 + * g++.dg/cpp0x/alias-decl-75.C: New test. + +2023-11-22 Iain Sandoe + + * lib/plugin-support.exp: Update the expected path to an + in-tree build of libintl. + +2023-11-22 Iain Sandoe + Richard Sandiford + + * lib/scanasm.exp: Initial handling for Mach-O function body scans. + +2023-11-22 Richard Biener + + PR tree-optimization/112344 + * gcc.dg/torture/pr112344.c: New testcase. + +2023-11-22 Florian Weimer + + * gcc.misc-tests/linkage-y.c (puts): Declare. + (main): Add int return type and return 0. + +2023-11-22 Juzhe-Zhong + + PR target/112598 + * gcc.target/riscv/rvv/autovec/pr112598-3.c: New test. + +2023-11-22 Tamar Christina + + * gcc.target/aarch64/uxtl-combine-4.c: Fix typo. + * gcc.target/aarch64/uxtl-combine-5.c: Likewise. + * gcc.target/aarch64/uxtl-combine-6.c: Likewise. + +2023-11-22 Jakub Jelinek + + PR target/112518 + * gcc.target/i386/bmi2-pr112518.c: New test. + +2023-11-22 Xi Ruoyao + + * gcc.target/loongarch/vect-shuf-fp.c: New test. + +2023-11-22 Hongyu Wang + + * gcc.target/i386/apx-push2pop2-1.c: Adjust output scan. + * gcc.target/i386/apx-push2pop2_force_drap-1.c: Likewise. + +2023-11-22 Juzhe-Zhong + + PR target/112598 + * gcc.target/riscv/rvv/autovec/pr112598-2.c: New test. + +2023-11-22 Maciej W. Rozycki + + PR target/111815 + * gcc.dg/torture/pr111815.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/adddifne.c: New test. + * gcc.target/riscv/addsifne.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/adddibfne.c: New test. + * gcc.target/riscv/addsibfne.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdifeq-sfb.c: New test. + * gcc.target/riscv/movdifeq-thead.c: New test. + * gcc.target/riscv/movdifeq-ventana.c: New test. + * gcc.target/riscv/movdifeq-zicond.c: New test. + * gcc.target/riscv/movdifeq.c: New test. + * gcc.target/riscv/movsifeq-sfb.c: New test. + * gcc.target/riscv/movsifeq-thead.c: New test. + * gcc.target/riscv/movsifeq-ventana.c: New test. + * gcc.target/riscv/movsifeq-zicond.c: New test. + * gcc.target/riscv/movsifeq.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdibfeq-ventana.c: New test. + * gcc.target/riscv/movdibfeq-zicond.c: New test. + * gcc.target/riscv/movdibfeq.c: New test. + * gcc.target/riscv/movsibfeq-ventana.c: New test. + * gcc.target/riscv/movsibfeq-zicond.c: New test. + * gcc.target/riscv/movsibfeq.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/adddifeq.c: New test. + * gcc.target/riscv/adddifge.c: New test. + * gcc.target/riscv/adddifgt.c: New test. + * gcc.target/riscv/adddifle.c: New test. + * gcc.target/riscv/adddiflt.c: New test. + * gcc.target/riscv/addsifeq.c: New test. + * gcc.target/riscv/addsifge.c: New test. + * gcc.target/riscv/addsifgt.c: New test. + * gcc.target/riscv/addsifle.c: New test. + * gcc.target/riscv/addsiflt.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/adddibfeq.c: New test. + * gcc.target/riscv/adddibfge.c: New test. + * gcc.target/riscv/adddibfgt.c: New test. + * gcc.target/riscv/adddibfle.c: New test. + * gcc.target/riscv/adddibflt.c: New test. + * gcc.target/riscv/addsibfeq.c: New test. + * gcc.target/riscv/addsibfge.c: New test. + * gcc.target/riscv/addsibfgt.c: New test. + * gcc.target/riscv/addsibfle.c: New test. + * gcc.target/riscv/addsibflt.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdifge.c: New test. + * gcc.target/riscv/movdifgt.c: New test. + * gcc.target/riscv/movdifle.c: New test. + * gcc.target/riscv/movdiflt.c: New test. + * gcc.target/riscv/movdifne.c: New test. + * gcc.target/riscv/movsifge.c: New test. + * gcc.target/riscv/movsifgt.c: New test. + * gcc.target/riscv/movsifle.c: New test. + * gcc.target/riscv/movsiflt.c: New test. + * gcc.target/riscv/movsifne.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdibfge.c: New test. + * gcc.target/riscv/movdibfgt.c: New test. + * gcc.target/riscv/movdibfle.c: New test. + * gcc.target/riscv/movdibflt.c: New test. + * gcc.target/riscv/movdibfne.c: New test. + * gcc.target/riscv/movsibfge.c: New test. + * gcc.target/riscv/movsibfgt.c: New test. + * gcc.target/riscv/movsibfle.c: New test. + * gcc.target/riscv/movsibflt.c: New test. + * gcc.target/riscv/movsibfne.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdifge-sfb.c: Reject "if-conversion + succeeded through" rather than accepting it. + * gcc.target/riscv/movdifge-thead.c: Likewise. + * gcc.target/riscv/movdifge-ventana.c: Likewise. + * gcc.target/riscv/movdifge-zicond.c: Likewise. + * gcc.target/riscv/movdifgt-sfb.c: Likewise. + * gcc.target/riscv/movdifgt-thead.c: Likewise. + * gcc.target/riscv/movdifgt-ventana.c: Likewise. + * gcc.target/riscv/movdifgt-zicond.c: Likewise. + * gcc.target/riscv/movdifle-sfb.c: Likewise. + * gcc.target/riscv/movdifle-thead.c: Likewise. + * gcc.target/riscv/movdifle-ventana.c: Likewise. + * gcc.target/riscv/movdifle-zicond.c: Likewise. + * gcc.target/riscv/movdiflt-sfb.c: Likewise. + * gcc.target/riscv/movdiflt-thead.c: Likewise. + * gcc.target/riscv/movdiflt-ventana.c: Likewise. + * gcc.target/riscv/movdiflt-zicond.c: Likewise. + * gcc.target/riscv/movsifge-sfb.c: Likewise. + * gcc.target/riscv/movsifge-thead.c: Likewise. + * gcc.target/riscv/movsifge-ventana.c: Likewise. + * gcc.target/riscv/movsifge-zicond.c: Likewise. + * gcc.target/riscv/movsifgt-sfb.c: Likewise. + * gcc.target/riscv/movsifgt-thead.c: Likewise. + * gcc.target/riscv/movsifgt-ventana.c: Likewise. + * gcc.target/riscv/movsifgt-zicond.c: Likewise. + * gcc.target/riscv/movsifle-sfb.c: Likewise. + * gcc.target/riscv/movsifle-thead.c: Likewise. + * gcc.target/riscv/movsifle-ventana.c: Likewise. + * gcc.target/riscv/movsifle-zicond.c: Likewise. + * gcc.target/riscv/movsiflt-sfb.c: Likewise. + * gcc.target/riscv/movsiflt-thead.c: Likewise. + * gcc.target/riscv/movsiflt-ventana.c: Likewise. + * gcc.target/riscv/movsiflt-zicond.c: Likewise. + * gcc.target/riscv/smax-ieee.c: Also accept FLT.D. + * gcc.target/riscv/smaxf-ieee.c: Also accept FLT.S. + * gcc.target/riscv/smin-ieee.c: Also accept FGT.D. + * gcc.target/riscv/sminf-ieee.c: Also accept FGT.S. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/adddieq.c: New test. + * gcc.target/riscv/adddige.c: New test. + * gcc.target/riscv/adddigeu.c: New test. + * gcc.target/riscv/adddigt.c: New test. + * gcc.target/riscv/adddigtu.c: New test. + * gcc.target/riscv/adddile.c: New test. + * gcc.target/riscv/adddileu.c: New test. + * gcc.target/riscv/adddilt.c: New test. + * gcc.target/riscv/adddiltu.c: New test. + * gcc.target/riscv/adddine.c: New test. + * gcc.target/riscv/addsieq.c: New test. + * gcc.target/riscv/addsige.c: New test. + * gcc.target/riscv/addsigeu.c: New test. + * gcc.target/riscv/addsigt.c: New test. + * gcc.target/riscv/addsigtu.c: New test. + * gcc.target/riscv/addsile.c: New test. + * gcc.target/riscv/addsileu.c: New test. + * gcc.target/riscv/addsilt.c: New test. + * gcc.target/riscv/addsiltu.c: New test. + * gcc.target/riscv/addsine.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/adddibeq.c: New test. + * gcc.target/riscv/adddibge.c: New test. + * gcc.target/riscv/adddibgeu.c: New test. + * gcc.target/riscv/adddibgt.c: New test. + * gcc.target/riscv/adddibgtu.c: New test. + * gcc.target/riscv/adddible.c: New test. + * gcc.target/riscv/adddibleu.c: New test. + * gcc.target/riscv/adddiblt.c: New test. + * gcc.target/riscv/adddibltu.c: New test. + * gcc.target/riscv/adddibne.c: New test. + * gcc.target/riscv/addsibeq.c: New test. + * gcc.target/riscv/addsibge.c: New test. + * gcc.target/riscv/addsibgeu.c: New test. + * gcc.target/riscv/addsibgt.c: New test. + * gcc.target/riscv/addsibgtu.c: New test. + * gcc.target/riscv/addsible.c: New test. + * gcc.target/riscv/addsibleu.c: New test. + * gcc.target/riscv/addsiblt.c: New test. + * gcc.target/riscv/addsibltu.c: New test. + * gcc.target/riscv/addsibne.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdieq.c: New test. + * gcc.target/riscv/movdige.c: New test. + * gcc.target/riscv/movdigeu.c: New test. + * gcc.target/riscv/movdigt.c: New test. + * gcc.target/riscv/movdigtu.c: New test. + * gcc.target/riscv/movdile.c: New test. + * gcc.target/riscv/movdileu.c: New test. + * gcc.target/riscv/movdilt.c: New test. + * gcc.target/riscv/movdiltu.c: New test. + * gcc.target/riscv/movdine.c: New test. + * gcc.target/riscv/movsieq.c: New test. + * gcc.target/riscv/movsige.c: New test. + * gcc.target/riscv/movsigeu.c: New test. + * gcc.target/riscv/movsigt.c: New test. + * gcc.target/riscv/movsigtu.c: New test. + * gcc.target/riscv/movsile.c: New test. + * gcc.target/riscv/movsileu.c: New test. + * gcc.target/riscv/movsilt.c: New test. + * gcc.target/riscv/movsiltu.c: New test. + * gcc.target/riscv/movsine.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdibeq.c: New test. + * gcc.target/riscv/movdibge.c: New test. + * gcc.target/riscv/movdibgeu.c: New test. + * gcc.target/riscv/movdibgt.c: New test. + * gcc.target/riscv/movdibgtu.c: New test. + * gcc.target/riscv/movdible.c: New test. + * gcc.target/riscv/movdibleu.c: New test. + * gcc.target/riscv/movdiblt.c: New test. + * gcc.target/riscv/movdibltu.c: New test. + * gcc.target/riscv/movdibne.c: New test. + * gcc.target/riscv/movsibeq.c: New test. + * gcc.target/riscv/movsibge.c: New test. + * gcc.target/riscv/movsibgeu.c: New test. + * gcc.target/riscv/movsibgt.c: New test. + * gcc.target/riscv/movsibgtu.c: New test. + * gcc.target/riscv/movsible.c: New test. + * gcc.target/riscv/movsibleu.c: New test. + * gcc.target/riscv/movsiblt.c: New test. + * gcc.target/riscv/movsibltu.c: New test. + * gcc.target/riscv/movsibne.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/zbs-bext-02.c: Adjust to reject SLL rather + than AND. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdige-thead.c: New test. + * gcc.target/riscv/movdigeu-thead.c: New test. + * gcc.target/riscv/movdigt-thead.c: New test. + * gcc.target/riscv/movdigtu-thead.c: New test. + * gcc.target/riscv/movdile-thead.c: New test. + * gcc.target/riscv/movdileu-thead.c: New test. + * gcc.target/riscv/movdilt-thead.c: New test. + * gcc.target/riscv/movdiltu-thead.c: New test. + * gcc.target/riscv/movsige-thead.c: New test. + * gcc.target/riscv/movsigeu-thead.c: New test. + * gcc.target/riscv/movsigt-thead.c: New test. + * gcc.target/riscv/movsigtu-thead.c: New test. + * gcc.target/riscv/movsile-thead.c: New test. + * gcc.target/riscv/movsileu-thead.c: New test. + * gcc.target/riscv/movsilt-thead.c: New test. + * gcc.target/riscv/movsiltu-thead.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdibge-thead.c: New test. + * gcc.target/riscv/movdibgeu-thead.c: New test. + * gcc.target/riscv/movdibgt-thead.c: New test. + * gcc.target/riscv/movdibgtu-thead.c: New test. + * gcc.target/riscv/movdible-thead.c: New test. + * gcc.target/riscv/movdibleu-thead.c: New test. + * gcc.target/riscv/movdiblt-thead.c: New test. + * gcc.target/riscv/movdibltu-thead.c: New test. + * gcc.target/riscv/movsibge-thead.c: New test. + * gcc.target/riscv/movsibgeu-thead.c: New test. + * gcc.target/riscv/movsibgt-thead.c: New test. + * gcc.target/riscv/movsibgtu-thead.c: New test. + * gcc.target/riscv/movsible-thead.c: New test. + * gcc.target/riscv/movsibleu-thead.c: New test. + * gcc.target/riscv/movsiblt-thead.c: New test. + * gcc.target/riscv/movsibltu-thead.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdieq-ventana.c: New test. + * gcc.target/riscv/movdieq-zicond.c: New test. + * gcc.target/riscv/movdine-ventana.c: New test. + * gcc.target/riscv/movdine-zicond.c: New test. + * gcc.target/riscv/movsieq-ventana.c: New test. + * gcc.target/riscv/movsieq-zicond.c: New test. + * gcc.target/riscv/movsine-ventana.c: New test. + * gcc.target/riscv/movsine-zicond.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdibeq-ventana.c: New test. + * gcc.target/riscv/movdibeq-zicond.c: New test. + * gcc.target/riscv/movdibne-ventana.c: New test. + * gcc.target/riscv/movdibne-zicond.c: New test. + * gcc.target/riscv/movsibeq-ventana.c: New test. + * gcc.target/riscv/movsibeq-zicond.c: New test. + * gcc.target/riscv/movsibne-ventana.c: New test. + * gcc.target/riscv/movsibne-zicond.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_imm_imm.c: + Lower `-mbranch-cost=' setting. + * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_imm_reg.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_reg_reg.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_imm_imm.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_imm_reg.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_reg_reg.c: + Likewise. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdigtu-ventana.c: New test. + * gcc.target/riscv/movdigtu-zicond.c: New test. + * gcc.target/riscv/movdiltu-ventana.c: New test. + * gcc.target/riscv/movdiltu-zicond.c: New test. + * gcc.target/riscv/movsigtu-ventana.c: New test. + * gcc.target/riscv/movsigtu-zicond.c: New test. + * gcc.target/riscv/movsiltu-ventana.c: New test. + * gcc.target/riscv/movsiltu-zicond.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdibgtu-ventana.c: New test. + * gcc.target/riscv/movdibgtu-zicond.c: New test. + * gcc.target/riscv/movdibltu-ventana.c: New test. + * gcc.target/riscv/movdibltu-zicond.c: New test. + * gcc.target/riscv/movsibgtu-ventana.c: New test. + * gcc.target/riscv/movsibgtu-zicond.c: New test. + * gcc.target/riscv/movsibltu-ventana.c: New test. + * gcc.target/riscv/movsibltu-zicond.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdifge-sfb.c: New test. + * gcc.target/riscv/movdifge-thead.c: New test. + * gcc.target/riscv/movdifge-ventana.c: New test. + * gcc.target/riscv/movdifge-zicond.c: New test. + * gcc.target/riscv/movdifgt-sfb.c: New test. + * gcc.target/riscv/movdifgt-thead.c: New test. + * gcc.target/riscv/movdifgt-ventana.c: New test. + * gcc.target/riscv/movdifgt-zicond.c: New test. + * gcc.target/riscv/movdifle-sfb.c: New test. + * gcc.target/riscv/movdifle-thead.c: New test. + * gcc.target/riscv/movdifle-ventana.c: New test. + * gcc.target/riscv/movdifle-zicond.c: New test. + * gcc.target/riscv/movdiflt-sfb.c: New test. + * gcc.target/riscv/movdiflt-thead.c: New test. + * gcc.target/riscv/movdiflt-ventana.c: New test. + * gcc.target/riscv/movdiflt-zicond.c: New test. + * gcc.target/riscv/movdifne-sfb.c: New test. + * gcc.target/riscv/movdifne-thead.c: New test. + * gcc.target/riscv/movdifne-ventana.c: New test. + * gcc.target/riscv/movdifne-zicond.c: New test. + * gcc.target/riscv/movsifge-sfb.c: New test. + * gcc.target/riscv/movsifge-thead.c: New test. + * gcc.target/riscv/movsifge-ventana.c: New test. + * gcc.target/riscv/movsifge-zicond.c: New test. + * gcc.target/riscv/movsifgt-sfb.c: New test. + * gcc.target/riscv/movsifgt-thead.c: New test. + * gcc.target/riscv/movsifgt-ventana.c: New test. + * gcc.target/riscv/movsifgt-zicond.c: New test. + * gcc.target/riscv/movsifle-sfb.c: New test. + * gcc.target/riscv/movsifle-thead.c: New test. + * gcc.target/riscv/movsifle-ventana.c: New test. + * gcc.target/riscv/movsifle-zicond.c: New test. + * gcc.target/riscv/movsiflt-sfb.c: New test. + * gcc.target/riscv/movsiflt-thead.c: New test. + * gcc.target/riscv/movsiflt-ventana.c: New test. + * gcc.target/riscv/movsiflt-zicond.c: New test. + * gcc.target/riscv/movsifne-sfb.c: New test. + * gcc.target/riscv/movsifne-thead.c: New test. + * gcc.target/riscv/movsifne-ventana.c: New test. + * gcc.target/riscv/movsifne-zicond.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdibfge-ventana.c: New test. + * gcc.target/riscv/movdibfge-zicond.c: New test. + * gcc.target/riscv/movdibfgt-ventana.c: New test. + * gcc.target/riscv/movdibfgt-zicond.c: New test. + * gcc.target/riscv/movdibfle-ventana.c: New test. + * gcc.target/riscv/movdibfle-zicond.c: New test. + * gcc.target/riscv/movdibflt-ventana.c: New test. + * gcc.target/riscv/movdibflt-zicond.c: New test. + * gcc.target/riscv/movdibfne-ventana.c: New test. + * gcc.target/riscv/movdibfne-zicond.c: New test. + * gcc.target/riscv/movsibfge-ventana.c: New test. + * gcc.target/riscv/movsibfge-zicond.c: New test. + * gcc.target/riscv/movsibfgt-ventana.c: New test. + * gcc.target/riscv/movsibfgt-zicond.c: New test. + * gcc.target/riscv/movsibfle-ventana.c: New test. + * gcc.target/riscv/movsibfle-zicond.c: New test. + * gcc.target/riscv/movsibflt-ventana.c: New test. + * gcc.target/riscv/movsibflt-zicond.c: New test. + * gcc.target/riscv/movsibfne-ventana.c: New test. + * gcc.target/riscv/movsibfne-zicond.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdieq-thead.c: New test. + * gcc.target/riscv/movdige-ventana.c: New test. + * gcc.target/riscv/movdige-zicond.c: New test. + * gcc.target/riscv/movdigeu-ventana.c: New test. + * gcc.target/riscv/movdigeu-zicond.c: New test. + * gcc.target/riscv/movdigt-ventana.c: New test. + * gcc.target/riscv/movdigt-zicond.c: New test. + * gcc.target/riscv/movdile-ventana.c: New test. + * gcc.target/riscv/movdile-zicond.c: New test. + * gcc.target/riscv/movdileu-ventana.c: New test. + * gcc.target/riscv/movdileu-zicond.c: New test. + * gcc.target/riscv/movdilt-ventana.c: New test. + * gcc.target/riscv/movdilt-zicond.c: New test. + * gcc.target/riscv/movdine-thead.c: New test. + * gcc.target/riscv/movsieq-thead.c: New test. + * gcc.target/riscv/movsige-ventana.c: New test. + * gcc.target/riscv/movsige-zicond.c: New test. + * gcc.target/riscv/movsigeu-ventana.c: New test. + * gcc.target/riscv/movsigeu-zicond.c: New test. + * gcc.target/riscv/movsigt-ventana.c: New test. + * gcc.target/riscv/movsigt-zicond.c: New test. + * gcc.target/riscv/movsile-ventana.c: New test. + * gcc.target/riscv/movsile-zicond.c: New test. + * gcc.target/riscv/movsileu-ventana.c: New test. + * gcc.target/riscv/movsileu-zicond.c: New test. + * gcc.target/riscv/movsilt-ventana.c: New test. + * gcc.target/riscv/movsilt-zicond.c: New test. + * gcc.target/riscv/movsine-thead.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdibeq-thead.c: New test. + * gcc.target/riscv/movdibge-ventana.c: New test. + * gcc.target/riscv/movdibge-zicond.c: New test. + * gcc.target/riscv/movdibgeu-ventana.c: New test. + * gcc.target/riscv/movdibgeu-zicond.c: New test. + * gcc.target/riscv/movdibgt-ventana.c: New test. + * gcc.target/riscv/movdibgt-zicond.c: New test. + * gcc.target/riscv/movdible-ventana.c: New test. + * gcc.target/riscv/movdible-zicond.c: New test. + * gcc.target/riscv/movdibleu-ventana.c: New test. + * gcc.target/riscv/movdibleu-zicond.c: New test. + * gcc.target/riscv/movdiblt-ventana.c: New test. + * gcc.target/riscv/movdiblt-zicond.c: New test. + * gcc.target/riscv/movdibne-thead.c: New test. + * gcc.target/riscv/movsibeq-thead.c: New test. + * gcc.target/riscv/movsibge-ventana.c: New test. + * gcc.target/riscv/movsibge-zicond.c: New test. + * gcc.target/riscv/movsibgeu-ventana.c: New test. + * gcc.target/riscv/movsibgeu-zicond.c: New test. + * gcc.target/riscv/movsibgt-ventana.c: New test. + * gcc.target/riscv/movsibgt-zicond.c: New test. + * gcc.target/riscv/movsible-ventana.c: New test. + * gcc.target/riscv/movsible-zicond.c: New test. + * gcc.target/riscv/movsibleu-ventana.c: New test. + * gcc.target/riscv/movsibleu-zicond.c: New test. + * gcc.target/riscv/movsiblt-ventana.c: New test. + * gcc.target/riscv/movsiblt-zicond.c: New test. + * gcc.target/riscv/movsibne-thead.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_imm_imm.c: + Explicitly set the branch cost. + * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_imm_reg.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_reg_reg.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_imm_imm.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_imm_reg.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_reg_reg.c: + Likewise. + +2023-11-22 Maciej W. Rozycki + + * gcc.target/riscv/movdieq-sfb.c: New test. + * gcc.target/riscv/movdige-sfb.c: New test. + * gcc.target/riscv/movdigeu-sfb.c: New test. + * gcc.target/riscv/movdigt-sfb.c: New test. + * gcc.target/riscv/movdigtu-sfb.c: New test. + * gcc.target/riscv/movdile-sfb.c: New test. + * gcc.target/riscv/movdileu-sfb.c: New test. + * gcc.target/riscv/movdilt-sfb.c: New test. + * gcc.target/riscv/movdiltu-sfb.c: New test. + * gcc.target/riscv/movdine-sfb.c: New test. + * gcc.target/riscv/movsieq-sfb.c: New test. + * gcc.target/riscv/movsige-sfb.c: New test. + * gcc.target/riscv/movsigeu-sfb.c: New test. + * gcc.target/riscv/movsigt-sfb.c: New test. + * gcc.target/riscv/movsigtu-sfb.c: New test. + * gcc.target/riscv/movsile-sfb.c: New test. + * gcc.target/riscv/movsileu-sfb.c: New test. + * gcc.target/riscv/movsilt-sfb.c: New test. + * gcc.target/riscv/movsiltu-sfb.c: New test. + * gcc.target/riscv/movsine-sfb.c: New test. + +2023-11-22 Maciej W. Rozycki + + * gcc.dg/torture/addieq.c: New test. + * gcc.dg/torture/addifeq.c: New test. + * gcc.dg/torture/addifge.c: New test. + * gcc.dg/torture/addifgt.c: New test. + * gcc.dg/torture/addifle.c: New test. + * gcc.dg/torture/addiflt.c: New test. + * gcc.dg/torture/addifne.c: New test. + * gcc.dg/torture/addige.c: New test. + * gcc.dg/torture/addigeu.c: New test. + * gcc.dg/torture/addigt.c: New test. + * gcc.dg/torture/addigtu.c: New test. + * gcc.dg/torture/addile.c: New test. + * gcc.dg/torture/addileu.c: New test. + * gcc.dg/torture/addilt.c: New test. + * gcc.dg/torture/addiltu.c: New test. + * gcc.dg/torture/addine.c: New test. + * gcc.dg/torture/addleq.c: New test. + * gcc.dg/torture/addlfeq.c: New test. + * gcc.dg/torture/addlfge.c: New test. + * gcc.dg/torture/addlfgt.c: New test. + * gcc.dg/torture/addlfle.c: New test. + * gcc.dg/torture/addlflt.c: New test. + * gcc.dg/torture/addlfne.c: New test. + * gcc.dg/torture/addlge.c: New test. + * gcc.dg/torture/addlgeu.c: New test. + * gcc.dg/torture/addlgt.c: New test. + * gcc.dg/torture/addlgtu.c: New test. + * gcc.dg/torture/addlle.c: New test. + * gcc.dg/torture/addlleu.c: New test. + * gcc.dg/torture/addllt.c: New test. + * gcc.dg/torture/addlltu.c: New test. + * gcc.dg/torture/addlne.c: New test. + * gcc.dg/torture/movieq.c: New test. + * gcc.dg/torture/movifeq.c: New test. + * gcc.dg/torture/movifge.c: New test. + * gcc.dg/torture/movifgt.c: New test. + * gcc.dg/torture/movifle.c: New test. + * gcc.dg/torture/moviflt.c: New test. + * gcc.dg/torture/movifne.c: New test. + * gcc.dg/torture/movige.c: New test. + * gcc.dg/torture/movigeu.c: New test. + * gcc.dg/torture/movigt.c: New test. + * gcc.dg/torture/movigtu.c: New test. + * gcc.dg/torture/movile.c: New test. + * gcc.dg/torture/movileu.c: New test. + * gcc.dg/torture/movilt.c: New test. + * gcc.dg/torture/moviltu.c: New test. + * gcc.dg/torture/movine.c: New test. + * gcc.dg/torture/movleq.c: New test. + * gcc.dg/torture/movlfeq.c: New test. + * gcc.dg/torture/movlfge.c: New test. + * gcc.dg/torture/movlfgt.c: New test. + * gcc.dg/torture/movlfle.c: New test. + * gcc.dg/torture/movlflt.c: New test. + * gcc.dg/torture/movlfne.c: New test. + * gcc.dg/torture/movlge.c: New test. + * gcc.dg/torture/movlgeu.c: New test. + * gcc.dg/torture/movlgt.c: New test. + * gcc.dg/torture/movlgtu.c: New test. + * gcc.dg/torture/movlle.c: New test. + * gcc.dg/torture/movlleu.c: New test. + * gcc.dg/torture/movllt.c: New test. + * gcc.dg/torture/movlltu.c: New test. + * gcc.dg/torture/movlne.c: New test. + +2023-11-21 Thomas Schwinge + + * gcc.dg/tree-ssa/return-value-range-1.c: Fix. + +2023-11-21 Robin Dapp + + * gcc.target/aarch64/pr112406-2.c: New test. + +2023-11-21 Robin Dapp + + * gcc.target/riscv/rvv/autovec/unop/popcount.c: Adjust check. + * lib/target-supports.exp: Add riscv_zbb. + +2023-11-21 Robin Dapp + + * g++.target/riscv/rvv/base/bug-14.C: Add + dg-require-effective-target rv64. + * g++.target/riscv/rvv/base/bug-9.C: Ditto. + +2023-11-21 Robin Dapp + + * gcc.target/riscv/rvv/rvv.exp: Remove -march and -mabi from + default CFLAGS. + +2023-11-21 Patrick O'Neill + + * gfortran.dg/vect/pr107254.f90: Remove dg-do run directive. + * gfortran.dg/vect/pr85853.f90: Ditto. + * gfortran.dg/vect/vect-alias-check-1.F90: Ditto. + +2023-11-21 Richard Biener + + PR tree-optimization/112623 + * gcc.target/i386/pr112623.c: New testcase. + +2023-11-21 Iain Buclaw + + * gdc.dg/asm1.d: Adjust expected diagnostic. + +2023-11-21 Juzhe-Zhong + + PR target/112598 + * gcc.target/riscv/rvv/autovec/pr112598-1.c: New test. + +2023-11-21 Tamar Christina + + PR target/111370 + * gcc.target/aarch64/sve/cond_asrd_1.c: Updated. + * gcc.target/aarch64/sve/cond_cnot_4.c: Likewise. + * gcc.target/aarch64/sve/cond_unary_5.c: Likewise. + * gcc.target/aarch64/sve/cond_uxt_5.c: Likewise. + * gcc.target/aarch64/target_attr_13.c: Likewise. + * gcc.target/aarch64/target_attr_15.c: Likewise. + +2023-11-21 Tamar Christina + + * gcc.target/aarch64/simd/vmovl_high_1.c: Update codegen. + * gcc.target/aarch64/uxtl-combine-1.c: New test. + * gcc.target/aarch64/uxtl-combine-2.c: New test. + * gcc.target/aarch64/uxtl-combine-3.c: New test. + * gcc.target/aarch64/uxtl-combine-4.c: New test. + * gcc.target/aarch64/uxtl-combine-5.c: New test. + * gcc.target/aarch64/uxtl-combine-6.c: New test. + +2023-11-21 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/pr112438.c: Add missing dump check. + +2023-11-21 Thomas Schwinge + + * gcc.dg/tree-ssa/return-value-range-1.c: Fix. + +2023-11-21 Eric Botcazou + + * gnat.dg/warn25.adb: Add xfail. + +2023-11-21 Jakub Jelinek + + PR c/111309 + * c-c++-common/pr111309-2.c (foo): Don't expect errors for C++ with + -fshort-enums if second argument is E0. + +2023-11-21 Jakub Jelinek + + PR middle-end/112639 + * gcc.dg/torture/pr112639.c: New test. + +2023-11-21 Hongyu Wang + + * gcc.target/i386/apx-interrupt-1.c: Adjust option to restrict them + under certain subfeatures. + * gcc.target/i386/apx-push2pop2-1.c: Likewise. + * gcc.target/i386/apx-push2pop2_force_drap-1.c: Likewise. + * gcc.target/i386/apx-push2pop2_interrupt-1.c: Likewise. + * gcc.target/i386/apx-ppx-1.c: New test. + +2023-11-21 Richard Biener + + * gcc.target/arm/bfloat16_vector_typecheck_1.c: Adjust. + * gcc.target/arm/bfloat16_vector_typecheck_2.c: Likewise. + * gcc.target/aarch64/bfloat16_vector_typecheck_1.c: Likewise. + * gcc.target/aarch64/bfloat16_vector_typecheck_2.c: Likewise. + +2023-11-21 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c: Fix bug. + +2023-11-21 liuhongt + + * gcc.target/i386/pr112325-mmx-1.c: New test. + +2023-11-20 Jan Hubicka + + * g++.dg/ipa/devirt-2.C: Add noipa attribute to prevent ipa-vrp. + * g++.dg/ipa/devirt-7.C: Disable ipa-vrp. + * g++.dg/ipa/ipa-icf-2.C: Disable ipa-vrp. + * g++.dg/ipa/ipa-icf-3.C: Disable ipa-vrp. + * g++.dg/ipa/ivinline-1.C: Disable ipa-vrp. + * g++.dg/ipa/ivinline-3.C: Disable ipa-vrp. + * g++.dg/ipa/ivinline-5.C: Disable ipa-vrp. + * g++.dg/ipa/ivinline-8.C: Disable ipa-vrp. + * g++.dg/ipa/nothrow-1.C: Disable ipa-vrp. + * g++.dg/ipa/pure-const-1.C: Disable ipa-vrp. + * g++.dg/ipa/pure-const-2.C: Disable ipa-vrp. + * g++.dg/lto/inline-crossmodule-1_0.C: Disable ipa-vrp. + * gcc.c-torture/compile/pr106433.c: Add noipa attribute to prevent ipa-vrp. + * gcc.c-torture/execute/frame-address.c: Likewise. + * gcc.dg/vla-1.c: Add noipa attribute to prevent ipa-vrp. + * gcc.dg/ipa/fopt-info-inline-1.c: Disable ipa-vrp. + * gcc.dg/ipa/ipa-icf-25.c: Disable ipa-vrp. + * gcc.dg/ipa/ipa-icf-38.c: Disable ipa-vrp. + * gcc.dg/ipa/pure-const-1.c: Disable ipa-vrp. + * gcc.dg/ipa/remref-0.c: Add noipa attribute to prevent ipa-vrp. + * gcc.dg/tree-prof/time-profiler-1.c: Disable ipa-vrp. + * gcc.dg/tree-prof/time-profiler-2.c: Disable ipa-vrp. + * gcc.dg/tree-ssa/pr110269.c: Disable ipa-vrp. + * gcc.dg/tree-ssa/pr20701.c: Disable ipa-vrp. + * gcc.dg/tree-ssa/vrp05.c: Disable ipa-vrp. + * gcc.dg/tree-ssa/return-value-range-1.c: New test. + * gcc.dg/nonnull-7.c: New file. + +2023-11-20 Richard Biener + + PR tree-optimization/112618 + * gcc.dg/pr112618.c: New testcase. + +2023-11-20 Richard Biener + + PR tree-optimization/112281 + * gcc.dg/torture/pr112281-1.c: New testcase. + * gcc.dg/torture/pr112281-2.c: Likewise. + +2023-11-20 Richard Biener + + PR middle-end/112622 + * gcc.dg/pr112622.c: New testcase. + * gcc.dg/simd-2.c: Adjust. + * gcc.target/i386/vect-bfloat16-typecheck_1.c: Likewise. + * gcc.target/i386/vect-bfloat16-typecheck_2.c: Likewise. + +2023-11-20 Juzhe-Zhong + + PR target/112597 + * gcc.target/riscv/rvv/autovec/pr112597-1.c: New test. + +2023-11-20 Robin Dapp + + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-1.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-1.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-10.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-10.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-11.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-11.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-12.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-12.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-2.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-2.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-3.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-3.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-4.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-4.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-5.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-5.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-6.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-6.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-7.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-7.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-8.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-8.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-9.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_32-9.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-1.c: + Adjust include. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-1.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-1.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-10.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-10.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-11.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-11.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-2.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-2.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-3.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-3.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-4.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-4.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-5.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-5.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-6.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-6.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-7.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-7.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-8.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-8.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-9.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_32-9.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-1.c: + Adjust include. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-1.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-1.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-10.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-10.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-2.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-2.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-3.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-3.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-4.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-4.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-5.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-5.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-6.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-6.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-7.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-7.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-8.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-8.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-9.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_32-9.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-1.c: + Adjust include. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-1.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-1.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-10.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-10.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-3.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-2.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-4.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-4.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-5.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-5.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-6.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-6.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-7.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-7.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-8.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-8.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-9.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_32-9.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-2.c: Moved to... + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-2.c: ...here. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-1.c: + Adjust include. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-1.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-10.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-11.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-12.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-2.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-3.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-4.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-5.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-6.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-7.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-8.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-9.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-1.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-10.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-11.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-2.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-3.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-4.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-5.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-6.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-7.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-8.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_64-9.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-1.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-10.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-2.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-3.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-4.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-5.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-6.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-7.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-8.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_64-9.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-1.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-10.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-3.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-4.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-5.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-6.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-7.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-8.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_64-9.c: New test. + +2023-11-20 Christophe Lyon + + * gcc.target/arm/mve/intrinsics/vst1q_f16.c: Remove 'return'. + * 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. + +2023-11-20 Juzhe-Zhong + + * lib/target-supports.exp: Remove scalable compile option. + +2023-11-20 Jakub Jelinek + + * c-c++-common/builtin-classify-type-1.c (main): Add tests for vector + types. + +2023-11-20 Robin Dapp + + * gfortran.dg/pr112406.f90: New test. + +2023-11-20 Jakub Jelinek + + PR tree-optimization/90693 + * gcc.target/i386/pr90693.c: New test. + +2023-11-20 Alexandre Oliva + + * lib/target-supports.exp + (check_effective_target_arm_thumb1_cbz_ok): Fix prop name + cut&pasto. + +2023-11-20 Alexandre Oliva + + * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: + Expect "unaligned pointer value" warning on short_enums + targets, but not in c++. + * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: + Likewise. + +2023-11-20 Alexandre Oliva + + * gcc.dg/tree-ssa/scev-3.c: xfail on all ilp32 targets, + though some of these do pass. + * gcc.dg/tree-ssa/scev-4.c: Likewise. + * gcc.dg/tree-ssa/scev-5.c: Likewise. + +2023-11-20 Haochen Jiang + + * gcc.target/i386/avx10_1-1.c: New test. + * gcc.target/i386/avx10_1-10.c: Ditto. + * gcc.target/i386/avx10_1-11.c: Ditto. + * gcc.target/i386/avx10_1-12.c: Ditto. + * gcc.target/i386/avx10_1-13.c: Ditto. + * gcc.target/i386/avx10_1-14.c: Ditto. + * gcc.target/i386/avx10_1-15.c: Ditto. + * gcc.target/i386/avx10_1-16.c: Ditto. + * gcc.target/i386/avx10_1-17.c: Ditto. + * gcc.target/i386/avx10_1-18.c: Ditto. + * gcc.target/i386/avx10_1-19.c: Ditto. + * gcc.target/i386/avx10_1-2.c: Ditto. + * gcc.target/i386/avx10_1-20.c: Ditto. + * gcc.target/i386/avx10_1-21.c: Ditto. + * gcc.target/i386/avx10_1-22.c: Ditto. + * gcc.target/i386/avx10_1-23.c: Ditto. + * gcc.target/i386/avx10_1-3.c: Ditto. + * gcc.target/i386/avx10_1-4.c: Ditto. + * gcc.target/i386/avx10_1-5.c: Ditto. + * gcc.target/i386/avx10_1-6.c: Ditto. + * gcc.target/i386/avx10_1-7.c: Ditto. + * gcc.target/i386/avx10_1-8.c: Ditto. + * gcc.target/i386/avx10_1-9.c: Ditto. + +2023-11-20 liuhongt + + * lib/target-supports.exp (vect_logical_reduc): Add i?86-*-* + and x86_64-*-*. + +2023-11-20 liuhongt + + * gcc.target/i386/pr112325-1.c: New test. + * gcc.target/i386/pr112325-2.c: New test. + +2023-11-20 xuli + + PR target/112537 + * gcc.target/riscv/rvv/base/cpymem-strategy-1.c: New test. + * gcc.target/riscv/rvv/base/cpymem-strategy-2.c: New test. + * gcc.target/riscv/rvv/base/cpymem-strategy-3.c: New test. + * gcc.target/riscv/rvv/base/cpymem-strategy-4.c: New test. + * gcc.target/riscv/rvv/base/cpymem-strategy-5.c: New test. + * gcc.target/riscv/rvv/base/cpymem-strategy.h: New test. + +2023-11-19 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/post-ra-avl.c: New test. + +2023-11-19 Nathaniel Shead + + PR c++/99187 + * g++.dg/modules/pr99187.C: New test. + +2023-11-19 David Edelsohn + + * lib/target-supports.exp (add_options_for___float128): Only add + -mfloat128 to powerpc*-*-linux*. + +2023-11-19 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/pr112561.c: New test. + +2023-11-19 David Malcolm + + PR analyzer/107573 + * c-c++-common/analyzer/strtok-1.c: New test. + * c-c++-common/analyzer/strtok-2.c: New test. + * c-c++-common/analyzer/strtok-3.c: New test. + * c-c++-common/analyzer/strtok-4.c: New test. + * c-c++-common/analyzer/strtok-cppreference.c: New test. + +2023-11-18 Xi Ruoyao + + * gcc.target/loongarch/div-div32.c: New test. + * gcc.target/loongarch/div-no-div32.c: New test. + +2023-11-18 Francois-Xavier Coudert + + * gfortran.dg/coarray/caf.exp: Remove unused variable. + * gfortran.dg/dg.exp: Remove unused variable. + +2023-11-18 Lulu Cheng + Xi Ruoyao + + * gcc.target/loongarch/func-call-medium-5.c: If the assembler supports call36, + the test is abandoned. + * gcc.target/loongarch/func-call-medium-6.c: Likewise. + * gcc.target/loongarch/func-call-medium-7.c: Likewise. + * gcc.target/loongarch/func-call-medium-8.c: Likewise. + * lib/target-supports.exp: Added a function to see if the assembler supports + the call36 relocation. + * gcc.target/loongarch/func-call-medium-call36-1.c: New test. + * gcc.target/loongarch/func-call-medium-call36.c: New test. + +2023-11-18 David Malcolm + + PR analyzer/106147 + * c-c++-common/analyzer/gzio-2.c: Add dg-warning for infinite + loop, marked as xfail. + * c-c++-common/analyzer/infinite-loop-2.c: New test. + * c-c++-common/analyzer/infinite-loop-4.c: New test. + * c-c++-common/analyzer/infinite-loop-crc32c.c: New test. + * c-c++-common/analyzer/infinite-loop-doom-d_main-IdentifyVersion.c: + New test. + * c-c++-common/analyzer/infinite-loop-doom-v_video.c: New test. + * c-c++-common/analyzer/infinite-loop-g_error.c: New test. + * c-c++-common/analyzer/infinite-loop-linked-list.c: New test. + * c-c++-common/analyzer/infinite-recursion-inlining.c: Add + dg-warning directives for infinite loop. + * c-c++-common/analyzer/inlining-4-multiline.c: Update expected + paths for event 5 having a location. + * gcc.dg/analyzer/boxed-malloc-1.c: Add dg-warning for infinite + loop. + * gcc.dg/analyzer/data-model-20.c: Likewise. Add comment about + suspect code, and create... + * gcc.dg/analyzer/data-model-20a.c: ...this new test by cleaning + it up. + * gcc.dg/analyzer/edges-1.c: Add a placeholder statement to avoid + the "...to here" from the if stmt occurring at the "while", and + thus being treated as a bogus event. + * gcc.dg/analyzer/explode-2a.c: Add dg-warning for infinite loop. + * gcc.dg/analyzer/infinite-loop-1.c: New test. + * gcc.dg/analyzer/malloc-1.c: Add dg-warning for infinite loop. + * gcc.dg/analyzer/out-of-bounds-coreutils.c: Add TODO. + * gcc.dg/analyzer/paths-4.c: Add dg-warning for infinite loop. + * gcc.dg/analyzer/pr103892.c: Likewise. + * gcc.dg/analyzer/pr93546.c: Likewise. + +2023-11-17 Robin Dapp + + * gcc.target/aarch64/pr112406.c: New test. + * gcc.target/riscv/rvv/autovec/pr112552.c: New test. + +2023-11-17 Jakub Jelinek + + PR c++/107571 + * g++.dg/DRs/dr2406.C: New test. + +2023-11-17 Jakub Jelinek + + PR tree-optimization/112566 + PR tree-optimization/83171 + * gcc.dg/pr112566-1.c: New test. + * gcc.dg/pr112566-2.c: New test. + * gcc.target/i386/pr78057.c (foo): Pass another long long argument + and use it in __builtin_ia32_*zcnt_u64 instead of the int one. + +2023-11-17 Jakub Jelinek + + PR tree-optimization/112374 + * gcc.dg/pr112374-1.c: New test. + * gcc.dg/pr112374-2.c: New test. + * g++.dg/opt/pr112374.C: New test. + +2023-11-17 Richard Biener + + PR tree-optimization/112585 + * gcc.dg/torture/pr112585.c: New testcase. + +2023-11-17 Richard Biener + + Revert: + 2023-11-17 Richard Biener + + PR tree-optimization/112281 + * gcc.dg/torture/pr112281.c: New testcase. + +2023-11-17 Tobias Burnus + + * gfortran.dg/goacc/warn_truncated.f90: Add -std=f2018 option. + * gfortran.dg/gomp/warn_truncated.f90: Likewise. + * gfortran.dg/line_length_10.f90: Likewise. + * gfortran.dg/line_length_11.f90: Likewise. + * gfortran.dg/line_length_2.f90: Likewise. + * gfortran.dg/line_length_5.f90: Likewise. + * gfortran.dg/line_length_6.f90: Likewise. + * gfortran.dg/line_length_7.f90: Likewise. + * gfortran.dg/line_length_8.f90: Likewise. + * gfortran.dg/line_length_9.f90: Likewise. + * gfortran.dg/continuation_17.f90: New test. + * gfortran.dg/continuation_18.f90: New test. + * gfortran.dg/continuation_19.f: New test. + * gfortran.dg/line_length_12.f90: New test. + * gfortran.dg/line_length_13.f90: New test. + +2023-11-17 Georg-Johann Lay + + PR target/53372 + * gcc.target/avr/pr53372-1.c: New test. + * gcc.target/avr/pr53372-2.c: New test. + +2023-11-17 Francois-Xavier Coudert + + * gfortran.dg/coarray/caf.exp: Remove some output. + * gfortran.dg/dg.exp: Remove some output. + +2023-11-17 Xi Ruoyao + + * g++.target/loongarch/vect-copysign-negconst.C: New test. + * g++.target/loongarch/vect-copysign-negconst-run.C: New test. + +2023-11-17 Haochen Gui + + PR target/111449 + * gcc.target/powerpc/pr111449-2.c: New. + +2023-11-17 Haochen Gui + + PR target/111449 + * gcc.target/powerpc/pr111449-1.c: New. + * gcc.dg/tree-ssa/sra-17.c: Add additional options for 32-bit powerpc. + * gcc.dg/tree-ssa/sra-18.c: Likewise. + +2023-11-17 Li Wei + + * gcc.dg/pr90838.c: add clz/ctz test support on LoongArch. + +2023-11-17 Jiahao Xu + + * gcc.target/loongarch/vector/lasx/lasx-vcond-1.c: Adjust assembler times. + * gcc.target/loongarch/vector/lasx/lasx-vcond-2.c: Ditto. + * gcc.target/loongarch/vector/lsx/lsx-vcond-1.c: Ditto. + * gcc.target/loongarch/vector/lsx/lsx-vcond-2.c: Ditto. + +2023-11-16 Eric Botcazou + + * gnat.dg/varsize4.adb (Func): Initialize Byte_Read parameter. + +2023-11-16 Edwin Lu + + PR target/111557 + * gcc.target/riscv/attribute-1.c: update macro name + * gcc.target/riscv/attribute-4.c: ditto + * gcc.target/riscv/attribute-5.c: ditto + * gcc.target/riscv/predef-align-1.c: ditto + * gcc.target/riscv/predef-align-2.c: ditto + * gcc.target/riscv/predef-align-3.c: ditto + * gcc.target/riscv/predef-align-4.c: ditto + * gcc.target/riscv/predef-align-5.c: ditto + * gcc.target/riscv/predef-align-6.c: ditto + +2023-11-16 Uros Bizjak + + PR target/78904 + * gcc.target/i386/pr78904-10.c: New test. + * gcc.target/i386/pr78904-10a.c: New test. + * gcc.target/i386/pr78904-10b.c: New test. + +2023-11-16 Eric Botcazou + + * gnat.dg/varsize4.ads, gnat.dg/varsize4.adb: New test. + * gnat.dg/varsize4_pkg.ads: New helper. + +2023-11-16 Jakub Jelinek + + PR c++/112365 + * g++.dg/cpp0x/pr112365.C: New test. + +2023-11-16 Patrick Palka + + PR c++/98614 + PR c++/104802 + * g++.dg/cpp1z/nontype-auto22.C: New test. + * g++.dg/cpp2a/concepts-partial-spec14.C: New test. + +2023-11-16 Patrick Palka + + PR c++/111703 + PR c++/107939 + * g++.dg/cpp2a/concepts-fn8.C: Extend test. + * g++.dg/diagnostic/constexpr4.C: New test. + +2023-11-16 Tamar Christina + + PR tree-optimization/111878 + * gcc.dg/graphite/pr111878.c: New test. + +2023-11-16 Florian Weimer + + * gcc.c-torture/execute/931004-13.c (main): Fix mistakenly swapped + int/void types. + +2023-11-16 Kito Cheng + + * gcc.target/riscv/target-attr-01.c: New. + * gcc.target/riscv/target-attr-02.c: Ditto. + * gcc.target/riscv/target-attr-03.c: Ditto. + * gcc.target/riscv/target-attr-04.c: Ditto. + * gcc.target/riscv/target-attr-05.c: Ditto. + * gcc.target/riscv/target-attr-06.c: Ditto. + * gcc.target/riscv/target-attr-07.c: Ditto. + * gcc.target/riscv/target-attr-bad-01.c: Ditto. + * gcc.target/riscv/target-attr-bad-02.c: Ditto. + * gcc.target/riscv/target-attr-bad-03.c: Ditto. + * gcc.target/riscv/target-attr-bad-04.c: Ditto. + * gcc.target/riscv/target-attr-bad-05.c: Ditto. + * gcc.target/riscv/target-attr-bad-06.c: Ditto. + * gcc.target/riscv/target-attr-bad-07.c: Ditto. + * gcc.target/riscv/target-attr-bad-08.c: Ditto. + * gcc.target/riscv/target-attr-bad-09.c: Ditto. + * gcc.target/riscv/target-attr-bad-10.c: Ditto. + +2023-11-16 Kito Cheng + + PR target/112478 + * gcc.target/riscv/pr112478.c: New. + +2023-11-16 liuhongt + + * gcc.target/i386/pr112532.c: New test. + +2023-11-16 Jakub Jelinek + + PR target/112526 + * gcc.target/i386/bmi2-pr112526.c: New test. + +2023-11-16 Jakub Jelinek + + PR tree-optimization/112536 + * gcc.dg/pr112536.c: New test. + +2023-11-16 Richard Biener + + PR tree-optimization/112282 + * gcc.dg/torture/pr112282.c: Do not use __assert_fail. + +2023-11-16 Juzhe-Zhong + + PR middle-end/112554 + * gcc.target/riscv/rvv/autovec/pr112554.c: New test. + +2023-11-16 Marek Polacek + + PR c++/112410 + * g++.dg/cpp23/auto-fncast13.C: New test. + * g++.dg/cpp23/auto-fncast14.C: New test. + +2023-11-15 Uros Bizjak + + PR target/78904 + * gcc.target/i386/pr78904-8.c: New test. + * gcc.target/i386/pr78904-8a.c: New test. + * gcc.target/i386/pr78904-8b.c: New test. + * gcc.target/i386/pr78904-9.c: New test. + * gcc.target/i386/pr78904-9a.c: New test. + * gcc.target/i386/pr78904-9b.c: New test. + +2023-11-15 Patrick O'Neill + + * gcc.target/riscv/arch-27.c: New test. + * gcc.target/riscv/arch-28.c: New test. + +2023-11-15 Patrick Palka + + PR c++/112515 + * g++.dg/template/non-dependent30.C: New test. + +2023-11-15 Patrick Palka + + PR c++/101043 + * g++.dg/cpp2a/concepts-requires37.C: New test. + +2023-11-15 Patrick Palka + + PR c++/112427 + * g++.dg/template/non-dependent29.C: New test. + +2023-11-15 Patrick Palka + + PR c++/111703 + PR c++/112269 + * g++.dg/cpp2a/concepts-fn8.C: New test. + +2023-11-15 Roger Sayle + Thomas Schwinge + + * gcc.target/nvptx/brev-2-O2.c: Adjust. + * gcc.target/nvptx/brevll-2-O2.c: Likewise. + +2023-11-15 Thomas Schwinge + + * gcc.target/nvptx/brev-1.c: Extend. + * gcc.target/nvptx/brev-2.c: Rename to... + * gcc.target/nvptx/brev-2-O2.c: ... this, and extend. Copy to... + * gcc.target/nvptx/brev-2-O0.c: ... this, and adapt for '-O0'. + * gcc.target/nvptx/brevll-1.c: Extend. + * gcc.target/nvptx/brevll-2.c: Rename to... + * gcc.target/nvptx/brevll-2-O2.c: ... this, and extend. Copy to... + * gcc.target/nvptx/brevll-2-O0.c: ... this, and adapt for '-O0'. + +2023-11-15 Andrew Stubbs + Andrew Jenner + + * gcc.target/gcn/avgpr-mem-double.c: New test. + * gcc.target/gcn/avgpr-mem-int.c: New test. + * gcc.target/gcn/avgpr-mem-long.c: New test. + * gcc.target/gcn/avgpr-mem-short.c: New test. + * gcc.target/gcn/avgpr-spill-double.c: New test. + * gcc.target/gcn/avgpr-spill-int.c: New test. + * gcc.target/gcn/avgpr-spill-long.c: New test. + * gcc.target/gcn/avgpr-spill-short.c: New test. + +2023-11-15 Richard Biener + + PR tree-optimization/112282 + * gcc.dg/torture/pr112282.c: New testcase. + +2023-11-15 Jakub Jelinek + + * c-c++-common/asan/sanity-check-pure-c-1.c: Adjust for interceptor_ + or wrap_ substrings possibly not being emitted in newer libasan. + +2023-11-15 Xi Ruoyao + + * gcc.target/loongarch/cas-acquire.c: New test. + +2023-11-15 Richard Earnshaw + + * lib/target-supports.exp (check_effective_target_arm_arch_v6t2_hw_ok): + Rename to... + (check_effective_target_arm_arch_v6t2_hw): ... this. Fix checks. + * gcc.target/arm/acle/data-intrinsics-armv6.c: Update pre-check. + * gcc.target/arm/acle/data-intrinsics-rbit.c: Likewise. + +2023-11-15 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add trailing tests. + * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/trailing-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/trailing-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/trailing-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/trailing-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/trailing-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/trailing-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/trailing-7.c: New test. + +2023-11-15 Jakub Jelinek + + * gcc.dg/cpp/if-2.c: Adjust expected diagnostics for 16-bit targets. + +2023-11-15 Pan Li + + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-10.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-11.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-12.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-13.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-14.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-15.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-8.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-9.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c: New test. + +2023-11-15 Juzhe-Zhong + + PR target/112535 + * gcc.target/riscv/rvv/autovec/pr112535.c: New test. + +2023-11-15 Jakub Jelinek + + * g++.dg/cpp26/enum-conv1.C: New test. + * g++.dg/cpp2a/enum-conv1.C: Adjust expected diagnostics in C++26. + * g++.dg/diagnostic/enum3.C: Likewise. + * g++.dg/parse/attr3.C: Likewise. + * g++.dg/cpp0x/linkage2.C: Likewise. + +2023-11-15 Alexandre Oliva + + * g++.dg/tsan/pthread_cond_clockwait.C: Add fallback overload. + +2023-11-15 Alexandre Oliva + + * gcc.target/i386/pr95126-m32-3.c: Add + -mno-accumulate-outgoing-args. + * gcc.target/i386/pr95126-m32-4.c: Likewise. + +2023-11-14 Lewis Hyatt + + PR pch/9471 + PR pch/47857 + * g++.dg/pch/main-file-warnings.C: New test. + * g++.dg/pch/main-file-warnings.Hs: New test. + * gcc.dg/pch/main-file-warnings.c: New test. + * gcc.dg/pch/main-file-warnings.hs: New test. + +2023-11-14 David Malcolm + + PR analyzer/103533 + * c-c++-common/analyzer/attr-tainted_args-1.c: Remove use of + -fanalyzer-checker=taint. + * c-c++-common/analyzer/fread-1.c: Likewise. + * c-c++-common/analyzer/pr104029.c: Likewise. + * gcc.dg/analyzer/pr93032-mztools-signed-char.c: Add params to + work around state explosion. + * gcc.dg/analyzer/pr93032-mztools-unsigned-char.c: Likewise. + * gcc.dg/analyzer/pr93382.c: Remove use of + -fanalyzer-checker=taint. + * gcc.dg/analyzer/switch-enum-taint-1.c: Likewise. + * gcc.dg/analyzer/taint-CVE-2011-2210-1.c: Likewise. + * gcc.dg/analyzer/taint-CVE-2020-13143-1.c: Likewise. + * gcc.dg/analyzer/taint-CVE-2020-13143-2.c: Likewise. + * gcc.dg/analyzer/taint-CVE-2020-13143.h: Likewise. + * gcc.dg/analyzer/taint-alloc-1.c: Likewise. + * gcc.dg/analyzer/taint-alloc-2.c: Likewise. + * gcc.dg/analyzer/taint-alloc-3.c: Likewise. + * gcc.dg/analyzer/taint-alloc-4.c: Likewise. + * gcc.dg/analyzer/taint-alloc-5.c: Likewise. + * gcc.dg/analyzer/taint-assert-BUG_ON.c: Likewise. + * gcc.dg/analyzer/taint-assert-macro-expansion.c: Likewise. + * gcc.dg/analyzer/taint-assert-system-header.c: Likewise. + * gcc.dg/analyzer/taint-assert.c: Likewise. + * gcc.dg/analyzer/taint-divisor-1.c: Likewise. + * gcc.dg/analyzer/taint-divisor-2.c: Likewise. + * gcc.dg/analyzer/taint-merger.c: Likewise. + * gcc.dg/analyzer/taint-ops.c: Delete this test: it was a + duplicate of material in operations.c and data-model-1.c, with + -fanalyzer-checker=taint added. + * gcc.dg/analyzer/taint-read-index-1.c: Remove use of + -fanalyzer-checker=taint. + * gcc.dg/analyzer/taint-read-offset-1.c: Likewise. + * gcc.dg/analyzer/taint-realloc.c: Likewise. Add missing + dg-warning for leak now that the malloc state machine is also + active. + * gcc.dg/analyzer/taint-size-1.c: Remove use of + -fanalyzer-checker=taint. + * gcc.dg/analyzer/taint-size-access-attr-1.c: Likewise. + * gcc.dg/analyzer/taint-write-index-1.c: Likewise. + * gcc.dg/analyzer/taint-write-offset-1.c: Likewise. + * gcc.dg/analyzer/torture/taint-read-index-2.c: Likewise. + * gcc.dg/analyzer/torture/taint-read-index-3.c: Likewise. + * gcc.dg/plugin/taint-CVE-2011-0521-1-fixed.c: Likewise. Add + -Wno-pedantic. + * gcc.dg/plugin/taint-CVE-2011-0521-1.c: Likewise. + * gcc.dg/plugin/taint-CVE-2011-0521-2-fixed.c: Likewise. + * gcc.dg/plugin/taint-CVE-2011-0521-2.c: Likewise. + * gcc.dg/plugin/taint-CVE-2011-0521-3-fixed.c: Likewise. + * gcc.dg/plugin/taint-CVE-2011-0521-3.c: Likewise. Fix C++-style + comment. + * gcc.dg/plugin/taint-CVE-2011-0521-4.c: Remove use of + -fanalyzer-checker=taint and add -Wno-pedantic. Remove xfail and + add missing dg-warning. + * gcc.dg/plugin/taint-CVE-2011-0521-5-fixed.c: Remove use of + -fanalyzer-checker=taint and add -Wno-pedantic. + * gcc.dg/plugin/taint-CVE-2011-0521-5.c: Likewise. + * gcc.dg/plugin/taint-CVE-2011-0521-6.c: Likewise. + * gcc.dg/plugin/taint-antipatterns-1.c: : Remove use of + -fanalyzer-checker=taint. + +2023-11-14 Dimitar Dimitrov + + * gcc.dg/20020206-1.c: Prune warning that + -fprefetch-loop-arrays is not supported. + +2023-11-14 Nathaniel Shead + + PR c++/103499 + * g++.dg/modules/pr103499_a.C: New test. + * g++.dg/modules/pr103499_b.C: New test. + +2023-11-14 Nathaniel Shead + + PR c++/106849 + * g++.dg/modules/using-9.C: New test. + +2023-11-14 David Malcolm + + * gcc.dg/plugin/diagnostic_group_plugin.c: Use + diagnostic_start_span. + +2023-11-14 Uros Bizjak + + PR target/78904 + * gcc.target/i386/pr78904-7.c: New test. + * gcc.target/i386/pr78904-7a.c: New test. + * gcc.target/i386/pr78904-7b.c: New test. + +2023-11-14 Jakub Jelinek + + PR c++/110341 + * g++.dg/cpp26/literals1.C: New test. + * g++.dg/cpp26/literals2.C: New test. + * g++.dg/cpp23/wchar-multi1.C: Adjust expected diagnostic wordings. + * g++.dg/cpp23/wchar-multi2.C: Likewise. + * gcc.dg/c23-utf8char-3.c: Likewise. + * gcc.dg/cpp/charconst-4.c: Likewise. + * gcc.dg/cpp/charconst.c: Likewise. + * gcc.dg/cpp/if-2.c: Likewise. + * gcc.dg/utf16-4.c: Likewise. + * gcc.dg/utf32-4.c: Likewise. + * g++.dg/cpp1z/utf8-neg.C: Likewise. + * g++.dg/cpp2a/ucn2.C: Likewise. + * g++.dg/ext/utf16-4.C: Likewise. + * g++.dg/ext/utf32-4.C: Likewise. + +2023-11-14 David Malcolm + + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Use + global_dc's file cache. + * gcc.dg/plugin/expensive_selftests_plugin.c: Likewise. + +2023-11-14 Andrew MacLeod + + PR tree-optimization/112509 + * gcc.dg/pr112509.c: New. + +2023-11-14 Saurabh Jha + + PR target/112337 + * gcc.target/arm/mve/pr112337.c: Test for REG_P check for INC and DEC + operations. + +2023-11-14 Richard Biener + + PR tree-optimization/111233 + PR tree-optimization/111652 + PR tree-optimization/111727 + PR tree-optimization/111838 + PR tree-optimization/112113 + * gcc.dg/torture/pr111233.c: New testcase. + * gcc.dg/torture/pr111652.c: Likewise. + * gcc.dg/torture/pr111727.c: Likewise. + * gcc.dg/torture/pr111838.c: Likewise. + * gcc.dg/torture/pr112113.c: Likewise. + +2023-11-14 Richard Biener + + PR tree-optimization/112281 + * gcc.dg/torture/pr112281.c: New testcase. + +2023-11-14 Lehua Ding + + * gcc.target/i386/apx-spill_to_egprs-1.c: Make sure that no local + variables are stored on the stack. + +2023-11-14 Andreas Krebbel + + * g++.target/s390/zvec-templ-1.C: New test. + +2023-11-14 Jonathan Wakely + + PR c++/111842 + PR c++/112498 + * g++.dg/cpp23/ext-floating16.C: New test. + * g++.dg/cpp23/ext-floating17.C: New test. + +2023-11-14 Jakub Jelinek + + PR c/111309 + * c-c++-common/pr111309-1.c: New test. + * c-c++-common/pr111309-2.c: New test. + * gcc.dg/torture/bitint-43.c: New test. + * gcc.dg/torture/bitint-44.c: New test. + +2023-11-14 liuhongt + + * gcc.target/i386/pr112496.c: New test. + +2023-11-14 Jakub Jelinek + + PR middle-end/112511 + * gcc.dg/pr112511.c: New test. + +2023-11-14 Jakub Jelinek + Hu, Lin1 + + PR target/112435 + * gcc.target/i386/avx512vl-pr112435-1.c: New test. + * gcc.target/i386/avx512vl-pr112435-2.c: New test. + * gcc.target/i386/avx512vl-pr112435-3.c: New test. + +2023-11-14 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/init-2.c: Fix vid.v check. + +2023-11-14 liuhongt + + * gcc.target/i386/pr105735-3.c: New test. + +2023-11-13 Uros Bizjak + + PR target/112494 + * gcc.target/i386/pr112494.c: New test. + +2023-11-13 Brendan Shanks + + * g++.dg/modules/bad-mapper-1.C: Also accept posix_spawn. + +2023-11-13 Robin Dapp + + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_zbb.c: New test. + +2023-11-13 Richard Earnshaw + + * lib/target-supports.exp (v7a_neon): New feature-test target. + * gcc.dg/debug/pr57351.c: Use it. + +2023-11-13 Richard Earnshaw + + * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok): + Add test for v7a_arm. + * gcc.target/arm/pr60650-2.c: Use require-effective-target and + add-options. + * gcc.target/arm/pr60657.c: Likewise. + * gcc.target/arm/pr60663.c: Likewise. + * gcc.target/arm/pr81863.c: Likewise. + * gcc.target/arm/pr97969.c: Likewise. + * gcc.target/arm/pr98931.c: Likewise. + * gcc.target/arm/tail-long-call.c: Likewise. + +2023-11-13 Richard Earnshaw + + * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok): + For instruction-set specific tests, check that __thumb__ is, or + isn't defined as appropriate. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/pr59575.c: Use dg-require-effective-target and + dg-add-options. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/pr19599.c: Add +fp to the architecture. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/optional_thumb-1.c: Force a soft-float ABI. + * gcc.target/arm/optional_thumb-3.c: Check for armv7e-m compatibility, + then set the architecture explicitly. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/macro_defs0.c: Use dg-effective-target and + dg-add-options. + * gcc.target/arm/macro_defs1.c: Likewise. + * gcc.target/arm/macro_defs2.c: Likewise. + +2023-11-13 Richard Earnshaw + + * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok): + Use soft-float ABI for armv7m. + * gcc.target/arm/ftest-armv7m-thumb.c: Use dg-require-effective-target + to check flag compatibility. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/scd42-2.c: Use modern dg- flags. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/pragma_arch_switch_2.c: Use testsuite infrastructure + to set the architecture flags. Add +fp to the pragma that changes the + architecture. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/pragma_arch_attribute.c: Add +simd to pragmas that + set an explicit architecture. + * gcc.target/arm/pragma_arch_attribute_2.c: Likewise. + * gcc.target/arm/pragma_arch_attribute_3.c: Likewise. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/pr88648-asm-syntax-unified.c: It isn't necessary + to try to override the architecture flags specified by arm_arch_v7a. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/pr78353-1.c: Use dg-add-options to manage target + flags. + * gcc.target/arm/pr78353-2.c: Likewise. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/pr65647-2.c: Use dg-add-options to manage target + flags. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/lto/pr96939_1.c: Add +simd to the architecture + specification. + +2023-11-13 Richard Earnshaw + + * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok): + Add entry to check for xscale. + * gcc.target/arm/g2.c: Use it. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/attr_thumb-static2.c: Add +fp to the -march + specification. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/attr-crypto.c: Add +simd to the -march + specification. + +2023-11-13 Richard Earnshaw + + * gcc.target/arm/acle/pacbti-m-predef-11.c: Add +fp to the -march + specification. + +2023-11-13 Richard Earnshaw + + * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok): + Add base FPU specifications to all architectures that can support + one. + +2023-11-13 Richard Earnshaw + + * lib/target-supports.exp (check_effective_target_hard_float): Add + arm-specific test. + +2023-11-13 Richard Earnshaw + + * lib/target-supports.exp (check_effective_target_arm_arch_v6t2_hw_ok): + New function. + * gcc.target/arm/acle/data-intrinsics-armv6.c: Use it. + * gcc.target/arm/acle/data-intrinsics-rbit.c: Likewise. + +2023-11-13 Richard Biener + + PR tree-optimization/112495 + * gcc.target/i386/pr112495.c: New testcase. + +2023-11-13 Richard Biener + + PR middle-end/112487 + * gcc.dg/torture/pr112487.c: New testcase. + +2023-11-13 Richard Biener + + PR tree-optimization/111792 + PR tree-optimization/111000 + * gcc.dg/torture/pr111792.c: New testcase. + +2023-11-13 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Fix init test. + * gcc.target/riscv/rvv/autovec/vls/init-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/init-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/init-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/init-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/init-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/init-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/init-7.c: Ditto. + +2023-11-13 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-10.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-11.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-12.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-13.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-14.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-8.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-merge-9.c: New test. + +2023-11-13 liuhongt + + * gcc.target/i386/part-vect-vec_elem-1.c: New test. + * gcc.target/i386/part-vect-vec_elem-2.c: New test. + +2023-11-13 Roger Sayle + + * gcc.target/arc/ashrdi3-1.c: New test case. + * gcc.target/arc/lshrdi3-1.c: Likewise. + * gcc.target/arc/rotldi3-1.c: Likewise. + * gcc.target/arc/rotrdi3-1.c: Likewise. + +2023-11-13 Roger Sayle + + * gcc.target/arc/builtin_norm-1.c: New test case. + * gcc.target/arc/builtin_norm-2.c: Likewise. + * gcc.target/arc/builtin_normw-1.c: Likewise. + * gcc.target/arc/builtin_normw-2.c: Likewise. + * gcc.target/arc/builtin_swap-1.c: Likewise. + * gcc.target/arc/builtin_swap-2.c: Likewise. + * gcc.target/arc/builtin_swap-3.c: Likewise. + +2023-11-13 Florian Weimer + + * gcc.c-torture/execute/20000112-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/20000113-1.c (foobar): Add missing + void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/20000314-2.c (main): Likewise. + * gcc.c-torture/execute/20000402-1.c (main): Likewise. + * gcc.c-torture/execute/20000403-1.c (main): Likewise. + * gcc.c-torture/execute/20000503-1.c (main): Likewise. + * gcc.c-torture/execute/20000605-2.c (main): Likewise. + * gcc.c-torture/execute/20000717-1.c (main): Likewise. + * gcc.c-torture/execute/20000717-5.c (main): Likewise. + * gcc.c-torture/execute/20000726-1.c (main): Likewise. + * gcc.c-torture/execute/20000914-1.c(blah): Add missing + void types. + (main): Add missing int and void types. + * gcc.c-torture/execute/20001009-1.c (main): Likewise. + * gcc.c-torture/execute/20001013-1.c (main): Likewise. + * gcc.c-torture/execute/20001031-1.c (main): Likewise. + * gcc.c-torture/execute/20010221-1.c (main): Likewise. + * gcc.c-torture/execute/20010723-1.c (main): Likewise. + * gcc.c-torture/execute/20010915-1.c (s): Call + __builtin_strcmp instead of strcmp. + * gcc.c-torture/execute/20010924-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/20011128-1.c (main): Likewise. + * gcc.c-torture/execute/20020226-1.c (main): Likewise. + * gcc.c-torture/execute/20020328-1.c (foo): Add missing + void types. + * gcc.c-torture/execute/20020406-1.c (DUPFFexgcd): Call + __builtin_printf instead of printf. + (main): Likewise. + * gcc.c-torture/execute/20020508-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/20020508-2.c (main): Likewise. + * gcc.c-torture/execute/20020508-3.c (main): Likewise. + * gcc.c-torture/execute/20020611-1.c (main): Likewise. + * gcc.c-torture/execute/20021010-2.c (main): Likewise. + * gcc.c-torture/execute/20021113-1.c (foo): Add missing + void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/20021120-3.c (foo): Call + __builtin_sprintf instead of sprintf. + * gcc.c-torture/execute/20030125-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/20030216-1.c (main): Likewise. + * gcc.c-torture/execute/20030404-1.c (main): Likewise. + * gcc.c-torture/execute/20030606-1.c (main): Likewise. + Call __builtin_memset instead of memset. + * gcc.c-torture/execute/20030828-1.c (main): Add missing int + and void types. + * gcc.c-torture/execute/20030828-2.c (main): Likewise. + * gcc.c-torture/execute/20031012-1.c: Call __builtin_strlen + instead of strlen. + * gcc.c-torture/execute/20031211-1.c (main): Add missing int + and void types. + * gcc.c-torture/execute/20040319-1.c (main): Likewise. + * gcc.c-torture/execute/20040411-1.c (sub1): Call + __builtin_memcpy instead of memcpy. + * gcc.c-torture/execute/20040423-1.c (sub1): Likewise. + * gcc.c-torture/execute/20040917-1.c (main): Add missing int + and void types. + * gcc.c-torture/execute/20050131-1.c (main): Likewise. + * gcc.c-torture/execute/20051113-1.c (main): Likewise. + * gcc.c-torture/execute/20121108-1.c (main): Call + __builtin_printf instead of printf. + * gcc.c-torture/execute/20170401-2.c (main): Add missing int + and void types. + * gcc.c-torture/execute/900409-1.c (main): Likewise. + * gcc.c-torture/execute/920202-1.c (f): Add int return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/920302-1.c (execute): Add void return + type. + (main): Add missing int and void types. + * gcc.c-torture/execute/920410-1.c (main): Likewise. + * gcc.c-torture/execute/920501-2.c (main): Likewise. + * gcc.c-torture/execute/920501-3.c (execute): Add void return + type. + (main): Add missing int and void types. + * gcc.c-torture/execute/920501-5.c (x): Add int return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/920501-6.c (main): Add int return + type. + * gcc.c-torture/execute/920501-8.c (main): Add missing + int and void types. Call __builtin_strcmp instead of strcmp. + * gcc.c-torture/execute/920506-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/920612-2.c (main): Likewise. + * gcc.c-torture/execute/920618-1.c (main): Likewise. + * gcc.c-torture/execute/920625-1.c (main): Likewise. + * gcc.c-torture/execute/920710-1.c (main): Likewise. + * gcc.c-torture/execute/920721-1.c (main): Likewise. + * gcc.c-torture/execute/920721-4.c (main): Likewise. + * gcc.c-torture/execute/920726-1.c (first, second): Call + __builtin_strlen instead of strlen. + (main): Add missing int and void types. Call __builtin_strcmp + instead of strcmp. + * gcc.c-torture/execute/920810-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/920829-1.c (main): Likewise. + * gcc.c-torture/execute/920908-1.c (main): Likewise. + * gcc.c-torture/execute/920922-1.c (main): Likewise. + * gcc.c-torture/execute/920929-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/921006-1.c (main): Likewise. Call + __builtin_strcmp instead of strcmp. + * gcc.c-torture/execute/921007-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/921016-1.c (main): Likewise. + * gcc.c-torture/execute/921019-1.c (main): Likewise. + * gcc.c-torture/execute/921019-2.c (main): Likewise. + * gcc.c-torture/execute/921029-1.c (main): Likewise. + * gcc.c-torture/execute/921104-1.c (main): Likewise. + * gcc.c-torture/execute/921112-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/921113-1.c (w, f1, f2, gitter): Add + void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/921117-1.c (check): Call + __builtin_strcmp instead of strcmp. + (main): Add missing int and void types. Call __builtin_strcpy + instead of strcpy. + * gcc.c-torture/execute/921123-2.c (main): Add missing + int and void types. + * gcc.c-torture/execute/921202-2.c (main): Likewise. + * gcc.c-torture/execute/921204-1.c (main): Likewise. + * gcc.c-torture/execute/921208-1.c (main): Likewise. + * gcc.c-torture/execute/930123-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/930126-1.c (main): Likewise. + * gcc.c-torture/execute/930406-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/930408-1.c (p, f): Add missing void + types. + (main): Add missing int and void types. + * gcc.c-torture/execute/930429-1.c (main): Likewise. + * gcc.c-torture/execute/930603-2.c (f): Add missing void + types. + (main): Add missing int and void types. + * gcc.c-torture/execute/930608-1.c (main): Likewise. + * gcc.c-torture/execute/930614-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/930614-2.c (main): Likewise. + * gcc.c-torture/execute/930622-2.c (main): Likewise. + * gcc.c-torture/execute/930628-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/930725-1.c (main): Likewise. Call + __builtin_strcmp instead of strcmp. + * gcc.c-torture/execute/930930-2.c (main): Add missing + int and void types. + * gcc.c-torture/execute/931002-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-10.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-11.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-12.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-13.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-14.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-2.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-3.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-4.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-5.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-6.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-7.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-8.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931004-9.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/931005-1.c (main): Likewise. + * gcc.c-torture/execute/931110-1.c (main): Likewise. + * gcc.c-torture/execute/931110-2.c (main): Likewise. + * gcc.c-torture/execute/941014-1.c (main): Likewise. + * gcc.c-torture/execute/941014-2.c (main): Likewise. + * gcc.c-torture/execute/941015-1.c (main): Likewise. + * gcc.c-torture/execute/941021-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/941025-1.c (main): Likewise. + * gcc.c-torture/execute/941031-1.c (main): Likewise. + * gcc.c-torture/execute/950221-1.c (g2): Add int return type. + (f): Add missing void types. Call __builtin_strcpy instead + of strcpy. + (main): Add missing int and void types. + * gcc.c-torture/execute/950426-2.c (main): Likewise. + * gcc.c-torture/execute/950503-1.c (main): Likewise. + * gcc.c-torture/execute/950511-1.c (main): Likewise. + * gcc.c-torture/execute/950607-1.c (main): Likewise. + * gcc.c-torture/execute/950607-2.c (main): Likewise. + * gcc.c-torture/execute/950612-1.c (main): Likewise. + * gcc.c-torture/execute/950628-1.c (main): Likewise. + * gcc.c-torture/execute/950704-1.c (main): Likewise. + * gcc.c-torture/execute/950706-1.c (main): Likewise. + * gcc.c-torture/execute/950710-1.c (main): Likewise. + * gcc.c-torture/execute/950714-1.c (main): Likewise. + * gcc.c-torture/execute/950809-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/950906-1.c (g, f): Add void return + type. + (main): Add missing int and void types. + * gcc.c-torture/execute/950915-1.c (main): Likewise. + * gcc.c-torture/execute/950929-1.c (main): Likewise. + * gcc.c-torture/execute/951003-1.c (f): Add missing int + parameter type. + (main): Add missing int and void types. + * gcc.c-torture/execute/951115-1.c (g, f): Add void return + type. + (main): Add missing int and void types. + * gcc.c-torture/execute/951204-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/960116-1.c (p): Add int return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/960117-1.c (main): Likewise. + * gcc.c-torture/execute/960209-1.c (main): Likewise. + * gcc.c-torture/execute/960215-1.c (main): Likewise. + * gcc.c-torture/execute/960219-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/960301-1.c (main): Likewise. + * gcc.c-torture/execute/960302-1.c (foo, main): Add missing + int and void types. + * gcc.c-torture/execute/960311-1.c (main): Likewise. + * gcc.c-torture/execute/960311-2.c (main): Likewise. + * gcc.c-torture/execute/960311-3.c (main): Likewise. + * gcc.c-torture/execute/960312-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/960317-1.c (main): Likewise. + * gcc.c-torture/execute/960321-1.c (main): Likewise. + * gcc.c-torture/execute/960326-1.c (main): Likewise. + * gcc.c-torture/execute/960327-1.c (g, main): Add missing + int and void types. + (f): Add missing void types. + * gcc.c-torture/execute/960405-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/960416-1.c (main): Likewise. + * gcc.c-torture/execute/960419-1.c (main): Likewise. + * gcc.c-torture/execute/960419-2.c (main): Likewise. + * gcc.c-torture/execute/960512-1.c (main): Likewise. + * gcc.c-torture/execute/960513-1.c (main): Likewise. + * gcc.c-torture/execute/960521-1.c (f): Add missing void + types. + (main): Add missing int and void types. + * gcc.c-torture/execute/960608-1.c (f): Add int return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/960801-1.c (main): Likewise. + * gcc.c-torture/execute/960802-1.c (main): Likewise. + * gcc.c-torture/execute/960909-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/961004-1.c (main): Likewise. + * gcc.c-torture/execute/961017-1.c (main): Likewise. + * gcc.c-torture/execute/961017-2.c (main): Likewise. + * gcc.c-torture/execute/961026-1.c (main): Likewise. + * gcc.c-torture/execute/961122-1.c (addhi, subhi): Add void + return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/961122-2.c (main): Likewise. + * gcc.c-torture/execute/961125-1.c (main): Likewise. + * gcc.c-torture/execute/961206-1.c (main): Likewise. + * gcc.c-torture/execute/961213-1.c (main): Likewise. + * gcc.c-torture/execute/970214-1.c (main): Likewise. + * gcc.c-torture/execute/970214-2.c (main): Likewise. + * gcc.c-torture/execute/970217-1.c (sub): Add int return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/970923-1.c (main): Likewise. + * gcc.c-torture/execute/980223.c (main): Likewise. + * gcc.c-torture/execute/980506-1.c (main): Likewise. + * gcc.c-torture/execute/980506-2.c (main): Likewise. + * gcc.c-torture/execute/980506-3.c (build_lookup): Call + __builtin_strlen instead of strlen and __builtin_memset + instead of memset. + * gcc.c-torture/execute/980526-3.c (main): Likewise. + * gcc.c-torture/execute/980602-1.c (main): Likewise. + * gcc.c-torture/execute/980604-1.c (main): Likewise. + * gcc.c-torture/execute/980605-1.c (dummy): Add missing int + parameter type. + (main): Add missing int and void types. + * gcc.c-torture/execute/980701-1.c (ns_name_skip): Add missing + int return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/980709-1.c (main): Likewise. + * gcc.c-torture/execute/990117-1.c (main): Likewise. + * gcc.c-torture/execute/990127-1.c (main): Likewise. + * gcc.c-torture/execute/990128-1.c (main): Likewise. + * gcc.c-torture/execute/990130-1.c (main): Likewise. + * gcc.c-torture/execute/990324-1.c (main): Likewise. + * gcc.c-torture/execute/990524-1.c (main): Likewise. + * gcc.c-torture/execute/990531-1.c (main): Likewise. + * gcc.c-torture/execute/990628-1.c (fetch, load_data): Call + __builtin_memset instead of memset. + (main): Add missing int and void types. + * gcc.c-torture/execute/991019-1.c (main): Likewise. + * gcc.c-torture/execute/991023-1.c (foo, main): Likewise. + * gcc.c-torture/execute/991112-1.c (isprint): Declare. + * gcc.c-torture/execute/991118-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/alias-1.c (ptr2): Add cast to float * + in initializer. + (typepun): Add missing void types. + (main): Add missing int and void types. + * gcc.c-torture/execute/alias-2.c (main): Likewise. + * gcc.c-torture/execute/alias-3.c (inc): Add missing + void types. + * gcc.c-torture/execute/alias-4.c (main): Add missing int + return type. + * gcc.c-torture/execute/arith-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/arith-rand-ll.c (main): Likewise. + * gcc.c-torture/execute/arith-rand.c (main): Likewise. + * gcc.c-torture/execute/bf-layout-1.c (main): Likewise. + * gcc.c-torture/execute/bf-pack-1.c (foo): Add missing + void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/bf-sign-1.c (main): Likewise. + * gcc.c-torture/execute/bf-sign-2.c (main): Likewise. + * gcc.c-torture/execute/bf64-1.c (main): Likewise. + * gcc.c-torture/execute/builtin-prefetch-2.c (stat_int_arr): + Add missing int array element type. + * gcc.c-torture/execute/builtin-prefetch-3.c (stat_int_arr): + Likewise. + * gcc.c-torture/execute/cbrt.c (main): Add missing int and + void types. + * gcc.c-torture/execute/complex-1.c (main): Likewise. + * gcc.c-torture/execute/complex-2.c (main): Likewise. + * gcc.c-torture/execute/complex-3.c (main): Likewise. + * gcc.c-torture/execute/complex-4.c (main): Likewise. + * gcc.c-torture/execute/complex-5.c (main): Likewise. + * gcc.c-torture/execute/compndlit-1.c (main): Likewise. + * gcc.c-torture/execute/conversion.c (test_integer_to_float) + (test_longlong_integer_to_float, test_float_to_integer) + (test_float_to_longlong_integer): Add missing void return + type. + (main): Add missing int and void types. + * gcc.c-torture/execute/cvt-1.c (main): Likewise. + * gcc.c-torture/execute/divconst-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/divconst-2.c (main): Likewise. + * gcc.c-torture/execute/divconst-3.c (main): Likewise. + * gcc.c-torture/execute/enum-1.c (main): Likewise. + * gcc.c-torture/execute/func-ptr-1.c (main): Likewise. + * gcc.c-torture/execute/ieee/20011123-1.c (main): Likewise. + * gcc.c-torture/execute/ieee/920518-1.c (main): Likewise. + * gcc.c-torture/execute/ieee/920810-1.c (main): Likewise. + Call __builtin_strcmp instead of strcmp. + * gcc.c-torture/execute/ieee/930529-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/ieee/fp-cmp-1.c (main): Likewise. + * gcc.c-torture/execute/ieee/fp-cmp-2.c (main): Likewise. + * gcc.c-torture/execute/ieee/fp-cmp-3.c (main): Likewise. + * gcc.c-torture/execute/ieee/fp-cmp-6.c (main): Likewise. + * gcc.c-torture/execute/ieee/fp-cmp-9.c (main): Likewise. + * gcc.c-torture/execute/ieee/minuszero.c (main): Likewise. + * gcc.c-torture/execute/ieee/mzero2.c (expect): Call + __builtin_memcmp instead of memcmp. + (main): Add missing int and void types. + * gcc.c-torture/execute/ieee/mzero3.c (main): Likewise. + (expectd, expectf): Call __builtin_memcmp instead of memcmp. + * gcc.c-torture/execute/ieee/mzero5.c (negzero_check): + Likewise. + * gcc.c-torture/execute/ieee/rbug.c (main): Add missing + int and void types. + * gcc.c-torture/execute/index-1.c (main): Likewise. + * gcc.c-torture/execute/loop-1.c (main): Likewise. + * gcc.c-torture/execute/loop-2b.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/loop-6.c (main): Likewise. + * gcc.c-torture/execute/loop-7.c (main): Likewise. + * gcc.c-torture/execute/lto-tbaa-1.c (use_a, set_b, use_c): + Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/memcpy-1.c (main): Likewise. + * gcc.c-torture/execute/memcpy-2.c (main): Likewise. + * gcc.c-torture/execute/memcpy-bi.c (main): Likewise. + * gcc.c-torture/execute/memset-1.c (main): Likewise. + * gcc.c-torture/execute/memset-2.c: Include . + * gcc.c-torture/execute/memset-3.c: Likewise. + * gcc.c-torture/execute/nest-stdar-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/nestfunc-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/packed-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/pr15262-1.c (main): Likewise. Call + __builtin_malloc instead of malloc. + * gcc.c-torture/execute/pr15262-2.c (foo): Add int return + type. + (main): Add missing int and void types. + * gcc.c-torture/execute/pr15262.c (main): Likewise. + * gcc.c-torture/execute/pr17252.c (main): Likewise. + * gcc.c-torture/execute/pr21331.c (main): Likewise. + * gcc.c-torture/execute/pr34176.c (foo): Add missing int + type to definition of foo. + * gcc.c-torture/execute/pr42231.c (max): Add missing int type + to definition. + * gcc.c-torture/execute/pr42614.c (expect_func): Call + __builtin_abs instead of abs. + * gcc.c-torture/execute/pr54937.c (t): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/ptr-arith-1.c (main): Likewise. + * gcc.c-torture/execute/regstack-1.c (main): Likewise. + * gcc.c-torture/execute/scope-1.c (f): Add missing void types. + (main): Add missing int and void types. + * gcc.c-torture/execute/simd-5.c (main): Call __builtin_memcmp + instead of memcmp. + * gcc.c-torture/execute/strcmp-1.c (main): Add missing + int and void types. + * gcc.c-torture/execute/strcpy-1.c (main): Likewise. + * gcc.c-torture/execute/strct-pack-1.c (main): Likewise. + * gcc.c-torture/execute/strct-pack-2.c (main): Likewise. + * gcc.c-torture/execute/strct-pack-4.c (main): Likewise. + * gcc.c-torture/execute/strct-stdarg-1.c (f): Add void return + type. + (main): Add missing int and void types. + * gcc.c-torture/execute/strct-varg-1.c (f): Add void return + type. + (main): Add missing int and void types. + * gcc.c-torture/execute/strlen-1.c (main): Likewise. + * gcc.c-torture/execute/strncmp-1.c (main): Likewise. + * gcc.c-torture/execute/struct-ini-1.c (main): Likewise. + * gcc.c-torture/execute/struct-ini-2.c (main): Likewise. + * gcc.c-torture/execute/struct-ini-3.c (main): Likewise. + * gcc.c-torture/execute/struct-ini-4.c (main): Likewise. + * gcc.c-torture/execute/struct-ret-1.c (main): Likewise. + * gcc.c-torture/execute/struct-ret-2.c (main): Likewise. + * gcc.c-torture/execute/va-arg-1.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/va-arg-10.c (main): Likewise. + * gcc.c-torture/execute/va-arg-2.c (main): Likewise. + * gcc.c-torture/execute/va-arg-4.c (main): Likewise. + * gcc.c-torture/execute/va-arg-5.c (va_double) + (va_long_double): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/va-arg-6.c (f): Add void return type. + (main): Add missing int and void types. + * gcc.c-torture/execute/va-arg-9.c (main): Likewise. + * gcc.c-torture/execute/widechar-1.c (main): Likewise. + +2023-11-13 Florian Weimer + + * gcc.c-torture/execute/20000112-1.c: Declare exit and abort + as appropriate. + * gcc.c-torture/execute/20000113-1.c: Likewise. + * gcc.c-torture/execute/20000205-1.c: Likewise. + * gcc.c-torture/execute/20000217-1.c: Likewise. + * gcc.c-torture/execute/20000223-1.c: Likewise. + * gcc.c-torture/execute/20000224-1.c: Likewise. + * gcc.c-torture/execute/20000225-1.c: Likewise. + * gcc.c-torture/execute/20000227-1.c: Likewise. + * gcc.c-torture/execute/20000313-1.c: Likewise. + * gcc.c-torture/execute/20000314-1.c: Likewise. + * gcc.c-torture/execute/20000314-2.c: Likewise. + * gcc.c-torture/execute/20000314-3.c: Likewise. + * gcc.c-torture/execute/20000402-1.c: Likewise. + * gcc.c-torture/execute/20000403-1.c: Likewise. + * gcc.c-torture/execute/20000412-1.c: Likewise. + * gcc.c-torture/execute/20000412-2.c: Likewise. + * gcc.c-torture/execute/20000412-4.c: Likewise. + * gcc.c-torture/execute/20000412-5.c: Likewise. + * gcc.c-torture/execute/20000412-6.c: Likewise. + * gcc.c-torture/execute/20000419-1.c: Likewise. + * gcc.c-torture/execute/20000422-1.c: Likewise. + * gcc.c-torture/execute/20000503-1.c: Likewise. + * gcc.c-torture/execute/20000511-1.c: Likewise. + * gcc.c-torture/execute/20000519-1.c: Likewise. + * gcc.c-torture/execute/20000519-2.c: Likewise. + * gcc.c-torture/execute/20000523-1.c: Likewise. + * gcc.c-torture/execute/20000528-1.c: Likewise. + * gcc.c-torture/execute/20000603-1.c: Likewise. + * gcc.c-torture/execute/20000605-1.c: Likewise. + * gcc.c-torture/execute/20000605-2.c: Likewise. + * gcc.c-torture/execute/20000605-3.c: Likewise. + * gcc.c-torture/execute/20000622-1.c: Likewise. + * gcc.c-torture/execute/20000717-1.c: Likewise. + * gcc.c-torture/execute/20000717-2.c: Likewise. + * gcc.c-torture/execute/20000717-5.c: Likewise. + * gcc.c-torture/execute/20000722-1.c: Likewise. + * gcc.c-torture/execute/20000726-1.c: Likewise. + * gcc.c-torture/execute/20000731-1.c: Likewise. + * gcc.c-torture/execute/20000731-2.c: Likewise. + * gcc.c-torture/execute/20000801-3.c: Likewise. + * gcc.c-torture/execute/20000801-4.c: Likewise. + * gcc.c-torture/execute/20000808-1.c: Likewise. + * gcc.c-torture/execute/20000815-1.c: Likewise. + * gcc.c-torture/execute/20000818-1.c: Likewise. + * gcc.c-torture/execute/20000819-1.c: Likewise. + * gcc.c-torture/execute/20000822-1.c: Likewise. + * gcc.c-torture/execute/20000914-1.c: Likewise. + * gcc.c-torture/execute/20000917-1.c: Likewise. + * gcc.c-torture/execute/20001009-1.c: Likewise. + * gcc.c-torture/execute/20001009-2.c: Likewise. + * gcc.c-torture/execute/20001013-1.c: Likewise. + * gcc.c-torture/execute/20001017-1.c: Likewise. + * gcc.c-torture/execute/20001017-2.c: Likewise. + * gcc.c-torture/execute/20001024-1.c: Likewise. + * gcc.c-torture/execute/20001027-1.c: Likewise. + * gcc.c-torture/execute/20001101.c: Likewise. + * gcc.c-torture/execute/20001108-1.c: Likewise. + * gcc.c-torture/execute/20001112-1.c: Likewise. + * gcc.c-torture/execute/20001124-1.c: Likewise. + * gcc.c-torture/execute/20001130-1.c: Likewise. + * gcc.c-torture/execute/20001130-2.c: Likewise. + * gcc.c-torture/execute/20001203-2.c: Likewise. + * gcc.c-torture/execute/20001221-1.c: Likewise. + * gcc.c-torture/execute/20001228-1.c: Likewise. + * gcc.c-torture/execute/20001229-1.c: Likewise. + * gcc.c-torture/execute/20010106-1.c: Likewise. + * gcc.c-torture/execute/20010118-1.c: Likewise. + * gcc.c-torture/execute/20010119-1.c: Likewise. + * gcc.c-torture/execute/20010206-1.c: Likewise. + * gcc.c-torture/execute/20010209-1.c: Likewise. + * gcc.c-torture/execute/20010221-1.c: Likewise. + * gcc.c-torture/execute/20010222-1.c: Likewise. + * gcc.c-torture/execute/20010329-1.c: Likewise. + * gcc.c-torture/execute/20010403-1.c: Likewise. + * gcc.c-torture/execute/20010409-1.c: Likewise. + * gcc.c-torture/execute/20010422-1.c: Likewise. + * gcc.c-torture/execute/20010518-1.c: Likewise. + * gcc.c-torture/execute/20010518-2.c: Likewise. + * gcc.c-torture/execute/20010520-1.c: Likewise. + * gcc.c-torture/execute/20010604-1.c: Likewise. + * gcc.c-torture/execute/20010711-1.c: Likewise. + * gcc.c-torture/execute/20010723-1.c: Likewise. + * gcc.c-torture/execute/20010904-1.c: Likewise. + * gcc.c-torture/execute/20010904-2.c: Likewise. + * gcc.c-torture/execute/20010915-1.c: Likewise. + * gcc.c-torture/execute/20010924-1.c: Likewise. + * gcc.c-torture/execute/20011024-1.c: Likewise. + * gcc.c-torture/execute/20011109-1.c: Likewise. + * gcc.c-torture/execute/20011109-2.c: Likewise. + * gcc.c-torture/execute/20011114-1.c: Likewise. + * gcc.c-torture/execute/20011121-1.c: Likewise. + * gcc.c-torture/execute/20011126-1.c: Likewise. + * gcc.c-torture/execute/20011128-1.c: Likewise. + * gcc.c-torture/execute/20011217-1.c: Likewise. + * gcc.c-torture/execute/20020213-1.c: Likewise. + * gcc.c-torture/execute/20020215-1.c: Likewise. + * gcc.c-torture/execute/20020225-2.c: Likewise. + * gcc.c-torture/execute/20020226-1.c: Likewise. + * gcc.c-torture/execute/20020227-1.c: Likewise. + * gcc.c-torture/execute/20020307-1.c: Likewise. + * gcc.c-torture/execute/20020328-1.c: Likewise. + * gcc.c-torture/execute/20020404-1.c: Likewise. + * gcc.c-torture/execute/20020406-1.c: Likewise. + * gcc.c-torture/execute/20020413-1.c: Likewise. + * gcc.c-torture/execute/20020418-1.c: Likewise. + * gcc.c-torture/execute/20020508-1.c: Likewise. + * gcc.c-torture/execute/20020508-2.c: Likewise. + * gcc.c-torture/execute/20020508-3.c: Likewise. + * gcc.c-torture/execute/20020529-1.c: Likewise. + * gcc.c-torture/execute/20020611-1.c: Likewise. + * gcc.c-torture/execute/20020615-1.c: Likewise. + * gcc.c-torture/execute/20020619-1.c: Likewise. + * gcc.c-torture/execute/20020904-1.c: Likewise. + * gcc.c-torture/execute/20020916-1.c: Likewise. + * gcc.c-torture/execute/20021010-1.c: Likewise. + * gcc.c-torture/execute/20021113-1.c: Likewise. + * gcc.c-torture/execute/20021118-1.c: Likewise. + * gcc.c-torture/execute/20021118-2.c: Likewise. + * gcc.c-torture/execute/20021120-1.c: Likewise. + * gcc.c-torture/execute/20021120-2.c: Likewise. + * gcc.c-torture/execute/20021120-3.c: Likewise. + * gcc.c-torture/execute/20030105-1.c: Likewise. + * gcc.c-torture/execute/20030109-1.c: Likewise. + * gcc.c-torture/execute/20030117-1.c: Likewise. + * gcc.c-torture/execute/20030120-1.c: Likewise. + * gcc.c-torture/execute/20030125-1.c: Likewise. + * gcc.c-torture/execute/20030128-1.c: Likewise. + * gcc.c-torture/execute/20030209-1.c: Likewise. + * gcc.c-torture/execute/20030222-1.c: Likewise. + * gcc.c-torture/execute/20030316-1.c: Likewise. + * gcc.c-torture/execute/20030403-1.c: Likewise. + * gcc.c-torture/execute/20030404-1.c: Likewise. + * gcc.c-torture/execute/20030501-1.c: Likewise. + * gcc.c-torture/execute/20030606-1.c: Likewise. + * gcc.c-torture/execute/20030828-1.c: Likewise. + * gcc.c-torture/execute/20030828-2.c: Likewise. + * gcc.c-torture/execute/20030903-1.c: Likewise. + * gcc.c-torture/execute/20030910-1.c: Likewise. + * gcc.c-torture/execute/20030913-1.c: Likewise. + * gcc.c-torture/execute/20030914-1.c: Likewise. + * gcc.c-torture/execute/20030914-2.c: Likewise. + * gcc.c-torture/execute/20030916-1.c: Likewise. + * gcc.c-torture/execute/20030928-1.c: Likewise. + * gcc.c-torture/execute/20031010-1.c: Likewise. + * gcc.c-torture/execute/20031201-1.c: Likewise. + * gcc.c-torture/execute/20031204-1.c: Likewise. + * gcc.c-torture/execute/20031211-1.c: Likewise. + * gcc.c-torture/execute/20040208-1.c: Likewise. + * gcc.c-torture/execute/20040218-1.c: Likewise. + * gcc.c-torture/execute/20040307-1.c: Likewise. + * gcc.c-torture/execute/20040319-1.c: Likewise. + * gcc.c-torture/execute/20040411-1.c: Likewise. + * gcc.c-torture/execute/20040423-1.c: Likewise. + * gcc.c-torture/execute/20040625-1.c: Likewise. + * gcc.c-torture/execute/20040703-1.c: Likewise. + * gcc.c-torture/execute/20040706-1.c: Likewise. + * gcc.c-torture/execute/20040707-1.c: Likewise. + * gcc.c-torture/execute/20040805-1.c: Likewise. + * gcc.c-torture/execute/20040917-1.c: Likewise. + * gcc.c-torture/execute/20041011-1.c: Likewise. + * gcc.c-torture/execute/20041113-1.c: Likewise. + * gcc.c-torture/execute/20041124-1.c: Likewise. + * gcc.c-torture/execute/20041210-1.c: Likewise. + * gcc.c-torture/execute/20041212-1.c: Likewise. + * gcc.c-torture/execute/20050410-1.c: Likewise. + * gcc.c-torture/execute/20051113-1.c: Likewise. + * gcc.c-torture/execute/20070623-1.c: Likewise. + * gcc.c-torture/execute/20091229-1.c: Likewise. + * gcc.c-torture/execute/20101025-1.c: Likewise. + * gcc.c-torture/execute/20120817-1.c: Likewise. + * gcc.c-torture/execute/20170401-2.c: Likewise. + * gcc.c-torture/execute/900409-1.c: Likewise. + * gcc.c-torture/execute/920202-1.c: Likewise. + * gcc.c-torture/execute/920302-1.c: Likewise. + * gcc.c-torture/execute/920410-1.c: Likewise. + * gcc.c-torture/execute/920501-2.c: Likewise. + * gcc.c-torture/execute/920501-3.c: Likewise. + * gcc.c-torture/execute/920501-4.c: Likewise. + * gcc.c-torture/execute/920501-5.c: Likewise. + * gcc.c-torture/execute/920501-6.c: Likewise. + * gcc.c-torture/execute/920501-8.c: Likewise. + * gcc.c-torture/execute/920506-1.c: Likewise. + * gcc.c-torture/execute/920604-1.c: Likewise. + * gcc.c-torture/execute/920612-2.c: Likewise. + * gcc.c-torture/execute/920618-1.c: Likewise. + * gcc.c-torture/execute/920625-1.c: Likewise. + * gcc.c-torture/execute/920710-1.c: Likewise. + * gcc.c-torture/execute/920721-1.c: Likewise. + * gcc.c-torture/execute/920721-4.c: Likewise. + * gcc.c-torture/execute/920726-1.c: Likewise. + * gcc.c-torture/execute/920829-1.c: Likewise. + * gcc.c-torture/execute/920908-1.c: Likewise. + * gcc.c-torture/execute/920922-1.c: Likewise. + * gcc.c-torture/execute/920929-1.c: Likewise. + * gcc.c-torture/execute/921006-1.c: Likewise. + * gcc.c-torture/execute/921007-1.c: Likewise. + * gcc.c-torture/execute/921016-1.c: Likewise. + * gcc.c-torture/execute/921019-1.c: Likewise. + * gcc.c-torture/execute/921019-2.c: Likewise. + * gcc.c-torture/execute/921029-1.c: Likewise. + * gcc.c-torture/execute/921104-1.c: Likewise. + * gcc.c-torture/execute/921112-1.c: Likewise. + * gcc.c-torture/execute/921113-1.c: Likewise. + * gcc.c-torture/execute/921117-1.c: Likewise. + * gcc.c-torture/execute/921123-2.c: Likewise. + * gcc.c-torture/execute/921202-2.c: Likewise. + * gcc.c-torture/execute/921204-1.c: Likewise. + * gcc.c-torture/execute/921208-1.c: Likewise. + * gcc.c-torture/execute/930123-1.c: Likewise. + * gcc.c-torture/execute/930126-1.c: Likewise. + * gcc.c-torture/execute/930406-1.c: Likewise. + * gcc.c-torture/execute/930408-1.c: Likewise. + * gcc.c-torture/execute/930429-1.c: Likewise. + * gcc.c-torture/execute/930603-2.c: Likewise. + * gcc.c-torture/execute/930608-1.c: Likewise. + * gcc.c-torture/execute/930614-1.c: Likewise. + * gcc.c-torture/execute/930614-2.c: Likewise. + * gcc.c-torture/execute/930622-2.c: Likewise. + * gcc.c-torture/execute/930628-1.c: Likewise. + * gcc.c-torture/execute/930725-1.c: Likewise. + * gcc.c-torture/execute/930930-2.c: Likewise. + * gcc.c-torture/execute/931002-1.c: Likewise. + * gcc.c-torture/execute/931004-1.c: Likewise. + * gcc.c-torture/execute/931004-10.c: Likewise. + * gcc.c-torture/execute/931004-11.c: Likewise. + * gcc.c-torture/execute/931004-12.c: Likewise. + * gcc.c-torture/execute/931004-13.c: Likewise. + * gcc.c-torture/execute/931004-14.c: Likewise. + * gcc.c-torture/execute/931004-2.c: Likewise. + * gcc.c-torture/execute/931004-3.c: Likewise. + * gcc.c-torture/execute/931004-4.c: Likewise. + * gcc.c-torture/execute/931004-5.c: Likewise. + * gcc.c-torture/execute/931004-6.c: Likewise. + * gcc.c-torture/execute/931004-7.c: Likewise. + * gcc.c-torture/execute/931004-8.c: Likewise. + * gcc.c-torture/execute/931004-9.c: Likewise. + * gcc.c-torture/execute/931005-1.c: Likewise. + * gcc.c-torture/execute/931110-1.c: Likewise. + * gcc.c-torture/execute/931110-2.c: Likewise. + * gcc.c-torture/execute/941014-1.c: Likewise. + * gcc.c-torture/execute/941015-1.c: Likewise. + * gcc.c-torture/execute/941021-1.c: Likewise. + * gcc.c-torture/execute/941025-1.c: Likewise. + * gcc.c-torture/execute/941031-1.c: Likewise. + * gcc.c-torture/execute/950221-1.c: Likewise. + * gcc.c-torture/execute/950426-2.c: Likewise. + * gcc.c-torture/execute/950503-1.c: Likewise. + * gcc.c-torture/execute/950511-1.c: Likewise. + * gcc.c-torture/execute/950607-1.c: Likewise. + * gcc.c-torture/execute/950607-2.c: Likewise. + * gcc.c-torture/execute/950612-1.c: Likewise. + * gcc.c-torture/execute/950628-1.c: Likewise. + * gcc.c-torture/execute/950704-1.c: Likewise. + * gcc.c-torture/execute/950706-1.c: Likewise. + * gcc.c-torture/execute/950710-1.c: Likewise. + * gcc.c-torture/execute/950714-1.c: Likewise. + * gcc.c-torture/execute/950809-1.c: Likewise. + * gcc.c-torture/execute/950906-1.c: Likewise. + * gcc.c-torture/execute/950915-1.c: Likewise. + * gcc.c-torture/execute/950929-1.c: Likewise. + * gcc.c-torture/execute/951003-1.c: Likewise. + * gcc.c-torture/execute/951115-1.c: Likewise. + * gcc.c-torture/execute/951204-1.c: Likewise. + * gcc.c-torture/execute/960116-1.c: Likewise. + * gcc.c-torture/execute/960117-1.c: Likewise. + * gcc.c-torture/execute/960209-1.c: Likewise. + * gcc.c-torture/execute/960215-1.c: Likewise. + * gcc.c-torture/execute/960219-1.c: Likewise. + * gcc.c-torture/execute/960301-1.c: Likewise. + * gcc.c-torture/execute/960302-1.c: Likewise. + * gcc.c-torture/execute/960311-1.c: Likewise. + * gcc.c-torture/execute/960311-2.c: Likewise. + * gcc.c-torture/execute/960311-3.c: Likewise. + * gcc.c-torture/execute/960312-1.c: Likewise. + * gcc.c-torture/execute/960317-1.c: Likewise. + * gcc.c-torture/execute/960321-1.c: Likewise. + * gcc.c-torture/execute/960326-1.c: Likewise. + * gcc.c-torture/execute/960327-1.c: Likewise. + * gcc.c-torture/execute/960405-1.c: Likewise. + * gcc.c-torture/execute/960416-1.c: Likewise. + * gcc.c-torture/execute/960419-1.c: Likewise. + * gcc.c-torture/execute/960419-2.c: Likewise. + * gcc.c-torture/execute/960512-1.c: Likewise. + * gcc.c-torture/execute/960513-1.c: Likewise. + * gcc.c-torture/execute/960608-1.c: Likewise. + * gcc.c-torture/execute/960801-1.c: Likewise. + * gcc.c-torture/execute/960802-1.c: Likewise. + * gcc.c-torture/execute/960909-1.c: Likewise. + * gcc.c-torture/execute/961004-1.c: Likewise. + * gcc.c-torture/execute/961017-1.c: Likewise. + * gcc.c-torture/execute/961017-2.c: Likewise. + * gcc.c-torture/execute/961026-1.c: Likewise. + * gcc.c-torture/execute/961122-1.c: Likewise. + * gcc.c-torture/execute/961122-2.c: Likewise. + * gcc.c-torture/execute/961125-1.c: Likewise. + * gcc.c-torture/execute/961206-1.c: Likewise. + * gcc.c-torture/execute/961213-1.c: Likewise. + * gcc.c-torture/execute/970214-1.c: Likewise. + * gcc.c-torture/execute/970214-2.c: Likewise. + * gcc.c-torture/execute/970217-1.c: Likewise. + * gcc.c-torture/execute/970923-1.c: Likewise. + * gcc.c-torture/execute/980205.c: Likewise. + * gcc.c-torture/execute/980223.c: Likewise. + * gcc.c-torture/execute/980424-1.c: Likewise. + * gcc.c-torture/execute/980505-1.c: Likewise. + * gcc.c-torture/execute/980505-2.c: Likewise. + * gcc.c-torture/execute/980506-1.c: Likewise. + * gcc.c-torture/execute/980506-2.c: Likewise. + * gcc.c-torture/execute/980506-3.c: Likewise. + * gcc.c-torture/execute/980526-1.c: Likewise. + * gcc.c-torture/execute/980526-2.c: Likewise. + * gcc.c-torture/execute/980526-3.c: Likewise. + * gcc.c-torture/execute/980602-1.c: Likewise. + * gcc.c-torture/execute/980602-2.c: Likewise. + * gcc.c-torture/execute/980604-1.c: Likewise. + * gcc.c-torture/execute/980605-1.c: Likewise. + * gcc.c-torture/execute/980612-1.c: Likewise. + * gcc.c-torture/execute/980617-1.c: Likewise. + * gcc.c-torture/execute/980618-1.c: Likewise. + * gcc.c-torture/execute/980701-1.c: Likewise. + * gcc.c-torture/execute/980709-1.c: Likewise. + * gcc.c-torture/execute/980716-1.c: Likewise. + * gcc.c-torture/execute/980929-1.c: Likewise. + * gcc.c-torture/execute/981001-1.c: Likewise. + * gcc.c-torture/execute/981019-1.c: Likewise. + * gcc.c-torture/execute/981130-1.c: Likewise. + * gcc.c-torture/execute/981206-1.c: Likewise. + * gcc.c-torture/execute/990106-2.c: Likewise. + * gcc.c-torture/execute/990117-1.c: Likewise. + * gcc.c-torture/execute/990128-1.c: Likewise. + * gcc.c-torture/execute/990130-1.c: Likewise. + * gcc.c-torture/execute/990208-1.c: Likewise. + * gcc.c-torture/execute/990222-1.c: Likewise. + * gcc.c-torture/execute/990324-1.c: Likewise. + * gcc.c-torture/execute/990326-1.c: Likewise. + * gcc.c-torture/execute/990404-1.c: Likewise. + * gcc.c-torture/execute/990513-1.c: Likewise. + * gcc.c-torture/execute/990524-1.c: Likewise. + * gcc.c-torture/execute/990525-1.c: Likewise. + * gcc.c-torture/execute/990525-2.c: Likewise. + * gcc.c-torture/execute/990527-1.c: Likewise. + * gcc.c-torture/execute/990531-1.c: Likewise. + * gcc.c-torture/execute/990604-1.c: Likewise. + * gcc.c-torture/execute/990804-1.c: Likewise. + * gcc.c-torture/execute/990811-1.c: Likewise. + * gcc.c-torture/execute/990826-0.c: Likewise. + * gcc.c-torture/execute/990827-1.c: Likewise. + * gcc.c-torture/execute/990829-1.c: Likewise. + * gcc.c-torture/execute/990923-1.c: Likewise. + * gcc.c-torture/execute/991014-1.c: Likewise. + * gcc.c-torture/execute/991016-1.c: Likewise. + * gcc.c-torture/execute/991019-1.c: Likewise. + * gcc.c-torture/execute/991023-1.c: Likewise. + * gcc.c-torture/execute/991030-1.c: Likewise. + * gcc.c-torture/execute/991112-1.c: Likewise. + * gcc.c-torture/execute/991118-1.c: Likewise. + * gcc.c-torture/execute/991201-1.c: Likewise. + * gcc.c-torture/execute/991202-1.c: Likewise. + * gcc.c-torture/execute/991202-2.c: Likewise. + * gcc.c-torture/execute/991202-3.c: Likewise. + * gcc.c-torture/execute/991216-1.c: Likewise. + * gcc.c-torture/execute/991216-2.c: Likewise. + * gcc.c-torture/execute/991216-4.c: Likewise. + * gcc.c-torture/execute/991221-1.c: Likewise. + * gcc.c-torture/execute/991227-1.c: Likewise. + * gcc.c-torture/execute/991228-1.c: Likewise. + * gcc.c-torture/execute/align-1.c: Likewise. + * gcc.c-torture/execute/align-2.c: Likewise. + * gcc.c-torture/execute/align-3.c: Likewise. + * gcc.c-torture/execute/alloca-1.c: Likewise. + * gcc.c-torture/execute/anon-1.c: Likewise. + * gcc.c-torture/execute/arith-1.c: Likewise. + * gcc.c-torture/execute/arith-rand-ll.c: Likewise. + * gcc.c-torture/execute/arith-rand.c: Likewise. + * gcc.c-torture/execute/bf-layout-1.c: Likewise. + * gcc.c-torture/execute/bf-pack-1.c: Likewise. + * gcc.c-torture/execute/bf-sign-1.c: Likewise. + * gcc.c-torture/execute/bf-sign-2.c: Likewise. + * gcc.c-torture/execute/bf64-1.c: Likewise. + * gcc.c-torture/execute/builtin-constant.c: Likewise. + * gcc.c-torture/execute/builtin-prefetch-1.c: Likewise. + * gcc.c-torture/execute/builtin-prefetch-2.c: Likewise. + * gcc.c-torture/execute/builtin-prefetch-3.c: Likewise. + * gcc.c-torture/execute/builtin-prefetch-4.c: Likewise. + * gcc.c-torture/execute/builtin-prefetch-5.c: Likewise. + * gcc.c-torture/execute/builtin-prefetch-6.c: Likewise. + * gcc.c-torture/execute/builtin-types-compatible-p.c: Likewise. + * gcc.c-torture/execute/cbrt.c: Likewise. + * gcc.c-torture/execute/complex-1.c: Likewise. + * gcc.c-torture/execute/complex-2.c: Likewise. + * gcc.c-torture/execute/complex-3.c: Likewise. + * gcc.c-torture/execute/complex-4.c: Likewise. + * gcc.c-torture/execute/complex-5.c: Likewise. + * gcc.c-torture/execute/compndlit-1.c: Likewise. + * gcc.c-torture/execute/conversion.c: Likewise. + * gcc.c-torture/execute/cvt-1.c: Likewise. + * gcc.c-torture/execute/divconst-1.c: Likewise. + * gcc.c-torture/execute/divconst-2.c: Likewise. + * gcc.c-torture/execute/divconst-3.c: Likewise. + * gcc.c-torture/execute/enum-1.c: Likewise. + * gcc.c-torture/execute/enum-2.c: Likewise. + * gcc.c-torture/execute/extzvsi.c: Likewise. + * gcc.c-torture/execute/frame-address.c: Likewise. + * gcc.c-torture/execute/func-ptr-1.c: Likewise. + * gcc.c-torture/execute/gofast.c: Likewise. + * gcc.c-torture/execute/ieee/20000320-1.c: Likewise. + * gcc.c-torture/execute/ieee/20001122-1.c: Likewise. + * gcc.c-torture/execute/ieee/20010226-1.c: Likewise. + * gcc.c-torture/execute/ieee/20011123-1.c: Likewise. + * gcc.c-torture/execute/ieee/920518-1.c: Likewise. + * gcc.c-torture/execute/ieee/920810-1.c: Likewise. + * gcc.c-torture/execute/ieee/930529-1.c: Likewise. + * gcc.c-torture/execute/ieee/980619-1.c: Likewise. + * gcc.c-torture/execute/ieee/acc1.c: Likewise. + * gcc.c-torture/execute/ieee/acc2.c: Likewise. + * gcc.c-torture/execute/ieee/fp-cmp-1.c: Likewise. + * gcc.c-torture/execute/ieee/fp-cmp-2.c: Likewise. + * gcc.c-torture/execute/ieee/fp-cmp-3.c: Likewise. + * gcc.c-torture/execute/ieee/fp-cmp-4.c: Likewise. + * gcc.c-torture/execute/ieee/fp-cmp-5.c: Likewise. + * gcc.c-torture/execute/ieee/fp-cmp-6.c: Likewise. + * gcc.c-torture/execute/ieee/fp-cmp-8.c: Likewise. + * gcc.c-torture/execute/ieee/fp-cmp-9.c: Likewise. + * gcc.c-torture/execute/ieee/hugeval.c: Likewise. + * gcc.c-torture/execute/ieee/minuszero.c: Likewise. + * gcc.c-torture/execute/ieee/mul-subnormal-single-1.c: Likewise. + * gcc.c-torture/execute/ieee/mzero2.c: Likewise. + * gcc.c-torture/execute/ieee/mzero3.c: Likewise. + * gcc.c-torture/execute/ieee/mzero5.c: Likewise. + * gcc.c-torture/execute/ieee/mzero6.c: Likewise. + * gcc.c-torture/execute/ieee/pr28634.c: Likewise. + * gcc.c-torture/execute/ieee/rbug.c: Likewise. + * gcc.c-torture/execute/index-1.c: Likewise. + * gcc.c-torture/execute/longlong.c: Likewise. + * gcc.c-torture/execute/loop-1.c: Likewise. + * gcc.c-torture/execute/loop-10.c: Likewise. + * gcc.c-torture/execute/loop-11.c: Likewise. + * gcc.c-torture/execute/loop-13.c: Likewise. + * gcc.c-torture/execute/loop-14.c: Likewise. + * gcc.c-torture/execute/loop-15.c: Likewise. + * gcc.c-torture/execute/loop-2b.c: Likewise. + * gcc.c-torture/execute/loop-2e.c: Likewise. + * gcc.c-torture/execute/loop-4.c: Likewise. + * gcc.c-torture/execute/loop-4b.c: Likewise. + * gcc.c-torture/execute/loop-5.c: Likewise. + * gcc.c-torture/execute/loop-6.c: Likewise. + * gcc.c-torture/execute/loop-7.c: Likewise. + * gcc.c-torture/execute/loop-8.c: Likewise. + * gcc.c-torture/execute/memcpy-1.c: Likewise. + * gcc.c-torture/execute/memcpy-2.c: Likewise. + * gcc.c-torture/execute/memcpy-bi.c: Likewise. + * gcc.c-torture/execute/memset-1.c: Likewise. + * gcc.c-torture/execute/memset-2.c: Likewise. + * gcc.c-torture/execute/memset-3.c: Likewise. + * gcc.c-torture/execute/multdi-1.c: Likewise. + * gcc.c-torture/execute/multi-ix.c: Likewise. + * gcc.c-torture/execute/nest-stdar-1.c: Likewise. + * gcc.c-torture/execute/nestfunc-1.c: Likewise. + * gcc.c-torture/execute/nestfunc-2.c: Likewise. + * gcc.c-torture/execute/nestfunc-3.c: Likewise. + * gcc.c-torture/execute/nestfunc-4.c: Likewise. + * gcc.c-torture/execute/packed-1.c: Likewise. + * gcc.c-torture/execute/pending-4.c: Likewise. + * gcc.c-torture/execute/pr15262-1.c: Likewise. + * gcc.c-torture/execute/pr15262-2.c: Likewise. + * gcc.c-torture/execute/pr15262.c: Likewise. + * gcc.c-torture/execute/pr15296.c: Likewise. + * gcc.c-torture/execute/pr17252.c: Likewise. + * gcc.c-torture/execute/pr17377.c: Likewise. + * gcc.c-torture/execute/pr19606.c: Likewise. + * gcc.c-torture/execute/pr21964-1.c: Likewise. + * gcc.c-torture/execute/pr22061-2.c: Likewise. + * gcc.c-torture/execute/pr22061-3.c: Likewise. + * gcc.c-torture/execute/pr22061-4.c: Likewise. + * gcc.c-torture/execute/pr23467.c: Likewise. + * gcc.c-torture/execute/pr27073.c: Likewise. + * gcc.c-torture/execute/pr27364.c: Likewise. + * gcc.c-torture/execute/pr28403.c: Likewise. + * gcc.c-torture/execute/pr31605.c: Likewise. + * gcc.c-torture/execute/pr38969.c: Likewise. + * gcc.c-torture/execute/pr40657.c: Likewise. + * gcc.c-torture/execute/pr44575.c: Likewise. + * gcc.c-torture/execute/pr56799.c: Likewise. + * gcc.c-torture/execute/pr58640.c: Likewise. + * gcc.c-torture/execute/pr71335.c: Likewise. + * gcc.c-torture/execute/ptr-arith-1.c: Likewise. + * gcc.c-torture/execute/regstack-1.c: Likewise. + * gcc.c-torture/execute/scope-1.c: Likewise. + * gcc.c-torture/execute/simd-1.c: Likewise. + * gcc.c-torture/execute/simd-2.c: Likewise. + * gcc.c-torture/execute/simd-4.c: Likewise. + * gcc.c-torture/execute/simd-5.c: Likewise. + * gcc.c-torture/execute/strcmp-1.c: Likewise. + * gcc.c-torture/execute/strcpy-1.c: Likewise. + * gcc.c-torture/execute/strct-pack-1.c: Likewise. + * gcc.c-torture/execute/strct-pack-2.c: Likewise. + * gcc.c-torture/execute/strct-pack-4.c: Likewise. + * gcc.c-torture/execute/strct-stdarg-1.c: Likewise. + * gcc.c-torture/execute/strct-varg-1.c: Likewise. + * gcc.c-torture/execute/strlen-1.c: Likewise. + * gcc.c-torture/execute/strncmp-1.c: Likewise. + * gcc.c-torture/execute/struct-ini-1.c: Likewise. + * gcc.c-torture/execute/struct-ini-2.c: Likewise. + * gcc.c-torture/execute/struct-ini-3.c: Likewise. + * gcc.c-torture/execute/struct-ini-4.c: Likewise. + * gcc.c-torture/execute/struct-ret-1.c: Likewise. + * gcc.c-torture/execute/struct-ret-2.c: Likewise. + * gcc.c-torture/execute/usmul.c: Likewise. + * gcc.c-torture/execute/va-arg-1.c: Likewise. + * gcc.c-torture/execute/va-arg-10.c: Likewise. + * gcc.c-torture/execute/va-arg-11.c: Likewise. + * gcc.c-torture/execute/va-arg-12.c: Likewise. + * gcc.c-torture/execute/va-arg-13.c: Likewise. + * gcc.c-torture/execute/va-arg-14.c: Likewise. + * gcc.c-torture/execute/va-arg-15.c: Likewise. + * gcc.c-torture/execute/va-arg-16.c: Likewise. + * gcc.c-torture/execute/va-arg-17.c: Likewise. + * gcc.c-torture/execute/va-arg-18.c: Likewise. + * gcc.c-torture/execute/va-arg-19.c: Likewise. + * gcc.c-torture/execute/va-arg-2.c: Likewise. + * gcc.c-torture/execute/va-arg-20.c: Likewise. + * gcc.c-torture/execute/va-arg-23.c: Likewise. + * gcc.c-torture/execute/va-arg-26.c: Likewise. + * gcc.c-torture/execute/va-arg-4.c: Likewise. + * gcc.c-torture/execute/va-arg-5.c: Likewise. + * gcc.c-torture/execute/va-arg-6.c: Likewise. + * gcc.c-torture/execute/va-arg-9.c: Likewise. + * gcc.c-torture/execute/widechar-1.c: Likewise. + * gcc.c-torture/execute/widechar-2.c: Likewise. + +2023-11-13 Florian Weimer + + * gcc.c-torture/compile/386.c: Compile with -std=gnu89. + * gcc.c-torture/compile/BUG1.c: Likewise. + * gcc.c-torture/compile/BUG11.c: Likewise. + * gcc.c-torture/compile/BUG16.c: Likewise. + * gcc.c-torture/compile/BUG2.c: Likewise. + * gcc.c-torture/compile/BUG24.c: Likewise. + * gcc.c-torture/compile/BUG25.c: Likewise. + * gcc.c-torture/compile/BUG3.c: Likewise. + * gcc.c-torture/compile/DFcmp.c: Likewise. + * gcc.c-torture/compile/HIcmp.c: Likewise. + * gcc.c-torture/compile/HIset.c: Likewise. + * gcc.c-torture/compile/QIcmp.c: Likewise. + * gcc.c-torture/compile/QIset.c: Likewise. + * gcc.c-torture/compile/SFset.c: Likewise. + * gcc.c-torture/compile/SIcmp.c: Likewise. + * gcc.c-torture/compile/SIset.c: Likewise. + * gcc.c-torture/compile/UHIcmp.c: Likewise. + * gcc.c-torture/compile/UQIcmp.c: Likewise. + * gcc.c-torture/compile/USIcmp.c: Likewise. + * gcc.c-torture/compile/a.c: Likewise. + * gcc.c-torture/compile/a1.c: Likewise. + * gcc.c-torture/compile/a3.c: Likewise. + * gcc.c-torture/compile/aa.c: Likewise. + * gcc.c-torture/compile/aaa.c: Likewise. + * gcc.c-torture/compile/abs.c: Likewise. + * gcc.c-torture/compile/ac.c: Likewise. + * gcc.c-torture/compile/acc.c: Likewise. + * gcc.c-torture/compile/add.c: Likewise. + * gcc.c-torture/compile/add386.c: Likewise. + * gcc.c-torture/compile/addcc.c: Likewise. + * gcc.c-torture/compile/andm.c: Likewise. + * gcc.c-torture/compile/andmem.c: Likewise. + * gcc.c-torture/compile/andn.c: Likewise. + * gcc.c-torture/compile/andok.c: Likewise. + * gcc.c-torture/compile/andsi.c: Likewise. + * gcc.c-torture/compile/andsparc.c: Likewise. + * gcc.c-torture/compile/aos.c: Likewise. + * gcc.c-torture/compile/arr.c: Likewise. + * gcc.c-torture/compile/as.c: Likewise. + * gcc.c-torture/compile/ase.c: Likewise. + * gcc.c-torture/compile/band.c: Likewise. + * gcc.c-torture/compile/bb0.c: Likewise. + * gcc.c-torture/compile/bb1.c: Likewise. + * gcc.c-torture/compile/bc.c: Likewise. + * gcc.c-torture/compile/bcopy.c: Likewise. + * gcc.c-torture/compile/bfx.c: Likewise. + * gcc.c-torture/compile/bge.c: Likewise. + * gcc.c-torture/compile/bit.c: Likewise. + * gcc.c-torture/compile/bitf.c: Likewise. + * gcc.c-torture/compile/bitw.c: Likewise. + * gcc.c-torture/compile/blk.c: Likewise. + * gcc.c-torture/compile/bt386.c: Likewise. + * gcc.c-torture/compile/bug.c: Likewise. + * gcc.c-torture/compile/buns.c: Likewise. + * gcc.c-torture/compile/c.c: Likewise. + * gcc.c-torture/compile/c2.c: Likewise. + * gcc.c-torture/compile/call.c: Likewise. + * gcc.c-torture/compile/callind.c: Likewise. + * gcc.c-torture/compile/calls-void.c: Likewise. + * gcc.c-torture/compile/calls.c: Likewise. + * gcc.c-torture/compile/cc.c: Likewise. + * gcc.c-torture/compile/cmb.c: Likewise. + * gcc.c-torture/compile/cmpsi386.c: Likewise. + * gcc.c-torture/compile/cmul.c: Likewise. + * gcc.c-torture/compile/comb.c: Likewise. + * gcc.c-torture/compile/consec.c: Likewise. + * gcc.c-torture/compile/const.c: Likewise. + * gcc.c-torture/compile/conv_tst.c: Likewise. + * gcc.c-torture/compile/cvt.c: Likewise. + * gcc.c-torture/compile/dbl_parm.c: Likewise. + * gcc.c-torture/compile/dblbug.c: Likewise. + * gcc.c-torture/compile/dead.c: Likewise. + * gcc.c-torture/compile/delay.c: Likewise. + * gcc.c-torture/compile/di.c: Likewise. + * gcc.c-torture/compile/div.c: Likewise. + * gcc.c-torture/compile/dm.c: Likewise. + * gcc.c-torture/compile/dshift.c: Likewise. + * gcc.c-torture/compile/e.c: Likewise. + * gcc.c-torture/compile/ex.c: Likewise. + * gcc.c-torture/compile/ext.c: Likewise. + * gcc.c-torture/compile/flo.c: Likewise. + * gcc.c-torture/compile/forgetcc.c: Likewise. + * gcc.c-torture/compile/g.c: Likewise. + * gcc.c-torture/compile/gen_tst.c: Likewise. + * gcc.c-torture/compile/gronk.c: Likewise. + * gcc.c-torture/compile/hi.c: Likewise. + * gcc.c-torture/compile/i.c: Likewise. + * gcc.c-torture/compile/icmp.c: Likewise. + * gcc.c-torture/compile/ifreg.c: Likewise. + * gcc.c-torture/compile/jumptab.c: Likewise. + * gcc.c-torture/compile/l.c: Likewise. + * gcc.c-torture/compile/layout.c: Likewise. + * gcc.c-torture/compile/lll.c: Likewise. + * gcc.c-torture/compile/load8.c: Likewise. + * gcc.c-torture/compile/loadhicc.c: Likewise. + * gcc.c-torture/compile/log2.c: Likewise. + * gcc.c-torture/compile/logic.c: Likewise. + * gcc.c-torture/compile/loop-1.c: Likewise. + * gcc.c-torture/compile/loop386.c: Likewise. + * gcc.c-torture/compile/lop.c: Likewise. + * gcc.c-torture/compile/m1.c: Likewise. + * gcc.c-torture/compile/m5.c: Likewise. + * gcc.c-torture/compile/m68.c: Likewise. + * gcc.c-torture/compile/mbyte.c: Likewise. + * gcc.c-torture/compile/mcmp.c: Likewise. + * gcc.c-torture/compile/mm.c: Likewise. + * gcc.c-torture/compile/mod.c: Likewise. + * gcc.c-torture/compile/modcc.c: Likewise. + * gcc.c-torture/compile/move.c: Likewise. + * gcc.c-torture/compile/move_qhi.c: Likewise. + * gcc.c-torture/compile/mregtst.c: Likewise. + * gcc.c-torture/compile/mu.c: Likewise. + * gcc.c-torture/compile/mword.c: Likewise. + * gcc.c-torture/compile/n.c: Likewise. + * gcc.c-torture/compile/n1.c: Likewise. + * gcc.c-torture/compile/nand.c: Likewise. + * gcc.c-torture/compile/neg.c: Likewise. + * gcc.c-torture/compile/o.c: Likewise. + * gcc.c-torture/compile/omit.c: Likewise. + * gcc.c-torture/compile/opout.c: Likewise. + * gcc.c-torture/compile/opt.c: Likewise. + * gcc.c-torture/compile/or.c: Likewise. + * gcc.c-torture/compile/or386.c: Likewise. + * gcc.c-torture/compile/p.c: Likewise. + * gcc.c-torture/compile/parms.c: Likewise. + * gcc.c-torture/compile/pass.c: Likewise. + * gcc.c-torture/compile/pp.c: Likewise. + * gcc.c-torture/compile/pret-arg.c: Likewise. + * gcc.c-torture/compile/pyr.c: Likewise. + * gcc.c-torture/compile/pyr2.c: Likewise. + * gcc.c-torture/compile/r.c: Likewise. + * gcc.c-torture/compile/r1.c: Likewise. + * gcc.c-torture/compile/rmsc.c: Likewise. + * gcc.c-torture/compile/round.c: Likewise. + * gcc.c-torture/compile/sc.c: Likewise. + * gcc.c-torture/compile/scal.c: Likewise. + * gcc.c-torture/compile/scc.c: Likewise. + * gcc.c-torture/compile/scond.c: Likewise. + * gcc.c-torture/compile/seq.c: Likewise. + * gcc.c-torture/compile/set386.c: Likewise. + * gcc.c-torture/compile/set88.c: Likewise. + * gcc.c-torture/compile/sh.c: Likewise. + * gcc.c-torture/compile/shand.c: Likewise. + * gcc.c-torture/compile/shft.c: Likewise. + * gcc.c-torture/compile/shift.c: Likewise. + * gcc.c-torture/compile/signext.c: Likewise. + * gcc.c-torture/compile/signext2.c: Likewise. + * gcc.c-torture/compile/simple.c: Likewise. + * gcc.c-torture/compile/sparcbug.c: Likewise. + * gcc.c-torture/compile/stor.c: Likewise. + * gcc.c-torture/compile/str.c: Likewise. + * gcc.c-torture/compile/structret.c: Likewise. + * gcc.c-torture/compile/sub32.c: Likewise. + * gcc.c-torture/compile/subcc.c: Likewise. + * gcc.c-torture/compile/subcse.c: Likewise. + * gcc.c-torture/compile/sym.c: Likewise. + * gcc.c-torture/compile/symconst.c: Likewise. + * gcc.c-torture/compile/t.c: Likewise. + * gcc.c-torture/compile/test-flow.c: Likewise. + * gcc.c-torture/compile/test-loop.c: Likewise. + * gcc.c-torture/compile/test.c: Likewise. + * gcc.c-torture/compile/tmp.c: Likewise. + * gcc.c-torture/compile/trivial.c: Likewise. + * gcc.c-torture/compile/trunc.c: Likewise. + * gcc.c-torture/compile/u.c: Likewise. + * gcc.c-torture/compile/uns.c: Likewise. + * gcc.c-torture/compile/uns_tst.c: Likewise. + * gcc.c-torture/compile/uuarg.c: Likewise. + * gcc.c-torture/compile/volatile-1.c: Likewise. + * gcc.c-torture/compile/ww.c: Likewise. + * gcc.c-torture/compile/x.c: Likewise. + * gcc.c-torture/compile/xb.c: Likewise. + * gcc.c-torture/compile/xc.c: Likewise. + * gcc.c-torture/compile/xdi.c: Likewise. + * gcc.c-torture/compile/xfoo.c: Likewise. + * gcc.c-torture/compile/xi.c: Likewise. + * gcc.c-torture/compile/xlop.c: Likewise. + * gcc.c-torture/compile/xneg.c: Likewise. + * gcc.c-torture/compile/xopt.c: Likewise. + * gcc.c-torture/compile/xor.c: Likewise. + * gcc.c-torture/compile/xorn.c: Likewise. + * gcc.c-torture/compile/xp.c: Likewise. + * gcc.c-torture/compile/xpp.c: Likewise. + * gcc.c-torture/compile/xs.c: Likewise. + * gcc.c-torture/compile/xsh.c: Likewise. + * gcc.c-torture/compile/xzz.c: Likewise. + * gcc.c-torture/compile/zero-strct-1.c: Likewise. + * gcc.c-torture/execute/20000717-3.c: Likewise. + * gcc.c-torture/execute/920409-1.c: Likewise. + * gcc.c-torture/execute/920411-1.c: Likewise. + * gcc.c-torture/execute/920415-1.c: Likewise. + * gcc.c-torture/execute/920428-1.c: Likewise. + * gcc.c-torture/execute/920428-2.c: Likewise. + * gcc.c-torture/execute/920429-1.c: Likewise. + * gcc.c-torture/execute/920501-1.c: Likewise. + * gcc.c-torture/execute/920501-7.c: Likewise. + * gcc.c-torture/execute/920501-9.c: Likewise. + * gcc.c-torture/execute/920520-1.c: Likewise. + * gcc.c-torture/execute/920603-1.c: Likewise. + * gcc.c-torture/execute/920721-2.c: Likewise. + * gcc.c-torture/execute/920721-3.c: Likewise. + * gcc.c-torture/execute/920728-1.c: Likewise. + * gcc.c-torture/execute/920730-1.c: Likewise. + * gcc.c-torture/execute/920731-1.c: Likewise. + * gcc.c-torture/execute/920812-1.c: Likewise. + * gcc.c-torture/execute/920909-1.c: Likewise. + * gcc.c-torture/execute/921013-1.c: Likewise. + * gcc.c-torture/execute/921017-1.c: Likewise. + * gcc.c-torture/execute/921123-1.c: Likewise. + * gcc.c-torture/execute/921124-1.c: Likewise. + * gcc.c-torture/execute/921202-1.c: Likewise. + * gcc.c-torture/execute/921207-1.c: Likewise. + * gcc.c-torture/execute/921208-2.c: Likewise. + * gcc.c-torture/execute/921215-1.c: Likewise. + * gcc.c-torture/execute/921218-1.c: Likewise. + * gcc.c-torture/execute/921218-2.c: Likewise. + * gcc.c-torture/execute/930106-1.c: Likewise. + * gcc.c-torture/execute/930429-2.c: Likewise. + * gcc.c-torture/execute/930513-1.c: Likewise. + * gcc.c-torture/execute/930513-2.c: Likewise. + * gcc.c-torture/execute/930518-1.c: Likewise. + * gcc.c-torture/execute/930527-1.c: Likewise. + * gcc.c-torture/execute/930603-1.c: Likewise. + * gcc.c-torture/execute/930603-3.c: Likewise. + * gcc.c-torture/execute/930621-1.c: Likewise. + * gcc.c-torture/execute/930622-1.c: Likewise. + * gcc.c-torture/execute/930630-1.c: Likewise. + * gcc.c-torture/execute/930713-1.c: Likewise. + * gcc.c-torture/execute/930718-1.c: Likewise. + * gcc.c-torture/execute/930719-1.c: Likewise. + * gcc.c-torture/execute/930916-1.c: Likewise. + * gcc.c-torture/execute/930921-1.c: Likewise. + * gcc.c-torture/execute/930929-1.c: Likewise. + * gcc.c-torture/execute/930930-1.c: Likewise. + * gcc.c-torture/execute/931009-1.c: Likewise. + * gcc.c-torture/execute/931012-1.c: Likewise. + * gcc.c-torture/execute/931031-1.c: Likewise. + * gcc.c-torture/execute/931102-1.c: Likewise. + * gcc.c-torture/execute/931102-2.c: Likewise. + * gcc.c-torture/execute/931228-1.c: Likewise. + * gcc.c-torture/execute/940115-1.c: Likewise. + * gcc.c-torture/execute/940122-1.c: Likewise. + * gcc.c-torture/execute/941202-1.c: Likewise. + * gcc.c-torture/execute/950605-1.c: Likewise. + * gcc.c-torture/execute/960830-1.c: Likewise. + * gcc.c-torture/execute/961112-1.c: Likewise. + * gcc.c-torture/execute/990106-1.c: Likewise. + * gcc.c-torture/execute/cmpdi-1.c: Likewise. + * gcc.c-torture/execute/comp-goto-2.c: Likewise. + * gcc.c-torture/execute/dbra-1.c: Likewise. + * gcc.c-torture/execute/inst-check.c: Likewise. + * gcc.c-torture/execute/int-compare.c: Likewise. + * gcc.c-torture/execute/loop-2.c: Likewise. + * gcc.c-torture/execute/loop-2d.c: Likewise. + * gcc.c-torture/execute/loop-3.c: Likewise. + * gcc.c-torture/execute/loop-3b.c: Likewise. + * gcc.c-torture/execute/loop-3c.c: Likewise. + * gcc.c-torture/execute/mod-1.c: Likewise. + * gcc.c-torture/execute/strct-pack-3.c: Likewise. + * gcc.c-torture/execute/tstdi-1.c: Likewise. + +2023-11-13 Florian Weimer + + * gcc.c-torture/compile/BUG17.c (main): Add missing int + return type and missing void type. + * gcc.c-torture/compile/BUG18.c (main): Likewise. Call + __builtin_printf instead of printf. + * gcc.c-torture/compile/BUG21.c (Nase): Add missing void + types. + * gcc.c-torture/compile/BUG23.c (main): Add missing int + return type and missing void type. + * gcc.c-torture/compile/BUG5.c (bar): Call + __builtin_printf instead of printf. + * gcc.c-torture/compile/BUG6.c (main): Likewise. Add missing + int return type and missing void type. + * gcc.c-torture/compile/b.c (main): Add missing int + return type and missing void type. + * gcc.c-torture/compile/b1.c (main): Likewise. Call + __builtin_printf instead of printf. + * gcc.c-torture/compile/b88.c (main): Add missing int + return type and missing void type. + * gcc.c-torture/compile/bbb.c (flset): Add missing void + return type and switch to prototype style. + * gcc.c-torture/compile/bf.c (clr, atoi): Declare. + (main): Add missing int return type. Call + __builtin_printf instead of printf. + * gcc.c-torture/compile/bt.c (main): Add missing int + return type and missing void type. + * gcc.c-torture/compile/charmtst.c (foo, bar): Declare. + (c_move_tst): Add missing int return type. + * gcc.c-torture/compile/cmpdi-1.c (f, g): Add missing int + return type. + * gcc.c-torture/compile/cmphi.c (foo): Likewise. + * gcc.c-torture/compile/conv.c (main): Likewise. Add missing + void type. Call __builtin_printf instead of printf. + * gcc.c-torture/compile/ddd.c (main): Add missing int + return type and missing void type. + * gcc.c-torture/compile/dilayout.c (str, ll): Add missing + void return type. + * gcc.c-torture/compile/dimove.c (foo): Likewise. + * gcc.c-torture/compile/f2.c (foo): Likewise. + * gcc.c-torture/compile/flatten.c (main): Add missing int + return type and missing void type. + * gcc.c-torture/compile/fnul.c (main): Likewise. + Call __builtin_printf instead of printf. + * gcc.c-torture/compile/fq.c (expand_to_ascii): Add missing + void return type. + * gcc.c-torture/compile/funcptr-1.c (g): Call __builtin_printf + instead of printf. + (f): Likewise. Add missing void types. + * gcc.c-torture/compile/glob.c (foo): Add missing void types. + * gcc.c-torture/compile/goto-1.c (f): Likewise. + * gcc.c-torture/compile/i++.c (main): Call __builtin_printf + instead of printf. + * gcc.c-torture/compile/ic.c (foo): Add missing int return + type. + * gcc.c-torture/compile/iftrap-1.c (bar, baz): Declare. + (f4, f6): Call __builtin_abort instead of abort. + * gcc.c-torture/compile/iftrap-2.c (bar): Declare. + * gcc.c-torture/compile/jmp.c (foo): Add missing int types. + * gcc.c-torture/compile/labels-1.c (f): Add missing int + return type and missing void type. Call __builtin_abort + instead of abort. + * gcc.c-torture/compile/labels-2.c (f): Likewise. + * gcc.c-torture/compile/lbug.c (main): Add missing int + return type and missing void type. + * gcc.c-torture/compile/memtst.c (memtst): Add missing void + return type. + (main): Add missing int return type and missing void type. + Call __builtin_bzero instead of bzero. + * gcc.c-torture/compile/miscomp.c (main): Add missing int + return type and missing void type. Call __builtin_printf + instead of printf. + * gcc.c-torture/compile/msp.c (bar): Declare. + (foo): Add missing void types. + * gcc.c-torture/compile/mtst.c (foo): Add missing int return + type. + * gcc.c-torture/compile/packed-1.c (f): Add missing void + types. + * gcc.c-torture/compile/pr17119.c (func1, func2): Declare. + * gcc.c-torture/compile/pr18712.c (foo, foo1): Declare. + * gcc.c-torture/compile/pr20412.c (bar1, bar2, bar3): Declare. + * gcc.c-torture/compile/pr21532.c (foo): Declare. + * gcc.c-torture/compile/pr22398.c (main): Call __builtin_exit + instead of exit. + * gcc.c-torture/compile/pr24883.c (orec_str_list): Add missing + void return type. + * gcc.c-torture/compile/pr25311.c (use): Declare. + * gcc.c-torture/compile/pr25514.c (foo): Declare. + * gcc.c-torture/compile/pr26425.c (key_put): Declare. + * gcc.c-torture/compile/pr27087.c (g): Declare. + * gcc.c-torture/compile/pr27282.c (colrow_equal): Add missing + int return type. + * gcc.c-torture/compile/pr27907.c (fann_run): Add missing + void return type. + * gcc.c-torture/compile/pr28489.c (c_compile): Likewise. + * gcc.c-torture/compile/pr28776-1.c + (tree_contains_struct_check_failed): Declare. + * gcc.c-torture/compile/pr29128.c (process_main): Add missing + void return type. + * gcc.c-torture/compile/pr29945.c (unget_char): Declare. + (main) Add missing void return type. + * gcc.c-torture/compile/pr33382.c (show_configuration): Add + missing int types. + * gcc.c-torture/compile/pr36141.c (ffi_prep_closure_loc): Add + missing return type. + * gcc.c-torture/compile/pr36988.c (__writel): Declare. + * gcc.c-torture/compile/pr37026.c (foo): Declare. + * gcc.c-torture/compile/pr37285.c (_bfd_abort): Declare. + (_bfd_xcoff_canonicalize_dynamic_reloc): Add missing void + return type. + * gcc.c-torture/compile/pr38554.c (applyFunction): Add missing + void return type. + * gcc.c-torture/compile/pr42164.c (swp_offset, __BUG_ON): + Declare. + * gcc.c-torture/compile/pr44788.c (foo): Declare. + * gcc.c-torture/compile/pr47364-1.c (arc4_init): Add missing + void return type. + * gcc.c-torture/compile/pr48596.c (_nrrdCenter): Declare. + * gcc.c-torture/compile/rel.c (foo): Add missing int return + type. + * gcc.c-torture/compile/run.c (main): Likewise. Add missing + void type. + * gcc.c-torture/compile/sar.c (main): Likewise. + * gcc.c-torture/compile/selfrec.c (foo): Add missing int + parameter type. + * gcc.c-torture/compile/shloop.c (main): Add missing int + return type and missing void type. + * gcc.c-torture/compile/shm.c (foo): Add missing int return + type. + * gcc.c-torture/compile/sim.c (main): Likewise. Add missing + void type. + * gcc.c-torture/compile/simd-5.c (main): Add missing int + return type and missing void type. Call __builtin_printf + instead of printf. + * gcc.c-torture/compile/sne.c (foo): Add missing int return + type. + * gcc.c-torture/compile/sound.c (write): Declare. + (main): Add missing int return type and missing void type. + * gcc.c-torture/compile/speed.c (main): Likewise. + * gcc.c-torture/compile/store0.c (foo): Add missing void + return type. + * gcc.c-torture/compile/storecc.c (foo): Add missing int + return type. + * gcc.c-torture/compile/strcpy-1.c (rezero): Add missing + void types. + * gcc.c-torture/compile/stru.c (foo): Add missing void return + type. + * gcc.c-torture/compile/stuct.c (main): Add missing int return + type and missing void type. + * gcc.c-torture/compile/time.c (main): Likewise. + * gcc.c-torture/compile/unalign-1.c (f): Declare. + * gcc.c-torture/compile/v.c (main): Add missing int return + type. + * gcc.c-torture/compile/xcsebug.c (foo): Add missing void + types. + * gcc.c-torture/compile/xmtst.c (p2, p3, p4): Add missing + int return type. + * gcc.c-torture/compile/xz.c (foo): Add missing void return + type. + * gcc.c-torture/execute/loop-2f.c (f): Add missing void + return type. + (main): Return instead of calling exit. Call __builtin_abort + instead of abort. + * gcc.c-torture/execute/loop-2g.c (f): Add missing void + return type. + (main): Return instead of calling exit. Call __builtin_abort + instead of abort. + * gcc.dg/20020206-1.c: Build without -w. + (main): Call __builtin_abort instead of abort and + __builtin_exit instead of exit. + * gcc.dg/ipa/20040703-wpa.c (main): Call __builtin_abort + instead of abort and __builtin_exit instead of exit. + * gcc.dg/torture/pr84528.c (main): Add missing int and void + types. Call __builtin_abort instead of abort, and + __builtin_exit instead of exit. + * gcc.dg/tree-ssa/pr68619-2.c (vector_type_mode, real_inf): + Declare. + * gcc.dg/tree-ssa/pr68619-3.c (iterative_hash): Declare. + (e_hash): Call __builtin_abort instead of abort. + * gcc.dg/tree-ssa/pr68619-4.c (rhs_regno, foop, arf): Declare. + * gcc.dg/tree-ssa/pr68619-5.c (invert_tree_comparison) + (vector_type_mode): Declare. + * gcc.dg/tree-ssa/pr69270-2.c (arf, gimple_debug_bind_p) + (gimple_bb, gimple_assign_rhs_to_tree) + (is_gimple_min_invariant, unshare_expr): Declare. + * gcc.dg/tree-ssa/pr69270-3.c: (end_imm_use_stmt_p) + (next_imm_use_stmt, arf, boo, update_stmt): Declare. + * gcc.dg/tree-ssa/ranger-threader-2.c (gimple_call_arg): + Declare. + (gimple_op): Call __builtin_abort instead of abort. + * gcc.dg/tree-ssa/ranger-threader-3.c (expand_binop): Declare. + * gcc.dg/tree-ssa/ssa-dom-branch-1.c (arf, foo): Declare. + (try_combine): Add casts to rtx. + * gcc.dg/tree-ssa/split-path-3.c (vec_heap_o_reserve) + (VEC_int_base_length, bmp_iter_and_compl_init) + (bmp_iter_and_compl, bmp_iter_next, VEC_int_heap_free): + Declare. + * gcc.dg/tree-ssa/split-path-7.c (linit): Call + __builtin_strcmp instead of strcmp. + * gcc.dg/tree-ssa/ssa-dom-thread-12.c (gimple_call_arg): + Declare. + (gimple_op): Call __builtin_abort instead of abort. + * gcc.dg/tree-ssa/ssa-dom-thread-13.c (arf, error): Declare. + (convert): Call __builtin_abort instead of abort. + * gcc.dg/tree-ssa/ssa-dom-thread-14.c (exand_binop): Declare. + * gcc.dg/tree-ssa/ssa-dom-thread-15.c + (ix86_target_stack_probe, pro_epilogue_adjust_stack) + (gen_rtx_CONST_INT, fancy_abort): Declare. + * gcc.dg/tree-ssa/ssa-dse-25.c (foo): Call __builtin_memset + instead of memset. + * gcc.target/aarch64/aapcs64/va_arg-17.c + (init_data): Call __builtin_memset instead of memset. + * gcc.target/i386/pr69030.c (fn1): Call __builtin_printf instead + of printf. + +2023-11-13 Florian Weimer + + * gcc.c-torture/compile/20080613-1.c (hop_sendmsg): Call + __builtin_memcpy instead of memcpy. + * gcc.c-torture/compile/complex-6.c (bar): Declare. + * gcc.c-torture/compile/pr23445.c (__brelse): Declare. + * gcc.c-torture/compile/pr23946.c (long2str): Declare. + (avi_parse_comments): Call __builtin_memset instead of + memset. __builtin_malloc instead of malloc. Call + __builtin_memcpy instead of memcpy. Call + __builtin_free instead of free. + * gcc.c-torture/compile/pr31953.c (toggle_hexedit_mode): + Add missing void return type. + * gcc.c-torture/compile/pr32372.c (MPV_encode_init): Add + missing void return type. + * gcc.c-torture/compile/pr32355.c (sigemptyset): Declare. + (doSignalsSetup): Add missing void return type. + * gcc.c-torture/compile/pr32453.c (__assert_fail): Declare. + * gcc.c-torture/compile/pr32571.c (mthca_is_memfree) + (mthca_arbel_fmr_unmap, mthca_tavor_fmr_unmap) + (mthca_unmap_fmr): Declare. + * gcc.c-torture/compile/pr32584.c (sortpin): Add missing + void types. + * gcc.c-torture/compile/pr32919.c (read_int, _itoa_word) + (__strnlen): Declare. + * gcc.c-torture/compile/pr33173.c (test_dir_format): Add + missing void return type. Add missing int types. + * gcc.c-torture/compile/pr33855.c (cabsl): Declare. + * gcc.c-torture/compile/pr34334.c (__strsep_1c) + (__strsep_2c): Add missing void return type. + * gcc.c-torture/compile/pr35006.c (grub_putchar) + (cl_set_pos, cl_print, grub_memmove, cl_delete): Declare. + (grub_cmdline_get): Add missing void return type. + * gcc.c-torture/compile/pr35595.c (__kernel_sinf): + Declare. + * gcc.c-torture/compile/pr35869.c (f): Add missing void + return type. + * gcc.c-torture/compile/pr36172.c (FcCharSetFreeze): Add + missing return value. + * gcc.c-torture/compile/pr36238.c (lshift_s_s): Declare. + * gcc.c-torture/compile/pr37207.c (func_81, func_98): + Declare. + * gcc.c-torture/compile/pr37258.c (mod_rhs, lshift_s_s) + (func_112, func_23): Declare. + * gcc.c-torture/compile/pr37305.c (safe_mod_u_u): Declare. + * gcc.c-torture/compile/pr37327.c (func_93, func_59) + (func_124, func_117, safe_add_uint64_t_u_u) + (safe_mul_int32_t_s_s): Declare. + * gcc.c-torture/compile/pr37387.c (FuncMakeConsequencesPres): + Call __builtin_abort instead of ErrorQuit. + * gcc.c-torture/compile/pr37432.c (print_wkb_bytes): Declare. + * gcc.c-torture/compile/pr37713.c (sdp_seq_alloc): Declare. + * gcc.c-torture/compile/pr39886.c (func): Declare. + * gcc.c-torture/compile/pr39941.c (stop): Declare. + * gcc.c-torture/compile/pr41016.c (CompareRNAStructures): + Call __builtin_abort instead of Die. + * gcc.c-torture/compile/pr42632.c (___pskb_trim): Add + forward declaration. + * gcc.c-torture/compile/pr49710.c (baz): Add forward + declaration and missing void types. + (bar): Add missing void type. + * gcc.c-torture/compile/pr52437.c (fn2): Declare. + * gcc.c-torture/compile/pr57441.c (func_1): Add missing void + return type. + * gcc.c-torture/compile/pr87110.c (struct d): Add missing + semicolon. + (g, h): Define as int. + (i): Add missing void types. + * gcc.c-torture/compile/pr87468.c (a): Define as int. + (e, f): Declare. + (b): Add missing void types. + * gcc.c-torture/execute/pr79043.c (ptr2): Use cast in + initializer. + (typepun): Add missing void return type. + (main): Add missing int return type and missing void type. + * gcc.dg/pr100349.c (b): Add missing void return type. + * gcc.dg/pr106189.c (T): Declare. + * gcc.dg/pr110777.c (_setjmp): Declare + * gcc.dg/pr45506.c (dynvec, relative_relocp, atexit): Declare. + (fini_array): Cast result of relative_relocp from int to int *. + * gcc.dg/pr97359.c: Compile with -Wno-pointer-to-int-cast. + (b): Cast point to int to avoid int-conversion warning. + * gcc.dg/uninit-pr78548.c: Call __builtin_printf instead + of printf. + * gcc.dg/torture/pr39829.c (f): Declare. + * gcc.dg/torture/pr44977.c (int329): Cast bar from pointer + to short. + * gcc.dg/torture/pr53703.c (ifa_sa_len): Declare. + (usagi_getifaddrs): Call __builtin_memset instead of memset + and __builtin_memcmp instead of memcmp. + * gcc.dg/torture/pr68625.c (z9): Explicitly cast + pointers to int. + * gcc.dg/torture/pr55964.c (f): Cast q to the expected type. + * gcc.dg/torture/pr70623.c (h9): Fix pointer cast in assignment + of av. + * gcc.dg/torture/pr81118.c (c): Return zero instead of + nothing. + * gcc.dg/torture/pr81510.c (e): Add cast from int to pointer. + * gcc.dg/torture/pr99694.c (d): Add missing casts between + pointers and integers. + * gcc.dg/tree-ssa/pr102563.c: Define as void (*) (void). + (_bdf_parse_glyphs_p): Define with prototype. + * gcc.dg/tree-ssa/pr92085-1.c (di): Add cast to initialization + of fq. + * gcc.dg/tree-ssa/pr92085-2.c (c1): Add casts to + initializations of th, lq. + * gcc.dg/tree-ssa/reassoc-43.c + (c_parser_next_token_is_keyword, chainon) + (c_parser_attributes): Declare. + * gcc.dg/tree-ssa/split-path-4.c (powi_lookup_cost): Declare. + (powi_cost): Add missing void return type. + * gcc.dg/tree-ssa/split-path-6.c (strtosichar) + (ichartosstr, treeinsert, stop, __srget_r): Declare + (givehelp, oof, lookharder): Convert to prototypes. + * gcc.target/i386/pr71621-1.c (y8): Cast to expected + pointer type in assignment of t6. + * gcc.target/i386/pr79571.c (g): Add missing int type. + (j): Add missing void types and pointer cast. + * gcc.target/i386/pr87246.c (s2): Add cast from integer + to pointer type. + * gcc.target/i386/pr87759.c (rc): Cast to the expected + pointer time in initialization of ar. + * gcc.target/i386/pr99454.c (tg3_start_xmit): Add + missing cast from int to int *. + +2023-11-13 Florian Weimer + + * c-c++-common/Wduplicated-branches-11.c: Compile with + -fpermissive. + * c-c++-common/Wduplicated-branches-12.c: Likewise. + * c-c++-common/builtins.c: Likewise. + * c-c++-common/pointer-to-fn1.c: Likewise. + * gcc.c-torture/compile/20010320-1.c: Likewise. + * gcc.c-torture/compile/20050105-1.c: Likewise. + * gcc.c-torture/compile/20080704-1.c: Likewise. + * gcc.c-torture/compile/20080910-1.c: Likewise. + * gcc.c-torture/compile/20090917-1.c: Likewise. + * gcc.c-torture/compile/20100915-1.c: Likewise. + * gcc.c-torture/compile/20101216-1.c: Likewise. + * gcc.c-torture/compile/20121027-1.c: Likewise. + * gcc.c-torture/compile/20180605-1.c: Likewise. + * gcc.c-torture/compile/950816-2.c: Likewise. + * gcc.c-torture/compile/dse.c: Likewise. + * gcc.c-torture/compile/pr100576.c: Likewise. + * gcc.c-torture/compile/pr17408.c: Likewise. + * gcc.c-torture/compile/pr19121.c: Likewise. + * gcc.c-torture/compile/pr26213.c: Likewise. + * gcc.c-torture/compile/pr27341-2.c: Likewise. + * gcc.c-torture/compile/pr28776-2.c: Likewise. + * gcc.c-torture/compile/pr33133.c: Likewise. + * gcc.c-torture/compile/pr34091.c: Likewise. + * gcc.c-torture/compile/pr36154.c: Likewise. + * gcc.c-torture/compile/pr37381.c: Likewise. + * gcc.c-torture/compile/pr38360.c: Likewise. + * gcc.c-torture/compile/pr40291.c: Likewise. + * gcc.c-torture/compile/pr41182-1.c: Likewise. + * gcc.c-torture/compile/pr43635.c: Likewise. + * gcc.c-torture/compile/pr44043.c: Likewise. + * gcc.c-torture/compile/pr44063.c: Likewise. + * gcc.c-torture/compile/pr44246.c: Likewise. + * gcc.c-torture/compile/pr45535.c: Likewise. + * gcc.c-torture/compile/pr46934.c: Likewise. + * gcc.c-torture/compile/pr47428.c: Likewise. + * gcc.c-torture/compile/pr49145.c: Likewise. + * gcc.c-torture/compile/pr49206.c: Likewise. + * gcc.c-torture/compile/pr51694.c: Likewise. + * gcc.c-torture/compile/pr53886.c: Likewise. + * gcc.c-torture/compile/pr65241.c: Likewise. + * gcc.c-torture/compile/pr72802.c: Likewise. + * gcc.c-torture/compile/pr81360.c: Likewise. + * gcc.c-torture/compile/pr82052.c: Likewise. + * gcc.c-torture/compile/pr90275-2.c: Likewise. + * gcc.c-torture/compile/pr90275.c: Likewise. + * gcc.c-torture/compile/pr96796.c: Likewise. + * gcc.c-torture/compile/regs-arg-size.c: Likewise. + * gcc.c-torture/compile/udivmod4.c: Likewise. + * gcc.c-torture/compile/widechar-1.c: Likewise. + * gcc.c-torture/execute/20000412-3.c: Likewise. + * gcc.c-torture/execute/20010605-2.c: Likewise. + * gcc.c-torture/execute/20020314-1.c: Likewise. + * gcc.c-torture/execute/20020819-1.c: Likewise. + * gcc.c-torture/execute/20031211-2.c: Likewise. + * gcc.c-torture/execute/20040223-1.c: Likewise. + * gcc.c-torture/execute/20041019-1.c: Likewise. + * gcc.c-torture/execute/20120427-1.c: Likewise. + * gcc.c-torture/execute/20120427-2.c: Likewise. + * gcc.c-torture/execute/920908-2.c: Likewise. + * gcc.c-torture/execute/921110-1.c: Likewise. + * gcc.c-torture/execute/930111-1.c: Likewise. + * gcc.c-torture/execute/930208-1.c: Likewise. + * gcc.c-torture/execute/930702-1.c: Likewise. + * gcc.c-torture/execute/930818-1.c: Likewise. + * gcc.c-torture/execute/931017-1.c: Likewise. + * gcc.c-torture/execute/931018-1.c: Likewise. + * gcc.c-torture/execute/931208-1.c: Likewise. + * gcc.c-torture/execute/941101-1.c: Likewise. + * gcc.c-torture/execute/941110-1.c: Likewise. + * gcc.c-torture/execute/950322-1.c: Likewise. + * gcc.c-torture/execute/950426-1.c: Likewise. + * gcc.c-torture/execute/950512-1.c: Likewise. + * gcc.c-torture/execute/950621-1.c: Likewise. + * gcc.c-torture/execute/960218-1.c: Likewise. + * gcc.c-torture/execute/960402-1.c: Likewise. + * gcc.c-torture/execute/cmpsf-1.c: Likewise. + * gcc.c-torture/execute/cmpsi-1.c: Likewise. + * gcc.c-torture/execute/cmpsi-2.c: Likewise. + * gcc.c-torture/execute/divmod-1.c: Likewise. + * gcc.c-torture/execute/pr22061-1.c: Likewise. + * gcc.c-torture/execute/pr55875.c: Likewise. + * gcc.dg/20050629-1.c: Likewise. + * gcc.dg/20080615-1.c: Likewise. + * gcc.dg/Walloca-14.c: Likewise. + * gcc.dg/Wbuiltin-declaration-mismatch-3.c: Likewise. + * gcc.dg/Wbuiltin-declaration-mismatch-9.c: Likewise. + * gcc.dg/Wdouble-promotion.c: Likewise. + * gcc.dg/Wrestrict-5.c: Likewise. + * gcc.dg/Wstringop-overflow-13.c: Likewise. + * gcc.dg/analyzer/fd-bind-pr107783.c: Likewise. + * gcc.dg/array-5.c: Likewise. + * gcc.dg/asan/pr56417.c: Likewise. + * gcc.dg/attr-access-read-only.c: Likewise. + * gcc.dg/attr-access-read-write.c: Likewise. + * gcc.dg/attr-access-write-only.c: Likewise. + * gcc.dg/bitint-36.c: Likewise. + * gcc.dg/builtin-bswap-10.c: Likewise. + * gcc.dg/cleanup-1.c: Likewise. + * gcc.dg/cpp/pr60014-1.c: Likewise. + * gcc.dg/cpp/pr60014-2.c: Likewise. + * gcc.dg/cpp/pr60014-3.c: Likewise. + * gcc.dg/ipa/ipa-bit-cp-1.c: Likewise. + * gcc.dg/ipa/ipa-bit-cp-2.c: Likewise. + * gcc.dg/ipa/ipa-bit-cp.c: Likewise. + * gcc.dg/ipa/pr105639.c: Likewise. + * gcc.dg/ipa/pr71981.c: Likewise. + * gcc.dg/lto/20081109_0.c: Likewise. + * gcc.dg/lto/pr54702_1.c: Likewise. + * gcc.dg/lto/pr55525_0.c: Likewise. + * gcc.dg/noncompile/20020213-1.c:: Likewise. + * gcc.dg/noncompile/pr71426.c: Likewise. + * gcc.dg/noncompile/undeclared-1.c: Likewise. + * gcc.dg/overflow-warn-2.c: Likewise. + * gcc.dg/pr100142.c: Likewise. + * gcc.dg/pr100790.c: Likewise. + * gcc.dg/pr100791.c: Likewise. + * gcc.dg/pr103093.c: Likewise. + * gcc.dg/pr105140.c: Likewise. + * gcc.dg/pr105250.c: Likewise. + * gcc.dg/pr105853.c: Likewise. + * gcc.dg/pr105856.c: Likewise. + * gcc.dg/pr26865.c: Likewise. + * gcc.dg/pr40989.c: Likewise. + * gcc.dg/pr42715.c: Likewise. + * gcc.dg/pr44971.c: Likewise. + * gcc.dg/pr46571.c: Likewise. + * gcc.dg/pr54363.c: Likewise. + * gcc.dg/pr56724-2.c: Likewise. + * gcc.dg/pr59630.c: Likewise. + * gcc.dg/pr67043.c: Likewise. + * gcc.dg/pr67730-1.c: Likewise. + * gcc.dg/pr67730-2.c: Likewise. + * gcc.dg/pr68320.c: Likewise. + * gcc.dg/pr69156.c: Likewise. + * gcc.dg/pr69824.c: Likewise. + * gcc.dg/pr70174.c: Likewise. + * gcc.dg/pr70281.c: Likewise. + * gcc.dg/pr77862.c: Likewise. + * gcc.dg/pr82765.c: Likewise. + * gcc.dg/pr83852.c: Likewise. + * gcc.dg/pr84206.c: Likewise. + * gcc.dg/pr85164-1.c: Likewise. + * gcc.dg/pr85955.c: Likewise. + * gcc.dg/pr86271.c: Likewise. + * gcc.dg/pr86928.c: Likewise. + * gcc.dg/pr99122-1.c: Likewise. + * gcc.dg/pr99136.c: Likewise. + * gcc.dg/redecl-19.c: Likewise. + * gcc.dg/redecl-24.c: Likewise. + * gcc.dg/torture/pr39204.c: Likewise. + * gcc.dg/torture/pr57676.c: Likewise. + * gcc.dg/torture/pr67222.c: Likewise. + * gcc.dg/torture/pr77677-2.c: Likewise. + * gcc.dg/torture/pr79125.c: Likewise. + * gcc.dg/torture/pr94479.c: Likewise. + * gcc.dg/tree-ssa/20070815.c: Likewise. + * gcc.dg/tree-ssa/builtin-sprintf-29.c: Likewise. + * gcc.dg/tree-ssa/builtins-folding-gimple-ub.c: Likewise. + * gcc.dg/tree-ssa/pr22051-2.c: Likewise. + * gcc.dg/tree-ssa/ssa-dse-10.c: Likewise. + * gcc.target/aarch64/pr60697.c: Likewise. + * gcc.target/aarch64/pr87305.c: Likewise. + * gcc.target/aarch64/sve/pr96357.c: Likewise. + * gcc.target/i386/attr-nocf-check-1a.c: Likewise. + * gcc.target/i386/attr-nocf-check-3a.c: Likewise. + * gcc.target/i386/avx512bf16-pr108881.c: Likewise. + * gcc.target/i386/cet-notrack-2a.c: Likewise. + * gcc.target/i386/cet-notrack-2b.c: Likewise. + * gcc.target/i386/cet-notrack-5b.c: Likewise. + * gcc.target/i386/cet-notrack-6a.c: Likewise. + * gcc.target/i386/cet-notrack-6b.c: Likewise. + * gcc.target/i386/pr70325.c: Likewise. + * gcc.target/i386/pr70858.c: Likewise. + * gcc.target/i386/pr83488.c: Likewise. + * gcc.target/i386/pr85511.c: Likewise. + * gcc.target/i386/pr87572.c: Likewise. + * gcc.target/i386/pr88195.c: Likewise. + +2023-11-13 Jakub Jelinek + + PR tree-optimization/111967 + * gcc.dg/tree-ssa/pr111967.c: New test. + +2023-11-13 Xi Ruoyao + + PR target/112476 + * gcc.target/loongarch/pr112476-1.c: New test. + * gcc.target/loongarch/pr112476-2.c: New test. + +2023-11-13 Pan Li + + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-54.c: Adjust + the asm checker. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-57.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-58.c: Ditto. + +2023-11-13 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-llrintf16-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llroundf16-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lrintf16-rv32-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lrintf16-rv64-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lroundf16-rv32-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lroundf16-rv64-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-llrintf16-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-llroundf16-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lrintf16-rv32-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lrintf16-rv64-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lroundf16-rv32-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lroundf16-rv64-0.c: New test. + +2023-11-11 Jakub Jelinek + + PR middle-end/112430 + * gcc.dg/pr112430.c: New test. + +2023-11-11 Martin Uecker + + PR c/110815 + PR c/112428 + * gcc.dg/Wnonnull-8.c: Adapt test. + * gcc.dg/Wnonnull-9.c: New test. + +2023-11-11 Joern Rennecke + + * lib/scanasm.exp (scan-assembler-times): Disregard LTO sections. + (scan-assembler-dem, scan-assembler-dem-not): Likewise. + (dg-scan): Likewise, if name starts with scan-assembler. + (scan-raw-assembler): New proc. + * gcc.dg/pr61868.c: Use scan-raw-assembler. + * gcc.dg/scantest-lto.c: New test. + +2023-11-11 Juzhe-Zhong + + PR target/112469 + * gcc.target/riscv/rvv/autovec/pr112469.c: New test. + +2023-11-11 Marek Polacek + + * g++.dg/cpp0x/lambda/lambda-decltype3.C: Check __cpp_init_captures. + +2023-11-10 Patrick O'Neill + + * g++.dg/vect/pr102788.cc: Remove dg-do run directive. + +2023-11-10 Eric Botcazou + + * gnat.dg/opt103.ads, gnat.dg/opt103.adb: New test. + +2023-11-10 Vladimir N. Makarov + + PR target/112337 + * gcc.target/arm/pr112337.c: New. + +2023-11-10 Patrick Palka + + PR c++/79620 + * g++.dg/cpp0x/lambda/lambda-decltype3.C: New test. + +2023-11-10 Patrick Palka + + PR c++/79378 + PR c++/96917 + * g++.dg/cpp1y/decltype-auto7.C: New test. + * g++.dg/cpp1y/lambda-init20.C: New test. + +2023-11-10 Juzhe-Zhong + + PR tree-optimization/112438 + * gcc.target/riscv/rvv/autovec/pr112438.c: New test. + +2023-11-10 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add combine test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/combine-7.c: New test. + +2023-11-10 Robin Dapp + + * gcc.target/riscv/rvv/autovec/binop/vmul-zvfh-run.c: Adjust. + * gcc.target/riscv/rvv/autovec/binop/vsub-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-3.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/pr111401.c: Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-zvfh-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-zvfh-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-zvfh-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-template.h: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-zvfh-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-zvfh-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-zvfh-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-zvfh-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-zvfh-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/slp-mask-run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-10.c: + Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-11.c: + Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-12.c: + Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-3.c: + Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-4.c: + Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-5.c: + Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-6.c: + Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-7.c: + Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-8.c: + Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-9.c: + Ditto. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-zvfh-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-zvfh-run.c: + Ditto. + +2023-11-10 Robin Dapp + + * gcc.target/i386/pr112464.c: New test. + +2023-11-10 Jin Ma + + * gcc.target/riscv/xtheadmempair-interrupt-fcsr.c: New file. + +2023-11-10 Richard Biener + + PR tree-optimization/110221 + * gfortran.dg/pr110221.f: New testcase. + +2023-11-10 Richard Biener + + PR middle-end/112469 + * gcc.dg/torture/pr112469.c: New testcase. + +2023-11-10 Pan Li + + Revert: + 2023-11-10 Pan Li + + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c: New test. + +2023-11-10 Pan Li + + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c: New test. + +2023-11-10 Juzhe-Zhong + + * gcc.dg/vect/pr97428.c: Add additional compile option for riscv. + +2023-11-10 liuhongt + + * g++.target/i386/pr112443.C: New test. + +2023-11-10 Jose E. Marchesi + + * gcc.target/bpf/mulsidi3-zeroextend-pseudoc.c: New test. + +2023-11-09 Jose E. Marchesi + + * gcc.target/bpf/ldxdw.c: Fix regexp with expected result. + +2023-11-09 Robin Dapp + + * gcc.target/riscv/rvv/autovec/binop/fmax_zvfh-1.c: Adjust. + * gcc.target/riscv/rvv/autovec/binop/fmax_zvfh_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/fmin_zvfh-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/fmin_zvfh_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-1.h: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-2.h: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv32-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv32-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv64-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv64-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_run-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_run-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float_run-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float_run-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-3.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-4.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-3.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-4.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-zvfh-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-zvfh-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/reduc/reduc_zvfh-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/reduc/reduc_zvfh_run-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-1.h: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-2.h: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv32-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv32-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv64-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv64-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh_run-2.c: New test. + +2023-11-09 Alexandre Oliva + + * gcc.dg/tree-ssa/scev-3.c: xfail on ia32. + * gcc.dg/tree-ssa/scev-5.c: Likewise. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * gcc.target/aarch64/sve/fneg-abs_5.c: New test. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * gcc.target/aarch64/sve/fneg-abs_1.c: Updated. + * gcc.target/aarch64/sve/fneg-abs_2.c: Updated. + * gcc.target/aarch64/sve/fneg-abs_4.c: Updated. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * gcc.target/aarch64/fneg-abs_2.c: Updated. + * gcc.target/aarch64/fneg-abs_4.c: Updated. + * gcc.target/aarch64/dbl_mov_immediate_1.c: Updated. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * gcc.target/aarch64/fneg-abs_1.c: Updated. + * gcc.target/aarch64/fneg-abs_2.c: Updated. + * gcc.target/aarch64/fneg-abs_4.c: Updated. + * gcc.target/aarch64/dbl_mov_immediate_1.c: Updated. + +2023-11-09 Tamar Christina + + PR tree-optimization/109154 + * gcc.dg/fold-copysign-1.c: Updated. + * gcc.dg/pr55152-2.c: Updated. + * gcc.dg/tree-ssa/abs-4.c: Updated. + * gcc.dg/tree-ssa/backprop-6.c: Updated. + * gcc.dg/tree-ssa/copy-sign-2.c: Updated. + * gcc.dg/tree-ssa/mult-abs-2.c: Updated. + * gcc.target/aarch64/fneg-abs_1.c: New test. + * gcc.target/aarch64/fneg-abs_2.c: New test. + * gcc.target/aarch64/fneg-abs_3.c: New test. + * gcc.target/aarch64/fneg-abs_4.c: New test. + * gcc.target/aarch64/sve/fneg-abs_1.c: New test. + * gcc.target/aarch64/sve/fneg-abs_2.c: New test. + * gcc.target/aarch64/sve/fneg-abs_3.c: New test. + * gcc.target/aarch64/sve/fneg-abs_4.c: New test. + +2023-11-09 Simon Wright + + PR ada/111813 + * gnat.dg/calendar_format_value.adb: New test. + +2023-11-09 Juzhe-Zhong + + PR target/112450 + * gcc.target/riscv/rvv/autovec/pr112450.c: New test. + +2023-11-09 Richard Biener + + PR tree-optimization/112444 + * gcc.dg/torture/pr112444.c: New testcase. + +2023-11-09 YunQiang Su + + * gcc.target/mips/fabs-nan2008.c: New test. + * gcc.target/mips/fabsf-nan2008.c: New test. + +2023-11-09 Florian Weimer + + * gcc.target/x86_64/abi/avx/avx-check.h (main): Call + __builtin_printf instead of printf. + * gcc.target/x86_64/abi/avx/test_passing_m256.c + (fun_check_passing_m256_8_values): Add missing void return + type. + * gcc.target/x86_64/abi/avx512f/avx512f-check.h (main): Call + __builtin_printf instead of printf. + * gcc.target/x86_64/abi/avx512f/test_passing_m512.c + (fun_check_passing_m512_8_values): Add missing void return + type. + * gcc.target/x86_64/abi/bf16/bf16-check.h (main): Call + __builtin_printf instead of printf. + * gcc.target/x86_64/abi/bf16/m256bf16/bf16-ymm-check.h (main): + Likewise. + * gcc.target/x86_64/abi/bf16/m256bf16/test_passing_m256.c + (fun_check_passing_m256bf16_8_values): Add missing void + return type. + * gcc.target/x86_64/abi/bf16/m512bf16/bf16-zmm-check.h (main): + Call __builtin_printf instead of printf. + * gcc.target/x86_64/abi/bf16/m512bf16/test_passing_m512.c + (fun_check_passing_m512bf16_8_values): Add missign void + return type. + +2023-11-09 Florian Weimer + + * gcc.dg/Wreturn-mismatch-1.c: New. + * gcc.dg/Wreturn-mismatch-2.c: New. + * gcc.dg/Wreturn-mismatch-3.c: New. + * gcc.dg/Wreturn-mismatch-4.c: New. + * gcc.dg/Wreturn-mismatch-5.c: New. + * gcc.dg/Wreturn-mismatch-6.c: New. + * gcc.dg/noncompile/pr55976-1.c: Change -Werror=return-type + to -Werror=return-mismatch. + * gcc.dg/noncompile/pr55976-2.c: Change -Wreturn-type + to -Wreturn-mismatch. + +2023-11-09 Florian Weimer + + * gcc.dg/Wmissing-parameter-type.c: Build with -std=gnu89 + to trigger the -Wmissing-parameter-type warning + and not the default -Wimplicit warning. Also match + against -Wmissing-parameter-type. + * gcc.dg/Wmissing-parameter-type-Wextra.c: Likewise. + +2023-11-09 Stefan Schulze Frielinghaus + + * gcc.target/s390/zvector/vec-reve-load-halfword-z14.c: Remove + vperm and substitude by vpdi et al. + * gcc.target/s390/zvector/vec-reve-load-halfword.c: Likewise. + * gcc.target/s390/vector/reverse-elements-1.c: New test. + * gcc.target/s390/vector/reverse-elements-2.c: New test. + * gcc.target/s390/vector/reverse-elements-3.c: New test. + * gcc.target/s390/vector/reverse-elements-4.c: New test. + * gcc.target/s390/vector/reverse-elements-5.c: New test. + * gcc.target/s390/vector/reverse-elements-6.c: New test. + * gcc.target/s390/vector/reverse-elements-7.c: New test. + +2023-11-09 Jakub Jelinek + + PR libgcc/65833 + * gcc.dg/dfp/int128-1.c: New test. + * gcc.dg/dfp/int128-2.c: New test. + * gcc.dg/dfp/int128-3.c: New test. + * gcc.dg/dfp/int128-4.c: New test. + +2023-11-09 Jakub Jelinek + + PR c/112339 + * c-c++-common/ubsan/Wno-attributes-1.c: New test. + +2023-11-09 Jin Ma + + * gcc.target/riscv/xtheadfmemidx-uindex-zbb.c: New test. + +2023-11-09 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-1.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-2.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-3.c: New test. + +2023-11-09 Alexandre Oliva + + * g++.dg/gomp/declare-target-3.C: Adjust for 32-bit targets. + +2023-11-09 Alexandre Oliva + + * g++.dg/pr58245-1.C: Disable PIC/PIE. + +2023-11-09 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-mixed-1.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-4.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-6.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-7.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-4.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-6.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-4.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-9.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-10.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-4.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-6.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-7.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-8.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/no-dynamic-lmul-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr111848.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/rvv-costmodel-vect.exp: Run all tests. + +2023-11-08 Uros Bizjak + + PR target/82524 + * gcc.target/i386/pr78904-1.c (test_sub): New test. + * gcc.target/i386/pr78904-1a.c (test_sub): Ditto. + * gcc.target/i386/pr78904-1b.c (test_sub): Ditto. + * gcc.target/i386/pr78904-2.c (test_sub): Ditto. + * gcc.target/i386/pr78904-2a.c (test_sub): Ditto. + * gcc.target/i386/pr78904-2b.c (test_sub): Ditto. + * gcc.target/i386/pr78952-4.c (test_sub): Ditto. + * gcc.target/i386/pr82524.c: New test. + * gcc.target/i386/pr82524-1.c: New test. + * gcc.target/i386/pr82524-2.c: New test. + * gcc.target/i386/pr82524-3.c: New test. + +2023-11-08 Lehua Ding + + * gcc.target/riscv/rvv/vsetvl/vsetvl_int.c: New test. + +2023-11-08 Florian Weimer + + * gcc.dg/setjmp-7.c (_setjmp): Declare. + +2023-11-08 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/vl-use-ice.c: New test. + +2023-11-08 Mikael Morin + + PR fortran/112371 + * gfortran.dg/bound_11.f90: New test. + +2023-11-08 Mikael Morin + + PR fortran/112371 + * gfortran.dg/bound_10.f90: New test. + +2023-11-08 Mikael Morin + + PR fortran/112412 + * gfortran.dg/allocated_4.f90: New test. + +2023-11-08 Hongyu Wang + + PR target/112394 + * gcc.target/i386/pr112394.c: New test. + +2023-11-08 Juzhe-Zhong + + * gcc.dg/vect/bb-slp-33.c: Rewrite the condition. + +2023-11-08 Juzhe-Zhong + + PR target/112092 + * gcc.target/riscv/rvv/vsetvl/pr109743-1.c: Adapt test. + * gcc.target/riscv/rvv/vsetvl/pr109743-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-22.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/pr112092-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/pr112092-2.c: New test. + +2023-11-08 Haochen Jiang + + PR target/111907 + * gcc.target/i386/pr111907.c: New test. + +2023-11-08 Joseph Myers + + * gcc.dg/atomic/c2x-stdatomic-lockfree-char8_t.c: Move to ... + * gcc.dg/atomic/c23-stdatomic-lockfree-char8_t.c: ... here. + * gcc.dg/atomic/c2x-stdatomic-var-init-1.c: Move to ... + * gcc.dg/atomic/c23-stdatomic-var-init-1.c: ... here. + * gcc.dg/atomic/gnu2x-stdatomic-lockfree-char8_t.c: Move to ... + * gcc.dg/atomic/gnu23-stdatomic-lockfree-char8_t.c: ... here. + Update reference to moved file. + * gcc.dg/c2x-align-1.c: Move to ... + * gcc.dg/c23-align-1.c: ... here. + * gcc.dg/c2x-align-6.c: Move to ... + * gcc.dg/c23-align-6.c: ... here. + * gcc.dg/c2x-attr-deprecated-1.c: Move to ... + * gcc.dg/c23-attr-deprecated-1.c: ... here. Update reference to + moved file. + * gcc.dg/c2x-attr-deprecated-2.c: Move to ... + * gcc.dg/c23-attr-deprecated-2.c: ... here. + * gcc.dg/c2x-attr-deprecated-3.c: Move to ... + * gcc.dg/c23-attr-deprecated-3.c: ... here. + * gcc.dg/c2x-attr-deprecated-4.c: Move to ... + * gcc.dg/c23-attr-deprecated-4.c: ... here. + * gcc.dg/c2x-attr-fallthrough-1.c: Move to ... + * gcc.dg/c23-attr-fallthrough-1.c: ... here. + * gcc.dg/c2x-attr-fallthrough-2.c: Move to ... + * gcc.dg/c23-attr-fallthrough-2.c: ... here. + * gcc.dg/c2x-attr-fallthrough-3.c: Move to ... + * gcc.dg/c23-attr-fallthrough-3.c: ... here. + * gcc.dg/c2x-attr-fallthrough-4.c: Move to ... + * gcc.dg/c23-attr-fallthrough-4.c: ... here. + * gcc.dg/c2x-attr-fallthrough-5.c: Move to ... + * gcc.dg/c23-attr-fallthrough-5.c: ... here. + * gcc.dg/c2x-attr-fallthrough-6.c: Move to ... + * gcc.dg/c23-attr-fallthrough-6.c: ... here. + * gcc.dg/c2x-attr-maybe_unused-1.c: Move to ... + * gcc.dg/c23-attr-maybe_unused-1.c: ... here. + * gcc.dg/c2x-attr-maybe_unused-2.c: Move to ... + * gcc.dg/c23-attr-maybe_unused-2.c: ... here. + * gcc.dg/c2x-attr-maybe_unused-3.c: Move to ... + * gcc.dg/c23-attr-maybe_unused-3.c: ... here. + * gcc.dg/c2x-attr-maybe_unused-4.c: Move to ... + * gcc.dg/c23-attr-maybe_unused-4.c: ... here. + * gcc.dg/c2x-attr-nodiscard-1.c: Move to ... + * gcc.dg/c23-attr-nodiscard-1.c: ... here. + * gcc.dg/c2x-attr-nodiscard-2.c: Move to ... + * gcc.dg/c23-attr-nodiscard-2.c: ... here. + * gcc.dg/c2x-attr-nodiscard-3.c: Move to ... + * gcc.dg/c23-attr-nodiscard-3.c: ... here. + * gcc.dg/c2x-attr-nodiscard-4.c: Move to ... + * gcc.dg/c23-attr-nodiscard-4.c: ... here. + * gcc.dg/c2x-attr-noreturn-1.c: Move to ... + * gcc.dg/c23-attr-noreturn-1.c: ... here. + * gcc.dg/c2x-attr-noreturn-2.c: Move to ... + * gcc.dg/c23-attr-noreturn-2.c: ... here. + * gcc.dg/c2x-attr-noreturn-3.c: Move to ... + * gcc.dg/c23-attr-noreturn-3.c: ... here. + * gcc.dg/c2x-attr-syntax-1.c: Move to ... + * gcc.dg/c23-attr-syntax-1.c: ... here. + * gcc.dg/c2x-attr-syntax-2.c: Move to ... + * gcc.dg/c23-attr-syntax-2.c: ... here. + * gcc.dg/c2x-attr-syntax-3.c: Move to ... + * gcc.dg/c23-attr-syntax-3.c: ... here. + * gcc.dg/c2x-attr-syntax-4.c: Move to ... + * gcc.dg/c23-attr-syntax-4.c: ... here. + * gcc.dg/c2x-attr-syntax-5.c: Move to ... + * gcc.dg/c23-attr-syntax-5.c: ... here. + * gcc.dg/c2x-attr-syntax-6.c: Move to ... + * gcc.dg/c23-attr-syntax-6.c: ... here. + * gcc.dg/c2x-attr-syntax-7.c: Move to ... + * gcc.dg/c23-attr-syntax-7.c: ... here. + * gcc.dg/c2x-auto-1.c: Move to ... + * gcc.dg/c23-auto-1.c: ... here. + * gcc.dg/c2x-auto-2.c: Move to ... + * gcc.dg/c23-auto-2.c: ... here. + * gcc.dg/c2x-auto-3.c: Move to ... + * gcc.dg/c23-auto-3.c: ... here. + * gcc.dg/c2x-auto-4.c: Move to ... + * gcc.dg/c23-auto-4.c: ... here. + * gcc.dg/c2x-binary-constants-1.c: Move to ... + * gcc.dg/c23-binary-constants-1.c: ... here. + * gcc.dg/c2x-binary-constants-2.c: Move to ... + * gcc.dg/c23-binary-constants-2.c: ... here. + * gcc.dg/c2x-binary-constants-3.c: Move to ... + * gcc.dg/c23-binary-constants-3.c: ... here. + * gcc.dg/c2x-bool-1.c: Move to ... + * gcc.dg/c23-bool-1.c: ... here. + * gcc.dg/c2x-bool-2.c: Move to ... + * gcc.dg/c23-bool-2.c: ... here. + * gcc.dg/c2x-bool-limits-1.c: Move to ... + * gcc.dg/c23-bool-limits-1.c: ... here. + * gcc.dg/c2x-builtins-1.c: Move to ... + * gcc.dg/c23-builtins-1.c: ... here. + * gcc.dg/c2x-complit-1.c: Move to ... + * gcc.dg/c23-complit-1.c: ... here. + * gcc.dg/c2x-complit-2.c: Move to ... + * gcc.dg/c23-complit-2.c: ... here. + * gcc.dg/c2x-complit-3.c: Move to ... + * gcc.dg/c23-complit-3.c: ... here. + * gcc.dg/c2x-complit-4.c: Move to ... + * gcc.dg/c23-complit-4.c: ... here. + * gcc.dg/c2x-complit-5.c: Move to ... + * gcc.dg/c23-complit-5.c: ... here. + * gcc.dg/c2x-complit-6.c: Move to ... + * gcc.dg/c23-complit-6.c: ... here. + * gcc.dg/c2x-complit-7.c: Move to ... + * gcc.dg/c23-complit-7.c: ... here. + * gcc.dg/c2x-complit-8.c: Move to ... + * gcc.dg/c23-complit-8.c: ... here. + * gcc.dg/c2x-concat-1.c: Move to ... + * gcc.dg/c23-concat-1.c: ... here. + * gcc.dg/c2x-constexpr-1.c: Move to ... + * gcc.dg/c23-constexpr-1.c: ... here. + * gcc.dg/c2x-constexpr-2a.c: Move to ... + * gcc.dg/c23-constexpr-2a.c: ... here. Update reference to moved + file. + * gcc.dg/c2x-constexpr-2b.c: Move to ... + * gcc.dg/c23-constexpr-2b.c: ... here. + * gcc.dg/c2x-constexpr-3.c: Move to ... + * gcc.dg/c23-constexpr-3.c: ... here. + * gcc.dg/c2x-constexpr-4.c: Move to ... + * gcc.dg/c23-constexpr-4.c: ... here. + * gcc.dg/c2x-constexpr-5.c: Move to ... + * gcc.dg/c23-constexpr-5.c: ... here. + * gcc.dg/c2x-constexpr-6.c: Move to ... + * gcc.dg/c23-constexpr-6.c: ... here. + * gcc.dg/c2x-constexpr-7.c: Move to ... + * gcc.dg/c23-constexpr-7.c: ... here. + * gcc.dg/c2x-constexpr-8.c: Move to ... + * gcc.dg/c23-constexpr-8.c: ... here. + * gcc.dg/c2x-constexpr-9.c: Move to ... + * gcc.dg/c23-constexpr-9.c: ... here. + * gcc.dg/c2x-digit-separators-1.c: Move to ... + * gcc.dg/c23-digit-separators-1.c: ... here. + * gcc.dg/c2x-digit-separators-2.c: Move to ... + * gcc.dg/c23-digit-separators-2.c: ... here. + * gcc.dg/c2x-digit-separators-3.c: Move to ... + * gcc.dg/c23-digit-separators-3.c: ... here. + * gcc.dg/c2x-empty-init-1.c: Move to ... + * gcc.dg/c23-empty-init-1.c: ... here. + * gcc.dg/c2x-empty-init-2.c: Move to ... + * gcc.dg/c23-empty-init-2.c: ... here. + * gcc.dg/c2x-empty-init-3.c: Move to ... + * gcc.dg/c23-empty-init-3.c: ... here. + * gcc.dg/c2x-enum-1.c: Move to ... + * gcc.dg/c23-enum-1.c: ... here. + * gcc.dg/c2x-enum-2.c: Move to ... + * gcc.dg/c23-enum-2.c: ... here. + * gcc.dg/c2x-enum-3.c: Move to ... + * gcc.dg/c23-enum-3.c: ... here. + * gcc.dg/c2x-enum-4.c: Move to ... + * gcc.dg/c23-enum-4.c: ... here. + * gcc.dg/c2x-enum-5.c: Move to ... + * gcc.dg/c23-enum-5.c: ... here. + * gcc.dg/c2x-enum-6.c: Move to ... + * gcc.dg/c23-enum-6.c: ... here. + * gcc.dg/c2x-enum-7.c: Move to ... + * gcc.dg/c23-enum-7.c: ... here. + * gcc.dg/c2x-enum-8.c: Move to ... + * gcc.dg/c23-enum-8.c: ... here. + * gcc.dg/c2x-float-1.c: Move to ... + * gcc.dg/c23-float-1.c: ... here. + * gcc.dg/c2x-float-10.c: Move to ... + * gcc.dg/c23-float-10.c: ... here. + * gcc.dg/c2x-float-11.c: Move to ... + * gcc.dg/c23-float-11.c: ... here. + * gcc.dg/c2x-float-12.c: Move to ... + * gcc.dg/c23-float-12.c: ... here. + * gcc.dg/c2x-float-13.c: Move to ... + * gcc.dg/c23-float-13.c: ... here. + * gcc.dg/c2x-float-2.c: Move to ... + * gcc.dg/c23-float-2.c: ... here. + * gcc.dg/c2x-float-3.c: Move to ... + * gcc.dg/c23-float-3.c: ... here. + * gcc.dg/c2x-float-4.c: Move to ... + * gcc.dg/c23-float-4.c: ... here. + * gcc.dg/c2x-float-5.c: Move to ... + * gcc.dg/c23-float-5.c: ... here. + * gcc.dg/c2x-float-6.c: Move to ... + * gcc.dg/c23-float-6.c: ... here. + * gcc.dg/c2x-float-7a.c: Move to ... + * gcc.dg/c23-float-7a.c: ... here. + * gcc.dg/c2x-float-7b.c: Move to ... + * gcc.dg/c23-float-7b.c: ... here. + * gcc.dg/c2x-float-7c.c: Move to ... + * gcc.dg/c23-float-7c.c: ... here. + * gcc.dg/c2x-float-8.c: Move to ... + * gcc.dg/c23-float-8.c: ... here. + * gcc.dg/c2x-float-9.c: Move to ... + * gcc.dg/c23-float-9.c: ... here. + * gcc.dg/c2x-float-no-dfp-1.c: Move to ... + * gcc.dg/c23-float-no-dfp-1.c: ... here. + * gcc.dg/c2x-float-no-dfp-2.c: Move to ... + * gcc.dg/c23-float-no-dfp-2.c: ... here. Update reference to + moved file. + * gcc.dg/c2x-float-no-dfp-3.c: Move to ... + * gcc.dg/c23-float-no-dfp-3.c: ... here. + * gcc.dg/c2x-float-no-dfp-4.c: Move to ... + * gcc.dg/c23-float-no-dfp-4.c: ... here. Update reference to + moved file. + * gcc.dg/c2x-floatn-1.c: Move to ... + * gcc.dg/c23-floatn-1.c: ... here. + * gcc.dg/c2x-floatn-2.c: Move to ... + * gcc.dg/c23-floatn-2.c: ... here. + * gcc.dg/c2x-floatn-3.c: Move to ... + * gcc.dg/c23-floatn-3.c: ... here. + * gcc.dg/c2x-floatn-4.c: Move to ... + * gcc.dg/c23-floatn-4.c: ... here. + * gcc.dg/c2x-floatn-5.c: Move to ... + * gcc.dg/c23-floatn-5.c: ... here. + * gcc.dg/c2x-floatn-6.c: Move to ... + * gcc.dg/c23-floatn-6.c: ... here. + * gcc.dg/c2x-floatn-7.c: Move to ... + * gcc.dg/c23-floatn-7.c: ... here. + * gcc.dg/c2x-floatn-8.c: Move to ... + * gcc.dg/c23-floatn-8.c: ... here. + * gcc.dg/c2x-fordecl-1.c: Move to ... + * gcc.dg/c23-fordecl-1.c: ... here. + * gcc.dg/c2x-fordecl-2.c: Move to ... + * gcc.dg/c23-fordecl-2.c: ... here. + * gcc.dg/c2x-fordecl-3.c: Move to ... + * gcc.dg/c23-fordecl-3.c: ... here. + * gcc.dg/c2x-fordecl-4.c: Move to ... + * gcc.dg/c23-fordecl-4.c: ... here. + * gcc.dg/c2x-has-c-attribute-1.c: Move to ... + * gcc.dg/c23-has-c-attribute-1.c: ... here. + * gcc.dg/c2x-has-c-attribute-2.c: Move to ... + * gcc.dg/c23-has-c-attribute-2.c: ... here. + * gcc.dg/c2x-has-c-attribute-3.c: Move to ... + * gcc.dg/c23-has-c-attribute-3.c: ... here. + * gcc.dg/c2x-has-c-attribute-4.c: Move to ... + * gcc.dg/c23-has-c-attribute-4.c: ... here. + * gcc.dg/c2x-labels-1.c: Move to ... + * gcc.dg/c23-labels-1.c: ... here. + * gcc.dg/c2x-labels-2.c: Move to ... + * gcc.dg/c23-labels-2.c: ... here. + * gcc.dg/c2x-labels-3.c: Move to ... + * gcc.dg/c23-labels-3.c: ... here. + * gcc.dg/c2x-limits-1.c: Move to ... + * gcc.dg/c23-limits-1.c: ... here. + * gcc.dg/c2x-no-dfp-1.c: Move to ... + * gcc.dg/c23-no-dfp-1.c: ... here. + * gcc.dg/c2x-nullptr-1.c: Move to ... + * gcc.dg/c23-nullptr-1.c: ... here. + * gcc.dg/c2x-nullptr-2.c: Move to ... + * gcc.dg/c23-nullptr-2.c: ... here. + * gcc.dg/c2x-nullptr-3.c: Move to ... + * gcc.dg/c23-nullptr-3.c: ... here. + * gcc.dg/c2x-nullptr-4.c: Move to ... + * gcc.dg/c23-nullptr-4.c: ... here. + * gcc.dg/c2x-nullptr-5.c: Move to ... + * gcc.dg/c23-nullptr-5.c: ... here. + * gcc.dg/c2x-nullptr-6.c: Move to ... + * gcc.dg/c23-nullptr-6.c: ... here. + * gcc.dg/c2x-old-style-definition-1.c: Move to ... + * gcc.dg/c23-old-style-definition-1.c: ... here. + * gcc.dg/c2x-old-style-definition-2.c: Move to ... + * gcc.dg/c23-old-style-definition-2.c: ... here. + * gcc.dg/c2x-old-style-definition-3.c: Move to ... + * gcc.dg/c23-old-style-definition-3.c: ... here. + * gcc.dg/c2x-old-style-definition-4.c: Move to ... + * gcc.dg/c23-old-style-definition-4.c: ... here. + * gcc.dg/c2x-old-style-definition-5.c: Move to ... + * gcc.dg/c23-old-style-definition-5.c: ... here. + * gcc.dg/c2x-old-style-definition-6.c: Move to ... + * gcc.dg/c23-old-style-definition-6.c: ... here. + * gcc.dg/c2x-parm-omit-1.c: Move to ... + * gcc.dg/c23-parm-omit-1.c: ... here. + * gcc.dg/c2x-parm-omit-2.c: Move to ... + * gcc.dg/c23-parm-omit-2.c: ... here. + * gcc.dg/c2x-parm-omit-3.c: Move to ... + * gcc.dg/c23-parm-omit-3.c: ... here. + * gcc.dg/c2x-parm-omit-4.c: Move to ... + * gcc.dg/c23-parm-omit-4.c: ... here. + * gcc.dg/c2x-qual-1.c: Move to ... + * gcc.dg/c23-qual-1.c: ... here. + * gcc.dg/c2x-qual-2.c: Move to ... + * gcc.dg/c23-qual-2.c: ... here. + * gcc.dg/c2x-qual-3.c: Move to ... + * gcc.dg/c23-qual-3.c: ... here. + * gcc.dg/c2x-qual-4.c: Move to ... + * gcc.dg/c23-qual-4.c: ... here. + * gcc.dg/c2x-qual-5.c: Move to ... + * gcc.dg/c23-qual-5.c: ... here. + * gcc.dg/c2x-qual-6.c: Move to ... + * gcc.dg/c23-qual-6.c: ... here. + * gcc.dg/c2x-qual-7.c: Move to ... + * gcc.dg/c23-qual-7.c: ... here. + * gcc.dg/c2x-static-assert-1.c: Move to ... + * gcc.dg/c23-static-assert-1.c: ... here. + * gcc.dg/c2x-static-assert-2.c: Move to ... + * gcc.dg/c23-static-assert-2.c: ... here. + * gcc.dg/c2x-static-assert-3.c: Move to ... + * gcc.dg/c23-static-assert-3.c: ... here. + * gcc.dg/c2x-static-assert-4.c: Move to ... + * gcc.dg/c23-static-assert-4.c: ... here. + * gcc.dg/c2x-stdarg-1.c: Move to ... + * gcc.dg/c23-stdarg-1.c: ... here. + * gcc.dg/c2x-stdarg-2.c: Move to ... + * gcc.dg/c23-stdarg-2.c: ... here. + * gcc.dg/c2x-stdarg-3.c: Move to ... + * gcc.dg/c23-stdarg-3.c: ... here. + * gcc.dg/c2x-stdarg-4.c: Move to ... + * gcc.dg/c23-stdarg-4.c: ... here. + * gcc.dg/c2x-stdarg-5.c: Move to ... + * gcc.dg/c23-stdarg-5.c: ... here. + * gcc.dg/c2x-stdatomic-1.c: Move to ... + * gcc.dg/c23-stdatomic-1.c: ... here. + * gcc.dg/c2x-stddef-1.c: Move to ... + * gcc.dg/c23-stddef-1.c: ... here. + * gcc.dg/c2x-stdint-1.c: Move to ... + * gcc.dg/c23-stdint-1.c: ... here. + * gcc.dg/c2x-thread-local-1.c: Move to ... + * gcc.dg/c23-thread-local-1.c: ... here. + * gcc.dg/c2x-thread-local-2.c: Move to ... + * gcc.dg/c23-thread-local-2.c: ... here. + * gcc.dg/c2x-typeof-1.c: Move to ... + * gcc.dg/c23-typeof-1.c: ... here. + * gcc.dg/c2x-typeof-2.c: Move to ... + * gcc.dg/c23-typeof-2.c: ... here. + * gcc.dg/c2x-typeof-3.c: Move to ... + * gcc.dg/c23-typeof-3.c: ... here. + * gcc.dg/c2x-unproto-1.c: Move to ... + * gcc.dg/c23-unproto-1.c: ... here. + * gcc.dg/c2x-unproto-2.c: Move to ... + * gcc.dg/c23-unproto-2.c: ... here. + * gcc.dg/c2x-unproto-3.c: Move to ... + * gcc.dg/c23-unproto-3.c: ... here. + * gcc.dg/c2x-unproto-4.c: Move to ... + * gcc.dg/c23-unproto-4.c: ... here. + * gcc.dg/c2x-unreachable-1.c: Move to ... + * gcc.dg/c23-unreachable-1.c: ... here. + * gcc.dg/c2x-utf8char-1.c: Move to ... + * gcc.dg/c23-utf8char-1.c: ... here. + * gcc.dg/c2x-utf8char-2.c: Move to ... + * gcc.dg/c23-utf8char-2.c: ... here. + * gcc.dg/c2x-utf8char-3.c: Move to ... + * gcc.dg/c23-utf8char-3.c: ... here. + * gcc.dg/c2x-utf8str-type.c: Move to ... + * gcc.dg/c23-utf8str-type.c: ... here. + * gcc.dg/c2x-utf8str.c: Move to ... + * gcc.dg/c23-utf8str.c: ... here. + * gcc.dg/cpp/c2x-elifdef-1.c: Move to ... + * gcc.dg/cpp/c23-elifdef-1.c: ... here. + * gcc.dg/cpp/c2x-elifdef-2.c: Move to ... + * gcc.dg/cpp/c23-elifdef-2.c: ... here. + * gcc.dg/cpp/c2x-scope-1.c: Move to ... + * gcc.dg/cpp/c23-scope-1.c: ... here. + * gcc.dg/cpp/c2x-scope-2.c: Move to ... + * gcc.dg/cpp/c23-scope-2.c: ... here. Update reference to moved + file. + * gcc.dg/cpp/c2x-trigraphs-1.c: Move to ... + * gcc.dg/cpp/c23-trigraphs-1.c: ... here. + * gcc.dg/cpp/c2x-trigraphs-2.c: Move to ... + * gcc.dg/cpp/c23-trigraphs-2.c: ... here. + * gcc.dg/cpp/c2x-ucn-1.c: Move to ... + * gcc.dg/cpp/c23-ucn-1.c: ... here. + * gcc.dg/cpp/c2x-ucnid-1-utf8.c: Move to ... + * gcc.dg/cpp/c23-ucnid-1-utf8.c: ... here. + * gcc.dg/cpp/c2x-ucnid-1.c: Move to ... + * gcc.dg/cpp/c23-ucnid-1.c: ... here. + * gcc.dg/cpp/c2x-va-opt-1.c: Move to ... + * gcc.dg/cpp/c23-va-opt-1.c: ... here. + * gcc.dg/cpp/c2x-warning-1.c: Move to ... + * gcc.dg/cpp/c23-warning-1.c: ... here. + * gcc.dg/cpp/c2x-warning-2.c: Move to ... + * gcc.dg/cpp/c23-warning-2.c: ... here. + * gcc.dg/cpp/gnu2x-warning-1.c: Move to ... + * gcc.dg/cpp/gnu23-warning-1.c: ... here. + * gcc.dg/cpp/gnu2x-warning-2.c: Move to ... + * gcc.dg/cpp/gnu23-warning-2.c: ... here. + * gcc.dg/dfp/c2x-builtins-dfp-1.c: Move to ... + * gcc.dg/dfp/c23-builtins-dfp-1.c: ... here. + * gcc.dg/dfp/c2x-constants-1.c: Move to ... + * gcc.dg/dfp/c23-constants-1.c: ... here. + * gcc.dg/dfp/c2x-constants-2.c: Move to ... + * gcc.dg/dfp/c23-constants-2.c: ... here. + * gcc.dg/dfp/c2x-constexpr-dfp-1.c: Move to ... + * gcc.dg/dfp/c23-constexpr-dfp-1.c: ... here. + * gcc.dg/dfp/c2x-constexpr-dfp-2.c: Move to ... + * gcc.dg/dfp/c23-constexpr-dfp-2.c: ... here. + * gcc.dg/dfp/c2x-float-dfp-1.c: Move to ... + * gcc.dg/dfp/c23-float-dfp-1.c: ... here. + * gcc.dg/dfp/c2x-float-dfp-2.c: Move to ... + * gcc.dg/dfp/c23-float-dfp-2.c: ... here. Update reference to + moved file. + * gcc.dg/dfp/c2x-float-dfp-3.c: Move to ... + * gcc.dg/dfp/c23-float-dfp-3.c: ... here. + * gcc.dg/dfp/c2x-float-dfp-4.c: Move to ... + * gcc.dg/dfp/c23-float-dfp-4.c: ... here. + * gcc.dg/dfp/c2x-float-dfp-5.c: Move to ... + * gcc.dg/dfp/c23-float-dfp-5.c: ... here. + * gcc.dg/dfp/c2x-float-dfp-6.c: Move to ... + * gcc.dg/dfp/c23-float-dfp-6.c: ... here. + * gcc.dg/dfp/c2x-float-dfp-7.c: Move to ... + * gcc.dg/dfp/c23-float-dfp-7.c: ... here. + * gcc.dg/dfp/c2x-float-dfp-8.c: Move to ... + * gcc.dg/dfp/c23-float-dfp-8.c: ... here. + * gcc.dg/dfp/c2x-keywords-1.c: Move to ... + * gcc.dg/dfp/c23-keywords-1.c: ... here. + * gcc.dg/dfp/c2x-keywords-2.c: Move to ... + * gcc.dg/dfp/c23-keywords-2.c: ... here. + * gcc.dg/format/c2x-dfp-printf-1.c: Move to ... + * gcc.dg/format/c23-dfp-printf-1.c: ... here. + * gcc.dg/format/c2x-dfp-scanf-1.c: Move to ... + * gcc.dg/format/c23-dfp-scanf-1.c: ... here. + * gcc.dg/format/c2x-printf-1.c: Move to ... + * gcc.dg/format/c23-printf-1.c: ... here. + * gcc.dg/format/c2x-scanf-1.c: Move to ... + * gcc.dg/format/c23-scanf-1.c: ... here. + * gcc.dg/format/c2x-strftime-1.c: Move to ... + * gcc.dg/format/c23-strftime-1.c: ... here. + * gcc.dg/gnu2x-attr-syntax-1.c: Move to ... + * gcc.dg/gnu23-attr-syntax-1.c: ... here. + * gcc.dg/gnu2x-attr-syntax-2.c: Move to ... + * gcc.dg/gnu23-attr-syntax-2.c: ... here. + * gcc.dg/gnu2x-attrs-1.c: Move to ... + * gcc.dg/gnu23-attrs-1.c: ... here. + * gcc.dg/gnu2x-attrs-2.c: Move to ... + * gcc.dg/gnu23-attrs-2.c: ... here. + * gcc.dg/gnu2x-auto-1.c: Move to ... + * gcc.dg/gnu23-auto-1.c: ... here. + * gcc.dg/gnu2x-builtins-no-dfp-1.c: Move to ... + * gcc.dg/gnu23-builtins-no-dfp-1.c: ... here. + * gcc.dg/gnu2x-complit-1.c: Move to ... + * gcc.dg/gnu23-complit-1.c: ... here. + * gcc.dg/gnu2x-complit-2.c: Move to ... + * gcc.dg/gnu23-complit-2.c: ... here. + * gcc.dg/gnu2x-constexpr-1.c: Move to ... + * gcc.dg/gnu23-constexpr-1.c: ... here. + * gcc.dg/gnu2x-empty-init-1.c: Move to ... + * gcc.dg/gnu23-empty-init-1.c: ... here. + * gcc.dg/gnu2x-empty-init-2.c: Move to ... + * gcc.dg/gnu23-empty-init-2.c: ... here. + * gcc.dg/gnu2x-enum-1.c: Move to ... + * gcc.dg/gnu23-enum-1.c: ... here. + * gcc.dg/gnu2x-static-assert-1.c: Move to ... + * gcc.dg/gnu23-static-assert-1.c: ... here. + * gcc.dg/gnu2x-stdarg-1.c: Move to ... + * gcc.dg/gnu23-stdarg-1.c: ... here. + * gcc.dg/gnu2x-typeof-1.c: Move to ... + * gcc.dg/gnu23-typeof-1.c: ... here. + * gcc.dg/gnu2x-utf8char-1.c: Move to ... + * gcc.dg/gnu23-utf8char-1.c: ... here. Update reference to moved + file. + * gcc.dg/gnu2x-utf8str-type.c: Move to ... + * gcc.dg/gnu23-utf8str-type.c: ... here. Update reference to + moved file. + * gcc.dg/gnu2x-utf8str.c: Move to ... + * gcc.dg/gnu23-utf8str.c: ... here. + * gcc.dg/torture/builtin-fp-int-inexact-c2x.c: Move to ... + * gcc.dg/torture/builtin-fp-int-inexact-c23.c: ... here. + * gcc.dg/torture/c2x-stdarg-split-1a.c: Move to ... + * gcc.dg/torture/c23-stdarg-split-1a.c: ... here. Update + reference to moved file. + * gcc.dg/torture/c2x-stdarg-split-1b.c: Move to ... + * gcc.dg/torture/c23-stdarg-split-1b.c: ... here. + * objc.dg/attributes/gnu2x-attr-syntax-1.m: Move to ... + * objc.dg/attributes/gnu23-attr-syntax-1.m: ... here. Update + reference to moved file. + * g++.dg/cpp/elifdef-2.C: Update reference to moved file. + * g++.dg/cpp/elifdef-4.C: Likewise. + * gcc.dg/c11-float-dfp-1.c: Likewise. + * gcc.dg/c11-float-dfp-2.c: Likewise. + * gcc.dg/cpp/gnu11-elifdef-1.c: Likewise. + * gcc.dg/dfp/ts18661-2-float-dfp-1.c: Likewise. + +2023-11-07 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-ifloor-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-ifloor-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lfloor-rv32-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lfloor-rv32-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lfloorf-rv64-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lfloorf-rv64-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llfloorf-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llfloorf-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-ifloor-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lfloor-rv32-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lfloorf-rv64-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-llfloorf-0.c: New test. + +2023-11-07 Joseph Myers + + * c-c++-common/alias-1.c: Use "c23" or "gnu23" option names in + place of "c2x" or "gnu2x" names, and refer to C23 in comments in + place of C2X or C2x. + * gcc.dg/Wformat-overflow1.c: Likewise. + * gcc.dg/asm-scope-1.c: Likewise. + * gcc.dg/atomic/c2x-stdatomic-lockfree-char8_t.c: Likewise. + * gcc.dg/atomic/c2x-stdatomic-var-init-1.c: Likewise. + * gcc.dg/atomic/gnu2x-stdatomic-lockfree-char8_t.c: Likewise. + * gcc.dg/atomic/stdatomic-bitint-1.c: Likewise. + * gcc.dg/atomic/stdatomic-bitint-2.c: Likewise. + * gcc.dg/attr-assume-1.c: Likewise. + * gcc.dg/attr-assume-2.c: Likewise. + * gcc.dg/attr-assume-3.c: Likewise. + * gcc.dg/attr-assume-4.c: Likewise. + * gcc.dg/bitint-1.c: Likewise. + * gcc.dg/bitint-10.c: Likewise. + * gcc.dg/bitint-11.c: Likewise. + * gcc.dg/bitint-12.c: Likewise. + * gcc.dg/bitint-13.c: Likewise. + * gcc.dg/bitint-14.c: Likewise. + * gcc.dg/bitint-15.c: Likewise. + * gcc.dg/bitint-16.c: Likewise. + * gcc.dg/bitint-17.c: Likewise. + * gcc.dg/bitint-18.c: Likewise. + * gcc.dg/bitint-19.c: Likewise. + * gcc.dg/bitint-2.c: Likewise. + * gcc.dg/bitint-20.c: Likewise. + * gcc.dg/bitint-21.c: Likewise. + * gcc.dg/bitint-22.c: Likewise. + * gcc.dg/bitint-23.c: Likewise. + * gcc.dg/bitint-25.c: Likewise. + * gcc.dg/bitint-28.c: Likewise. + * gcc.dg/bitint-29.c: Likewise. + * gcc.dg/bitint-3.c: Likewise. + * gcc.dg/bitint-30.c: Likewise. + * gcc.dg/bitint-31.c: Likewise. + * gcc.dg/bitint-32.c: Likewise. + * gcc.dg/bitint-34.c: Likewise. + * gcc.dg/bitint-35.c: Likewise. + * gcc.dg/bitint-36.c: Likewise. + * gcc.dg/bitint-38.c: Likewise. + * gcc.dg/bitint-39.c: Likewise. + * gcc.dg/bitint-4.c: Likewise. + * gcc.dg/bitint-5.c: Likewise. + * gcc.dg/bitint-6.c: Likewise. + * gcc.dg/bitint-7.c: Likewise. + * gcc.dg/bitint-8.c: Likewise. + * gcc.dg/bitint-9.c: Likewise. + * gcc.dg/c11-attr-syntax-3.c: Likewise. + * gcc.dg/c11-builtins-1.c: Likewise. + * gcc.dg/c11-complit-1.c: Likewise. + * gcc.dg/c11-complit-2.c: Likewise. + * gcc.dg/c11-complit-3.c: Likewise. + * gcc.dg/c11-digit-separators-1.c: Likewise. + * gcc.dg/c11-empty-init-3.c: Likewise. + * gcc.dg/c11-enum-1.c: Likewise. + * gcc.dg/c11-enum-2.c: Likewise. + * gcc.dg/c11-enum-3.c: Likewise. + * gcc.dg/c11-enum-4.c: Likewise. + * gcc.dg/c11-enum-5.c: Likewise. + * gcc.dg/c11-enum-6.c: Likewise. + * gcc.dg/c11-floatn-5.c: Likewise. + * gcc.dg/c11-floatn-6.c: Likewise. + * gcc.dg/c11-floatn-7.c: Likewise. + * gcc.dg/c11-floatn-8.c: Likewise. + * gcc.dg/c11-fordecl-3.c: Likewise. + * gcc.dg/c11-fordecl-4.c: Likewise. + * gcc.dg/c11-keywords-1.c: Likewise. + * gcc.dg/c11-old-style-definition-1.c: Likewise. + * gcc.dg/c11-old-style-definition-2.c: Likewise. + * gcc.dg/c11-parm-omit-3.c: Likewise. + * gcc.dg/c11-qual-1.c: Likewise. + * gcc.dg/c11-static-assert-9.c: Likewise. + * gcc.dg/c11-stdarg-3.c: Likewise. + * gcc.dg/c11-unproto-1.c: Likewise. + * gcc.dg/c11-unproto-2.c: Likewise. + * gcc.dg/c11-utf8char-1.c: Likewise. + * gcc.dg/c17-nullptr-2.c: Likewise. + * gcc.dg/c2x-align-1.c: Likewise. + * gcc.dg/c2x-align-6.c: Likewise. + * gcc.dg/c2x-attr-deprecated-1.c: Likewise. + * gcc.dg/c2x-attr-deprecated-2.c: Likewise. + * gcc.dg/c2x-attr-deprecated-3.c: Likewise. + * gcc.dg/c2x-attr-deprecated-4.c: Likewise. + * gcc.dg/c2x-attr-fallthrough-1.c: Likewise. + * gcc.dg/c2x-attr-fallthrough-2.c: Likewise. + * gcc.dg/c2x-attr-fallthrough-3.c: Likewise. + * gcc.dg/c2x-attr-fallthrough-4.c: Likewise. + * gcc.dg/c2x-attr-fallthrough-5.c: Likewise. + * gcc.dg/c2x-attr-fallthrough-6.c: Likewise. + * gcc.dg/c2x-attr-maybe_unused-1.c: Likewise. + * gcc.dg/c2x-attr-maybe_unused-2.c: Likewise. + * gcc.dg/c2x-attr-maybe_unused-3.c: Likewise. + * gcc.dg/c2x-attr-maybe_unused-4.c: Likewise. + * gcc.dg/c2x-attr-nodiscard-1.c: Likewise. + * gcc.dg/c2x-attr-nodiscard-2.c: Likewise. + * gcc.dg/c2x-attr-nodiscard-3.c: Likewise. + * gcc.dg/c2x-attr-nodiscard-4.c: Likewise. + * gcc.dg/c2x-attr-noreturn-1.c: Likewise. + * gcc.dg/c2x-attr-noreturn-2.c: Likewise. + * gcc.dg/c2x-attr-noreturn-3.c: Likewise. + * gcc.dg/c2x-attr-syntax-1.c: Likewise. + * gcc.dg/c2x-attr-syntax-2.c: Likewise. + * gcc.dg/c2x-attr-syntax-3.c: Likewise. + * gcc.dg/c2x-attr-syntax-4.c: Likewise. + * gcc.dg/c2x-attr-syntax-5.c: Likewise. + * gcc.dg/c2x-attr-syntax-7.c: Likewise. + * gcc.dg/c2x-auto-1.c: Likewise. + * gcc.dg/c2x-auto-2.c: Likewise. + * gcc.dg/c2x-auto-3.c: Likewise. + * gcc.dg/c2x-auto-4.c: Likewise. + * gcc.dg/c2x-binary-constants-1.c: Likewise. + * gcc.dg/c2x-binary-constants-2.c: Likewise. + * gcc.dg/c2x-binary-constants-3.c: Likewise. + * gcc.dg/c2x-bool-1.c: Likewise. + * gcc.dg/c2x-bool-2.c: Likewise. + * gcc.dg/c2x-bool-limits-1.c: Likewise. + * gcc.dg/c2x-builtins-1.c: Likewise. + * gcc.dg/c2x-complit-1.c: Likewise. + * gcc.dg/c2x-complit-2.c: Likewise. + * gcc.dg/c2x-complit-3.c: Likewise. + * gcc.dg/c2x-complit-4.c: Likewise. + * gcc.dg/c2x-complit-5.c: Likewise. + * gcc.dg/c2x-complit-6.c: Likewise. + * gcc.dg/c2x-complit-7.c: Likewise. + * gcc.dg/c2x-complit-8.c: Likewise. + * gcc.dg/c2x-concat-1.c: Likewise. + * gcc.dg/c2x-constexpr-1.c: Likewise. + * gcc.dg/c2x-constexpr-2a.c: Likewise. + * gcc.dg/c2x-constexpr-2b.c: Likewise. + * gcc.dg/c2x-constexpr-3.c: Likewise. + * gcc.dg/c2x-constexpr-4.c: Likewise. + * gcc.dg/c2x-constexpr-5.c: Likewise. + * gcc.dg/c2x-constexpr-6.c: Likewise. + * gcc.dg/c2x-constexpr-7.c: Likewise. + * gcc.dg/c2x-constexpr-8.c: Likewise. + * gcc.dg/c2x-constexpr-9.c: Likewise. + * gcc.dg/c2x-digit-separators-1.c: Likewise. + * gcc.dg/c2x-digit-separators-2.c: Likewise. + * gcc.dg/c2x-digit-separators-3.c: Likewise. + * gcc.dg/c2x-empty-init-1.c: Likewise. + * gcc.dg/c2x-empty-init-2.c: Likewise. + * gcc.dg/c2x-empty-init-3.c: Likewise. + * gcc.dg/c2x-enum-1.c: Likewise. + * gcc.dg/c2x-enum-2.c: Likewise. + * gcc.dg/c2x-enum-3.c: Likewise. + * gcc.dg/c2x-enum-4.c: Likewise. + * gcc.dg/c2x-enum-5.c: Likewise. + * gcc.dg/c2x-enum-6.c: Likewise. + * gcc.dg/c2x-enum-7.c: Likewise. + * gcc.dg/c2x-enum-8.c: Likewise. + * gcc.dg/c2x-float-1.c: Likewise. + * gcc.dg/c2x-float-10.c: Likewise. + * gcc.dg/c2x-float-11.c: Likewise. + * gcc.dg/c2x-float-12.c: Likewise. + * gcc.dg/c2x-float-13.c: Likewise. + * gcc.dg/c2x-float-2.c: Likewise. + * gcc.dg/c2x-float-3.c: Likewise. + * gcc.dg/c2x-float-4.c: Likewise. + * gcc.dg/c2x-float-5.c: Likewise. + * gcc.dg/c2x-float-6.c: Likewise. + * gcc.dg/c2x-float-7a.c: Likewise. + * gcc.dg/c2x-float-7b.c: Likewise. + * gcc.dg/c2x-float-7c.c: Likewise. + * gcc.dg/c2x-float-8.c: Likewise. + * gcc.dg/c2x-float-9.c: Likewise. + * gcc.dg/c2x-float-no-dfp-1.c: Likewise. + * gcc.dg/c2x-float-no-dfp-2.c: Likewise. + * gcc.dg/c2x-float-no-dfp-3.c: Likewise. + * gcc.dg/c2x-float-no-dfp-4.c: Likewise. + * gcc.dg/c2x-floatn-1.c: Likewise. + * gcc.dg/c2x-floatn-2.c: Likewise. + * gcc.dg/c2x-floatn-3.c: Likewise. + * gcc.dg/c2x-floatn-4.c: Likewise. + * gcc.dg/c2x-floatn-5.c: Likewise. + * gcc.dg/c2x-floatn-6.c: Likewise. + * gcc.dg/c2x-floatn-7.c: Likewise. + * gcc.dg/c2x-floatn-8.c: Likewise. + * gcc.dg/c2x-fordecl-1.c: Likewise. + * gcc.dg/c2x-fordecl-2.c: Likewise. + * gcc.dg/c2x-fordecl-3.c: Likewise. + * gcc.dg/c2x-fordecl-4.c: Likewise. + * gcc.dg/c2x-has-c-attribute-1.c: Likewise. + * gcc.dg/c2x-has-c-attribute-2.c: Likewise. + * gcc.dg/c2x-has-c-attribute-3.c: Likewise. + * gcc.dg/c2x-has-c-attribute-4.c: Likewise. + * gcc.dg/c2x-labels-1.c: Likewise. + * gcc.dg/c2x-labels-2.c: Likewise. + * gcc.dg/c2x-labels-3.c: Likewise. + * gcc.dg/c2x-limits-1.c: Likewise. + * gcc.dg/c2x-no-dfp-1.c: Likewise. + * gcc.dg/c2x-nullptr-1.c: Likewise. + * gcc.dg/c2x-nullptr-2.c: Likewise. + * gcc.dg/c2x-nullptr-3.c: Likewise. + * gcc.dg/c2x-nullptr-4.c: Likewise. + * gcc.dg/c2x-nullptr-5.c: Likewise. + * gcc.dg/c2x-nullptr-6.c: Likewise. + * gcc.dg/c2x-old-style-definition-1.c: Likewise. + * gcc.dg/c2x-old-style-definition-2.c: Likewise. + * gcc.dg/c2x-old-style-definition-3.c: Likewise. + * gcc.dg/c2x-old-style-definition-4.c: Likewise. + * gcc.dg/c2x-old-style-definition-5.c: Likewise. + * gcc.dg/c2x-old-style-definition-6.c: Likewise. + * gcc.dg/c2x-parm-omit-1.c: Likewise. + * gcc.dg/c2x-parm-omit-2.c: Likewise. + * gcc.dg/c2x-parm-omit-3.c: Likewise. + * gcc.dg/c2x-parm-omit-4.c: Likewise. + * gcc.dg/c2x-qual-1.c: Likewise. + * gcc.dg/c2x-qual-2.c: Likewise. + * gcc.dg/c2x-qual-3.c: Likewise. + * gcc.dg/c2x-qual-4.c: Likewise. + * gcc.dg/c2x-qual-5.c: Likewise. + * gcc.dg/c2x-qual-6.c: Likewise. + * gcc.dg/c2x-qual-7.c: Likewise. + * gcc.dg/c2x-static-assert-1.c: Likewise. + * gcc.dg/c2x-static-assert-2.c: Likewise. + * gcc.dg/c2x-static-assert-3.c: Likewise. + * gcc.dg/c2x-static-assert-4.c: Likewise. + * gcc.dg/c2x-stdarg-1.c: Likewise. + * gcc.dg/c2x-stdarg-2.c: Likewise. + * gcc.dg/c2x-stdarg-3.c: Likewise. + * gcc.dg/c2x-stdarg-4.c: Likewise. + * gcc.dg/c2x-stdarg-5.c: Likewise. + * gcc.dg/c2x-stdatomic-1.c: Likewise. + * gcc.dg/c2x-stddef-1.c: Likewise. + * gcc.dg/c2x-stdint-1.c: Likewise. + * gcc.dg/c2x-thread-local-1.c: Likewise. + * gcc.dg/c2x-thread-local-2.c: Likewise. + * gcc.dg/c2x-typeof-1.c: Likewise. + * gcc.dg/c2x-typeof-2.c: Likewise. + * gcc.dg/c2x-typeof-3.c: Likewise. + * gcc.dg/c2x-unproto-1.c: Likewise. + * gcc.dg/c2x-unproto-2.c: Likewise. + * gcc.dg/c2x-unproto-3.c: Likewise. + * gcc.dg/c2x-unproto-4.c: Likewise. + * gcc.dg/c2x-unreachable-1.c: Likewise. + * gcc.dg/c2x-utf8char-1.c: Likewise. + * gcc.dg/c2x-utf8char-2.c: Likewise. + * gcc.dg/c2x-utf8char-3.c: Likewise. + * gcc.dg/c2x-utf8str-type.c: Likewise. + * gcc.dg/c2x-utf8str.c: Likewise. + * gcc.dg/c90-auto-1.c: Likewise. + * gcc.dg/c90-complit-2.c: Likewise. + * gcc.dg/cpp/c11-warning-3.c: Likewise. + * gcc.dg/cpp/c2x-elifdef-1.c: Likewise. + * gcc.dg/cpp/c2x-elifdef-2.c: Likewise. + * gcc.dg/cpp/c2x-scope-1.c: Likewise. + * gcc.dg/cpp/c2x-scope-2.c: Likewise. + * gcc.dg/cpp/c2x-trigraphs-1.c: Likewise. + * gcc.dg/cpp/c2x-trigraphs-2.c: Likewise. + * gcc.dg/cpp/c2x-ucn-1.c: Likewise. + * gcc.dg/cpp/c2x-ucnid-1-utf8.c: Likewise. + * gcc.dg/cpp/c2x-ucnid-1.c: Likewise. + * gcc.dg/cpp/c2x-va-opt-1.c: Likewise. + * gcc.dg/cpp/c2x-warning-1.c: Likewise. + * gcc.dg/cpp/c2x-warning-2.c: Likewise. + * gcc.dg/cpp/gnu11-warning-3.c: Likewise. + * gcc.dg/cpp/gnu2x-warning-1.c: Likewise. + * gcc.dg/cpp/gnu2x-warning-2.c: Likewise. + * gcc.dg/cr-decimal-dig-2.c: Likewise. + * gcc.dg/cr-decimal-dig-3.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d128-1.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d128-2.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d128-3.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d128-4.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d32-1.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d32-2.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d64-1.c: Likewise. + * gcc.dg/dfp/bid-non-canonical-d64-2.c: Likewise. + * gcc.dg/dfp/bitint-1.c: Likewise. + * gcc.dg/dfp/bitint-2.c: Likewise. + * gcc.dg/dfp/bitint-3.c: Likewise. + * gcc.dg/dfp/bitint-4.c: Likewise. + * gcc.dg/dfp/bitint-5.c: Likewise. + * gcc.dg/dfp/bitint-6.c: Likewise. + * gcc.dg/dfp/bitint-7.c: Likewise. + * gcc.dg/dfp/bitint-8.c: Likewise. + * gcc.dg/dfp/c2x-builtins-dfp-1.c: Likewise. + * gcc.dg/dfp/c2x-constants-1.c: Likewise. + * gcc.dg/dfp/c2x-constants-2.c: Likewise. + * gcc.dg/dfp/c2x-constexpr-dfp-1.c: Likewise. + * gcc.dg/dfp/c2x-constexpr-dfp-2.c: Likewise. + * gcc.dg/dfp/c2x-float-dfp-1.c: Likewise. + * gcc.dg/dfp/c2x-float-dfp-2.c: Likewise. + * gcc.dg/dfp/c2x-float-dfp-3.c: Likewise. + * gcc.dg/dfp/c2x-float-dfp-4.c: Likewise. + * gcc.dg/dfp/c2x-float-dfp-5.c: Likewise. + * gcc.dg/dfp/c2x-float-dfp-6.c: Likewise. + * gcc.dg/dfp/c2x-float-dfp-7.c: Likewise. + * gcc.dg/dfp/c2x-float-dfp-8.c: Likewise. + * gcc.dg/dfp/c2x-keywords-1.c: Likewise. + * gcc.dg/dfp/c2x-keywords-2.c: Likewise. + * gcc.dg/dfp/tr24732-float-dfp-1.c: Likewise. + * gcc.dg/dfp/ts18661-2-float-dfp-1.c: Likewise. + * gcc.dg/fixed-point/bitint-1.c: Likewise. + * gcc.dg/format/c11-printf-1.c: Likewise. + * gcc.dg/format/c11-scanf-1.c: Likewise. + * gcc.dg/format/c2x-dfp-printf-1.c: Likewise. + * gcc.dg/format/c2x-dfp-scanf-1.c: Likewise. + * gcc.dg/format/c2x-printf-1.c: Likewise. + * gcc.dg/format/c2x-scanf-1.c: Likewise. + * gcc.dg/format/c2x-strftime-1.c: Likewise. + * gcc.dg/format/ext-10.c: Likewise. + * gcc.dg/format/ext-9.c: Likewise. + * gcc.dg/gnu11-typeof-2.c: Likewise. + * gcc.dg/gnu2x-attr-syntax-1.c: Likewise. + * gcc.dg/gnu2x-attr-syntax-2.c: Likewise. + * gcc.dg/gnu2x-attrs-1.c: Likewise. + * gcc.dg/gnu2x-attrs-2.c: Likewise. + * gcc.dg/gnu2x-auto-1.c: Likewise. + * gcc.dg/gnu2x-builtins-no-dfp-1.c: Likewise. + * gcc.dg/gnu2x-complit-1.c: Likewise. + * gcc.dg/gnu2x-complit-2.c: Likewise. + * gcc.dg/gnu2x-constexpr-1.c: Likewise. + * gcc.dg/gnu2x-empty-init-1.c: Likewise. + * gcc.dg/gnu2x-empty-init-2.c: Likewise. + * gcc.dg/gnu2x-enum-1.c: Likewise. + * gcc.dg/gnu2x-static-assert-1.c: Likewise. + * gcc.dg/gnu2x-stdarg-1.c: Likewise. + * gcc.dg/gnu2x-typeof-1.c: Likewise. + * gcc.dg/gnu2x-utf8char-1.c: Likewise. + * gcc.dg/gnu2x-utf8str-type.c: Likewise. + * gcc.dg/gnu2x-utf8str.c: Likewise. + * gcc.dg/gomp/attrs-1.c: Likewise. + * gcc.dg/gomp/attrs-10.c: Likewise. + * gcc.dg/gomp/attrs-11.c: Likewise. + * gcc.dg/gomp/attrs-12.c: Likewise. + * gcc.dg/gomp/attrs-13.c: Likewise. + * gcc.dg/gomp/attrs-14.c: Likewise. + * gcc.dg/gomp/attrs-15.c: Likewise. + * gcc.dg/gomp/attrs-16.c: Likewise. + * gcc.dg/gomp/attrs-17.c: Likewise. + * gcc.dg/gomp/attrs-18.c: Likewise. + * gcc.dg/gomp/attrs-19.c: Likewise. + * gcc.dg/gomp/attrs-2.c: Likewise. + * gcc.dg/gomp/attrs-20.c: Likewise. + * gcc.dg/gomp/attrs-21.c: Likewise. + * gcc.dg/gomp/attrs-3.c: Likewise. + * gcc.dg/gomp/attrs-4.c: Likewise. + * gcc.dg/gomp/attrs-5.c: Likewise. + * gcc.dg/gomp/attrs-6.c: Likewise. + * gcc.dg/gomp/attrs-7.c: Likewise. + * gcc.dg/gomp/attrs-8.c: Likewise. + * gcc.dg/gomp/attrs-9.c: Likewise. + * gcc.dg/limits-width-2.c: Likewise. + * gcc.dg/qual-return-10.c: Likewise. + * gcc.dg/qual-return-9.c: Likewise. + * gcc.dg/sso-19.c: Likewise. + * gcc.dg/stdckdint-1.c: Likewise. + * gcc.dg/stdckdint-2.c: Likewise. + * gcc.dg/stdint-width-2.c: Likewise. + * gcc.dg/tm/attrs-1.c: Likewise. + * gcc.dg/torture/bitint-1.c: Likewise. + * gcc.dg/torture/bitint-10.c: Likewise. + * gcc.dg/torture/bitint-11.c: Likewise. + * gcc.dg/torture/bitint-12.c: Likewise. + * gcc.dg/torture/bitint-13.c: Likewise. + * gcc.dg/torture/bitint-14.c: Likewise. + * gcc.dg/torture/bitint-15.c: Likewise. + * gcc.dg/torture/bitint-16.c: Likewise. + * gcc.dg/torture/bitint-17.c: Likewise. + * gcc.dg/torture/bitint-18.c: Likewise. + * gcc.dg/torture/bitint-19.c: Likewise. + * gcc.dg/torture/bitint-2.c: Likewise. + * gcc.dg/torture/bitint-20.c: Likewise. + * gcc.dg/torture/bitint-21.c: Likewise. + * gcc.dg/torture/bitint-22.c: Likewise. + * gcc.dg/torture/bitint-23.c: Likewise. + * gcc.dg/torture/bitint-24.c: Likewise. + * gcc.dg/torture/bitint-25.c: Likewise. + * gcc.dg/torture/bitint-26.c: Likewise. + * gcc.dg/torture/bitint-27.c: Likewise. + * gcc.dg/torture/bitint-28.c: Likewise. + * gcc.dg/torture/bitint-29.c: Likewise. + * gcc.dg/torture/bitint-3.c: Likewise. + * gcc.dg/torture/bitint-30.c: Likewise. + * gcc.dg/torture/bitint-31.c: Likewise. + * gcc.dg/torture/bitint-32.c: Likewise. + * gcc.dg/torture/bitint-33.c: Likewise. + * gcc.dg/torture/bitint-34.c: Likewise. + * gcc.dg/torture/bitint-35.c: Likewise. + * gcc.dg/torture/bitint-36.c: Likewise. + * gcc.dg/torture/bitint-37.c: Likewise. + * gcc.dg/torture/bitint-38.c: Likewise. + * gcc.dg/torture/bitint-39.c: Likewise. + * gcc.dg/torture/bitint-4.c: Likewise. + * gcc.dg/torture/bitint-40.c: Likewise. + * gcc.dg/torture/bitint-41.c: Likewise. + * gcc.dg/torture/bitint-42.c: Likewise. + * gcc.dg/torture/bitint-5.c: Likewise. + * gcc.dg/torture/bitint-6.c: Likewise. + * gcc.dg/torture/bitint-7.c: Likewise. + * gcc.dg/torture/bitint-8.c: Likewise. + * gcc.dg/torture/bitint-9.c: Likewise. + * gcc.dg/torture/builtin-fp-int-inexact-c2x.c: Likewise. + * gcc.dg/torture/c2x-stdarg-split-1a.c: Likewise. + * gcc.dg/torture/c2x-stdarg-split-1b.c: Likewise. + * gcc.dg/torture/float128-nan-floath.c: Likewise. + * gcc.dg/torture/float128x-nan-floath.c: Likewise. + * gcc.dg/torture/float16-nan-floath.c: Likewise. + * gcc.dg/torture/float32-nan-floath.c: Likewise. + * gcc.dg/torture/float32x-nan-floath.c: Likewise. + * gcc.dg/torture/float64-nan-floath.c: Likewise. + * gcc.dg/torture/float64x-nan-floath.c: Likewise. + * gcc.target/i386/excess-precision-11.c: Likewise. + * gcc.target/i386/excess-precision-12.c: Likewise. + * lib/target-supports.exp: Likewise. + * objc.dg/attributes/gnu2x-attr-syntax-1.m: Likewise. + +2023-11-07 Juzhe-Zhong + + * gcc.dg/vect/vect-sdiv-pow2-1.c: Recover scan check. + * lib/target-supports.exp: Remove riscv. + +2023-11-07 Robin Dapp + + * gcc.dg/pr112359.c: New test. + +2023-11-07 Marek Polacek + + * g++.dg/cpp2a/nodiscard-reason-nonstring.C: Adjust dg-error. + +2023-11-07 Kwok Cheung Yeung + + * c-c++-common/gomp/declare-target-7.c: Update expected error message. + * c-c++-common/gomp/declare-target-indirect-1.c: New. + * c-c++-common/gomp/declare-target-indirect-2.c: New. + * g++.dg/gomp/attrs-21.C (v12): Update expected error message. + * g++.dg/gomp/declare-target-indirect-1.C: New. + * gcc.dg/gomp/attrs-21.c (v12): Update expected error message. + +2023-11-07 Joseph Myers + + * gcc.dg/binary-constants-2.c: Refer to C23 instead of C2X. + * gcc.dg/binary-constants-3.c: Likewise. + * gcc.dg/bitint-23.c: Likewise. + * gcc.dg/bitint-26.c: Likewise. + * gcc.dg/bitint-27.c: Likewise. + * gcc.dg/c11-attr-syntax-1.c: Likewise. + * gcc.dg/c11-attr-syntax-2.c: Likewise. + * gcc.dg/c11-floatn-1.c: Likewise. + * gcc.dg/c11-floatn-2.c: Likewise. + * gcc.dg/c11-floatn-3.c: Likewise. + * gcc.dg/c11-floatn-4.c: Likewise. + * gcc.dg/c11-floatn-5.c: Likewise. + * gcc.dg/c11-floatn-6.c: Likewise. + * gcc.dg/c11-floatn-7.c: Likewise. + * gcc.dg/c11-floatn-8.c: Likewise. + * gcc.dg/c2x-attr-syntax-4.c: Likewise. + * gcc.dg/c2x-attr-syntax-6.c: Likewise. + * gcc.dg/c2x-attr-syntax-7.c: Likewise. + * gcc.dg/c2x-binary-constants-2.c: Likewise. + * gcc.dg/c2x-floatn-5.c: Likewise. + * gcc.dg/c2x-floatn-6.c: Likewise. + * gcc.dg/c2x-floatn-7.c: Likewise. + * gcc.dg/c2x-floatn-8.c: Likewise. + * gcc.dg/c2x-nullptr-4.c: Likewise. + * gcc.dg/c2x-qual-2.c: Likewise. + * gcc.dg/c2x-qual-3.c: Likewise. + * gcc.dg/c2x-qual-6.c: Likewise. + * gcc.dg/cpp/c11-warning-1.c: Likewise. + * gcc.dg/cpp/c11-warning-2.c: Likewise. + * gcc.dg/cpp/c11-warning-3.c: Likewise. + * gcc.dg/cpp/c2x-warning-2.c: Likewise. + * gcc.dg/cpp/gnu11-elifdef-3.c: Likewise. + * gcc.dg/cpp/gnu11-elifdef-4.c: Likewise. + * gcc.dg/cpp/gnu11-warning-1.c: Likewise. + * gcc.dg/cpp/gnu11-warning-2.c: Likewise. + * gcc.dg/cpp/gnu11-warning-3.c: Likewise. + * gcc.dg/cpp/gnu2x-warning-2.c: Likewise. + * gcc.dg/dfp/c11-constants-1.c: Likewise. + * gcc.dg/dfp/c11-constants-2.c: Likewise. + * gcc.dg/dfp/c2x-constants-2.c: Likewise. + * gcc.dg/dfp/constants-pedantic.c: Likewise. + * gcc.dg/pr30260.c: Likewise. + * gcc.dg/system-binary-constants-1.c: Likewise. + +2023-11-07 Juzhe-Zhong + + PR target/112420 + * gcc.dg/vect/pr65518.c: Fix check for RVV. + +2023-11-07 Robin Dapp + + * gcc.dg/vect/vect-cond-reduc-4.c: Make check more accurate. + +2023-11-07 Robin Dapp + + * gcc.dg/vect/bb-slp-over-widen-1.c: Change test expectation. + * gcc.dg/vect/bb-slp-over-widen-2.c: Ditto. + +2023-11-07 Juzhe-Zhong + + * lib/target-supports.exp: Add RISC-V. + +2023-11-07 Alexandre Oliva + + * lib/target-supports.exp + (check_effective_target_opt_mstrict_align): New. + * gcc.dg/strlenopt-80.c: Add -mno-strict-align if supported. + * gcc.target/powerpc/prefix-ds-dq.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-1.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-2.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-3.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-4.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-5.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-6.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-7.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-8.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-run-1.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-run-2.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-run-3.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-run-4.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-run-5.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-run-6.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-run-7.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-run-8.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-1.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-2.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-3.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-4.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-5.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-6.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-7.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-8.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-run-1.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-run-2.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-run-3.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-run-4.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-run-5.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-run-6.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-run-7.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-run-8.c: Likewise. + +2023-11-07 Christoph Müllner + + * gcc.target/riscv/xtheadmemidx-helpers.h: + Replace stdint.h with stdint-gcc.h. + +2023-11-07 Christoph Müllner + + * gcc.target/riscv/xtheadfmemidx-index-update.c: Add ABI. + * gcc.target/riscv/xtheadfmemidx-index-xtheadbb-update.c: Likewise. + * gcc.target/riscv/xtheadfmemidx-index-xtheadbb.c: Likewise. + * gcc.target/riscv/xtheadfmemidx-index.c: Likewise. + * gcc.target/riscv/xtheadfmemidx-uindex-update.c: Likewise. + * gcc.target/riscv/xtheadfmemidx-uindex-xtheadbb-update.c: Likewise. + * gcc.target/riscv/xtheadfmemidx-uindex-xtheadbb.c: Likewise. + * gcc.target/riscv/xtheadfmemidx-uindex.c: Likewise. + +2023-11-07 Juzhe-Zhong + + * gcc.dg/vect/bb-slp-cond-1.c: Add riscv. + +2023-11-07 Jiufu Guo + + PR target/112340 + * gcc.target/powerpc/pr106550_1.c: Add has_arch_ppc64 target require. + +2023-11-07 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-1.c: + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-2.c: + +2023-11-07 Juzhe-Zhong + + * gcc.dg/vect/vect-sdiv-pow2-1.c: Fix dump check. + +2023-11-07 Juzhe-Zhong + + * gcc.dg/vect/slp-reduc-sad.c: Fix check. + * gcc.dg/vect/vect-reduc-sad.c: Ditto. + +2023-11-07 Juzhe-Zhong + + * gcc.dg/vect/bb-slp-43.c: Fix XPASS for RVV. + +2023-11-07 Juzhe-Zhong + + PR target/112399 + * gcc.target/riscv/rvv/vsetvl/imm_switch-2.c: Adapt test. + * gcc.target/riscv/rvv/autovec/pr112399.c: New test. + +2023-11-07 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-iceil-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-iceil-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lceil-rv32-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lceil-rv32-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lceilf-rv64-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lceilf-rv64-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llceilf-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llceilf-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-iceil-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lceil-rv32-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lceilf-rv64-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-llceilf-0.c: New test. + +2023-11-07 Pan Li + + Revert: + 2023-11-07 Juzhe-Zhong + + * gcc.dg/vect/bb-slp-cond-1.c: Fix FAIL. + +2023-11-07 Juzhe-Zhong + + * gcc.dg/vect/bb-slp-cond-1.c: Fix FAIL. + +2023-11-07 Juzhe-Zhong + + * gcc.dg/vect/bb-slp-39.c: Add RISCV. + +2023-11-06 Florian Weimer + + * gcc.dg/cpp/wchar-1.c (main): Call __builtin_abort instead of + abort. + +2023-11-06 Christophe Lyon + + * lib/dg-pch.exp (dg-flags-pch): Add -c when generating the + precompiled header. + +2023-11-06 Christophe Lyon + + * g++.dg/init/array54.C: Require thread_fence. + * gcc.dg/c2x-nullptr-1.c: Likewise. + * gcc.dg/pr103721-2.c: Likewise. + * lib/target-supports.exp (check_effective_target_thread_fence): + New. + +2023-11-06 Joseph Myers + + PR c/107954 + * gcc.dg/c23-opts-1.c, gcc.dg/c23-opts-2.c, gcc.dg/c23-opts-3.c, + gcc.dg/c23-opts-4.c, gcc.dg/c23-opts-5.c, gcc.dg/gnu23-opts-1.c, + gcc.dg/gnu23-opts-2.c: New tests. + +2023-11-06 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-iround-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-iround-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llroundf-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llroundf-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lround-rv32-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lround-rv32-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lroundf-rv64-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lroundf-rv64-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-iround-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-llroundf-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lround-rv32-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lroundf-rv64-0.c: New test. + +2023-11-06 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/unop/sew64-rv32.c: New test. + +2023-11-06 Richard Biener + + PR tree-optimization/111950 + * gcc.dg/torture/pr111950.c: New testcase. + +2023-11-06 Richard Biener + + PR tree-optimization/112404 + * gfortran.dg/pr112404.f90: New testcase. + +2023-11-06 Florian Weimer + + * gcc.c-torture/compile/20000412-2.c (f): Call + __builtin_strlen instead of strlen. + * gcc.c-torture/compile/20000427-1.c (FindNearestPowerOf2): + Declare. + * gcc.c-torture/compile/20000802-1.c (bar): Call + __builtin_memcpy instead of memcpy. + * gcc.c-torture/compile/20010525-1.c (kind_varread): Likewise. + * gcc.c-torture/compile/20010706-1.c (foo): Add missing int + return type. + * gcc.c-torture/compile/20020314-1.c (add_output_space_event) + (del_tux_atom, add_req_to_workqueue): Declare. + * gcc.c-torture/compile/20020701-1.c (f): Call + __builtin_memcpy instead of memcpy. + * gcc.c-torture/compile/20021015-2.c (f): Call __builtin_bcmp + instead of bcmo. + * gcc.c-torture/compile/20030110-1.c (inb): Declare. + * gcc.c-torture/compile/20030314-1.c (bar): Add missing + void return type. + * gcc.c-torture/compile/20030405-1.c (bar): Add missing int + return type. + * gcc.c-torture/compile/20030416-1.c (bar): Declare. + (main): Add missing int return type. + * gcc.c-torture/compile/20030503-1.c (bar): Declare. + * gcc.c-torture/compile/20030530-1.c: (bar): Declare. + * gcc.c-torture/compile/20031031-2.c (foo, bar, baz): Declare. + * gcc.c-torture/compile/20040101-1.c (test16): Call + __builtin_printf instead of printf. + * gcc.c-torture/compile/20040124-1.c (f2, f3): Declare. + * gcc.c-torture/compile/20040304-1.c (macarg): Declare. + * gcc.c-torture/compile/20040705-1.c (f): Call + __builtin_memcpy instead of memcpy. + * gcc.c-torture/compile/20040908-1.c (bar): Declare. + * gcc.c-torture/compile/20050510-1.c (dont_remove): Declare. + * gcc.c-torture/compile/20051228-1.c (bar): Declare. + * gcc.c-torture/compile/20060109-1.c (cpp_interpret_string): + Declare. + (int_c_lex, cb_ident): Add missing void return type. + (cb_ident): Define as static. + * gcc.c-torture/compile/20060202-1.c (sarray_get): Declare. + * gcc.c-torture/compile/20070129.c (regcurly) + (reguni): Declare. + * gcc.c-torture/compile/20070529-1.c (__fswab16): Declare. + * gcc.c-torture/compile/20070529-2.c (kmem_free): Declare. + * gcc.c-torture/compile/20070605-1.c (quantize_fs_dither): + Add missing void return type. + * gcc.c-torture/compile/20071107-1.c + (settings_install_property_parser): Declare. + * gcc.c-torture/compile/20090907-1.c (load_waveform): Call + __builtin_abort instead of abort. + * gcc.c-torture/compile/20100907.c (t): Add missing void + types. + * gcc.c-torture/compile/20120524-1.c (build_packet): Call + __builtin_memcpy instead of memcpy. + * gcc.c-torture/compile/20120830-2.c + (ubidi_writeReordered_49): Add missing void return type. + * gcc.c-torture/compile/20121010-1.c (read_long): Add missing + int return type. + * gcc.c-torture/compile/920301-1.c (f, g): Add missing void + types. + * gcc.c-torture/compile/920409-1.c (x): Likewise. + * gcc.c-torture/compile/920410-1.c (main): Add missing int + return type. Call __builtin_printf instead of printf. + * gcc.c-torture/compile/920410-2.c (joe): Add missing void + types. + * gcc.c-torture/compile/920411-2.c (x): Likewise. + * gcc.c-torture/compile/920413-1.c (f): Add missing int return + type. + * gcc.c-torture/compile/920428-3.c (x): Add missing int types. + * gcc.c-torture/compile/920428-4.c (x): Add missing void + return type and int parameter type. + * gcc.c-torture/compile/920501-10.c (x): Add missing int + types. + * gcc.c-torture/compile/920501-12.c (x, a, b, A, B): Likewise. + * gcc.c-torture/compile/920501-17.c (x): Add missing void + types. + * gcc.c-torture/compile/920501-19.c (y): Likewise. + * gcc.c-torture/compile/920501-22.c (x): Likewise. + * gcc.c-torture/compile/920501-3.c (x): Likewise. + * gcc.c-torture/compile/920501-4.c (foo): Likewise. + * gcc.c-torture/compile/920529-1.c (f): Call __builtin_abort + instead of abort. + * gcc.c-torture/compile/920615-1.c (f): Add missing void + types. + * gcc.c-torture/compile/920623-1.c (g): Likewise. + * gcc.c-torture/compile/920624-1.c (f): Likewise. + * gcc.c-torture/compile/920711-1.c (f): Add missing int types. + * gcc.c-torture/compile/920729-1.c (f): Add missing void + types. + * gcc.c-torture/compile/920806-1.c (f): Likewise. + * gcc.c-torture/compile/920821-2.c (f): Likewise. + * gcc.c-torture/compile/920825-1.c (f): Likewise. + * gcc.c-torture/compile/920825-2.c (f, g): Add missing void + return type. + * gcc.c-torture/compile/920826-1.c (f): Likewise. + * gcc.c-torture/compile/920828-1.c (f): Add missing int types. + * gcc.c-torture/compile/920829-1.c (f): Add missing void + return type. + * gcc.c-torture/compile/920928-3.c (f): Likewise. + * gcc.c-torture/compile/921012-2.c (f): Likewise. + * gcc.c-torture/compile/921013-1.c (f): Likewise. + * gcc.c-torture/compile/921019-1.c (f): Add missing void + types. + * gcc.c-torture/compile/921026-1.c (f): Add missing void + return type. + * gcc.c-torture/compile/921126-1.c (f): Add missing int + return type and missing void. + * gcc.c-torture/compile/921227-1.c (f): Add missing void + types. + * gcc.c-torture/compile/930109-2.c (f): Add missing int types. + * gcc.c-torture/compile/930210-1.c (f): Add missing void + types. + * gcc.c-torture/compile/930222-1.c (g): Declare. + (f): Add missing int return type. + * gcc.c-torture/compile/930421-1.c (f): Add missing void + return type. + * gcc.c-torture/compile/930503-1.c (f): Likewise. + * gcc.c-torture/compile/930513-1.c (f): Add missing int return + type. + * gcc.c-torture/compile/930513-3.c (test): Add missing void + types. + * gcc.c-torture/compile/930523-1.c (f): Likewise. + * gcc.c-torture/compile/930527-1.c (f): Likewise. + * gcc.c-torture/compile/930603-1.c (f): Likewise. + * gcc.c-torture/compile/930607-1.c (g): Likewise. + * gcc.c-torture/compile/930702-1.c (f): Add missing int + return type and missing void. + * gcc.c-torture/compile/931018-1.c (f): Add missing void + return type. + * gcc.c-torture/compile/931031-1.c (f): Likewise. + * gcc.c-torture/compile/931102-1.c (xxx): Add missing void + types. + * gcc.c-torture/compile/940611-1.c (f): Likewise. + * gcc.c-torture/compile/940712-1.c (f): Add missing int + return type and missing void. + * gcc.c-torture/compile/950512-1.c (g): Declare. + (f): Add missing void return type. + * gcc.c-torture/compile/950530-1.c (f): Add missing int + return type. + * gcc.c-torture/compile/950610-1.c (f): Add missing void + return type. + * gcc.c-torture/compile/950613-1.c (f): Add missing void + types. + * gcc.c-torture/compile/950816-1.c (f): Add missing int return + type and missing void. + * gcc.c-torture/compile/950816-2.c (func): Declare. + (f): Add missing void types. + * gcc.c-torture/compile/950816-3.c (f): Add missing int + return type and missing void. + * gcc.c-torture/compile/950919-1.c (f): Add missing void + types. + * gcc.c-torture/compile/950921-1.c (f): Add missing int + return type and missing void. + * gcc.c-torture/compile/951004-1.c (f): Add missing void + return type. + * gcc.c-torture/compile/951116-1.c (f): Add missing int + return type and missing void. + * gcc.c-torture/compile/951128-1.c (f): Add missing void + return type. + * gcc.c-torture/compile/951220-1.c (f): Add missing int return + type. + * gcc.c-torture/compile/960220-1.c (f): Add missing void + types. + * gcc.c-torture/compile/960221-1.c (foo): Add missing void + return type. + * gcc.c-torture/compile/960704-1.c (main): Add missing int + return type and missing void. + * gcc.c-torture/compile/961031-1.c (f): Add missing void + types. + * gcc.c-torture/compile/961126-1.c (sub, sub2): Declare. + (main): Add missing int return type and missing void. + * gcc.c-torture/compile/961203-1.c (main): Call __builtin_exit + instead of exit. + * gcc.c-torture/compile/981001-1.c (main): Likewise. + * gcc.c-torture/compile/981107-1.c (call): Declare. + * gcc.c-torture/compile/990517-1.c (sdbm__splpage): Call + __builtin_memcpy instead of memcpy. + * gcc.c-torture/compile/990617-1.c (main): Call + __builtin_printf instead of printf. + * gcc.c-torture/compile/991026-2.c (detach): Add missing void + types. + * gcc.c-torture/compile/991229-1.c (ejEval): Likewise. + * gcc.c-torture/compile/991229-3.c (rand): Declare. + +2023-11-06 Florian Weimer + + * gcc.c-torture/execute/builtins/fputs.c (_GNU_SOURCE): + Define. + (fputs_unlocked): Declare. + +2023-11-06 Robin Dapp + + * gcc.dg/vect/vect-cond-arith-2.c: No vect cost model for + riscv_v. + +2023-11-06 liuhongt + + * gcc.target/i386/pr112393.c: New test. + +2023-11-06 Richard Biener + + PR tree-optimization/112369 + * gcc.dg/pr112369.c: New testcase. + +2023-11-06 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-irint-run-0.c: Adjust + test cases. + * gcc.target/riscv/rvv/autovec/unop/math-llrintf-run-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-lrint-rv32-run-0.c: Ditto. + +2023-11-06 Kewen Lin + + PR target/111828 + * lib/target-supports.exp + (check_effective_target_powerpc_as_p10_htm): New proc. + * g++.target/powerpc/pr111828-1.C: New test. + * g++.target/powerpc/pr111828-2.C: New test. + +2023-11-06 xuli + Pan Li + + * gcc.target/riscv/rvv/base/overloaded_rv32_vadd.c: New test. + * gcc.target/riscv/rvv/base/overloaded_rv32_vfadd.c: New test. + * gcc.target/riscv/rvv/base/overloaded_rv32_vget_vset.c: New test. + * gcc.target/riscv/rvv/base/overloaded_rv32_vloxseg2ei16.c: New test. + * gcc.target/riscv/rvv/base/overloaded_rv32_vmv.c: New test. + * gcc.target/riscv/rvv/base/overloaded_rv32_vreinterpret.c: New test. + * gcc.target/riscv/rvv/base/overloaded_rv64_vadd.c: New test. + * gcc.target/riscv/rvv/base/overloaded_rv64_vfadd.c: New test. + * gcc.target/riscv/rvv/base/overloaded_rv64_vget_vset.c: New test. + * gcc.target/riscv/rvv/base/overloaded_rv64_vloxseg2ei16.c: New test. + * gcc.target/riscv/rvv/base/overloaded_rv64_vmv.c: New test. + * gcc.target/riscv/rvv/base/overloaded_rv64_vreinterpret.c: New test. + * gcc.target/riscv/rvv/base/overloaded_vadd.h: New test. + * gcc.target/riscv/rvv/base/overloaded_vfadd.h: New test. + * gcc.target/riscv/rvv/base/overloaded_vget_vset.h: New test. + * gcc.target/riscv/rvv/base/overloaded_vloxseg2ei16.h: New test. + * gcc.target/riscv/rvv/base/overloaded_vmv.h: New test. + * gcc.target/riscv/rvv/base/overloaded_vreinterpret.h: New test. + +2023-11-06 Haochen Jiang + + PR target/111889 + * gcc.target/i386/pr111889.c: New test. + +2023-11-05 Francois-Xavier Coudert + + * gcc.target/i386/pr111753.c: Require dfp. + +2023-11-05 Jakub Jelinek + + * c-c++-common/gomp/attrs-1.c: Adjust for omp::directive and + omp::sequence being supported also in C and add tests for omp::decl. + * c-c++-common/gomp/attrs-2.c: Likewise. + * c-c++-common/gomp/attrs-3.c: Add tests for omp::decl. + +2023-11-05 Richard Sandiford + + PR target/112105 + * gcc.target/aarch64/pr112105.c: New test. + * gcc.target/aarch64/sve/pcs/struct_3_128.c: Expect a 32-bit spill + rather than a 16-bit spill. + +2023-11-05 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-irint-run-0.c: + * gcc.target/riscv/rvv/autovec/unop/math-irint-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-irintf-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llrintf-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llrintf-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lrint-rv32-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lrint-rv32-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lrintf-rv64-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lrintf-rv64-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-irint-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-llrintf-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lrint-rv32-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lrintf-rv64-0.c: New test. + +2023-11-04 Jakub Jelinek + + * gcc.dg/gomp/attrs-19.c: New test. + * gcc.dg/gomp/attrs-20.c: New test. + * gcc.dg/gomp/attrs-21.c: New test. + +2023-11-04 Jakub Jelinek + + * gcc.dg/gomp/attrs-1.c: New test. + * gcc.dg/gomp/attrs-2.c: New test. + * gcc.dg/gomp/attrs-3.c: New test. + * gcc.dg/gomp/attrs-4.c: New test. + * gcc.dg/gomp/attrs-5.c: New test. + * gcc.dg/gomp/attrs-6.c: New test. + * gcc.dg/gomp/attrs-7.c: New test. + * gcc.dg/gomp/attrs-8.c: New test. + * gcc.dg/gomp/attrs-9.c: New test. + * gcc.dg/gomp/attrs-10.c: New test. + * gcc.dg/gomp/attrs-11.c: New test. + * gcc.dg/gomp/attrs-12.c: New test. + * gcc.dg/gomp/attrs-13.c: New test. + * gcc.dg/gomp/attrs-14.c: New test. + * gcc.dg/gomp/attrs-15.c: New test. + * gcc.dg/gomp/attrs-16.c: New test. + * gcc.dg/gomp/attrs-17.c: New test. + * gcc.dg/gomp/attrs-18.c: New test. + * g++.dg/gomp/attrs-2.C: Enable for c++11 rather than just + c++17. Avoid using omp : syntax for c++11, c++14 and c. + +2023-11-04 David Malcolm + + * gcc.dg/plugin/diagnostic_group_plugin.c: Update for changes to + diagnostic_context. + * gcc.dg/plugin/diagnostic_plugin_test_text_art.c: Likewise. + +2023-11-03 Martin Uecker + + PR c/98541 + * gcc.dg/Wnonnull-4.c: Adapt test. + * gcc.dg/Wstringop-overflow-40.c: Adapt test. + +2023-11-03 Harald Anlauf + + PR fortran/97245 + * gfortran.dg/proc_ptr_53.f90: New test. + +2023-11-03 Andre Vieira + + * gcc.dg/vect/vect-simd-clone-20.c: New file. + * gfortran.dg/simd-builtins-1.h: Adapt. + * gfortran.dg/simd-builtins-6.f90: Adapt. + +2023-11-03 Harald Anlauf + + PR fortran/92887 + * gfortran.dg/value_optional_1.f90: New test. + +2023-11-03 Andrew MacLeod + + PR tree-optimization/111766 + * gcc.dg/pr111766.c: New. + +2023-11-03 Richard Biener + + * gfortran.dg/20231103-1.f90: New testcase. + * gfortran.dg/20231103-2.f90: Likewise. + +2023-11-03 Roger Sayle + + * gcc.target/arc/adddi3-1.c: New test case. + * gcc.target/arc/ashldi3-1.c: Likewise. + +2023-11-03 Thomas Schwinge + + * g++.dg/tree-prof/indir-call-prof-2.C: Specify + 'dg-require-effective-target exceptions_enabled'. + * g++.dg/tree-prof/partition1.C: Likewise. + * g++.dg/tree-prof/partition2.C: Likewise. + * g++.dg/tree-prof/partition3.C: Likewise. + * g++.dg/tree-prof/pr51719.C: Likewise. + * g++.dg/tree-prof/pr57451.C: Likewise. + * g++.dg/tree-prof/pr59255.C: Likewise. + +2023-11-03 Thomas Schwinge + + * g++.dg/lto/20081109-1_0.C: Specify + 'dg-require-effective-target exceptions_enabled'. + * g++.dg/lto/20081109_0.C: Likewise. + * g++.dg/lto/20091026-1_0.C: Likewise. + * g++.dg/lto/pr87906_0.C: Likewise. + * g++.dg/lto/pr88046_0.C: Likewise. + +2023-11-03 Thomas Schwinge + + * g++.dg/compat/eh/ctor1_main.C: Specify + 'dg-require-effective-target exceptions_enabled'. + * g++.dg/compat/eh/ctor2_main.C: Likewise. + * g++.dg/compat/eh/dtor1_main.C: Likewise. + * g++.dg/compat/eh/filter1_main.C: Likewise. + * g++.dg/compat/eh/filter2_main.C: Likewise. + * g++.dg/compat/eh/new1_main.C: Likewise. + * g++.dg/compat/eh/nrv1_main.C: Likewise. + * g++.dg/compat/eh/spec3_main.C: Likewise. + * g++.dg/compat/eh/template1_main.C: Likewise. + * g++.dg/compat/eh/unexpected1_main.C: Likewise. + * g++.dg/compat/init/array5_main.C: Likewise. + +2023-11-03 Thomas Schwinge + + * g++.dg/cpp0x/catch1.C: Specify + 'dg-require-effective-target exceptions_enabled'. + * g++.dg/cpp0x/constexpr-throw.C: Likewise. + * g++.dg/cpp1y/constexpr-89785-2.C: Likewise. + * g++.dg/cpp1y/constexpr-throw.C: Likewise. + * g++.dg/cpp1y/pr79393-3.C: Likewise. + * g++.dg/cpp2a/consteval-memfn1.C: Likewise. + * g++.dg/cpp2a/consteval11.C: Likewise. + * g++.dg/cpp2a/consteval34.C: Likewise. + * g++.dg/cpp2a/consteval9.C: Likewise. + * g++.dg/cpp2a/explicit1.C: Likewise. + * g++.dg/cpp2a/explicit2.C: Likewise. + * g++.dg/cpp2a/explicit5.C: Likewise. + * g++.dg/eh/builtin10.C: Likewise. + * g++.dg/eh/builtin11.C: Likewise. + * g++.dg/eh/builtin6.C: Likewise. + * g++.dg/eh/builtin7.C: Likewise. + * g++.dg/eh/builtin9.C: Likewise. + * g++.dg/eh/dtor4.C: Likewise. + * g++.dg/eh/pr42859.C: Likewise. + * g++.dg/ext/stmtexpr25.C: Likewise. + * g++.dg/ext/vla4.C: Likewise. + * g++.dg/init/placement4.C: Likewise. + * g++.dg/other/error32.C: Likewise. + * g++.dg/parse/crash55.C: Likewise. + * g++.dg/parse/pr31952-2.C: Likewise. + * g++.dg/parse/pr31952-3.C: Likewise. + * g++.dg/tm/noexcept-7.C: Likewise. + * g++.dg/torture/pr43257.C: Likewise. + * g++.dg/torture/pr56694.C: Likewise. + * g++.dg/torture/pr81659.C: Likewise. + * g++.dg/warn/Wcatch-value-1.C: Likewise. + * g++.dg/warn/Wcatch-value-2.C: Likewise. + * g++.dg/warn/Wcatch-value-3.C: Likewise. + * g++.dg/warn/Wcatch-value-3b.C: Likewise. + * g++.dg/warn/Wexceptions1.C: Likewise. + * g++.dg/warn/Wexceptions3.C: Likewise. + * g++.dg/warn/Winfinite-recursion-3.C: Likewise. + * g++.dg/warn/Wreturn-6.C: Likewise. + * g++.dg/warn/Wstringop-truncation-2.C: Likewise. + * g++.dg/warn/Wterminate1.C: Likewise. + * g++.old-deja/g++.eh/catch1.C: Likewise. + * g++.old-deja/g++.eh/catch10.C: Likewise. + * g++.old-deja/g++.eh/cond1.C: Likewise. + * g++.old-deja/g++.eh/ctor1.C: Likewise. + * g++.old-deja/g++.eh/throw2.C: Likewise. + * g++.old-deja/g++.other/cond5.C: Likewise. + +2023-11-03 Richard Biener + + PR tree-optimization/112310 + * gcc.dg/torture/pr112310.c: New testcase. + +2023-11-03 Paul Thomas + + PR fortran/98498 + * gfortran.dg/interface_50.f90: New test. + +2023-11-03 Juzhe-Zhong + + PR target/112326 + * gcc.target/riscv/rvv/autovec/pr112326.c: New test. + +2023-11-02 Paul Thomas + + PR fortran/112316 + * gfortran.dg/pr112316.f90: New test. + +2023-11-02 Jason Merrill + + PR c++/112301 + PR c++/102191 + PR c++/33799 + * g++.dg/eh/return1.C: Add more cases. + +2023-11-02 Martin Uecker + + PR c/112347 + * gcc.dg/Walloc-size-3.c: New test. + +2023-11-02 Robin Dapp + + * gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c: New test. + * gcc.target/riscv/rvv/autovec/cond/pr111401.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-2.c: Adjust. + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-4.c: Ditto. + +2023-11-02 Richard Biener + + PR tree-optimization/112320 + * gcc.dg/pr112320.c: New testcase. + +2023-11-02 Thomas Schwinge + + * lib/target-supports.exp + (check_effective_target_vect_gather_load_ifn): True for GCN + target. + +2023-11-02 liuhongt + + * gcc.target/i386/part-vect-complexhf.c: New test. + +2023-11-02 Jakub Jelinek + + PR c++/110342 + * g++.dg/cpp26/unevalstr1.C: New test. + * g++.dg/cpp26/unevalstr2.C: New test. + * g++.dg/cpp0x/udlit-error1.C (lol): Expect an error for C++26 + about user-defined literal in deprecated attribute. + +2023-11-02 xuli + + * gcc.target/riscv/rvv/base/tuple_create.c: Rename to vcreate.c. + * gcc.target/riscv/rvv/base/vcreate.c: New test. + +2023-11-02 Juzhe-Zhong + + PR target/112327 + * gcc.target/riscv/rvv/base/pr112327-1.c: New test. + * gcc.target/riscv/rvv/base/pr112327-2.c: New test. + +2023-11-01 Roger Sayle + + PR target/110551 + * gcc.target/i386/pr110551-2.c: New test case. + +2023-11-01 Patrick O'Neill + + * gcc.target/riscv/amo-table-ztso-amo-add-1.c: Add Ztso extension to + dg-options for dg-do compile. + * gcc.target/riscv/amo-table-ztso-amo-add-2.c: Ditto. + * gcc.target/riscv/amo-table-ztso-amo-add-3.c: Ditto. + * gcc.target/riscv/amo-table-ztso-amo-add-4.c: Ditto. + * gcc.target/riscv/amo-table-ztso-amo-add-5.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-1.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-2.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-3.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-4.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-5.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-6.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-7.c: Ditto. + * gcc.target/riscv/amo-table-ztso-fence-1.c: Ditto. + * gcc.target/riscv/amo-table-ztso-fence-2.c: Ditto. + * gcc.target/riscv/amo-table-ztso-fence-3.c: Ditto. + * gcc.target/riscv/amo-table-ztso-fence-4.c: Ditto. + * gcc.target/riscv/amo-table-ztso-fence-5.c: Ditto. + * gcc.target/riscv/amo-table-ztso-load-1.c: Ditto. + * gcc.target/riscv/amo-table-ztso-load-2.c: Ditto. + * gcc.target/riscv/amo-table-ztso-load-3.c: Ditto. + * gcc.target/riscv/amo-table-ztso-store-1.c: Ditto. + * gcc.target/riscv/amo-table-ztso-store-2.c: Ditto. + * gcc.target/riscv/amo-table-ztso-store-3.c: Ditto. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-1.c: Ditto. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-2.c: Ditto. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-3.c: Ditto. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-4.c: Ditto. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-5.c: Ditto. + * lib/target-supports.exp: Add testing infrastructure to require the + Ztso extension or add it to an existing -march. + +2023-11-01 Martin Uecker + + PR c/71219 + * gcc.dg/Walloc-size-1.c: New test. + * gcc.dg/Walloc-size-2.c: New test. + +2023-11-01 Gaius Mulley + + PR modula2/102989 + * gm2/pim/fail/largeconst.mod: Updated foo to an outrageous value. + * gm2/pim/fail/largeconst2.mod: Duplicate test removed. + +2023-11-01 xuli + + * gcc.target/riscv/rvv/base/tuple_vundefined.c: New test. + +2023-10-31 Juzhe-Zhong + + * gcc.dg/vect/vect-gather-6.c: New test. + +2023-10-31 Cupertino Miranda + + * gcc.target/bpf/core-attr-5.c: New test. + * gcc.target/bpf/core-attr-6.c: New test. + * gcc.target/bpf/core-builtin-1.c: Corrected + * gcc.target/bpf/core-builtin-enumvalue-opt.c: Corrected regular + expression. + * gcc.target/bpf/core-builtin-enumvalue.c: Corrected regular + expression. + * gcc.target/bpf/core-builtin-exprlist-1.c: New test. + * gcc.target/bpf/core-builtin-exprlist-2.c: New test. + * gcc.target/bpf/core-builtin-exprlist-3.c: New test. + * gcc.target/bpf/core-builtin-exprlist-4.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: Extra tests + +2023-10-31 Neal Frager + + * gcc.target/microblaze/isa/bshift.c: Bump to mcpu=v10.0. + * gcc.target/microblaze/isa/div.c: Ditto. + * gcc.target/microblaze/isa/fcmp1.c: Ditto. + * gcc.target/microblaze/isa/fcmp2.c: Ditto. + * gcc.target/microblaze/isa/fcmp3.c: Ditto. + * gcc.target/microblaze/isa/fcmp4.c: Ditto. + * gcc.target/microblaze/isa/fcvt.c: Ditto. + * gcc.target/microblaze/isa/float.c: Ditto. + * gcc.target/microblaze/isa/fsqrt.c: Ditto. + * gcc.target/microblaze/isa/mul-bshift-pcmp.c: Ditto. + * gcc.target/microblaze/isa/mul-bshift.c: Ditto. + * gcc.target/microblaze/isa/mul.c: Ditto. + * gcc.target/microblaze/isa/mulh-bshift-pcmp.c: Ditto. + * gcc.target/microblaze/isa/mulh.c: Ditto. + * gcc.target/microblaze/isa/nofcmp.c: Ditto. + * gcc.target/microblaze/isa/nofloat.c: Ditto. + * gcc.target/microblaze/isa/pcmp.c: Ditto. + * gcc.target/microblaze/isa/vanilla.c: Ditto. + * gcc.target/microblaze/microblaze.exp: Ditto. + +2023-10-31 Patrick O'Neill + + * gcc.target/riscv/amo-table-a-6-amo-add-1.c: Add A extension to + dg-options for dg-do compile. + * gcc.target/riscv/amo-table-a-6-amo-add-2.c: Ditto. + * gcc.target/riscv/amo-table-a-6-amo-add-3.c: Ditto. + * gcc.target/riscv/amo-table-a-6-amo-add-4.c: Ditto. + * gcc.target/riscv/amo-table-a-6-amo-add-5.c: Ditto. + * gcc.target/riscv/amo-table-a-6-compare-exchange-1.c: Ditto. + * gcc.target/riscv/amo-table-a-6-compare-exchange-2.c: Ditto. + * gcc.target/riscv/amo-table-a-6-compare-exchange-3.c: Ditto. + * gcc.target/riscv/amo-table-a-6-compare-exchange-4.c: Ditto. + * gcc.target/riscv/amo-table-a-6-compare-exchange-5.c: Ditto. + * gcc.target/riscv/amo-table-a-6-compare-exchange-6.c: Ditto. + * gcc.target/riscv/amo-table-a-6-compare-exchange-7.c: Ditto. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-1.c: Ditto. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-2.c: Ditto. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-3.c: Ditto. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-4.c: Ditto. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-5.c: Ditto. + * gcc.target/riscv/inline-atomics-2.c: Ditto. + * gcc.target/riscv/inline-atomics-3.c: Require A extension for dg-do + run. + * gcc.target/riscv/inline-atomics-4.c: Ditto. + * gcc.target/riscv/inline-atomics-5.c: Ditto. + * gcc.target/riscv/inline-atomics-6.c: Ditto. + * gcc.target/riscv/inline-atomics-7.c: Ditto. + * gcc.target/riscv/inline-atomics-8.c: Ditto. + * lib/target-supports.exp: Add testing infrastructure to require the A + extension or add it to an existing -march. + +2023-10-31 Christoph Müllner + + * gcc.target/riscv/xtheadfmemidx-index-update.c: New test. + * gcc.target/riscv/xtheadfmemidx-index-xtheadbb-update.c: New test. + * gcc.target/riscv/xtheadfmemidx-index-xtheadbb.c: New test. + * gcc.target/riscv/xtheadfmemidx-index.c: New test. + * gcc.target/riscv/xtheadfmemidx-uindex-update.c: New test. + * gcc.target/riscv/xtheadfmemidx-uindex-xtheadbb-update.c: New test. + * gcc.target/riscv/xtheadfmemidx-uindex-xtheadbb.c: New test. + * gcc.target/riscv/xtheadfmemidx-uindex.c: New test. + +2023-10-31 Christoph Müllner + + * gcc.target/riscv/xtheadmemidx-helpers.h: New test. + * gcc.target/riscv/xtheadmemidx-index-update.c: New test. + * gcc.target/riscv/xtheadmemidx-index-xtheadbb-update.c: New test. + * gcc.target/riscv/xtheadmemidx-index-xtheadbb.c: New test. + * gcc.target/riscv/xtheadmemidx-index.c: New test. + * gcc.target/riscv/xtheadmemidx-modify-xtheadbb.c: New test. + * gcc.target/riscv/xtheadmemidx-modify.c: New test. + * gcc.target/riscv/xtheadmemidx-uindex-update.c: New test. + * gcc.target/riscv/xtheadmemidx-uindex-xtheadbb-update.c: New test. + * gcc.target/riscv/xtheadmemidx-uindex-xtheadbb.c: New test. + * gcc.target/riscv/xtheadmemidx-uindex.c: New test. + +2023-10-31 Carl Love + + * gcc.target/powerpc/bcd-3.c (do_sub_ge, do_suble): Add functions + to test builtins __builtin_bcdsub_ge and __builtin_bcdsub_le. + +2023-10-31 Vladimir N. Makarov + + PR rtl-optimization/111971 + * gcc.target/powerpc/pr111971.c: New test. + +2023-10-31 Robin Dapp + + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-1.c: Remove + -ffast-math. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/fmax-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/fmax_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/fmax_zvfh-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/fmax_zvfh_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/fmin-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/fmin_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/fmin_zvfh-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/fmin_zvfh_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-10.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-10.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_zvfh-10.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_zvfh_run-10.c: New test. + +2023-10-31 Alexandre Oliva + + PR tree-optimization/111943 + * gcc.dg/harden-cfr-pr111943.c: New. + +2023-10-31 Richard Biener + + PR tree-optimization/112305 + * gcc.dg/torture/pr112305.c: New testcase. + +2023-10-31 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_arith-1.c: Add vmerge assert. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv32-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv32-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv64-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv64-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv32-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv32-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv64-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv64-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv32-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv32-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv64-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv64-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv32-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv32-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv64-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv64-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-10.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-11.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-10.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-11.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-5.c: New test. + +2023-10-31 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv32-1.c: + Add vfncvt.f.f.w assert. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv32-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv64-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv64-2.c: + Ditto. + +2023-10-31 liuhongt + + * g++.target/i386/part-vect-vcondhf.C: Adjust testcase. + * gcc.target/i386/pr112276.c: New test. + +2023-10-31 Andrew Pinski + + * gcc.dg/tree-ssa/phi-opt-value-4.c: New test. + +2023-10-31 Andrew Pinski + + * gcc.dg/tree-ssa/cond-1.c: New test. + * gcc.dg/tree-ssa/phi-opt-value-1.c: New test. + * gcc.dg/tree-ssa/phi-opt-value-1a.c: New test. + * gcc.dg/tree-ssa/phi-opt-value-2.c: New test. + +2023-10-31 Neal Frager + + * gcc.target/microblaze/isa/bshift.c: Bump to mcpu=v10.0. + * gcc.target/microblaze/isa/div.c: Ditto. + * gcc.target/microblaze/isa/fcmp1.c: Ditto. + * gcc.target/microblaze/isa/fcmp2.c: Ditto. + * gcc.target/microblaze/isa/fcmp3.c: Ditto. + * gcc.target/microblaze/isa/fcmp4.c: Ditto. + * gcc.target/microblaze/isa/fcvt.c: Ditto. + * gcc.target/microblaze/isa/float.c: Ditto. + * gcc.target/microblaze/isa/fsqrt.c: Ditto. + * gcc.target/microblaze/isa/mul-bshift-pcmp.c: Ditto. + * gcc.target/microblaze/isa/mul-bshift.c: Ditto. + * gcc.target/microblaze/isa/mul.c: Ditto. + * gcc.target/microblaze/isa/mulh-bshift-pcmp.c: Ditto. + * gcc.target/microblaze/isa/mulh.c: Ditto. + * gcc.target/microblaze/isa/nofcmp.c: Ditto. + * gcc.target/microblaze/isa/nofloat.c: Ditto. + * gcc.target/microblaze/isa/pcmp.c: Ditto. + * gcc.target/microblaze/isa/vanilla.c: Ditto. + * gcc.target/microblaze/microblaze.exp: Ditto. + +2023-10-30 Mayshao + + * g++.target/i386/mv32.C: Handle new -march. + * gcc.target/i386/funcspec-56.inc: Ditto. + +2023-10-30 Martin Jambor + + PR ipa/111157 + * gcc.dg/lto/pr111157_0.c: New test. + * gcc.dg/lto/pr111157_1.c: Second file of the same new test. + +2023-10-30 Patrick O'Neill + + * gcc.target/riscv/rv32i_zcmp.c: Accept any register in the + range of 1-9 for cm.push and cm.popret insns. + +2023-10-30 Roger Sayle + + PR middle-end/101955 + * gcc.target/arc/pr101955.c: New test case. + +2023-10-30 Roger Sayle + + * gcc.target/arc/lsl16-1.c: New test case. + * gcc.target/arc/lsr16-1.c: Likewise. + * gcc.target/arc/swap-1.c: Likewise. + * gcc.target/arc/swap-2.c: Likewise. + +2023-10-30 Richard Ball + + * gcc.target/arm/arm-switchstatement.c: Alter the tests to + change adr instruction to ldr. + +2023-10-30 Francois-Xavier Coudert + + * gcc.target/i386/pr105554.c: Require ifunc. + +2023-10-30 Francois-Xavier Coudert + + * gcc.dg/Wtrampolines.c: Skip on darwin20 and later. + +2023-10-30 Francois-Xavier Coudert + + PR target/112287 + * gcc.target/i386/pr111698.c: Pass -march=sandybridge. + +2023-10-30 Francois-Xavier Coudert + + * gcc.dg/pie-2.c: Skip test on darwin. + +2023-10-30 Richard Biener + + PR testsuite/111462 + * gcc.dg/tree-ssa/ssa-sink-18.c: XFAIL also powerpc64le. + +2023-10-30 Paul Thomas + + PR fortran/104555 + * gfortran.dg/pr104555.f90: New test. + +2023-10-30 liuhongt + + * gcc.target/i386/pr104610-2.c: New test. + +2023-10-29 Iain Buclaw + + PR d/110712 + * gdc.dg/pr110712.d: New test. + +2023-10-29 Iain Sandoe + + * gcc.target/i386/large-data.c: Skip for Darwin. + +2023-10-29 Iain Sandoe + + * gcc.target/i386/apx-interrupt-1.c: Skip for Darwin. + * gcc.target/i386/apx-push2pop2-1.c: Likewise. + * gcc.target/i386/apx-push2pop2_force_drap-1.c: Likewise. + +2023-10-29 Martin Uecker + + PR tree-optimization/109334 + * gcc.dg/builtin-dynamic-object-size-0.c + (test_parmsz_simple3): Supported again. + (test_parmsz_external4): New test. + * gcc.dg/builtin-dynamic-object-size-20.c: New test. + * gcc.dg/pr104970.c: New test. + +2023-10-28 Iain Buclaw + + PR d/112270 + * gdc.dg/pr112270.d: New test. + +2023-10-28 Iain Buclaw + + * gdc.dg/Wunused_value.d: New test. + +2023-10-27 Patrick O'Neill + + * gcc.target/riscv/stack_save_restore_2.c: Accept any number + after __riscv_save_ and __riscv_restore_. + +2023-10-27 Harald Anlauf + Steven G. Kargl + + PR fortran/104649 + * gfortran.dg/pr104649.f90: New test. + +2023-10-27 Patrick Palka + + PR c++/111929 + * g++.dg/template/non-dependent28a.C: New test. + +2023-10-27 Patrick Palka + + * g++.dg/template/new14.C: New test. + +2023-10-27 Patrick Palka + + * g++.dg/warn/Wparentheses-13.C: Strengthen by expecting that + we issue the -Wparentheses warnings ahead of time. + * g++.dg/warn/Wparentheses-23.C: Likewise. + * g++.dg/warn/Wparentheses-32.C: Remove xfails. + +2023-10-27 Gaius Mulley + + PR modula2/111530 + * gm2/pimlib/run/pass/testgetopt.mod: New test. + +2023-10-27 Robin Dapp + + * gcc.dg/tree-prof/peel-2.c: Add + -fno-tree-loop-distribute-patterns. + * gcc.dg/tree-ssa/ldist-rawmemchr-1.c: Add riscv. + * gcc.dg/tree-ssa/ldist-rawmemchr-2.c: Ditto. + * gcc.target/riscv/rvv/rvv.exp: Add builtin directory. + * gcc.target/riscv/rvv/autovec/builtin/rawmemchr-1.c: New test. + +2023-10-27 Robin Dapp + + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c: Remove + Float16. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c: Ditto. + * lib/target-supports.exp: Add zvfh handling. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-zvfh-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-zvfh-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-zvfh-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-zvfh-2.c: New test. + +2023-10-27 Paul-Antoine Arras + + * gfortran.dg/c_ptr_tests_20.f90: Moved to... + * gfortran.dg/gomp/c_ptr_tests_20.f90: ...here. + * gfortran.dg/c_ptr_tests_21.f90: Moved to... + * gfortran.dg/gomp/c_ptr_tests_21.f90: ...here. + +2023-10-27 Roger Sayle + + PR target/110551 + * gcc.target/i386/pr110551.c: New test case. + +2023-10-27 Lewis Hyatt + + PR preprocessor/87299 + * c-c++-common/pragma-target-1.c: New test. + * c-c++-common/pragma-target-2.c: New test. + * g++.target/i386/pr87299-1.C: New test. + * g++.target/i386/pr87299-2.C: New test. + * gcc.target/i386/pr87299-1.c: New test. + * gcc.target/i386/pr87299-2.c: New test. + * gcc.target/s390/target-attribute/tattr-2b.c: New test. + * gcc.target/aarch64/pragma_cpp_predefs_1b.c: New test. + * gcc.target/arm/pragma_arch_attribute_1b.c: New test. + * gcc.target/nios2/custom-fp-2b.c: New test. + * gcc.target/powerpc/float128-3b.c: New test. + +2023-10-27 Paul Thomas + + PR fortran/104625 + * gfortran.dg/pr104625.f90: New test. + * gfortran.dg/associate_55.f90: Change error check. + +2023-10-27 Andrew Pinski + + PR tree-optimization/101590 + PR tree-optimization/94884 + * gcc.dg/tree-ssa/bitcmp-1.c: New test. + * gcc.dg/tree-ssa/bitcmp-2.c: New test. + * gcc.dg/tree-ssa/bitcmp-3.c: New test. + * gcc.dg/tree-ssa/bitcmp-4.c: New test. + * gcc.dg/tree-ssa/bitcmp-5.c: New test. + * gcc.dg/tree-ssa/bitcmp-6.c: New test. + +2023-10-27 liuhongt + + * g++.target/i386/part-vect-vcondhf.C: New test. + * gcc.target/i386/part-vect-vec_cmphf.c: New test. + +2023-10-26 Juzhe-Zhong + + PR target/111318 + PR target/111888 + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/select_vl-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/pr111318.c: New test. + * gcc.target/riscv/rvv/autovec/pr111888.c: New test. + +2023-10-26 David Malcolm + + * c-c++-common/analyzer/attr-null_terminated_string_arg-access-read_write.c: + New test. + * c-c++-common/analyzer/attr-null_terminated_string_arg-access-without-size.c: + New test. + * c-c++-common/analyzer/attr-null_terminated_string_arg-multiple.c: + New test. + * c-c++-common/analyzer/attr-null_terminated_string_arg-nonnull-2.c: + New test. + * c-c++-common/analyzer/attr-null_terminated_string_arg-nonnull-sized.c: + New test. + * c-c++-common/analyzer/attr-null_terminated_string_arg-nonnull.c: + New test. + * c-c++-common/analyzer/attr-null_terminated_string_arg-nullable-sized.c: + New test. + * c-c++-common/analyzer/attr-null_terminated_string_arg-nullable.c: + New test. + * c-c++-common/attr-null_terminated_string_arg.c: New test. + +2023-10-26 Iain Sandoe + + * gcc.target/aarch64/aarch64.exp: Use aarch64-with-arch-dg-options + to normaize the options to the tests in aarch64.exp. + +2023-10-26 Iain Sandoe + + * lib/target-libpath.exp: Skip DYLD_LIBRARY_PATH for all + current OS versions > 10. + +2023-10-26 Andrew Pinski + + PR tree-optimization/111957 + * gcc.dg/tree-ssa/phi-opt-40.c: New test. + +2023-10-26 Paul-Antoine Arras + + * gfortran.dg/c_ptr_tests_20.f90: Add "fopenmp" effective target. + * gfortran.dg/c_ptr_tests_21.f90: Add "fopenmp" effective target. + +2023-10-26 Patrick O'Neill + + * g++.target/riscv/rvv/rvv.exp: Add -mabi argument to CFLAGS. + +2023-10-26 Richard Sandiford + + * lib/target-supports-dg.exp (check-flags): Move default argument + handling further up. Fix a couple of issues in the lappends. + Avoid frobbing the compiler flags if the return value is already + known to be 1. + * lib/dg-pch.exp (dg-flags-pch): Process the dg-skip-if and + dg-require-effective-target directives to see whether the + assembly test should be skipped. + * gcc.dg/pch/valid-1.c: Remove dg-require-effective-target. + * gcc.dg/pch/valid-1b.c: Likewise. + +2023-10-26 Richard Ball + + * gcc.target/arm/arm-switchstatement.c: New test. + +2023-10-26 Paul-Antoine Arras + Tobias Burnus + + * gfortran.dg/c_ptr_tests_20.f90: New test, checking that INTEGER(8) + and TYPE(C_PTR) are recognised as compatible. + * gfortran.dg/c_ptr_tests_21.f90: New test, exercising the error + detection for C_FUNPTR. + +2023-10-26 Roger Sayle + Richard Biener + + PR rtl-optimization/91865 + * gcc.target/msp430/pr91865.c: New test case. + +2023-10-26 Jiahao Xu + + * gcc.target/loongarch/vector/lasx/lasx-vcond-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-vcond-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vcond-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vcond-2.c: New test. + +2023-10-26 Stefan Schulze Frielinghaus + + * gcc.misc-tests/godump-1.c: Move _BitInt tests into godump-2.c. + * gcc.misc-tests/godump-2.c: New test. + +2023-10-26 Alexandre Oliva + + PR tree-optimization/111520 + * g++.dg/torture/harden-comp-pr111520.cc: New. + +2023-10-25 Wilco Dijkstra + + * gcc.target/aarch64/imm_choice_comparison.c: Change tests. + * gcc.target/aarch64/moveor_imm.c: Add new test. + * gcc.target/aarch64/pr106583.c: Change tests. + +2023-10-25 Uros Bizjak + + PR target/111698 + * gcc.target/i386/pr111698.c: New test. + +2023-10-25 chenxiaolong + + * gcc.target/loongarch/builtin_thread_pointer.c: New test. + +2023-10-25 Patrick Palka + + PR c++/99804 + * g++.dg/template/enum9.C: New test. + +2023-10-25 Gaius Mulley + + PR modula2/111955 + * gm2/pimlib/run/pass/testnan.mod: New test. + +2023-10-25 Thomas Schwinge + + * c-c++-common/goacc/self-clause-2.c: Verify + '--param=openacc-kernels=decompose'. + * gfortran.dg/goacc/kernels-tree.f95: Adjust. + +2023-10-25 Thomas Schwinge + + * c-c++-common/goacc/if-clause-2.c: Enhance. + * c-c++-common/goacc/self-clause-1.c: Likewise. + * c-c++-common/goacc/self-clause-2.c: Likewise. + * gfortran.dg/goacc/if.f95: Likewise. + * gfortran.dg/goacc/kernels-tree.f95: Likewise. + * gfortran.dg/goacc/parallel-tree.f95: Likewise. + * gfortran.dg/goacc/self.f95: Likewise. + +2023-10-25 Thomas Schwinge + + * c-c++-common/goacc/if-clause-1.c: Enable for C++ + * c-c++-common/goacc/self-clause-1.c: Likewise. + +2023-10-25 Chung-Lin Tang + + * c-c++-common/goacc/self-clause-1.c: New test. + * c-c++-common/goacc/self-clause-2.c: New test. + * gfortran.dg/goacc/self.f95: New test. + +2023-10-25 Marek Polacek + + PR c++/111895 + * g++.dg/cpp0x/scoped_enum12.C: New test. + +2023-10-24 Patrick Palka + + PR c++/111929 + * g++.dg/template/non-dependent28.C: New test. + +2023-10-24 Patrick Palka + + PR c++/111919 + * g++.dg/template/non-dependent27.C: New test. + +2023-10-24 Christophe Lyon + + * gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c: Fix. + +2023-10-24 Andrew Pinski + + PR tree-optimization/101541 + * gcc.dg/tree-ssa/phi-opt-39.c: New test. + +2023-10-24 Andrew Pinski + + PR tree-optimization/111913 + * gcc.c-torture/compile/fold-popcount-1.c: New test. + * gcc.dg/fold-popcount-8a.c: New test. + +2023-10-24 xuli + + PR target/111935 + * gcc.target/riscv/rvv/base/pr111935.c: New test. + +2023-10-24 Juzhe-Zhong + + PR target/111947 + * gcc.target/riscv/rvv/vsetvl/pr111947.c: New test. + +2023-10-23 Lewis Hyatt + + PR preprocessor/36887 + * c-c++-common/cpp/diagnostic-poison.c: New test. + * g++.dg/pch/pr36887.C: New test. + * g++.dg/pch/pr36887.Hs: New test. + +2023-10-23 Robin Dapp + + * gcc.target/riscv/rvv/autovec/slp-mask-1.c: New test. + * gcc.target/riscv/rvv/autovec/slp-mask-run-1.c: New test. + +2023-10-23 Robin Dapp + + * gcc.target/riscv/rvv/autovec/unop/popcount-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/popcount-2.c: New test. + * gcc.target/riscv/rvv/autovec/unop/popcount-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/popcount.c: New test. + +2023-10-23 Richard Biener + + PR tree-optimization/111916 + * gcc.dg/torture/pr111916.c: New testcase. + +2023-10-23 Richard Biener + + PR tree-optimization/111915 + * gcc.dg/vect/pr111915.c: New testcase. + +2023-10-23 Richard Biener + + PR ipa/111914 + * gcc.dg/pr111914.c: New testcase. + +2023-10-23 Tamar Christina + + PR tree-optimization/111860 + * gcc.dg/vect/pr111860-2.c: New test. + * gcc.dg/vect/pr111860-3.c: New test. + +2023-10-23 Andrew Pinski + + * gcc.dg/tree-ssa/phi-opt-38.c: New test. + +2023-10-23 Andrew Pinski + + PR c/111903 + * gcc.target/i386/float16-8.c: New test. + +2023-10-23 Richard Biener + + PR tree-optimization/111917 + * gcc.dg/torture/pr111917.c: New testcase. + +2023-10-23 Juzhe-Zhong + + PR target/111927 + * gcc.target/riscv/rvv/vsetvl/pr111927.c: New test. + +2023-10-23 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/cvt-0.c: Remove the vsetvl + asm check from func body. + * gcc.target/riscv/rvv/autovec/unop/cvt-1.c: Ditto. + +2023-10-23 Xi Ruoyao + + * gcc.target/loongarch/explicit-relocs-auto-single-load-store.c: + New test. + * gcc.target/loongarch/explicit-relocs-auto-single-load-store-no-anchor.c: + New test. + +2023-10-23 Xi Ruoyao + + * gcc.target/loongarch/explicit-relocs-auto-tls-ld-gd.c: New + test. + * gcc.target/loongarch/explicit-relocs-auto-tls-le-ie.c: New + test. + +2023-10-23 Xi Ruoyao + + * gcc.target/loongarch/explicit-relocs-auto-lto.c: New test. + +2023-10-23 Florian Weimer + + * gcc.c-torture/execute/builtins/pr93262-chk.c (main_test): + Remove unnecessary return statement. + +2023-10-23 Pan Li + + * gcc.target/riscv/rvv/base/binop_vv_constraint-1.c: Remove the + vsetvl asm check from func body. + * gcc.target/riscv/rvv/base/binop_vx_constraint-1.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-10.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-11.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-12.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-129.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-13.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-130.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-131.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-133.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-134.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-135.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-14.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-15.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-153.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-154.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-155.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-158.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-16.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-17.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-171.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-172.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-173.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-174.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-18.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-19.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-2.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-20.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-22.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-24.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-26.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-28.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-3.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-30.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-32.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-34.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-35.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-36.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-37.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-38.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-39.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-4.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-40.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-41.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-42.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-43.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-44.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-5.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-6.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-7.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-9.c: Ditto. + * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: Ditto. + * gcc.target/riscv/rvv/base/ternop_vv_constraint-1.c: Ditto. + * gcc.target/riscv/rvv/base/ternop_vv_constraint-2.c: Ditto. + * gcc.target/riscv/rvv/base/ternop_vv_constraint-3.c: Ditto. + * gcc.target/riscv/rvv/base/ternop_vv_constraint-4.c: Ditto. + * gcc.target/riscv/rvv/base/ternop_vv_constraint-5.c: Ditto. + * gcc.target/riscv/rvv/base/ternop_vv_constraint-6.c: Ditto. + * gcc.target/riscv/rvv/base/ternop_vx_constraint-1.c: Ditto. + * gcc.target/riscv/rvv/base/ternop_vx_constraint-8.c: Ditto. + * gcc.target/riscv/rvv/base/ternop_vx_constraint-9.c: Ditto. + * gcc.target/riscv/rvv/base/unop_v_constraint-1.c: Ditto. + * gcc.target/riscv/rvv/base/unop_v_constraint-2.c: Ditto. + +2023-10-23 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/bswap16-0.c: Remove the + vsetvl check. + * gcc.target/riscv/rvv/autovec/unop/math-ceil-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-ceil-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-ceil-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-ceil-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-floor-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-floor-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-floor-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-floor-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-iceil-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-ifloor-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-irint-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-iround-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-lceil-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-lceil-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-lfloor-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-lfloor-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-llceil-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-llfloor-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-llrint-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-llround-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-lrint-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-lrint-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-lround-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-lround-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-rint-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-rint-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-rint-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-rint-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-round-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-round-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-round-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-round-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-3.c: Ditto. + +2023-10-23 Haochen Jiang + + PR target/111753 + * gcc.target/i386/pr111753.c: New test. + +2023-10-23 liuhongt + + * gcc.target/i386/pr111820-1.c: New test. + * gcc.target/i386/pr111820-2.c: New test. + * gcc.target/i386/pr111820-3.c: New test. + * gcc.target/i386/pr103144-mul-1.c: Adjust testcase. + * gcc.target/i386/pr103144-mul-2.c: Adjust testcase. + +2023-10-22 Andrew Pinski + + PR target/110986 + * gcc.target/aarch64/cond_op-1.c: New test. + +2023-10-22 Iain Sandoe + + * gfortran.dg/coarray/caf.exp: Correctly set + libatomic flags. + * gfortran.dg/dg.exp: Likewise. + * lib/asan-dg.exp: Set correct -B flags. + * lib/atomic-dg.exp: Likewise. + * lib/target-libpath.exp: Handle ENABLE_DARWIN_AT_RPATH. + +2023-10-22 Tsukasa OI + + * gcc.target/riscv/arch-26.c: New test. + +2023-10-21 Florian Weimer + + * gcc.c-torture/compile/20000403-1.c: Compile with -std=gnu89. + * gcc.c-torture/compile/20000511-1.c: Likewise. + * gcc.c-torture/compile/20000804-1.c: Likewise. + * gcc.c-torture/compile/20020418-1.c: Likewise. + * gcc.c-torture/compile/20020927-1.c: Likewise. + * gcc.c-torture/compile/20030109-1.c: Likewise. + * gcc.c-torture/compile/20030224-1.c: Likewise. + * gcc.c-torture/compile/20030415-1.c: Likewise. + * gcc.c-torture/compile/20030612-1.c: Likewise. + * gcc.c-torture/compile/20030917-1.c: Likewise. + * gcc.c-torture/compile/20031113-1.c: Likewise. + * gcc.c-torture/compile/20031220-2.c: Likewise. + * gcc.c-torture/compile/20040309-1.c: Likewise. + * gcc.c-torture/compile/20040310-1.c: Likewise. + * gcc.c-torture/compile/20040317-3.c: Likewise. + * gcc.c-torture/compile/20040817-1.c: Likewise. + * gcc.c-torture/compile/20091215-1.c: Likewise. + * gcc.c-torture/compile/86.c: Likewise. + * gcc.c-torture/compile/900216-1.c: Likewise. + * gcc.c-torture/compile/900313-1.c: Likewise. + * gcc.c-torture/compile/900407-1.c: Likewise. + * gcc.c-torture/compile/900516-1.c: Likewise. + * gcc.c-torture/compile/920409-2.c: Likewise. + * gcc.c-torture/compile/920415-1.c: Likewise. + * gcc.c-torture/compile/920428-1.c: Likewise. + * gcc.c-torture/compile/920428-5.c: Likewise. + * gcc.c-torture/compile/920428-7.c: Likewise. + * gcc.c-torture/compile/920501-1.c: Likewise. + * gcc.c-torture/compile/920501-13.c: Likewise. + * gcc.c-torture/compile/920501-15.c: Likewise. + * gcc.c-torture/compile/920501-16.c: Likewise. + * gcc.c-torture/compile/920501-18.c: Likewise. + * gcc.c-torture/compile/920501-20.c: Likewise. + * gcc.c-torture/compile/920501-6.c: Likewise. + * gcc.c-torture/compile/920501-7.c: Likewise. + * gcc.c-torture/compile/920502-1.c: Likewise. + * gcc.c-torture/compile/920502-2.c: Likewise. + * gcc.c-torture/compile/920520-1.c: Likewise. + * gcc.c-torture/compile/920521-1.c: Likewise. + * gcc.c-torture/compile/920608-1.c: Likewise. + * gcc.c-torture/compile/920617-1.c: Likewise. + * gcc.c-torture/compile/920617-2.c: Likewise. + * gcc.c-torture/compile/920625-1.c: Likewise. + * gcc.c-torture/compile/920625-2.c: Likewise. + * gcc.c-torture/compile/920626-1.c: Likewise. + * gcc.c-torture/compile/920706-1.c: Likewise. + * gcc.c-torture/compile/920710-2.c: Likewise. + * gcc.c-torture/compile/920723-1.c: Likewise. + * gcc.c-torture/compile/920808-1.c: Likewise. + * gcc.c-torture/compile/920809-1.c: Likewise. + * gcc.c-torture/compile/920817-1.c: Likewise. + * gcc.c-torture/compile/920831-1.c: Likewise. + * gcc.c-torture/compile/920917-1.c: Likewise. + * gcc.c-torture/compile/920928-2.c: Likewise. + * gcc.c-torture/compile/920928-5.c: Likewise. + * gcc.c-torture/compile/921012-1.c: Likewise. + * gcc.c-torture/compile/921021-1.c: Likewise. + * gcc.c-torture/compile/921024-1.c: Likewise. + * gcc.c-torture/compile/921103-1.c: Likewise. + * gcc.c-torture/compile/921109-1.c: Likewise. + * gcc.c-torture/compile/921111-1.c: Likewise. + * gcc.c-torture/compile/921116-2.c: Likewise. + * gcc.c-torture/compile/921118-1.c: Likewise. + * gcc.c-torture/compile/921202-1.c: Likewise. + * gcc.c-torture/compile/921202-2.c: Likewise. + * gcc.c-torture/compile/921203-1.c: Likewise. + * gcc.c-torture/compile/921203-2.c: Likewise. + * gcc.c-torture/compile/921206-1.c: Likewise. + * gcc.c-torture/compile/930109-1.c: Likewise. + * gcc.c-torture/compile/930111-1.c: Likewise. + * gcc.c-torture/compile/930117-1.c: Likewise. + * gcc.c-torture/compile/930118-1.c: Likewise. + * gcc.c-torture/compile/930120-1.c: Likewise. + * gcc.c-torture/compile/930217-1.c: Likewise. + * gcc.c-torture/compile/930325-1.c: Likewise. + * gcc.c-torture/compile/930411-1.c: Likewise. + * gcc.c-torture/compile/930427-2.c: Likewise. + * gcc.c-torture/compile/930503-2.c: Likewise. + * gcc.c-torture/compile/930506-2.c: Likewise. + * gcc.c-torture/compile/930513-2.c: Likewise. + * gcc.c-torture/compile/930530-1.c: Likewise. + * gcc.c-torture/compile/930602-1.c: Likewise. + * gcc.c-torture/compile/930618-1.c: Likewise. + * gcc.c-torture/compile/930623-1.c: Likewise. + * gcc.c-torture/compile/931003-1.c: Likewise. + * gcc.c-torture/compile/931013-1.c: Likewise. + * gcc.c-torture/compile/931013-2.c: Likewise. + * gcc.c-torture/compile/931102-2.c: Likewise. + * gcc.c-torture/compile/931203-1.c: Likewise. + * gcc.c-torture/compile/940718-1.c: Likewise. + * gcc.c-torture/compile/941014-1.c: Likewise. + * gcc.c-torture/compile/941014-2.c: Likewise. + * gcc.c-torture/compile/941014-3.c: Likewise. + * gcc.c-torture/compile/941014-4.c: Likewise. + * gcc.c-torture/compile/941111-1.c: Likewise. + * gcc.c-torture/compile/941113-1.c: Likewise. + * gcc.c-torture/compile/950124-1.c: Likewise. + * gcc.c-torture/compile/950329-1.c: Likewise. + * gcc.c-torture/compile/950612-1.c: Likewise. + * gcc.c-torture/compile/950618-1.c: Likewise. + * gcc.c-torture/compile/950719-1.c: Likewise. + * gcc.c-torture/compile/950910-1.c: Likewise. + * gcc.c-torture/compile/950922-1.c: Likewise. + * gcc.c-torture/compile/951106-1.c: Likewise. + * gcc.c-torture/compile/951222-1.c: Likewise. + * gcc.c-torture/compile/960106-1.c: Likewise. + * gcc.c-torture/compile/960319-1.c: Likewise. + * gcc.c-torture/compile/960829-1.c: Likewise. + * gcc.c-torture/compile/970206-1.c: Likewise. + * gcc.c-torture/compile/980825-1.c: Likewise. + * gcc.c-torture/compile/990829-1.c: Likewise. + * gcc.c-torture/compile/991213-2.c: Likewise. + +2023-10-21 Pan Li + + PR target/111857 + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-4.c: Adjust checker. + * gcc.target/riscv/rvv/autovec/vls/def.h: Add help define. + * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/pr111857-6.c: New test. + +2023-10-20 Roger Sayle + Uros Bizjak + + PR middle-end/101955 + PR tree-optimization/106245 + * gcc.target/i386/pr106245-2.c: New test case. + * gcc.target/i386/pr106245-3.c: New 32-bit test case. + * gcc.target/i386/pr106245-4.c: New 64-bit test case. + * gcc.target/i386/pr106245-5.c: Likewise. + +2023-10-20 Jason Merrill + + * g++.dg/template/sfinae-dr657.C: Adjust. + +2023-10-20 Jason Merrill + + * g++.dg/cpp1y/constexpr-diag1.C: Add -fno-implicit-constexpr. + +2023-10-20 Jason Merrill + + * g++.dg/warn/Wsign-promo1.C: New test. + +2023-10-20 Nathan Sidwell + + * g++.dg/modules/decltype-1_a.C: New. + * g++.dg/modules/decltype-1_b.C: New. + * g++.dg/modules/lambda-5_a.C: New. + * g++.dg/modules/lambda-5_b.C: New. + +2023-10-20 Florian Weimer + + * gcc.dg/Wint-conversion-3.c: New. + +2023-10-20 Florian Weimer + + * gcc.dg/Wincompatible-pointer-types-2.c: New. + * gcc.dg/Wincompatible-pointer-types-3.c: New. + * gcc.dg/Wincompatible-pointer-types-4.c: New. + +2023-10-20 Marek Polacek + + PR c/111884 + * c-c++-common/alias-1.c: New test. + +2023-10-20 Andre Vieira + + * gcc.dg/vect/pr111882.c: New test. + +2023-10-20 Patrick Palka + + PR c++/106086 + * g++.dg/template/crash127.C: Expect additional error due to + being able to check the member access expression ahead of time. + Strengthen the test by not instantiating the class template. + * g++.dg/cpp1y/lambda-generic-this5.C: New test. + +2023-10-20 Patrick Palka + + * g++.dg/concepts/var-concept3.C: Adjust expected diagnostic + for attempting to call a variable concept. + +2023-10-20 Richard Biener + + PR tree-optimization/111383 + PR tree-optimization/110243 + * gcc.dg/torture/pr111383.c: New testcase. + +2023-10-20 Richard Biener + + PR tree-optimization/111445 + * gcc.dg/torture/pr111445.c: New testcase. + +2023-10-20 Richard Biener + + PR tree-optimization/110243 + PR tree-optimization/111336 + * gcc.dg/torture/pr110243.c: New testcase. + * gcc.dg/torture/pr111336.c: Likewise. + +2023-10-20 Richard Biener + + PR tree-optimization/111891 + * gfortran.dg/pr111891.f90: New testcase. + +2023-10-20 Richard Biener + + PR tree-optimization/111000 + * gcc.dg/torture/pr111000.c: New testcase. + +2023-10-20 Alexandre Oliva + + * c-c++-common/torture/harden-cfr.c: New. + * c-c++-common/harden-cfr-noret-never-O0.c: New. + * c-c++-common/torture/harden-cfr-noret-never.c: New. + * c-c++-common/torture/harden-cfr-noret-noexcept.c: New. + * c-c++-common/torture/harden-cfr-noret-nothrow.c: New. + * c-c++-common/torture/harden-cfr-noret.c: New. + * c-c++-common/torture/harden-cfr-notail.c: New. + * c-c++-common/torture/harden-cfr-returning.c: New. + * c-c++-common/torture/harden-cfr-tail.c: New. + * c-c++-common/torture/harden-cfr-abrt-always.c: New. + * c-c++-common/torture/harden-cfr-abrt-never.c: New. + * c-c++-common/torture/harden-cfr-abrt-no-xthrow.c: New. + * c-c++-common/torture/harden-cfr-abrt-nothrow.c: New. + * c-c++-common/torture/harden-cfr-abrt.c: New. + * c-c++-common/torture/harden-cfr-always.c: New. + * c-c++-common/torture/harden-cfr-never.c: New. + * c-c++-common/torture/harden-cfr-no-xthrow.c: New. + * c-c++-common/torture/harden-cfr-nothrow.c: New. + * c-c++-common/torture/harden-cfr-bret-always.c: New. + * c-c++-common/torture/harden-cfr-bret-never.c: New. + * c-c++-common/torture/harden-cfr-bret-noopt.c: New. + * c-c++-common/torture/harden-cfr-bret-noret.c: New. + * c-c++-common/torture/harden-cfr-bret-no-xthrow.c: New. + * c-c++-common/torture/harden-cfr-bret-nothrow.c: New. + * c-c++-common/torture/harden-cfr-bret-retcl.c: New. + * c-c++-common/torture/harden-cfr-bret.c: New. + * g++.dg/harden-cfr-throw-always-O0.C: New. + * g++.dg/harden-cfr-throw-returning-O0.C: New. + * g++.dg/torture/harden-cfr-noret-always-no-nothrow.C: New. + * g++.dg/torture/harden-cfr-noret-never-no-nothrow.C: New. + * g++.dg/torture/harden-cfr-noret-no-nothrow.C: New. + * g++.dg/torture/harden-cfr-throw-always.C: New. + * g++.dg/torture/harden-cfr-throw-never.C: New. + * g++.dg/torture/harden-cfr-throw-no-xthrow.C: New. + * g++.dg/torture/harden-cfr-throw-no-xthrow-expected.C: New. + * g++.dg/torture/harden-cfr-throw-nothrow.C: New. + * g++.dg/torture/harden-cfr-throw-nocleanup.C: New. + * g++.dg/torture/harden-cfr-throw-returning.C: New. + * g++.dg/torture/harden-cfr-throw.C: New. + * gcc.dg/torture/harden-cfr-noret-no-nothrow.c: New. + * gcc.dg/torture/harden-cfr-tail-ub.c: New. + * gnat.dg/hardcfr.adb: New. + * c-c++-common/torture/harden-cfr-skip-leaf.c: New file. + * g++.dg/harden-cfr-throw-returning-enabled-O0.C: New file. + +2023-10-20 Tamar Christina + Andre Vieira + + * gcc.dg/vect/vect-bitfield-read-1-not.c: New test. + * gcc.dg/vect/vect-bitfield-read-2-not.c: New test. + * gcc.dg/vect/vect-bitfield-read-8.c: New test. + * gcc.dg/vect/vect-bitfield-read-9.c: New test. + +2023-10-20 Hu, Lin1 + + * gcc.target/i386/pr89229-5b.c: Modify test. + * gcc.target/i386/pr89229-6b.c: Ditto. + * gcc.target/i386/pr89229-7b.c: Ditto. + +2023-10-20 Juzhe-Zhong + + PR target/111848 + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/pr111848.c: New test. + +2023-10-20 Lehua Ding + + PR target/111037 + PR target/111234 + PR target/111725 + * gcc.target/riscv/rvv/base/scalar_move-1.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/avl_single-46.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/avl_single-89.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/avl_single-95.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-1.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/pr109743-2.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/pr109773-1.c: Adjust. + * gcc.target/riscv/rvv/base/pr111037-1.c: Moved to... + * gcc.target/riscv/rvv/vsetvl/pr111037-1.c: ...here. + * gcc.target/riscv/rvv/base/pr111037-2.c: Moved to... + * gcc.target/riscv/rvv/vsetvl/pr111037-2.c: ...here. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vsetvl-13.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vsetvl-18.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/avl_single-104.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-105.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-106.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-107.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-108.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-109.c: New test. + * gcc.target/riscv/rvv/vsetvl/pr111037-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/pr111037-4.c: New test. + +2023-10-20 Nathaniel Shead + + PR c++/101631 + PR c++/102286 + * g++.dg/cpp1y/constexpr-89336-3.C: Fix union initialisation. + * g++.dg/cpp1y/constexpr-union6.C: New test. + * g++.dg/cpp1y/constexpr-union7.C: New test. + * g++.dg/cpp2a/constexpr-union2.C: New test. + * g++.dg/cpp2a/constexpr-union3.C: New test. + * g++.dg/cpp2a/constexpr-union4.C: New test. + * g++.dg/cpp2a/constexpr-union5.C: New test. + * g++.dg/cpp2a/constexpr-union6.C: New test. + +2023-10-20 Nathaniel Shead + + * g++.dg/cpp0x/constexpr-cast4.C: New test. + +2023-10-19 Andre Vieira + + * gcc.dg/gomp/pr110485.c: New test. + +2023-10-19 Andre Vieira + + * gcc.dg/vect/vect-simd-clone-16f.c: Remove unnecessary differentation + between targets with different pointer sizes. + * gcc.dg/vect/vect-simd-clone-17f.c: Likewise. + * gcc.dg/vect/vect-simd-clone-18f.c: Likewise. + +2023-10-19 Andrew Pinski + + PR c/100532 + * gcc.dg/pr100532-1.c: New test. + +2023-10-19 Andrew Pinski + + PR c/104822 + * gcc.dg/sso-18.c: New test. + * gcc.dg/sso-19.c: New test. + +2023-10-19 Lewis Hyatt + + PR c++/89038 + * c-c++-common/cpp/Wunknown-pragmas-1.c: New test. + +2023-10-19 Lewis Hyatt + + PR preprocessor/82335 + * c-c++-common/cpp/diagnostic-pragma-3.c: New test. + +2023-10-19 Tamar Christina + + PR tree-optimization/111860 + * gcc.dg/vect/pr111860.c: New test. + +2023-10-19 Richard Biener + + PR tree-optimization/111131 + * gcc.dg/vect/vect-gather-1.c: Now expected to vectorize + everywhere. + * gcc.dg/vect/vect-gather-2.c: Expected to not SLP anywhere. + Massage the scale case to more reliably produce a different + one. Scan for the specific messages. + * gcc.dg/vect/vect-gather-3.c: Masked gather is also supported + for AVX2, but not emulated. + * gcc.dg/vect/vect-gather-4.c: Expected to not SLP anywhere. + Massage to more properly ensure this. + * gcc.dg/vect/tsvc/vect-tsvc-s353.c: Expect to vectorize + everywhere. + +2023-10-19 Alex Coplan + + * gcc.target/aarch64/pr71727.c: Adjust scan-assembler-not to + make sure we don't have q-register stores with -mstrict-align. + +2023-10-19 Alex Coplan + + * gcc.target/aarch64/sve/pcs/args_9.c: Adjust scan-assemblers to + allow for stp. + +2023-10-19 Alex Coplan + + * gcc.target/aarch64/lr_free_1.c: Add + --param=aarch64-stp-policy=never to dg-options. + +2023-10-19 Haochen Jiang + + * gcc.target/i386/funcspec-56.inc: Group Clearwater Forest + with atom cores. + +2023-10-19 Jiahao Xu + + * gcc.target/loongarch/vect-widen-add.c: New test. + * gcc.target/loongarch/vect-widen-mul.c: New test. + * gcc.target/loongarch/vect-widen-sub.c: New test. + +2023-10-19 Jiahao Xu + + * gcc.target/loongarch/avg-ceil-lasx.c: New test. + * gcc.target/loongarch/avg-ceil-lsx.c: New test. + * gcc.target/loongarch/avg-floor-lasx.c: New test. + * gcc.target/loongarch/avg-floor-lsx.c: New test. + * gcc.target/loongarch/sad-lasx.c: New test. + * gcc.target/loongarch/sad-lsx.c: New test. + +2023-10-18 Andrew Pinski + + PR middle-end/111863 + * gcc.c-torture/execute/pr111863-1.c: New test. + +2023-10-18 Andrew Pinski + + PR c/101364 + * gcc.dg/pr101364-1.c: New test. + +2023-10-18 Andrew Pinski + + PR c/101285 + * gcc.dg/pr101285-1.c: New test. + +2023-10-18 Jason Merrill + + * g++.dg/ext/integer-pack2.C: Add -fpermissive. + * g++.dg/diagnostic/sys-narrow.h: New test. + * g++.dg/diagnostic/sys-narrow1.C: New test. + * g++.dg/diagnostic/sys-narrow1a.C: New test. + * g++.dg/diagnostic/sys-narrow1b.C: New test. + * g++.dg/diagnostic/sys-narrow1c.C: New test. + * g++.dg/diagnostic/sys-narrow1d.C: New test. + * g++.dg/diagnostic/sys-narrow1e.C: New test. + * g++.dg/diagnostic/sys-narrow1f.C: New test. + * g++.dg/diagnostic/sys-narrow1g.C: New test. + * g++.dg/diagnostic/sys-narrow1h.C: New test. + * g++.dg/diagnostic/sys-narrow1i.C: New test. + +2023-10-18 Tobias Burnus + + * gfortran.dg/gomp/allocate-13a.f90: New test. + +2023-10-18 Jakub Jelinek + + PR tree-optimization/111845 + * gcc.dg/pr111845.c: New test. + * gcc.target/i386/pr111845.c: New test. + +2023-10-18 Tamar Christina + + PR tree-optimization/109154 + * gcc.target/aarch64/sve/pre_cond_share_1.c: New test. + +2023-10-18 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add new test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/consecutive-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/consecutive-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/consecutive-3.c: New test. + +2023-10-18 Haochen Jiang + + * g++.target/i386/mv16.C: Ditto. + * gcc.target/i386/funcspec-56.inc: Handle new march. + +2023-10-18 Haochen Jiang + + * g++.target/i386/mv16.C: Ditto. + * gcc.target/i386/funcspec-56.inc: Handle new march. + +2023-10-18 liuhongt + + * gcc.target/i386/part-vect-fmaddsubhf-1.c: New test. + * gcc.target/i386/part-vect-fmahf-1.c: New test. + +2023-10-18 Juzhe-Zhong + + PR target/111832 + * gcc.target/riscv/rvv/rvv.exp: Enable more dynamic tests. + +2023-10-17 Richard Sandiford + + * gcc.target/aarch64/test_frame_2.c: Expect x30 to come before x19. + * gcc.target/aarch64/test_frame_4.c: Likewise. + * gcc.target/aarch64/test_frame_7.c: Likewise. + * gcc.target/aarch64/test_frame_10.c: Likewise. + +2023-10-17 Richard Sandiford + + * gcc.target/aarch64/sve/pcs/stack_clash_2.c: Expect restores + to happen in offset order. + * gcc.target/aarch64/sve/pcs/stack_clash_2_128.c: Likewise. + * gcc.target/aarch64/sve/pcs/stack_clash_2_256.c: Likewise. + * 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. + +2023-10-17 Andrew Pinski + + PR tree-optimization/110817 + * gcc.c-torture/execute/pr110817-1.c: New test. + * gcc.c-torture/execute/pr110817-2.c: New test. + * gcc.c-torture/execute/pr110817-3.c: New test. + +2023-10-17 Marek Polacek + + PR c++/111840 + * g++.dg/parse/error65.C: New test. + +2023-10-17 Marek Polacek + + PR c++/111660 + * g++.dg/cpp0x/hog1.C: New test. + * g++.dg/cpp2a/consteval36.C: New test. + +2023-10-17 Vineet Gupta + + * gcc.target/riscv/pr111466.c (foo2): Change return to unsigned + int as that will potentially generate two SEXT.W instructions. + dg-final: Change to scan-assembler-not SEXT.W. + +2023-10-17 Martin Uecker + + PR c/111708 + * gcc.dg/pr111708-1.c: New test. + * gcc.dg/pr111708-2.c: New test. + +2023-10-17 Harald Anlauf + + PR fortran/111837 + * gfortran.dg/implied_do_io_8.f90: New test. + +2023-10-17 Andrew Pinski + + PR tree-optimization/111432 + * gcc.dg/tree-ssa/bitops-7.c: New test. + +2023-10-17 Richard Biener + + PR tree-optimization/111846 + * gcc.dg/vect/pr111846.c: New testcase. + +2023-10-17 Lehua Ding + + * gcc.target/riscv/rvv/base/cpymem-1.c: Split check. + +2023-10-17 Richard Biener + + PR middle-end/111818 + * gcc.dg/torture/pr111818.c: New testcase. + +2023-10-17 Richard Biener + + PR tree-optimization/111807 + * gcc.dg/torture/pr111807.c: New testcase. + +2023-10-17 Vineet Gupta + + PR target/111466 + * gcc.target/riscv/pr111466.c: New test. + +2023-10-17 Chenghui Pan + + * gcc.target/loongarch/vector/lasx/lasx-vec-init-1.c: New test. + +2023-10-17 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: New test. + +2023-10-17 Iain Buclaw + + * gdc.dg/builtins_reject.d: New test. + * gdc.dg/intrinsics_reject.d: New test. + +2023-10-16 Uros Bizjak + + * gcc.target/i386/large-data.c: New test. + +2023-10-16 Vineet Gupta + + * gcc.target/riscv/fle-ieee.c: Updates dg-options with + explicit -march=rv64gc and -march=rv32gc. + * gcc.target/riscv/fle-snan.c: Ditto. + * gcc.target/riscv/fle.c: Ditto. + * gcc.target/riscv/flef-ieee.c: Ditto. + * gcc.target/riscv/flef.c: Ditto. + * gcc.target/riscv/flef-snan.c: Ditto. + * gcc.target/riscv/flt-ieee.c: Ditto. + * gcc.target/riscv/flt-snan.c: Ditto. + * gcc.target/riscv/fltf-ieee.c: Ditto. + * gcc.target/riscv/fltf-snan.c: Ditto. + +2023-10-16 Manolis Tsamis + + * gcc.target/riscv/fold-mem-offsets-1.c: New test. + * gcc.target/riscv/fold-mem-offsets-2.c: New test. + * gcc.target/riscv/fold-mem-offsets-3.c: New test. + * gcc.target/i386/pr52146.c: Adjust expected output. + +2023-10-16 Andrew Pinski + + PR tree-optimization/101541 + * gcc.dg/tree-ssa/phi-opt-36.c: New test. + * gcc.dg/tree-ssa/phi-opt-37.c: New test. + +2023-10-16 Andrew Pinski + + PR tree-optimization/31531 + * gcc.dg/tree-ssa/pr31531-1.c: New test. + * gcc.dg/tree-ssa/pr31531-2.c: New test. + +2023-10-16 Jason Merrill + + * g++.dg/concepts/diagnostic3.C: Add expected column. + * g++.dg/cpp1z/fold3.C: Adjust diagnostic lines. + +2023-10-16 Marek Polacek + + PR c++/111272 + * g++.dg/cpp1y/constexpr-diag1.C: New test. + +2023-10-16 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/no-dynamic-lmul-1.c: New test. + +2023-10-16 liuhongt + + * gcc.target/i386/part-vect-hf-convert-1.c: New test. + +2023-10-16 liuhongt + + * gcc.target/i386/part-vect-roundhf.c: New test. + * gcc.target/i386/part-vect-sqrtph-1.c: New test. + +2023-10-15 Iain Buclaw + + * lib/gdc-utils.exp (gdc-convert-args): Handle new compiler options. + +2023-10-14 Iain Buclaw + + PR d/111537 + * gdc.dg/analyzer/analyzer.exp: New test. + * gdc.dg/analyzer/pr111537.d: New test. + +2023-10-14 Tobias Burnus + + * c-c++-common/gomp/allocate-14.c: Fix directive name. + * c-c++-common/gomp/allocate-15.c: Likewise. + * c-c++-common/gomp/allocate-9.c: Fix comment typo. + * gfortran.dg/gomp/allocate-4.f90: Remove sorry dg-error. + * gfortran.dg/gomp/allocate-7.f90: Likewise. + * gfortran.dg/gomp/allocate-10.f90: New test. + * gfortran.dg/gomp/allocate-11.f90: New test. + * gfortran.dg/gomp/allocate-12.f90: New test. + * gfortran.dg/gomp/allocate-13.f90: New test. + * gfortran.dg/gomp/allocate-14.f90: New test. + * gfortran.dg/gomp/allocate-15.f90: New test. + * gfortran.dg/gomp/allocate-8.f90: New test. + * gfortran.dg/gomp/allocate-9.f90: New test. + +2023-10-14 Jakub Jelinek + + PR c/102989 + * gcc.dg/bitint-38.c: Change into dg-do run test, in addition + to checking the addition, division and right shift results at compile + time check it also at runtime. + * gcc.dg/bitint-39.c: New test. + +2023-10-13 Harald Anlauf + + PR fortran/104351 + * gfortran.dg/derived_function_interface_1.f90: Adjust pattern. + * gfortran.dg/pr104351.f90: New test. + +2023-10-13 Richard Biener + + PR tree-optimization/111795 + * gcc.target/i386/vect-simd-clone-avx512-1.c: New testcase. + * gcc.target/i386/vect-simd-clone-avx512-2.c: Likewise. + * gcc.target/i386/vect-simd-clone-avx512-3.c: Likewise. + +2023-10-13 Richard Biener + + * gcc.dg/vect/slp-simd-clone-1.c: New testcase. + * gcc.dg/vect/slp-simd-clone-2.c: Likewise. + +2023-10-13 Juzhe-Zhong + + * gcc.dg/vect/bb-slp-68.c: Use vect512. + +2023-10-13 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-1.c: + Use scalar func as reference instead of hardcode. + * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-floor-run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-floor-run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-rint-run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-rint-run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-round-run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-round-run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-2.c: Ditto. + +2023-10-13 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-llfloor-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llfloor-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-llfloor-0.c: New test. + +2023-10-13 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-ifloor-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-ifloor-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-ifloor-0.c: New test. + +2023-10-13 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-iceil-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-iceil-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-iceil-0.c: New test. + +2023-10-13 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-llceil-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llceil-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-llceil-0.c: New test. + +2023-10-13 Florian Weimer + + * gcc.c-torture/compile/pc44485.c (func_21): Add missing cast. + * gcc.c-torture/compile/pr106101.c: Use builtins to avoid + calls to undeclared functions. Change type of yyvsp to + char ** and introduce yyvsp1 to avoid type errors. + * gcc.c-torture/execute/pr111331-1.c: Add missing int. + * gcc.dg/pr100512.c: Unreduce test case and suppress only + -Wpointer-to-int-cast. + * gcc.dg/pr103003.c: Likewise. + * gcc.dg/pr103451.c: Add cast to long and suppress + -Wdiv-by-zero only. + * gcc.dg/pr68435.c: Avoid implicit int and missing + static function implementation warning. + +2023-10-13 Florian Weimer + + * gcc.c-torture/compile/20000105-1.c: Add missing int return type. + Call __builtin_exit instead of exit. + * gcc.c-torture/compile/20000105-2.c: Add missing void types. + * gcc.c-torture/compile/20000211-1.c (Lstream_fputc, Lstream_write) + (Lstream_flush_out, parse_doprnt_spec): Add missing function + declaration. + * gcc.c-torture/compile/20000224-1.c (call_critical_lisp_code): + Declare. + * gcc.c-torture/compile/20000314-2.c: Add missing void types. + * gcc.c-torture/compile/980816-1.c (XtVaCreateManagedWidget) + (XtAddCallback): Likewise. + * gcc.c-torture/compile/pr49474.c: Use struct + gfc_formal_arglist * instead of (implied) int type. + * gcc.c-torture/execute/20001111-1.c (foo): Add cast to + char *. + (main): Call __builtin_abort and __builtin_exit. + +2023-10-13 Florian Weimer + + * gcc.c-torture/compile/920501-11.c: Compile with -std=gnu89. + * gcc.c-torture/compile/920501-23.c: Likewise. + * gcc.c-torture/compile/920501-8.c: Likewise. + * gcc.c-torture/compile/920701-1.c: Likewise. + * gcc.c-torture/compile/930529-1.c: Likewise. + +2023-10-13 Richard Biener + + PR tree-optimization/111779 + * gcc.dg/tree-ssa/ssa-dse-26.c: Adjust for more DSE. + * gcc.dg/vect/vect-pr111779.c: New testcase. + +2023-10-13 Richard Biener + + PR tree-optimization/111773 + * g++.dg/torture/pr111773.C: New testcase. + +2023-10-13 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-llround-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llround-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-llround-0.c: New test. + +2023-10-13 Juzhe-Zhong + + * gcc.dg/vect/bb-slp-pr69907.c: Add RVV. + +2023-10-13 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-iround-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-iround-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-iround-0.c: New test. + +2023-10-13 Kito Cheng + + * g++.target/riscv/rvv/autovec/bug-01.C: New. + * g++.target/riscv/rvv/rvv.exp: Add autovec folder. + +2023-10-13 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-llrint-0.c: Include + stdint-gcc.h for int types. + * gcc.target/riscv/rvv/autovec/unop/math-llrint-run-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/test-math.h: Remove int64_t + typedef. + +2023-10-13 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-lfloor-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lfloor-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lfloor-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lfloor-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lfloor-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lfloor-1.c: New test. + +2023-10-13 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-lceil-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lceil-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lceil-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lceil-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lceil-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lceil-1.c: New test. + +2023-10-12 Christoph Müllner + + * gcc.target/riscv/xtheadcondmov-indirect.c: Make robust against + instruction reordering. + +2023-10-12 Tamar Christina + + * gcc.target/aarch64/armv9_warning.c: New test. + +2023-10-12 Jakub Jelinek + + PR c/102989 + * gcc.dg/bitint-38.c: New test. + +2023-10-12 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-lround-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lround-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lround-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lround-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lround-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lround-1.c: New test. + +2023-10-12 Richard Biener + + PR tree-optimization/111764 + * gcc.dg/vect/pr111764.c: New testcase. + +2023-10-12 Hu, Lin1 + + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/x86gprintrin-1.c: Add -musermsr for 64bit target. + * gcc.target/i386/x86gprintrin-2.c: Ditto. + * gcc.target/i386/x86gprintrin-3.c: Ditto. + * gcc.target/i386/x86gprintrin-4.c: Add musermsr for 64bit target. + * gcc.target/i386/x86gprintrin-5.c: Ditto + * gcc.target/i386/user_msr-1.c: New test. + * gcc.target/i386/user_msr-2.c: Ditto. + +2023-10-12 Chenghui Pan + + * lib/target-supports.exp: Add LoongArch in + check_effective_target_vect_int_mod according to SX/ASX capabilities. + +2023-10-12 Chenghui Pan + + PR target/111424 + * lib/target-supports.exp: Enable vect.exp for LoongArch. + +2023-10-12 Paul Thomas + + PR fortran/67740 + * gfortran.dg/pr67740.f90: New test + +2023-10-12 Kewen Lin + + PR target/111367 + * g++.target/powerpc/pr111367.C: New test. + +2023-10-12 Kewen Lin + + PR testsuite/111427 + * gfortran.dg/vect/pr60510.f (test): Init variable a. + +2023-10-12 Kewen Lin + + * gcc.dg/vect/costmodel/ppc/costmodel-vect-store-2.c: New test. + +2023-10-12 Kewen Lin + + * gcc.dg/vect/costmodel/ppc/costmodel-vect-store-1.c: New test. + +2023-10-12 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/test-math.h: Add type int64_t. + * gcc.target/riscv/rvv/autovec/unop/math-llrint-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-llrint-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-llrint-0.c: New test. + +2023-10-12 Mo, Zewei + Hu Lin1 + Hongyu Wang + + * gcc.target/i386/apx-push2pop2-1.c: New test. + * gcc.target/i386/apx-push2pop2_force_drap-1.c: Likewise. + * gcc.target/i386/apx-push2pop2_interrupt-1.c: Likewise. + +2023-10-12 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-irint-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-irint-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-irint-0.c: New test. + +2023-10-11 Andrew Pinski + + PR tree-optimization/111282 + * gcc.dg/tree-ssa/and-1.c: Update testcase to avoid + matching `~1 & (a ^ 1)` simplification. + * gcc.dg/tree-ssa/bitops-6.c: New test. + +2023-10-11 Mary Bennett + + * lib/target-supports.exp: Add proc for the XCValu extension. + * gcc.target/riscv/cv-alu-compile.c: New test. + * gcc.target/riscv/cv-alu-fail-compile-addn.c: New test. + * gcc.target/riscv/cv-alu-fail-compile-addrn.c: New test. + * gcc.target/riscv/cv-alu-fail-compile-addun.c: New test. + * gcc.target/riscv/cv-alu-fail-compile-addurn.c: New test. + * gcc.target/riscv/cv-alu-fail-compile-clip.c: New test. + * gcc.target/riscv/cv-alu-fail-compile-clipu.c: New test. + * gcc.target/riscv/cv-alu-fail-compile-subn.c: New test. + * gcc.target/riscv/cv-alu-fail-compile-subrn.c: New test. + * gcc.target/riscv/cv-alu-fail-compile-subun.c: New test. + * gcc.target/riscv/cv-alu-fail-compile-suburn.c: New test. + * gcc.target/riscv/cv-alu-fail-compile.c: New test. + +2023-10-11 Mary Bennett + + * lib/target-supports.exp: Add new effective target check. + * gcc.target/riscv/cv-mac-compile.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-mac.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-machhsn.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-machhsrn.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-machhun.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-machhurn.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-macsn.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-macsrn.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-macun.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-macurn.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-msu.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-mulhhsn.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-mulhhsrn.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-mulhhun.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-mulhhurn.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-mulsn.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-mulsrn.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-mulun.c: New test. + * gcc.target/riscv/cv-mac-fail-compile-mulurn.c: New test. + * gcc.target/riscv/cv-mac-test-autogeneration.c: New test. + +2023-10-11 Gaius Mulley + + PR modula2/111675 + * gm2/extensions/run/pass/packedrecord3.mod: New test. + +2023-10-11 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/gather-scatter/offset_extend-1.c: New test. + +2023-10-11 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/test-math.h: New define for + CVT like test case. + * gcc.target/riscv/rvv/autovec/vls/def.h: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-lrint-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lrint-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lrint-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-lrint-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lrint-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-lrint-1.c: New test. + +2023-10-11 Juzhe-Zhong + + * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Remove riscv. + +2023-10-11 Richard Biener + Jakub Jelinek + + PR tree-optimization/111519 + * gcc.dg/torture/pr111519.c: New testcase. + +2023-10-11 Roger Sayle + + * gcc.target/i386/pr106245-1.c: New test case. + +2023-10-11 Juzhe-Zhong + + * lib/target-supports.exp: Add RVV. + +2023-10-11 liuhongt + + * gcc.target/i386/pr111745.c: New test. + +2023-10-11 Juzhe-Zhong + + * gcc.dg/vect/vect-live-2.c: Make pattern match more accurate. + +2023-10-11 Juzhe-Zhong + + * gcc.dg/vect/vect-multitypes-16.c: Adapt check for RVV. + * lib/target-supports.exp: Add vect_ext_char_longlong property. + +2023-10-10 Jason Merrill + + PR c++/109422 + * g++.dg/cpp2a/lambda-generic-mangle1.C: New test. + * g++.dg/cpp2a/lambda-generic-mangle1a.C: New test. + +2023-10-10 Andrew Pinski + + PR tree-optimization/111679 + * gcc.dg/tree-ssa/bitops-5.c: New test. + +2023-10-10 Juzhe-Zhong + + * gcc.dg/vect/no-scevccp-outer-7.c: Adjust regex pattern. + * gcc.dg/vect/no-scevccp-vect-iv-3.c: Ditto. + +2023-10-10 Juzhe-Zhong + + * gcc.dg/tree-ssa/predcom-2.c: Add riscv. + +2023-10-10 Juzhe-Zhong + + * gcc.dg/vect/pr65947-8.c: Use vect_fold_extract_last. + +2023-10-10 Juzhe-Zhong + + PR target/111751 + * gcc.target/riscv/rvv/autovec/pr111751.c: New test. + +2023-10-10 Juzhe-Zhong + + * gcc.dg/vect/bb-slp-pr65935.c: Add vect1024 variant. + * lib/target-supports.exp: Ditto. + +2023-10-10 Claudiu Zissulescu + + * gcc.target/arc/add_f-combine.c: New test. + +2023-10-10 Juzhe-Zhong + + * lib/target-supports.exp: Add 256/512/1024 + +2023-10-09 Andrew MacLeod + + PR tree-optimization/111694 + * gcc.dg/pr111694.c: New. + +2023-10-09 Juzhe-Zhong + + * gcc.dg/vect/slp-perm-4.c: Adapt test for stride5 load_lanes. + +2023-10-09 Juzhe-Zhong + + * gcc.dg/vect/pr97832-2.c: Adapt dump check for target supports load_lanes with stride = 8. + * gcc.dg/vect/pr97832-3.c: Ditto. + * gcc.dg/vect/pr97832-4.c: Ditto. + +2023-10-09 Juzhe-Zhong + + * gcc.dg/vect/slp-12a.c: Adapt for stride 8 load_lanes. + +2023-10-09 Juzhe-Zhong + + * gcc.dg/vect/slp-reduc-4.c: Adapt test for stride8 load_lanes. + +2023-10-09 Juzhe-Zhong + + * gcc.dg/vect/slp-23.c: Add RVV like ARM SVE. + * gcc.dg/vect/slp-perm-10.c: Ditto. + +2023-10-09 Xianmiao Qu + + * gcc.target/riscv/xtheadmempair-4.c: New test. + +2023-10-09 Richard Biener + + PR tree-optimization/111715 + * gcc.dg/tree-ssa/ssa-fre-102.c: New testcase. + +2023-10-09 Pan Li + + * gcc.target/riscv/rvv/autovec/vls/perm-4.c: Adjust checker. + * gcc.target/riscv/rvv/autovec/unop/bswap16-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/bswap16-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/vls/bswap16-0.c: New test. + +2023-10-09 Juzhe-Zhong + + * gcc.dg/vect/pr45752.c: Adapt dump check for target supports load_lanes with stride = 5. + +2023-10-09 Robin Dapp + + * gcc.dg/vect/vect-cond-arith-2.c: Also match COND_LEN. + * gcc.dg/vect/vect-cond-arith-4.c: Ditto. + * gcc.dg/vect/vect-cond-arith-5.c: Ditto. + * gcc.dg/vect/vect-cond-arith-6.c: Ditto. + +2023-10-09 Juzhe-Zhong + + * gcc.dg/vect/fast-math-slp-38.c: Add ! vect_strided6. + +2023-10-09 Roger Sayle + + * gcc.target/i386/rcr-1.c: New 64-bit test case. + * gcc.target/i386/rcr-2.c: New 32-bit test case. + +2023-10-09 Haochen Jiang + + * gcc.target/i386/noevex512-1.c: New test. + * gcc.target/i386/noevex512-2.c: Ditto. + * gcc.target/i386/noevex512-3.c: Ditto. + +2023-10-09 Haochen Jiang + Hu, Lin1 + + * gcc.target/i386/pr90096.c: Adjust error message. + +2023-10-09 Juzhe-Zhong + + * gcc.dg/vect/vect-cond-reduc-4.c: Add vect_pack_trunc variant. + +2023-10-09 Haochen Gui + + PR target/106769 + * gcc.target/powerpc/pr88558.h: New. + * gcc.target/powerpc/pr88558-p7.c: New. + * gcc.target/powerpc/pr88558-p8.c: New. + +2023-10-08 David Malcolm + + PR analyzer/111155 + * c-c++-common/analyzer/out-of-bounds-diagram-strcat-2.c: New test. + * c-c++-common/analyzer/out-of-bounds-diagram-strcat.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-17.c: Update expected + result to show the existing content of "buf" and the index at + which the write starts. + * gcc.dg/analyzer/out-of-bounds-diagram-18.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-diagram-19.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-diagram-6.c: Update expected + output. + +2023-10-08 David Malcolm + + PR driver/111700 + * c-c++-common/diagnostic-format-sarif-file-pr111700.c: New test. + +2023-10-08 liuhongt + + * gcc.target/i386/part-vect-absneghf.c: New test. + * gcc.target/i386/part-vect-copysignhf.c: New test. + * gcc.target/i386/part-vect-xorsignhf.c: New test. + +2023-10-08 liuhongt + + * gcc.target/i386/part-vect-vminmaxph-1.c: New test. + * gcc.target/i386/avx512fp16-64-32-vecop-1.c: Scan-assembler + only for { target { ! ia32 } }. + +2023-10-08 Tobias Burnus + + * gfortran.dg/block_17.f90: New test. + * gfortran.dg/gomp/strictly-structured-block-5.f90: New test. + +2023-10-08 Jiufu Guo + + * gcc.target/powerpc/const-build.c: Add more tests. + +2023-10-08 Jiufu Guo + + * gcc.target/powerpc/const-build.c: Add more tests. + +2023-10-08 Jiufu Guo + + * gcc.target/powerpc/const-build.c: Add more tests. + +2023-10-08 Jiufu Guo + + * gcc.target/powerpc/const-build.c: New test. + +2023-10-08 Hongyu Wang + + * gcc.target/i386/apx-egprs-names.c: Compile for non-ia32. + * gcc.target/i386/apx-inline-gpr-norex2.c: Likewise. + * gcc.target/i386/apx-interrupt-1.c: Likewise. + * gcc.target/i386/apx-legacy-insn-check-norex2-asm.c: Likewise. + * gcc.target/i386/apx-legacy-insn-check-norex2.c: Likewise. + +2023-10-08 Juzhe-Zhong + + * gcc.dg/vect/tsvc/vect-tsvc-s1115.c: Fix TSVC XPASS. + * gcc.dg/vect/tsvc/vect-tsvc-s114.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s1161.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s1232.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s124.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s1279.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s161.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s253.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s257.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s271.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s2711.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s2712.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s272.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s273.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s274.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s276.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s278.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s279.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s3111.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s353.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s441.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-s443.c: Ditto. + * gcc.dg/vect/tsvc/vect-tsvc-vif.c: Ditto. + +2023-10-08 Juzhe-Zhong + + * lib/target-supports.exp: Enable more vect tests for RVV. + +2023-10-07 Lehua Ding + + Revert: + 2023-10-07 Pan Li + + * gcc.target/riscv/rvv/rvv.exp: Add zfa for building. + * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-floor-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-rint-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-round-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-0.c: New test. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * gcc.target/i386/apx-legacy-insn-check-norex2.c: Add intrinsic + tests. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * gcc.target/i386/apx-legacy-insn-check-norex2.c: Add + sse/vex intrinsic tests. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * lib/target-supports.exp: Add apxf check. + * gcc.target/i386/apx-legacy-insn-check-norex2.c: New test. + * gcc.target/i386/apx-legacy-insn-check-norex2-asm.c: New assembler test. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * gcc.target/i386/apx-inline-gpr-norex2.c: New test. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * gcc.target/i386/apx-egprs-names.c: New test. + * gcc.target/i386/apx-spill_to_egprs-1.c: Likewise. + * gcc.target/i386/apx-interrupt-1.c: Likewise. + +2023-10-07 Kong Lingling + Hongyu Wang + Hongtao Liu + + * gcc.target/i386/apx-1.c: New test. + +2023-10-07 Pan Li + + * gcc.target/riscv/rvv/rvv.exp: Add zfa for building. + * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-floor-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-rint-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-round-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-0.c: New test. + +2023-10-07 Jiufu Guo + + PR target/108338 + * gcc.target/powerpc/pr108338.c: Updated to check mtvsrws for p9. + +2023-10-07 Jiufu Guo + + PR target/108338 + * gcc.target/powerpc/pr108338.c: New test. + +2023-10-07 xuli + + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Adjust assembler times. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Ditto. + +2023-10-06 Roger Sayle + + * gcc.target/i386/ashldi3-2.c: New 32-bit test case. + * gcc.target/i386/ashlti3-3.c: New 64-bit test case. + +2023-10-06 Roger Sayle + Uros Bizjak + + * gcc.target/i386/lea-2.c: New test case. + +2023-10-06 Andrew Pinski + + PR middle-end/111699 + * gcc.c-torture/compile/pr111699-1.c: New test. + +2023-10-06 Patrick O'Neill + + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-1.h: + Replace stdint.h with stdint-gcc.h. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-2.h: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-1.h: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-2.h: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-1.h: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-2.h: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-1.h: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-2.h: + Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/pr111232.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/cvt-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/cvt-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm.h: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-4-run.c: Ditto. + * gcc.target/riscv/rvv/base/pr110119-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/pr111255.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/wredsum_vlmax.c: Ditto. + +2023-10-05 Patrick O'Neill + Joern Rennecke + + * gcc.dg/pr90263.c: Skip riscv_v targets. + * gcc.target/riscv/rvv/base/pr90263.c: New test. + +2023-10-05 Sergei Trofimovich + + PR ipa/111283 + PR gcov-profile/111559 + * gcc.dg/tree-prof/pr111559.c: New test. + +2023-10-05 Uros Bizjak + + PR target/111657 + * gcc.target/i386/pr111657.c: New test. + +2023-10-05 Martin Jambor + + Revert: + 2023-10-05 Martin Jambor + + PR ipa/108007 + * gcc.dg/ipa/pr108007.c: New test. + +2023-10-05 Claudiu Zissulescu + + * gcc.target/arc/enter-dw2-1.c: Remove tests when using linux + build. + * gcc.target/arc/tls-ld.c: Update test. + * gcc.target/arc/tls-le.c: Likewise. + +2023-10-05 Claudiu Zissulescu + + * gcc.target/arc/loop-3.c: Update test. + +2023-10-05 Claudiu Zissulescu + + * gcc.target/arc/add_n-combine.c: Recognize add2 instruction. + * gcc.target/arc/firq-4.c: FP register is a temp reg. Update test. + * gcc.target/arc/firq-6.c: Likewise. + * gcc.target/arc/mtune-ARC600.c: Remove test. + * gcc.target/arc/mtune-ARC601.c: Likewise. + * gcc.target/arc/mtune-ARC700-xmac: Likewise. + * gcc.target/arc/mtune-ARC700.c: Likewise. + * gcc.target/arc/mtune-ARC725D.c: Likewise. + * gcc.target/arc/mtune-ARC750D.c: Likewise. + * gcc.target/arc/uncached-7.c: Set it to XFAIL. + +2023-10-04 Roger Sayle + + * gcc.target/arc/ashrsi-1.c: New TARGET_BARREL_SHIFTER test case. + * gcc.target/arc/ashrsi-2.c: New !TARGET_BARREL_SHIFTER test case. + * gcc.target/arc/ashrsi-3.c: Likewise. + * gcc.target/arc/ashrsi-4.c: Likewise. + * gcc.target/arc/ashrsi-5.c: Likewise. + * gcc.target/arc/lshrsi-1.c: New TARGET_BARREL_SHIFTER test case. + * gcc.target/arc/lshrsi-2.c: New !TARGET_BARREL_SHIFTER test case. + * gcc.target/arc/lshrsi-3.c: Likewise. + * gcc.target/arc/lshrsi-4.c: Likewise. + * gcc.target/arc/lshrsi-5.c: Likewise. + * gcc.target/arc/shlsi-1.c: New TARGET_BARREL_SHIFTER test case. + * gcc.target/arc/shlsi-2.c: New !TARGET_BARREL_SHIFTER test case. + * gcc.target/arc/shlsi-3.c: Likewise. + * gcc.target/arc/shlsi-4.c: Likewise. + * gcc.target/arc/shlsi-5.c: Likewise. + +2023-10-04 Roger Sayle + + PR rtl-optimization/110701 + * gcc.target/i386/pr110701.c: New test case. + +2023-10-04 Paul Thomas + + PR fortran/37336 + PR fortran/111674 + * gfortran.dg/allocate_with_source_25.f90: Final count in tree + dump reverts from 4 to original 6. + * gfortran.dg/finalize_38.f90: Add test for fix of PR111674. + +2023-10-03 David Malcolm + + * g++.dg/diagnostic/static_assert3.C: Add directives for + additional source printing. + * g++.dg/template/error60.C: New test. + +2023-10-03 Patrick O'Neill + + * gcc.target/riscv/rvv/fortran/pr111566.f90: Restore escaped + characters. + +2023-10-03 Martin Jambor + + PR ipa/110378 + * gcc.dg/ipa/ipa-sra-32.c: New test. + * gcc.dg/ipa/pr110378-4.c: Likewise. + * gcc.dg/ipa/ipa-sra-4.c: Use a return value. + +2023-10-03 Martin Jambor + + PR ipa/108007 + * gcc.dg/ipa/pr108007.c: New test. + +2023-10-03 Andrew MacLeod + + * gcc.dg/pr93917.c: Check for ranges in final optimized listing. + * gcc.dg/tree-ssa/vrp-unreachable.c: Ditto. + +2023-10-03 Roger Sayle + + * gcc.target/arc/scc-ltu.c: New test case. + +2023-10-02 John David Anglin + + * gfortran.dg/pr95690.f90: Add hppa*-*-* to dg-error targets at line 5. + +2023-10-02 John David Anglin + + * gcc.dg/pr108095.c: Require target lra. + +2023-10-02 John David Anglin + + * gcc.dg/long_branch.c: Increase timeout factor for hppa*-*-*. + +2023-10-02 David Malcolm + + * gcc.dg/plugin/diagnostic_group_plugin.c + (test_begin_group_cb, test_end_group_cb): Replace with... + (class test_output_format): ...this new subclass. + (plugin_init): Update. + +2023-10-02 David Malcolm + + * gcc.dg/plugin/diagnostic_plugin_show_trees.c: Update for + reorganization of source-printing fields of diagnostic_context. + * gcc.dg/plugin/diagnostic_plugin_test_inlining.c: Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c: + Likewise. + +2023-10-02 Wilco Dijkstra + + PR target/111235 + * gcc.dg/rtl/arm/stl-cond.c: Remove test. + * gcc.target/arm/atomic_loaddi_7.c: Fix dmb count. + * gcc.target/arm/atomic_loaddi_8.c: Likewise. + * gcc.target/arm/pr111235.c: Add new test. + +2023-10-02 Tamar Christina + + * gcc.target/aarch64/xorsign.c: + +2023-10-02 Iain Sandoe + + * g++.dg/debug/dwarf2/pr85550.C: Skip for Darwin. + +2023-10-02 Joern Rennecke + Juzhe-Zhong + + * gcc.target/riscv/rvv/base/cpymem-1.c: New test. + * gcc.target/riscv/rvv/base/cpymem-2.c: Likewise. + +2023-10-01 Joern Rennecke + + * lib/target-supports.exp (add_options_for_riscv_v): + Fix typo in first regexp. + (add_options_for_riscv_zfh): Likewise. + (add_options_for_riscv_d): Likewise. + +2023-10-01 Joern Rennecke + Juzhe-Zhong + Juzhe-Zhong + + PR target/111566 + * gcc.target/riscv/rvv/autovec/vls/mov-1.c: Adapt test. + * gcc.target/riscv/rvv/autovec/vls/mov-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mov-9.c: Ditto.1 + * gcc.target/riscv/rvv/autovec/vls/mov-2.c: Removed. + * gcc.target/riscv/rvv/autovec/vls/mov-4.c: Removed. + * gcc.target/riscv/rvv/autovec/vls/mov-6.c: Removed. + * gcc.target/riscv/rvv/fortran/pr111566.f90: New test. + +2023-09-29 Gaius Mulley + + * gm2/iso/run/pass/m2date.mod (DayName): Reordered. + +2023-09-29 Xiao Zeng + + * gcc.target/riscv/zicond-primitiveSemantics_compare_imm.c: New test. + * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_0_imm.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_imm_imm.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_imm_reg.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_imm_return_reg_reg.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_reg.c: Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_0_imm.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_imm_imm.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_imm_reg.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_compare_reg_return_reg_reg.c: + Likewise. + * gcc.target/riscv/zicond-primitiveSemantics.c: Tighten expected regexp. + * gcc.target/riscv/zicond-primitiveSemantics_return_0_imm.c: Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_return_imm_imm.c: Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_return_imm_reg.c: Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_return_reg_reg.c: Likewise. + * gcc.target/riscv/zicond-xor-01.c: Likewise. + +2023-09-29 Patrick O'Neill + + * gcc.target/riscv/rvv/vsetvl/wredsum_vlmax.c: Specify -mabi=lp64d. + +2023-09-29 Jivan Hakobyan + + * gcc.target/riscv/zbb-andn-orn-01.c: New test. + * gcc.target/riscv/zbb-andn-orn-02.c: Likewise. + +2023-09-29 Richard Sandiford + + * gcc.dg/plugin/poly-int-tests.h (test_num_coeffs_extra): Use + poly_int rather than poly_int_pod. + +2023-09-29 Francois-Xavier Coudert + + * gcc.dg/debug/dwarf2/inline4.c: Ajdust regexp to match darwin + output. + +2023-09-29 Andre Vehreschild + + PR fortran/37336 + * gfortran.dg/coarray/alloc_comp_6.f90: New test. + * gfortran.dg/coarray/alloc_comp_7.f90: New test. + +2023-09-29 Manos Anagnostakis + + * gcc.target/aarch64/ldp_aligned.c: Splitted into this and + ldp_unaligned. + * gcc.target/aarch64/stp_aligned.c: Splitted into this and + stp_unaligned. + * gcc.target/aarch64/ldp_unaligned.c: New test. + * gcc.target/aarch64/stp_unaligned.c: New test. + +2023-09-29 Richard Biener + + PR tree-optimization/111583 + * gcc.dg/tree-ssa/pr111583-1.c: New testcase. + * gcc.dg/tree-ssa/pr111583-2.c: Likewise. + +2023-09-28 Gaius Mulley + + * gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: + Add load_lib timeout-dg.exp and increase timeout to 60 + seconds. + * gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: Add + load_lib timeout-dg.exp and increase timeout to 60 seconds. + * gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: + Increase timeout to 45 seconds. + * gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp: + Add load_lib timeout-dg.exp and increase timeout to 120 seconds. + Remove unnecessary compile of mystrlib.mod. + * gm2/iso/run/pass/iso-run-pass.exp: Add load_lib + timeout-dg.exp and set timeout to 60 seconds. + +2023-09-28 Wilco Dijkstra + + PR target/111121 + * gcc.target/aarch64/mops_4.c: Add memmove testcases. + +2023-09-28 Pan Li + + PR target/111506 + * gcc.target/riscv/rvv/autovec/unop/cvt-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/cvt-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cvt-0.c: New test. + +2023-09-28 Richard Biener + + PR tree-optimization/111614 + * gcc.dg/torture/pr111614.c: New testcase. + +2023-09-28 Joern Rennecke + + * lib/target-supports.exp (check_effective_target_riscv_vector): + Delete. Changed all users to use *riscv_v instead. + * g++.target/riscv/rvv/base/bug-10.C: Use riscv_v target selector. + * g++.target/riscv/rvv/base/bug-11.C: Likewise. + * g++.target/riscv/rvv/base/bug-13.C: Likewise. + * g++.target/riscv/rvv/base/bug-15.C: Likewise. + * g++.target/riscv/rvv/base/bug-16.C: Likewise. + * g++.target/riscv/rvv/base/bug-17.C: Likewise. + * g++.target/riscv/rvv/base/bug-2.C: Likewise. + * g++.target/riscv/rvv/base/bug-4.C: Likewise. + * g++.target/riscv/rvv/base/bug-5.C: Likewise. + * g++.target/riscv/rvv/base/bug-6.C: Likewise. + * g++.target/riscv/rvv/base/bug-7.C: Likewise. + * g++.target/riscv/rvv/base/bug-9.C: Likewise. + * g++.target/riscv/rvv/base/bug-12.C: Likewise. + * g++.target/riscv/rvv/base/bug-14.C: Likewise. + * g++.target/riscv/rvv/base/bug-18.C: Likewise. + * g++.target/riscv/rvv/base/bug-19.C: Likewise. + * g++.target/riscv/rvv/base/bug-20.C: Likewise. + * g++.target/riscv/rvv/base/bug-21.C: Likewise. + * g++.target/riscv/rvv/base/bug-22.C: Likewise. + * g++.target/riscv/rvv/base/bug-23.C: Likewise. + * g++.target/riscv/rvv/base/bug-3.C: Likewise. + * g++.target/riscv/rvv/base/bug-8.C: Likewise. + * gcc.dg/vect/pr88598-1.c: Likewise. + * gcc.dg/vect/pr88598-2.c: Likewise. + * gcc.dg/vect/pr88598-3.c: Likewise. + * gcc.dg/vect/slp-26.c: Likewise. + * gcc.dg/vect/slp-reduc-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/copysign-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/copysign-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/narrow_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/narrow_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/narrow_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/shift-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/shift-scalar-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vadd-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vadd-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vand-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vdiv-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vdiv-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vmax-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vmax-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vmin-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vmin-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vmul-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vmul-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vor-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vrem-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vsub-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vsub-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vxor-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/mulh_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/mulh_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vadd-run-nofm.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vdiv-run-nofm.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vmul-run-nofm.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vsub-run-nofm.c: Likewise. + * gcc.target/riscv/rvv/autovec/cmp/vcond_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cmp/vcond_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cmp/vcond_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cmp/vcond_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vncvt-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vsext-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vzext-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-11.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-12.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-13.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-14.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-15.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-16.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-17.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-18.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-19.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/slp_run-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/live_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/partial/live_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/series_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-11.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-12.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-11.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-12.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-11.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-12.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/abs-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/vneg-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/vnot-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/math-floor-run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/math-floor-run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/math-rint-run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/math-rint-run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/math-round-run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/math-round-run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-11.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-12.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-13.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-14.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/insert_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/insert_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-runu.c: Likewise. + * gcc.target/riscv/rvv/autovec/vmv-imm-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run-11.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run-12.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-11.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-12.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/vec-avg-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-11.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-11.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c: Likewise. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-11.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-12.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-13.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-14.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-zvfh-run.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_mulh_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_mulh_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-11.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-12.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-13.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-14.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-15.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-16.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-17.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-18.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-7.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-8.c: Likewise. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-9.c: Likewise. + * gcc.target/riscv/rvv/base/bug-3.c: Likewise. + * gcc.target/riscv/rvv/base/bug-4.c: Likewise. + * gcc.target/riscv/rvv/base/bug-5.c: Likewise. + * gcc.target/riscv/rvv/base/float-point-frm-run-1.c: Likewise. + * gcc.target/riscv/rvv/base/float-point-frm-run-2.c: Likewise. + * gcc.target/riscv/rvv/base/float-point-frm-run-3.c: Likewise. + * gcc.target/riscv/rvv/base/float-point-frm-run-4.c: Likewise. + * gcc.target/riscv/rvv/base/float-point-frm-run-5.c: Likewise. + * gcc.target/riscv/rvv/base/abi-call-args-1-run.c: Likewise. + * gcc.target/riscv/rvv/base/abi-call-args-2-run.c: Likewise. + * gcc.target/riscv/rvv/base/abi-call-args-3-run.c: Likewise. + * gcc.target/riscv/rvv/base/abi-call-args-4-run.c: Likewise. + * gcc.target/riscv/rvv/base/abi-call-return-run.c: Likewise. + * gcc.target/riscv/rvv/base/scalar-move-merged-run-1.c: Likewise. + +2023-09-28 xuli + + PR target/111533 + * gcc.target/riscv/rvv/base/pr111533-1.c: New test. + * gcc.target/riscv/rvv/base/pr111533-2.c: New test. + +2023-09-27 Manos Anagnostakis + Philipp Tomsich + Manolis Tsamis + + * gcc.target/aarch64/ampere1-no_ldp_combine.c: Removed. + * gcc.target/aarch64/ldp_aligned.c: New test. + * gcc.target/aarch64/ldp_always.c: New test. + * gcc.target/aarch64/ldp_never.c: New test. + * gcc.target/aarch64/stp_aligned.c: New test. + * gcc.target/aarch64/stp_always.c: New test. + * gcc.target/aarch64/stp_never.c: New test. + +2023-09-27 Andre Vieira + + * gcc.dg/vect/vect-simd-clone-19.c: New test. + +2023-09-27 Richard Biener + + * gcc.dg/fold-abs-6.c: New testcase. + +2023-09-27 Joern Rennecke + + * gcc.target/riscv/shift-shift-1.c: Avoid spurious pattern matches. + * gcc.target/riscv/shift-shift-3.c: Likewise. + * gcc.target/riscv/zba-shNadd-01.c: Likewise. + * gcc.target/riscv/zba-shNadd-02.c: Likewise. + * gcc.target/riscv/zbb-andn-orn-xnor-01.c: Likewise. + * gcc.target/riscv/zbb-andn-orn-xnor-02.c: Likewise. + * gcc.target/riscv/zbb-min-max.c: Likewise. + * gcc.target/riscv/zero-extend-1.c: Likewise. + * gcc.target/riscv/zero-extend-2.c: Likewise. + * gcc.target/riscv/zero-extend-3.c: Likewise. + * gcc.target/riscv/zero-extend-4.c: Likewise. + * gcc.target/riscv/zero-extend-5.c: Likewise. + * gcc.target/riscv/_Float16-soft-2.c: Likewise. + * gcc.target/riscv/_Float16-soft-3.c: Likewise. + * gcc.target/riscv/_Float16-zfh-1.c: Likewise. + * gcc.target/riscv/_Float16-zfh-2.c: Likewise. + * gcc.target/riscv/_Float16-zfh-3.c: Likewise. + * gcc.target/riscv/and-extend-1.c: Likewise. + * gcc.target/riscv/and-extend-2.c: Likewise. + * gcc.target/riscv/pr108987.c: Likewise. + * gcc.target/riscv/ret-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/align-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/align-2.c: Likewise. + * gcc.target/riscv/zba-shNadd-04.c: Likewise. + * gcc.target/riscv/zba-shNadd-07.c: Likewise. + * gcc.target/riscv/zbb-rol-ror-02.c: Likewise. + * gcc.target/riscv/zbbw.c: Likewise. + * gcc.target/riscv/zbc32.c: Likewise. + * gcc.target/riscv/zbc64.c: Likewise. + * gcc.target/riscv/zbkb32.c: Likewise. + * gcc.target/riscv/zbkb64.c: Likewise. + * gcc.target/riscv/zbkc32.c: Likewise. + * gcc.target/riscv/zbkc64.c: Likewise. + * gcc.target/riscv/zbkx32.c: Likewise. + * gcc.target/riscv/zbkx64.c: Likewise. + * gcc.target/riscv/zfa-fleq-fltq.c: Likewise. + * gcc.target/riscv/zfa-fli-zfh.c: Likewise. + * gcc.target/riscv/zfa-fli.c: Likewise. + * gcc.target/riscv/zknd64.c: Likewise. + * gcc.target/riscv/zksed32.c: Likewise. + * gcc.target/riscv/zksed64.c: Likewise. + * gcc.target/riscv/zksh32.c: Likewise. + * gcc.target/riscv/zksh64.c: Likewise. + * gcc.target/riscv/_Float16-soft-1.c: Likewise. + * gcc.target/riscv/_Float16-zfhmin-1.c: Likewise. + * gcc.target/riscv/_Float16-zfhmin-2.c: Likewise. + * gcc.target/riscv/_Float16-zfhmin-3.c: Likewise. + * gcc.target/riscv/_Float16-zhinxmin-1.c: Likewise. + * gcc.target/riscv/_Float16-zhinxmin-2.c: Likewise. + * gcc.target/riscv/_Float16-zhinxmin-3.c: Likewise. + * gcc.target/riscv/fle-ieee.c: Likewise. + * gcc.target/riscv/fle-snan.c: Likewise. + * gcc.target/riscv/flef-ieee.c: Likewise. + * gcc.target/riscv/flef-snan.c: Likewise. + * gcc.target/riscv/flt-ieee.c: Likewise. + * gcc.target/riscv/flt-snan.c: Likewise. + * gcc.target/riscv/fltf-ieee.c: Likewise. + * gcc.target/riscv/fltf-snan.c: Likewise. + * gcc.target/riscv/interrupt-1.c: Likewise. + * gcc.target/riscv/interrupt-mmode.c: Likewise. + * gcc.target/riscv/interrupt-smode.c: Likewise. + * gcc.target/riscv/interrupt-umode.c: Likewise. + * gcc.target/riscv/pr106888.c: Likewise. + * gcc.target/riscv/pr89835.c: Likewise. + * gcc.target/riscv/shift-and-1.c: Likewise. + * gcc.target/riscv/shift-and-2.c: Likewise. + * gcc.target/riscv/shift-shift-2.c: Likewise. + * gcc.target/riscv/shift-shift-4.c: Likewise. + * gcc.target/riscv/shift-shift-5.c: Likewise. + * gcc.target/riscv/shorten-memrefs-7.c: Likewise. + * gcc.target/riscv/sign-extend.c: Likewise. + * gcc.target/riscv/switch-qi.c: Likewise. + * gcc.target/riscv/switch-si.c: Likewise. + * gcc.target/riscv/xtheadbb-ext-1.c: Likewise. + * gcc.target/riscv/xtheadbb-ext.c: Likewise. + * gcc.target/riscv/xtheadbb-extu-1.c: Likewise. + * gcc.target/riscv/xtheadbb-extu.c: Likewise. + * gcc.target/riscv/xtheadbb-strlen.c: Likewise. + * gcc.target/riscv/xtheadbs-tst.c: Likewise. + * gcc.target/riscv/xtheadfmv-fmv.c: Likewise. + * gcc.target/riscv/xventanacondops-primitiveSemantics.c: Likewise. + * gcc.target/riscv/zba-adduw.c: Likewise. + * gcc.target/riscv/zba-shadd.c: Likewise. + * gcc.target/riscv/zba-slliuw.c: Likewise. + * gcc.target/riscv/zba-zextw.c: Likewise. + * gcc.target/riscv/zbb-min-max-02.c: Likewise. + * gcc.target/riscv/zbb-min-max-03.c: Likewise. + * gcc.target/riscv/zbb-rol-ror-01.c: Likewise. + * gcc.target/riscv/zbb-rol-ror-03.c: Likewise. + * gcc.target/riscv/zbb-rol-ror-04.c: Likewise. + * gcc.target/riscv/zbb-rol-ror-05.c: Likewise. + * gcc.target/riscv/zbb-rol-ror-06.c: Likewise. + * gcc.target/riscv/zbb-rol-ror-07.c: Likewise. + * gcc.target/riscv/zbb-rol-ror-08.c: Likewise. + * gcc.target/riscv/zbb-rol-ror-09.c: Likewise. + * gcc.target/riscv/zbb-strlen.c: Likewise. + * gcc.target/riscv/zbb_32_bswap-1.c: Likewise. + * gcc.target/riscv/zbb_32_bswap-2.c: Likewise. + * gcc.target/riscv/zbb_bswap-1.c: Likewise. + * gcc.target/riscv/zbb_bswap-2.c: Likewise. + * gcc.target/riscv/zbs-bclr.c: Likewise. + * gcc.target/riscv/zbs-bext-02.c: Likewise. + * gcc.target/riscv/zbs-bext.c: Likewise. + * gcc.target/riscv/zbs-binv.c: Likewise. + * gcc.target/riscv/zbs-bset.c: Likewise. + * gcc.target/riscv/zero-scratch-regs-2.c: Likewise. + * gcc.target/riscv/zicond-primitiveSemantics.c: Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_return_0_imm.c: Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_return_imm_imm.c: Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_return_imm_reg.c: Likewise. + * gcc.target/riscv/zicond-primitiveSemantics_return_reg_reg.c: Likewise. + +2023-09-27 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-2.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-roundeven-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-roundeven-1.c: New test. + +2023-09-27 Joern Rennecke + + * lib/target-supports.exp (check_effective_target_rv_float_abi_soft): + New proc. + (check_effective_target_riscv_d): Likewise. + (check_effective_target_riscv_v): Likewise. + (check_effective_target_riscv_zfh): Likewise. + (check_effective_target_riscv_v_ok): likewise. + (check_effective_target_riscv_zfh_ok): Likewise. + (riscv_get_arch, add_options_for_riscv_v): Likewise. + (add_options_for_riscv_zfh): Likewise. + (add_options_for_riscv_d): Likewise. + +2023-09-27 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-trunc-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-2.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-3.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-trunc-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-trunc-1.c: New test. + +2023-09-26 Andrew Pinski + + PR testsuite/111603 + * gcc.dg/tree-ssa/pr111456-1.c: Use `signed char` instead of plain `char`. + +2023-09-26 Xiao Zeng + Jeff Law + + * gcc.target/riscv/zicond-primitiveSemantics_return_0_imm.c: New test. + * gcc.target/riscv/zicond-primitiveSemantics_return_imm_imm.c: New test. + * gcc.target/riscv/zicond-primitiveSemantics_return_imm_reg.c: New test. + * gcc.target/riscv/zicond-primitiveSemantics_return_reg_reg.c: New test. + +2023-09-26 Andrew MacLeod + + PR tree-optimization/111599 + * gcc.dg/pr111599.c: New. + +2023-09-26 Andrew Pinski + + PR tree-optimization/106164 + PR tree-optimization/111456 + * gcc.dg/tree-ssa/cmpbit-6.c: New test. + * gcc.dg/tree-ssa/cmpbit-7.c: New test. + * gcc.dg/tree-ssa/pr111456-1.c: New test. + +2023-09-26 Andrew Pinski + + PR tree-optimization/111469 + * gcc.c-torture/execute/pr111469-1.c: New test. + +2023-09-26 Juzhe-Zhong + + PR tree-optimization/111594 + PR tree-optimization/110660 + * gcc.target/riscv/rvv/autovec/cond/cond_reduc-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/pr111594.c: New test. + +2023-09-26 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-round-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-round-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-round-2.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-round-3.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-round-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-round-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-round-1.c: New test. + +2023-09-26 Maciej W. Rozycki + + * gcc.target/riscv/rvv/autovec/vmv-imm-template.h: Remove + inclusion. + +2023-09-26 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-rint-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-rint-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-rint-2.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-rint-3.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-rint-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-rint-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-rint-1.c: New test. + +2023-09-26 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/test-math.h: Add helper function. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-2.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-3.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-nearbyint-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-nearbyint-1.c: New test. + +2023-09-25 Vladimir N. Makarov + + PR middle-end/111497 + * g++.target/i386/pr111497.C: new test. + +2023-09-25 Eric Botcazou + + * gnat.dg/opt102.adb:New test. + * gnat.dg/opt102_pkg.adb, gnat.dg/opt102_pkg.ads: New helper. + +2023-09-25 Andrew Pinski + + PR tree-optimization/110386 + * gcc.c-torture/compile/pr110386-1.c: New test. + * gcc.c-torture/compile/pr110386-2.c: New test. + +2023-09-25 Juzhe-Zhong + + PR target/111548 + * gcc.target/riscv/rvv/autovec/pr111548.c: New test. + +2023-09-25 Kewen Lin + + PR target/111366 + * g++.target/powerpc/pr111366.C: New test. + +2023-09-25 Kewen Lin + + PR target/111380 + * gcc.target/powerpc/pr111380-1.c: New test. + * gcc.target/powerpc/pr111380-2.c: New test. + +2023-09-25 Guo Jie + + * gcc.target/loongarch/vector/lasx/lasx-vec-construct-opt.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vec-construct-opt.c: New test. + +2023-09-24 Paul Thomas + + PR fortran/68155 + * gfortran.dg/pr68155.f90: New test. + +2023-09-24 Andrew Pinski + + PR tree-optimization/111543 + * gcc.dg/tree-ssa/bitops-4.c: New test. + +2023-09-24 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: + * gcc.target/riscv/rvv/autovec/vls/cond_convert-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_convert-10.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_convert-11.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_convert-12.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_convert-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_convert-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_convert-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_convert-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_convert-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_convert-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_convert-8.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_convert-9.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_copysign-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_ext-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_ext-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_ext-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_ext-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_ext-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_mulh-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_narrow-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_narrow-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_trunc-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_trunc-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_trunc-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_trunc-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_trunc-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wadd-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wadd-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wadd-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wadd-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wfma-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wfma-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wfms-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wfnma-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wmul-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wmul-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wmul-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wsub-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wsub-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wsub-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_wsub-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/narrow-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/narrow-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/narrow-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wred-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wred-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wred-3.c: New test. + +2023-09-23 Harald Anlauf + + PR fortran/95710 + * gfortran.dg/pr95710.f90: New test. + +2023-09-23 Jakub Jelinek + + PR c++/111455 + * g++.dg/ext/integer-pack8.C: New test. + +2023-09-23 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/cond_abs-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_sqrt-1.c: New test. + +2023-09-23 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-floor-0.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-floor-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-floor-2.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-floor-3.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-floor-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/math-floor-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/math-floor-1.c: New test. + +2023-09-23 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-0.c: Remove. + +2023-09-22 Jason Merrill + + * g++.dg/cpp2a/constexpr-union7.C: New test. + +2023-09-22 Jason Merrill + + PR c++/111529 + * g++.dg/ext/unroll-4.C: New test. + +2023-09-22 Pan Li + + * gcc.target/riscv/rvv/autovec/unop/math-ceil-0.c: Adjust body check. + * gcc.target/riscv/rvv/autovec/unop/math-ceil-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-ceil-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/math-ceil-3.c: Ditto. + +2023-09-22 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS modes. + * gcc.target/riscv/rvv/autovec/vls/wfma-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wfma-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wfma-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wfms-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wfnma-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wfnms-1.c: New test. + +2023-09-22 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS modes cond tests. + * gcc.target/riscv/rvv/autovec/vls/wadd-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wadd-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wadd-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wadd-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wmul-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wmul-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wmul-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wsub-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wsub-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wsub-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/wsub-4.c: New test. + +2023-09-22 Patrick Palka + + PR c++/111493 + * g++.dg/cpp23/subscript15.C: New test. + +2023-09-22 Patrick Palka + + PR c++/111485 + * g++.dg/cpp2a/concepts-ttp5.C: New test. + * g++.dg/cpp2a/concepts-ttp6.C: New test. + +2023-09-22 Pan Li + + * gcc.target/riscv/rvv/autovec/math-ceil-0.c: Moved to... + * gcc.target/riscv/rvv/autovec/unop/math-ceil-0.c: ...here. + * gcc.target/riscv/rvv/autovec/math-ceil-1.c: Moved to... + * gcc.target/riscv/rvv/autovec/unop/math-ceil-1.c: ...here. + * gcc.target/riscv/rvv/autovec/math-ceil-2.c: Moved to... + * gcc.target/riscv/rvv/autovec/unop/math-ceil-2.c: ...here. + * gcc.target/riscv/rvv/autovec/math-ceil-3.c: Moved to... + * gcc.target/riscv/rvv/autovec/unop/math-ceil-3.c: ...here. + * gcc.target/riscv/rvv/autovec/math-ceil-run-0.c: Moved to... + * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-0.c: ...here. + * gcc.target/riscv/rvv/autovec/math-ceil-run-1.c: Moved to... + * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-1.c: ...here. + * gcc.target/riscv/rvv/autovec/math-ceil-run-2.c: Moved to... + * gcc.target/riscv/rvv/autovec/unop/math-ceil-run-2.c: ...here. + * gcc.target/riscv/rvv/autovec/test-math.h: Moved to... + * gcc.target/riscv/rvv/autovec/unop/test-math.h: ...here. + +2023-09-22 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS conditional tests. + * gcc.target/riscv/rvv/autovec/vls/cond_add-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_add-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_and-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_div-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_div-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_fma-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_fma-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_fms-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_fnma-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_fnma-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_fnms-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_ior-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_max-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_max-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_min-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_min-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_mod-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_mul-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_mul-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_neg-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_neg-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_not-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_shift-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_shift-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_sub-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_sub-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cond_xor-1.c: New test. + +2023-09-22 Pan Li + + * gcc.target/riscv/rvv/autovec/test-math.h: Rename. + * gcc.target/riscv/rvv/autovec/math-ceil-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/math-ceil-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/math-ceil-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/math-ceil-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/math-ceil-run-0.c: Ditto. + * gcc.target/riscv/rvv/autovec/math-ceil-run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/math-ceil-run-2.c: Ditto. + +2023-09-22 xuli + + PR target/111451 + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-4.c: Adjust case. + * gcc.target/riscv/rvv/autovec/vls/perm-4.c: Ditto. + +2023-09-22 Pan Li + + * gcc.target/riscv/rvv/autovec/math-ceil-run-0.c: Remove arch and abi. + * gcc.target/riscv/rvv/autovec/math-ceil-run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/math-ceil-run-2.c: Ditto. + +2023-09-22 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-2.c: New test. + +2023-09-22 Pan Li + + * gcc.target/riscv/rvv/autovec/vls/floating-point-max-5.c: + Remove reference to math.h. + * gcc.target/riscv/rvv/autovec/vls/floating-point-min-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-2.c: Ditto. + +2023-09-22 Pan Li + + * gcc.target/riscv/rvv/autovec/math-ceil-0.c: New test. + * gcc.target/riscv/rvv/autovec/math-ceil-1.c: New test. + * gcc.target/riscv/rvv/autovec/math-ceil-2.c: New test. + * gcc.target/riscv/rvv/autovec/math-ceil-3.c: New test. + * gcc.target/riscv/rvv/autovec/math-ceil-run-0.c: New test. + * gcc.target/riscv/rvv/autovec/math-ceil-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/math-ceil-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/test-math.h: New test. + * gcc.target/riscv/rvv/autovec/vls/math-ceil-1.c: New test. + +2023-09-21 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/abs-2.c: New test. + +2023-09-21 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/abs-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/not-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/sqrt-1.c: New test. + +2023-09-21 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS mult high. + * gcc.target/riscv/rvv/autovec/vls/mulh-1.c: New test. + +2023-09-21 Juzhe-Zhong + + PR target/110751 + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv-nofm.c: Adapt test. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vrem-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-9.c: Ditto. + +2023-09-21 Juzhe-Zhong + + PR target/111486 + * gcc.target/riscv/rvv/autovec/pr111486.c: New test. + +2023-09-21 Jiufu Guo + + PR tree-optimization/111355 + * gcc.dg/pr111355.c: New test. + +2023-09-21 xuli + + PR target/111450 + * gcc.target/riscv/rvv/base/pr111450.c: New test. + +2023-09-21 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/convert-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/convert-10.c: New test. + * gcc.target/riscv/rvv/autovec/vls/convert-11.c: New test. + * gcc.target/riscv/rvv/autovec/vls/convert-12.c: New test. + * gcc.target/riscv/rvv/autovec/vls/convert-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/convert-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/convert-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/convert-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/convert-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/convert-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/convert-8.c: New test. + * gcc.target/riscv/rvv/autovec/vls/convert-9.c: New test. + +2023-09-20 Lewis Hyatt + + PR preprocessor/90400 + * c-c++-common/cpp/pr90400.c: New test. + +2023-09-20 Lewis Hyatt + + PR preprocessor/61474 + * c-c++-common/cpp/pr61474-2.h: New test. + * c-c++-common/cpp/pr61474.c: New test. + * c-c++-common/cpp/pr61474.h: New test. + +2023-09-20 Patrick O'Neill + + * gcc.target/riscv/rvv/autovec/vls/def.h: Remove unneeded math.h + import. + +2023-09-20 Aldy Hernandez + + * gcc.dg/tree-ssa/vrp-float-relations-5.c: New test. + * gcc.dg/tree-ssa/vrp-float-relations-6.c: New test. + +2023-09-20 Jakub Jelinek + + * c-c++-common/builtin-classify-type-1.c: New test. + * g++.dg/ext/builtin-classify-type-1.C: New test. + * g++.dg/ext/builtin-classify-type-2.C: New test. + * gcc.dg/builtin-classify-type-1.c: New test. + +2023-09-20 Patrick Palka + + PR c++/111471 + * g++.dg/concepts/diagnostic19.C: New test. + +2023-09-20 Tobias Burnus + + * c-c++-common/gomp/allocate-11.c: Remove C-only dg-message + for 'sorry, unimplemented'. + * c-c++-common/gomp/allocate-12.c: Likewise. + * c-c++-common/gomp/allocate-15.c: Likewise. + * c-c++-common/gomp/allocate-9.c: Likewise. + * c-c++-common/gomp/allocate-10.c: New test. + * c-c++-common/gomp/allocate-17.c: New test. + +2023-09-20 Yanzhang Wang + + * gcc.target/riscv/rvv/base/simplify-vdiv.c: New test. + +2023-09-20 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/widen/widen-10.c: Adapt test. + * gcc.target/riscv/rvv/autovec/widen/widen-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/ext-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/ext-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/trunc-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/trunc-5.c: New test. + +2023-09-20 Richard Biener + + PR tree-optimization/111489 + * gcc.dg/uninit-pr111489.c: New testcase. + +2023-09-20 Jakub Jelinek + + PR c++/111392 + * g++.dg/gomp/attrs-19.C: New test. + * g++.dg/gomp/attrs-20.C: New test. + * g++.dg/gomp/attrs-21.C: New test. + +2023-09-20 Omar Sandoval + + PR debug/111409 + * gcc.dg/pr111409.c: New test. + +2023-09-20 Jiufu Guo + + * gcc.dg/tree-ssa/pr111303.c: Rename to ... + * gcc.dg/tree-ssa/pr111324.c: ... this. + +2023-09-20 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/binop/narrow-1.c: Adapt testcase. + * gcc.target/riscv/rvv/autovec/binop/narrow-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/narrow-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cmp/vcond-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cmp/vcond-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cmp/vcond-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cmp/vcond-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/pr110950.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/def.h: Ditto. + * gcc.target/riscv/rvv/autovec/vls/div-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/avg-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/avg-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/avg-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/avg-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/avg-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/avg-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/ext-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/ext-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/ext-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/trunc-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/trunc-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/trunc-3.c: New test. + +2023-09-20 Surya Kumari Jangala + + PR rtl-optimization/110071 + * gcc.target/powerpc/pr110071.c: New test. + +2023-09-19 Ben Boeckel + + * g++.dg/modules/depreport-2.modmap: New test. + * g++.dg/modules/depreport-2_a.C: New test. + * g++.dg/modules/depreport-2_b.C: New test. + * g++.dg/modules/test-depfile.py: Support `:|` syntax output + when generating modules. + +2023-09-19 Ben Boeckel + + * g++.dg/modules/depreport-1_a.C: New test. + * g++.dg/modules/depreport-1_b.C: New test. + * g++.dg/modules/test-depfile.py: New tool for validating depfile + information. + * lib/modules.exp: Support for validating depfile contents. + +2023-09-19 Ben Boeckel + + * g++.dg/modules/depflags-f-MD.C: New test. + * g++.dg/modules/depflags-f.C: New test. + * g++.dg/modules/depflags-fi.C: New test. + * g++.dg/modules/depflags-fj-MD.C: New test. + * g++.dg/modules/depflags-fj.C: New test. + * g++.dg/modules/depflags-fjo-MD.C: New test. + * g++.dg/modules/depflags-fjo.C: New test. + * g++.dg/modules/depflags-fo-MD.C: New test. + * g++.dg/modules/depflags-fo.C: New test. + * g++.dg/modules/depflags-j-MD.C: New test. + * g++.dg/modules/depflags-j.C: New test. + * g++.dg/modules/depflags-jo-MD.C: New test. + * g++.dg/modules/depflags-jo.C: New test. + * g++.dg/modules/depflags-o-MD.C: New test. + * g++.dg/modules/depflags-o.C: New test. + * g++.dg/modules/p1689-1.C: New test. + * g++.dg/modules/p1689-1.exp.ddi: New test expectation. + * g++.dg/modules/p1689-2.C: New test. + * g++.dg/modules/p1689-2.exp.ddi: New test expectation. + * g++.dg/modules/p1689-3.C: New test. + * g++.dg/modules/p1689-3.exp.ddi: New test expectation. + * g++.dg/modules/p1689-4.C: New test. + * g++.dg/modules/p1689-4.exp.ddi: New test expectation. + * g++.dg/modules/p1689-5.C: New test. + * g++.dg/modules/p1689-5.exp.ddi: New test expectation. + * g++.dg/modules/modules.exp: Load new P1689 library routines. + * g++.dg/modules/test-p1689.py: New tool for validating P1689 output. + * lib/modules.exp: Support for validating P1689 outputs. + * g++.dg/modules/depflags-fj-MF-share.C: New file. + * g++.dg/modules/p1689-file-default.C: New file. + * g++.dg/modules/p1689-file-default.exp.ddi: New file. + * g++.dg/modules/p1689-target-default.C: New file. + * g++.dg/modules/p1689-target-default.exp.ddi: New file. + +2023-09-19 Aldy Hernandez + + * gcc.dg/tree-ssa/vrp-float-12.c: Moved to... + * gcc.dg/tree-ssa/vrp-float-relations-1.c: ...here. + * gcc.dg/tree-ssa/vrp-float-relations-2.c: New test. + * gcc.dg/tree-ssa/vrp-float-relations-3.c: New test. + * gcc.dg/tree-ssa/vrp-float-relations-4.c: New test. + +2023-09-19 Javier Martinez + + * g++.dg/ext/attr-hotness.C: New test. + +2023-09-19 Pat Haugen + + * gcc.target/powerpc/clone1.c: Add xfails. + * gcc.target/powerpc/clone3.c: Likewise. + * gcc.target/powerpc/mod-1.c: Update scan strings and add xfails. + * gcc.target/powerpc/mod-2.c: Likewise. + * gcc.target/powerpc/p10-vdivq-vmodq.c: Add xfails. + +2023-09-19 Gaius Mulley + + * gm2/extensions/pass/libc.def: Add spacing. + * gm2/pimlib/logitech/run/pass/realconv.mod: Add debugging print. + * gm2/switches/uninit-variable-checking/cascade/fail/switches-uninit-variable-checking-cascade-fail.exp: + Add -fdebug-builtins flag. + * lib/gm2.exp (gm2_target_compile_default): Add + -mabi=ieeelongdouble if the target is powerpc. + (gm2_link_flags): Add + -mabi=ieeelongdouble if the target is powerpc. + * gm2/pim/intrinsic/run/pass/cstub.c: New test. + * gm2/pim/intrinsic/run/pass/cstub.def: New test. + * gm2/pim/intrinsic/run/pass/pim-intrinsic-run-pass.exp: New test. + * gm2/pim/intrinsic/run/pass/test.mod: New test. + * gm2/pim/run/pass/builtins.mod: New test. + * gm2/pim/run/pass/convert1.mod: New test. + * gm2/pim/run/pass/longint1.mod: New test. + * gm2/pim/run/pass/longint2.mod: New test. + * gm2/pim/run/pass/longint3.mod: New test. + * gm2/pim/run/pass/longint4.mod: New test. + * gm2/pim/run/pass/longint5.mod: New test. + * gm2/pim/run/pass/longint6.mod: New test. + * gm2/pim/run/pass/longint7.mod: New test. + * gm2/pim/run/pass/longint8.mod: New test. + +2023-09-19 Harald Anlauf + + PR fortran/70231 + * gfortran.dg/bounds_check_fail_7.f90: New test. + +2023-09-19 Aldy Hernandez + + * gcc.dg/tree-ssa/vrp-float-13.c: New test. + +2023-09-19 Jakub Jelinek + + PR testsuite/111377 + * c-c++-common/analyzer/compound-assignment-1.c (test_5b): Move + closing } to the same line as the call to work-around differences in + diagnostics line. + +2023-09-19 Jason Merrill + + DR 2799 + * g++.dg/cpp0x/inh-ctor38.C: New test. + +2023-09-19 Andrew MacLeod + + PR tree-optimization/110080 + PR tree-optimization/110249 + * g++.dg/pr110249.C: New. + * gcc.dg/pr110080.c: New. + * gcc.dg/pr93917.c: Adjust. + +2023-09-19 Marek Polacek + + * g++.dg/cpp23/consteval-if2.C: Add xfail. + * g++.dg/cpp2a/consteval-memfn1.C: Adjust. + * g++.dg/cpp2a/consteval11.C: Remove dg-message. + * g++.dg/cpp2a/consteval3.C: Remove dg-message and dg-error. + * g++.dg/cpp2a/consteval9.C: Remove dg-message. + * g++.dg/cpp2a/consteval32.C: New test. + * g++.dg/cpp2a/consteval33.C: New test. + * g++.dg/cpp2a/consteval34.C: New test. + * g++.dg/cpp2a/consteval35.C: New test. + +2023-09-19 Richard Biener + + PR c/111468 + * gcc.dg/gimplefe-50.c: Amend. + +2023-09-19 Patrick Palka + + PR c++/111419 + * g++.dg/cpp2a/concepts-requires36.C: New test. + * g++.dg/expr/discarded1.C: New test. + * g++.dg/expr/discarded1a.C: New test. + +2023-09-19 Patrick Palka + + PR c++/99631 + * g++.dg/cpp2a/nontype-class60.C: New test. + +2023-09-19 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add FNMS VLS modes tests. + * gcc.target/riscv/rvv/autovec/vls/fnms-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fnms-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fnms-3.c: New test. + +2023-09-19 Richard Wai + + * gnat.dg/sync_tag_finalize.adb: New test. + +2023-09-19 Richard Wai + + * gnat.dg/sync_tag_discriminals.adb: New test. + * gnat.dg/sync_tag_limited.adb: New test. + +2023-09-19 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add unary test. + * gcc.target/riscv/rvv/autovec/vls/neg-2.c: New test. + +2023-09-19 Richard Biener + + PR tree-optimization/111465 + * g++.dg/torture/pr111465.C: New testcase. + +2023-09-19 Richard Biener + + PR c/111468 + * gcc.dg/gimplefe-50.c: New testcase. + * gcc.dg/gimplefe-51.c: Likewise. + +2023-09-19 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add FMS tests. + * gcc.target/riscv/rvv/autovec/vls/fma-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fma-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fma-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fms-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fms-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fms-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fnma-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fnma-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fnma-7.c: New test. + +2023-09-19 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS FMA/FNMA test. + * gcc.target/riscv/rvv/autovec/vls/fma-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fma-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fma-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fma-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fnma-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fnma-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fnma-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/fnma-4.c: New test. + +2023-09-19 Prathamesh Kulkarni + + * gcc.target/aarch64/vect_copy_lane_1.c: Scan for zip1 instead + of ins for float32x2_t, int32x2_t and uint32x2_t tests. + +2023-09-18 Pan Li + + * gcc.target/riscv/rvv/autovec/vls/def.h: New macros. + * gcc.target/riscv/rvv/autovec/vls/vec-set-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-10.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-11.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-12.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-13.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-14.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-15.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-16.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-17.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-18.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-19.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-20.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-21.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-22.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-8.c: New test. + * gcc.target/riscv/rvv/autovec/vls/vec-set-9.c: New test. + +2023-09-18 Pan Li + + * gcc.target/riscv/rvv/base/scalar-move-merged-run-1.c: New test. + +2023-09-18 Andrew Pinski + + PR tree-optimization/111442 + * gcc.c-torture/compile/pr111442-1.c: New test. + +2023-09-18 Andrew Pinski + + PR tree-optimization/111435 + * gcc.c-torture/compile/pr111435-1.c: New test. + +2023-09-18 Patrick Palka + + PR c++/89231 + * g++.dg/cpp0x/variadic-partial3.C: New test. + +2023-09-18 Patrick Palka + + PR c++/63198 + PR c++/18474 + * g++.dg/cpp0x/static_assert15.C: Expect diagnostic for + non-constant static_assert condition. + * g++.dg/expr/unary2.C: Remove xfails. + * g++.dg/template/init7.C: Make initializer type-dependent to + preserve intent of test. + * g++.dg/template/recurse3.C: Likewise for the erroneous + statement. + * g++.dg/template/non-dependent26.C: New test. + * g++.dg/warn/Wparentheses-32.C: New test. + +2023-09-18 Patrick Palka + + PR c++/108347 + * g++.dg/template/ttp41.C: New test. + +2023-09-18 Patrick Palka + + * g++.dg/cpp0x/vt-57397-1.C: Expect "candidate expects ... N + argument(s)" at the declaration site instead of the call site. + * g++.dg/cpp0x/vt-57397-2.C: Likewise. + * g++.dg/overload/template5.C: Likewise. + * g++.dg/template/local6.C: Likewise. + * g++.dg/template/conv20.C: New test. + * g++.dg/template/ttp40.C: New test. + +2023-09-18 Patrick Palka + + * g++.dg/template/nontype12.C: Expect two instead of three + duplicate diagnostics for A::bar() specialization. + +2023-09-18 Andrew Pinski + + PR tree-optimization/111431 + * gcc.dg/binop-notand1a.c: Remove xfail. + * gcc.dg/binop-notand4a.c: Likewise. + * gcc.c-torture/execute/pr111431-1.c: New test. + * gcc.dg/binop-andeq1.c: New test. + * gcc.dg/binop-andeq2.c: New test. + * gcc.dg/binop-notand7.c: New test. + * gcc.dg/binop-notand7a.c: New test. + +2023-09-18 Thomas Schwinge + + * g++.dg/abi/nvptx-nrv1.C: Move... + * g++.target/nvptx/abi-nrv1.C: ... here. + * g++.dg/abi/nvptx-ptrmem1.C: Move... + * g++.target/nvptx/abi-ptrmem1.C: ... here. + +2023-09-18 Thomas Schwinge + + * g++.target/nvptx/nvptx.exp: New. + +2023-09-18 Thomas Schwinge + + * g++.dg/abi/nvptx-ptrmem1.C: Fix up. + +2023-09-18 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/pr111313.c: Adapt test. + +2023-09-18 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/avl_single-21.c: Adapt test. + * gcc.target/riscv/rvv/vsetvl/avl_single-26.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-39.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-41.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: Ditto. + +2023-09-18 Lehua Ding + + * gcc.target/riscv/rvv/autovec/vls/div-1.c: Removed comments. + * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Ditto. + +2023-09-18 Wilco Dijkstra + + PR target/105928 + * gcc.target/aarch64/pr105928.c: Add new test. + * gcc.target/aarch64/vect-cse-codegen.c: Fix test. + +2023-09-18 Lehua Ding + + PR target/111255 + * gcc.target/riscv/rvv/vsetvl/pr111255.c: New test. + +2023-09-18 Richard Biener + + PR tree-optimization/111294 + * gcc.dg/tree-ssa/pr111294.c: New test. + * gcc.dg/tree-ssa/phi_on_compare-4.c: Adjust. + * gcc.dg/tree-ssa/pr59597.c: Likewise. + * gcc.dg/tree-ssa/pr61839_2.c: Likewise. + * gcc.dg/tree-ssa/ssa-sink-18.c: Likewise. + * g++.dg/warn/Wstringop-overflow-4.C: XFAIL subtest on ilp32. + * gcc.dg/uninit-pred-9_b.c: XFAIL subtest everywhere. + * gcc.dg/vect/vect-117.c: Make scan for not Invalid sum + conditional on lp64. + +2023-09-18 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS vec_init tests. + * gcc.target/riscv/rvv/autovec/vls/init-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/init-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/repeat-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/repeat-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/repeat-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/repeat-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/repeat-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/repeat-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/repeat-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/repeat-8.c: New test. + * gcc.target/riscv/rvv/autovec/vls/repeat-9.c: New test. + +2023-09-18 Juzhe-Zhong + + PR target/111153 + * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS mode reduction case. + * gcc.target/riscv/rvv/autovec/vls/reduc-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-10.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-11.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-12.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-13.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-14.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-15.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-16.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-17.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-18.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-19.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-20.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-21.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-8.c: New test. + * gcc.target/riscv/rvv/autovec/vls/reduc-9.c: New test. + +2023-09-18 Jiufu Guo + + PR middle-end/111303 + * gcc.dg/tree-ssa/pr111303.c: New test. + +2023-09-17 Andrew Pinski + + * gcc.dg/tree-ssa/20040204-1.c: Remove xfail. + +2023-09-17 Ajit Kumar Agarwal + + * g++.target/powerpc/altivec-19.C: New testcase. + +2023-09-16 Juzhe-Zhong + + PR target/111391 + * gcc.target/riscv/rvv/autovec/partial/slp-9.c: Adapt test. + * gcc.target/riscv/rvv/autovec/pr111391-1.c: New test. + * gcc.target/riscv/rvv/autovec/pr111391-2.c: New test. + +2023-09-16 Tsukasa OI + + * gcc.target/riscv/zknh-sha256.c: Moved to... + * gcc.target/riscv/zknh-sha256-64.c: ...here. Test RV64. + * gcc.target/riscv/zknh-sha256-32.c: New test for RV32. + * gcc.target/riscv/zksh64.c: Change the type. + * gcc.target/riscv/zksed64.c: Ditto. + +2023-09-16 Tsukasa OI + + * gcc.target/riscv/zbc32.c: Make signed type to unsigned. + * gcc.target/riscv/zbc64.c: Ditto. + * gcc.target/riscv/zbkb32.c: Ditto. + * gcc.target/riscv/zbkb64.c: Ditto. + * gcc.target/riscv/zbkc32.c: Ditto. + * gcc.target/riscv/zbkc64.c: Ditto. + * gcc.target/riscv/zbkx32.c: Ditto. + * gcc.target/riscv/zbkx64.c: Ditto. + * gcc.target/riscv/zknd32.c: Ditto. + * gcc.target/riscv/zknd64.c: Ditto. + * gcc.target/riscv/zkne32.c: Ditto. + * gcc.target/riscv/zkne64.c: Ditto. + * gcc.target/riscv/zknh-sha256.c: Ditto. + * gcc.target/riscv/zknh-sha512-32.c: Ditto. + * gcc.target/riscv/zknh-sha512-64.c: Ditto. + * gcc.target/riscv/zksed32.c: Ditto. + * gcc.target/riscv/zksed64.c: Ditto. + * gcc.target/riscv/zksh32.c: Ditto. + * gcc.target/riscv/zksh64.c: Ditto. + +2023-09-16 Pan Li + + * gcc.target/riscv/rvv/autovec/vls/def.h: New macro. + * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-2.c: New test. + +2023-09-15 David Malcolm + + * c-c++-common/analyzer/volatile-1.c: New test. + +2023-09-15 Harald Anlauf + + PR fortran/30802 + * gfortran.dg/bounds_check_fail_6.f90: New test. + +2023-09-15 Andrew Pinski + + * gcc.dg/tree-ssa/bool-13.c: Update testcase as we now do + the MIN/MAX during forwprop1. + +2023-09-15 Andrew Pinski + + PR tree-optimization/111414 + * gcc.c-torture/compile/pr111414-1.c: New test. + +2023-09-15 Qing Zhao + + PR tree-optimization/111407 + * gcc.dg/pr111407.c: New test. + +2023-09-15 Lehua Ding + + * gcc.target/riscv/rvv/vsetvl/wredsum_vlmax.c: New test. + +2023-09-15 Juzhe-Zhong + + * gcc.dg/vect/slp-35.c: Block SLP check for vect_strided5 targets. + +2023-09-15 Juzhe-Zhong + + * gcc.dg/vect/slp-34.c: Block check for vect_strided5. + +2023-09-15 Juzhe-Zhong + + * gcc.dg/vect/slp-34-big-array.c: Block SLP check for vect_strided5. + +2023-09-15 Juzhe-Zhong + + * gcc.dg/vect/slp-16.c: Block vect_strided6. + * lib/target-supports.exp: Add strided type. + +2023-09-15 Juzhe-Zhong + + * gcc.dg/vect/slp-1.c: Add vect_stried5. + +2023-09-15 Juzhe-Zhong + + * gcc.dg/Wstringop-overflow-47.c: Add riscv. + +2023-09-15 Richard Sandiford + + PR target/111411 + * gcc.dg/rtl/aarch64/pr111411.c: New test. + +2023-09-15 Lehua Ding + + PR target/111381 + * gcc.target/riscv/rvv/autovec/widen/widen_reduc-1.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order-1.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order-2.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_run-1.c: New test. + +2023-09-14 David Malcolm + + * gcc.dg/plugin/diagnostic-test-paths-multithreaded-inline-events.c: + New test. + * gcc.dg/plugin/diagnostic-test-paths-multithreaded-sarif.c: New + test. + * gcc.dg/plugin/diagnostic-test-paths-multithreaded-separate-events.c: + New test. + * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Add support for + generating multithreaded paths. + * gcc.dg/plugin/plugin.exp: Add the new tests. + +2023-09-14 Gaius Mulley + + * gm2/switches/case/fail/subrangecase.mod: Replace 19 + with 17. + * gm2/switches/case/fail/subrangecase2.mod: Ditto. + * gm2/switches/case/fail/subrangecase3.mod: Ditto. + * gm2/switches/case/fail/subrangecase4.mod: Ditto. + * gm2/switches/case/pass/subrangecase.mod: Ditto. + * gm2/switches/case/pass/subrangecase2.mod: Ditto. + * gm2/switches/case/pass/subrangecase3.mod: Ditto. + * gm2/switches/case/pass/subrangecase4.mod: Ditto. + * gm2/switches/case/fail/calendar.mod: New test. + +2023-09-14 Gaius Mulley + + * gm2/switches/case/fail/subrangecase.mod: New test. + * gm2/switches/case/fail/subrangecase2.mod: New test. + * gm2/switches/case/fail/subrangecase3.mod: New test. + * gm2/switches/case/fail/subrangecase4.mod: New test. + * gm2/switches/case/fail/subrangecase5.mod: New test. + * gm2/switches/case/fail/subrangecase6.mod: New test. + * gm2/switches/case/pass/subrangecase.mod: New test. + * gm2/switches/case/pass/subrangecase2.mod: New test. + * gm2/switches/case/pass/subrangecase3.mod: New test. + * gm2/switches/case/pass/subrangecase4.mod: New test. + +2023-09-14 Richard Sandiford + + * gcc.target/aarch64/sve/cost_model_15.c: New test. + +2023-09-14 Andrew Pinski + + PR tree-optimization/106164 + * gcc.dg/pr21643.c: Update test now that match does + the combing of the comparisons. + * gcc.dg/tree-ssa/cmpbit-5.c: New test. + * gcc.dg/tree-ssa/phi-opt-35.c: New test. + +2023-09-14 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS tests. + * gcc.target/riscv/rvv/autovec/vls/cmp-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cmp-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cmp-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cmp-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cmp-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/cmp-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mask-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mask-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mask-3.c: New test. + +2023-09-14 Richard Biener + + PR tree-optimization/111294 + * gcc.dg/tree-ssa/evrp10.c: Adjust. + * gcc.dg/tree-ssa/evrp6.c: Likewise. + * gcc.dg/tree-ssa/forwprop-31.c: Likewise. + * gcc.dg/tree-ssa/neg-cast-3.c: Likewise. + +2023-09-14 Richard Sandiford + + * gcc.target/aarch64/sve/acle/general/ld1rq_1.c: New test. + +2023-09-14 Juzhe-Zhong + + PR target/111395 + * gcc.target/riscv/rvv/fortran/pr111395.f90: New test. + * gcc.target/riscv/rvv/rvv-fortran.exp: New test. + +2023-09-14 Lulu Cheng + + * gcc.target/loongarch/cmov_ii.c: New test. + +2023-09-14 Lulu Cheng + + PR target/111334 + * gcc.target/loongarch/pr111334.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvssran.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvssrani.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvssrarn.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvssrarni.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvssrln.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvssrlni.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvssrlrn.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvssrlrni.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvpackev.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvpackod.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvpickev.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvpickod.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvpickve.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvpickve2gr.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvreplgr2vr.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvreplve.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvreplve0.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvreplvei.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvshuf4i_b.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvext2xv-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvext2xv-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvexth-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvexth-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvextrins.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvilvh.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvilvl.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvinsgr2vr.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvinsve0.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvprem.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvpremi.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_saf_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_seq_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sle_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_slt_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sne_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sor_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_sun_s.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_caf_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_ceq_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cle_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_clt_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cne_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cor_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcmp_cun_s.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvabsd-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvabsd-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvavg-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvavg-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvavgr-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvavgr-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvbsll_v.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvbsrl_v.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvneg.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsat-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsat-2.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_d.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfnmadd_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfrstp.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfrstpi.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvhsubw-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvhsubw-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvld.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmsub.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvrotr.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvrotri.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvst.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvseq.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvseqi.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsle-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsle-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvslei-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvslei-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvslt-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvslt-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvslti-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvslti-2.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvffinth.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvftintl.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvfadd_d.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfadd_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfclass_d.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfclass_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvflogb_d.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvflogb_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfmadd_d.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfmadd_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfmax_d.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfmax_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_d.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfmaxa_s.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_d.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvfsqrt_s.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvldrepl.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvstelm.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-builtin.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvbitclr.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvbitclri.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvbitrev.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvbitrevi.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvbitsel.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvbitseli.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvbitset.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvbitseti.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvclo.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvclz.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvpcnt.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvextl-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvextl-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsra.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrai.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsran.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrani.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrar.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrari.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrarn.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrarni.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvsll.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvslli.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsllwil-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsllwil-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrl.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrli.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrln.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrlni.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrlr.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrlri.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrlrn.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsrlrni.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvand.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvandi.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvandn.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvnor.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvnori.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvor.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvori.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvorn.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvxor.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvxori.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvldi.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmskgez.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmskltz.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmsknz.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmuh-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmuh-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsigncov.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvmax-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmax-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmaxi-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmaxi-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmin-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmin-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmini-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmini-2.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvdiv-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvdiv-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmod-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmod-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmul.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmulwev-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmulwev-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmulwev-3.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmulwod-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmulwod-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmulwod-3.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvssub-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvssub-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsub.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsubi.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsubwev-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsubwev-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsubwod-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvhaddw-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvhaddw-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmadd.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmaddwev-3.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvmaddwod-3.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lasx/lasx-xvadd.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvadda.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvaddi.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvaddwev-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvaddwev-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvaddwev-3.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvaddwod-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvaddwod-2.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvaddwod-3.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsadd-1.c: New test. + * gcc.target/loongarch/vector/lasx/lasx-xvsadd-2.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vfmadd_d.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfmadd_s.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfnmadd_d.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfnmadd_s.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vld.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vst.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vand.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vandi.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vandn.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vnor.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vnori.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vor.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vori.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vorn.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vxor.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vxori.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vbsll.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vbsrl.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vextrins.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vilvh.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vilvl.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vinsgr2vr.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vpackev.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vpackod.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vpickev.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vpickod.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vpickve2gr.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vpremi.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vreplgr2vr.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vreplve.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vreplvei.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vshuf.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vshuf4i.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_caf.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_ceq.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cle.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_clt.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cne.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cor.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_cun.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_saf.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_seq.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sle.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_slt.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sne.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sor.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcmp_sun.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vfrstp.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfrstpi.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vseq.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vseqi.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsle-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsle-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vslei-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vslei-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vslt-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vslt-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vslti-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vslti-2.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vfadd_d.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfadd_s.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfclass_d.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfclass_s.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vflogb_d.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vflogb_s.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfmax_d.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfmax_s.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfmaxa_d.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfmaxa_s.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfsqrt_d.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfsqrt_s.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vbitclr.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vbitclri.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vbitrev.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vbitrevi.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vbitsel.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vbitseli.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vbitset.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vbitseti.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vclo.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vclz.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vpcnt.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vssran.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vssrani.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vssrarn.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vssrarni.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vssrln.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vssrlni.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vssrlrn.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vssrlrni.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vrotr.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vrotri.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsra.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrai.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsran.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrani.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrar.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrari.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrarn.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrarni.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vsll.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vslli.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsllwil-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsllwil-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrl.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrli.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrln.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrlni.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrlr.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrlri.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrlrn.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsrlrni.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vdiv-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vdiv-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmod-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmod-2.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vabsd-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vabsd-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmskgez.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmskltz.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmsknz.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsigncov.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vexth-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vexth-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vextl-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vextl-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vldi.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vneg.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsat-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsat-2.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vmax-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmax-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmaxi-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmaxi-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmin-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmin-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmini-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmini-2.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vavg-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vavg-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vavgr-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vavgr-2.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vmuh-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmuh-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmul.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmulwev-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmulwev-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmulwev-3.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmulwod-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmulwod-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmulwod-3.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vsadd-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsadd-2.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vhsubw-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vhsubw-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmsub.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vssub-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vssub-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsub.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsubi.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsubwev-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsubwev-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsubwod-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vsubwod-2.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vadd.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vadda.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vaddi.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vaddwev-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vaddwev-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vaddwev-3.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vaddwod-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vaddwod-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vaddwod-3.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vhaddw-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vhaddw-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmadd.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmaddwev-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmaddwev-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmaddwev-3.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmaddwod-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmaddwod-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vmaddwod-3.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-vfcvt-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfcvt-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vffint-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vffint-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vffint-3.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfrint_d.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vfrint_s.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vftint-1.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vftint-2.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vftint-3.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vftint-4.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/lsx/lsx-builtin.c: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/vector/loongarch-vector.exp: New test. + * gcc.target/loongarch/vector/simd_correctness_check.h: New test. + +2023-09-14 Xiaolong Chen + + * gcc.target/loongarch/strict-align.c: New test. + +2023-09-13 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add more def. + * gcc.target/riscv/rvv/autovec/vls/extract-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/extract-2.c: New test. + +2023-09-13 Andrew Pinski + + PR tree-optimization/111364 + * gcc.c-torture/execute/minmaxcmp-1.c: New test. + * gcc.dg/tree-ssa/minmaxcmp-2.c: New test. + * gcc.dg/pr96708-negative.c: Update testcase. + * gcc.dg/pr96708-positive.c: Add comment about `return 0`. + +2023-09-13 Richard Biener + + PR tree-optimization/111387 + * gcc.dg/torture/pr111387.c: New testcase. + +2023-09-13 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_mulh-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_mulh-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_mulh_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_mulh_run-2.c: New test. + +2023-09-13 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-3.c: New test. + +2023-09-13 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-run.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-template.h: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-zvfh-run.c: New test. + +2023-09-13 Richard Biener + + PR tree-optimization/111397 + * gcc.dg/uninit-pr111397.c: New testcase. + +2023-09-13 Pan Li + + PR target/111362 + * gcc.target/riscv/rvv/base/no-honor-frm-1.c: New test. + +2023-09-13 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/vector-abi-9.c: Removed. + +2023-09-13 Jiufu Guo + + PR tree-optimization/111303 + * gcc.dg/pr111303.c: New test. + +2023-09-12 Juzhe-Zhong + + * lib/target-supports.exp: Enable vect_int for RVV. + +2023-09-12 Jason Merrill + + PR c++/111357 + * g++.dg/ext/integer-pack7.C: New test. + +2023-09-12 Jason Merrill + + PR c++/107198 + * g++.dg/eh/no-exceptions1.C: New test. + +2023-09-12 Richard Sandiford + + * gcc.target/aarch64/stack-protector-8.c: New test. + * gcc.target/aarch64/stack-protector-9.c: Likewise. + +2023-09-12 Richard Sandiford + + * gcc.target/aarch64/sve/pcs/stack_clash_3.c: Avoid redundant probes. + +2023-09-12 Richard Sandiford + + * gcc.target/aarch64/stack-check-prologue-17.c: Expect the probe + to be at offset 1024 rather than offset 0. + * gcc.target/aarch64/stack-check-prologue-18.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-19.c: Likewise. + +2023-09-12 Richard Sandiford + + * gcc.target/aarch64/stack-check-prologue-18.c: New test. + * gcc.target/aarch64/stack-check-prologue-19.c: Likewise. + * gcc.target/aarch64/stack-check-prologue-20.c: Likewise. + +2023-09-12 Richard Sandiford + + * gcc.target/aarch64/stack-check-prologue-17.c: New test. + +2023-09-12 Andrew Pinski + + PR tree-optimization/107881 + * gcc.c-torture/execute/pr107881-1.c: New test. + * gcc.dg/tree-ssa/cmpeq-4.c: New test. + * gcc.dg/tree-ssa/cmpxor-1.c: New test. + +2023-09-12 Juzhe-Zhong + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-mixed-1.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-1.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-2.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-3.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-4.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-5.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-6.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-7.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-1.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-2.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-3.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-4.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-5.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-6.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-1.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-2.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-4.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-1.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-10.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-3.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-4.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-5.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-6.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-7.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-8.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/rvv-costmodel-vect.exp: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-9.c: New file. + +2023-09-12 Jakub Jelinek + + PR middle-end/111338 + * gcc.dg/bitint-37.c: New test. + +2023-09-12 Gaius Mulley + + * gm2/switches/case/fail/missingclause.mod: New test. + * gm2/switches/case/fail/switches-case-fail.exp: New test. + * gm2/switches/case/pass/enumcase.mod: New test. + * gm2/switches/case/pass/enumcase2.mod: New test. + * gm2/switches/case/pass/switches-case-pass.exp: New test. + +2023-09-12 Thomas Schwinge + + * lib/target-supports.exp (check_effective_target_stack_size): For + nvptx target, stack size limits are relevant for execution only. + +2023-09-12 Christoph Müllner + + * gcc.target/riscv/xtheadbb-strcmp.c: New test. + * gcc.target/riscv/zbb-strcmp-disabled-2.c: New test. + * gcc.target/riscv/zbb-strcmp-disabled.c: New test. + * gcc.target/riscv/zbb-strcmp-unaligned.c: New test. + * gcc.target/riscv/zbb-strcmp.c: New test. + * gcc.target/riscv/zbb-strcmp-limit.c: New file. + +2023-09-12 Christoph Müllner + + * gcc.target/riscv/xtheadbb-strlen-unaligned.c: New test. + * gcc.target/riscv/xtheadbb-strlen.c: New test. + * gcc.target/riscv/zbb-strlen-disabled-2.c: New test. + * gcc.target/riscv/zbb-strlen-disabled.c: New test. + * gcc.target/riscv/zbb-strlen-unaligned.c: New test. + * gcc.target/riscv/zbb-strlen.c: New test. + +2023-09-12 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_arith-1.c: Add vrem op. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-1.c: Moved to... + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-1.c: ...here. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-2.c: Moved to... + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-2.c: ...here. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-3.c: Moved to... + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-3.c: ...here. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-4.c: Moved to... + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-4.c: ...here. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-5.c: Moved to... + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-5.c: ...here. + * gcc.target/riscv/rvv/autovec/cond/cond_logical-1.c: Removed. + * gcc.target/riscv/rvv/autovec/cond/cond_logical-2.c: Removed. + * gcc.target/riscv/rvv/autovec/cond/cond_logical-3.c: Removed. + * gcc.target/riscv/rvv/autovec/cond/cond_logical-4.c: Removed. + * gcc.target/riscv/rvv/autovec/cond/cond_logical-5.c: Removed. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-6.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-7.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-8.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-9.c: New test. + +2023-09-12 Thomas Schwinge + + * lib/scanasm.exp (configure_check-function-bodies): New proc. + (parse_function_bodies, check-function-bodies): Use it. + +2023-09-12 Mikael Morin + + PR fortran/110996 + * gfortran.dg/pr110996.f90: New test. + +2023-09-12 Tobias Burnus + + * c-c++-common/gomp/allocate-5.c: Fix testcase; make some + dg-messages for 'sorry' as c++, only. + * c-c++-common/gomp/directive-1.c: Make a 'sorry' c++ only. + * c-c++-common/gomp/allocate-9.c: New test. + * c-c++-common/gomp/allocate-11.c: New test. + * c-c++-common/gomp/allocate-12.c: New test. + * c-c++-common/gomp/allocate-14.c: New test. + * c-c++-common/gomp/allocate-15.c: New test. + * c-c++-common/gomp/allocate-16.c: New test. + +2023-09-12 xuli + + * gcc.target/riscv/rvv/base/tuple_create.c: New test. + +2023-09-12 Fei Gao + + * gcc.target/riscv/rv32e_zcmp.c: remove -fno-shrink-wrap-separate + * gcc.target/riscv/rv32i_zcmp.c: likewise + * gcc.target/riscv/zcmp_push_fpr.c: likewise + * gcc.target/riscv/zcmp_stack_alignment.c: likewise + * gcc.target/riscv/zcmp_shrink_wrap_separate.c: New test. + * gcc.target/riscv/zcmp_shrink_wrap_separate2.c: New test. + +2023-09-11 Andrew Pinski + + PR tree-optimization/111348 + * gcc.dg/tree-ssa/minmax-26.c: New test. + +2023-09-11 Uros Bizjak + + PR target/111340 + * gcc.target/i386/pr111340.c: New test. + +2023-09-11 Andrew Pinski + + PR tree-optimization/111349 + * gcc.dg/tree-ssa/minmax-25.c: New test. + +2023-09-11 Juzhe-Zhong + + PR target/111311 + * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Adapt test. + * gcc.target/riscv/rvv/autovec/partial/slp-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/compress-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/compress-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/compress-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/compress-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/compress-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/compress-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/merge-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/merge-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/merge-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/merge-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/merge-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/merge-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/merge-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/perm-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/perm-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/perm-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/perm-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/perm-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/perm-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/perm-7.c: New test. + +2023-09-11 Andrew Pinski + + PR tree-optimization/111346 + * gcc.dg/tree-ssa/minmaxcmp-1.c: New test. + +2023-09-11 liuhongt + + * gcc.target/i386/pr111306.c: New test. + +2023-09-10 Andrew Pinski + + PR tree-optimization/111331 + * gcc.c-torture/execute/pr111331-1.c: New test. + * gcc.c-torture/execute/pr111331-2.c: New test. + * gcc.c-torture/execute/pr111331-3.c: New test. + +2023-09-09 benjamin priour + + PR analyzer/96395 + * gcc.dg/analyzer/allocation-size-1.c: Moved to... + * c-c++-common/analyzer/allocation-size-1.c: ...here. + * gcc.dg/analyzer/allocation-size-2.c: Moved to... + * c-c++-common/analyzer/allocation-size-2.c: ...here. + * gcc.dg/analyzer/allocation-size-3.c: Moved to... + * c-c++-common/analyzer/allocation-size-3.c: ...here. + * gcc.dg/analyzer/allocation-size-4.c: Moved to... + * c-c++-common/analyzer/allocation-size-4.c: ...here. + * gcc.dg/analyzer/analyzer-verbosity-0.c: Moved to... + * c-c++-common/analyzer/analyzer-verbosity-0.c: ...here. + * gcc.dg/analyzer/analyzer-verbosity-1.c: Moved to... + * c-c++-common/analyzer/analyzer-verbosity-1.c: ...here. + * gcc.dg/analyzer/analyzer-verbosity-2.c: Moved to... + * c-c++-common/analyzer/analyzer-verbosity-2.c: ...here. + * gcc.dg/analyzer/analyzer-verbosity-3.c: Moved to... + * c-c++-common/analyzer/analyzer-verbosity-3.c: ...here. + * gcc.dg/analyzer/attr-alloc_size-1.c: Moved to... + * c-c++-common/analyzer/attr-alloc_size-1.c: ...here. + * gcc.dg/analyzer/attr-alloc_size-2.c: Moved to... + * c-c++-common/analyzer/attr-alloc_size-2.c: ...here. + * gcc.dg/analyzer/call-summaries-malloc.c: Moved to... + * c-c++-common/analyzer/call-summaries-malloc.c: ...here. + * gcc.dg/analyzer/call-summaries-pr107158-2.c: Moved to... + * c-c++-common/analyzer/call-summaries-pr107158-2.c: ...here. + * gcc.dg/analyzer/capacity-1.c: Moved to... + * c-c++-common/analyzer/capacity-1.c: ...here. + * gcc.dg/analyzer/dot-output.c: Moved to... + * c-c++-common/analyzer/dot-output.c: ...here. + * gcc.dg/analyzer/escaping-1.c: Moved to... + * c-c++-common/analyzer/escaping-1.c: ...here. + * gcc.dg/analyzer/expect-1.c: Moved to... + * c-c++-common/analyzer/expect-1.c: ...here. + * gcc.dg/analyzer/fgets-1.c: Moved to... + * c-c++-common/analyzer/fgets-1.c: ...here. + * gcc.dg/analyzer/file-uninit-1.c: Moved to... + * c-c++-common/analyzer/file-uninit-1.c: ...here. + * gcc.dg/analyzer/fileno-1.c: Moved to... + * c-c++-common/analyzer/fileno-1.c: ...here. + * gcc.dg/analyzer/first-field-1.c: Moved to... + * c-c++-common/analyzer/first-field-1.c: ...here. + * gcc.dg/analyzer/first-field-2.c: Moved to... + * c-c++-common/analyzer/first-field-2.c: ...here. + * gcc.dg/analyzer/flex-with-call-summaries.c: Moved to... + * c-c++-common/analyzer/flex-with-call-summaries.c: ...here. + * gcc.dg/analyzer/flex-without-call-summaries.c: Moved to... + * c-c++-common/analyzer/flex-without-call-summaries.c: ...here. + * gcc.dg/analyzer/flexible-array-member-1.c: Moved to... + * c-c++-common/analyzer/flexible-array-member-1.c: ...here. + * gcc.dg/analyzer/fold-string-to-char.c: Moved to... + * c-c++-common/analyzer/fold-string-to-char.c: ...here. + * gcc.dg/analyzer/fread-1.c: Moved to... + * c-c++-common/analyzer/fread-1.c: ...here. + * gcc.dg/analyzer/fread-2.c: Moved to... + * c-c++-common/analyzer/fread-2.c: ...here. + * gcc.dg/analyzer/fread-pr108661.c: Moved to... + * c-c++-common/analyzer/fread-pr108661.c: ...here. + * gcc.dg/analyzer/function-ptr-1.c: Moved to... + * c-c++-common/analyzer/function-ptr-1.c: ...here. + * gcc.dg/analyzer/function-ptr-2.c: Moved to... + * c-c++-common/analyzer/function-ptr-2.c: ...here. + * gcc.dg/analyzer/function-ptr-3.c: Moved to... + * c-c++-common/analyzer/function-ptr-3.c: ...here. + * gcc.dg/analyzer/function-ptr-4.c: Moved to... + * c-c++-common/analyzer/function-ptr-4.c: ...here. + * gcc.dg/analyzer/getc-1.c: Moved to... + * c-c++-common/analyzer/getc-1.c: ...here. + * gcc.dg/analyzer/getchar-1.c: Moved to... + * c-c++-common/analyzer/getchar-1.c: ...here. + * gcc.dg/analyzer/gzio-2.c: Moved to... + * c-c++-common/analyzer/gzio-2.c: ...here. + * gcc.dg/analyzer/gzio-3.c: Moved to... + * c-c++-common/analyzer/gzio-3.c: ...here. + * gcc.dg/analyzer/gzio-3a.c: Moved to... + * c-c++-common/analyzer/gzio-3a.c: ...here. + * gcc.dg/analyzer/gzio.c: Moved to... + * c-c++-common/analyzer/gzio.c: ...here. + * gcc.dg/analyzer/imprecise-floating-point-1.c: Moved to... + * c-c++-common/analyzer/imprecise-floating-point-1.c: ...here. + * gcc.dg/analyzer/infinite-recursion-2.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-2.c: ...here. + * gcc.dg/analyzer/infinite-recursion-3.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-3.c: ...here. + * gcc.dg/analyzer/infinite-recursion-4-limited-buggy.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-4-limited-buggy.c: ...here. + * gcc.dg/analyzer/infinite-recursion-4-limited.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-4-limited.c: ...here. + * gcc.dg/analyzer/infinite-recursion-4-unlimited-buggy.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-4-unlimited-buggy.c: ...here. + * gcc.dg/analyzer/infinite-recursion-4-unlimited.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-4-unlimited.c: ...here. + * gcc.dg/analyzer/infinite-recursion-5.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-5.c: ...here. + * gcc.dg/analyzer/infinite-recursion-alloca.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-alloca.c: ...here. + * gcc.dg/analyzer/infinite-recursion-inlining.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-inlining.c: ...here. + * gcc.dg/analyzer/infinite-recursion-multiline-1.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-multiline-1.c: ...here. + * gcc.dg/analyzer/infinite-recursion-multiline-2.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-multiline-2.c: ...here. + * gcc.dg/analyzer/infinite-recursion-pr108935-1.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-pr108935-1.c: ...here. + * gcc.dg/analyzer/infinite-recursion-pr108935-1a.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-pr108935-1a.c: ...here. + * gcc.dg/analyzer/infinite-recursion-pr108935-2.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-pr108935-2.c: ...here. + * gcc.dg/analyzer/infinite-recursion-variadic.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-variadic.c: ...here. + * gcc.dg/analyzer/infinite-recursion.c: Moved to... + * c-c++-common/analyzer/infinite-recursion.c: ...here. + * gcc.dg/analyzer/inlining-1-multiline.c: Moved to... + * c-c++-common/analyzer/inlining-1-multiline.c: ...here. + * gcc.dg/analyzer/inlining-1-no-undo.c: Moved to... + * c-c++-common/analyzer/inlining-1-no-undo.c: ...here. + * gcc.dg/analyzer/inlining-2-multiline.c: Moved to... + * c-c++-common/analyzer/inlining-2-multiline.c: ...here. + * gcc.dg/analyzer/inlining-5-multiline.c: Moved to... + * c-c++-common/analyzer/inlining-5-multiline.c: ...here. + * gcc.dg/analyzer/inlining-6-multiline.c: Moved to... + * c-c++-common/analyzer/inlining-6-multiline.c: ...here. + * gcc.dg/analyzer/inlining-6.c: Moved to... + * c-c++-common/analyzer/inlining-6.c: ...here. + * gcc.dg/analyzer/inlining-7-multiline.c: Moved to... + * c-c++-common/analyzer/inlining-7-multiline.c: ...here. + * gcc.dg/analyzer/invalid-shift-1.c: Moved to... + * c-c++-common/analyzer/invalid-shift-1.c: ...here. + * gcc.dg/analyzer/isatty-1.c: Moved to... + * c-c++-common/analyzer/isatty-1.c: ...here. + * gcc.dg/analyzer/leak-2.c: Moved to... + * c-c++-common/analyzer/leak-2.c: ...here. + * gcc.dg/analyzer/leak-3.c: Moved to... + * c-c++-common/analyzer/leak-3.c: ...here. + * gcc.dg/analyzer/leak-4.c: Moved to... + * c-c++-common/analyzer/leak-4.c: ...here. + * gcc.dg/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: Moved to... + * c-c++-common/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: ...here. + * gcc.dg/analyzer/loop-0-up-to-n-by-1.c: Moved to... + * c-c++-common/analyzer/loop-0-up-to-n-by-1.c: ...here. + * gcc.dg/analyzer/loop-2.c: Moved to... + * c-c++-common/analyzer/loop-2.c: ...here. + * gcc.dg/analyzer/loop-2a.c: Moved to... + * c-c++-common/analyzer/loop-2a.c: ...here. + * gcc.dg/analyzer/loop-3.c: Moved to... + * c-c++-common/analyzer/loop-3.c: ...here. + * gcc.dg/analyzer/loop-4.c: Moved to... + * c-c++-common/analyzer/loop-4.c: ...here. + * gcc.dg/analyzer/loop-n-down-to-1-by-1.c: Moved to... + * c-c++-common/analyzer/loop-n-down-to-1-by-1.c: ...here. + * gcc.dg/analyzer/loop-start-down-to-end-by-1.c: Moved to... + * c-c++-common/analyzer/loop-start-down-to-end-by-1.c: ...here. + * gcc.dg/analyzer/loop-start-down-to-end-by-step.c: Moved to... + * c-c++-common/analyzer/loop-start-down-to-end-by-step.c: ...here. + * gcc.dg/analyzer/loop-start-to-end-by-step.c: Moved to... + * c-c++-common/analyzer/loop-start-to-end-by-step.c: ...here. + * gcc.dg/analyzer/loop-start-up-to-end-by-1.c: Moved to... + * c-c++-common/analyzer/loop-start-up-to-end-by-1.c: ...here. + * gcc.dg/analyzer/loop.c: Moved to... + * c-c++-common/analyzer/loop.c: ...here. + * gcc.dg/analyzer/malloc-3.c: Moved to... + * c-c++-common/analyzer/malloc-3.c: ...here. + * gcc.dg/analyzer/malloc-5.c: Moved to... + * c-c++-common/analyzer/malloc-5.c: ...here. + * gcc.dg/analyzer/malloc-CWE-401-example.c: Moved to... + * c-c++-common/analyzer/malloc-CWE-401-example.c: ...here. + * gcc.dg/analyzer/malloc-CWE-415-examples.c: Moved to... + * c-c++-common/analyzer/malloc-CWE-415-examples.c: ...here. + * gcc.dg/analyzer/malloc-CWE-416-examples.c: Moved to... + * c-c++-common/analyzer/malloc-CWE-416-examples.c: ...here. + * gcc.dg/analyzer/malloc-CWE-590-examples.c: Moved to... + * c-c++-common/analyzer/malloc-CWE-590-examples.c: ...here. + * gcc.dg/analyzer/malloc-callbacks.c: Moved to... + * c-c++-common/analyzer/malloc-callbacks.c: ...here. + * gcc.dg/analyzer/malloc-dce.c: Moved to... + * c-c++-common/analyzer/malloc-dce.c: ...here. + * gcc.dg/analyzer/malloc-dedupe-1.c: Moved to... + * c-c++-common/analyzer/malloc-dedupe-1.c: ...here. + * gcc.dg/analyzer/malloc-in-loop.c: Moved to... + * c-c++-common/analyzer/malloc-in-loop.c: ...here. + * gcc.dg/analyzer/malloc-ipa-1.c: Moved to... + * c-c++-common/analyzer/malloc-ipa-1.c: ...here. + * gcc.dg/analyzer/malloc-ipa-11.c: Moved to... + * c-c++-common/analyzer/malloc-ipa-11.c: ...here. + * gcc.dg/analyzer/malloc-ipa-2.c: Moved to... + * c-c++-common/analyzer/malloc-ipa-2.c: ...here. + * gcc.dg/analyzer/malloc-ipa-3.c: Moved to... + * c-c++-common/analyzer/malloc-ipa-3.c: ...here. + * gcc.dg/analyzer/malloc-ipa-4.c: Moved to... + * c-c++-common/analyzer/malloc-ipa-4.c: ...here. + * gcc.dg/analyzer/malloc-ipa-5.c: Moved to... + * c-c++-common/analyzer/malloc-ipa-5.c: ...here. + * gcc.dg/analyzer/malloc-ipa-6.c: Moved to... + * c-c++-common/analyzer/malloc-ipa-6.c: ...here. + * gcc.dg/analyzer/malloc-ipa-7.c: Moved to... + * c-c++-common/analyzer/malloc-ipa-7.c: ...here. + * gcc.dg/analyzer/malloc-ipa-8-unchecked.c: Moved to... + * c-c++-common/analyzer/malloc-ipa-8-unchecked.c: ...here. + * gcc.dg/analyzer/malloc-macro-inline-events.c: Moved to... + * c-c++-common/analyzer/malloc-macro-inline-events.c: ...here. + * gcc.dg/analyzer/malloc-macro-separate-events.c: Moved to... + * c-c++-common/analyzer/malloc-macro-separate-events.c: ...here. + * gcc.dg/analyzer/malloc-macro.h: Moved to... + * c-c++-common/analyzer/malloc-macro.h: ...here. + * gcc.dg/analyzer/null-deref-pr108400-SoftEtherVPN-WebUi.c: Moved to... + * c-c++-common/analyzer/null-deref-pr108400-SoftEtherVPN-WebUi.c: ...here. + * gcc.dg/analyzer/out-of-bounds-1.c: Moved to... + * c-c++-common/analyzer/out-of-bounds-1.c: ...here. + * gcc.dg/analyzer/out-of-bounds-2.c: Moved to... + * c-c++-common/analyzer/out-of-bounds-2.c: ...here. + * gcc.dg/analyzer/out-of-bounds-5.c: Moved to... + * c-c++-common/analyzer/out-of-bounds-5.c: ...here. + * gcc.dg/analyzer/out-of-bounds-diagram-11.c: Moved to... + * c-c++-common/analyzer/out-of-bounds-diagram-11.c: ...here. + * gcc.dg/analyzer/out-of-bounds-diagram-3.c: Moved to... + * c-c++-common/analyzer/out-of-bounds-diagram-3.c: ...here. + * gcc.dg/analyzer/out-of-bounds-diagram-8.c: Moved to... + * c-c++-common/analyzer/out-of-bounds-diagram-8.c: ...here. + * gcc.dg/analyzer/phi-1.c: Moved to... + * c-c++-common/analyzer/phi-1.c: ...here. + * gcc.dg/analyzer/pr100615.c: Moved to... + * c-c++-common/analyzer/pr100615.c: ...here. + * gcc.dg/analyzer/pr103526.c: Moved to... + * c-c++-common/analyzer/pr103526.c: ...here. + * gcc.dg/analyzer/pr94362-1.c: Moved to... + * c-c++-common/analyzer/pr94362-1.c: ...here. + * gcc.dg/analyzer/pr97074.c: Moved to... + * c-c++-common/analyzer/pr97074.c: ...here. + * c-c++-common/analyzer/pr99193-2.c: Added include. + * c-c++-common/analyzer/realloc-1.c: Added include. + * gcc.dg/analyzer/scope-1.c: Moved to... + * c-c++-common/analyzer/scope-1.c: ...here. + * gcc.dg/analyzer/setjmp-2.c: Moved to... + * c-c++-common/analyzer/setjmp-2.c: ...here. + * gcc.dg/analyzer/setjmp-5.c: Moved to... + * c-c++-common/analyzer/setjmp-5.c: ...here. + * gcc.dg/analyzer/setjmp-9.c: Moved to... + * c-c++-common/analyzer/setjmp-9.c: ...here. + * gcc.dg/analyzer/signal-4a.c: Moved to... + * c-c++-common/analyzer/signal-4a.c: ...here. + * gcc.dg/analyzer/signal-4b.c: Moved to... + * c-c++-common/analyzer/signal-4b.c: ...here. + * gcc.dg/analyzer/file-pr58237.c: C only. + * gcc.dg/analyzer/fopen-1.c: C only. + * gcc.dg/analyzer/malloc-4.c: C only. + * gcc.dg/analyzer/malloc-paths-9.c: C only. + * gcc.dg/analyzer/pr103892.c: C only. + * gcc.dg/analyzer/pr109577.c: C only. + * gcc.dg/analyzer/pr93355-localealias-feasibility.c: C only. + * gcc.dg/analyzer/pr99193-1.c: C only. + * gcc.dg/analyzer/compound-assignment-1.c: Removed. + * gcc.dg/analyzer/inlining-1.c: Removed. + * gcc.dg/analyzer/inlining-2.c: Removed. + * gcc.dg/analyzer/inlining-5.c: Removed. + * gcc.dg/analyzer/inlining-7.c: Removed. + * c-c++-common/analyzer/compound-assignment-1.c: New test. + * c-c++-common/analyzer/file-pr58237-noexcept.c: Duplicate of + gcc.dg/analyzer/file-pr58237.c with exceptions disabled. + * c-c++-common/analyzer/fopen-2.c: C++ compatible parts from + gcc.dg/analyzer/fopen-1.c. + * c-c++-common/analyzer/inlining-1.c: New test. + * c-c++-common/analyzer/inlining-2.c: New test. + * c-c++-common/analyzer/inlining-5.c: New test. + * c-c++-common/analyzer/inlining-7.c: New test. + * c-c++-common/analyzer/malloc-paths-9-noexcept.c: Duplicate of + gcc.dg/analyzer/malloc-paths-9.c with exceptions disabled. + * c-c++-common/analyzer/pr109577-noexcept.c: Duplicate of + gcc.dg/analyzer/pr109577.c with exceptions disabled. + * c-c++-common/analyzer/pr93355-localealias-feasibility-noexcept.c: + Duplicate of gcc.dg/analyzer/pr93355-localealias-feasibility.c with + exceptions disabled. + * c-c++-common/analyzer/pr99193-1-noexcept.c: Duplicate of + gcc.dg/analyzer/pr99193-1.c with exceptions disabled. + +2023-09-09 Xi Ruoyao + + * gcc.target/loongarch/memcpy-vec-3.c: Increase the amount of + copied bytes to 32. + +2023-09-09 Lulu Cheng + + * gcc.target/loongarch/mulw_d_wu.c: New test. + * gcc.target/loongarch/smuldi3_highpart.c: New test. + * gcc.target/loongarch/smulsi3_highpart.c: New test. + * gcc.target/loongarch/umulsi3_highpart.c: New test. + +2023-09-09 Xi Ruoyao + + * gcc.target/loongarch/memcpy-vec-1.c: New test. + * gcc.target/loongarch/memcpy-vec-2.c: New test. + * gcc.target/loongarch/memcpy-vec-3.c: New test. + +2023-09-09 Lehua Ding + + * gcc.target/riscv/rvv/autovec/vls/div-1.c: Adjust. + * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Adjust. + * gcc.target/riscv/rvv/autovec/fold-min-poly.c: New test. + +2023-09-08 Francois-Xavier Coudert + + * gcc.dg/darwin-segaddr.c: Adjust for darwin linker warning. + * gcc.dg/pie-7.c: Likewise. + +2023-09-08 Patrick Palka + + PR c++/99599 + * g++.dg/cpp2a/concepts-recursive-sat4.C: Make 'Int' non-aggregate + in order to preserve intent of the testcase. + * g++.dg/cpp2a/concepts-nondep4.C: New test. + +2023-09-08 Christoph Müllner + + * gcc.target/riscv/xtheadbb-ext-2.c: New test. + * gcc.target/riscv/xtheadbb-ext-3.c: New test. + +2023-09-07 David Malcolm + + PR analyzer/110529 + * c-c++-common/analyzer/computed-goto-1.c: New test. + * gcc.dg/analyzer/computed-goto-pr110529.c: New test. + +2023-09-07 benjamin priour + David Malcolm + + PR analyzer/110830 + * c-c++-common/analyzer/pr110830.c: New test. + +2023-09-07 Andrew MacLeod + + PR tree-optimization/110875 + * gcc.dg/pr110875.c: New. + +2023-09-07 Sandra Loosemore + + PR c++/111274 + * g++.dg/gomp/pr111274.C: New test case. + +2023-09-07 Vladimir N. Makarov + + PR target/111225 + * gcc.target/i386/pr111225.c: New test. + +2023-09-07 David Malcolm + + * rust/compile/bad_as_bool_char.rs: Add error code to testcase. + +2023-09-07 Xi Ruoyao + + * g++.target/loongarch/bstrins-compile.C: New test. + * g++.target/loongarch/bstrins-run.C: New test. + +2023-09-07 Juzhe-Zhong + + PR target/111313 + * gcc.target/riscv/rvv/vsetvl/avl_single-13.c: Adapt test. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-17.c: Skip check for O1. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-18.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-19.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-20.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/pr111313.c: New test. + +2023-09-07 Tsukasa OI + + * gcc.target/riscv/xventanacondops-primitiveSemantics.c: New test, + * gcc.target/riscv/xventanacondops-primitiveSemantics-rv32.c: New + test to make sure that XVentanaCondOps instructions are disabled + on RV32. + * gcc.target/riscv/xventanacondops-xor-01.c: New test, + +2023-09-06 Ian Lance Taylor + + PR go/111310 + * gcc.misc-tests/godump-1.c: Add _BitInt test cases. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * gcc.dg/bitint-2.c (foo): Add tests for constexpr var or enumerator + arguments of _BitInt. + * gcc.dg/bitint-31.c: Remove forgotten 0 &&. + * gcc.dg/bitint-32.c: New test. + * gcc.dg/bitint-33.c: New test. + * gcc.dg/bitint-34.c: New test. + * gcc.dg/bitint-35.c: New test. + * gcc.dg/bitint-36.c: New test. + * gcc.dg/fixed-point/bitint-1.c: New test. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * gcc.dg/torture/bitint-21.c (main): Add tests for -1 for signed only, + -1 + epsilon, another (-1, 0) range value and -0. + * gcc.dg/torture/bitint-22.c (main): Likewise. + * gcc.dg/bitint-28.c: New test. + * gcc.dg/bitint-29.c: New test. + * gcc.dg/bitint-30.c: New test. + * gcc.dg/bitint-31.c: New test. + * gcc.dg/dfp/bitint-1.c (main): Add tests for -1 for signed only, + -1 + epsilon and -0. + * gcc.dg/dfp/bitint-2.c (main): Likewise. + * gcc.dg/dfp/bitint-3.c (main): Likewise. + * gcc.dg/dfp/bitint-7.c: New test. + * gcc.dg/dfp/bitint-8.c: New test. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * gcc.dg/bitint-19.c: New test. + * gcc.dg/bitint-20.c: New test. + * gcc.dg/bitint-21.c: New test. + * gcc.dg/bitint-22.c: New test. + * gcc.dg/bitint-23.c: New test. + * gcc.dg/bitint-24.c: New test. + * gcc.dg/bitint-25.c: New test. + * gcc.dg/bitint-26.c: New test. + * gcc.dg/bitint-27.c: New test. + * g++.dg/ext/bitint1.C: New test. + * g++.dg/ext/bitint2.C: New test. + * g++.dg/ext/bitint3.C: New test. + * g++.dg/ext/bitint4.C: New test. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * gcc.dg/torture/bitint-20.c: New test. + * gcc.dg/torture/bitint-21.c: New test. + * gcc.dg/torture/bitint-22.c: New test. + * gcc.dg/torture/bitint-23.c: New test. + * gcc.dg/torture/bitint-24.c: New test. + * gcc.dg/torture/bitint-25.c: New test. + * gcc.dg/torture/bitint-26.c: New test. + * gcc.dg/torture/bitint-27.c: New test. + * gcc.dg/torture/bitint-28.c: New test. + * gcc.dg/torture/bitint-29.c: New test. + * gcc.dg/torture/bitint-30.c: New test. + * gcc.dg/torture/bitint-31.c: New test. + * gcc.dg/torture/bitint-32.c: New test. + * gcc.dg/torture/bitint-33.c: New test. + * gcc.dg/torture/bitint-34.c: New test. + * gcc.dg/torture/bitint-35.c: New test. + * gcc.dg/torture/bitint-36.c: New test. + * gcc.dg/torture/bitint-37.c: New test. + * gcc.dg/torture/bitint-38.c: New test. + * gcc.dg/torture/bitint-39.c: New test. + * gcc.dg/torture/bitint-40.c: New test. + * gcc.dg/torture/bitint-41.c: New test. + * gcc.dg/torture/bitint-42.c: New test. + * gcc.dg/atomic/stdatomic-bitint-1.c: New test. + * gcc.dg/atomic/stdatomic-bitint-2.c: New test. + * gcc.dg/dfp/bitint-1.c: New test. + * gcc.dg/dfp/bitint-2.c: New test. + * gcc.dg/dfp/bitint-3.c: New test. + * gcc.dg/dfp/bitint-4.c: New test. + * gcc.dg/dfp/bitint-5.c: New test. + * gcc.dg/dfp/bitint-6.c: New test. + * gcc.dg/ubsan/bitint-1.c: New test. + * gcc.dg/ubsan/bitint-2.c: New test. + * gcc.dg/ubsan/bitint-3.c: New test. + +2023-09-06 Jakub Jelinek + + PR c/102989 + * lib/target-supports.exp (check_effective_target_bitint, + check_effective_target_bitint128, check_effective_target_bitint575): + New effective targets. + * gcc.dg/bitint-1.c: New test. + * gcc.dg/bitint-2.c: New test. + * gcc.dg/bitint-3.c: New test. + * gcc.dg/bitint-4.c: New test. + * gcc.dg/bitint-5.c: New test. + * gcc.dg/bitint-6.c: New test. + * gcc.dg/bitint-7.c: New test. + * gcc.dg/bitint-8.c: New test. + * gcc.dg/bitint-9.c: New test. + * gcc.dg/bitint-10.c: New test. + * gcc.dg/bitint-11.c: New test. + * gcc.dg/bitint-12.c: New test. + * gcc.dg/bitint-13.c: New test. + * gcc.dg/bitint-14.c: New test. + * gcc.dg/bitint-15.c: New test. + * gcc.dg/bitint-16.c: New test. + * gcc.dg/bitint-17.c: New test. + * gcc.dg/bitint-18.c: New test. + * gcc.dg/torture/bitint-1.c: New test. + * gcc.dg/torture/bitint-2.c: New test. + * gcc.dg/torture/bitint-3.c: New test. + * gcc.dg/torture/bitint-4.c: New test. + * gcc.dg/torture/bitint-5.c: New test. + * gcc.dg/torture/bitint-6.c: New test. + * gcc.dg/torture/bitint-7.c: New test. + * gcc.dg/torture/bitint-8.c: New test. + * gcc.dg/torture/bitint-9.c: New test. + * gcc.dg/torture/bitint-10.c: New test. + * gcc.dg/torture/bitint-11.c: New test. + * gcc.dg/torture/bitint-12.c: New test. + * gcc.dg/torture/bitint-13.c: New test. + * gcc.dg/torture/bitint-14.c: New test. + * gcc.dg/torture/bitint-15.c: New test. + * gcc.dg/torture/bitint-16.c: New test. + * gcc.dg/torture/bitint-17.c: New test. + * gcc.dg/torture/bitint-18.c: New test. + * gcc.dg/torture/bitint-19.c: New test. + +2023-09-06 Juzhe-Zhong + + PR target/111296 + * g++.target/riscv/rvv/base/pr111296.C: New test. + +2023-09-06 Juzhe-Zhong + + PR target/111295 + * gcc.target/riscv/rvv/autovec/pr111295.c: New test. + +2023-09-06 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/slp-9.c: Adapt test. + * gcc.target/riscv/rvv/autovec/zve32f_zvl1024b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f_zvl2048b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f_zvl256b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f_zvl4096b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f_zvl512b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl1024b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl2048b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl256b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl4096b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl512b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64d-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64f-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64x-1.c: Ditto. + +2023-09-06 David Malcolm + + PR analyzer/105899 + * c-c++-common/analyzer/strstr-1.c: New test. + +2023-09-06 David Malcolm + + PR analyzer/105899 + * c-c++-common/analyzer/null-terminated-strings-2.c: New test. + * c-c++-common/analyzer/overlapping-buffers.c: Update dg-bogus + directives to avoid clashing with note from that might + happen to have the same line number. Add strpncpy test coverage. + * c-c++-common/analyzer/strncpy-1.c: New test. + * gcc.dg/analyzer/null-terminated-strings-1.c + (test_filled_nonzero): New. + (void test_filled_zero): New. + (test_filled_symbolic): New. + +2023-09-06 David Malcolm + + * gcc.dg/plugin/analyzer_cpython_plugin.c: Pass ctxt to + zero_fill_region. + +2023-09-06 Pan Li + + * gcc.target/riscv/rvv/intrisinc-vrgatherei16.c: Moved to... + * gcc.target/riscv/rvv/base/intrisinc-vrgatherei16.c: ...here. + +2023-09-06 Christoph Müllner + + * gcc.target/riscv/xtheadbb-li-rotr.c: Don't run for RV32. + +2023-09-06 Lehua Ding + + PR target/111232 + * gcc.target/riscv/rvv/autovec/widen/widen-4.c: Add more testcases. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/pr111232.c: New test. + +2023-09-06 Lehua Ding + + * gcc.target/riscv/rvv/base/abi-call-variant_cc.c: New test. + +2023-09-06 Lehua Ding + + * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-1.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-2.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-save-restore.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-zcmp.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-1.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-2-save-restore.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-2-zcmp.c: New test. + * gcc.target/riscv/rvv/base/abi-callee-saved-2.c: New test. + +2023-09-06 Lehua Ding + + * gcc.target/riscv/rvv/base/abi-call-args-1-run.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-1.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-2-run.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-2.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-3-run.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-3.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-4-run.c: New test. + * gcc.target/riscv/rvv/base/abi-call-args-4.c: New test. + * gcc.target/riscv/rvv/base/abi-call-error-1.c: New test. + * gcc.target/riscv/rvv/base/abi-call-return-run.c: New test. + * gcc.target/riscv/rvv/base/abi-call-return.c: New test. + +2023-09-06 Jakub Jelinek + + * gcc.dg/c11-floatn-1.c: New test. + * gcc.dg/c11-floatn-2.c: New test. + * gcc.dg/c11-floatn-3.c: New test. + * gcc.dg/c11-floatn-4.c: New test. + * gcc.dg/c11-floatn-5.c: New test. + * gcc.dg/c11-floatn-6.c: New test. + * gcc.dg/c11-floatn-7.c: New test. + * gcc.dg/c11-floatn-8.c: New test. + * gcc.dg/c2x-floatn-1.c: New test. + * gcc.dg/c2x-floatn-2.c: New test. + * gcc.dg/c2x-floatn-3.c: New test. + * gcc.dg/c2x-floatn-4.c: New test. + * gcc.dg/c2x-floatn-5.c: New test. + * gcc.dg/c2x-floatn-6.c: New test. + * gcc.dg/c2x-floatn-7.c: New test. + * gcc.dg/c2x-floatn-8.c: New test. + +2023-09-06 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-2.c: New test. + +2023-09-06 Jason Merrill + + * g++.dg/abi/no_unique_address8.C: New test. + * g++.dg/abi/no_unique_address8a.C: New test. + +2023-09-06 Tsukasa OI + + * gcc.target/riscv/zicond-ice-2.c: New test. This is based on + an ICE at libat_lock_n func on gcc/libatomic/config/posix/lock.c + but heavily minimized. + +2023-09-05 Christoph Müllner + + * gcc.target/riscv/xtheadbb-li-rotr.c: New tests. + * gcc.target/riscv/zbb-li-rotr.c: Likewise. + +2023-09-05 Andrew Pinski + + PR tree-optimization/98710 + * gcc.dg/tree-ssa/andor-7.c: New test. + * gcc.dg/tree-ssa/andor-8.c: New test. + +2023-09-05 Andrew Pinski + + PR tree-optimization/103536 + * gcc.dg/tree-ssa/andor-6.c: New test. + * gcc.dg/tree-ssa/andor-bool-1.c: New test. + +2023-09-05 Andrew Pinski + + PR tree-optimization/107137 + * gcc.dg/tree-ssa/neg-cast-2.c: New test. + * gcc.dg/tree-ssa/neg-cast-3.c: New test. + +2023-09-05 Andrew Pinski + + PR tree-optimization/96694 + * gcc.dg/tree-ssa/minmax-24.c: New test. + +2023-09-05 Andrew Pinski + + PR tree-optimization/105832 + * gcc.dg/tree-ssa/pr105832-1.c: New test. + * gcc.dg/tree-ssa/pr105832-2.c: New test. + * gcc.dg/tree-ssa/pr105832-3.c: New test. + +2023-09-05 Marek Polacek + + PR c++/91483 + * g++.dg/diagnostic/constexpr3.C: New test. + +2023-09-05 Christoph Müllner + + * gcc.target/riscv/xtheadbb-li-rotr.c: New test. + +2023-09-05 Jakub Jelinek + + PR c++/52953 + * g++.dg/diagnostic/redeclaration-4.C: New test. + * g++.dg/diagnostic/redeclaration-5.C: New test. + * g++.dg/warn/Wshadow-19.C: New test. + +2023-09-05 Jakub Jelinek + + PR c++/52953 + * g++.dg/diagnostic/redeclaration-1.C: Expect different diagnostic + wording. + * g++.dg/diagnostic/redeclaration-3.C: New test. + * g++.dg/parse/pr31952-1.C: Expect different diagnostic wording. + * g++.dg/parse/pr31952-3.C: Likewise. + +2023-09-05 Tobias Burnus + + * c-c++-common/gomp/allocate-13.c: New test. + +2023-09-05 Pan Li + + * gcc.target/riscv/rvv/autovec/vls/def.h: New macro. + * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnj-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnj-2.c: New test. + +2023-09-05 Marc Poulhiès + + Revert: + 2023-07-25 Marc Poulhiès + + * gnat.dg/unroll3.adb: Adjust. + +2023-09-05 Christoph Müllner + + * gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c: Disable for -Oz. + * gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c: Likewise. + * gcc.target/riscv/xtheadcondmov-mveqz-reg-eqz.c: Likewise. + * gcc.target/riscv/xtheadcondmov-mveqz-reg-not.c: Likewise. + * gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c: Likewise. + * gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c: Likewise. + * gcc.target/riscv/xtheadcondmov-mvnez-reg-cond.c: Likewise. + * gcc.target/riscv/xtheadcondmov-mvnez-reg-nez.c: Likewise. + +2023-09-05 liuhongt + + * gcc.target/i386/avx512fp16-vmovsh-1a.c: Remove xfail. + +2023-09-04 Christophe Lyon + + * gcc.dg/vect/bb-slp-44.c: Remove 'dg-do run'. + * gcc.dg/vect/bb-slp-71.c: Likewise. + * gcc.dg/vect/bb-slp-72.c: Likewise. + * gcc.dg/vect/bb-slp-73.c: Likewise. + * gcc.dg/vect/bb-slp-74.c: Likewise. + * gcc.dg/vect/bb-slp-pr101207.c: Likewise. + * gcc.dg/vect/bb-slp-pr101615-1.c: Likewise. + * gcc.dg/vect/bb-slp-pr101615-2.c: Likewise. + * gcc.dg/vect/bb-slp-pr101668.c: Likewise. + * gcc.dg/vect/bb-slp-pr54400.c: Likewise. + * gcc.dg/vect/bb-slp-pr98516-1.c: Likewise. + * gcc.dg/vect/bb-slp-pr98516-2.c: Likewise. + * gcc.dg/vect/bb-slp-pr98544.c: Likewise. + * gcc.dg/vect/pr101445.c: Likewise. + * gcc.dg/vect/pr105219.c: Likewise. + * gcc.dg/vect/pr107160.c: Likewise. + * gcc.dg/vect/pr107212-1.c: Likewise. + * gcc.dg/vect/pr107212-2.c: Likewise. + * gcc.dg/vect/pr109502.c: Likewise. + * gcc.dg/vect/pr110381.c: Likewise. + * gcc.dg/vect/pr110838.c: Likewise. + * gcc.dg/vect/pr88497-1.c: Likewise. + * gcc.dg/vect/pr88497-7.c: Likewise. + * gcc.dg/vect/pr96783-1.c: Likewise. + * gcc.dg/vect/pr96783-2.c: Likewise. + * gcc.dg/vect/pr97558-2.c: Likewise. + * gcc.dg/vect/pr99253.c: Likewise. + * gcc.dg/vect/slp-mask-store-1.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-10.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-11.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-2.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-3.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-4.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-5.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-6.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-8.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-9.c: Likewise. + * gcc.dg/vect/vect-cond-13.c: Likewise. + * gcc.dg/vect/vect-recurr-1.c: Likewise. + * gcc.dg/vect/vect-recurr-2.c: Likewise. + * gcc.dg/vect/vect-recurr-3.c: Likewise. + * gcc.dg/vect/vect-recurr-4.c: Likewise. + * gcc.dg/vect/vect-recurr-5.c: Likewise. + * gcc.dg/vect/vect-recurr-6.c: Likewise. + +2023-09-04 Thiago Jung Bauermann + + PR testsuite/111071 + * gcc.target/aarch64/sve/acle/asm/subr_s8.c: Adjust to new code. + * gcc.target/aarch64/sve/acle/asm/subr_u8.c: Likewise. + +2023-09-04 Pan Li + + * gcc.target/riscv/rvv/intrisinc-vrgatherei16.c: New test. + +2023-09-04 Jiufu Guo + + PR tree-optimization/108757 + * gcc.dg/pr108757-1.c: New test. + * gcc.dg/pr108757-2.c: New test. + * gcc.dg/pr108757.h: New test. + +2023-09-04 Guo Jie + + * gcc.target/loongarch/const-double-zero-stx.c: New test. + +2023-09-04 Lulu Cheng + + * gcc.target/loongarch/switch-qi.c: New test. + +2023-09-04 Lulu Cheng + + * gcc.target/loongarch/float-load.c: New test. + +2023-09-03 Francois-Xavier Coudert + + PR testsuite/111066 + * g++.dg/special/initpri3.C: Fix wording. + +2023-09-03 Pan Li + + * gcc.target/riscv/rvv/autovec/vls/def.h: New macros. + * gcc.target/riscv/rvv/autovec/vls/floating-point-max-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-max-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-max-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-max-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-max-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-min-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-min-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-min-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-min-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-min-5.c: New test. + +2023-09-02 chenxiaolong + + * gcc.target/loongarch/math-float-128.c: New test. + +2023-09-01 Harald Anlauf + + PR fortran/31059 + * gfortran.dg/bounds_check_fail_5.f90: New test. + +2023-09-01 benjamin priour + + PR analyzer/105948 + PR analyzer/94355 + * g++.dg/analyzer/out-of-bounds-placement-new.C: Added a directive. + * g++.dg/analyzer/placement-new.C: Added tests. + * g++.dg/analyzer/new-2.C: New test. + * g++.dg/analyzer/noexcept-new.C: New test. + * g++.dg/analyzer/placement-new-size.C: New test. + +2023-09-01 Hans-Peter Nilsson + + PR testsuite/111264 + * gcc.dg/plugin/analyzer_cpython_plugin.c: Make declarations + C++11-compatible. + +2023-09-01 Jonathan Wakely + + * g++.dg/pr110879.C: Moved to... + * g++.dg/opt/pr110879.C: ...here. + +2023-09-01 Vladimir Palevich + + PR libstdc++/110879 + * g++.dg/pr110879.C: New test. + +2023-09-01 Jakub Jelinek + + PR c++/111069 + * g++.dg/cpp2a/decomp8.C: New test. + * g++.dg/cpp2a/decomp9.C: New test. + * g++.dg/abi/macro0.C: Expect __GXX_ABI_VERSION 1019 rather than + 1018. + +2023-09-01 Jakub Jelinek + + PR tree-optimization/19832 + * g++.dg/opt/vectcond-1.C: Add -Wno-psabi to dg-options. + +2023-09-01 Jakub Jelinek + + PR tree-optimization/110915 + * gcc.dg/pr110915-1.c: Add -Wno-psabi to dg-options. Move vector + macro definition after limits.h inclusion. + * gcc.dg/pr110915-2.c: Likewise. + * gcc.dg/pr110915-3.c: Likewise. + * gcc.dg/pr110915-4.c: Likewise. + * gcc.dg/pr110915-5.c: Likewise. + * gcc.dg/pr110915-6.c: Likewise. + * gcc.dg/pr110915-7.c: Likewise. + * gcc.dg/pr110915-8.c: Likewise. + * gcc.dg/pr110915-9.c: Likewise. + * gcc.dg/pr110915-10.c: Likewise. + * gcc.dg/pr110915-11.c: Likewise. + * gcc.dg/pr110915-12.c: Likewise. + +2023-09-01 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-1.h: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-2.h: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv32-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv32-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv64-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int-rv64-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-1.h: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-2.h: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv32-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv32-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv64-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float-rv64-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2float_run-2.c: New test. + +2023-09-01 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-1.h: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-2.h: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv32-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv32-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv64-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float-rv64-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float_run-2.c: New test. + +2023-09-01 Lehua Ding + + * gcc.target/riscv/rvv/autovec/binop/narrow-3.c: Adjust. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-1.h: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-2.h: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv32-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv32-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv64-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int-rv64-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int_run-2.c: New test. + +2023-09-01 Robin Dapp + + * gcc.target/riscv/rvv/autovec/partial/live-2.c: New test. + * gcc.target/riscv/rvv/autovec/partial/live_run-2.c: New test. + +2023-09-01 Robin Dapp + + * gcc.dg/vect/vect-outer-4c-big-array.c: Adjust regex pattern. + * gcc.dg/vect/vect-reduc-dot-s16a.c: Ditto. + * gcc.dg/vect/vect-reduc-dot-s8a.c: Ditto. + * gcc.dg/vect/vect-reduc-dot-s8b.c: Ditto. + * gcc.dg/vect/vect-reduc-dot-u16a.c: Ditto. + * gcc.dg/vect/vect-reduc-dot-u16b.c: Ditto. + * gcc.dg/vect/vect-reduc-dot-u8a.c: Ditto. + * gcc.dg/vect/vect-reduc-dot-u8b.c: Ditto. + * gcc.dg/vect/vect-reduc-pattern-1a.c: Ditto. + * gcc.dg/vect/vect-reduc-pattern-1b-big-array.c: Ditto. + * gcc.dg/vect/vect-reduc-pattern-1c-big-array.c: Ditto. + * gcc.dg/vect/vect-reduc-pattern-2a.c: Ditto. + * gcc.dg/vect/vect-reduc-pattern-2b-big-array.c: Ditto. + * gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Ditto. + +2023-09-01 Pan Li + + * gcc.target/riscv/rvv/autovec/vls/def.h: + * gcc.target/riscv/rvv/autovec/vls/floating-point-add-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-add-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-add-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-div-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-div-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-div-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-3.c: New test. + +2023-09-01 Andrew Pinski + + PR tree-optimization/19832 + * g++.dg/opt/vectcond-1.C: New test. + * gcc.dg/tree-ssa/phi-opt-same-1.c: New test. + +2023-08-31 Andrew Pinski + + PR tree-optimization/110915 + * gcc.dg/pr110915-1.c: New test. + * gcc.dg/pr110915-10.c: New test. + * gcc.dg/pr110915-11.c: New test. + * gcc.dg/pr110915-12.c: New test. + * gcc.dg/pr110915-2.c: New test. + * gcc.dg/pr110915-3.c: New test. + * gcc.dg/pr110915-4.c: New test. + * gcc.dg/pr110915-5.c: New test. + * gcc.dg/pr110915-6.c: New test. + * gcc.dg/pr110915-7.c: New test. + * gcc.dg/pr110915-8.c: New test. + * gcc.dg/pr110915-9.c: New test. + +2023-08-31 Pan Li + + * gcc.target/riscv/rvv/base/float-point-frm-autovec-4.c: New test. + +2023-08-31 Pan Li + + * gcc.target/riscv/rvv/base/float-point-frm-autovec-3.c: New test. + +2023-08-31 Peter Bergner + + PR testsuite/111228 + * gcc.target/powerpc/fold-vec-logical-ors-char.c: Update instruction + counts to match the number of associated vec_* built-in calls. + * gcc.target/powerpc/fold-vec-logical-ors-int.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-ors-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-ors-short.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-other-char.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-other-int.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-other-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-other-short.c: Likewise. + +2023-08-31 Pan Li + + * gcc.target/riscv/rvv/base/float-point-frm-autovec-2.c: New test. + +2023-08-31 Pan Li + Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/float-point-frm-autovec-1.c: New test. + +2023-08-31 Richard Biener + + PR middle-end/111253 + * gcc.dg/Wfree-nonheap-object-7.c: New testcase. + +2023-08-31 Jeevitha Palanisamy + + PR target/110411 + * gcc.target/powerpc/pr110411-1.c: New testcase. + * gcc.target/powerpc/pr110411-2.c: New testcase. + +2023-08-31 Lehua Ding + + * gcc.target/riscv/rvv/base/binop_vx_constraint-171.c: Adjust. + * gcc.target/riscv/rvv/base/binop_vx_constraint-173.c: Adjust. + * gcc.target/riscv/rvv/vsetvl/vsetvl-24.c: New test. + +2023-08-31 Richard Biener + + * gcc.dg/tree-ssa/forwprop-42.c: Move ... + * gcc.target/i386/pr111228.c: ... here. Enable SSE2. + +2023-08-31 Richard Biener + + * gcc.target/i386/pr52252-atom.c: Add -mprefer-vector-width=128. + * gcc.target/i386/pr52252-core.c: Likewise. + +2023-08-31 Haochen Gui + + PR target/96762 + * gcc.target/powerpc/pr96762.c: New. + +2023-08-31 Lehua Ding + + PR target/111234 + * gcc.target/riscv/rvv/vsetvl/pr111234.c: New test. + +2023-08-30 Eric Feng + + PR analyzer/107646 + * gcc.dg/plugin/analyzer_cpython_plugin.c: Implements reference + count checking for PyObjects. + * gcc.dg/plugin/cpython-plugin-test-2.c: Moved to... + * gcc.dg/plugin/cpython-plugin-test-PyList_Append.c: ...here + (and added more tests). + * gcc.dg/plugin/cpython-plugin-test-1.c: Moved to... + * gcc.dg/plugin/cpython-plugin-test-no-Python-h.c: ...here (and + added more tests). + * gcc.dg/plugin/plugin.exp: New tests. + * gcc.dg/plugin/cpython-plugin-test-PyList_New.c: New test. + * gcc.dg/plugin/cpython-plugin-test-PyLong_FromLong.c: New test. + +2023-08-30 Dimitar Dimitrov + + PR target/106562 + * gcc.target/pru/pr106562-10.c: New test. + * gcc.target/pru/pr106562-11.c: New test. + * gcc.target/pru/pr106562-5.c: New test. + * gcc.target/pru/pr106562-6.c: New test. + * gcc.target/pru/pr106562-7.c: New test. + * gcc.target/pru/pr106562-8.c: New test. + * gcc.target/pru/pr106562-9.c: New test. + +2023-08-30 Marek Polacek + + PR c++/91319 + * g++.dg/cpp2a/desig30.C: New test. + +2023-08-30 Marek Polacek + + PR c++/111173 + * g++.dg/cpp2a/constinit19.C: New test. + +2023-08-30 Richard Biener + + * gcc.dg/tree-ssa/forwprop-42.c: Use __UINT64_TYPE__ instead + of unsigned long. + +2023-08-30 Juzhe-Zhong + + * gcc.dg/vect/slp-reduc-7.c: Add RVV. + +2023-08-30 Juzhe-Zhong + + * gcc.dg/vect/slp-26.c: Adapt for RVV. + +2023-08-30 Mikael Morin + + PR fortran/48776 + * gfortran.dg/interface_procedure_1.f90: New test. + +2023-08-30 Richard Biener + + PR tree-optimization/111228 + * gcc.dg/tree-ssa/forwprop-42.c: New testcase. + +2023-08-30 Juzhe-Zhong + + * gcc.dg/vect/vect-double-reduc-5.c: Add riscv. + * gcc.dg/vect/vect-outer-4e.c: Ditto. + * gcc.dg/vect/vect-outer-4f.c: Ditto. + * gcc.dg/vect/vect-outer-4g.c: Ditto. + * gcc.dg/vect/vect-outer-4k.c: Ditto. + * gcc.dg/vect/vect-outer-4l.c: Ditto. + +2023-08-30 Juzhe-Zhong + + * gcc.dg/vect/pr88598-1.c: Add riscv_vector. + * gcc.dg/vect/pr88598-2.c: Ditto. + * gcc.dg/vect/pr88598-3.c: Ditto. + +2023-08-30 Die Li + Fei Gao + + * gcc.target/riscv/cm_mv_rv32.c: New test. + +2023-08-30 Fei Gao + + * gcc.target/riscv/rv32e_zcmp.c: add testcase for cm.popretz in rv32e + * gcc.target/riscv/rv32i_zcmp.c: add testcase for cm.popretz in rv32i + +2023-08-30 Fei Gao + + * gcc.target/riscv/rv32e_zcmp.c: New test. + * gcc.target/riscv/rv32i_zcmp.c: New test. + * gcc.target/riscv/zcmp_push_fpr.c: New test. + * gcc.target/riscv/zcmp_stack_alignment.c: New test. + +2023-08-30 Jakub Jelinek + + PR tree-optimization/110914 + * gcc.c-torture/execute/pr110914.c: New test. + +2023-08-30 Jakub Jelinek + + PR tree-optimization/111015 + * gcc.dg/pr111015.c: New test. + +2023-08-30 Tsukasa OI + + * gcc.target/riscv/arch-24.c: Test RV32I+Zcf instead. + +2023-08-30 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/misalign-1.c: New test. + +2023-08-29 Philipp Tomsich + + * gcc.target/riscv/zicond-xor-01.c: New test. + Co-authored-by: Jeff Law + +2023-08-29 David Malcolm + + PR analyzer/99860 + * c-c++-common/analyzer/overlapping-buffers.c: New test. + +2023-08-29 Marek Polacek + + * g++.dg/diagnostic/explicit.C: New test. + +2023-08-29 Jin Ma + + * gcc.target/riscv/zfa-fli-7.c: Change fa0 to fa\[0-9\] to avoid + assigning register numbers that are non-zero. + * gcc.target/riscv/zfa-fli-8.c: Ditto. + * gcc.target/riscv/zfa-fli-5.c: New test. + +2023-08-29 Edwin Lu + Vineet Gupta + + * gcc.target/riscv/attribute-1.c: Check for + __riscv_unaligned_slow or __riscv_unaligned_fast + * gcc.target/riscv/attribute-4.c: Check for + __riscv_unaligned_avoid + * gcc.target/riscv/attribute-5.c: Check for + __riscv_unaligned_slow or __riscv_unaligned_fast + * gcc.target/riscv/predef-align-1.c: New test. + * gcc.target/riscv/predef-align-2.c: New test. + * gcc.target/riscv/predef-align-3.c: New test. + * gcc.target/riscv/predef-align-4.c: New test. + * gcc.target/riscv/predef-align-5.c: New test. + * gcc.target/riscv/predef-align-6.c: New test. + +2023-08-29 Guillaume Gomez + + * jit.dg/test-restrict.c: Add test for __restrict__ attribute. + * jit.dg/all-non-failing-tests.h: Add test-restrict.c to the list. + +2023-08-29 Carl Love + + PR target/93448 + * gcc.target/powerpc/pr93448.c: New test case. + +2023-08-29 David Malcolm + + PR analyzer/105899 + * c-c++-common/analyzer/pr99193-2.c: Add + -Wno-analyzer-too-complex. + * gcc.dg/analyzer/strdup-1.c: Include "analyzer-decls.h". + (test_concrete_strlen): New. + (test_symbolic_strlen): New. + +2023-08-29 Tsukasa OI + + * gcc.target/riscv/predef-31.c: New test for a stub unprivileged + extension 'Zcb' with some implications. + +2023-08-29 Tsukasa OI + + * gcc.target/riscv/predef-30.c: New test for a stub + vendor extension 'XVentanaCondOps'. + +2023-08-29 Tsukasa OI + + * gcc.target/riscv/predef-29.c: New test for a stub privileged + extension 'Smstateen' with some implications. + +2023-08-29 Tsukasa OI + + * gcc.target/riscv/pr102957-2.c: New test case using the 'Zk' + extension to continue testing whether we can use valid two-letter + extensions. + +2023-08-29 Jakub Jelinek + + PR middle-end/79173 + PR middle-end/111209 + * gcc.target/i386/pr79173-12.c: New test. + +2023-08-29 Andrew Pinski + + PR tree-optimization/111147 + * gcc.dg/tree-ssa/cmpbit-4.c: New test. + +2023-08-29 Juzhe-Zhong + + * gcc.dg/vect/no-scevccp-outer-12.c: Add riscv xfail. + +2023-08-29 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: Fix ASM check. + +2023-08-29 Lehua Ding + + PR target/110943 + * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Adjust. + * gcc.target/riscv/rvv/base/pr110943.c: New test. + +2023-08-29 Lulu Cheng + + * gcc.target/loongarch/sign-extend.c: New test. + +2023-08-28 Tsukasa OI + + * gcc.target/riscv/builtin_pause.c: Removed. + * gcc.target/riscv/zihintpause-1.c: New test when the 'Zihintpause' + extension is enabled. + * gcc.target/riscv/zihintpause-2.c: Likewise. + * gcc.target/riscv/zihintpause-noarch.c: New test when the 'Zihintpause' + extension is disabled. + +2023-08-28 Andrew Pinski + + PR testsuite/111215 + * gcc.dg/tree-ssa/cond-bool-2.c: Add + `--param logical-op-non-short-circuit=1` to the options. + +2023-08-28 Andrew Pinski + + * gcc.dg/tree-ssa/cmpbit-3.c: New test. + * gcc.dg/pr87009.c: Update test. + +2023-08-28 Lulu Cheng + + * gcc.target/loongarch/slt-sign-extend.c: New test. + +2023-08-28 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/vxrm-8.c: Adapt tests. + * gcc.target/riscv/rvv/base/vxrm-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: Ditto. + +2023-08-28 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/avl_multiple-7.c: Adapt test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-102.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-27.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-28.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-29.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-30.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-35.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-36.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-46.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-48.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-50.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-51.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-66.c: + * gcc.target/riscv/rvv/vsetvl/avl_single-67.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-68.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-69.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-70.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-71.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-72.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-76.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-77.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-82.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-83.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-89.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-93.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-94.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-95.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-96.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/ffload-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_switch-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_switch-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-103.c: New test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-13.c: New test. + +2023-08-27 Jeff Law + + * gcc.target/riscv/rvv/base/spill-11.c: Adjust expected output. + +2023-08-27 Jeff Law + + * gcc.target/riscv/rvv/base/spill-12.c: Update expected output. + +2023-08-27 Jeff Law + + * gcc.target/riscv/xtheadcondmov-indirect.c: Turn off pressure + sensitive scheduling. + +2023-08-27 benjamin priour + + PR analyzer/96395 + * gcc.dg/analyzer/aliasing-3.c: Moved to... + * c-c++-common/analyzer/aliasing-3.c: ...here. + * gcc.dg/analyzer/aliasing-pr106473.c: Moved to... + * c-c++-common/analyzer/aliasing-pr106473.c: ...here. + * gcc.dg/analyzer/asm-x86-dyndbg-2.c: Moved to... + * c-c++-common/analyzer/asm-x86-dyndbg-2.c: ...here. + * gcc.dg/analyzer/asm-x86-lp64-2.c: Moved to... + * c-c++-common/analyzer/asm-x86-lp64-2.c: ...here. + * gcc.dg/analyzer/atomic-builtins-haproxy-proxy.c: Moved to... + * c-c++-common/analyzer/atomic-builtins-haproxy-proxy.c: ...here. + * gcc.dg/analyzer/atomic-builtins-qemu-sockets.c: Moved to... + * c-c++-common/analyzer/atomic-builtins-qemu-sockets.c: ...here. + * gcc.dg/analyzer/attr-malloc-6.c: Moved to... + * c-c++-common/analyzer/attr-malloc-6.c: ...here. + * gcc.dg/analyzer/attr-malloc-CVE-2019-19078-usb-leak.c: Moved to... + * c-c++-common/analyzer/attr-malloc-CVE-2019-19078-usb-leak.c: ...here. + * gcc.dg/analyzer/attr-tainted_args-1.c: Moved to... + * c-c++-common/analyzer/attr-tainted_args-1.c: ...here. + * gcc.dg/analyzer/call-summaries-pr107158.c: Moved to... + * c-c++-common/analyzer/call-summaries-pr107158.c: ...here. + * gcc.dg/analyzer/calloc-1.c: Moved to... + * c-c++-common/analyzer/calloc-1.c: ...here. + * gcc.dg/analyzer/compound-assignment-5.c: Moved to... + * c-c++-common/analyzer/compound-assignment-5.c: ...here. + * gcc.dg/analyzer/coreutils-cksum-pr108664.c: Moved to... + * c-c++-common/analyzer/coreutils-cksum-pr108664.c: ...here. + * gcc.dg/analyzer/coreutils-sum-pr108666.c: Moved to... + * c-c++-common/analyzer/coreutils-sum-pr108666.c: ...here. + * gcc.dg/analyzer/deref-before-check-pr108455-1.c: Moved to... + * c-c++-common/analyzer/deref-before-check-pr108455-1.c: ...here. + * gcc.dg/analyzer/deref-before-check-pr108455-git-pack-revindex.c: Moved to... + * c-c++-common/analyzer/deref-before-check-pr108455-git-pack-revindex.c: ...here. + * gcc.dg/analyzer/deref-before-check-pr108475-1.c: Moved to... + * c-c++-common/analyzer/deref-before-check-pr108475-1.c: ...here. + * gcc.dg/analyzer/deref-before-check-pr108475-haproxy-tcpcheck.c: Moved to... + * c-c++-common/analyzer/deref-before-check-pr108475-haproxy-tcpcheck.c: ...here. + * gcc.dg/analyzer/deref-before-check-pr109060-haproxy-cfgparse.c: Moved to... + * c-c++-common/analyzer/deref-before-check-pr109060-haproxy-cfgparse.c: ...here. + * gcc.dg/analyzer/deref-before-check-pr109239-linux-bus.c: Moved to... + * c-c++-common/analyzer/deref-before-check-pr109239-linux-bus.c: ...here. + * gcc.dg/analyzer/deref-before-check-pr77425.c: Moved to... + * c-c++-common/analyzer/deref-before-check-pr77425.c: ...here. + * gcc.dg/analyzer/exec-1.c: Moved to... + * c-c++-common/analyzer/exec-1.c: ...here. + * gcc.dg/analyzer/feasibility-3.c: Moved to... + * c-c++-common/analyzer/feasibility-3.c: ...here. + * gcc.dg/analyzer/fields.c: Moved to... + * c-c++-common/analyzer/fields.c: ...here. + * gcc.dg/analyzer/function-ptr-5.c: Moved to... + * c-c++-common/analyzer/function-ptr-5.c: ...here. + * gcc.dg/analyzer/infinite-recursion-pr108524-1.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-pr108524-1.c: ...here. + * gcc.dg/analyzer/infinite-recursion-pr108524-2.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-pr108524-2.c: ...here. + * gcc.dg/analyzer/infinite-recursion-pr108524-qobject-json-parser.c: Moved to... + * c-c++-common/analyzer/infinite-recursion-pr108524-qobject-json-parser.c: ...here. + * gcc.dg/analyzer/init.c: Moved to... + * c-c++-common/analyzer/init.c: ...here. + * gcc.dg/analyzer/inlining-3-multiline.c: Moved to... + * c-c++-common/analyzer/inlining-3-multiline.c: ...here. + * gcc.dg/analyzer/inlining-3.c: Moved to... + * c-c++-common/analyzer/inlining-3.c: ...here. + * gcc.dg/analyzer/inlining-4-multiline.c: Moved to... + * c-c++-common/analyzer/inlining-4-multiline.c: ...here. + * gcc.dg/analyzer/inlining-4.c: Moved to... + * c-c++-common/analyzer/inlining-4.c: ...here. + * gcc.dg/analyzer/leak-pr105906.c: Moved to... + * c-c++-common/analyzer/leak-pr105906.c: ...here. + * gcc.dg/analyzer/leak-pr108045-with-call-summaries.c: Moved to... + * c-c++-common/analyzer/leak-pr108045-with-call-summaries.c: ...here. + * gcc.dg/analyzer/leak-pr108045-without-call-summaries.c: Moved to... + * c-c++-common/analyzer/leak-pr108045-without-call-summaries.c: ...here. + * gcc.dg/analyzer/leak-pr109059-1.c: Moved to... + * c-c++-common/analyzer/leak-pr109059-1.c: ...here. + * gcc.dg/analyzer/leak-pr109059-2.c: Moved to... + * c-c++-common/analyzer/leak-pr109059-2.c: ...here. + * gcc.dg/analyzer/malloc-2.c: Moved to... + * c-c++-common/analyzer/malloc-2.c: ...here. + * gcc.dg/analyzer/memcpy-2.c: Moved to... + * c-c++-common/analyzer/memcpy-2.c: ...here. + * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: Moved to... + * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: ...here. + * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: Moved to... + * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: ...here. + * gcc.dg/analyzer/null-deref-pr108806-qemu.c: Moved to... + * c-c++-common/analyzer/null-deref-pr108806-qemu.c: ...here. + * gcc.dg/analyzer/null-deref-pr108830.c: Moved to... + * c-c++-common/analyzer/null-deref-pr108830.c: ...here. + * gcc.dg/analyzer/pr101962.c: Moved to... + * c-c++-common/analyzer/pr101962.c: ...here. + * gcc.dg/analyzer/pr103217-2.c: Moved to... + * c-c++-common/analyzer/pr103217-2.c: ...here. + * gcc.dg/analyzer/pr103217.c: Moved to... + * c-c++-common/analyzer/pr103217.c: ...here. + * gcc.dg/analyzer/pr104029.c: Moved to... + * c-c++-common/analyzer/pr104029.c: ...here. + * gcc.dg/analyzer/pr104062.c: Moved to... + * c-c++-common/analyzer/pr104062.c: ...here. + * gcc.dg/analyzer/pr105783.c: Moved to... + * c-c++-common/analyzer/pr105783.c: ...here. + * gcc.dg/analyzer/pr107345.c: Moved to... + * c-c++-common/analyzer/pr107345.c: ...here. + * gcc.dg/analyzer/pr93695-1.c: Moved to... + * c-c++-common/analyzer/pr93695-1.c: ...here. + * gcc.dg/analyzer/pr94596.c: Moved to... + * c-c++-common/analyzer/pr94596.c: ...here. + * gcc.dg/analyzer/pr94839.c: Moved to... + * c-c++-common/analyzer/pr94839.c: ...here. + * gcc.dg/analyzer/pr95152-4.c: C only. + * gcc.dg/analyzer/pr95152-5.c: C only. + * gcc.dg/analyzer/pr95240.c: Moved to... + * c-c++-common/analyzer/pr95240.c: ...here. + * gcc.dg/analyzer/pr96639.c: Moved to... + * c-c++-common/analyzer/pr96639.c: ...here. + * gcc.dg/analyzer/pr96653.c: Moved to... + * c-c++-common/analyzer/pr96653.c: ...here. + * gcc.dg/analyzer/pr96792.c: Moved to... + * c-c++-common/analyzer/pr96792.c: ...here. + * gcc.dg/analyzer/pr96841.c: Moved to... + * c-c++-common/analyzer/pr96841.c: ...here. + * gcc.dg/analyzer/pr98564.c: Moved to... + * c-c++-common/analyzer/pr98564.c: ...here. + * gcc.dg/analyzer/pr98628.c: Moved to... + * c-c++-common/analyzer/pr98628.c: ...here. + * gcc.dg/analyzer/pr98969.c: Moved to... + * c-c++-common/analyzer/pr98969.c: ...here. + * gcc.dg/analyzer/pr99193-2.c: Moved to... + * c-c++-common/analyzer/pr99193-2.c: ...here. + * gcc.dg/analyzer/pr99193-3.c: Moved to... + * c-c++-common/analyzer/pr99193-3.c: ...here. + * gcc.dg/analyzer/pr99716-1.c: Moved to... + * c-c++-common/analyzer/pr99716-1.c: ...here. + * gcc.dg/analyzer/pr99774-1.c: Moved to... + * c-c++-common/analyzer/pr99774-1.c: ...here. + * gcc.dg/analyzer/realloc-1.c: Moved to... + * c-c++-common/analyzer/realloc-1.c: ...here. + * gcc.dg/analyzer/realloc-2.c: Moved to... + * c-c++-common/analyzer/realloc-2.c: ...here. + * gcc.dg/analyzer/realloc-3.c: Moved to... + * c-c++-common/analyzer/realloc-3.c: ...here. + * gcc.dg/analyzer/realloc-4.c: Moved to... + * c-c++-common/analyzer/realloc-4.c: ...here. + * gcc.dg/analyzer/realloc-5.c: Moved to... + * c-c++-common/analyzer/realloc-5.c: ...here. + * gcc.dg/analyzer/realloc-pr110014.c: Moved to... + * c-c++-common/analyzer/realloc-pr110014.c: ...here. + * gcc.dg/analyzer/snprintf-concat.c: Moved to... + * c-c++-common/analyzer/snprintf-concat.c: ...here. + * gcc.dg/analyzer/sock-1.c: Moved to... + * c-c++-common/analyzer/sock-1.c: ...here. + * gcc.dg/analyzer/sprintf-concat.c: Moved to... + * c-c++-common/analyzer/sprintf-concat.c: ...here. + * gcc.dg/analyzer/string-ops-concat-pair.c: Moved to... + * c-c++-common/analyzer/string-ops-concat-pair.c: ...here. + * gcc.dg/analyzer/string-ops-dup.c: Moved to... + * c-c++-common/analyzer/string-ops-dup.c: ...here. + * gcc.dg/analyzer/switch-enum-pr105273-git-vreportf-2.c: Moved to... + * c-c++-common/analyzer/switch-enum-pr105273-git-vreportf-2.c: ...here. + * gcc.dg/analyzer/symbolic-12.c: Moved to... + * c-c++-common/analyzer/symbolic-12.c: ...here. + * gcc.dg/analyzer/uninit-alloca.c: Moved to... + * c-c++-common/analyzer/uninit-alloca.c: ...here. + * gcc.dg/analyzer/untracked-2.c: Moved to... + * c-c++-common/analyzer/untracked-2.c: ...here. + * gcc.dg/analyzer/vasprintf-1.c: Moved to... + * c-c++-common/analyzer/vasprintf-1.c: ...here. + * gcc.dg/analyzer/write-to-const-1.c: Moved to... + * c-c++-common/analyzer/write-to-const-1.c: ...here. + * gcc.dg/analyzer/write-to-function-1.c: C only. + * gcc.dg/analyzer/write-to-string-literal-1.c: Moved to... + * c-c++-common/analyzer/write-to-string-literal-1.c: ...here. + * gcc.dg/analyzer/write-to-string-literal-4-disabled.c: Moved to... + * c-c++-common/analyzer/write-to-string-literal-4-disabled.c: ...here. + * gcc.dg/analyzer/write-to-string-literal-5.c: Moved to... + * c-c++-common/analyzer/write-to-string-literal-5.c: ...here. + * g++.dg/analyzer/analyzer.exp: Now also run tests under + c-c++-common/analyzer. + * gcc.dg/analyzer/analyzer-decls.h: Add NULL definition. + * gcc.dg/analyzer/analyzer.exp: Now also run tests under + c-c++-common/analyzer. + * gcc.dg/analyzer/pr104369-1.c: C only. + * gcc.dg/analyzer/pr104369-2.c: Likewise. + * gcc.dg/analyzer/pr93355-localealias-feasibility-2.c: Likewise. + * gcc.dg/analyzer/sprintf-1.c: Split into C-only and + C++-friendly bits. + * gcc.dg/analyzer/allocation-size-multiline-1.c: Removed. + * gcc.dg/analyzer/allocation-size-multiline-2.c: Removed. + * gcc.dg/analyzer/allocation-size-multiline-3.c: Removed. + * gcc.dg/analyzer/data-model-11.c: Removed. + * gcc.dg/analyzer/pr61861.c: C only. + * gcc.dg/analyzer/pr93457.c: Removed. + * gcc.dg/analyzer/pr97568.c: Removed. + * gcc.dg/analyzer/write-to-string-literal-4.c: Removed. + * c-c++-common/analyzer/allocation-size-multiline-1.c: New test. + * c-c++-common/analyzer/allocation-size-multiline-2.c: New test. + * c-c++-common/analyzer/allocation-size-multiline-3.c: New test. + * c-c++-common/analyzer/data-model-11.c: New test. + * c-c++-common/analyzer/pr93457.c: New test. + * c-c++-common/analyzer/pr97568.c: New test. + * c-c++-common/analyzer/sprintf-2.c: C++-friendly bit of + previous gcc.dg/analyzer/sprintf-1.c. + * c-c++-common/analyzer/write-to-string-literal-4.c: New test. + +2023-08-26 Paul Thomas + + PR fortran/92586 + * gfortran.dg/pr92586.f90 : New test + +2023-08-26 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/reduc/extract_last-1.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-10.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-11.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-12.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-13.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-14.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-2.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-3.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-4.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-5.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-6.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-7.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-8.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-9.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-10.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-11.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-12.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-13.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-14.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-6.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-7.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-8.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-9.c: New test. + +2023-08-26 Andrew Pinski + + * gcc.dg/tree-ssa/phi-opt-34.c: Fix dg-options directive. + +2023-08-25 Jeff Law + + * gcc.target/riscv/stack_save_restore_1.c: Robustify. + * gcc.target/riscv/stack_save_restore_2.c: Robustify. + +2023-08-25 Jeff Law + + * gcc.target/riscv/zicond-primitiveSemantics.c: Disable for -Og. + +2023-08-25 Jin Ma + + * gcc.target/riscv/zfa-fleq-fltq.c: New test. + * gcc.target/riscv/zfa-fli-zfh.c: New test. + * gcc.target/riscv/zfa-fli.c: New test. + * gcc.target/riscv/zfa-fmovh-fmovp.c: New test. + * gcc.target/riscv/zfa-fli-1.c: New test. + * gcc.target/riscv/zfa-fli-2.c: New test. + * gcc.target/riscv/zfa-fli-3.c: New test. + * gcc.target/riscv/zfa-fli-4.c: New test. + * gcc.target/riscv/zfa-fli-6.c: New test. + * gcc.target/riscv/zfa-fli-7.c: New test. + * gcc.target/riscv/zfa-fli-8.c: New test. + Co-authored-by: Tsukasa OI + * gcc.target/riscv/zfa-fround.c: New file. + +2023-08-25 Sandra Loosemore + + * gfortran.dg/gomp/collapse1.f90: Adjust expected errors. + * gfortran.dg/gomp/collapse2.f90: Likewise. + * gfortran.dg/gomp/imperfect-gotos.f90: New. + * gfortran.dg/gomp/imperfect-invalid-scope.f90: New. + * gfortran.dg/gomp/imperfect1.f90: New. + * gfortran.dg/gomp/imperfect2.f90: New. + * gfortran.dg/gomp/imperfect3.f90: New. + * gfortran.dg/gomp/imperfect4.f90: New. + * gfortran.dg/gomp/imperfect5.f90: New. + +2023-08-25 Sandra Loosemore + + * c-c++-common/gomp/imperfect-attributes.c: New. + * c-c++-common/gomp/imperfect-badloops.c: New. + * c-c++-common/gomp/imperfect-blocks.c: New. + * c-c++-common/gomp/imperfect-extension.c: New. + * c-c++-common/gomp/imperfect-gotos.c: New. + * c-c++-common/gomp/imperfect-invalid-scope.c: New. + * c-c++-common/gomp/imperfect-labels.c: New. + * c-c++-common/gomp/imperfect-legacy-syntax.c: New. + * c-c++-common/gomp/imperfect-pragmas.c: New. + * c-c++-common/gomp/imperfect1.c: New. + * c-c++-common/gomp/imperfect2.c: New. + * c-c++-common/gomp/imperfect3.c: New. + * c-c++-common/gomp/imperfect4.c: New. + * c-c++-common/gomp/imperfect5.c: New. + +2023-08-25 Sandra Loosemore + + * c-c++-common/goacc/tile-2.c: Adjust expected error patterns. + * g++.dg/gomp/attrs-imperfect1.C: New test. + * g++.dg/gomp/attrs-imperfect2.C: New test. + * g++.dg/gomp/attrs-imperfect3.C: New test. + * g++.dg/gomp/attrs-imperfect4.C: New test. + * g++.dg/gomp/attrs-imperfect5.C: New test. + * g++.dg/gomp/pr41967.C: Adjust expected error patterns. + * g++.dg/gomp/tpl-imperfect-gotos.C: New test. + * g++.dg/gomp/tpl-imperfect-invalid-scope.C: New test. + +2023-08-25 Sandra Loosemore + + * c-c++-common/goacc/collapse-1.c: Update for new C error behavior. + * c-c++-common/goacc/tile-2.c: Likewise. + * gcc.dg/gomp/collapse-1.c: Likewise. + +2023-08-25 Vineet Gupta + + * gcc.target/riscv/gcse-const.c: New Test + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: Remove test + for Jump. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c: Ditto. + +2023-08-25 Andrew Pinski + + * gcc.dg/tree-ssa/phi-opt-34.c: New test. + +2023-08-25 Harald Anlauf + + PR fortran/35095 + * gfortran.dg/data_bounds_1.f90: Adjust options to disable warnings. + * gfortran.dg/data_bounds_2.f90: New test. + +2023-08-25 David Malcolm + + * gcc.dg/analyzer/out-of-bounds-diagram-17.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-18.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-19.c: New test. + +2023-08-25 Richard Biener + + PR tree-optimization/111137 + * gcc.dg/torture/pr111137.c: New testcase. + +2023-08-25 Aldy Hernandez + + * gcc.dg/tree-ssa/vrp-float-12.c: New test. + +2023-08-25 Patrick O'Neill + + * gcc.target/riscv/vector-abi-1.c: Moved to... + * gcc.target/riscv/rvv/base/vector-abi-1.c: ...here. + * gcc.target/riscv/vector-abi-2.c: Moved to... + * gcc.target/riscv/rvv/base/vector-abi-2.c: ...here. + * gcc.target/riscv/vector-abi-3.c: Moved to... + * gcc.target/riscv/rvv/base/vector-abi-3.c: ...here. + * gcc.target/riscv/vector-abi-4.c: Moved to... + * gcc.target/riscv/rvv/base/vector-abi-4.c: ...here. + * gcc.target/riscv/vector-abi-5.c: Moved to... + * gcc.target/riscv/rvv/base/vector-abi-5.c: ...here. + * gcc.target/riscv/vector-abi-6.c: Moved to... + * gcc.target/riscv/rvv/base/vector-abi-6.c: ...here. + * gcc.target/riscv/vector-abi-7.c: Moved to... + * gcc.target/riscv/rvv/base/vector-abi-7.c: ...here. + * gcc.target/riscv/vector-abi-8.c: Moved to... + * gcc.target/riscv/rvv/base/vector-abi-8.c: ...here. + * gcc.target/riscv/vector-abi-9.c: Moved to... + * gcc.target/riscv/rvv/base/vector-abi-9.c: ...here. + +2023-08-25 Hongyu Wang + + PR target/111127 + * gcc.target/i386/pr111127.c: New test. + +2023-08-24 Uros Bizjak + + PR target/94866 + * g++.target/i386/pr94866.C: New test. + +2023-08-24 Jose E. Marchesi + + PR c/106537 + * gcc.c-torture/compile/pr106537-1.c: Comparing void pointers to + non-function pointers is legit. + * gcc.c-torture/compile/pr106537-2.c: Likewise. + +2023-08-24 David Malcolm + + PR analyzer/105899 + * gcc.dg/analyzer/strcat-1.c: New test. + +2023-08-24 David Malcolm + + PR analyzer/105899 + * gcc.dg/analyzer/strcpy-3.c (test_2): New. + +2023-08-24 David Malcolm + + PR analyzer/105899 + * gcc.dg/analyzer/out-of-bounds-diagram-16.c: New test. + * gcc.dg/analyzer/strcpy-1.c: Add test coverage. + * gcc.dg/analyzer/strcpy-3.c: Likewise. + * gcc.dg/analyzer/strcpy-4.c: New test. + +2023-08-24 David Malcolm + + PR analyzer/105899 + * gcc.dg/analyzer/sprintf-1.c: Include "analyzer-decls.h". + (test_strlen_1): New. + +2023-08-24 Richard Biener + + PR tree-optimization/111123 + * g++.dg/warn/Wuninitialized-pr111123-1.C: New testcase. + +2023-08-24 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv-nofm.c: Adapt test. + * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-10.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-11.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-12.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-4.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-5.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-6.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-7.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-8.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-9.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-10.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-11.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-12.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-6.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-7.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-8.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-9.c: New test. + +2023-08-24 Robin Dapp + + * gcc.target/riscv/rvv/base/narrow_constraint-1.c: Add + -fno-sched-pressure. + * gcc.target/riscv/rvv/base/narrow_constraint-17.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-18.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-19.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-20.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-21.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-22.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-23.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-24.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-25.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-26.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-27.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-28.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-29.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-30.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-31.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-4.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-5.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-8.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: Ditto. + +2023-08-24 Robin Dapp + + * gcc.target/riscv/rvv/autovec/binop/shift-immediate.c: New test. + +2023-08-24 Robin Dapp + + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-run.c: + Add tests. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-rv32gcv.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-rv64gcv.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-template.h: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-rv32gcv.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-rv64gcv.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-template.h: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-zvfh-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-rv32gcv.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-rv64gcv.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-template.h: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-zvfh-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-rv32gcv.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-rv64gcv.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-template.h: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-zvfh-run.c: + Ditto. + +2023-08-24 Robin Dapp + + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-1.c: + Add variable to hold reference result. + +2023-08-24 Richard Sandiford + + * gcc.dg/c2x-attr-syntax-6.c: New test. + * gcc.dg/c2x-attr-syntax-7.c: Likewise. + +2023-08-24 Richard Biener + + PR tree-optimization/111115 + * lib/target-supports.exp (check_effective_target_vect_masked_store): + Supported with check_avx_available. + * gcc.dg/vect/slp-mask-store-1.c: New testcase. + +2023-08-24 Richard Sandiford + + * gcc.target/aarch64/neoverse_v1_2.c: New test. + * gcc.target/aarch64/neoverse_v1_3.c: Likewise. + +2023-08-24 Richard Biener + + PR tree-optimization/111128 + * gcc.dg/torture/pr111128.c: New testcase. + +2023-08-24 Richard Biener + + PR testsuite/111125 + * gcc.dg/vect/pr53773.c: Disable BB vectorization. + +2023-08-24 Andrew Pinski + + PR tree-optimization/111109 + * gcc.c-torture/execute/ieee/fp-cmp-cond-1.c: New test. + +2023-08-24 Andrew Pinski + + PR tree-optimization/95929 + * gcc.dg/tree-ssa/bit1neg-1.c: New test. + * gcc.dg/tree-ssa/cond-bool-1.c: New test. + * gcc.dg/tree-ssa/cond-bool-2.c: New test. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-24 Haochen Jiang + + * g++.target/i386/mv33.C: New test. + * gcc.target/i386/avx10_1-1.c: Ditto. + * gcc.target/i386/avx10_1-2.c: Ditto. + * gcc.target/i386/avx10_1-3.c: Ditto. + * gcc.target/i386/avx10_1-4.c: Ditto. + * gcc.target/i386/avx10_1-5.c: Ditto. + * gcc.target/i386/avx10_1-6.c: Ditto. + * gcc.target/i386/avx10_1-7.c: Ditto. + * gcc.target/i386/avx10_1-8.c: Ditto. + * gcc.target/i386/avx10_1-9.c: Ditto. + * gcc.target/i386/avx10_1-10.c: Ditto. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-24 Haochen Jiang + + * gcc.target/i386/avx10_1-11.c: New test. + * gcc.target/i386/avx10_1-12.c: Ditto. + * gcc.target/i386/avx10_1-13.c: Ditto. + * gcc.target/i386/avx10_1-14.c: Ditto. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-24 Haochen Jiang + + * gcc.target/i386/avx10_1-15.c: New test. + * gcc.target/i386/avx10_1-16.c: Ditto. + * gcc.target/i386/avx10_1-17.c: Ditto. + * gcc.target/i386/avx10_1-18.c: Ditto. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-24 Haochen Jiang + + * gcc.target/i386/avx-1.c: Add -mavx10.1. + * gcc.target/i386/avx-2.c: Ditto. + * gcc.target/i386/sse-26.c: Skip AVX512VLDQ intrin file. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-17 Haochen Jiang + + * gcc.target/i386/avx10_1-vandnpd-1.c: New test. + * gcc.target/i386/avx10_1-vandnps-1.c: Ditto. + * gcc.target/i386/avx10_1-vbroadcastf32x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vbroadcastf64x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vbroadcasti32x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vbroadcasti64x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtpd2qq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtpd2uqq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvttpd2qq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvttpd2uqq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvttps2qq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvttps2uqq-1.c: Ditto. + * gcc.target/i386/avx10_1-vpmullq-1.c: Ditto. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-17 Haochen Jiang + + * gcc.target/i386/avx10_1-abs-copysign-1.c: New test. + * gcc.target/i386/avx10_1-vandpd-1.c: Ditto. + * gcc.target/i386/avx10_1-vandps-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtps2qq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtps2uqq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtqq2pd-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtqq2ps-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtuqq2pd-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtuqq2ps-1.c: Ditto. + * gcc.target/i386/avx10_1-vorpd-1.c: Ditto. + * gcc.target/i386/avx10_1-vorps-1.c: Ditto. + * gcc.target/i386/avx10_1-vpmovd2m-1.c: Ditto. + * gcc.target/i386/avx10_1-vpmovm2d-1.c: Ditto. + * gcc.target/i386/avx10_1-vpmovm2q-1.c: Ditto. + * gcc.target/i386/avx10_1-vpmovq2m-1.c: Ditto. + * gcc.target/i386/avx10_1-vxorpd-1.c: Ditto. + * gcc.target/i386/avx10_1-vxorps-1.c: Ditto. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-17 Haochen Jiang + + * gcc.target/i386/avx10_1-vextractf64x2-1.c: New test. + * gcc.target/i386/avx10_1-vextracti64x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vfpclasspd-1.c: Ditto. + * gcc.target/i386/avx10_1-vfpclassps-1.c: Ditto. + * gcc.target/i386/avx10_1-vinsertf64x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vinserti64x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vrangepd-1.c: Ditto. + * gcc.target/i386/avx10_1-vrangeps-1.c: Ditto. + * gcc.target/i386/avx10_1-vreducepd-1.c: Ditto. + * gcc.target/i386/avx10_1-vreduceps-1.c: Ditto. + +2023-08-24 Haochen Jiang + + Revert: + 2023-08-24 Haochen Jiang + + PR target/111051 + PR target/111051 + * gcc.target/i386/pr111051-1.c: New test. + +2023-08-24 Richard Biener + + PR debug/111080 + * gcc.dg/debug/dwarf2/pr111080.c: New testcase. + +2023-08-24 Hans-Peter Nilsson + + * gcc.dg/tree-ssa/update-threading.c: Xfail for cris-*-*. + +2023-08-23 Harald Anlauf + + PR fortran/32986 + * gfortran.dg/common_28.f90: New test. + +2023-08-23 Andrew MacLeod + + * gcc.dg/pr102983.c: Adjust output expectations. + * gcc.dg/pr110918.c: New. + +2023-08-23 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_unary-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-6.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-7.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-8.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-6.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-7.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-8.c: New test. + +2023-08-23 Jan Hubicka + + * gcc.dg/tree-ssa/copy-headers-9.c: Update template. + +2023-08-23 Jan Hubicka + + PR middle-end/110940 + * gcc.c-torture/compile/pr110940.c: New test. + +2023-08-23 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c: + Add vsetvli asm. + +2023-08-23 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/live-1.c: Adapt test. + +2023-08-22 David Malcolm + + PR analyzer/105899 + * gcc.dg/analyzer/null-terminated-strings-1.c: Update expected + results on symbolic values. + * gcc.dg/analyzer/strlen-1.c: New test. + +2023-08-22 Jason Merrill + + PR c++/109751 + * g++.dg/cpp2a/concepts-friend11.C: Now works. Add template. + * g++.dg/cpp2a/concepts-friend15.C: New test. + * g++.dg/cpp2a/concepts-friend11a.C: New file. + +2023-08-22 Tobias Burnus + + * gfortran.dg/gomp/defaultmap-1.f90: Update dg-error. + * c-c++-common/gomp/defaultmap-5.c: New test. + * c-c++-common/gomp/defaultmap-6.c: New test. + * gfortran.dg/gomp/defaultmap-10.f90: New test. + * gfortran.dg/gomp/defaultmap-9.f90: New test. + +2023-08-22 Richard Biener + + PR tree-optimization/94864 + PR tree-optimization/94865 + PR tree-optimization/93080 + * gcc.target/i386/pr94864.c: New testcase. + * gcc.target/i386/pr94865.c: Likewise. + * gcc.target/i386/avx512fp16-vmovsh-1a.c: XFAIL. + * gcc.dg/tree-ssa/forwprop-40.c: Likewise. + * gcc.dg/tree-ssa/forwprop-41.c: Likewise. + +2023-08-22 Harald Anlauf + + PR fortran/49588 + * gfortran.dg/data_vector_section.f90: New test. + +2023-08-22 Juzhe-Zhong + Kewen.Lin + + * gcc.target/riscv/rvv/autovec/partial/live-1.c: New test. + * gcc.target/riscv/rvv/autovec/partial/live_run-1.c: New test. + +2023-08-22 liuhongt + + * gcc.target/i386/invariant-ternlog-1.c: Only scan %rdx under + TARGET_64BIT. + +2023-08-22 Lehua Ding + + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-1.c: Adjust. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-6.c: Ditto. + +2023-08-22 David Malcolm + + PR analyzer/105899 + * gcc.dg/analyzer/attr-format-1.c: New test. + * gcc.dg/analyzer/sprintf-1.c: Update expected results for + now-passing tests. + +2023-08-22 David Malcolm + + * gcc.dg/analyzer/fopen-1.c: New test. + +2023-08-22 David Malcolm + + PR analyzer/105899 + * gcc.dg/analyzer/error-1.c: Update expected results to reflect + reimplementation of unterminated string detection. Add test + coverage for uninitialized buffers. + * gcc.dg/analyzer/null-terminated-strings-1.c: Likewise. + * gcc.dg/analyzer/putenv-1.c: Likewise. + * gcc.dg/analyzer/strchr-1.c: Likewise. + * gcc.dg/analyzer/strcpy-1.c: Likewise. + * gcc.dg/analyzer/strdup-1.c: Likewise. + +2023-08-22 Pan Li + + * gcc.target/riscv/rvv/base/float-point-wredusum.c: New test. + +2023-08-21 Thiago Jung Bauermann + + * gcc.dg/unroll-7.c: Remove xfail. + +2023-08-21 Tsukasa OI + + * gcc.target/riscv/xtheadba.c: Quote unquoted #error message. + * gcc.target/riscv/xtheadbb.c: Ditto. + * gcc.target/riscv/xtheadbs.c: Ditto. + * gcc.target/riscv/xtheadcmo.c: Ditto. + * gcc.target/riscv/xtheadcondmov.c: Ditto. + * gcc.target/riscv/xtheadfmemidx.c: Ditto. + * gcc.target/riscv/xtheadfmv.c: Ditto. + * gcc.target/riscv/xtheadint.c: Ditto. + * gcc.target/riscv/xtheadmac.c: Ditto. + * gcc.target/riscv/xtheadmemidx.c: Ditto. + * gcc.target/riscv/xtheadmempair.c: Ditto. + * gcc.target/riscv/xtheadsync.c: Ditto. + * gcc.target/riscv/zawrs.c: Ditto. + * gcc.target/riscv/zvbb.c: Ditto. + * gcc.target/riscv/zvbc.c: Ditto. + * gcc.target/riscv/zvkg.c: Ditto. + * gcc.target/riscv/zvkned.c: Ditto. + * gcc.target/riscv/zvknha.c: Ditto. + * gcc.target/riscv/zvknhb.c: Ditto. + * gcc.target/riscv/zvksed.c: Ditto. + * gcc.target/riscv/zvksh.c: Ditto. + * gcc.target/riscv/zvkt.c: Ditto. + +2023-08-21 Tsukasa OI + + * gcc.target/riscv/zvkn.c: Quote #error messages. + * gcc.target/riscv/zvkn-1.c: Ditto. + * gcc.target/riscv/zvknc.c: Ditto. + * gcc.target/riscv/zvknc-1.c: Ditto. + * gcc.target/riscv/zvknc-2.c: Ditto. + * gcc.target/riscv/zvkng.c: Ditto. + * gcc.target/riscv/zvkng-1.c: Ditto. + * gcc.target/riscv/zvkng-2.c: Ditto. + * gcc.target/riscv/zvks.c: Ditto. + * gcc.target/riscv/zvks-1.c: Ditto. + * gcc.target/riscv/zvksc.c: Ditto. + * gcc.target/riscv/zvksc-1.c: Ditto. + * gcc.target/riscv/zvksc-2.c: Ditto. + * gcc.target/riscv/zvksg.c: Ditto. + * gcc.target/riscv/zvksg-1.c: Ditto. + * gcc.target/riscv/zvksg-2.c: Ditto. + +2023-08-21 Richard Biener + + * gcc.target/i386/pr87007-5.c: Update comment, adjust subtest. + +2023-08-21 Richard Biener + + * lib/target-supports.exp: Add vect128, vect256 and vect512 + effective targets. + * gcc.dg/vect/bb-slp-subgroups-2.c: Properly handle the + vect256 case. + +2023-08-21 Prathamesh Kulkarni + + * gcc.dg/vect/pr65947-7.c: Add target check aarch64*-*-* and scan vect + dump for pattern "optimizing condition reduction with FOLD_EXTRACT_LAST" + for targets that support vect_fold_extract_last. + +2023-08-21 Richard Biener + + * gcc.dg/vect/bb-slp-46.c: Use division instead of addition + to avoid reduction vectorization. + +2023-08-21 liuhongt + + * gcc.target/i386/avx512f-pr88464-2.c: Add -mgather to + options. + * gcc.target/i386/avx512f-pr88464-3.c: Ditto. + * gcc.target/i386/avx512f-pr88464-4.c: Ditto. + * gcc.target/i386/avx512f-pr88464-6.c: Ditto. + * gcc.target/i386/avx512f-pr88464-7.c: Ditto. + * gcc.target/i386/avx512f-pr88464-8.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-10.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-12.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-13.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-14.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-15.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-16.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-2.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-4.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-5.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-6.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-7.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-8.c: Ditto. + +2023-08-21 Richard Biener + + PR tree-optimization/111082 + * gcc.dg/pr111082.c: New testcase. + +2023-08-21 Richard Biener + + PR tree-optimization/111070 + * gcc.dg/pr111070.c: New testcase. + +2023-08-21 Andrew Pinski + + PR tree-optimization/111002 + * gcc.target/aarch64/sve/cond_convert_8.c: New test. + +2023-08-21 Francois-Xavier Coudert + + * gcc.dg/lto/20091013-1_2.c: Add -Wno-stringop-overread. + +2023-08-20 Francois-Xavier Coudert + + * gcc.dg/darwin-minversion-link.c: Account for macOS 13 and 14. + +2023-08-20 Thiago Jung Bauermann + + PR testsuite/110756 + * g++.dg/gomp/pr58567.C: Adjust to new compiler error message. + +2023-08-20 Francois-Xavier Coudert + + * gcc.dg/plugin/taint-CVE-2011-0521-5-fixed.c: Use + _FORTIFY_SOURCE=0 on darwin. + * gcc.dg/plugin/taint-CVE-2011-0521-5.c: Likewise. + * gcc.dg/plugin/taint-CVE-2011-0521-6.c: Likewise. + +2023-08-20 Francois-Xavier Coudert + + * gcc.dg/ipa/ipa-icf-38.c: Require alias support. + +2023-08-20 Francois-Xavier Coudert + + * gcc.dg/plugin/crash-test-write-though-null-sarif.c: Update + expected pattern. + +2023-08-20 Francois-Xavier Coudert + + PR analyzer/104042 + * gcc.dg/analyzer/analyzer.exp: Pass -D_FORTIFY_SOURCE=0 on Darwin. + * gcc.dg/analyzer/fd-bind.c: Add missing header. + * gcc.dg/analyzer/fd-datagram-socket.c: Likewise. + * gcc.dg/analyzer/fd-listen.c: Likewise. + * gcc.dg/analyzer/fd-socket-misuse.c: Likewise. + * gcc.dg/analyzer/fd-stream-socket-active-open.c: Likewise. + * gcc.dg/analyzer/fd-stream-socket-passive-open.c: Likewise. + * gcc.dg/analyzer/fd-stream-socket.c: Likewise. + * gcc.dg/analyzer/fd-symbolic-socket.c: Likewise. + +2023-08-20 Andrew Pinski + + PR tree-optimization/111006 + * gcc.target/aarch64/sve/cond_convert_7.c: New test. + +2023-08-18 Thiago Jung Bauermann + + * lib/target-supports.exp (dg-require-python-h): Test + whether Python.h can really be used. + +2023-08-18 Uros Bizjak + + PR target/111023 + * gcc.target/i386/pr111023-2.c: New test. + * gcc.target/i386/pr111023-4b.c: New test. + * gcc.target/i386/pr111023-8b.c: New test. + * gcc.target/i386/pr111023.c: New test. + +2023-08-18 Aldy Hernandez + + PR ipa/110753 + * gcc.dg/tree-ssa/pr110753.c: New test. + +2023-08-18 Richard Biener + + PR tree-optimization/111019 + * g++.dg/torture/pr111019.C: New testcase. + +2023-08-18 Jose E. Marchesi + + * gcc.target/bpf/frame-limit-1.c: New test. + * gcc.target/bpf/frame-limit-2.c: Likewise. + +2023-08-18 Richard Biener + + PR tree-optimization/111048 + * gcc.dg/torture/pr111048.c: New testcase. + +2023-08-18 Haochen Jiang + + PR target/111051 + PR target/111051 + * gcc.target/i386/pr111051-1.c: New test. + +2023-08-18 Lehua Ding + + * gcc.target/riscv/_Float16-zhinxmin-3.c: Adjust. + * gcc.target/riscv/_Float16-zhinxmin-4.c: Ditto. + +2023-08-18 Lehua Ding + + * gcc.target/riscv/_Float16-zfhmin-4.c: New test. + * gcc.target/riscv/_Float16-zhinxmin-4.c: New test. + +2023-08-18 Lehua Ding + Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/scalar_move-5.c: Update. + * gcc.target/riscv/rvv/base/scalar_move-6.c: Ditto. + +2023-08-18 Lehua Ding + + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-1.c: + Address failure due to uninitialized vtype register. + +2023-08-17 Andrew MacLeod + + PR tree-optimization/111009 + * gcc.dg/pr111009.c: New. + +2023-08-17 Patrick O'Neill + Charlie Jenkins + + * gcc.target/riscv/zbb-rol-ror-08.c: New test. + * gcc.target/riscv/zbb-rol-ror-09.c: New test. + +2023-08-17 Jose E. Marchesi + + PR c/106537 + * gcc.c-torture/compile/pr106537-1.c: New test. + * gcc.c-torture/compile/pr106537-2.c: Likewise. + * gcc.c-torture/compile/pr106537-3.c: Likewise. + +2023-08-17 Tsukasa OI + + * gcc.target/riscv/zvkn.c: Deduplicate #error messages. + * gcc.target/riscv/zvkn-1.c: Ditto. + * gcc.target/riscv/zvknc.c: Ditto. + * gcc.target/riscv/zvknc-1.c: Ditto. + * gcc.target/riscv/zvknc-2.c: Ditto. + * gcc.target/riscv/zvkng.c: Ditto. + * gcc.target/riscv/zvkng-1.c: Ditto. + * gcc.target/riscv/zvkng-2.c: Ditto. + * gcc.target/riscv/zvks.c: Ditto. + * gcc.target/riscv/zvks-1.c: Ditto. + * gcc.target/riscv/zvksc.c: Ditto. + * gcc.target/riscv/zvksc-1.c: Ditto. + * gcc.target/riscv/zvksc-2.c: Ditto. + * gcc.target/riscv/zvksg.c: Ditto. + * gcc.target/riscv/zvksg-1.c: Ditto. + * gcc.target/riscv/zvksg-2.c: Ditto. + +2023-08-17 Richard Biener + + PR tree-optimization/111039 + * gcc.dg/pr111039.c: New testcase. + +2023-08-17 Lehua Ding + + * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Fix. + * gcc.target/riscv/rvv/autovec/partial/slp-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-6.c: Ditto. + +2023-08-17 Jose E. Marchesi + + * gcc.target/bpf/naked-1.c: New test. + +2023-08-17 Richard Biener + + * gcc.target/i386/vect-reduc-2.c: New testcase. + +2023-08-17 benjamin priour + + * g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C: + Remove dg-line var declare_a. + +2023-08-17 Pan Li + + * gcc.target/riscv/rvv/base/float-point-wredosum.c: New test. + +2023-08-17 Pan Li + + * gcc.target/riscv/rvv/base/float-point-redosum.c: New test. + +2023-08-17 Pan Li + + * gcc.target/riscv/rvv/base/float-point-redusum.c: New test. + +2023-08-17 Pan Li + + * gcc.target/riscv/rvv/base/float-point-ncvt-f.c: New test. + +2023-08-17 Pan Li + + * gcc.target/riscv/rvv/base/float-point-ncvt-xu.c: New test. + +2023-08-17 Pan Li + + * gcc.target/riscv/rvv/base/float-point-ncvt-x.c: New test. + +2023-08-17 Haochen Jiang + + * gcc.target/i386/avx10_1-vextractf64x2-1.c: New test. + * gcc.target/i386/avx10_1-vextracti64x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vfpclasspd-1.c: Ditto. + * gcc.target/i386/avx10_1-vfpclassps-1.c: Ditto. + * gcc.target/i386/avx10_1-vinsertf64x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vinserti64x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vrangepd-1.c: Ditto. + * gcc.target/i386/avx10_1-vrangeps-1.c: Ditto. + * gcc.target/i386/avx10_1-vreducepd-1.c: Ditto. + * gcc.target/i386/avx10_1-vreduceps-1.c: Ditto. + +2023-08-17 Haochen Jiang + + * gcc.target/i386/avx10_1-abs-copysign-1.c: New test. + * gcc.target/i386/avx10_1-vandpd-1.c: Ditto. + * gcc.target/i386/avx10_1-vandps-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtps2qq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtps2uqq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtqq2pd-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtqq2ps-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtuqq2pd-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtuqq2ps-1.c: Ditto. + * gcc.target/i386/avx10_1-vorpd-1.c: Ditto. + * gcc.target/i386/avx10_1-vorps-1.c: Ditto. + * gcc.target/i386/avx10_1-vpmovd2m-1.c: Ditto. + * gcc.target/i386/avx10_1-vpmovm2d-1.c: Ditto. + * gcc.target/i386/avx10_1-vpmovm2q-1.c: Ditto. + * gcc.target/i386/avx10_1-vpmovq2m-1.c: Ditto. + * gcc.target/i386/avx10_1-vxorpd-1.c: Ditto. + * gcc.target/i386/avx10_1-vxorps-1.c: Ditto. + +2023-08-17 Juzhe-Zhong + + PR target/111037 + * gcc.target/riscv/rvv/base/pr111037-1.c: New test. + * gcc.target/riscv/rvv/base/pr111037-2.c: New test. + +2023-08-17 Haochen Jiang + + * gcc.target/i386/avx10_1-vandnpd-1.c: New test. + * gcc.target/i386/avx10_1-vandnps-1.c: Ditto. + * gcc.target/i386/avx10_1-vbroadcastf32x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vbroadcastf64x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vbroadcasti32x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vbroadcasti64x2-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtpd2qq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvtpd2uqq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvttpd2qq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvttpd2uqq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvttps2qq-1.c: Ditto. + * gcc.target/i386/avx10_1-vcvttps2uqq-1.c: Ditto. + * gcc.target/i386/avx10_1-vpmullq-1.c: Ditto. + +2023-08-17 Haochen Jiang + + * gcc.target/i386/avx-1.c: Add -mavx10.1. + * gcc.target/i386/avx-2.c: Ditto. + * gcc.target/i386/sse-26.c: Skip AVX512VLDQ intrin file. + +2023-08-17 Haochen Jiang + + * gcc.target/i386/avx10_1-15.c: New test. + * gcc.target/i386/avx10_1-16.c: Ditto. + * gcc.target/i386/avx10_1-17.c: Ditto. + * gcc.target/i386/avx10_1-18.c: Ditto. + +2023-08-17 Haochen Jiang + + * gcc.target/i386/avx10_1-11.c: New test. + * gcc.target/i386/avx10_1-12.c: Ditto. + * gcc.target/i386/avx10_1-13.c: Ditto. + * gcc.target/i386/avx10_1-14.c: Ditto. + +2023-08-17 Haochen Jiang + + * g++.target/i386/mv33.C: New test. + * gcc.target/i386/avx10_1-1.c: Ditto. + * gcc.target/i386/avx10_1-2.c: Ditto. + * gcc.target/i386/avx10_1-3.c: Ditto. + * gcc.target/i386/avx10_1-4.c: Ditto. + * gcc.target/i386/avx10_1-5.c: Ditto. + * gcc.target/i386/avx10_1-6.c: Ditto. + * gcc.target/i386/avx10_1-7.c: Ditto. + * gcc.target/i386/avx10_1-8.c: Ditto. + * gcc.target/i386/avx10_1-9.c: Ditto. + * gcc.target/i386/avx10_1-10.c: Ditto. + +2023-08-17 Yanzhang Wang + + * gcc.target/riscv/rvv/base/simplify-vrsub.c: New test. + +2023-08-17 Andrew Pinski + + PR target/110986 + * gcc.target/aarch64/sve/cond_unary_9.c: New test. + +2023-08-16 Robin Dapp + + * gcc.target/riscv/rvv/autovec/widen/vec-avg-run.c: New test. + * gcc.target/riscv/rvv/autovec/widen/vec-avg-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/widen/vec-avg-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/widen/vec-avg-template.h: New test. + +2023-08-16 Robin Dapp + + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1u.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2u.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3u.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4u.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-runu.c: New test. + +2023-08-16 Pan Li + + * gcc.target/riscv/rvv/base/float-point-wcvt-xu.c: New test. + +2023-08-16 Pan Li + + * gcc.target/riscv/rvv/base/float-point-wcvt-x.c: New test. + +2023-08-16 Pan Li + + * gcc.target/riscv/rvv/base/float-point-cvt-f.c: New test. + +2023-08-16 Pan Li + + * gcc.target/riscv/rvv/base/float-point-cvt-xu.c: New test. + +2023-08-16 Haochen Gui + + PR target/110429 + * gcc.target/powerpc/pr110429.c: New. + +2023-08-16 Haochen Gui + + PR target/106769 + * gcc.target/powerpc/pr106769.h: New. + * gcc.target/powerpc/pr106769-p8.c: New. + * gcc.target/powerpc/pr106769-p9.c: New. + +2023-08-16 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-2.c: + Adapt test. + * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-6.c: Ditto. + * gcc.target/riscv/rvv/rvv.exp: Add lanes tests. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-1.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-2.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-3.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-4.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-5.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-6.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-7.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-1.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-2.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-3.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-4.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-5.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-6.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-7.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-1.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-2.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-3.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-4.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-5.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-6.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-7.c: New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-1.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-2.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-3.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-4.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-5.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-6.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-7.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-1.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-10.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-11.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-12.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-13.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-14.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-15.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-16.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-17.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-18.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-2.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-3.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-4.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-5.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-6.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-7.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-8.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-9.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-10.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-11.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-12.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-13.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-14.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-15.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-16.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-17.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-18.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-6.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-7.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-8.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-9.c: New test. + +2023-08-16 Pan Li + + * gcc.target/riscv/rvv/base/float-point-cvt-x.c: New test. + +2023-08-16 liuhongt + + * gcc.target/i386/avx2-gather-2.c: Adjust options to keep + gather vectorization. + * gcc.target/i386/avx2-gather-6.c: Ditto. + * gcc.target/i386/avx512f-pr88464-1.c: Ditto. + * gcc.target/i386/avx512f-pr88464-5.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-1.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-11.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-3.c: Ditto. + * gcc.target/i386/avx512vl-pr88464-9.c: Ditto. + * gcc.target/i386/pr88531-1b.c: Ditto. + * gcc.target/i386/pr88531-1c.c: Ditto. + +2023-08-16 liuhongt + + * gcc.target/i386/pr89229-4a.c: Adjust testcase. + +2023-08-15 David Faust + + PR target/111029 + * gcc.target/bpf/smov-2.c: New test. + * gcc.target/bpf/smov-pseudoc-2.c: New test. + +2023-08-15 Martin Jambor + + PR ipa/68930 + PR ipa/92497 + * gcc.dg/ipa/pr92497-1.c: New test. + * gcc.dg/ipa/pr92497-2.c: Likewise. + +2023-08-15 Iain Buclaw + + PR d/110959 + * gdc.dg/pr110959.d: New test. + +2023-08-15 Chung-Lin Tang + Thomas Schwinge + + * c-c++-common/goacc/default-3.c: Adjust testcase. + * c-c++-common/goacc/default-4.c: Adjust testcase. + * c-c++-common/goacc/default-5.c: Adjust testcase. + * gfortran.dg/goacc/default-3.f95: Adjust testcase. + * gfortran.dg/goacc/default-4.f: Adjust testcase. + * gfortran.dg/goacc/default-5.f: Adjust testcase. + +2023-08-15 Juzhe-Zhong + + PR target/110989 + * gcc.target/riscv/rvv/autovec/pr110989.c: Add vsetvli assembly check. + +2023-08-15 Richard Biener + + * gcc.dg/vect/bb-slp-75.c: New testcase. + +2023-08-15 Richard Biener + + PR tree-optimization/110963 + * gcc.dg/tree-ssa/ssa-pre-34.c: New testcase. + +2023-08-15 Richard Biener + + PR tree-optimization/110991 + * gcc.dg/tree-ssa/cunroll-16.c: New testcase. + +2023-08-15 Pan Li + + * gcc.target/riscv/mode-switch-ice-1.c: New test. + +2023-08-15 Pan Li + + * gcc.target/riscv/rvv/base/float-point-rec7.c: New test. + +2023-08-14 Mikael Morin + + * gfortran.dg/value_9.f90 (val, val4, sub, sub4): Take the error + codes from the arguments. + (p): Update calls: pass explicit distinct error codes. + +2023-08-14 Mikael Morin + + PR fortran/110360 + PR fortran/110419 + * gfortran.dg/bind_c_usage_13.f03: Update tree dump patterns. + +2023-08-14 benjamin priour + + PR analyzer/110543 + * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C: + New test. + * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C: + New test. + * g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C: + New test. + +2023-08-14 gnaggnoyil + + DR 2386 + PR c++/110216 + * g++.dg/cpp1z/decomp10.C: Update expected error for DR 2386. + * g++.dg/cpp1z/pr110216.C: New test. + +2023-08-14 Jiawei + + * gcc.target/riscv/arch-24.c: New test. + * gcc.target/riscv/arch-25.c: New test. + +2023-08-14 Pan Li + + * gcc.target/riscv/rvv/base/float-point-sqrt.c: New test. + +2023-08-14 Pan Li + + * gcc.target/riscv/rvv/base/float-point-wnmsac.c: New test. + +2023-08-14 Pan Li + + * gcc.target/riscv/rvv/base/float-point-wmsac.c: New test. + +2023-08-14 Pan Li + + * gcc.target/riscv/rvv/base/float-point-wnmacc.c: New test. + +2023-08-14 Pan Li + + * gcc.target/riscv/rvv/base/float-point-fwmacc.c: New test. + +2023-08-14 Pan Li + + * gcc.target/riscv/rvv/base/float-point-nmsub.c: New test. + +2023-08-12 Gaius Mulley + + PR modula2/108119 + * gm2/iso/check/fail/iso-check-fail.exp (gm2_init_iso): Add -fm2-plugin. + * gm2/switches/auto-init/fail/switches-auto-init-fail.exp + (gm2_init_iso): Add -fm2-plugin. + * gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp + (gm2_init_pim2): Add -fm2-plugin. + * gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp + (gm2_init_iso): Add -fm2-plugin. + * gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp + (gm2_init_pim2): Add -fm2-plugin. + +2023-08-12 Jakub Jelinek + + * gcc.dg/stdckdint-1.c: New test. + * gcc.dg/stdckdint-2.c: New test. + +2023-08-12 Juzhe-Zhong + + PR target/110994 + * gcc.target/riscv/rvv/autovec/vls/pr110994.c: New test. + +2023-08-12 Patrick Palka + Jason Merrill + + PR c++/106604 + * g++.dg/cpp1z/class-deduction74.C: Expect "defined" instead + of "declared" in the repeated deduction guide diagnostics. + * g++.dg/cpp1z/class-deduction116.C: New test. + +2023-08-12 Juzhe-Zhong + + PR target/110985 + * gcc.target/riscv/rvv/autovec/vls-vlmax/pr110985.c: New test. + +2023-08-12 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS CONST_VECTOR tests. + * gcc.target/riscv/rvv/autovec/vls/const-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/const-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/const-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/const-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/const-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/series-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/series-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/series-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/series-4.c: New test. + +2023-08-11 David Malcolm + + PR analyzer/105899 + * gcc.dg/analyzer/analyzer-decls.h (__analyzer_get_strlen): New. + * gcc.dg/analyzer/error-1.c (test_error_unterminated): New. + (test_error_at_line_unterminated): New. + * gcc.dg/analyzer/null-terminated-strings-1.c: New test. + * gcc.dg/analyzer/putenv-1.c (test_unterminated): New. + * gcc.dg/analyzer/strchr-1.c (test_unterminated): New. + * gcc.dg/analyzer/strcpy-1.c (test_unterminated): New. + * gcc.dg/analyzer/strdup-1.c (test_unterminated): New. + +2023-08-11 Juzhe-Zhong + + PR middle-end/110989 + * gcc.target/riscv/rvv/autovec/pr110989.c: New test. + +2023-08-11 Patrick O'Neill + + * gcc.target/riscv/amo-table-ztso-amo-add-1.c: Add -mabi=lp64d + to dg-options. + * gcc.target/riscv/amo-table-ztso-amo-add-2.c: Ditto. + * gcc.target/riscv/amo-table-ztso-amo-add-3.c: Ditto. + * gcc.target/riscv/amo-table-ztso-amo-add-4.c: Ditto. + * gcc.target/riscv/amo-table-ztso-amo-add-5.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-1.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-2.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-3.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-4.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-5.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-6.c: Ditto. + * gcc.target/riscv/amo-table-ztso-compare-exchange-7.c: Ditto. + * gcc.target/riscv/amo-table-ztso-fence-1.c: Ditto. + * gcc.target/riscv/amo-table-ztso-fence-2.c: Ditto. + * gcc.target/riscv/amo-table-ztso-fence-3.c: Ditto. + * gcc.target/riscv/amo-table-ztso-fence-4.c: Ditto. + * gcc.target/riscv/amo-table-ztso-fence-5.c: Ditto. + * gcc.target/riscv/amo-table-ztso-load-1.c: Ditto. + * gcc.target/riscv/amo-table-ztso-load-2.c: Ditto. + * gcc.target/riscv/amo-table-ztso-load-3.c: Ditto. + * gcc.target/riscv/amo-table-ztso-store-1.c: Ditto. + * gcc.target/riscv/amo-table-ztso-store-2.c: Ditto. + * gcc.target/riscv/amo-table-ztso-store-3.c: Ditto. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-1.c: Ditto. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-2.c: Ditto. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-3.c: Ditto. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-4.c: Ditto. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-5.c: Ditto. + +2023-08-11 Jose E. Marchesi + + * lib/target-supports.exp (check_effective_target_alloca): BPF + target does not support alloca. + * gcc.target/bpf/diag-alloca-1.c: New test. + * gcc.target/bpf/diag-alloca-2.c: Likewise. + * gcc.target/bpf/xbpf-callee-saved-regs-1.c: Remove test. + * gcc.target/bpf/xbpf-callee-saved-regs-2.c: Likewise. + * gcc.target/bpf/regs-availability-1.c: Likewise. + +2023-08-11 Jose E. Marchesi + + * gcc.target/bpf/diag-funargs-inline-1.c: New test. + * gcc.target/bpf/diag-funargs.c: Adapt test. + +2023-08-11 Eric Feng + + PR analyzer/107646 + * gcc.dg/plugin/analyzer_cpython_plugin.c: Analyzer support for + PyList_New, PyList_Append, PyLong_FromLong + * gcc.dg/plugin/plugin.exp: New test. + * lib/target-supports.exp: New procedure. + * gcc.dg/plugin/cpython-plugin-test-2.c: New test. + +2023-08-11 Patrick Palka + + PR c++/110927 + * g++.dg/cpp2a/concepts-requires35.C: New test. + +2023-08-11 Patrick Palka + + PR c++/71954 + * g++.dg/cpp1y/var-templ84.C: New test. + * g++.dg/cpp1y/var-templ84a.C: New test. + +2023-08-11 Richard Biener + + PR tree-optimization/110979 + * gcc.dg/torture/pr110979.c: New testcase. + +2023-08-11 Richard Biener + + * g++.dg/vect/slp-pr87105.cc: Adjust. + * gcc.dg/vect/bb-slp-17.c: Likewise. + * gcc.dg/vect/bb-slp-20.c: Likewise. + * gcc.dg/vect/bb-slp-21.c: Likewise. + * gcc.dg/vect/bb-slp-22.c: Likewise. + * gcc.dg/vect/bb-slp-subgroups-2.c: Likewise. + +2023-08-11 Pan Li + + * gcc.target/riscv/rvv/base/float-point-msub.c: New test. + +2023-08-11 Pan Li + + * gcc.target/riscv/rvv/base/float-point-nmadd.c: New test. + +2023-08-11 Drew Ross + Jakub Jelinek + + PR tree-optimization/109938 + * gcc.c-torture/execute/pr109938.c: New test. + * gcc.dg/tree-ssa/pr109938.c: New test. + +2023-08-11 Pan Li + + * gcc.target/riscv/rvv/base/float-point-madd.c: New test. + +2023-08-11 Pan Li + + * gcc.target/riscv/rvv/base/float-point-nmsac.c: New test. + +2023-08-11 Jakub Jelinek + + * gcc.dg/c11-typeof-2.c: New test. + * gcc.dg/c11-typeof-3.c: New test. + * gcc.dg/gnu11-typeof-3.c: New test. + * gcc.dg/gnu11-typeof-4.c: New test. + +2023-08-11 Andrew Pinski + + PR tree-optimization/110954 + * gcc.c-torture/execute/pr110954-1.c: New test. + +2023-08-11 Martin Uecker + + PR c/84510 + * gcc.dg/Wuseless-cast.c: New test. + +2023-08-11 Pan Li + + * gcc.target/riscv/rvv/base/float-point-msac.c: New test. + +2023-08-10 Jan Hubicka + + PR middle-end/110923 + * gcc.dg/tree-ssa/pr110923.c: New test. + +2023-08-10 Patrick O'Neill + + * gcc.target/riscv/amo-table-ztso-amo-add-1.c: New test. + * gcc.target/riscv/amo-table-ztso-amo-add-2.c: New test. + * gcc.target/riscv/amo-table-ztso-amo-add-3.c: New test. + * gcc.target/riscv/amo-table-ztso-amo-add-4.c: New test. + * gcc.target/riscv/amo-table-ztso-amo-add-5.c: New test. + * gcc.target/riscv/amo-table-ztso-compare-exchange-1.c: New test. + * gcc.target/riscv/amo-table-ztso-compare-exchange-2.c: New test. + * gcc.target/riscv/amo-table-ztso-compare-exchange-3.c: New test. + * gcc.target/riscv/amo-table-ztso-compare-exchange-4.c: New test. + * gcc.target/riscv/amo-table-ztso-compare-exchange-5.c: New test. + * gcc.target/riscv/amo-table-ztso-compare-exchange-6.c: New test. + * gcc.target/riscv/amo-table-ztso-compare-exchange-7.c: New test. + * gcc.target/riscv/amo-table-ztso-fence-1.c: New test. + * gcc.target/riscv/amo-table-ztso-fence-2.c: New test. + * gcc.target/riscv/amo-table-ztso-fence-3.c: New test. + * gcc.target/riscv/amo-table-ztso-fence-4.c: New test. + * gcc.target/riscv/amo-table-ztso-fence-5.c: New test. + * gcc.target/riscv/amo-table-ztso-load-1.c: New test. + * gcc.target/riscv/amo-table-ztso-load-2.c: New test. + * gcc.target/riscv/amo-table-ztso-load-3.c: New test. + * gcc.target/riscv/amo-table-ztso-store-1.c: New test. + * gcc.target/riscv/amo-table-ztso-store-2.c: New test. + * gcc.target/riscv/amo-table-ztso-store-3.c: New test. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-1.c: New test. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-2.c: New test. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-3.c: New test. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-4.c: New test. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-5.c: New test. + +2023-08-10 Jan Hubicka + + * gcc.dg/tree-ssa/phi_on_compare-1.c: Check profile consistency. + +2023-08-10 Pan Li + + * gcc.target/riscv/rvv/base/float-point-nmacc.c: New test. + +2023-08-10 Pan Li + + * gcc.target/riscv/rvv/base/float-point-macc.c: New test. + +2023-08-10 Juzhe-Zhong + + PR target/110964 + * gcc.target/riscv/rvv/autovec/pr110964.c: New test. + +2023-08-09 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-1.c: + Adapt test. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: Ditto. + +2023-08-09 David Malcolm + + * gcc.dg/analyzer/allocation-size-1.c: Update expected results + to reflect splitting of allocation size and assignment messages + from a single event into pairs of events + * gcc.dg/analyzer/allocation-size-2.c: Likewise. + * gcc.dg/analyzer/allocation-size-3.c: Likewise. + * gcc.dg/analyzer/allocation-size-4.c: Likewise. + * gcc.dg/analyzer/allocation-size-multiline-1.c: Likewise. + * gcc.dg/analyzer/allocation-size-multiline-2.c: Likewise. + * gcc.dg/analyzer/allocation-size-multiline-3.c: Likewise. + * gcc.dg/analyzer/memset-1.c (test_1): Verify that the return + value is the initial argument. + * gcc.dg/plugin/analyzer_kernel_plugin.c + (copy_across_boundary_fn::impl_call_pre): Ensure the LHS is set on + the "known zero size" case. + * gcc.dg/plugin/analyzer_known_fns_plugin.c + (known_function_attempt_to_copy::impl_call_pre): Likewise. + +2023-08-09 Andrew Pinski + + PR tree-optimization/110937 + PR tree-optimization/100798 + * gcc.dg/tree-ssa/bool-14.c: New test. + * gcc.dg/tree-ssa/bool-15.c: New test. + * gcc.dg/tree-ssa/phi-opt-33.c: New test. + * gcc.dg/tree-ssa/20030709-2.c: Update testcase + so `a ? -1 : 0` is not used to hit the match + pattern. + +2023-08-09 Carl Love + + * gcc.target/powerpc/vec-cmpne-runnable.c: New execution test. + * gcc.target/powerpc/vec-cmpne.c (define_test_functions, + execute_test_functions): Move to vec-cmpne.h. Add + scan-assembler-times for vcmpequb, vcmpequh, vcmpequw. + * gcc.target/powerpc/vec-cmpne.h: New include file for vec-cmpne.c + and vec-cmpne-runnable.c. Split define_test_functions definition + into define_test_functions and define_init_verify_functions. + +2023-08-09 Juzhe-Zhong + + PR target/110950 + * gcc.target/riscv/rvv/autovec/pr110950.c: New test. + +2023-08-08 Jeff Law + + * gcc.target/riscv/zicond-ice-1.c: New test. + +2023-08-08 Nathaniel Shead + + PR c++/100482 + * g++.dg/cpp0x/decltype-100482.C: New test. + +2023-08-08 Uros Bizjak + + PR target/110832 + * gcc.target/i386/pr110832-1.c: New test. + * gcc.target/i386/pr110832-2.c: New test. + * gcc.target/i386/pr110832-3.c: New test. + +2023-08-08 Andrew Pinski + + PR tree-optimization/103281 + PR tree-optimization/28794 + * gcc.dg/tree-ssa/pr103281-1.c: New test. + * gcc.dg/tree-ssa/vrp-compare-1.c: New test. + +2023-08-08 Pan Li + + * gcc.target/riscv/rvv/base/float-point-single-rsub.c: Enhance + cases. + * gcc.target/riscv/rvv/base/float-point-single-sub.c: Ditto. + +2023-08-08 Juzhe-Zhong + + * gcc.target/riscv/rvv/rvv.exp: Add condition tests. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-6.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-7.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-8.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-9.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-6.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-7.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-8.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-9.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-6.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-7.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-8.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-6.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-7.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-8.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-6.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-6.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-6.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-7.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-8.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-9.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-6.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-7.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-8.c: New test. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-9.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-1.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-2.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-3.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-4.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-5.c: New test. + +2023-08-08 Richard Biener + + PR tree-optimization/49955 + * gfortran.dg/vect/pr49955.f: New testcase. + +2023-08-08 Richard Biener + + PR tree-optimization/110924 + * gcc.dg/torture/pr110924.c: New testcase. + +2023-08-08 yulong + + * gcc.target/riscv/rvv/base/vslide1down-1.c: New test. + * gcc.target/riscv/rvv/base/vslide1down-2.c: New test. + * gcc.target/riscv/rvv/base/vslide1down-3.c: New test. + * gcc.target/riscv/rvv/base/vslide1up-1.c: New test. + * gcc.target/riscv/rvv/base/vslide1up-2.c: New test. + * gcc.target/riscv/rvv/base/vslide1up-3.c: New test. + +2023-08-08 Stefan Schulze Frielinghaus + + PR rtl-optimization/110869 + * gcc.dg/cmp-mem-const-1.c: Use optimization level 2. + * gcc.dg/cmp-mem-const-2.c: Dito. + * gcc.dg/cmp-mem-const-3.c: Exclude sparc from this test. + * gcc.dg/cmp-mem-const-4.c: Dito. + * gcc.dg/cmp-mem-const-5.c: Dito. + * gcc.dg/cmp-mem-const-6.c: Dito. + +2023-08-08 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Ditto. + * gcc.target/riscv/rvv/autovec/vls/neg-1.c: New test. + +2023-08-08 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS shift. + * gcc.target/riscv/rvv/autovec/vls/shift-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/shift-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/shift-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/shift-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/shift-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/shift-6.c: New test. + +2023-08-07 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add basic operations. + * gcc.target/riscv/rvv/autovec/vls/and-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/and-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/and-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/div-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/ior-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/ior-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/ior-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/max-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/min-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/minus-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/minus-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/minus-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mod-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mult-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/plus-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/plus-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/plus-3.c: New test. + +2023-08-07 Martin Jambor + + PR ipa/110378 + * g++.dg/ipa/pr110378-1.C: New test. + +2023-08-07 Andrew Pinski + + PR tree-optimization/109959 + * gcc.dg/tree-ssa/builtin-sprintf-warn-23.c: Remove xfail. + * c-c++-common/Wrestrict.c: Update test and remove some xfail. + * gcc.dg/tree-ssa/cmpeq-1.c: New test. + * gcc.dg/tree-ssa/cmpeq-2.c: New test. + * gcc.dg/tree-ssa/cmpeq-3.c: New test. + +2023-08-07 liuhongt + + * gcc.target/i386/pr110762-v4hf.c: New test. + +2023-08-07 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/binop/narrow-1.c: Adapt testcase. + +2023-08-07 Jan Hubicka + + PR tree-optimization/106293 + * gcc.dg/vect/vect-cond-11.c: Check profile consistency. + * gcc.dg/vect/vect-widen-mult-extern-1.c: Check profile consistency. + +2023-08-07 Andrew Pinski + + PR tree-optimization/96695 + * gcc.dg/pr96695-1.c: New test. + * gcc.dg/pr96695-10.c: New test. + * gcc.dg/pr96695-11.c: New test. + * gcc.dg/pr96695-12.c: New test. + * gcc.dg/pr96695-2.c: New test. + * gcc.dg/pr96695-3.c: New test. + * gcc.dg/pr96695-4.c: New test. + * gcc.dg/pr96695-5.c: New test. + * gcc.dg/pr96695-6.c: New test. + * gcc.dg/pr96695-7.c: New test. + * gcc.dg/pr96695-8.c: New test. + * gcc.dg/pr96695-9.c: New test. + +2023-08-06 Roger Sayle + + PR target/110792 + * gcc.target/i386/pr110792.c: Remove dg-final scan-assembler-not. + +2023-08-06 Jan Hubicka + + * gcc.dg/vect/vect-bitfield-read-1.c: Check profile consistency. + * gcc.dg/vect/vect-bitfield-read-2.c: Check profile consistency. + * gcc.dg/vect/vect-bitfield-read-3.c: Check profile consistency. + * gcc.dg/vect/vect-bitfield-read-4.c: Check profile consistency. + * gcc.dg/vect/vect-bitfield-read-5.c: Check profile consistency. + * gcc.dg/vect/vect-bitfield-read-6.c: Check profile consistency. + * gcc.dg/vect/vect-bitfield-read-7.c: Check profile consistency. + * gcc.dg/vect/vect-bitfield-write-1.c: Check profile consistency. + * gcc.dg/vect/vect-bitfield-write-2.c: Check profile consistency. + * gcc.dg/vect/vect-bitfield-write-3.c: Check profile consistency. + * gcc.dg/vect/vect-bitfield-write-4.c: Check profile consistency. + * gcc.dg/vect/vect-bitfield-write-5.c: Check profile consistency. + * gcc.dg/vect/vect-epilogues-2.c: Check profile consistency. + * gcc.dg/vect/vect-epilogues.c: Check profile consistency. + * gcc.dg/vect/vect-mask-store-move-1.c: Check profile consistency. + +2023-08-05 Gaius Mulley + + PR modula2/110779 + * gm2/iso/run/pass/m2date.mod: New test. + * gm2/iso/run/pass/testclock.mod: New test. + * gm2/iso/run/pass/testclock2.mod: New test. + +2023-08-05 Martin Uecker + + PR c/98536 + * gcc.dg/Wvla-parameter-4.c: Adapt test. + * gcc.dg/attr-access-2.c: Adapt test. + +2023-08-05 Martin Uecker + + * gcc.dg/pr68193.c: New test. + +2023-08-04 David Malcolm + + PR analyzer/110426 + * gcc.dg/analyzer/allocation-size-1.c: Update expected message to + reflect consolidation of size and assignment into a single event. + * gcc.dg/analyzer/allocation-size-2.c: Likewise. + * gcc.dg/analyzer/allocation-size-3.c: Likewise. + * gcc.dg/analyzer/allocation-size-4.c: Likewise. + * gcc.dg/analyzer/allocation-size-multiline-1.c: Likewise. + * gcc.dg/analyzer/allocation-size-multiline-2.c: Likewise. + * gcc.dg/analyzer/allocation-size-multiline-3.c: Likewise. + * gcc.dg/analyzer/attr-alloc_size-1.c: New test. + * gcc.dg/analyzer/attr-alloc_size-2.c: New test. + * gcc.dg/analyzer/attr-alloc_size-3.c: New test. + * gcc.dg/analyzer/explode-4.c: New test. + * gcc.dg/analyzer/taint-size-1.c: Add test coverage for + __attribute__ alloc_size. + +2023-08-04 Yan Simonaytes + + PR target/110202 + * gcc.target/i386/invariant-ternlog-1.c: New test. + * gcc.target/i386/invariant-ternlog-2.c: New test. + +2023-08-04 Roger Sayle + + * gcc.target/i386/pr110717-2.c: New test case. + +2023-08-04 Roger Sayle + + * gcc.target/i386/pr88873.c: Tweak to check for improved code. + +2023-08-04 Vladimir N. Makarov + + * gcc.target/avr/lra-cpymem_qi.c: New. + +2023-08-04 Tamar Christina + + * g++.dg/vect/pr84556.cc: Add novector pragma. + * g++.dg/vect/simd-1.cc: Add novector pragma. + * g++.dg/vect/simd-2.cc: Add novector pragma. + * g++.dg/vect/simd-3.cc: Add novector pragma. + * g++.dg/vect/simd-4.cc: Add novector pragma. + * g++.dg/vect/simd-5.cc: Add novector pragma. + * g++.dg/vect/simd-6.cc: Add novector pragma. + * g++.dg/vect/simd-7.cc: Add novector pragma. + * g++.dg/vect/simd-8.cc: Add novector pragma. + * g++.dg/vect/simd-9.cc: Add novector pragma. + * g++.dg/vect/simd-clone-6.cc: Add novector pragma. + * gcc.dg/vect/O3-pr70130.c: Add novector pragma. + * gcc.dg/vect/Os-vect-95.c: Add novector pragma. + * gcc.dg/vect/bb-slp-1.c: Add novector pragma. + * gcc.dg/vect/bb-slp-16.c: Add novector pragma. + * gcc.dg/vect/bb-slp-2.c: Add novector pragma. + * gcc.dg/vect/bb-slp-24.c: Add novector pragma. + * gcc.dg/vect/bb-slp-25.c: Add novector pragma. + * gcc.dg/vect/bb-slp-26.c: Add novector pragma. + * gcc.dg/vect/bb-slp-27.c: Add novector pragma. + * gcc.dg/vect/bb-slp-28.c: Add novector pragma. + * gcc.dg/vect/bb-slp-29.c: Add novector pragma. + * gcc.dg/vect/bb-slp-42.c: Add novector pragma. + * gcc.dg/vect/bb-slp-cond-1.c: Add novector pragma. + * gcc.dg/vect/bb-slp-over-widen-1.c: Add novector pragma. + * gcc.dg/vect/bb-slp-over-widen-2.c: Add novector pragma. + * gcc.dg/vect/bb-slp-pattern-1.c: Add novector pragma. + * gcc.dg/vect/bb-slp-pattern-2.c: Add novector pragma. + * gcc.dg/vect/bb-slp-pow-1.c: Add novector pragma. + * gcc.dg/vect/bb-slp-pr101615-2.c: Add novector pragma. + * gcc.dg/vect/bb-slp-pr65935.c: Add novector pragma. + * gcc.dg/vect/bb-slp-subgroups-1.c: Add novector pragma. + * gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: Add novector pragma. + * gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Add novector pragma. + * gcc.dg/vect/costmodel/i386/costmodel-vect-68.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-slp-34.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-31b.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-31c.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-33.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-68a.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-68b.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-68c.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-76a.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-76c.c: Add novector pragma. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Add novector pragma. + * gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c: Add novector pragma. + * gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c: Add novector pragma. + * gcc.dg/vect/costmodel/x86_64/costmodel-vect-68.c: Add novector pragma. + * gcc.dg/vect/fast-math-bb-slp-call-1.c: Add novector pragma. + * gcc.dg/vect/fast-math-bb-slp-call-2.c: Add novector pragma. + * gcc.dg/vect/fast-math-vect-call-1.c: Add novector pragma. + * gcc.dg/vect/fast-math-vect-call-2.c: Add novector pragma. + * gcc.dg/vect/fast-math-vect-complex-3.c: Add novector pragma. + * gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-noreassoc-outer-1.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-noreassoc-outer-2.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-noreassoc-outer-3.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-noreassoc-outer-5.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-10.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-10a.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-10b.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-11.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-12.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-15.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-16.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-17.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-18.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-19.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-20.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-21.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-22.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-3.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-4.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-5.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-6-global.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-6.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-7.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-8.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-9.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-9a.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-outer-9b.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-slp-30.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-slp-31.c: Add novector pragma. + * gcc.dg/vect/no-scevccp-vect-iv-2.c: Add novector pragma. + * gcc.dg/vect/no-section-anchors-vect-31.c: Add novector pragma. + * gcc.dg/vect/no-section-anchors-vect-34.c: Add novector pragma. + * gcc.dg/vect/no-section-anchors-vect-36.c: Add novector pragma. + * gcc.dg/vect/no-section-anchors-vect-64.c: Add novector pragma. + * gcc.dg/vect/no-section-anchors-vect-65.c: Add novector pragma. + * gcc.dg/vect/no-section-anchors-vect-66.c: Add novector pragma. + * gcc.dg/vect/no-section-anchors-vect-68.c: Add novector pragma. + * gcc.dg/vect/no-section-anchors-vect-69.c: Add novector pragma. + * gcc.dg/vect/no-section-anchors-vect-outer-4h.c: Add novector pragma. + * gcc.dg/vect/no-trapping-math-2.c: Add novector pragma. + * gcc.dg/vect/no-trapping-math-vect-111.c: Add novector pragma. + * gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c: Add novector pragma. + * gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c: Add novector pragma. + * gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c: Add novector pragma. + * gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c: Add novector pragma. + * gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c: Add novector pragma. + * gcc.dg/vect/no-tree-dom-vect-bug.c: Add novector pragma. + * gcc.dg/vect/no-tree-pre-slp-29.c: Add novector pragma. + * gcc.dg/vect/no-vfa-pr29145.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-101.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-102.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-102a.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-37.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-43.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-45.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-49.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-51.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-53.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-57.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-61.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-79.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-depend-1.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-depend-2.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-depend-3.c: Add novector pragma. + * gcc.dg/vect/no-vfa-vect-dv-2.c: Add novector pragma. + * gcc.dg/vect/pr101445.c: Add novector pragma. + * gcc.dg/vect/pr103581.c: Add novector pragma. + * gcc.dg/vect/pr105219.c: Add novector pragma. + * gcc.dg/vect/pr108608.c: Add novector pragma. + * gcc.dg/vect/pr18400.c: Add novector pragma. + * gcc.dg/vect/pr18536.c: Add novector pragma. + * gcc.dg/vect/pr20122.c: Add novector pragma. + * gcc.dg/vect/pr25413.c: Add novector pragma. + * gcc.dg/vect/pr30784.c: Add novector pragma. + * gcc.dg/vect/pr37539.c: Add novector pragma. + * gcc.dg/vect/pr40074.c: Add novector pragma. + * gcc.dg/vect/pr45752.c: Add novector pragma. + * gcc.dg/vect/pr45902.c: Add novector pragma. + * gcc.dg/vect/pr46009.c: Add novector pragma. + * gcc.dg/vect/pr48172.c: Add novector pragma. + * gcc.dg/vect/pr51074.c: Add novector pragma. + * gcc.dg/vect/pr51581-3.c: Add novector pragma. + * gcc.dg/vect/pr51581-4.c: Add novector pragma. + * gcc.dg/vect/pr53185-2.c: Add novector pragma. + * gcc.dg/vect/pr56918.c: Add novector pragma. + * gcc.dg/vect/pr56920.c: Add novector pragma. + * gcc.dg/vect/pr56933.c: Add novector pragma. + * gcc.dg/vect/pr57705.c: Add novector pragma. + * gcc.dg/vect/pr57741-2.c: Add novector pragma. + * gcc.dg/vect/pr57741-3.c: Add novector pragma. + * gcc.dg/vect/pr59591-1.c: Add novector pragma. + * gcc.dg/vect/pr59591-2.c: Add novector pragma. + * gcc.dg/vect/pr59594.c: Add novector pragma. + * gcc.dg/vect/pr59984.c: Add novector pragma. + * gcc.dg/vect/pr60276.c: Add novector pragma. + * gcc.dg/vect/pr61194.c: Add novector pragma. + * gcc.dg/vect/pr61680.c: Add novector pragma. + * gcc.dg/vect/pr62021.c: Add novector pragma. + * gcc.dg/vect/pr63341-2.c: Add novector pragma. + * gcc.dg/vect/pr64252.c: Add novector pragma. + * gcc.dg/vect/pr64404.c: Add novector pragma. + * gcc.dg/vect/pr64421.c: Add novector pragma. + * gcc.dg/vect/pr64493.c: Add novector pragma. + * gcc.dg/vect/pr64495.c: Add novector pragma. + * gcc.dg/vect/pr66251.c: Add novector pragma. + * gcc.dg/vect/pr66253.c: Add novector pragma. + * gcc.dg/vect/pr68502-1.c: Add novector pragma. + * gcc.dg/vect/pr68502-2.c: Add novector pragma. + * gcc.dg/vect/pr69820.c: Add novector pragma. + * gcc.dg/vect/pr70021.c: Add novector pragma. + * gcc.dg/vect/pr70354-1.c: Add novector pragma. + * gcc.dg/vect/pr70354-2.c: Add novector pragma. + * gcc.dg/vect/pr71259.c: Add novector pragma. + * gcc.dg/vect/pr78005.c: Add novector pragma. + * gcc.dg/vect/pr78558.c: Add novector pragma. + * gcc.dg/vect/pr80815-2.c: Add novector pragma. + * gcc.dg/vect/pr80815-3.c: Add novector pragma. + * gcc.dg/vect/pr80928.c: Add novector pragma. + * gcc.dg/vect/pr81410.c: Add novector pragma. + * gcc.dg/vect/pr81633.c: Add novector pragma. + * gcc.dg/vect/pr81740-1.c: Add novector pragma. + * gcc.dg/vect/pr81740-2.c: Add novector pragma. + * gcc.dg/vect/pr85586.c: Add novector pragma. + * gcc.dg/vect/pr87288-1.c: Add novector pragma. + * gcc.dg/vect/pr87288-2.c: Add novector pragma. + * gcc.dg/vect/pr87288-3.c: Add novector pragma. + * gcc.dg/vect/pr88903-1.c: Add novector pragma. + * gcc.dg/vect/pr88903-2.c: Add novector pragma. + * gcc.dg/vect/pr90018.c: Add novector pragma. + * gcc.dg/vect/pr92420.c: Add novector pragma. + * gcc.dg/vect/pr94994.c: Add novector pragma. + * gcc.dg/vect/pr96783-1.c: Add novector pragma. + * gcc.dg/vect/pr96783-2.c: Add novector pragma. + * gcc.dg/vect/pr97081-2.c: Add novector pragma. + * gcc.dg/vect/pr97558-2.c: Add novector pragma. + * gcc.dg/vect/pr97678.c: Add novector pragma. + * gcc.dg/vect/section-anchors-pr27770.c: Add novector pragma. + * gcc.dg/vect/section-anchors-vect-69.c: Add novector pragma. + * gcc.dg/vect/slp-1.c: Add novector pragma. + * gcc.dg/vect/slp-10.c: Add novector pragma. + * gcc.dg/vect/slp-11a.c: Add novector pragma. + * gcc.dg/vect/slp-11b.c: Add novector pragma. + * gcc.dg/vect/slp-11c.c: Add novector pragma. + * gcc.dg/vect/slp-12a.c: Add novector pragma. + * gcc.dg/vect/slp-12b.c: Add novector pragma. + * gcc.dg/vect/slp-12c.c: Add novector pragma. + * gcc.dg/vect/slp-13-big-array.c: Add novector pragma. + * gcc.dg/vect/slp-13.c: Add novector pragma. + * gcc.dg/vect/slp-14.c: Add novector pragma. + * gcc.dg/vect/slp-15.c: Add novector pragma. + * gcc.dg/vect/slp-16.c: Add novector pragma. + * gcc.dg/vect/slp-17.c: Add novector pragma. + * gcc.dg/vect/slp-18.c: Add novector pragma. + * gcc.dg/vect/slp-19a.c: Add novector pragma. + * gcc.dg/vect/slp-19b.c: Add novector pragma. + * gcc.dg/vect/slp-19c.c: Add novector pragma. + * gcc.dg/vect/slp-2.c: Add novector pragma. + * gcc.dg/vect/slp-20.c: Add novector pragma. + * gcc.dg/vect/slp-21.c: Add novector pragma. + * gcc.dg/vect/slp-22.c: Add novector pragma. + * gcc.dg/vect/slp-23.c: Add novector pragma. + * gcc.dg/vect/slp-24-big-array.c: Add novector pragma. + * gcc.dg/vect/slp-24.c: Add novector pragma. + * gcc.dg/vect/slp-25.c: Add novector pragma. + * gcc.dg/vect/slp-26.c: Add novector pragma. + * gcc.dg/vect/slp-28.c: Add novector pragma. + * gcc.dg/vect/slp-3-big-array.c: Add novector pragma. + * gcc.dg/vect/slp-3.c: Add novector pragma. + * gcc.dg/vect/slp-33.c: Add novector pragma. + * gcc.dg/vect/slp-34-big-array.c: Add novector pragma. + * gcc.dg/vect/slp-34.c: Add novector pragma. + * gcc.dg/vect/slp-35.c: Add novector pragma. + * gcc.dg/vect/slp-37.c: Add novector pragma. + * gcc.dg/vect/slp-4-big-array.c: Add novector pragma. + * gcc.dg/vect/slp-4.c: Add novector pragma. + * gcc.dg/vect/slp-41.c: Add novector pragma. + * gcc.dg/vect/slp-43.c: Add novector pragma. + * gcc.dg/vect/slp-45.c: Add novector pragma. + * gcc.dg/vect/slp-46.c: Add novector pragma. + * gcc.dg/vect/slp-47.c: Add novector pragma. + * gcc.dg/vect/slp-48.c: Add novector pragma. + * gcc.dg/vect/slp-49.c: Add novector pragma. + * gcc.dg/vect/slp-5.c: Add novector pragma. + * gcc.dg/vect/slp-6.c: Add novector pragma. + * gcc.dg/vect/slp-7.c: Add novector pragma. + * gcc.dg/vect/slp-8.c: Add novector pragma. + * gcc.dg/vect/slp-9.c: Add novector pragma. + * gcc.dg/vect/slp-cond-1.c: Add novector pragma. + * gcc.dg/vect/slp-cond-2-big-array.c: Add novector pragma. + * gcc.dg/vect/slp-cond-2.c: Add novector pragma. + * gcc.dg/vect/slp-cond-3.c: Add novector pragma. + * gcc.dg/vect/slp-cond-4.c: Add novector pragma. + * gcc.dg/vect/slp-cond-5.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-1.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-10.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-11-big-array.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-11.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-12.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-2.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-3.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-4.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-5.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-6.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-7.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-8.c: Add novector pragma. + * gcc.dg/vect/slp-multitypes-9.c: Add novector pragma. + * gcc.dg/vect/slp-perm-1.c: Add novector pragma. + * gcc.dg/vect/slp-perm-10.c: Add novector pragma. + * gcc.dg/vect/slp-perm-11.c: Add novector pragma. + * gcc.dg/vect/slp-perm-12.c: Add novector pragma. + * gcc.dg/vect/slp-perm-2.c: Add novector pragma. + * gcc.dg/vect/slp-perm-3.c: Add novector pragma. + * gcc.dg/vect/slp-perm-4.c: Add novector pragma. + * gcc.dg/vect/slp-perm-5.c: Add novector pragma. + * gcc.dg/vect/slp-perm-6.c: Add novector pragma. + * gcc.dg/vect/slp-perm-7.c: Add novector pragma. + * gcc.dg/vect/slp-perm-8.c: Add novector pragma. + * gcc.dg/vect/slp-perm-9.c: Add novector pragma. + * gcc.dg/vect/slp-widen-mult-half.c: Add novector pragma. + * gcc.dg/vect/slp-widen-mult-s16.c: Add novector pragma. + * gcc.dg/vect/slp-widen-mult-u8.c: Add novector pragma. + * gcc.dg/vect/vect-100.c: Add novector pragma. + * gcc.dg/vect/vect-103.c: Add novector pragma. + * gcc.dg/vect/vect-104.c: Add novector pragma. + * gcc.dg/vect/vect-105-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-105.c: Add novector pragma. + * gcc.dg/vect/vect-106.c: Add novector pragma. + * gcc.dg/vect/vect-107.c: Add novector pragma. + * gcc.dg/vect/vect-108.c: Add novector pragma. + * gcc.dg/vect/vect-109.c: Add novector pragma. + * gcc.dg/vect/vect-11.c: Add novector pragma. + * gcc.dg/vect/vect-110.c: Add novector pragma. + * gcc.dg/vect/vect-113.c: Add novector pragma. + * gcc.dg/vect/vect-114.c: Add novector pragma. + * gcc.dg/vect/vect-115.c: Add novector pragma. + * gcc.dg/vect/vect-116.c: Add novector pragma. + * gcc.dg/vect/vect-117.c: Add novector pragma. + * gcc.dg/vect/vect-11a.c: Add novector pragma. + * gcc.dg/vect/vect-12.c: Add novector pragma. + * gcc.dg/vect/vect-122.c: Add novector pragma. + * gcc.dg/vect/vect-124.c: Add novector pragma. + * gcc.dg/vect/vect-13.c: Add novector pragma. + * gcc.dg/vect/vect-14.c: Add novector pragma. + * gcc.dg/vect/vect-15-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-15.c: Add novector pragma. + * gcc.dg/vect/vect-17.c: Add novector pragma. + * gcc.dg/vect/vect-18.c: Add novector pragma. + * gcc.dg/vect/vect-19.c: Add novector pragma. + * gcc.dg/vect/vect-2-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-2.c: Add novector pragma. + * gcc.dg/vect/vect-20.c: Add novector pragma. + * gcc.dg/vect/vect-21.c: Add novector pragma. + * gcc.dg/vect/vect-22.c: Add novector pragma. + * gcc.dg/vect/vect-23.c: Add novector pragma. + * gcc.dg/vect/vect-24.c: Add novector pragma. + * gcc.dg/vect/vect-25.c: Add novector pragma. + * gcc.dg/vect/vect-26.c: Add novector pragma. + * gcc.dg/vect/vect-27.c: Add novector pragma. + * gcc.dg/vect/vect-28.c: Add novector pragma. + * gcc.dg/vect/vect-29.c: Add novector pragma. + * gcc.dg/vect/vect-3.c: Add novector pragma. + * gcc.dg/vect/vect-30.c: Add novector pragma. + * gcc.dg/vect/vect-31-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-31.c: Add novector pragma. + * gcc.dg/vect/vect-32-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-32.c: Add novector pragma. + * gcc.dg/vect/vect-33-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-33.c: Add novector pragma. + * gcc.dg/vect/vect-34-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-34.c: Add novector pragma. + * gcc.dg/vect/vect-35-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-35.c: Add novector pragma. + * gcc.dg/vect/vect-36-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-36.c: Add novector pragma. + * gcc.dg/vect/vect-38.c: Add novector pragma. + * gcc.dg/vect/vect-4.c: Add novector pragma. + * gcc.dg/vect/vect-40.c: Add novector pragma. + * gcc.dg/vect/vect-42.c: Add novector pragma. + * gcc.dg/vect/vect-44.c: Add novector pragma. + * gcc.dg/vect/vect-46.c: Add novector pragma. + * gcc.dg/vect/vect-48.c: Add novector pragma. + * gcc.dg/vect/vect-5.c: Add novector pragma. + * gcc.dg/vect/vect-50.c: Add novector pragma. + * gcc.dg/vect/vect-52.c: Add novector pragma. + * gcc.dg/vect/vect-54.c: Add novector pragma. + * gcc.dg/vect/vect-56.c: Add novector pragma. + * gcc.dg/vect/vect-58.c: Add novector pragma. + * gcc.dg/vect/vect-6-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-6.c: Add novector pragma. + * gcc.dg/vect/vect-60.c: Add novector pragma. + * gcc.dg/vect/vect-62.c: Add novector pragma. + * gcc.dg/vect/vect-63.c: Add novector pragma. + * gcc.dg/vect/vect-64.c: Add novector pragma. + * gcc.dg/vect/vect-65.c: Add novector pragma. + * gcc.dg/vect/vect-66.c: Add novector pragma. + * gcc.dg/vect/vect-67.c: Add novector pragma. + * gcc.dg/vect/vect-68.c: Add novector pragma. + * gcc.dg/vect/vect-7.c: Add novector pragma. + * gcc.dg/vect/vect-70.c: Add novector pragma. + * gcc.dg/vect/vect-71.c: Add novector pragma. + * gcc.dg/vect/vect-72.c: Add novector pragma. + * gcc.dg/vect/vect-73-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-73.c: Add novector pragma. + * gcc.dg/vect/vect-74-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-74.c: Add novector pragma. + * gcc.dg/vect/vect-75-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-75.c: Add novector pragma. + * gcc.dg/vect/vect-76-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-76.c: Add novector pragma. + * gcc.dg/vect/vect-77-alignchecks.c: Add novector pragma. + * gcc.dg/vect/vect-77-global.c: Add novector pragma. + * gcc.dg/vect/vect-77.c: Add novector pragma. + * gcc.dg/vect/vect-78-alignchecks.c: Add novector pragma. + * gcc.dg/vect/vect-78-global.c: Add novector pragma. + * gcc.dg/vect/vect-78.c: Add novector pragma. + * gcc.dg/vect/vect-8.c: Add novector pragma. + * gcc.dg/vect/vect-80-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-80.c: Add novector pragma. + * gcc.dg/vect/vect-82.c: Add novector pragma. + * gcc.dg/vect/vect-82_64.c: Add novector pragma. + * gcc.dg/vect/vect-83.c: Add novector pragma. + * gcc.dg/vect/vect-83_64.c: Add novector pragma. + * gcc.dg/vect/vect-85-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-85.c: Add novector pragma. + * gcc.dg/vect/vect-86.c: Add novector pragma. + * gcc.dg/vect/vect-87.c: Add novector pragma. + * gcc.dg/vect/vect-88.c: Add novector pragma. + * gcc.dg/vect/vect-89-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-89.c: Add novector pragma. + * gcc.dg/vect/vect-9.c: Add novector pragma. + * gcc.dg/vect/vect-92.c: Add novector pragma. + * gcc.dg/vect/vect-93.c: Add novector pragma. + * gcc.dg/vect/vect-95.c: Add novector pragma. + * gcc.dg/vect/vect-96.c: Add novector pragma. + * gcc.dg/vect/vect-97-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-97.c: Add novector pragma. + * gcc.dg/vect/vect-98-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-98.c: Add novector pragma. + * gcc.dg/vect/vect-99.c: Add novector pragma. + * gcc.dg/vect/vect-alias-check-10.c: Add novector pragma. + * gcc.dg/vect/vect-alias-check-11.c: Add novector pragma. + * gcc.dg/vect/vect-alias-check-12.c: Add novector pragma. + * gcc.dg/vect/vect-alias-check-14.c: Add novector pragma. + * gcc.dg/vect/vect-alias-check-15.c: Add novector pragma. + * gcc.dg/vect/vect-alias-check-16.c: Add novector pragma. + * gcc.dg/vect/vect-alias-check-18.c: Add novector pragma. + * gcc.dg/vect/vect-alias-check-19.c: Add novector pragma. + * gcc.dg/vect/vect-alias-check-20.c: Add novector pragma. + * gcc.dg/vect/vect-alias-check-8.c: Add novector pragma. + * gcc.dg/vect/vect-alias-check-9.c: Add novector pragma. + * gcc.dg/vect/vect-align-1.c: Add novector pragma. + * gcc.dg/vect/vect-align-2.c: Add novector pragma. + * gcc.dg/vect/vect-all-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-all.c: Add novector pragma. + * gcc.dg/vect/vect-avg-1.c: Add novector pragma. + * gcc.dg/vect/vect-avg-11.c: Add novector pragma. + * gcc.dg/vect/vect-avg-15.c: Add novector pragma. + * gcc.dg/vect/vect-avg-16.c: Add novector pragma. + * gcc.dg/vect/vect-avg-5.c: Add novector pragma. + * gcc.dg/vect/vect-bitfield-write-1.c: Add novector pragma. + * gcc.dg/vect/vect-bitfield-write-2.c: Add novector pragma. + * gcc.dg/vect/vect-bitfield-write-3.c: Add novector pragma. + * gcc.dg/vect/vect-bitfield-write-4.c: Add novector pragma. + * gcc.dg/vect/vect-bitfield-write-5.c: Add novector pragma. + * gcc.dg/vect/vect-bool-cmp.c: Add novector pragma. + * gcc.dg/vect/vect-bswap16.c: Add novector pragma. + * gcc.dg/vect/vect-bswap32.c: Add novector pragma. + * gcc.dg/vect/vect-bswap64.c: Add novector pragma. + * gcc.dg/vect/vect-complex-1.c: Add novector pragma. + * gcc.dg/vect/vect-complex-2.c: Add novector pragma. + * gcc.dg/vect/vect-complex-4.c: Add novector pragma. + * gcc.dg/vect/vect-cond-1.c: Add novector pragma. + * gcc.dg/vect/vect-cond-10.c: Add novector pragma. + * gcc.dg/vect/vect-cond-11.c: Add novector pragma. + * gcc.dg/vect/vect-cond-3.c: Add novector pragma. + * gcc.dg/vect/vect-cond-4.c: Add novector pragma. + * gcc.dg/vect/vect-cond-5.c: Add novector pragma. + * gcc.dg/vect/vect-cond-6.c: Add novector pragma. + * gcc.dg/vect/vect-cond-7.c: Add novector pragma. + * gcc.dg/vect/vect-cond-8.c: Add novector pragma. + * gcc.dg/vect/vect-cond-9.c: Add novector pragma. + * gcc.dg/vect/vect-cond-arith-1.c: Add novector pragma. + * gcc.dg/vect/vect-cond-arith-3.c: Add novector pragma. + * gcc.dg/vect/vect-cond-arith-4.c: Add novector pragma. + * gcc.dg/vect/vect-cond-arith-5.c: Add novector pragma. + * gcc.dg/vect/vect-cond-arith-6.c: Add novector pragma. + * gcc.dg/vect/vect-cond-arith-7.c: Add novector pragma. + * gcc.dg/vect/vect-cselim-1.c: Add novector pragma. + * gcc.dg/vect/vect-cselim-2.c: Add novector pragma. + * gcc.dg/vect/vect-div-bitmask-4.c: Add novector pragma. + * gcc.dg/vect/vect-div-bitmask-5.c: Add novector pragma. + * gcc.dg/vect/vect-div-bitmask.h: Add novector pragma. + * gcc.dg/vect/vect-double-reduc-1.c: Add novector pragma. + * gcc.dg/vect/vect-double-reduc-2.c: Add novector pragma. + * gcc.dg/vect/vect-double-reduc-3.c: Add novector pragma. + * gcc.dg/vect/vect-double-reduc-4.c: Add novector pragma. + * gcc.dg/vect/vect-double-reduc-5.c: Add novector pragma. + * gcc.dg/vect/vect-double-reduc-6-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-double-reduc-6.c: Add novector pragma. + * gcc.dg/vect/vect-double-reduc-7.c: Add novector pragma. + * gcc.dg/vect/vect-float-extend-1.c: Add novector pragma. + * gcc.dg/vect/vect-float-truncate-1.c: Add novector pragma. + * gcc.dg/vect/vect-floatint-conversion-1.c: Add novector pragma. + * gcc.dg/vect/vect-floatint-conversion-2.c: Add novector pragma. + * gcc.dg/vect/vect-fma-1.c: Add novector pragma. + * gcc.dg/vect/vect-gather-1.c: Add novector pragma. + * gcc.dg/vect/vect-gather-3.c: Add novector pragma. + * gcc.dg/vect/vect-ifcvt-11.c: Add novector pragma. + * gcc.dg/vect/vect-ifcvt-16.c: Add novector pragma. + * gcc.dg/vect/vect-ifcvt-17.c: Add novector pragma. + * gcc.dg/vect/vect-ifcvt-2.c: Add novector pragma. + * gcc.dg/vect/vect-ifcvt-3.c: Add novector pragma. + * gcc.dg/vect/vect-ifcvt-4.c: Add novector pragma. + * gcc.dg/vect/vect-ifcvt-5.c: Add novector pragma. + * gcc.dg/vect/vect-ifcvt-6.c: Add novector pragma. + * gcc.dg/vect/vect-ifcvt-7.c: Add novector pragma. + * gcc.dg/vect/vect-ifcvt-9.c: Add novector pragma. + * gcc.dg/vect/vect-intfloat-conversion-1.c: Add novector pragma. + * gcc.dg/vect/vect-intfloat-conversion-2.c: Add novector pragma. + * gcc.dg/vect/vect-intfloat-conversion-3.c: Add novector pragma. + * gcc.dg/vect/vect-intfloat-conversion-4a.c: Add novector pragma. + * gcc.dg/vect/vect-intfloat-conversion-4b.c: Add novector pragma. + * gcc.dg/vect/vect-iv-1.c: Add novector pragma. + * gcc.dg/vect/vect-iv-10.c: Add novector pragma. + * gcc.dg/vect/vect-iv-2.c: Add novector pragma. + * gcc.dg/vect/vect-iv-3.c: Add novector pragma. + * gcc.dg/vect/vect-iv-4.c: Add novector pragma. + * gcc.dg/vect/vect-iv-5.c: Add novector pragma. + * gcc.dg/vect/vect-iv-6.c: Add novector pragma. + * gcc.dg/vect/vect-iv-7.c: Add novector pragma. + * gcc.dg/vect/vect-iv-8-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-iv-8.c: Add novector pragma. + * gcc.dg/vect/vect-iv-8a-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-iv-8a.c: Add novector pragma. + * gcc.dg/vect/vect-live-1.c: Add novector pragma. + * gcc.dg/vect/vect-live-2.c: Add novector pragma. + * gcc.dg/vect/vect-live-3.c: Add novector pragma. + * gcc.dg/vect/vect-live-4.c: Add novector pragma. + * gcc.dg/vect/vect-live-5.c: Add novector pragma. + * gcc.dg/vect/vect-live-slp-1.c: Add novector pragma. + * gcc.dg/vect/vect-live-slp-2.c: Add novector pragma. + * gcc.dg/vect/vect-live-slp-3.c: Add novector pragma. + * gcc.dg/vect/vect-mask-load-1.c: Add novector pragma. + * gcc.dg/vect/vect-mask-loadstore-1.c: Add novector pragma. + * gcc.dg/vect/vect-mulhrs-1.c: Add novector pragma. + * gcc.dg/vect/vect-mult-const-pattern-1.c: Add novector pragma. + * gcc.dg/vect/vect-mult-const-pattern-2.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-1.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-10.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-11.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-12.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-13.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-14.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-16.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-17.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-2.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-3.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-4.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-5.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-6.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-8.c: Add novector pragma. + * gcc.dg/vect/vect-multitypes-9.c: Add novector pragma. + * gcc.dg/vect/vect-nb-iter-ub-1.c: Add novector pragma. + * gcc.dg/vect/vect-nb-iter-ub-2.c: Add novector pragma. + * gcc.dg/vect/vect-nb-iter-ub-3.c: Add novector pragma. + * gcc.dg/vect/vect-neg-store-1.c: Add novector pragma. + * gcc.dg/vect/vect-neg-store-2.c: Add novector pragma. + * gcc.dg/vect/vect-nest-cycle-1.c: Add novector pragma. + * gcc.dg/vect/vect-nest-cycle-2.c: Add novector pragma. + * gcc.dg/vect/vect-nest-cycle-3.c: Add novector pragma. + * gcc.dg/vect/vect-outer-2-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-outer-2.c: Add novector pragma. + * gcc.dg/vect/vect-outer-2a-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-outer-2a.c: Add novector pragma. + * gcc.dg/vect/vect-outer-2b.c: Add novector pragma. + * gcc.dg/vect/vect-outer-2c-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-outer-2c.c: Add novector pragma. + * gcc.dg/vect/vect-outer-2d.c: Add novector pragma. + * gcc.dg/vect/vect-outer-3-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-outer-3.c: Add novector pragma. + * gcc.dg/vect/vect-outer-3a-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-outer-3a.c: Add novector pragma. + * gcc.dg/vect/vect-outer-3b.c: Add novector pragma. + * gcc.dg/vect/vect-outer-3c.c: Add novector pragma. + * gcc.dg/vect/vect-outer-4.c: Add novector pragma. + * gcc.dg/vect/vect-outer-4d-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-outer-4d.c: Add novector pragma. + * gcc.dg/vect/vect-outer-5.c: Add novector pragma. + * gcc.dg/vect/vect-outer-6.c: Add novector pragma. + * gcc.dg/vect/vect-outer-fir-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-outer-fir-lb-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-outer-fir-lb.c: Add novector pragma. + * gcc.dg/vect/vect-outer-fir.c: Add novector pragma. + * gcc.dg/vect/vect-outer-simd-1.c: Add novector pragma. + * gcc.dg/vect/vect-outer-simd-2.c: Add novector pragma. + * gcc.dg/vect/vect-outer-simd-3.c: Add novector pragma. + * gcc.dg/vect/vect-outer-slp-2.c: Add novector pragma. + * gcc.dg/vect/vect-outer-slp-3.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-1-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-1.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-11.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-13.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-15.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-17.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-18.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-19.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-2-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-2.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-20.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-21.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-22.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-3-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-3.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-4-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-4.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-5.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-7.c: Add novector pragma. + * gcc.dg/vect/vect-over-widen-9.c: Add novector pragma. + * gcc.dg/vect/vect-peel-1-src.c: Add novector pragma. + * gcc.dg/vect/vect-peel-2-src.c: Add novector pragma. + * gcc.dg/vect/vect-peel-4-src.c: Add novector pragma. + * gcc.dg/vect/vect-recurr-1.c: Add novector pragma. + * gcc.dg/vect/vect-recurr-2.c: Add novector pragma. + * gcc.dg/vect/vect-recurr-3.c: Add novector pragma. + * gcc.dg/vect/vect-recurr-4.c: Add novector pragma. + * gcc.dg/vect/vect-recurr-5.c: Add novector pragma. + * gcc.dg/vect/vect-recurr-6.c: Add novector pragma. + * gcc.dg/vect/vect-sdiv-pow2-1.c: Add novector pragma. + * gcc.dg/vect/vect-sdivmod-1.c: Add novector pragma. + * gcc.dg/vect/vect-shift-1.c: Add novector pragma. + * gcc.dg/vect/vect-shift-3.c: Add novector pragma. + * gcc.dg/vect/vect-shift-4.c: Add novector pragma. + * gcc.dg/vect/vect-simd-1.c: Add novector pragma. + * gcc.dg/vect/vect-simd-10.c: Add novector pragma. + * gcc.dg/vect/vect-simd-11.c: Add novector pragma. + * gcc.dg/vect/vect-simd-12.c: Add novector pragma. + * gcc.dg/vect/vect-simd-13.c: Add novector pragma. + * gcc.dg/vect/vect-simd-14.c: Add novector pragma. + * gcc.dg/vect/vect-simd-15.c: Add novector pragma. + * gcc.dg/vect/vect-simd-16.c: Add novector pragma. + * gcc.dg/vect/vect-simd-17.c: Add novector pragma. + * gcc.dg/vect/vect-simd-18.c: Add novector pragma. + * gcc.dg/vect/vect-simd-19.c: Add novector pragma. + * gcc.dg/vect/vect-simd-20.c: Add novector pragma. + * gcc.dg/vect/vect-simd-8.c: Add novector pragma. + * gcc.dg/vect/vect-simd-9.c: Add novector pragma. + * gcc.dg/vect/vect-simd-clone-1.c: Add novector pragma. + * gcc.dg/vect/vect-simd-clone-10.c: Add novector pragma. + * gcc.dg/vect/vect-simd-clone-11.c: Add novector pragma. + * gcc.dg/vect/vect-simd-clone-15.c: Add novector pragma. + * gcc.dg/vect/vect-simd-clone-2.c: Add novector pragma. + * gcc.dg/vect/vect-simd-clone-3.c: Add novector pragma. + * gcc.dg/vect/vect-simd-clone-4.c: Add novector pragma. + * gcc.dg/vect/vect-simd-clone-5.c: Add novector pragma. + * gcc.dg/vect/vect-simd-clone-6.c: Add novector pragma. + * gcc.dg/vect/vect-simd-clone-7.c: Add novector pragma. + * gcc.dg/vect/vect-simd-clone-8.c: Add novector pragma. + * gcc.dg/vect/vect-simd-clone-9.c: Add novector pragma. + * gcc.dg/vect/vect-strided-a-mult.c: Add novector pragma. + * gcc.dg/vect/vect-strided-a-u16-i2.c: Add novector pragma. + * gcc.dg/vect/vect-strided-a-u16-i4.c: Add novector pragma. + * gcc.dg/vect/vect-strided-a-u16-mult.c: Add novector pragma. + * gcc.dg/vect/vect-strided-a-u32-mult.c: Add novector pragma. + * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Add novector pragma. + * gcc.dg/vect/vect-strided-a-u8-i8-gap2-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Add novector pragma. + * gcc.dg/vect/vect-strided-a-u8-i8-gap7-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Add novector pragma. + * gcc.dg/vect/vect-strided-float.c: Add novector pragma. + * gcc.dg/vect/vect-strided-mult-char-ls.c: Add novector pragma. + * gcc.dg/vect/vect-strided-mult.c: Add novector pragma. + * gcc.dg/vect/vect-strided-same-dr.c: Add novector pragma. + * gcc.dg/vect/vect-strided-shift-1.c: Add novector pragma. + * gcc.dg/vect/vect-strided-store-a-u8-i2.c: Add novector pragma. + * gcc.dg/vect/vect-strided-store-u16-i4.c: Add novector pragma. + * gcc.dg/vect/vect-strided-store-u32-i2.c: Add novector pragma. + * gcc.dg/vect/vect-strided-store.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u16-i2.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u16-i3.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u16-i4.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u32-i4.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u32-i8.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u32-mult.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u8-i2-gap.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u8-i2.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u8-i8-gap2-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u8-i8-gap2.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u8-i8-gap4-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u8-i8-gap4.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u8-i8-gap7-big-array.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u8-i8-gap7.c: Add novector pragma. + * gcc.dg/vect/vect-strided-u8-i8.c: Add novector pragma. + * gcc.dg/vect/vect-vfa-01.c: Add novector pragma. + * gcc.dg/vect/vect-vfa-02.c: Add novector pragma. + * gcc.dg/vect/vect-vfa-03.c: Add novector pragma. + * gcc.dg/vect/vect-vfa-04.c: Add novector pragma. + * gcc.dg/vect/vect-vfa-slp.c: Add novector pragma. + * gcc.dg/vect/vect-widen-mult-1.c: Add novector pragma. + * gcc.dg/vect/vect-widen-mult-const-s16.c: Add novector pragma. + * gcc.dg/vect/vect-widen-mult-const-u16.c: Add novector pragma. + * gcc.dg/vect/vect-widen-mult-half-u8.c: Add novector pragma. + * gcc.dg/vect/vect-widen-mult-half.c: Add novector pragma. + * gcc.dg/vect/vect-widen-mult-s16.c: Add novector pragma. + * gcc.dg/vect/vect-widen-mult-s8.c: Add novector pragma. + * gcc.dg/vect/vect-widen-mult-u16.c: Add novector pragma. + * gcc.dg/vect/vect-widen-mult-u8-s16-s32.c: Add novector pragma. + * gcc.dg/vect/vect-widen-mult-u8-u32.c: Add novector pragma. + * gcc.dg/vect/vect-widen-mult-u8.c: Add novector pragma. + * gcc.dg/vect/vect-widen-shift-s16.c: Add novector pragma. + * gcc.dg/vect/vect-widen-shift-s8.c: Add novector pragma. + * gcc.dg/vect/vect-widen-shift-u16.c: Add novector pragma. + * gcc.dg/vect/vect-widen-shift-u8.c: Add novector pragma. + * gcc.dg/vect/wrapv-vect-7.c: Add novector pragma. + +2023-08-04 Tamar Christina + + * gcc.dg/vect/vect-novector-pragma.c: New test. + +2023-08-04 Tamar Christina + + * g++.dg/vect/vect.exp (support vect- prefix). + * g++.dg/vect/vect-novector-pragma.cc: New test. + +2023-08-04 Tamar Christina + + PR target/106346 + * gcc.target/aarch64/pr98772.c: Adjust assembly. + * gcc.target/aarch64/vect-widen-shift.c: New test. + +2023-08-04 Richard Biener + + PR tree-optimization/110838 + * gcc.dg/vect/pr110838.c: New testcase. + +2023-08-04 Pan Li + + Revert: + 2023-08-04 Pan Li + + * gcc.target/riscv/rvv/base/float-point-single-multiply-add.c: New test. + +2023-08-04 Pan Li + + Revert: + 2023-08-04 Pan Li + + * gcc.target/riscv/rvv/base/float-point-single-negate-multiply-add.c: + New test. + +2023-08-04 Pan Li + + Revert: + 2023-08-04 Pan Li + + * gcc.target/riscv/rvv/base/float-point-single-multiply-sub.c: New test. + +2023-08-04 Pan Li + + Revert: + 2023-08-04 Pan Li + + * gcc.target/riscv/rvv/base/float-point-single-negate-multiply-sub.c: + New test. + +2023-08-04 Andrew Pinski + + PR tree-optimization/110874 + * gcc.c-torture/compile/pr110874-a.c: New test. + +2023-08-04 Drew Ross + + PR middle-end/101955 + * gcc.dg/pr101955.c: New test. + +2023-08-04 Pan Li + + * gcc.target/riscv/rvv/base/float-point-single-negate-multiply-sub.c: + New test. + +2023-08-04 Pan Li + + * gcc.target/riscv/rvv/base/float-point-single-multiply-sub.c: New test. + +2023-08-04 Pan Li + + * gcc.target/riscv/rvv/base/float-point-single-negate-multiply-add.c: + New test. + +2023-08-04 Hao Liu + + * gcc.target/aarch64/pr110625_3.c: New testcase. + +2023-08-04 Pan Li + + * gcc.target/riscv/rvv/base/float-point-single-multiply-add.c: New test. + +2023-08-04 Pan Li + + * gcc.target/riscv/rvv/base/float-point-widening-mul.c: New test. + +2023-08-04 Pan Li + + * gcc.target/riscv/rvv/base/float-point-single-div.c: New test. + * gcc.target/riscv/rvv/base/float-point-single-rdiv.c: New test. + +2023-08-03 Aldy Hernandez + + * g++.dg/ipa/pure-const-3.C: Move source to... + * g++.dg/ipa/pure-const-3.h: ...here, and adjust original test + accordingly. + * g++.dg/ipa/pure-const-3b.C: New. + +2023-08-03 Cupertino Miranda + + * gcc.target/bpf/core-builtin-enumvalue.c: New test. + * gcc.target/bpf/core-builtin-enumvalue-errors.c: New test. + * gcc.target/bpf/core-builtin-enumvalue-opt.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-const-elimination.c: New test. + * gcc.target/bpf/core-builtin-fieldinfo-errors-1.c: Changed. + * gcc.target/bpf/core-builtin-fieldinfo-errors-2.c: Changed. + * gcc.target/bpf/core-builtin-type-based.c: New test. + * gcc.target/bpf/core-builtin-type-id.c: New test. + * gcc.target/bpf/core-support.h: New test. + +2023-08-03 David Malcolm + + PR analyzer/108171 + * gcc.dg/analyzer/pr108171.c: New test. + +2023-08-03 David Malcolm + + PR analyzer/110882 + * gcc.dg/analyzer/pr110882.c: New test. + +2023-08-03 Richard Sandiford + + * gcc.dg/plugin/poly-int-tests.h (test_can_div_trunc_p_const) + (test_can_div_trunc_p_const): Add more tests. + +2023-08-03 Richard Biener + + PR tree-optimization/110838 + * gcc.dg/torture/pr110838.c: New testcase. + +2023-08-03 Richard Biener + + PR tree-optimization/110702 + * gcc.dg/torture/pr110702.c: New testcase. + +2023-08-03 Richard Biener + + * gcc.dg/tree-ssa/ssa-sink-20.c: New testcase. + +2023-08-03 Richard Biener + + * gcc.target/i386/pr87007-5.c: Make sure we split the loop + and eliminate both in the end. + +2023-08-03 Stefan Schulze Frielinghaus + + * gcc.target/s390/s390.exp: Add subdirectory vxe2. + * gcc.target/s390/vxe2/vlbr-1.c: New test. + * gcc.target/s390/vxe2/vstbr-1.c: New test. + * gcc.target/s390/vxe2/vstbr-2.c: New test. + +2023-08-03 Stefan Schulze Frielinghaus + + * lib/target-supports.exp (check_effective_target_vect_bswap): + Add s390. + +2023-08-03 Yanzhang Wang + + * gcc.target/riscv/omit-frame-pointer-1.c: New test. + * gcc.target/riscv/omit-frame-pointer-2.c: New test. + * gcc.target/riscv/omit-frame-pointer-3.c: New test. + * gcc.target/riscv/omit-frame-pointer-4.c: New test. + * gcc.target/riscv/omit-frame-pointer-test.c: New test. + +2023-08-03 Roger Sayle + + PR target/110792 + * g++.target/i386/pr110792.C: New 32-bit C++ test case. + * gcc.target/i386/pr110792.c: New 64-bit C test case. + +2023-08-03 Pan Li + + * gcc.target/riscv/rvv/base/float-point-single-mul.c: New test. + +2023-08-03 Andrew Pinski + + * gcc.c-torture/execute/20230802-1.c: New test. + +2023-08-03 Pan Li + + * gcc.target/riscv/rvv/base/float-point-widening-sub.c: New test. + +2023-08-02 Eric Feng + + PR analyzer/107646 + * gcc.dg/plugin/plugin.exp: Add new plugin and test. + * gcc.dg/plugin/analyzer_cpython_plugin.c: New plugin. + * gcc.dg/plugin/cpython-plugin-test-1.c: New test. + +2023-08-02 Stefan Schulze Frielinghaus + + PR rtl-optimization/110869 + * gcc.dg/cmp-mem-const-1.c: Relax mode for constant. + * gcc.dg/cmp-mem-const-2.c: Relax mode for constant. + * gcc.dg/cmp-mem-const-3.c: Relax mode for constant. + * gcc.dg/cmp-mem-const-4.c: Relax mode for constant. + * gcc.dg/cmp-mem-const-5.c: Exclude sparc since here the + constant is already reduced. + * gcc.dg/cmp-mem-const-6.c: Exclude sparc since here the + constant is already reduced. + +2023-08-02 Richard Biener + + PR tree-optimization/92335 + * gcc.dg/tree-ssa/ssa-sink-10.c: Disable vectorizing. + * gcc.dg/tree-ssa/predcom-9.c: Clone from ssa-sink-10.c, + expect predictive commoning to happen instead of sinking. + * gcc.dg/vect/pr65947-3.c: Ajdust. + +2023-08-02 Pan Li + + * gcc.target/riscv/rvv/base/float-point-widening-add.c: New test. + +2023-08-02 Jan Hubicka + + * gcc.dg/unroll-1.c: Fix template. + +2023-08-02 Jan Hubicka + + * gcc.dg/vect/pr98308.c: Check that profile is consistent. + +2023-08-02 liuhongt + + * gcc.target/i386/pr81904.c: New test. + +2023-08-02 liuhongt + + * gcc.target/i386/vlddqu_vinserti128.c: New test. + +2023-08-01 Gaius Mulley + + PR modula2/110161 + * gm2/pim/fail/badxproc.mod: New test. + +2023-08-01 Andreas Krebbel + + * gcc.target/s390/aligned-1.c: New test. + * gcc.target/s390/unaligned-1.c: New test. + +2023-08-01 Jan Hubicka + + * gcc.dg/vect/vect-1-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-1.c: Check profile consistency. + * gcc.dg/vect/vect-10-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-10.c: Check profile consistency. + * gcc.dg/vect/vect-100.c: Check profile consistency. + * gcc.dg/vect/vect-103.c: Check profile consistency. + * gcc.dg/vect/vect-104.c: Check profile consistency. + * gcc.dg/vect/vect-105-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-105.c: Check profile consistency. + * gcc.dg/vect/vect-106.c: Check profile consistency. + * gcc.dg/vect/vect-107.c: Check profile consistency. + * gcc.dg/vect/vect-108.c: Check profile consistency. + * gcc.dg/vect/vect-109.c: Check profile consistency. + * gcc.dg/vect/vect-11.c: Check profile consistency. + * gcc.dg/vect/vect-110.c: Check profile consistency. + * gcc.dg/vect/vect-112-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-112.c: Check profile consistency. + * gcc.dg/vect/vect-113.c: Check profile consistency. + * gcc.dg/vect/vect-114.c: Check profile consistency. + * gcc.dg/vect/vect-115.c: Check profile consistency. + * gcc.dg/vect/vect-116.c: Check profile consistency. + * gcc.dg/vect/vect-117.c: Check profile consistency. + * gcc.dg/vect/vect-118.c: Check profile consistency. + * gcc.dg/vect/vect-119.c: Check profile consistency. + * gcc.dg/vect/vect-11a.c: Check profile consistency. + * gcc.dg/vect/vect-12.c: Check profile consistency. + * gcc.dg/vect/vect-120.c: Check profile consistency. + * gcc.dg/vect/vect-121.c: Check profile consistency. + * gcc.dg/vect/vect-122.c: Check profile consistency. + * gcc.dg/vect/vect-123.c: Check profile consistency. + * gcc.dg/vect/vect-124.c: Check profile consistency. + * gcc.dg/vect/vect-126.c: Check profile consistency. + * gcc.dg/vect/vect-13.c: Check profile consistency. + * gcc.dg/vect/vect-14.c: Check profile consistency. + * gcc.dg/vect/vect-15-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-15.c: Check profile consistency. + * gcc.dg/vect/vect-17.c: Check profile consistency. + * gcc.dg/vect/vect-18.c: Check profile consistency. + * gcc.dg/vect/vect-19.c: Check profile consistency. + * gcc.dg/vect/vect-2-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-2.c: Check profile consistency. + * gcc.dg/vect/vect-20.c: Check profile consistency. + * gcc.dg/vect/vect-21.c: Check profile consistency. + * gcc.dg/vect/vect-22.c: Check profile consistency. + * gcc.dg/vect/vect-23.c: Check profile consistency. + * gcc.dg/vect/vect-24.c: Check profile consistency. + * gcc.dg/vect/vect-25.c: Check profile consistency. + * gcc.dg/vect/vect-26.c: Check profile consistency. + * gcc.dg/vect/vect-27.c: Check profile consistency. + * gcc.dg/vect/vect-28.c: Check profile consistency. + * gcc.dg/vect/vect-29.c: Check profile consistency. + * gcc.dg/vect/vect-3.c: Check profile consistency. + * gcc.dg/vect/vect-30.c: Check profile consistency. + * gcc.dg/vect/vect-31-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-31.c: Check profile consistency. + * gcc.dg/vect/vect-32-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-32-chars.c: Check profile consistency. + * gcc.dg/vect/vect-32.c: Check profile consistency. + * gcc.dg/vect/vect-33-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-33.c: Check profile consistency. + * gcc.dg/vect/vect-34-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-34.c: Check profile consistency. + * gcc.dg/vect/vect-35-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-35.c: Check profile consistency. + * gcc.dg/vect/vect-36-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-36.c: Check profile consistency. + * gcc.dg/vect/vect-38.c: Check profile consistency. + * gcc.dg/vect/vect-4.c: Check profile consistency. + * gcc.dg/vect/vect-40.c: Check profile consistency. + * gcc.dg/vect/vect-42.c: Check profile consistency. + * gcc.dg/vect/vect-44.c: Check profile consistency. + * gcc.dg/vect/vect-46.c: Check profile consistency. + * gcc.dg/vect/vect-48.c: Check profile consistency. + * gcc.dg/vect/vect-5.c: Check profile consistency. + * gcc.dg/vect/vect-50.c: Check profile consistency. + * gcc.dg/vect/vect-52.c: Check profile consistency. + * gcc.dg/vect/vect-54.c: Check profile consistency. + * gcc.dg/vect/vect-56.c: Check profile consistency. + * gcc.dg/vect/vect-58.c: Check profile consistency. + * gcc.dg/vect/vect-6-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-6.c: Check profile consistency. + * gcc.dg/vect/vect-60.c: Check profile consistency. + * gcc.dg/vect/vect-62.c: Check profile consistency. + * gcc.dg/vect/vect-63.c: Check profile consistency. + * gcc.dg/vect/vect-64.c: Check profile consistency. + * gcc.dg/vect/vect-65.c: Check profile consistency. + * gcc.dg/vect/vect-66.c: Check profile consistency. + * gcc.dg/vect/vect-67.c: Check profile consistency. + * gcc.dg/vect/vect-68.c: Check profile consistency. + * gcc.dg/vect/vect-7.c: Check profile consistency. + * gcc.dg/vect/vect-70.c: Check profile consistency. + * gcc.dg/vect/vect-71.c: Check profile consistency. + * gcc.dg/vect/vect-72.c: Check profile consistency. + * gcc.dg/vect/vect-73-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-73.c: Check profile consistency. + * gcc.dg/vect/vect-74-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-74.c: Check profile consistency. + * gcc.dg/vect/vect-75-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-75.c: Check profile consistency. + * gcc.dg/vect/vect-76-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-76.c: Check profile consistency. + * gcc.dg/vect/vect-77-alignchecks.c: Check profile consistency. + * gcc.dg/vect/vect-77-global.c: Check profile consistency. + * gcc.dg/vect/vect-77.c: Check profile consistency. + * gcc.dg/vect/vect-78-alignchecks.c: Check profile consistency. + * gcc.dg/vect/vect-78-global.c: Check profile consistency. + * gcc.dg/vect/vect-78.c: Check profile consistency. + * gcc.dg/vect/vect-8.c: Check profile consistency. + * gcc.dg/vect/vect-80-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-80.c: Check profile consistency. + * gcc.dg/vect/vect-82.c: Check profile consistency. + * gcc.dg/vect/vect-82_64.c: Check profile consistency. + * gcc.dg/vect/vect-83.c: Check profile consistency. + * gcc.dg/vect/vect-83_64.c: Check profile consistency. + * gcc.dg/vect/vect-85-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-85.c: Check profile consistency. + * gcc.dg/vect/vect-86.c: Check profile consistency. + * gcc.dg/vect/vect-87.c: Check profile consistency. + * gcc.dg/vect/vect-88.c: Check profile consistency. + * gcc.dg/vect/vect-89-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-89.c: Check profile consistency. + * gcc.dg/vect/vect-9.c: Check profile consistency. + * gcc.dg/vect/vect-91.c: Check profile consistency. + * gcc.dg/vect/vect-92.c: Check profile consistency. + * gcc.dg/vect/vect-93.c: Check profile consistency. + * gcc.dg/vect/vect-95.c: Check profile consistency. + * gcc.dg/vect/vect-96.c: Check profile consistency. + * gcc.dg/vect/vect-97-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-97.c: Check profile consistency. + * gcc.dg/vect/vect-98-big-array.c: Check profile consistency. + * gcc.dg/vect/vect-98.c: Check profile consistency. + * gcc.dg/vect/vect-99.c: Check profile consistency. + +2023-08-01 Pan Li + Juzhe-Zhong + + * gcc.target/riscv/rvv/base/float-point-frm-insert-7.c: Adjust + test cases. + * gcc.target/riscv/rvv/base/float-point-frm-run-1.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-run-2.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-run-3.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-33.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-34.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-35.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-36.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-37.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-38.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-39.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-40.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-41.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-42.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-43.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-44.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-45.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-46.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-47.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-48.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-49.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-50.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-51.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-52.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-53.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-54.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-55.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-56.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-57.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-58.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-59.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-60.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-61.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-62.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-63.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-64.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-65.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-66.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-67.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-68.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-69.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-70.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-71.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-72.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-73.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-74.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-75.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-76.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-77.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-run-4.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-run-5.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-run.h: New test. + +2023-08-01 Pan Li + + * gcc.target/riscv/rvv/base/float-point-single-rsub.c: New test. + * gcc.target/riscv/rvv/base/float-point-single-sub.c: New test. + +2023-08-01 liuhongt + + * gcc.target/i386/pr87007-4.c: Adjust testcase. + * gcc.target/i386/pr87007-5.c: Ditto. + +2023-08-01 Gaius Mulley + + PR modula2/110865 + * gm2/iso/pass/constvec.mod: New test. + * gm2/iso/pass/constvec2.mod: New test. + * gm2/iso/run/pass/constvec3.mod: New test. + +2023-08-01 Andrew Pinski + + PR tree-optimization/93044 + * gcc.dg/tree-ssa/cast-1.c: New test. + * gcc.dg/tree-ssa/cast-2.c: New test. + +2023-07-31 Hamza Mahfooz + + PR c/65213 + * gcc.dg/Wmissing-variable-declarations.c: New test. + +2023-07-31 Andrew Pinski + + PR tree-optimization/106164 + * gcc.dg/tree-ssa/cmpbit-2.c: New test. + +2023-07-31 Andrew Pinski + + PR tree-optimization/106164 + * gcc.dg/tree-ssa/cmpbit-1.c: New test. + +2023-07-31 Andrew Pinski + + PR tree-optimization/100864 + * gcc.dg/tree-ssa/bitops-3.c: New test. + +2023-07-31 Andrew MacLeod + + * gcc.dg/pr110582.c: New. + +2023-07-31 David Malcolm + + PR analyzer/109361 + * c-c++-common/diagnostic-format-sarif-file-timevars-1.c: New test. + * c-c++-common/diagnostic-format-sarif-file-timevars-2.c: New test. + +2023-07-31 Chung-Lin Tang + + * c-c++-common/goacc/host_data-2.c: Adjust testcase. + * gfortran.dg/goacc/host_data-error.f90: New testcase. + * gfortran.dg/goacc/pr71704.f90: Adjust testcase. + +2023-07-31 Stefan Schulze Frielinghaus + + * gcc.dg/cmp-mem-const-1.c: New test. + * gcc.dg/cmp-mem-const-2.c: New test. + * gcc.dg/cmp-mem-const-3.c: New test. + * gcc.dg/cmp-mem-const-4.c: New test. + * gcc.dg/cmp-mem-const-5.c: New test. + * gcc.dg/cmp-mem-const-6.c: New test. + * gcc.target/s390/cmp-mem-const-1.c: New test. + +2023-07-31 Hao Liu + + * gcc.target/aarch64/pr110625_1.c: New testcase. + * gcc.target/aarch64/pr110625_2.c: New testcase. + +2023-07-31 Roger Sayle + + PR target/110843 + * gcc.target/i386/pr110843.c: New test case. + +2023-07-31 Pan Li + + * gcc.target/riscv/rvv/base/float-point-frm-insert-1.c: Adjust + test cases. + * gcc.target/riscv/rvv/base/float-point-frm.c: Ditto. + +2023-07-31 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/v-1.c: Adapt test. + * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/dup-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/dup-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/dup-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/dup-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/dup-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/dup-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/dup-7.c: New test. + +2023-07-29 Roger Sayle + + PR target/110790 + * gcc.target/i386/pr110790-1.c: New test case. + * gcc.target/i386/pr110790-2.c: Likewise. + +2023-07-29 Jan Hubicka + + * gcc.dg/tree-ssa/vect-profile-upate-2.c: New test. + +2023-07-28 Harald Anlauf + + PR fortran/110825 + * gfortran.dg/assumed_type_18.f90: New test. + +2023-07-28 Patrick O'Neill + + * gcc.target/riscv/rvv/autovec/madd-split2-1.c: Add -mabi=lp64d + to dg-options. + +2023-07-28 Ng YongXiang + + PR c++/110057 + PR ipa/83054 + * g++.dg/warn/pr83054.C: Remove devirtualization warning. + * g++.dg/lto/pr89335_0.C: Likewise. + * g++.dg/tree-ssa/devirt-array-destructor-1.C: New test. + * g++.dg/tree-ssa/devirt-array-destructor-2.C: New test. + * g++.dg/warn/pr83054-2.C: New test. + +2023-07-28 Jan Hubicka + + PR middle-end/77689 + * g++.dg/tree-ssa/loop-split-1.C: New test. + +2023-07-28 Jan Hubicka + + PR middle-end/106293 + * gcc.dg/tree-prof/loop-split-1.c: New test. + * gcc.dg/tree-prof/loop-split-2.c: New test. + * gcc.dg/tree-prof/loop-split-3.c: New test. + +2023-07-28 xuli + + * g++.target/riscv/rvv/base/bug-12.C: Adapt testcase. + * g++.target/riscv/rvv/base/bug-14.C: Ditto. + * g++.target/riscv/rvv/base/bug-18.C: Ditto. + * g++.target/riscv/rvv/base/bug-19.C: Ditto. + * g++.target/riscv/rvv/base/bug-20.C: Ditto. + * g++.target/riscv/rvv/base/bug-21.C: Ditto. + * g++.target/riscv/rvv/base/bug-22.C: Ditto. + * g++.target/riscv/rvv/base/bug-23.C: Ditto. + * g++.target/riscv/rvv/base/bug-3.C: Ditto. + * g++.target/riscv/rvv/base/bug-8.C: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-100.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-101.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-103.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-104.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-105.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-106.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-107.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-109.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-110.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-111.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-112.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-113.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-115.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-116.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-117.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-118.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-97.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-98.c: Ditto. + * gcc.target/riscv/rvv/base/merge_constraint-1.c: Ditto. + * gcc.target/riscv/rvv/base/fixed-point-vxrm-error.c: New test. + * gcc.target/riscv/rvv/base/fixed-point-vxrm.c: New test. + +2023-07-28 Jan Hubicka + + * gcc.dg/tree-ssa/ifc-12.c: Disable loop splitting. + * gcc.target/i386/avx2-gather-6.c: Likewise. + * gcc.target/i386/avx2-vect-aggressive.c: Likewise. + +2023-07-28 liuhongt + + * gcc.target/i386/pr110788.c: New test. + +2023-07-27 David Faust + + PR target/110782 + PR target/110784 + * gcc.target/bpf/sload-1.c: New test. + * gcc.target/bpf/sload-pseudoc-1.c: New test. + * gcc.target/bpf/smov-1.c: New test. + * gcc.target/bpf/smov-pseudoc-1.c: New test. + +2023-07-27 David Faust + + * gcc.target/bpf/alu-2.c: New test. + * gcc.target/bpf/alu-pseudoc-2.c: Likewise. + +2023-07-27 Jan Hubicka + + * gcc.dg/tree-prof/peel-1.c: Test for profile mismatches. + * gcc.dg/tree-prof/unroll-1.c: Test for profile mismatches. + * gcc.dg/tree-ssa/peel1.c: Test for profile mismatches. + * gcc.dg/unroll-1.c: Test for profile mismatches. + * gcc.dg/unroll-3.c: Test for profile mismatches. + * gcc.dg/unroll-4.c: Test for profile mismatches. + * gcc.dg/unroll-5.c: Test for profile mismatches. + * gcc.dg/unroll-6.c: Test for profile mismatches. + +2023-07-27 Tobias Burnus + + * gfortran.dg/gomp/teams-6.f90: Extend. + +2023-07-27 Jan Hubicka + + * gcc.dg/pr102385.c: Check for no profile mismatches. + * gcc.dg/pr96931.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-1.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-2.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-3.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-4.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-5.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-7.c: Check for one profile mismatch. + * gcc.dg/tree-ssa/predcom-8.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-dse-1.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-dse-10.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-dse-11.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-dse-12.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-dse-2.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-dse-3.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-dse-4.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-dse-5.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-dse-6.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-dse-7.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-dse-8.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/predcom-dse-9.c: Check for no profile mismatches. + * gcc.dg/tree-ssa/update-unroll-1.c: Unxfail. + +2023-07-27 Patrick Palka + + PR c++/110197 + * g++.dg/cpp0x/constexpr-empty18.C: New test. + * g++.dg/cpp0x/constexpr-empty19.C: New test. + +2023-07-27 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/slp-9.c: Add more checks. + * gcc.target/riscv/rvv/rvv.exp: Add VLS modes tests. + * gcc.target/riscv/rvv/autovec/vls/def.h: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-10.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-11.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-12.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-13.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-14.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-15.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-16.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-17.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-8.c: New test. + * gcc.target/riscv/rvv/autovec/vls/mov-9.c: New test. + * gcc.target/riscv/rvv/autovec/vls/spill-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/spill-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/spill-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/spill-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/spill-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/spill-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/spill-7.c: New test. + +2023-07-27 demin.han + + * gcc.target/riscv/rvv/autovec/madd-split2-1.c: New test. + +2023-07-27 Richard Biener + + PR tree-optimization/110829 + * gcc.dg/pr56837.c: XFAIL part of the testcase. + +2023-07-27 Nathaniel Shead + + PR c++/103497 + * g++.dg/cpp1y/decltype-auto-103497.C: New test. + +2023-07-27 Kewen Lin + Richard Biener + + PR tree-optimization/110776 + * gcc.target/powerpc/pr110776.c: New test. + +2023-07-27 Jeff Law + + * gcc.target/riscv/arch-23.c: Update expected diagnostic messages. + * gcc.target/riscv/pr102957.c: Likewise. + +2023-07-26 Patrick Palka + + PR c++/110566 + PR c++/108179 + * g++.dg/cpp1z/class-deduction115.C: New test. + * g++.dg/template/ttp39.C: New test. + +2023-07-26 Patrick Palka + + PR c++/110566 + PR c++/108179 + * g++.dg/template/ttp38.C: New test. + +2023-07-26 Xiao Zeng + + * gcc.target/riscv/zicond-primitiveSemantics.c: New test. + Co-authored-by: Philipp Tomsich + Co-authored-by: Raphael Zinsly + Co-authored-by: Jeff Law + +2023-07-26 Xiao Zeng + + * gcc.target/riscv/attribute-20.c: New test. + * gcc.target/riscv/attribute-21.c: New test. + Co-authored-by: Philipp Tomsich + +2023-07-26 Patrick Palka + + PR c++/110809 + * g++.dg/cpp2a/nontype-float3.C: New test. + +2023-07-26 Harald Anlauf + + PR fortran/68569 + * gfortran.dg/data_char_4.f90: Adjust expected diagnostic. + * gfortran.dg/data_char_5.f90: Likewise. + * gfortran.dg/data_char_6.f90: New test. + +2023-07-26 Jason Merrill + + PR c++/106310 + * g++.dg/template/template-keyword4.C: New test. + +2023-07-26 David Faust + + * gcc.target/bpf/atomic-cmpxchg-1.c: New test. + * gcc.target/bpf/atomic-cmpxchg-2.c: New test. + * gcc.target/bpf/atomic-fetch-op-1.c: New test. + * gcc.target/bpf/atomic-fetch-op-2.c: New test. + * gcc.target/bpf/atomic-fetch-op-3.c: New test. + * gcc.target/bpf/atomic-op-1.c: New test. + * gcc.target/bpf/atomic-op-2.c: New test. + * gcc.target/bpf/atomic-op-3.c: New test. + * gcc.target/bpf/atomic-xchg-1.c: New test. + * gcc.target/bpf/atomic-xchg-2.c: New test. + +2023-07-26 Matthew Malcomson + + * gcc.dg/vect/vect-multi-peel-gaps.c: Add `check_vect` call into + `main` of this testcase. + +2023-07-26 Carl Love + + * gcc.target/powerpc/vec-replace-word-runnable.c: Renam + vec-replace-word-runnable_1.c. + * gcc.target/powerpc/vec-replace-word-runnable_1.c + (dg-options): add -flax-vector-conversions. + (vec_replace_unaligned) Fix first argument type. + (vresult_uchar): Fix expected results. + (vec_replace_unaligned): Update for loop to check uchar results. + Remove extra spaces in if statements. Insert missing spaces in + for statements. + * gcc.target/powerpc/vec-replace-word-runnable_2.c: New test file. + +2023-07-26 Uros Bizjak + + * gfortran.dg/ieee/comparisons_3.F90: Use dg-additional-options + instead of dg-options. + +2023-07-26 Richard Biener + + PR tree-optimization/106081 + * gcc.dg/vect/pr106081.c: New testcase. + +2023-07-26 Siddhesh Poyarekar + + PR testsuite/110763 + * gcc.dg/ubsan/object-size-dyn.c (dyn): New parameter RET. + (main): Use it. + +2023-07-26 Li Xu + + * gcc.target/riscv/rvv/base/tuple-intrinsic.c: New test. + +2023-07-26 Uros Bizjak + + PR target/110762 + * gcc.target/i386/pr110762.c: New test. + +2023-07-26 Jose E. Marchesi + + * gcc.target/bpf/neg-1.c: New test. + * gcc.target/bpf/neg-pseudoc-1.c: Likewise. + +2023-07-26 Richard Biener + + PR tree-optimization/110799 + * gcc.dg/torture/pr110799.c: New testcase. + +2023-07-26 Jakub Jelinek + + PR tree-optimization/110755 + * gcc.dg/pr110755.c: New test. + +2023-07-26 Kewen Lin + + PR target/110741 + * g++.target/powerpc/pr110741.C: New test. + +2023-07-26 Jin Ma + + * gcc.target/riscv/fsflags.c: New test. + +2023-07-26 Nathaniel Shead + + PR c++/96630 + PR c++/98675 + PR c++/70331 + * g++.dg/cpp1y/constexpr-lifetime1.C: New test. + * g++.dg/cpp1y/constexpr-lifetime2.C: New test. + * g++.dg/cpp1y/constexpr-lifetime3.C: New test. + * g++.dg/cpp1y/constexpr-lifetime4.C: New test. + * g++.dg/cpp1y/constexpr-lifetime5.C: New test. + * g++.dg/cpp1y/constexpr-lifetime6.C: New test. + +2023-07-26 Nathaniel Shead + + PR c++/110619 + * g++.dg/cpp1y/constexpr-110619.C: New test. + +2023-07-26 Nathaniel Shead + + * g++.dg/cpp0x/constexpr-48089.C: Update diagnostic locations. + * g++.dg/cpp0x/constexpr-70323.C: Likewise. + * g++.dg/cpp0x/constexpr-70323a.C: Likewise. + * g++.dg/cpp0x/constexpr-delete2.C: Likewise. + * g++.dg/cpp0x/constexpr-diag3.C: Likewise. + * g++.dg/cpp0x/constexpr-ice20.C: Likewise. + * g++.dg/cpp0x/constexpr-mutable3.C: Likewise. + * g++.dg/cpp0x/constexpr-recursion.C: Likewise. + * g++.dg/cpp0x/overflow1.C: Likewise. + * g++.dg/cpp1y/constexpr-89285.C: Likewise. + * g++.dg/cpp1y/constexpr-89481.C: Likewise. + * g++.dg/cpp1y/constexpr-tracking-const14.C: Likewise. + * g++.dg/cpp1y/constexpr-tracking-const16.C: Likewise. + * g++.dg/cpp1y/constexpr-tracking-const18.C: Likewise. + * g++.dg/cpp1y/constexpr-tracking-const19.C: Likewise. + * g++.dg/cpp1y/constexpr-tracking-const21.C: Likewise. + * g++.dg/cpp1y/constexpr-tracking-const22.C: Likewise. + * g++.dg/cpp1y/constexpr-tracking-const3.C: Likewise. + * g++.dg/cpp1y/constexpr-tracking-const4.C: Likewise. + * g++.dg/cpp1y/constexpr-tracking-const7.C: Likewise. + * g++.dg/cpp1y/constexpr-union5.C: Likewise. + * g++.dg/cpp1y/pr68180.C: Likewise. + * g++.dg/cpp1z/constexpr-lambda6.C: Likewise. + * g++.dg/cpp1z/constexpr-lambda8.C: Likewise. + * g++.dg/cpp2a/bit-cast11.C: Likewise. + * g++.dg/cpp2a/bit-cast12.C: Likewise. + * g++.dg/cpp2a/bit-cast14.C: Likewise. + * g++.dg/cpp2a/constexpr-98122.C: Likewise. + * g++.dg/cpp2a/constexpr-dynamic17.C: Likewise. + * g++.dg/cpp2a/constexpr-init1.C: Likewise. + * g++.dg/cpp2a/constexpr-new12.C: Likewise. + * g++.dg/cpp2a/constexpr-new3.C: Likewise. + * g++.dg/cpp2a/constinit10.C: Likewise. + * g++.dg/cpp2a/is-corresponding-member4.C: Likewise. + * g++.dg/ext/constexpr-vla2.C: Likewise. + * g++.dg/ext/constexpr-vla3.C: Likewise. + * g++.dg/ubsan/pr63956.C: Likewise. + +2023-07-26 Jason Merrill + + * lib/g++-dg.exp (g++-dg-runtest): Check for c++11_only. + +2023-07-25 Andrew Pinski + + PR testsuite/110803 + * gcc.dg/tree-ssa/pr109986.c: Change plain char to be + `signed char`. + +2023-07-25 Marek Polacek + + PR c++/110382 + * g++.dg/cpp1y/constexpr-110382.C: New test. + +2023-07-25 Tobias Burnus + + PR fortran/110725 + PR middle-end/71065 + * gfortran.dg/gomp/teams-6.f90: New test. + +2023-07-25 Marc Poulhiès + + * gnat.dg/unroll3.adb: Adjust. + +2023-07-25 Tobias Burnus + + * gfortran.dg/gomp/pr99226.f90: Update dg-error. + +2023-07-25 Haochen Gui + + PR target/103605 + * gcc.target/powerpc/pr103605.h: New. + * gcc.target/powerpc/pr103605-1.c: New. + * gcc.target/powerpc/pr103605-2.c: New. + +2023-07-25 Gaius Mulley + + PR modula2/110174 + * gm2/pim/pass/program2.mod: Remove import of BuildInline. + * gm2/extensions/asm/fail/extensions-asm-fail.exp: New test. + * gm2/extensions/asm/fail/stressreturn.mod: New test. + * gm2/extensions/asm/pass/extensions-asm-pass.exp: New test. + * gm2/extensions/asm/pass/fooasm.mod: New test. + +2023-07-24 Tobias Burnus + + PR fortran/110725 + PR middle-end/71065 + * gfortran.dg/gomp/pr99226.f90: Update dg-error. + * gfortran.dg/gomp/teams-5.f90: New test. + +2023-07-24 Drew Ross + Jakub Jelinek + + PR middle-end/109986 + * gcc.c-torture/execute/pr109986.c: New test. + * gcc.dg/tree-ssa/pr109986.c: New test. + +2023-07-24 Jose E. Marchesi + + PR target/110783 + * gcc.target/bpf/xbpf-sdiv-1.c: Renamed to sdiv-1.c + * gcc.target/bpf/xbpf-smod-1.c: Renamed to smod-1.c + * gcc.target/bpf/sdiv-1.c: Renamed from xbpf-sdiv-1.c, use -mcpu=v4. + * gcc.target/bpf/smod-1.c: Renamed from xbpf-smod-1.c, use -mcpu=v4. + * gcc.target/bpf/diag-sdiv.c: Use -mcpu=v3. + * gcc.target/bpf/diag-smod.c: Likewise. + +2023-07-24 Robin Dapp + + * gcc.target/riscv/rvv/autovec/conversions/vec-narrow-int64-float16.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vec-widen-float16-int64.c: New test. + +2023-07-24 Jose E. Marchesi + + PR target/110786 + * gcc.target/bpf/bswap-1.c: Pass -mcpu=v3 to build test. + * gcc.target/bpf/bswap-2.c: New test. + +2023-07-24 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-1.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-2.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-3.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-4.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-5.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-6.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-7.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-2.c: New test. + +2023-07-24 Richard Biener + + PR tree-optimization/110777 + * gcc.dg/pr110777.c: New testcase. + +2023-07-24 Richard Biener + + PR tree-optimization/110766 + * gcc.dg/torture/pr110766.c: New testcase. + +2023-07-24 Pan Li + + * gcc.target/riscv/rvv/base/float-point-frm-error.c: Update cases. + * gcc.target/riscv/rvv/base/float-point-frm-insert-6.c: Removed. + +2023-07-22 Vineet Gupta + + * gcc.target/riscv/pr110748-1.c: New Test. + * gcc.target/riscv/xtheadfmv-fmv.c: Add '\t' around test + patterns to avoid random string matches. + +2023-07-22 Maciej W. Rozycki + + * gcc.dg/vect/bb-slp-pr95839-v8.c: Limit to `vect64' targets. + +2023-07-22 Gaius Mulley + + PR modula2/110631 + * gm2/pimlib/run/pass/testfiobinary.mod: New test. + +2023-07-21 John David Anglin + + * gcc.c-torture/compile/asmgoto-6.c: Require target lra. + +2023-07-21 Roger Sayle + Richard Biener + + PR c/110699 + * gcc.dg/pr110699.c: New test case. + +2023-07-21 Marek Polacek + + PR c++/110106 + * g++.dg/cpp0x/noexcept80.C: New test. + +2023-07-21 Jan Hubicka + + * gcc.dg/tree-ssa/copy-headers-9.c: Fix template for tree-ssa-loop-ch.cc changes. + * gcc.dg/tree-ssa/dce-1.c: Likewise. + +2023-07-21 Jan Hubicka + + * gcc.dg/loop-unswitch-17.c: Disable ch. + * gcc.dg/pr103079.c: Disable ch. + * gcc.dg/tree-ssa/copy-headers-7.c: Update so ch behaves + as expected. + * gcc.dg/tree-ssa/copy-headers.c: Update template. + * gcc.dg/tree-ssa/copy-headers-9.c: New test. + +2023-07-21 Richard Biener + + PR tree-optimization/41320 + * gcc.dg/tree-ssa/forwprop-12.c: Remove. + +2023-07-21 Jan Hubicka + + * gcc.dg/tree-ssa/dce-1.c: Update for new loop dumps. + +2023-07-21 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/gimple_fold-1.c: Ditto. + +2023-07-21 Richard Biener + + PR tree-optimization/88540 + * gcc.target/i386/pr88540.c: New testcase. + * gcc.target/i386/pr54855-9.c: XFAIL check for redundant moves. + * gcc.target/i386/pr54855-12.c: Adjust. + * gcc.target/i386/pr54855-13.c: Likewise. + * gcc.target/i386/pr110170.c: Likewise. + * gcc.dg/tree-ssa/split-path-12.c: Likewise. + +2023-07-21 Andrew Pinski + + * gcc.dg/tree-ssa/reassoc-12.c: Disable all of + the passes that enables match-and-simplify. + * gcc.dg/tree-ssa/minmax-23.c: New test. + +2023-07-21 Richard Biener + + PR tree-optimization/110742 + * g++.dg/torture/pr110742.C: New testcase. + +2023-07-21 Kewen Lin + + PR testsuite/110729 + * gcc.dg/pr110729.c: New test. + +2023-07-21 liuhongt + + * c-c++-common/fcf-protection-10.c: New test. + * c-c++-common/fcf-protection-11.c: New test. + * c-c++-common/fcf-protection-12.c: New test. + * c-c++-common/fcf-protection-8.c: New test. + * c-c++-common/fcf-protection-9.c: New test. + * gcc.target/i386/pr89701-1.c: New test. + * gcc.target/i386/pr89701-2.c: New test. + * gcc.target/i386/pr89701-3.c: New test. + +2023-07-21 liuhongt + + * gcc.dg/pr107547.c: Add { dg-add-options float16 }. + * gcc.target/i386/float16-7.c: Add -msse2 to dg-options. + * lib/target-supports.exp (add_options_for_float16): Add + -msse2 for i?86-*-* || x86_64-*-*. + +2023-07-21 David Malcolm + + PR analyzer/110455 + * gcc.dg/analyzer/pr110455.c: New test. + +2023-07-21 David Malcolm + + PR analyzer/110387 + * gcc.dg/analyzer/out-of-bounds-pr110387.c: New test. + +2023-07-20 Gaius Mulley + + * gm2/switches/uninit-variable-checking/procedures/fail/testdispose3.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/fail/testdispose4.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/pass/testdispose3.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/pass/testdispose4.mod: New test. + +2023-07-20 Uros Bizjak + + PR target/110717 + * gcc.target/i386/pr110717.c: New test. + +2023-07-20 Marek Polacek + + * g++.dg/tree-ssa/allocator-opt1.C: Force _GLIBCXX_USE_CXX11_ABI to 1. + +2023-07-20 Marek Polacek + + PR c++/110114 + * g++.dg/cpp0x/initlist100.C: Adjust expected diagnostic. + * g++.dg/cpp2a/desig28.C: New test. + * g++.dg/cpp2a/desig29.C: New test. + +2023-07-20 Jan Hubicka + + * g++.dg/uninit-pred-loop-1_c.C: Allow warning. + * gcc.dg/tree-ssa/copy-headers-7.c: Add tests so exit conditition is + static; update template. + * gcc.dg/tree-ssa/ivopt_mult_1.c: Add test so exit condition is static. + * gcc.dg/tree-ssa/ivopt_mult_2.c: Add test so exit condition is static. + * gcc.dg/tree-ssa/copy-headers-8.c: New test. + +2023-07-20 Matthew Malcomson + + * gcc.dg/vect/vect-multi-peel-gaps.c: New test. + +2023-07-20 Francois-Xavier Coudert + + * gfortran.dg/ieee/comparisons_1.f90: New test. + * gfortran.dg/ieee/comparisons_2.f90: New test. + * gfortran.dg/ieee/comparisons_3.F90: New test. + +2023-07-20 Francois-Xavier Coudert + + PR middle-end/77928 + * gcc.dg/torture/builtin-iseqsig-1.c: New test. + * gcc.dg/torture/builtin-iseqsig-2.c: New test. + * gcc.dg/torture/builtin-iseqsig-3.c: New test. + +2023-07-20 Pan Li + + * gcc.target/riscv/rvv/base/pr110299-1.c: Adjust tests. + * gcc.target/riscv/rvv/base/pr110299-2.c: Ditto. + +2023-07-20 Roger Sayle + + * gcc.target/i386/pr88873.c: New test case. + +2023-07-20 Richard Biener + + PR middle-end/61747 + * g++.target/i386/pr61747.C: New testcase. + +2023-07-20 Lewis Hyatt + + PR preprocessor/103902 + * g++.dg/cpp0x/udlit-extended-id-1.C: Change "unsigned long" to + "size_t" throughout. + * g++.dg/cpp0x/udlit-extended-id-3.C: Likewise. + +2023-07-20 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-7.c: + Adapt test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-8.c: + Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-9.c: + Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-8.c + : Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-8.c: + Ditto. + +2023-07-19 Marek Polacek + + PR c++/110745 + * g++.dg/diagnostic/base.C: New test. + +2023-07-19 David Malcolm + + PR analyzer/110700 + * gcc.dg/analyzer/taint-divisor-2.c: New test. + +2023-07-19 Marek Polacek + + PR c++/110064 + * g++.dg/warn/Wmissing-field-initializers-3.C: New test. + +2023-07-19 Vladimir N. Makarov + + * gcc.target/avr/lra-elim.c: New test. + +2023-07-19 Gaius Mulley + + * gm2/errors/fail/badabs.mod: New test. + * gm2/errors/fail/badenum.mod: New test. + +2023-07-19 Andrew Carlotti + + * gcc.target/aarch64/feature-bf16-backport.c: New test. + * gcc.target/aarch64/feature-dotprod-backport.c: New test. + * gcc.target/aarch64/feature-fp16-backport.c: New test. + * gcc.target/aarch64/feature-fp16-scalar-backport.c: New test. + * gcc.target/aarch64/feature-fp16fml-backport.c: New test. + * gcc.target/aarch64/feature-i8mm-backport.c: New test. + * gcc.target/aarch64/feature-memtag-backport.c: New test. + * gcc.target/aarch64/feature-sha3-backport.c: New test. + * gcc.target/aarch64/feature-sm4-backport.c: New test. + +2023-07-19 Andrew Pinski + + PR tree-optimization/110252 + * gcc.dg/tree-ssa/phi-opt-25b.c: Updated as + __builtin_parity loses the nonzerobits info. + * gcc.c-torture/execute/pr110252-1.c: New test. + * gcc.c-torture/execute/pr110252-2.c: New test. + * gcc.c-torture/execute/pr110252-3.c: New test. + * gcc.c-torture/execute/pr110252-4.c: New test. + +2023-07-19 Andrew Pinski + + PR tree-optimization/110726 + * gcc.c-torture/execute/bitops-1.c: New test. + +2023-07-19 Gaius Mulley + + * gm2/switches/uninit-variable-checking/procedures/fail/testdispose.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/fail/testdispose2.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/fail/testnil.mod: New test. + +2023-07-19 Jakub Jelinek + + PR tree-optimization/110731 + * gcc.dg/pr110731.c: New test. + +2023-07-19 Maciej W. Rozycki + + * gcc.dg/vect/bb-slp-pr95839-v8.c: New test. + +2023-07-19 Tobias Burnus + + PR fortran/107424 + * gfortran.dg/gomp/linear-2.f90: Update dump to remove + the additional count variable. + +2023-07-19 Lehua Ding + + * gcc.target/riscv/arch-2.c: Update -march. + * gcc.target/riscv/arch-3.c: Ditto. + * gcc.target/riscv/arch-5.c: Ditto. + * gcc.target/riscv/arch-8.c: Ditto. + * gcc.target/riscv/attribute-10.c: Ditto. + * gcc.target/riscv/attribute-18.c: Ditto. + * gcc.target/riscv/attribute-19.c: Ditto. + * gcc.target/riscv/attribute-8.c: Ditto. + * gcc.target/riscv/attribute-9.c: Ditto. + * gcc.target/riscv/pr102957.c: Ditto. + * gcc.target/riscv/arch-22.cc: New test. + * gcc.target/riscv/arch-23.c: New file. + +2023-07-19 Lehua Ding + + * gcc.target/riscv/stack_save_restore.c: Moved to... + * gcc.target/riscv/stack_save_restore_2.c: ...here. + * gcc.target/riscv/stack_save_restore_1.c: New test. + +2023-07-19 Lewis Hyatt + + PR preprocessor/103902 + * g++.dg/cpp0x/udlit-extended-id-1.C: New test. + * g++.dg/cpp0x/udlit-extended-id-2.C: New test. + * g++.dg/cpp0x/udlit-extended-id-3.C: New test. + * g++.dg/cpp0x/udlit-extended-id-4.C: New test. + +2023-07-19 liuhongt + + * gcc.target/i386/pr109504.c: New test. + * gcc.target/i386/sse2-bfloat16-1.c: Adjust error info. + * gcc.target/i386/sse2-float16-1.c: Ditto. + * gcc.target/i386/sse2-float16-4.c: New test. + * gcc.target/i386/sse2-float16-5.c: New test. + * g++.target/i386/float16-1.C: Adjust error info. + +2023-07-18 Marek Polacek + + PR c++/110340 + * g++.dg/cpp/string-4.C: New test. + * g++.dg/cpp/ucn-2.C: New test. + +2023-07-18 Marek Polacek + + * g++.dg/debug/dwarf2/utf-1.C: Use -gdwarf-4. Adjust expected + output. + +2023-07-18 Gaius Mulley + + * gm2/switches/uninit-variable-checking/pass/assignparam.mod: New test. + * gm2/switches/uninit-variable-checking/pass/tiny.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/fail/switches-uninit-variable-checking-procedures-fail.exp: + New test. + * gm2/switches/uninit-variable-checking/procedures/fail/testnew.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/fail/testnew2.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/fail/testnew3.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/fail/testnew4.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/fail/testnew5.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/fail/testnew6.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/fail/testptrptr.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/pass/assignparam2.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/pass/switches-uninit-variable-checking-procedures-pass.exp: + New test. + * gm2/switches/uninit-variable-checking/procedures/pass/testnew5.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/pass/testnew6.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/pass/testparamlvalue.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/pass/testparamrvalue.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/pass/testproc.mod: New test. + * gm2/switches/uninit-variable-checking/procedures/pass/testptrptr.mod: New test. + +2023-07-18 Patrick Palka + + * g++.dg/overload/conv-op5.C: New test. + +2023-07-18 Patrick Palka + + PR c++/110535 + * g++.dg/cpp2a/concepts-surrogate1.C: New test. + * g++.dg/cpp2a/concepts-surrogate2.C: New test. + +2023-07-18 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/zve32f_zvl1024b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32f_zvl2048b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32f_zvl256b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32f_zvl4096b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32f_zvl512b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32x_zvl1024b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32x_zvl2048b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32x_zvl256b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32x_zvl4096b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32x_zvl512b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64d_zvl1024b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64d_zvl2048b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64d_zvl256b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64d_zvl4096b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64d_zvl512b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64f_zvl1024b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64f_zvl2048b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64f_zvl256b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64f_zvl4096b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64f_zvl512b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64x_zvl1024b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64x_zvl2048b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64x_zvl256b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64x_zvl4096b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64x_zvl512b-1.c: New test. + +2023-07-18 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/reduc/reduc-5.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-6.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-7.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-8.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-9.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-6.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-7.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-8.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c: New test. + +2023-07-18 Lehua Ding + + * gcc.target/riscv/attribute-20.c: Removed. + +2023-07-18 Juergen Christ + + * gcc.target/s390/vector/vec-cmpge.c: New test. + +2023-07-18 Joern Rennecke + + * gcc.target/riscv/_Float16-zhinx-1.c: Tighten regexps. + +2023-07-18 liuhongt + + * gcc.target/i386/pr110591.c: New test. + * gcc.target/i386/pr110591-2.c: New test. + +2023-07-18 Pan Li + + * gcc.target/riscv/rvv/base/float-point-frm-run-1.c: Fix run failure. + +2023-07-18 Pan Li + Juzhe-Zhong + + * gcc.target/riscv/rvv/base/float-point-frm-insert-1.c: Adjust + test cases. + * gcc.target/riscv/rvv/base/float-point-frm-insert-10.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-insert-2.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-insert-3.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-insert-4.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-insert-5.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-insert-6.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-insert-7.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-insert-8.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-insert-9.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-run-1.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-run-2.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-run-3.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-1.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-10.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-11.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-12.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-13.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-14.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-15.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-16.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-17.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-18.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-19.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-2.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-20.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-21.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-22.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-23.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-24.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-25.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-26.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-27.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-28.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-29.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-3.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-30.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-31.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-32.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-4.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-5.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-6.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-7.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-8.c: New test. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-9.c: New test. + +2023-07-17 Harald Anlauf + + PR fortran/95947 + PR fortran/110658 + * gfortran.dg/deferred_character_37.f90: New test. + +2023-07-17 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/zvl-unimplemented-1.c: New test. + * gcc.target/riscv/rvv/base/zvl-unimplemented-2.c: New test. + +2023-07-17 Mikael Morin + + PR fortran/110618 + * gfortran.dg/intent_out_22.f90: New test. + +2023-07-17 Mikael Morin + + * gfortran.dg/finalize_53.f90: New test. + +2023-07-17 Lehua Ding + + PR target/110696 + * gcc.target/riscv/attribute-20.c: New test. + * gcc.target/riscv/pr110696.c: New test. + +2023-07-17 Juzhe-Zhong + + * gcc.target/riscv/rvv/rvv.exp: Add reduction tests. + * gcc.target/riscv/rvv/autovec/reduc/reduc-1.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-2.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-3.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-4.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-4.c: New test. + +2023-07-17 Richard Biener + + PR tree-optimization/110669 + * gcc.dg/torture/pr110669.c: New testcase. + +2023-07-17 Andrew Pinski + + PR tree-optimization/95923 + * gcc.dg/tree-ssa/bitops-2.c: New test. + * gcc.dg/tree-ssa/bool-checks-1.c: New test. + +2023-07-17 Andrew Pinski + + PR tree-optimization/110666 + * gcc.c-torture/execute/pr110666-1.c: New test. + +2023-07-17 Mo, Zewei + + * g++.target/i386/mv16.C: Add arrowlake and arrowlake-s. + * gcc.target/i386/funcspec-56.inc: Handle new march. + +2023-07-17 Haochen Jiang + + * gcc.target/i386/vnniint16-auto-vectorize-1.c: New test. + * gcc.target/i386/vnniint16-auto-vectorize-2.c: Ditto. + +2023-07-17 Haochen Jiang + + * g++.dg/other/i386-2.C: Add -msm4. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-12.c: Add -msm4. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add sm4. + * gcc.target/i386/sse-23.c: Ditto. + * lib/target-supports.exp (check_effective_target_sm4): New. + * gcc.target/i386/sm4-1.c: New test. + * gcc.target/i386/sm4-check.h: Ditto. + * gcc.target/i386/sm4key4-2.c: Ditto. + * gcc.target/i386/sm4rnds4-2.c: Ditto. + +2023-07-17 Haochen Jiang + + * g++.dg/other/i386-2.C: Add -msha512. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-12.c: Add -msha512. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add sha512. + * gcc.target/i386/sse-23.c: Ditto. + * lib/target-supports.exp (check_effective_target_sha512): New. + * gcc.target/i386/sha512-1.c: New test. + * gcc.target/i386/sha512-check.h: Ditto. + * gcc.target/i386/sha512msg1-2.c: Ditto. + * gcc.target/i386/sha512msg2-2.c: Ditto. + * gcc.target/i386/sha512rnds2-2.c: Ditto. + +2023-07-17 Haochen Jiang + + * g++.dg/other/i386-2.C: Add -msm3. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/avx-1.c: Add new define for immediate. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-12.c: Add -msm3. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add sm3. + * gcc.target/i386/sse-23.c: Ditto. + * lib/target-supports.exp (check_effective_target_sm3): New. + * gcc.target/i386/sm3-1.c: New test. + * gcc.target/i386/sm3-check.h: Ditto. + * gcc.target/i386/sm3msg1-2.c: Ditto. + * gcc.target/i386/sm3msg2-2.c: Ditto. + * gcc.target/i386/sm3rnds2-2.c: Ditto. + +2023-07-17 Kong Lingling + Haochen Jiang + + * g++.dg/other/i386-2.C: Add -mavxvnniint16. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/avx-check.h: Add avxvnniint16 check. + * gcc.target/i386/sse-12.c: Add -mavxvnniint16. + * 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. + * lib/target-supports.exp + (check_effective_target_avxvnniint16): New. + * gcc.target/i386/avxvnniint16-1.c: Ditto. + * gcc.target/i386/avxvnniint16-vpdpwusd-2.c: Ditto. + * gcc.target/i386/avxvnniint16-vpdpwusds-2.c: Ditto. + * gcc.target/i386/avxvnniint16-vpdpwsud-2.c: Ditto. + * gcc.target/i386/avxvnniint16-vpdpwsuds-2.c: Ditto. + * gcc.target/i386/avxvnniint16-vpdpwuud-2.c: Ditto. + * gcc.target/i386/avxvnniint16-vpdpwuuds-2.c: Ditto. + +2023-07-15 David Edelsohn + + * gfortran.dg/pr103628.f90: Add -mlong-double-128 option. + +2023-07-15 Patrick Palka + + PR c++/110441 + * g++.dg/cpp1z/elide8.C: New test. + +2023-07-15 Patrick Palka + + PR c++/110524 + * g++.dg/cpp2a/fn-template26.C: New test. + +2023-07-14 Jason Merrill + + PR c++/110344 + * g++.dg/cpp0x/constexpr-cast2.C: Adjust for P2738. + * g++.dg/ipa/devirt-45.C: Handle -fimplicit-constexpr. + +2023-07-14 Roger Sayle + + PR target/110588 + * gcc.target/i386/pr110588.c: New test case. + +2023-07-14 Marek Polacek + Jason Merrill + + PR c++/109876 + * g++.dg/cpp0x/constexpr-template12.C: New test. + * g++.dg/cpp1z/constexpr-template1.C: New test. + * g++.dg/cpp1z/constexpr-template2.C: New test. + +2023-07-14 Uros Bizjak + + PR target/110206 + * gcc.target/i386/pr110206.c: New test. + +2023-07-14 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-7.c: + Adapt testcase for link fail. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-1.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-2.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-3.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-3.c: New test. + +2023-07-14 Mikael Morin + + PR fortran/92178 + * gfortran.dg/intent_out_21.f90: New test. + +2023-07-14 Mikael Morin + + PR fortran/92178 + * gfortran.dg/intent_out_20.f90: New test. + +2023-07-14 Mikael Morin + + PR fortran/92178 + * gfortran.dg/intent_out_19.f90: New test. + +2023-07-14 Tamar Christina + + PR tree-optimization/109154 + * gcc.dg/vect/vect-ifcvt-20.c: New test. + +2023-07-14 Tamar Christina + + PR tree-optimization/109154 + * gcc.dg/vect/vect-ifcvt-19.c: New test. + +2023-07-14 Monk Chiang + + * gcc.target/riscv/arch-22.c: New test. + * gcc.target/riscv/predef-28.c: New test. + +2023-07-13 Mikael Pettersson + + PR target/107841 + * gcc.target/pdp11/pr107841.c: New test. + +2023-07-13 Mikael Morin + + PR fortran/106050 + * gfortran.dg/pdt_33.f90: New test. + +2023-07-13 Carl Love + + * gcc.target/powerpc/test_fpscr_rn_builtin.c: Rename to + test_fpscr_rn_builtin_1.c. Add comment. + * gcc.target/powerpc/test_fpscr_rn_builtin_2.c: New test for the + return value of __builtin_set_fpscr_rn builtin. + * gcc.target/powerpc/test_fpscr_rn_builtin_1.c: New file. + +2023-07-13 Uros Bizjak + + PR target/106966 + * gcc.target/alpha/pr106966.c: New test. + +2023-07-13 Andrew Pinski + + * gcc.dg/tree-ssa/pr110293-1.c: New test. + * gcc.dg/tree-ssa/pr110539-1.c: New test. + * gcc.dg/tree-ssa/pr110539-2.c: New test. + * gcc.dg/tree-ssa/pr110539-3.c: New test. + * gcc.dg/tree-ssa/pr110539-4.c: New test. + +2023-07-13 Vladimir N. Makarov + + PR middle-end/109520 + * gcc.target/i386/pr109520.c: New test. + +2023-07-13 Pan Li + + * gcc.target/riscv/rvv/base/float-point-frm-insert-10.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-insert-7.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-insert-8.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-insert-9.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-run-1.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-run-2.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-run-3.c: New test. + +2023-07-13 Kewen Lin + + * gcc.target/i386/pr70021.c: Adjust with -fno-vect-cost-model. + +2023-07-13 Kewen Lin + + * gcc.dg/vect/costmodel/ppc/costmodel-vect-reversed.c: New test. + +2023-07-13 Bill Schmidt + Kewen Lin + + * gcc.dg/vect/costmodel/ppc/costmodel-pr82255.c: New test. + +2023-07-13 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/rvv.exp: Add gather/scatter tests. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-1.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-10.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-11.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-12.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-2.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-3.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-4.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-5.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-6.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-7.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-8.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load-9.c: New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-1.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-10.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-11.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-2.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-3.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-4.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-5.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-6.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-7.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-8.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-9.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-1.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-10.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-11.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-2.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-3.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-4.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-5.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-6.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-7.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-8.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-9.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-1.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-10.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-11.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-2.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-3.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-4.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-5.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-6.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-7.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-8.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load_run-9.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-1.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-10.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-2.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-3.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-4.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-5.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-6.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-7.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-8.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store-9.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-1.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-10.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-2.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-3.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-4.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-5.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-6.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-7.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-8.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/mask_scatter_store_run-9.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-1.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-10.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-2.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-3.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-4.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-5.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-6.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-7.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-8.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store-9.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-1.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-10.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-2.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-3.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-4.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-5.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-6.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-7.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-8.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/scatter_store_run-9.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-1.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-2.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-1.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load_run-2.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-1.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-2.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store_run-1.c: + New test. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store_run-2.c: + New test. + +2023-07-12 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: Adapt testcase. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vrem-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vadd-run-nofm.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv-nofm.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv-nofm.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vdiv-run-nofm.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv-nofm.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv-nofm.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vmul-run-nofm.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv-nofm.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv-nofm.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vsub-run-nofm.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv-nofm.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv-nofm.c: New test. + +2023-07-12 Aldy Hernandez + + PR tree-optimization/107043 + * gcc.dg/tree-ssa/pr107043.c: New test. + +2023-07-12 Aldy Hernandez + + PR tree-optimization/107053 + * gcc.dg/tree-ssa/pr107053.c: New test. + +2023-07-12 Aldy Hernandez + + * gcc.dg/pr83073.c: Adjust testcase. + +2023-07-12 Jan Hubicka + + * gcc.dg/tree-ssa/loop-ch-profile-1.c: Remove xfail. + +2023-07-12 Christoph Müllner + + * gcc.target/riscv/xtheadcondmov-indirect-rv32.c: Moved to... + * gcc.target/riscv/xtheadcondmov-indirect.c: ...here. + * gcc.target/riscv/xtheadcondmov-indirect-rv64.c: Removed. + +2023-07-12 Roger Sayle + + PR target/110598 + * gcc.target/i386/pr110598.c: New test case. + +2023-07-12 Andre Vehreschild + + * gfortran.dg/pdt_33.f03: New test. + +2023-07-12 Richard Biener + + PR tree-optimization/110630 + * gcc.dg/vect/bb-slp-pr95839.c: Make stricter. + * gcc.dg/vect/bb-slp-pr95839-3.c: New variant testcase. + +2023-07-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/autovec/binop/mulh-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/mulh-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/mulh_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/mulh_run-2.c: New test. + +2023-07-12 Jan Beulich + + * gcc.target/i386/avx2-dupv4sf.c: New test. + * gcc.target/i386/avx2-dupv4si.c: Likewise. + * gcc.target/i386/avx512f-dupv4sf.c: Likewise. + * gcc.target/i386/avx512f-dupv4si.c: Likewise. + +2023-07-12 Christoph Müllner + + * gcc.target/riscv/xtheadbb-ext-1.c: New test. + * gcc.target/riscv/xtheadbb-extu-1.c: New test. + +2023-07-12 liuhongt + + * gcc.target/i386/pr110438.c: New test. + * gcc.target/i386/pr100711-6.c: Adjust testcase. + +2023-07-12 Mo, Zewei + + * g++.target/i386/mv16.C: Add graniterapids-d. + * gcc.target/i386/funcspec-56.inc: Handle new march. + +2023-07-12 Haochen Jiang + + * gcc.target/i386/avx512vl-vaes-1.c: New test. + +2023-07-11 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-6.c: New test. + +2023-07-11 David Edelsohn + + * gcc.dg/analyzer/out-of-bounds-diagram-4.c: Skip on AIX. + * gcc.dg/analyzer/out-of-bounds-diagram-5-ascii.c: Same. + * gcc.dg/analyzer/out-of-bounds-diagram-5-unicode.c: Same. + * gcc.dg/analyzer/out-of-bounds-diagram-7.c: Same. + * gcc.dg/analyzer/out-of-bounds-diagram-13.c: Same. + * gcc.dg/analyzer/out-of-bounds-diagram-15.c: Same. + +2023-07-11 Harald Anlauf + + PR fortran/110288 + * gfortran.dg/findloc_10.f90: New test. + +2023-07-11 Carl Love + + * gcc.target/powerpc/vsx-vector-6-func-1op.h: New test file. + * gcc.target/powerpc/vsx-vector-6-func-1op-run.c: New test file. + * gcc.target/powerpc/vsx-vector-6-func-1op.c: New test file. + * gcc.target/powerpc/vsx-vector-6-func-2lop.h: New test file. + * gcc.target/powerpc/vsx-vector-6-func-2lop-run.c: New test file. + * gcc.target/powerpc/vsx-vector-6-func-2lop.c: New test file. + * gcc.target/powerpc/vsx-vector-6-func-2op.h: New test file. + * gcc.target/powerpc/vsx-vector-6-func-2op-run.c: New test file. + * gcc.target/powerpc/vsx-vector-6-func-2op.c: New test file. + * gcc.target/powerpc/vsx-vector-6-func-3op.h: New test file. + * gcc.target/powerpc/vsx-vector-6-func-3op-run.c: New test file. + * gcc.target/powerpc/vsx-vector-6-func-3op.c: New test file. + * gcc.target/powerpc/vsx-vector-6-func-cmp-all.h: New test file. + * gcc.target/powerpc/vsx-vector-6-func-cmp-all-run.c: New test file. + * gcc.target/powerpc/vsx-vector-6-func-cmp-all.c: New test + file. + * gcc.target/powerpc/vsx-vector-6-func-cmp.h: New test file. + * gcc.target/powerpc/vsx-vector-6-func-cmp-run.c: New test file. + * gcc.target/powerpc/vsx-vector-6-func-cmp.c: New test file. + * gcc.target/powerpc/vsx-vector-6.h: Remove test file. + * gcc.target/powerpc/vsx-vector-6.p7.c: Remove test file. + * gcc.target/powerpc/vsx-vector-6.p8.c: Remove test file. + * gcc.target/powerpc/vsx-vector-6.p9.c: Remove test file. + +2023-07-11 Maciej W. Rozycki + + * gcc.dg/vect/pr97428.c: Limit to `vect_double' targets. + +2023-07-11 Gaius Mulley + + * gm2/switches/uninit-variable-checking/cascade/fail/cascadedif.mod: New test. + * gm2/switches/uninit-variable-checking/cascade/fail/switches-uninit-variable-checking-cascade-fail.exp: + New test. + +2023-07-11 Patrick Palka + + PR c++/110580 + * g++.dg/cpp1y/var-templ83.C: New test. + +2023-07-11 liuhongt + + PR target/110170 + * g++.target/i386/pr110170.C: Fix typo. + +2023-07-11 Xi Ruoyao + + * g++.dg/vect/pr110557.cc: Use long long instead of long for + 64-bit type. + (test): Remove an unnecessary cast. + +2023-07-10 Patrick Palka + + PR c++/110523 + * g++.dg/template/ttp37.C: New test. + +2023-07-10 Christophe Lyon + + PR target/110268 + * gcc.target/arm/pr110268-1.c: New test. + * gcc.target/arm/pr110268-2.c: New test. + +2023-07-10 Christophe Lyon + + * lib/target-supports.exp (arm_*FUNC_link): New effective-targets. + +2023-07-10 Xi Ruoyao + + PR tree-optimization/110557 + * g++.dg/vect/pr110557.cc: New test. + +2023-07-10 Roger Sayle + + * gcc.target/i386/insvdi_lowpart-1.c: New test case. + * gcc.target/i386/insvti_lowpart-1.c: Likewise. + +2023-07-10 Roger Sayle + + * gcc.target/i386/avx512vl-stv-rotatedi-1.c: New test case. + +2023-07-10 Iain Buclaw + + * gdc.dg/asm4.d: Update test. + +2023-07-10 liuhongt + + * g++.target/i386/pr110170.C: New test. + * gcc.target/i386/pr110170.c: New test. + +2023-07-09 Iain Buclaw + + * gdc.dg/rtti1.d: Move array concat testcase to ... + * gdc.dg/nogc1.d: ... here. New test. + +2023-07-09 Jan Hubicka + + * gcc.dg/predict-22.c: Update template. + +2023-07-08 Jan Hubicka + + PR tree-optimization/110600 + * gcc.c-torture/compile/pr110600.c: New test. + +2023-07-08 Steve Kargl + + PR fortran/99139 + PR fortran/99368 + * gfortran.dg/pr99139.f90 : New test + * gfortran.dg/pr99368.f90 : New test + +2023-07-08 Jan Hubicka + + PR middle-end/110590 + * gcc.dg/tree-prof/update-cunroll-2.c: Remove xfail. + * gcc.dg/tree-ssa/update-cunroll.c: Likewise. + +2023-07-08 Harald Anlauf + Steven G. Kargl + + PR fortran/92178 + * gfortran.dg/intent_out_16.f90: New test. + * gfortran.dg/intent_out_17.f90: New test. + * gfortran.dg/intent_out_18.f90: New test. + +2023-07-08 Harald Anlauf + + PR fortran/110585 + * gfortran.dg/findloc_9.f90: New test. + +2023-07-07 Jan Hubicka + + * gcc.dg/pr43864-2.c: Avoid matching pre dump with details-blocks. + * gcc.dg/pr43864-3.c: Likewise. + * gcc.dg/pr43864-4.c: Likewise. + * gcc.dg/pr43864.c: Likewise. + * gcc.dg/unroll-7.c: xfail. + +2023-07-07 Eugene Rozenfeld + + * lib/target-supports.exp: Collect both kernel and user events for autofdo + +2023-07-07 Roger Sayle + + PR target/43644 + PR target/110533 + * gcc.target/i386/pr110533.c: New test case. + * gcc.target/i386/pr43644-2.c: Likewise. + +2023-07-07 Iain Buclaw + + PR d/108842 + * gdc.dg/pr98277.d: Add more tests. + * gdc.dg/pr108842.d: New test. + +2023-07-07 Jan Hubicka + + * g++.dg/tree-prof/indir-call-prof.C: Add block-details to dump flags. + * gcc.dg/pr43864-2.c: Likewise. + * gcc.dg/pr43864-3.c: Likewise. + * gcc.dg/pr43864-4.c: Likewise. + * gcc.dg/pr43864.c: Likewise. + * gcc.dg/tree-prof/cold_partition_label.c: Likewise. + * gcc.dg/tree-prof/indir-call-prof.c: Likewise. + * gcc.dg/tree-prof/update-cunroll-2.c: Likewise. + * gcc.dg/tree-prof/update-tailcall.c: Likewise. + * gcc.dg/tree-prof/val-prof-1.c: Likewise. + * gcc.dg/tree-prof/val-prof-2.c: Likewise. + * gcc.dg/tree-prof/val-prof-3.c: Likewise. + * gcc.dg/tree-prof/val-prof-4.c: Likewise. + * gcc.dg/tree-prof/val-prof-5.c: Likewise. + * gcc.dg/tree-ssa/fnsplit-1.c: Likewise. + * gcc.dg/tree-ssa/loop-ch-profile-2.c: Likewise. + * gcc.dg/tree-ssa/update-threading.c: Likewise. + * gcc.dg/tree-ssa/update-unswitch-1.c: Likewise. + * gcc.dg/unroll-7.c: Likewise. + * gcc.dg/unroll-8.c: Likewise. + * gfortran.dg/pr25623-2.f90: Likewise. + * gfortran.dg/pr25623.f90: Likewise. + * gcc.dg/tree-ssa/loop-ch-profile-1.c: Likewise; xfail. + * gcc.dg/tree-ssa/update-cunroll.c: Likewise; xfail. + * gcc.dg/tree-ssa/update-unroll-1.c: Likewise; xfail. + +2023-07-07 Jan Hubicka + + * gcc.dg/tree-ssa/vect-profile-upate.c: New test. + +2023-07-07 Juergen Christ + + * gcc.target/s390/vector/vec-init-3.c: New test. + +2023-07-07 Vladimir N. Makarov + + * gcc.target/i386/pr110372.c: New. + +2023-07-07 Aldy Hernandez + + * gcc.dg/tree-ssa/pr107009.c: Adjust irange dumping for + value/mask changes. + * gcc.dg/tree-ssa/vrp-unreachable.c: Same. + * gcc.dg/tree-ssa/vrp122.c: Same. + +2023-07-07 Pan Li + Robin Dapp + + * gcc.target/riscv/rvv/base/float-point-frm-insert-6.c: New test. + +2023-07-06 Jan Hubicka + + PR middle-end/25623 + * gfortran.dg/pr25623-2.f90: New test. + +2023-07-06 Hao Liu OS + + * gcc.target/aarch64/pr110449.c: New testcase. + +2023-07-06 Richard Biener + + PR tree-optimization/110556 + * gcc.dg/torture/pr110556.c: New testcase. + +2023-07-06 Richard Biener + + PR tree-optimization/110515 + * g++.dg/opt/pr110515.C: New testcase. + +2023-07-06 Richard Biener + + PR tree-optimization/110544 + * gcc.dg/vect/pr71264.c: Remove scan for vectorization. + +2023-07-06 Hongyu Wang + + * gcc.target/i386/inline_attr_arch.c: New test. + * gcc.target/i386/inline_target_clones.c: Ditto. + +2023-07-06 liuhongt + + * gcc.target/i386/pr110170-2.c: New test. + +2023-07-06 liuhongt + + * gcc.target/i386/pr110170-3.c: New test. + +2023-07-06 Hao Liu + + * gcc.target/aarch64/pr110474.c: New testcase. + +2023-07-05 Robin Dapp + + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1.c: Add + tests for variable index. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c: + Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-zvfh-run.c: + Ditto. + +2023-07-05 Robin Dapp + + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: Adjust + test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-zvfh-run.c: + Ditto. + +2023-07-05 Robin Dapp + Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-10.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-11.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-12.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-13.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-14.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-8.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-9.c: New test. + +2023-07-05 YunQiang Su + + * gcc.target/mips/expand-block-move-r6-no-unaligned.c: new test. + * gcc.target/mips/expand-block-move-r6.c: new test. + +2023-07-05 Richard Biener + + * gcc.dg/vect/slp-perm-9.c: Always use alternate N. + +2023-07-05 Jan Beulich + + * gcc.target/i386/avx512f-copysign.c: Suppress for 32-bit. + +2023-07-05 Jan Beulich + + PR target/100711 + * gcc.target/i386/pr100711-6.c: New test. + +2023-07-05 Jan Beulich + + PR target/100711 + * gcc.target/i386/pr100711-4.c: New test. + * gcc.target/i386/pr100711-5.c: New test. + +2023-07-05 Jan Beulich + + PR target/93768 + * gcc.target/i386/avx512f-andn-di-zmm-2.c: New test. + * gcc.target/i386/avx512f-andn-si-zmm-2.c: Adjust expecations + towards generated code. + * gcc.target/i386/pr100711-3.c: Adjust expectations for 32-bit + code. + +2023-07-05 Jan Beulich + + PR target/93768 + * gcc.target/i386/avx512-binop-not-1.h: New. + * gcc.target/i386/avx512-binop-not-2.h: New. + * gcc.target/i386/avx512f-orn-si-zmm-1.c: New test. + * gcc.target/i386/avx512f-orn-si-zmm-2.c: New test. + +2023-07-05 yulong + + * gcc.target/riscv/rvv/base/abi-10.c: Add float16 tuple type case. + * gcc.target/riscv/rvv/base/abi-11.c: Ditto. + * gcc.target/riscv/rvv/base/abi-12.c: Ditto. + * gcc.target/riscv/rvv/base/abi-15.c: Ditto. + * gcc.target/riscv/rvv/base/abi-8.c: Ditto. + * gcc.target/riscv/rvv/base/abi-9.c: Ditto. + * gcc.target/riscv/rvv/base/abi-17.c: New test. + * gcc.target/riscv/rvv/base/abi-18.c: New test. + +2023-07-05 yulong + + * gcc.target/riscv/rvv/base/tuple-28.c: New test. + * gcc.target/riscv/rvv/base/tuple-29.c: New test. + * gcc.target/riscv/rvv/base/tuple-30.c: New test. + * gcc.target/riscv/rvv/base/tuple-31.c: New test. + * gcc.target/riscv/rvv/base/tuple-32.c: New test. + +2023-07-05 Jie Mei + + * gcc.target/mips/mips16e2-cmov.c: Adjust branch cost to + encourage if-conversion. + * gcc.target/mips/movcc-3.c: Same as above. + +2023-07-04 Richard Biener + + PR tree-optimization/110491 + * gcc.dg/torture/pr110491.c: New testcase. + +2023-07-04 Richard Biener + + PR tree-optimization/110376 + * gcc.dg/torture/pr110376.c: New testcase. + +2023-07-04 Richard Biener + + PR tree-optimization/110228 + * gcc.dg/torture/pr110228.c: New testcase. + * gcc.dg/uninit-pr101912.c: Un-XFAIL. + +2023-07-04 Richard Biener + + PR tree-optimization/110436 + * gcc.dg/pr110436.c: New testcase. + +2023-07-04 Richard Biener + + PR middle-end/110495 + * gcc.dg/tree-ssa/addadd-2.c: Amend. + * gcc.dg/tree-ssa/forwprop-27.c: Adjust. + +2023-07-04 Richard Biener + + PR tree-optimization/110310 + * gcc.target/i386/pr110310.c: New testcase. + * gcc.dg/vect/slp-perm-12.c: Disable epilogue vectorization. + +2023-07-04 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/avl_prop-1.c: New test. + +2023-07-03 Christoph Müllner + + * gcc.target/riscv/zvbb.c: New test. + * gcc.target/riscv/zvbc.c: New test. + * gcc.target/riscv/zvkg.c: New test. + * gcc.target/riscv/zvkn-1.c: New test. + * gcc.target/riscv/zvkn.c: New test. + * gcc.target/riscv/zvknc-1.c: New test. + * gcc.target/riscv/zvknc-2.c: New test. + * gcc.target/riscv/zvknc.c: New test. + * gcc.target/riscv/zvkned.c: New test. + * gcc.target/riscv/zvkng-1.c: New test. + * gcc.target/riscv/zvkng-2.c: New test. + * gcc.target/riscv/zvkng.c: New test. + * gcc.target/riscv/zvknha.c: New test. + * gcc.target/riscv/zvknhb.c: New test. + * gcc.target/riscv/zvks-1.c: New test. + * gcc.target/riscv/zvks.c: New test. + * gcc.target/riscv/zvksc-1.c: New test. + * gcc.target/riscv/zvksc-2.c: New test. + * gcc.target/riscv/zvksc.c: New test. + * gcc.target/riscv/zvksed.c: New test. + * gcc.target/riscv/zvksg-1.c: New test. + * gcc.target/riscv/zvksg-2.c: New test. + * gcc.target/riscv/zvksg.c: New test. + * gcc.target/riscv/zvksh.c: New test. + * gcc.target/riscv/zvkt.c: New test. + +2023-07-03 Iain Sandoe + + * lib/g++.exp: Remove additional flag handled by Darwin specs. + * lib/obj-c++.exp: Likewise. + +2023-07-03 Gaius Mulley + + PR modula2/110125 + * gm2/switches/uninit-variable-checking/fail/testinit.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testlarge.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testlarge2.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testrecinit.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testrecinit2.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testrecinit5.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testsmallrec.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testsmallrec2.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testsmallvec.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testvarinit.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testwithnoptr.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testwithptr.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testwithptr2.mod: New test. + * gm2/switches/uninit-variable-checking/fail/testwithptr3.mod: New test. + * gm2/switches/uninit-variable-checking/pass/testrecinit3.mod: New test. + * gm2/switches/uninit-variable-checking/pass/testrecinit5.mod: New test. + * gm2/switches/uninit-variable-checking/pass/testsmallrec.mod: New test. + * gm2/switches/uninit-variable-checking/pass/testsmallrec2.mod: New test. + * gm2/switches/uninit-variable-checking/pass/testvarinit.mod: New test. + * gm2/switches/uninit-variable-checking/pass/testwithptr.mod: New test. + * gm2/switches/uninit-variable-checking/pass/testwithptr2.mod: New test. + * gm2/switches/uninit-variable-checking/pass/testwithptr3.mod: New test. + * gm2/switches/uninit-variable-checking/fail/switches-uninit-variable-checking-fail.exp: New file. + * gm2/switches/uninit-variable-checking/pass/switches-uninit-variable-checking-pass.exp: New file. + +2023-07-03 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/widen/widen-10.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-11.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-12.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-7.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-8.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-9.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-10.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-11.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-12.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-10.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-11.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-12.c: New test. + +2023-07-03 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/widen/widen-3.c: Add floating-point. + * gcc.target/riscv/rvv/autovec/widen/widen-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-3.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-7.c: New test. + +2023-07-03 Lehua Ding + + Revert: + 2023-07-03 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/widen/widen-10.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-11.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-12.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-7.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-8.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-9.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-10.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-11.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-12.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-10.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-11.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-12.c: New test. + +2023-07-03 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/widen/widen-10.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-11.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-12.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-7.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-8.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-9.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-10.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-11.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-12.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-10.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-11.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-12.c: New test. + +2023-07-03 Richard Biener + + PR tree-optimization/110506 + * gcc.dg/pr110506-2.c: New testcase. + +2023-07-03 Richard Biener + + PR tree-optimization/110506 + * gcc.dg/pr110506.c: New testcase. + +2023-07-03 Andrew Pinski + + PR tree-optimization/110381 + * gcc.dg/vect/pr110381.c: Add vect_float_strict. + +2023-07-03 Jie Mei + + * gcc.target/mips/mips16e2-cache.c: New tests for mips16e2. + +2023-07-03 Jie Mei + + * gcc.target/mips/mips16e2.c: New tests for mips16e2. + +2023-07-03 Jie Mei + + * gcc.target/mips/mips16e2.c: Add new tests for mips16e2. + +2023-07-03 Jie Mei + + * gcc.target/mips/mips16e2.c: New tests for mips16e2. + +2023-07-03 Jie Mei + + * gcc.target/mips/mips16e2-gp.c: New tests for mips16e2. + +2023-07-03 Jie Mei + + * gcc.target/mips/mips16e2-cmov.c: Added tests for MOVx instructions. + +2023-07-03 Jie Mei + + * gcc.target/mips/mips.exp(mips_option_groups): Add -mmips16e2 + option. + (mips-dg-init): Handle the recognization of mips16e2 targets. + (mips-dg-options): Add dependencies for mips16e2. + +2023-07-02 Iain Buclaw + + * gdc.dg/Wbuiltin_declaration_mismatch2.d: Fix failed tests. + +2023-07-02 Jakub Jelinek + + PR tree-optimization/110508 + * gcc.dg/pr110508.c: New test. + +2023-07-02 Iain Buclaw + + PR d/108962 + * gdc.dg/pr108962.d: New test. + +2023-07-02 Iain Buclaw + + PR d/110516 + * gdc.dg/torture/pr110516a.d: New test. + * gdc.dg/torture/pr110516b.d: New test. + +2023-07-01 Iain Buclaw + + PR d/110514 + * gdc.dg/pr110514a.d: New test. + * gdc.dg/pr110514b.d: New test. + * gdc.dg/pr110514c.d: New test. + * gdc.dg/pr110514d.d: New test. + +2023-07-01 Iain Buclaw + + PR d/110471 + * gdc.dg/pr110471a.d: New test. + * gdc.dg/pr110471b.d: New test. + * gdc.dg/pr110471c.d: New test. + +2023-07-01 Jan Hubicka + + PR tree-optimization/25623 + * gfortran.dg/pr25623.f90: New test. + +2023-07-01 Jan Hubicka + + * gcc.dg/tree-ssa/ifc-20040816-1.c: Reduce number of mismatches + from 2 to 1. + * gcc.dg/tree-ssa/loop-ch-profile-1.c: New test. + * gcc.dg/tree-ssa/loop-ch-profile-2.c: New test. + +2023-07-01 Roger Sayle + + * gcc.target/i386/rotate-6.c: New test case. + * gcc.target/i386/sse2-stv-1.c: Likewise. + +2023-07-01 Jan Hubicka + + PR tree-optimization/103680 + * gcc.dg/tree-ssa/pr103680.c: New test. + * gcc.dg/tree-prof/cmpsf-1.c: Un-xfail. + +2023-06-30 Patrick Palka + + * g++.dg/template/nontype12.C: Refine and XFAIL the dg-bogus + duplicate diagnostic check. + +2023-06-30 Qing Zhao + + PR tree-optimization/101832 + * gcc.dg/builtin-object-size-pr101832.c: New test. + +2023-06-30 Eric Botcazou + + * gcc.c-torture/execute/20230630-1.c: New test. + * gcc.c-torture/execute/20230630-2.c: Likewise. + * gcc.c-torture/execute/20230630-3.c: Likewise + * gcc.c-torture/execute/20230630-4.c: Likewise + +2023-06-30 David Malcolm + + PR jit/110466 + * jit.dg/jit.exp (jit-check-debug-info): Gracefully handle too + early versions of gdb that don't support our dwarf version, via + "unsupported". + +2023-06-30 David Malcolm + Marek Polacek + + PR jit/110466 + * jit.dg/test-expressions.c (run_test_of_comparison): Fix size + param to gcc_jit_type_get_vector. + (verify_comparisons): Use a typedef rather than __vector. + +2023-06-30 Jan Hubicka + + PR middle-end/109849 + * gcc.dg/predict-18.c: Improve testcase. + +2023-06-30 Oluwatamilore Adebayo + + * gcc.target/aarch64/abd_2.c: Added ABDL testcases. + * gcc.target/aarch64/abd_3.c: Added ABDL testcases. + * gcc.target/aarch64/abd_4.c: Added ABDL testcases. + * gcc.target/aarch64/abd_none_2.c: Added ABDL testcases. + * gcc.target/aarch64/abd_none_3.c: Added ABDL testcases. + * gcc.target/aarch64/abd_none_4.c: Added ABDL testcases. + * gcc.target/aarch64/abd_run_1.c: Added ABDL testcases. + * gcc.target/aarch64/sve/abd_1.c: Added ABDL testcases. + * gcc.target/aarch64/sve/abd_2.c: Added ABDL testcases. + * gcc.target/aarch64/sve/abd_none_1.c: Added ABDL testcases. + * gcc.target/aarch64/sve/abd_none_2.c: Added ABDL testcases. + * gcc.target/aarch64/abd_widen_2.c: New file. + * gcc.target/aarch64/abd_widen_3.c: New file. + * gcc.target/aarch64/abd_widen_4.c: New file. + +2023-06-30 Richard Biener + + PR tree-optimization/110496 + * gcc.dg/pr110496.c: New testcase. + +2023-06-30 Richard Biener + + PR tree-optimization/110381 + * gcc.dg/vect/pr110381.c: Add check_vect (). + +2023-06-30 Jovan Dmitrović + + * gcc.target/mips/align-1-n64.c: New test. + * gcc.target/mips/align-1-o32.c: New test. + +2023-06-29 Jan Hubicka + + PR tree-optimization/109849 + * gcc.dg/ipa/pr109849.c: New test. + +2023-06-29 Marek Polacek + + * gcc.dg/plugin/crash-test-ice-sarif.c: Use -fno-report-bug. Adjust + scan-sarif-file. + * gcc.dg/plugin/crash-test-ice-stderr.c: Use -fno-report-bug. + * gcc.dg/plugin/crash-test-write-though-null-sarif.c: Use + -fno-report-bug. Adjust scan-sarif-file. + * gcc.dg/plugin/crash-test-write-though-null-stderr.c: Use + -fno-report-bug. + +2023-06-29 Marek Polacek + + * gcc.target/i386/pr104610.c: Use -fno-stack-protector. + * gcc.target/i386/pr69482-1.c: Likewise. + +2023-06-29 Patrick Palka + + PR c++/110468 + * g++.dg/cpp0x/noexcept79.C: New test. + +2023-06-29 Patrick Palka + + PR c++/110463 + * g++.dg/cpp0x/constexpr-mutable6.C: New test. + +2023-06-29 Qing Zhao + + PR c/77650 + * gcc.dg/variable-sized-type-flex-array.c: New test. + +2023-06-29 Roger Sayle + + * gcc.target/i386/pieces-memcmp-2.c: Specify that 128-bit + comparisons are desired, to see if 256-bit instructions are + generated inappropriately (fixes test on -march=cascadelake). + +2023-06-29 Alexandre Oliva + + * lib/options.exp (check_for_options_with_filter): Handle + missing frontend compiler like disabled language. + +2023-06-29 Richard Biener + + PR middle-end/110452 + * gcc.target/i386/pr110452.c: New file. + +2023-06-29 Richard Biener + + PR middle-end/110461 + * gcc.dg/pr110461.c: New testcase. + +2023-06-29 Richard Biener + + PR c/110454 + * gcc.dg/Wtraditional-conversion-3.c: New testcase. + +2023-06-29 Pan Li + + * gcc.target/riscv/rvv/base/float-point-frm-insert-1.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-insert-2.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-insert-3.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-insert-4.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm-insert-5.c: New test. + +2023-06-29 Pan Li + + * gcc.target/riscv/rvv/base/float-point-frm-error.c: New test. + * gcc.target/riscv/rvv/base/float-point-frm.c: New test. + +2023-06-28 Hans-Peter Nilsson + + * lib/target-supports.exp (check_effective_target_lra): Remove + cris-*-* from expression for exceptions to LRA. + +2023-06-28 Jan Hubicka + + PR middle-end/110334 + * g++.dg/opt/pr66119.C: Disable early inlining. + * gcc.c-torture/compile/pr110334.c: New test. + * gcc.dg/tree-ssa/pr110334.c: New test. + +2023-06-28 Harald Anlauf + + PR fortran/110360 + * gfortran.dg/value_9.f90: Add tests for intermediate regression. + +2023-06-28 Patrick Palka + + PR c++/89442 + PR c++/107437 + * g++.dg/cpp/pr64127.C: Expect "expected unqualified-id at end + of input" error. + * g++.dg/cpp0x/alias-decl-ttp1.C: Fix template parameter/argument + kind mismatch for variable template has_P_match_V. + * g++.dg/cpp1y/pr72759.C: Expect "template argument 1 is invalid" + error. + * g++.dg/cpp1z/constexpr-if20.C: XFAIL test due to bogus "'i' is + not captured" error. + * g++.dg/cpp1z/noexcept-type21.C: Fix arity of variable template d. + * g++.dg/diagnostic/not-a-function-template-1.C: Add default + template argument to variable template A so that A<> is valid. + * g++.dg/parse/error56.C: Don't expect "ISO C++ forbids + declaration with no type" error. + * g++.dg/parse/template30.C: Don't expect "parse error in + template argument list" error. + * g++.dg/cpp1y/var-templ82.C: New test. + +2023-06-28 Iain Buclaw + + PR d/106977 + PR target/110406 + * gdc.dg/torture/pr110406.d: New test. + +2023-06-28 Marek Polacek + + PR c++/110175 + * g++.dg/cpp0x/decltype-110175.C: New test. + +2023-06-28 Manolis Tsamis + + PR debug/110308 + * g++.dg/torture/pr110308.C: New test. + +2023-06-28 Christophe Lyon + + * gcc.target/arm/mve/intrinsics/mve_fp_fpu1.c: Fix .fpu + scan-assembler. + * gcc.target/arm/mve/intrinsics/mve_fp_fpu2.c: Likewise. + +2023-06-28 Christophe Lyon + + * gcc.target/arm/mve/general-c/nomve_fp_1.c: Require arm_fp. + +2023-06-28 Richard Biener + + PR tree-optimization/110451 + * gfortran.dg/vect/pr110451.f: New testcase. + +2023-06-28 Paul Thomas + + PR fortran/49213 + * gfortran.dg/pr49213.f90 : New test + +2023-06-28 Roger Sayle + + * gcc.target/i386/pieces-memcmp-2.c: New test case. + +2023-06-28 Richard Biener + + PR tree-optimization/110443 + * gcc.dg/torture/pr110443.c: New testcase. + +2023-06-28 Haochen Gui + + * gcc.dg/rtl/powerpc/move_compare_peephole_32.c: New. + * gcc.dg/rtl/powerpc/move_compare_peephole_64.c: New. + +2023-06-28 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/widen/widen-8.c: Add floating-point. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-8.c: New test. + +2023-06-28 Haochen Gui + + PR target/104124 + * gcc.target/powerpc/pr104124.c: New. + +2023-06-28 Jan Hubicka + + PR tree-optimization/110377 + * gcc.dg/ipa/pr110377.c: New test. + +2023-06-28 Andrew Pinski + + PR tree-optimization/110444 + * gcc.c-torture/compile/pr110444-1.c: New test. + +2023-06-28 Jason Merrill + + PR c++/110334 + * g++.dg/cpp1z/nodiscard-inh1.C: New test. + +2023-06-28 Alexandre Oliva + + * c-c++-common/zero-scratch-regs-leafy-1.c: New. + * c-c++-common/zero-scratch-regs-leafy-2.c: New. + * gcc.target/i386/zero-scratch-regs-leafy-1.c: New. + * gcc.target/i386/zero-scratch-regs-leafy-2.c: New. + +2023-06-28 Alexandre Oliva + + * gcc.misc-tests/outputs.exp (gld): Note a known mismatch and + record a workaround. + +2023-06-28 Jason Merrill + + PR c++/110344 + * g++.dg/cpp26/constexpr-voidptr1.C: New test. + * g++.dg/cpp26/constexpr-voidptr2.C: New test. + * g++.dg/cpp26/feat-cxx26.C: New test. + +2023-06-28 Jason Merrill + + * lib/g++-dg.exp (g++-dg-runtest): Update for C++26. + +2023-06-28 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/widen/widen-1.c: Add floating-point. + * gcc.target/riscv/rvv/autovec/widen/widen-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-1.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-2.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-5.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-6.c: New test. + +2023-06-28 Hongyu Wang + + * gcc.target/i386/mvc17.c: Add -march=x86-64 to dg-options. + +2023-06-28 liuhongt + + * gcc.target/i386/bf16_short_warn.c: New test. + +2023-06-27 Robin Dapp + + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-template.h: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-template.h: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-template.h: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-template.h: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-zvfh-run.c: New test. + +2023-06-27 Robin Dapp + + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-template.h: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-template.h: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-zvfh-run.c: New test. + +2023-06-27 Robin Dapp + + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-run.c: Adjust. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-rv32gcv.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-rv64gcv.c: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-template.h: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vncvt-template.h: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vsext-template.h: + Ditto. + * gcc.target/riscv/rvv/autovec/conversions/vzext-template.h: + Ditto. + * gcc.target/riscv/rvv/autovec/zvfhmin-1.c: Add int/float conversions. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-template.h: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-zvfh-run.c: New file. + +2023-06-27 Robin Dapp + + * gcc.target/riscv/rvv/autovec/binop/copysign-run.c: New test. + * gcc.target/riscv/rvv/autovec/binop/copysign-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/binop/copysign-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/binop/copysign-template.h: New test. + * gcc.target/riscv/rvv/autovec/binop/copysign-zvfh-run.c: New test. + +2023-06-27 Prathamesh Kulkarni + + * gcc.target/aarch64/sve/acle/general/dupq_11.c: New test. + +2023-06-27 Andrew Pinski + + PR middle-end/110420 + PR middle-end/103979 + PR middle-end/98619 + * gcc.c-torture/compile/asmgoto-6.c: New test. + +2023-06-27 Richard Biener + + PR tree-optimization/96208 + * gcc.dg/vect/slp-46.c: Adjust for new vectorizations. + * gcc.dg/vect/bb-slp-pr65935.c: Adjust. + +2023-06-27 liuhongt + + * gcc.target/i386/avx-vzeroupper-29.c: New testcase. + +2023-06-27 liuhongt + + * gcc.target/i386/avx-vzeroupper-30.c: New test. + +2023-06-27 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/slp-17.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-18.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-19.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-17.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-18.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-19.c: New test. + +2023-06-26 Andreas Krebbel + + * gcc.target/s390/larl-1.c: New test. + +2023-06-26 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/autovec/partial/gimple_fold-1.c: New test. + +2023-06-26 Richard Biener + + PR tree-optimization/110381 + * gcc.dg/vect/pr110381.c: New testcase. + +2023-06-26 Roger Sayle + + * gcc.target/i386/ashldi3-1.c: New 32-bit test case. + * gcc.target/i386/ashlti3-2.c: New 64-bit test case. + +2023-06-26 liuhongt + + * gcc.target/aarch64/pr110371.c: New test. + +2023-06-26 liuhongt + + * gcc.target/i386/pr110018-1.c: Add -fno-trapping-math to dg-options. + * gcc.target/i386/pr110018-2.c: Ditto. + +2023-06-26 Hongyu Wang + + * gcc.target/i386/mvc17.c: New test. + +2023-06-26 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/vlmul_ext-2.c: Add -Wno-psabi for dg. + +2023-06-26 Iain Buclaw + + PR d/110359 + * gdc.dg/pr110359.d: New test. + +2023-06-25 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/select_vl-1.c: Add dump checks. + * gcc.target/riscv/rvv/autovec/partial/select_vl-2.c: New test. + +2023-06-25 Li Xu + + * gcc.target/riscv/rvv/base/vlmul_ext-2.c: New test. + +2023-06-25 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-2.c: New test. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-2.h: New test. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-3.c: New test. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-3.h: New test. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-3.c: New test. + +2023-06-25 Pan Li + + * gcc.target/riscv/rvv/base/abi-10.c: Revert. + * gcc.target/riscv/rvv/base/abi-11.c: Ditto. + * gcc.target/riscv/rvv/base/abi-12.c: Ditto. + * gcc.target/riscv/rvv/base/abi-15.c: Ditto. + * gcc.target/riscv/rvv/base/abi-8.c: Ditto. + * gcc.target/riscv/rvv/base/abi-9.c: Ditto. + * gcc.target/riscv/rvv/base/abi-17.c: Ditto. + * gcc.target/riscv/rvv/base/abi-18.c: Ditto. + +2023-06-25 Pan Li + + * gcc.target/riscv/rvv/base/tuple-28.c: Removed. + * gcc.target/riscv/rvv/base/tuple-29.c: Removed. + * gcc.target/riscv/rvv/base/tuple-30.c: Removed. + * gcc.target/riscv/rvv/base/tuple-31.c: Removed. + * gcc.target/riscv/rvv/base/tuple-32.c: Removed. + +2023-06-25 liuhongt + + * gcc.target/i386/pr110309.c: New test. + +2023-06-25 yulong + + * gcc.target/riscv/rvv/base/abi-10.c: Add float16 tuple type case. + * gcc.target/riscv/rvv/base/abi-11.c: Ditto. + * gcc.target/riscv/rvv/base/abi-12.c: Ditto. + * gcc.target/riscv/rvv/base/abi-15.c: Ditto. + * gcc.target/riscv/rvv/base/abi-8.c: Ditto. + * gcc.target/riscv/rvv/base/abi-9.c: Ditto. + * gcc.target/riscv/rvv/base/abi-17.c: New test. + * gcc.target/riscv/rvv/base/abi-18.c: New test. + +2023-06-24 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/ternop/ternop-1.c: Adjust tests. + * gcc.target/riscv/rvv/autovec/ternop/ternop-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/ternop/ternop-10.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop-11.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop-12.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop-7.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop-8.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop-9.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-10.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-11.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-12.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-7.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-8.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-9.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-1.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-10.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-11.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-12.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-2.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-3.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-4.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-5.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-6.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-7.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-8.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-9.c: New test. + +2023-06-24 David Malcolm + + * gcc.dg/plugin/diagnostic_plugin_test_text_art.c: Add + #define INCLUDE_VECTOR. + +2023-06-23 David Malcolm + + PR c++/110164 + * g++.dg/diagnostic/missing-header-pr110164.C: New test. + +2023-06-23 Marek Polacek + + * lib/target-supports.exp (check_effective_target_c++23): Return + 1 also if check_effective_target_c++26. + (check_effective_target_c++23_down): New. + (check_effective_target_c++26_only): New. + (check_effective_target_c++26): New. + * g++.dg/cpp23/cplusplus.C: Adjust expected value. + * g++.dg/cpp26/cplusplus.C: New test. + +2023-06-23 Harald Anlauf + + PR fortran/110360 + * gfortran.dg/value_9.f90: New test. + +2023-06-23 Michael Meissner + Aaron Sawdey + + PR target/105325 + * g++.target/powerpc/pr105325.C: New test. + * gcc.target/powerpc/fusion-p10-ldcmpi.c: Update insn counts. + +2023-06-23 Iain Sandoe + + * objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h: Make + this header use pragma system_header. + +2023-06-23 Prathamesh Kulkarni + + PR tree-optimization/110280 + * gcc.target/aarch64/sve/pr110280.c: New test. + +2023-06-22 Richard Biener + + PR tree-optimization/110332 + * g++.dg/torture/pr110332.C: New testcase. + * gcc.dg/torture/pr110332-1.c: Likewise. + * gcc.dg/torture/pr110332-2.c: Likewise. + +2023-06-22 Roger Sayle + Uros Bizjak + + * gcc.target/i386/avx-vptest-4.c: New test case. + * gcc.target/i386/avx-vptest-5.c: Likewise. + * gcc.target/i386/avx-vptest-6.c: Likewise. + * gcc.target/i386/pr109973-1.c: Update test case. + * gcc.target/i386/pr109973-2.c: Likewise. + * gcc.target/i386/sse4_1-ptest-4.c: New test case. + * gcc.target/i386/sse4_1-ptest-5.c: Likewise. + * gcc.target/i386/sse4_1-ptest-6.c: Likewise. + +2023-06-22 David Malcolm + + PR analyzer/106626 + * gcc.dg/analyzer/data-model-1.c (test_16): Update for + out-of-bounds working. + * gcc.dg/analyzer/out-of-bounds-diagram-1-ascii.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-1-debug.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-1-emoji.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-1-json.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-1-sarif.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-1-unicode.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-10.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-11.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-12.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-13.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-14.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-15.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-2.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-3.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-4.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-5-ascii.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-5-unicode.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-6.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-7.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-8.c: New test. + * gcc.dg/analyzer/out-of-bounds-diagram-9.c: New test. + * gcc.dg/analyzer/pattern-test-2.c: Update expected results. + * gcc.dg/analyzer/pr101962.c: Update expected results. + * gcc.dg/plugin/analyzer_gil_plugin.c: Add logger param to + pending_diagnostic::emit implementations. + +2023-06-22 David Malcolm + + * gcc.dg/plugin/diagnostic-test-text-art-ascii-bw.c: New test. + * gcc.dg/plugin/diagnostic-test-text-art-ascii-color.c: New test. + * gcc.dg/plugin/diagnostic-test-text-art-none.c: New test. + * gcc.dg/plugin/diagnostic-test-text-art-unicode-bw.c: New test. + * gcc.dg/plugin/diagnostic-test-text-art-unicode-color.c: New test. + * gcc.dg/plugin/diagnostic_plugin_test_text_art.c: New test plugin. + * gcc.dg/plugin/plugin.exp (plugin_test_list): Add them. + +2023-06-22 David Malcolm + + * c-c++-common/Wlogical-not-parentheses-2.c: Split up the + multiline directive. + * gcc.dg/analyzer/malloc-macro-inline-events.c: Remove redundant + dg-regexp directives. + * gcc.dg/missing-header-fixit-5.c: Split up the multiline + directives. + * lib/gcc-dg.exp (gcc-dg-prune): Move call to + handle-multiline-outputs from prune_gcc_output to here. + * lib/multiline.exp (dg-end-multiline-output): Move call to + maybe-handle-nn-line-numbers from prune_gcc_output to here. + * lib/prune.exp (prune_gcc_output): Move calls to + maybe-handle-nn-line-numbers and handle-multiline-outputs from + here to the above. + +2023-06-21 Paul Thomas + + PR fortran/87477 + PR fortran/107900 + PR fortran/110224 + PR fortran/88688 + PR fortran/94380 + PR fortran/95398 + * gfortran.dg/pr107900.f90 : New test + * gfortran.dg/pr110224.f90 : New test + * gfortran.dg/pr88688.f90 : New test + * gfortran.dg/pr94380.f90 : New test + * gfortran.dg/pr95398.f90 : Set -std=f2008, bump the line + numbers in the error tests by two and change the text in two. + +2023-06-21 Paul Thomas + + PR fortran/108961 + * gfortran.dg/pr108961.f90: New test. + +2023-06-21 Uros Bizjak + + PR target/110018 + * gcc.target/i386/pr110018-1.c: Use explicit signed types. + * gcc.target/i386/pr110018-2.c: New test. + +2023-06-21 Kyrylo Tkachov + + * gcc.target/aarch64/sve/gather_earlyclobber.c: New test. + * gcc.target/aarch64/sve2/gather_earlyclobber.c: New test. + +2023-06-21 Richard Biener + + * gcc.target/i386/vect-partial-vectors-1.c: New testcase. + * gcc.target/i386/vect-partial-vectors-2.c: Likewise. + +2023-06-21 Jan Beulich + + * gcc.target/i386/avx512f-copysign.c: New test. + +2023-06-21 Jan Beulich + + * gcc.target/i386/avx512f-dupv2di.c: Add + -mprefer-vector-width=512. + +2023-06-21 liuhongt + + * gcc.target/i386/pr110018-1.c: New test. + +2023-06-20 Lewis Hyatt + + PR c++/66290 + * c-c++-common/cpp/macro-ranges.c: New test. + * c-c++-common/cpp/line-2.c: Adapt to check for column information + on macro-related libcpp warnings. + * c-c++-common/cpp/line-3.c: Likewise. + * c-c++-common/cpp/macro-arg-count-1.c: Likewise. + * c-c++-common/cpp/pr58844-1.c: Likewise. + * c-c++-common/cpp/pr58844-2.c: Likewise. + * c-c++-common/cpp/warning-zero-location.c: Likewise. + * c-c++-common/pragma-diag-14.c: Likewise. + * c-c++-common/pragma-diag-15.c: Likewise. + * g++.dg/modules/macro-2_d.C: Likewise. + * g++.dg/modules/macro-4_d.C: Likewise. + * g++.dg/modules/macro-4_e.C: Likewise. + * g++.dg/spellcheck-macro-ordering.C: Likewise. + * gcc.dg/builtin-redefine.c: Likewise. + * gcc.dg/cpp/Wunused.c: Likewise. + * gcc.dg/cpp/redef2.c: Likewise. + * gcc.dg/cpp/redef3.c: Likewise. + * gcc.dg/cpp/redef4.c: Likewise. + * gcc.dg/cpp/ucnid-11-utf8.c: Likewise. + * gcc.dg/cpp/ucnid-11.c: Likewise. + * gcc.dg/cpp/undef2.c: Likewise. + * gcc.dg/cpp/warn-redefined-2.c: Likewise. + * gcc.dg/cpp/warn-redefined.c: Likewise. + * gcc.dg/cpp/warn-unused-macros-2.c: Likewise. + * gcc.dg/cpp/warn-unused-macros.c: Likewise. + +2023-06-20 Richard Sandiford + + * gcc.target/aarch64/sve/pcs/args_1.c: Match moves from the stack + pointer to indirect argument registers and allow either to be used + as the base register in subsequent stores. + * gcc.target/aarch64/sve/pcs/args_8.c: Likewise. + * gcc.target/aarch64/sve/pcs/args_2.c: Allow the store of the + indirect argument to happen via the argument register or the + stack pointer. + * gcc.target/aarch64/sve/pcs/args_3.c: Likewise. + * gcc.target/aarch64/sve/pcs/args_4.c: Likewise. + * gcc.target/aarch64/sve/pcs/args_5_be_bf16.c: Likewise. + * gcc.target/aarch64/sve/pcs/args_5_be_f16.c: Likewise. + * 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_bf16.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_bf16.c: Disable + -fcprop-registers and combine. + * 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_bf16.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/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/varargs_3_nosc.c: Likewise. + * gcc.target/aarch64/sve/pcs/varargs_3_sc.c: Likewise. + +2023-06-20 Jakub Jelinek + + PR middle-end/79173 + * g++.target/i386/pr79173-1.C: New test. + +2023-06-20 Martin Jambor + + PR ipa/110276 + * gcc.dg/ipa/pr110276.c: New test. + +2023-06-20 Carl Love + + * gcc.target/powerpc/bfp/scalar-extract-exp-8.c: New test case. + * gcc.target/powerpc/bfp/scalar-extract-sig-8.c: New test case. + * gcc.target/powerpc/bfp/scalar-insert-exp-16.c: New test case. + +2023-06-20 Robin Dapp + + * gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c: Add + -mabi=lp64d. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-2.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-3.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-4.c: Dito. + +2023-06-20 Li Xu + + * gcc.target/riscv/rvv/autovec/vreinterpet-fixed.c: New test. + +2023-06-20 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Adapt testcase. + * gcc.target/riscv/rvv/autovec/partial/slp-16.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-16.c: New test. + +2023-06-20 Robin Dapp + + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1.c: Add + -Wno-psabi. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c: + Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-2.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-3.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-4.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-run.c: Dito. + +2023-06-20 Robin Dapp + + * gcc.target/riscv/rvv/autovec/binop/vadd-run.c: Add + -ffast-math. + * gcc.target/riscv/rvv/autovec/binop/vadd-zvfh-run.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Remove + -ffast-math + * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv.c: Check for + vfmul. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv.c: Dito. + +2023-06-20 Richard Biener + + * gcc.dg/tree-ssa/ssa-dse-47.c: New testcase. + * c-c++-common/asan/pr106558.c: Avoid undefined behavior + due to missing return. + +2023-06-20 Kyrylo Tkachov + + * gcc.target/aarch64/simd/addp-same-low_1.c: New test. + +2023-06-20 Jan Beulich + + * gcc.target/i386/avx512f-dupv2di.c: New test. + +2023-06-20 Richard Biener + + PR debug/110295 + * g++.dg/debug/pr110295.C: New testcase. + +2023-06-20 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c: Fix fail. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-zvfh-run.c: Ditto. + +2023-06-20 Lehua Ding + + * gcc.target/riscv/rvv/autovec/fixed-vlmax-1.c: Add -Wno-psabi option. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-7.c: Ditto. + * gcc.target/riscv/rvv/base/pr110119-1.c: Ditto. + * gcc.target/riscv/rvv/base/pr110119-2.c: Ditto. + * gcc.target/riscv/vector-abi-1.c: Ditto. + * gcc.target/riscv/vector-abi-2.c: Ditto. + * gcc.target/riscv/vector-abi-3.c: Ditto. + * gcc.target/riscv/vector-abi-4.c: Ditto. + * gcc.target/riscv/vector-abi-5.c: Ditto. + * gcc.target/riscv/vector-abi-6.c: Ditto. + * gcc.target/riscv/vector-abi-7.c: New test. + * gcc.target/riscv/vector-abi-8.c: New test. + * gcc.target/riscv/vector-abi-9.c: New test. + +2023-06-19 Jin Ma + + * gcc.target/riscv/interrupt-fcsr-1.c: New test. + * gcc.target/riscv/interrupt-fcsr-2.c: New test. + * gcc.target/riscv/interrupt-fcsr-3.c: New test. + +2023-06-19 Jan Hubicka + + PR tree-optimization/109811 + PR tree-optimization/109849 + * gcc.dg/tree-ssa/phiprop-1.c: New test. + * gcc.dg/tree-ssa/pr21463.c: Adjust template. + +2023-06-19 Pan Li + + PR target/110299 + * gcc.target/riscv/rvv/base/pr110299-1.c: New test. + * gcc.target/riscv/rvv/base/pr110299-1.h: New test. + * gcc.target/riscv/rvv/base/pr110299-2.c: New test. + * gcc.target/riscv/rvv/base/pr110299-2.h: New test. + * gcc.target/riscv/rvv/base/pr110299-3.c: New test. + * gcc.target/riscv/rvv/base/pr110299-3.h: New test. + * gcc.target/riscv/rvv/base/pr110299-4.c: New test. + * gcc.target/riscv/rvv/base/pr110299-4.h: New test. + +2023-06-19 Pan Li + + PR target/110277 + * gcc.target/riscv/rvv/base/pr110277-1.c: New test. + * gcc.target/riscv/rvv/base/pr110277-1.h: New test. + * gcc.target/riscv/rvv/base/pr110277-2.c: New test. + * gcc.target/riscv/rvv/base/pr110277-2.h: New test. + +2023-06-19 Andrew Stubbs + + * gcc.dg/tree-ssa/predcom-2.c: Avoid vectors on amdgcn. + * gcc.dg/unroll-8.c: Likewise. + * gcc.dg/vect/slp-26.c: Change expected results on amdgdn. + * lib/target-supports.exp + (check_effective_target_vect_int_mod): Add amdgcn. + (check_effective_target_divmod): Likewise. + * gcc.target/gcn/simd-math-3-16.c: New test. + * gcc.target/gcn/simd-math-3-2.c: New test. + * gcc.target/gcn/simd-math-3-32.c: New test. + * gcc.target/gcn/simd-math-3-4.c: New test. + * gcc.target/gcn/simd-math-3-8.c: New test. + * gcc.target/gcn/simd-math-3-char-16.c: New test. + * gcc.target/gcn/simd-math-3-char-2.c: New test. + * gcc.target/gcn/simd-math-3-char-32.c: New test. + * gcc.target/gcn/simd-math-3-char-4.c: New test. + * gcc.target/gcn/simd-math-3-char-8.c: New test. + * gcc.target/gcn/simd-math-3-char-run-16.c: New test. + * gcc.target/gcn/simd-math-3-char-run-2.c: New test. + * gcc.target/gcn/simd-math-3-char-run-32.c: New test. + * gcc.target/gcn/simd-math-3-char-run-4.c: New test. + * gcc.target/gcn/simd-math-3-char-run-8.c: New test. + * gcc.target/gcn/simd-math-3-char-run.c: New test. + * gcc.target/gcn/simd-math-3-char.c: New test. + * gcc.target/gcn/simd-math-3-long-16.c: New test. + * gcc.target/gcn/simd-math-3-long-2.c: New test. + * gcc.target/gcn/simd-math-3-long-32.c: New test. + * gcc.target/gcn/simd-math-3-long-4.c: New test. + * gcc.target/gcn/simd-math-3-long-8.c: New test. + * gcc.target/gcn/simd-math-3-long-run-16.c: New test. + * gcc.target/gcn/simd-math-3-long-run-2.c: New test. + * gcc.target/gcn/simd-math-3-long-run-32.c: New test. + * gcc.target/gcn/simd-math-3-long-run-4.c: New test. + * gcc.target/gcn/simd-math-3-long-run-8.c: New test. + * gcc.target/gcn/simd-math-3-long-run.c: New test. + * gcc.target/gcn/simd-math-3-long.c: New test. + * gcc.target/gcn/simd-math-3-run-16.c: New test. + * gcc.target/gcn/simd-math-3-run-2.c: New test. + * gcc.target/gcn/simd-math-3-run-32.c: New test. + * gcc.target/gcn/simd-math-3-run-4.c: New test. + * gcc.target/gcn/simd-math-3-run-8.c: New test. + * gcc.target/gcn/simd-math-3-run.c: New test. + * gcc.target/gcn/simd-math-3-short-16.c: New test. + * gcc.target/gcn/simd-math-3-short-2.c: New test. + * gcc.target/gcn/simd-math-3-short-32.c: New test. + * gcc.target/gcn/simd-math-3-short-4.c: New test. + * gcc.target/gcn/simd-math-3-short-8.c: New test. + * gcc.target/gcn/simd-math-3-short-run-16.c: New test. + * gcc.target/gcn/simd-math-3-short-run-2.c: New test. + * gcc.target/gcn/simd-math-3-short-run-32.c: New test. + * gcc.target/gcn/simd-math-3-short-run-4.c: New test. + * gcc.target/gcn/simd-math-3-short-run-8.c: New test. + * gcc.target/gcn/simd-math-3-short-run.c: New test. + * gcc.target/gcn/simd-math-3-short.c: New test. + * gcc.target/gcn/simd-math-3.c: New test. + * gcc.target/gcn/simd-math-4-char-run.c: New test. + * gcc.target/gcn/simd-math-4-char.c: New test. + * gcc.target/gcn/simd-math-4-long-run.c: New test. + * gcc.target/gcn/simd-math-4-long.c: New test. + * gcc.target/gcn/simd-math-4-run.c: New test. + * gcc.target/gcn/simd-math-4-short-run.c: New test. + * gcc.target/gcn/simd-math-4-short.c: New test. + * gcc.target/gcn/simd-math-4.c: New test. + * gcc.target/gcn/simd-math-5-16.c: New test. + * gcc.target/gcn/simd-math-5-32.c: New test. + * gcc.target/gcn/simd-math-5-4.c: New test. + * gcc.target/gcn/simd-math-5-8.c: New test. + * gcc.target/gcn/simd-math-5-char-16.c: New test. + * gcc.target/gcn/simd-math-5-char-32.c: New test. + * gcc.target/gcn/simd-math-5-char-4.c: New test. + * gcc.target/gcn/simd-math-5-char-8.c: New test. + * gcc.target/gcn/simd-math-5-char-run-16.c: New test. + * gcc.target/gcn/simd-math-5-char-run-32.c: New test. + * gcc.target/gcn/simd-math-5-char-run-4.c: New test. + * gcc.target/gcn/simd-math-5-char-run-8.c: New test. + * gcc.target/gcn/simd-math-5-char-run.c: New test. + * gcc.target/gcn/simd-math-5-char.c: New test. + * gcc.target/gcn/simd-math-5-long-16.c: New test. + * gcc.target/gcn/simd-math-5-long-32.c: New test. + * gcc.target/gcn/simd-math-5-long-4.c: New test. + * gcc.target/gcn/simd-math-5-long-8.c: New test. + * gcc.target/gcn/simd-math-5-long-run-16.c: New test. + * gcc.target/gcn/simd-math-5-long-run-32.c: New test. + * gcc.target/gcn/simd-math-5-long-run-4.c: New test. + * gcc.target/gcn/simd-math-5-long-run-8.c: New test. + * gcc.target/gcn/simd-math-5-long-run.c: New test. + * gcc.target/gcn/simd-math-5-long.c: New test. + * gcc.target/gcn/simd-math-5-run-16.c: New test. + * gcc.target/gcn/simd-math-5-run-32.c: New test. + * gcc.target/gcn/simd-math-5-run-4.c: New test. + * gcc.target/gcn/simd-math-5-run-8.c: New test. + * gcc.target/gcn/simd-math-5-run.c: New test. + * gcc.target/gcn/simd-math-5-short-16.c: New test. + * gcc.target/gcn/simd-math-5-short-32.c: New test. + * gcc.target/gcn/simd-math-5-short-4.c: New test. + * gcc.target/gcn/simd-math-5-short-8.c: New test. + * gcc.target/gcn/simd-math-5-short-run-16.c: New test. + * gcc.target/gcn/simd-math-5-short-run-32.c: New test. + * gcc.target/gcn/simd-math-5-short-run-4.c: New test. + * gcc.target/gcn/simd-math-5-short-run-8.c: New test. + * gcc.target/gcn/simd-math-5-short-run.c: New test. + * gcc.target/gcn/simd-math-5-short.c: New test. + * gcc.target/gcn/simd-math-5.c: New test. + +2023-06-19 Richard Biener + + * gcc.dg/vect/vect-bic-bitmask-2.c: Remove -save-temps. + * gcc.dg/vect/vect-bic-bitmask-3.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-4.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-5.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-6.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-8.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-9.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-10.c: Likewise. + * gcc.dg/vect/vect-bic-bitmask-11.c: Likewise. + +2023-06-19 Richard Biener + + PR tree-optimization/110298 + * gcc.dg/torture/pr110298.c: New testcase. + +2023-06-19 Kyrylo Tkachov + + * gcc.target/aarch64/simd/low-high-combine_1.c: New test. + +2023-06-19 Senthil Kumar Selvaraj + + PR target/105523 + * lib/target-supports.exp + (check_effective_target_keeps_null_pointer_checks): Add + avr. + * gcc.target/avr/pr105523.c: New test. + +2023-06-19 Robin Dapp + + * gcc.target/riscv/rvv/autovec/unop/abs-run.c: Add FP. + * gcc.target/riscv/rvv/autovec/unop/abs-rv32gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/unop/abs-rv64gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/unop/abs-template.h: Add FP. + * gcc.target/riscv/rvv/autovec/unop/vneg-run.c: Add FP. + * gcc.target/riscv/rvv/autovec/unop/vneg-rv32gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/unop/vneg-rv64gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/unop/vneg-template.h: Add FP. + * gcc.target/riscv/rvv/autovec/unop/abs-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-run.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-template.h: New test. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vneg-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/zvfhmin-1.c: Add unops. + +2023-06-19 Robin Dapp + + * gcc.target/riscv/rvv/autovec/binop/vadd-run.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vadd-template.h: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vdiv-run.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vdiv-template.h: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vmax-run.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vmax-rv32gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vmax-rv64gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vmax-template.h: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vmin-run.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vmin-rv32gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vmin-rv64gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vmin-template.h: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vmul-run.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vmul-template.h: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vsub-run.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv.c: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vsub-template.h: Add FP. + * gcc.target/riscv/rvv/autovec/binop/vadd-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vdiv-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vmax-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vmin-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vmul-zvfh-run.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vsub-zvfh-run.c: New test. + * lib/target-supports.exp: Add riscv_vector_hw and riscv_zvfh_hw + target selectors. + +2023-06-19 Robin Dapp + + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1.c: Ensure + that no sext insns are present. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3.c: Dito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4.c: Dito. + +2023-06-19 Robin Dapp + + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-zvfh-run.c: + New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-run.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-zvfh-run.c: + New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c: New file. + +2023-06-19 Robin Dapp + + * gcc.target/riscv/rvv/autovec/binop/shift-run.c: Adapt for + (u)int8_t. + * gcc.target/riscv/rvv/autovec/binop/shift-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/shift-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/shift-template.h: Dito. + * gcc.target/riscv/rvv/autovec/binop/vadd-run.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vadd-template.h: Dito. + * gcc.target/riscv/rvv/autovec/binop/vand-run.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vand-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vand-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vand-template.h: Dito. + * gcc.target/riscv/rvv/autovec/binop/vdiv-run.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vdiv-template.h: Dito. + * gcc.target/riscv/rvv/autovec/binop/vmax-run.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vmax-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vmax-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vmax-template.h: Dito. + * gcc.target/riscv/rvv/autovec/binop/vmin-run.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vmin-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vmin-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vmin-template.h: Dito. + * gcc.target/riscv/rvv/autovec/binop/vmul-run.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vmul-template.h: Dito. + * gcc.target/riscv/rvv/autovec/binop/vor-run.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vor-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vor-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vor-template.h: Dito. + * gcc.target/riscv/rvv/autovec/binop/vrem-run.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vrem-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vrem-template.h: Dito. + * gcc.target/riscv/rvv/autovec/binop/vsub-run.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vsub-template.h: Dito. + * gcc.target/riscv/rvv/autovec/binop/vxor-run.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vxor-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vxor-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vxor-template.h: Dito. + +2023-06-19 Senthil Kumar Selvaraj + + PR target/110086 + * gcc.target/avr/pr110086.c: New test. + +2023-06-19 Jiufu Guo + + * gcc.target/powerpc/const_anchors.c: New test. + * gcc.target/powerpc/try_const_anchors_ice.c: New test. + +2023-06-19 liuhongt + + * gcc.target/i386/avx512bw-vpackssdw-3.c: New test. + * gcc.target/i386/avx512bw-vpacksswb-3.c: New test. + +2023-06-18 Jan Hubicka + + * gcc.dg/lto/20091013-1_0.c: Disable stringop-overread warning. + +2023-06-18 Honza + + PR tree-optimization/109849 + * g++.dg/ipa/devirt-45.C: Update template. + +2023-06-18 yulong + + * gcc.target/riscv/rvv/base/tuple-28.c: New test. + * gcc.target/riscv/rvv/base/tuple-29.c: New test. + * gcc.target/riscv/rvv/base/tuple-30.c: New test. + * gcc.target/riscv/rvv/base/tuple-31.c: New test. + * gcc.target/riscv/rvv/base/tuple-32.c: New test. + +2023-06-17 Roger Sayle + + * gcc.target/i386/sse2-v1ti-mov-2.c: New test case. + +2023-06-16 Pan Li + + PR target/110265 + * gcc.target/riscv/rvv/base/pr110265-1.c: New test. + * gcc.target/riscv/rvv/base/pr110265-1.h: New test. + * gcc.target/riscv/rvv/base/pr110265-2.c: New test. + * gcc.target/riscv/rvv/base/pr110265-2.h: New test. + * gcc.target/riscv/rvv/base/pr110265-3.c: New test. + +2023-06-16 Jakub Jelinek + + PR middle-end/79173 + * gcc.target/i386/pr79173-11.c: New test. + * gcc.dg/builtin-addc-1.c: New test. + +2023-06-16 Jakub Jelinek + + PR tree-optimization/110271 + * gcc.c-torture/compile/pr110271.c: New test. + +2023-06-16 Roger Sayle + Uros Bizjak + + PR target/31985 + * gcc.target/i386/pr31985.c: New test case. + +2023-06-16 Alex Coplan + + * g++.dg/cpp0x/enum40.C: Adjust expected diagnostics. + * g++.dg/cpp0x/forw_enum6.C: Likewise. + * g++.dg/cpp0x/elab-enum-base.C: New test. + +2023-06-16 Simon Dardis + + * gcc.target/mips/code-readable-attr-1.c: New test. + * gcc.target/mips/code-readable-attr-2.c: New test. + * gcc.target/mips/code-readable-attr-3.c: New test. + * gcc.target/mips/code-readable-attr-4.c: New test. + * gcc.target/mips/code-readable-attr-5.c: New test. + +2023-06-16 Richard Biener + + PR tree-optimization/110269 + * gcc.dg/tree-ssa/pr110269.c: New testcase. + +2023-06-16 David Malcolm + + PR c/107583 + * c-c++-common/spellcheck-pr107583.c: New test. + +2023-06-15 Andrew Pinski + + PR tree-optimization/110266 + * gcc.c-torture/compile/pr110266.c: New test. + +2023-06-15 Andrew MacLeod + + PR tree-optimization/110266 + * gcc.dg/pr110266.c: New. + +2023-06-15 Jakub Jelinek + + PR preprocessor/80753 + * c-c++-common/missing-header-5.c: New test. + +2023-06-15 Thomas Schwinge + + * c-c++-common/Wfree-nonheap-object-3.c: Fix 'dg-warning' for C++. + +2023-06-15 Jakub Jelinek + + PR middle-end/79173 + * gcc.target/i386/pr79173-1.c: New test. + * gcc.target/i386/pr79173-2.c: New test. + * gcc.target/i386/pr79173-3.c: New test. + * gcc.target/i386/pr79173-4.c: New test. + * gcc.target/i386/pr79173-5.c: New test. + * gcc.target/i386/pr79173-6.c: New test. + * gcc.target/i386/pr79173-7.c: New test. + * gcc.target/i386/pr79173-8.c: New test. + * gcc.target/i386/pr79173-9.c: New test. + * gcc.target/i386/pr79173-10.c: New test. + +2023-06-15 Oluwatamilore Adebayo + + * gcc.target/aarch64/abd.h: New file. + * gcc.target/aarch64/abd_2.c: New test. + * gcc.target/aarch64/abd_3.c: New test. + * gcc.target/aarch64/abd_4.c: New test. + * gcc.target/aarch64/abd_none_2.c: New test. + * gcc.target/aarch64/abd_none_3.c: New test. + * gcc.target/aarch64/abd_none_4.c: New test. + * gcc.target/aarch64/abd_run_1.c: New test. + * gcc.target/aarch64/sve/abd_1.c: New test. + * gcc.target/aarch64/sve/abd_none_1.c: New test. + * gcc.target/aarch64/sve/abd_2.c: New test. + * gcc.target/aarch64/sve/abd_none_2.c: New test. + +2023-06-15 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-7.c: New test. + +2023-06-15 Lehua Ding + + PR target/110119 + * gcc.target/riscv/rvv/base/pr110119-1.c: New test. + * gcc.target/riscv/rvv/base/pr110119-2.c: New test. + +2023-06-14 Jason Merrill + + DR 2327 + PR c++/86521 + * g++.dg/cpp0x/overload-conv-4.C: Remove warnings. + * g++.dg/cpp1z/elide7.C: New test. + +2023-06-14 Thomas Schwinge + + * gfortran.fortran-torture/execute/math.f90: Enhance for optional + OpenACC 'serial', OpenMP 'target' usage. + +2023-06-14 Thomas Schwinge + + * c-c++-common/Wfree-nonheap-object-2.c: Tighten 'dg-warning' + alternatives. + * c-c++-common/Wfree-nonheap-object-3.c: Likewise. + * c-c++-common/Wfree-nonheap-object.c: Likewise. + +2023-06-14 Thomas Schwinge + + * g++.dg/warn/Wfree-nonheap-object.s: Remove. + +2023-06-14 liuhongt + + * gcc.target/i386/pr110227.c: New test. + +2023-06-13 David Malcolm + + PR c/84890 + * g++.dg/cpp2a/srcloc3.C: Update expected message. + * g++.dg/lookup/missing-std-include-2.C: Likewise. + * g++.dg/lookup/missing-std-include-3.C: Likewise. + * g++.dg/lookup/missing-std-include-6.C: Likewise. + * g++.dg/lookup/missing-std-include.C: Likewise. + * g++.dg/spellcheck-inttypes.C: Likewise. + * g++.dg/spellcheck-stdint.C: Likewise. + * g++.dg/spellcheck-stdlib.C: Likewise. + * gcc.dg/spellcheck-inttypes.c: Likewise. + * gcc.dg/spellcheck-stdbool.c: Likewise. + * gcc.dg/spellcheck-stdint.c: Likewise. + * gcc.dg/spellcheck-stdlib.c: Likewise. + +2023-06-13 Francois-Xavier Coudert + + * gfortran.dg/data_array_7.f90: New test. + +2023-06-13 Harald Anlauf + Mikael Morin + + PR fortran/86277 + * gfortran.dg/zero_sized_14.f90: New test. + * gfortran.dg/zero_sized_15.f90: New test. + +2023-06-13 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/slp-10.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-11.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-13.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-14.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-15.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-10.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-11.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-13.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-14.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-15.c: New test. + +2023-06-13 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/slp-12.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-12.c: New test. + +2023-06-13 Jason Merrill + + * g++.dg/tree-ssa/initlist-opt6.C: New test. + +2023-06-13 Yanzhang Wang + Kito Cheng + + * g++.target/riscv/rvv/base/pr109244.C: Add the -Wno-psabi. + * g++.target/riscv/rvv/base/pr109535.C: Same + * gcc.target/riscv/rvv/base/binop_vx_constraint-120.c: Same + * gcc.target/riscv/rvv/base/integer_compare_insn_shortcut.c: Same + * gcc.target/riscv/rvv/base/mask_insn_shortcut.c: Same + * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: Same + * gcc.target/riscv/rvv/base/pr110109-2.c: Same + * gcc.target/riscv/rvv/base/scalar_move-9.c: Same + * gcc.target/riscv/rvv/base/spill-10.c: Same + * gcc.target/riscv/rvv/base/spill-11.c: Same + * gcc.target/riscv/rvv/base/spill-9.c: Same + * gcc.target/riscv/rvv/base/vlmul_ext-1.c: Same + * gcc.target/riscv/rvv/base/zero_base_load_store_optimization.c: Same + * gcc.target/riscv/rvv/base/zvfh-intrinsic.c: Same + * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Same + * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Same + * gcc.target/riscv/rvv/vsetvl/vsetvl-1.c: Same + * gcc.target/riscv/vector-abi-1.c: New test. + * gcc.target/riscv/vector-abi-2.c: New test. + * gcc.target/riscv/vector-abi-3.c: New test. + * gcc.target/riscv/vector-abi-4.c: New test. + * gcc.target/riscv/vector-abi-5.c: New test. + * gcc.target/riscv/vector-abi-6.c: New test. + +2023-06-13 Kyrylo Tkachov + + * gcc.target/arm/mtp.c: New test. + * gcc.target/arm/mtp_1.c: New test. + * gcc.target/arm/mtp_2.c: New test. + * gcc.target/arm/mtp_3.c: New test. + * gcc.target/arm/mtp_4.c: New test. + +2023-06-13 Kyrylo Tkachov + + PR target/108779 + * gcc.target/aarch64/mtp_5.c: New test. + * gcc.target/aarch64/mtp_6.c: New test. + * gcc.target/aarch64/mtp_7.c: New test. + * gcc.target/aarch64/mtp_8.c: New test. + * gcc.target/aarch64/mtp_9.c: New test. + +2023-06-13 Richard Biener + + PR middle-end/110232 + * gcc.target/i386/pr110232.c: New testcase. + +2023-06-13 Ajit Kumar Agarwal + + PR testsuite/109880 + * gcc.target/powerpc/fold-vec-extract-int.p8.c: Update test. + +2023-06-13 Kewen Lin + + PR testsuite/110230 + PR target/109932 + * gcc.target/powerpc/pr109932-1.c: Adjust with int128 effective target. + * gcc.target/powerpc/pr109932-2.c: Ditto. + +2023-06-13 Pan Li + + * gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c: + Adjust dg-do to comiple for asm checking. + +2023-06-13 Tejas Belagod + + PR target/96339 + * gcc.target/aarch64/sve/acle/general-c/svlast.c: New. + * gcc.target/aarch64/sve/acle/general-c/svlast128_run.c: New. + * gcc.target/aarch64/sve/acle/general-c/svlast256_run.c: New. + * gcc.target/aarch64/sve/pcs/return_4.c (caller_bf16): Fix asm + to expect optimized code for function body. + * gcc.target/aarch64/sve/pcs/return_4_128.c (caller_bf16): Likewise. + * gcc.target/aarch64/sve/pcs/return_4_256.c (caller_bf16): Likewise. + * gcc.target/aarch64/sve/pcs/return_4_512.c (caller_bf16): Likewise. + * gcc.target/aarch64/sve/pcs/return_4_1024.c (caller_bf16): Likewise. + * gcc.target/aarch64/sve/pcs/return_4_2048.c (caller_bf16): Likewise. + * gcc.target/aarch64/sve/pcs/return_5.c (caller_bf16): Likewise. + * gcc.target/aarch64/sve/pcs/return_5_128.c (caller_bf16): Likewise. + * gcc.target/aarch64/sve/pcs/return_5_256.c (caller_bf16): Likewise. + * gcc.target/aarch64/sve/pcs/return_5_512.c (caller_bf16): Likewise. + * gcc.target/aarch64/sve/pcs/return_5_1024.c (caller_bf16): Likewise. + * gcc.target/aarch64/sve/pcs/return_5_2048.c (caller_bf16): Likewise. + +2023-06-13 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c: New test. + +2023-06-13 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/slp-8.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-9.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-8.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-9.c: New test. + +2023-06-12 Gaius Mulley + + PR modula2/110189 + * gm2/pim/fail/foovaltype.mod: New test. + +2023-06-12 Jeff Law + + PR rtl-optimization/101188 + * gcc.c-torture/execute/pr101188.c: New test + +2023-06-12 Prathamesh Kulkarni + + * gcc.target/aarch64/vec-init-single-const.c: New test. + * gcc.target/aarch64/vec-init-single-const-be.c: Likewise. + * gcc.target/aarch64/vec-init-single-const-2.c: Likewise. + +2023-06-12 Tobias Burnus + + * c-c++-common/gomp/defaultmap-4.c: Update scan-tree-dump. + * c-c++-common/gomp/map-9.c: Likewise. + * gfortran.dg/gomp/defaultmap-8.f90: Likewise. + * gfortran.dg/gomp/map-11.f90: Likewise. + * gfortran.dg/gomp/target-update-1.f90: Likewise. + * gfortran.dg/gomp/map-12.f90: Likewise; also check original dump. + * c-c++-common/gomp/map-6.c: Update dg-error and also check + clause error with 'target (enter/exit) data'. + +2023-06-12 Pan Li + + * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: Adjust test checking. + +2023-06-12 Pan Li + + * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Add new test cases. + * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Likewise. + +2023-06-12 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/binop/narrow-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/narrow-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/narrow-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/narrow_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/narrow_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/narrow_run-3.c: New test. + +2023-06-12 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/zvfhmin-1.c: New test. + +2023-06-12 Andre Vieira + + * gcc.dg/vect/pr110142.c: New test. + +2023-06-12 liuhongt + + * gcc.target/i386/vec_pack_fp16-1.c: New test. + * gcc.target/i386/vec_pack_fp16-2.c: New test. + * gcc.target/i386/vec_pack_fp16-3.c: New test. + +2023-06-12 Jason Merrill + + PR c++/105838 + * g++.dg/tree-ssa/initlist-opt5.C: New test. + +2023-06-12 Kewen Lin + + PR target/109932 + * gcc.target/powerpc/pr109932-1.c: New test. + * gcc.target/powerpc/pr109932-2.c: New test. + +2023-06-12 Kewen Lin + + PR target/110011 + * gcc.target/powerpc/pr110011.c: New test. + +2023-06-12 Pan Li + + * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Add test cases. + * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Ditto. + +2023-06-12 Pan Li + + * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Add new test cases. + * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Add new test cases. + +2023-06-11 Patrick Palka + + PR c++/110122 + * g++.dg/cpp2a/nontype-class59.C: New test. + +2023-06-11 Patrick Palka + + PR c++/110122 + * g++.dg/cpp2a/nontype-class57.C: New test. + * g++.dg/cpp2a/nontype-class58.C: New test. + +2023-06-11 Georg-Johann Lay + + PR target/109907 + * gcc.target/avr/pr109907.c: New test. + * gcc.target/avr/torture/pr109907-1.c: New test. + * gcc.target/avr/torture/pr109907-2.c: New test. + +2023-06-11 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/vsetvl-16.c: Adapt test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-21.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-22.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: New test. + +2023-06-10 Nathan Sidwell + + * g++.dg/template/pr61663.C: New. + +2023-06-10 Georg-Johann Lay + + PR target/109650 + * gcc.target/avr/torture/pr109650-1.c: New test. + * gcc.target/avr/torture/pr109650-2.c: New test. + +2023-06-10 Francois-Xavier Coudert + + * gfortran.dg/ieee/minmax_1.f90: New test. + * gfortran.dg/ieee/minmax_2.f90: New file. + * gfortran.dg/ieee/minmax_3.f90: New file. + * gfortran.dg/ieee/minmax_4.f90: New file. + +2023-06-10 Tim Lange + + PR analyzer/110014 + * gcc.dg/analyzer/realloc-pr110014.c: New tests. + +2023-06-10 Tim Lange + + PR analyzer/109577 + * gcc.dg/analyzer/allocation-size-2.c: Change expected output + and add new test case. + * gcc.dg/analyzer/pr109577.c: New test. + +2023-06-10 Pan Li + + * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Add new cases. + * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Diito. + +2023-06-10 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/ternop/ternop-2.c: Adapt test. + * gcc.target/riscv/rvv/autovec/ternop/ternop-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/select_vl-1.c: New test. + +2023-06-09 Jason Merrill + + * g++.dg/concepts/auto7.C: New test. + * g++.dg/concepts/auto7a.C: New test. + +2023-06-09 Jason Merrill + + PR c++/110102 + * g++.dg/cpp0x/initlist-opt1.C: New test. + +2023-06-09 Andrew Pinski + + PR tree-optimization/97711 + PR tree-optimization/110155 + * gcc.dg/tree-ssa/branchless-cond-add-2.c: New test. + * gcc.dg/tree-ssa/branchless-cond-add.c: New test. + +2023-06-09 Andrew Pinski + + * gcc.dg/tree-ssa/branchless-cond.c: Update testcase. + +2023-06-09 Andrew Pinski + + PR tree-optimization/110165 + PR tree-optimization/110166 + * gcc.c-torture/execute/pr110165-1.c: New test. + * gcc.c-torture/execute/pr110166-1.c: New test. + +2023-06-09 Lehua Ding + + * gcc.dg/vect/tsvc/vect-tsvc-s176.c: Adjust iterations. + * gcc.dg/vect/tsvc/tsvc.h: Adjust expected rsult for s176. + +2023-06-09 Pan Li + + * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Add vle16 test + for ZVFHMIN. + +2023-06-09 liuhongt + + * gcc.target/i386/pr110108-2.c: New test. + +2023-06-09 liuhongt + + * gcc.target/i386/pr110108.c: New test. + * gcc.target/i386/pr110108-3.c: New test. + * gcc.target/i386/pr109900.c: Adjust testcase. + +2023-06-08 Gaius Mulley + + PR modula2/110126 + * gm2/pim/pass/fooasm3.mod: New test. + +2023-06-08 Pan Li + + * gcc.target/riscv/rvv/base/zvfh-intrinsic.c: Add new cases. + * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: New test. + +2023-06-08 Benjamin Priour + + * gcc.dg/analyzer/out-of-bounds-2.c: Cleaned test for uninitialized-value warning + * gcc.dg/analyzer/out-of-bounds-5.c: Likewise. + * gcc.dg/analyzer/pr101962.c: Likewise. + * gcc.dg/analyzer/realloc-5.c: Likewise. + * gcc.dg/analyzer/pr109439.c: New test. + +2023-06-08 Jakub Jelinek + + * gcc.target/i386/ctzll-1.c: New test. + * gcc.target/i386/ffsll-1.c: New test. + +2023-06-08 Paul Thomas + + PR fortran/99350 + PR fortran/107821 + PR fortran/109451 + * gfortran.dg/pr99350.f90 : New test. + * gfortran.dg/associate_5.f03 : Changed error message. + * gfortran.dg/pr107821.f90 : New test. + * gfortran.dg/associate_61.f90 : New test + +2023-06-08 Alexandre Oliva + + * gcc.dg/vect/tsvc/vect-tsvc-s116.c: Bump timeout factor. + * gcc.dg/vect/tsvc/vect-tsvc-s241.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s254.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s271.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s2711.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s2712.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s276.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-vdotr.c: Likewise. + +2023-06-07 Roger Sayle + Uros Bizjak + + * gcc.target/i386/cmc-1.c: New test case. + * gcc.target/i386/stc-1.c: Likewise. + +2023-06-07 Jason Merrill + + PR c++/58487 + PR c++/53637 + * g++.dg/opt/nrv26.C: New test. + * g++.dg/opt/nrv26a.C: New test. + * g++.dg/opt/nrv27.C: New test. + +2023-06-07 Jeff Law + Jeff Law + + * gcc.target/riscv/shift-and-2.c: New tests. + * gcc.target/riscv/shift-shift-2.c: Adjust expected output. + * gcc.target/riscv/sign-extend.c: New test. + * gcc.target/riscv/zbb-rol-ror-03.c: Adjust expected output. + +2023-06-07 Alex Coplan + + PR target/110132 + * lib/target-supports.exp (check_effective_target_aarch64_asm_FUNC_ok): + Extend to ls64. + * g++.target/aarch64/acle/acle.exp: New. + * g++.target/aarch64/acle/ls64.C: New test. + * g++.target/aarch64/acle/ls64_lto.C: New test. + * gcc.target/aarch64/acle/ls64_lto.c: New test. + * gcc.target/aarch64/acle/pr110132.c: New test. + +2023-06-07 Alex Coplan + + PR target/110100 + * gcc.target/aarch64/acle/pr110100.c: New test. + +2023-06-07 Vladimir N. Makarov + + * gcc.target/sparc/pr109541.c: New. + +2023-06-07 Jeff Law + + * gcc.target/hppa/shadd-3.c: Update expected output. + +2023-06-07 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/scalable-1.c: Adapt testcase for VLA + vectorizer. + * gcc.target/riscv/rvv/autovec/v-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64d-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64f-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/slp-1.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-2.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-3.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-4.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-5.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-6.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp-7.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-6.c: New test. + * gcc.target/riscv/rvv/autovec/partial/slp_run-7.c: New test. + +2023-06-07 Andrew Pinski + + PR middle-end/110117 + * gcc.dg/pr110117-1.c: New test. + * gcc.dg/pr110117-2.c: New test. + +2023-06-07 Andrew Pinski + + PR tree-optimization/110134 + * gcc.dg/tree-ssa/negneq-1.c: New test. + * gcc.dg/tree-ssa/negneq-2.c: New test. + * gcc.dg/tree-ssa/negneq-3.c: New test. + * gcc.dg/tree-ssa/negneq-4.c: New test. + +2023-06-07 Andrew Pinski + + * gcc.dg/tree-ssa/phi-opt-2.c: Adjust the testcase. + * gcc.dg/tree-ssa/phi-opt-25b.c: Adjust the testcase. + * gcc.dg/tree-ssa/ssa-thread-21.c: Disable phiopt. + * gcc.dg/tree-ssa/phi-opt-27.c: New test. + * gcc.dg/tree-ssa/phi-opt-28.c: New test. + * gcc.dg/tree-ssa/phi-opt-29.c: New test. + * gcc.dg/tree-ssa/phi-opt-30.c: New test. + * gcc.dg/tree-ssa/phi-opt-31.c: New test. + * gcc.dg/tree-ssa/phi-opt-32.c: New test. + +2023-06-07 Jason Merrill + + PR c++/58487 + * g++.dg/opt/nrv25.C: New test. + +2023-06-07 Jason Merrill + + PR c++/51571 + PR c++/92407 + * g++.dg/opt/nrv23.C: New test. + +2023-06-07 Jason Merrill + + PR c++/92407 + * g++.dg/opt/nrv22.C: New test. + +2023-06-07 Jason Merrill + + PR c++/33799 + * g++.dg/eh/return1.C: Add label cases. + +2023-06-07 Jason Merrill + + * g++.dg/contracts/contracts-post7.C: New test. + +2023-06-07 Jason Merrill + + PR c++/58050 + * g++.dg/opt/nrv24.C: New test. + +2023-06-07 Gaius Mulley + + PR modula2/110019 + * gm2/cpp/fail/cpp-fail.exp: New test. + * gm2/cpp/fail/foocpp.mod: New test. + +2023-06-06 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/widen/widen-8.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-9.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-5.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-6.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-8.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-9.c: New test. + +2023-06-06 Kwok Cheung Yeung + Tobias Burnus + + * c-c++-common/gomp/map-6.c: Update dg-error, extend to test for + duplicated 'present' and extend scan-dump tests for 'present'. + * gfortran.dg/gomp/defaultmap-1.f90: Update dg-error. + * gfortran.dg/gomp/map-7.f90: Extend parse and dump test for + 'present'. + * gfortran.dg/gomp/map-8.f90: Extend for duplicate 'present' + modifier checking. + * c-c++-common/gomp/defaultmap-4.c: New test. + * c-c++-common/gomp/map-9.c: New test. + * c-c++-common/gomp/target-update-1.c: New test. + * gfortran.dg/gomp/defaultmap-8.f90: New test. + * gfortran.dg/gomp/map-11.f90: New test. + * gfortran.dg/gomp/map-12.f90: New test. + * gfortran.dg/gomp/target-update-1.f90: New test. + +2023-06-06 Kyrylo Tkachov + + * gcc.target/aarch64/simd/vrshr_1.c: New test. + +2023-06-06 Kyrylo Tkachov + + * gcc.target/aarch64/simd/pr99195_5.c: Add testing for shrn_n, rshrn_n + intrinsics. + +2023-06-06 Kyrylo Tkachov + + * gcc.target/aarch64/simd/addlv_1.c: New test. + +2023-06-06 Richard Biener + + PR middle-end/110055 + * g++.dg/warn/Wdangling-pointer-pr110055.C: New testcase. + +2023-06-06 Fei Gao + + * gcc.target/riscv/save-restore-cfi.c: New test to check save-restore + cfi directives. + +2023-06-06 Pan Li + + * gcc.target/riscv/rvv/base/zvfh-intrinsic.c: Add new test cases. + +2023-06-06 Fei Gao + + * gcc.target/riscv/save-restore-cfi-2.c: New test to check machmode + for cfi reg/mem. + +2023-06-05 Andre Vieira + Joel Hutton + Tamar Christina + + * gcc.target/aarch64/vect-widen-add.c: Test that new + IFN_VEC_WIDEN_PLUS is being used. + * gcc.target/aarch64/vect-widen-sub.c: Test that new + IFN_VEC_WIDEN_MINUS is being used. + +2023-06-05 Iain Buclaw + + * gdc.dg/Wmismatched_enum.d: New test. + +2023-06-05 Liao Shihua + + * gcc.target/riscv/xtheadcondmov-indirect-rv32.c: Generalize to be + less sensitive to register allocation choices. + * gcc.target/riscv/xtheadcondmov-indirect-rv64.c: Similarly. + +2023-06-05 Pan Li + + * gcc.target/riscv/rvv/base/zvfh-intrinsic.c: New test. + +2023-06-04 Juzhe-Zhong + + PR target/110109 + * gcc.target/riscv/rvv/base/pr110109-1.c: New test. + * gcc.target/riscv/rvv/base/pr110109-2.c: New test. + +2023-06-04 Pan Li + + * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: New test. + +2023-06-04 Roger Sayle + + PR target/110083 + * gcc.target/i386/pr110083.c: New test case. + +2023-06-04 Jason Merrill + + PR c++/97720 + * g++.dg/eh/terminate2.C: New test. + +2023-06-04 Pan Li + + * gcc.target/riscv/rvv/base/mov-14.c: New test. + * gcc.target/riscv/rvv/base/spill-13.c: New test. + +2023-06-03 Patrick Palka + + PR c++/109923 + * g++.dg/template/friend79.C: New test. + +2023-06-03 Patrick Palka + + * g++.dg/warn/Waddress-of-packed-member2.C: No longer expect a() + to be marked as odr-used. + +2023-06-03 Patrick Palka + + PR c++/70790 + * g++.dg/abi/mangle78.C: New test. + +2023-06-03 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/widen/widen-7.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-3.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-4.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-7.c: New test. + +2023-06-03 liuhongt + + * gcc.target/i386/pr110067.c: New test. + +2023-06-03 liuhongt + + * gcc.target/i386/pr92658-avx512bw-trunc-2.c: New test. + +2023-06-02 Andrew Pinski + + PR rtl-optimization/102733 + * gcc.target/i386/addr-space-6.c: New test. + +2023-06-02 Andrew Pinski + + PR rtl-optimization/110042 + * gcc.target/aarch64/csel_bfx_2.c: New test. + +2023-06-02 Iain Sandoe + + PR target/110044 + * gcc.target/powerpc/darwin-abi-13-0.c: New test. + * gcc.target/powerpc/darwin-abi-13-1.c: New test. + * gcc.target/powerpc/darwin-abi-13-2.c: New test. + * gcc.target/powerpc/darwin-structs-0.h: New test. + +2023-06-02 Steve Kargl + + PR fortran/100607 + * gfortran.dg/select_rank_6.f90: New test. + +2023-06-02 Jason Merrill + + DR 2735 + PR c++/109247 + * g++.dg/cpp0x/initlist-explicit3.C: New test. + +2023-06-02 Carl Love + + * gcc.target/powerpc/builtin_altivec_tr_stxvr_runnable.c: New test + for __builtin_altivec_tr_stxvrbx, __builtin_altivec_tr_stxvrhx, + __builtin_altivec_tr_stxvrwx, __builtin_altivec_tr_stxvrdx. + +2023-06-02 Jason Merrill + + PR c++/110070 + PR c++/105838 + * g++.dg/tree-ssa/initlist-opt1.C: Check for static array. + * g++.dg/tree-ssa/initlist-opt2.C: Likewise. + * g++.dg/tree-ssa/initlist-opt4.C: New test. + * g++.dg/opt/icf1.C: New test. + * g++.dg/opt/icf2.C: New test. + * g++.dg/opt/icf3.C: New test. + * g++.dg/tree-ssa/array-temp1.C: Revert r12-657 change. + +2023-06-02 David Malcolm + + PR analyzer/109015 + * gcc.dg/analyzer/atomic-builtins-1.c: New test. + * gcc.dg/analyzer/atomic-builtins-haproxy-proxy.c: New test. + * gcc.dg/analyzer/atomic-builtins-qemu-sockets.c: New test. + * gcc.dg/analyzer/atomic-types-1.c: New test. + +2023-06-02 David Edelsohn + + * gcc.dg/pr107557-1.c: Require LTO support. + * gcc.dg/pr107557-2.c: Require LTO support. + +2023-06-02 Paul Thomas + + PR fortran/87477 + PR fortran/102109 + PR fortran/102112 + PR fortran/102190 + PR fortran/102532 + PR fortran/109948 + PR fortran/99326 + * gfortran.dg/associate_54.f90 : Cope with extra error. + * gfortran.dg/pr102109.f90 : New test. + * gfortran.dg/pr102112.f90 : New test. + * gfortran.dg/pr102190.f90 : New test. + * gfortran.dg/pr102532.f90 : New test. + * gfortran.dg/pr109948.f90 : New test. + * gfortran.dg/pr99326.f90 : New test. + +2023-06-02 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-4.c: Add assembly check. + +2023-06-02 Pan Li + + * gcc.target/riscv/rvv/base/abi-16.c: Add test cases. + * gcc.target/riscv/rvv/base/user-7.c: Likewise. + +2023-06-02 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/frm-1.c: Ditto. + * gcc.target/riscv/rvv/base/vxrm-1.c: Ditto. + * gcc.target/riscv/rvv/base/vxrm-10.c: Ditto. + * gcc.target/riscv/rvv/base/vxrm-11.c: Ditto. + * gcc.target/riscv/rvv/base/vxrm-12.c: Ditto. + * gcc.target/riscv/rvv/base/vxrm-6.c: Ditto. + * gcc.target/riscv/rvv/base/vxrm-7.c: Ditto. + * gcc.target/riscv/rvv/base/vxrm-8.c: Ditto. + * gcc.target/riscv/rvv/base/vxrm-9.c: Ditto. + +2023-06-02 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/widen/widen-5.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-6.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-1.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-2.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-6.c: New test. + +2023-06-02 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm.h: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-7.c: New test. + +2023-06-01 Harald Anlauf + + PR fortran/88552 + * gfortran.dg/pr88552.f90: New test. + +2023-06-01 Vineet Gupta + + * lib/torture-options.exp: print the value of non-empty options: + torture_without_loops, torture_with_loops, LTO_TORTURE_OPTIONS. + +2023-06-01 Vineet Gupta + + * gcc.misc-tests/i386-prefetch.exp: Move early return outside + the torture-{init,finish} + +2023-06-01 David Edelsohn + + * gcc.target/powerpc/pr100106-sa.c: Skip on AIX. + * gcc.target/powerpc/pr109566.c: Skip on AIX. + +2023-06-01 Roger Sayle + Uros Bizjak + + PR target/109973 + * gcc.target/i386/pr109973-1.c: New test case. + * gcc.target/i386/pr109973-2.c: Likewise. + +2023-06-01 Kyrylo Tkachov + + * gcc.target/aarch64/xreg-vec-modes_1.c: New test. + +2023-06-01 Tobias Burnus + + * gfortran.dg/gomp/nothing-2.f90: Remove one dg-error. + * gfortran.dg/gomp/pr79154-2.f90: Update expected dg-error wording. + * gfortran.dg/gomp/pr79154-simd.f90: Likewise. + * gfortran.dg/gomp/pure-1.f90: New test. + * gfortran.dg/gomp/pure-2.f90: New test. + * gfortran.dg/gomp/pure-3.f90: New test. + * gfortran.dg/gomp/pure-4.f90: New test. + +2023-06-01 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/frm-1.c: New test. + +2023-05-31 Bernhard Reutner-Fischer + + * lib/gcc-dg.exp: Rename gcc_force_conventional_output to + gcc_set_required_options. + * lib/target-supports.exp: Rename force_conventional_output_for + to set_required_options_for. + * lib/scanasm.exp: Adjust callers. + * lib/scanrtl.exp: Same. + +2023-05-31 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_11.c: New test. + +2023-05-31 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_1.c: Add tests for qdmulh, qrdmulh. + * gcc.target/aarch64/simd/pr99195_10.c: New test. + +2023-05-31 David Faust + + * gcc.dg/debug/btf/btf-array-1.c: Use new BTF asm comments + in scan-assembler expressions where useful. + * gcc.dg/debug/btf/btf-anonymous-struct-1.c: Likewise. + * gcc.dg/debug/btf/btf-anonymous-union-1.c: Likewise. + * gcc.dg/debug/btf/btf-bitfields-2.c: Likewise. + * gcc.dg/debug/btf/btf-bitfields-3.c: Likewise. + * gcc.dg/debug/btf/btf-datasec-2.c: Likewise. + * gcc.dg/debug/btf/btf-enum-1.c: Likewise. + * gcc.dg/debug/btf/btf-function-6.c: Likewise. + * gcc.dg/debug/btf/btf-pointers-1.c: Likewise. + * gcc.dg/debug/btf/btf-struct-1.c: Likewise. + * gcc.dg/debug/btf/btf-struct-2.c: Likewise. + * gcc.dg/debug/btf/btf-typedef-1.c: Likewise. + * gcc.dg/debug/btf/btf-union-1.c: Likewise. + * gcc.dg/debug/btf/btf-variables-1.c: Likewise. + * gcc.dg/debug/btf/btf-variables-2.c: Likewise. Update outdated comment. + * gcc.dg/debug/btf/btf-function-3.c: Update outdated comment. + +2023-05-31 Juzhe-Zhong + + * gcc.target/riscv/rvv/rvv.exp: + * gcc.target/riscv/rvv/autovec/widen/widen-1.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-2.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-3.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen-4.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/widen/widen_run-4.c: New test. + +2023-05-31 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/binop/vsub-run.c: Add vsub.vi. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vsub-template.h: Ditto. + +2023-05-31 Cui, Lili + + PR tree-optimization/110038 + * gcc.dg/pr110038.c: New test. + +2023-05-31 Pan Li + + * gcc.target/riscv/arch-21.c: New test. + * gcc.target/riscv/predef-27.c: New test. + +2023-05-31 Pan Li + + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-1.c: + Remove debug code. + +2023-05-30 liuhongt + + * gcc.target/i386/pr108804.c: New test. + +2023-05-30 David Malcolm + + * gcc.dg/analyzer/malloc-sarif-1.c: Add missing verify-sarif-file + directive. + * gcc.dg/analyzer/sarif-pr107366.c: Likewise. + +2023-05-30 Georg-Johann Lay + + PR testsuite/52641 + * gcc.dg/torture/pr107451.c: Require int32plus. + * gcc.dg/torture/pr108574-3.c: Use __INT32_TYPE__ instead of int. + * gcc.dg/torture/pr109940.c: Use __INTPTR_TYPE__ instead of long. + * gcc.dg/torture/pr95248.c: Require size24plus. + * gcc.dg/torture/pr95295-3.c: Use var_* with at least 32 bits int. + * gcc.dg/torture/pr98640.c: Cast to __INT32_TYPE__ instead of int. + * gcc.dg/tree-ssa/pr103771.c: Use int with at least 32 bits. + +2023-05-30 Christophe Lyon + + * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-int.c: + Support both definitions of int32_t. + +2023-05-30 Andrew Pinski + + * gcc.dg/tree-ssa/minmax-22.c: New test. + +2023-05-30 Andrew Pinski + + * gcc.dg/tree-ssa/phi-opt-5.c: Remove last xfail. + * gcc.dg/tree-ssa/pr66726-4.c: Change how scanning + works. + * gcc.dg/tree-ssa/pr66726-5.c: New test. + * gcc.dg/tree-ssa/pr66726-6.c: New test. + +2023-05-30 Christophe Lyon + + * gcc.target/arm/acle/data-intrinsics-armv6.c: Fix typo. + * gcc.target/arm/acle/data-intrinsics-assembly.c: Require + arm_softfp_ok. + +2023-05-30 Tobias Burnus + + PR c/109999 + * c-c++-common/goacc/asyncwait-1.c: Update dg-error. + * c-c++-common/goacc/clauses-fail.c: Likewise. + * c-c++-common/goacc/data-2.c: Likewise. + * c-c++-common/gomp/declare-target-2.c: Likewise. + * c-c++-common/gomp/directive-1.c: Likewise. + * g++.dg/goacc/data-1.C: Likewise. + +2023-05-30 Robin Dapp + + * gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c: Add vmv.v.x + tests. + * gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv64.c: Dito. + * gcc.target/riscv/rvv/autovec/vmv-imm-run.c: Dito. + * gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c: Dito. + * gcc.target/riscv/rvv/autovec/vmv-imm-rv64.c: Dito. + * gcc.target/riscv/rvv/autovec/vmv-imm-template.h: Dito. + +2023-05-30 liuhongt + + * gcc.target/i386/pr108938-1.c: New test. + * gcc.target/i386/pr108938-2.c: New test. + * gcc.target/i386/pr108938-3.c: New test. + * gcc.target/i386/pr108938-load-1.c: New test. + * gcc.target/i386/pr108938-load-2.c: New test. + +2023-05-30 Andreas Schwab + + PR sanitizer/82501 + * c-c++-common/asan/pointer-compare-1.c: Disable use of small data + on RISC-V. + +2023-05-30 Lili Cui + + PR tree-optimization/98350 + * gcc.dg/pr98350-1.c: New test. + * gcc.dg/pr98350-2.c: Ditto. + +2023-05-30 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-template.h: New test. + +2023-05-30 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/ternop/ternop-4.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop-5.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop-6.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-6.c: New test. + +2023-05-29 Die Li + + * gcc.target/riscv/xtheadcondmov-indirect-rv32.c: Update the output. + * gcc.target/riscv/xtheadcondmov-indirect-rv64.c: Likewise. + +2023-05-29 Jivan Hakobyan + + * gcc.target/riscv/and-extend-1.c: New test + * gcc.target/riscv/and-extend-2.c: New test + +2023-05-29 Pan Li + + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-3.c: New test. + +2023-05-29 Eric Botcazou + + * gnat.dg/specs/storage_offset1.ads: New test. + +2023-05-29 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/pr109974.c: New test. + +2023-05-29 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/unop/abs-run.c: Remove redundant printf. + +2023-05-29 Juzhe-Zhong + + * gcc.target/riscv/rvv/rvv.exp: Add ternary tests + * gcc.target/riscv/rvv/autovec/ternop/ternop-1.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop-2.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop-3.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-3.c: New test. + +2023-05-29 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/vxrm-11.c: New test. + * gcc.target/riscv/rvv/base/vxrm-12.c: New test. + +2023-05-29 Pan Li + + * gcc.target/riscv/arch-20.c: New test. + * gcc.target/riscv/predef-26.c: New test. + +2023-05-27 liuhongt + + * gcc.target/i386/pr100711-2.c: Add v4di/v2di testcases. + * gcc.target/i386/pr100711-3.c: New test. + +2023-05-26 Martin Uecker + + * gcc.dg/pr109970.c: New test. + +2023-05-26 Robin Dapp + + * gcc.target/riscv/rvv/rvv.exp: Add unop tests. + * gcc.target/riscv/rvv/autovec/unop/abs-run.c: New test. + * gcc.target/riscv/rvv/autovec/unop/abs-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/unop/abs-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/unop/abs-template.h: New test. + * gcc.target/riscv/rvv/autovec/unop/vneg-run.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vneg-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vneg-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vneg-template.h: New test. + * gcc.target/riscv/rvv/autovec/unop/vnot-run.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vnot-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vnot-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vnot-template.h: New test. + +2023-05-26 Robin Dapp + Juzhe Zhong + + * gcc.target/riscv/rvv/autovec/binop/shift-rv32gcv.c: Adjust + expectation. + * gcc.target/riscv/rvv/autovec/binop/shift-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vdiv-run.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vdiv-template.h: Dito. + * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/binop/vrem-rv64gcv.c: Dito. + * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-2.c: Dito. + * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-2.c: Dito. + * gcc.target/riscv/rvv/autovec/zve64d-2.c: Dito. + * gcc.target/riscv/rvv/autovec/zve64f-2.c: Dito. + * gcc.target/riscv/rvv/autovec/zve64x-2.c: Dito. + * gcc.target/riscv/rvv/rvv.exp: Add new conversion tests. + * gcc.target/riscv/rvv/vsetvl/avl_single-38.c: Do not vectorize. + * gcc.target/riscv/rvv/vsetvl/avl_single-47.c: Dito. + * gcc.target/riscv/rvv/vsetvl/avl_single-48.c: Dito. + * gcc.target/riscv/rvv/vsetvl/avl_single-49.c: Dito. + * gcc.target/riscv/rvv/vsetvl/imm_switch-8.c: Dito. + * gcc.target/riscv/rvv/autovec/conversions/vncvt-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vncvt-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vncvt-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vncvt-template.h: New test. + * gcc.target/riscv/rvv/autovec/conversions/vsext-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vsext-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vsext-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vsext-template.h: New test. + * gcc.target/riscv/rvv/autovec/conversions/vzext-run.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vzext-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vzext-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/conversions/vzext-template.h: New test. + +2023-05-26 Tobias Burnus + + * gfortran.dg/gomp/allocate-2.f90: Update dg-error. + * gfortran.dg/gomp/allocate-4.f90: New test. + * gfortran.dg/gomp/allocate-5.f90: New test. + * gfortran.dg/gomp/allocate-6.f90: New test. + * gfortran.dg/gomp/allocate-7.f90: New test. + * gfortran.dg/gomp/allocators-1.f90: New test. + * gfortran.dg/gomp/allocators-2.f90: New test. + +2023-05-26 Tobias Burnus + + * gfortran.dg/gomp/allocate-4.f90: Remove autoadded file. + * gfortran.dg/gomp/allocate-5.f90: Likewise. + * gfortran.dg/gomp/allocate-6.f90: Likewise. + * gfortran.dg/gomp/allocate-7.f90: Likewise. + * gfortran.dg/gomp/allocators-1.f90: Likewise. + * gfortran.dg/gomp/allocators-2.f90: Likewise. + +2023-05-26 Andrew Stubbs + Tobias Burnus + + * gfortran.dg/gomp/allocate-4.f90: New file. + * gfortran.dg/gomp/allocate-5.f90: New file. + * gfortran.dg/gomp/allocate-6.f90: New file. + * gfortran.dg/gomp/allocate-7.f90: New file. + * gfortran.dg/gomp/allocators-1.f90: New file. + * gfortran.dg/gomp/allocators-2.f90: New file. + +2023-05-25 Dimitar Dimitrov + + * gcc.dg/nested-vla-1.c: Require effective target trampolines. + * gcc.dg/nested-vla-2.c: Ditto. + * gcc.dg/nested-vla-3.c: Ditto. + +2023-05-25 Uros Bizjak + + * gcc.target/i386/avx512vl-pr95488-1.c: Revert 2023-05-18 change. + +2023-05-25 Georg-Johann Lay + + PR target/82931 + * gcc.target/avr/pr82931.c: New test. + +2023-05-25 Ju-Zhe Zhong + Richard Sandiford + + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-3.c: New test. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-4.c: New test. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-4.c: New test. + +2023-05-25 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_9.c: New test. + +2023-05-25 Chris Sidebottom + + * gcc.target/arm/acle/data-intrinsics-armv6.c: New test. + * gcc.target/arm/acle/data-intrinsics-assembly.c: New test. + * gcc.target/arm/acle/data-intrinsics-rbit.c: New test. + * gcc.target/arm/acle/data-intrinsics.c: New test. + +2023-05-25 Alex Coplan + + PR target/109800 + * gcc.target/arm/pure-code/pr109800.c: New test. + +2023-05-25 Kyrylo Tkachov + + * gcc.target/aarch64/simd/facgt_constpool_1.c: New test. + +2023-05-25 Hu, Lin1 + + PR target/109173 + PR target/109174 + * gcc.target/i386/pr109173-1.c: New test. + * gcc.target/i386/pr109174-1.c: Ditto. + +2023-05-25 Christophe Lyon + + * gcc.dg/analyzer/data-model-4.c: Exit if fopen returns NULL. + * gcc.dg/analyzer/torture/conftest-1.c: Likewise. + +2023-05-25 Alexandre Oliva + + PR target/100106 + * gcc.target/powerpc/pr100106-sa.c: New. + +2023-05-25 Alexandre Oliva + + * gcc.target/i386/mcount_pic.c: Add dg-require-profiling. + * gcc.target/i386/pr104447.c: Likewise. + +2023-05-25 Alexandre Oliva + + * g++.dg/pr80481.C: Add explicit pthread requirement. + +2023-05-25 Alexandre Oliva + + * gcc.target/i386/pr103074.c: Require fpic support. + +2023-05-25 Alexandre Oliva + + * gcc.dg/vect/tsvc/tsvc.h: Test for and conditionally include + malloc.h and sys/time.h. + +2023-05-25 Alexandre Oliva + + * gcc.target/i386/pieces-memcpy-7.c: Add -fomit-frame-pointer. + * gcc.target/i386/pieces-memcpy-8.c: Likewise. + * gcc.target/i386/pieces-memcpy-9.c: Likewise. + * gcc.target/i386/pieces-memset-1.c: Likewise. + * gcc.target/i386/pieces-memset-36.c: Likewise. + * gcc.target/i386/pieces-memset-4.c: Likewise. + * gcc.target/i386/pieces-memset-40.c: Likewise. + * gcc.target/i386/pieces-memset-41.c: Likewise. + * gcc.target/i386/pieces-memset-7.c: Likewise. + * gcc.target/i386/pieces-memset-8.c: Likewise. + * gcc.target/i386/pieces-memset-9.c: Likewise. + * gcc.target/i386/pr102230.c: Likewise. + * gcc.target/i386/pr78103-2.c: Likewise. + +2023-05-24 Andrew MacLeod + + PR tree-optimization/107822 + PR tree-optimization/107986 + * gcc.dg/pr107822.c: New. + * gcc.dg/pr107986-1.c: New. + +2023-05-24 Harald Anlauf + + PR fortran/104350 + * gfortran.dg/size_dim_2.f90: New test. + +2023-05-24 Harald Anlauf + + PR fortran/103794 + * gfortran.dg/reshape_10.f90: New test. + * gfortran.dg/reshape_11.f90: New test. + +2023-05-24 Roger Sayle + + PR middle-end/109840 + * gcc.dg/fold-parity-8.c: New test. + * gcc.dg/fold-popcount-11.c: Likewise. + +2023-05-24 Aldy Hernandez + + * gcc.dg/ipa/pr78121.c: Adjust for vrange::dump use. + * gcc.dg/ipa/vrp1.c: Same. + * gcc.dg/ipa/vrp2.c: Same. + * gcc.dg/ipa/vrp3.c: Same. + * gcc.dg/ipa/vrp4.c: Same. + * gcc.dg/ipa/vrp5.c: Same. + * gcc.dg/ipa/vrp6.c: Same. + * gcc.dg/ipa/vrp7.c: Same. + * gcc.dg/ipa/vrp8.c: Same. + +2023-05-24 Uros Bizjak + + * gcc.target/i386/vect-shiftv4qi.c (dg-options): + Remove -ftree-vectorize. + * gcc.target/i386/vect-shiftv8qi.c (dg-options): Ditto. + * gcc.target/i386/vect-vshiftv4qi.c: New test. + * gcc.target/i386/vect-vshiftv8qi.c: New test. + +2023-05-24 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_1.c: Add testing for shifts. + * gcc.target/aarch64/simd/pr99195_6.c: Likewise. + * gcc.target/aarch64/simd/pr99195_8.c: New test. + +2023-05-24 Richard Biener + + PR target/109944 + * gcc.target/i386/pr109944-1.c: New testcase. + * gcc.target/i386/pr109944-2.c: Likewise. + +2023-05-24 Richard Biener + + PR tree-optimization/109849 + * gcc.dg/tree-ssa/ssa-hoist-9.c: New testcase. + +2023-05-24 Gaius Mulley + + PR modula2/109952 + * gm2/pim/run/pass/hightests.mod: New test. + +2023-05-24 Richard Sandiford + + * gcc.dg/torture/pr109940.c: New test. + +2023-05-24 Kyrylo Tkachov + + PR target/109939 + * gcc.target/arm/pr109939.c: New test. + +2023-05-24 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/cmp/vcond-4.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/vcond_run-4.c: New test. + +2023-05-24 Alexandre Oliva + + * gcc.dg/uninit-pred-9_b.c: Xfail bogus warning on 32-bit ppc + as well. + +2023-05-24 Alexandre Oliva + + * gcc.dg/signbit-2.c: Add -msse2 on x86. + +2023-05-24 Alexandre Oliva + + * lib/target-supports.exp (check_effective_target_sysconf): + Check for declaration and _SC_PAGESIZE on vxworks. + +2023-05-24 Kewen Lin + + * gcc.dg/vect/costmodel/ppc/costmodel-slp-perm.c: New test. + +2023-05-24 Juzhe-Zhong + Richard Sandiford + + * gcc.target/riscv/rvv/rvv.exp: + * gcc.target/riscv/rvv/autovec/cmp/vcond-1.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/vcond-2.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/vcond-3.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/vcond_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/vcond_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/vcond_run-3.c: New test. + +2023-05-24 Pan Li + + * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: + Enrich test cases. + +2023-05-24 Pan Li + + * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: + Enrich the test cases. + +2023-05-24 liuhongt + + * gcc.target/i386/pr109900.c: New test. + +2023-05-23 Martin Uecker + + PR c/109450 + * gcc.dg/pr109450-1.c: New test. + * gcc.dg/pr109450-2.c: New test. + * gcc.dg/vla-26.c: New test. + +2023-05-23 Martin Uecker + + PR c/70418 + PR c/106465 + PR c/107557 + PR c/108423 + * gcc.dg/nested-vla-1.c: New test. + * gcc.dg/nested-vla-2.c: New test. + * gcc.dg/nested-vla-3.c: New test. + * gcc.dg/pr70418.c: New test. + * gcc.dg/pr106465.c: New test. + * gcc.dg/pr107557-1.c: New test. + * gcc.dg/pr107557-2.c: New test. + * gcc.dg/pr108423-1.c: New test. + * gcc.dg/pr108423-2.c: New test. + * gcc.dg/pr108423-3.c: New test. + * gcc.dg/pr108423-4.c: New test. + * gcc.dg/pr108423-5.c: New test. + * gcc.dg/pr108423-6.c: New test. + * gcc.dg/typename-vla-2.c: New test. + * gcc.dg/typename-vla-3.c: New test. + * gcc.dg/typename-vla-4.c: New test. + * gcc.misc-tests/gcov-pr85350.c: Adapt. + * gcc.dg/typename-vla-5.c: New file. + * gcc.dg/typename-vla-6.c: New file. + +2023-05-23 Uros Bizjak + + * gcc.target/i386/vect-shiftv4qi.c: New test. + * gcc.target/i386/vect-shiftv8qi.c: New test. + +2023-05-23 Aldy Hernandez + + PR tree-optimization/109934 + * gcc.dg/tree-ssa/pr109934.c: New test. + +2023-05-23 Richard Sandiford + + * gcc.target/aarch64/ins_bitfield_1.c: New test. + * gcc.target/aarch64/ins_bitfield_2.c: Likewise. + * gcc.target/aarch64/ins_bitfield_3.c: Likewise. + * gcc.target/aarch64/ins_bitfield_4.c: Likewise. + * gcc.target/aarch64/ins_bitfield_5.c: Likewise. + * gcc.target/aarch64/ins_bitfield_6.c: Likewise. + +2023-05-23 Kyrylo Tkachov + + PR target/109855 + * gcc.target/aarch64/pr109855.c: New test. + +2023-05-23 Richard Biener + + PR tree-optimization/109849 + * gcc.dg/tree-ssa/ssa-hoist-8.c: New testcase. + +2023-05-23 Eric Botcazou + + * gnat.dg/opt101.adb: New test. + * gnat.dg/opt101_pkg.ads: New helper. + +2023-05-23 Paul Thomas + + PR fortran/103716 + * gfortran.dg/pr103716.f90 : New test. + +2023-05-23 Paul Thomas + Steven G. Kargl + + PR fortran/97122 + * gfortran.dg/finalize_8.f03 : Replace testcase that checks + declaration of finalizable derived types in submodules works. + +2023-05-22 Uros Bizjak + + * gcc.target/i386/sse2-shiftqihi-constant-1.c: Remove XFAILs. + +2023-05-22 Georg-Johann Lay + + PR testsuite/52641 + * gcc.c-torture/compile/pr108892.c: Require int32. + * gcc.c-torture/compile/pr98199.c: Require int32plus. + * gcc.dg/analyzer/call-summaries-pr107072.c: Same. + * gcc.dg/analyzer/null-deref-pr105755.c: Same. + * gcc.dg/tree-ssa/pr102232.c: Same. + * gcc.dg/tree-ssa/pr105860.c: Same. + * gcc.dg/tree-ssa/pr96730.c: Same. + * gcc.dg/tree-ssa/pr96779-disabled.c: Same. + * gcc.dg/tree-ssa/pr96779.c: Same. + * gcc.dg/tree-ssa/pr98513.c: Same. + * gcc.dg/tree-ssa/ssa-sink-18.c + * gcc.dg/analyzer/coreutils-cksum-pr108664.c: Require int32plus, + size24plus. + * gcc.dg/analyzer/doom-s_sound-pr108867.c: Require size32plus. + * gcc.dg/analyzer/malloc-CWE-590-examples.c: Same. + * gcc.dg/debug/btf/btf-bitfields-4.c: Same. + * gcc.dg/tree-ssa/pr93435.c: Same. + * gcc.dg/analyzer/null-deref-pr102671-1.c: Require ptr_eq_long: + * gcc.dg/analyzer/null-deref-pr102671-2.c: Same. + * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: + Same. + * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: + Same. + * gcc.dg/tree-ssa/pr103345.c: Use uint32_t. + * gcc.dg/tree-ssa/ssa-ccp-41.c [sizeof(int)==2]: Same. + * gcc.dg/tree-ssa/pr109031-1.c: Use uint16_t, uint32_t. + * gcc.dg/tree-ssa/pr109031-2.c: Same. + * gcc.dg/Warray-bounds-49.c (dg-warning): Discriminate int != short. + * gcc.dg/Warray-bounds-52.c (dg-warning): Discriminate avr. + * gcc.dg/Warray-bounds-33.c: Skip target avr. + * gcc.dg/analyzer/fd-access-mode-target-headers.c: Same. + * gcc.dg/analyzer/flex-with-call-summaries.c: Same. + * gcc.dg/analyzer/isatty-1.c: Same. + * gcc.dg/analyzer/pipe-glibc.c: Same. + +2023-05-22 Georg-Johann Lay + + PR testsuite/52641 + * c-c++-common/pr19807-2.c: Use __SIZEOF_INT__ instead of 4. + * gcc.c-torture/compile/pr103813.c: Require size32plus. + * gcc.c-torture/execute/pr108498-2.c: Same. + * gcc.c-torture/compile/pr96426.c: Condition on + __SIZEOF_LONG_LONG__ == __SIZEOF_DOUBLE__. + * gcc.c-torture/execute/pr103417.c: Require int32plus. + * gcc.dg/pr104198.c: Same. + * gcc.dg/pr21137.c: Same. + * gcc.dg/pr88905.c: Same. + * gcc.dg/pr90838.c: Same. + * gcc.dg/pr97317.c: Same. + * gcc.dg/pr100292.c: Require int32. + * gcc.dg/pr101008.c: Same. + * gcc.dg/pr96542.c: Same. + * gcc.dg/pr96674.c: Same. + * gcc.dg/pr97750.c: Require ptr_eq_long. + +2023-05-22 Georg-Johann Lay + + * lib/target-supports.exp (check_effective_target_lra) [avr]: Return 0. + * gcc.dg/pr19402-2.c: Skip for avr. + * gcc.dg/pr86124.c: Same. + * gcc.dg/pr94291.c: Same. + * gcc.dg/torture/builtin-complex-1.c: Same. + * gcc.dg/torture/fp-int-convert-float32x-timode.c: Same. + * gcc.dg/torture/fp-int-convert-float32x.c: Same. + * gcc.dg/torture/fp-int-convert-float64-timode.c: Same. + * gcc.dg/torture/fp-int-convert-float64.c: Same. + * gcc.dg/torture/fp-int-convert-long-double.c: Same. + * gcc.dg/torture/fp-int-convert-timode.c: Same. + * c-c++-common/torture/builtin-convertvector-1.c: Same. + * c-c++-common/torture/complex-sign-add.c: Same. + * c-c++-common/torture/complex-sign-mixed-add.c: Same. + * c-c++-common/torture/complex-sign-mixed-div.c: Same. + * c-c++-common/torture/complex-sign-mixed-mul.c: Same. + * c-c++-common/torture/complex-sign-mixed-sub.c: Same. + * c-c++-common/torture/complex-sign-mul-minus-one.c: Same. + * c-c++-common/torture/complex-sign-mul-one.c: Same. + * c-c++-common/torture/complex-sign-mul.c: Same. + * c-c++-common/torture/complex-sign-sub.c: Same. + +2023-05-22 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-2.h: Fix + typo + +2023-05-22 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-1.c: New + test. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-1.h: New + test. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-2.c: New + test. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-2.h: New + test. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-1.c: + New test. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-2.c: + New test. + +2023-05-21 Roger Sayle + + * gcc.target/nvptx/brev-1.c: New 32-bit test case. + * gcc.target/nvptx/brev-2.c: Likewise. + * gcc.target/nvptx/brevll-1.c: New 64-bit test case. + * gcc.target/nvptx/brevll-2.c: Likewise. + +2023-05-21 Jakub Jelinek + + PR tree-optimization/109505 + * gcc.target/aarch64/sve/pr109505.c: New test. + +2023-05-21 Pan Li + + * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: Add + test cases for vbool[2|4|8|16|32|64]_t. + +2023-05-21 Andrew Pinski + + PR middle-end/109919 + * gcc.c-torture/compile/pr109919-1.c: New test. + +2023-05-20 Triffid Hunter + + PR target/105753 + * gcc.target/avr/torture/pr105753.c: New test. + +2023-05-20 Die Li + + * gcc.target/riscv/xtheadcondmov-indirect-rv32.c: New test. + * gcc.target/riscv/xtheadcondmov-indirect-rv64.c: New test. + +2023-05-20 Raphael Moreira Zinsly + + * gcc.target/riscv/zbs-bext-02.c: New test. + +2023-05-20 Raphael Moreira Zinsly + + PR target/106888 + * gcc.target/riscv/pr106888.c: New test. + * gcc.target/riscv/zbbw.c: Check for ANDI. + +2023-05-19 Patrick Palka + + PR c++/97340 + * g++.dg/cpp1y/var-templ80.C: New test. + * g++.dg/cpp1y/var-templ81.C: New test. + +2023-05-19 Robin Dapp + + * gcc.target/riscv/rvv/autovec/binop/shift-run.c: Do not include + . + * gcc.target/riscv/rvv/autovec/binop/shift-run-template.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vadd-run-template.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vand-run-template.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vdiv-run-template.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vmax-run-template.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vmin-run-template.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vmul-run-template.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vor-run-template.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vrem-run-template.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vsub-run-template.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vxor-run-template.h: Removed. + +2023-05-19 Robin Dapp + + * gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c: New test. + * gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv64.c: New test. + +2023-05-19 Gaius Mulley + + PR modula2/109908 + * gm2/isolib/run/pass/testdelete.mod: New test. + +2023-05-19 Jakub Jelinek + + PR tree-optimization/105776 + * gcc.target/i386/pr105776.c: New test. + +2023-05-19 Jakub Jelinek + + PR tree-optimization/101856 + * gcc.dg/tree-ssa/pr101856.c: New test. + +2023-05-19 Eric Botcazou + + * gnat.dg/specs/array6.ads: New test. + +2023-05-19 Joseph Myers + + * gcc.dg/c2x-thread-local-2.c: New test. + +2023-05-18 Uros Bizjak + + * gcc.target/i386/avx512vl-pr95488-1.c: Adjust + expected scan-assembler-times frequency and strings.. + * gcc.target/i386/vect-mulv4qi.c: New test. + * gcc.target/i386/vect-mulv8qi.c: New test. + +2023-05-18 Jonathan Wakely + + PR bootstrap/105831 + * gcc.test-framework/gen_directive_tests: Use = operator instead + of ==. + +2023-05-18 Stam Markianos-Wright + + * gcc.target/arm/mve/intrinsics/srshr.c: Update shift value. + * gcc.target/arm/mve/intrinsics/srshrl.c: Update shift value. + * gcc.target/arm/mve/intrinsics/uqshl.c: Update shift value. + * gcc.target/arm/mve/intrinsics/uqshll.c: Update shift value. + * gcc.target/arm/mve/intrinsics/urshr.c: Update shift value. + * gcc.target/arm/mve/intrinsics/urshrl.c: Update shift value. + * gcc.target/arm/mve/intrinsics/vadciq_m_s32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vadciq_m_u32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vadciq_s32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vadciq_u32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vadcq_m_s32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vadcq_m_u32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vadcq_s32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vadcq_u32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vsbciq_m_s32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vsbciq_m_u32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vsbciq_s32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vsbciq_u32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vsbcq_m_s32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vsbcq_m_u32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vsbcq_s32.c: Update to ubfx. + * gcc.target/arm/mve/intrinsics/vsbcq_u32.c: Update to ubfx. + * gcc.target/arm/mve/mve_const_shifts.c: New test. + +2023-05-18 Stam Markianos-Wright + + PR target/109697 + * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u16.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u32.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u8.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u16.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u32.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u8.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmphiq_n_u16.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmphiq_n_u32.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmphiq_n_u8.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpneq_n_u16.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpneq_n_u32.c: XFAIL check. + * gcc.target/arm/mve/intrinsics/vcmpneq_n_u8.c: XFAIL check. + * gcc.target/arm/mve/pr108177-1.c: Relax registers. + * gcc.target/arm/mve/pr108177-10.c: Relax registers. + * gcc.target/arm/mve/pr108177-11.c: Relax registers. + * gcc.target/arm/mve/pr108177-12.c: Relax registers. + * gcc.target/arm/mve/pr108177-13.c: Relax registers. + * gcc.target/arm/mve/pr108177-13-run.c: use mve_fp + * gcc.target/arm/mve/pr108177-14.c: Relax registers. + * gcc.target/arm/mve/pr108177-14-run.c: use mve_fp + * gcc.target/arm/mve/pr108177-2.c: Relax registers. + * gcc.target/arm/mve/pr108177-3.c: Relax registers. + * gcc.target/arm/mve/pr108177-4.c: Relax registers. + * gcc.target/arm/mve/pr108177-5.c: Relax registers. + * gcc.target/arm/mve/pr108177-6.c: Relax registers. + * gcc.target/arm/mve/pr108177-7.c: Relax registers. + * gcc.target/arm/mve/pr108177-8.c: Relax registers. + * gcc.target/arm/mve/pr108177-9.c: Relax registers. + +2023-05-18 Stam Markianos-Wright + + * gcc.target/arm/mve/intrinsics/mve_fp_vaddq_n.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vaddq_m.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vaddq_n.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vddupq_m_n_u16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vddupq_m_n_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vddupq_m_n_u8.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vddupq_n_u16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vddupq_n_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vddupq_n_u8.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vddupq_x_n_u16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vddupq_x_n_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vddupq_x_n_u8.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vdwdupq_x_n_u16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vdwdupq_x_n_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vdwdupq_x_n_u8.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vidupq_m_n_u16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vidupq_m_n_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vidupq_m_n_u8.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vidupq_n_u16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vidupq_n_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vidupq_n_u8.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vidupq_x_n_u16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vidupq_x_n_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vidupq_x_n_u8.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_viwdupq_x_n_u16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_viwdupq_x_n_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_viwdupq_x_n_u8.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_offset_s64.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_offset_u64.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_offset_z_s64.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_offset_z_u64.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_shifted_offset_s64.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_shifted_offset_u64.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_shifted_offset_z_s64.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrdq_gather_shifted_offset_z_u64.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_f16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_s16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_s32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_u16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_z_f16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_z_s16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_z_s32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_z_u16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_offset_z_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_f16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_s16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_s32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_u16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_z_f16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_z_s16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_z_s32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_z_u16.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrhq_gather_shifted_offset_z_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_offset_f32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_offset_s32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_offset_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_offset_z_f32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_offset_z_s32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_offset_z_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_shifted_offset_f32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_shifted_offset_s32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_shifted_offset_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_shifted_offset_z_f32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_shifted_offset_z_s32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vldrwq_gather_shifted_offset_z_u32.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_shifted_offset.c: Removed. + * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_shifted_offset_p.c: Removed. + * gcc.target/arm/mve/intrinsics/vaddq_m_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vaddq_m_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vaddq_x_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vaddq_x_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vfmaq_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vfmaq_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vfmasq_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vfmasq_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmaxnmavq_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmaxnmavq_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmaxnmvq_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmaxnmvq_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vminnmavq_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vminnmavq_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vminnmavq_p_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vminnmavq_p_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vminnmvq_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vminnmvq_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vminnmvq_p_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vminnmvq_p_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmulq_m_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmulq_m_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmulq_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmulq_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmulq_x_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vmulq_x_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vsetq_lane_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vsetq_lane_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vsubq_m_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vsubq_m_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vsubq_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vsubq_n_f32-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vsubq_x_n_f16-1.c: Removed. + * gcc.target/arm/mve/intrinsics/vsubq_x_n_f32-1.c: Removed. + +2023-05-18 Stam Markianos-Wright + + * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-fp.c: Add testcases. + * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-int.c: Add testcases. + +2023-05-18 Stam Markianos-Wright + + * gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c: New. + +2023-05-18 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/asrl.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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/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/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. + * 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/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/vcmpgtq_n_f16.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_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_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/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/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/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_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/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/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/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/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/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/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/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/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/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_m_s16.c: Likewise. + * 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. + * 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/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. + +2023-05-18 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vstrwq_f32.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-05-18 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vld1q_f16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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/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/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/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. + +2023-05-18 Joseph Myers + + * gcc.dg/format/c2x-printf-1.c: Test %B here. + * gcc.dg/format/ext-9.c: Do not test %B here. + +2023-05-17 Harald Anlauf + + PR fortran/95374 + PR fortran/104352 + * gfortran.dg/zero_sized_13.f90: New test. + +2023-05-17 Jivan Hakobyan + + * gcc.target/riscv/shift-and-2.c: Fixed test + * gcc.target/riscv/zbb-rol-ror-01.c: New test + * gcc.target/riscv/zbb-rol-ror-02.c: New test + * gcc.target/riscv/zbb-rol-ror-03.c: New test + * gcc.target/riscv/zbb-rol-ror-04.c: New test + * gcc.target/riscv/zbb-rol-ror-05.c: New test + * gcc.target/riscv/zbb-rol-ror-06.c: New test + * gcc.target/riscv/zbb-rol-ror-07.c: New test + +2023-05-17 Jakub Jelinek + + PR c++/109884 + * c-c++-common/pr109884.c: New test. + +2023-05-17 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/vxrm-10.c: New test. + * gcc.target/riscv/rvv/base/vxrm-6.c: New test. + * gcc.target/riscv/rvv/base/vxrm-7.c: New test. + * gcc.target/riscv/rvv/base/vxrm-8.c: New test. + * gcc.target/riscv/rvv/base/vxrm-9.c: New test. + +2023-05-17 Juzhe-Zhong + + * g++.target/riscv/rvv/base/bug-11.C: Adapt testcase. + * g++.target/riscv/rvv/base/bug-12.C: Ditto. + * g++.target/riscv/rvv/base/bug-14.C: Ditto. + * g++.target/riscv/rvv/base/bug-15.C: Ditto. + * g++.target/riscv/rvv/base/bug-16.C: Ditto. + * g++.target/riscv/rvv/base/bug-17.C: Ditto. + * g++.target/riscv/rvv/base/bug-18.C: Ditto. + * g++.target/riscv/rvv/base/bug-19.C: Ditto. + * g++.target/riscv/rvv/base/bug-20.C: Ditto. + * g++.target/riscv/rvv/base/bug-21.C: Ditto. + * g++.target/riscv/rvv/base/bug-22.C: Ditto. + * g++.target/riscv/rvv/base/bug-23.C: Ditto. + * g++.target/riscv/rvv/base/bug-3.C: Ditto. + * g++.target/riscv/rvv/base/bug-5.C: Ditto. + * g++.target/riscv/rvv/base/bug-6.C: Ditto. + * g++.target/riscv/rvv/base/bug-8.C: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-100.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-101.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-103.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-104.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-105.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-106.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-107.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-109.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-110.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-111.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-112.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-113.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-115.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-116.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-117.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-118.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-122.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-97.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-98.c: Ditto. + * gcc.target/riscv/rvv/base/merge_constraint-1.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-6.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-7.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-8.c: Ditto. + * gcc.target/riscv/rvv/base/narrow_constraint-9.c: Ditto. + * gcc.target/riscv/rvv/base/vxrm-2.c: New test. + * gcc.target/riscv/rvv/base/vxrm-3.c: New test. + * gcc.target/riscv/rvv/base/vxrm-4.c: New test. + * gcc.target/riscv/rvv/base/vxrm-5.c: New test. + +2023-05-17 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/vxrm-1.c: New test. + +2023-05-17 Tobias Burnus + + * gfortran.dg/goacc/finalize-1.f: Update dg-tree; shows a fix + for 'finalize' as a ptr is now 'delete' instead of 'release'. + * gfortran.dg/gomp/pr78260-2.f90: Likewise as elem-size calc moved + to if (allocated) block + * gfortran.dg/gomp/target-exit-data.f90: Likewise as a var is now a + replaced by a MEM< _25 > expression. + * gfortran.dg/gomp/map-9.f90: Update dg-scan-tree-dump. + * gfortran.dg/gomp/map-10.f90: New test. + +2023-05-17 Stefan Schulze Frielinghaus + + * g++.target/s390/atomic-align-1.C: New test. + * gcc.target/s390/atomic-align-1.c: New test. + * gcc.target/s390/atomic-align-2.c: New test. + +2023-05-17 Jakub Jelinek + + PR c++/109868 + * g++.dg/init/pr109868.C: New test. + +2023-05-17 Pan Li + + * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: New test. + +2023-05-17 Jiufu Guo + + PR target/106708 + * gcc.target/powerpc/pr106708.c: Add test function. + +2023-05-16 Joseph Myers + + * gcc.dg/c11-fordecl-1.c, gcc.dg/c11-fordecl-2.c, + gcc.dg/c11-fordecl-3.c, gcc.dg/c11-fordecl-4.c, + gcc.dg/c2x-fordecl-1.c, gcc.dg/c2x-fordecl-2.c, + gcc.dg/c2x-fordecl-3.c, gcc.dg/c2x-fordecl-4.c: New tests. + * gcc.dg/c99-fordecl-2.c: Test diagnostic for typedef declaration + in for loop here. + * gcc.dg/pr67784-2.c, gcc.dg/pr68320.c, objc.dg/foreach-7.m: Do + not expect errors for typedef declaration in for loop. + +2023-05-16 Gaius Mulley + + PR modula2/109879 + * gm2/isolib/run/pass/testreadint.mod: New test. + +2023-05-16 Marek Polacek + + PR c++/109774 + * g++.dg/warn/Wdangling-reference13.C: New test. + +2023-05-16 Patrick Palka + + PR c++/109871 + * g++.dg/cpp2a/desig27.C: New test. + +2023-05-16 Carl Love + + * gcc.target/powerpc/int_128bit-runnable.c: Update expected + instruction counts. + +2023-05-16 Carl Love + + * gcc.target/powerpc/rs6000-fpint.c: Update dg-options, drop dg-do + compile specifier. + +2023-05-16 Richard Sandiford + + * gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c: Allow mves + to occur after the intrinsic instruction, rather than requiring + them to happen before. + * gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c: Likewise. + +2023-05-16 Pan Li + + * gcc.target/riscv/rvv/autovec/binop/shift-scalar-template.h: + Replace stdint.h with stdint-gcc.h. + * gcc.target/riscv/rvv/autovec/binop/shift-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vadd-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vand-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vdiv-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmax-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmin-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmul-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vor-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vrem-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vsub-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vxor-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/series-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vmv-imm-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vmv-imm-template.h: Ditto. + +2023-05-16 Stefan Schulze Frielinghaus + + * gcc.target/s390/memset-1.c: Test case memset1 makes use of + vst, now. + +2023-05-16 Paul Thomas + + PR fortran/105152 + PR fortran/100193 + PR fortran/87946 + PR fortran/103389 + PR fortran/104429 + PR fortran/82774 + * gfortran.dg/pr105152.f90 : New test + * gfortran.dg/pr100193.f90 : New test + * gfortran.dg/pr87946.f90 : New test + * gfortran.dg/pr103389.f90 : New test + * gfortran.dg/pr104429.f90 : New test + * gfortran.dg/pr82774.f90 : New test + +2023-05-16 Senthil Kumar Selvaraj + + * gcc.dg/attr-returns-nonnull.c: Skip if + keeps_null_pointer_checks. + * gcc.dg/init-compare-1.c: Likewise. + * gcc.dg/ipa/pr85734.c: Likewise. + * gcc.dg/ipa/propmalloc-1.c: Likewise. + * gcc.dg/ipa/propmalloc-2.c: Likewise. + * gcc.dg/ipa/propmalloc-3.c: Likewise. + * gcc.dg/ipa/propmalloc-4.c: Likewise. + * gcc.dg/tree-ssa/evrp11.c: Likewise. + * gcc.dg/tree-ssa/pr83648.c: Likewise. + +2023-05-16 Andrew Pinski + + PR tree-optimization/109424 + * gcc.dg/tree-ssa/bool-12.c: New test. + * gcc.dg/tree-ssa/bool-13.c: New test. + * gcc.dg/tree-ssa/minmax-20.c: New test. + * gcc.dg/tree-ssa/minmax-21.c: New test. + +2023-05-15 Joseph Myers + + * gcc.dg/qual-return-9.c, gcc.dg/qual-return-10.c: New tests. + +2023-05-15 Joseph Myers + + * gcc.dg/c2x-has-c-attribute-2.c: Expect 202311L return value from + __has_c_attribute for all C2x attributes. + +2023-05-15 Harald Anlauf + + PR fortran/109846 + * gfortran.dg/ptr-func-5.f90: New test. + +2023-05-15 Patrick Palka + + * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_auto_cast. + +2023-05-15 Kyrylo Tkachov + + * gcc.target/aarch64/facg_1.c: New test. + +2023-05-15 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_7.c: New test. + +2023-05-15 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_4.c: Add testing for qabs, qneg. + +2023-05-15 Pan Li + Juzhe-Zhong + kito-cheng + + * gcc.target/riscv/rvv/base/vf_avl-1.c: New test. + +2023-05-15 Richard Biener + + * gcc.dg/vect/pr108950.c: Re-order dg-require-effective-target + and dg-do. + +2023-05-15 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/binop/shift-rv32gcv.c: Adapt testcase. + * gcc.target/riscv/rvv/autovec/align-1.c: New test. + * gcc.target/riscv/rvv/autovec/align-2.c: New test. + +2023-05-14 Andrew Pinski + + PR tree-optimization/109829 + * gcc.dg/tree-ssa/abs-3.c: New test. + * gcc.dg/tree-ssa/abs-4.c: New test. + +2023-05-14 Uros Bizjak + + PR target/109807 + * gcc.target/i386/pr109825.c: New test. + +2023-05-13 Prathamesh Kulkarni + + * gcc.target/aarch64/ldp_stp_16.c (cons2_8_float): Adjust for new + code-gen. + * gcc.target/aarch64/sve/acle/general/dupq_5.c: Likewise. + * gcc.target/aarch64/sve/acle/general/dupq_6.c: Likewise. + * gcc.target/aarch64/interleave-init-1.c: Rename to ... + * gcc.target/aarch64/vec-init-18.c: ... this. + * gcc.target/aarch64/vec-init-19.c: New test. + * gcc.target/aarch64/vec-init-20.c: Likewise. + * gcc.target/aarch64/vec-init-21.c: Likewise. + * gcc.target/aarch64/vec-init-22-size.c: Likewise. + * gcc.target/aarch64/vec-init-22-speed.c: Likewise. + * gcc.target/aarch64/vec-init-22.h: New header. + +2023-05-13 Andrew Pinski + + PR tree-optimization/109834 + * gcc.c-torture/compile/pr109834-1.c: New test. + * gcc.dg/tree-ssa/pr109834-1.c: New test. + +2023-05-12 Jerry DeLisle + + PR fortran/109662 + * gfortran.dg/pr109662-a.f90: Add a section to verify that + a short namelist read does not modify the variable. + +2023-05-12 Gaius Mulley + + PR modula2/109830 + * gm2/isolib/run/pass/seqappend.mod: New test. + +2023-05-12 Kito Cheng + Juzhe-Zhong + + PR target/109743 + * gcc.target/riscv/rvv/vsetvl/pr109743-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/pr109743-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/pr109743-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/pr109743-4.c: New test. + +2023-05-12 Richard Biener + + PR tree-optimization/64731 + * gcc.target/i386/pr64731.c: New testcase. + +2023-05-12 Patrick Palka + + PR c++/83258 + * g++.dg/ext/visibility/anon8.C: Mention PR83258. + * g++.dg/template/function2.C: Removed. + +2023-05-12 Patrick Palka + + PR c++/109752 + * g++.dg/cpp2a/concepts-pr109752.C: Rename to ... + * g++.dg/cpp2a/concepts-complete4.C: ... this. Rewrite. + +2023-05-12 Juzhe Zhong + + * gcc.target/riscv/rvv/autovec/vmv-imm-rv64.c: Add ABI + +2023-05-12 Juzhe Zhong + + * gcc.target/riscv/rvv/rvv.exp: + * gcc.target/riscv/rvv/autovec/vls-vlmax/insert-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/insert-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/insert-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/insert_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/insert_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-6.c: New test. + +2023-05-12 Pan Li + + * gcc.target/riscv/rvv/autovec/shift-run-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/shift-run-template.h: ...here. + * gcc.target/riscv/rvv/autovec/shift-run.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/shift-run.c: ...here. + * gcc.target/riscv/rvv/autovec/shift-rv32gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/shift-rv32gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/shift-rv64gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/shift-rv64gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/shift-scalar-run.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/shift-scalar-run.c: ...here. + * gcc.target/riscv/rvv/autovec/shift-scalar-rv32gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/shift-scalar-rv32gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/shift-scalar-rv64gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/shift-scalar-rv64gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/shift-scalar-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/shift-scalar-template.h: ...here. + * gcc.target/riscv/rvv/autovec/shift-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/shift-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vadd-run-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vadd-run-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vadd-run.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vadd-run.c: ...here. + * gcc.target/riscv/rvv/autovec/vadd-rv32gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vadd-rv64gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vadd-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vadd-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vand-run-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vand-run-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vand-run.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vand-run.c: ...here. + * gcc.target/riscv/rvv/autovec/vand-rv32gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vand-rv32gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vand-rv64gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vand-rv64gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vand-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vand-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vdiv-run-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vdiv-run-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vdiv-run.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vdiv-run.c: ...here. + * gcc.target/riscv/rvv/autovec/vdiv-rv32gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vdiv-rv64gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vdiv-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vdiv-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vmax-run-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmax-run-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vmax-run.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmax-run.c: ...here. + * gcc.target/riscv/rvv/autovec/vmax-rv32gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmax-rv32gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vmax-rv64gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmax-rv64gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vmax-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmax-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vmin-run-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmin-run-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vmin-run.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmin-run.c: ...here. + * gcc.target/riscv/rvv/autovec/vmin-rv32gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmin-rv32gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vmin-rv64gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmin-rv64gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vmin-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmin-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vmul-run-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmul-run-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vmul-run.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmul-run.c: ...here. + * gcc.target/riscv/rvv/autovec/vmul-rv32gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vmul-rv64gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vmul-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vmul-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vor-run-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vor-run-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vor-run.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vor-run.c: ...here. + * gcc.target/riscv/rvv/autovec/vor-rv32gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vor-rv32gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vor-rv64gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vor-rv64gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vor-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vor-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vrem-run-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vrem-run-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vrem-run.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vrem-run.c: ...here. + * gcc.target/riscv/rvv/autovec/vrem-rv32gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vrem-rv64gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vrem-rv64gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vrem-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vrem-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vsub-run-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vsub-run-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vsub-run.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vsub-run.c: ...here. + * gcc.target/riscv/rvv/autovec/vsub-rv32gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vsub-rv64gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vsub-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vsub-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vxor-run-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vxor-run-template.h: ...here. + * gcc.target/riscv/rvv/autovec/vxor-run.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vxor-run.c: ...here. + * gcc.target/riscv/rvv/autovec/vxor-rv32gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vxor-rv32gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vxor-rv64gcv.c: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vxor-rv64gcv.c: ...here. + * gcc.target/riscv/rvv/autovec/vxor-template.h: Moved to... + * gcc.target/riscv/rvv/autovec/binop/vxor-template.h: ...here. + * gcc.target/riscv/rvv/rvv.exp: Add autovec LMUL = 2/4/8 for binary. + +2023-05-12 Pan Li + + * gcc.target/riscv/rvv/autovec/shift-run.c: Fix fail. + * gcc.target/riscv/rvv/autovec/shift-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/shift-scalar-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/shift-scalar-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vadd-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vand-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vand-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vdiv-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vdiv-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vmax-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vmax-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vmin-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vmin-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vmul-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vmul-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vor-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vor-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vrem-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vrem-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vsub-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vxor-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vxor-rv64gcv.c: Ditto. + +2023-05-12 Haochen Gui + + * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Replace ilp32 check + with dg-skip-if has_arch_ppc64. + * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise. + +2023-05-12 Haochen Gui + + * gcc.target/powerpc/bfp/scalar-insert-exp-0.c: Replace lp64 check + with has_arch_ppc64. + * gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-12.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-13.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Likewise. + +2023-05-12 Haochen Gui + + * gcc.target/powerpc/bfp/scalar-extract-sig-0.c: Replace lp64 check + with has_arch_ppc64. + * gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-6.c: Likewise. + +2023-05-12 Haochen Gui + + * gcc.target/powerpc/bfp/scalar-extract-exp-0.c: Remove lp64 check. + * gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Delete as the case + is invalid now. + * gcc.target/powerpc/bfp/scalar-extract-exp-6.c: Remove lp64 check. + +2023-05-11 Gaius Mulley + + PR modula2/109810 + * gm2/pim/fail/highice.mod: New test. + +2023-05-11 Patrick Palka + + PR c++/109745 + * g++.dg/cpp0x/constexpr-mutable4.C: New test. + * g++.dg/cpp0x/constexpr-mutable5.C: New test. + * g++.dg/cpp1y/constexpr-mutable2.C: New test. + +2023-05-11 mtsamis + + * gcc.target/aarch64/swar_to_vec_cmp.c: New test. + +2023-05-11 Uros Bizjak + + PR target/109807 + * gcc.target/i386/pr109807.c: New test. + +2023-05-11 Patrick Palka + + PR c++/103807 + * g++.dg/cpp2a/lambda-targ1.C: New test. + +2023-05-11 Robin Dapp + + * gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c: New test. + * gcc.target/riscv/rvv/autovec/vmv-imm-rv64.c: New test. + * gcc.target/riscv/rvv/autovec/vmv-imm-template.h: New test. + * gcc.target/riscv/rvv/autovec/vmv-imm-run.c: New test. + +2023-05-11 Patrick Palka + Jonathan Wakely + + PR c++/83258 + PR c++/80488 + PR c++/97700 + * g++.dg/ext/visibility/anon8.C: Don't expect a "no linkage" + error for the template argument &B2:fn in C++17 mode. + * g++.dg/cpp0x/lambda/lambda-conv15.C: New test. + * g++.dg/cpp2a/nontype-class56.C: New test. + * g++.dg/template/function2.C: New test. + +2023-05-11 Alexandre Oliva + + * gcc.target/aarch64/sve/pred-not-gen-4.c: Drop math.h + include, call builtin. + +2023-05-11 Robin Dapp + Michael Collison + + * gcc.target/riscv/rvv/autovec/shift-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/shift-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/shift-template.h: New test. + * gcc.target/riscv/rvv/autovec/shift-run.c: New test. + * gcc.target/riscv/rvv/autovec/shift-scalar-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/shift-scalar-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/shift-scalar-template.h: New test. + * gcc.target/riscv/rvv/autovec/shift-scalar-run.c: New test. + * gcc.target/riscv/rvv/autovec/vadd-run-template.h: New test. + * gcc.target/riscv/rvv/autovec/vadd-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vadd-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vadd-template.h: New test. + * gcc.target/riscv/rvv/autovec/vand-run.c: New test. + * gcc.target/riscv/rvv/autovec/vand-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vand-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vand-template.h: New test. + * gcc.target/riscv/rvv/autovec/vdiv-run.c: New test. + * gcc.target/riscv/rvv/autovec/vdiv-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vdiv-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vdiv-template.h: New test. + * gcc.target/riscv/rvv/autovec/vmax-run.c: New test. + * gcc.target/riscv/rvv/autovec/vmax-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vmax-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vmax-template.h: New test. + * gcc.target/riscv/rvv/autovec/vmin-run.c: New test. + * gcc.target/riscv/rvv/autovec/vmin-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vmin-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vmin-template.h: New test. + * gcc.target/riscv/rvv/autovec/vmul-run.c: New test. + * gcc.target/riscv/rvv/autovec/vmul-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vmul-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vmul-template.h: New test. + * gcc.target/riscv/rvv/autovec/vor-run.c: New test. + * gcc.target/riscv/rvv/autovec/vor-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vor-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vor-template.h: New test. + * gcc.target/riscv/rvv/autovec/vrem-run.c: New test. + * gcc.target/riscv/rvv/autovec/vrem-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vrem-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vrem-template.h: New test. + * gcc.target/riscv/rvv/autovec/vsub-run.c: New test. + * gcc.target/riscv/rvv/autovec/vsub-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vsub-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vsub-template.h: New test. + * gcc.target/riscv/rvv/autovec/vxor-run.c: New test. + * gcc.target/riscv/rvv/autovec/vxor-rv32gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vxor-rv64gcv.c: New test. + * gcc.target/riscv/rvv/autovec/vxor-template.h: New test. + * gcc.target/riscv/rvv/autovec/shift-run-template.h: New file. + * gcc.target/riscv/rvv/autovec/vadd-run.c: New file. + * gcc.target/riscv/rvv/autovec/vand-run-template.h: New file. + * gcc.target/riscv/rvv/autovec/vdiv-run-template.h: New file. + * gcc.target/riscv/rvv/autovec/vmax-run-template.h: New file. + * gcc.target/riscv/rvv/autovec/vmin-run-template.h: New file. + * gcc.target/riscv/rvv/autovec/vmul-run-template.h: New file. + * gcc.target/riscv/rvv/autovec/vor-run-template.h: New file. + * gcc.target/riscv/rvv/autovec/vrem-run-template.h: New file. + * gcc.target/riscv/rvv/autovec/vsub-run-template.h: New file. + * gcc.target/riscv/rvv/autovec/vxor-run-template.h: New file. + +2023-05-11 Thomas Schwinge + + * lib/torture-options.exp (torture-init-done): Add. + * lib/gcc-dg.exp (gcc-dg-runtest): Use it to conditionalize + implicit 'torture-init'. + * lib/gfortran-dg.exp (gfortran-dg-runtest): Likewise. + * lib/obj-c++-dg.exp (obj-c++-dg-runtest): Likewise. + * lib/objc-dg.exp (objc-dg-runtest): Likewise. + +2023-05-11 Thomas Schwinge + + * gcc.target/arm/acle/acle.exp: Add missing + 'torture-init'/'torture-finish' around 'LTO_TORTURE_OPTIONS' + usage. + * gcc.target/arm/cmse/cmse.exp: Likewise. + * gcc.target/arm/pure-code/pure-code.exp: Likewise. + +2023-05-11 Roger Sayle + + * gcc.dg/fold-popcount-8.c: New test case. + * gcc.dg/fold-popcount-9.c: Likewise. + * gcc.dg/fold-popcount-10.c: Likewise. + +2023-05-11 Roger Sayle + + * gcc.dg/fold-parity-6.c: New test. + * gcc.dg/fold-parity-7.c: Likewise. + * gcc.dg/fold-popcount-6.c: Likewise. + * gcc.dg/fold-popcount-7.c: Likewise. + +2023-05-11 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/series-1.c: New test. + * gcc.target/riscv/rvv/autovec/series_run-1.c: New test. + +2023-05-10 Marek Polacek + + PR c++/109680 + * g++.dg/ext/is_convertible6.C: New test. + +2023-05-10 Uros Bizjak + + PR target/92658 + * gcc.target/i386/pr92658-sse4-4b.c: New test. + * gcc.target/i386/pr92658-sse4-8b.c: New test. + +2023-05-10 Andrew Pinski + + * gcc.c-torture/execute/20230510-1.c: New test. + +2023-05-10 Jason Merrill + + DR 2543 + * g++.dg/DRs/dr2543.C: New test. + +2023-05-10 Jason Merrill + + * g++.dg/DRs/dr2478.C: Handle -fimplicit-constexpr. + * g++.dg/cpp23/consteval-if12.C: Adjust diagnostics. + * g++.dg/cpp2a/consteval20.C: Likewise. + * g++.dg/cpp2a/consteval24.C: Likewise. + * g++.dg/cpp2a/srcloc20.C: Likewise. + +2023-05-10 Richard Biener + + * g++.dg/torture/pr106922.C: Force _GLIBCXX_USE_CXX11_ABI to 1. + +2023-05-10 Kyrylo Tkachov + + * gcc.target/aarch64/simd/pr99195_4.c: Add tests for sqmovun. + +2023-05-10 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_1.c: Add tests for zip and rev + intrinsics. + +2023-05-10 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_1.c: Add testing for qadd, qsub. + * gcc.target/aarch64/simd/pr99195_6.c: New test. + +2023-05-10 Kyrylo Tkachov + + * gcc.target/aarch64/simd/pr99195_5.c: New test. + +2023-05-10 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_4.c: Add tests for vmovn, vqmovn. + +2023-05-10 Jakub Jelinek + + PR c++/109756 + * g++.dg/cpp0x/gen-attrs-78.C: New test. + +2023-05-10 Li Xu + + * gcc.target/riscv/rvv/base/scalar_move-10.c: New test. + * gcc.target/riscv/rvv/base/scalar_move-11.c: New test. + +2023-05-10 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/v-2.c: Adapt testcase. + * gcc.target/riscv/rvv/autovec/zve32f-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32f-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve32x-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64d-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64d-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64f-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64f-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64x-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64x-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-2.c: Ditto. + +2023-05-10 Juzhe-Zhong + + PR target/109773 + * gcc.target/riscv/rvv/vsetvl/pr109773-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/pr109773-2.c: New test. + +2023-05-10 Andrew Pinski + + * gcc.c-torture/execute/20230509-1.c: New test. + +2023-05-09 Patrick Palka + + PR c++/109752 + * g++.dg/cpp2a/concepts-pr109752.C: New test. + +2023-05-09 Patrick Palka + + PR c++/109761 + * g++.dg/cpp0x/noexcept78.C: New test. + +2023-05-09 Richard Sandiford + + * gcc.target/aarch64/sve/acle/asm/abd_f16.c: Remove XFAILs. + * gcc.target/aarch64/sve/acle/asm/abd_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/abd_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/abd_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/abd_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/abd_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/abd_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/abd_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/abd_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/abd_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/abd_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/add_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/add_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/add_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/add_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/add_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/add_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/add_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/add_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/and_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/and_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/and_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/and_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/and_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/and_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/and_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/and_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/asr_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/asr_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/div_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/div_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/div_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/div_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/div_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/div_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/div_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/divr_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/divr_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/divr_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/divr_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/divr_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/divr_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/divr_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dot_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dot_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dot_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dot_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/eor_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/eor_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/eor_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/eor_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/eor_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/eor_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/eor_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/eor_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_wide_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_wide_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_wide_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_wide_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_wide_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_wide_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsr_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsr_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mad_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mad_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mad_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mad_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mad_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mad_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mad_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mad_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mad_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mad_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mad_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/max_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/max_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/max_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/max_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/max_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/max_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/max_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/max_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/min_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/min_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/min_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/min_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/min_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/min_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/min_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/min_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mla_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mla_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mla_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mla_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mla_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mla_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mla_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mla_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mla_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mla_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mla_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mls_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mls_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mls_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mls_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mls_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mls_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mls_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mls_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mls_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mls_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mls_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/msb_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/msb_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/msb_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/msb_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/msb_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/msb_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/msb_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/msb_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/msb_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/msb_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/msb_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_f16_notrap.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_f32_notrap.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_f64_notrap.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mulh_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mulh_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mulh_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mulh_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mulh_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mulh_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mulh_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mulh_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mulx_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mulx_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mulx_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/nmad_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/nmad_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/nmad_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/nmla_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/nmla_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/nmla_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/nmls_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/nmls_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/nmls_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/nmsb_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/nmsb_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/nmsb_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/orr_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/orr_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/orr_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/orr_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/orr_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/orr_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/orr_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/orr_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/scale_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/scale_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/scale_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/sub_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/sub_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/sub_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/sub_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/sub_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/sub_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/sub_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/sub_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_f16_notrap.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_f32_notrap.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_f64_notrap.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/subr_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bcax_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bcax_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bcax_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bcax_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bcax_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bcax_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bcax_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bcax_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qadd_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qadd_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qadd_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qadd_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qadd_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qadd_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qadd_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qadd_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qdmlalb_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qdmlalb_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qdmlalb_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qdmlalbt_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qdmlalbt_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qdmlalbt_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsub_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsub_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsub_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsub_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsub_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsub_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsub_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsub_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsubr_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsubr_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsubr_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsubr_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsubr_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsubr_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsubr_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qsubr_u8.c: Likewise. + +2023-05-09 Richard Sandiford + + * gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Use + sve2_flags instead of sve_flags. + +2023-05-09 Gaius Mulley + + PR modula2/109779 + * gm2/isolib/run/pass/skiplinetest.mod: New test. + +2023-05-09 Jakub Jelinek + + PR c++/109756 + * g++.dg/cpp23/attr-assume11.C: New test. + +2023-05-09 Jakub Jelinek + + PR tree-optimization/109778 + * gcc.dg/lto/pr109778_0.c: New test. + * gcc.dg/lto/pr109778_1.c: New file. + +2023-05-09 Jakub Jelinek + + PR tree-optimization/109778 + * gcc.c-torture/execute/pr109778.c: New test. + +2023-05-09 Richard Sandiford + + * gcc.target/aarch64/asimd-mul-to-shl-sub.c: Allow any register + allocation for temporary results, rather than requiring specific + registers. + * gcc.target/aarch64/auto-init-padding-1.c: Likewise. + * gcc.target/aarch64/auto-init-padding-2.c: Likewise. + * gcc.target/aarch64/auto-init-padding-3.c: Likewise. + * gcc.target/aarch64/auto-init-padding-4.c: Likewise. + * gcc.target/aarch64/auto-init-padding-9.c: Likewise. + * gcc.target/aarch64/memset-corner-cases.c: Likewise. + * gcc.target/aarch64/memset-q-reg.c: Likewise. + * gcc.target/aarch64/simd/vaddlv_1.c: Likewise. + * gcc.target/aarch64/sve-neon-modes_1.c: Likewise. + * gcc.target/aarch64/sve-neon-modes_3.c: Likewise. + * gcc.target/aarch64/sve/load_scalar_offset_1.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/pr89007-1.c: Likewise. + * gcc.target/aarch64/sve/pr89007-2.c: Likewise. + * gcc.target/aarch64/sve/store_scalar_offset_1.c: Likewise. + * gcc.target/aarch64/vadd_reduc-1.c: Likewise. + * gcc.target/aarch64/vadd_reduc-2.c: Likewise. + * gcc.target/aarch64/sve/pcs/args_5_be_bf16.c: Allow the temporary + predicate register to be any of p4-p7, rather than requiring p4 + specifically. + * gcc.target/aarch64/sve/pcs/args_5_be_f16.c: Likewise. + * 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_s8.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_u8.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. + +2023-05-09 Richard Sandiford + + * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-6.c: Allow any + FP/vector register, not just register 0-9. + * gcc.target/aarch64/fmul_fcvt_2.c: Likewise. + * gcc.target/aarch64/ldp_stp_8.c: Likewise. + * gcc.target/aarch64/ldp_stp_17.c: Likewise. + * gcc.target/aarch64/ldp_stp_21.c: Likewise. + * gcc.target/aarch64/simd/vpaddd_f64.c: Likewise. + * gcc.target/aarch64/simd/vpaddd_s64.c: Likewise. + * gcc.target/aarch64/simd/vpaddd_u64.c: Likewise. + * gcc.target/aarch64/sve/adr_1.c: Likewise. + * gcc.target/aarch64/sve/adr_2.c: Likewise. + * gcc.target/aarch64/sve/adr_3.c: Likewise. + * gcc.target/aarch64/sve/adr_4.c: Likewise. + * gcc.target/aarch64/sve/adr_5.c: Likewise. + * gcc.target/aarch64/sve/extract_1.c: Likewise. + * gcc.target/aarch64/sve/extract_2.c: Likewise. + * gcc.target/aarch64/sve/extract_3.c: Likewise. + * gcc.target/aarch64/sve/extract_4.c: Likewise. + * gcc.target/aarch64/sve/slp_4.c: Likewise. + * gcc.target/aarch64/sve/spill_3.c: Likewise. + * gcc.target/aarch64/vfp-1.c: Likewise. + * gcc.target/aarch64/asm-x-constraint-1.c: Allow s0-s15, not just + s0-s7. + * gcc.target/aarch64/sve/pcs/return_9.c: Allow z24-z31 as well as + z2-z7. + +2023-05-09 Richard Sandiford + + * g++.target/aarch64/sve/vcond_1.C: Allow any predicate + register for the temporary results, not just p0-p7. + * gcc.target/aarch64/sve/acle/asm/dupq_b8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dupq_b16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dupq_b32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dupq_b64.c: Likewise. + * gcc.target/aarch64/sve/acle/general/whilele_5.c: Likewise. + * gcc.target/aarch64/sve/acle/general/whilele_6.c: Likewise. + * gcc.target/aarch64/sve/acle/general/whilele_7.c: Likewise. + * gcc.target/aarch64/sve/acle/general/whilele_9.c: Likewise. + * gcc.target/aarch64/sve/acle/general/whilele_10.c: Likewise. + * gcc.target/aarch64/sve/acle/general/whilelt_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general/whilelt_2.c: Likewise. + * gcc.target/aarch64/sve/acle/general/whilelt_3.c: Likewise. + * gcc.target/aarch64/sve/pcs/varargs_1.c: Likewise. + * gcc.target/aarch64/sve/peel_ind_2.c: Likewise. + * gcc.target/aarch64/sve/mask_gather_load_6.c: Likewise. + * gcc.target/aarch64/sve/vcond_2.c: Likewise. + * gcc.target/aarch64/sve/vcond_3.c: Likewise. + * gcc.target/aarch64/sve/vcond_7.c: Likewise. + * gcc.target/aarch64/sve/vcond_18.c: Likewise. + * gcc.target/aarch64/sve/vcond_19.c: Likewise. + * gcc.target/aarch64/sve/vcond_20.c: Likewise. + +2023-05-09 Richard Sandiford + + * gcc.target/aarch64/sve/acle/asm/dup_s16.c: When using SEL to select + between two constant vectors, allow the constant moves to appear in + either order. + * gcc.target/aarch64/sve/acle/asm/dup_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_u64.c: Likewise. + +2023-05-09 Richard Sandiford + + * gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c: Allow + moves to occur after the intrinsic instruction, rather than requiring + them to happen before. + * gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/adda_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/adda_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/adda_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/brka_b.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/brkb_b.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/brkn_b.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/clasta_bf16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/clasta_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/clasta_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/clasta_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/clastb_bf16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/clastb_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/clastb_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/clastb_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/pfirst_b.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/pnext_b16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/pnext_b32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/pnext_b64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/pnext_b8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sli_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sli_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sli_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sli_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sli_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sli_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sli_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sli_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sri_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sri_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sri_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sri_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sri_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sri_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sri_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sri_u8.c: Likewise. + +2023-05-09 Richard Sandiford + + * gcc.target/aarch64/sve2/acle/asm/aesd_u8.c: Fix expected register + allocation in the case where a move occurs after the intrinsic + instruction. + * gcc.target/aarch64/sve2/acle/asm/aese_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/aesimc_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/aesmc_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sm4e_u32.c: Likewise. + +2023-05-09 Richard Sandiford + + * gcc.target/aarch64/sve/acle/asm/asr_wide_s16.c: Remove XFAILs. + * gcc.target/aarch64/sve/acle/asm/asr_wide_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/asr_wide_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_wide_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_wide_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_wide_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_wide_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_wide_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsl_wide_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsr_wide_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsr_wide_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lsr_wide_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/scale_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/scale_f64.c: Likewise. + +2023-05-09 Jason Merrill + + PR c++/106740 + * g++.dg/template/friend78.C: New test. + +2023-05-08 Roger Sayle + Uros Bizjak + + * gcc.target/i386/insvti_highpart-1.c: New test case. + +2023-05-08 Andrew Pinski + + PR testsuite/109776 + * gcc.dg/pr81192.c: Fix integer constants for int16 targets. + +2023-05-08 Kito Cheng + + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-1.h: Change + stdint.h to stdint-gcc.h. + * gcc.target/riscv/rvv/autovec/template-1.h: Ditto. + * gcc.target/riscv/rvv/autovec/riscv_vector.h: New. + +2023-05-08 Thomas Schwinge + + * g++.dg/guality/guality.exp: Move 'torture-init' earlier. + * gcc.dg/guality/guality.exp: Likewise. + * gfortran.dg/guality/guality.exp: Likewise. + * lib/c-torture.exp (LTO_TORTURE_OPTIONS): Don't set. + * lib/gcc-dg.exp (LTO_TORTURE_OPTIONS): Don't set. + * lib/lto.exp (lto_init, lto_finish): Let each 'lto_init' + determine the default 'LTO_OPTIONS'. + * lib/torture-options.exp (torture-init, torture-finish): Let each + 'torture-init' determine the 'LTO_TORTURE_OPTIONS'. + +2023-05-08 Patrick Palka + + PR c++/106214 + PR c++/93107 + * g++.dg/cpp1z/class-deduction114.C: New test. + +2023-05-08 Andrew Pinski + + * gcc.dg/tree-ssa/abs-2.c: Update tree scan for + details change in wording. + * gcc.dg/tree-ssa/minmax-17.c: Likewise. + * gcc.dg/tree-ssa/pr103771.c: Likewise. + * gcc.dg/tree-ssa/minmax-18.c: New test. + * gcc.dg/tree-ssa/minmax-19.c: New test. + +2023-05-08 Andrew Pinski + + * gcc.dg/tree-ssa/minmax-17.c: New test. + +2023-05-08 Andrew Pinski + + PR tree-optimization/49959 + PR tree-optimization/103771 + * c-c++-common/torture/harden-cond-comp.c: Change testcase + slightly to avoid the new phiopt optimization. + * gcc.dg/tree-ssa/abs-2.c: New test. + * gcc.dg/tree-ssa/pr103771.c: New test. + +2023-05-08 Juzhe-Zhong + + * gcc.target/riscv/rvv/autovec/fixed-vlmax-1.c: Fix typo. + +2023-05-08 Andrew Pinski + + * gcc.dg/tree-ssa/evrp7.c: Update for output change. + * gcc.dg/tree-ssa/evrp8.c: Likewise. + * gcc.dg/tree-ssa/vrp35.c: Likewise. + * gcc.dg/tree-ssa/vrp36.c: Likewise. + * gcc.dg/tree-ssa/pr98737-1.c: Update scan-tree-dump-not + to check for assignment too instead of just a call. + * c-c++-common/goacc/kernels-alias-8.c: Update test + for removal of load. + * gcc.dg/pr81192.c: Rewrite testcase in gimple based test. + +2023-05-08 Jerry DeLisle + + PR fortran/109662 + * gfortran.dg/pr109662-a.f90: New test. + +2023-05-07 Patrick Palka + + PR c++/85979 + * g++.dg/diagnostic/alignof4.C: New test. + +2023-05-07 Patrick Palka + + DR 2256 + PR c++/103091 + * g++.old-deja/g++.other/init9.C: Don't expect diagnostics for + goto made valid by DR 2256. + * g++.dg/init/goto4.C: New test. + +2023-05-07 Patrick Palka + + * g++.dg/cpp2a/concepts-alias6.C: New test. + +2023-05-07 Patrick Palka + + PR c++/98283 + * g++.dg/cpp1y/paren6.C: New test. + +2023-05-07 Patrick Palka + + PR c++/109651 + * g++.dg/cpp2a/lambda-generic-ttp1.C: New test. + * g++.dg/cpp2a/lambda-generic-ttp2.C: New test. + +2023-05-07 Patrick Palka + + PR c++/109480 + * g++.dg/template/non-dependent25a.C: New test. + +2023-05-07 Patrick Palka + + PR c++/109480 + * g++.dg/cpp0x/noexcept59.C: Make e() constexpr so that the + expected "without object" diagnostic isn't replaced by a + "call to non-constexpr function" diagnostic. + * g++.dg/template/non-dependent25.C: New test. + +2023-05-07 Jiufu Guo + + * gcc.target/powerpc/parall_5insn_const.c: New test. + +2023-05-07 Roger Sayle + + PR target/43644 + * gcc.target/i386/pr43644.c: New test case. + +2023-05-06 Xi Ruoyao + + * gcc.target/loongarch/shrink-wrap.c: New test. + +2023-05-06 Juzhe-Zhong + + * gcc.target/riscv/rvv/rvv.exp: Add testcases for RVV auto-vectorization. + * gcc.target/riscv/rvv/autovec/fixed-vlmax-1.c: New test. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-1.c: New test. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-1.h: New test. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-1.c: New test. + * gcc.target/riscv/rvv/autovec/scalable-1.c: New test. + * gcc.target/riscv/rvv/autovec/template-1.h: New test. + * gcc.target/riscv/rvv/autovec/v-1.c: New test. + * gcc.target/riscv/rvv/autovec/v-2.c: New test. + * gcc.target/riscv/rvv/autovec/zve32f-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32f-2.c: New test. + * gcc.target/riscv/rvv/autovec/zve32f-3.c: New test. + * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-2.c: New test. + * gcc.target/riscv/rvv/autovec/zve32x-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32x-2.c: New test. + * gcc.target/riscv/rvv/autovec/zve32x-3.c: New test. + * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-2.c: New test. + * gcc.target/riscv/rvv/autovec/zve64d-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64d-2.c: New test. + * gcc.target/riscv/rvv/autovec/zve64d-3.c: New test. + * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-2.c: New test. + * gcc.target/riscv/rvv/autovec/zve64f-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64f-2.c: New test. + * gcc.target/riscv/rvv/autovec/zve64f-3.c: New test. + * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-2.c: New test. + * gcc.target/riscv/rvv/autovec/zve64x-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64x-2.c: New test. + * gcc.target/riscv/rvv/autovec/zve64x-3.c: New test. + * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-1.c: New test. + * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-2.c: New test. + +2023-05-06 Jerry DeLisle + + PR fortran/109662 + * gfortran.dg/pr109662.f90: New test. + +2023-05-06 Jakub Jelinek + + * gcc.dg/tree-ssa/range-sincos-2.c: New test. + +2023-05-06 Juzhe-Zhong + + PR target/109748 + * gcc.target/riscv/rvv/vsetvl/pr109748.c: New test. + +2023-05-06 Jakub Jelinek + + * gcc.dg/tree-ssa/range-sqrt-2.c: New test. + +2023-05-06 Hans-Peter Nilsson + + * gcc.target/cris/peep2-addsplit1.c: New test. + +2023-05-05 Hans-Peter Nilsson + + * gcc.target/cris/peep2-movandsplit1.c: New test. + +2023-05-05 Hans-Peter Nilsson + + * gcc.target/cris/peep2-lsrandsplit1.c, + gcc.target/cris/peep2-movulsr2.c: New tests. + +2023-05-05 Harald Anlauf + + PR fortran/109641 + * gfortran.dg/overload_5.f90: New test. + +2023-05-05 Pan Li + Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/zero_base_load_store_optimization.c: + Adjust indexed load/store check condition. + +2023-05-05 Pan Li + + * gcc.target/riscv/rvv/base/integer_compare_insn_shortcut.c: + Adjust test check condition. + +2023-05-05 Juzhe-Zhong + + PR target/109615 + * gcc.target/riscv/rvv/vsetvl/avl_single-74.c: Adapt testcase. + * gcc.target/riscv/rvv/vsetvl/vsetvl-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/pr109615.c: New test. + +2023-05-05 Uros Bizjak + + * gcc.target/i386/sse2-mmx-mult-vec.c: New test. + +2023-05-05 Andrew Pinski + + PR tree-optimization/109732 + * gcc.dg/pr109732.c: New test. + * gcc.dg/pr109732-1.c: New test. + +2023-05-05 Andrew Pinski + + PR tree-optimization/109722 + * gcc.dg/tree-ssa/abs-1.c: New test. + +2023-05-04 Gaius Mulley + + PR modula2/109729 + * gm2/pim/run/pass/ForChar.mod: New test. + +2023-05-04 Kyrylo Tkachov + + * gcc.target/aarch64/simd/pr99195_4.c: New test. + +2023-05-04 Julian Brown + + PR fortran/109622 + * gfortran.dg/goacc/pr109622-5.f90: New test. + * gfortran.dg/goacc/pr109622-6.f90: New test. + +2023-05-04 Andrew Pinski + + * gcc.dg/tree-ssa/minmax-15.c: Update test. + * gcc.dg/tree-ssa/minmax-16.c: Update test. + * gcc.dg/tree-ssa/minmax-3.c: Update test. + * gcc.dg/tree-ssa/minmax-4.c: Update test. + * gcc.dg/tree-ssa/minmax-5.c: Update test. + * gcc.dg/tree-ssa/minmax-8.c: Update test. + +2023-05-04 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_3.c: New test. + +2023-05-04 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_1.c: Add testing for more binary ops. + * gcc.target/aarch64/simd/pr99195_2.c: Add testing for more binary ops. + +2023-05-04 Richard Biener + + PR tree-optimization/109724 + * g++.dg/torture/pr109724.C: New testcase. + +2023-05-04 Jakub Jelinek + + PR debug/109676 + * g++.target/i386/pr109676.C: New test. + +2023-05-04 Hans-Peter Nilsson + + * gcc.target/cris/peep2-andsplit1.c: New test. + * gcc.target/cris/peep2-andu1.c, gcc.target/cris/peep2-andu2.c, + gcc.target/cris/peep2-xsrand.c, gcc.target/cris/peep2-xsrand2.c: + Adjust values to avoid interference with "opsplit1" with AND. Add + whitespace to match-strings that may be confused with identifiers + or file names. + +2023-05-03 Jason Merrill + + PR c++/91618 + PR c++/109649 + * g++.dg/template/friend77.C: New test. + +2023-05-03 Aldy Hernandez + + PR tree-optimization/109711 + * gcc.dg/tree-ssa/pr109711-1.c: New file. + * gcc.dg/tree-ssa/pr109711-2.c: New file. + +2023-05-03 Alexander Monakov + + PR sanitizer/90746 + * gcc.dg/sancov/basic0.c: Verify absence of tailcall. + +2023-05-03 Richard Sandiford + + * g++.target/aarch64/pr109661-1.C: New test. + * g++.target/aarch64/pr109661-2.C: Likewise. + * g++.target/aarch64/pr109661-3.C: Likewise. + * g++.target/aarch64/pr109661-4.C: Likewise. + * gcc.target/aarch64/pr109661-1.c: Likewise. + +2023-05-03 Murray Steele + Christophe Lyon + + * g++.target/arm/mve.exp: Add general-c++ and general directories. + * g++.target/arm/mve/general-c++/nomve_fp_1.c: New test. + * g++.target/arm/mve/general-c++/vreinterpretq_1.C: New test. + * gcc.target/arm/mve/general-c/nomve_fp_1.c: New test. + * gcc.target/arm/mve/general-c/vreinterpretq_1.c: New test. + +2023-05-03 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/abi-10.c: New test. + * gcc.target/riscv/rvv/base/abi-11.c: New test. + * gcc.target/riscv/rvv/base/abi-12.c: New test. + * gcc.target/riscv/rvv/base/abi-13.c: New test. + * gcc.target/riscv/rvv/base/abi-14.c: New test. + * gcc.target/riscv/rvv/base/abi-15.c: New test. + * gcc.target/riscv/rvv/base/abi-16.c: New test. + * gcc.target/riscv/rvv/base/abi-8.c: New test. + * gcc.target/riscv/rvv/base/abi-9.c: New test. + * gcc.target/riscv/rvv/base/tuple-1.c: New test. + * gcc.target/riscv/rvv/base/tuple-10.c: New test. + * gcc.target/riscv/rvv/base/tuple-11.c: New test. + * gcc.target/riscv/rvv/base/tuple-12.c: New test. + * gcc.target/riscv/rvv/base/tuple-13.c: New test. + * gcc.target/riscv/rvv/base/tuple-14.c: New test. + * gcc.target/riscv/rvv/base/tuple-15.c: New test. + * gcc.target/riscv/rvv/base/tuple-16.c: New test. + * gcc.target/riscv/rvv/base/tuple-17.c: New test. + * gcc.target/riscv/rvv/base/tuple-18.c: New test. + * gcc.target/riscv/rvv/base/tuple-19.c: New test. + * gcc.target/riscv/rvv/base/tuple-2.c: New test. + * gcc.target/riscv/rvv/base/tuple-20.c: New test. + * gcc.target/riscv/rvv/base/tuple-21.c: New test. + * gcc.target/riscv/rvv/base/tuple-22.c: New test. + * gcc.target/riscv/rvv/base/tuple-23.c: New test. + * gcc.target/riscv/rvv/base/tuple-24.c: New test. + * gcc.target/riscv/rvv/base/tuple-25.c: New test. + * gcc.target/riscv/rvv/base/tuple-26.c: New test. + * gcc.target/riscv/rvv/base/tuple-27.c: New test. + * gcc.target/riscv/rvv/base/tuple-3.c: New test. + * gcc.target/riscv/rvv/base/tuple-4.c: New test. + * gcc.target/riscv/rvv/base/tuple-5.c: New test. + * gcc.target/riscv/rvv/base/tuple-6.c: New test. + * gcc.target/riscv/rvv/base/tuple-7.c: New test. + * gcc.target/riscv/rvv/base/tuple-8.c: New test. + * gcc.target/riscv/rvv/base/tuple-9.c: New test. + * gcc.target/riscv/rvv/base/user-10.c: New test. + * gcc.target/riscv/rvv/base/user-11.c: New test. + * gcc.target/riscv/rvv/base/user-12.c: New test. + * gcc.target/riscv/rvv/base/user-13.c: New test. + * gcc.target/riscv/rvv/base/user-14.c: New test. + * gcc.target/riscv/rvv/base/user-15.c: New test. + * gcc.target/riscv/rvv/base/user-7.c: New test. + * gcc.target/riscv/rvv/base/user-8.c: New test. + * gcc.target/riscv/rvv/base/user-9.c: New test. + +2023-05-03 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_1.c: Add tests for halving and rounding + add/sub intrinsics. + +2023-05-03 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_1.c: Add testing for some unary + and binary floating-point ops. + * gcc.target/aarch64/simd/pr99195_2.c: New test. + +2023-05-03 Jason Merrill + + * g++.dg/template/nontype12.C: Check for duplicate error. + +2023-05-02 Andrew Pinski + + PR tree-optimization/109702 + * gcc.dg/tree-ssa/phi-opt-25b.c: New test. + +2023-05-02 Andrew Pinski + + PR target/109657 + * gcc.target/aarch64/csinv-2.c: New test. + +2023-05-02 Jason Merrill + + PR c++/109678 + * g++.dg/cpp1z/variant1.C: New test. + +2023-05-02 Patrick O'Neill + + * gcc.target/riscv/amo-table-a-6-amo-add-1.c: New test. + * gcc.target/riscv/amo-table-a-6-amo-add-2.c: New test. + * gcc.target/riscv/amo-table-a-6-amo-add-3.c: New test. + * gcc.target/riscv/amo-table-a-6-amo-add-4.c: New test. + * gcc.target/riscv/amo-table-a-6-amo-add-5.c: New test. + * gcc.target/riscv/amo-table-a-6-compare-exchange-1.c: New test. + * gcc.target/riscv/amo-table-a-6-compare-exchange-2.c: New test. + * gcc.target/riscv/amo-table-a-6-compare-exchange-3.c: New test. + * gcc.target/riscv/amo-table-a-6-compare-exchange-4.c: New test. + * gcc.target/riscv/amo-table-a-6-compare-exchange-5.c: New test. + * gcc.target/riscv/amo-table-a-6-compare-exchange-6.c: New test. + * gcc.target/riscv/amo-table-a-6-compare-exchange-7.c: New test. + * gcc.target/riscv/amo-table-a-6-fence-1.c: New test. + * gcc.target/riscv/amo-table-a-6-fence-2.c: New test. + * gcc.target/riscv/amo-table-a-6-fence-3.c: New test. + * gcc.target/riscv/amo-table-a-6-fence-4.c: New test. + * gcc.target/riscv/amo-table-a-6-fence-5.c: New test. + * gcc.target/riscv/amo-table-a-6-load-1.c: New test. + * gcc.target/riscv/amo-table-a-6-load-2.c: New test. + * gcc.target/riscv/amo-table-a-6-load-3.c: New test. + * gcc.target/riscv/amo-table-a-6-store-1.c: New test. + * gcc.target/riscv/amo-table-a-6-store-2.c: New test. + * gcc.target/riscv/amo-table-a-6-store-compat-3.c: New test. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-1.c: New test. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-2.c: New test. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-3.c: New test. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-4.c: New test. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-5.c: New test. + +2023-05-02 Patrick O'Neill + + PR target/89835 + * gcc.target/riscv/pr89835.c: New test. + +2023-05-02 Yanzhang Wang + Pan Li + + PR target/109617 + * gcc.target/riscv/rvv/base/vlmul_ext-1.c: New test. + +2023-05-02 Patrick Palka + + PR c++/109506 + * g++.dg/cpp0x/nsdmi-template26.C: New test. + +2023-05-02 Richard Biener + + * gcc.target/i386/pr88531-2a.c: Skip scanning for ia32. + * gcc.target/i386/pr88531-2b.c: Likewise. + * gcc.target/i386/pr88531-2c.c: Likewise. + * gcc.target/i386/pr89618-2.c: Likewise. Disable AVX512. + +2023-05-01 Jason Merrill + + PR c++/109666 + * g++.dg/cpp0x/nsdmi-array2.C: New test. + +2023-04-30 Jeff Law + + Revert: + 2023-04-30 Longjun Luo + + * gcc.dg/builtin-redefine.c: Test for redefintion warnings + for __LINE__. + * gcc.dg/builtin-redefine-1.c: New test. + +2023-04-30 Roger Sayle + + * gcc.target/xstormy16/neghi2.c: Update expected implementation. + +2023-04-30 Andrew Pinski + + * gcc.dg/init-bad-1.c: Update error message. + * gcc.dg/init-bad-2.c: Likewise. + * gcc.dg/init-bad-3.c: Likewise. + * gcc.dg/init-excess-3.c: Likewise. + * gcc.dg/pr61096-1.c: Likewise. + +2023-04-30 Andrew Pinski + + PR c/107926 + * gcc.dg/init-excess-3.c: New test. + +2023-04-30 Martin Liska + + * c-c++-common/hwasan/asan-pr70541.c: Adjust wording of expected + output. + * c-c++-common/hwasan/heap-overflow.c: Likewise. + * c-c++-common/hwasan/sanity-check-pure-c.c: Likewise. + * c-c++-common/hwasan/use-after-free.c: Likewise. + +2023-04-30 Longjun Luo + + * gcc.dg/builtin-redefine.c: Test for redefintion warnings + for __LINE__. + * gcc.dg/builtin-redefine-1.c: New test. + +2023-04-30 Gaius Mulley + + * gm2/pim/run/pass/constlitbase.mod: New test. + +2023-04-29 Roger Sayle + + * gcc.target/xstormy16/neghi2.c: New test case. + * gcc.target/xstormy16/rotatehi-1.c: Likewise. + +2023-04-29 Roger Sayle + + * gcc.target/xstormy16/swpn-1.c: New QImode test case. + * gcc.target/xstormy16/swpn-2.c: New zero_extend test case. + * gcc.target/xstormy16/swpn-3.c: New sign_extend test case. + * gcc.target/xstormy16/swpn-4.c: New HImode test case. + +2023-04-29 Jeff Law + + * gcc.target/mips/mips-ps-type-2.c: Adjust branch cost to + encourage if-conversion. Skip for -Os. + * gcc.target/mips/movcc-3.c: Similarly. + +2023-04-29 Fei Gao + + * gcc.target/riscv/rv32e_stack.c: New test. + +2023-04-28 Hans-Peter Nilsson + + * lib/scanasm.exp (parse_function_bodies): Set fluff to include + empty lines (besides optionally leading whitespace). + +2023-04-28 Matevos Mehrabyan + + * gcc.target/riscv/divmod-1.c: New testcase. + * gcc.target/riscv/divmod-2.c: New testcase. + +2023-04-28 Karen Sargsyan + + * gcc.target/riscv/zbc32.c: New test. + * gcc.target/riscv/zbc64.c: New test. + +2023-04-28 Jivan Hakobyan + + * gcc.target/riscv/zbb-min-max-02.c: Updated scanning check. + * gcc.target/riscv/zbb-min-max-03.c: New tests. + +2023-04-28 Andrew Pinski + + * gcc.dg/tree-ssa/minmax-16.c: Update testcase slightly. + * gcc.dg/tree-ssa/split-path-1.c: Also disable tree-loop-if-convert + as that now does the combining. + +2023-04-28 Roger Sayle + + PR rtl-optimization/109476 + * gcc.target/avr/mmcu/pr109476.c: New test case. + +2023-04-28 Richard Biener + + * gcc.dg/vect/pr25413a.c: Un-XFAIL everywhere. + * gcc.dg/vect/vect-71.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s4113.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s491.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-vas.c: Likewise. + +2023-04-28 Richard Biener + + * gcc.target/i386/pr89618-2.c: New testcase. + * gcc.target/i386/pr88531-2b.c: Adjust. + * gcc.target/i386/pr88531-2c.c: Likewise. + +2023-04-28 Pan Li + kito-cheng + + * gcc.target/riscv/rvv/base/integer_compare_insn_shortcut.c: New test. + +2023-04-28 Richard Biener + + PR ipa/109652 + * gcc.dg/torture/pr109652.c: New testcase. + +2023-04-28 Julian Brown + + PR fortran/109622 + * gfortran.dg/goacc/attach-descriptor.f90: Adjust expected output. + +2023-04-28 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_1.c: Add tests for unary integer ops. + +2023-04-28 Jakub Jelinek + + * gcc.dg/tree-ssa/range-sqrt.c: New test. + * gfortran.dg/ieee/ieee_6.f90: Make x volatile to avoid + ranger optimizing sqrt (-1) call away because it is only used in + test for whether it returns NaN. + +2023-04-28 Aldy Hernandez + Jakub Jelinek + + * gcc.dg/tree-ssa/range-sincos.c: New test. + +2023-04-28 Jan Beulich + + * g++.dg/modules/alias-1_b.C: Add -fno-canonical-system-headers. + * g++.dg/modules/alias-1_d.C: Likewise. + * g++.dg/modules/alias-1_e.C: Likewise. + * g++.dg/modules/alias-1_f.C: Likewise. + * g++.dg/modules/cpp-6_c.C: Likewise. + * g++.dg/modules/dir-only-2_b.C: Likewise. + +2023-04-28 Jan Beulich + + * g++.dg/modules/bad-mapper-3.C: Relax failure pattern. + +2023-04-28 Alexandre Oliva + + * c-c++-common/torture/harden-cond-comp.c: New. + +2023-04-27 Jason Merrill + + * g++.dg/template/copy1.C: Adjust error lines. + +2023-04-27 Pan Li + + * gcc.target/riscv/read-thread-pointer.c: Add required tls. + +2023-04-27 Aldy Hernandez + + PR tree-optimization/109639 + * gcc.dg/tree-ssa/pr109639.c: New file. + * gcc.dg/tree-ssa/pr109643.c: New file. + +2023-04-27 Richard Biener + + PR ipa/109607 + * g++.dg/torture/pr109607.C: New testcase. + +2023-04-27 Jakub Jelinek + + PR c/109409 + * gcc.dg/pr109409.c: New test. + +2023-04-27 Jakub Jelinek + + PR c/107682 + PR c/109412 + * gcc.dg/pr109412.c: New test. + +2023-04-27 Jan Beulich + + * c-c++-common/patchable_function_entry-decl.c: Special-case + RISC-V. + * c-c++-common/patchable_function_entry-default.c: Likewise. + * c-c++-common/patchable_function_entry-definition.c: Likewise. + +2023-04-26 Jason Merrill + + PR c++/69836 + * g++.dg/template/friend76.C: New test. + +2023-04-26 Patrick O'Neill + + PR target/104338 + * gcc.target/riscv/inline-atomics-1.c: New test. + * gcc.target/riscv/inline-atomics-2.c: New test. + * gcc.target/riscv/inline-atomics-3.c: New test. + * gcc.target/riscv/inline-atomics-4.c: New test. + * gcc.target/riscv/inline-atomics-5.c: New test. + * gcc.target/riscv/inline-atomics-6.c: New test. + * gcc.target/riscv/inline-atomics-7.c: New test. + * gcc.target/riscv/inline-atomics-8.c: New test. + +2023-04-26 Pan Li + Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/zero_base_load_store_optimization.c: New test. + +2023-04-26 Roger Sayle + + * gcc.target/xstormy16/bswap16.c: New test case. + * gcc.target/xstormy16/bswap32.c: Likewise. + * gcc.target/xstormy16/swpb.c: Likewise. + * gcc.target/xstormy16/swpw-1.c: Likewise. + * gcc.target/xstormy16/swpw-2.c: Likewise. + +2023-04-26 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/narrow_constraint-13.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-14.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-15.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-16.c: New test. + +2023-04-26 Kewen Lin + + PR target/109069 + * gcc.target/powerpc/pr109069-1.c: New test. + * gcc.target/powerpc/pr109069-2-run.c: New test. + * gcc.target/powerpc/pr109069-2.c: New test. + * gcc.target/powerpc/pr109069-2.h: New test. + +2023-04-26 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/binop_vv_constraint-4.c: Adapt testcase. + * gcc.target/riscv/rvv/base/narrow_constraint-17.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-18.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-19.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-20.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-21.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-22.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-23.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-24.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-25.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-26.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-27.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-28.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-29.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-30.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-31.c: New test. + +2023-04-26 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/binop_vx_constraint-150.c: Adapt assembly + check. + +2023-04-26 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/narrow_constraint-12.c: New test. + +2023-04-26 Pan Li + + PR target/109272 + * gcc.target/riscv/rvv/base/pr108185-4.c: Update test check + condition. + * gcc.target/riscv/rvv/base/pr108185-5.c: Likewise. + * gcc.target/riscv/rvv/base/pr108185-6.c: Likewise. + +2023-04-26 Jivan Hakobyan + + * gcc.target/riscv/zbs-bclri-nottwobits.c: New test. + +2023-04-26 Gaius Mulley + + PR modula2/108121 + * gm2/pim/fail/largeconst.mod: Increased constant value test + to fail now that cc1gm2 uses widest_int to represent a ZTYPE. + * gm2/pim/fail/largeconst2.mod: New test. + +2023-04-25 Patrick Palka + + PR c++/108975 + * g++.dg/cpp0x/lambda/lambda-const11a.C: New test. + +2023-04-25 Richard Biener + + PR tree-optimization/109609 + * gcc.dg/torture/pr109609.c: New testcase. + +2023-04-25 Tobias Burnus + + * g++.dg/gomp/attrs-7.C: Update dg-error/dg-warning. + * gfortran.dg/gomp/loop-2.f90: Likewise. + * gfortran.dg/gomp/reduction5.f90: Likewise. + * gfortran.dg/gomp/reduction6.f90: Likewise. + * gfortran.dg/gomp/scan-1.f90: Likewise. + * gfortran.dg/gomp/taskloop-2.f90: Likewise. + * c-c++-common/gomp/scan-6.c: New test. + * gfortran.dg/gomp/scan-8.f90: New test. + +2023-04-25 Jakub Jelinek + + * g++.dg/cpp23/ext-floating2.C: Add dg-add-options for + float16, float32, float64 and float128. + +2023-04-25 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_1.c: Add tests for orn, bic, max and min. + +2023-04-25 Kyrylo Tkachov + + * gcc.target/aarch64/sve-neon-modes_3.c: New test. + +2023-04-25 Jakub Jelinek + + PR c++/109278 + * g++.dg/cpp23/ext-floating15.C: Add dg-add-options float128. + +2023-04-25 Richard Biener + + PR rtl-optimization/109585 + * gcc.dg/torture/pr109585.c: New testcase. + +2023-04-25 Jakub Jelinek + + PR target/109566 + * gcc.target/powerpc/pr109566.c: New test. + +2023-04-25 Martin Liska + + * g++.dg/gcov/gcov-17.C: Add call to a noreturn function. + * g++.dg/gcov/test-gcov-17.py: Cover new format. + * lib/gcov.exp: Add options for gcov that emit the extra info. + +2023-04-25 Victor Do Nascimento + + * gcc.target/aarch64/stp_vec_dup_32_64-1.c: New. + +2023-04-25 Sam James + + PR tree-optimization/105312 + PR target/105573 + * gcc.target/sparc/pr105573.c: New test. + +2023-04-25 Andrew Pinski + + * gcc.dg/tree-ssa/phi-opt-25a.c: New test. + +2023-04-24 Prathamesh Kulkarni + + * gcc.target/aarch64/sve/acle/general/rev-1.c: New test. + +2023-04-24 Andrew Pinski + + * gcc.dg/tree-ssa/phi-opt-23.c: Update testcase. + * gcc.dg/tree-ssa/phi-opt-24.c: Likewise. + +2023-04-24 Andrew Pinski + + * gcc.dg/tree-ssa/ssa-ifcombine-13.c: Add -fno-ssa-phiopt. + +2023-04-24 Andrew Pinski + + PR tree-optimization/109604 + * gcc.c-torture/compile/pr109604-1.c: New test. + * gcc.c-torture/compile/pr109604-2.c: New test. + +2023-04-24 Kyrylo Tkachov + + * gcc.target/aarch64/sve-neon-modes_1.c: New test. + * gcc.target/aarch64/sve-neon-modes_2.c: New test. + +2023-04-24 Kyrylo Tkachov + + PR target/109406 + * gcc.target/aarch64/sve2/div-by-bitmask_1.c: Adjust for unpredicated SVE2 + MUL. + * gcc.target/aarch64/sve2/unpred_mul_1.c: New test. + +2023-04-24 Kyrylo Tkachov + + * gcc.target/aarch64/simd/vabal_combine.c: New test. + +2023-04-24 Kyrylo Tkachov + + * gcc.target/aarch64/simd/addlv_zext.c: New test. + +2023-04-24 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/avl_single-102.c: New test. + +2023-04-24 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/ffload-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/ffload-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/ffload-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/ffload-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/ffload-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/ffload-7.c: New test. + +2023-04-24 liuhongt + + PR tree-optimization/109011 + * gcc.target/i386/pr109011-b1.c: New test. + * gcc.target/i386/pr109011-b2.c: New test. + * gcc.target/i386/pr109011-d1.c: New test. + * gcc.target/i386/pr109011-d2.c: New test. + * gcc.target/i386/pr109011-q1.c: New test. + * gcc.target/i386/pr109011-q2.c: New test. + * gcc.target/i386/pr109011-w1.c: New test. + * gcc.target/i386/pr109011-w2.c: New test. + * gcc.target/i386/pr109011-dq1.c: New file. + * gcc.target/i386/pr109011-dq2.c: New file. + +2023-04-23 Gaius Mulley + + * lib/gm2.exp (gm2_target_compile_default): Conditionally + append -lnsl -lsocket to ldflags. + +2023-04-23 Kyrylo Tkachov + + * gcc.target/aarch64/float_truncate_zero.c: New test. + +2023-04-23 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_1.c: Add testing for vpadd intrinsics. + +2023-04-23 Roger Sayle + + * gcc.target/xstormy16/mulhi.c: New test case. + +2023-04-23 Roger Sayle + + * gcc.target/xstormy16/extendhisi2.c: New test case. + * gcc.target/xstormy16/zextendhisi2.c: Likewise. + +2023-04-23 Roger Sayle + + * gcc.target/xstormy16/shiftsi.c: New test case. + +2023-04-23 liuhongt + + * gcc.target/i386/avx2-dest-false-dep-for-glc.c: Rewrite + testcase to make the codegen more stable. + * gcc.target/i386/avx512dq-dest-false-dep-for-glc.c: Ditto + * gcc.target/i386/avx512f-dest-false-dep-for-glc.c: Ditto. + * gcc.target/i386/avx512fp16-dest-false-dep-for-glc.c: Ditto. + * gcc.target/i386/avx512vl-dest-false-dep-for-glc.c: Ditto. + +2023-04-23 liuhongt + + * gcc.target/i386/pr108707.c: New test. + +2023-04-22 Andrew Pinski + + * gcc.dg/tree-ssa/phi-opt-5.c: Remvoe some xfail. + +2023-04-22 Roger Sayle + + PR target/54816 + * gcc.target/avr/pr54816.c: Move to... + * gcc.target/avr/mmcu/pr54816.c: ... here. + +2023-04-22 Harald Anlauf + Steven G. Kargl + + PR fortran/109500 + * gfortran.dg/allocatable_function_11.f90: New test. + +2023-04-22 Jakub Jelinek + + PR testsuite/109572 + * gcc.dg/vect/pr109011-1.c: In scan-tree-dump-times regexps match also + vect prefix to make sure we only count vectorized calls. + * gcc.dg/vect/pr109011-2.c: Likewise. On powerpc* expect just count 3 + rather than 4. + * gcc.dg/vect/pr109011-3.c: In scan-tree-dump-times regexps match also + vect prefix to make sure we only count vectorized calls. + * gcc.dg/vect/pr109011-4.c: Likewise. On powerpc* expect just count 3 + rather than 4. + (foo): Add 2 further arithmetic ops to the loop to make it appear + worthwhile for vectorization heuristics on powerpc. + * gcc.dg/vect/pr109011-5.c: In scan-tree-dump-times regexps match also + vect prefix to make sure we only count vectorized calls. + (foo): Add 2 further arithmetic ops to the loop to make it appear + worthwhile for vectorization heuristics on powerpc. + +2023-04-22 Jeff Law + + * gcc.target/rx/movsicc.c: Broken down into ... + * gcc.target/rx/movsicc-1.c: Here. + * gcc.target/rx/movsicc-2.c: Here. + * gcc.target/rx/movsicc-3.c: Here. xfail one test. + * gcc.target/rx/movsicc-4.c: Here. + * gcc.target/rx/movsicc-5.c: Here. + * gcc.target/rx/movsicc-6.c: Here. + * gcc.target/rx/movsicc-7.c: Here. + * gcc.target/rx/movsicc-8.c: Here. + +2023-04-22 Jakub Jelinek + + PR tree-optimization/109583 + * gcc.dg/pr109583.c: New test. + +2023-04-22 Jan Hubicka + Ondrej Kubanek + + * gcc.dg/tree-ssa/peel1.c: Decrease number of peels by 1. + * gcc.dg/unroll-8.c: Decrease loop iteration estimate. + * gcc.dg/tree-prof/peel-2.c: New test. + +2023-04-21 Andrew MacLeod + + PR tree-optimization/109546 + * gcc.dg/pr109546.c: New. + +2023-04-21 Jason Merrill + + PR c++/108099 + * g++.dg/ext/int128-8.C: Remove xfailed dg-bogus markers. + * g++.dg/ext/unsigned-typedef2.C: New test. + * g++.dg/ext/unsigned-typedef3.C: New test. + +2023-04-21 Jeff Law + + PR testsuite/109549 + * gcc.target/i386/cmov6.c: No longer expect this test to + generate 'cmov' instructions. + +2023-04-21 Kyrylo Tkachov + + * gcc.target/aarch64/sminmax-asr_1.c: New test. + +2023-04-21 Kyrylo Tkachov + + PR target/108779 + * gcc.target/aarch64/mtp.c: New test. + * gcc.target/aarch64/mtp_1.c: New test. + * gcc.target/aarch64/mtp_2.c: New test. + * gcc.target/aarch64/mtp_3.c: New test. + * gcc.target/aarch64/mtp_4.c: New test. + +2023-04-21 Kyrylo Tkachov + + PR target/99195 + * gcc.target/aarch64/simd/pr99195_1.c: New test. + +2023-04-21 Richard Biener + + PR tree-optimization/109573 + * g++.dg/vect/pr109573.cc: New testcase. + +2023-04-21 Juzhe-Zhong + + PR target/108270 + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-1.c: Adapt testcase. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/pr108270.c: New test. + +2023-04-21 Haochen Gui + + PR target/108728 + * gcc.dg/torture/float128-cmp-invalid.c: Add xfail. + +2023-04-21 Haochen Gui + + PR target/108728 + * lib/target-supports.exp (is-effective-target-keyword): Add + ppc_cpu_supports_hw. + +2023-04-21 Juzhe-Zhong + + PR target/109547 + * gcc.target/riscv/rvv/vsetvl/pr109547.c: New. + * gcc.target/riscv/rvv/vsetvl/vsetvl-17.c: Update scan + condition. + +2023-04-20 Andrew MacLeod + + PR tree-optimization/109564 + * gcc.dg/torture/pr109564-1.c: New testcase. + * gcc.dg/torture/pr109564-2.c: Likewise. + * gcc.dg/tree-ssa/evrp-ignore.c: XFAIL. + * gcc.dg/tree-ssa/vrp06.c: Likewise. + +2023-04-20 Jakub Jelinek + + PR c/107041 + * gcc.dg/goacc/pr107041.c: New test. + +2023-04-20 Uros Bizjak + + PR target/78952 + * gcc.target/i386/pr78952-4.c: New test. + +2023-04-20 Juzhe-Zhong + kito-cheng + + * gcc.target/riscv/rvv/base/spill-4.c: Adapt testcase. + * gcc.target/riscv/rvv/base/spill-6.c: Adapt testcase. + * gcc.target/riscv/rvv/base/reg_order-1.c: New test. + +2023-04-20 Kito Cheng + + * gcc.target/riscv/arch-19.c: Add -misa-spec. + +2023-04-20 Ju-Zhe Zhong + kito-cheng + + PR target/109535 + * g++.target/riscv/rvv/base/pr109535.C: New test. + * gcc.target/riscv/rvv/base/pr109535.c: New test. + +2023-04-20 Kito Cheng + + * gcc.target/riscv/simplify_ior_optimization.c: Use stdint-gcc.h + rather than stdint.h + +2023-04-20 Andrew Stubbs + + * lib/target-supports.exp + (check_effective_target_vect_call_copysignf): Add amdgcn. + (check_effective_target_vect_call_sqrtf): Add amdgcn. + (check_effective_target_vect_call_ceilf): Add amdgcn. + (check_effective_target_vect_call_floor): Add amdgcn. + (check_effective_target_vect_logical_reduc): Add amdgcn. + +2023-04-20 Jakub Jelinek + + PR tree-optimization/109011 + * gcc.dg/vect/pr109011-1.c: Remove -mpower9-vector from + dg-additional-options. + (baz, qux): Remove functions and corresponding dg-final. + * gcc.dg/vect/pr109011-2.c: New test. + * gcc.dg/vect/pr109011-3.c: New test. + * gcc.dg/vect/pr109011-4.c: New test. + * gcc.dg/vect/pr109011-5.c: New test. + +2023-04-20 Jakub Jelinek + + PR c++/108099 + PR testsuite/109560 + * g++.dg/ext/int128-8.C: Require int128 effective target. + +2023-04-20 Jiufu Guo + + PR testsuite/106879 + * gcc.dg/vect/bb-slp-layout-19.c: Modify to guard the check with + vect_hw_misalign on POWERs. + +2023-04-20 Haochen Jiang + + * gcc.target/i386/avx512fvl-vaes-1.c: Add VAES xmm test. + * gcc.target/i386/pr109117-1.c: Modify error message. + +2023-04-20 Hu, Lin1 + + * gcc.target/i386/avx512vlbw-reduce-op-1.c: New test. + +2023-04-20 Haochen Jiang + + * gcc.target/i386/vpclmulqdq.c: Add compile test for xmm. + +2023-04-20 Haochen Jiang + + * gcc.target/i386/avx512bw-pr100267-1.c: Remove avx512f and avx512bw. + * gcc.target/i386/avx512bw-pr100267-b-2.c: Ditto. + * gcc.target/i386/avx512bw-pr100267-d-2.c: Ditto. + * gcc.target/i386/avx512bw-pr100267-q-2.c: Ditto. + * gcc.target/i386/avx512bw-pr100267-w-2.c: Ditto. + * gcc.target/i386/avx512f-vpcompressb-1.c: Ditto. + * gcc.target/i386/avx512f-vpcompressb-2.c: Ditto. + * gcc.target/i386/avx512f-vpcompressw-1.c: Ditto. + * gcc.target/i386/avx512f-vpcompressw-2.c: Ditto. + * gcc.target/i386/avx512f-vpexpandb-1.c: Ditto. + * gcc.target/i386/avx512f-vpexpandb-2.c: Ditto. + * gcc.target/i386/avx512f-vpexpandw-1.c: Ditto. + * gcc.target/i386/avx512f-vpexpandw-2.c: Ditto. + * gcc.target/i386/avx512f-vpshld-1.c: Ditto. + * gcc.target/i386/avx512f-vpshldd-2.c: Ditto. + * gcc.target/i386/avx512f-vpshldq-2.c: Ditto. + * gcc.target/i386/avx512f-vpshldv-1.c: Ditto. + * gcc.target/i386/avx512f-vpshldvd-2.c: Ditto. + * gcc.target/i386/avx512f-vpshldvq-2.c: Ditto. + * gcc.target/i386/avx512f-vpshldvw-2.c: Ditto. + * gcc.target/i386/avx512f-vpshrdd-2.c: Ditto. + * gcc.target/i386/avx512f-vpshrdq-2.c: Ditto. + * gcc.target/i386/avx512f-vpshrdv-1.c: Ditto. + * gcc.target/i386/avx512f-vpshrdvd-2.c: Ditto. + * gcc.target/i386/avx512f-vpshrdvq-2.c: Ditto. + * gcc.target/i386/avx512f-vpshrdvw-2.c: Ditto. + * gcc.target/i386/avx512f-vpshrdw-2.c: Ditto. + * gcc.target/i386/avx512vbmi2-vpshld-1.c: Ditto. + * gcc.target/i386/avx512vbmi2-vpshrd-1.c: Ditto. + * gcc.target/i386/avx512vl-vpcompressb-1.c: Ditto. + * gcc.target/i386/avx512vl-vpcompressb-2.c: Ditto. + * gcc.target/i386/avx512vl-vpcompressw-2.c: Ditto. + * gcc.target/i386/avx512vl-vpexpandb-1.c: Ditto. + * gcc.target/i386/avx512vl-vpexpandb-2.c: Ditto. + * gcc.target/i386/avx512vl-vpexpandw-1.c: Ditto. + * gcc.target/i386/avx512vl-vpexpandw-2.c: Ditto. + * gcc.target/i386/avx512vl-vpshldd-2.c: Ditto. + * gcc.target/i386/avx512vl-vpshldq-2.c: Ditto. + * gcc.target/i386/avx512vl-vpshldv-1.c: Ditto. + * gcc.target/i386/avx512vl-vpshldvd-2.c: Ditto. + * gcc.target/i386/avx512vl-vpshldvq-2.c: Ditto. + * gcc.target/i386/avx512vl-vpshldvw-2.c: Ditto. + * gcc.target/i386/avx512vl-vpshrdd-2.c: Ditto. + * gcc.target/i386/avx512vl-vpshrdq-2.c: Ditto. + * gcc.target/i386/avx512vl-vpshrdv-1.c: Ditto. + * gcc.target/i386/avx512vl-vpshrdvd-2.c: Ditto. + * gcc.target/i386/avx512vl-vpshrdvq-2.c: Ditto. + * gcc.target/i386/avx512vl-vpshrdvw-2.c: Ditto. + * gcc.target/i386/avx512vl-vpshrdw-2.c: Ditto. + * gcc.target/i386/avx512vlbw-pr100267-1.c: Ditto. + * gcc.target/i386/avx512vlbw-pr100267-b-2.c: Ditto. + * gcc.target/i386/avx512vlbw-pr100267-w-2.c: Ditto. + +2023-04-20 Haochen Jiang + + * gcc.target/i386/avx512bitalg-vpopcntb-1.c: + Remove avx512bw. + * gcc.target/i386/avx512bitalg-vpopcntb.c: Ditto. + * gcc.target/i386/avx512bitalg-vpopcntbvl.c: Ditto. + * gcc.target/i386/avx512bitalg-vpopcntw-1.c: Ditto. + * gcc.target/i386/avx512bitalg-vpopcntw.c: Ditto. + * gcc.target/i386/avx512bitalg-vpopcntwvl.c: Ditto. + * gcc.target/i386/avx512bitalg-vpshufbitqmb-1.c: Ditto. + * gcc.target/i386/avx512bitalg-vpshufbitqmb.c: Ditto. + * gcc.target/i386/avx512bitalgvl-vpopcntb-1.c: Ditto. + * gcc.target/i386/avx512bitalgvl-vpopcntw-1.c: Ditto. + * gcc.target/i386/avx512bitalgvl-vpshufbitqmb-1.c: Ditto. + * gcc.target/i386/pr93696-1.c: Ditto. + * gcc.target/i386/pr93696-2.c: Ditto. + +2023-04-20 Hu, Lin1 + + * gcc.target/i386/avx512vl-vshuff32x4-1.c: Modify test. + * gcc.target/i386/avx512vl-vshuff64x2-1.c: Ditto. + * gcc.target/i386/avx512vl-vshufi32x4-1.c: Ditto. + * gcc.target/i386/avx512vl-vshufi64x2-1.c: Ditto. + * gcc.target/i386/opt-vperm-vshuf-1.c: New test. + * gcc.target/i386/opt-vperm-vshuf-2.c: Ditto. + * gcc.target/i386/opt-vperm-vshuf-3.c: Ditto. + +2023-04-19 Patrick Palka + Jonathan Wakely + + PR c++/100157 + * g++.dg/ext/type_pack_element1.C: New test. + * g++.dg/ext/type_pack_element2.C: New test. + * g++.dg/ext/type_pack_element3.C: New test. + +2023-04-19 Patrick Palka + + PR c++/109556 + * g++.dg/cpp2a/concepts-placeholder13.C: New test. + +2023-04-19 Harald Anlauf + + PR testsuite/83904 + PR fortran/100297 + * gfortran.dg/allocatable_function_1.f90: Use "__builtin_free " + instead of the naive "free". + * gfortran.dg/reshape_8.f90: Extend pattern from a simple "data". + +2023-04-19 Andrew Pinski + + * gcc.target/i386/cmov10.c: New test. + * gcc.target/i386/cmov11.c: New test. + +2023-04-19 Jason Merrill + + PR c++/108099 + * g++.dg/ext/int128-8.C: New test. + +2023-04-19 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/pr108185-4.c: Adapt testcase. + * gcc.target/riscv/rvv/base/spill-1.c: Ditto. + * gcc.target/riscv/rvv/base/spill-11.c: Ditto. + * gcc.target/riscv/rvv/base/spill-2.c: Ditto. + * gcc.target/riscv/rvv/base/spill-3.c: Ditto. + * gcc.target/riscv/rvv/base/spill-5.c: Ditto. + * gcc.target/riscv/rvv/base/spill-9.c: Ditto. + +2023-04-19 Pan Li + + * gcc.target/riscv/rvv/base/mask_insn_shortcut.c: Update check + condition. + * gcc.target/riscv/simplify_ior_optimization.c: New test. + +2023-04-19 Uros Bizjak + + PR target/78904 + PR target/78952 + * gcc.target/i386/pr78952-3.c: New test. + +2023-04-19 Xi Ruoyao + + PR target/109465 + * gcc.target/loongarch/pr109465-1.c: New test. + * gcc.target/loongarch/pr109465-2.c: New test. + * gcc.target/loongarch/pr109465-3.c: New test. + +2023-04-19 Xi Ruoyao + + * gcc.target/loongarch/va_arg.c: New test. + +2023-04-19 Jakub Jelinek + + PR tree-optimization/109011 + * gcc.dg/vect/pr109011-1.c: New test. + +2023-04-19 Prathamesh Kulkarni + + * gcc.target/aarch64/vec-set-zero.c: New test. + +2023-04-19 Kyrylo Tkachov + + PR target/108840 + * gcc.target/aarch64/pr108840.c: New test. + +2023-04-19 Jakub Jelinek + + PR tree-optimization/109524 + * g++.dg/pr109524.C (nn::nn): Change argument type from nn & to + const nn &. + +2023-04-18 Uros Bizjak + + PR target/94908 + * gcc.target/i386/pr94908.c: New test. + * gcc.target/i386/sse4_1-insertps-5.c: New test. + * gcc.target/i386/vperm-v4sf-2-sse4.c: New test. + +2023-04-18 Richard Biener + + * gcc.dg/ipa/ipa-pta-16.c: Use -details for dump. + * gcc.dg/tm/alias-1.c: Likewise. + * gcc.dg/tm/alias-2.c: Likewise. + * gcc.dg/torture/ipa-pta-1.c: Likewise. + * gcc.dg/torture/pr39074-2.c: Likewise. + * gcc.dg/torture/pr39074.c: Likewise. + * gcc.dg/torture/pta-callused-1.c: Likewise. + * gcc.dg/torture/pta-escape-1.c: Likewise. + * gcc.dg/torture/pta-ptrarith-1.c: Likewise. + * gcc.dg/torture/pta-ptrarith-2.c: Likewise. + * gcc.dg/torture/pta-ptrarith-3.c: Likewise. + * gcc.dg/torture/pta-structcopy-1.c: Likewise. + * gcc.dg/torture/ssa-pta-fn-1.c: Likewise. + * gcc.dg/tree-ssa/alias-19.c: Likewise. + * gcc.dg/tree-ssa/pta-callused.c: Likewise. + * gcc.dg/tree-ssa/pta-fp.c: Likewise. + * gcc.dg/tree-ssa/pta-ptrarith-1.c: Likewise. + * gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise. + +2023-04-18 Andrew Stubbs + + * gcc.target/gcn/fpdiv.c: Remove the -ffast-math requirement. + +2023-04-18 Kyrylo Tkachov + + * gcc.target/aarch64/spellcheck_11.c: New test. + +2023-04-18 Kyrylo Tkachov + + * gcc.target/aarch64/ldapr-zext.c: Add test for u8 to u16 + extension. + +2023-04-18 Jin Ma + + * gcc.target/riscv/arch-5.c: Likewise. + +2023-04-18 Jakub Jelinek + + PR tree-optimization/109240 + * gcc.target/aarch64/simd/addsub_2.c: New test. + * gcc.target/aarch64/sve/addsub_2.c: New test. + +2023-04-18 Xi Ruoyao + + * gcc.target/loongarch/add-const.c: New test. + * gcc.target/loongarch/stack-check-cfa-1.c: Adjust for stack + frame size change. + * gcc.target/loongarch/stack-check-cfa-2.c: Likewise. + +2023-04-17 Patrick Palka + + PR c++/109531 + * g++.dg/template/canon-type-20.C: New test. + * g++.dg/template/ttp36.C: New test. + +2023-04-17 Fei Gao + + * gcc.target/riscv/stack_save_restore.c: New test. + +2023-04-17 Palmer Dabbelt + + * gcc.target/riscv/xtheadfmv-fmv.c: Force the ilp32d ABI. + +2023-04-17 Palmer Dabbelt + + * gcc.target/riscv/rvv/rvv.exp (gcc_mabi): New variable. + +2023-04-17 Palmer Dabbelt + + PR target/106602 + * gcc.target/riscv/pr106602.c: Moved to... + * gcc.target/riscv/pr106602-rv64i.c: ...here. + * gcc.target/riscv/pr106602-rv32i.c: New test. + * gcc.target/riscv/pr106602-rv64i_zba.c: New test. + +2023-04-17 Feng Wang + + * gcc.target/riscv/zbb-rol-ror-04.c: New test. + * gcc.target/riscv/zbb-rol-ror-05.c: New test. + * gcc.target/riscv/zbb-rol-ror-06.c: New test. + * gcc.target/riscv/zbb-rol-ror-07.c: New test. + +2023-04-17 Martin Jambor + + PR ipa/107769 + PR ipa/109318 + * gcc.dg/ipa/pr109318.c: New test. + * gcc.dg/lto/pr107769_0.c: Likewise. + +2023-04-17 Philipp Tomsich + Di Zhao + + * gcc.target/aarch64/ampere1-no_ldp_combine.c: New test. + +2023-04-17 Jakub Jelinek + + * gcc.dg/vect/vect-simd-clone-16f.c: Add -mno-avx512f for non-lp64 x86. + * gcc.dg/vect/vect-simd-clone-17f.c: Likewise. + * gcc.dg/vect/vect-simd-clone-18f.c: Likewise. + +2023-04-17 Richard Biener + + PR tree-optimization/109524 + * g++.dg/pr109524.C: New testcase. + +2023-04-17 Jiufu Guo + + PR testsuite/108809 + * gcc.target/powerpc/builtins-5-p9-runnable.c: Update for BE. + +2023-04-17 Kito Cheng + + * gcc.target/riscv/rvv/base/scalar_move-2.c: Adjust include way + for riscv_vector.h + * gcc.target/riscv/rvv/base/spill-sp-adjust.c: Add missing + -mabi. + +2023-04-17 Pan Li + + * gcc.target/riscv/rvv/base/mask_insn_shortcut.c: New test. + +2023-04-16 Jeff Law + + PR target/109508 + * gcc.target/riscv/pr109508.c: New test. + +2023-04-16 Roger Sayle + + PR target/54816 + * gcc.target/avr/pr54816.c: New test case. + +2023-04-15 Jason Merrill + + PR c++/109357 + * g++.dg/cpp2a/constexpr-dtor15.C: New test. + +2023-04-15 Alexandre Oliva + Kewen Lin + + PR target/99708 + * gcc.target/powerpc/pr99708.c: Accept lack of + __SIZEOF_IBM128__ when long double is 64-bit wide. + +2023-04-15 Jason Merrill + + PR c++/109514 + * g++.dg/warn/Wdangling-pointer-6.C: New test. + +2023-04-14 Harald Anlauf + + PR fortran/109511 + * gfortran.dg/set_exponent_1.f90: New test. + +2023-04-14 Richard Biener + + * gcc.dg/vect/vect-simd-clone-16e.c: Revert back to + checking avx_runtime in dump scanning. + * gcc.dg/vect/vect-simd-clone-17e.c: Likewise. + * gcc.dg/vect/vect-simd-clone-18e.c: Likewise. + +2023-04-14 Paul Thomas + + PR fortran/104272 + * gfortran.dg/class_result_8.f90 : Number of builtin_frees down + from 6 to 5 without memory leaks. + * gfortran.dg/finalize_52.f90: New test + +2023-04-14 Richard Biener + + PR tree-optimization/109502 + * gcc.dg/vect/pr109502.c: New testcase. + +2023-04-14 Richard Biener + + * gcc.dg/vect/vect-simd-clone-16e.c: Fix x86 lp64 checking + and add missing avx guard. + * gcc.dg/vect/vect-simd-clone-17e.c: Likewise. + * gcc.dg/vect/vect-simd-clone-18e.c: Likewise. + * gcc.dg/vect/vect-simd-clone-16f.c: Fix x86 lp64 checking. + * gcc.dg/vect/vect-simd-clone-17f.c: Likewise. + * gcc.dg/vect/vect-simd-clone-18f.c: Likewise. + +2023-04-14 Jeff Law + Jakub Jelinek + + PR target/108947 + PR target/109040 + * gcc.dg/pr108947.c: New test. + * gcc.c-torture/execute/pr109040.c: New test. + +2023-04-14 Jiufu Guo + + PR analyzer/108722 + * gcc.dg/analyzer/file-CWE-1341-example.c: Update. + +2023-04-13 Patrick Palka + + PR c++/109420 + * g++.dg/template/typename27.C: New test. + +2023-04-13 Jason Merrill + + PR c++/109277 + * g++.dg/ext/is_convertible5.C: New test. + +2023-04-13 Gaius Mulley + + PR modula2/109497 + PR modula2/109496 + * gm2/pim/run/pass/addcharconst.mod: New test. + * gm2/pim/run/pass/singlechar.mod: New test. + +2023-04-13 Richard Sandiford + + PR target/108910 + * gcc.dg/torture/pr108910.c: New test. + +2023-04-12 Ju-Zhe Zhong + + PR target/109479 + * gcc.target/riscv/rvv/base/pr109479-1.c: New test. + * gcc.target/riscv/rvv/base/pr109479-2.c: New test. + * gcc.target/riscv/rvv/base/pr109479-3.c: New test. + * gcc.target/riscv/rvv/base/pr109479-4.c: New test. + * gcc.target/riscv/rvv/base/pr109479-5.c: New test. + * gcc.target/riscv/rvv/base/pr109479-6.c: New test. + +2023-04-12 Jakub Jelinek + + PR tree-optimization/109410 + * gcc.dg/pr109410.c: New test. + +2023-04-12 Jakub Jelinek + + PR target/109458 + * gcc.target/i386/pr109458.c: New test. + +2023-04-12 Jakub Jelinek + + PR tree-optimization/109462 + * g++.dg/opt/pr109462.C: New test. + +2023-04-12 Andrew MacLeod + + PR tree-optimization/109462 + * gcc.dg/uninit-pr101912.c: XFAIL the warning. + +2023-04-12 Richard Biener + + PR tree-optimization/109473 + * gcc.dg/vect/pr109473.c: New testcase. + +2023-04-12 Harald Anlauf + + PR fortran/104312 + * gfortran.dg/entry_26.f90: New test. + * gfortran.dg/entry_27.f90: New test. + +2023-04-12 Harald Anlauf + + PR fortran/61615 + PR fortran/99982 + * gfortran.dg/interface_49.f90: New test. + +2023-04-12 Richard Biener + + PR tree-optimization/109469 + * gcc.dg/torture/pr109469.c: New testcase. + +2023-04-12 Richard Biener + + PR tree-optimization/109434 + * g++.dg/opt/pr109434.C: New testcase. + +2023-04-12 Kewen Lin + + PR testsuite/108815 + * gcc.target/powerpc/pr83677.c (v_expand_u8, v_expand_u16, + v_load_deinterleave_f32, v_store_interleave_f32): Adjust some code by + considering BE. + +2023-04-11 Lin Sinan + + * gcc.target/riscv/zbs-extra-bit-or-twobits.c: New test. + +2023-04-11 Yanzhang Wang + Pan Li + Ju-Zhe Zhong + Kito Cheng + + PR target/109104 + * gcc.target/riscv/zero-scratch-regs-1.c: New test. + * gcc.target/riscv/zero-scratch-regs-2.c: New test. + * gcc.target/riscv/zero-scratch-regs-3.c: New test. + +2023-04-11 Tobias Burnus + + * gfortran.dg/gomp/affinity-clause-1.f90: Update scan-tree pattern + for -m32. + +2023-04-11 Martin Liska + + PR driver/108241 + * gcc.dg/pr108241.c: New test. + * gcc.dg/pr79570.c: Add also -g option. + +2023-04-11 Andre Vieira + + * gcc.dg/vect/vect-simd-clone-16.c: Make simd clone inbranch only. + * gcc.dg/vect/vect-simd-clone-17.c: Likewise. + * gcc.dg/vect/vect-simd-clone-18.c: Likewise. + +2023-04-11 Haochen Gui + + PR target/108812 + * gcc.target/powerpc/p9-sign_extend-runnable.c: Set corresponding + expected vectors for Big Endian. + * gcc.target/powerpc/int_128bit-runnable.c: Likewise. + +2023-04-10 Michael Meissner + + PR target/70243 + * gcc.target/powerpc/pr70243.c: New test. + +2023-04-10 Haochen Jiang + + * g++.dg/other/i386-2.C: Add -mamx-complex. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/amx-check.h: Add cpu check for AMX-COMPLEX. + * gcc.target/i386/amx-helper.h: Add amx-complex support. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-12.c: Add -mamx-complex. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add amx-complex. + * gcc.target/i386/sse-23.c: Ditto. + * lib/target-supports.exp (check_effective_target_amx_complex): New. + * gcc.target/i386/amxcomplex-asmatt-1.c: New test. + * gcc.target/i386/amxcomplex-asmintel-1.c: Ditto. + * gcc.target/i386/amxcomplex-cmmimfp16ps-2.c: Ditto. + * gcc.target/i386/amxcomplex-cmmrlfp16ps-2.c: Ditto. + +2023-04-08 Jakub Jelinek + + PR tree-optimization/109392 + * gcc.dg/pr109392.c: New test. + +2023-04-08 John David Anglin + + * gcc.dg/pr84877.c: xfail on hppa*-*-*. + +2023-04-08 John David Anglin + + * gcc.dg/long_branch.c: Use timeout factor 2.0 on hppa*-*-*. + +2023-04-08 Paul Thomas + + PR fortran/87477 + PR fortran/85686 + PR fortran/88247 + PR fortran/91941 + PR fortran/92779 + PR fortran/93339 + PR fortran/93813 + PR fortran/100948 + PR fortran/102106 + PR fortran/98408 + PR fortran/105205 + PR fortran/106918 + * gfortran.dg/associate_47.f90 : Enable substring test. + * gfortran.dg/associate_51.f90 : Update an error message. + * gfortran.dg/goacc/array-with-dt-2.f90 : Add span to + uninitialzed dg-warnings. + * gfortran.dg/associate_60.f90 : New test + * gfortran.dg/pr98408.f90 : New test + * gfortran.dg/pr105205.f90 : New test + * gfortran.dg/pr106918.f90 : New test + +2023-04-08 Paul Thomas + + * gfortran.dg/c-interop/allocatable-optional-pointer.f90 : Fix + dg directive and remove trailing whitespace. + * gfortran.dg/c-interop/c407a-1.f90 : ditto + * gfortran.dg/c-interop/c407b-1.f90 : ditto + * gfortran.dg/c-interop/c407b-2.f90 : ditto + * gfortran.dg/c-interop/c407c-1.f90 : ditto + * gfortran.dg/c-interop/c535a-1.f90 : ditto + * gfortran.dg/c-interop/c535a-2.f90 : ditto + * gfortran.dg/c-interop/c535b-1.f90 : ditto + * gfortran.dg/c-interop/c535b-2.f90 : ditto + * gfortran.dg/c-interop/c535b-3.f90 : ditto + * gfortran.dg/c-interop/c535c-1.f90 : ditto + * gfortran.dg/c-interop/c535c-2.f90 : ditto + * gfortran.dg/c-interop/deferred-character-1.f90 : ditto + * gfortran.dg/c-interop/removed-restrictions-1.f90 : ditto + * gfortran.dg/c-interop/removed-restrictions-2.f90 : ditto + * gfortran.dg/c-interop/removed-restrictions-4.f90 : ditto + * gfortran.dg/c-interop/tkr.f90 : ditto + * gfortran.dg/class_result_10.f90 : ditto + * gfortran.dg/dtio_35.f90 : ditto + * gfortran.dg/gomp/affinity-clause-1.f90 : ditto + * gfortran.dg/pr103258.f90 : ditto + * gfortran.dg/pr59107.f90 : ditto + * gfortran.dg/pr93835.f08 : ditto + +2023-04-07 Alexandre Oliva + + * gcc.target/powerpc/ppc-fortran/ppc-fortran.exp: Test for + fortran compiler, skip if missing. + +2023-04-06 Stam Markianos-Wright + + * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-fp.c: Remove unused variables. + * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-int.c: Remove unused variables. + +2023-04-06 Andrew MacLeod + + PR tree-optimization/109417 + * gcc.dg/pr109417.c: New. + +2023-04-06 Owen Avery + + * rust/compile/issue-1422.rs: New test. + +2023-04-06 Philip Herron + + * rust/compile/issue-1361.rs: New test. + +2023-04-06 Thomas Schwinge + + * rust/compile/issue-1830_bytes.rs: Fix up DejaGnu directives. + * rust/compile/issue-1830_str.rs: Likewise. + +2023-04-06 Arthur Cohen + + * rust/compile/empty.in: New test. + * rust/compile/include_empty.rs: New test. + +2023-04-06 Philip Herron + + * rust/compile/torture/traits10.rs: Fix test-case + +2023-04-06 Philip Herron + + * rust/compile/issue-1725-1.rs: New test. + * rust/compile/issue-1725-2.rs: New test. + +2023-04-06 Owen Avery + + * rust/compile/builtin_macro_include_str.rs: + Include test of invalid UTF-8. + * rust/compile/invalid_utf8: File with invalid UTF-8. + +2023-04-06 Owen Avery + + * rust/compile/parse_empty_tuple_pattern.rs: New test. + +2023-04-06 Pierre-Emmanuel Patry + + * rust/compile/issue-1830_bytes.rs: New test. + * rust/compile/issue-1830_str.rs: New test. + +2023-04-06 Owen Avery + + * rust/compile/variadic.rs: New test. + +2023-04-06 Owen Avery + + * rust/execute/torture/overflow1.rs: Fix test. + +2023-04-06 mxlol233 + + * rust/compile/const-issue1440.rs: Add crate feature: `intrinsics`. + * rust/compile/feature_intrinsics.rs: New file. + * rust/compile/issue-1031.rs: Add crate feature: `intrinsics`. + * rust/compile/issue-1130.rs: Add crate feature: `intrinsics`. + * rust/compile/issue-1131.rs: Add crate feature: `intrinsics`. + * rust/compile/issue-1237.rs: Add crate feature: `intrinsics`. + * rust/compile/issue-1289.rs: Add crate feature: `intrinsics`. + * rust/compile/rust-const-blog-issue.rs: Add crate feature: `intrinsics`. + * rust/compile/torture/intrinsics-3.rs: Add crate feature: `intrinsics`. + * rust/compile/torture/intrinsics-4.rs: Add crate feature: `intrinsics`. + * rust/compile/torture/intrinsics-5.rs: Add crate feature: `intrinsics`. + * rust/compile/torture/intrinsics-6.rs: Add crate feature: `intrinsics`. + * rust/compile/torture/intrinsics-7.rs: Add crate feature: `intrinsics`. + * rust/compile/torture/issue-1024.rs: Add crate feature: `intrinsics`. + * rust/compile/torture/issue-1075.rs: Add crate feature: `intrinsics`. + * rust/compile/torture/issue-1432.rs: Add crate feature: `intrinsics`. + * rust/compile/unsafe10.rs: Add crate feature: `intrinsics`. + * rust/execute/torture/atomic_load.rs: Add crate feature: `intrinsics`. + * rust/execute/torture/atomic_store.rs: Add crate feature: `intrinsics`. + * rust/execute/torture/copy_nonoverlapping1.rs: Add crate feature: + `intrinsics`. + * rust/execute/torture/issue-1120.rs: Add crate feature: `intrinsics`. + * rust/execute/torture/issue-1133.rs: Add crate feature: `intrinsics`. + * rust/execute/torture/issue-1232.rs: Add crate feature: `intrinsics`. + * rust/execute/torture/slice-magic.rs: Add crate feature: `intrinsics`. + * rust/execute/torture/slice-magic2.rs: Add crate feature: `intrinsics`. + * rust/execute/torture/str-layout1.rs: Add crate feature: `intrinsics`. + * rust/execute/torture/transmute1.rs: Add crate feature: `intrinsics`. + * rust/execute/torture/wrapping_op1.rs: Add crate feature: `intrinsics`. + * rust/execute/torture/wrapping_op2.rs: Add crate feature: `intrinsics`. + +2023-04-06 Arthur Cohen + + * rust/compile/macro17.rs: Fix testsuite for new recursion errors. + * rust/compile/macro44.rs: Fix invalid testcase assertions. + * rust/compile/builtin_macro_recurse.rs: Fix invalid test. + * rust/compile/builtin_macro_recurse2.rs: New test. + * rust/compile/macro46.rs: New test. + * rust/compile/builtin_macro_eager1.rs: New file. + * rust/compile/builtin_macro_eager2.rs: New file. + +2023-04-06 Owen Avery + + * rust/execute/torture/let-pattern-1.rs: New test. + +2023-04-06 Philip Herron + + * rust/compile/torture/intrinsics-4.rs: implement Copy trait + * rust/compile/torture/intrinsics-5.rs: likewise + * rust/execute/torture/atomic_load.rs: likewise + * rust/execute/torture/atomic_store.rs: likewise + * rust/bounds1.rs: New test. + +2023-04-06 Philip Herron + + * rust/compile/func3.rs: update test case + +2023-04-06 Philip Herron + + * rust/compile/issue-1786.rs: New test. + +2023-04-06 Philip Herron + + * rust/compile/never_type_err1.rs: Moved to... + * rust/compile/never_type1.rs: ...here. It now works + +2023-04-06 Philip Herron + + * rust/compile/issue-1773.rs: New test. + +2023-04-06 Philip Herron + + * rust/execute/torture/issue-1720-2.rs: New test. + +2023-04-06 mxlol233 + + * rust/compile/feature.rs: New test. + +2023-04-06 Arthur Cohen + + * rust/compile/closure_move_expr.rs: New test. + +2023-04-06 Arthur Cohen + + * rust/compile/parse_complex_generic_application.rs: New test. + * rust/compile/parse_complex_generic_application2.rs: New test. + +2023-04-06 Arthur Cohen + + * rust/compile/multi_reference_type.rs: New test. + +2023-04-06 Abdul Rafey + + * rust/compile/issue-867.rs: New test. + +2023-04-06 Lyra + + * rust/compile/macro45.rs: New test. + +2023-04-06 Arthur Cohen + + * rust/execute/torture/builtin_macro_cfg.rs: Handle carriage returns + properly. + * rust/execute/torture/builtin_macro_concat.rs: Likewise. + * rust/execute/torture/builtin_macro_env.rs: Likewise. + * rust/execute/torture/builtin_macro_include_bytes.rs: Likewise. + * rust/execute/torture/builtin_macro_include_str.rs: Likewise. + * rust/execute/torture/builtin_macro_line.rs: Likewise. + * rust/execute/torture/builtin_macros1.rs: Likewise. + * rust/execute/torture/builtin_macros3.rs: Likewise. + * rust/execute/torture/cfg1.rs: Likewise. + * rust/execute/torture/cfg2.rs: Likewise. + * rust/execute/torture/cfg3.rs: Likewise. + * rust/execute/torture/cfg4.rs: Likewise. + * rust/execute/torture/coercion1.rs: Likewise. + * rust/execute/torture/coercion2.rs: Likewise. + * rust/execute/torture/extern_mod4.rs: Likewise. + * rust/execute/torture/helloworld1.rs: Likewise. + * rust/execute/torture/helloworld2.rs: Likewise. + * rust/execute/torture/issue-1198.rs: Likewise. + * rust/execute/torture/issue-1231.rs: Likewise. + * rust/execute/torture/issue-1232.rs: Likewise. + * rust/execute/torture/issue-1249.rs: Likewise. + * rust/execute/torture/issue-1436.rs: Likewise. + * rust/execute/torture/issue-1496.rs: Likewise. + * rust/execute/torture/issue-647.rs: Likewise. + * rust/execute/torture/issue-845.rs: Likewise. + * rust/execute/torture/issue-851.rs: Likewise. + * rust/execute/torture/issue-858.rs: Likewise. + * rust/execute/torture/issue-976.rs: Likewise. + * rust/execute/torture/macros10.rs: Likewise. + * rust/execute/torture/macros11.rs: Likewise. + * rust/execute/torture/macros12.rs: Likewise. + * rust/execute/torture/macros13.rs: Likewise. + * rust/execute/torture/macros14.rs: Likewise. + * rust/execute/torture/macros2.rs: Likewise. + * rust/execute/torture/macros22.rs: Likewise. + * rust/execute/torture/macros29.rs: Likewise. + * rust/execute/torture/macros3.rs: Likewise. + * rust/execute/torture/macros30.rs: Likewise. + * rust/execute/torture/macros31.rs: Likewise. + * rust/execute/torture/macros7.rs: Likewise. + * rust/execute/torture/macros8.rs: Likewise. + * rust/execute/torture/macros9.rs: Likewise. + * rust/execute/torture/match1.rs: Likewise. + * rust/execute/torture/match2.rs: Likewise. + * rust/execute/torture/match3.rs: Likewise. + * rust/execute/torture/match_bool1.rs: Likewise. + * rust/execute/torture/match_byte1.rs: Likewise. + * rust/execute/torture/match_char1.rs: Likewise. + * rust/execute/torture/match_int1.rs: Likewise. + * rust/execute/torture/match_loop1.rs: Likewise. + * rust/execute/torture/match_range1.rs: Likewise. + * rust/execute/torture/match_range2.rs: Likewise. + * rust/execute/torture/match_tuple1.rs: Likewise. + * rust/execute/torture/method1.rs: Likewise. + * rust/execute/torture/method2.rs: Likewise. + * rust/execute/torture/method3.rs: Likewise. + * rust/execute/torture/method4.rs: Likewise. + * rust/execute/torture/operator_overload_1.rs: Likewise. + * rust/execute/torture/operator_overload_10.rs: Likewise. + * rust/execute/torture/operator_overload_11.rs: Likewise. + * rust/execute/torture/operator_overload_12.rs: Likewise. + * rust/execute/torture/operator_overload_2.rs: Likewise. + * rust/execute/torture/operator_overload_4.rs: Likewise. + * rust/execute/torture/operator_overload_5.rs: Likewise. + * rust/execute/torture/operator_overload_6.rs: Likewise. + * rust/execute/torture/operator_overload_7.rs: Likewise. + * rust/execute/torture/operator_overload_8.rs: Likewise. + * rust/execute/torture/operator_overload_9.rs: Likewise. + * rust/execute/torture/str-layout1.rs: Likewise. + * rust/execute/torture/str-zero.rs: Likewise. + * rust/execute/torture/trait1.rs: Likewise. + * rust/execute/torture/trait10.rs: Likewise. + * rust/execute/torture/trait11.rs: Likewise. + * rust/execute/torture/trait12.rs: Likewise. + * rust/execute/torture/trait13.rs: Likewise. + * rust/execute/torture/trait2.rs: Likewise. + * rust/execute/torture/trait3.rs: Likewise. + * rust/execute/torture/trait4.rs: Likewise. + * rust/execute/torture/trait5.rs: Likewise. + * rust/execute/torture/trait6.rs: Likewise. + * rust/execute/torture/trait7.rs: Likewise. + * rust/execute/torture/trait8.rs: Likewise. + * rust/execute/torture/trait9.rs: Likewise. + * rust/execute/torture/closure2.rs: Likewise. + * rust/execute/torture/closure3.rs: Likewise. + * rust/execute/torture/loop-condition-eval.rs: Likewise. + * rust/execute/torture/operator_overload_3.rs: Likewise. + +2023-04-06 mxlol233 + + * rust/compile/diagnostic_underline.rs: New test. + +2023-04-06 Philip Herron + + * rust/compile/bounds.rs: change to use -fsyntax-only + * rust/execute/torture/issue-1720.rs: New test. + +2023-04-06 Raiki Tamura + + * rust/compile/decl_macro1.rs: New test. + * rust/compile/decl_macro2.rs: New test. + * rust/compile/decl_macro3.rs: New test. + * rust/compile/decl_macro4.rs: New test. + * rust/compile/decl_macro5.rs: New test. + * rust/compile/decl_macro6.rs: New test. + * rust/compile/decl_macro7.rs: New test. + * rust/execute/torture/decl_macro1.rs: New test. + * rust/execute/torture/decl_macro2.rs: New test. + * rust/execute/torture/decl_macro3.rs: New test. + * rust/execute/torture/decl_macro4.rs: New test. + +2023-04-06 mxlol233 + + * rust/compile/bounds.rs: New test. + +2023-04-06 Dave + + * rust/compile/const10.rs: New test. + +2023-04-06 Prajwal S N + + * rust/compile/unsafe11.rs: New test. + +2023-04-06 Alexandre Oliva + + * gcc.dg/signbit-2.c: Add -maltivec if supported. + +2023-04-06 Alexandre Oliva + Thomas Schwinge + + PR testsuite/108899 + * g++.dg/modules/modules.exp (unsupported): Drop renaming. + Fix quoting. + +2023-04-05 Gaius Mulley + + PR modula2/109423 + * gm2/pim/fail/setunknown.mod: New test. + * gm2/pim/fail/setunknown2.mod: New test. + +2023-04-05 Jeff Law + + PR target/108892 + * gcc.c-torture/compile/pr108892.c: New test. + +2023-04-05 Martin Jambor + + PR ipa/108959 + * gcc.dg/ipa/pr108959.c: New test. + +2023-04-05 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/bug-23.C: New test. + +2023-04-05 Juzhe-Zhong + + * gcc.target/riscv/rvv/vsetvl/pr109399.c: New test. + +2023-04-04 Harald Anlauf + + PR fortran/104349 + * gfortran.dg/der_charlen_1.f90: Adjust dg-patterns. + * gfortran.dg/pr104349.f90: New test. + +2023-04-04 Jakub Jelinek + + PR tree-optimization/109386 + * gcc.c-torture/execute/ieee/pr109386.c: New test. + +2023-04-04 Marek Polacek + + PR sanitizer/109107 + * c-c++-common/ubsan/pr109107-1.c: New test. + * c-c++-common/ubsan/pr109107-2.c: New test. + * c-c++-common/ubsan/pr109107-3.c: New test. + * c-c++-common/ubsan/pr109107-4.c: New test. + +2023-04-04 Stam Markianos-Wright + + * gcc.target/arm/mve/intrinsics/vcreateq_f16.c: Tighten test. + * gcc.target/arm/mve/intrinsics/vcreateq_f32.c: Tighten test. + * gcc.target/arm/mve/intrinsics/vcreateq_s16.c: Tighten test. + * gcc.target/arm/mve/intrinsics/vcreateq_s32.c: Tighten test. + * gcc.target/arm/mve/intrinsics/vcreateq_s64.c: Tighten test. + * gcc.target/arm/mve/intrinsics/vcreateq_s8.c: Tighten test. + * gcc.target/arm/mve/intrinsics/vcreateq_u16.c: Tighten test. + * gcc.target/arm/mve/intrinsics/vcreateq_u32.c: Tighten test. + * gcc.target/arm/mve/intrinsics/vcreateq_u64.c: Tighten test. + * gcc.target/arm/mve/intrinsics/vcreateq_u8.c: Tighten test. + +2023-04-04 Jakub Jelinek + + PR target/109384 + * gcc.target/riscv/arch-19.c: Expect a different message about zfinx + vs. f conflict. + +2023-04-04 Richard Biener + + PR tree-optimization/109304 + * gcc.dg/pr109304.c: New testcase. + +2023-04-04 Kewen Lin + + PR target/108699 + * gcc.target/powerpc/p9-vparity.c: Add scan-assembler-not for vpopcntb + to distinguish parity byte from parity. + * gcc.target/powerpc/pr108699.c: New test. + +2023-04-04 Jason Merrill + + PR c++/107484 + * g++.dg/lookup/friend25.C: New test. + +2023-04-03 Patrick Palka + + PR c++/109300 + * g++.dg/cpp1y/var-templ79.C: New test. + +2023-04-03 Jakub Jelinek + Martin Jambor + + PR ipa/109303 + * gcc.dg/pr109303.c: New test. + +2023-04-03 Haochen Gui + + PR target/102146 + * gcc.target/powerpc/pr56605.c: Modify the match pattern for dump + scan. + +2023-04-02 John David Anglin + + PR target/109375 + * gnat.dg/opt39.adb: Add hppa*-*-* to dg-additional-options list. + +2023-04-02 John David Anglin + + PR target/109376 + * gnat.dg/prot7.adb: Skip on hppa. + +2023-04-02 Juzhe-Zhong + kito-cheng + + * g++.target/riscv/rvv/base/bug-19.C: New test. + * g++.target/riscv/rvv/base/bug-20.C: New test. + * g++.target/riscv/rvv/base/bug-21.C: New test. + * g++.target/riscv/rvv/base/bug-22.C: New test. + +2023-04-02 Juzhe-Zhong + + * gcc.target/riscv/rvv/base/scalar_move-6.c: Adapt test. + * gcc.target/riscv/rvv/base/scalar_move-9.c: New test. + +2023-04-01 Patrick Palka + + PR c++/109160 + * g++.dg/cpp2a/concepts-placeholder12.C: New test. + +2023-04-01 Patrick Palka + + PR c++/53164 + PR c++/105848 + * g++.dg/template/fn-ptr3a.C: New test. + * g++.dg/template/fn-ptr3b.C: New test. + * g++.dg/template/fn-ptr4.C: New test. + +2023-04-01 Jakub Jelinek + + * gcc.dg/torture/inf-compare-1.c: Add dg-additional-options + -fno-tree-dominator-opts -fno-tree-vrp. + * gcc.dg/torture/inf-compare-1-float.c: Likewise. + * gcc.dg/torture/inf-compare-2.c: Likewise. + * gcc.dg/torture/inf-compare-2-float.c: Likewise. + +2023-04-01 Jakub Jelinek + + PR tree-optimization/109362 + * gcc.target/i386/pr109362.c: New test. + +2023-04-01 Jakub Jelinek + Richard Sandiford + + PR target/109254 + * gcc.target/aarch64/sve/pr109254.c: New test. + +2023-03-31 Jakub Jelinek + + PR analyzer/107396 + * gcc.dg/analyzer/pipe-glibc.c (read_from_pie, write_to_pipe): Exit + if fdopen returns NULL. + +2023-03-31 Andrew MacLeod + + * g++.dg/warn/Wstringop-overflow-4.C: Always check bogus message. + * gcc.dg/tree-ssa/pr23109.c: Disable better recomputations. + +2023-03-31 Vladimir N. Makarov + + * gcc.target/i386/pr109052-2.c: New. + +2023-03-31 Jakub Jelinek + + PR tree-optimization/91645 + * gcc.target/i386/pr103559-1.c: New test. + * gcc.target/i386/pr103559-2.c: New test. + * gcc.target/i386/pr103559-3.c: New test. + * gcc.target/i386/pr103559-4.c: New test. + +2023-03-31 Jonathan Yong <10walls@gmail.com> + + * c-c++-common/Warray-bounds.c: Fix excess warnings on + LLP64. + +2023-03-31 liuhongt + + * g++.target/i386/pr85048.C: New test. + +2023-03-30 Jason Merrill + + PR c++/105452 + * g++.dg/lookup/anon8.C: New test. + +2023-03-30 Jason Merrill + + PR c++/105221 + * g++.dg/cpp1z/noexcept-type27.C: New test. + +2023-03-30 Jakub Jelinek + + PR c++/109319 + * g++.dg/cpp23/subscript14.C: New test. + +2023-03-30 Andrew MacLeod + + PR tree-optimization/109154 + * gcc.dg/Walloca-13.c: Remove bogus warning that is now fixed. + +2023-03-30 Jason Merrill + + PR c++/107897 + PR c++/108887 + * g++.dg/cpp2a/concepts-lambda3.C: Use -flto if supported. + * g++.dg/cpp0x/lambda/lambda-mangle7.C: New test. + +2023-03-30 Richard Biener + + PR tree-optimization/107561 + * g++.dg/pr71488.C: Remove XFAILed bogus diagnostic again. + * g++.dg/warn/Warray-bounds-16.C: Likewise. + +2023-03-30 Richard Biener + + PR tree-optimization/109342 + * g++.dg/torture/pr109342.C: New testcase. + +2023-03-30 Jakub Jelinek + + PR c++/109278 + * g++.dg/cpp23/ext-floating15.C: New test. + +2023-03-30 liuhongt + + * gcc.target/i386/pr88828-0.c: Adjust testcase. + +2023-03-29 Gaius Mulley + + PR modula2/109336 + * gm2/link/nondefaultext/pass/hello.md: New test. + * gm2/link/nondefaultext/pass/liba.dm: New test. + * gm2/link/nondefaultext/pass/liba.md: New test. + * gm2/link/nondefaultext/pass/link-nondefaultext-pass.exp: New test. + +2023-03-29 Jiawei + + * gcc.target/riscv/arch-19.c: New test. + +2023-03-29 Richard Biener + + PR tree-optimization/109331 + * gcc.dg/torture/pr109331.c: New testcase. + +2023-03-29 Richard Biener + + * g++.dg/pr94920.C: Scan forwprop1 instead of optimized. + +2023-03-29 Richard Biener + + PR tree-optimization/109327 + * gcc.dg/pr109327.c: New testcase. + +2023-03-29 Richard Biener + + PR ipa/106124 + * g++.dg/gomp/pr106124.C: New testcase. + +2023-03-29 Jakub Jelinek + Richard Biener + + PR tree-optimization/109301 + * gcc.dg/pr109301.c: New test. + +2023-03-29 Jason Merrill + + PR c++/109321 + PR c++/109320 + * g++.dg/cpp2a/class-deduction-alias16.C: New test. + * g++.dg/cpp2a/class-deduction-alias17.C: New test. + +2023-03-28 Thomas Schwinge + + * gfortran.dg/weak-2.f90: Enable for nvptx target. + +2023-03-28 David Malcolm + + PR c/107002 + * c-c++-common/Wxor-used-as-pow-1.c: Add macro test. + * c-c++-common/Wxor-used-as-pow-pr107002-0.c: New test. + * c-c++-common/Wxor-used-as-pow-pr107002-1.c: New test. + * c-c++-common/Wxor-used-as-pow-pr107002-2.c: New test. + +2023-03-28 Jason Merrill + + PR c++/107163 + * g++.dg/warn/Wsequence-point-5.C: New test. + +2023-03-28 Kito Cheng + + PR target/109312 + * gcc.target/riscv/predef-__riscv_v_intrinsic.c: New test. + +2023-03-28 Alexander Monakov + + PR rtl-optimization/109187 + * gcc.dg/pr109187.c: New test. + +2023-03-28 Andrew MacLeod + + PR tree-optimization/109265 + PR tree-optimization/109274 + * gcc.dg/pr109274.c: New. + * gfortran.dg/pr109265.f90: New. + +2023-03-28 Richard Biener + + PR tree-optimization/107087 + * g++.dg/pr107087.C: New testcase. + +2023-03-28 Richard Sandiford + + PR target/109072 + * gcc.target/aarch64/pr109072_1.c: New test. + * gcc.target/aarch64/pr109072_2.c: Likewise. + +2023-03-28 Jakub Jelinek + + PR middle-end/106190 + * gcc.dg/asan/pr106190.c: New test. + +2023-03-28 Eric Botcazou + + * gcc.target/sparc/20230328-1.c: New test. + * gcc.target/sparc/20230328-2.c: Likewise. + * gcc.target/sparc/20230328-3.c: Likewise. + * gcc.target/sparc/20230328-4.c: Likewise. + +2023-03-28 Jakub Jelinek + + PR target/109276 + * gcc.target/i386/pr109276.c: New test. + +2023-03-28 Eric Botcazou + + * gcc.target/sparc/20230328-1.c: New test. + * gcc.target/sparc/20230328-2.c: Likewise. + * gcc.target/sparc/20230328-3.c: Likewise. + * gcc.target/sparc/20230328-4.c: Likewise. + +2023-03-28 Rainer Orth + + * lib/target-supports.exp (add_options_for_weak_undefined): Escape + brackets. + * gcc.dg/visibility-22.c: Add weak_undefined options. + +2023-03-27 Richard Biener + + PR tree-optimization/54498 + * g++.dg/torture/pr54498.C: New testcase. + +2023-03-27 Richard Biener + + PR tree-optimization/108357 + * gcc.dg/tree-ssa/pr108357.c: New testcase. + +2023-03-27 Martin Liska + + * lib/verify-sarif-file.py: Use apostrophes instead + of double quotes. + +2023-03-27 Kewen Lin + + PR target/109167 + * gcc.target/powerpc/pr109167.c: New test. + +2023-03-27 Kewen Lin + + PR target/109082 + * gcc.target/powerpc/pr109082.c: New test. + +2023-03-26 Andreas Schwab + + PR target/106282 + * gcc.target/m68k/tls-gd-off.c: New. + * gcc.target/m68k/tls-ie-off.c: New. + * gcc.target/m68k/tls-ld-off.c: New. + * gcc.target/m68k/tls-ld-xtls-off.c: New. + * gcc.target/m68k/tls-le-off.c: New. + * gcc.target/m68k/tls-le-xtls-off.c: New. + * gcc.target/m68k/tls-ld.c: Make pattern less strict. + * gcc.target/m68k/tls-le.c: Likewise. + +2023-03-26 Jakub Jelinek + + PR tree-optimization/109230 + * gcc.dg/pr109230.c: New test. + +2023-03-26 Jakub Jelinek + + PR ipa/105685 + * c-c++-common/cold-2.c: New test. + +2023-03-25 David Malcolm + + PR analyzer/109098 + * c-c++-common/diagnostic-format-sarif-file-1.c: Add + verify-sarif-file directive. + * c-c++-common/diagnostic-format-sarif-file-2.c: Likewise. + * c-c++-common/diagnostic-format-sarif-file-3.c: Likewise. + * c-c++-common/diagnostic-format-sarif-file-4.c: Likewise. + * c-c++-common/diagnostic-format-sarif-file-Wbidi-chars.c: New + test case, adapted from Wbidi-chars-1.c. + * c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-1.c: + New test case. + * c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-2.c: + New test case. + * c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-3.c: + New test case, adapted from cpp/Winvalid-utf8-1.c. + * c-c++-common/diagnostic-format-sarif-file-valid-CP850.c: New + test case, adapted from gcc.dg/diagnostic-input-charset-1.c. + * gcc.dg/plugin/crash-test-ice-sarif.c: Add verify-sarif-file + directive. + * gcc.dg/plugin/crash-test-write-though-null-sarif.c: Likewise. + * gcc.dg/plugin/diagnostic-test-paths-5.c: Likewise. + * lib/scansarif.exp (verify-sarif-file): New procedure. + * lib/verify-sarif-file.py: New support script. + +2023-03-24 Patrick Palka + + PR c++/106969 + * g++.dg/lookup/name-clash11.C: Fix ASSERT macro definition in + C++98 mode. + * g++.dg/lookup/this2.C: New test. + +2023-03-24 Jason Merrill + + PR c++/105481 + * g++.dg/cpp0x/fntmpdefarg-partial1.C: New test. + +2023-03-24 David Malcolm + + PR other/109163 + * c-c++-common/diagnostic-format-json-1.c: Update comment. + * 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: Rewrite regexps. + * c-c++-common/diagnostic-format-json-stderr-1.c: Update comment. + +2023-03-24 Andrew MacLeod + + PR tree-optimization/109238 + * gcc.dg/pr109238.c: New. + +2023-03-24 Richard Biener + + PR tree-optimization/106912 + * gcc.dg/profile-generate-4.c: New testcase. + +2023-03-24 Gaius Mulley + + * gm2/projects/iso/small/run/pass/iso-extended-opaque-run-pass.exp: + Compile object for stressset.mod and testlib.mod. Add test so + that we only link these objects with test application objects. + +2023-03-24 Jakub Jelinek + + PR target/109137 + * gcc.target/i386/pr109137.c: Remove -m32 from dg-options, instead + require ia32 effective target. Only add -fPIC for fpic effective + target. Remove #include , use __builtin_memset instead of + memset. + +2023-03-24 Jakub Jelinek + + PR tree-optimization/99739 + * gcc.dg/tree-ssa/pr99739.c: New test. + +2023-03-24 Alexandre Oliva + + * lib/target-supports.exp (add_options_for_weak_undefined): + New. + (check_effective_target_weak_undefined): Use it. + (check_effective_target_posix_memalign): New. + * gcc.dg/torture/pr53922.c: Drop skips and custom options in + favor of effective target requirement and added options for + weak_undefined symbols. + * gcc.dg/torture/pr90020.c: Likewise. + * gcc.dg/addr_equal-1.c: Likewise. + * gcc.target/aarch64/aapcs64/aapcs64.exp: Likewise, for + abitest.S-using tests. + * gcc.dg/torture/pr60092.c: Likewise, but in favor of + posix_memalign tests. + * gcc.dg/vect/vect-tail-nomask-1.c: Likewise. + +2023-03-24 Haochen Gui + Tobias Burnus + + PR target/103628 + * gfortran.dg/assumed_size_refs_2.f90: Check "Cannot simplify + expression" error. + * gfortran.dg/unpack_field_1.f90: Likewise. + * gfortran.dg/pr103628.f90: New. + +2023-03-23 Jason Merrill + + PR c++/105996 + * g++.dg/cpp0x/constexpr-pmf3.C: New test. + +2023-03-23 Hans-Peter Nilsson + + * gcc.dg/tree-ssa/ssa-fre-100.c: XFAIL for ! natural_alignment_32. + +2023-03-23 Hans-Peter Nilsson + + * gcc.dg/tree-ssa/pr100359.c: Compile-only for ! natural_alignment_32. + +2023-03-23 Pat Haugen + + * gcc.target/powerpc/mod-no_copy.c: New. + * gcc.target/powerpc/mod-peephole.c: New. + +2023-03-23 Andrew Pinski + + PR c/84900 + * gcc.dg/compound-literal-cast-lvalue-1.c: New test. + +2023-03-23 Gaius Mulley + + PR modula2/109264 + * gm2/iso/extended-opaque/pass/iso-extended-opaque-pass.exp: + New test. + * gm2/iso/extended-opaque/pass/stressset.def: New test. + * gm2/iso/extended-opaque/pass/stressset.mod: New test. + * gm2/iso/extended-opaque/pass/testset.mod: New test. + * gm2/projects/iso/small/run/pass/iso-extended-opaque-run-pass.exp: + New test. + * gm2/projects/iso/small/run/pass/stressset.def: New test. + * gm2/projects/iso/small/run/pass/stressset.mod: New test. + * gm2/projects/iso/small/run/pass/test1.mod: New test. + * gm2/projects/iso/small/run/pass/testlib.def: New test. + * gm2/projects/iso/small/run/pass/testlib.mod: New test. + * gm2/projects/iso/small/run/pass/testset.mod: New test. + +2023-03-23 Richard Biener + + PR tree-optimization/107569 + * g++.dg/opt/pr107569.C: New testcase. + +2023-03-23 Richard Biener + + PR tree-optimization/109262 + * g++.dg/torture/pr109262.C: New testcase. + +2023-03-23 Eric Botcazou + + * gnat.dg/div_zero.adb: Skip for aarch64*-*-* targets. + +2023-03-23 Marek Polacek + + PR c++/107532 + * g++.dg/warn/Wdangling-reference11.C: New test. + * g++.dg/warn/Wdangling-reference12.C: New test. + +2023-03-23 Jakub Jelinek + + PR tree-optimization/109176 + * gcc.target/aarch64/sve/pr109176.c: New test. + +2023-03-23 Pan Li + Ju-Zhe Zhong + + PR target/108654 + PR target/108185 + * gcc.target/riscv/rvv/base/pr108185-1.c: Update. + * gcc.target/riscv/rvv/base/pr108185-2.c: Ditto. + * gcc.target/riscv/rvv/base/pr108185-3.c: Ditto. + +2023-03-23 Jason Merrill + + PR c++/109241 + * g++.dg/cpp1y/lambda-generic-local-class2.C: New test. + +2023-03-23 Ju-Zhe Zhong + + PR target/109244 + * g++.target/riscv/rvv/base/pr109244.C: New test. + * gcc.target/riscv/rvv/base/binop_vv_constraint-4.c: Adapt testcase. + * gcc.target/riscv/rvv/base/binop_vv_constraint-6.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-127.c: Ditto. + * gcc.target/riscv/rvv/base/spill-1.c: Ditto. + * gcc.target/riscv/rvv/base/spill-2.c: Ditto. + * gcc.target/riscv/rvv/base/spill-3.c: Ditto. + * gcc.target/riscv/rvv/base/spill-5.c: Ditto. + * gcc.target/riscv/rvv/base/spill-7.c: Ditto. + * g++.target/riscv/rvv/base/bug-18.C: New test. + * gcc.target/riscv/rvv/base/merge_constraint-3.c: New test. + * gcc.target/riscv/rvv/base/merge_constraint-4.c: New test. + +2023-03-23 Ju-Zhe Zhong + + PR target/109228 + * gcc.target/riscv/rvv/base/vlenb-1.c: New test. + +2023-03-23 Ju-Zhe Zhong + kito-cheng + + * g++.target/riscv/rvv/base/bug-10.C: New test. + * g++.target/riscv/rvv/base/bug-11.C: New test. + * g++.target/riscv/rvv/base/bug-12.C: New test. + * g++.target/riscv/rvv/base/bug-13.C: New test. + * g++.target/riscv/rvv/base/bug-14.C: New test. + * g++.target/riscv/rvv/base/bug-15.C: New test. + * g++.target/riscv/rvv/base/bug-16.C: New test. + * g++.target/riscv/rvv/base/bug-17.C: New test. + * g++.target/riscv/rvv/base/bug-2.C: New test. + * g++.target/riscv/rvv/base/bug-3.C: New test. + * g++.target/riscv/rvv/base/bug-4.C: New test. + * g++.target/riscv/rvv/base/bug-5.C: New test. + * g++.target/riscv/rvv/base/bug-6.C: New test. + * g++.target/riscv/rvv/base/bug-7.C: New test. + * g++.target/riscv/rvv/base/bug-8.C: New test. + * g++.target/riscv/rvv/base/bug-9.C: New test. + +2023-03-23 Ju-Zhe Zhong + kito-cheng + + * gcc.target/riscv/rvv/base/bug-3.c: New test. + * gcc.target/riscv/rvv/base/bug-4.c: New test. + * gcc.target/riscv/rvv/base/bug-5.c: New test. + +2023-03-23 Kito Cheng + + * lib/target-supports.exp (check_effective_target_riscv_vector): + New. + +2023-03-22 David Malcolm + + PR testsuite/105959 + * gcc.dg-selftests/dg-final.exp + (dg_final_directive_check_num_args): Update expected maximum + number of args for the various directives using dg-scan. + * lib/scanasm.exp (append_encoding_arg): New procedure. + (dg-scan): Add optional 3rd argument: the encoding to use when + reading from the file. + * lib/scansarif.exp (scan-sarif-file): Treat the file as UTF-8 + encoded when reading it. + (scan-sarif-file-not): Likewise. + +2023-03-22 Jason Merrill + + PR c++/108390 + * g++.dg/template/partial-order3.C: New test. + +2023-03-22 Harald Anlauf + Steven G. Kargl + + PR fortran/104572 + * gfortran.dg/pr104572.f90: New test. + +2023-03-22 Vladimir N. Makarov + + * gcc.target/i386/pr109137.c: New. + +2023-03-22 Jason Merrill + + PR c++/108795 + * g++.dg/ext/attr-tsafe1.C: New test. + +2023-03-22 Alex Coplan + + PR c++/109177 + * g++.dg/ext/pr109177.C: New test. + +2023-03-22 David Malcolm + + PR analyzer/109239 + * gcc.dg/analyzer/deref-before-check-pr109239-linux-bus.c: New test. + +2023-03-22 Andrew Jenner + + * gcc.target/gcn/complex.c: New test. + +2023-03-21 Harald Anlauf + + PR fortran/99036 + * gfortran.dg/pr99036.f90: New test. + +2023-03-21 Jason Merrill + + PR c++/106890 + * g++.dg/cpp0x/nsdmi-template25.C: New test. + +2023-03-21 Richard Biener + + PR tree-optimization/109219 + * gcc.dg/torture/pr109219.c: New testcase. + +2023-03-21 Jakub Jelinek + + PR testsuite/108898 + * gcc.dg/vect/vect-simd-clone-16.c: Remove parts of comment mentioning + epilogue loops. + * gcc.dg/vect/vect-simd-clone-17.c: Likewise. + * gcc.dg/vect/vect-simd-clone-18.c: Likewise. + +2023-03-21 Jakub Jelinek + + PR testsuite/108898 + * gcc.dg/vect/vect-simd-clone-16.c: Add --param vect-epilogues-nomask=0 + to dg-additional-options. Always expect just 2 foo.simdclone calls. + * gcc.dg/vect/vect-simd-clone-16f.c: Add + --param vect-epilogues-nomask=0 to dg-additional-options. + * gcc.dg/vect/vect-simd-clone-17.c: Likewise. Always expect just 2 + foo.simdclone calls. + * gcc.dg/vect/vect-simd-clone-17d.c: Remove -fdump-tree-optimized from + dg-additional-options. + * gcc.dg/vect/vect-simd-clone-17e.c: Likewise. + * gcc.dg/vect/vect-simd-clone-17f.c: Likewise. Add + --param vect-epilogues-nomask=0 to dg-additional-options. + * gcc.dg/vect/vect-simd-clone-18.c: Add --param vect-epilogues-nomask=0 + to dg-additional-options. Always expect just 2 foo.simdclone calls. + * gcc.dg/vect/vect-simd-clone-18f.c: Add + --param vect-epilogues-nomask=0 to dg-additional-options. + +2023-03-21 Jakub Jelinek + + PR tree-optimization/109215 + * gcc.dg/Wzero-length-array-bounds-3.c: New test. + +2023-03-21 Richard Biener + + PR tree-optimization/109170 + * gcc.dg/Wuse-after-free-pr109170.c: New testcase. + * gcc.dg/tree-ssa/ssa-lim-21.c: Adjust. + * gcc.dg/predict-20.c: Likewise. + +2023-03-21 Paul Thomas + + PR fortran/109209 + * gfortran.dg/pr109209.f90: New test. + +2023-03-20 Marek Polacek + + PR c++/109159 + * g++.dg/cpp0x/explicit16.C: New test. + +2023-03-20 Jakub Jelinek + + PR c++/109164 + * g++.dg/tls/thread_local13.C: New test. + * g++.dg/tls/thread_local13-aux.cc: New file. + * g++.dg/tls/thread_local14.C: New test. + * g++.dg/tls/thread_local14-aux.cc: New file. + +2023-03-20 Michael Meissner + + PR target/109067 + * gcc.target/powerpc/divic3-1.c: New test. + * gcc.target/powerpc/divic3-2.c: Likewise. + * gcc.target/powerpc/mulic3-1.c: Likewise. + * gcc.target/powerpc/mulic3-2.c: Likewise. + +2023-03-20 Harald Anlauf + + PR fortran/109186 + * gfortran.dg/nearest_6.f90: New test. + +2023-03-20 Peter Bergner + + PR target/109178 + * gcc.target/powerpc/pr109178.c: New test. + +2023-03-20 Jakub Jelinek + + * g++.dg/torture/20230313.C (auto_vec): Change m_data type + from char to char [2 * sizeof (int)]. + +2023-03-20 Paul Thomas + + PR fortran/87127 + * gfortran.dg/external_procedures_4.f90: New test. + +2023-03-19 Harald Anlauf + + PR fortran/85877 + * gfortran.dg/pr85877.f90: New test. + +2023-03-19 Xin Liu + + * gcc.target/mips/mips.exp (mips-dg-options): Disable micromips + for MSA tests. + +2023-03-18 David Malcolm + + PR analyzer/109094 + * gcc.dg/analyzer/setjmp-pr109094.c: New test. + +2023-03-18 Paul Thomas + + PR fortran/64290 + PR fortran/67444 + PR fortran/67471 + PR fortran/69298 + PR fortran/70863 + PR fortran/71798 + PR fortran/80524 + PR fortran/82996 + PR fortran/84472 + PR fortran/88735 + PR fortran/93691 + PR fortran/91316 + PR fortran/106576 + PR fortran/37336 + * gfortran.dg/finalize_38.f90 : New test. + * gfortran.dg/finalize_38a.f90 : New test. + * gfortran.dg/allocate_with_source_25.f90 : The number of final + calls goes down from 6 to 4. + * gfortran.dg/associate_25.f90 : Remove the incorrect comment. + * gfortran.dg/auto_dealloc_2.f90 : Change the tree dump expr + but the final count remains the same. + * gfortran.dg/unlimited_polymorphic_8.f90 : Tree dump reveals + foo.1.x rather than foo.0.x + * gfortran.dg/finalize_39.f90 : New test. + * gfortran.dg/finalize_40.f90 : New test. + * gfortran.dg/finalize_41.f90 : New test. + * gfortran.dg/finalize_42.f90 : New test. + * gfortran.dg/finalize_43.f90 : New test. + * gfortran.dg/finalize_44.f90 : New test. + * gfortran.dg/finalize_45.f90 : New test. + * gfortran.dg/finalize_46.f90 : New test. + * gfortran.dg/finalize_47.f90 : New test. + * gfortran.dg/finalize_48.f90 : New test. + * gfortran.dg/finalize_49.f90 : New test. + * gfortran.dg/finalize_50.f90 : New test. + * gfortran.dg/finalize_51.f90 : New test. + +2023-03-17 Hans-Peter Nilsson + + * gcc.dg/plugin/infoleak-2.c, + gcc.dg/plugin/infoleak-CVE-2011-1078-1.c, + gcc.dg/plugin/infoleak-CVE-2011-1078-2.c, + gcc.dg/plugin/infoleak-CVE-2017-18549-1.c, + gcc.dg/plugin/infoleak-CVE-2017-18550-1.c, + gcc.dg/plugin/infoleak-antipatterns-1.c, + gcc.dg/plugin/infoleak-fixit-1.c: Skip for default_packed targets. + +2023-03-17 Jason Merrill + + PR c++/108975 + * g++.dg/cpp0x/lambda/lambda-const11.C: New test. + +2023-03-17 Jason Merrill + + PR c++/109172 + * g++.dg/eh/dtor4.C: New test. + +2023-03-17 Jason Merrill + + PR c++/69410 + * g++.dg/lookup/friend24.C: New test. + +2023-03-17 Jakub Jelinek + + PR target/105554 + * gcc.target/i386/pr105554.c: New test. + +2023-03-17 Jakub Jelinek + + PR c/109151 + * c-c++-common/ubsan/div-by-zero-8.c: New test. + +2023-03-17 Vladimir N. Makarov + + * gcc.target/i386/pr109052.c: New. + +2023-03-17 Ju-Zhe Zhong + kito-cheng + + * gcc.target/riscv/rvv/base/binop_vv_constraint-4.c: Adapt the test. + * gcc.target/riscv/rvv/base/binop_vv_constraint-6.c: Ditto. + * gcc.target/riscv/rvv/base/binop_vx_constraint-127.c: Ditto. + * g++.target/riscv/rvv/base/bug-1.C: New test. + * gcc.target/riscv/rvv/base/bug-2.c: New test. + +2023-03-17 Jakub Jelinek + + PR testsuite/109145 + * gcc.dg/tree-ssa/forwprop-39.c: Remove -std=c11 from dg-options. + Don't include complex.h. + (foo): Use __builtin_complex rather than CMPLXF. + +2023-03-17 Jakub Jelinek + + PR middle-end/108685 + * c-c++-common/gomp/doacross-8.c: New test. + +2023-03-16 Jason Merrill + + PR c++/105809 + * g++.dg/cpp0x/constexpr-__func__3.C: New test. + +2023-03-16 Jason Merrill + + PR c++/108242 + * g++.dg/cpp1y/lambda-generic-func2.C: New test. + +2023-03-16 Jason Merrill + + PR c++/101869 + * g++.dg/cpp0x/enum43.C: New test. + +2023-03-16 Gaius Mulley + + * gm2/types/run/pass/d.c: Add missing include . + +2023-03-16 Gaius Mulley + + PR modula2/109125 + * gm2/types/run/pass/d.c: Convert data structure from + BOOLEAN int to bool and cast int to bool in test function. + +2023-03-16 Gaius Mulley + + * gm2/complex/pass/arith3.mod: Halt parameters reordered. + * gm2/complex/run/pass/arith3.mod: Ditto. + * gm2/complex/run/pass/arith4.mod: Ditto. + * gm2/complex/run/pass/arith5.mod: Ditto. + * gm2/isolib/run/pass/real2.mod: Ditto. + * gm2/isolib/run/pass/real3.mod: Ditto. + * gm2/isolib/run/pass/realconv.mod: Ditto. + * gm2/isolib/run/pass/realconv2.mod: Ditto. + * gm2/pim/pass/testshort.mod: Ditto. + * gm2/projects/pim/run/pass/tower/AdvSystem.mod: Ditto. + * gm2/projects/pim/run/pass/tower/DrawL.mod: Ditto. + * gm2/warnings/returntype/pass/Termbase.mod: Ditto. + * gm2/warnings/returntype/pass/keypressedsimple.mod: Ditto. + +2023-03-16 Patrick Palka + + PR c++/109030 + * g++.dg/cpp2a/constexpr-inst2.C: New test. + +2023-03-16 Patrick Palka + + PR c++/100288 + * g++.dg/cpp2a/concepts-recursive-sat5.C: New test. + +2023-03-16 Iain Buclaw + + * gdc.dg/torture/simd23084.d: New test. + * gdc.dg/torture/simd23085.d: New test. + * gdc.dg/torture/simd23218.d: New test. + +2023-03-16 Martin Liska + + PR middle-end/106133 + * c-c++-common/pr106133.c: New test. + +2023-03-16 Alexandre Oliva + + * gcc.dg/vect/pr103116-2.c (x): Fix array size. + +2023-03-16 Jason Merrill + + PR c++/105406 + * g++.dg/coroutines/co-await-moveonly1.C: New test. + +2023-03-16 Iain Buclaw + + PR d/109144 + * gdc.dg/torture/pr109144.d: New test. + +2023-03-16 Richard Biener + + PR tree-optimization/109123 + * gcc.dg/Wuse-after-free-pr109123.c: New testcase. + * gcc.dg/Wuse-after-free-2.c: Amend expected diagnostic with + the name of the pointer. + * c-c++-common/Wuse-after-free-6.c: Un-XFAIL case. + +2023-03-15 Jason Merrill + + PR c++/103871 + PR c++/98056 + * g++.dg/coroutines/co-await-initlist1.C: New test. + +2023-03-15 David Malcolm + + PR analyzer/109097 + * c-c++-common/diagnostic-format-sarif-file-1.c: Verify that we + have an invocation object marked as succeeding, with no + notifications. + * gcc.dg/plugin/crash-test-ice-sarif.c: New test. + * gcc.dg/plugin/crash-test-ice-stderr.c: New test. + * gcc.dg/plugin/crash-test-write-though-null-sarif.c: New test. + * gcc.dg/plugin/crash-test-write-though-null-stderr.c: New test. + * gcc.dg/plugin/crash_test_plugin.c: New plugin. + * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the new plugin + and test cases. + +2023-03-15 Uros Bizjak + + * gcc.target/i386/merge-1.c (dg-options): Use -mno-sse4. + * gcc.target/i386/sse2-mmx-21.c (dg-options): Ditto. + * gcc.target/i386/sse-movss-4.c (dg-options): + Use -mno-sse4. Simplify scan-assembler-not strings. + * gcc.target/i386/sse2-movsd-3.c (dg-options): Ditto. + * gcc.target/i386/sse2-mmx-movss-1.c: New test. + +2023-03-15 Harald Anlauf + Tobias Burnus + + PR fortran/58331 + * gfortran.dg/class_dummy_10.f90: New test. + +2023-03-15 Marek Polacek + + PR c++/107280 + * g++.dg/cpp1z/constexpr-lambda28.C: New test. + +2023-03-15 Richard Biener + + * g++.dg/warn/Wuse-after-free3.C: Remove expected duplicate + diagnostic. + +2023-03-15 Jason Merrill + + PR c++/58538 + * g++.dg/template/ttp7.C: Remove expected error. + +2023-03-15 Jason Merrill + + PR c++/108179 + PR c++/104107 + PR c++/95036 + * g++.dg/template/ttp35.C: New test. + +2023-03-15 Richard Biener + + PR tree-optimization/109139 + * gcc.dg/torture/pr109139.c: New testcase. + +2023-03-15 Christoph Müllner + + * gcc.target/riscv/xtheadmempair-1.c: New test. + * gcc.target/riscv/xtheadmempair-2.c: New test. + * gcc.target/riscv/xtheadmempair-3.c: New test. + +2023-03-15 Christoph Müllner + + * gcc.target/riscv/xtheadfmv-fmv.c: New test. + +2023-03-15 Christoph Müllner + + * gcc.target/riscv/xtheadmac-mula-muls.c: New test. + +2023-03-15 Christoph Müllner + + * gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c: New test. + * gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c: New test. + * gcc.target/riscv/xtheadcondmov-mveqz-reg-eqz.c: New test. + * gcc.target/riscv/xtheadcondmov-mveqz-reg-not.c: New test. + * gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c: New test. + * gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c: New test. + * gcc.target/riscv/xtheadcondmov-mvnez-reg-cond.c: New test. + * gcc.target/riscv/xtheadcondmov-mvnez-reg-nez.c: New test. + +2023-03-15 Christoph Müllner + + * gcc.target/riscv/xtheadbb-ext.c: New test. + * gcc.target/riscv/xtheadbb-extu-2.c: New test. + * gcc.target/riscv/xtheadbb-extu.c: New test. + * gcc.target/riscv/xtheadbb-ff1.c: New test. + * gcc.target/riscv/xtheadbb-rev.c: New test. + * gcc.target/riscv/xtheadbb-srri.c: New test. + +2023-03-15 Christoph Müllner + + * gcc.target/riscv/xtheadbs-tst.c: New test. + +2023-03-15 Christoph Müllner + + * gcc.target/riscv/xtheadba-addsl.c: New test. + +2023-03-15 Christoph Müllner + + * gcc.target/riscv/mcpu-thead-c906.c: New test. + +2023-03-15 Christoph Müllner + + * gcc.target/riscv/xtheadba.c: New test. + * gcc.target/riscv/xtheadbb.c: New test. + * gcc.target/riscv/xtheadbs.c: New test. + * gcc.target/riscv/xtheadcmo.c: New test. + * gcc.target/riscv/xtheadcondmov.c: New test. + * gcc.target/riscv/xtheadfmemidx.c: New test. + * gcc.target/riscv/xtheadfmv.c: New test. + * gcc.target/riscv/xtheadint.c: New test. + * gcc.target/riscv/xtheadmac.c: New test. + * gcc.target/riscv/xtheadmemidx.c: New test. + * gcc.target/riscv/xtheadmempair.c: New test. + * gcc.target/riscv/xtheadsync.c: New test. + +2023-03-15 Hu, Lin1 + + PR target/109117 + * gcc.target/i386/pr109117-1.c: New test. + +2023-03-15 Jonathan Yong <10walls@gmail.com> + + * gcc.dg/pic-2.c: Fix expected __PIC__ value. + * gcc.dg/pic-3.c: Ditto. + * gcc.dg/pic-4.c: Ditto. + +2023-03-14 Patrick Palka + + PR c++/96830 + * g++.dg/cpp2a/concepts-class5.C: New test. + * g++.dg/cpp2a/concepts-class5a.C: New test. + +2023-03-14 Patrick Palka + + PR c++/96830 + * g++.dg/cpp2a/concepts-friend14.C: New test. + +2023-03-14 Jason Merrill + + PR c++/108468 + * g++.dg/cpp1y/var-templ78.C: New test. + +2023-03-14 Jason Merrill + + PR c++/107310 + * c-c++-common/Wimplicit-fallthrough-39.c: Adjust warning. + * g++.dg/warn/Wreturn-6.C: New test. + +2023-03-14 Jakub Jelinek + + PR target/109109 + * gcc.target/i386/pr109109-1.c: New test. + * gcc.target/i386/pr109109-2.c: New test. + +2023-03-14 Iain Buclaw + + PR d/109108 + * gdc.dg/torture/imports/pr109108.d: New test. + * gdc.dg/torture/pr109108.d: New test. + +2023-03-14 Jakub Jelinek + + PR c++/108972 + PR testsuite/109129 + * g++.dg/cpp2a/concepts-lambda3.C: Use dg-do run only for c++20, + for c++17_down dg-do compile. Expect dg-excess-errors for c++17_down + rather than ! concepts. + +2023-03-14 Jakub Jelinek + + PR c++/109096 + * g++.dg/cpp1z/has-unique-obj-representations3.C: New test. + +2023-03-14 Richard Biener + + * gcc.dg/auto-init-unused-1.c: New testcase. + +2023-03-14 Eric Botcazou + + PR tree-optimization/109005 + * gnat.dg/specs/opt6.ads: New test. + +2023-03-14 Tamar Christina + + PR testsuite/109118 + * gcc.dg/mla_1.c: Moved to... + * gcc.target/aarch64/sve/mla_3.c: ...here. + +2023-03-14 Jakub Jelinek + + PR tree-optimization/109115 + * gcc.dg/pr109115.c: New test. + +2023-03-14 Richard Biener + + * g++.dg/torture/20230313.C: New testcase. + +2023-03-13 Gaius Mulley + + * gm2/pim/fail/largeconst.mod: New test. + +2023-03-13 Jason Merrill + + PR c++/107128 + * g++.dg/warn/pragma-system_header6.h: New test. + * g++.dg/warn/pragma-system_header6.C: New test. + +2023-03-13 David Malcolm + + PR analyzer/105906 + * gcc.dg/analyzer/leak-pr105906.c: New test. + +2023-03-13 David Malcolm + + PR analyzer/108045 + * gcc.dg/analyzer/leak-pr108045-with-call-summaries.c: New test. + * gcc.dg/analyzer/leak-pr108045-without-call-summaries.c: New test. + +2023-03-13 David Malcolm + + * gcc.dg/analyzer/exec-1.c: New test. + * gcc.dg/analyzer/snprintf-concat.c: New test. + * gcc.dg/analyzer/vsnprintf-1.c: New test. + +2023-03-13 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/merge_constraint-2.c: New test. + +2023-03-13 Kito Cheng + + * g++.target/riscv/rvv/base/vaadd_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vadc_vvm-1.C: Removed. + * g++.target/riscv/rvv/base/vadc_vvm-2.C: Removed. + * g++.target/riscv/rvv/base/vadc_vvm-3.C: Removed. + * g++.target/riscv/rvv/base/vadc_vvm_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vadc_vvm_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vadc_vvm_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vadc_vxm_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vadc_vxm_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vadc_vxm_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vadc_vxm_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vadc_vxm_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vadc_vxm_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vand_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vle-1.C: Removed. + * g++.target/riscv/rvv/base/vle_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vle_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vle_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei16-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei16-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei16-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei16_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei16_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei16_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei16_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei16_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei16_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei16_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei16_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei16_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei16_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei16_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei16_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei32-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei32-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei32-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei32_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei32_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei32_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei32_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei32_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei32_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei32_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei32_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei32_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei32_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei32_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei32_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei64-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei64-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei64-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei64_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei64_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei64_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei64_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei64_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei64_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei64_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei64_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei64_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei64_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei64_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei64_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei8-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei8-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei8-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei8_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei8_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei8_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei8_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei8_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei8_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei8_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei8_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei8_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vloxei8_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vloxei8_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vloxei8_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vlse-1.C: Removed. + * g++.target/riscv/rvv/base/vlse_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vlse_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vlse_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei16-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei16-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei16-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei16_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei16_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei16_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei16_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei16_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei16_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei16_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei16_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei16_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei16_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei16_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei16_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei32-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei32-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei32-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei32_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei32_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei32_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei32_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei32_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei32_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei32_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei32_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei32_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei32_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei32_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei32_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei64-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei64-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei64-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei64_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei64_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei64_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei64_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei64_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei64_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei64_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei64_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei64_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei64_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei64_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei64_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei8-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei8-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei8-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei8_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei8_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei8_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei8_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei8_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei8_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei8_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei8_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei8_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vluxei8_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vluxei8_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vluxei8_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vvm-1.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vvm-2.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vvm-3.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vxm_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vxm_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vxm_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vxm_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vxm_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmadc_vxm_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vvm-1.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vvm-2.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vvm-3.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vvm-4.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vvm-5.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vvm-6.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vvm_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vvm_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vvm_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vvm_tu-4.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vvm_tu-5.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vvm_tu-6.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vxm_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vxm_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vxm_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vxm_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vxm_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vxm_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vvm-1.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vvm-2.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vvm-3.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vv_m-1.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vv_m-2.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vv_m-3.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_m_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_m_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_m_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_m_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_m_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_m_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmseq_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vv_m-1.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vv_m-2.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vv_m-3.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_m_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_m_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_m_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_m_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_m_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_m_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsge_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vv_m-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vv_m-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vv_m-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgeu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vv_m-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vv_m-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vv_m-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgt_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vv_m-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vv_m-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vv_m-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsgtu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vv_m-1.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vv_m-2.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vv_m-3.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_m_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_m_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_m_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_m_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_m_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_m_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsle_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vv_m-1.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vv_m-2.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vv_m-3.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsleu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vv_m-1.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vv_m-2.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vv_m-3.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_m_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_m_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_m_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_m_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_m_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_m_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmslt_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vv_m-1.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vv_m-2.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vv_m-3.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsltu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vv_m-1.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vv_m-2.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vv_m-3.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_m_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_m_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_m_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_m_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_m_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_m_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmsne_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vmv_v-1.C: Removed. + * g++.target/riscv/rvv/base/vmv_v_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vmv_v_x_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vmv_v_x_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vmv_v_x_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vmv_v_x_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vmv_v_x_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vmv_v_x_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vnclip_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vnclipu_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x-1.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x-2.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x-3.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vncvt_x_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vneg_v-1.C: Removed. + * g++.target/riscv/rvv/base/vneg_v-2.C: Removed. + * g++.target/riscv/rvv/base/vneg_v-3.C: Removed. + * g++.target/riscv/rvv/base/vneg_v_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vneg_v_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vneg_v_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vneg_v_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vneg_v_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vneg_v_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vneg_v_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vneg_v_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vneg_v_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vneg_v_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vneg_v_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vneg_v_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vnot_v-1.C: Removed. + * g++.target/riscv/rvv/base/vnot_v-2.C: Removed. + * g++.target/riscv/rvv/base/vnot_v-3.C: Removed. + * g++.target/riscv/rvv/base/vnot_v_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vnot_v_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vnot_v_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vnot_v_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vnot_v_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vnot_v_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vnot_v_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vnot_v_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vnot_v_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vnot_v_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vnot_v_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vnot_v_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vnsra_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vnsrl_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vor_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vvm-1.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vvm-2.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vvm-3.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vvm_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vvm_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vvm_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vxm_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vxm_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vxm_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vxm_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vxm_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vxm_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vse-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf2_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf4_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsext_vf8_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsll_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsll_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsm-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsoxei16-1.C: Removed. + * g++.target/riscv/rvv/base/vsoxei16-2.C: Removed. + * g++.target/riscv/rvv/base/vsoxei16-3.C: Removed. + * g++.target/riscv/rvv/base/vsoxei32-1.C: Removed. + * g++.target/riscv/rvv/base/vsoxei32-2.C: Removed. + * g++.target/riscv/rvv/base/vsoxei32-3.C: Removed. + * g++.target/riscv/rvv/base/vsoxei64-1.C: Removed. + * g++.target/riscv/rvv/base/vsoxei64-2.C: Removed. + * g++.target/riscv/rvv/base/vsoxei64-3.C: Removed. + * g++.target/riscv/rvv/base/vsoxei8-1.C: Removed. + * g++.target/riscv/rvv/base/vsoxei8-2.C: Removed. + * g++.target/riscv/rvv/base/vsoxei8-3.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsra_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsra_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsrl_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsse-1.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vssra_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vssra_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vssrl_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vsuxei16-1.C: Removed. + * g++.target/riscv/rvv/base/vsuxei16-2.C: Removed. + * g++.target/riscv/rvv/base/vsuxei16-3.C: Removed. + * g++.target/riscv/rvv/base/vsuxei32-1.C: Removed. + * g++.target/riscv/rvv/base/vsuxei32-2.C: Removed. + * g++.target/riscv/rvv/base/vsuxei32-3.C: Removed. + * g++.target/riscv/rvv/base/vsuxei64-1.C: Removed. + * g++.target/riscv/rvv/base/vsuxei64-2.C: Removed. + * g++.target/riscv/rvv/base/vsuxei64-3.C: Removed. + * g++.target/riscv/rvv/base/vsuxei8-1.C: Removed. + * g++.target/riscv/rvv/base/vsuxei8-2.C: Removed. + * g++.target/riscv/rvv/base/vsuxei8-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwadd_wx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwaddu_wx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x-1.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x-2.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x-3.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwcvt_x_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x-1.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x-2.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x-3.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwcvtu_x_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmacc_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccu_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmaccus_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmul_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwmulu_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsub_wx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_vx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vwsubu_wx_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vv_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_mu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_mu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_mu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_mu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_mu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_mu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tum_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tum_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tum_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tum_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tum_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tum_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-3.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-1.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-2.C: Removed. + * g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf2_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf4_tumu-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8_mu-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8_mu-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8_mu-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8_tu-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8_tu-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8_tu-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8_tum-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8_tum-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8_tum-3.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8_tumu-1.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8_tumu-2.C: Removed. + * g++.target/riscv/rvv/base/vzext_vf8_tumu-3.C: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vadc-1.c: Removed. + * gcc.target/riscv/rvv/base/vadc-2.c: Removed. + * gcc.target/riscv/rvv/base/vadc-3.c: Removed. + * gcc.target/riscv/rvv/base/vadc-4.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vvm-1.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vvm-2.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vvm-3.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vvm_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vvm_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vvm_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vxm_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vxm_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vxm_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vxm_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vxm_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vxm_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vand_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vle-1.c: Removed. + * gcc.target/riscv/rvv/base/vle-2.c: Removed. + * gcc.target/riscv/rvv/base/vle-3.c: Removed. + * gcc.target/riscv/rvv/base/vle-constraint-1.c: Removed. + * gcc.target/riscv/rvv/base/vle_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vle_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vle_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vle_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vle_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vle_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vle_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vle_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vle_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vle_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vle_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vle_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vle_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vle_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vle_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vlm_vsm-1.c: Removed. + * gcc.target/riscv/rvv/base/vlm_vsm-2.c: Removed. + * gcc.target/riscv/rvv/base/vlm_vsm-3.c: Removed. + * gcc.target/riscv/rvv/base/vlmul_v.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei16_v_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei32_v_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei64_v_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vloxei8_v_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vlse-1.c: Removed. + * gcc.target/riscv/rvv/base/vlse-2.c: Removed. + * gcc.target/riscv/rvv/base/vlse-3.c: Removed. + * gcc.target/riscv/rvv/base/vlse-vsse-constraint-1.c: Removed. + * gcc.target/riscv/rvv/base/vlse_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vlse_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vlse_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vlse_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vlse_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vlse_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vlse_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vlse_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vlse_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vlse_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vlse_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vlse_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vlse_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vlse_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vlse_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei16_v_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei32_v_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei64_v_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vluxei8_v_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vlxei-vsxei-constraint-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadc-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadc-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadc-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadc-4.c: Removed. + * gcc.target/riscv/rvv/base/vmadc-5.c: Removed. + * gcc.target/riscv/rvv/base/vmadc-6.c: Removed. + * gcc.target/riscv/rvv/base/vmadc-7.c: Removed. + * gcc.target/riscv/rvv/base/vmadc-8.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vvm-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vvm-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vvm-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmerge-1.c: Removed. + * gcc.target/riscv/rvv/base/vmerge-2.c: Removed. + * gcc.target/riscv/rvv/base/vmerge-3.c: Removed. + * gcc.target/riscv/rvv/base/vmerge-4.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vvm-1.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vvm-2.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vvm-3.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vvm-4.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vvm-5.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vvm-6.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vvm_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vvm_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vvm_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vvm_tu-4.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vvm_tu-5.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vvm_tu-6.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vxm_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vxm_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vxm_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vxm_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vxm_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vxm_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc-4.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc-5.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc-6.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc-7.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc-8.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vvm-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vvm-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vvm-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmseq_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsge_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsle_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmslt_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmsne_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_v_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_v_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_v_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_x_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_x_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_x_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_x_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_x_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_x_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclip_wx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnclipu_wx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x-1.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x-2.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x-3.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vncvt_x_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vneg_v_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnot_v_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsra_wx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vor_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vread_csr.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsbc-1.c: Removed. + * gcc.target/riscv/rvv/base/vsbc-2.c: Removed. + * gcc.target/riscv/rvv/base/vsbc-3.c: Removed. + * gcc.target/riscv/rvv/base/vsbc-4.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vvm-1.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vvm-2.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vvm-3.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vvm_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vvm_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vvm_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vse-1.c: Removed. + * gcc.target/riscv/rvv/base/vse-2.c: Removed. + * gcc.target/riscv/rvv/base/vse-3.c: Removed. + * gcc.target/riscv/rvv/base/vse-constraint-1.c: Removed. + * gcc.target/riscv/rvv/base/vse_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vse_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vse_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsetvl-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf2_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf4_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsext_vf8_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsll_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei16_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei16_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei16_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei16_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei16_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei16_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei32_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei32_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei32_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei32_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei32_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei32_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei64_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei64_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei64_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei64_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei64_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei64_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei8_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei8_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei8_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei8_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei8_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsoxei8_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsra_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsrl_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsse-1.c: Removed. + * gcc.target/riscv/rvv/base/vsse-2.c: Removed. + * gcc.target/riscv/rvv/base/vsse-3.c: Removed. + * gcc.target/riscv/rvv/base/vsse_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsse_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsse_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssra_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssrl_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei16_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei16_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei16_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei16_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei16_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei16_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei32_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei32_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei32_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei32_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei32_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei32_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei64_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei64_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei64_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei64_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei64_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei64_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei8_v-1.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei8_v-2.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei8_v-3.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei8_v_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei8_v_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vsuxei8_v_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwadd_wx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwaddu_wx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x-1.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x-2.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x-3.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwcvt_x_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x-1.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x-2.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x-3.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwcvtu_x_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmacc_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmul_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwmulu_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwrite_csr.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsub_wx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_vx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vwsubu_wx_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vv_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_m_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_m_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_m_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_m_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_m_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_m_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_mu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_mu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_mu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_mu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_mu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_mu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tum_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tum_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tum_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tum_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tum_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tum_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv32-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv32-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv32-3.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv64-1.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv64-2.c: Removed. + * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv64-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf2_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf4_tumu-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_m-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_m-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_m-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_mu-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_mu-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_mu-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_tu-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_tu-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_tu-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_tum-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_tum-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_tum-3.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_tumu-1.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_tumu-2.c: Removed. + * gcc.target/riscv/rvv/base/vzext_vf8_tumu-3.c: Removed. + +2023-03-13 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/bug-1.c: New test. + +2023-03-13 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/narrow_constraint-1.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-10.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-11.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-2.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-3.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-4.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-5.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-6.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-7.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-8.c: New test. + * gcc.target/riscv/rvv/base/narrow_constraint-9.c: New test. + +2023-03-13 Marek Polacek + + PR c++/107532 + * g++.dg/warn/Wdangling-reference10.C: New test. + +2023-03-13 Lewis Hyatt + + PR preprocessor/67046 + * c-c++-common/cpp/pr67046.c: New test. + +2023-03-13 Richard Biener + + PR tree-optimization/109046 + * gcc.dg/tree-ssa/forwprop-39.c: New testcase. + +2023-03-12 Jakub Jelinek + + * gcc.target/aarch64/sve/acle/general-c/ternary_bfloat16_opt_n_1.c: + Don't expect one __bf16 related error. + * gcc.target/aarch64/bfloat16_vector_typecheck_1.c: Adjust or remove + dg-error directives for __bf16 being an extended arithmetic type. + * gcc.target/aarch64/bfloat16_vector_typecheck_2.c: Likewise. + * gcc.target/aarch64/bfloat16_scalar_typecheck.c: Likewise. + * g++.target/aarch64/bfloat_cpp_typecheck.C: Don't expect two __bf16 + related errors. + +2023-03-12 Roger Sayle + + PR middle-end/109031 + * gcc.dg/tree-ssa/pr109031-1.c: New test case. + * gcc.dg/tree-ssa/pr109031-2.c: Likewise. + +2023-03-12 Tamar Christina + + PR target/108583 + * gcc.dg/vect/vect-div-bitmask-4.c: New test. + * gcc.dg/vect/vect-div-bitmask-5.c: New test. + +2023-03-12 Tamar Christina + Richard Sandiford + + PR target/108583 + * gcc.dg/mla_1.c: New test. + +2023-03-12 Gaius Mulley + + PR modula2/109089 + * gm2/pimlib/run/pass/limittests.mod: Rewritten to reflect + the external definitions of isfinite. + +2023-03-12 Jonathan Yong <10walls@gmail.com> + + * gcc.dg/builtins-69.c: Use (long )*regex pattern to + allow long long instead of just long. + * gcc.dg/pr80163.c: Use __INTPTR_TYPE__ for LLP64 tagets. + +2023-03-12 Jonathan Yong <10walls@gmail.com> + + * gcc.c-torture/compile/103818.c: Enable test for llp64. + +2023-03-11 Cupertino Miranda + + * gcc.dg/pr25521.c: Skip for !const_volatile_readonly_section + targets. Adjust expected output. + * lib/target-supports.exp + (check_effective_target_const_volatile_readonly_section): New + +2023-03-11 Harald Anlauf + + PR fortran/106945 + * gfortran.dg/pr106945.f90: New test. + +2023-03-10 Hans-Peter Nilsson + + * lib/target-supports.exp (check_fork_available): Don't signal + true for CRIS running on a simulator. + +2023-03-10 Hans-Peter Nilsson + + * gcc.dg/pr108117.c: Require effective-target scheduling. + +2023-03-10 Hans-Peter Nilsson + + * gcc.dg/pr106397.c: Add -w to options. + +2023-03-10 Jakub Jelinek + + PR target/107703 + * g++.dg/cpp23/ext-floating.h (__STDCPP_BFLOAT16_T__): Don't undefine + it. + (std::bfloat16_t): Use decltype (0.0bf16) like libstdc++, rather than + __bf16. + * g++.dg/cpp23/ext-floating14.C: New test. + +2023-03-10 Jakub Jelinek + + PR c++/107558 + * g++.dg/gomp/pr107558.C: New test. + +2023-03-10 Jakub Jelinek + + PR c++/109039 + * g++.dg/abi/no_unique_address7.C: New test. + +2023-03-10 Jason Merrill + + PR c++/108972 + * g++.dg/cpp2a/concepts-lambda3.C: Run at lower std levels, + but expect errors. + +2023-03-10 Marek Polacek + + PR sanitizer/108060 + PR sanitizer/109050 + * c-c++-common/ubsan/bounds-17.c: New test. + * c-c++-common/ubsan/bounds-18.c: New test. + * c-c++-common/ubsan/bounds-19.c: New test. + * c-c++-common/ubsan/bounds-20.c: New test. + * c-c++-common/ubsan/bounds-21.c: New test. + +2023-03-10 Harald Anlauf + + PR fortran/104332 + * gfortran.dg/bind_c_usage_34.f90: New test. + +2023-03-10 Andrew Pinski + + * gcc.target/aarch64/rev16_2.c: New test. + * gcc.target/aarch64/shift_and_operator-1.c: New test. + +2023-03-10 David Malcolm + + PR analyzer/109059 + * gcc.dg/analyzer/flex-with-call-summaries.c: Remove xfail. + * gcc.dg/analyzer/leak-pr109059-1.c: New test. + * gcc.dg/analyzer/leak-pr109059-2.c: New test. + +2023-03-10 Jason Merrill + + PR c++/108566 + * g++.dg/abi/anon6.C: New test. + +2023-03-10 David Malcolm + + PR analyzer/108475 + PR analyzer/109060 + * gcc.dg/analyzer/deref-before-check-pr108475-1.c: New test. + * gcc.dg/analyzer/deref-before-check-pr108475-haproxy-tcpcheck.c: + New test. + * gcc.dg/analyzer/deref-before-check-pr109060-haproxy-cfgparse.c: + New test. + +2023-03-10 Jakub Jelinek + + PR c/108079 + * c-c++-common/Wunused-var-18.c: New test. + +2023-03-10 Jakub Jelinek + + PR tree-optimization/109008 + * gcc.dg/pr109008.c: New test. + +2023-03-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/merge_constraint-1.c: New test. + +2023-03-10 Jason Merrill + + PR c++/108099 + * g++.dg/ext/int128-7.C: New test. + +2023-03-10 Jason Merrill + + PR c++/108542 + * g++.dg/contracts/contracts-err1.C: New test. + +2023-03-09 Jason Merrill + + PR c++/108773 + * g++.dg/cpp0x/initlist-array18.C: New test. + * g++.dg/cpp0x/initlist-array19.C: New test. + +2023-03-09 David Malcolm + + PR analyzer/102671 + PR analyzer/105755 + PR analyzer/108251 + PR analyzer/108400 + * gcc.dg/analyzer/null-deref-pr102671-1.c: New test, reduced + from Emacs. + * gcc.dg/analyzer/null-deref-pr102671-2.c: Likewise. + * gcc.dg/analyzer/null-deref-pr105755.c: Likewise. + * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: + New test, reduced from haproxy's src/ssl_sample.c. + * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c: + Likewise. + * gcc.dg/analyzer/null-deref-pr108400-SoftEtherVPN-WebUi.c: New + test, reduced from SoftEtherVPN's src/Cedar/WebUI.c. + +2023-03-09 Tamar Christina + + * gcc.target/aarch64/tbz_2.c: New test. + * gcc.target/aarch64/tbz_3.c: New test. + +2023-03-09 Jason Merrill + + DR 2664 + PR c++/102529 + * g++.dg/DRs/dr2664.C: New test. + * g++.dg/cpp2a/class-deduction-alias15.C: New test. + +2023-03-09 Jason Merrill + Michael Spertus + + PR c++/105841 + * g++.dg/cpp2a/class-deduction-alias14.C: New test. + +2023-03-09 Jason Merrill + + * g++.dg/ext/is_deducible1.C: Guard with + __has_builtin (__is_deducible). + +2023-03-09 Jason Merrill + + PR c++/105841 + * g++.dg/ext/is_deducible1.C: New test. + +2023-03-09 Vladimir N. Makarov + + * gcc.target/aarch64/pr108999.c: New. + +2023-03-09 Richard Biener + + PR middle-end/108995 + * gcc.dg/ubsan/pr108995.c: New testcase. + +2023-03-09 Jakub Jelinek + Richard Biener + + PR tree-optimization/109008 + * gcc.c-torture/execute/ieee/pr109008.c: New test. + +2023-03-08 Kewen Lin + + * gcc.target/powerpc/ppc-fortran/ppc-fortran.exp: Override + gcc_{warning,error}_prefix with Fortran specific one used in + gfortran_init. + +2023-03-08 Kewen Lin + + * gcc.target/powerpc/bfp/scalar-test-data-class-14.c: Adjust with + int128 effective target requirement. + * gcc.target/powerpc/bfp/scalar-test-data-class-15.c: Likewise. + +2023-03-08 Kewen Lin + + PR testsuite/108729 + * gcc.target/powerpc/bfp/scalar-test-data-class-12.c: Adjust with + has_arch_ppc64 effective target. + * gcc.target/powerpc/bfp/vec-test-data-class-9.c: Likewise. + +2023-03-08 Kewen Lin + + PR testsuite/108730 + * gcc.target/powerpc/bfp/scalar-test-neg-8.c: Adjust with lp64 + effective target requirement. + +2023-03-08 Kewen Lin + + PR testsuite/108813 + * gcc.target/powerpc/pr101384-2.c: Adjust with xxspltib. + +2023-03-08 Kewen Lin + + PR testsuite/108810 + * gcc.target/powerpc/fold-vec-extract-double.p9.c (testd_cst): Adjust + the extracted index for BE. + +2023-03-08 Jeff Law + + * gcc.target/mips/msa-ds.c: Fix over eager pattern matching. + +2023-03-08 Hans-Peter Nilsson + + * gcc.dg/analyzer/omp-parallel-for-get-min.c, + gcc.dg/analyzer/omp-parallel-for-1.c: Require effective target fopenmp. + +2023-03-07 Jason Merrill + + PR c++/108526 + PR c++/106651 + * g++.dg/cpp23/static-operator-call5.C: Pass -g. + +2023-03-07 Marek Polacek + + PR c++/107532 + * g++.dg/warn/Wdangling-reference8.C: New test. + * g++.dg/warn/Wdangling-reference9.C: New test. + +2023-03-07 Robin Dapp + + * gcc.dg/vect/slp-3.c: Add '{ ... }'. + +2023-03-07 Jakub Jelinek + + PR c++/109042 + * g++.dg/rtti/pr109042.C: New test. + +2023-03-07 Marek Polacek + + PR c++/109030 + * g++.dg/cpp0x/noexcept77.C: New test. + +2023-03-07 Marek Polacek + + PR c++/107939 + * g++.dg/cpp1y/var-templ74.C: Remove dg-error. + * g++.dg/cpp1y/var-templ77.C: New test. + +2023-03-07 Pan Li + Ju-Zhe Zhong + + PR target/108185 + PR target/108654 + * gcc.target/riscv/rvv/base/pr108185-1.c: New test. + * gcc.target/riscv/rvv/base/pr108185-2.c: New test. + * gcc.target/riscv/rvv/base/pr108185-3.c: New test. + * gcc.target/riscv/rvv/base/pr108185-4.c: New test. + * gcc.target/riscv/rvv/base/pr108185-5.c: New test. + * gcc.target/riscv/rvv/base/pr108185-6.c: New test. + * gcc.target/riscv/rvv/base/pr108185-7.c: New test. + * gcc.target/riscv/rvv/base/pr108185-8.c: New test. + +2023-03-07 Xi Ruoyao + + * gcc.target/aarch64/shrink_wrap_1.c (dg-options): Add + -fno-stack-protector. + * gcc.target/aarch64/stack-check-cfa-1.c (dg-options): Add + -fno-stack-protector. + * gcc.target/aarch64/stack-check-cfa-2.c (dg-options): Add + -fno-stack-protector. + * gcc.target/aarch64/test_frame_17.c (dg-options): Add + -fno-stack-protector. + +2023-03-07 Xi Ruoyao + + * gcc.target/aarch64/pr104005.c (dg-options): Add + -fno-stack-protector. + +2023-03-07 Xi Ruoyao + + * gcc.target/aarch64/auto-init-7.c (dg-options): Add + -fno-stack-protector. + +2023-03-07 Xi Ruoyao + + * gcc.target/aarch64/pr103147-10.c (dg-options): Add + -fno-stack-protector. + * g++.target/aarch64/pr103147-10.C: Likewise. + +2023-03-07 Xi Ruoyao + + * gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp (sve_flags): + Add -fno-stack-protector. + +2023-03-07 Xi Ruoyao + + PR testsuite/70150 + * gcc.target/aarch64/fuse_adrp_add_1.c (dg-options): Add + -fno-pie. + +2023-03-07 Xi Ruoyao + + PR testsuite/70150 + * gcc.dg/tls/pr78796.c (dg-additional-options): Add -fno-pie + -no-pie for aarch64-*-*. + * gcc.target/aarch64/pr63304_1.c (dg-options): Add -fno-pie. + * gcc.target/aarch64/pr70120-2.c (dg-options): Add -fno-pie. + * gcc.target/aarch64/pr78733.c (dg-options): Add -fno-pie. + * gcc.target/aarch64/pr79041-2.c (dg-options): Add -fno-pie. + * gcc.target/aarch64/pr94530.c (dg-options): Add -fno-pie. + * gcc.target/aarch64/pr94577.c (dg-options): Add -fno-pie. + * gcc.target/aarch64/reload-valid-spoff.c (dg-options): Add + -fno-pie. + +2023-03-07 Xi Ruoyao + + PR testsuite/70150 + * gcc.target/aarch64/aapcs64/aapcs64.exp (additional_flags): + Add -fno-pie -no-pie. + +2023-03-07 Hans-Peter Nilsson + + * lib/target-supports.exp (check_compile): Support scanning tree-dumps. + +2023-03-07 Hans-Peter Nilsson + + * gcc.dg/plugin/must-tail-call-1.c, gcc.dg/plugin/must-tail-call-2.c: + Gate on effective target tail_call. + +2023-03-07 Hans-Peter Nilsson + + * lib/target-supports.exp (check_effective_target_tail_call): New. + +2023-03-07 Hans-Peter Nilsson + + * gcc.dg/analyzer/allocation-size-multiline-3.c: Handle + int32_t being "long int". + +2023-03-07 Hans-Peter Nilsson + + * lib/multiline.exp (_build_multiline_regex): Map + "{re:" to "(", similarly ")?" from ":re?}" and the + same without question mark. + +2023-03-06 Paul-Antoine Arras + + * gcc.target/gcn/cond_fmaxnm_1.c: New test. + * gcc.target/gcn/cond_fmaxnm_1_run.c: New test. + * gcc.target/gcn/cond_fmaxnm_2.c: New test. + * gcc.target/gcn/cond_fmaxnm_2_run.c: New test. + * gcc.target/gcn/cond_fmaxnm_3.c: New test. + * gcc.target/gcn/cond_fmaxnm_3_run.c: New test. + * gcc.target/gcn/cond_fmaxnm_4.c: New test. + * gcc.target/gcn/cond_fmaxnm_4_run.c: New test. + * gcc.target/gcn/cond_fmaxnm_5.c: New test. + * gcc.target/gcn/cond_fmaxnm_5_run.c: New test. + * gcc.target/gcn/cond_fmaxnm_6.c: New test. + * gcc.target/gcn/cond_fmaxnm_6_run.c: New test. + * gcc.target/gcn/cond_fmaxnm_7.c: New test. + * gcc.target/gcn/cond_fmaxnm_7_run.c: New test. + * gcc.target/gcn/cond_fmaxnm_8.c: New test. + * gcc.target/gcn/cond_fmaxnm_8_run.c: New test. + * gcc.target/gcn/cond_fminnm_1.c: New test. + * gcc.target/gcn/cond_fminnm_1_run.c: New test. + * gcc.target/gcn/cond_fminnm_2.c: New test. + * gcc.target/gcn/cond_fminnm_2_run.c: New test. + * gcc.target/gcn/cond_fminnm_3.c: New test. + * gcc.target/gcn/cond_fminnm_3_run.c: New test. + * gcc.target/gcn/cond_fminnm_4.c: New test. + * gcc.target/gcn/cond_fminnm_4_run.c: New test. + * gcc.target/gcn/cond_fminnm_5.c: New test. + * gcc.target/gcn/cond_fminnm_5_run.c: New test. + * gcc.target/gcn/cond_fminnm_6.c: New test. + * gcc.target/gcn/cond_fminnm_6_run.c: New test. + * gcc.target/gcn/cond_fminnm_7.c: New test. + * gcc.target/gcn/cond_fminnm_7_run.c: New test. + * gcc.target/gcn/cond_fminnm_8.c: New test. + * gcc.target/gcn/cond_fminnm_8_run.c: New test. + * gcc.target/gcn/cond_smax_1.c: New test. + * gcc.target/gcn/cond_smax_1_run.c: New test. + * gcc.target/gcn/cond_smin_1.c: New test. + * gcc.target/gcn/cond_smin_1_run.c: New test. + * gcc.target/gcn/cond_umax_1.c: New test. + * gcc.target/gcn/cond_umax_1_run.c: New test. + * gcc.target/gcn/cond_umin_1.c: New test. + * gcc.target/gcn/cond_umin_1_run.c: New test. + * gcc.target/gcn/smax_1.c: New test. + * gcc.target/gcn/smax_1_run.c: New test. + * gcc.target/gcn/smin_1.c: New test. + * gcc.target/gcn/smin_1_run.c: New test. + * gcc.target/gcn/umax_1.c: New test. + * gcc.target/gcn/umax_1_run.c: New test. + * gcc.target/gcn/umin_1.c: New test. + * gcc.target/gcn/umin_1_run.c: New test. + +2023-03-06 Richard Biener + + PR tree-optimization/109025 + * gcc.dg/vect/pr109025.c: New testcase. + +2023-03-06 Xi Ruoyao + + * gcc.target/loongarch/prolog-opt.c (dg-options): Add + -fno-stack-protector. + * gcc.target/loongarch/stack-check-cfa-1.c (dg-options): + Likewise. + * gcc.target/loongarch/stack-check-cfa-2.c (dg-options): + Likewise. + +2023-03-06 Xi Ruoyao + + PR target/109000 + * gcc.target/loongarch/flt-abi-isa-1.c: New test. + * gcc.target/loongarch/flt-abi-isa-2.c: New test. + * gcc.target/loongarch/flt-abi-isa-3.c: New test. + * gcc.target/loongarch/flt-abi-isa-4.c: New test. + +2023-03-05 Harald Anlauf + Tobias Burnus + + PR fortran/106856 + * gfortran.dg/interface_41.f90: Remove dg-pattern from valid testcase. + * gfortran.dg/class_74.f90: New test. + * gfortran.dg/class_75.f90: New test. + +2023-03-05 Jakub Jelinek + + * gcc.dg/vect/slp-perm-8.c: Fix up syntax error in + scan-tree-dump-times target selector. + +2023-03-05 Liao Shihua + SiYu Wu + + * gcc.target/riscv/zksed32.c: New test. + * gcc.target/riscv/zksed64.c: New test. + * gcc.target/riscv/zksh32.c: New test. + * gcc.target/riscv/zksh64.c: New test. + +2023-03-05 Liao Shihua + SiYu Wu + + * gcc.target/riscv/zknh-sha256.c: New test. + * gcc.target/riscv/zknh-sha512-32.c: New test. + * gcc.target/riscv/zknh-sha512-64.c: New test. + +2023-03-05 Liao Shihua + SiYu Wu + + * gcc.target/riscv/zknd32.c: New test. + * gcc.target/riscv/zknd64.c: New test. + * gcc.target/riscv/zkne32.c: New test. + * gcc.target/riscv/zkne64.c: New test. + +2023-03-05 Liao Shihua + SiYu Wu + + * gcc.target/riscv/zbkb32.c: New test. + * gcc.target/riscv/zbkb64.c: New test. + * gcc.target/riscv/zbkc32.c: New test. + * gcc.target/riscv/zbkc64.c: New test. + * gcc.target/riscv/zbkx32.c: New test. + * gcc.target/riscv/zbkx64.c: New test. + +2023-03-05 Vineet Gupta + + * gcc.target/riscv/zba-shNadd-07.c: f2(i*783) now generates MUL vs. + 5 insn sh1add+slli+add+slli+sub. + * gcc.target/riscv/pr108987.c: New test. + +2023-03-05 Ju-Zhe Zhong + kito-cheng + + * gcc.target/riscv/rvv/base/vlmul_v.c: New test. + +2023-03-05 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/binop_vx_constraint-167.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-168.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-169.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-170.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-171.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-172.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-173.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-174.c: New test. + +2023-03-05 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/scalar_move-1.c: New test. + * gcc.target/riscv/rvv/base/scalar_move-2.c: New test. + * gcc.target/riscv/rvv/base/scalar_move-3.c: New test. + * gcc.target/riscv/rvv/base/scalar_move-4.c: New test. + * gcc.target/riscv/rvv/base/scalar_move-5.c: New test. + * gcc.target/riscv/rvv/base/scalar_move-6.c: New test. + * gcc.target/riscv/rvv/base/scalar_move-7.c: New test. + * gcc.target/riscv/rvv/base/scalar_move-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-100.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-101.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-78.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-79.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-80.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-81.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-82.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-83.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-85.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-86.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-87.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-88.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-89.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-90.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-91.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-92.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-93.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-94.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-95.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-96.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-97.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-98.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-99.c: New test. + +2023-03-05 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-10.c: Adjust test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-18.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-9.c: Ditto. + +2023-03-05 Lin Sinan + + * gcc.target/riscv/zbb-min-max-03.c: New test. + +2023-03-04 Jakub Jelinek + + * gcc.dg/vect/slp-3.c: Fix up syntax errors in scan-tree-dump-times + target selectors. + * gcc.dg/vect/slp-multitypes-11.c: Likewise. + +2023-03-04 Jakub Jelinek + + PR c/107465 + * c-c++-common/Wsign-compare-2.c (f18): New test. + +2023-03-04 Jakub Jelinek + + PR c/107465 + * c-c++-common/Wsign-compare-2.c: New test. + * c-c++-common/pr107465.c: New test. + +2023-03-04 Jakub Jelinek + + PR c/107846 + * gcc.dg/pr107846.c: New test. + +2023-03-04 Jakub Jelinek + + PR c++/108702 + * g++.dg/ext/stmtexpr19.C: Use dg-do link rather than dg-do compile. + +2023-03-04 Hans-Peter Nilsson + + * gcc.dg/ipa/pr77653.c: Skip for cris-*-*. + +2023-03-04 Hans-Peter Nilsson + + * gcc.dg/ifcvt-4.c: Add cris-*-* to skip list. + +2023-03-04 Hans-Peter Nilsson + + * g++.dg/cpp0x/pr84497.C: Handle USER_LABEL_PREFIX == "_" on + scan-assembler identifiers. + * gcc.dg/debug/btf/btf-enum64-1.c, gcc.dg/ipa/symver1.c: Ditto. + +2023-03-03 David Malcolm + + PR analyzer/109016 + * gcc.dg/analyzer/omp-parallel-for-1.c: New test. + * gcc.dg/analyzer/omp-parallel-for-get-min.c: New test. + +2023-03-03 David Malcolm + + * gcc.dg/analyzer/doom-d_main-IdentifyVersion.c: New test. + * gcc.dg/analyzer/sprintf-1.c: New test. + * gcc.dg/analyzer/sprintf-concat.c: New test. + +2023-03-03 David Malcolm + + PR tree-optimization/108988 + * gcc.dg/analyzer/pr99716-1.c (test_2): Remove xfail. + +2023-03-03 Alexandre Oliva + + * g++.dg/warn/Wdangling-pointer.C (warn_init_ref_member): Add + two new variants, one fixed, one xfailed. + * c-c++-common/Wdangling-pointer-5.c + (nowarn_store_arg_store_arg): Add now-expected warnings. + +2023-03-03 Alexandre Oliva + + * gcc.target/arm/acle/cde-errors.c: Adjust messages for quote + around +cdecp. + * gcc.target/arm/acle/cde-mve-error-2.c: Likewise. + +2023-03-03 Alexandre Oliva + + * gcc.target/arm/armv8_2-fp16-move-1.c: Combine vcmp and vcmpe + expected counts into a single pattern. + * gcc.target/arm/armv8_2-fp16-move-2.c: Accept conditional + return and reversed conditions. + +2023-03-03 Alexandre Oliva + + PR target/51534 + * gcc.target/arm/pr51534.c: Split softfp variant into... + * gcc.target/arm/pr51534s.c: ... this, and support ARM too. + +2023-03-03 Alexandre Oliva + + * gcc.target/arm/acle/cde-mve-full-assembly.c: Drop blank + after tab after vmsr, and lower the case of P0. + +2023-03-03 Alexandre Oliva + + PR target/104882 + * gcc.target/arm/simd/pr104882.c: Require mve hardware. + +2023-03-03 Patrick Palka + + PR c++/108998 + * g++.dg/cpp2a/lambda-generic11.C: New test. + +2023-03-03 Jakub Jelinek + + PR c/108986 + * gcc.dg/Wnonnull-8.c: New test. + +2023-03-03 Robin Dapp + + * gcc.target/s390/ifcvt-two-insns-bool.c: Allow "high" and + "not low or equal" load on condition variant. + * gcc.target/s390/ifcvt-two-insns-int.c: Dito. + * gcc.target/s390/ifcvt-two-insns-long.c: Dito. + +2023-03-03 Robin Dapp + + * gcc.dg/vect/slp-3.c: Adapt test expectation. + * gcc.dg/vect/slp-multitypes-11.c: Likewise. + * gcc.dg/vect/slp-perm-8.c: Likewise. + +2023-03-03 Richard Biener + + PR tree-optimization/109002 + * gcc.dg/torture/pr109002.c: New testcase. + +2023-03-03 Richard Biener + + PR debug/108772 + * g++.dg/lto/pr108772_0.C: New testcase. + +2023-03-03 Alexandre Oliva + + PR c++/100127 + * g++.dg/coroutines/pr100127.C: Test for header rather than + compiler macro. + * g++.dg/coroutines/pr100772-a.C: Likewise. + * g++.dg/coroutines/pr100772-b.C: Likewise. + +2023-03-03 Hans-Peter Nilsson + + * gcc.dg/attr-aligned.c: Adjust comment for ALIGN_MAX_STATIC. + (ALIGN_MAX_STATIC): Set to 512 for CRIS. + +2023-03-03 Iain Buclaw + + PR d/108946 + * gdc.dg/simd2a.d: Update test. + * gdc.dg/simd2b.d: Likewise. + * gdc.dg/simd2c.d: Likewise. + * gdc.dg/simd2d.d: Likewise. + * gdc.dg/simd2e.d: Likewise. + * gdc.dg/simd2f.d: Likewise. + * gdc.dg/simd2g.d: Likewise. + * gdc.dg/simd2h.d: Likewise. + * gdc.dg/simd2i.d: Likewise. + * gdc.dg/simd2j.d: Likewise. + +2023-03-03 Iain Buclaw + + PR d/108877 + * gdc.dg/imports/pr108877a.d: New test. + * gdc.dg/pr108877.d: New test. + +2023-03-03 Iain Buclaw + + PR d/108167 + * gdc.dg/pr108167.d: New test. + +2023-03-03 Iain Buclaw + + PR d/108945 + * gdc.dg/pr108945.d: New test. + +2023-03-02 Jakub Jelinek + + PR testsuite/108991 + * gcc.dg/memchr-3.c: Add missing comment argument to dg-warning + before target selector. + +2023-03-02 Guillaume Gomez + + PR jit/107999 + * jit.dg/test-error-array-bounds.c: Update test. + +2023-03-02 Vladimir N. Makarov + + * gcc.target/avr/pr90706.c: New. + +2023-03-02 Kwok Cheung Yeung + Paul-Antoine Arras + + * gcc.target/gcn/simd-math-1.c: New testcase. + * gcc.target/gcn/simd-math-2.c: New testcase. + +2023-03-02 Patrick Palka + + PR c++/108243 + PR c++/97553 + * g++.dg/opt/is_constant_evaluated3.C: New test. + +2023-03-02 Patrick Palka + + PR c++/108243 + * g++.dg/cpp2a/is-constant-evaluated14.C: New test. + +2023-03-02 David Malcolm + + PR analyzer/108968 + * gcc.dg/analyzer/uninit-pr108968-register.c: New test. + +2023-03-02 Jakub Jelinek + + PR debug/108716 + * g++.dg/debug/dwarf2/pr108716.C: New test. + +2023-03-02 Richard Sandiford + + PR tree-optimization/108979 + * gfortran.dg/vect/pr108979.f90: New test. + +2023-03-02 Marek Polacek + + PR c++/106259 + * g++.dg/warn/Wmismatched-tags-11.C: New test. + +2023-03-02 Robin Dapp + + * gcc.target/s390/s390.exp: Add partial subdirectory. + * gcc.target/s390/vector/vec-nopeel-2.c: Change test + expectation. + * lib/target-supports.exp: Add s390. + * gcc.target/s390/vector/partial/s390-vec-length-1.h: New test. + * gcc.target/s390/vector/partial/s390-vec-length-2.h: New test. + * gcc.target/s390/vector/partial/s390-vec-length-3.h: New test. + * gcc.target/s390/vector/partial/s390-vec-length-7.h: New test. + * gcc.target/s390/vector/partial/s390-vec-length-epil-1.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-epil-2.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-epil-3.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-epil-7.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-epil-run-1.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-epil-run-2.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-epil-run-3.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-epil-run-7.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-full-1.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-full-2.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-full-3.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-full-7.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-full-run-1.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-full-run-2.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-full-run-3.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-full-run-7.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length-run-1.h: New test. + * gcc.target/s390/vector/partial/s390-vec-length-run-2.h: New test. + * gcc.target/s390/vector/partial/s390-vec-length-run-3.h: New test. + * gcc.target/s390/vector/partial/s390-vec-length-run-7.h: New test. + * gcc.target/s390/vector/partial/s390-vec-length-small.c: New test. + * gcc.target/s390/vector/partial/s390-vec-length.h: New test. + +2023-03-02 Jonathan Yong <10walls@gmail.com> + + PR middle-end/97956 + * gcc.dg/memchr-3.c (memchr): Account for LLP64 warnings. + +2023-03-02 Jonathan Yong <10walls@gmail.com> + + * gcc.dg/overflow-warn-9.c: Add LLP64 case. + +2023-03-02 Richard Sandiford + + PR tree-optimization/108603 + * gcc.target/aarch64/sve/pr108603.c: New test. + +2023-03-02 Richard Sandiford + + PR tree-optimization/108430 + * gcc.target/aarch64/sve/pr108430.c: New test. + +2023-03-02 Jakub Jelinek + + PR c++/108934 + * gcc.target/i386/auto-init-4.c: Revert PR105259 change. + * g++.target/i386/pr108934.C: New test. + +2023-03-02 Jakub Jelinek + + PR c++/105839 + * g++.dg/gomp/pr105839-1.C: New test. + * g++.dg/gomp/pr105839-2.C: New test. + +2023-03-02 Richard Biener + + PR testsuite/108985 + * gcc.dg/vect/pr108950.c: Require vect_simd_clones. + +2023-03-02 Hans-Peter Nilsson + + * g++.dg/ext/attr-copy-2.C: Fix for default_packed targets. + +2023-03-02 Hans-Peter Nilsson + + * gcc.dg/attr-copy-6.c: Prefix asm-declared name with + __USER_LABEL_PREFIX__. + +2023-03-02 Hans-Peter Nilsson + + * c-c++-common/auto-init-7.c, c-c++-common/auto-init-8.c: Also + match targets where sizeof (union U) == 5, like "packed" targets. + +2023-03-01 Marek Polacek + + PR c++/107574 + * g++.dg/cpp0x/ptrmem-cst1.C: New test. + +2023-03-01 David Malcolm + + PR analyzer/107565 + * gcc.dg/analyzer/builtins-pr107565.c: New test. + * gcc.dg/analyzer/pr99716-1.c (test_2): Mark the leak as xfailing. + +2023-03-01 Patrick Palka + Jason Merrill + + PR c++/108219 + PR c++/108218 + * g++.dg/cpp0x/new6.C: New test. + * g++.dg/cpp2a/concepts-new1.C: New test. + +2023-03-01 Tobias Burnus + + PR middle-end/108545 + * c-c++-common/gomp/map-8.c: New test. + * gfortran.dg/gomp/map-9.f90: New test. + +2023-03-01 David Malcolm + + PR analyzer/108935 + * gcc.dg/analyzer/infinite-recursion-pr108935-1.c: New test. + * gcc.dg/analyzer/infinite-recursion-pr108935-1a.c: New test. + * gcc.dg/analyzer/infinite-recursion-pr108935-2.c: New test. + +2023-03-01 Jonathan Yong <10walls@gmail.com> + + * gcc.target/i386/harden-sls-6.c: Fix warning on LLP64 + targets. + +2023-03-01 Jakub Jelinek + + PR sanitizer/108894 + * c-c++-common/ubsan/bounds-16.c: New test. + +2023-03-01 Jakub Jelinek + + PR debug/108967 + * g++.dg/debug/pr108967.C: New test. + +2023-03-01 Jakub Jelinek + + PR c++/108606 + * g++.dg/cpp1y/pr108606.C: New test. + +2023-03-01 Richard Biener + + PR tree-optimization/108970 + * gcc.dg/pr108970.c: New testcase. + +2023-03-01 Richard Biener + + PR tree-optimization/108950 + * gcc.dg/vect/pr108950.c: New testcase. + +2023-03-01 Hans-Peter Nilsson + + * gcc.dg/analyzer/fd-access-mode-target-headers.c: Skip for + newlib targets too. + +2023-02-28 Patrick Palka + + PR c++/108848 + * g++.dg/cpp1y/noexcept1.C: Don't expect a bogus "different + exception specifier" error. Expect a separate "not usable + in a constant expression" error. + * g++.dg/cpp1y/var-templ75.C: New test. + * g++.dg/cpp1y/var-templ76.C: New test. + +2023-02-28 Qing Zhao + + PR middle-end/107411 + PR middle-end/107411 + * g++.dg/pr107411.C: New test. + +2023-02-28 Marek Polacek + + PR c++/108550 + * g++.dg/cpp1y/var-templ70.C: New test. + * g++.dg/cpp1y/var-templ71.C: New test. + * g++.dg/cpp1y/var-templ72.C: New test. + +2023-02-28 Marek Polacek + + PR c++/107938 + * g++.dg/cpp1y/var-templ73.C: New test. + * g++.dg/cpp1y/var-templ74.C: New test. + * g++.dg/warn/Waddress-of-packed-member3.C: New test. + +2023-02-28 Jakub Jelinek + + PR sanitizer/108894 + * gcc.dg/ubsan/bounds-4.c: New test. + * gcc.dg/ubsan/bounds-4a.c: New test. + * gcc.dg/ubsan/bounds-4b.c: New test. + * gcc.dg/ubsan/bounds-4c.c: New test. + * gcc.dg/ubsan/bounds-4d.c: New test. + * g++.dg/ubsan/bounds-1.C: New test. + +2023-02-28 Richard Biener + + PR testsuite/108942 + * gcc.dg/torture/ssa-fre-7.c: Use __SIZETYPE__. + +2023-02-28 Hans-Peter Nilsson + + * gcc.dg/plugin/infoleak-vfio_iommu_type1.c: Don't xfail bogus + message for "default_packed" targets. + +2023-02-28 Hans-Peter Nilsson + + * lib/multiline.exp (handle-multiline-outputs): Shorten + message to the same for fail and pass. + +2023-02-28 Hans-Peter Nilsson + + PR testsuite/91419 + * gcc.dg/tree-ssa/pr91091-2.c:15 Remove xfail for RHS. + +2023-02-28 Hans-Peter Nilsson + + PR testsuite/79356 + * gcc.dg/attr-alloc_size-11.c: Add CRIS to the list + of targets excluding xfail on lines 50 and 51. + +2023-02-28 Hans-Peter Nilsson + + PR tree-optimization/108828 + * gcc.dg/Wuse-after-free-2.c: Add -fno-ivopts. + +2023-02-27 Harald Anlauf + + PR fortran/108937 + * gfortran.dg/ibits_2.f90: New test. + +2023-02-26 Eric Botcazou + + * ada/acats/run_all.sh: Adjust example of compiler options. + +2023-02-25 Gaius Mulley + + * gm2/projects/pim/run/pass/tower/projects-pim-run-pass-tower.exp: + Also add conditional to gm2-simple-execute. + +2023-02-25 Gaius Mulley + + * gm2/projects/pim/run/pass/tower/projects-pim-run-pass-tower.exp + (gm2_run_tower_test): New global variable. Add conditional + before invoking gm2-local-exec. + +2023-02-25 Hans-Peter Nilsson + + * lib/multiline.exp (handle-multiline-outputs): Don't include the + quoted multiline pattern in the pass/fail output. + +2023-02-25 Gaius Mulley + + PR modula2/108261 + * gm2/examples/callingC/pass/examples-callingC-pass.exp: Tidy up + variable access. + * gm2/examples/callingC/run/pass/examples-callingC-run-pass.exp: Tidy up + variable access. + * gm2/examples/cpp/pass/examples-cpp-pass.exp: Tidy up + variable access. + * gm2/examples/cppDef/pass/examples-cppDef-pass.exp: Tidy up + variable access. + * gm2/examples/hello/pass/examples-hello-pass.exp: Tidy up + variable access. + * gm2/examples/map/pass/examples-map-pass.exp: Tidy up + variable access. + * gm2/iso/check/fail/iso-check-fail.exp: Add pathname. + * gm2/link/externalscaffold/pass/link-externalscaffold-pass.exp: + Add pathname. + * gm2/link/externalscaffold/pass/scaffold.c: Add mangled export name. + * gm2/pimlib/base/run/pass/FIO.mod: Updated test code. + * gm2/pimlib/base/run/pass/StrLib.mod: Updated test code. + * gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: Remove path. + * gm2/projects/pim/run/pass/random/projects-pim-run-pass-random.exp: + Tidy up variable access. + * gm2/switches/auto-init/fail/switches-auto-init-fail.exp: Add pathname. + * gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp: + Add pathname. + * gm2/switches/makeall/fail/switches-makeall-fail.exp: Remove -fmakeall. + * gm2/switches/makeall/pass/switches-makeall-pass.exp: Remove -fmakeall. + * lib/gm2-simple.exp (gm2_keep_executable): New global variable. + (gm2_simple_execute): Keep executable if global is true. + * lib/gm2-torture.exp: Add ; after global variable access. + * lib/gm2.exp: Set up pathnames. + * gm2/projects/pim/run/pass/tower/AdvCmd.def: New test. + * gm2/projects/pim/run/pass/tower/AdvCmd.mod: New test. + * gm2/projects/pim/run/pass/tower/AdvIntroduction.def: New test. + * gm2/projects/pim/run/pass/tower/AdvIntroduction.mod: New test. + * gm2/projects/pim/run/pass/tower/AdvMap.def: New test. + * gm2/projects/pim/run/pass/tower/AdvMap.mod: New test. + * gm2/projects/pim/run/pass/tower/AdvMath.def: New test. + * gm2/projects/pim/run/pass/tower/AdvMath.mod: New test. + * gm2/projects/pim/run/pass/tower/AdvParse.bnf: New test. + * gm2/projects/pim/run/pass/tower/AdvParse.def: New test. + * gm2/projects/pim/run/pass/tower/AdvParse.mod: New test. + * gm2/projects/pim/run/pass/tower/AdvSound.def: New test. + * gm2/projects/pim/run/pass/tower/AdvSound.mod: New test. + * gm2/projects/pim/run/pass/tower/AdvSystem.def: New test. + * gm2/projects/pim/run/pass/tower/AdvSystem.mod: New test. + * gm2/projects/pim/run/pass/tower/AdvTreasure.def: New test. + * gm2/projects/pim/run/pass/tower/AdvTreasure.mod: New test. + * gm2/projects/pim/run/pass/tower/AdvUtil.def: New test. + * gm2/projects/pim/run/pass/tower/AdvUtil.mod: New test. + * gm2/projects/pim/run/pass/tower/DrawG.def: New test. + * gm2/projects/pim/run/pass/tower/DrawG.mod: New test. + * gm2/projects/pim/run/pass/tower/DrawL.def: New test. + * gm2/projects/pim/run/pass/tower/DrawL.mod: New test. + * gm2/projects/pim/run/pass/tower/Dungeon.mod: New test. + * gm2/projects/pim/run/pass/tower/Lock.def: New test. + * gm2/projects/pim/run/pass/tower/Lock.mod: New test. + * gm2/projects/pim/run/pass/tower/ProcArgs.def: New test. + * gm2/projects/pim/run/pass/tower/ProcArgs.mod: New test. + * gm2/projects/pim/run/pass/tower/Screen.def: New test. + * gm2/projects/pim/run/pass/tower/Screen.mod: New test. + * gm2/projects/pim/run/pass/tower/SocketControl.c: New test. + * gm2/projects/pim/run/pass/tower/SocketControl.def: New test. + * gm2/projects/pim/run/pass/tower/Window.def: New test. + * gm2/projects/pim/run/pass/tower/Window.mod: New test. + * gm2/projects/pim/run/pass/tower/adv.flex: New test. + * gm2/projects/pim/run/pass/tower/advflex.c: New test. + * gm2/projects/pim/run/pass/tower/advflex.def: New test. + * gm2/projects/pim/run/pass/tower/projects-pim-run-pass-tower.exp: + New test. + * gm2/projects/pim/run/pass/tower/star: New test. + +2023-02-25 Max Filippov + + * gcc.target/xtensa/pr108919.c: New test. + +2023-02-25 Tobias Burnus + + PR fortran/108621 + * gfortran.dg/c-interop/fc-descriptor-pr108621.f90: New test. + +2023-02-24 Rimvydas Jasinskas + + * gfortran.dg/weak-2.f90: New test. + * gfortran.dg/weak-3.f90: New test. + +2023-02-24 Martin Liska + + PR sanitizer/108834 + * c-c++-common/asan/global-overflow-1.c: Test line and column + info for a global variable. + +2023-02-24 Alexandre Oliva + + PR c++/105224 + * g++.dg/modules/virt-2_a.C: Skip on arm_eabi. + +2023-02-24 Jakub Jelinek + + PR middle-end/108854 + * g++.dg/opt/pr108854.C: New test. + +2023-02-24 Jakub Jelinek + + PR target/108881 + * gcc.target/i386/avx512bf16-pr108881.c: New test. + +2023-02-24 Junxian Zhu + + * gcc.target/mips/clz.c: New test. + * gcc.target/mips/clo.c: New test. + * gcc.target/mips/mips.exp: New option HAS_CLZ. + +2023-02-24 Prachi Godbole + + * gcc.target/mips/hazard-barrier-return-attribute.c: New test. + +2023-02-23 Takayuki 'January June' Suwa + + * gcc.target/xtensa/elim_GP_regmove_0.c: New test. + * gcc.target/xtensa/elim_GP_regmove_1.c: New test. + +2023-02-23 Takayuki 'January June' Suwa + + * gcc.target/xtensa/elim_callee_saved.c: New. + +2023-02-23 Jakub Jelinek + + PR testsuite/108899 + * g++.dg/modules/modules.exp: Only override unsupported if it + exists and saved-unsupported doesn't. + +2023-02-23 Richard Biener + + PR tree-optimization/108888 + * g++.dg/torture/pr108888.C: New testcase. + +2023-02-22 Marek Polacek + + PR c/108880 + * c-c++-common/ubsan/pr108880.c: New test. + +2023-02-22 Harald Anlauf + + PR fortran/96024 + * gfortran.dg/pr96024.f90: New test. + +2023-02-22 Alexandre Oliva + + * g++.dg/modules/modules.exp: Override unsupported to update + module_do, and test it after dg-test. + +2023-02-22 Alexandre Oliva + + * gcc.target/arm/aes-fuse-1.c: Switch to -mcpu=cortex-a53. + * gcc.target/arm/aes-fuse-2.c: Likewise. + +2023-02-22 Alexandre Oliva + + * gcc.dg/debug/ctf/ctf-complex-1.c: Do not test whether I is + usable in initializers. + +2023-02-22 Alexandre Oliva + + * gcc.dg/torture/fp-uint64-convert-double-1.c: XFAIL on all of + arm-*-*. + * gcc.dg/torture/fp-uint64-convert-double-2.c: Likewise. + +2023-02-22 Alexandre Oliva + + * gcc.target/arm/asm-flag-4.c: Match quotes around "asm" in + message. + +2023-02-22 Alexandre Oliva + + * g++.dg/warn/Waddress-5.C: Tolerate extra -Waddress warning. + +2023-02-22 Andrew Stubbs + + * gcc.dg/vect/vect-simd-clone-16.c: New test. + * gcc.dg/vect/vect-simd-clone-16b.c: New test. + * gcc.dg/vect/vect-simd-clone-16c.c: New test. + * gcc.dg/vect/vect-simd-clone-16d.c: New test. + * gcc.dg/vect/vect-simd-clone-16e.c: New test. + * gcc.dg/vect/vect-simd-clone-16f.c: New test. + * gcc.dg/vect/vect-simd-clone-17.c: New test. + * gcc.dg/vect/vect-simd-clone-17b.c: New test. + * gcc.dg/vect/vect-simd-clone-17c.c: New test. + * gcc.dg/vect/vect-simd-clone-17d.c: New test. + * gcc.dg/vect/vect-simd-clone-17e.c: New test. + * gcc.dg/vect/vect-simd-clone-17f.c: New test. + * gcc.dg/vect/vect-simd-clone-18.c: New test. + * gcc.dg/vect/vect-simd-clone-18b.c: New test. + * gcc.dg/vect/vect-simd-clone-18c.c: New test. + * gcc.dg/vect/vect-simd-clone-18d.c: New test. + * gcc.dg/vect/vect-simd-clone-18e.c: New test. + * gcc.dg/vect/vect-simd-clone-18f.c: New test. + +2023-02-22 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/ternop_vv_constraint-3.c: New test. + * gcc.target/riscv/rvv/base/ternop_vv_constraint-4.c: New test. + * gcc.target/riscv/rvv/base/ternop_vv_constraint-5.c: New test. + * gcc.target/riscv/rvv/base/ternop_vv_constraint-6.c: New test. + * gcc.target/riscv/rvv/base/ternop_vx_constraint-8.c: New test. + * gcc.target/riscv/rvv/base/ternop_vx_constraint-9.c: New test. + +2023-02-22 Kito Cheng + + * gcc.target/riscv/_Float16-zhinxmin-1.c: Tweak test + condition. + +2023-02-22 Kito Cheng + + * gcc.target/riscv/rvv/vsetvl/avl_multiple-1.c: Filter out '-Oz'. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-27.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-30.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-38.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-41.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-42.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-43.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-44.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-45.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-48.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-50.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-51.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-65.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-66.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-67.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-68.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-69.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-70.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-71.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-73.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-74.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-75.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_switch-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_switch-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_switch-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_switch-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_switch-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-17.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-18.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-19.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-20.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-21.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-22.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-23.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-29.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-32.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-34.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-35.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-37.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-38.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-40.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-41.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-42.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-43.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-44.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-46.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-17.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-18.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-19.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-20.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-21.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-22.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-23.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-24.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-25.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-26.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-27.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-28.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-17.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-18.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-19.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-20.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-21.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-22.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-23.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-24.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-25.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-26.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-27.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-28.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-18.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: Filter + out -Oz and -Og -g. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: Ditto. + +2023-02-22 Jakub Jelinek + + PR middle-end/106258 + * g++.dg/ipa/pr106258.C: New test. + +2023-02-22 Thomas Schwinge + + * gcc.dg/Wcomplain-wrong-lang-1.c: New. + * gcc.dg/Wcomplain-wrong-lang-2.c: Likewise. + * gcc.dg/Wcomplain-wrong-lang-3.c: Likewise. + * gcc.dg/Wcomplain-wrong-lang-4.c: Likewise. + * gcc.dg/Wcomplain-wrong-lang-5.c: Likewise. + * lib/target-supports.exp (check_compile): Use + '-Wno-complain-wrong-lang'. + * g++.dg/abi/empty12.C: Likewise. + * g++.dg/abi/empty13.C: Likewise. + * g++.dg/abi/empty14.C: Likewise. + * g++.dg/abi/empty15.C: Likewise. + * g++.dg/abi/empty16.C: Likewise. + * g++.dg/abi/empty17.C: Likewise. + * g++.dg/abi/empty18.C: Likewise. + * g++.dg/abi/empty19.C: Likewise. + * g++.dg/abi/empty22.C: Likewise. + * g++.dg/abi/empty25.C: Likewise. + * g++.dg/abi/empty26.C: Likewise. + * gfortran.dg/bind-c-contiguous-1.f90: Likewise. + * gfortran.dg/bind-c-contiguous-4.f90: Likewise. + * gfortran.dg/bind-c-contiguous-5.f90: Likewise. + +2023-02-21 David Malcolm + + PR analyzer/108830 + * gcc.dg/analyzer/attribute-nonnull.c: Update for + -Wanalyzer-use-of-uninitialized-value terminating analysis along + a path. + * gcc.dg/analyzer/call-summaries-2.c: Likewise. + * gcc.dg/analyzer/data-model-1.c: Likewise. + * gcc.dg/analyzer/data-model-5.c: Likewise. + * gcc.dg/analyzer/doom-s_sound-pr108867.c: New test. + * gcc.dg/analyzer/memset-CVE-2017-18549-1.c: Add + -fno-analyzer-suppress-followups. + * gcc.dg/analyzer/null-deref-pr108830.c: New test. + * gcc.dg/analyzer/pipe-1.c: Add -fno-analyzer-suppress-followups. + * gcc.dg/analyzer/pipe-void-return.c: Likewise. + * gcc.dg/analyzer/pipe2-1.c: Likewise. + * gcc.dg/analyzer/pr101547.c: Update for + -Wanalyzer-use-of-uninitialized-value terminating analysis along + a path. + * gcc.dg/analyzer/pr101875.c: Likewise. + * gcc.dg/analyzer/pr104224-split.c: New test, based on... + * gcc.dg/analyzer/pr104224.c: Add + -fno-analyzer-suppress-followups. + * gcc.dg/analyzer/realloc-2.c: Add + -fno-analyzer-suppress-followups. + * gcc.dg/analyzer/realloc-3.c: Likewise. + * gcc.dg/analyzer/realloc-5.c: Likewise. + * gcc.dg/analyzer/stdarg-1-ms_abi.c: Likewise. + * gcc.dg/analyzer/stdarg-1-sysv_abi.c: Likewise. + * gcc.dg/analyzer/stdarg-1.c: Likewise. + * gcc.dg/analyzer/symbolic-1.c: Likewise. + * gcc.dg/analyzer/symbolic-7.c: Update for + -Wanalyzer-use-of-uninitialized-value terminating analysis along a + path. + * gcc.dg/analyzer/uninit-4.c: Likewise. + * gcc.dg/analyzer/uninit-8.c: New test. + * gcc.dg/analyzer/uninit-pr94713.c: Update for + -Wanalyzer-use-of-uninitialized-value terminating analysis along a + path. + * gcc.dg/analyzer/zlib-6a.c: Add -fno-analyzer-suppress-followups. + +2023-02-21 Harald Anlauf + + PR fortran/96025 + * gfortran.dg/pr96025.f90: New test. + +2023-02-21 Iain Buclaw + + * gdc.dg/simd2a.d: Update. + * gdc.dg/simd2b.d: Update. + * gdc.dg/simd2c.d: Update. + * gdc.dg/simd2d.d: Update. + * gdc.dg/simd2e.d: Update. + * gdc.dg/simd2f.d: Update. + * gdc.dg/simd2g.d: Update. + * gdc.dg/simd2h.d: Update. + * gdc.dg/simd2i.d: Update. + * gdc.dg/simd2j.d: Update. + +2023-02-21 Iain Buclaw + + * gdc.dg/ctfeintrinsics.d: New test. + +2023-02-21 Richard Biener + + PR tree-optimization/108691 + * gcc.dg/pr108691.c: New testcase. + +2023-02-21 Richard Biener + + PR tree-optimization/108793 + * gcc.dg/torture/pr108793.c: New testcase. + +2023-02-21 Raiki Tamura + + * rust/compile/torture/intrinsics-math.rs: New test. + +2023-02-21 Philip Herron + + * rust/debug/chartype.rs: Skip testcases on Darwin architectures. + +2023-02-21 Philip Herron + + * rust/execute/torture/closure3.rs: New test. + +2023-02-21 Raiki Tamura + + * rust/compile/torture/phantom_data.rs: New test. + +2023-02-21 Arthur Cohen + + * rust/compile/torture/intrinsics-3.rs: + * rust/execute/torture/atomic_load.rs: New test. + +2023-02-21 Arthur Cohen + + * rust/compile/torture/intrinsics-5.rs: Fix error message. + +2023-02-21 Arthur Cohen + + * rust/compile/torture/intrinsics-6.rs: New test. + * rust/compile/torture/intrinsics-7.rs: New test. + +2023-02-21 Arthur Cohen + + * rust/compile/torture/intrinsics-4.rs: New test. + * rust/compile/torture/intrinsics-5.rs: New test. + * rust/execute/torture/atomic_store.rs: New test. + +2023-02-21 Arthur Cohen + + * rust/compile/torture/intrinsics-3.rs: New test. + +2023-02-21 Philip Herron + + * rust/execute/torture/closure2.rs: New test. + +2023-02-21 Philip Herron + + * rust/execute/torture/closure1.rs: New test. + +2023-02-21 Philip Herron + + * rust/compile/issue-1589.rs: New test. + +2023-02-21 Philip Herron + + * rust/compile/generics7.rs: Fix test with missing assertion. + * rust/execute/torture/operator_overload_9.rs: Fix test assertion. + +2023-02-21 Marc Poulhiès + + * rust/compile/missing_closing_paren.rs: New test. + +2023-02-21 Arthur Cohen + + * rust/execute/torture/prefetch_data.rs: New test. + +2023-02-21 Philip Herron + + * rust/compile/torture/issue-1555.rs: New test. + +2023-02-21 Faisal Abbas + + * rust/compile/const9.rs: New test. + +2023-02-21 Philip Herron + + * rust/compile/issue-1272.rs: New test. + +2023-02-21 Richard Biener + + PR tree-optimization/108868 + * gcc.dg/pr108868.c: New testcase. + +2023-02-21 Richard Biener + + PR tree-optimization/108855 + * gcc.dg/pr108855.c: New testcase. + +2023-02-21 Richard Biener + + Revert: + 2023-02-21 Richard Biener + + PR tree-optimization/108691 + * gcc.dg/pr108691.c: New testcase. + +2023-02-20 Jakub Jelinek + + PR target/108862 + * gcc.dg/pr108862.c: New test. + * gcc.target/powerpc/pr108862.c: New test. + +2023-02-20 Marek Polacek + + PR c++/101073 + * g++.dg/cpp0x/constexpr-nsdmi3.C: New test. + * g++.dg/cpp1y/constexpr-nsdmi10.C: New test. + +2023-02-20 Marek Polacek + + PR c++/108829 + * g++.dg/cpp0x/lambda/lambda-108829-2.C: New test. + * g++.dg/cpp0x/lambda/lambda-108829.C: New test. + +2023-02-20 Richard Biener + + PR tree-optimization/108816 + * gcc.dg/torture/pr108816.c: New testcase. + +2023-02-20 Richard Biener + + PR tree-optimization/108825 + * gcc.dg/torture/pr108825.c: New testcase. + +2023-02-18 Jason Merrill + + DR 2518 + PR c++/52809 + PR c++/53638 + PR c++/87389 + PR c++/89741 + PR c++/92099 + PR c++/104041 + PR c++/104691 + * g++.dg/DRs/dr2518.C: New test. + +2023-02-18 Jakub Jelinek + + PR tree-optimization/108819 + * gcc.dg/pr108819.c: New test. + +2023-02-18 Jakub Jelinek + + PR target/108832 + * gcc.target/i386/pr108832.c: New test. + +2023-02-18 Martin Uecker + + PR c/108375 + * gcc.dg/pr108375-1.c: New test. + * gcc.dg/pr108375-2.c: New test. + +2023-02-18 Martin Uecker + + PR c/105660 + PR c/105660 + * gcc.dg/pr105660-1.c: New test. + * gcc.dg/pr105660-2.c: New test. + +2023-02-17 Patrick Palka + + PR c++/108243 + PR c++/97553 + * g++.dg/opt/is_constant_evaluated1.C: New test. + * g++.dg/opt/is_constant_evaluated2.C: New test. + +2023-02-17 Uroš Bizjak + + PR target/108831 + * gcc.target/i386/pr108831-1.c: New test. + * gcc.target/i386/pr108831-2.c: Ditto. + +2023-02-17 Uroš Bizjak + + PR target/108805 + * gcc.dg/pr108805.c: New test. + +2023-02-17 Richard Biener + + PR tree-optimization/108821 + * gcc.dg/tree-ssa/ssa-lim-24.c: New testcase. + +2023-02-17 Jerry DeLisle + + * gfortran.dg/ISO_Fortran_binding_14.f90: Change example function to + CLOCK which is available on mingw as well as other platforms. + * gfortran.dg/pr96486.f90: Change variable to PATH likewise. + +2023-02-17 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/binop_vx_constraint-148.c: Change vmnot.mm to vmnot.m. + * gcc.target/riscv/rvv/base/binop_vx_constraint-149.c: Change vmnot.mm to vmnot.m. + * gcc.target/riscv/rvv/base/binop_vx_constraint-150.c: Change vmnot.mm to vmnot.m. + * gcc.target/riscv/rvv/base/binop_vx_constraint-151.c: Change vmnot.mm to vmnot.m. + * gcc.target/riscv/rvv/base/binop_vx_constraint-152.c: Change vmnot.mm to vmnot.m. + * gcc.target/riscv/rvv/base/binop_vx_constraint-153.c: Change vmnot.mm to vmnot.m. + * gcc.target/riscv/rvv/base/binop_vx_constraint-156.c: Change vmnot.mm to vmnot.m. + * gcc.target/riscv/rvv/base/binop_vx_constraint-157.c: Change vmnot.mm to vmnot.m. + * gcc.target/riscv/rvv/base/binop_vx_constraint-159.c: Change vmnot.mm to vmnot.m. + * gcc.target/riscv/rvv/base/binop_vx_constraint-160.c: Change vmnot.mm to vmnot.m. + * gcc.target/riscv/rvv/base/binop_vx_constraint-161.c: Change vmnot.mm to vmnot.m. + +2023-02-17 Jerry DeLisle + + * gfortran.dg/bind_c_array_params_2.f90: Add *-*-ming* to dg-final. + +2023-02-16 David Malcolm + + PR analyzer/108806 + * gcc.dg/analyzer/null-deref-pr108806-qemu.c: New test. + * gcc.dg/analyzer/pr103217.c: Add -Wno-analyzer-too-complex. + * gcc.dg/analyzer/switch.c (test_bitmask_1): New. + (test_bitmask_2): New. + * gcc.dg/analyzer/uninit-pr108806-qemu.c: New test. + +2023-02-16 Iain Sandoe + + * objc.dg/proto-lossage-4.m: Amendn diagnostic matches for Windows. + +2023-02-16 Patrick Palka + + PR c++/107773 + * g++.dg/template/typename24.C: New test. + * g++.dg/template/typename25.C: New test. + * g++.dg/template/typename25a.C: New test. + * g++.dg/template/typename26.C: New test. + +2023-02-16 Jakub Jelinek + + PR tree-optimization/108657 + * gcc.dg/pr108657.c: New test. + +2023-02-16 Jakub Jelinek + + PR tree-optimization/108783 + * gcc.c-torture/compile/pr108783.c: New test. + +2023-02-16 Richard Biener + + PR tree-optimization/108791 + * gcc.dg/torture/pr108791.c: New testcase. + +2023-02-16 Hans-Peter Nilsson + + * lib/target-supports.exp (check_effective_target_lra): Add CRIS + as a non-LRA target. + +2023-02-15 Steve Kargl + + PR fortran/103608 + * gfortran.dg/pr103608.f90: New test. + +2023-02-15 Steve Kargl + + PR fortran/104554 + * gfortran.dg/pr104554.f90: New test. + +2023-02-15 David Malcolm + + PR analyzer/108664 + PR analyzer/108666 + PR analyzer/108725 + * gcc.dg/analyzer/coreutils-cksum-pr108664.c: New test. + * gcc.dg/analyzer/coreutils-sum-pr108666.c: New test. + * gcc.dg/analyzer/torture/uninit-pr108725.c: New test. + +2023-02-15 Uroš Bizjak + + * g++.target/i386/empty-class2.C (dg-additional-options): Remove. + * gcc.target/i386/avx512fp16-reduce-op-2.c: Ditto. + * gcc.target/i386/pr99464.c: Ditto. + * gcc.target/i386/pr103541.c (dg-do): Compile for !ia32 target. + * gcc.target/i386/pr108774.c (dg-do): Compile for lp64 target. + * gcc.target/i386/pr85593.c (dg-do): Run for *-*-linux* target. + * gcc.target/i386/pr98063.c: Ditto. + * gcc.target/i386/pr90007.c (dg-do): Remove target selector. + * gcc.target/i386/pr92841-2.c (dg-do): Remove unneeded curly braces. + * gcc.target/i386/pr95464.c: Ditto. + * gcc.target/i386/pr99530-1.c (dg-do): Compile for *-*-linux* target. + * gcc.target/i386/pr99530-2.c: Ditto. + * gcc.target/i386/pr99530-3.c: Ditto. + * gcc.target/i386/pr99530-4.c: Ditto. + * gcc.target/i386/pr99530-5.c: Ditto. + * gcc.target/i386/pr99530-6.c: Ditto. + * gcc.target/i386/pr99531.c (dg-do): Compile for !ia32 target. + +2023-02-15 Marek Polacek + + PR middle-end/106080 + * c-c++-common/Wdangling-pointer-10.c: New test. + * c-c++-common/Wdangling-pointer-9.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmacc_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vv_tumu-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmadd_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vmadd_vv_tumu-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vnmsac_vv-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv-3.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vv_tumu-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vnmsub_vv-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv-3.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vv_tumu-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwmacc_vv-1.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv-2.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv-3.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vv_tumu-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwmacc_vx-1.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx-2.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx-3.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmacc_vx_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccu_vx_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmaccus_vx_tumu-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/ternop_vv_constraint-1.c: New test. + * gcc.target/riscv/rvv/base/ternop_vv_constraint-2.c: New test. + * gcc.target/riscv/rvv/base/ternop_vx_constraint-1.c: New test. + * gcc.target/riscv/rvv/base/ternop_vx_constraint-2.c: New test. + * gcc.target/riscv/rvv/base/ternop_vx_constraint-3.c: New test. + * gcc.target/riscv/rvv/base/ternop_vx_constraint-4.c: New test. + * gcc.target/riscv/rvv/base/ternop_vx_constraint-5.c: New test. + * gcc.target/riscv/rvv/base/ternop_vx_constraint-6.c: New test. + * gcc.target/riscv/rvv/base/ternop_vx_constraint-7.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmacc_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vv_tumu-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmadd_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vv_tumu-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vnmsac_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vv_tumu-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vnmsub_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vnmsub_vv_tumu-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwmacc_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwmacc_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmacc_vx_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmseq_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmseq_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmseq_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmseq_vv_m-1.C: New test. + * g++.target/riscv/rvv/base/vmseq_vv_m-2.C: New test. + * g++.target/riscv/rvv/base/vmseq_vv_m-3.C: New test. + * g++.target/riscv/rvv/base/vmseq_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmseq_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmseq_vv_mu-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmseq_vx_m_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_m_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_m_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_m_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_m_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_m_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmseq_vx_rv64-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmsge_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmsge_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmsge_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmsge_vv_m-1.C: New test. + * g++.target/riscv/rvv/base/vmsge_vv_m-2.C: New test. + * g++.target/riscv/rvv/base/vmsge_vv_m-3.C: New test. + * g++.target/riscv/rvv/base/vmsge_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmsge_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmsge_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vv_m-1.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vv_m-2.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vv_m-3.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vv_mu-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmsge_vx_m_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_m_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_m_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_m_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_m_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_m_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsge_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsgeu_vx_rv64-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmsgt_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vv_m-1.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vv_m-2.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vv_m-3.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vv_m-1.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vv_m-2.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vv_m-3.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vv_mu-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsgt_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsgtu_vx_rv64-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmsle_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmsle_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmsle_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmsle_vv_m-1.C: New test. + * g++.target/riscv/rvv/base/vmsle_vv_m-2.C: New test. + * g++.target/riscv/rvv/base/vmsle_vv_m-3.C: New test. + * g++.target/riscv/rvv/base/vmsle_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmsle_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmsle_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vv_m-1.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vv_m-2.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vv_m-3.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vv_mu-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmsle_vx_m_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_m_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_m_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_m_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_m_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_m_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsle_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsleu_vx_rv64-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmslt_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmslt_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmslt_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmslt_vv_m-1.C: New test. + * g++.target/riscv/rvv/base/vmslt_vv_m-2.C: New test. + * g++.target/riscv/rvv/base/vmslt_vv_m-3.C: New test. + * g++.target/riscv/rvv/base/vmslt_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmslt_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmslt_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vv_m-1.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vv_m-2.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vv_m-3.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vv_mu-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmslt_vx_m_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_m_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_m_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_m_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_m_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_m_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmslt_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsltu_vx_rv64-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmsne_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmsne_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmsne_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmsne_vv_m-1.C: New test. + * g++.target/riscv/rvv/base/vmsne_vv_m-2.C: New test. + * g++.target/riscv/rvv/base/vmsne_vv_m-3.C: New test. + * g++.target/riscv/rvv/base/vmsne_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmsne_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmsne_vv_mu-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmsne_vx_m_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_m_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_m_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_m_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_m_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_m_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsne_vx_rv64-3.C: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/binop_vv_constraint-2.c: New test. + * gcc.target/riscv/rvv/base/binop_vv_constraint-3.c: New test. + * gcc.target/riscv/rvv/base/binop_vv_constraint-4.c: New test. + * gcc.target/riscv/rvv/base/binop_vv_constraint-5.c: New test. + * gcc.target/riscv/rvv/base/binop_vv_constraint-6.c: New test. + * gcc.target/riscv/rvv/base/binop_vv_constraint-7.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-123.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-124.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-125.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-126.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-127.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-128.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-129.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-130.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-131.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-132.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-133.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-134.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-135.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-136.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-137.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-138.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-139.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-140.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-141.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-142.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-143.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-144.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-145.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-146.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-147.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-148.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-149.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-150.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-151.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-152.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-153.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-154.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-155.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-156.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-157.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-158.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-159.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-160.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-161.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-162.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-163.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-164.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-165.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-166.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmseq_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vv_mu-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmseq_vx_rv64-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmsge_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsge_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmsgt_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmsle_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vv_mu-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsle_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmslt_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vv_mu-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmslt_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmsne_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vv_mu-3.c: New test. + +2023-02-15 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsne_vx_rv64-3.c: New test. + +2023-02-15 Iain Sandoe + + * obj-c++.dg/proto-lossage-4.mm: Use uintptr_t for integral pointer + representations. + +2023-02-15 Martin Jambor + + PR ipa/108679 + * gcc.dg/ipa/pr108679.c: New test. + +2023-02-15 Tobias Burnus + + PR fortran/108512 + * gfortran.dg/gomp/loop-5.f90: New test. + * gfortran.dg/gomp/loop-2.f90: Update dg-error. + * gfortran.dg/gomp/taskloop-2.f90: Update dg-error. + +2023-02-15 Jakub Jelinek + + PR target/108787 + PR target/103109 + * gcc.dg/pr108787.c: New test. + * gcc.target/powerpc/pr108787.c: New test. + * gcc.target/powerpc/pr103109-1.c: Adjust expected instruction counts. + +2023-02-15 Jakub Jelinek + + * g++.dg/DRs/dr2475.C: New test. + * g++.dg/DRs/dr2478.C: New test. + * g++.dg/DRs/dr2530.C: New test. + * g++.dg/DRs/dr2673.C: New test. + * c-c++-common/cpp/delimited-escape-seq-8.c: New test. + +2023-02-15 Marek Polacek + + PR c++/106675 + * g++.dg/cpp0x/overload-conv-5.C: New test. + +2023-02-14 David Faust + + PR target/108790 + * gcc.target/bpf/ldxdw.c: New test. + +2023-02-14 Andrew Pinski + + PR tree-optimization/108355 + PR tree-optimization/96921 + * gcc.dg/tree-ssa/bool-minus-1.c: New test. + * gcc.dg/tree-ssa/bool-minus-2.c: New test. + * gcc.dg/tree-ssa/pr108354-1.c: New test. + +2023-02-14 Eric Botcazou + + * gnat.dg/shift2.adb: New test. + +2023-02-14 Richard Biener + + PR tree-optimization/108782 + * gcc.dg/torture/pr108782.c: New testcase. + +2023-02-14 Jakub Jelinek + + PR sanitizer/108777 + * gcc.dg/asan/pr108777-1.c: New test. + * gcc.dg/asan/pr108777-2.c: New test. + * gcc.dg/asan/pr108777-3.c: New test. + * gcc.dg/asan/pr108777-4.c: New test. + * gcc.dg/asan/pr108777-5.c: New test. + * gcc.dg/asan/pr108777-6.c: New test. + * gcc.dg/completion-3.c: Adjust expected multiline output. + +2023-02-14 Andreas Schwab + + PR target/108723 + * gcc.target/riscv/shorten-memrefs-1.c: Adjust patterns to skip + over cfi directives. + * gcc.target/riscv/shorten-memrefs-2.c: Likewise. + * gcc.target/riscv/shorten-memrefs-3.c: Likewise. + * gcc.target/riscv/shorten-memrefs-4.c: Likewise. + * gcc.target/riscv/shorten-memrefs-5.c: Likewise. + * gcc.target/riscv/shorten-memrefs-6.c: Likewise. + * gcc.target/riscv/shorten-memrefs-8.c: Likewise. + +2023-02-14 Thomas Schwinge + + * gfortran.dg/weak-1.f90: Adjust 'scan-assembler' for nvptx. + +2023-02-14 Richard Sandiford + + PR tree-optimization/96373 + PR tree-optimization/108571 + * gcc.target/aarch64/sve/fabd_1.c: Add -fno-trapping-math. + * gcc.target/aarch64/sve/fsubr_1.c: Likewise. + * gcc.target/aarch64/sve/fmul_1.c: Expect predicate ops. + * gcc.target/aarch64/sve/fp_arith_1.c: Likewise. + +2023-02-14 Kewen Lin + + PR target/96373 + * gcc.target/powerpc/p9-vec-length-epil-1.c: Add -fno-trapping-math. + * gcc.target/powerpc/p9-vec-length-epil-2.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-3.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-4.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-5.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-6.c: Likewise. + * gcc.target/powerpc/p9-vec-length-epil-8.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-1.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-2.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-3.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-4.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-5.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-6.c: Likewise. + * gcc.target/powerpc/p9-vec-length-full-8.c: Likewise. + * gcc.target/powerpc/pr96373.c: New test. + +2023-02-13 Richard Sandiford + + PR rtl-optimization/108681 + * gcc.target/aarch64/pr108681.c: New test. + +2023-02-13 Vladimir N. Makarov + + * gcc.target/i386/pr108774.c: New. + +2023-02-13 Harald Anlauf + + PR fortran/103475 + * gfortran.dg/pr103475.f90: New test. + +2023-02-13 Uroš Bizjak + + PR target/108516 + * gcc.target/i386/pr108516-1.c: New test. + * gcc.target/i386/pr108516-2.c: Ditto. + +2023-02-13 Rimvydas Jasinskas + + * gfortran.dg/noinline.f90: New test. + * gfortran.dg/noreturn-1.f90: New test. + * gfortran.dg/noreturn-2.f90: New test. + * gfortran.dg/noreturn-3.f90: New test. + * gfortran.dg/noreturn-4.f90: New test. + * gfortran.dg/noreturn-5.f90: New test. + * gfortran.dg/weak-1.f90: New test. + +2023-02-13 Richard Biener + + PR tree-optimization/108691 + * gcc.dg/pr108691.c: New testcase. + +2023-02-13 Jonathan Yong <10walls@gmail.com> + + * gcc.dg/Wbuiltin-declaration-mismatch-7.c: Use (long )* + regex pattern to allow long long instead of just long. + +2023-02-13 Claudiu Zissulescu + + * gcc.target/arc/milli-1.c: Update test. + +2023-02-13 Richard Biener + + PR tree-optimization/106722 + * gcc.dg/torture/pr108737.c: New testcase. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vaadd_vv-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vaaddu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vasub_vv-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vv-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vv-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vasub_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vasubu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vnclip_vv-1.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv-2.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv-3.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vnclip_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx-1.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx-2.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx-3.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vnclip_vx_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx-1.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx-2.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx-3.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vnclipu_vx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsmul_vv-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vssra_vv-1.C: New test. + * g++.target/riscv/rvv/base/vssra_vv-2.C: New test. + * g++.target/riscv/rvv/base/vssra_vv-3.C: New test. + * g++.target/riscv/rvv/base/vssra_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vssra_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vssra_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vssra_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vssra_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vssra_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vssra_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vssra_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vssra_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vssra_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vssra_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vssra_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vssra_vx-1.C: New test. + * g++.target/riscv/rvv/base/vssra_vx-2.C: New test. + * g++.target/riscv/rvv/base/vssra_vx-3.C: New test. + * g++.target/riscv/rvv/base/vssra_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vssra_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vssra_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vssra_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vssra_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vssra_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vssra_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vssra_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vssra_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vssra_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vssra_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vssra_vx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vssrl_vv-1.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv-2.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv-3.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vssrl_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vssrl_vx-1.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx-2.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx-3.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vssrl_vx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/binop_vx_constraint-122.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vaaddu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vasub_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vasub_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vasubu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vnclip_wv-1.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv-2.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv-3.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx-1.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx-2.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx-3.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vnclip_wx_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv-1.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv-2.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv-3.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx-1.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx-2.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx-3.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vnclipu_wx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsmul_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vssra_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vssra_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vssra_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vssra_vx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vssrl_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vssrl_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vssrl_vx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmerge_vvm-1.C: New test. + * g++.target/riscv/rvv/base/vmerge_vvm-2.C: New test. + * g++.target/riscv/rvv/base/vmerge_vvm-3.C: New test. + * g++.target/riscv/rvv/base/vmerge_vvm-4.C: New test. + * g++.target/riscv/rvv/base/vmerge_vvm-5.C: New test. + * g++.target/riscv/rvv/base/vmerge_vvm-6.C: New test. + * g++.target/riscv/rvv/base/vmerge_vvm_tu-1.C: New test. + * g++.target/riscv/rvv/base/vmerge_vvm_tu-2.C: New test. + * g++.target/riscv/rvv/base/vmerge_vvm_tu-3.C: New test. + * g++.target/riscv/rvv/base/vmerge_vvm_tu-4.C: New test. + * g++.target/riscv/rvv/base/vmerge_vvm_tu-5.C: New test. + * g++.target/riscv/rvv/base/vmerge_vvm_tu-6.C: New test. + * g++.target/riscv/rvv/base/vmerge_vxm_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmerge_vxm_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmerge_vxm_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmerge_vxm_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmerge_vxm_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmerge_vxm_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmv_v-1.C: New test. + * g++.target/riscv/rvv/base/vmv_v_tu-1.C: New test. + * g++.target/riscv/rvv/base/vmv_v_x_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmv_v_x_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmv_v_x_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmv_v_x_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmv_v_x_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmv_v_x_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vncvt_x-1.C: New test. + * g++.target/riscv/rvv/base/vncvt_x-2.C: New test. + * g++.target/riscv/rvv/base/vncvt_x-3.C: New test. + * g++.target/riscv/rvv/base/vncvt_x_mu-1.C: New test. + * g++.target/riscv/rvv/base/vncvt_x_mu-2.C: New test. + * g++.target/riscv/rvv/base/vncvt_x_mu-3.C: New test. + * g++.target/riscv/rvv/base/vncvt_x_tu-1.C: New test. + * g++.target/riscv/rvv/base/vncvt_x_tu-2.C: New test. + * g++.target/riscv/rvv/base/vncvt_x_tu-3.C: New test. + * g++.target/riscv/rvv/base/vncvt_x_tum-1.C: New test. + * g++.target/riscv/rvv/base/vncvt_x_tum-2.C: New test. + * g++.target/riscv/rvv/base/vncvt_x_tum-3.C: New test. + * g++.target/riscv/rvv/base/vncvt_x_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vncvt_x_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vncvt_x_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vnsra_vv-1.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv-2.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv-3.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vnsra_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx-1.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx-2.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx-3.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vnsra_vx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vnsrl_vv-1.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv-2.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv-3.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx-1.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx-2.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx-3.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vnsrl_vx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmerge-1.c: New test. + * gcc.target/riscv/rvv/base/vmerge-2.c: New test. + * gcc.target/riscv/rvv/base/vmerge-3.c: New test. + * gcc.target/riscv/rvv/base/vmerge-4.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vvm-1.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vvm-2.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vvm-3.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vvm-4.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vvm-5.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vvm-6.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vvm_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vvm_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vvm_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vvm_tu-4.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vvm_tu-5.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vvm_tu-6.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vxm_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vxm_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vxm_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vxm_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vxm_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vxm_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmv_v_x_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_x_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_x_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_x_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_x_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_x_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmv_v_v-1.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_v-2.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_v-3.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_v_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_v_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vmv_v_v_tu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vncvt_x-1.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x-2.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x-3.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_m-1.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_m-2.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_m-3.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vncvt_x_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vnsra_wv-1.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv-2.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv-3.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx-1.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx-2.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx-3.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vnsra_wx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vnsrl_wv-1.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv-2.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv-3.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx-1.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx-2.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx-3.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmsbc_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vvm-1.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vvm-2.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vvm-3.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmadc_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmadc_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmadc_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmadc_vvm-1.C: New test. + * g++.target/riscv/rvv/base/vmadc_vvm-2.C: New test. + * g++.target/riscv/rvv/base/vmadc_vvm-3.C: New test. + * g++.target/riscv/rvv/base/vmadc_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmadc_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmadc_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmadc_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmadc_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmadc_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmadc_vxm_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmadc_vxm_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmadc_vxm_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmadc_vxm_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmadc_vxm_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmadc_vxm_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmsbc-1.c: New test. + * gcc.target/riscv/rvv/base/vmsbc-2.c: New test. + * gcc.target/riscv/rvv/base/vmsbc-3.c: New test. + * gcc.target/riscv/rvv/base/vmsbc-4.c: New test. + * gcc.target/riscv/rvv/base/vmsbc-5.c: New test. + * gcc.target/riscv/rvv/base/vmsbc-6.c: New test. + * gcc.target/riscv/rvv/base/vmsbc-7.c: New test. + * gcc.target/riscv/rvv/base/vmsbc-8.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vvm-1.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vvm-2.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vvm-3.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmadc-1.c: New test. + * gcc.target/riscv/rvv/base/vmadc-2.c: New test. + * gcc.target/riscv/rvv/base/vmadc-3.c: New test. + * gcc.target/riscv/rvv/base/vmadc-4.c: New test. + * gcc.target/riscv/rvv/base/vmadc-5.c: New test. + * gcc.target/riscv/rvv/base/vmadc-6.c: New test. + * gcc.target/riscv/rvv/base/vmadc-7.c: New test. + * gcc.target/riscv/rvv/base/vmadc-8.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vvm-1.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vvm-2.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vvm-3.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vadc_vvm-1.C: New test. + * g++.target/riscv/rvv/base/vadc_vvm-2.C: New test. + * g++.target/riscv/rvv/base/vadc_vvm-3.C: New test. + * g++.target/riscv/rvv/base/vadc_vvm_tu-1.C: New test. + * g++.target/riscv/rvv/base/vadc_vvm_tu-2.C: New test. + * g++.target/riscv/rvv/base/vadc_vvm_tu-3.C: New test. + * g++.target/riscv/rvv/base/vadc_vxm_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vadc_vxm_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vadc_vxm_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vadc_vxm_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vadc_vxm_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vadc_vxm_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsbc_vvm-1.C: New test. + * g++.target/riscv/rvv/base/vsbc_vvm-2.C: New test. + * g++.target/riscv/rvv/base/vsbc_vvm-3.C: New test. + * g++.target/riscv/rvv/base/vsbc_vvm_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsbc_vvm_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsbc_vvm_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsbc_vxm_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsbc_vxm_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsbc_vxm_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsbc_vxm_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsbc_vxm_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsbc_vxm_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsbc-1.c: New test. + * gcc.target/riscv/rvv/base/vsbc-2.c: New test. + * gcc.target/riscv/rvv/base/vsbc-3.c: New test. + * gcc.target/riscv/rvv/base/vsbc-4.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vvm-1.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vvm-2.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vvm-3.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vvm_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vvm_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vvm_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vadc-1.c: New test. + * gcc.target/riscv/rvv/base/vadc-2.c: New test. + * gcc.target/riscv/rvv/base/vadc-3.c: New test. + * gcc.target/riscv/rvv/base/vadc-4.c: New test. + * gcc.target/riscv/rvv/base/vadc_vvm-1.c: New test. + * gcc.target/riscv/rvv/base/vadc_vvm-2.c: New test. + * gcc.target/riscv/rvv/base/vadc_vvm-3.c: New test. + * gcc.target/riscv/rvv/base/vadc_vvm_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vadc_vvm_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vadc_vvm_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vadc_vxm_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vadc_vxm_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vadc_vxm_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vadc_vxm_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vadc_vxm_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vadc_vxm_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/binop_vx_constraint-121.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwadd_vv-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_vx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwadd_wv-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_wv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwadd_wx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwaddu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_vx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwaddu_wv-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwaddu_wx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwcvt_x-1.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x-2.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x-3.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwcvt_x_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x-1.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x-2.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x-3.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwcvtu_x_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwmul_vv-1.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv-2.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv-3.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmul_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx-1.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx-2.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx-3.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmul_vx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwmulsu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx-1.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx-2.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx-3.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwmulu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx-1.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx-2.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx-3.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwmulu_vx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwsub_vv-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_vx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwsub_wv-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_wv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwsub_wx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwsubu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_vx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vwsubu_wv-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vwsubu_wx_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/binop_vx_constraint-120.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwadd_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_vx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwadd_wv-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwadd_wx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwaddu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_vx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwaddu_wv-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwaddu_wx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwcvt_x-1.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x-2.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x-3.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwcvt_x_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x-1.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x-2.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x-3.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwcvtu_x_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwmul_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmul_vx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwmulsu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwmulu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwmulu_vx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwsub_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwsub_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_vx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwsub_wv-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwsub_wx-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsub_wx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwsubu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwsubu_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_vx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwsubu_wv-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vwsubu_wx-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vwsubu_wx_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmulh_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmulhsu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmulh_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmulhsu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmulhu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsext_vf2-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf2_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf4_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsext_vf8_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vzext_vf2-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2-3.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2_mu-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2_mu-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2_mu-3.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2_tu-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2_tu-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2_tu-3.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2_tum-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2_tum-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2_tum-3.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf2_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vzext_vf4-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4-3.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4_mu-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4_mu-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4_mu-3.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4_tu-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4_tu-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4_tu-3.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4_tum-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4_tum-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4_tum-3.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf4_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vzext_vf8-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8-3.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8_mu-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8_mu-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8_mu-3.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8_tu-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8_tu-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8_tu-3.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8_tum-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8_tum-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8_tum-3.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vzext_vf8_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/unop_v_constraint-2.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsext_vf2-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf2_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsext_vf4-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf4_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsext_vf8-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsext_vf8_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vzext_vf2-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_m-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_m-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_m-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf2_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vzext_vf4-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_m-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_m-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_m-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf4_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vzext_vf8-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_m-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_m-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_m-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vzext_vf8_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vssub_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vssub_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsadd_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsadd_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsaddu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsaddu_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vssub_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vssub_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vssubu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vssubu_vv_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vssubu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vssubu_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vssub_vv-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vv-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vv-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vssub_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vssub_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vssub_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsaddu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsaddu_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsadd_vv-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsadd_vv_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/binop_vx_constraint-100.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-101.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-103.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-104.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-105.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-106.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-107.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-109.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-110.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-111.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-112.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-113.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-115.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-116.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-117.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-118.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-97.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-98.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-99.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vneg_v-1.C: New test. + * g++.target/riscv/rvv/base/vneg_v-2.C: New test. + * g++.target/riscv/rvv/base/vneg_v-3.C: New test. + * g++.target/riscv/rvv/base/vneg_v_mu-1.C: New test. + * g++.target/riscv/rvv/base/vneg_v_mu-2.C: New test. + * g++.target/riscv/rvv/base/vneg_v_mu-3.C: New test. + * g++.target/riscv/rvv/base/vneg_v_tu-1.C: New test. + * g++.target/riscv/rvv/base/vneg_v_tu-2.C: New test. + * g++.target/riscv/rvv/base/vneg_v_tu-3.C: New test. + * g++.target/riscv/rvv/base/vneg_v_tum-1.C: New test. + * g++.target/riscv/rvv/base/vneg_v_tum-2.C: New test. + * g++.target/riscv/rvv/base/vneg_v_tum-3.C: New test. + * g++.target/riscv/rvv/base/vneg_v_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vneg_v_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vneg_v_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vnot_v-1.C: New test. + * g++.target/riscv/rvv/base/vnot_v-2.C: New test. + * g++.target/riscv/rvv/base/vnot_v-3.C: New test. + * g++.target/riscv/rvv/base/vnot_v_mu-1.C: New test. + * g++.target/riscv/rvv/base/vnot_v_mu-2.C: New test. + * g++.target/riscv/rvv/base/vnot_v_mu-3.C: New test. + * g++.target/riscv/rvv/base/vnot_v_tu-1.C: New test. + * g++.target/riscv/rvv/base/vnot_v_tu-2.C: New test. + * g++.target/riscv/rvv/base/vnot_v_tu-3.C: New test. + * g++.target/riscv/rvv/base/vnot_v_tum-1.C: New test. + * g++.target/riscv/rvv/base/vnot_v_tum-2.C: New test. + * g++.target/riscv/rvv/base/vnot_v_tum-3.C: New test. + * g++.target/riscv/rvv/base/vnot_v_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vnot_v_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vnot_v_tumu-3.C: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/unop_v_constraint-1.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vneg_v-1.c: New test. + * gcc.target/riscv/rvv/base/vneg_v-2.c: New test. + * gcc.target/riscv/rvv/base/vneg_v-3.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vneg_v_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vnot_v-1.c: New test. + * gcc.target/riscv/rvv/base/vnot_v-2.c: New test. + * gcc.target/riscv/rvv/base/vnot_v-3.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vnot_v_tumu-3.c: New test. + +2023-02-12 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/exception-1.C: New test. + +2023-02-11 Jakub Jelinek + + PR ipa/108605 + * c-c++-common/pr108605.c: New test. + +2023-02-11 Jonathan Yong <10walls@gmail.com> + + * gcc.dg/pr65658.c: fix LLP64 test. + +2023-02-11 Jonathan Yong <10walls@gmail.com> + + * c-c++-common/Wsizeof-array-div1.c: fix excess warnings. + * gcc.dg/Warray-bounds-52.c: ditto + * gcc.dg/Wstringop-overflow-62.c: ditto + * gcc.dg/attr-vector_size.c: ditto + * gcc.dg/overflow-warn-9.c: ditto + +2023-02-10 David Malcolm + + PR analyzer/108745 + * gcc.dg/analyzer/deref-before-check-macro-pr108745.c: New test. + * gcc.dg/analyzer/deref-before-check-macro.c: New test. + +2023-02-10 Andrew MacLeod + + PR tree-optimization/108520 + * g++.dg/pr108520.C: New. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vand_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vand_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vand_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vand_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vand_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vand_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vand_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vand_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vand_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vand_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vand_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vand_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vand_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmax_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmin_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vminu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmul_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vor_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vor_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vor_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vor_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vor_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vor_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vor_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vor_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vor_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vor_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vor_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vor_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vor_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vrem_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vremu_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vadd_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsub_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vxor_vx_mu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_mu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_mu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_mu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_mu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_mu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tu_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tum_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tum_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tum_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tum_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tum_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tum_rv64-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/binop_vx_constraint-1.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-10.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-11.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-12.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-13.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-14.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-15.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-16.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-17.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-18.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-19.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-2.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-20.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-22.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-24.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-26.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-28.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-3.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-30.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-32.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-34.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-35.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-36.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-37.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-38.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-39.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-4.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-40.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-41.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-42.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-43.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-44.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-45.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-46.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-47.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-48.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-49.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-5.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-50.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-51.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-52.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-53.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-54.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-55.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-56.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-57.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-58.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-59.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-6.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-60.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-61.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-62.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-63.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-64.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-65.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-66.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-67.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-68.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-69.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-7.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-70.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-71.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-72.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-73.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-74.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-75.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-76.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-77.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-78.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-79.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-80.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-81.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-82.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-83.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-84.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-85.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-86.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-87.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-88.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-89.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-9.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-90.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-91.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-92.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-93.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-94.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-95.c: New test. + * gcc.target/riscv/rvv/base/binop_vx_constraint-96.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vadd_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vand_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vdiv_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vdivu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmax_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmin_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vminu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmul_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vor_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vrem_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vremu_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vrsub_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vrsub_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsub_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vxor_vx_m_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_m_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_m_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_m_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_m_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_m_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_mu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_mu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_mu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_mu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_mu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_mu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tu_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tum_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tum_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tum_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tum_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tum_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tum_rv64-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv32-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv32-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv32-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv64-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv64-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vx_tumu_rv64-3.c: New test. + +2023-02-10 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmul_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vmul_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vmul_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vmul_vv_tumu-3.C: New test. + +2023-02-10 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmul_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vmul_vv_tumu-3.c: New test. + +2023-02-10 Richard Biener + + PR tree-optimization/108724 + * gcc.target/i386/pr108724.c: New testcase. + +2023-02-10 Andrew Pinski + Andrew Macleod + + PR tree-optimization/108684 + * gcc.c-torture/compile/dce-inline-asm-1.c: New test. + * gcc.c-torture/compile/dce-inline-asm-2.c: New test. + * gcc.dg/tree-ssa/pr108684-1.c: New test. + +2023-02-10 Joseph Myers + + * gcc.dg/c2x-nullptr-1.c: Test conversion of null pointer + constants to nullptr_t. + * gcc.dg/c2x-nullptr-3.c: Do not expect errors for conversion of + null pointer constants to nullptr_t. Do test errors for + conversion of other values to nullptr_t and for unary '+' on + nullptr_t. + +2023-02-10 Hans-Peter Nilsson + + PR tree-optimization/107561 + * g++.dg/warn/Warray-bounds-16.C: XFAIL bogus "overflows destination" + warning. + * g++.dg/pr71488.C: Ditto, but just for ilp32 targets. + +2023-02-10 Hans-Peter Nilsson + + PR testsuite/106120 + * g++.dg/warn/Wstringop-overflow-4.C:144 XFAIL bogus warning for + ilp32 targets with c++98. + +2023-02-10 Marek Polacek + + PR c++/107079 + * g++.dg/cpp0x/constexpr-nsdmi2.C: New test. + +2023-02-09 David Malcolm + + PR analyzer/108733 + * gcc.dg/analyzer/torture/uninit-pr108733.c: New test. + +2023-02-09 Vladimir N. Makarov + + * gcc.target/i386/pr103541.c: New. + * g++.target/i386/pr108711.C: New. + +2023-02-09 Harald Anlauf + Steven G. Kargl + + PR fortran/69636 + PR fortran/103779 + * gfortran.dg/pr103779.f90: New test. + +2023-02-09 Jakub Jelinek + + PR tree-optimization/108688 + * gcc.c-torture/compile/pr108688-1.c: Add PR number as comment. + * gcc.dg/pr108688.c: New test. + +2023-02-09 Andrew Pinski + + PR tree-optimization/108688 + * gcc.c-torture/compile/pr108688-1.c: New test. + +2023-02-09 Tobias Burnus + + PR fortran/107424 + * gfortran.dg/goacc/privatization-1-compute-loop.f90: Update dg-note. + * gfortran.dg/goacc/privatization-1-routine_gang-loop.f90: Likewise. + +2023-02-09 Tobias Burnus + + * c-c++-common/gomp/allocate-5.c: Extend for align clause. + +2023-02-09 Tobias Burnus + + * gfortran.dg/gomp/openmp-simd-8.f90: New test. + +2023-02-09 Jakub Jelinek + + PR c++/108698 + * g++.dg/cpp0x/pr108698.C: New test. + +2023-02-08 Joseph Myers + + * gcc.dg/c2x-constexpr-1.c: Test initialization of constexpr + pointers with null values that are not null pointer constants. + * gcc.dg/c2x-constexpr-3.c: Test initialization of constexpr + pointers with non-null values, not with null values that are not + null pointer constants. + +2023-02-08 Hans-Peter Nilsson + + * gcc.dg/torture/pr100398.c: Limit to lra targets. + * gcc.dg/pr100590.c: Ditto. + +2023-02-08 David Malcolm + + PR analyzer/108704 + * gcc.dg/analyzer/uninit-7.c: New test. + * gcc.dg/analyzer/uninit-pr108704.c: New test. + +2023-02-08 Steve Kargl + + PR fortran/103259 + * gfortran.dg/pr103259.f90: New test. + +2023-02-08 Jakub Jelinek + + PR tree-optimization/108692 + * gcc.dg/pr108692.c: New test. + +2023-02-08 Richard Sandiford + + * objc/execute/execute.exp: Load objc-dg.exp. + +2023-02-08 Richard Sandiford + + PR tree-optimization/108316 + * gcc.dg/vect/pr108316.c: New test. + +2023-02-08 Vladimir N. Makarov + + Revert: + 2023-02-08 Vladimir N. Makarov + + * gcc.target/i386/pr103541.c: New. + +2023-02-08 Jakub Jelinek + + PR c++/108525 + * g++.dg/cpp23/static-operator-call5.C: Move PR108525 testcase + incorrectly applied into PR108526 testcase ... + * g++.dg/cpp23/static-operator-call6.C: ... here. New test. + +2023-02-07 David Malcolm + + PR analyzer/108661 + * gcc.dg/analyzer/fread-pr108661.c: New test. + * gcc.dg/analyzer/read-pr108661.c: New test. + +2023-02-07 Harald Anlauf + + PR fortran/95107 + * gfortran.dg/save_7.f90: New test. + +2023-02-07 Vladimir N. Makarov + + * gcc.target/i386/pr103541.c: New. + +2023-02-07 Jakub Jelinek + + PR tree-optimization/106923 + * gcc.dg/pr106923.c: New test. + +2023-02-07 Jakub Jelinek + + PR tree-optimization/106433 + * gcc.c-torture/compile/pr106433.c: New test. + +2023-02-07 Jakub Jelinek + + * g++.dg/warn/Wstrict-aliasing-bogus-union-2.C: Expect + -Wdeprecated warning for C++23. + +2023-02-06 Alex Coplan + + PR target/104921 + * gcc.target/aarch64/pr104921-1.c: New test. + * gcc.target/aarch64/pr104921-2.c: New test. + * gcc.target/aarch64/pr104921.x: Include file for new tests. + +2023-02-06 Xi Ruoyao + + * g++.target/loongarch/bytepick.C: New test. + +2023-02-06 Tamar Christina + + * gcc.target/aarch64/options_set_10.c: Removed. + +2023-02-06 Jakub Jelinek + + PR tree-optimization/108655 + * gcc.dg/pr108655.c: New test. + +2023-02-06 Patrick Palka + + PR c++/107461 + * g++.dg/cpp0x/overload5.C: New test. + * g++.dg/cpp0x/overload5a.C: New test. + * g++.dg/cpp0x/overload6.C: New test. + +2023-02-05 Harald Anlauf + + PR fortran/108592 + * gfortran.dg/pr108592.f90: New test. + +2023-02-03 Jakub Jelinek + + PR tree-optimization/108647 + * g++.dg/torture/pr108647.C: New test. + +2023-02-03 Aldy Hernandez + + PR tree-optimization/108639 + * gcc.c-torture/compile/pr108638.c: New file. + * gcc.c-torture/compile/pr108639.c: New file. + +2023-02-03 Andrew MacLeod + + PR tree-optimization/107570 + * gcc.dg/pr107570.c: New. + +2023-02-03 Marek Polacek + + PR c++/108158 + * g++.dg/cpp1y/constexpr-108158.C: New test. + +2023-02-03 Marek Polacek + + PR c++/101071 + * g++.dg/cpp0x/variadic-alias8.C: New test. + +2023-02-03 Patrick Palka + + PR c++/107461 + * g++.dg/template/call9.C: New test. + +2023-02-03 Patrick Palka + + PR c++/96745 + * g++.dg/cpp2a/concepts-dtor1.C: New test. + +2023-02-03 Patrick Palka + + PR c++/108579 + * g++.dg/cpp2a/concepts-pr108579.C: New test. + +2023-02-03 Martin Jambor + + PR ipa/108384 + * gcc.dg/ipa/pr108384.c: New test. + +2023-02-03 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/binop_vv_constraint-1.c: + * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: + +2023-02-03 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsll_vx-1.C: New test. + * g++.target/riscv/rvv/base/vsll_vx-2.C: New test. + * g++.target/riscv/rvv/base/vsll_vx-3.C: New test. + * g++.target/riscv/rvv/base/vsll_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsll_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsll_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsll_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsll_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsll_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsll_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsll_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsll_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsll_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsll_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsll_vx_tumu-3.C: New test. + +2023-02-03 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsra_vx-1.C: New test. + * g++.target/riscv/rvv/base/vsra_vx-2.C: New test. + * g++.target/riscv/rvv/base/vsra_vx-3.C: New test. + * g++.target/riscv/rvv/base/vsra_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsra_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsra_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsra_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsra_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsra_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsra_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsra_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsra_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsra_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsra_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsra_vx_tumu-3.C: New test. + +2023-02-03 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsrl_vx-1.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx-2.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx-3.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsrl_vx_tumu-3.C: New test. + +2023-02-03 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: New test. + +2023-02-03 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsll_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsll_vx_tumu-3.c: New test. + +2023-02-03 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsra_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsra_vx_tumu-3.c: New test. + +2023-02-03 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsrl_vx-1.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx-2.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx-3.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vx_tumu-3.c: New test. + +2023-02-02 Joseph Myers + + * gcc.dg/c2x-constexpr-3.c: Do not expect comparison of nullptr_t + and pointer to be disallowed. + * gcc.dg/c2x-nullptr-1.c: Test comparisons of nullptr_t and + pointers are allowed. + * gcc.dg/c2x-nullptr-3.c: Do not test that comparisons of + nullptr_t and pointers are disallowed. + +2023-02-02 Joseph Myers + + * gcc.dg/c2x-constexpr-1.c: Test constexpr initializers of complex + types with real initializers are allowed. + * gcc.dg/c2x-constexpr-3.c: Do not test for constexpr initializers + of complex types with real initializers being disallowed. + * gcc.dg/c2x-constexpr-8.c: Add tests of signaling NaN complex + initializers. + * gcc.dg/c2x-constexpr-9.c: Add more tests. + * gcc.dg/dfp/c2x-constexpr-dfp-1.c: Add tests of binary floating + initializers for decimal types. + * gcc.dg/dfp/c2x-constexpr-dfp-2.c: Change tests of binary + initializers for decimal types. Add more tests of decimal + initializers for binary types. + +2023-02-02 Paul-Antoine Arras + + * gcc.target/gcn/cond_shift_3.c: New test. + * gcc.target/gcn/cond_shift_3_run.c: New test. + * gcc.target/gcn/cond_shift_4.c: New test. + * gcc.target/gcn/cond_shift_4_run.c: New test. + * gcc.target/gcn/cond_shift_8.c: New test. + * gcc.target/gcn/cond_shift_8_run.c: New test. + * gcc.target/gcn/cond_shift_9.c: New test. + * gcc.target/gcn/cond_shift_9_run.c: New test. + +2023-02-02 Richard Sandiford + + PR rtl-optimization/108508 + * gcc.target/aarch64/pr108508.c: New test. + +2023-02-02 Richard Sandiford + + * g++.dg/tree-ssa/pr107876.C: Add --param case-values-threshold=4. + +2023-02-02 David Malcolm + + PR analyzer/108633 + * gcc.dg/analyzer/fd-pr108633.c: New test. + +2023-02-02 David Malcolm + + * gcc.dg/analyzer/deref-before-check-qemu-qtest_rsp_args.c: New test. + +2023-02-02 Jakub Jelinek + + PR debug/106746 + PR rtl-optimization/108463 + PR target/108484 + * gcc.dg/pr108463.c: New test. + +2023-02-02 Richard Biener + + PR middle-end/108625 + * gcc.dg/pr108625.c: New testcase. + +2023-02-02 Andrew Stubbs + + * gcc.c-torture/execute/pr47237.c: Xfail on amdgcn. + * gcc.dg/builtin-apply3.c: Xfail for amdgcn. + * gcc.dg/builtin-apply4.c: Xfail for amdgcn. + * gcc.dg/torture/stackalign/builtin-apply-3.c: Xfail for amdgcn. + * gcc.dg/torture/stackalign/builtin-apply-4.c: Xfail for amdgcn. + +2023-02-02 Andre Vieira + + * gcc.target/arm/mve/pr108443-run.c: New test. + * gcc.target/arm/mve/pr108443.c: New test. + +2023-02-02 Andre Vieira + + * gcc.target/arm/mve/mve_vpt.c: Change to remove unecessary zero-extend. + +2023-02-02 Andre Vieira + + PR target/107674 + * gcc.target/arm/mve/mve_vpt.c: New test. + +2023-02-02 Jakub Jelinek + + PR ipa/107300 + * gcc.dg/pr107300.c: New test. + +2023-02-02 liuhongt + + * gcc.target/aarch64/pr108601.c: New test. + +2023-02-02 Jakub Jelinek + + PR middle-end/108435 + * gcc.dg/gomp/pr108435.c: New test. + +2023-02-01 Harald Anlauf + + PR fortran/108609 + * gfortran.dg/pr108527.f90: Adjust test pattern. + +2023-02-01 Tamar Christina + + * gcc.target/aarch64/cpunative/info_19: New test. + * gcc.target/aarch64/cpunative/info_20: New test. + * gcc.target/aarch64/cpunative/info_21: New test. + * gcc.target/aarch64/cpunative/info_22: New test. + * gcc.target/aarch64/cpunative/native_cpu_19.c: New test. + * gcc.target/aarch64/cpunative/native_cpu_20.c: New test. + * gcc.target/aarch64/cpunative/native_cpu_21.c: New test. + * gcc.target/aarch64/cpunative/native_cpu_22.c: New test. + +2023-02-01 Siddhesh Poyarekar + + * gcc.dg/builtin-dynamic-object-size-0.c: Move FAIL and nfail + into... + * gcc.dg/builtin-object-size-common.h: ... new file. + * g++.dg/ext/builtin-object-size1.C: Include + builtin-object-size-common.h. Replace all abort with FAIL. + (main): Call DONE. + * g++.dg/ext/builtin-object-size2.C: Likewise. + * gcc.dg/builtin-object-size-1.c: Likewise. + * gcc.dg/builtin-object-size-12.c: Likewise. + * gcc.dg/builtin-object-size-13.c: Likewise. + * gcc.dg/builtin-object-size-15.c: Likewise. + * gcc.dg/builtin-object-size-2.c: Likewise. + * gcc.dg/builtin-object-size-3.c: Likewise. + * gcc.dg/builtin-object-size-4.c: Likewise. + * gcc.dg/builtin-object-size-6.c: Likewise. + * gcc.dg/builtin-object-size-7.c: Likewise. + * gcc.dg/builtin-object-size-8.c: Likewise. + * gcc.dg/pr101836.c: Likewise. + * gcc.dg/strict-flex-array-3.c: Likewise. + +2023-02-01 Andrew MacLeod + + PR tree-optimization/108356 + * gcc.dg/pr108356.c: New. + +2023-02-01 Martin Liska + + PR ipa/108509 + * g++.dg/ipa/pr108509.C: New test. + +2023-02-01 Marek Polacek + + PR c++/107755 + * g++.dg/warn/Wlogical-op-4.C: New test. + +2023-02-01 Jakub Jelinek + + PR debug/108573 + * gcc.dg/pr108573.c: New test. + +2023-02-01 Richard Sandiford + + * g++.dg/gomp/attrs-10.C: Update warning strings for aarch64. + * g++.dg/gomp/declare-simd-8.C: Add expected warning for aarch64. + +2023-02-01 Jakub Jelinek + + PR c++/108607 + * g++.dg/gomp/pr108607.C: New test. + +2023-02-01 Andreas Krebbel + + * gcc.target/s390/preserve-args-1.c: New test. + * gcc.target/s390/preserve-args-2.c: New test. + * gcc.target/s390/preserve-args-3.c: New file. + +2023-02-01 Jason Merrill + + * g++.dg/warn/changes-meaning2.C: New test. + * g++.dg/warn/changes-meaning3.C: New test. + +2023-02-01 David Malcolm + + * gcc.dg/analyzer/call-summaries-2.c: Add + dg-require-effective-target alloca. + * gcc.dg/analyzer/imprecise-floating-point-1.c: Likewise. + * gcc.dg/analyzer/infinite-recursion-alloca.c: Likewise. + * gcc.dg/analyzer/malloc-callbacks.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-5.c: Likewise. Remove includes + of and . Use "__builtin_free" rather than + "free", to match uses of "__builtin_malloc". + * gcc.dg/analyzer/putenv-1.c: Add dg-require-effective-target + alloca. + * gcc.dg/analyzer/write-to-string-literal-5.c: Likewise. + +2023-02-01 David Malcolm + + PR analyzer/108616 + * gcc.dg/analyzer/allocation-size-multiline-3.c: New test. + * gcc.dg/analyzer/test-alloca.h: New test. + +2023-01-31 Jason Merrill + + PR c++/108559 + * g++.dg/cpp1z/aggr-base13.C: New test. + +2023-01-31 Thomas Schwinge + + * lib/gm2.exp (gm2_link_flags) [$gccpath != ""]: Also consider + 'gcc-set-multilib-library-path' for 'ld_library_path'. + +2023-01-31 Marek Polacek + + PR c++/102870 + * g++.dg/cpp0x/variadic184.C: New test. + +2023-01-31 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vdiv_vv-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vdiv_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vdivu_vv_tumu-3.C: New test. + +2023-01-31 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmax_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vmax_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vmax_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vmax_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vmaxu_vv_tumu-3.C: New test. + +2023-01-31 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vmin_vv-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vv-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vv-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vmin_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vmin_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vmin_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vminu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vminu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vminu_vv_tumu-3.C: New test. + +2023-01-31 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vor_vv-1.C: New test. + * g++.target/riscv/rvv/base/vor_vv-2.C: New test. + * g++.target/riscv/rvv/base/vor_vv-3.C: New test. + * g++.target/riscv/rvv/base/vor_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vor_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vor_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vor_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vor_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vor_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vor_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vor_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vor_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vor_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vor_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vor_vv_tumu-3.C: New test. + +2023-01-31 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vrem_vv-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vv-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vv-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vrem_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vrem_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vrem_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vv-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vv-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vv-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vremu_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vremu_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vremu_vv_tumu-3.C: New test. + +2023-01-31 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsll_vv-1.C: New test. + * g++.target/riscv/rvv/base/vsll_vv-2.C: New test. + * g++.target/riscv/rvv/base/vsll_vv-3.C: New test. + * g++.target/riscv/rvv/base/vsll_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsll_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsll_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsll_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsll_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsll_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsll_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsll_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsll_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsll_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsll_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsll_vv_tumu-3.C: New test. + +2023-01-31 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsra_vv-1.C: New test. + * g++.target/riscv/rvv/base/vsra_vv-2.C: New test. + * g++.target/riscv/rvv/base/vsra_vv-3.C: New test. + * g++.target/riscv/rvv/base/vsra_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsra_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsra_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsra_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsra_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsra_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsra_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsra_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsra_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsra_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsra_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsra_vv_tumu-3.C: New test. + +2023-01-31 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsrl_vv-1.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv-2.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv-3.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsrl_vv_tumu-3.C: New test. + +2023-01-31 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vand_vv-1.C: New test. + * g++.target/riscv/rvv/base/vand_vv-2.C: New test. + * g++.target/riscv/rvv/base/vand_vv-3.C: New test. + * g++.target/riscv/rvv/base/vand_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vand_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vand_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vand_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vand_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vand_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vand_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vand_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vand_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vand_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vand_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vand_vv_tumu-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vv-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vv-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vv-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vsub_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsub_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vsub_vv_tumu-3.C: New test. + +2023-01-31 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vxor_vv-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vv-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vv-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vxor_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vxor_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vxor_vv_tumu-3.C: New test. + +2023-01-31 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vadd_vv-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vv-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vv-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vv_mu-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vv_mu-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vv_mu-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vv_tu-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vv_tu-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vv_tu-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vv_tum-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vv_tum-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vv_tum-3.C: New test. + * g++.target/riscv/rvv/base/vadd_vv_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vadd_vv_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vadd_vv_tumu-3.C: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/binop_vv_constraint-1.c: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vadd_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vadd_vv_tumu-3.c: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vand_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vand_vv_tumu-3.c: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vdiv_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vdiv_vv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vdivu_vv_tumu-3.c: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmax_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vmax_vv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vmaxu_vv_tumu-3.c: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vmin_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vmin_vv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vminu_vv_tumu-3.c: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vor_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vor_vv_tumu-3.c: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vrem_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vrem_vv_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vremu_vv_tumu-3.c: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsll_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsll_vv_tumu-3.c: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsra_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsra_vv_tumu-3.c: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsrl_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsrl_vv_tumu-3.c: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsub_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vsub_vv_tumu-3.c: New test. + +2023-01-31 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vxor_vv-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_m-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_m-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_m-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vxor_vv_tumu-3.c: New test. + +2023-01-31 Marek Polacek + + PR c++/107593 + PR c++/108597 + * g++.dg/warn/Wduplicated-cond3.C: New test. + * g++.dg/warn/Wduplicated-cond4.C: New test. + * g++.dg/warn/Wduplicated-cond5.C: New test. + +2023-01-31 Philipp Tomsich + + PR target/108589 + * gcc.target/aarch64/pr108589.c: New test. + +2023-01-31 Richard Sandiford + + PR tree-optimization/108608 + * gcc.dg/vect/pr108608.c: New test. + * gcc.target/aarch64/sve/pr108608-1.c: Likewise. + +2023-01-31 Andrew MacLeod + + PR tree-optimization/108385 + * gcc.dg/pr108385.c: New. + +2023-01-31 Andrew MacLeod + + PR tree-optimization/108359 + * gcc.dg/pr108359.c: New. + +2023-01-31 Philip Herron + + * rust/compile/issue-1073.rs: New test. + +2023-01-31 Philip Herron + + * rust/compile/issue-1006.rs: New test. + +2023-01-31 Philip Herron + + * rust/compile/const_generics_5.rs: Fix assertions. + * rust/compile/unconstrained_type_param.rs: Add more assertions. + +2023-01-31 liushuyu + + * rust/compile/builtin_macro_recurse.rs: New test. + +2023-01-31 liushuyu + + * rust/compile/builtin_macro_concat.rs: Fix test error messages. + * rust/compile/builtin_macro_env.rs: Likewise. + +2023-01-31 Arthur Cohen + + * rust/compile/frust-compile-until.rs: New test. + +2023-01-31 Philip Herron + + * rust/compile/rust-const-blog-issue.rs: New test. + +2023-01-31 Arthur Cohen + + * rust/compile/macro44.rs: New test. + +2023-01-31 Arthur Cohen + + * rust/compile/macro_export_1.rs: New test. + +2023-01-31 Arthur Cohen + + * rust/compile/const_generics_8.rs: New test. + +2023-01-31 Arthur Cohen + + * rust/compile/const_generics_7.rs: New test. + +2023-01-31 liushuyu + + * rust/execute/torture/loop-condition-eval.rs: New test. + +2023-01-31 Faisal Abbas <90.abbasfaisal@gmail.com> + + * rust/compile/const8.rs: New test. + +2023-01-31 Faisal Abbas <90.abbasfaisal@gmail.com> + + * rust/compile/const7.rs: New test. + +2023-01-31 Faisal Abbas <90.abbasfaisal@gmail.com> + + * rust/compile/const6.rs: New test. + +2023-01-31 Philip Herron + + * rust/compile/issue-1152.rs: Fix dejagnu assertion. + * rust/compile/tuple1.rs: Likewise. + * rust/compile/type-alias1.rs: Likewise. + * rust/execute/torture/operator_overload_9.rs: Likewise. + * rust/execute/torture/slice1.rs: Rework test to use new parsing + capability and stick to the original implementation. + +2023-01-31 Arthur Cohen + + * rust/compile/macro43.rs: New test. + +2023-01-31 Arthur Cohen + + * rust/compile/parse_range.rs: New test. + +2023-01-31 Arthur Cohen + + * rust/compile/issue-1031.rs: Remove extraneous dead code warnings. + * rust/compile/issue-1289.rs: Likewise. + * rust/compile/test_mod.rs: Likewise. + * rust/compile/torture/raw_identifiers.rs: Likewise. + * rust/compile/torture/raw_identifiers_keywords.rs: Likewise. + * rust/compile/privacy7.rs: New test. + +2023-01-31 Arthur Cohen + + * rust/compile/rustc_attr1.rs: New test. + +2023-01-31 Arthur Cohen + + * rust/debug/win64-abi.rs: Fix assertion to take into account + overflow builtins + * rust/compile/torture/macro-issue1426.rs: Moved to... + * rust/execute/torture/macro-issue1426.rs: ...here. + * rust/execute/torture/overflow1.rs: New test. + +2023-01-31 Philip Herron + + * rust/compile/torture/issue-1506.rs: New test. + +2023-01-31 Faisal Abbas <90.abbasfaisal@gmail.com> + + * rust/compile/const4.rs: New. + * rust/compile/const5.rs: New. + +2023-01-31 Gaius Mulley + + * lib/gm2.exp (gm2_init_pimx): Replace gm2-libs-pim with + gm2-libs-log. + (gm2_init_iso): Replace gm2-libs-pim with gm2-libs-log. + (gm2_init_ulm): Replace gm2-libs-pim with gm2-libs-log. + (gm2_init_log): Replace gm2-libs-pim with gm2-libs-log. + (gm2_init_cor): Replace gm2-libs-pim with gm2-libs-log. + +2023-01-31 Jakub Jelinek + + PR target/108599 + * gcc.target/i386/avx2-pr108599.c: New test. + +2023-01-31 Xianmiao Qu + + PR testsuite/108604 + * gcc.dg/torture/pr108574-3.c (b, f): Change type from char to + signed char. + +2023-01-31 Jakub Jelinek + + PR rtl-optimization/108596 + * gcc.c-torture/compile/pr108596.c: New test. + +2023-01-31 Jakub Jelinek + + PR c++/105593 + * gcc.target/i386/sse-23.c: Add -Wuninitialized to dg-options. + +2023-01-31 Kito Cheng + + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: Refine the scan + condition. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: Ditto. + +2023-01-30 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vloxei64-1.C: New test. + * g++.target/riscv/rvv/base/vloxei64-2.C: New test. + * g++.target/riscv/rvv/base/vloxei64-3.C: New test. + * g++.target/riscv/rvv/base/vloxei64_mu-1.C: New test. + * g++.target/riscv/rvv/base/vloxei64_mu-2.C: New test. + * g++.target/riscv/rvv/base/vloxei64_mu-3.C: New test. + * g++.target/riscv/rvv/base/vloxei64_tu-1.C: New test. + * g++.target/riscv/rvv/base/vloxei64_tu-2.C: New test. + * g++.target/riscv/rvv/base/vloxei64_tu-3.C: New test. + * g++.target/riscv/rvv/base/vloxei64_tum-1.C: New test. + * g++.target/riscv/rvv/base/vloxei64_tum-2.C: New test. + * g++.target/riscv/rvv/base/vloxei64_tum-3.C: New test. + * g++.target/riscv/rvv/base/vloxei64_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vloxei64_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vloxei64_tumu-3.C: New test. + +2023-01-30 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vloxei32-1.C: New test. + * g++.target/riscv/rvv/base/vloxei32-2.C: New test. + * g++.target/riscv/rvv/base/vloxei32-3.C: New test. + * g++.target/riscv/rvv/base/vloxei32_mu-1.C: New test. + * g++.target/riscv/rvv/base/vloxei32_mu-2.C: New test. + * g++.target/riscv/rvv/base/vloxei32_mu-3.C: New test. + * g++.target/riscv/rvv/base/vloxei32_tu-1.C: New test. + * g++.target/riscv/rvv/base/vloxei32_tu-2.C: New test. + * g++.target/riscv/rvv/base/vloxei32_tu-3.C: New test. + * g++.target/riscv/rvv/base/vloxei32_tum-1.C: New test. + * g++.target/riscv/rvv/base/vloxei32_tum-2.C: New test. + * g++.target/riscv/rvv/base/vloxei32_tum-3.C: New test. + * g++.target/riscv/rvv/base/vloxei32_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vloxei32_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vloxei32_tumu-3.C: New test. + +2023-01-30 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vloxei16-1.C: New test. + * g++.target/riscv/rvv/base/vloxei16-2.C: New test. + * g++.target/riscv/rvv/base/vloxei16-3.C: New test. + * g++.target/riscv/rvv/base/vloxei16_mu-1.C: New test. + * g++.target/riscv/rvv/base/vloxei16_mu-2.C: New test. + * g++.target/riscv/rvv/base/vloxei16_mu-3.C: New test. + * g++.target/riscv/rvv/base/vloxei16_tu-1.C: New test. + * g++.target/riscv/rvv/base/vloxei16_tu-2.C: New test. + * g++.target/riscv/rvv/base/vloxei16_tu-3.C: New test. + * g++.target/riscv/rvv/base/vloxei16_tum-1.C: New test. + * g++.target/riscv/rvv/base/vloxei16_tum-2.C: New test. + * g++.target/riscv/rvv/base/vloxei16_tum-3.C: New test. + * g++.target/riscv/rvv/base/vloxei16_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vloxei16_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vloxei16_tumu-3.C: New test. + +2023-01-30 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vloxei8-1.C: New test. + * g++.target/riscv/rvv/base/vloxei8-2.C: New test. + * g++.target/riscv/rvv/base/vloxei8-3.C: New test. + * g++.target/riscv/rvv/base/vloxei8_mu-1.C: New test. + * g++.target/riscv/rvv/base/vloxei8_mu-2.C: New test. + * g++.target/riscv/rvv/base/vloxei8_mu-3.C: New test. + * g++.target/riscv/rvv/base/vloxei8_tu-1.C: New test. + * g++.target/riscv/rvv/base/vloxei8_tu-2.C: New test. + * g++.target/riscv/rvv/base/vloxei8_tu-3.C: New test. + * g++.target/riscv/rvv/base/vloxei8_tum-1.C: New test. + * g++.target/riscv/rvv/base/vloxei8_tum-2.C: New test. + * g++.target/riscv/rvv/base/vloxei8_tum-3.C: New test. + * g++.target/riscv/rvv/base/vloxei8_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vloxei8_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vloxei8_tumu-3.C: New test. + +2023-01-30 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vluxei64-1.C: New test. + * g++.target/riscv/rvv/base/vluxei64-2.C: New test. + * g++.target/riscv/rvv/base/vluxei64-3.C: New test. + * g++.target/riscv/rvv/base/vluxei64_mu-1.C: New test. + * g++.target/riscv/rvv/base/vluxei64_mu-2.C: New test. + * g++.target/riscv/rvv/base/vluxei64_mu-3.C: New test. + * g++.target/riscv/rvv/base/vluxei64_tu-1.C: New test. + * g++.target/riscv/rvv/base/vluxei64_tu-2.C: New test. + * g++.target/riscv/rvv/base/vluxei64_tu-3.C: New test. + * g++.target/riscv/rvv/base/vluxei64_tum-1.C: New test. + * g++.target/riscv/rvv/base/vluxei64_tum-2.C: New test. + * g++.target/riscv/rvv/base/vluxei64_tum-3.C: New test. + * g++.target/riscv/rvv/base/vluxei64_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vluxei64_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vluxei64_tumu-3.C: New test. + +2023-01-30 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vluxei32-1.C: New test. + * g++.target/riscv/rvv/base/vluxei32-2.C: New test. + * g++.target/riscv/rvv/base/vluxei32-3.C: New test. + * g++.target/riscv/rvv/base/vluxei32_mu-1.C: New test. + * g++.target/riscv/rvv/base/vluxei32_mu-2.C: New test. + * g++.target/riscv/rvv/base/vluxei32_mu-3.C: New test. + * g++.target/riscv/rvv/base/vluxei32_tu-1.C: New test. + * g++.target/riscv/rvv/base/vluxei32_tu-2.C: New test. + * g++.target/riscv/rvv/base/vluxei32_tu-3.C: New test. + * g++.target/riscv/rvv/base/vluxei32_tum-1.C: New test. + * g++.target/riscv/rvv/base/vluxei32_tum-2.C: New test. + * g++.target/riscv/rvv/base/vluxei32_tum-3.C: New test. + * g++.target/riscv/rvv/base/vluxei32_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vluxei32_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vluxei32_tumu-3.C: New test. + +2023-01-30 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vluxei16-1.C: New test. + * g++.target/riscv/rvv/base/vluxei16-2.C: New test. + * g++.target/riscv/rvv/base/vluxei16-3.C: New test. + * g++.target/riscv/rvv/base/vluxei16_mu-1.C: New test. + * g++.target/riscv/rvv/base/vluxei16_mu-2.C: New test. + * g++.target/riscv/rvv/base/vluxei16_mu-3.C: New test. + * g++.target/riscv/rvv/base/vluxei16_tu-1.C: New test. + * g++.target/riscv/rvv/base/vluxei16_tu-2.C: New test. + * g++.target/riscv/rvv/base/vluxei16_tu-3.C: New test. + * g++.target/riscv/rvv/base/vluxei16_tum-1.C: New test. + * g++.target/riscv/rvv/base/vluxei16_tum-2.C: New test. + * g++.target/riscv/rvv/base/vluxei16_tum-3.C: New test. + * g++.target/riscv/rvv/base/vluxei16_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vluxei16_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vluxei16_tumu-3.C: New test. + +2023-01-30 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vluxei8-1.C: New test. + * g++.target/riscv/rvv/base/vluxei8-2.C: New test. + * g++.target/riscv/rvv/base/vluxei8-3.C: New test. + * g++.target/riscv/rvv/base/vluxei8_mu-1.C: New test. + * g++.target/riscv/rvv/base/vluxei8_mu-2.C: New test. + * g++.target/riscv/rvv/base/vluxei8_mu-3.C: New test. + * g++.target/riscv/rvv/base/vluxei8_tu-1.C: New test. + * g++.target/riscv/rvv/base/vluxei8_tu-2.C: New test. + * g++.target/riscv/rvv/base/vluxei8_tu-3.C: New test. + * g++.target/riscv/rvv/base/vluxei8_tum-1.C: New test. + * g++.target/riscv/rvv/base/vluxei8_tum-2.C: New test. + * g++.target/riscv/rvv/base/vluxei8_tum-3.C: New test. + * g++.target/riscv/rvv/base/vluxei8_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vluxei8_tumu-2.C: New test. + * g++.target/riscv/rvv/base/vluxei8_tumu-3.C: New test. + +2023-01-30 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsuxei16-1.C: New test. + * g++.target/riscv/rvv/base/vsuxei16-2.C: New test. + * g++.target/riscv/rvv/base/vsuxei16-3.C: New test. + * g++.target/riscv/rvv/base/vsuxei32-1.C: New test. + * g++.target/riscv/rvv/base/vsuxei32-2.C: New test. + * g++.target/riscv/rvv/base/vsuxei32-3.C: New test. + * g++.target/riscv/rvv/base/vsuxei64-1.C: New test. + * g++.target/riscv/rvv/base/vsuxei64-2.C: New test. + * g++.target/riscv/rvv/base/vsuxei64-3.C: New test. + * g++.target/riscv/rvv/base/vsuxei8-1.C: New test. + * g++.target/riscv/rvv/base/vsuxei8-2.C: New test. + * g++.target/riscv/rvv/base/vsuxei8-3.C: New test. + +2023-01-30 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsuxei16_v-1.c: New test. + * gcc.target/riscv/rvv/base/vsuxei16_v-2.c: New test. + * gcc.target/riscv/rvv/base/vsuxei16_v-3.c: New test. + * gcc.target/riscv/rvv/base/vsuxei16_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsuxei16_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsuxei16_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsuxei32_v-1.c: New test. + * gcc.target/riscv/rvv/base/vsuxei32_v-2.c: New test. + * gcc.target/riscv/rvv/base/vsuxei32_v-3.c: New test. + * gcc.target/riscv/rvv/base/vsuxei32_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsuxei32_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsuxei32_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsuxei64_v-1.c: New test. + * gcc.target/riscv/rvv/base/vsuxei64_v-2.c: New test. + * gcc.target/riscv/rvv/base/vsuxei64_v-3.c: New test. + * gcc.target/riscv/rvv/base/vsuxei64_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsuxei64_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsuxei64_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsuxei8_v-1.c: New test. + * gcc.target/riscv/rvv/base/vsuxei8_v-2.c: New test. + * gcc.target/riscv/rvv/base/vsuxei8_v-3.c: New test. + * gcc.target/riscv/rvv/base/vsuxei8_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsuxei8_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsuxei8_v_m-3.c: New test. + +2023-01-30 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vsoxei16_v-1.c: New test. + * gcc.target/riscv/rvv/base/vsoxei16_v-2.c: New test. + * gcc.target/riscv/rvv/base/vsoxei16_v-3.c: New test. + * gcc.target/riscv/rvv/base/vsoxei16_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsoxei16_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsoxei16_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsoxei32_v-1.c: New test. + * gcc.target/riscv/rvv/base/vsoxei32_v-2.c: New test. + * gcc.target/riscv/rvv/base/vsoxei32_v-3.c: New test. + * gcc.target/riscv/rvv/base/vsoxei32_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsoxei32_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsoxei32_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsoxei64_v-1.c: New test. + * gcc.target/riscv/rvv/base/vsoxei64_v-2.c: New test. + * gcc.target/riscv/rvv/base/vsoxei64_v-3.c: New test. + * gcc.target/riscv/rvv/base/vsoxei64_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsoxei64_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsoxei64_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vsoxei8_v-1.c: New test. + * gcc.target/riscv/rvv/base/vsoxei8_v-2.c: New test. + * gcc.target/riscv/rvv/base/vsoxei8_v-3.c: New test. + * gcc.target/riscv/rvv/base/vsoxei8_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsoxei8_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsoxei8_v_m-3.c: New test. + +2023-01-30 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsoxei32-1.C: New test. + * g++.target/riscv/rvv/base/vsoxei32-2.C: New test. + * g++.target/riscv/rvv/base/vsoxei32-3.C: New test. + * g++.target/riscv/rvv/base/vsoxei64-1.C: New test. + * g++.target/riscv/rvv/base/vsoxei64-2.C: New test. + * g++.target/riscv/rvv/base/vsoxei64-3.C: New test. + +2023-01-30 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsoxei16-1.C: New test. + * g++.target/riscv/rvv/base/vsoxei16-2.C: New test. + * g++.target/riscv/rvv/base/vsoxei16-3.C: New test. + * g++.target/riscv/rvv/base/vsoxei8-1.C: New test. + * g++.target/riscv/rvv/base/vsoxei8-2.C: New test. + * g++.target/riscv/rvv/base/vsoxei8-3.C: New test. + +2023-01-30 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vluxei64_v-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei64_v_tumu-3.c: New test. + +2023-01-30 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vluxei32_v-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei32_v_tumu-3.c: New test. + +2023-01-30 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vluxei16_v-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei16_v_tumu-3.c: New test. + +2023-01-30 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vluxei8_v-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vluxei8_v_tumu-3.c: New test. + +2023-01-30 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vloxei64_v-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei64_v_tumu-3.c: New test. + +2023-01-30 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vloxei32_v-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei32_v_tumu-3.c: New test. + +2023-01-30 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vloxei16_v-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei16_v_tumu-3.c: New test. + +2023-01-30 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vloxei8_v-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_m-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_m-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_m-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vloxei8_v_tumu-3.c: New test. + +2023-01-30 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vlxei-vsxei-constraint-1.c: New test. + +2023-01-30 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/vsetvl/avl_single-72.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-76.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-77.c: New test. + +2023-01-30 Rainer Orth + + * gm2/warnings/returntype/fail/warnings-returntype-fail.exp: Save, + restore TORTURE_OPTIONS. + +2023-01-30 Andrew Pinski + + PR tree-optimization/108582 + * gcc.dg/pr108582-1.c: New test. + +2023-01-30 Richard Biener + + PR tree-optimization/108574 + * gcc.dg/torture/pr108574-1.c: New testcase. + * gcc.dg/torture/pr108574-2.c: Likewise. + * gcc.dg/torture/pr108574-3.c: Likewise. + +2023-01-29 Mikael Morin + + PR fortran/108450 + * gfortran.dg/gomp/minmaxloc_1.f90: New test. + +2023-01-29 Jerry DeLisle + + PR fortran/103506 + * gfortran.dg/pr103506_1.f90: New test. + +2023-01-29 Jan Hubicka + + * gcc.dg/ipa/ipa-sra-30.c: New test. + * gcc.dg/ipa/ipa-sra-31.c: New test. + * gcc.dg/tree-ssa/modref-dse-7.c: New test. + +2023-01-28 Harald Anlauf + Steven G. Kargl + + PR fortran/108527 + * gfortran.dg/pr108527.f90: New test. + +2023-01-28 Harald Anlauf + + PR fortran/108453 + * gfortran.dg/common_27.f90: New test. + +2023-01-28 Jonathan Yong <10walls@gmail.com> + + PR c/108192 + * g++.dg/cet-notrack-1.C: Use puts instead of printf, + so function call is not mangled by __mingw_printf when + doing assembly symbol inspection. + +2023-01-28 Jonathan Yong <10walls@gmail.com> + + PR c/108150 + * gcc.dg/attr-aligned.c: Make errors emitted on Windows + target same as on Linux. + +2023-01-28 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vlse-1.C: New test. + * g++.target/riscv/rvv/base/vlse_tu-1.C: New test. + * g++.target/riscv/rvv/base/vlse_tum-1.C: New test. + * g++.target/riscv/rvv/base/vlse_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vsse-1.C: New test. + * gcc.target/riscv/rvv/base/vlse-1.c: New test. + * gcc.target/riscv/rvv/base/vlse-2.c: New test. + * gcc.target/riscv/rvv/base/vlse-3.c: New test. + * gcc.target/riscv/rvv/base/vlse-vsse-constraint-1.c: New test. + * gcc.target/riscv/rvv/base/vlse_m-1.c: New test. + * gcc.target/riscv/rvv/base/vlse_m-2.c: New test. + * gcc.target/riscv/rvv/base/vlse_m-3.c: New test. + * gcc.target/riscv/rvv/base/vlse_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vlse_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vlse_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vlse_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vlse_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vlse_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vlse_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vlse_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vlse_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vlse_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vlse_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vlse_tumu-3.c: New test. + * gcc.target/riscv/rvv/base/vsse-1.c: New test. + * gcc.target/riscv/rvv/base/vsse-2.c: New test. + * gcc.target/riscv/rvv/base/vsse-3.c: New test. + * gcc.target/riscv/rvv/base/vsse_m-1.c: New test. + * gcc.target/riscv/rvv/base/vsse_m-2.c: New test. + * gcc.target/riscv/rvv/base/vsse_m-3.c: New test. + +2023-01-28 Jerry DeLisle + + * gfortran.dg/ISO_Fortran_binding_17.f90: Replace (\n|\r\n|\r) + with (\r*\n+). + * gfortran.dg/array_temporaries_2.f90: Likewise. + * gfortran.dg/bind-c-contiguous-1.f90: Likewise. + * gfortran.dg/bind-c-contiguous-4.f90: Likewise. + * gfortran.dg/bind-c-contiguous-5.f90: Likewise. + * gfortran.dg/fmt_error_4.f90: Likewise. + * gfortran.dg/fmt_error_5.f90: Likewise. + * gfortran.dg/fmt_float.f90: Likewise. + * gfortran.dg/fmt_l.f90: Likewise. + * gfortran.dg/fmt_nonchar_2.f90: Likewise. + * gfortran.dg/fmt_zero_precision.f90: Likewise. + * gfortran.dg/g77/f77-edit-apostrophe-out.f: Likewise. + * gfortran.dg/g77/f77-edit-colon-out.f: Likewise. + * gfortran.dg/g77/f77-edit-h-out.f: Likewise. + * gfortran.dg/g77/f77-edit-i-out.f: Likewise. + * gfortran.dg/g77/f77-edit-s-out.f: Likewise. + * gfortran.dg/g77/f77-edit-slash-out.f: Likewise. + * gfortran.dg/g77/f77-edit-t-out.f: Likewise. + * gfortran.dg/g77/f77-edit-x-out.f: Likewise. + * gfortran.dg/namelist_40.f90: Likewise. + * gfortran.dg/namelist_47.f90: Likewise. + * gfortran.dg/namelist_print_1.f: Likewise. + * gfortran.dg/parameter_array_dummy.f90: Likewise. + +2023-01-27 Gaius Mulley + + * gm2/pim/fail/empty.mod: New test. + +2023-01-27 Joseph Myers + + * gcc.dg/c2x-auto-1.c, gcc.dg/c2x-auto-3.c: Expect braces around + auto initializers to be disallowed. + +2023-01-27 Richard Sandiford + + * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c: + Remove XFAIL. + * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Fix names + of dump files. + +2023-01-27 Richard Sandiford + + * gcc.target/aarch64/simd/vfma_f64.c: Use a wrapper function + rather than an asm barrier. + * gcc.target/aarch64/simd/vfms_f64.c: Likewise. + * gcc.target/aarch64/simd/vmul_f64_1.c: Use a wrapper function + rather than volatile. + * gcc.target/aarch64/simd/vmul_n_f64_1.c: Likewise. + * gcc.target/aarch64/simd/vqdmlalh_laneq_s16_1.c: Use a wrapper + function. Remove -fno-inline. + * gcc.target/aarch64/simd/vqdmlals_laneq_s32_1.c: Likewise. + * gcc.target/aarch64/simd/vqdmlslh_laneq_s16_1.c: Likewise. + * gcc.target/aarch64/simd/vqdmlsls_laneq_s32_1.c: Likewise. + * gcc.target/aarch64/simd/vqdmulhh_lane_s16.c: Likewise. + * gcc.target/aarch64/simd/vqdmulhh_laneq_s16_1.c: Likewise. + * gcc.target/aarch64/simd/vqdmulhs_laneq_s32_1.c: Likewise. + * gcc.target/aarch64/simd/vqrdmulhh_lane_s16.c: Likewise. + * gcc.target/aarch64/simd/vqrdmulhh_laneq_s16_1.c: Likewise. + * gcc.target/aarch64/simd/vqrdmulhs_lane_s32.c: Likewise. + * gcc.target/aarch64/simd/vqrdmulhs_laneq_s32_1.c: Likewise. + * gcc.target/aarch64/simd/vqdmulhs_lane_s32.c: Likewise. + Allow the scalar form to be used when operating on lane 0. + Add a test for lane 1. + +2023-01-27 Richard Sandiford + + PR tree-optimization/96373 + * gcc.target/aarch64/sve/cond_xorsign_1.c: New test. + * gcc.target/aarch64/sve/cond_xorsign_2.c: Likewise. + +2023-01-27 Richard Sandiford + + * gcc.target/aarch64/sve/cond_asrd_1.c: Tune for a 256-bit + vector length. + * gcc.target/aarch64/sve/cond_cnot_4.c: Likewise. + * gcc.target/aarch64/sve/cond_cnot_6.c: Likewise. + * gcc.target/aarch64/sve/cond_unary_5.c: Likewise. + * gcc.target/aarch64/sve/cond_unary_6.c: Likewise. + * gcc.target/aarch64/sve/cond_uxt_5.c: Likewise. + * gcc.target/aarch64/sve/vcond_4_costly.c: Remove XFAILs. + +2023-01-27 Andrew MacLeod + + PR tree-optimization/108306 + * gcc.dg/pr108306.c: New. + +2023-01-27 Andrew MacLeod + + PR tree-optimization/108447 + * gcc.dg/pr108447.c: New. + +2023-01-27 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/vsetvl/avl_multiple-7.c: Fix testcase check. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-18.c: Ditto. + +2023-01-27 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vle-1.C: New test. + * g++.target/riscv/rvv/base/vle_tu-1.C: New test. + * g++.target/riscv/rvv/base/vle_tum-1.C: New test. + * g++.target/riscv/rvv/base/vle_tumu-1.C: New test. + * g++.target/riscv/rvv/base/vse-1.C: New test. + * g++.target/riscv/rvv/base/riscv_vector.h: New. + +2023-01-27 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vse-1.c: New test. + * gcc.target/riscv/rvv/base/vse-2.c: New test. + * gcc.target/riscv/rvv/base/vse-3.c: New test. + * gcc.target/riscv/rvv/base/vse_m-1.c: New test. + * gcc.target/riscv/rvv/base/vse_m-2.c: New test. + * gcc.target/riscv/rvv/base/vse_m-3.c: New test. + +2023-01-27 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vle-1.c: New test. + * gcc.target/riscv/rvv/base/vle-2.c: New test. + * gcc.target/riscv/rvv/base/vle-3.c: New test. + * gcc.target/riscv/rvv/base/vle_m-1.c: New test. + * gcc.target/riscv/rvv/base/vle_m-2.c: New test. + * gcc.target/riscv/rvv/base/vle_m-3.c: New test. + * gcc.target/riscv/rvv/base/vle_mu-1.c: New test. + * gcc.target/riscv/rvv/base/vle_mu-2.c: New test. + * gcc.target/riscv/rvv/base/vle_mu-3.c: New test. + * gcc.target/riscv/rvv/base/vle_tu-1.c: New test. + * gcc.target/riscv/rvv/base/vle_tu-2.c: New test. + * gcc.target/riscv/rvv/base/vle_tu-3.c: New test. + * gcc.target/riscv/rvv/base/vle_tum-1.c: New test. + * gcc.target/riscv/rvv/base/vle_tum-2.c: New test. + * gcc.target/riscv/rvv/base/vle_tum-3.c: New test. + * gcc.target/riscv/rvv/base/vle_tumu-1.c: New test. + * gcc.target/riscv/rvv/base/vle_tumu-2.c: New test. + * gcc.target/riscv/rvv/base/vle_tumu-3.c: New test. + +2023-01-27 Ju-Zhe Zhong + + * g++.target/riscv/rvv/base/vsm-1.C: New test. + * g++.target/riscv/rvv/rvv.exp: New test. + * gcc.target/riscv/rvv/base/vlm_vsm-1.c: New test. + * gcc.target/riscv/rvv/base/vlm_vsm-2.c: New test. + * gcc.target/riscv/rvv/base/vlm_vsm-3.c: New test. + +2023-01-27 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/vsetvl/avl_single-14.c: Adjust for final implementation. + * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-30.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-44.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-47.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-50.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-51.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-65.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-66.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-67.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-68.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-70.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-71.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_single-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-15.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-16.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-21.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-22.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-23.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-24.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-4.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-5.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-6.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-8.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-9.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-10.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-13.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-14.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-15.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-16.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-9.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-73.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-74.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-75.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-13.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-14.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-15.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-16.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-17.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-18.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-19.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-20.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvl-9.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-13.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-14.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-15.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-16.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-17.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-18.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-19.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-20.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-9.c: New test. + +2023-01-27 Xi Ruoyao + + * gcc.dg/pr95115.c (x): Add noipa attribute. + +2023-01-27 Jakub Jelinek + + PR ipa/106061 + * gcc.dg/pr106061.c: New test. + +2023-01-27 Tobias Burnus + + * gfortran.dg/gomp/declare-variant-10.f90: Update scan-tree's + target selector to handle Windows. + * gfortran.dg/gomp/declare-variant-11.f90: Likewise. + * gfortran.dg/gomp/declare-variant-12.f90: Likewise. + +2023-01-26 Gaius Mulley + + * gm2/warnings/returntype/fail/badreturn.mod: New test. + * gm2/warnings/returntype/fail/warnings-returntype-fail.exp: + New test. + * gm2/warnings/returntype/pass/Termbase.mod: New test. + * gm2/warnings/returntype/pass/goodreturn.mod: New test. + * gm2/warnings/returntype/pass/keypressedsimple.mod: New test. + * gm2/warnings/returntype/pass/warnings-returntype-pass.exp: + New test. + +2023-01-26 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/vsetvl/avl_single-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-20.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-21.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-22.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-24.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-25.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-26.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-27.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-28.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-29.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-30.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-31.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-32.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-33.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-34.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-35.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-36.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-37.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-38.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-39.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-40.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-41.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-42.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-43.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-44.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-45.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-46.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-47.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-48.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-49.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-50.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-51.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-52.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-53.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-54.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-55.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-56.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-57.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-58.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-59.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-60.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-61.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-62.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-63.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-64.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-65.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-66.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-67.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-68.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-69.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-13.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-14.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-15.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-16.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-17.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-18.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-19.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-70.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-71.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/avl_single-9.c: New test. + +2023-01-26 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-13.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-9.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-10.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-11.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-12.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-13.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-14.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-15.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-16.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-17.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-9.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_switch-1.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_switch-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_switch-3.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_switch-4.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_switch-5.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_switch-6.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_switch-7.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_switch-8.c: New test. + * gcc.target/riscv/rvv/vsetvl/imm_switch-9.c: New test. + +2023-01-26 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c: Update + testcase. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-25.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-26.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-27.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-28.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c: Ditto. + +2023-01-26 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vle-constraint-1.c: + +2023-01-26 Ju-Zhe Zhong + + * gcc.target/riscv/rvv/base/vse-constraint-1.c: New test. + +2023-01-26 Harald Anlauf + + PR fortran/108544 + * gfortran.dg/pr108544.f90: New test. + * gfortran.dg/pr96102b.f90: New test. + +2023-01-26 Marek Polacek + + PR middle-end/108543 + * c-c++-common/asan/pointer-subtract-5.c: New test. + * c-c++-common/asan/pointer-subtract-6.c: New test. + * c-c++-common/asan/pointer-subtract-7.c: New test. + * c-c++-common/asan/pointer-subtract-8.c: New test. + +2023-01-26 Jakub Jelinek + + PR tree-optimization/108540 + * gcc.c-torture/execute/ieee/pr108540-1.c: New test. + * gcc.c-torture/execute/ieee/pr108540-2.c: New test. + +2023-01-26 Richard Sandiford + + * c-c++-common/hwasan/arguments-3.c: Remove extraneous .*s. + +2023-01-26 Richard Sandiford + + * gcc.target/aarch64/bfloat16_scalar_typecheck.c: Accept empty + compound literals. + +2023-01-26 Richard Sandiford + + * gcc.dg/guality/pr36728-2.c: Update XFAILs for aarch64*-*-*. + * gcc.dg/guality/pr54519-1.c: Likewise. + * gcc.dg/guality/pr54519-3.c: Likewise. + * gcc.dg/guality/pr54693-2.c: Likewise. + * gcc.dg/guality/sra-1.c: Likewise. + +2023-01-26 Richard Sandiford + + * g++.target/aarch64/sve/pr99766.C: Disable warnings. + +2023-01-26 Richard Sandiford + + * gcc.target/aarch64/sve/slp_13.c: Remove XFAILs. + +2023-01-26 Marek Polacek + + PR c++/105300 + * g++.dg/cpp0x/udlit-error1.C: New test. + +2023-01-26 David Malcolm + + PR analyzer/108507 + * gcc.dg/analyzer/SARD-tc841-basic-00182-min.c: Add + -Wno-stringop-overflow. + +2023-01-26 David Malcolm + + PR analyzer/108524 + * gcc.dg/analyzer/infinite-recursion-pr108524-1.c: New test. + * gcc.dg/analyzer/infinite-recursion-pr108524-2.c: New test. + * gcc.dg/analyzer/infinite-recursion-pr108524-qobject-json-parser.c: + New test. + +2023-01-26 Richard Biener + + PR tree-optimization/108547 + * gcc.dg/uninit-pr108547.c: New testcase. + +2023-01-26 Siddhesh Poyarekar + + PR tree-optimization/108522 + * gcc.dg/builtin-dynamic-object-size-0.c (DEFSTRUCT): New + macro. + (test_dynarray_struct_member_b, test_dynarray_struct_member_c, + test_dynarray_struct_member_d, + test_dynarray_struct_member_subobj_b, + test_dynarray_struct_member_subobj_c, + test_dynarray_struct_member_subobj_d): New tests. + (main): Call them. + +2023-01-26 Jakub Jelinek + + PR c++/108503 + * g++.dg/gomp/pr108503.C: New test. + +2023-01-26 Richard Biener + + PR tree-optimization/108523 + * gcc.dg/torture/pr108523.c: New testcase. + +2023-01-25 Steve Kargl + + PR fortran/108528 + * gfortran.dg/pr108528.f90: New test. + +2023-01-25 Jakub Jelinek + + PR c++/108525 + * g++.dg/cpp23/static-operator-call5.C: New test. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vhaddq_n_s16.c: Add missing extern + "C". + * 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/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/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/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/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/vqdmlashq_m_n_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s8.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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vld2q_f16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vqnegq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s8.c: Likewise. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vqabsq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vcmulq_f16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vcmlaq_f16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vcaddq_rot270_f16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vmulhq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vnegq_f16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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/simd/mve-vneg.c: Update test. + * gcc.target/arm/simd/mve-vshr.c: Likewise + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vclzq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use + extern "C" for C++ testing. + * 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/simd/mve-vclz.c: Update test. + +2023-01-25 Andrea Corallo + + * gcc.target/arm/mve/intrinsics/vclsq_m_s16.c: Use + check-function-bodies instead of scan-assembler checks. Use extern + "C" for C++ testing. + * 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. + +2023-01-25 Richard Sandiford + + * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Avoid + "initializer element is not constant" error. + * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise. + +2023-01-25 Andre Vieira + + * lib/target-supports.exp (check_effective_target_vect_long_long): Add + aarch64 to list of targets supporting long long vectorization. + +2023-01-25 Jakub Jelinek + + PR tree-optimization/108498 + * gcc.c-torture/execute/pr108498-1.c: New test. + * gcc.c-torture/execute/pr108498-2.c: New test. + +2023-01-25 Siddhesh Poyarekar + Jakub Jelinek + + PR tree-optimization/108522 + * gcc.dg/builtin-dynamic-object-size-0.c + (test_dynarray_struct_member): New test. + (main): Call it. + +2023-01-24 Jakub Jelinek + + PR c++/107329 + PR testsuite/108533 + * g++.dg/init/new51.C (size_t): New typedef. + (RexxClass::operator new, RexxClass::operator delete): Use size_t + instead of unsigned long. + +2023-01-24 Jason Merrill + + PR c++/108504 + * g++.dg/ext/pragma1.C: New test. + +2023-01-24 Jason Merrill + + PR c++/108526 + * g++.dg/cpp23/static-operator-call5.C: New test. + +2023-01-24 Vladimir N. Makarov + + * gcc.target/pdp11/pdp11.exp: New. + * gcc.target/pdp11/pr108388.c: New. + +2023-01-24 Harald Anlauf + + PR fortran/108529 + * gfortran.dg/pr108529.f90: New test. + +2023-01-24 Andre Vieira + + * gcc.target/arm/mve/pr108177-1-run.c: New test. + * gcc.target/arm/mve/pr108177-1.c: New test. + * gcc.target/arm/mve/pr108177-10-run.c: New test. + * gcc.target/arm/mve/pr108177-10.c: New test. + * gcc.target/arm/mve/pr108177-11-run.c: New test. + * gcc.target/arm/mve/pr108177-11.c: New test. + * gcc.target/arm/mve/pr108177-12-run.c: New test. + * gcc.target/arm/mve/pr108177-12.c: New test. + * gcc.target/arm/mve/pr108177-13-run.c: New test. + * gcc.target/arm/mve/pr108177-13.c: New test. + * gcc.target/arm/mve/pr108177-14-run.c: New test. + * gcc.target/arm/mve/pr108177-14.c: New test. + * gcc.target/arm/mve/pr108177-2-run.c: New test. + * gcc.target/arm/mve/pr108177-2.c: New test. + * gcc.target/arm/mve/pr108177-3-run.c: New test. + * gcc.target/arm/mve/pr108177-3.c: New test. + * gcc.target/arm/mve/pr108177-4-run.c: New test. + * gcc.target/arm/mve/pr108177-4.c: New test. + * gcc.target/arm/mve/pr108177-5-run.c: New test. + * gcc.target/arm/mve/pr108177-5.c: New test. + * gcc.target/arm/mve/pr108177-6-run.c: New test. + * gcc.target/arm/mve/pr108177-6.c: New test. + * gcc.target/arm/mve/pr108177-7-run.c: New test. + * gcc.target/arm/mve/pr108177-7.c: New test. + * gcc.target/arm/mve/pr108177-8-run.c: New test. + * gcc.target/arm/mve/pr108177-8.c: New test. + * gcc.target/arm/mve/pr108177-9-run.c: New test. + * gcc.target/arm/mve/pr108177-9.c: New test. + * gcc.target/arm/mve/pr108177-main.x: New test include. + * gcc.target/arm/mve/pr108177.x: New test include. + +2023-01-24 Jakub Jelinek + + PR c++/108474 + * g++.dg/cpp1z/decomp57.C: New test. + * g++.dg/cpp1z/decomp58.C: New test. + +2023-01-24 Rainer Orth + + PR testsuite/107808 + * gcc.dg/vect/vect-bitfield-write-2.c: Require vect_long_long. + * gcc.dg/vect/vect-bitfield-write-3.c: Likewise. + +2023-01-24 Rainer Orth + + PR testsuite/104756 + * gcc.dg/vect/vect-fmax-1.c: Require vect_float. + * gcc.dg/vect/vect-fmax-2.c: Likewise. + * gcc.dg/vect/vect-fmax-3.c: Likewise. + * gcc.dg/vect/vect-fmin-1.c: Likewise. + * gcc.dg/vect/vect-fmin-2.c: Likewise. + * gcc.dg/vect/vect-fmin-3.c: Likewise. + +2023-01-24 Lulu Cheng + Yang Yujie + + PR target/107731 + * gcc.target/loongarch/tst-asm-const.c: Moved to... + * gcc.target/loongarch/pr107731.c: ...here. + +2023-01-24 Jason Merrill + + PR c++/107303 + PR c++/107329 + * g++.dg/ext/builtin-shufflevector-5.C: New test. + * g++.dg/init/new51.C: New test. + +2023-01-23 Jason Merrill + + PR c++/107267 + * g++.dg/cpp0x/move2.C: New test. + +2023-01-23 Harald Anlauf + + PR fortran/108502 + * gfortran.dg/pr108502.f90: New test. + +2023-01-23 Marek Polacek + + PR c++/107797 + * g++.dg/warn/Wunused-value-1.C: New test. + +2023-01-23 Jason Merrill + + PR c++/108195 + * g++.dg/cpp0x/initlist-vect2.C: New test. + +2023-01-23 Harald Anlauf + + PR fortran/108501 + * gfortran.dg/pr108501.f90: New test. + +2023-01-23 Harald Anlauf + + PR fortran/108420 + * gfortran.dg/pr108420.f90: New test. + +2023-01-23 Jason Merrill + + PR c++/108496 + * g++.dg/template/explicit-instantiation5.C: New test. + +2023-01-23 Srinath Parvathaneni + + * g++.target/arm/pac-1.C: New test. + * gcc.target/arm/pac-15.c: Likewise. + +2023-01-23 Srinath Parvathaneni + + * gcc.target/arm/multilib.exp (multilib_config "rmprofile"): Update + tests. + * gcc.target/arm/pac-12.c: New test. + * gcc.target/arm/pac-13.c: Likewise. + * gcc.target/arm/pac-14.c: Likewise. + +2023-01-23 Srinath Parvathaneni + + * gcc.target/arm/multilib.exp: Add tests for cortex-m85. + +2023-01-23 Richard Biener + + PR tree-optimization/108482 + * gcc.dg/torture/pr108482.c: New testcase. + +2023-01-23 Andrea Corallo + + * gcc.target/arm/bti-1.c: New testcase. + * gcc.target/arm/bti-2.c: Likewise. + +2023-01-23 Andrea Corallo + + * gcc.target/arm/pac.h : New file. + * gcc.target/arm/pac-1.c : New test case. + * gcc.target/arm/pac-2.c : Likewise. + * gcc.target/arm/pac-3.c : Likewise. + * gcc.target/arm/pac-4.c : Likewise. + * gcc.target/arm/pac-5.c : Likewise. + * gcc.target/arm/pac-6.c : Likewise. + * gcc.target/arm/pac-7.c : Likewise. + * gcc.target/arm/pac-8.c : Likewise. + * gcc.target/arm/pac-9.c : Likewise. + * gcc.target/arm/pac-10.c : Likewise. + * gcc.target/arm/pac-11.c : Likewise. + +2023-01-23 Andrea Corallo + + * gcc.target/arm/multilib.exp: Add pacbti related entries. + +2023-01-23 Andrea Corallo + Tejas Belagod + + * gcc.target/arm/acle/pacbti-m-predef-1.c: New test. + * gcc.target/arm/acle/pacbti-m-predef-3.c: Likewise. + * gcc.target/arm/acle/pacbti-m-predef-6.c: Likewise. + * gcc.target/arm/acle/pacbti-m-predef-7.c: Likewise. + +2023-01-23 Andrea Corallo + Tejas Belagod + + * lib/target-supports.exp + (check_effective_target_mbranch_protection_ok): New function. + * gcc.target/arm/acle/pacbti-m-predef-2.c: New test. + * gcc.target/arm/acle/pacbti-m-predef-4.c: Likewise. + * gcc.target/arm/acle/pacbti-m-predef-5.c: Likewise. + * gcc.target/arm/acle/pacbti-m-predef-8.c: Likewise. + * gcc.target/arm/acle/pacbti-m-predef-9.c: Likewise. + * gcc.target/arm/acle/pacbti-m-predef-10.c: Likewise. + * gcc.target/arm/acle/pacbti-m-predef-11.c: Likewise. + * gcc.target/arm/acle/pacbti-m-predef-12.c: Likewise. + +2023-01-23 Andrea Corallo + Tejas Belagod + + * lib/target-supports.exp: + (check_effective_target_arm_pacbti_hw): New. + +2023-01-23 Richard Biener + + PR tree-optimization/108449 + * gcc.dg/pr108449.c: New testcase. + +2023-01-23 Jason Merrill + + PR c++/53288 + DR 1299 + * g++.dg/init/lifetime4.C: New test. + +2023-01-22 Iain Sandoe + + * gm2/case/pass/case-pass.exp: Update for removal of concatenated + paths. + * gm2/complex/pass/complex-pass.exp: Likewise. + * gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: Likewise. + * gm2/iso/analysis/fail/iso-analysis-fail.exp: Likewise. + * gm2/iso/check/fail/iso-check-fail.exp: Likewise. + * gm2/iso/fail/iso-fail.exp: Likewise. + * gm2/iso/pass/iso-pass.exp: Likewise. + * gm2/isolib/run/pass/isolib-run-pass.exp: Likewise. + * gm2/pim/fail/pim-fail.exp: Likewise. + * gm2/pim/pass/pim-pass.exp: Likewise. + * gm2/pimlib/logitech/run/pass/pimlib-logitech-run-pass.exp: Likewise. + * gm2/pimlib/pass/pimlib-pass.exp: Likewise. + * gm2/pimlib/run/pass/pimlib-run-pass.exp: Likewise. + * gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: Likewise. + * gm2/projects/iso/run/pass/hello/projects-iso-run-pass-hello.exp: Likewise. + * gm2/projects/log/run/pass/hello/projects-log-run-pass-hello.exp: Likewise. + * gm2/projects/pim/run/pass/hello/projects-pim-run-pass-hello.exp: Likewise. + * gm2/recover/pass/recover-pass.exp: Likewise. + * gm2/switches/makeall/fail/switches-makeall-fail.exp: Likewise. + * gm2/switches/makeall/pass/switches-makeall-pass.exp: Likewise. + * gm2/switches/none/run/pass/gm2-none.exp: Likewise. + * gm2/switches/pim2/run/pass/switches-pim2-run-pass.exp: Likewise. + * gm2/ulmlib/pass/ulmlib-pass.exp: Likewise. + * gm2/ulmlib/std/pass/ulmlib-std-pass.exp: Likewise. + * gm2/ulmlib/sys/pass/ulmlib-sys-pass.exp: Likewise. + * lib/gm2.exp: Make the paths list a mandatory entry for each gm2_init_xxx + function. Remove the use of concatenated include and library paths. + Remove string processing where possible. + +2023-01-22 Dimitar Dimitrov + + * gcc.target/pru/clz-hi-2.c: New test. + * gcc.target/pru/clz-hi.c: New test. + +2023-01-21 Jerry DeLisle + + PR fortran/102595 + * gfortran.dg/pr88048.f90: Adjust for changed error message. + * gfortran.dg/parameter_data0.f90: New test. + +2023-01-20 Tejas Belagod + + * gcc.target/aarch64/acle/pmull64.c: New. + * gcc.target/aarch64/aes-fuse-1.c: Replace '+crypto' with corresponding + feature flag based on the intrinsic. + * gcc.target/aarch64/aes-fuse-2.c: Likewise. + * gcc.target/aarch64/aes_1.c: Likewise. + * gcc.target/aarch64/aes_2.c: Likewise. + * gcc.target/aarch64/aes_xor_combine.c: Likewise. + * gcc.target/aarch64/sha1_1.c: Likewise. + * gcc.target/aarch64/sha256_1.c: Likewise. + * gcc.target/aarch64/target_attr_crypto_ice_1.c: Likewise. + +2023-01-19 Jakub Jelinek + + PR c++/108437 + * g++.dg/cpp23/subscript12.C: New test. + * g++.dg/cpp23/subscript13.C: New test. + +2023-01-19 Jakub Jelinek + + PR c++/53932 + * g++.dg/init/pr53932.C: New test. + +2023-01-19 H.J. Lu + + * gcc.target/i386/pr108436.c: New test. + +2023-01-19 David Malcolm + + PR analyzer/108455 + * gcc.dg/analyzer/deref-before-check-1.c: Add test coverage + involving dominance. + * gcc.dg/analyzer/deref-before-check-pr108455-1.c: New test. + * gcc.dg/analyzer/deref-before-check-pr108455-git-pack-revindex.c: + New test. + +2023-01-19 Harald Anlauf + + PR fortran/108434 + * gfortran.dg/pr108434.f90: New test. + +2023-01-19 Iain Sandoe + + * gm2/complex/run/pass/complex-run-pass.exp: Remove gm2_link_lib. + * gm2/iso/run/pass/iso-run-pass.exp: Likewise. + * gm2/link/externalscaffold/pass/link-externalscaffold-pass.exp: + * gm2/pimlib/logitech/run/pass/pimlib-logitech-run-pass.exp: Likewise. + * gm2/pimlib/run/pass/pimlib-run-pass.exp: Likewise. + * gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: + Likewise. + * gm2/projects/iso/run/pass/hello/projects-iso-run-pass-hello.exp: + Likewise. + * gm2/projects/pim/run/pass/hello/projects-pim-run-pass-hello.exp: + Likewise. + * gm2/sets/run/pass/sets-run-pass.exp: Likewise. + * gm2/switches/none/run/pass/gm2-none.exp: Likewise. + * gm2/switches/pic/run/pass/switches-pic-run-pass.exp: Likewise. + * gm2/projects/pim/run/pass/random/projects-pim-run-pass-random.exp: + Likewise, and also ensure that the -g option is appended to avoid it + being taken as a path. + * lib/gm2.exp: Ensure for each gm2_init_xxxx function that the set of + libraries added matches the set of -I and -L options. + +2023-01-19 Christophe Lyon + + PR target/108411 + * g++.target/aarch64/bitfield-abi-warning-align16-O2-extra.C: Add + -fno-stack-protector. + * g++.target/aarch64/bitfield-abi-warning-align16-O2.C: Likewise. + * g++.target/aarch64/bitfield-abi-warning-align32-O2-extra.C: Likewise. + * g++.target/aarch64/bitfield-abi-warning-align32-O2.C: Likewise. + * g++.target/aarch64/bitfield-abi-warning-align8-O2.C: Likewise. + * gcc.target/aarch64/bitfield-abi-warning-align16-O2-extra.c: Likewise. + * gcc.target/aarch64/bitfield-abi-warning-align16-O2.c: Likewise. + * gcc.target/aarch64/bitfield-abi-warning-align32-O2-extra.c: Likewise. + * gcc.target/aarch64/bitfield-abi-warning-align32-O2.c: Likewise. + * gcc.target/aarch64/bitfield-abi-warning-align8-O2.c: Likewise. + +2023-01-19 Jakub Jelinek + + PR tree-optimization/108440 + * c-c++-common/rotate-10.c: New test. + * c-c++-common/rotate-11.c: New test. + +2023-01-19 Alexandre Oliva + + PR debug/106746 + * gcc.target/i386/pr106746.c: New. + +2023-01-18 Marek Polacek + + PR c/108424 + * gcc.dg/c2x-nullptr-6.c: New test. + +2023-01-18 David Malcolm + + * gcc.dg/analyzer/SARD-tc117-basic-00001-min.c: New test, adapted + from https://samate.nist.gov/SARD/test-suites/81. + * gcc.dg/analyzer/SARD-tc1909-stack_overflow_loop.c: Likewise. + * gcc.dg/analyzer/SARD-tc249-basic-00034-min.c: Likewise. + * gcc.dg/analyzer/SARD-tc293-basic-00045-min.c: Likewise. + * gcc.dg/analyzer/SARD-tc841-basic-00182-min.c: Likewise. + +2023-01-18 Richard Biener + + PR lto/108445 + * gcc.dg/lto/pr108445_0.c: New testcase. + * gcc.dg/lto/pr108445_1.c: Likewise. + +2023-01-18 Murray Steele + + * gcc.target/arm/mve/general/preserve_user_namespace_1.c: New test. + +2023-01-18 Kewen Lin + Andrew Pinski + + PR target/108396 + * gcc.target/powerpc/pr108396.c: New test. + +2023-01-18 Kewen Lin + + PR target/108348 + * gcc.target/powerpc/pr108348-1.c: New test. + * gcc.target/powerpc/pr108348-2.c: New test. + +2023-01-17 Harald Anlauf + + PR fortran/108421 + * gfortran.dg/pr108421.f90: New test. + +2023-01-17 Jakub Jelinek + + PR tree-optimization/106523 + * c-c++-common/rotate-2.c (f5, f6, f7, f8, f13, f14, f15, f16, + f37, f38, f39, f40, f45, f46, f47, f48): Add assertions using + __builtin_unreachable about shift count. + * c-c++-common/rotate-2b.c: New test. + * c-c++-common/rotate-4.c (f5, f6, f7, f8, f13, f14, f15, f16, + f37, f38, f39, f40, f45, f46, f47, f48): Add assertions using + __builtin_unreachable about shift count. + * c-c++-common/rotate-4b.c: New test. + * gcc.c-torture/execute/pr106523.c: New test. + +2023-01-16 Andrew Pinski + + * lib/target-supports.exp (add_options_for_tls): Remove + reference to Solaris 9 in comments. + +2023-01-16 H.J. Lu + + PR target/105980 + * g++.target/i386/pr105980.C: New test. + +2023-01-16 Jan Hubicka + + * g++.dg/tree-ssa/pr106077.C: New test. + +2023-01-16 Stam Markianos-Wright + + PR target/96795 + PR target/107515 + * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-fp.c: New test. + * gcc.target/arm/mve/intrinsics/mve_intrinsic_type_overloads-int.c: New test. + +2023-01-16 Andrew Carlotti + + * g++.dg/tree-ssa/pr86544.C: Add .POPCOUNT to tree scan regex. + * gcc.dg/tree-ssa/popcount.c: Likewise. + * gcc.dg/tree-ssa/popcount2.c: Likewise. + * gcc.dg/tree-ssa/popcount3.c: Likewise. + * gcc.target/aarch64/popcount4.c: Likewise. + * gcc.target/i386/pr95771.c: Likewise, and... + * gcc.target/i386/pr95771-2.c: ...split int128 test from above, + since this would emit just a single IFN if a TI optab is added. + +2023-01-16 Andrew Carlotti + + * gcc.dg/tree-ssa/cltz-max.c: New test. + * gcc.dg/tree-ssa/clz-char.c: New test. + * gcc.dg/tree-ssa/clz-int.c: New test. + * gcc.dg/tree-ssa/clz-long-long.c: New test. + * gcc.dg/tree-ssa/clz-long.c: New test. + * gcc.dg/tree-ssa/ctz-char.c: New test. + * gcc.dg/tree-ssa/ctz-int.c: New test. + * gcc.dg/tree-ssa/ctz-long-long.c: New test. + * gcc.dg/tree-ssa/ctz-long.c: New test. + +2023-01-16 Andrew Carlotti + + * lib/target-supports.exp (check_effective_target_clz) + (check_effective_target_clzl, check_effective_target_clzll) + (check_effective_target_ctz, check_effective_target_clzl) + (check_effective_target_ctzll): New. + * gcc.dg/tree-ssa/cltz-complement-max.c: New test. + * gcc.dg/tree-ssa/clz-complement-char.c: New test. + * gcc.dg/tree-ssa/clz-complement-int.c: New test. + * gcc.dg/tree-ssa/clz-complement-long-long.c: New test. + * gcc.dg/tree-ssa/clz-complement-long.c: New test. + * gcc.dg/tree-ssa/ctz-complement-char.c: New test. + * gcc.dg/tree-ssa/ctz-complement-int.c: New test. + * gcc.dg/tree-ssa/ctz-complement-long-long.c: New test. + * gcc.dg/tree-ssa/ctz-complement-long.c: New test. + +2023-01-16 Jakub Jelinek + + PR c++/105593 + * g++.target/i386/pr105593.C: New test. + +2023-01-16 Jakub Jelinek + + PR c++/105593 + * c-c++-common/Winit-self3.c: New test. + * c-c++-common/Winit-self4.c: New test. + * c-c++-common/Winit-self5.c: New test. + +2023-01-16 Kewen Lin + + PR target/108272 + * gcc.target/powerpc/pr108272-1.c: New test. + * gcc.target/powerpc/pr108272-2.c: New test. + * gcc.target/powerpc/pr108272-3.c: New test. + * gcc.target/powerpc/pr108272-4.c: New test. + +2023-01-14 Prathamesh Kulkarni + + * gcc.target/aarch64/sve/acle/general/pr96463-2.c: Adjust. + +2023-01-14 Jakub Jelinek + + PR c++/108365 + * c-c++-common/pr108365.c: New test. + * g++.dg/opt/pr108365.C: New test. + * g++.dg/warn/pr108365.C: New test. + +2023-01-14 Alexandre Oliva + + PR target/42093 + * gcc.target/arm/pr42093.c: Disable tree-dce. + +2023-01-13 David Malcolm + + PR analyzer/105273 + * gcc.dg/analyzer/switch-enum-1.c: New test. + * gcc.dg/analyzer/switch-enum-2.c: New test. + * gcc.dg/analyzer/switch-enum-pr105273-git-vreportf-2.c: New test. + * gcc.dg/analyzer/switch-enum-taint-1.c: New test. + * gcc.dg/analyzer/switch-wrong-enum.c: New test. + * gcc.dg/analyzer/torture/switch-enum-pr105273-doom-p_floor.c: New + test. + * gcc.dg/analyzer/torture/switch-enum-pr105273-doom-p_maputl.c: + New test. + * gcc.dg/analyzer/torture/switch-enum-pr105273-git-vreportf-1.c: + New test. + +2023-01-13 Alexander Monakov + + PR rtl-optimization/108117 + PR rtl-optimization/108132 + * gcc.dg/pr108117.c: New test. + +2023-01-13 Jakub Jelinek + + PR c++/108285 + * g++.dg/warn/pr108285.C: New test. + +2023-01-13 Gaius Mulley + + * gm2/examples/map/pass/examples-map-pass.exp: + Call gm2_push_timeout 30 before foreach testcase. + Call gm2_pop_timeout after the foreach statement. + * gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: + Call gm2_push_timeout 20 before foreach testcase. + Call gm2_pop_timeout after the foreach statement. + +2023-01-13 Jakub Jelinek + + PR target/107131 + * gcc.c-torture/execute/pr107131.c: New test. + +2023-01-13 Srinath Parvathaneni + + * gcc.target/arm/multilib.exp: Add multilib tests for Cortex-M55 CPU. + +2023-01-13 Qing Zhao + + * gcc.dg/Warray-bounds-flex-arrays-1.c: Delete the level information + from the message issued by -Wstrict-flex-arrays. + * gcc.dg/Warray-bounds-flex-arrays-2.c: Likewise. + * gcc.dg/Warray-bounds-flex-arrays-3.c: Likewise. + * gcc.dg/Warray-bounds-flex-arrays-4.c: Likewise. + * gcc.dg/Warray-bounds-flex-arrays-5.c: Likewise. + * gcc.dg/Warray-bounds-flex-arrays-6.c: Likewise. + * gcc.dg/Wstrict-flex-arrays-2.c: Likewise. + * gcc.dg/Wstrict-flex-arrays-3.c: Likewise. + * gcc.dg/Wstrict-flex-arrays.c: Likewise. + +2023-01-13 Jakub Jelinek + + PR target/107131 + * gcc.dg/pr107131.c: New test. + +2023-01-13 Richard Sandiford + + * gcc.target/aarch64/dwarf_reg_size_1.c: New test. + * gcc.target/aarch64/dwarf_reg_size_2.c: Likewise. + +2023-01-13 Richard Biener + + * gcc.target/aarch64/pr107209.c: New test. + +2023-01-13 Richard Biener + + PR tree-optimization/108387 + * gcc.dg/pr108387.c: New testcase. + +2023-01-13 Gaius Mulley + + * gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp + (timeout-dg.exp): Load. + Call gm2_push_timeout 15. + Call gm2_pop_timeout at the end. + * gm2/link/min/pass/link-min-pass.exp: Set path + argument to "". + * gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp: + Call gm2_push_timeout 60. + Call gm2_pop_timeout at the end. + * lib/gm2-torture.exp (gm2_previous_timeout): Set to 10 or + individual_timeout. + Configure dejagnu to timeout for 10 seconds. + (gm2_push_timeout): New proc. + (gm2_pop_timeout): New proc. + * lib/gm2.exp (gm2_previous_timeout): Set to 10 or + individual_timeout. + Configure dejagnu to timeout for 10 seconds. + (gm2_push_timeout): New proc. + (gm2_pop_timeout): New proc. + +2023-01-12 Gaius Mulley + + * lib/gm2.exp: Use timeout.exp. + +2023-01-12 Gaius Mulley + + * lib/gm2.exp (gm2_init_min): Append -fno-exceptions + to args. + +2023-01-12 Andrew Pinski + Roger Sayle + + PR tree-optimization/92342 + * gcc.dg/tree-ssa/andnegcmp-1.c: New test. + * gcc.dg/tree-ssa/andnegcmp-2.c: New test. + * gcc.dg/tree-ssa/multcmp-1.c: New test. + * gcc.dg/tree-ssa/multcmp-2.c: New test. + +2023-01-12 Christophe Lyon + Richard Sandiford + + PR target/105549 + * gcc.target/aarch64/bitfield-abi-warning-align16-O2.c: Update. + * gcc.target/aarch64/bitfield-abi-warning-align16-O2-extra.c: Update. + * gcc.target/aarch64/bitfield-abi-warning-align32-O2.c: Update. + * gcc.target/aarch64/bitfield-abi-warning-align32-O2-extra.c: Update. + * gcc.target/aarch64/aapcs64/va_arg-17.c: New test. + * gcc.target/aarch64/pr105549.c: New test. + * g++.target/aarch64/bitfield-abi-warning-align16-O2.C: Update. + * g++.target/aarch64/bitfield-abi-warning-align16-O2-extra.C: Update. + * g++.target/aarch64/bitfield-abi-warning-align32-O2.C: Update. + * g++.target/aarch64/bitfield-abi-warning-align32-O2-extra.C: Update. + +2023-01-12 Christophe Lyon + Richard Sandiford + + * gcc.target/aarch64/bitfield-abi-warning-align16-O2.c: New test. + * gcc.target/aarch64/bitfield-abi-warning-align16-O2-extra.c: New + test. + * gcc.target/aarch64/bitfield-abi-warning-align32-O2.c: New test. + * gcc.target/aarch64/bitfield-abi-warning-align32-O2-extra.c: New + test. + * gcc.target/aarch64/bitfield-abi-warning-align8-O2.c: New test. + * gcc.target/aarch64/bitfield-abi-warning.h: New test. + * g++.target/aarch64/bitfield-abi-warning-align16-O2.C: New test. + * g++.target/aarch64/bitfield-abi-warning-align16-O2-extra.C: New + test. + * g++.target/aarch64/bitfield-abi-warning-align32-O2.C: New test. + * g++.target/aarch64/bitfield-abi-warning-align32-O2-extra.C: New + test. + * g++.target/aarch64/bitfield-abi-warning-align8-O2.C: New test. + * g++.target/aarch64/bitfield-abi-warning.h: New test. + +2023-01-12 Richard Biener + + PR tree-optimization/99412 + * gcc.dg/vect/pr99412.c: New testcase. + * gcc.dg/tree-ssa/reassoc-47.c: Adjust comment. + * gcc.dg/tree-ssa/reassoc-48.c: Remove. + +2023-01-12 Tobias Burnus + + PR fortran/107706 + * gfortran.dg/gomp/assume-2.f90: Update dg-error. + * gfortran.dg/gomp/assumes-2.f90: Likewise. + * gfortran.dg/gomp/assume-5.f90: New test. + +2023-01-12 Lewis Hyatt + + * c-c++-common/cpp/pr108244-1.c: New test. + * c-c++-common/cpp/pr108244-2.c: New test. + * c-c++-common/gomp/pr108244-3.c: New test. + +2023-01-11 David Malcolm + + PR analyzer/108252 + * gcc.dg/analyzer/attr-malloc-pr108252.c: New test. + * gcc.dg/analyzer/fd-leak-pr108252.c: New test. + * gcc.dg/analyzer/flex-with-call-summaries.c: Remove xfail from + warning false +ve directives. + * gcc.dg/analyzer/pr103217-2.c: Add -Wno-analyzer-too-complex. + * gcc.dg/analyzer/pr103217-3.c: Likewise. + * gcc.dg/analyzer/strdup-pr108252.c: New test. + * gcc.dg/analyzer/strndup-pr108252.c: New test. + +2023-01-11 Jakub Jelinek + + PR c/105972 + * gcc.dg/pr105972.c: New test. + +2023-01-11 Roger Sayle + + PR tree-optimization/71343 + * gcc.dg/pr71343-2.c: New test case. + +2023-01-11 David Faust + + PR target/108293 + * gcc.target/bpf/double-1.c: New test. + * gcc.target/bpf/double-2.c: New test. + * gcc.target/bpf/float-1.c: New test. + +2023-01-11 Eric Botcazou + + * gcc.dg/sso-17.c: New test. + +2023-01-11 Kewen Lin + + * gcc.target/powerpc/ppc-fortran/ppc-fortran.exp: Exit immediately if + the testing target isn't a PowerPC target. + +2023-01-11 Richard Biener + + PR tree-optimization/107767 + * gcc.dg/tree-ssa/pr107767.c: New testcase. + +2023-01-11 Jakub Jelinek + + PR target/108308 + * gcc.dg/pr108308.c: Use int32 target rather than { ilp32 || lp64 }. + +2023-01-11 Richard Biener + + PR tree-optimization/108352 + * gcc.dg/tree-ssa/ssa-thread-21.c: New testcase. + * gcc.dg/tree-ssa/vrp46.c: Remove --param fsm-scale-path-blocks=1. + +2023-01-11 Richard Biener + + PR tree-optimization/108353 + * gcc.dg/tree-ssa/ssa-copyprop-3.c: New testcase. + +2023-01-11 Andreas Krebbel + + * gcc.target/s390/not.c: New test. + +2023-01-11 Richard Biener + + PR tree-optimization/106293 + * gcc.dg/tree-ssa/ssa-dse-46.c: Remove long initializer. + +2023-01-10 Richard Biener + + PR tree-optimization/106293 + * gcc.dg/tree-ssa/ssa-dse-46.c: New testcase. + +2023-01-10 Roger Sayle + + PR rtl-optimization/106421 + * gcc.dg/pr106421.c: New test case. + +2023-01-10 Martin Jambor + + PR ipa/108110 + * g++.dg/ipa/pr108110.C: New test. + +2023-01-10 Richard Biener + + PR tree-optimization/108314 + * gcc.dg/vect/pr108314.c: New testcase. + +2023-01-10 Xianmiao Qu + + * gcc.target/csky/ldbs.c : Fix exclude-opts, should not + be "*". + +2023-01-10 Xianmiao Qu + + * gcc.target/csky/and3a.c: Rename to ... + * gcc.target/csky/ck801-and.c: ... this. + * gcc.target/csky/constpool-3.c: Rename to ... + * gcc.target/csky/constpool-2.c: ... this, Rename to ... + * gcc.target/csky/constpool-1.c: ... this, Rename to ... + * gcc.target/csky/ck801-constpool.c: ... this, and skip + if the CPU is not ck801. + * gcc.target/csky/ck801-branch.c: Skip if the CPU is not ck801. + +2023-01-10 Andreas Krebbel + + * gcc.target/s390/fcall-saved.c: New test. + +2023-01-09 Jakub Jelinek + + PR c++/105838 + PR c++/108047 + PR c++/108266 + * g++.dg/tree-ssa/initlist-opt2.C: New test. + * g++.dg/tree-ssa/initlist-opt3.C: New test. + +2023-01-09 Joseph Myers + + * gcc.dg/c2x-complit-8.c: New test. + +2023-01-09 Richard Biener + + PR middle-end/69482 + * gcc.target/i386/pr69482-1.c: New testcase. + * gcc.target/i386/pr69482-2.c: Likewise. + +2023-01-09 Martin Liska + + PR lto/108330 + * g++.dg/ipa/pr108830.C: New test. + +2023-01-09 Richard Biener + + PR tree-optimization/101912 + * gcc.dg/uninit-pr101912.c: New testcase. + +2023-01-09 Martin Liska + + PR c/107993 + * gcc.target/i386/pr107993.c: New test. + +2023-01-07 John David Anglin + + * gcc.dg/atomic/c11-atomic-exec-4.c: Add "-D_HPUX_SOURCE" option + on *-*-hpux*. + * gcc.dg/atomic/c11-atomic-exec-5.c: Likewise. + +2023-01-06 Joseph Myers + + * gcc.dg/builtin-tgmath-3.c: Update expectations and add more + tests. + +2023-01-06 Tamar Christina + + Revert: + 2023-01-06 Tamar Christina + + * gcc.target/aarch64/sve/slp_1.c: Update testcase. + +2023-01-06 Jakub Jelinek + + PR target/108292 + PR target/108308 + * gcc.c-torture/execute/pr108292.c: New test. + * gcc.target/i386/pr108292.c: New test. + * gcc.dg/pr108308.c: New test. + +2023-01-05 Roger Sayle + + Revert: + 2023-01-05 Roger Sayle + + * gcc.target/i386/cmov10.c: New test case. + +2023-01-05 Patrick Palka + + PR c++/108275 + * g++.dg/parse/access14.C: New test. + +2023-01-05 Gaius Mulley + + * lib/gm2.exp (gm2_init_minx): New procedure. + (gm2_init_min): New procedure calls gm2_init_min with + dialect flags. + * gm2/link/min/pass/tiny.mod: New test case. + * gm2/link/min/pass/link-min-pass.exp: New file. + +2023-01-04 Patrick Palka + + PR c++/108282 + * g++.dg/cpp2a/concepts-requires34.C: New test. + +2023-01-04 Jakub Jelinek + + PR c++/108206 + * g++.dg/template/pr108206.C: New test. + +2023-01-04 Iain Sandoe + + * gm2/iso/pass/realbitscast.mod: Disable REAL96 on Darwin. + +2023-01-04 Jakub Jelinek + + PR tree-optimization/108253 + * g++.dg/opt/pr108253.C: New test. + +2023-01-04 Jakub Jelinek + + PR middle-end/108237 + * gcc.c-torture/compile/pr108237.c: New test. + +2023-01-04 Jakub Jelinek + + PR sanitizer/108256 + * c-c++-common/ubsan/pr108256.c: New test. + +2023-01-03 David Edelsohn + + * g++.dg/modules/modules.exp: Skip on AIX. + * gcc.target/powerpc/pr99708.c: Skip on AIX. + +2023-01-03 Sandra Loosemore + + * g++.dg/gomp/target-simd-clone-1.C: Tweak to test + that the unused clone is GC'ed. + * gcc.dg/gomp/target-simd-clone-1.c: Likewise. + +2023-01-03 Roger Sayle + + * gcc.target/i386/cmov10.c: New test case. + +2023-01-03 Jakub Jelinek + + PR middle-end/108264 + * gcc.dg/pr108264.c: New test. + +2023-01-03 Jakub Jelinek + + PR rtl-optimization/108263 + * gcc.dg/pr108263.c: New test. + +2023-01-01 Roger Sayle + Uroš Bizjak + + * gcc.target/i386/extendditi2-1.c: New test case. + * gcc.target/i386/extendditi2-2.c: Likewise. + + +Copyright (C) 2023 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 b/libgfortran/ChangeLog index 55e6befffa6b..dc0c0dfb3863 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,735 +1,5 @@ -2023-12-19 Francois-Xavier Coudert - - PR libfortran/110651 - * libgfortran.spec.in: Remove duplicate libraries. - -2023-12-18 Harald Anlauf - - PR fortran/96580 - * intrinsics/date_and_time.c (date_and_time): Handle VALUES argument - for kind=2 and kind=16 (if available). - -2023-12-11 Lipeng Zhu - - * io/async.c (DEBUG_LINE): New macro. - * io/async.h (RWLOCK_DEBUG_ADD): New macro. - (CHECK_RDLOCK): New macro. - (CHECK_WRLOCK): New macro. - (TAIL_RWLOCK_DEBUG_QUEUE): New macro. - (IN_RWLOCK_DEBUG_QUEUE): New macro. - (RDLOCK): New macro. - (WRLOCK): New macro. - (RWUNLOCK): New macro. - (RD_TO_WRLOCK): New macro. - (INTERN_RDLOCK): New macro. - (INTERN_WRLOCK): New macro. - (INTERN_RWUNLOCK): New macro. - * io/io.h (struct gfc_unit): Change UNIT_LOCK to UNIT_RWLOCK in - a comment. - (unit_lock): Remove including associated internal_proto. - (unit_rwlock): New declarations including associated internal_proto. - (dec_waiting_unlocked): Use WRLOCK and RWUNLOCK on unit_rwlock - instead of __gthread_mutex_lock and __gthread_mutex_unlock on - unit_lock. - * io/transfer.c (st_read_done_worker): Use WRLOCK and RWUNLOCK on - unit_rwlock instead of LOCK and UNLOCK on unit_lock. - (st_write_done_worker): Likewise. - * io/unit.c: Change UNIT_LOCK to UNIT_RWLOCK in 'IO locking rules' - comment. Use unit_rwlock variable instead of unit_lock variable. - (get_gfc_unit_from_unit_root): New function. - (get_gfc_unit): Use RDLOCK, WRLOCK and RWUNLOCK on unit_rwlock - instead of LOCK and UNLOCK on unit_lock. - (close_unit_1): Use WRLOCK and RWUNLOCK on unit_rwlock instead of - LOCK and UNLOCK on unit_lock. - (close_units): Likewise. - (newunit_alloc): Use RWUNLOCK on unit_rwlock instead of UNLOCK on - unit_lock. - * io/unix.c (find_file): Use RDLOCK and RWUNLOCK on unit_rwlock - instead of LOCK and UNLOCK on unit_lock. - (flush_all_units): Use WRLOCK and RWUNLOCK on unit_rwlock instead - of LOCK and UNLOCK on unit_lock. - -2023-12-05 Florian Weimer - Jakub Jelinek - - * io/list_read.c (list_formatted_read_scalar) : - Change types of unit and noiostat to GFC_INTEGER_4 from int, change - type of child_iostat from to GFC_INTEGER_4 * from int *, formatting - fixes. - (nml_read_obj): Likewise. - * io/write.c (list_formatted_write_scalar) : Likewise. - (nml_write_obj): Likewise. - * io/transfer.c (unformatted_read, unformatted_write): Likewise. - -2023-11-08 Mikael Morin - - PR fortran/112371 - * m4/ifunction.m4 (START_ARRAY_FUNCTION, START_MASKED_ARRAY_FUNCTION, - SCALAR_ARRAY_FUNCTION): Remove overwrite of the first dimension of the - array descriptor. - * m4/ifunction-s.m4 (START_ARRAY_FUNCTION, START_MASKED_ARRAY_FUNCTION, - SCALAR_ARRAY_FUNCTION): Ditto. - * m4/ifunction-s2.m4 (START_ARRAY_FUNCTION, - START_MASKED_ARRAY_FUNCTION, SCALAR_ARRAY_FUNCTION): Ditto. - * m4/ifunction_logical.m4 (START_ARRAY_FUNCTION): Ditto. - * m4/ifindloc1.m4: Ditto. - * generated/all_l1.c: Regenerate. - * generated/all_l16.c: Regenerate. - * generated/all_l2.c: Regenerate. - * generated/all_l4.c: Regenerate. - * generated/all_l8.c: Regenerate. - * generated/any_l1.c: Regenerate. - * generated/any_l16.c: Regenerate. - * generated/any_l2.c: Regenerate. - * generated/any_l4.c: Regenerate. - * generated/any_l8.c: Regenerate. - * generated/count_16_l.c: Regenerate. - * generated/count_1_l.c: Regenerate. - * generated/count_2_l.c: Regenerate. - * generated/count_4_l.c: Regenerate. - * generated/count_8_l.c: Regenerate. - * generated/findloc1_c10.c: Regenerate. - * generated/findloc1_c16.c: Regenerate. - * generated/findloc1_c17.c: Regenerate. - * generated/findloc1_c4.c: Regenerate. - * generated/findloc1_c8.c: Regenerate. - * generated/findloc1_i1.c: Regenerate. - * generated/findloc1_i16.c: Regenerate. - * generated/findloc1_i2.c: Regenerate. - * generated/findloc1_i4.c: Regenerate. - * generated/findloc1_i8.c: Regenerate. - * generated/findloc1_r10.c: Regenerate. - * generated/findloc1_r16.c: Regenerate. - * generated/findloc1_r17.c: Regenerate. - * generated/findloc1_r4.c: Regenerate. - * generated/findloc1_r8.c: Regenerate. - * generated/findloc1_s1.c: Regenerate. - * generated/findloc1_s4.c: Regenerate. - * generated/iall_i1.c: Regenerate. - * generated/iall_i16.c: Regenerate. - * generated/iall_i2.c: Regenerate. - * generated/iall_i4.c: Regenerate. - * generated/iall_i8.c: Regenerate. - * generated/iany_i1.c: Regenerate. - * generated/iany_i16.c: Regenerate. - * generated/iany_i2.c: Regenerate. - * generated/iany_i4.c: Regenerate. - * generated/iany_i8.c: Regenerate. - * generated/iparity_i1.c: Regenerate. - * generated/iparity_i16.c: Regenerate. - * generated/iparity_i2.c: Regenerate. - * generated/iparity_i4.c: Regenerate. - * generated/iparity_i8.c: Regenerate. - * generated/maxloc1_16_i1.c: Regenerate. - * generated/maxloc1_16_i16.c: Regenerate. - * generated/maxloc1_16_i2.c: Regenerate. - * generated/maxloc1_16_i4.c: Regenerate. - * generated/maxloc1_16_i8.c: Regenerate. - * generated/maxloc1_16_r10.c: Regenerate. - * generated/maxloc1_16_r16.c: Regenerate. - * generated/maxloc1_16_r17.c: Regenerate. - * generated/maxloc1_16_r4.c: Regenerate. - * generated/maxloc1_16_r8.c: Regenerate. - * generated/maxloc1_16_s1.c: Regenerate. - * generated/maxloc1_16_s4.c: Regenerate. - * generated/maxloc1_4_i1.c: Regenerate. - * generated/maxloc1_4_i16.c: Regenerate. - * generated/maxloc1_4_i2.c: Regenerate. - * generated/maxloc1_4_i4.c: Regenerate. - * generated/maxloc1_4_i8.c: Regenerate. - * generated/maxloc1_4_r10.c: Regenerate. - * generated/maxloc1_4_r16.c: Regenerate. - * generated/maxloc1_4_r17.c: Regenerate. - * generated/maxloc1_4_r4.c: Regenerate. - * generated/maxloc1_4_r8.c: Regenerate. - * generated/maxloc1_4_s1.c: Regenerate. - * generated/maxloc1_4_s4.c: Regenerate. - * generated/maxloc1_8_i1.c: Regenerate. - * generated/maxloc1_8_i16.c: Regenerate. - * generated/maxloc1_8_i2.c: Regenerate. - * generated/maxloc1_8_i4.c: Regenerate. - * generated/maxloc1_8_i8.c: Regenerate. - * generated/maxloc1_8_r10.c: Regenerate. - * generated/maxloc1_8_r16.c: Regenerate. - * generated/maxloc1_8_r17.c: Regenerate. - * generated/maxloc1_8_r4.c: Regenerate. - * generated/maxloc1_8_r8.c: Regenerate. - * generated/maxloc1_8_s1.c: Regenerate. - * generated/maxloc1_8_s4.c: Regenerate. - * generated/maxval1_s1.c: Regenerate. - * generated/maxval1_s4.c: Regenerate. - * generated/maxval_i1.c: Regenerate. - * generated/maxval_i16.c: Regenerate. - * generated/maxval_i2.c: Regenerate. - * generated/maxval_i4.c: Regenerate. - * generated/maxval_i8.c: Regenerate. - * generated/maxval_r10.c: Regenerate. - * generated/maxval_r16.c: Regenerate. - * generated/maxval_r17.c: Regenerate. - * generated/maxval_r4.c: Regenerate. - * generated/maxval_r8.c: Regenerate. - * generated/minloc1_16_i1.c: Regenerate. - * generated/minloc1_16_i16.c: Regenerate. - * generated/minloc1_16_i2.c: Regenerate. - * generated/minloc1_16_i4.c: Regenerate. - * generated/minloc1_16_i8.c: Regenerate. - * generated/minloc1_16_r10.c: Regenerate. - * generated/minloc1_16_r16.c: Regenerate. - * generated/minloc1_16_r17.c: Regenerate. - * generated/minloc1_16_r4.c: Regenerate. - * generated/minloc1_16_r8.c: Regenerate. - * generated/minloc1_16_s1.c: Regenerate. - * generated/minloc1_16_s4.c: Regenerate. - * generated/minloc1_4_i1.c: Regenerate. - * generated/minloc1_4_i16.c: Regenerate. - * generated/minloc1_4_i2.c: Regenerate. - * generated/minloc1_4_i4.c: Regenerate. - * generated/minloc1_4_i8.c: Regenerate. - * generated/minloc1_4_r10.c: Regenerate. - * generated/minloc1_4_r16.c: Regenerate. - * generated/minloc1_4_r17.c: Regenerate. - * generated/minloc1_4_r4.c: Regenerate. - * generated/minloc1_4_r8.c: Regenerate. - * generated/minloc1_4_s1.c: Regenerate. - * generated/minloc1_4_s4.c: Regenerate. - * generated/minloc1_8_i1.c: Regenerate. - * generated/minloc1_8_i16.c: Regenerate. - * generated/minloc1_8_i2.c: Regenerate. - * generated/minloc1_8_i4.c: Regenerate. - * generated/minloc1_8_i8.c: Regenerate. - * generated/minloc1_8_r10.c: Regenerate. - * generated/minloc1_8_r16.c: Regenerate. - * generated/minloc1_8_r17.c: Regenerate. - * generated/minloc1_8_r4.c: Regenerate. - * generated/minloc1_8_r8.c: Regenerate. - * generated/minloc1_8_s1.c: Regenerate. - * generated/minloc1_8_s4.c: Regenerate. - * generated/minval1_s1.c: Regenerate. - * generated/minval1_s4.c: Regenerate. - * generated/minval_i1.c: Regenerate. - * generated/minval_i16.c: Regenerate. - * generated/minval_i2.c: Regenerate. - * generated/minval_i4.c: Regenerate. - * generated/minval_i8.c: Regenerate. - * generated/minval_r10.c: Regenerate. - * generated/minval_r16.c: Regenerate. - * generated/minval_r17.c: Regenerate. - * generated/minval_r4.c: Regenerate. - * generated/minval_r8.c: Regenerate. - * generated/norm2_r10.c: Regenerate. - * generated/norm2_r16.c: Regenerate. - * generated/norm2_r17.c: Regenerate. - * generated/norm2_r4.c: Regenerate. - * generated/norm2_r8.c: Regenerate. - * generated/parity_l1.c: Regenerate. - * generated/parity_l16.c: Regenerate. - * generated/parity_l2.c: Regenerate. - * generated/parity_l4.c: Regenerate. - * generated/parity_l8.c: Regenerate. - * generated/product_c10.c: Regenerate. - * generated/product_c16.c: Regenerate. - * generated/product_c17.c: Regenerate. - * generated/product_c4.c: Regenerate. - * generated/product_c8.c: Regenerate. - * generated/product_i1.c: Regenerate. - * generated/product_i16.c: Regenerate. - * generated/product_i2.c: Regenerate. - * generated/product_i4.c: Regenerate. - * generated/product_i8.c: Regenerate. - * generated/product_r10.c: Regenerate. - * generated/product_r16.c: Regenerate. - * generated/product_r17.c: Regenerate. - * generated/product_r4.c: Regenerate. - * generated/product_r8.c: Regenerate. - * generated/sum_c10.c: Regenerate. - * generated/sum_c16.c: Regenerate. - * generated/sum_c17.c: Regenerate. - * generated/sum_c4.c: Regenerate. - * generated/sum_c8.c: Regenerate. - * generated/sum_i1.c: Regenerate. - * generated/sum_i16.c: Regenerate. - * generated/sum_i2.c: Regenerate. - * generated/sum_i4.c: Regenerate. - * generated/sum_i8.c: Regenerate. - * generated/sum_r10.c: Regenerate. - * generated/sum_r16.c: Regenerate. - * generated/sum_r17.c: Regenerate. - * generated/sum_r4.c: Regenerate. - * generated/sum_r8.c: Regenerate. - -2023-11-08 Mikael Morin - - PR fortran/112371 - * m4/ifunction.m4 (START_MASKED_ARRAY_FUNCTION): Remove early return if - extent is zero or less, and clamp negative value to zero. - * m4/ifunction-s.m4 (START_MASKED_ARRAY_FUNCTION): Ditto. - * m4/ifunction-s2.m4 (START_MASKED_ARRAY_FUNCTION): Ditto. - * generated/iall_i1.c: Regenerate. - * generated/iall_i16.c: Regenerate. - * generated/iall_i2.c: Regenerate. - * generated/iall_i4.c: Regenerate. - * generated/iall_i8.c: Regenerate. - * generated/iany_i1.c: Regenerate. - * generated/iany_i16.c: Regenerate. - * generated/iany_i2.c: Regenerate. - * generated/iany_i4.c: Regenerate. - * generated/iany_i8.c: Regenerate. - * generated/iparity_i1.c: Regenerate. - * generated/iparity_i16.c: Regenerate. - * generated/iparity_i2.c: Regenerate. - * generated/iparity_i4.c: Regenerate. - * generated/iparity_i8.c: Regenerate. - * generated/maxloc1_16_i1.c: Regenerate. - * generated/maxloc1_16_i16.c: Regenerate. - * generated/maxloc1_16_i2.c: Regenerate. - * generated/maxloc1_16_i4.c: Regenerate. - * generated/maxloc1_16_i8.c: Regenerate. - * generated/maxloc1_16_r10.c: Regenerate. - * generated/maxloc1_16_r16.c: Regenerate. - * generated/maxloc1_16_r17.c: Regenerate. - * generated/maxloc1_16_r4.c: Regenerate. - * generated/maxloc1_16_r8.c: Regenerate. - * generated/maxloc1_16_s1.c: Regenerate. - * generated/maxloc1_16_s4.c: Regenerate. - * generated/maxloc1_4_i1.c: Regenerate. - * generated/maxloc1_4_i16.c: Regenerate. - * generated/maxloc1_4_i2.c: Regenerate. - * generated/maxloc1_4_i4.c: Regenerate. - * generated/maxloc1_4_i8.c: Regenerate. - * generated/maxloc1_4_r10.c: Regenerate. - * generated/maxloc1_4_r16.c: Regenerate. - * generated/maxloc1_4_r17.c: Regenerate. - * generated/maxloc1_4_r4.c: Regenerate. - * generated/maxloc1_4_r8.c: Regenerate. - * generated/maxloc1_4_s1.c: Regenerate. - * generated/maxloc1_4_s4.c: Regenerate. - * generated/maxloc1_8_i1.c: Regenerate. - * generated/maxloc1_8_i16.c: Regenerate. - * generated/maxloc1_8_i2.c: Regenerate. - * generated/maxloc1_8_i4.c: Regenerate. - * generated/maxloc1_8_i8.c: Regenerate. - * generated/maxloc1_8_r10.c: Regenerate. - * generated/maxloc1_8_r16.c: Regenerate. - * generated/maxloc1_8_r17.c: Regenerate. - * generated/maxloc1_8_r4.c: Regenerate. - * generated/maxloc1_8_r8.c: Regenerate. - * generated/maxloc1_8_s1.c: Regenerate. - * generated/maxloc1_8_s4.c: Regenerate. - * generated/maxval1_s1.c: Regenerate. - * generated/maxval1_s4.c: Regenerate. - * generated/maxval_i1.c: Regenerate. - * generated/maxval_i16.c: Regenerate. - * generated/maxval_i2.c: Regenerate. - * generated/maxval_i4.c: Regenerate. - * generated/maxval_i8.c: Regenerate. - * generated/maxval_r10.c: Regenerate. - * generated/maxval_r16.c: Regenerate. - * generated/maxval_r17.c: Regenerate. - * generated/maxval_r4.c: Regenerate. - * generated/maxval_r8.c: Regenerate. - * generated/minloc1_16_i1.c: Regenerate. - * generated/minloc1_16_i16.c: Regenerate. - * generated/minloc1_16_i2.c: Regenerate. - * generated/minloc1_16_i4.c: Regenerate. - * generated/minloc1_16_i8.c: Regenerate. - * generated/minloc1_16_r10.c: Regenerate. - * generated/minloc1_16_r16.c: Regenerate. - * generated/minloc1_16_r17.c: Regenerate. - * generated/minloc1_16_r4.c: Regenerate. - * generated/minloc1_16_r8.c: Regenerate. - * generated/minloc1_16_s1.c: Regenerate. - * generated/minloc1_16_s4.c: Regenerate. - * generated/minloc1_4_i1.c: Regenerate. - * generated/minloc1_4_i16.c: Regenerate. - * generated/minloc1_4_i2.c: Regenerate. - * generated/minloc1_4_i4.c: Regenerate. - * generated/minloc1_4_i8.c: Regenerate. - * generated/minloc1_4_r10.c: Regenerate. - * generated/minloc1_4_r16.c: Regenerate. - * generated/minloc1_4_r17.c: Regenerate. - * generated/minloc1_4_r4.c: Regenerate. - * generated/minloc1_4_r8.c: Regenerate. - * generated/minloc1_4_s1.c: Regenerate. - * generated/minloc1_4_s4.c: Regenerate. - * generated/minloc1_8_i1.c: Regenerate. - * generated/minloc1_8_i16.c: Regenerate. - * generated/minloc1_8_i2.c: Regenerate. - * generated/minloc1_8_i4.c: Regenerate. - * generated/minloc1_8_i8.c: Regenerate. - * generated/minloc1_8_r10.c: Regenerate. - * generated/minloc1_8_r16.c: Regenerate. - * generated/minloc1_8_r17.c: Regenerate. - * generated/minloc1_8_r4.c: Regenerate. - * generated/minloc1_8_r8.c: Regenerate. - * generated/minloc1_8_s1.c: Regenerate. - * generated/minloc1_8_s4.c: Regenerate. - * generated/minval1_s1.c: Regenerate. - * generated/minval1_s4.c: Regenerate. - * generated/minval_i1.c: Regenerate. - * generated/minval_i16.c: Regenerate. - * generated/minval_i2.c: Regenerate. - * generated/minval_i4.c: Regenerate. - * generated/minval_i8.c: Regenerate. - * generated/minval_r10.c: Regenerate. - * generated/minval_r16.c: Regenerate. - * generated/minval_r17.c: Regenerate. - * generated/minval_r4.c: Regenerate. - * generated/minval_r8.c: Regenerate. - * generated/product_c10.c: Regenerate. - * generated/product_c16.c: Regenerate. - * generated/product_c17.c: Regenerate. - * generated/product_c4.c: Regenerate. - * generated/product_c8.c: Regenerate. - * generated/product_i1.c: Regenerate. - * generated/product_i16.c: Regenerate. - * generated/product_i2.c: Regenerate. - * generated/product_i4.c: Regenerate. - * generated/product_i8.c: Regenerate. - * generated/product_r10.c: Regenerate. - * generated/product_r16.c: Regenerate. - * generated/product_r17.c: Regenerate. - * generated/product_r4.c: Regenerate. - * generated/product_r8.c: Regenerate. - * generated/sum_c10.c: Regenerate. - * generated/sum_c16.c: Regenerate. - * generated/sum_c17.c: Regenerate. - * generated/sum_c4.c: Regenerate. - * generated/sum_c8.c: Regenerate. - * generated/sum_i1.c: Regenerate. - * generated/sum_i16.c: Regenerate. - * generated/sum_i2.c: Regenerate. - * generated/sum_i4.c: Regenerate. - * generated/sum_i8.c: Regenerate. - * generated/sum_r10.c: Regenerate. - * generated/sum_r16.c: Regenerate. - * generated/sum_r17.c: Regenerate. - * generated/sum_r4.c: Regenerate. - * generated/sum_r8.c: Regenerate. - -2023-11-08 Mikael Morin - - PR fortran/112412 - * m4/ifunction.m4 (START_MASKED_ARRAY_FUNCTION, SCALAR_ARRAY_FUNCTION): - Don't skip allocation if the allocation size is zero. - * m4/ifunction-s.m4 (START_MASKED_ARRAY_FUNCTION, - SCALAR_ARRAY_FUNCTION): Ditto. - * m4/ifunction-s2.m4 (START_MASKED_ARRAY_FUNCTION, - SCALAR_ARRAY_FUNCTION): Ditto. - * m4/ifunction_logical.m4 (START_ARRAY_FUNCTION): Ditto. - * generated/all_l1.c: Regenerate. - * generated/all_l16.c: Regenerate. - * generated/all_l2.c: Regenerate. - * generated/all_l4.c: Regenerate. - * generated/all_l8.c: Regenerate. - * generated/any_l1.c: Regenerate. - * generated/any_l16.c: Regenerate. - * generated/any_l2.c: Regenerate. - * generated/any_l4.c: Regenerate. - * generated/any_l8.c: Regenerate. - * generated/count_16_l.c: Regenerate. - * generated/count_1_l.c: Regenerate. - * generated/count_2_l.c: Regenerate. - * generated/count_4_l.c: Regenerate. - * generated/count_8_l.c: Regenerate. - * generated/iall_i1.c: Regenerate. - * generated/iall_i16.c: Regenerate. - * generated/iall_i2.c: Regenerate. - * generated/iall_i4.c: Regenerate. - * generated/iall_i8.c: Regenerate. - * generated/iany_i1.c: Regenerate. - * generated/iany_i16.c: Regenerate. - * generated/iany_i2.c: Regenerate. - * generated/iany_i4.c: Regenerate. - * generated/iany_i8.c: Regenerate. - * generated/iparity_i1.c: Regenerate. - * generated/iparity_i16.c: Regenerate. - * generated/iparity_i2.c: Regenerate. - * generated/iparity_i4.c: Regenerate. - * generated/iparity_i8.c: Regenerate. - * generated/maxloc1_16_i1.c: Regenerate. - * generated/maxloc1_16_i16.c: Regenerate. - * generated/maxloc1_16_i2.c: Regenerate. - * generated/maxloc1_16_i4.c: Regenerate. - * generated/maxloc1_16_i8.c: Regenerate. - * generated/maxloc1_16_r10.c: Regenerate. - * generated/maxloc1_16_r16.c: Regenerate. - * generated/maxloc1_16_r17.c: Regenerate. - * generated/maxloc1_16_r4.c: Regenerate. - * generated/maxloc1_16_r8.c: Regenerate. - * generated/maxloc1_16_s1.c: Regenerate. - * generated/maxloc1_16_s4.c: Regenerate. - * generated/maxloc1_4_i1.c: Regenerate. - * generated/maxloc1_4_i16.c: Regenerate. - * generated/maxloc1_4_i2.c: Regenerate. - * generated/maxloc1_4_i4.c: Regenerate. - * generated/maxloc1_4_i8.c: Regenerate. - * generated/maxloc1_4_r10.c: Regenerate. - * generated/maxloc1_4_r16.c: Regenerate. - * generated/maxloc1_4_r17.c: Regenerate. - * generated/maxloc1_4_r4.c: Regenerate. - * generated/maxloc1_4_r8.c: Regenerate. - * generated/maxloc1_4_s1.c: Regenerate. - * generated/maxloc1_4_s4.c: Regenerate. - * generated/maxloc1_8_i1.c: Regenerate. - * generated/maxloc1_8_i16.c: Regenerate. - * generated/maxloc1_8_i2.c: Regenerate. - * generated/maxloc1_8_i4.c: Regenerate. - * generated/maxloc1_8_i8.c: Regenerate. - * generated/maxloc1_8_r10.c: Regenerate. - * generated/maxloc1_8_r16.c: Regenerate. - * generated/maxloc1_8_r17.c: Regenerate. - * generated/maxloc1_8_r4.c: Regenerate. - * generated/maxloc1_8_r8.c: Regenerate. - * generated/maxloc1_8_s1.c: Regenerate. - * generated/maxloc1_8_s4.c: Regenerate. - * generated/maxval1_s1.c: Regenerate. - * generated/maxval1_s4.c: Regenerate. - * generated/maxval_i1.c: Regenerate. - * generated/maxval_i16.c: Regenerate. - * generated/maxval_i2.c: Regenerate. - * generated/maxval_i4.c: Regenerate. - * generated/maxval_i8.c: Regenerate. - * generated/maxval_r10.c: Regenerate. - * generated/maxval_r16.c: Regenerate. - * generated/maxval_r17.c: Regenerate. - * generated/maxval_r4.c: Regenerate. - * generated/maxval_r8.c: Regenerate. - * generated/minloc1_16_i1.c: Regenerate. - * generated/minloc1_16_i16.c: Regenerate. - * generated/minloc1_16_i2.c: Regenerate. - * generated/minloc1_16_i4.c: Regenerate. - * generated/minloc1_16_i8.c: Regenerate. - * generated/minloc1_16_r10.c: Regenerate. - * generated/minloc1_16_r16.c: Regenerate. - * generated/minloc1_16_r17.c: Regenerate. - * generated/minloc1_16_r4.c: Regenerate. - * generated/minloc1_16_r8.c: Regenerate. - * generated/minloc1_16_s1.c: Regenerate. - * generated/minloc1_16_s4.c: Regenerate. - * generated/minloc1_4_i1.c: Regenerate. - * generated/minloc1_4_i16.c: Regenerate. - * generated/minloc1_4_i2.c: Regenerate. - * generated/minloc1_4_i4.c: Regenerate. - * generated/minloc1_4_i8.c: Regenerate. - * generated/minloc1_4_r10.c: Regenerate. - * generated/minloc1_4_r16.c: Regenerate. - * generated/minloc1_4_r17.c: Regenerate. - * generated/minloc1_4_r4.c: Regenerate. - * generated/minloc1_4_r8.c: Regenerate. - * generated/minloc1_4_s1.c: Regenerate. - * generated/minloc1_4_s4.c: Regenerate. - * generated/minloc1_8_i1.c: Regenerate. - * generated/minloc1_8_i16.c: Regenerate. - * generated/minloc1_8_i2.c: Regenerate. - * generated/minloc1_8_i4.c: Regenerate. - * generated/minloc1_8_i8.c: Regenerate. - * generated/minloc1_8_r10.c: Regenerate. - * generated/minloc1_8_r16.c: Regenerate. - * generated/minloc1_8_r17.c: Regenerate. - * generated/minloc1_8_r4.c: Regenerate. - * generated/minloc1_8_r8.c: Regenerate. - * generated/minloc1_8_s1.c: Regenerate. - * generated/minloc1_8_s4.c: Regenerate. - * generated/minval1_s1.c: Regenerate. - * generated/minval1_s4.c: Regenerate. - * generated/minval_i1.c: Regenerate. - * generated/minval_i16.c: Regenerate. - * generated/minval_i2.c: Regenerate. - * generated/minval_i4.c: Regenerate. - * generated/minval_i8.c: Regenerate. - * generated/minval_r10.c: Regenerate. - * generated/minval_r16.c: Regenerate. - * generated/minval_r17.c: Regenerate. - * generated/minval_r4.c: Regenerate. - * generated/minval_r8.c: Regenerate. - * generated/product_c10.c: Regenerate. - * generated/product_c16.c: Regenerate. - * generated/product_c17.c: Regenerate. - * generated/product_c4.c: Regenerate. - * generated/product_c8.c: Regenerate. - * generated/product_i1.c: Regenerate. - * generated/product_i16.c: Regenerate. - * generated/product_i2.c: Regenerate. - * generated/product_i4.c: Regenerate. - * generated/product_i8.c: Regenerate. - * generated/product_r10.c: Regenerate. - * generated/product_r16.c: Regenerate. - * generated/product_r17.c: Regenerate. - * generated/product_r4.c: Regenerate. - * generated/product_r8.c: Regenerate. - * generated/sum_c10.c: Regenerate. - * generated/sum_c16.c: Regenerate. - * generated/sum_c17.c: Regenerate. - * generated/sum_c4.c: Regenerate. - * generated/sum_c8.c: Regenerate. - * generated/sum_i1.c: Regenerate. - * generated/sum_i16.c: Regenerate. - * generated/sum_i2.c: Regenerate. - * generated/sum_i4.c: Regenerate. - * generated/sum_i8.c: Regenerate. - * generated/sum_r10.c: Regenerate. - * generated/sum_r16.c: Regenerate. - * generated/sum_r17.c: Regenerate. - * generated/sum_r4.c: Regenerate. - * generated/sum_r8.c: Regenerate. - -2023-11-06 Tobias Burnus - - PR libfortran/112364 - * io/async.c (enqueue_transfer, enqueue_done_id, enqueue_done, - enqueue_close): Swap 1st and 2nd arg in calloc call. - -2023-10-22 Iain Sandoe - - * Makefile.am: Handle Darwin rpaths. - * Makefile.in: Regenerate. - * configure: Regenerate. - * configure.ac: Handle Darwin rpaths - -2023-09-28 Tobias Burnus - - * io/write.c (xtoa_big): Change a 'GCC diagnostic ignored - "-Wstringop-overflow"' to an assumption (via __builtin_unreachable).t - -2023-08-07 Nick Alcock - - * configure: Regenerate. - -2023-08-07 Alexander von Gluck IV - - * configure: Regenerate. - -2023-08-07 Nick Alcock - - * configure: Regenerate. - -2023-08-07 Nick Alcock - - * configure: Regenerate. - -2023-08-07 H.J. Lu - - * configure: Regenerate. - -2023-08-07 H.J. Lu - - * configure: Regenerate. - -2023-07-21 Andrew Pinski - - PR libfortran/110759 - * ieee/ieee_arithmetic.F90 - (COMP_INTERFACE): Remove the comma after EXPAND_INTER_MACRO_16 - and EXPAND_INTER_MACRO_10. - (EXPAND_INTER_MACRO_16): Add comma here if 16 byte fp exist. - (EXPAND_INTER_MACRO_10): Likewise. - -2023-07-20 Francois-Xavier Coudert - - * ieee/ieee_arithmetic.F90: Add IEEE_QUIET_* and - IEEE_SIGNALING_* functions. - -2023-06-11 Francois-Xavier Coudert - - PR libfortran/109373 - * configure.ac: Remove support for --enable-intermodule - * Makefile.am: Remove onestep path. - * configure: Regenerate. - * Makefile.in: Regenerate. - -2023-06-10 Francois-Xavier Coudert - - * ieee/ieee_arithmetic.F90: Add IEEE_MIN_NUM, IEEE_MAX_NUM, - IEEE_MIN_NUM_MAG, and IEEE_MAX_NUM_MAG functions. - -2023-05-12 Jerry DeLisle - - PR fortran/109662 - * io/unit.c (set_internal_unit): Set the internal unit - last_char to zero so that previous EOF characters do not - influence the next read. - -2023-05-08 Bernhard Reutner-Fischer - - * caf/single.c (_gfortran_caf_register): Fix coding style. - * io/async.c (update_pdt, async_io): Likewise. - * io/format.c (free_format_data): Likewise. - * io/transfer.c (st_read_done_worker, st_write_done_worker): Likewise. - * io/unix.c (mem_close): Likewise. - -2023-05-08 Bernhard Reutner-Fischer - - * caf/single.c (_gfortran_caf_register): Call free() unconditionally. - * io/async.c (update_pdt, async_io): Likewise. - * io/format.c (free_format_data): Likewise. - * io/transfer.c (st_read_done_worker, st_write_done_worker): Likewise. - * io/unix.c (mem_close): Likewise. - -2023-05-08 Jerry DeLisle - - PR fortran/109662 - * io/list_read.c: Add check for a semicolon after a namelist - name in read input. Issue a runtime error message. - -2023-05-06 Jerry DeLisle - - PR fortran/109662 - * io/list_read.c: Add a check for a comma after a namelist - name in read input. Issue a runtime error message. - -2023-02-28 Jerry DeLisle - - * generated/pack_c10.c (pack_c10): Regenerated. - * generated/pack_c16.c (pack_c16): Regenerated. - * generated/pack_c17.c (pack_c17): Regenerated. - * generated/pack_c4.c (pack_c4): Regenerated. - * generated/pack_c8.c (pack_c8): Regenerated. - * generated/pack_i1.c (pack_i1): Regenerated. - * generated/pack_i16.c (pack_i16): Regenerated. - * generated/pack_i2.c (pack_i2): Regenerated. - * generated/pack_i4.c (pack_i4): Regenerated. - * generated/pack_i8.c (pack_i8): Regenerated. - * generated/pack_r10.c (pack_r10): Regenerated. - * generated/pack_r16.c (pack_r16): Regenerated. - * generated/pack_r17.c (pack_r17): Regenerated. - * generated/pack_r4.c (pack_r4): Regenerated. - * generated/pack_r8.c (pack_r8): Regenerated. - * generated/spread_c10.c (spread_c10): Regenerated. - * generated/spread_c16.c (spread_c16): Regenerated. - * generated/spread_c17.c (spread_c17): Regenerated. - * generated/spread_c4.c (spread_c4): Regenerated. - * generated/spread_c8.c (spread_c8): Regenerated. - * generated/spread_i1.c (spread_i1): Regenerated. - * generated/spread_i16.c (spread_i16): Regenerated. - * generated/spread_i2.c (spread_i2): Regenerated. - * generated/spread_i4.c (spread_i4): Regenerated. - * generated/spread_i8.c (spread_i8): Regenerated. - * generated/spread_r10.c (spread_r10): Regenerated. - * generated/spread_r16.c (spread_r16): Regenerated. - * generated/spread_r17.c (spread_r17): Regenerated. - * generated/spread_r4.c (spread_r4): Regenerated. - * generated/spread_r8.c (spread_r8): Regenerated. - * intrinsics/execute_command_line.c (execute_command_line_i4), - (execute_command_line_i8): Set estat_initial to zero. - * intrinsics/pack_generic.c (pack_internal): Set sstride[0] and - mstride[0] to zero. - * intrinsics/spread_generic.c (spread_internal): Set sstride[0]. - * m4/pack.m4: Set sstride[0] and mstride[0]. - * m4/spread.m4: Set sstride[0]. - -2023-01-18 Tobias Burnus - - * intrinsics/execute_command_line.c (execute_command_line): On - Windows, regard system()'s return value of 9009 as EXEC_INVALIDCOMMAND. - -2023-01-07 LIU Hao - - PR middle-end/108300 - * intrinsics/sleep.c: Define `WIN32_LEAN_AND_MEAN` before - . - -Copyright (C) 2023 Free Software Foundation, Inc. +Copyright (C) 2024 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/libgfortran/ChangeLog-2023 b/libgfortran/ChangeLog-2023 new file mode 100644 index 000000000000..55e6befffa6b --- /dev/null +++ b/libgfortran/ChangeLog-2023 @@ -0,0 +1,736 @@ +2023-12-19 Francois-Xavier Coudert + + PR libfortran/110651 + * libgfortran.spec.in: Remove duplicate libraries. + +2023-12-18 Harald Anlauf + + PR fortran/96580 + * intrinsics/date_and_time.c (date_and_time): Handle VALUES argument + for kind=2 and kind=16 (if available). + +2023-12-11 Lipeng Zhu + + * io/async.c (DEBUG_LINE): New macro. + * io/async.h (RWLOCK_DEBUG_ADD): New macro. + (CHECK_RDLOCK): New macro. + (CHECK_WRLOCK): New macro. + (TAIL_RWLOCK_DEBUG_QUEUE): New macro. + (IN_RWLOCK_DEBUG_QUEUE): New macro. + (RDLOCK): New macro. + (WRLOCK): New macro. + (RWUNLOCK): New macro. + (RD_TO_WRLOCK): New macro. + (INTERN_RDLOCK): New macro. + (INTERN_WRLOCK): New macro. + (INTERN_RWUNLOCK): New macro. + * io/io.h (struct gfc_unit): Change UNIT_LOCK to UNIT_RWLOCK in + a comment. + (unit_lock): Remove including associated internal_proto. + (unit_rwlock): New declarations including associated internal_proto. + (dec_waiting_unlocked): Use WRLOCK and RWUNLOCK on unit_rwlock + instead of __gthread_mutex_lock and __gthread_mutex_unlock on + unit_lock. + * io/transfer.c (st_read_done_worker): Use WRLOCK and RWUNLOCK on + unit_rwlock instead of LOCK and UNLOCK on unit_lock. + (st_write_done_worker): Likewise. + * io/unit.c: Change UNIT_LOCK to UNIT_RWLOCK in 'IO locking rules' + comment. Use unit_rwlock variable instead of unit_lock variable. + (get_gfc_unit_from_unit_root): New function. + (get_gfc_unit): Use RDLOCK, WRLOCK and RWUNLOCK on unit_rwlock + instead of LOCK and UNLOCK on unit_lock. + (close_unit_1): Use WRLOCK and RWUNLOCK on unit_rwlock instead of + LOCK and UNLOCK on unit_lock. + (close_units): Likewise. + (newunit_alloc): Use RWUNLOCK on unit_rwlock instead of UNLOCK on + unit_lock. + * io/unix.c (find_file): Use RDLOCK and RWUNLOCK on unit_rwlock + instead of LOCK and UNLOCK on unit_lock. + (flush_all_units): Use WRLOCK and RWUNLOCK on unit_rwlock instead + of LOCK and UNLOCK on unit_lock. + +2023-12-05 Florian Weimer + Jakub Jelinek + + * io/list_read.c (list_formatted_read_scalar) : + Change types of unit and noiostat to GFC_INTEGER_4 from int, change + type of child_iostat from to GFC_INTEGER_4 * from int *, formatting + fixes. + (nml_read_obj): Likewise. + * io/write.c (list_formatted_write_scalar) : Likewise. + (nml_write_obj): Likewise. + * io/transfer.c (unformatted_read, unformatted_write): Likewise. + +2023-11-08 Mikael Morin + + PR fortran/112371 + * m4/ifunction.m4 (START_ARRAY_FUNCTION, START_MASKED_ARRAY_FUNCTION, + SCALAR_ARRAY_FUNCTION): Remove overwrite of the first dimension of the + array descriptor. + * m4/ifunction-s.m4 (START_ARRAY_FUNCTION, START_MASKED_ARRAY_FUNCTION, + SCALAR_ARRAY_FUNCTION): Ditto. + * m4/ifunction-s2.m4 (START_ARRAY_FUNCTION, + START_MASKED_ARRAY_FUNCTION, SCALAR_ARRAY_FUNCTION): Ditto. + * m4/ifunction_logical.m4 (START_ARRAY_FUNCTION): Ditto. + * m4/ifindloc1.m4: Ditto. + * generated/all_l1.c: Regenerate. + * generated/all_l16.c: Regenerate. + * generated/all_l2.c: Regenerate. + * generated/all_l4.c: Regenerate. + * generated/all_l8.c: Regenerate. + * generated/any_l1.c: Regenerate. + * generated/any_l16.c: Regenerate. + * generated/any_l2.c: Regenerate. + * generated/any_l4.c: Regenerate. + * generated/any_l8.c: Regenerate. + * generated/count_16_l.c: Regenerate. + * generated/count_1_l.c: Regenerate. + * generated/count_2_l.c: Regenerate. + * generated/count_4_l.c: Regenerate. + * generated/count_8_l.c: Regenerate. + * generated/findloc1_c10.c: Regenerate. + * generated/findloc1_c16.c: Regenerate. + * generated/findloc1_c17.c: Regenerate. + * generated/findloc1_c4.c: Regenerate. + * generated/findloc1_c8.c: Regenerate. + * generated/findloc1_i1.c: Regenerate. + * generated/findloc1_i16.c: Regenerate. + * generated/findloc1_i2.c: Regenerate. + * generated/findloc1_i4.c: Regenerate. + * generated/findloc1_i8.c: Regenerate. + * generated/findloc1_r10.c: Regenerate. + * generated/findloc1_r16.c: Regenerate. + * generated/findloc1_r17.c: Regenerate. + * generated/findloc1_r4.c: Regenerate. + * generated/findloc1_r8.c: Regenerate. + * generated/findloc1_s1.c: Regenerate. + * generated/findloc1_s4.c: Regenerate. + * generated/iall_i1.c: Regenerate. + * generated/iall_i16.c: Regenerate. + * generated/iall_i2.c: Regenerate. + * generated/iall_i4.c: Regenerate. + * generated/iall_i8.c: Regenerate. + * generated/iany_i1.c: Regenerate. + * generated/iany_i16.c: Regenerate. + * generated/iany_i2.c: Regenerate. + * generated/iany_i4.c: Regenerate. + * generated/iany_i8.c: Regenerate. + * generated/iparity_i1.c: Regenerate. + * generated/iparity_i16.c: Regenerate. + * generated/iparity_i2.c: Regenerate. + * generated/iparity_i4.c: Regenerate. + * generated/iparity_i8.c: Regenerate. + * generated/maxloc1_16_i1.c: Regenerate. + * generated/maxloc1_16_i16.c: Regenerate. + * generated/maxloc1_16_i2.c: Regenerate. + * generated/maxloc1_16_i4.c: Regenerate. + * generated/maxloc1_16_i8.c: Regenerate. + * generated/maxloc1_16_r10.c: Regenerate. + * generated/maxloc1_16_r16.c: Regenerate. + * generated/maxloc1_16_r17.c: Regenerate. + * generated/maxloc1_16_r4.c: Regenerate. + * generated/maxloc1_16_r8.c: Regenerate. + * generated/maxloc1_16_s1.c: Regenerate. + * generated/maxloc1_16_s4.c: Regenerate. + * generated/maxloc1_4_i1.c: Regenerate. + * generated/maxloc1_4_i16.c: Regenerate. + * generated/maxloc1_4_i2.c: Regenerate. + * generated/maxloc1_4_i4.c: Regenerate. + * generated/maxloc1_4_i8.c: Regenerate. + * generated/maxloc1_4_r10.c: Regenerate. + * generated/maxloc1_4_r16.c: Regenerate. + * generated/maxloc1_4_r17.c: Regenerate. + * generated/maxloc1_4_r4.c: Regenerate. + * generated/maxloc1_4_r8.c: Regenerate. + * generated/maxloc1_4_s1.c: Regenerate. + * generated/maxloc1_4_s4.c: Regenerate. + * generated/maxloc1_8_i1.c: Regenerate. + * generated/maxloc1_8_i16.c: Regenerate. + * generated/maxloc1_8_i2.c: Regenerate. + * generated/maxloc1_8_i4.c: Regenerate. + * generated/maxloc1_8_i8.c: Regenerate. + * generated/maxloc1_8_r10.c: Regenerate. + * generated/maxloc1_8_r16.c: Regenerate. + * generated/maxloc1_8_r17.c: Regenerate. + * generated/maxloc1_8_r4.c: Regenerate. + * generated/maxloc1_8_r8.c: Regenerate. + * generated/maxloc1_8_s1.c: Regenerate. + * generated/maxloc1_8_s4.c: Regenerate. + * generated/maxval1_s1.c: Regenerate. + * generated/maxval1_s4.c: Regenerate. + * generated/maxval_i1.c: Regenerate. + * generated/maxval_i16.c: Regenerate. + * generated/maxval_i2.c: Regenerate. + * generated/maxval_i4.c: Regenerate. + * generated/maxval_i8.c: Regenerate. + * generated/maxval_r10.c: Regenerate. + * generated/maxval_r16.c: Regenerate. + * generated/maxval_r17.c: Regenerate. + * generated/maxval_r4.c: Regenerate. + * generated/maxval_r8.c: Regenerate. + * generated/minloc1_16_i1.c: Regenerate. + * generated/minloc1_16_i16.c: Regenerate. + * generated/minloc1_16_i2.c: Regenerate. + * generated/minloc1_16_i4.c: Regenerate. + * generated/minloc1_16_i8.c: Regenerate. + * generated/minloc1_16_r10.c: Regenerate. + * generated/minloc1_16_r16.c: Regenerate. + * generated/minloc1_16_r17.c: Regenerate. + * generated/minloc1_16_r4.c: Regenerate. + * generated/minloc1_16_r8.c: Regenerate. + * generated/minloc1_16_s1.c: Regenerate. + * generated/minloc1_16_s4.c: Regenerate. + * generated/minloc1_4_i1.c: Regenerate. + * generated/minloc1_4_i16.c: Regenerate. + * generated/minloc1_4_i2.c: Regenerate. + * generated/minloc1_4_i4.c: Regenerate. + * generated/minloc1_4_i8.c: Regenerate. + * generated/minloc1_4_r10.c: Regenerate. + * generated/minloc1_4_r16.c: Regenerate. + * generated/minloc1_4_r17.c: Regenerate. + * generated/minloc1_4_r4.c: Regenerate. + * generated/minloc1_4_r8.c: Regenerate. + * generated/minloc1_4_s1.c: Regenerate. + * generated/minloc1_4_s4.c: Regenerate. + * generated/minloc1_8_i1.c: Regenerate. + * generated/minloc1_8_i16.c: Regenerate. + * generated/minloc1_8_i2.c: Regenerate. + * generated/minloc1_8_i4.c: Regenerate. + * generated/minloc1_8_i8.c: Regenerate. + * generated/minloc1_8_r10.c: Regenerate. + * generated/minloc1_8_r16.c: Regenerate. + * generated/minloc1_8_r17.c: Regenerate. + * generated/minloc1_8_r4.c: Regenerate. + * generated/minloc1_8_r8.c: Regenerate. + * generated/minloc1_8_s1.c: Regenerate. + * generated/minloc1_8_s4.c: Regenerate. + * generated/minval1_s1.c: Regenerate. + * generated/minval1_s4.c: Regenerate. + * generated/minval_i1.c: Regenerate. + * generated/minval_i16.c: Regenerate. + * generated/minval_i2.c: Regenerate. + * generated/minval_i4.c: Regenerate. + * generated/minval_i8.c: Regenerate. + * generated/minval_r10.c: Regenerate. + * generated/minval_r16.c: Regenerate. + * generated/minval_r17.c: Regenerate. + * generated/minval_r4.c: Regenerate. + * generated/minval_r8.c: Regenerate. + * generated/norm2_r10.c: Regenerate. + * generated/norm2_r16.c: Regenerate. + * generated/norm2_r17.c: Regenerate. + * generated/norm2_r4.c: Regenerate. + * generated/norm2_r8.c: Regenerate. + * generated/parity_l1.c: Regenerate. + * generated/parity_l16.c: Regenerate. + * generated/parity_l2.c: Regenerate. + * generated/parity_l4.c: Regenerate. + * generated/parity_l8.c: Regenerate. + * generated/product_c10.c: Regenerate. + * generated/product_c16.c: Regenerate. + * generated/product_c17.c: Regenerate. + * generated/product_c4.c: Regenerate. + * generated/product_c8.c: Regenerate. + * generated/product_i1.c: Regenerate. + * generated/product_i16.c: Regenerate. + * generated/product_i2.c: Regenerate. + * generated/product_i4.c: Regenerate. + * generated/product_i8.c: Regenerate. + * generated/product_r10.c: Regenerate. + * generated/product_r16.c: Regenerate. + * generated/product_r17.c: Regenerate. + * generated/product_r4.c: Regenerate. + * generated/product_r8.c: Regenerate. + * generated/sum_c10.c: Regenerate. + * generated/sum_c16.c: Regenerate. + * generated/sum_c17.c: Regenerate. + * generated/sum_c4.c: Regenerate. + * generated/sum_c8.c: Regenerate. + * generated/sum_i1.c: Regenerate. + * generated/sum_i16.c: Regenerate. + * generated/sum_i2.c: Regenerate. + * generated/sum_i4.c: Regenerate. + * generated/sum_i8.c: Regenerate. + * generated/sum_r10.c: Regenerate. + * generated/sum_r16.c: Regenerate. + * generated/sum_r17.c: Regenerate. + * generated/sum_r4.c: Regenerate. + * generated/sum_r8.c: Regenerate. + +2023-11-08 Mikael Morin + + PR fortran/112371 + * m4/ifunction.m4 (START_MASKED_ARRAY_FUNCTION): Remove early return if + extent is zero or less, and clamp negative value to zero. + * m4/ifunction-s.m4 (START_MASKED_ARRAY_FUNCTION): Ditto. + * m4/ifunction-s2.m4 (START_MASKED_ARRAY_FUNCTION): Ditto. + * generated/iall_i1.c: Regenerate. + * generated/iall_i16.c: Regenerate. + * generated/iall_i2.c: Regenerate. + * generated/iall_i4.c: Regenerate. + * generated/iall_i8.c: Regenerate. + * generated/iany_i1.c: Regenerate. + * generated/iany_i16.c: Regenerate. + * generated/iany_i2.c: Regenerate. + * generated/iany_i4.c: Regenerate. + * generated/iany_i8.c: Regenerate. + * generated/iparity_i1.c: Regenerate. + * generated/iparity_i16.c: Regenerate. + * generated/iparity_i2.c: Regenerate. + * generated/iparity_i4.c: Regenerate. + * generated/iparity_i8.c: Regenerate. + * generated/maxloc1_16_i1.c: Regenerate. + * generated/maxloc1_16_i16.c: Regenerate. + * generated/maxloc1_16_i2.c: Regenerate. + * generated/maxloc1_16_i4.c: Regenerate. + * generated/maxloc1_16_i8.c: Regenerate. + * generated/maxloc1_16_r10.c: Regenerate. + * generated/maxloc1_16_r16.c: Regenerate. + * generated/maxloc1_16_r17.c: Regenerate. + * generated/maxloc1_16_r4.c: Regenerate. + * generated/maxloc1_16_r8.c: Regenerate. + * generated/maxloc1_16_s1.c: Regenerate. + * generated/maxloc1_16_s4.c: Regenerate. + * generated/maxloc1_4_i1.c: Regenerate. + * generated/maxloc1_4_i16.c: Regenerate. + * generated/maxloc1_4_i2.c: Regenerate. + * generated/maxloc1_4_i4.c: Regenerate. + * generated/maxloc1_4_i8.c: Regenerate. + * generated/maxloc1_4_r10.c: Regenerate. + * generated/maxloc1_4_r16.c: Regenerate. + * generated/maxloc1_4_r17.c: Regenerate. + * generated/maxloc1_4_r4.c: Regenerate. + * generated/maxloc1_4_r8.c: Regenerate. + * generated/maxloc1_4_s1.c: Regenerate. + * generated/maxloc1_4_s4.c: Regenerate. + * generated/maxloc1_8_i1.c: Regenerate. + * generated/maxloc1_8_i16.c: Regenerate. + * generated/maxloc1_8_i2.c: Regenerate. + * generated/maxloc1_8_i4.c: Regenerate. + * generated/maxloc1_8_i8.c: Regenerate. + * generated/maxloc1_8_r10.c: Regenerate. + * generated/maxloc1_8_r16.c: Regenerate. + * generated/maxloc1_8_r17.c: Regenerate. + * generated/maxloc1_8_r4.c: Regenerate. + * generated/maxloc1_8_r8.c: Regenerate. + * generated/maxloc1_8_s1.c: Regenerate. + * generated/maxloc1_8_s4.c: Regenerate. + * generated/maxval1_s1.c: Regenerate. + * generated/maxval1_s4.c: Regenerate. + * generated/maxval_i1.c: Regenerate. + * generated/maxval_i16.c: Regenerate. + * generated/maxval_i2.c: Regenerate. + * generated/maxval_i4.c: Regenerate. + * generated/maxval_i8.c: Regenerate. + * generated/maxval_r10.c: Regenerate. + * generated/maxval_r16.c: Regenerate. + * generated/maxval_r17.c: Regenerate. + * generated/maxval_r4.c: Regenerate. + * generated/maxval_r8.c: Regenerate. + * generated/minloc1_16_i1.c: Regenerate. + * generated/minloc1_16_i16.c: Regenerate. + * generated/minloc1_16_i2.c: Regenerate. + * generated/minloc1_16_i4.c: Regenerate. + * generated/minloc1_16_i8.c: Regenerate. + * generated/minloc1_16_r10.c: Regenerate. + * generated/minloc1_16_r16.c: Regenerate. + * generated/minloc1_16_r17.c: Regenerate. + * generated/minloc1_16_r4.c: Regenerate. + * generated/minloc1_16_r8.c: Regenerate. + * generated/minloc1_16_s1.c: Regenerate. + * generated/minloc1_16_s4.c: Regenerate. + * generated/minloc1_4_i1.c: Regenerate. + * generated/minloc1_4_i16.c: Regenerate. + * generated/minloc1_4_i2.c: Regenerate. + * generated/minloc1_4_i4.c: Regenerate. + * generated/minloc1_4_i8.c: Regenerate. + * generated/minloc1_4_r10.c: Regenerate. + * generated/minloc1_4_r16.c: Regenerate. + * generated/minloc1_4_r17.c: Regenerate. + * generated/minloc1_4_r4.c: Regenerate. + * generated/minloc1_4_r8.c: Regenerate. + * generated/minloc1_4_s1.c: Regenerate. + * generated/minloc1_4_s4.c: Regenerate. + * generated/minloc1_8_i1.c: Regenerate. + * generated/minloc1_8_i16.c: Regenerate. + * generated/minloc1_8_i2.c: Regenerate. + * generated/minloc1_8_i4.c: Regenerate. + * generated/minloc1_8_i8.c: Regenerate. + * generated/minloc1_8_r10.c: Regenerate. + * generated/minloc1_8_r16.c: Regenerate. + * generated/minloc1_8_r17.c: Regenerate. + * generated/minloc1_8_r4.c: Regenerate. + * generated/minloc1_8_r8.c: Regenerate. + * generated/minloc1_8_s1.c: Regenerate. + * generated/minloc1_8_s4.c: Regenerate. + * generated/minval1_s1.c: Regenerate. + * generated/minval1_s4.c: Regenerate. + * generated/minval_i1.c: Regenerate. + * generated/minval_i16.c: Regenerate. + * generated/minval_i2.c: Regenerate. + * generated/minval_i4.c: Regenerate. + * generated/minval_i8.c: Regenerate. + * generated/minval_r10.c: Regenerate. + * generated/minval_r16.c: Regenerate. + * generated/minval_r17.c: Regenerate. + * generated/minval_r4.c: Regenerate. + * generated/minval_r8.c: Regenerate. + * generated/product_c10.c: Regenerate. + * generated/product_c16.c: Regenerate. + * generated/product_c17.c: Regenerate. + * generated/product_c4.c: Regenerate. + * generated/product_c8.c: Regenerate. + * generated/product_i1.c: Regenerate. + * generated/product_i16.c: Regenerate. + * generated/product_i2.c: Regenerate. + * generated/product_i4.c: Regenerate. + * generated/product_i8.c: Regenerate. + * generated/product_r10.c: Regenerate. + * generated/product_r16.c: Regenerate. + * generated/product_r17.c: Regenerate. + * generated/product_r4.c: Regenerate. + * generated/product_r8.c: Regenerate. + * generated/sum_c10.c: Regenerate. + * generated/sum_c16.c: Regenerate. + * generated/sum_c17.c: Regenerate. + * generated/sum_c4.c: Regenerate. + * generated/sum_c8.c: Regenerate. + * generated/sum_i1.c: Regenerate. + * generated/sum_i16.c: Regenerate. + * generated/sum_i2.c: Regenerate. + * generated/sum_i4.c: Regenerate. + * generated/sum_i8.c: Regenerate. + * generated/sum_r10.c: Regenerate. + * generated/sum_r16.c: Regenerate. + * generated/sum_r17.c: Regenerate. + * generated/sum_r4.c: Regenerate. + * generated/sum_r8.c: Regenerate. + +2023-11-08 Mikael Morin + + PR fortran/112412 + * m4/ifunction.m4 (START_MASKED_ARRAY_FUNCTION, SCALAR_ARRAY_FUNCTION): + Don't skip allocation if the allocation size is zero. + * m4/ifunction-s.m4 (START_MASKED_ARRAY_FUNCTION, + SCALAR_ARRAY_FUNCTION): Ditto. + * m4/ifunction-s2.m4 (START_MASKED_ARRAY_FUNCTION, + SCALAR_ARRAY_FUNCTION): Ditto. + * m4/ifunction_logical.m4 (START_ARRAY_FUNCTION): Ditto. + * generated/all_l1.c: Regenerate. + * generated/all_l16.c: Regenerate. + * generated/all_l2.c: Regenerate. + * generated/all_l4.c: Regenerate. + * generated/all_l8.c: Regenerate. + * generated/any_l1.c: Regenerate. + * generated/any_l16.c: Regenerate. + * generated/any_l2.c: Regenerate. + * generated/any_l4.c: Regenerate. + * generated/any_l8.c: Regenerate. + * generated/count_16_l.c: Regenerate. + * generated/count_1_l.c: Regenerate. + * generated/count_2_l.c: Regenerate. + * generated/count_4_l.c: Regenerate. + * generated/count_8_l.c: Regenerate. + * generated/iall_i1.c: Regenerate. + * generated/iall_i16.c: Regenerate. + * generated/iall_i2.c: Regenerate. + * generated/iall_i4.c: Regenerate. + * generated/iall_i8.c: Regenerate. + * generated/iany_i1.c: Regenerate. + * generated/iany_i16.c: Regenerate. + * generated/iany_i2.c: Regenerate. + * generated/iany_i4.c: Regenerate. + * generated/iany_i8.c: Regenerate. + * generated/iparity_i1.c: Regenerate. + * generated/iparity_i16.c: Regenerate. + * generated/iparity_i2.c: Regenerate. + * generated/iparity_i4.c: Regenerate. + * generated/iparity_i8.c: Regenerate. + * generated/maxloc1_16_i1.c: Regenerate. + * generated/maxloc1_16_i16.c: Regenerate. + * generated/maxloc1_16_i2.c: Regenerate. + * generated/maxloc1_16_i4.c: Regenerate. + * generated/maxloc1_16_i8.c: Regenerate. + * generated/maxloc1_16_r10.c: Regenerate. + * generated/maxloc1_16_r16.c: Regenerate. + * generated/maxloc1_16_r17.c: Regenerate. + * generated/maxloc1_16_r4.c: Regenerate. + * generated/maxloc1_16_r8.c: Regenerate. + * generated/maxloc1_16_s1.c: Regenerate. + * generated/maxloc1_16_s4.c: Regenerate. + * generated/maxloc1_4_i1.c: Regenerate. + * generated/maxloc1_4_i16.c: Regenerate. + * generated/maxloc1_4_i2.c: Regenerate. + * generated/maxloc1_4_i4.c: Regenerate. + * generated/maxloc1_4_i8.c: Regenerate. + * generated/maxloc1_4_r10.c: Regenerate. + * generated/maxloc1_4_r16.c: Regenerate. + * generated/maxloc1_4_r17.c: Regenerate. + * generated/maxloc1_4_r4.c: Regenerate. + * generated/maxloc1_4_r8.c: Regenerate. + * generated/maxloc1_4_s1.c: Regenerate. + * generated/maxloc1_4_s4.c: Regenerate. + * generated/maxloc1_8_i1.c: Regenerate. + * generated/maxloc1_8_i16.c: Regenerate. + * generated/maxloc1_8_i2.c: Regenerate. + * generated/maxloc1_8_i4.c: Regenerate. + * generated/maxloc1_8_i8.c: Regenerate. + * generated/maxloc1_8_r10.c: Regenerate. + * generated/maxloc1_8_r16.c: Regenerate. + * generated/maxloc1_8_r17.c: Regenerate. + * generated/maxloc1_8_r4.c: Regenerate. + * generated/maxloc1_8_r8.c: Regenerate. + * generated/maxloc1_8_s1.c: Regenerate. + * generated/maxloc1_8_s4.c: Regenerate. + * generated/maxval1_s1.c: Regenerate. + * generated/maxval1_s4.c: Regenerate. + * generated/maxval_i1.c: Regenerate. + * generated/maxval_i16.c: Regenerate. + * generated/maxval_i2.c: Regenerate. + * generated/maxval_i4.c: Regenerate. + * generated/maxval_i8.c: Regenerate. + * generated/maxval_r10.c: Regenerate. + * generated/maxval_r16.c: Regenerate. + * generated/maxval_r17.c: Regenerate. + * generated/maxval_r4.c: Regenerate. + * generated/maxval_r8.c: Regenerate. + * generated/minloc1_16_i1.c: Regenerate. + * generated/minloc1_16_i16.c: Regenerate. + * generated/minloc1_16_i2.c: Regenerate. + * generated/minloc1_16_i4.c: Regenerate. + * generated/minloc1_16_i8.c: Regenerate. + * generated/minloc1_16_r10.c: Regenerate. + * generated/minloc1_16_r16.c: Regenerate. + * generated/minloc1_16_r17.c: Regenerate. + * generated/minloc1_16_r4.c: Regenerate. + * generated/minloc1_16_r8.c: Regenerate. + * generated/minloc1_16_s1.c: Regenerate. + * generated/minloc1_16_s4.c: Regenerate. + * generated/minloc1_4_i1.c: Regenerate. + * generated/minloc1_4_i16.c: Regenerate. + * generated/minloc1_4_i2.c: Regenerate. + * generated/minloc1_4_i4.c: Regenerate. + * generated/minloc1_4_i8.c: Regenerate. + * generated/minloc1_4_r10.c: Regenerate. + * generated/minloc1_4_r16.c: Regenerate. + * generated/minloc1_4_r17.c: Regenerate. + * generated/minloc1_4_r4.c: Regenerate. + * generated/minloc1_4_r8.c: Regenerate. + * generated/minloc1_4_s1.c: Regenerate. + * generated/minloc1_4_s4.c: Regenerate. + * generated/minloc1_8_i1.c: Regenerate. + * generated/minloc1_8_i16.c: Regenerate. + * generated/minloc1_8_i2.c: Regenerate. + * generated/minloc1_8_i4.c: Regenerate. + * generated/minloc1_8_i8.c: Regenerate. + * generated/minloc1_8_r10.c: Regenerate. + * generated/minloc1_8_r16.c: Regenerate. + * generated/minloc1_8_r17.c: Regenerate. + * generated/minloc1_8_r4.c: Regenerate. + * generated/minloc1_8_r8.c: Regenerate. + * generated/minloc1_8_s1.c: Regenerate. + * generated/minloc1_8_s4.c: Regenerate. + * generated/minval1_s1.c: Regenerate. + * generated/minval1_s4.c: Regenerate. + * generated/minval_i1.c: Regenerate. + * generated/minval_i16.c: Regenerate. + * generated/minval_i2.c: Regenerate. + * generated/minval_i4.c: Regenerate. + * generated/minval_i8.c: Regenerate. + * generated/minval_r10.c: Regenerate. + * generated/minval_r16.c: Regenerate. + * generated/minval_r17.c: Regenerate. + * generated/minval_r4.c: Regenerate. + * generated/minval_r8.c: Regenerate. + * generated/product_c10.c: Regenerate. + * generated/product_c16.c: Regenerate. + * generated/product_c17.c: Regenerate. + * generated/product_c4.c: Regenerate. + * generated/product_c8.c: Regenerate. + * generated/product_i1.c: Regenerate. + * generated/product_i16.c: Regenerate. + * generated/product_i2.c: Regenerate. + * generated/product_i4.c: Regenerate. + * generated/product_i8.c: Regenerate. + * generated/product_r10.c: Regenerate. + * generated/product_r16.c: Regenerate. + * generated/product_r17.c: Regenerate. + * generated/product_r4.c: Regenerate. + * generated/product_r8.c: Regenerate. + * generated/sum_c10.c: Regenerate. + * generated/sum_c16.c: Regenerate. + * generated/sum_c17.c: Regenerate. + * generated/sum_c4.c: Regenerate. + * generated/sum_c8.c: Regenerate. + * generated/sum_i1.c: Regenerate. + * generated/sum_i16.c: Regenerate. + * generated/sum_i2.c: Regenerate. + * generated/sum_i4.c: Regenerate. + * generated/sum_i8.c: Regenerate. + * generated/sum_r10.c: Regenerate. + * generated/sum_r16.c: Regenerate. + * generated/sum_r17.c: Regenerate. + * generated/sum_r4.c: Regenerate. + * generated/sum_r8.c: Regenerate. + +2023-11-06 Tobias Burnus + + PR libfortran/112364 + * io/async.c (enqueue_transfer, enqueue_done_id, enqueue_done, + enqueue_close): Swap 1st and 2nd arg in calloc call. + +2023-10-22 Iain Sandoe + + * Makefile.am: Handle Darwin rpaths. + * Makefile.in: Regenerate. + * configure: Regenerate. + * configure.ac: Handle Darwin rpaths + +2023-09-28 Tobias Burnus + + * io/write.c (xtoa_big): Change a 'GCC diagnostic ignored + "-Wstringop-overflow"' to an assumption (via __builtin_unreachable).t + +2023-08-07 Nick Alcock + + * configure: Regenerate. + +2023-08-07 Alexander von Gluck IV + + * configure: Regenerate. + +2023-08-07 Nick Alcock + + * configure: Regenerate. + +2023-08-07 Nick Alcock + + * configure: Regenerate. + +2023-08-07 H.J. Lu + + * configure: Regenerate. + +2023-08-07 H.J. Lu + + * configure: Regenerate. + +2023-07-21 Andrew Pinski + + PR libfortran/110759 + * ieee/ieee_arithmetic.F90 + (COMP_INTERFACE): Remove the comma after EXPAND_INTER_MACRO_16 + and EXPAND_INTER_MACRO_10. + (EXPAND_INTER_MACRO_16): Add comma here if 16 byte fp exist. + (EXPAND_INTER_MACRO_10): Likewise. + +2023-07-20 Francois-Xavier Coudert + + * ieee/ieee_arithmetic.F90: Add IEEE_QUIET_* and + IEEE_SIGNALING_* functions. + +2023-06-11 Francois-Xavier Coudert + + PR libfortran/109373 + * configure.ac: Remove support for --enable-intermodule + * Makefile.am: Remove onestep path. + * configure: Regenerate. + * Makefile.in: Regenerate. + +2023-06-10 Francois-Xavier Coudert + + * ieee/ieee_arithmetic.F90: Add IEEE_MIN_NUM, IEEE_MAX_NUM, + IEEE_MIN_NUM_MAG, and IEEE_MAX_NUM_MAG functions. + +2023-05-12 Jerry DeLisle + + PR fortran/109662 + * io/unit.c (set_internal_unit): Set the internal unit + last_char to zero so that previous EOF characters do not + influence the next read. + +2023-05-08 Bernhard Reutner-Fischer + + * caf/single.c (_gfortran_caf_register): Fix coding style. + * io/async.c (update_pdt, async_io): Likewise. + * io/format.c (free_format_data): Likewise. + * io/transfer.c (st_read_done_worker, st_write_done_worker): Likewise. + * io/unix.c (mem_close): Likewise. + +2023-05-08 Bernhard Reutner-Fischer + + * caf/single.c (_gfortran_caf_register): Call free() unconditionally. + * io/async.c (update_pdt, async_io): Likewise. + * io/format.c (free_format_data): Likewise. + * io/transfer.c (st_read_done_worker, st_write_done_worker): Likewise. + * io/unix.c (mem_close): Likewise. + +2023-05-08 Jerry DeLisle + + PR fortran/109662 + * io/list_read.c: Add check for a semicolon after a namelist + name in read input. Issue a runtime error message. + +2023-05-06 Jerry DeLisle + + PR fortran/109662 + * io/list_read.c: Add a check for a comma after a namelist + name in read input. Issue a runtime error message. + +2023-02-28 Jerry DeLisle + + * generated/pack_c10.c (pack_c10): Regenerated. + * generated/pack_c16.c (pack_c16): Regenerated. + * generated/pack_c17.c (pack_c17): Regenerated. + * generated/pack_c4.c (pack_c4): Regenerated. + * generated/pack_c8.c (pack_c8): Regenerated. + * generated/pack_i1.c (pack_i1): Regenerated. + * generated/pack_i16.c (pack_i16): Regenerated. + * generated/pack_i2.c (pack_i2): Regenerated. + * generated/pack_i4.c (pack_i4): Regenerated. + * generated/pack_i8.c (pack_i8): Regenerated. + * generated/pack_r10.c (pack_r10): Regenerated. + * generated/pack_r16.c (pack_r16): Regenerated. + * generated/pack_r17.c (pack_r17): Regenerated. + * generated/pack_r4.c (pack_r4): Regenerated. + * generated/pack_r8.c (pack_r8): Regenerated. + * generated/spread_c10.c (spread_c10): Regenerated. + * generated/spread_c16.c (spread_c16): Regenerated. + * generated/spread_c17.c (spread_c17): Regenerated. + * generated/spread_c4.c (spread_c4): Regenerated. + * generated/spread_c8.c (spread_c8): Regenerated. + * generated/spread_i1.c (spread_i1): Regenerated. + * generated/spread_i16.c (spread_i16): Regenerated. + * generated/spread_i2.c (spread_i2): Regenerated. + * generated/spread_i4.c (spread_i4): Regenerated. + * generated/spread_i8.c (spread_i8): Regenerated. + * generated/spread_r10.c (spread_r10): Regenerated. + * generated/spread_r16.c (spread_r16): Regenerated. + * generated/spread_r17.c (spread_r17): Regenerated. + * generated/spread_r4.c (spread_r4): Regenerated. + * generated/spread_r8.c (spread_r8): Regenerated. + * intrinsics/execute_command_line.c (execute_command_line_i4), + (execute_command_line_i8): Set estat_initial to zero. + * intrinsics/pack_generic.c (pack_internal): Set sstride[0] and + mstride[0] to zero. + * intrinsics/spread_generic.c (spread_internal): Set sstride[0]. + * m4/pack.m4: Set sstride[0] and mstride[0]. + * m4/spread.m4: Set sstride[0]. + +2023-01-18 Tobias Burnus + + * intrinsics/execute_command_line.c (execute_command_line): On + Windows, regard system()'s return value of 9009 as EXEC_INVALIDCOMMAND. + +2023-01-07 LIU Hao + + PR middle-end/108300 + * intrinsics/sleep.c: Define `WIN32_LEAN_AND_MEAN` before + . + + +Copyright (C) 2023 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 b/libstdc++-v3/ChangeLog index f97165b4992c..dc0c0dfb3863 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,8353 +1,5 @@ -2023-12-31 Hans-Peter Nilsson - - * testsuite/20_util/hash/quality.cc: Increase timeout by a factor 3. - -2023-12-31 François Dumont - - * include/bits/hashtable.h: Move comment about all equivalent values - being next to each other in the class documentation header. - (_M_reinsert_node, _M_merge_unique): Implement small size optimization. - (_M_find_tr, _M_count_tr, _M_equal_range_tr): Likewise. - -2023-12-31 François Dumont - - * testsuite/performance/23_containers/insert/54075.cc: Add lookup on unknown entries - w/o copy to see potential impact of memory fragmentation enhancements. - * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc: Enhance hash - functor to make it perfect, exactly 1 entry per bucket. Also use hash functor tagged as - slow or not to bench w/o hash code cache. - * testsuite/performance/23_containers/insert/unordered_set_hint.cc: New test case. Like - previous one but using std::unordered_set. - * testsuite/performance/23_containers/insert/unordered_set_range_insert.cc: New test case. - Check performance of range-insertion compared to individual insertions. - * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: Add same bench - but after a copy to demonstrate impact of enhancements regarding memory fragmentation. - -2023-12-22 Christophe Lyon - - * Makefile.am: Allow overriding EXEPCT. - * Makefile.in: Regenerate. - -2023-12-21 Arsen Arsenović - - * include/Makefile.am: Install std/generator, bits/elements_of.h - as freestanding. - * include/Makefile.in: Regenerate. - * include/bits/version.def: Add __cpp_lib_generator. - * include/bits/version.h: Regenerate. - * include/precompiled/stdc++.h: Include . - * include/std/ranges: Include bits/elements_of.h - * include/bits/elements_of.h: New file. - * include/std/generator: New file. - * testsuite/24_iterators/range_generators/01.cc: New test. - * testsuite/24_iterators/range_generators/02.cc: New test. - * testsuite/24_iterators/range_generators/copy.cc: New test. - * testsuite/24_iterators/range_generators/except.cc: New test. - * testsuite/24_iterators/range_generators/synopsis.cc: New test. - * testsuite/24_iterators/range_generators/subrange.cc: New test. - -2023-12-21 Arsen Arsenović - - * include/bits/ranges_util.h: Add missing - include. - -2023-12-18 Patrick Palka - - PR libstdc++/112802 - PR libstdc++/113068 - * include/std/ranges (__detail::_To::operator()): Add constraints. - (__detail::_To2::operator()): Likewise. - * testsuite/std/ranges/conv/1.cc (test_sfinae): New test. - (test_composition): New test. - -2023-12-16 Jonathan Wakely - - * src/c++23/print.cc (__open_terminal(FILE*)): Avoid fileno - macro. - -2023-12-16 H.J. Lu - - * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: - Updated. - -2023-12-16 Ken Matsui - - * include/std/type_traits (remove_pointer): Use __remove_pointer - built-in trait. - -2023-12-16 Ken Matsui - - * include/std/type_traits (is_object): Use __is_object built-in - trait. - (is_object_v): Likewise. - -2023-12-16 Ken Matsui - - * include/std/type_traits (is_function): Use __is_function - built-in trait. - (is_function_v): Likewise. Optimize its implementation. Move - this under is_const_v as this depends on is_const_v. - -2023-12-16 Ken Matsui - - * include/std/type_traits (is_reference): Use __is_reference - built-in trait. - (is_reference_v): Likewise. - -2023-12-16 Ken Matsui - - * include/std/type_traits (is_member_object_pointer): Use - __is_member_object_pointer built-in trait. - (is_member_object_pointer_v): Likewise. - -2023-12-16 Ken Matsui - - * include/std/type_traits (is_member_function_pointer): Use - __is_member_function_pointer built-in trait. - (is_member_function_pointer_v): Likewise. - -2023-12-16 Ken Matsui - - * include/std/type_traits (is_member_pointer): Use - __is_member_pointer built-in trait. - (is_member_pointer_v): Likewise. - -2023-12-16 Ken Matsui - - * include/std/type_traits (is_scoped_enum): Use - __is_scoped_enum built-in trait. - (is_scoped_enum_v): Likewise. - -2023-12-16 Ken Matsui - - * include/std/type_traits (is_bounded_array_v): Use - __is_bounded_array built-in trait. - -2023-12-16 Ken Matsui - - * include/std/type_traits (is_array): Use __is_array built-in - trait. - (is_array_v): Likewise. - -2023-12-15 Jonathan Wakely - - * src/c++23/print.cc (__write_to_terminal) [_WIN32]: If handle - does not refer to the console then just write to it using normal - file I/O. - * testsuite/27_io/print/2.cc (as_printed_to_terminal): Print - error message on failure. - (test_utf16_transcoding): Adjust for as_printed_to_terminal - modifying its argument. - -2023-12-15 Jonathan Wakely - - * include/std/ostream (vprint_unicode) [_WIN32]: Use RAII guard. - (vprint_unicode) [!_WIN32]: Just call vprint_nonunicode. - * include/std/print (vprint_unicode) [!_WIN32]: Likewise. - -2023-12-15 Jonathan Wakely - - * include/std/ostream (vprint_nonunicode, vprint_unicode): Do - not insert padding. - * testsuite/27_io/basic_ostream/print/1.cc: Adjust expected - behaviour. - -2023-12-14 Jonathan Wakely - - PR libstdc++/107760 - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/bits/version.def (__cpp_lib_print): Define. - * include/bits/version.h: Regenerate. - * include/std/format (__literal_encoding_is_utf8): New function. - (_Seq_sink::view()): New member function. - * include/std/ostream (vprintf_nonunicode, vprintf_unicode) - (print, println): New functions. - * include/std/print: New file. - * src/c++23/Makefile.am: Add new source file. - * src/c++23/Makefile.in: Regenerate. - * src/c++23/print.cc: New file. - * testsuite/27_io/basic_ostream/print/1.cc: New test. - * testsuite/27_io/print/1.cc: New test. - * testsuite/27_io/print/2.cc: New test. - -2023-12-14 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): Add - missing header to configure test. Check correct variable. - * config/io/basic_file_stdio.cc (__basic_file::native_handle): - Fix typo. - * configure: Regenerate. - * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: Do not - call CloseHandle on the native handle. - * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: - Likewise. - -2023-12-14 Jonathan Wakely - - * include/std/format (_Seq_sink): Fix missing argument in - discarded statement. Add comments, likely/unlikely attributes - and debug assertions as sanity checks. - -2023-12-14 Jonathan Wakely - - * testsuite/27_io/objects/char/2.cc: Use dg-output. - * testsuite/27_io/objects/wchar_t/2.cc: Use dg-output. - -2023-12-14 Jonathan Wakely - - * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix order - of arguments to std::format_to. - * testsuite/20_util/duration/io.cc: Test subsecond duration with - floating-point rep. - -2023-12-14 Jonathan Wakely - - PR libstdc++/109536 - * include/bits/c++config (__glibcxx_constexpr_assert): Remove - macro. - * include/bits/stl_algobase.h (__niter_base, __copy_move_a) - (__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux) - (__lexicographical_compare_aux): Add constexpr to overloads for - debug mode iterators. - * include/debug/helper_functions.h (__unsafe): Add constexpr. - * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_COND_AT): Remove - macro, folding it into ... - (_GLIBCXX_DEBUG_VERIFY_AT_F): ... here. Do not use - __glibcxx_constexpr_assert. - * include/debug/safe_base.h (_Safe_iterator_base): Add constexpr - to some member functions. Omit attaching, detaching and checking - operations during constant evaluation. - * include/debug/safe_container.h (_Safe_container): Likewise. - * include/debug/safe_iterator.h (_Safe_iterator): Likewise. - * include/debug/safe_iterator.tcc (__niter_base, __copy_move_a) - (__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux) - (__lexicographical_compare_aux): Add constexpr. - * include/debug/vector (_Safe_vector, vector): Add constexpr. - Omit safe iterator operations during constant evaluation. - * testsuite/23_containers/vector/bool/capacity/constexpr.cc: - Remove dg-xfail-if for debug mode. - * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise. - * testsuite/23_containers/vector/bool/cons/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/element_access/1.cc: - Likewise. - * testsuite/23_containers/vector/bool/element_access/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/capacity/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/cmp_c++20.cc: Likewise. - * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. - * testsuite/23_containers/vector/data_access/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/element_access/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: - Adjust dg-error line number. - -2023-12-13 Jonathan Wakely - - * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Do - not round century down for %Y formats. - -2023-12-12 Jonathan Wakely - - * include/std/format (__do_vformat_to): Handle char separately - from other integral types. - * testsuite/std/format/functions/format.cc: Check for expected - output for char and bool arguments. - * testsuite/std/format/string.cc: Check that 0 filling is - rejected for character and string formats. - -2023-12-12 Jonathan Wakely - - * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Fix - rounding for negative centuries. - * testsuite/std/time/year/io.cc: Check %C for negative years. - -2023-12-12 Jonathan Wakely - - * src/c++11/Makefile.am: Remove redundant -std=gnu++11 flags. - * src/c++11/Makefile.in: Regenerate. - -2023-12-09 Jonathan Wakely - - PR libstdc++/111826 - * include/bits/version.def (format): Update value. - * include/bits/version.h: Regenerate. - * testsuite/std/format/functions/format.cc: - -2023-12-09 Jonathan Wakely - - PR libstdc++/112876 - * include/std/ranges (ranges::to): Do not try to use an iterator - returned by the container's emplace or insert member functions. - * testsuite/std/ranges/conv/1.cc (Cont4::emplace, Cont4::insert): - Use the iterator parameter. Do not return an iterator. - -2023-12-07 Patrick Palka - - * include/std/ranges (__detail::_ToClosure): Replace with ... - (__detail::_To): ... this. - (__detail::_ToClosure2): Replace with ... - (__detail::To2): ... this. - (to): Simplify using the existing _Partial range adaptor - closure object. - -2023-12-07 Jonathan Wakely - - * include/std/format (_Iter_sink): - Remove uint64_t local type. - -2023-12-07 Jonathan Wakely - - * include/bits/atomic_wait.h: Include instead of - . - -2023-12-07 Jonathan Wakely - - PR libstdc++/112882 - * include/bits/c++config (__is_constant_evaluated): Add - always_inline attribute. - (_GLIBCXX_DO_ASSERT): Remove macro. - (__glibcxx_assert): Define separately for assertions-enabled and - constexpr-only cases. - -2023-12-07 Alexandre Oliva - - PR libstdc++/112858 - * config/os/gnu-linux/os_defines.h - (_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL): Define. - * libsupc++/atexit_thread.cc [__GXX_WEAK__ && - _GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL] - (__cxa_thread_atexit): Add dynamic detection of - __cxa_thread_atexit_impl. - -2023-12-06 Jason Merrill - - DR 532 - PR c++/53499 - * testsuite/23_containers/vector/ext_pointer/types/1.cc - * testsuite/23_containers/vector/ext_pointer/types/2.cc - (N::operator-): Make less specialized. - -2023-12-06 Alexandre Oliva - - Revert: - 2023-12-02 Alexandre Oliva - - * libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic - detection of __cxa_thread_atexit_impl. - -2023-12-05 Jonathan Wakely - - PR libstdc++/111948 - * include/bits/ranges_util.h (subrange): Add constructor to - _Size to aoid setting member in constructor. - * testsuite/std/ranges/subrange/111948.cc: New test. - -2023-12-05 Jonathan Wakely - - * include/std/ranges (__detail::__container_insertable): Remove. - (__detail::__container_inserter): Remove. - (ranges::to): Use emplace_back or emplace, as per LWG 4016. - * testsuite/std/ranges/conv/1.cc (Cont4, test_2_1_4): Check for - use of emplace_back and emplace. - -2023-12-05 Jonathan Wakely - - * include/bits/c++config (__glibcxx_assert_fail): Declare even - when assertions are not enabled. - (__glibcxx_constexpr_assert): Remove macro. - (__glibcxx_assert_impl): Remove macro. - (_GLIBCXX_ASSERT_FAIL): New macro. - (_GLIBCXX_DO_ASSERT): New macro. - (__glibcxx_assert): Simplify to a single definition that works - at runtime and during constant evaluation. - * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: - Adjust expected errors. - * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc: - Likewise. - * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc: - Likewise. - * testsuite/23_containers/span/back_neg.cc: Likewise. - * testsuite/23_containers/span/front_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_neg.cc: Likewise. - * testsuite/26_numerics/lcm/105844.cc: Likewise. - -2023-12-05 Jonathan Wakely - - PR libstdc++/112832 - * include/std/format (formatter::set_debug_format): Ensure this - member is defined conditionally for all specializations. - * testsuite/std/format/formatter/112832.cc: New test. - -2023-12-05 Will Hawkins - Jonathan Wakely - - * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: Add check - for LWG Issue 3897. - -2023-12-05 Marek Polacek - - PR c++/107687 - PR c++/110997 - * testsuite/18_support/comparisons/categories/zero_neg.cc: Add - dg-prune-output. - * testsuite/std/format/string_neg.cc: Add dg-error. - -2023-12-02 Alexandre Oliva - - * libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic - detection of __cxa_thread_atexit_impl. - -2023-12-01 Jason Merrill - - * include/std/bit: Avoid builtins in requires-clauses. - * include/std/variant: Likewise. - -2023-12-01 Rainer Orth - - * configure: Regenerate. - -2023-11-30 Jonathan Wakely - - * include/std/ranges (__detail::__toable): Fix incorrect use of - _Range instead of _Cont. - (__detail::_ToClosure, __detail::_ToClosure2): Add missing - constexpr specifier on constructors. - * testsuite/std/ranges/conv/1.cc (_Cont, _Cont2, _Cont3): Remove - unnecessary begin() and end() members. - (test_constexpr): New function to check range adaptors are - usable in constant expressions. - -2023-11-29 Thomas Schwinge - - * testsuite/23_containers/span/at.cc: Fix for '-fno-exceptions' - configurations. - -2023-11-28 Jonathan Wakely - - * include/bits/atomic_wait.h: Include . - -2023-11-28 Jonathan Wakely - - * include/bits/stl_uninitialized.h: Fix typo in comment. - -2023-11-24 Jan Hubicka - - PR middle-end/109849 - * include/bits/stl_uninitialized.h (__relocate_a_1): Use memcpy instead - of memmove. - -2023-11-23 Jonathan Wakely - - PR libstdc++/111055 - * include/bits/ranges_base.h (from_range_t): Define new tag - type. - (from_range): Define new tag object. - * include/bits/version.def (ranges_to_container): Define. - * include/bits/version.h: Regenerate. - * include/std/ranges (ranges::to): Define. - * testsuite/std/ranges/conv/1.cc: New test. - * testsuite/std/ranges/conv/2_neg.cc: New test. - * testsuite/std/ranges/conv/version.cc: New test. - -2023-11-23 Jonathan Wakely - - * testsuite/util/testsuite_allocator.h (uneq_allocator): Fix - equality operator for heterogeneous comparisons. - -2023-11-21 Jonathan Wakely - - * include/bits/version.def (freestanding_cstring): Add. - * include/bits/version.h: Regenerate. - * include/c_compatibility/string.h (strtok): Do not declare for - C++26 freestanding. - * include/c_global/cstring (strtok): Likewise. - * testsuite/21_strings/headers/cstring/version.cc: New test. - -2023-11-21 Jonathan Wakely - - * include/bits/version.def (freestanding_algorithm) - (freestanding_array, freestanding_optional) - (freestanding_string_view, freestanding_variant): Add. - * include/bits/version.h: Regenerate. - * include/std/algorithm (__glibcxx_want_freestanding_algorithm): - Define. - * include/std/array (__glibcxx_want_freestanding_array): - Define. - * include/std/optional (__glibcxx_want_freestanding_optional): - Define. - * include/std/string_view - (__glibcxx_want_freestanding_string_view): Define. - * include/std/variant (__glibcxx_want_freestanding_variant): - Define. - * testsuite/20_util/optional/version.cc: Add checks for - __cpp_lib_freestanding_optional. - * testsuite/20_util/variant/version.cc: Add checks for - __cpp_lib_freestanding_variant. - * testsuite/23_containers/array/tuple_interface/get_neg.cc: - Adjust dg-error line numbers. - * testsuite/21_strings/basic_string_view/requirements/version.cc: - New test. - * testsuite/23_containers/array/requirements/version.cc: New - test. - * testsuite/25_algorithms/fill_n/requirements/version.cc: New - test. - * testsuite/25_algorithms/swap_ranges/requirements/version.cc: - New test. - -2023-11-21 Jonathan Wakely - - * include/bits/version.def (freestanding_expected): New macro. - (span): Add C++26 value. - * include/bits/version.h: Regenerate. - * include/std/expected (__glibcxx_want_freestanding_expected): - Define. - * include/std/span (span::at): New member function. - * testsuite/20_util/expected/version.cc: Add checks for - __cpp_lib_freestanding_expected. - * testsuite/23_containers/span/2.cc: Moved to... - * testsuite/23_containers/span/version.cc: ...here. Add checks - for __cpp_lib_span in as well as in . - * testsuite/23_containers/span/1.cc: Removed. - * testsuite/23_containers/span/at.cc: New test. - -2023-11-21 Jonathan Wakely - - * include/tr2/dynamic_bitset (dynamic_bitset): Pass zero and one - characters to _M_copy_from_string. - * testsuite/tr2/dynamic_bitset/string.cc: New test. - -2023-11-21 Jonathan Wakely - - * doc/html/*: Regenerate. - * doc/xml/faq.xml: Remove reference to buildstat.html pages. - * doc/xml/manual/test.xml: Likewise - -2023-11-21 Jan Hubicka - - PR libstdc++/110287 - PR middle-end/109811 - PR middle-end/109849 - * include/bits/stl_vector.h (_M_realloc_append): New member function. - (push_back): Use it. - * include/bits/vector.tcc: (emplace_back): Use it. - (_M_realloc_insert): Let compiler know that new vector size is non-zero. - (_M_realloc_append): New member function. - -2023-11-18 Jonathan Wakely - - PR libstdc++/112607 - * include/std/format (basic_format_arg::_S_to_arg_type): Check - value_type for basic_string_view and basic_string - specializations. - * testsuite/std/format/arguments/112607.cc: New test. - -2023-11-18 Jonathan Wakely - - PR libstdc++/110801 - * include/std/format (_Sink_iter::_M_reserve): New member - function. - (_Sink::_Reservation): New nested class. - (_Sink::_M_reserve, _Sink::_M_bump): New virtual functions. - (_Seq_sink::_M_reserve, _Seq_sink::_M_bump): New virtual - overrides. - (_Iter_sink::_M_reserve): Likewise. - (__do_vformat_to): Use new functions to optimize "{}" case. - -2023-11-17 Jonathan Wakely - - * config.h.in: Regenerate. - -2023-11-17 Jonathan Wakely - - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/bits/version.def (saturation_arithmetic): Define. - * include/bits/version.h: Regenerate. - * include/std/numeric: Include new header. - * include/bits/sat_arith.h: New file. - * testsuite/26_numerics/saturation/add.cc: New test. - * testsuite/26_numerics/saturation/cast.cc: New test. - * testsuite/26_numerics/saturation/div.cc: New test. - * testsuite/26_numerics/saturation/mul.cc: New test. - * testsuite/26_numerics/saturation/sub.cc: New test. - * testsuite/26_numerics/saturation/version.cc: New test. - -2023-11-17 Jonathan Wakely - - * include/std/utility (in_range): Rename _Up parameter to _Res. - -2023-11-17 Jonathan Wakely - - * include/bits/out_ptr.h: Add Doxygen comments. Remove a - redundant preprocessor condition. - * testsuite/20_util/smartptr.adapt/version.cc: New test. - -2023-11-17 Jonathan Wakely - - * include/bits/chrono_io.h: Fix Doxygen markup. - -2023-11-16 Jonathan Wakely - - PR libstdc++/112564 - * include/std/stacktrace (formatter::format): Format according - to format-spec. - * include/std/thread (formatter::format): Use _Align_right as - default. - * testsuite/19_diagnostics/stacktrace/output.cc: Check - fill-and-align handling. Change compile test to run. - * testsuite/30_threads/thread/id/output.cc: Check fill-and-align - handling. - -2023-11-16 Jonathan Wakely - - PR libstdc++/111667 - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/bits/out_ptr.h: New file. - * include/bits/shared_ptr.h (__is_shared_ptr): Move definition - to here ... - * include/bits/shared_ptr_atomic.h (__is_shared_ptr): ... from - here. - * include/bits/shared_ptr_base.h (__shared_count): Declare - out_ptr_t as a friend. - (_Sp_counted_deleter, __shared_ptr): Likewise. - * include/bits/unique_ptr.h (unique_ptr, unique_ptr): - Declare out_ptr_t and inout_ptr_t as friends. - (__is_unique_ptr): Define new variable template. - * include/bits/version.def (out_ptr): Define. - * include/bits/version.h: Regenerate. - * include/std/memory: Include new header. - * testsuite/20_util/smartptr.adapt/inout_ptr/1.cc: New test. - * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: New test. - * testsuite/20_util/smartptr.adapt/inout_ptr/shared_ptr_neg.cc: - New test. - * testsuite/20_util/smartptr.adapt/inout_ptr/void_ptr.cc: New - test. - * testsuite/20_util/smartptr.adapt/out_ptr/1.cc: New test. - * testsuite/20_util/smartptr.adapt/out_ptr/2.cc: New test. - * testsuite/20_util/smartptr.adapt/out_ptr/shared_ptr_neg.cc: - New test. - * testsuite/20_util/smartptr.adapt/out_ptr/void_ptr.cc: New - test. - -2023-11-16 Jonathan Wakely - - * include/bits/algorithmfwd.h: Do not define standard feature - test macro here. - * include/bits/align.h: Likewise. Test internal macros instead - of standard macros. - * include/bits/alloc_traits.h: Likewise. - * include/bits/allocator.h: Likewise. - * include/bits/atomic_base.h: Likewise. - * include/bits/atomic_timed_wait.h: Likewise. - * include/bits/atomic_wait.h: Likewise. - * include/bits/basic_string.h: Likewise. - * include/bits/basic_string.tcc: Likewise. - * include/bits/char_traits.h: Likewise. - * include/bits/chrono.h: Likewise. - * include/bits/cow_string.h: Likewise. - * include/bits/forward_list.h: Likewise. - * include/bits/hashtable.h: Likewise. - * include/bits/ios_base.h: Likewise. - * include/bits/memory_resource.h: Likewise. - * include/bits/move.h: Likewise. - * include/bits/move_only_function.h: Likewise. - * include/bits/node_handle.h: Likewise. - * include/bits/ptr_traits.h: Likewise. - * include/bits/range_access.h: Likewise. - * include/bits/ranges_algo.h: Likewise. - * include/bits/ranges_cmp.h: Likewise. - * include/bits/ranges_util.h: Likewise. - * include/bits/semaphore_base.h: Likewise. - * include/bits/shared_ptr.h: Likewise. - * include/bits/shared_ptr_atomic.h: Likewise. - * include/bits/shared_ptr_base.h: Likewise. - * include/bits/stl_algo.h: Likewise. - * include/bits/stl_algobase.h: Likewise. - * include/bits/stl_function.h: Likewise. - * include/bits/stl_iterator.h: Likewise. - * include/bits/stl_list.h: Likewise. - * include/bits/stl_map.h: Likewise. - * include/bits/stl_pair.h: Likewise. - * include/bits/stl_queue.h: Likewise. - * include/bits/stl_stack.h: Likewise. - * include/bits/stl_tree.h: Likewise. - * include/bits/stl_uninitialized.h: Likewise. - * include/bits/stl_vector.h: Likewise. - * include/bits/unique_ptr.h: Likewise. - * include/bits/unordered_map.h: Likewise. - * include/bits/uses_allocator_args.h: Likewise. - * include/bits/utility.h: Likewise. - * include/bits/erase_if.h: Add comment. - * include/std/algorithm: Define standard feature test macros - here. - * include/std/atomic: Likewise. - * include/std/array: Likewise. - * include/std/chrono: Likewise. - * include/std/condition_variable: Likewise. - * include/std/deque: Likewise. - * include/std/format: Likewise. - * include/std/functional: Likewise. - * include/std/forward_list: Likewise. - * include/std/ios: Likewise. - * include/std/iterator: Likewise. - * include/std/list: Likewise. - * include/std/map: Likewise. - * include/std/memory: Likewise. - * include/std/numeric: Likewise. - * include/std/queue: Likewise. - * include/std/ranges: Likewise. - * include/std/regex: Likewise. - * include/std/set: Likewise. - * include/std/stack: Likewise. - * include/std/stop_token: Likewise. - * include/std/string: Likewise. - * include/std/string_view: - * include/std/tuple: Likewise. - * include/std/unordered_map: - * include/std/unordered_set: - * include/std/utility: Likewise. - * include/std/vector: Likewise. - * include/std/scoped_allocator: Query internal macros instead of - standard macros. - -2023-11-16 Jonathan Wakely - - * testsuite/18_support/byte/requirements.cc: Disable PCH. - * testsuite/18_support/destroying_delete.cc: Likewise. - * testsuite/18_support/source_location/1.cc: Likewise. - * testsuite/18_support/source_location/version.cc: Likewise. - * testsuite/18_support/type_info/constexpr.cc: Likewise. - * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: - Likewise. - * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. - * testsuite/20_util/addressof/requirements/constexpr.cc: - Likewise. - * testsuite/20_util/allocator_traits/header-2.cc: Likewise. - * testsuite/20_util/allocator_traits/header.cc: Likewise. - * testsuite/20_util/as_const/1.cc: Likewise. Likewise. - * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. - * testsuite/20_util/bitset/version.cc: Likewise. - * testsuite/20_util/duration/arithmetic/constexpr_c++17.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/exchange/constexpr.cc: Likewise. - * testsuite/20_util/expected/synopsis.cc: Likewise. - * testsuite/20_util/expected/version.cc: Likewise. - * testsuite/20_util/function_objects/bind_front/1.cc: Likewise. - * testsuite/20_util/function_objects/bind_front/2.cc: Likewise. - * testsuite/20_util/function_objects/invoke/3.cc: Likewise. - * testsuite/20_util/function_objects/invoke/4.cc: Likewise. - * testsuite/20_util/function_objects/invoke/constexpr.cc: - Likewise. - * testsuite/20_util/function_objects/invoke/version.cc: - Likewise. - * testsuite/20_util/function_objects/searchers.cc: Likewise. - * testsuite/20_util/integer_comparisons/1.cc: Likewise. - * testsuite/20_util/integer_comparisons/2.cc: Likewise. - * testsuite/20_util/is_bounded_array/value.cc: Likewise. - * testsuite/20_util/is_layout_compatible/value.cc: Likewise. - * testsuite/20_util/is_layout_compatible/version.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/value.h: Likewise. - * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc: - Remove redundant checks already tested elsewhere. - * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_nothrow_swappable_with/value.cc: Disable - PCH. - * testsuite/20_util/is_pointer_interconvertible/value.cc: - Likewise. - * testsuite/20_util/is_pointer_interconvertible/version.cc: - Likewise. - * testsuite/20_util/is_scoped_enum/value.cc: Likewise. - * testsuite/20_util/is_scoped_enum/version.cc: Likewise. - * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc: - Remove redundant checks already tested elsewhere. - * testsuite/20_util/is_swappable/requirements/typedefs.cc: - Remove redundant checks already tested elsewhere. - * testsuite/20_util/is_swappable/value.cc: Disable PCH. - * testsuite/20_util/is_swappable/value.h: Reorder headers. - * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc: - Remove redundant checks already tested elsewhere. - * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: - Remove redundant checks already tested elsewhere. - * testsuite/20_util/is_swappable_with/value.cc: Disable PCH. - * testsuite/20_util/is_unbounded_array/value.cc: Likewise. - * testsuite/20_util/move_only_function/cons.cc: Likewise. - * testsuite/20_util/move_only_function/version.cc: Likewise. - * testsuite/20_util/optional/monadic/and_then.cc: Likewise. - * testsuite/20_util/optional/requirements.cc: Likewise. - * testsuite/20_util/optional/version.cc: Likewise. - * testsuite/20_util/owner_less/void.cc: Likewise. - * testsuite/20_util/reference_from_temporary/value.cc: Likewise. - * testsuite/20_util/reference_from_temporary/version.cc: - Likewise. - * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: - Likewise. - * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. - * testsuite/20_util/time_point_cast/rounding.cc: Likewise. - * testsuite/20_util/to_chars/constexpr.cc: Likewise. - * testsuite/20_util/to_chars/result.cc: Likewise. - * testsuite/20_util/to_chars/version.cc: Likewise. - * testsuite/20_util/to_underlying/1.cc: Likewise. - * testsuite/20_util/to_underlying/version.cc: Likewise. - * testsuite/20_util/tuple/apply/1.cc: Likewise. - * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: - Likewise. - * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. - * testsuite/20_util/tuple/p2321r2.cc: Likewise. - * testsuite/20_util/tuple/tuple_element_t.cc: Likewise. - * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: - Likewise. - * testsuite/20_util/unreachable/1.cc: Likewise. - * testsuite/20_util/unreachable/version.cc: Likewise. - * testsuite/20_util/unwrap_reference/1.cc: Likewise. - * testsuite/20_util/unwrap_reference/3.cc: Likewise. - * testsuite/20_util/variant/constexpr.cc: Likewise. - * testsuite/20_util/variant/version.cc: Likewise. - * testsuite/20_util/variant/visit_inherited.cc: Likewise. - * testsuite/20_util/void_t/1.cc: Likewise. - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/char/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/erasure.cc: Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/version.cc: - Likewise. - * testsuite/21_strings/basic_string/version.cc: Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/char.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: - Likewise. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: - Likewise. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: - Likewise. - * testsuite/21_strings/char_traits/requirements/version.cc: - Likewise. - * testsuite/23_containers/array/comparison_operators/constexpr.cc: - Likewise. - * testsuite/23_containers/array/creation/1.cc: Likewise. - * testsuite/23_containers/array/creation/2.cc: Likewise. - * testsuite/23_containers/array/element_access/constexpr_c++17.cc: - Likewise. - * testsuite/23_containers/array/requirements/constexpr_fill.cc: - Likewise. - * testsuite/23_containers/array/requirements/constexpr_iter.cc: - Likewise. - * testsuite/23_containers/deque/erasure.cc: Likewise. - * 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/queue/cons_from_iters.cc: Likewise. - * testsuite/23_containers/set/erasure.cc: Likewise. - * testsuite/23_containers/span/1.cc: Likewise. - * testsuite/23_containers/span/2.cc: Likewise. - * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. - * testsuite/23_containers/unordered_map/erasure.cc: Likewise. - * testsuite/23_containers/unordered_map/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_set/erasure.cc: Likewise. - * testsuite/23_containers/unordered_set/operations/1.cc: - Likewise. - * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. - * testsuite/23_containers/vector/erasure.cc: Likewise. - * testsuite/23_containers/vector/requirements/version.cc: - Likewise. - * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. - * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. - * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc: - Remove redundant checks already tested elsewhere. - * testsuite/25_algorithms/constexpr_macro.cc: Likewise. - * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise. - * testsuite/25_algorithms/fold_left/1.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test.cc: Likewise. - * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise. - * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise. - * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise. - * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. - * testsuite/26_numerics/bit/header-2.cc: Likewise. - * testsuite/26_numerics/bit/header.cc: Likewise. - * testsuite/26_numerics/complex/1.cc: Likewise. - * testsuite/26_numerics/complex/2.cc: Likewise. - * testsuite/26_numerics/endian/2.cc: Likewise. - * testsuite/26_numerics/endian/3.cc: Likewise. - * testsuite/26_numerics/gcd/1.cc: Likewise. - * testsuite/26_numerics/lcm/1.cc: Likewise. - * testsuite/26_numerics/lerp/1.cc: Likewise. - * testsuite/26_numerics/lerp/version.cc: Likewise. - * testsuite/26_numerics/midpoint/integral.cc: Likewise. - * testsuite/26_numerics/midpoint/version.cc: Likewise. - * testsuite/26_numerics/numbers/1.cc: Likewise. - * testsuite/26_numerics/numbers/2.cc: Likewise. - * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: - Likewise. - * testsuite/27_io/basic_filebuf/native_handle/version.cc: - Likewise. - * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: - Likewise. - * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: - Likewise. - * testsuite/27_io/basic_syncbuf/1.cc: Likewise. - * testsuite/27_io/basic_syncbuf/2.cc: Likewise. - * testsuite/27_io/basic_syncstream/1.cc: Likewise. - * testsuite/27_io/basic_syncstream/2.cc: Likewise. - * testsuite/27_io/spanstream/1.cc: Likewise. - * testsuite/27_io/spanstream/version.cc: Likewise. - * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. - * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. - * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: - Likewise. - * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. - * testsuite/30_threads/barrier/1.cc: Likewise. - * testsuite/30_threads/barrier/2.cc: Likewise. - * testsuite/30_threads/condition_variable_any/stop_token/1.cc: - Likewise. - * testsuite/30_threads/condition_variable_any/stop_token/2.cc: - Likewise. - * testsuite/30_threads/jthread/1.cc: Likewise. - * testsuite/30_threads/jthread/version.cc: Likewise. - * testsuite/30_threads/latch/1.cc: Likewise. - * testsuite/30_threads/latch/2.cc: Likewise. - * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: - Likewise. - * testsuite/30_threads/semaphore/1.cc: Likewise. - * testsuite/30_threads/semaphore/2.cc: Likewise. - * testsuite/30_threads/stop_token/1.cc: Likewise. - * testsuite/30_threads/stop_token/2.cc: Likewise. - * testsuite/experimental/feat-char8_t.cc: Likewise. - * testsuite/experimental/iterator/ostream_joiner.cc: Likewise. - * testsuite/experimental/numeric/gcd.cc: Likewise. - * testsuite/experimental/scopeguard/uniqueres.cc: Likewise. - * testsuite/std/concepts/1.cc: Likewise. - * testsuite/std/concepts/2.cc: Likewise. - * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise. - * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. - * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise. - * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. - * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. - * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. - * testsuite/std/ranges/cartesian_product/1.cc: Likewise. - * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise. - * testsuite/std/ranges/repeat/1.cc: Likewise. - * testsuite/std/ranges/version_c++23.cc: Likewise. - * testsuite/std/ranges/zip/1.cc: Likewise. - * testsuite/std/time/syn_c++20.cc: Likewise. - * testsuite/experimental/feat-cxx14.cc: Likewise. Include - and . - * testsuite/23_containers/array/tuple_interface/get_neg.cc: - Adjust dg-error line numbers. - -2023-11-16 Jonathan Wakely - - * include/bits/version.def (stds): Use >= 202100 for C++23 - condition. - * include/bits/version.h: Regenerate. - * include/std/thread: Use > C++20 instead of >= C++23 for - __cplusplus condition. - -2023-11-16 Jonathan Wakely - - * include/std/istream (__rvalue_stream_extraction_t): Test - __cpp_concepts instead of __cpp_lib_concepts. - * include/std/ostream (__derived_from_ios_base): Likewise. - (__rvalue_stream_insertion_t): Likewise. - -2023-11-15 Jonathan Wakely - - PR libstdc++/112491 - * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): - Correctly handle unused capacity at the start of the first node. - * testsuite/libstdc++-xmethods/deque.cc: Check index operator - when elements have been removed from the front. - -2023-11-15 Jonathan Wakely - - * include/std/stacktrace (basic_stacktrace::at): Fix class name - in exception message. - * testsuite/19_diagnostics/stacktrace/hash.cc: Do not fail if - current() returns a non-empty stacktrace. - -2023-11-15 Alexandre Oliva - - Revert: - 2023-11-15 Alexandre Oliva - - * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef. - -2023-11-15 Alexandre Oliva - - * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef. - -2023-11-14 Cassio Neri - - * include/std/chrono (operator-(const weekday&, const weekday&)): - Optimize. - -2023-11-14 Cassio Neri - - * include/std/chrono (weekday::_S_from_days): Fix UB. - * testsuite/std/time/weekday/1.cc: Add test for overflow. - -2023-11-14 Cassio Neri - - * include/std/chrono (year::is_leap): Clear code. - -2023-11-14 Cassio Neri - - * include/std/chrono (year_month_day_last::day): Remove &1. - -2023-11-14 Jonathan Wakely - - * include/std/charconv (__from_chars_pow2_base): Convert base to - unsigned for call to __countr_zero. - (__from_chars_alnum): Likewise for call to __bit_width. - -2023-11-14 Jonathan Wakely - - PR libstdc++/112348 - * include/std/stacktrace (hash>): Fix - type of hash functio nfor entries. - * testsuite/19_diagnostics/stacktrace/hash.cc: New test. - -2023-11-14 Jonathan Wakely - - PR libstdc++/112491 - * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix - calculation to use _M_start._M_cur. - * testsuite/libstdc++-xmethods/deque.cc: Check failing cases. - -2023-11-13 Arsen Arsenović - - * configure: Regenerate. - -2023-11-13 Jonathan Wakely - - * testsuite/std/time/clock/file/io.cc: Double timeout using - dg-timeout-factor. - * testsuite/std/time/clock/gps/io.cc: Likewise. - * testsuite/std/time/clock/local/io.cc: Likewise. - * testsuite/std/time/clock/system/io.cc: Likewise. - * testsuite/std/time/clock/tai/io.cc: Likewise. - * testsuite/std/time/clock/utc/io.cc: Likewise. - -2023-11-13 Jonathan Wakely - - PR libstdc++/112480 - * include/std/optional (_Optional_payload_base::_M_reset): Set - _M_engaged to false unconditionally. - -2023-11-11 Jonathan Wakely - - PR libstdc++/112467 - * include/bits/stl_bvector.h (_M_assume_normalized): Do not use - statement form of assume attribute for Clang. - -2023-11-11 Jonathan Wakely - - * include/std/string_view (operator==, operator<=>): Remove - redundant overloads (LWG 3950). - -2023-11-11 Jonathan Wakely - - * testsuite/26_numerics/headers/complex.h/std_c++11.h: Moved to... - * testsuite/26_numerics/headers/complex.h/std_c++11.cc: ...here. - * testsuite/26_numerics/headers/complex.h/std_c++98.h: Moved to... - * testsuite/26_numerics/headers/complex.h/std_c++98.cc: ...here. - Check macro first and then #undef. - * testsuite/26_numerics/headers/complex.h/std_gnu++11.h: Moved to... - * testsuite/26_numerics/headers/complex.h/std_gnu++11.cc: ...here. - -2023-11-11 Jonathan Wakely - - PR libstdc++/112473 - * include/bits/utility.h (integer_sequence): Add static_assert. - * testsuite/20_util/integer_sequence/112473.cc: New test. - -2023-11-11 Jonathan Wakely - - * testsuite/20_util/pair/dangling_ref.cc: Add hosted effective - target for specifiers using c++17_down. - -2023-11-11 Jonathan Wakely - - * include/bits/shared_ptr_atomic.h (atomic_is_lock_free) - (atomic_load_explicit, atomic_load, atomic_store_explicit) - (atomic_store, atomic_exchange_explicit, atomic_exchange) - (atomic_compare_exchange_strong, atomic_compare_exchange_weak) - (atomic_compare_exchange_strong_explicit) - (atomic_compare_exchange_weak_explicit): Add deprecated - attribute for C++20 and later. - * testsuite/20_util/shared_ptr/atomic/1.cc: Suppress deprecated - warnings. - * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise. - * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. - * testsuite/29_atomics/atomic/lwg3220.cc: Likewise. - -2023-11-11 Jonathan Wakely - - * include/bits/std_mutex.h (lock_guard): Add [[nodiscard]] - attribute to constructors. - * include/bits/unique_lock.h (unique_lock): Likewise. - * include/std/mutex (scoped_lock, scoped_lock): Likewise. - * testsuite/30_threads/lock_guard/cons/nodiscard.cc: New test. - * testsuite/30_threads/scoped_lock/cons/nodiscard.cc: New test. - * testsuite/30_threads/unique_lock/cons/nodiscard.cc: New test. - -2023-11-11 Jonathan Wakely - - * include/std/span (span, as_bytes, as_writable_bytes): Add - [[nodiscard]] attribute on all non-void functions. - * testsuite/23_containers/span/back_assert_neg.cc: Suppress - nodiscard warning. - * testsuite/23_containers/span/back_neg.cc: Likewise. - * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/first_assert_neg.cc: Likewise. - * testsuite/23_containers/span/first_neg.cc: Likewise. - * testsuite/23_containers/span/front_assert_neg.cc: Likewise. - * testsuite/23_containers/span/front_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_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/last_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. - * testsuite/23_containers/span/subspan_neg.cc: Likewise. - * testsuite/23_containers/span/nodiscard.cc: New test. - -2023-11-11 Jonathan Wakely - - PR libstdc++/111638 - * config.h.in: Regenerate. - * configure: Regenerate. - * linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): Remove. - (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1): Do not check for _foo. - (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Likewise. - (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2): Likewise. - (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3): Likewise. - (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Do not use - GLIBCXX_MAYBE_UNDERSCORED_FUNCS. - -2023-11-11 Nathaniel Shead - - PR libstdc++/79700 - * include/c_global/cmath (acosf, acosl, asinf, asinl, atanf) - (atanl, atan2f, atan2l, ceilf, ceill, cosf, cosl, coshf, coshl) - (expf, expl, fabsf, fabsl, floorf, floorl, fmodf, fmodl, frexpf) - (frexpl, ldexpf, ldexpl, logf, logl, log10f, log10l, modff) - (modfl, powf, powl, sinf, sinl, sinhf, sinhl, sqrtf, sqrtl, tanf) - (tanl, tanhf, tanhl): Add using-declarations in namespace std. - * testsuite/26_numerics/headers/cmath/equivalent_functions.cc: - New test. - * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: - Add checks for existence of above names. - -2023-11-09 Arsen Arsenović - - * testsuite/20_util/scoped_allocator/noexcept.cc: Mark as - requiring hosted. - -2023-11-09 Arsen Arsenović - - * include/bits/memoryfwd.h: Remove HOSTED check around allocator - and its specializations. - -2023-11-09 Patrick Palka - - PR libstdc++/112453 - * include/std/ranges (__detail::__box<_Tp>::operator*): Define - && overloads as well. - (__detail::__take_of_repeat_view): Forward __r when accessing - its _M_value member. - (__detail::__drop_of_repeat_view): Likewise. - * testsuite/std/ranges/repeat/1.cc (test07): New test. - -2023-11-09 François Dumont - - * include/bits/hashtable_policy.h (_RehashStateGuard): New. - (_Insert_base<>::_M_insert_range(_IIt, _IIt, const _NodeGet&, false_type)): - Adapt. - * include/bits/hashtable.h (__rehash_guard_t): New. - (__rehash_state): Remove. - (_M_rehash): Remove. - (_M_rehash_aux): Rename into _M_rehash. - (_M_assign_elements, _M_insert_unique_node, _M_insert_multi_node): Adapt. - (rehash): Adapt. - -2023-11-09 François Dumont - - * include/bits/hashtable_policy.h - (struct _NodePtrGuard<_HashtableAlloc, _NodePtr>): New. - (_ReuseAllocNode::operator()(_Args&&...)): Use latter to guard allocated node - pointer while constructing in place the value_type instance. - -2023-11-09 Alexandre Oliva - - PR libstdc++/110807 - * include/bits/stl_bvector.h (_Bit_iterator_base): Add - _M_assume_normalized member function. Call it in _M_bump_up, - _M_bump_down, _M_incr, operator==, operator<=>, operator<, and - operator-. - (_Bit_iterator): Also call it in operator*. - (_Bit_const_iterator): Likewise. - -2023-11-07 François Dumont - - * include/bits/hashtable_policy.h - (_Hashtable_alloc<>::_M_allocate_node): Add missing call to node destructor - on construct exception. - -2023-11-07 Richard Biener - - PR libstdc++/112351 - * src/c++98/locale.cc (locale::facet::_S_initialize_once): - Check whether _S_c_locale is already initialized. - (locale::facet::_S_get_c_locale): Always perform non-threadsafe - init when threadsafe init failed. - -2023-11-06 Ian Lance Taylor - - PR libbacktrace/111315 - PR libbacktrace/112263 - * acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when - grepping link.h for dl_iterate_phdr. - * configure: Regenerate. - -2023-11-06 Jonathan Wakely - - * include/std/expected (expected::and_then, expected::or_else): - Add string literals to static assertions. - * include/std/optional (optional::and_then, optional::or_else): - Likewise. - -2023-11-04 Feng Jisen - - * include/bits/utility.h (_Nth_type): Remove redundant partial - specialization. - -2023-11-04 Jonathan Wakely - - PR libstdc++/110133 - * include/std/system_error (system_error::system_error): Group - arguments so that concatenation can reuse rvalue's capacity. - * src/c++11/system_error.cc (strerror_string): New function. - [_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions. - (generic_error_category::message): Use strerror_string. - (system_error_category::message): Likewise. - -2023-11-04 Jonathan Wakely - - * doc/xml/manual/appendix_contributing.xml: Replace example that - uses a BADNAME. - * doc/html/manual/source_code_style.html: Regenerate. - -2023-11-02 Jonathan Wakely - - PR libstdc++/112314 - * include/std/string_view (string_view::remove_suffix): Add - debug assertion. - * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc: - New test. - * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc: - New test. - -2023-11-02 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks. - * configure: Regenerate. - -2023-10-30 François Dumont - - * config/abi/pre/gnu-versioned-namespace.ver: Add comment on recently - added emul TLS symbols. - -2023-10-30 François Dumont - - * src/experimental/contract.cc - [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment. - Remove weak attribute. - -2023-10-29 François Dumont - - * config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS - symbols. - -2023-10-29 François Dumont - - * src/experimental/contract.cc - [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol - without version namespace decoration for gcc. - -2023-10-26 Jonathan Wakely - - PR libstdc++/112089 - * include/std/shared_mutex (shared_lock::unlock): Change errc - constant to operation_not_permitted. - * testsuite/30_threads/shared_lock/locking/112089.cc: New test. - -2023-10-26 Jonathan Wakely - - * testsuite/20_util/duration/io.cc: Double timeout using - dg-timeout-factor. - * testsuite/std/time/day/io.cc: Likewise. - * testsuite/std/time/format.cc: Likewise. - * testsuite/std/time/hh_mm_ss/io.cc: Likewise. - * testsuite/std/time/month/io.cc: Likewise. - * testsuite/std/time/month_day/io.cc: Likewise. - * testsuite/std/time/month_day_last/io.cc: Likewise. - * testsuite/std/time/month_weekday/io.cc: Likewise. - * testsuite/std/time/month_weekday_last/io.cc: Likewise. - * testsuite/std/time/weekday/io.cc: Likewise. - * testsuite/std/time/weekday_indexed/io.cc: Likewise. - * testsuite/std/time/weekday_last/io.cc: Likewise. - * testsuite/std/time/year/io.cc: Likewise. - * testsuite/std/time/year_month/io.cc: Likewise. - * testsuite/std/time/year_month_day/io.cc: Likewise. - * testsuite/std/time/year_month_day_last/io.cc: Likewise. - * testsuite/std/time/year_month_weekday/io.cc: Likewise. - * testsuite/std/time/year_month_weekday_last/io.cc: Likewise. - * testsuite/std/time/zoned_time/io.cc: Likewise. - -2023-10-25 Jonathan Wakely - - PR libstdc++/111936 - * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool - compile commands. - * src/libbacktrace/Makefile.in: Regenerate. - -2023-10-24 Paul M. Bendixen - - * include/Makefile.am: Move cstdarg, cstdalign and cstdbool to - freestanding. - * include/Makefile.in: Regenerate. - -2023-10-22 Iain Sandoe - - * configure: Regenerate. - * configure.ac: Handle Darwin rpaths. - * src/Makefile.am: Handle Darwin rpaths. - * src/Makefile.in: Regenerate. - -2023-10-21 Jonathan Wakely - - * include/bits/basic_string.h (_M_init_local_buf()): New - function. - (_M_use_local_data()): Use _M_init_local_buf. - (basic_string(), basic_string(const Alloc&)) - (basic_string(basic_string&&)) - (basic_string(basic_string&&, const Alloc&)): Use - _M_init_local_buf instead of _M_use_local_data(). - * include/bits/basic_string.tcc (swap(basic_string&)) - (_M_construct(InIter, InIter, input_iterator_tag)) - (_M_construct(InIter, InIter, forward_iterator_tag)) - (_M_construct(size_type, CharT), reserve()): Likewise. - -2023-10-21 Benjamin Brock - - * include/std/ranges (zip_view, adjacent_view): Implement - workaround for LLVM-61763. - -2023-10-21 Dimitrij Mijoski - - * testsuite/22_locale/codecvt/codecvt_unicode.h: Test length() - -2023-10-21 Jonathan Wakely - - * include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix - indentation. - -2023-10-20 Marek Polacek - - PR testsuite/111883 - * include/std/charconv (from_chars): Add explicit casts. - -2023-10-19 François Dumont - - * include/bits/hashtable_policy.h - (_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove. - (_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove. - * include/bits/hashtable.h - (_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New. - (_M_merge_unique<>, _M_merge_multi<>): Use latter. - * testsuite/23_containers/unordered_map/modifiers/merge.cc - (test04, test05, test06): New test cases. - -2023-10-13 Jakub Jelinek - - * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01): - Initialize stream to va_arg(ap, FILE*) rather than 0. - * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01): - Likewise. - -2023-10-13 Hans-Peter Nilsson - - * testsuite/29_atomics/atomic/compare_exchange_padding.cc, - testsuite/29_atomics/atomic_flag/clear/1.cc, - testsuite/29_atomics/atomic_flag/cons/value_init.cc, - testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc, - testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc, - testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc, - testsuite/29_atomics/atomic_ref/generic.cc, - testsuite/29_atomics/atomic_ref/integral.cc, - testsuite/29_atomics/atomic_ref/pointer.cc: Replace - dg-require-thread-fence with dg-require-atomic-cmpxchg-word. - -2023-10-13 Hans-Peter Nilsson - - * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word): - New proc. - * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word): - Ditto. - -2023-10-05 François Dumont - - * config/abi/pre/gnu-versioned-namespace.ver: Add missing symbols - for _Float{16,32,64,128,32x,64x,128x}. - -2023-10-04 Tom Tromey - - * python/libstdcxx/v6/printers.py - (StdExpAnyPrinter.__init__): Qualify call to - _string_types. - -2023-10-04 Tom Tromey - - * python/libstdcxx/v6/printers.py: Assume that - _versioned_namespace is non-None. - * python/libstdcxx/v6/xmethods.py (is_specialization_of): - Assume that _versioned_namespace is non-None. - -2023-10-04 Tom Tromey - - * python/libstdcxx/v6/xmethods.py (_versioned_namespace): - Define. - -2023-09-29 Dimitrij Mijoski - - PR libstdc++/108976 - * src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of - surrogates in UTF-8. - (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8. - (ucs4_in): Fix handling of range with odd number of bytes. - (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16. - (ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16. - (ucs2_in): Fix handling of range with odd number of bytes. - (__codecvt_utf16_base::do_in): Likewise. - (__codecvt_utf16_base::do_in): Likewise. - (__codecvt_utf16_base::do_in): Likewise. - * testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add - tests for codecvt_utf16 and codecvt_utf16. - * testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8 - testing functions for char8_t, add more test cases for errors, - add testing functions for codecvt_utf16. - * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: - Renames, add tests for codecvt_utf16. - * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06): - Fix test. - * testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New - test. - -2023-09-29 Nathaniel Shead - - * include/bits/basic_string.h: (basic_string(basic_string&&)): - Activate _M_local_buf when needed. - (basic_string(basic_string&&, const _Alloc&)): Likewise. - * include/bits/basic_string.tcc: (basic_string::swap): Likewise. - * include/std/variant: (__detail::__variant::__construct_n): New. - (__detail::__variant::__emplace): Use __construct_n. - -2023-09-28 Tom Tromey - - * python/libstdcxx/v6/printers.py (Printer.add_version) - (add_one_template_type_printer) - (FilteringTypePrinter.add_one_type_printer): Use Python - "not in" operator. - -2023-09-28 Tom Tromey - - * python/libstdcxx/v6/printers.py (std_ratio_t_tuple): - Remove. - -2023-09-28 Tom Tromey - - * python/libstdcxx/v6/printers.py - (StdExpOptionalPrinter.__init__, lookup_node_type): - Remove unused variables. - -2023-09-28 Tom Tromey - - * python/libstdcxx/v6/printers.py: Don't import 'os'. - * python/libstdcxx/v6/__init__.py: Don't import 'gdb'. - -2023-09-28 Tom Tromey - - * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter - everywhere. Rename members to start with "_". - -2023-09-28 Tom Tromey - - * testsuite/lib/gdb-test.exp (gdb-test): Enable Python - stack traces from gdb. - -2023-09-28 Jonathan Wakely - - * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define - new function. - (ArrayMethodsMatcher, DequeMethodsMatcher) - (ForwardListMethodsMatcher, ListMethodsMatcher) - (VectorMethodsMatcher, AssociativeContainerMethodsMatcher) - (UniquePtrGetWorker, UniquePtrMethodsMatcher) - (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use - is_specialization_of instead of re.match. - -2023-09-28 Jonathan Wakely - - * python/libstdcxx/v6/printers.py: Break long lines. Use raw - strings for regular expressions. Add whitespace around - operators. - (is_member_of_namespace): Use isinstance to check type. - (is_specialization_of): Likewise. Adjust template_name - for versioned namespace instead of duplicating the re.match - call. - (StdExpAnyPrinter._string_types): New static method. - (StdExpAnyPrinter.to_string): Use _string_types. - -2023-09-28 Jonathan Wakely - - * python/libstdcxx/v6/printers.py: Format docstrings according - to PEP 257. - * python/libstdcxx/v6/xmethods.py: Likewise. - -2023-09-28 Tim Song - - PR libstdc++/111050 - * include/bits/hashtable_policy.h - (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v()) - Add [[__gnu__::__always_inline__]]. - -2023-09-27 Jonathan Wakely - - * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter): - Fix incorrect number of replacement fields. - -2023-09-26 Hans-Peter Nilsson - - * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Add - dg-require-thread-fence. - -2023-09-25 Patrick Palka - - * include/std/charconv (__detail::__integer_to_chars_result_type): - Remove. - (__detail::__to_chars_16): Use to_chars_result as return type. - (__detail::__to_chars_10): Likewise. - (__detail::__to_chars_8): Likewise. - (__detail::__to_chars_2): Likewise. - (__detail::__to_chars_i): Likewise. - (__detail::__integer_from_chars_result_type): Inline the - constraint into ... - (from_chars): ... here. Use __is_standard_integer in the - constraint. Encode constraint as a defaulted non-type template - parameter instead of within the return type. - -2023-09-25 John David Anglin - - * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. - -2023-09-25 Jonathan Wakely - - PR libstdc++/111511 - PR c++/111512 - * include/std/array (to_array): Cast memcpy arguments to void*. - * testsuite/23_containers/array/creation/111512.cc: New test. - -2023-09-25 Jonathan Wakely - - * include/bits/move.h (forward_list): Define for C++23. - * include/bits/version.def (forward_like): Define. - * include/bits/version.h: Regenerate. - * include/std/utility (__glibcxx_want_forward_like): Define. - * testsuite/20_util/forward_like/1.cc: New test. - * testsuite/20_util/forward_like/2_neg.cc: New test. - * testsuite/20_util/forward_like/version.cc: New test. - -2023-09-19 Marek Polacek - - * testsuite/20_util/allocator/105975.cc: Add dg-error. - -2023-09-18 Patrick Palka - - PR c++/63198 - PR c++/18474 - * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc: - Make data member seed_seq::called mutable. - * testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq2.cc: - Likewise. - * testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq2.cc: - Likewise. - * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq2.cc: - Likewise. - * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc: - Likewise. - * testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq2.cc: - Likewise. - * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq2.cc: - Likewise. - -2023-09-18 Jonathan Wakely - - * doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status. - * doc/html/manual/status.html: Regenerate. - -2023-09-18 Jonathan Wakely - - * doc/xml/manual/configure.xml: Use conventional option name. - * doc/xml/manual/status_cxx2020.xml: Update. - * doc/xml/manual/status_cxx2023.xml: Update. - * doc/html/*: Regenerate. - -2023-09-18 Jonathan Wakely - - * doc/xml/manual/intro.xml: Clarify that building libstdc++ - separately from GCC is not supported. - * doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for - testing. - * doc/html/manual/setup.html: Regenerate. - -2023-09-15 Jonathan Wakely - - * testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not - restrict to pthreads targets. - * testsuite/30_threads/jthread/3.cc: Likewise. - * testsuite/30_threads/semaphore/100806.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. - -2023-09-15 Jonathan Wakely - - * testsuite/18_support/coroutines/95917.cc: Remove dg-options - -std=gnu++2a. - * testsuite/18_support/coroutines/hash.cc: Likewise. - * testsuite/18_support/coroutines/lwg3460.cc: Likewise. - * testsuite/18_support/destroying_delete.cc: Likewise. - * testsuite/18_support/source_location/1.cc: Likewise. - * testsuite/18_support/source_location/consteval.cc: Likewise. - * testsuite/18_support/source_location/version.cc: Likewise. - * testsuite/19_diagnostics/error_category/operators/three_way.cc: - Likewise. - * testsuite/19_diagnostics/error_code/operators/three_way.cc: - Likewise. - * testsuite/19_diagnostics/error_condition/operators/three_way.cc: - Likewise. - * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. - * testsuite/26_numerics/adjacent_difference/lwg2055.cc: - Likewise. - * 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/bit_ceil.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc: - Likewise. - * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc: - Likewise. - * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc: - Likewise. - * testsuite/28_regex/sub_match/compare_c++20.cc: Likewise. - * testsuite/experimental/filesystem/iterators/106201.cc: - Likewise. - * testsuite/experimental/scopeguard/exit.cc: Likewise. - * testsuite/experimental/scopeguard/uniqueres.cc: Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/30_threads/barrier/1.cc: Remove dg-options - -std=gnu++20. - * testsuite/30_threads/barrier/2.cc: Likewise. - * testsuite/30_threads/barrier/arrive.cc: Likewise. - * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. - * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. - * testsuite/30_threads/barrier/completion.cc: Likewise. - * testsuite/30_threads/condition_variable/members/clock_neg.cc: - Likewise. - * testsuite/30_threads/condition_variable_any/members/clock_neg.cc: - Likewise. - * testsuite/30_threads/condition_variable_any/stop_token/1.cc: - Likewise. - * testsuite/30_threads/condition_variable_any/stop_token/2.cc: - Likewise. - * testsuite/30_threads/future/members/clock_neg.cc: Likewise. - * testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise. - * testsuite/30_threads/headers/thread/types_std_c++20.cc: - Likewise. - * testsuite/30_threads/jthread/1.cc: Likewise. - * testsuite/30_threads/jthread/100612.cc: Likewise. - * testsuite/30_threads/jthread/95989.cc: Likewise. - * testsuite/30_threads/jthread/jthread.cc: Likewise. - * testsuite/30_threads/jthread/version.cc: Likewise. - * testsuite/30_threads/latch/1.cc: Likewise. - * testsuite/30_threads/latch/2.cc: Likewise. - * testsuite/30_threads/latch/3.cc: Likewise. - * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc: - Likewise. - * testsuite/30_threads/semaphore/1.cc: Likewise. - * testsuite/30_threads/semaphore/2.cc: Likewise. - * testsuite/30_threads/semaphore/least_max_value_neg.cc: - Likewise. - * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. - * testsuite/30_threads/shared_future/members/clock_neg.cc: - Likewise. - * testsuite/30_threads/shared_lock/locking/clock_neg.cc: - Likewise. - * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc: - Likewise. - * testsuite/30_threads/stop_token/1.cc: Likewise. - * testsuite/30_threads/stop_token/2.cc: Likewise. - * testsuite/30_threads/stop_token/stop_callback.cc: Likewise. - * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: - Likewise. - * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc: - Likewise. - * testsuite/30_threads/stop_token/stop_callback/invocable_neg.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. - * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise. - * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: - Likewise. - * testsuite/30_threads/unique_lock/locking/clock_neg.cc: - Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc: - Remove dg-options -std=gnu++2a. - * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.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/str/char/2.cc: Likewise. - * testsuite/27_io/basic_istringstream/str/wchar_t/2.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_ostream/emit/1.cc: Likewise. - * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc: - Likewise. - * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.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/str/char/3.cc: Likewise. - * testsuite/27_io/basic_ostringstream/str/wchar_t/3.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_stringbuf/cons/char/2.cc: Likewise. - * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise. - * testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise. - * testsuite/27_io/basic_stringbuf/str/wchar_t/4.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_stringstream/cons/char/1.cc: Likewise. - * testsuite/27_io/basic_stringstream/cons/char/97719.cc: - Likewise. - * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise. - * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.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_syncbuf/1.cc: Likewise. - * 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. - * testsuite/27_io/filesystem/iterators/106201.cc: Likewise. - * testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise. - * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: - Likewise. - * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc: - Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/26_numerics/accumulate/constexpr.cc: Remove - dg-options -std=gnu++2a. - * testsuite/26_numerics/accumulate/lwg2055.cc: Likewise. - * testsuite/26_numerics/adjacent_difference/constexpr.cc: - Likewise. - * testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise. - * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise. - * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. - * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc: - Likewise. - * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise. - * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise. - * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise. - * testsuite/26_numerics/bit/header-2.cc: Likewise. - * testsuite/26_numerics/bit/header.cc: Likewise. - * testsuite/26_numerics/complex/1.cc: Likewise. - * testsuite/26_numerics/complex/2.cc: Likewise. - * testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc: - Likewise. - * testsuite/26_numerics/complex/operators/more_constexpr.cc: - Likewise. - * testsuite/26_numerics/complex/requirements/more_constexpr.cc: - Likewise. - * testsuite/26_numerics/complex/value_operations/more_constexpr.cc: - Likewise. - * testsuite/26_numerics/endian/1.cc: Likewise. - * testsuite/26_numerics/endian/2.cc: Likewise. - * testsuite/26_numerics/endian/3.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/inner_product/lwg2055.cc: Likewise. - * testsuite/26_numerics/iota/constexpr.cc: Likewise. - * testsuite/26_numerics/lerp/1.cc: Likewise. - * testsuite/26_numerics/lerp/constexpr.cc: Likewise. - * testsuite/26_numerics/lerp/version.cc: Likewise. - * testsuite/26_numerics/midpoint/floating.cc: Likewise. - * testsuite/26_numerics/midpoint/integral.cc: Likewise. - * testsuite/26_numerics/midpoint/pointer.cc: Likewise. - * testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise. - * testsuite/26_numerics/midpoint/version.cc: Likewise. - * testsuite/26_numerics/numbers/1.cc: Likewise. - * testsuite/26_numerics/numbers/2.cc: Likewise. - * testsuite/26_numerics/numbers/3.cc: Likewise. - * testsuite/26_numerics/numbers/float128.cc: Likewise. - * testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise. - * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise. - * testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise. - * testsuite/26_numerics/random/concept.cc: Likewise. - * testsuite/26_numerics/reduce/constexpr.cc: Likewise. - * testsuite/26_numerics/slice/compare.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. - -2023-09-15 Jonathan Wakely - - * testsuite/24_iterators/aliases.cc: Remove dg-options - -std=gnu++2a. - * testsuite/24_iterators/associated_types/incrementable.traits.cc: - Likewise. - * testsuite/24_iterators/associated_types/iterator.traits.cc: - Likewise. - * testsuite/24_iterators/associated_types/readable.traits.cc: - Likewise. - * testsuite/24_iterators/back_insert_iterator/constexpr.cc: - Likewise. - * testsuite/24_iterators/back_insert_iterator/pr93884.cc: - Likewise. - * testsuite/24_iterators/bidirectional/concept.cc: Likewise. - * testsuite/24_iterators/common_iterator/1.cc: Likewise. - * testsuite/24_iterators/common_iterator/100823.cc: Likewise. - * testsuite/24_iterators/common_iterator/2.cc: Likewise. - * testsuite/24_iterators/contiguous/concept.cc: Likewise. - * testsuite/24_iterators/contiguous/tag.cc: Likewise. - * testsuite/24_iterators/counted_iterator/1.cc: Likewise. - * testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise. - * testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise. - * testsuite/24_iterators/customization_points/92894.cc: - Likewise. - * testsuite/24_iterators/customization_points/iter_move.cc: - Likewise. - * testsuite/24_iterators/customization_points/iter_swap.cc: - Likewise. - * testsuite/24_iterators/customization_points/lwg3420.cc: - Likewise. - * testsuite/24_iterators/forward/concept.cc: Likewise. - * testsuite/24_iterators/front_insert_iterator/constexpr.cc: - Likewise. - * testsuite/24_iterators/front_insert_iterator/pr93884.cc: - Likewise. - * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: - Likewise. - * testsuite/24_iterators/indirect_callable/92894.cc: Likewise. - * testsuite/24_iterators/indirect_callable/projected-adl.cc: - Likewise. - * testsuite/24_iterators/indirect_callable/projected.cc: - Likewise. - * testsuite/24_iterators/input/concept.cc: Likewise. - * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. - * testsuite/24_iterators/istream_iterator/cons/sentinel.cc: - Likewise. - * testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise. - * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc: - Likewise. - * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: - Likewise. - * testsuite/24_iterators/move_iterator/cust.cc: Likewise. - * testsuite/24_iterators/move_iterator/dr3435.cc: Likewise. - * testsuite/24_iterators/move_iterator/input_iterator.cc: - Likewise. - * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise. - * testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise. - * testsuite/24_iterators/move_iterator/move_only.cc: Likewise. - * testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise. - * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: - Likewise. - * testsuite/24_iterators/move_iterator/sentinel.cc: Likewise. - * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise. - * testsuite/24_iterators/output/concept.cc: Likewise. - * testsuite/24_iterators/random_access/concept.cc: Likewise. - * testsuite/24_iterators/range_access/range_access_cpp20.cc: - Likewise. - * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: - Likewise. - * testsuite/24_iterators/range_operations/100768.cc: Likewise. - * testsuite/24_iterators/range_operations/advance.cc: Likewise. - * testsuite/24_iterators/range_operations/advance_overflow.cc: - Likewise. - * testsuite/24_iterators/range_operations/distance.cc: Likewise. - * testsuite/24_iterators/range_operations/lwg3392.cc: Likewise. - * testsuite/24_iterators/range_operations/next.cc: Likewise. - * testsuite/24_iterators/range_operations/prev.cc: Likewise. - * testsuite/24_iterators/reverse_iterator/cust.cc: Likewise. - * testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise. - * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: - Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/23_containers/array/comparison_operators/96851.cc: - Remove dg-options -std=gnu++2a. - * testsuite/23_containers/array/comparison_operators/constexpr.cc: - Likewise. - * testsuite/23_containers/array/creation/1.cc: Likewise. - * testsuite/23_containers/array/creation/110167.cc: Likewise. - * testsuite/23_containers/array/creation/2.cc: Likewise. - * testsuite/23_containers/array/creation/3_neg.cc: Likewise. - * testsuite/23_containers/array/requirements/constexpr_fill.cc: - Likewise. - * testsuite/23_containers/array/requirements/constexpr_swap.cc: - Likewise. - * testsuite/23_containers/deque/48101-3_neg.cc: Likewise. - * testsuite/23_containers/deque/erasure.cc: Likewise. - * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/deque/operators/cmp_c++20.cc: - Likewise. - * testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise. - * testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise. - * testsuite/23_containers/forward_list/erasure.cc: Likewise. - * testsuite/23_containers/forward_list/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc: - Likewise. - * testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc: - Likewise. - * testsuite/23_containers/list/48101-3_neg.cc: Likewise. - * testsuite/23_containers/list/cmp_c++20.cc: Likewise. - * testsuite/23_containers/list/erasure.cc: Likewise. - * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/list/operations/remove_cxx20_return.cc: - Likewise. - * testsuite/23_containers/list/operations/unique_cxx20_return.cc: - Likewise. - * testsuite/23_containers/map/48101-3_neg.cc: Likewise. - * testsuite/23_containers/map/erasure.cc: Likewise. - * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/map/operations/contains.cc: Likewise. - * testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise. - * testsuite/23_containers/multimap/48101-3_neg.cc: Likewise. - * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/multimap/operations/contains.cc: - Likewise. - * testsuite/23_containers/multimap/operators/cmp_c++20.cc: - Likewise. - * testsuite/23_containers/multiset/48101-3_neg.cc: Likewise. - * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/multiset/operations/contains.cc: - Likewise. - * testsuite/23_containers/multiset/operators/cmp_c++20.cc: - Likewise. - * testsuite/23_containers/priority_queue/92878_92947.cc: - Likewise. - * testsuite/23_containers/queue/92878_92947.cc: Likewise. - * testsuite/23_containers/queue/cmp_c++20.cc: Likewise. - * testsuite/23_containers/set/48101-3_neg.cc: Likewise. - * testsuite/23_containers/set/erasure.cc: Likewise. - * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/set/operations/contains.cc: Likewise. - * testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise. - * testsuite/23_containers/span/1.cc: Likewise. - * testsuite/23_containers/span/101411.cc: Likewise. - * testsuite/23_containers/span/2.cc: Likewise. - * testsuite/23_containers/span/deduction.cc: Likewise. - * testsuite/23_containers/span/explicit.cc: Likewise. - * testsuite/23_containers/span/layout_compat.cc: Likewise. - * testsuite/23_containers/span/lwg3255.cc: Likewise. - * testsuite/23_containers/span/nothrow_cons.cc: Likewise. - * testsuite/23_containers/span/trivially_copyable.cc: Likewise. - * testsuite/23_containers/stack/92878_92947.cc: Likewise. - * testsuite/23_containers/stack/cmp_c++20.cc: Likewise. - * testsuite/23_containers/unordered_map/48101-3_neg.cc: - Likewise. - * testsuite/23_containers/unordered_map/erasure.cc: Likewise. - * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/unordered_map/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_map/operations/contains.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/48101-3_neg.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/operations/contains.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/48101-3_neg.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/operations/contains.cc: - Likewise. - * testsuite/23_containers/unordered_set/48101-3_neg.cc: - Likewise. - * testsuite/23_containers/unordered_set/erasure.cc: Likewise. - * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/unordered_set/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_set/operations/contains.cc: - Likewise. - * testsuite/23_containers/vector/48101-3_neg.cc: Likewise. - * testsuite/23_containers/vector/bool/capacity/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise. - * testsuite/23_containers/vector/bool/cons/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/element_access/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/iterator_c++20.cc: - Likewise. - * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/capacity/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/cmp_c++20.cc: Likewise. - * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. - * testsuite/23_containers/vector/data_access/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/element_access/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/erasure.cc: Likewise. - * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/requirements/version.cc: - Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/21_strings/basic_string/cons/char/105995.cc: Remove - dg-options -std=gnu++20. - * testsuite/21_strings/basic_string/cons/char/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/erasure.cc: Likewise. - * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: - Likewise. - * testsuite/21_strings/basic_string/literals/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/ends_with/char.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/starts_with/char.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: - Likewise. - * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc: - Likewise. - * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc: - Likewise. - * testsuite/21_strings/basic_string_view/cons/char/range.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc: - Likewise. - * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc: - Likewise. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: - Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/20_util/allocator/105975.cc: Remove dg-options - -std=gnu++2a. - * testsuite/20_util/allocator/rebind_c++20.cc: Likewise. - * testsuite/20_util/allocator/requirements/constexpr.cc: - Likewise. - * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: - Likewise. - * testsuite/20_util/allocator_traits/header-2.cc: Likewise. - * testsuite/20_util/allocator_traits/header.cc: Likewise. - * testsuite/20_util/allocator_traits/members/92878_92947.cc: - Likewise. - * testsuite/20_util/any/assign/92878_92947.cc: Likewise. - * testsuite/20_util/any/cons/92878_92947.cc: Likewise. - * testsuite/20_util/assume_aligned/1.cc: Likewise. - * testsuite/20_util/assume_aligned/2_neg.cc: Likewise. - * testsuite/20_util/assume_aligned/3.cc: Likewise. - * testsuite/20_util/assume_aligned/97132.cc: Likewise. - * testsuite/20_util/bind/constexpr.cc: Likewise. - * testsuite/20_util/bitset/operations/96303.cc: Likewise. - * testsuite/20_util/common_reference/100894.cc: Likewise. - * testsuite/20_util/common_reference/requirements/alias_decl.cc: - Likewise. - * testsuite/20_util/common_reference/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/common_reference/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/duration/comparison_operators/three_way.cc: - Likewise. - * testsuite/20_util/exchange/constexpr.cc: Likewise. - * testsuite/20_util/exchange/noexcept.cc: Likewise. - * testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise. - * testsuite/20_util/from_chars/compare.cc: Likewise. - * testsuite/20_util/function_objects/bind_front/1.cc: Likewise. - * testsuite/20_util/function_objects/bind_front/107784.cc: - Likewise. - * testsuite/20_util/function_objects/bind_front/111327.cc: - Likewise. - * testsuite/20_util/function_objects/bind_front/2.cc: Likewise. - * testsuite/20_util/function_objects/bind_front/97101.cc: - Likewise. - * testsuite/20_util/function_objects/bind_front/constexpr.cc: - Likewise. - * testsuite/20_util/function_objects/constexpr_searcher.cc: - Likewise. - * testsuite/20_util/function_objects/identity/1.cc: Likewise. - * testsuite/20_util/function_objects/invoke/constexpr.cc: - Likewise. - * testsuite/20_util/function_objects/mem_fn/constexpr.cc: - Likewise. - * testsuite/20_util/function_objects/not_fn/constexpr.cc: - Likewise. - * testsuite/20_util/integer_comparisons/1.cc: Likewise. - * testsuite/20_util/integer_comparisons/2.cc: Likewise. - * testsuite/20_util/integer_comparisons/equal.cc: Likewise. - * testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise. - * testsuite/20_util/integer_comparisons/greater.cc: Likewise. - * testsuite/20_util/integer_comparisons/greater_equal.cc: - Likewise. - * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: - Likewise. - * testsuite/20_util/integer_comparisons/greater_neg.cc: - Likewise. - * testsuite/20_util/integer_comparisons/in_range.cc: Likewise. - * testsuite/20_util/integer_comparisons/in_range_neg.cc: - Likewise. - * testsuite/20_util/integer_comparisons/less.cc: Likewise. - * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise. - * testsuite/20_util/integer_comparisons/less_equal_neg.cc: - Likewise. - * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise. - * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise. - * testsuite/20_util/integer_comparisons/not_equal_neg.cc: - Likewise. - * testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_bounded_array/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_bounded_array/value.cc: Likewise. - * testsuite/20_util/is_constant_evaluated/1.cc: Likewise. - * testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise. - * testsuite/20_util/is_constructible/92878_92947.cc: Likewise. - * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc: - Likewise. - * testsuite/20_util/is_layout_compatible/value.cc: Likewise. - * testsuite/20_util/is_layout_compatible/version.cc: Likewise. - * testsuite/20_util/is_nothrow_constructible/value_c++20.cc: - Likewise. - * testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_nothrow_convertible/value.cc: Likewise. - * testsuite/20_util/is_pod/deprecated-2a.cc: Likewise. - * testsuite/20_util/is_pointer_interconvertible/value.cc: - Likewise. - * testsuite/20_util/is_pointer_interconvertible/version.cc: - Likewise. - * testsuite/20_util/is_pointer_interconvertible/with_class.cc: - Likewise. - * testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_unbounded_array/value.cc: Likewise. - * testsuite/20_util/optional/assignment/92878_92947.cc: - Likewise. - * testsuite/20_util/optional/cons/92878_92947.cc: Likewise. - * testsuite/20_util/optional/constexpr/assign.cc: Likewise. - * testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise. - * testsuite/20_util/optional/constexpr/modifiers.cc: Likewise. - * testsuite/20_util/optional/constexpr/swap.cc: Likewise. - * testsuite/20_util/optional/relops/96269.cc: Likewise. - * testsuite/20_util/optional/relops/three_way.cc: Likewise. - * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc: - Likewise. - * testsuite/20_util/pair/cons/92878_92947.cc: Likewise. - * testsuite/20_util/pair/constexpr_assign.cc: Likewise. - * testsuite/20_util/pair/constexpr_swap.cc: Likewise. - * testsuite/20_util/pair/requirements/structural.cc: Likewise. - * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc: - Likewise. - * testsuite/20_util/polymorphic_allocator/allocate_object.cc: - Likewise. - * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: - Likewise. - * testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise. - * testsuite/20_util/reference_wrapper/constexpr.cc: Likewise. - * testsuite/20_util/reference_wrapper/incomplete.cc: Likewise. - * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: - Likewise. - * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/remove_cvref/value.cc: Likewise. - * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc: - Likewise. - * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: - Likewise. - * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. - * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: - Likewise. - * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/92878_92947.cc: - Likewise. - * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. - * testsuite/20_util/time_point/4.cc: Likewise. - * testsuite/20_util/time_point/comparison_operators/three_way.cc: - Likewise. - * testsuite/20_util/to_address/1.cc: Likewise. - * testsuite/20_util/to_address/1_neg.cc: Likewise. - * testsuite/20_util/to_address/debug.cc: Likewise. - * testsuite/20_util/to_address/lwg3545.cc: Likewise. - * testsuite/20_util/to_chars/compare.cc: Likewise. - * testsuite/20_util/tuple/comparison_operators/three_way.cc: - Likewise. - * testsuite/20_util/tuple/cons/102270.cc: Likewise. - * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: - Likewise. - * testsuite/20_util/tuple/constexpr_swap.cc: Likewise. - * testsuite/20_util/type_identity/requirements/alias_decl.cc: - Likewise. - * testsuite/20_util/type_identity/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/type_identity/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/typeindex/comparison_operators_c++20.cc: - Likewise. - * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/92878_92947.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: - Likewise. - * testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise. - * testsuite/20_util/unwrap_reference/1.cc: Likewise. - * testsuite/20_util/unwrap_reference/2.cc: Likewise. - * testsuite/20_util/unwrap_reference/3.cc: Likewise. - * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise. - * testsuite/20_util/uses_allocator/lwg3527.cc: Likewise. - * testsuite/20_util/uses_allocator/make_obj.cc: Likewise. - * testsuite/20_util/uses_allocator/uninitialized_construct.cc: - Likewise. - * testsuite/20_util/variant/92878_92947.cc: Likewise. - * testsuite/20_util/variant/95915.cc: Likewise. - * testsuite/20_util/variant/constexpr.cc: Likewise. - * testsuite/20_util/variant/relops/three_way.cc: Likewise. - * testsuite/20_util/variant/visit_neg.cc: Likewise. - * testsuite/20_util/variant/visit_r.cc: Likewise. - * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/18_support/comparisons/algorithms/fallback.cc: - Remove dg-options -std=gnu++2a. - * testsuite/18_support/comparisons/algorithms/partial_order.cc: - Likewise. - * testsuite/18_support/comparisons/algorithms/strong_order.cc: - Likewise. - * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc: - Likewise. - * testsuite/18_support/comparisons/algorithms/weak_order.cc: - Likewise. - * testsuite/18_support/comparisons/categories/94565.cc: - Likewise. - * testsuite/18_support/comparisons/categories/partialord.cc: - Likewise. - * testsuite/18_support/comparisons/categories/strongord.cc: - Likewise. - * testsuite/18_support/comparisons/categories/weakord.cc: - Likewise. - * testsuite/18_support/comparisons/categories/zero_neg.cc: - Likewise. - * testsuite/18_support/comparisons/common/1.cc: Likewise. - * testsuite/18_support/comparisons/object/93479.cc: Likewise. - * testsuite/18_support/comparisons/object/lwg3530.cc: Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/29_atomics/atomic/compare_exchange_padding.cc: - Remove dg-options -std=gnu++2a. - * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. - * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise. - * testsuite/29_atomics/atomic/requirements/types_neg.cc: - Likewise. - * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. - * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise. - * testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise. - * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise. - * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. - * testsuite/29_atomics/atomic_float/1.cc: Likewise. - * testsuite/29_atomics/atomic_float/95282.cc: Likewise. - * testsuite/29_atomics/atomic_float/requirements.cc: Likewise. - * testsuite/29_atomics/atomic_float/value_init.cc: Likewise. - * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise. - * testsuite/29_atomics/atomic_integral/cons/value_init.cc: - Likewise. - * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. - * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: - Likewise. - * testsuite/29_atomics/atomic_ref/deduction.cc: Likewise. - * testsuite/29_atomics/atomic_ref/float.cc: Likewise. - * testsuite/29_atomics/atomic_ref/generic.cc: Likewise. - * testsuite/29_atomics/atomic_ref/integral.cc: Likewise. - * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise. - * testsuite/29_atomics/atomic_ref/requirements.cc: Likewise. - * testsuite/29_atomics/headers/atomic/types_std_c++20.cc: - Likewise. - * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc: - Likewise. - * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc: - Likewise. - * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: - Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test. - * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test. - -2023-09-15 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New - macro. - * config.h.in: Regenerate. - * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new - basic_filebuf members. - * config/io/basic_file_stdio.cc (__basic_file::native_handle): - Define new function. - * config/io/basic_file_stdio.h (__basic_file::native_handle): - Declare new function. - * configure: Regenerate. - * configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES. - * include/bits/version.def (fstream_native_handles): New macro. - * include/bits/version.h: Regenerate. - * include/std/fstream (basic_filebuf::native_handle) - (basic_fstream::native_handle, basic_ifstream::native_handle) - (basic_ofstream::native_handle): New functions. - * src/c++11/Makefile.am: Move compilation of basic_file.cc, - locale_init.cc and localename.cc to here. - * src/c++11/Makefile.in: Regenerate. - * src/c++98/locale_init.cc: Moved to... - * src/c++11/locale_init.cc: ...here. - * src/c++98/localename.cc: Moved to... - * src/c++11/localename.cc: ...here. - * src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc - and localename.cc from here. - * src/c++98/Makefile.in: Regenerate. - * testsuite/27_io/basic_filebuf/native_handle/version.cc: New test. - * testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test. - * testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test. - * testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test. - * testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test. - * testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test. - * testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test. - -2023-09-15 Jonathan Wakely - - * testsuite/libstdc++-dg/conformance.exp: Add log line when - using testsuite_files. - -2023-09-15 Jonathan Wakely - - * testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg - directives. - * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: - Likewise. - * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/allocate.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/allocate_single.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/cons.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/cons_single.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/is_equal.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/multithreaded.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/options.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/release.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/release_single.cc: - Likewise. - * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc: - Likewise. - * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: - Likewise. - * testsuite/30_threads/stop_token/stop_callback/destroy.cc: - Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/23_containers/span/back_assert_neg.cc: Remove - dg-options and add effective target selector to dg-do. Add - no_pch. - * testsuite/23_containers/span/back_neg.cc: Likewise. - * testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise. - * testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/first_assert_neg.cc: Likewise. - * testsuite/23_containers/span/first_neg.cc: Likewise. - * testsuite/23_containers/span/front_assert_neg.cc: Likewise. - * testsuite/23_containers/span/front_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_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/last_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. - * testsuite/23_containers/span/subspan_neg.cc: Likewise. - * testsuite/24_iterators/range_operations/advance_debug_neg.cc: - Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove - dg-options. - * testsuite/18_support/headers/stdfloat/types_std.cc: Likewise. - * testsuite/18_support/type_info/constexpr.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/current.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. - * testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise. - * testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise. - * testsuite/20_util/bitset/access/constexpr.cc: Likewise. - * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. - * testsuite/20_util/bitset/count/constexpr.cc: Likewise. - * testsuite/20_util/bitset/ext/constexpr.cc: Likewise. - * testsuite/20_util/bitset/operations/constexpr_c++23.cc: - Likewise. - * testsuite/20_util/bitset/version.cc: Likewise. - * testsuite/20_util/from_chars/8.cc: Likewise. - * testsuite/20_util/from_chars/constexpr.cc: Likewise. - * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise. - * testsuite/20_util/function_objects/invoke/4.cc: Likewise. - * testsuite/20_util/function_objects/invoke/dangling_ref.cc: - Likewise. - * testsuite/20_util/is_scoped_enum/value.cc: Likewise. - * testsuite/20_util/is_scoped_enum/version.cc: Likewise. - * testsuite/20_util/move_only_function/call.cc: Likewise. - * testsuite/20_util/move_only_function/cons.cc: Likewise. - * testsuite/20_util/move_only_function/move.cc: Likewise. - * testsuite/20_util/move_only_function/version.cc: Likewise. - * testsuite/20_util/optional/monadic/and_then.cc: Likewise. - * testsuite/20_util/optional/monadic/or_else.cc: Likewise. - * testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise. - * testsuite/20_util/optional/monadic/pr109242.cc: Likewise. - * testsuite/20_util/optional/monadic/transform.cc: Likewise. - * testsuite/20_util/pair/p2321r2.cc: Likewise. - * testsuite/20_util/reference_from_temporary/value.cc: Likewise. - * testsuite/20_util/reference_from_temporary/value2.cc: - Likewise. - * testsuite/20_util/reference_from_temporary/version.cc: - Likewise. - * testsuite/20_util/to_chars/constexpr.cc: Likewise. - * testsuite/20_util/to_chars/float128_c++23.cc: Likewise. - * testsuite/20_util/to_chars/float16_c++23.cc: Likewise. - * testsuite/20_util/to_chars/version.cc: Likewise. - * testsuite/20_util/to_underlying/1.cc: Likewise. - * testsuite/20_util/to_underlying/version.cc: Likewise. - * testsuite/20_util/tuple/p2321r2.cc: Likewise. - * testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise. - * testsuite/20_util/unique_ptr/comparison/constexpr.cc: - Likewise. - * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise. - * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise. - * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise. - * testsuite/20_util/unreachable/1.cc: Likewise. - * testsuite/20_util/unreachable/version.cc: Likewise. - * testsuite/20_util/uses_allocator/lwg3677.cc: Likewise. - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise. - * testsuite/21_strings/basic_string/operations/contains/char.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise. - * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise. - * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise. - * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise. - * testsuite/23_containers/queue/cons_from_iters.cc: Likewise. - * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. - * testsuite/23_containers/vector/bool/element_access/1.cc: - Likewise. - * testsuite/24_iterators/const_iterator/1.cc: Likewise. - * testsuite/25_algorithms/contains/1.cc: Likewise. - * testsuite/25_algorithms/contains_subrange/1.cc: Likewise. - * testsuite/25_algorithms/find_last/1.cc: Likewise. - * testsuite/25_algorithms/find_last_if/1.cc: Likewise. - * testsuite/25_algorithms/find_last_if_not/1.cc: Likewise. - * testsuite/25_algorithms/fold_left/1.cc: Likewise. - * testsuite/25_algorithms/fold_right/1.cc: Likewise. - * testsuite/25_algorithms/iota/1.cc: Likewise. - * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise. - * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise. - * testsuite/26_numerics/complex/ext_c++23.cc: Likewise. - * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise. - * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: - Likewise. - * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: - Likewise. - * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: - Likewise. - * testsuite/26_numerics/numbers/4.cc: Likewise. - * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise. - * testsuite/27_io/filesystem/path/native/conv_c++23.cc: - Likewise. - * testsuite/27_io/spanstream/1.cc: Likewise. - * testsuite/27_io/spanstream/2.cc: Likewise. - * testsuite/27_io/spanstream/version.cc: Likewise. - * testsuite/29_atomics/atomic_float/requirements_cxx23.cc: - Likewise. - * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: - Likewise. - * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. - * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc: - Likewise. - * testsuite/experimental/filesystem/path/native/conv_c++23.cc: - Likewise. - * testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise. - * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: - Likewise. - * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise. - * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. - * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise. - * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. - * testsuite/std/ranges/adaptors/lwg3715.cc: Likewise. - * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. - * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. - * testsuite/std/ranges/cartesian_product/1.cc: Likewise. - * testsuite/std/ranges/range_adaptor_closure.cc: Likewise. - * testsuite/std/ranges/repeat/1.cc: Likewise. - * testsuite/std/ranges/version_c++23.cc: Likewise. - * testsuite/std/ranges/zip/1.cc: Likewise. - * testsuite/std/ranges/zip_transform/1.cc: Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/20_util/expected/assign.cc: Remove dg-options. - * testsuite/20_util/expected/bad.cc: Likewise. - * testsuite/20_util/expected/cons.cc: Likewise. - * testsuite/20_util/expected/equality.cc: Likewise. - * testsuite/20_util/expected/illformed_neg.cc: Likewise. - * testsuite/20_util/expected/lwg3877.cc: Likewise. - * testsuite/20_util/expected/lwg3938.cc: Likewise. - * testsuite/20_util/expected/monadic.cc: Likewise. - * testsuite/20_util/expected/observers.cc: Likewise. - * testsuite/20_util/expected/requirements.cc: Likewise. - * testsuite/20_util/expected/swap.cc: Likewise. - * testsuite/20_util/expected/synopsis.cc: Likewise. - * testsuite/20_util/expected/unexpected.cc: Likewise. - * testsuite/20_util/expected/version.cc: Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/20_util/duration/arithmetic/overflow_c++20.cc: - Remove dg-options. - * testsuite/20_util/duration/io.cc: Likewise. - * testsuite/std/time/clock/file/io.cc: Likewise. - * testsuite/std/time/clock/file/members.cc: Likewise. - * testsuite/std/time/clock/file/overview.cc: Likewise. - * testsuite/std/time/clock/gps/1.cc: Likewise. - * testsuite/std/time/clock/gps/io.cc: Likewise. - * testsuite/std/time/clock/local/io.cc: Likewise. - * testsuite/std/time/clock/system/io.cc: Likewise. - * testsuite/std/time/clock/tai/1.cc: Likewise. - * testsuite/std/time/clock/tai/io.cc: Likewise. - * testsuite/std/time/clock/utc/1.cc: Likewise. - * testsuite/std/time/clock/utc/io.cc: Likewise. - * testsuite/std/time/clock/utc/leap_second_info.cc: Likewise. - * testsuite/std/time/day/1.cc: Likewise. - * testsuite/std/time/day/io.cc: Likewise. - * testsuite/std/time/exceptions.cc: Likewise. - * testsuite/std/time/format.cc: Likewise. - * testsuite/std/time/hh_mm_ss/1.cc: Likewise. - * testsuite/std/time/hh_mm_ss/109772.cc: Likewise. - * testsuite/std/time/hh_mm_ss/io.cc: Likewise. - * testsuite/std/time/is_am/1.cc: Likewise. - * testsuite/std/time/is_pm/1.cc: Likewise. - * testsuite/std/time/make12/1.cc: Likewise. - * testsuite/std/time/make24/1.cc: Likewise. - * testsuite/std/time/month/1.cc: Likewise. - * testsuite/std/time/month/io.cc: Likewise. - * testsuite/std/time/month_day/1.cc: Likewise. - * testsuite/std/time/month_day/io.cc: Likewise. - * testsuite/std/time/month_day_last/1.cc: Likewise. - * testsuite/std/time/month_day_last/io.cc: Likewise. - * testsuite/std/time/month_weekday/1.cc: Likewise. - * testsuite/std/time/month_weekday/io.cc: Likewise. - * testsuite/std/time/month_weekday_last/1.cc: Likewise. - * testsuite/std/time/month_weekday_last/io.cc: Likewise. - * testsuite/std/time/parse.cc: Likewise. - * testsuite/std/time/syn_c++20.cc: Likewise. - * testsuite/std/time/time_zone/get_info_local.cc: Likewise. - * testsuite/std/time/time_zone/get_info_sys.cc: Likewise. - * testsuite/std/time/time_zone/requirements.cc: Likewise. - * testsuite/std/time/traits/is_clock.cc: Likewise. - * testsuite/std/time/tzdb/1.cc: Likewise. - * testsuite/std/time/tzdb/leap_seconds.cc: Likewise. - * testsuite/std/time/tzdb_list/1.cc: Likewise. - * testsuite/std/time/tzdb_list/requirements.cc: Likewise. - * testsuite/std/time/weekday/1.cc: Likewise. - * testsuite/std/time/weekday/io.cc: Likewise. - * testsuite/std/time/weekday_indexed/io.cc: Likewise. - * testsuite/std/time/weekday_last/1.cc: Likewise. - * testsuite/std/time/weekday_last/io.cc: Likewise. - * testsuite/std/time/year/1.cc: Likewise. - * testsuite/std/time/year/2.cc: Likewise. - * testsuite/std/time/year/io.cc: Likewise. - * testsuite/std/time/weekday_indexed/1.cc: Likewise. - * testsuite/std/time/year_month/1.cc: Likewise. - * testsuite/std/time/year_month/2.cc: Likewise. - * testsuite/std/time/year_month/io.cc: Likewise. - * testsuite/std/time/year_month_day/1.cc: Likewise. - * testsuite/std/time/year_month_day/2.cc: Likewise. - * testsuite/std/time/year_month_day/3.cc: Likewise. - * testsuite/std/time/year_month_day/4.cc: Likewise. - * testsuite/std/time/year_month_day/io.cc: Likewise. - * testsuite/std/time/year_month_day_last/1.cc: Likewise. - * testsuite/std/time/year_month_day_last/2.cc: Likewise. - * testsuite/std/time/year_month_day_last/io.cc: Likewise. - * testsuite/std/time/year_month_weekday/1.cc: Likewise. - * testsuite/std/time/year_month_weekday/2.cc: Likewise. - * testsuite/std/time/year_month_weekday/3.cc: Likewise. - * testsuite/std/time/year_month_weekday/io.cc: Likewise. - * testsuite/std/time/year_month_weekday_last/1.cc: Likewise. - * testsuite/std/time/year_month_weekday_last/2.cc: Likewise. - * testsuite/std/time/year_month_weekday_last/io.cc: Likewise. - * testsuite/std/time/zoned_time/1.cc: Likewise. - * testsuite/std/time/zoned_time/custom.cc: Likewise. - * testsuite/std/time/zoned_time/deduction.cc: Likewise. - * testsuite/std/time/zoned_time/io.cc: Likewise. - * testsuite/std/time/zoned_time/req_neg.cc: Likewise. - * testsuite/std/time/zoned_time/requirements.cc: Likewise. - * testsuite/std/time/zoned_traits.cc: Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/std/format/arguments/args.cc: Remove dg-options. - * testsuite/std/format/arguments/lwg3810.cc: Likewise. - * testsuite/std/format/error.cc: Likewise. - * testsuite/std/format/format_string.cc: Likewise. - * testsuite/std/format/formatter/concept.cc: Likewise. - * testsuite/std/format/formatter/ext_float.cc: Likewise. - * testsuite/std/format/formatter/requirements.cc: Likewise. - * testsuite/std/format/functions/107871.cc: Likewise. - * testsuite/std/format/functions/format.cc: Likewise. - * testsuite/std/format/functions/format_to.cc: Likewise. - * testsuite/std/format/functions/format_to_n.cc: Likewise. - * testsuite/std/format/functions/size.cc: Likewise. - * testsuite/std/format/functions/vformat_to.cc: Likewise. - * testsuite/std/format/parse_ctx.cc: Likewise. - * testsuite/std/format/string.cc: Likewise. - * testsuite/std/format/string_neg.cc: Likewise. - * testsuite/std/format/functions/format_c++23.cc: Removed. - -2023-09-15 Jonathan Wakely - - * testsuite/20_util/function_objects/range.cmp/equal_to.cc: - Remove dg-options. - * testsuite/20_util/function_objects/range.cmp/greater.cc: - Likewise. - * testsuite/20_util/function_objects/range.cmp/greater_equal.cc: - Likewise. - * testsuite/20_util/function_objects/range.cmp/less.cc: - Likewise. - * testsuite/20_util/function_objects/range.cmp/less_equal.cc: - Likewise. - * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: - Likewise. - * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/construct_at/1.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/construct_at/95788.cc: - Likewise. - * 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/94017.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc: - Likewise. - * testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise. - * testsuite/25_algorithms/adjacent_find/constrained.cc: - Likewise. - * testsuite/25_algorithms/all_of/constexpr.cc: Likewise. - * testsuite/25_algorithms/all_of/constrained.cc: Likewise. - * testsuite/25_algorithms/any_of/constexpr.cc: Likewise. - * testsuite/25_algorithms/any_of/constrained.cc: Likewise. - * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. - * testsuite/25_algorithms/binary_search/constrained.cc: - Likewise. - * testsuite/25_algorithms/clamp/constrained.cc: Likewise. - * testsuite/25_algorithms/constexpr_macro.cc: Likewise. - * testsuite/25_algorithms/copy/95578.cc: Likewise. - * testsuite/25_algorithms/copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/copy/constrained.cc: Likewise. - * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise. - * testsuite/25_algorithms/copy_backward/95578.cc: Likewise. - * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise. - * testsuite/25_algorithms/copy_backward/constrained.cc: - Likewise. - * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: - Likewise. - * testsuite/25_algorithms/copy_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/copy_if/constrained.cc: Likewise. - * testsuite/25_algorithms/copy_n/constexpr.cc: Likewise. - * testsuite/25_algorithms/copy_n/constrained.cc: Likewise. - * testsuite/25_algorithms/count/constexpr.cc: Likewise. - * testsuite/25_algorithms/count/constrained.cc: Likewise. - * testsuite/25_algorithms/count_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/count_if/constrained.cc: Likewise. - * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise. - * testsuite/25_algorithms/equal/95578.cc: Likewise. - * testsuite/25_algorithms/equal/constexpr.cc: Likewise. - * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise. - * testsuite/25_algorithms/equal/constrained.cc: Likewise. - * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: - Likewise. - * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise. - * testsuite/25_algorithms/equal_range/constrained.cc: Likewise. - * testsuite/25_algorithms/fill/94017.cc: Likewise. - * testsuite/25_algorithms/fill/constexpr.cc: Likewise. - * testsuite/25_algorithms/fill/constrained.cc: Likewise. - * testsuite/25_algorithms/fill_n/94017.cc: Likewise. - * testsuite/25_algorithms/fill_n/constexpr.cc: Likewise. - * testsuite/25_algorithms/fill_n/constrained.cc: Likewise. - * testsuite/25_algorithms/find/constexpr.cc: Likewise. - * testsuite/25_algorithms/find/constrained.cc: Likewise. - * testsuite/25_algorithms/find_end/constexpr.cc: Likewise. - * testsuite/25_algorithms/find_end/constrained.cc: Likewise. - * testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise. - * testsuite/25_algorithms/find_first_of/constrained.cc: - Likewise. - * testsuite/25_algorithms/find_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/find_if/constrained.cc: Likewise. - * testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise. - * testsuite/25_algorithms/find_if_not/constrained.cc: Likewise. - * testsuite/25_algorithms/for_each/constexpr.cc: Likewise. - * testsuite/25_algorithms/for_each/constrained.cc: Likewise. - * testsuite/25_algorithms/generate/constexpr.cc: Likewise. - * testsuite/25_algorithms/generate/constrained.cc: Likewise. - * testsuite/25_algorithms/generate_n/constexpr.cc: Likewise. - * testsuite/25_algorithms/generate_n/constrained.cc: Likewise. - * testsuite/25_algorithms/heap/constrained.cc: Likewise. - * testsuite/25_algorithms/includes/constrained.cc: Likewise. - * testsuite/25_algorithms/inplace_merge/constrained.cc: - Likewise. - * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_partitioned/constrained.cc: - Likewise. - * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_permutation/constrained.cc: - Likewise. - * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise. - * testsuite/25_algorithms/is_sorted_until/constexpr.cc: - Likewise. - * testsuite/25_algorithms/is_sorted_until/constrained.cc: - Likewise. - * testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise. - * testsuite/25_algorithms/lexicographical_compare/93972.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare/95578.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare/constrained.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise. - * testsuite/25_algorithms/lower_bound/constrained.cc: Likewise. - * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: - Likewise. - * testsuite/25_algorithms/make_heap/constexpr.cc: Likewise. - * testsuite/25_algorithms/max/constrained.cc: Likewise. - * testsuite/25_algorithms/max_element/constrained.cc: Likewise. - * testsuite/25_algorithms/merge/constexpr.cc: Likewise. - * testsuite/25_algorithms/merge/constrained.cc: Likewise. - * testsuite/25_algorithms/min/constrained.cc: Likewise. - * testsuite/25_algorithms/min_element/constrained.cc: Likewise. - * testsuite/25_algorithms/minmax/constrained.cc: Likewise. - * testsuite/25_algorithms/minmax_element/constrained.cc: - Likewise. - * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. - * testsuite/25_algorithms/mismatch/constrained.cc: Likewise. - * testsuite/25_algorithms/move/93872.cc: Likewise. - * testsuite/25_algorithms/move/95578.cc: Likewise. - * testsuite/25_algorithms/move/constexpr.cc: Likewise. - * testsuite/25_algorithms/move/constrained.cc: Likewise. - * testsuite/25_algorithms/move_backward/93872.cc: Likewise. - * testsuite/25_algorithms/move_backward/95578.cc: Likewise. - * testsuite/25_algorithms/move_backward/constrained.cc: - Likewise. - * testsuite/25_algorithms/next_permutation/constexpr.cc: - Likewise. - * testsuite/25_algorithms/next_permutation/constrained.cc: - Likewise. - * testsuite/25_algorithms/none_of/constexpr.cc: Likewise. - * testsuite/25_algorithms/none_of/constrained.cc: Likewise. - * testsuite/25_algorithms/nth_element/constexpr.cc: Likewise. - * testsuite/25_algorithms/nth_element/constrained.cc: Likewise. - * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise. - * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise. - * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: - Likewise. - * testsuite/25_algorithms/partial_sort_copy/constrained.cc: - Likewise. - * testsuite/25_algorithms/partition/constexpr.cc: Likewise. - * testsuite/25_algorithms/partition/constrained.cc: Likewise. - * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/partition_copy/constrained.cc: - Likewise. - * testsuite/25_algorithms/partition_point/constexpr.cc: - Likewise. - * testsuite/25_algorithms/partition_point/constrained.cc: - Likewise. - * testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise. - * testsuite/25_algorithms/prev_permutation/constexpr.cc: - Likewise. - * testsuite/25_algorithms/prev_permutation/constrained.cc: - Likewise. - * testsuite/25_algorithms/push_heap/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove/constrained.cc: Likewise. - * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove_copy/constrained.cc: Likewise. - * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove_copy_if/constrained.cc: - Likewise. - * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove_if/constrained.cc: Likewise. - * testsuite/25_algorithms/replace/constrained.cc: Likewise. - * testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/replace_copy/constrained.cc: Likewise. - * testsuite/25_algorithms/replace_copy_if/constexpr.cc: - Likewise. - * testsuite/25_algorithms/replace_copy_if/constrained.cc: - Likewise. - * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/replace_if/constrained.cc: Likewise. - * testsuite/25_algorithms/reverse/constexpr.cc: Likewise. - * testsuite/25_algorithms/reverse/constrained.cc: Likewise. - * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise. - * testsuite/25_algorithms/rotate/constexpr.cc: Likewise. - * testsuite/25_algorithms/rotate/constrained.cc: Likewise. - * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise. - * testsuite/25_algorithms/sample/constrained.cc: Likewise. - * testsuite/25_algorithms/search/constexpr.cc: Likewise. - * testsuite/25_algorithms/search/constrained.cc: Likewise. - * testsuite/25_algorithms/search_n/97828.cc: Likewise. - * testsuite/25_algorithms/search_n/constexpr.cc: Likewise. - * testsuite/25_algorithms/search_n/constrained.cc: Likewise. - * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. - * testsuite/25_algorithms/set_difference/constrained.cc: - Likewise. - * testsuite/25_algorithms/set_intersection/constexpr.cc: - Likewise. - * testsuite/25_algorithms/set_intersection/constrained.cc: - Likewise. - * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: - Likewise. - * testsuite/25_algorithms/set_symmetric_difference/constrained.cc: - Likewise. - * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. - * testsuite/25_algorithms/set_union/constrained.cc: Likewise. - * testsuite/25_algorithms/shift_left/1.cc: Likewise. - * testsuite/25_algorithms/shift_right/1.cc: Likewise. - * testsuite/25_algorithms/shuffle/constrained.cc: Likewise. - * testsuite/25_algorithms/sort/constexpr.cc: Likewise. - * testsuite/25_algorithms/sort/constrained.cc: Likewise. - * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise. - * testsuite/25_algorithms/stable_partition/constrained.cc: - Likewise. - * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise. - * testsuite/25_algorithms/swap/constexpr.cc: Likewise. - * testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise. - * testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise. - * testsuite/25_algorithms/transform/constexpr.cc: Likewise. - * testsuite/25_algorithms/transform/constrained.cc: Likewise. - * testsuite/25_algorithms/unique/constexpr.cc: Likewise. - * testsuite/25_algorithms/unique/constrained.cc: Likewise. - * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/unique_copy/constrained.cc: Likewise. - * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. - * testsuite/25_algorithms/upper_bound/constrained.cc: Likewise. - * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: - Likewise. - * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: - Likewise. - * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: - Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/std/concepts/1.cc: Remove dg-options. - * testsuite/std/concepts/2.cc: Likewise. - * testsuite/std/concepts/concepts.callable/invocable.cc: - Likewise. - * testsuite/std/concepts/concepts.callable/regular_invocable.cc: - Likewise. - * testsuite/std/concepts/concepts.callable/relation.cc: - Likewise. - * testsuite/std/concepts/concepts.callable/strictweakorder.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.assignable/1.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.common/1.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.commonref/1.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.convertible/1.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.derived/1.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.same/1.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise. - * testsuite/std/concepts/concepts.object/copyable.cc: Likewise. - * testsuite/std/concepts/concepts.object/movable.cc: Likewise. - * testsuite/std/concepts/concepts.object/regular.cc: Likewise. - * testsuite/std/concepts/concepts.object/semiregular.cc: - Likewise. - * testsuite/std/ranges/97600.cc: Likewise. - * testsuite/std/ranges/access/101782.cc: Likewise. - * testsuite/std/ranges/access/begin.cc: Likewise. - * testsuite/std/ranges/access/begin_neg.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/empty.cc: Likewise. - * testsuite/std/ranges/access/end.cc: Likewise. - * testsuite/std/ranges/access/end_neg.cc: Likewise. - * testsuite/std/ranges/access/lwg3467.cc: Likewise. - * testsuite/std/ranges/access/p2602.cc: Likewise. - * testsuite/std/ranges/access/rbegin.cc: Likewise. - * testsuite/std/ranges/access/rend.cc: Likewise. - * testsuite/std/ranges/access/size.cc: Likewise. - * testsuite/std/ranges/access/size_neg.cc: Likewise. - * testsuite/std/ranges/access/ssize.cc: Likewise. - * testsuite/std/ranges/adaptors/100479.cc: Likewise. - * testsuite/std/ranges/adaptors/100577.cc: Likewise. - * testsuite/std/ranges/adaptors/93978.cc: Likewise. - * testsuite/std/ranges/adaptors/95322.cc: Likewise. - * testsuite/std/ranges/adaptors/99433.cc: Likewise. - * testsuite/std/ranges/adaptors/all.cc: Likewise. - * testsuite/std/ranges/adaptors/common.cc: Likewise. - * testsuite/std/ranges/adaptors/conditionally_borrowed.cc: - Likewise. - * testsuite/std/ranges/adaptors/counted.cc: Likewise. - * testsuite/std/ranges/adaptors/detail/copyable_box.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/lazy_split.cc: Likewise. - * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. - * testsuite/std/ranges/adaptors/lwg3286.cc: Likewise. - * testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise. - * testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise. - * testsuite/std/ranges/adaptors/lwg3406.cc: Likewise. - * testsuite/std/ranges/adaptors/p1739.cc: Likewise. - * testsuite/std/ranges/adaptors/p2281.cc: Likewise. - * testsuite/std/ranges/adaptors/p2770r0.cc: Likewise. - * testsuite/std/ranges/adaptors/reverse.cc: Likewise. - * testsuite/std/ranges/adaptors/sizeof.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. - * testsuite/std/ranges/empty_view.cc: Likewise. - * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise. - * testsuite/std/ranges/iota/difference_type.cc: Likewise. - * testsuite/std/ranges/iota/iota_view.cc: Likewise. - * testsuite/std/ranges/iota/iterator.cc: Likewise. - * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise. - * testsuite/std/ranges/iota/max_size_type.cc: Likewise. - * testsuite/std/ranges/istream_view.cc: Likewise. - * testsuite/std/ranges/p2259.cc: Likewise. - * testsuite/std/ranges/p2325.cc: Likewise. - * testsuite/std/ranges/p2367.cc: Likewise. - * testsuite/std/ranges/range.cc: Likewise. - * testsuite/std/ranges/refinements.cc: Likewise. - * testsuite/std/ranges/safe_range.cc: Likewise. - * testsuite/std/ranges/safe_range_types.cc: Likewise. - * testsuite/std/ranges/single_view.cc: Likewise. - * testsuite/std/ranges/sized.cc: Likewise. - * testsuite/std/ranges/subrange/1.cc: Likewise. - * testsuite/std/ranges/subrange/97512.cc: Likewise. - * testsuite/std/ranges/subrange/constexpr.cc: Likewise. - * testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise. - * testsuite/std/ranges/subrange/lwg3286.cc: Likewise. - * testsuite/std/ranges/subrange/lwg3433.cc: Likewise. - * testsuite/std/ranges/subrange/sizeof.cc: Likewise. - * testsuite/std/ranges/subrange/tuple_like.cc: Likewise. - * testsuite/std/ranges/view.cc: Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc: - Remove dg-options. - * testsuite/23_containers/span/contiguous_range_neg.cc: - Likewise. - * testsuite/23_containers/span/everything.cc: Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/24_iterators/reverse_iterator/100639.cc: Remove - dg-options and add dg-add-options strict_std. - * testsuite/std/ranges/iota/93267.cc: Likewise. - * testsuite/std/ranges/iota/96042.cc: Likewise. - * testsuite/std/ranges/iota/size.cc: Likewise. - * testsuite/std/ranges/subrange/96042.cc: Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc: - Replace dg-options -std=c++17 with dg-add-options strict_std. - * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc: - Likewise. - -2023-09-15 Jonathan Wakely - - * testsuite/23_containers/deque/48101-2_neg.cc: Replace - dg-options with target selector. - * testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise. - * testsuite/23_containers/list/48101-2_neg.cc: Likewise. - * testsuite/23_containers/map/48101-2_neg.cc: Likewise. - * testsuite/23_containers/map/48101_neg.cc: Likewise. - * testsuite/23_containers/multimap/48101-2_neg.cc: Likewise. - * testsuite/23_containers/multimap/48101_neg.cc: Likewise. - * testsuite/23_containers/multiset/48101-2_neg.cc: Likewise. - * testsuite/23_containers/set/48101-2_neg.cc: Likewise. - * testsuite/23_containers/unordered_map/48101-2_neg.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/48101-2_neg.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/48101-2_neg.cc: - Likewise. - * testsuite/23_containers/unordered_set/48101-2_neg.cc: - Likewise. - * testsuite/23_containers/vector/48101-2_neg.cc: Likewise. - -2023-09-15 Jonathan Wakely - - * doc/xml/manual/test.xml: Update documentation on running and - writing tests. - * doc/html/manual/test.html: Regenerate. - * testsuite/Makefile.am: Add v3-use-std-list to site.tmp - * testsuite/Makefile.in: Regenerate. - * testsuite/lib/dg-options.exp (add_options_for_strict_std): New - proc. - * testsuite/lib/libstdc++.exp (search_for): New utility proc. - (v3-dg-runtest): New proc to replace dg-runtest. - * testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest. - -2023-09-15 Jonathan Wakely - - * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: - Fix test to work for C++23 and C++26 too. - -2023-09-15 Patrick Palka - - * include/std/bit: Include . - (byteswap): Use a type-constraint instead of enable_if_t - inside the return type, and use std::integral. - (_If_is_unsigned_integer): Replace with ... - (__unsigned_integer): ... this. - (rotl): Use a type-constraint instead of enable_if_t inside - the return type. - (countl_zero): Likewise. - (countl_one): Likewise. - (countr_zero): Likewise. - (countr_one): Likewise. - (popcount): Likewise. - (has_single_bit): Likewise. - (bit_ceil): Likewise. - (bit_floor): Likewise. - (bit_width): Likewise. - -2023-09-15 Jonathan Wakely - - * include/std/variant (variant): Remove derivation from - _Enable_default_constructor base class. - (variant::variant()): Constrain. - * testsuite/20_util/variant/default_ctor.cc: New test. - -2023-09-15 Jonathan Wakely - - PR libstdc++/111172 - * include/std/variant (get): Remove !is_void static - assertions. - -2023-09-15 Jonathan Wakely - - * include/bits/version.def (to_chars): Define new value for - C++26. - * include/bits/version.h: Regenerate. - * include/std/charconv (to_chars_result::operator bool): New - function. - (from_chars_result::operator bool): New function. - * testsuite/20_util/to_chars/version.cc: Update expected value. - * testsuite/20_util/from_chars/result.cc: New test. - * testsuite/20_util/to_chars/result.cc: New test. - -2023-09-14 Jonathan Wakely - - PR c++/111357 - * testsuite/20_util/integer_sequence/pr111357.cc: New test. - -2023-09-14 Jonathan Wakely - - * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use - dg-additional-files. Remove @require@ and @diff@ comments. - * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise. - * testsuite/lib/dg-options.exp (v3_additional_files): New - global variable. - (dg-additional-files): New proc. - * testsuite/lib/libstdc++.exp (v3_target_compile): Copy - additional files to test directory. - -2023-09-14 Jonathan Wakely - - * include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]: - Use a plain integer for _M_work_count for single-threaded - targets. - * include/experimental/memory_resource (__get_default_resource) - [!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for - single-threaded targets. - * src/c++17/default_resource.h: Adjust preprocessor conditions - to match memory_resource.cc. - * src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS] - (atomic_mem_res): Use unsynchronized type for single-threaded - targets. - -2023-09-14 Christophe Lyon - - * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise. - * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. - * testsuite/29_atomics/atomic_float/value_init.cc: Likewise. - * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise. - * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise. - * testsuite/29_atomics/atomic_ref/generic.cc: Likewise. - * testsuite/29_atomics/atomic_ref/integral.cc: Likewise. - * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise. - -2023-09-14 François Dumont - - * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add - { dg-require-normal-namespace "" }. - -2023-09-13 François Dumont - - * include/std/format (std::__format::_Arg_store): Explicit version - namespace on make_format_args friend declaration. - -2023-09-12 Patrick Palka - - PR libstdc++/111327 - * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Also define - a deleted fallback operator() overload. Constrain both the - enabled and deleted overloads accordingly. - * testsuite/20_util/function_objects/not_fn/111327.cc: New test. - -2023-09-12 Patrick Palka - - PR libstdc++/111327 - * include/std/functional (_Bind_front::operator()): Add deleted - fallback overloads for each const/ref qualifier pair. Give the - enabled overloads dummy constraints to make each one more - specialized than the corresponding deleted overload. - * testsuite/20_util/function_objects/bind_front/111327.cc: New test. - -2023-09-12 Patrick Palka - - * include/std/functional (_Bind_front0): Remove. - (_Bind_front_t): Adjust. - -2023-09-12 Jonathan Wakely - - * python/libstdcxx/v6/printers.py: Reformat. - * python/libstdcxx/v6/xmethods.py: Likewise. - -2023-09-11 Jonathan Wakely - - * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New - function. - (reset_sequence_ptr): New function. - (_Safe_iterator_base::_M_detach) - (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load - with acquire_sequence_ptr_for_lock. - (_Safe_iterator_base::_M_reset): Replace bare atomic_store with - reset_sequence_ptr. - -2023-09-11 Jonathan Wakely - - * src/c++11/Makefile.am: Add new file. - * src/c++11/Makefile.in: Regenerate. - * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ... - * src/c++11/assert_fail.cc: New file. - -2023-09-11 Ken Matsui - - * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Do not undef. - (_GLIBCXX_USE_BUILTIN_TRAIT): Define. - -2023-09-11 Jonathan Wakely - - * include/bits/version.def (__cpp_lib_formatters): Define. - * include/bits/version.h: Regenerate. - * include/std/stacktrace (formatter) - (formatter>): Define. - * include/std/thread (formatter): Define. - * testsuite/19_diagnostics/stacktrace/output.cc: New test. - * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add - std::formatter specializations. - * testsuite/19_diagnostics/stacktrace/version.cc: Check - __cpp_lib_formatters macro. - * testsuite/30_threads/thread/id/hash.cc: Remove gthreads - dependency. - * testsuite/30_threads/thread/id/operators.cc: Likewise. - * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise. - * testsuite/30_threads/thread/id/output.cc: New test. - -2023-09-11 Pekka Seppänen - - * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute. - * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise. - * src/filesystem/path.cc (path::_S_convert_loc): Likewise. - -2023-09-08 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory. - * configure: Regenerate. - * doc/html/manual/*: Regenerate. - * doc/xml/manual/using.xml: Update documentation on linking. - * include/std/stacktrace: Remove declarations of libbacktrace - APIs. - (stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init): - Remove. - (stacktrace_entry::_Info): New class. - (stacktrace_entry::_M_get_info): Use _Info. - (__stacktrace_impl): New class. - (basic_stacktrace): Derive from __stacktrace_impl. - (basic_stacktrace::current): Use __stacktrace_impl::_S_current. - * scripts/testsuite_flags.in: Adjust LDFLAGS to find - libstdc++exp instead of libstdc++_libbacktrace. - * src/Makefile.am (SUBDIRS): Add c++23 directory. - * src/Makefile.in: Regenerate. - * src/c++20/Makefile.am: Fix comment. - * src/c++20/Makefile.in: Regenerate. - * src/c++23/Makefile.am: New file. - * src/c++23/Makefile.in: New file. - * src/c++23/stacktrace.cc: New file with definitions of - stacktrace_entry::_Info and __stacktrace_impl members. - * src/experimental/Makefile.am: Use LIBADD to include other - libraries. - * src/experimental/Makefile.in: Regenerate. - * src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES. - * src/libbacktrace/Makefile.in: Regenerate. - * testsuite/19_diagnostics/stacktrace/current.cc: Adjust - dg-options to use -lstdc++exp. - * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. - * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: - Likewise. - -2023-09-08 Alexey Lapshin - - * src/libbacktrace/Makefile.am: Remove -Werror. - * src/libbacktrace/Makefile.in: Regenerate. - -2023-09-08 Jonathan Wakely - - * testsuite/Makefile.am (check-DEJAGNU): Use @ in recipe. - * testsuite/Makefile.in: Regenerate. - -2023-09-08 Yang Yujie - - * configure.host: Register t-loongarch in tmake_file. - * config/cpu/loongarch/t-loongarch: New file. Manually refresh - MULTISUBDIR with $(shell $(CXX) --print-multi-directory). - -2023-09-07 Bruno Victal - - * acinclude.m4: Update docbook xsl URI. - * configure: Regenerate. - -2023-09-07 Bruno Victal - - * doc/Makefile.am: Fix 'doc-install-info' rule. - Fix typo in commment. - * doc/Makefile.in: Regenerate. - -2023-09-07 Jonathan Wakely - - * testsuite/27_io/filesystem/path/concat/94063.cc: Simplify - dg-do target selector. - -2023-09-07 Jonathan Wakely - - * testsuite/config/default.exp: Remove trailing whitespace. - * testsuite/lib/dg-options.exp: Likewise. - * testsuite/lib/prune.exp: Likewise. - * testsuite/libstdc++-abi/abi.exp: Likewise. - * testsuite/libstdc++-dg/conformance.exp: Likewise. - * testsuite/libstdc++-prettyprinters/prettyprinters.exp: - Likewise. - * testsuite/libstdc++-xmethods/xmethods.exp: Likewise. - * testsuite/lib/libstdc++.exp: Likewise. - (check_v3_target_c_std): Fix filename for temporary source file. - -2023-09-07 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir, - chmod, chdir, and getcwd. - * config.h.in: Regenerate. - * configure: Regenerate. - * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro. - (fs::current_path): Use USE_GETCWD and USE_CHDIR macros. - (fs::permissions): Use USE_CHMOD macro. - * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS] - (chmod, mkdir, getcwd, chdir): Define new macros. - [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use - new macros. - * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro. - (fs::current_path): Use USE_GETCWD and USE_CHDIR macros. - (fs::permissions): Use USE_CHMOD macro. - -2023-09-07 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default - for avr. - * configure: Regenerate. - -2023-09-07 Jonathan Wakely - - * testsuite/23_containers/unordered_map/operations/1.cc: Add - dg-options for C++20 mode. - * testsuite/23_containers/unordered_multimap/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_set/operations/1.cc: - Likewise. - * testsuite/std/time/parse.cc: Move dg-options before dg-do. - -2023-09-07 Jonathan Wakely - - * testsuite/std/ranges/access/cbegin.cc: Adjust for C++23 - compatibility. - * 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/adaptors/take.cc: Likewise. - * testsuite/std/ranges/adaptors/take_while.cc: Likewise. - * testsuite/std/ranges/adaptors/transform.cc: Likewise. - -2023-09-07 Jonathan Wakely - - * include/bits/iterator_concepts.h (__imove::iter_move): Define - poison pill as deleted for consistency. - (__access::begin): Replace with a single declaration. - * include/bits/ranges_base.h (__access::end, __access::rbegin) - (__access::rend, __access::size): Likewise. - * include/bits/version.def (ranges): Update value for C++23. - * include/bits/version.h: Regenerate. - * libsupc++/compare (__compare): Add missing poison pill - overloads. - * testsuite/std/ranges/version_c++23.cc: Adjust expected value - of __cpp_lib_ranges. - * testsuite/std/ranges/access/p2602.cc: New test. - -2023-09-07 Jonathan Wakely - - * include/bits/iterator_concepts.h (ranges::__cust_imove): - Rename to ranges::__imove. - (_IMove): Rename to _IterMove. - (ranges::__cust_iswap): Rename to ranges::__iswap. - (ranges::__cust): Rename to ranges::_Cpo. - (ranges::__cust_access): Rename to ranges::__access. - * include/bits/ranges_base.h (ranges::__cust_access): Rename to - ranges::__access. - (ranges::__cust): Rename to ranges::_Cpo. - * include/std/concepts (ranges::__cust_swap): Rename to - ranges::__swap. - (ranges::__cust): Rename to ranges::_Cpo. - * libsupc++/compare (__cmp_cust): Rename to __compare. - (__cmp_algo): Rename to _Cpo. - -2023-09-07 Jonathan Wakely - - * include/bits/version.def (ranges): Update value. - * include/bits/version.h: Regenerate. - * include/std/ranges (__detail::__boxable): Use - move_constructible instead of copy_constructible for C++23. - (__detail::__box): Adjust constraints for partial - specialization. - (single_view, transform_view): Use __box_constructible instead - of copy_constructible in constraints. - (zip_transform_view, adjacent_transform_view, repeat_view): Use - move_constructible instead of copy_constructible in constraints. - * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Check - construction from move-only argument. - * testsuite/std/ranges/adaptors/transform.cc: Likewise. - * testsuite/std/ranges/repeat/1.cc: Likewise. - * testsuite/std/ranges/single_view.cc: Likewise. - * testsuite/std/ranges/zip_transform/1.cc: Likewise. - * testsuite/std/ranges/version_c++23.cc: Adjust expected value - of __cpp_lib_ranges. - -2023-09-07 Jonathan Wakely - - * testsuite/util/testsuite_iterators.h (is_customization_point_object): - Remove parameter name. - -2023-09-06 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default - for freestanding. - * configure: Regenerate. - -2023-09-04 Christophe Lyon - - Revert - 2023-09-04 Christophe Lyon - - PR libstdc++/111238 - * configure: Regenerate. - * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross, - non-Canadian builds. - -2023-09-04 Christophe Lyon - - PR libstdc++/111238 - * configure: Regenerate. - * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross, - non-Canadian builds. - -2023-09-04 Jonathan Wakely - - * testsuite/26_numerics/complex/literals/types.cc: Remove - dg-options and add target selector instead. - -2023-09-04 Jonathan Wakely - - * testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options - and qualify ambiguous calls to get. - * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust - expected result for std::pow(float, int) as per DR 550. - -2023-09-04 Jonathan Wakely - - * testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03 - and add dg-warning for deprecation warnings. - * testsuite/20_util/auto_ptr/2.cc: Likewise. - * testsuite/20_util/auto_ptr/3.cc: Likewise. - * testsuite/20_util/auto_ptr/3946.cc: Likewise. - * testsuite/20_util/auto_ptr/4.cc: Likewise. - * testsuite/20_util/auto_ptr/5.cc: Likewise. - * testsuite/20_util/auto_ptr/6.cc: Likewise. - * testsuite/20_util/auto_ptr/7.cc: Likewise. - * testsuite/20_util/auto_ptr/assign_neg.cc: Likewise. - * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: - Likewise. - -2023-09-04 Jonathan Wakely - - PR libstdc++/26142 - * testsuite/23_containers/vector/26412-1.cc: Moved to... - * testsuite/23_containers/vector/26142-1.cc: ...here. - * testsuite/23_containers/vector/26412-2.cc: Moved to... - * testsuite/23_containers/vector/26142-2.cc: ...here. - -2023-09-04 Jonathan Wakely - - * testsuite/20_util/bitset/107037.cc: Add c++98_only selector. - * testsuite/26_numerics/complex/56111.cc: Likewise. - -2023-09-04 Jonathan Wakely - - * testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc: - Add dg-options to restrict the test to C++98 mode. - * testsuite/23_containers/list/requirements/explicit_instantiation/2.cc: - Likewise. - -2023-09-04 Jonathan Wakely - - * testsuite/20_util/expected/bad.cc: Add missing target - selector. - -2023-09-01 Jonathan Wakely - - * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust - expected errors. - * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: - Likewise. - -2023-09-01 Jonathan Wakely - - * testsuite/27_io/filesystem/iterators/91067.cc: Add - -Wno-self-move to options. - * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise. - -2023-09-01 Vladimir Palevich - - PR libstdc++/110879 - * include/bits/vector.tcc (_M_realloc_insert): End guard - lifetime just before assignment to class members. - (_M_default_append): Likewise. - -2023-09-01 Jonathan Wakely - - * src/c++17/fs_ops.cc (fs::absolute) [FILESYSTEM_IS_WINDOWS]: - Use __resize_and_overwrite to fill buffer. - (fs::read_symlink) [HAVE_READLINK]: Likewise. - * src/filesystem/ops-common.h (get_temp_directory_from_env) - [FILESYSTEM_IS_WINDOWS]: Likewise. - -2023-09-01 Jonathan Wakely - - PR libstdc++/111077 - * include/bits/atomic_base.h (__atomic_impl::__compare_exchange): - Add _AtomicRef non-type template parameter and use a loop if it - is true. - (__atomic_impl::compare_exchange_weak): Add _AtomicRef NTTP. - (__atomic_impl::compare_exchange_strong): Likewise. - (atomic_ref::compare_exchange_weak): Use true for NTTP. - (atomic_ref::compare_exchange_strong): Use true for NTTP. - * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: - Fix test to not rely on atomic_ref::load() to return an object - with padding preserved. - -2023-09-01 Jonathan Wakely - - * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for - filesystem support. - -2023-09-01 Jonathan Wakely - - * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros - for POSIX readlink before using filesystem::read_symlink. - -2023-09-01 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Default to yes. - * configure: Regenerate. - -2023-09-01 Jonathan Wakely - - * include/bits/chrono_io.h (_Parser::operator()): Set failbit - early if invalid values are read when _M_need & _TimeOfDay is - non-zero. - * testsuite/std/time/parse.cc: Check that "25:59" cannot be - parsed for "%H:%M". - -2023-09-01 Jonathan Wakely - - PR libstdc++/111162 - * include/bits/chrono_io.h (_Parser::Operator()): Check %C - values are in range of year::min() to year::max(). - * testsuite/std/time/parse.cc: Check out of range centuries. - -2023-09-01 Jonathan Wakely - - * include/std/format (__format::_Sink::_M_reset): Change second - argument from iterator to offset. - -2023-08-24 Paul Dreik - - PR libstdc++/111102 - * testsuite/std/format/string.cc: Check wide character format - strings with out-of-range widths. - -2023-08-24 Paul Dreik - - PR libstdc++/111102 - * include/std/format (__format::__parse_integer): Check for - non-null pointer. - -2023-08-24 Jonathan Wakely - - * testsuite/std/format/functions/format_to.cc: Avoid warning for - unused variables. - -2023-08-24 Jonathan Wakely - - * include/std/atomic: Add comment to #ifdef and fix indentation. - * include/std/ostream: Check __glibcxx_syncbuf instead of - __cplusplus and _GLIBCXX_HOSTED. - * include/std/thread: Add comment to #ifdef. - -2023-08-24 Jonathan Wakely - - * include/bits/version.def (__cpp_lib_ratio): Define. - * include/bits/version.h: Regenerate. - * include/std/ratio (quecto, ronto, yocto, zepto) - (zetta, yotta, ronna, quetta): Define. - * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Adjust - dg-error line numbers. - -2023-08-24 Jonathan Wakely - - * python/libstdcxx/v6/printers.py (StdLocalePrinter): New - printer class. - * testsuite/libstdc++-prettyprinters/locale.cc: New test. - -2023-08-24 Jonathan Wakely - - PR libstdc++/110944 - * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do - not show template arguments. - (StdVariantPrinter): Likewise. - * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected - output. - * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. - * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. - -2023-08-23 François Dumont - - * testsuite/util/replacement_memory_operators.h - (counter::scope): New, capture and reset counter count at construction and - restore it at destruction. - (counter::check_new): Add scope instantiation. - * testsuite/23_containers/unordered_map/96088.cc (main): - Add counter::scope instantiation. - * testsuite/23_containers/unordered_multimap/96088.cc (main): Likewise. - * testsuite/23_containers/unordered_multiset/96088.cc (main): Likewise. - * testsuite/23_containers/unordered_set/96088.cc (main): Likewise. - * testsuite/ext/malloc_allocator/deallocate_local.cc (main): Likewise. - * testsuite/ext/new_allocator/deallocate_local.cc (main): Likewise. - * testsuite/ext/throw_allocator/deallocate_local.cc (main): Likewise. - * testsuite/ext/pool_allocator/allocate_chunk.cc (started): New global. - (operator new(size_t)): Check started. - (main): Set/Unset started. - * testsuite/17_intro/no_library_allocation.cc: New test case. - -2023-08-21 Jonathan Wakely - - * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: - Call std::set_terminate before throwing the nested exception. - -2023-08-18 Jonathan Wakely - - PR target/111060 - * include/std/format (formatter): Only define specializations - for 16-bit floating-point types for C++23. - * include/std/limits (numeric_limits): Likewise. - -2023-08-18 Jonathan Wakely - - * include/bits/chrono_io.h (operator<<): Make uses of wide - strings with streams and std::format type-dependent on _CharT. - * include/std/format [!_GLIBCXX_USE_WCHAR_T] Do not use - __to_wstring_numeric. - -2023-08-18 Jonathan Wakely - - * include/bits/chrono_io.h (operator<<): Use __format_context. - * include/std/format (__format::__format_context): New alias - template. - [!_GLIBCXX_USE_WCHAR_T] (wformat_args, make_wformat_arg): - Disable. - -2023-08-17 Jonathan Wakely - - Revert: - 2023-08-17 Jonathan Wakely - - * config/locale/generic/c_locale.cc (__convert_to_v): Reuse - double overload for long double if possible. - -2023-08-17 Jonathan Wakely - - * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to - std::string_view. - -2023-08-17 Jonathan Wakely - - * config/locale/generic/c_locale.cc (__convert_to_v): Reuse - double overload for long double if possible. - -2023-08-17 Jonathan Wakely - - * src/c++98/localename.cc (is_C_locale): New function. - (locale::locale(const char*)): Use is_C_locale. - -2023-08-17 Jonathan Wakely - - PR libstdc++/110945 - * include/bits/basic_string.h (basic_string::assign(Iter, Iter)): - Dispatch to _M_replace or move assignment from a temporary, - based on the iterator type. - -2023-08-17 Jonathan Wakely - - * include/std/format (formatter): Add partial specializations - for extended floating-point types. - * testsuite/std/format/functions/format.cc: Move test_float128() - to ... - * testsuite/std/format/formatter/ext_float.cc: New test. - -2023-08-17 Jonathan Wakely - - * include/bits/c++config (__gnu_cxx::__bfloat16_t): Define - whenever __BFLT16_DIG__ is defined, not only for C++23. - * include/std/limits (numeric_limits): Likewise. - (numeric_limits<_Float16>, numeric_limits<_Float32>) - (numeric_limits<_Float64>): Likewise for other extended - floating-point types. - -2023-08-17 Jonathan Wakely - - * include/experimental/internet (address_v4::to_string): Remove - unused parameter name. - -2023-08-17 Jonathan Wakely - - * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval. - * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune - excess errors caused by invalid consteval calls. - -2023-08-17 Jonathan Wakely - - * include/bits/chrono_io.h (__units_suffix_misc): Remove. - (__units_suffix): Return a known suffix as string view, do not - write unknown suffixes to a buffer. - (__fmt_units_suffix): New function that formats the suffix using - std::format_to. - (operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix. - (__chrono_formatter::_M_Z): Correct lifetime of wstring. - -2023-08-17 Jonathan Wakely - - * include/std/format [_GLIBCXX_USE_WCHAR_T]: Guard all wide - string formatters with this macro. - (__formatter_int::_M_format_int, __formatter_fp::format) - (formatter::format): Use __to_wstring_numeric - instead of std::ctype::widen. - (__formatter_fp::_M_localize): Use hardcoded wchar_t values - instead of std::ctype::widen. - * testsuite/std/format/functions/format.cc: Add more checks for - wstring formatting of arithmetic types. - -2023-08-17 Jonathan Wakely - - * include/bits/basic_string.h (to_string(floating-point-type)): - Implement using std::to_chars for C++26. - * include/bits/version.def (__cpp_lib_to_string): Define. - * include/bits/version.h: Regenerate. - * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: - Adjust expected result in C++26 mode. - * testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc: - New test. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc: - New test. - * testsuite/21_strings/basic_string/numeric_conversions/version.cc: - New test. - -2023-08-17 Jonathan Wakely - - * include/bits/basic_string.h (to_string(integral-type)): Use - resize_and_overwrite when available. - (__to_wstring_numeric): New helper functions. - (to_wstring): Use std::to_string then __to_wstring_numeric. - * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_int.cc: - Remove check for no excess capacity. - -2023-08-17 Jonathan Wakely - - * include/bits/basic_string.h (__resize_and_overwrite): New - function. - * include/bits/basic_string.tcc (__resize_and_overwrite): New - function. - (resize_and_overwrite): Simplify by using reserve instead of - growing the string manually. Adjust for C++11 compatibility. - * include/bits/cow_string.h (resize_and_overwrite): New - function. - (__resize_and_overwrite): New function. - * include/bits/version.def (__cpp_lib_string_resize_and_overwrite): - Do not depend on cxx11abi. - * include/bits/version.h: Regenerate. - * include/std/format (__formatter_fp::_S_resize_and_overwrite): - Remove. - (__formatter_fp::format, __formatter_fp::_M_localize): Use - __resize_and_overwrite instead of _S_resize_and_overwrite. - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: - Adjust for C++11 compatibility when included by ... - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite_ext.cc: - New test. - -2023-08-17 Patrick Palka - - * include/bits/regex.h (regex_iterator::iterator_concept): - Define for C++20 as per P2770R0. - (regex_token_iterator::iterator_concept): Likewise. - * include/std/ranges (__detail::__as_lvalue): Define. - (join_view::_Iterator): Befriend join_view. - (join_view::_Iterator::_M_satisfy): Use _M_get_outer - instead of _M_outer. - (join_view::_Iterator::_M_get_outer): Define. - (join_view::_Iterator::_Iterator): Split constructor taking - _Parent argument into two as per P2770R0. Remove constraint on - default constructor. - (join_view::_Iterator::_M_outer): Make this data member present - only when the underlying range is forward. - (join_view::_Iterator::operator++): Use _M_get_outer instead of - _M_outer. - (join_view::_Iterator::operator--): Use __as_lvalue helper. - (join_view::_Iterator::operator==): Adjust constraints as per - P2770R0. - (join_view::_Sentinel::__equal): Use _M_get_outer instead of - _M_outer. - (join_view::_M_outer): New data member when the underlying range - is non-forward. - (join_view::begin): Adjust definition as per P2770R0. - (join_view::end): Likewise. - (join_with_view::_M_outer_it): New data member when the - underlying range is non-forward. - (join_with_view::begin): Adjust definition as per P2770R0. - (join_with_view::end): Likewise. - (join_with_view::_Iterator::_M_outer_it): Make this data member - present only when the underlying range is forward. - (join_with_view::_Iterator::_M_get_outer): Define. - (join_with_view::_Iterator::_Iterator): Split constructor - taking _Parent argument into two as per P2770R0. Remove - constraint on default constructor. - (join_with_view::_Iterator::_M_update_inner): Adjust definition - as per P2770R0. - (join_with_view::_Iterator::_M_get_inner): Likewise. - (join_with_view::_Iterator::_M_satisfy): Adjust calls to - _M_get_inner. Use _M_get_outer instead of _M_outer_it. - (join_with_view::_Iterator::operator==): Adjust constraints - as per P2770R0. - (join_with_view::_Sentinel::operator==): Use _M_get_outer - instead of _M_outer_it. - * testsuite/std/ranges/adaptors/p2770r0.cc: New test. - -2023-08-17 Patrick Palka - - PR libstdc++/108827 - * include/std/ranges (__adaptor::_RangeAdaptorClosure): - Convert into a CRTP class template. Move hidden operator| - friends into namespace scope and adjust their constraints. - (__closure::__is_range_adaptor_closure_fn): Define. - (__closure::__is_range_adaptor_closure): Define. - (__adaptor::_Partial): Adjust use of _RangeAdaptorClosure. - (__adaptor::_Pipe): Likewise. - (views::_All): Likewise. - (views::_Join): Likewise. - (views::_Common): Likewise. - (views::_Reverse): Likewise. - (views::_Elements): Likewise. - (views::_Adjacent): Likewise. - (views::_AsRvalue): Likewise. - (views::_Enumerate): Likewise. - (views::_AsConst): Likewise. - * testsuite/std/ranges/adaptors/all.cc: Reinstate assertion - expecting that adding empty range adaptor closure objects to a - pipeline doesn't increase the size of a pipeline. - -2023-08-17 Jonathan Wakely - - * include/std/format (__format::_Pres_type): Add _Pres_F. - (__formatter_fp::parse): Use _Pres_F for 'F'. - (__formatter_fp::format): Set __upper for _Pres_F. - * testsuite/std/format/functions/format.cc: Check formatting of - infinity and NaN for each presentation type. - -2023-08-17 Jonathan Wakely - - * include/Makefile.in: Regenerate. - -2023-08-17 Jonathan Wakely - - * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch. - * testsuite/std/format/functions/format.cc: Likewise. - * testsuite/std/format/functions/format_c++23.cc: Likewise. - -2023-08-17 Jonathan Wakely - - * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove - any "-include bits/stdc++.h" from options and add the macro to - the existing options instead of replacing them. - -2023-08-16 Jonathan Wakely - - * include/bits/basic_string.tcc (resize_and_overwrite): Invoke - the callable with the same size as resize_and_overwrite was - called with. - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: - Check with small values for the new size. - * testsuite/std/format/functions/format.cc: Check wide - formatting of double values that produce small strings. - * testsuite/std/format/functions/format_c++23.cc: New test. - -2023-08-16 Jonathan Wakely - - * include/bits/version.def (stds): Update value for C++23. - * include/bits/version.h: Regenerate. - -2023-08-16 Jonathan Wakely - - * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc: - Fix name of upstream file this was derived from. - * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: Likewise. - -2023-08-16 Arsen Arsenović - - * libsupc++/typeinfo: Switch to bits/version.h for - __cpp_lib_constexpr_typeinfo. - * libsupc++/new: Switch to bits/version.h for - __cpp_lib_{launder,hardware_interference_size,destroying_delete}. - (launder): Guard behind __cpp_lib_launder. - (hardware_destructive_interference_size) - (hardware_constructive_interference_size): Guard behind - __cpp_lib_hardware_interference_size. - * libsupc++/exception: Switch to bits/version.h for - __cpp_lib_uncaught_exceptions. - (uncaught_exceptions): Guard behind __cpp_lib_uncaught_exceptions. - * libsupc++/compare: Switch to bits/version.h for - __cpp_lib_three_way_comparison. - (three_way_comparable, three_way_comparable_with) - (compare_three_way, weak_order, strong_order, partial_order): - Guard behind __cpp_lib_three_way_comparison >= 201907L. - * include/std/chrono: Drop __cpp_lib_chrono definition. - * include/std/vector: Switch to bits/version.h for - __cpp_lib_erase_if. - (erase, erase_if): Guard behind __cpp_lib_erase_if. - * include/std/variant: Switch to bits/version.h for - __cpp_lib_variant. Guard whole header behind that FTM. - * include/std/utility: Switch to bits/version.h for - __cpp_lib_{exchange_function,constexpr_algorithms,as_const}, - __cpp_lib_{integer_comparison_functions,to_underlying}, and - __cpp_lib_unreachable. - (exchange): Guard behind __cpp_lib_exchange_function. - (cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal) - (cmp_greater_equal, in_range): Guard behind - __cpp_lib_integer_comparison_functions. - (to_underlying): Guard behind __cpp_lib_to_underlying. - (unreachable): Guard behind __cpp_lib_unreachable. - * include/std/type_traits: Switch to bits/version.h for - __cpp_lib_is_{null_pointer,final,nothrow_convertible,aggregate}, - __cpp_lib_is_{constant_evaluated,invocable,layout_compatible}, - __cpp_lib_is_{pointer_interconvertible,scoped_enum,swappable}, - __cpp_lib_{logical_traits,reference_from_temporary,remove_cvref}, - __cpp_lib_{result_of_sfinae,transformation_trait_aliases}, - __cpp_lib_{type_identity,type_trait_variable_templates}, - __cpp_lib_{unwrap_ref,void_t,integral_constant_callable}, - __cpp_lib_{bool_constant,bounded_array_traits}, and - __cpp_lib_has_unique_object_representations. - (integral_constant::operator()): Guard behind - __cpp_lib_integral_constant_callable. - (bool_constant): Guard behind __cpp_lib_bool_constant. - (conjunction, disjunction, negation, conjunction_v, disjunction_v) - (negation_v): Guard behind __cpp_lib_logical_traits. - (is_null_pointer): Guard behind __cpp_lib_is_null_pointer. - (is_final): Guard behind __cpp_lib_is_final. - (is_nothrow_convertible, is_nothrow_convertible_v): Guard behind - __cpp_lib_is_nothrow_convertible. - (remove_const_t, remove_volatile_t, remove_cv_t) - (add_const_t, add_volatile_t, add_cv_t): Guard behind - __cpp_lib_transformation_trait_aliases. - (void_t): Guard behind __cpp_lib_void_t. - (is_swappable_with_v, is_nothrow_swappable_with_v) - (is_swappable_with, is_nothrow_swappable_with): Guard behind - __cpp_lib_is_swappable. - (is_nothrow_invocable_r, is_invocable_r, invoke_result) - (is_invocable, invoke_result_t): Guard behind - __cpp_lib_is_invocable. - (alignment_of_v, extent_v, has_virtual_destructor_v) - (is_abstract_v, is_arithmetic_v, is_array_v) - (is_assignable_v, is_base_of_v, is_class_v, is_compound_v) - (is_constructible_v, is_const_v, is_convertible_v) - (is_copy_assignable_v, is_copy_constructible_v) - (is_default_constructible_v, is_destructible_v) - (is_empty_v, is_enum_v, is_final_v, is_floating_point_v) - (is_function_v, is_fundamental_v, is_integral_v) - (is_invocable_r_v, is_invocable_v, is_literal_type_v) - (is_lvalue_reference_v, is_member_function_pointer_v) - (is_member_object_pointer_v, is_member_pointer_v) - (is_move_assignable_v, is_move_constructible_v) - (is_nothrow_assignable_v, is_nothrow_constructible_v) - (is_nothrow_copy_assignable_v, is_nothrow_copy_constructible_v) - (is_nothrow_default_constructible_v, is_nothrow_destructible_v) - (is_nothrow_invocable_r_v, is_nothrow_invocable_v) - (is_nothrow_move_assignable_v, is_nothrow_move_constructible_v) - (is_null_pointer_v, is_object_v, is_pod_v, is_pointer_v) - (is_polymorphic_v, is_reference_v, is_rvalue_reference_v) - (is_same_v, is_scalar_v, is_signed_v, is_standard_layout_v) - (is_trivially_assignable_v, is_trivially_constructible_v) - (is_trivially_copyable_v, is_trivially_copy_assignable_v) - (is_trivially_copy_constructible_v) - (is_trivially_default_constructible_v) - (is_trivially_destructible_v, is_trivially_move_assignable_v) - (is_trivially_move_constructible_v, is_trivial_v, is_union_v) - (is_unsigned_v, is_void_v, is_volatile_v, rank_v, as variadic): - Guard behind __cpp_lib_type_trait_variable_templates. - (has_unique_object_representations) - (has_unique_object_representations_v): Guard behind - __cpp_lib_has_unique_object_representation. - (is_aggregate): Guard behind __cpp_lib_is_aggregate. - (remove_cvref, remove_cvref_t): Guard behind - __cpp_lib_remove_cvref. - (type_identity, type_identity_t): Guard behind - __cpp_lib_type_identity. - (unwrap_reference, unwrap_reference_t, unwrap_ref_decay) - (unwrap_ref_decay_t): Guard behind __cpp_lib_unwrap_ref. - (is_bounded_array_v, is_unbounded_array_v, is_bounded_array) - (is_unbounded_array): Guard behind __cpp_lib_bounded_array_traits. - (is_scoped_enum, is_scoped_enum_v): Guard behind - __cpp_lib_is_scoped_enum. - (reference_constructs_from_temporary) - (reference_constructs_from_temporary_v): Guard behind - __cpp_lib_reference_from_temporary. - * include/std/tuple: Switch to bits/version.h for - __cpp_lib_{constexpr_tuple,tuple_by_type,apply_make_from_tuple}. - (get): Guard behind __cpp_lib_tuple_by_type. - (apply): Guard behind __cpp_lib_apply. - (make_from_tuple): Guard behind __cpp_lib_make_from_tuple. - * include/std/syncstream: Switch to bits/version.h for - __cpp_lib_syncbuf. Guard header behind that FTM. - * include/std/string_view: Switch to bits/version.h for - __cpp_lib_{string_{view,contains},constexpr_string_view} and - __cpp_lib_starts_ends_with. - (basic_string_view::starts_with, basic_string_view::ends_with): - Guard behind __cpp_lib_starts_ends_with. - [C++23 && _GLIBCXX_HOSTED && !defined(__cpp_lib_string_contains)]: - Assert as impossible ithout a bug in C++23. - * include/std/string: Switch to bits/version.h for - __cpp_lib_erase_if. - (erase, erase_if): Guard behind __cpp_lib_erase_if. - * include/std/thread: Switch to bits/version.h for - __cpp_lib_jthread. - * include/std/stop_token: Switch to bits/version.h for - __cpp_lib_jthread. - * include/std/spanstream: Switch to bits/version.h for - __cpp_lib_spanstream. Guard header behind that FTM. - * include/std/span: Switch to bits/version.h for __cpp_lib_span. - Guard header behind that FTM. - * include/std/source_location: Switch to bits/version.h for - __cpp_lib_source_location. Guard header with that FTM. - * include/std/shared_mutex: Switch to bits/version.h for - __cpp_lib_shared{,_timed}_mutex. - (shared_mutex): Guard behind __cpp_lib_shared_mutex. - * include/std/semaphore: Switch to bits/version.h for - __cpp_lib_semaphore. Guard header behind that FTM. - * include/std/ranges: Switch to bits/version.h for - __cpp_lib_ranges_{zip,chunk{,_by},slide,join_with}, - __cpp_lib_ranges_{repeat_stride,cartesian_product,as_rvalue}, - and __cpp_lib_ranges_{as_const,enumerate,iota}. - (ranges::zip et al, ranges::chunk et al, ranges::slide et al) - (ranges::chunk_by et al, ranges::join_with et al) - (ranges::stride et al, ranges::cartesian_product et al) - (ranges::as_rvalue et al, ranges::as_const et al) - (ranges::enumerate et al): Guard behind appropriate FTM. - * include/std/optional: Switch to bits/version.h for - __cpp_lib_optional. Guard header behind that FTM. - * include/std/numeric: Switch to bits/version.h for - __cpp_lib_{gcd{,_lcm},lcm,constexpr_numeric,interpolate} - and __cpp_lib_parallel_algorithm. - (gcd, lcm): Guard behind __cpp_lib_gcd_lcm. - (midpoint): Guard behind __cpp_lib_interpolate. - * include/std/numbers: Switch to bits/version.h for - __cpp_lib_math_constants. Guard header behind that FTM. - * include/std/mutex: Switch to bits/version.h for - __cpp_lib_scoped_lock. - (scoped_Lock): Guard behind __cpp_lib_scoped_lock. - * include/std/memory_resource: Switch to bits/version.h for - __cpp_lib_{polymorphic_allocator,memory_resource}. - (synchronized_pool_resource): Guard behind - __cpp_lib_memory_resource >= 201603L. - (polymorphic_allocator): Guard behind - __cpp_lib_polymorphic_allocator. - * include/std/memory: Switch to bits/version.h for - __cpp_lib_{parallel_algorithm,atomic_value_initialization}. - * include/std/list: Switch to bits/version.h for - __cpp_lib_erase_if. - (erase, erase_if): Guard behind __cpp_lib_erase_if. - * include/std/latch: Switch to bits/version.h for __cpp_lib_latch. - Guard header behind that FTM. - * include/std/iterator: Switch to bits/version.h for - __cpp_lib_null_iterators. - * include/std/iomanip: Switch to bits/version.h for - __cpp_lib_quoted_string_io. - (quoted): Guard behind __cpp_lib_quoted_string_io. - * include/std/functional: Switch to bits/version.h for - __cpp_lib_{invoke{,_r},constexpr_functional,bind_front} and - __cpp_lib_{not_fn,booyer_moore_searcher}. - (invoke): Guard behind __cpp_lib_invoke. - (invoke_r): Guard behind __cpp_lib_invoke_r. - (bind_front): Guard behind __cpp_lib_bind_front. - (not_fn): Guard behind __cpp_lib_not_fn. - (boyer_moore_searcher, boyer_moore_horspool_searcher): Guard - definition behind __cpp_lib_boyer_moore_searcher. - * include/std/forward_list: Switch to bits/version.h for - __cpp_lib_erase_if. - (erase, erase_if): Guard behind __cpp_lib_erase_if. - * include/std/format: Switch to bits/version.h for - __cpp_lib_format. Guard header behind that FTM. - * include/std/filesystem: Switch to bits/version.h for - __cpp_lib_filesystem. Guard header behind that FTM. - * include/std/expected: Switch to bits/version.h for - __cpp_lib_expected. Guard header behind it. - * include/std/execution: Switch to bits/version.h for - __cpp_lib_{execution,parallel_algorithm}. Guard header behind - either. - * include/std/deque: Switch to bits/version.h for - __cpp_lib_erase_if. - (erase, erase_if): Guard behind __cpp_lib_erase_if. - * include/std/coroutine: Switch to bits/version.h for - __cpp_lib_coroutine. Guard header behind that FTM. - * include/std/concepts: Switch to bits/version.h for - __cpp_lib_concepts. Guard header behind that FTM. - * include/std/complex: Switch to bits/version.h for - __cpp_lib_{complex_udls,constexpr_complex}. - (operator""if, operator""i, operator""il): Guard behind - __cpp_lib_complex_udls. - * include/std/charconv: Swtich to bits/version.h for - __cpp_lib_{to_chars,constexpr_charconv}. - * include/std/bitset: Switch to bits/version.h for - __cpp_lib_constexpr_bitset. - * include/std/bit: Switch to bits/version.h for - __cpp_lib_{bit_cast,byteswap,bitops,int_pow2,endian}. - (bit_cast): Guard behind __cpp_lib_bit_cast. - (byteswap): Guard behind __cpp_lib_byteswap. - (rotl, rotr, countl_zero, countl_one, countr_zero, countr_one) - (popcount): Guard behind __cpp_lib_bitops. - (has_single_bit, bit_ceil, bit_floor, bit_width): Guard behind - __cpp_lib_int_pow2. - (endian): Guard behind __cpp_lib_endian. - * include/std/barrier: Switch to bits/version.h for - __cpp_lib_barrier. Guard header behind that FTM. - * include/std/atomic: Switch to bits/version.h for - __cpp_lib_atomic_{is_always_lock_free,float,ref} - and __cpp_lib_lock_free_type_aliases. - (*::is_always_lock_free): Guard behind - __cpp_lib_atomic_is_always_lock_free. - (atomic): Guard behind __cpp_lib_atomic_float. - (atomic_ref): Guard behind __cpp_lib_atomic_ref. - (atomic_signed_lock_free, atomic_unsigned_lock_free): Guard behind - __cpp_lib_atomic_lock_free_type_aliases. - * include/std/array: Switch to bits/version.h for - __cpp_lib_to_array. - (to_array): Guard behind __cpp_lib_to_array. - * include/std/any: Switch to bits/version.h for __cpp_lib_any. - Guard header behind that FTM. - * include/std/algorithm: Switch to bits/version.h for - __cpp_lib_parallel_algorithm. - * include/c_global/cstddef: Switch to bits/version.h for - __cpp_lib_byte. - (byte): Guard behind __cpp_lib_byte. - * include/c_global/cmath: Switch to bits/version.h for - __cpp_lib_{hypot,interpolate}. - (hypot3): Guard behind __cpp_lib_hypot. - (lerp): Guard behind __cpp_lib_interpolate. - * include/c_compatibility/stdatomic.h: Switch to - bits/stl_version.h for __cpp_lib_atomic. Guard header behind that - FTM. - * include/bits/utility.h: Switch to bits/version.h for - __cpp_lib_{tuple_element_t,integer_sequence,ranges_zip}. - (tuple_element_t): Guard behind __cpp_lib_tuple_element_t. - (integer_sequence et al): Guard behind __cpp_lib_integer_sequence. - * include/bits/uses_allocator_args.h: Switch to bits/version.h for - __cpp_lib_make_obj_using_allocator. Guard header behind that FTM. - * include/bits/unordered_map.h: Switch to bits/version.h for - __cpp_lib_unordered_map_try_emplace. - (try_emplace): Guard behind __cpp_lib_unordered_map_try_emplace. - * include/bits/unique_ptr.h: Switch to bits/version.h for - __cpp_lib_{constexpr_memory,make_unique}. - (make_unique): Guard behind __cpp_lib_make_unique. - * include/bits/stl_vector.h: Switch to bits/version.h for - __cpp_lib_constexpr_vector. - * include/bits/stl_uninitialized.h: Switch to bits/version.h for - __cpp_lib_raw_memory_algorithms. - (uninitialized_default_construct) - (uninitialized_default_construct_n, uninitialized_move) - (uninitialized_move_n, uninitialized_value_construct) - (uninitialized_value_construct_n): Guard behind - __cpp_lib_raw_memory_algorithms. - * include/bits/stl_tree.h: Switch to bits/version.h for - __cpp_lib_generic_associative_lookup. - * include/bits/stl_stack.h: Switch to bits/version.h for - __cpp_lib_adaptor_iterator_pair_constructor. - (stack): Guard iterator-pair constructor behind - __cpp_lib_adaptor_iterator_pair_constructor. - * include/bits/stl_queue.h: Switch to bits/version.h for - __cpp_lib_adaptor_iterator_pair_constructor. - (queue): Guard iterator-pair constructor behind - __cpp_lib_adaptor_iterator_pair_constructor. - * include/bits/stl_pair.h: Switch to bits/version.h for - __cpp_lib_{concepts,tuples_by_type}. - (get): Guard type-getting overloads behind - __cpp_lib_tuples_by_type. - * include/bits/stl_map.h: Switch to bits/version.h for - __cpp_lib_map_try_emplace. - (map<>::try_emplace): Guard behind __cpp_lib_map_try_emplace. - * include/bits/stl_list.h: Switch to bits/version.h for - __cpp_lib_list_remove_return_type. - (__remove_return_type, _GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG) - [C++20]: guard behind __cpp_lib_list_remove_return_type instead. - * include/bits/stl_iterator.h: Switch to bits/version.h for - __cpp_lib_{constexpr_iterator,array_constexpr} and - __cpp_lib_{make_reverse_iterator,move_iterator_concept}. - (make_reverse_iterator): Guard behind - __cpp_lib_make_reverse_iterator. - (iterator_concept et al): Guard __cpp_lib_move_iterator_concept - changes behind that FTM. - * include/bits/stl_function.h: Switch to bits/version.h for - __cpp_lib_transparent_operators. - (equal_to, not_equal_to, greater, less, greater_equal) - (less_equal, bit_and, bit_or, bit_xor, bit_not, logical_and) - (logical_or, logical_not, plus, minus, multiplies, divides) - (modulus, negate): Guard '= void' fwdecls behind - __cpp_lib_transparent_operators. - (plus, minus, multiplies, divides) - (modulus, negate, logical_and, logical_or) - (logical_not, bit_and, bit_or, bit_xor) - (equal_to, not_equal_to, greater, less) - (greater_equal, less_equal, bit_not) - (__has_is_transparent): Guard behind - __cpp_lib_transparent_operators. - * include/bits/stl_algobase.h: Switch to bits/version.h for - __cpp_lib_robust_nonmodifying_seq_ops. - (robust equal, mismatch): Guard behind - __cpp_lib_nonmember_container_access. - * include/bits/stl_algo.h: Swtich to bits/version.h for - __cpp_lib_{clamp,sample}. - (clamp): Guard behind __cpp_lib_clamp. - (sample): Guard behind __cpp_lib_sample. - * include/bits/specfun.h: Switch to bits/version.h for - __cpp_lib_math_special_functions and __STDCPP_MATH_SPEC_FUNCS__. - * include/bits/shared_ptr_base.h: Switch to bits/version.h for - __cpp_lib_{smart_ptr_for_overwrite,shared_ptr_arrays}. - (_Sp_overwrite_tag): Guard behind - __cpp_lib_smart_ptr_for_overwrite. - * include/bits/shared_ptr_atomic.h: Switch to bits/version.h for - __cpp_lib_atomic_shared_ptr. - * include/bits/shared_ptr.h: Switch to bits/version.h for - __cpp_lib_{enable_shared_from_this,shared_ptr_weak_type}. - (shared_ptr::weak_type): Guard behind - __cpp_lib_shared_ptr_weak_type. - (enable_shared_from_this::weak_from_this): Guard behind - __cpp_lib_enable_shared_from_this. - * include/bits/ranges_cmp.h: Switch to bits/version.h for - __cpp_lib_ranges. - * include/bits/ranges_algo.h: Switch to bits/version.h for - __cpp_lib_{shift,ranges_{contains,find_last,fold,iota}}. - * include/bits/range_access.h: Switch to bits/version.h for - __cpp_lib_nonmember_container_access - (size, empty, data): Guard behind - __cpp_lib_nonmember_container_access. - (ssize): Guard behind __cpp_lib_ssize. - * include/bits/ptr_traits.h: Switch to bits/version.h. for - __cpp_lib_{constexpr_memory,to_address}. - (to_address): Guard behind __cpp_lib_to_address. - * include/bits/node_handle.h: Switch to bits/version.h for - __cpp_lib_node_extract. Guard header behind that FTM. - * include/bits/move_only_function.h: Switch to bits/version.h for - __cpp_lib_move_only_function. Guard header behind that FTM. - * include/bits/move.h: Switch to bits/version.h for - __cpp_lib_addressof_constexpr. - * include/bits/ios_base.h: Switch to bits/version.h for - __cpp_lib_ios_noreplace. - (noreplace): Guard with __cpp_lib_ios_noreplace. - * include/bits/hashtable.h: Switch to bits/version.h for - __cpp_lib_generic_unordered_lookup. - (_M_equal_range_tr, _M_count_tr, _M_find_tr): Guard behind - __cpp_lib_generic_unordered_lookup. - * include/bits/forward_list.h: Switch to bits/version.h for - __cpp_lib_list_remove_return_type. - (__remove_return_type): Guard behind - __cpp_lib_list_remove_return_type. - * include/bits/erase_if.h: Switch to bits/version.h for - __cpp_lib_erase_if. - * include/bits/cow_string.h: Switch to bits/version.h for - __cpp_lib_constexpr_string. - * include/bits/chrono.h: Swtich to bits/version.h for - __cpp_lib_chrono{,_udls}. - (ceil): Guard behind __cpp_lib_chrono. - (operator""ns et al): Guard behind __cpp_lib_chrono_udls. - * include/bits/char_traits.h: Switch to bits/version.h for - __cpp_lib_constexpr_char_traits. - * include/bits/basic_string.h: Switch to bits/version.h for - __cpp_lib_{constexpr_string,string_{resize_and_overwrite,udls}}. - (resize_and_overwrite): Guard behind - __cpp_lib_string_resize_and_overwrite. - (operator""s): Guard behind __cpp_lib_string_udls. - * include/bits/atomic_wait.h: Switch to bits/version.h for - __cpp_lib_atomic_wait. Guard header behind that FTM. - * include/bits/atomic_base.h: Switch to bits/version.h for - __cpp_lib_atomic_value_initialization and - __cpp_lib_atomic_flag_test. - (atomic_flag::test): Guard behind __cpp_lib_atomic_flag_test, - rather than C++20. - * include/bits/allocator.h: Switch to bits/version.h for - __cpp_lib_incomplete_container_elements. - * include/bits/alloc_traits.h: Switch to using bits/version.h for - __cpp_lib_constexpr_dynamic_alloc and - __cpp_lib_allocator_traits_is_always_equal. - * include/bits/align.h: Switch to bits/version.h for defining - __cpp_lib_assume_aligned. - (assume_aligned): Guard with __cpp_lib_assume_aligned. - * include/bits/algorithmfwd.h: Switch to bits/version.h for - defining __cpp_lib_constexpr_algorithms. - * include/std/stacktrace: Switch to bits/version.h for - __cpp_lib_stacktrace. Guard header behind that FTM. - * testsuite/23_containers/array/tuple_interface/get_neg.cc: - Update line numbers. - -2023-08-16 Arsen Arsenović - - * include/Makefile.am (bits_freestanding): Add version.h. - (allcreated): Add version.h. - (${bits_srcdir}/version.h): New rule. Regenerates - version.h out of version.{def,tpl}. - * include/Makefile.in: Regenerate. - * include/bits/version.def: New file. Declares a list of - all feature test macros, their values and their preconditions. - * include/bits/version.tpl: New file. Turns version.def - into a sequence of #if blocks. - * include/bits/version.h: New file. Generated from - version.def. - * include/std/version: Replace with a __glibcxx_want_all define - and bits/version.h include. - -2023-08-14 Paul Dreik - - PR libstdc++/110860 - * include/std/format (__formatter_fp::format): Use frexp instead - of log10. - -2023-08-12 Ken Matsui - - * include/std/type_traits (true_type): Use __bool_constant - instead. - (false_type): Likewise. - (bool_constant): Likewise. - -2023-08-11 Jonathan Wakely - - PR libstdc++/110990 - * include/std/format (_Seq_sink::get): Only call _M_overflow if - its precondition is met. - (_Iter_sink::_M_finish): Likewise. - (_Iter_sink::_M_overflow): Only switch to the - internal buffer after running out of space. - (_Iter_sink::_M_finish): Do not use _M_overflow. - (_Counting_sink::count): Likewise. - * testsuite/std/format/functions/format_to_n.cc: Check cases - where the output fits into the buffer. - -2023-08-11 Jonathan Wakely - - PR libstdc++/104167 - * include/bits/chrono_io.h (operator|=, operator|): Add noexcept - to _ChronoParts operators. - (from_stream, parse): Define new functions. - (__detail::_Parse, __detail::_Parser): New class templates. - * include/std/chrono (__cpp_lib_chrono): Define to 201907L for - C++20. - * include/std/version (__cpp_lib_chrono): Likewise. - * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: - Adjust expected value of feature test macro. - * testsuite/20_util/duration/io.cc: Test parsing. - * testsuite/std/time/clock/file/io.cc: Likewise. - * testsuite/std/time/clock/gps/io.cc: Likewise. - * testsuite/std/time/clock/system/io.cc: Likewise. - * testsuite/std/time/clock/tai/io.cc: Likewise. - * testsuite/std/time/clock/utc/io.cc: Likewise. - * testsuite/std/time/day/io.cc: Likewise. - * testsuite/std/time/month/io.cc: Likewise. - * testsuite/std/time/month_day/io.cc: Likewise. - * testsuite/std/time/weekday/io.cc: Likewise. - * testsuite/std/time/year/io.cc: Likewise. - * testsuite/std/time/year_month/io.cc: Likewise. - * testsuite/std/time/year_month_day/io.cc: Likewise. - * testsuite/std/time/syn_c++20.cc: Check value of macro and for - the existence of parse and from_stream in namespace chrono. - * testsuite/std/time/clock/local/io.cc: New test. - * testsuite/std/time/parse.cc: New test. - -2023-08-11 Jonathan Wakely - - PR libstdc++/110860 - * include/std/format (__formatter_fp::format): Do not call log10 - with zero values. - -2023-08-11 Jonathan Wakely - - * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter): - Check for out-of-range month an weekday indices. - * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid - month and weekday values. - -2023-08-11 Jonathan Wakely - - * include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove. - -2023-08-10 Jonathan Wakely - - PR libstdc++/110974 - * include/std/format (_Spec::_S_parse_width_or_precision): Check - for empty range before dereferencing iterator. - * testsuite/std/format/string.cc: Check for expected exception. - Fix expected exception message in test_pr110862() and actually - call it. - -2023-08-10 Jonathan Wakely - - PR libstdc++/110968 - * include/std/format (__formatter_fp::format): Check return - value of _M_localize. - * testsuite/std/format/functions/format.cc: Check classic - locale. - -2023-08-10 Jonathan Wakely - - PR libstdc++/110970 - * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use - __iter_category_t. - (iterator_traits>::_S_iter_cat): Likewise. - (__detail::__basic_const_iterator_iter_cat): Likewise. - * include/bits/stl_iterator_base_types.h (__iterator_category_t): - Rename to __iter_category_t. - -2023-08-09 Jonathan Wakely - - * include/bits/chrono.h (duration_cast): Do not use braces - around statements for C++11 constexpr rules. - * include/bits/stl_algobase.h (__lg): Rewrite as a single - statement for C++11 constexpr rules. - * include/experimental/bits/fs_path.h (path::string): Use - _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'. - * include/std/charconv (__to_chars_8): Initialize variable for - C++17 constexpr rules. - -2023-08-09 Jonathan Wakely - - * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare - warning for loop condition. - -2023-08-09 Jonathan Wakely - - * include/std/complex: Add diagnostic pragma for clang. - -2023-08-09 Jonathan Wakely - - * include/bits/shared_ptr_atomic.h (atomic): Change class-head - to struct. - * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change - class-head to struct in friend declaration. - * include/std/chrono (tzdb_list::_Node): Likewise. - * include/std/future (_Task_state_base, _Task_state): Likewise. - * include/std/scoped_allocator (__inner_type_impl): Likewise. - * include/std/valarray (_BinClos, _SClos, _GClos, _IClos) - (_ValFunClos, _RefFunClos): Change class-head to struct. - -2023-08-09 Jonathan Wakely - - * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]] - attribute. - * include/bits/regex_executor.tcc: Remove name of unused - parameter. - * include/bits/shared_ptr_atomic.h (atomic_is_lock_free): - Likewise. - * include/bits/stl_uninitialized.h: Likewise. - * include/bits/streambuf_iterator.h (operator==): Likewise. - * include/bits/uses_allocator.h: Likewise. - * include/c_global/cmath (isfinite, isinf, isnan): Likewise. - * include/std/chrono (zoned_time): Likewise. - * include/std/future (__future_base::_S_allocate_result): - Likewise. - (packaged_task): Likewise. - * include/std/optional (_Optional_payload_base): Likewise. - * include/std/scoped_allocator (__inner_type_impl): Likewise. - * include/std/tuple (_Tuple_impl): Likewise. - -2023-08-09 Jonathan Wakely - - * include/bits/new_allocator.h (__new_allocator): Define copy - assignment operator as defaulted. - * include/std/complex (complex, complex) - (complex): Define copy constructor as defaulted. - -2023-08-09 Jonathan Wakely - - * include/std/format: Fix some warnings. - (__format::__write(Ctx&, basic_string_view)): Remove - unused function template. - -2023-08-07 Jonathan Wakely - - PR libstdc++/110860 - * include/std/format (__formatter_fp::format): Do not use - __builtin_abs and __builtin_log10 with arbitrary floating-point - types. - -2023-08-07 Jonathan Wakely - - PR libstdc++/110917 - * include/std/format (__format::_Iter_sink): - Constrain partial specialization for contiguous iterators to - require the value type to be CharT. - * testsuite/std/format/functions/format_to.cc: New test. - -2023-08-07 Jonathan Wakely - - PR libstdc++/110862 - * include/std/format (_Scanner::_M_on_replacement_field): - Check for expected '}' before incrementing iterator. - * testsuite/std/format/string.cc: Check "{0:{0}" format string. - -2023-08-07 Nick Alcock - - * configure: Regenerate. - -2023-08-07 Alan Modra - - * configure: Regenerate. - -2023-08-07 Alexander von Gluck IV - - * configure: Regenerate. - -2023-08-07 Nick Alcock - - * configure: Regenerate. - -2023-08-07 Nick Alcock - - * configure: Regenerate. - -2023-08-07 H.J. Lu - - * configure: Regenerate. - -2023-08-07 H.J. Lu - - * configure: Regenerate. - -2023-08-06 François Dumont - - * config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate - symbol export. - -2023-07-30 François Dumont - - * src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with - proper #error. - * src/c++11/locale-inst-monetary.h: Likewise. - * src/c++11/locale-inst-numeric.h: Likewise. - -2023-07-27 Jonathan Wakely - - PR libstdc++/108046 - * include/std/format (__formatter_fp::format): Ensure __expc is - always set for all presentation types. Set __z correctly for - zero precision. - * testsuite/std/format/functions/format.cc: Check problem cases. - -2023-07-26 Jonathan Wakely - - PR libstdc++/110807 - * testsuite/23_containers/vector/bool/110807.cc: Require c++11. - -2023-07-26 Jonathan Wakely - - PR libstdc++/110807 - * include/bits/stl_bvector.h (vector(const vector&)): Access - iterators before allocating. - * include/bits/vector.tcc (vector::_M_insert_range): - Likewise. - * testsuite/23_containers/vector/bool/110807.cc: New test. - -2023-07-26 Jonathan Wakely - - * include/bits/algorithmfwd.h (random_shuffle): Add deprecated - attribute. - * include/bits/stl_algo.h (random_shuffle): Correct comments. - * testsuite/25_algorithms/random_shuffle/1.cc: Disable - deprecated warnings. - * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise. - * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. - * testsuite/25_algorithms/random_shuffle/deprecated.cc: New - test. - -2023-07-26 Nathaniel Shead - - * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic - locations. - * testsuite/26_numerics/gcd/105844.cc: Likewise. - * testsuite/26_numerics/lcm/105844.cc: Likewise. - -2023-07-24 Deev Patel - - * include/std/format (_Formatting_scanner::_M_on_chars): Add - missing constexpr specifier. - (_Formatting_scanner::_M_format_arg): Likewise. - -2023-07-24 Jonathan Wakely - - PR libstdc++/110653 - * include/bits/basic_string.h [!HAVE_STOF] (stof): Do not - throw an exception for zero result. - [HAVE_BROKEN_STRTOLD] (stold): Do not use strtold. - -2023-07-19 Jonathan Wakely - - PR libstdc++/110077 - * src/c++17/floating_from_chars.cc (from_chars): Only define - _Float128 overload when using __strfromf128. - -2023-07-19 Jonathan Wakely - - PR libstdc++/110593 - * include/bits/chrono.h (duration): Improve static assert - messages. - (__is_ratio): Move to ... - * include/std/ratio (__is_ratio): ... here. - (__is_ratio_v): New variable template and partial - specialization. - (__are_both_ratios): New function template. - (__ratio_multiply, ratio_equal, ratio_less, __ratio_add): - Add static assertion. - * testsuite/20_util/ratio/requirements/type_constraints.cc: - New test. - * testsuite/20_util/duration/requirements/typedefs_neg1.cc: - Adjust expected error. - * testsuite/20_util/duration/requirements/typedefs_neg2.cc: - Likewise. - -2023-07-19 Jonathan Wakely - - * include/bits/chrono_io.h (__formatter_chrono::_M_format): - Do not set __is_neg for hh_mm_ss before calling - _M_format_to_ostream. Change __print_sign lambda to only check - __is_neg for durations and hh_mm_ss types. - (__formatter_chrono::_M_format_to_ostream): Only check __is_neg - for duration types. - * testsuite/std/time/hh_mm_ss/io.cc: Check negative values. - -2023-07-19 Jonathan Wakely - - PR libstdc++/110719 - * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds): - Handle duration and hh_mm_ss. - * testsuite/20_util/duration/io.cc: Check locale-specific - formats. - * testsuite/std/time/hh_mm_ss/io.cc: Likewise. - -2023-07-19 Jonathan Wakely - - * include/std/format (__write_padded): Initialize first element - of array to avoid a -Wmaybe-uninitialized warning. - -2023-07-19 Jonathan Wakely - - PR libstdc++/110719 - * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix - allowed modifiers for %z and %Z. Fix -Wparentheses and - -Wnarrowing warnings. - (__formatter_chrono::_M_format): Call new functions for %d, %e, - %H, %I, %m and %M. - (__formatter_chrono::_M_c): Use _S_floor_seconds to remove - subsecond precision. - (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle - modifiers. - (__formatter_chrono::_M_e): Replace with _M_d_e and use - _M_locale_fmt. - (__formatter_chrono::_M_I): Replace with _M_H_I and use - _M_locale_fmt. - (__formatter_chrono::_M_m): New function. - (__formatter_chrono::_M_M): New function. - (__formatter_chrono::_M_r): Use _M_locale_fmt. - (__formatter_chrono::_M_S): Likewise. - (__formatter_chrono::_M_u_w): Likewise. - (__formatter_chrono::_M_U_V_W): Likewise. - (__formatter_chrono::_M_X): Use _S_floor_seconds. - (__formatter_chrono::_M_Z): Fix untested branch for wchar_t. - (__formatter_chrono::_S_altnum): Remove function. - (__formatter_chrono::_S_dd_zero_fill): Remove function. - (__formatter_chrono::_S_floor_seconds): New function. - (__formatter_chrono::_M_locale_fmt): New function. - * testsuite/std/time/clock/system/io.cc: Adjust expected output - for locale-specific formats and check modified formats. - * testsuite/std/time/clock/utc/io.cc: Likewise. - * testsuite/std/time/zoned_time/io.cc: New test. - -2023-07-19 Jonathan Wakely - - PR libstdc++/110708 - * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only - allow a single modifier. - * testsuite/std/time/format.cc: Check multiple modifiers. - -2023-07-19 Jonathan Wakely - - PR libstdc++/110653 - * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: - Remove dg-require-string-conversions. - * 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/stoul.cc: - Likewise. - -2023-07-19 Jonathan Wakely - - PR libstdc++/110653 - * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof): - Define in terms of std::stod. - -2023-07-19 Jonathan Wakely - - PR libstdc++/110653 - * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof): - Define. - [_GLIBCXX_HAVE_STRTOLD] (stold): Define. - * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof): - Declare in namespace std. - [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise. - -2023-07-13 Jonathan Wakely - - PR libstdc++/110653 - * include/bits/basic_string.h (stoi, stol, stoul, stod): Do not - depend on _GLIBCXX_USE_C99_STDLIB. - [__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define - in terms of stol and stoul respectively. - [__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms - of stod. - -2023-07-12 Jonathan Wakely - - PR libstdc++/95048 - * testsuite/27_io/filesystem/path/construct/95048.cc: Check - conversions to wide strings. - * testsuite/experimental/filesystem/path/construct/95048.cc: - Likewise. - -2023-07-12 Jonathan Wakely - - * config/io/basic_file_stdio.cc: Define LFS macros. - (__basic_file::open): Use fopen unconditionally. - (get_file_offset): Use lseek unconditionally. - (__basic_file::seekoff): Likewise. - (__basic_file::showmanyc): Use fstat unconditionally. - -2023-07-12 Jonathan Wakely - - PR libstdc++/110574 - * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello - and define _GLIBCXX_USE_FSEEKO_FTELLO. - * config.h.in: Regenerate. - * configure: Regenerate. - * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]: - Check for fwrite error correctly. - (__basic_file::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for - fread error correctly. - (get_file_offset): New function. - (__basic_file::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use - fseeko if available. Use get_file_offset instead of return value - of fseek. - (__basic_file::showmanyc): Use get_file_offset. - -2023-07-12 Ken Matsui - - * include/std/type_traits (__make_unsigned_selector): Use - __is_enum built-in trait. - (__make_signed_selector): Likewise. - (__underlying_type_impl): Likewise. - -2023-07-06 Tianqiang Shuai <1101282468@qq.com> - - * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix - first argument. - -2023-07-06 Jonathan Wakely - - PR libstdc++/110574 - * doc/xml/manual/configure.xml: Describe stdio_pure argument to - --enable-cstdio. - * doc/html/manual/configure.html: Regenerate. - -2023-07-05 Thomas Rodgers - - * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete - file. - * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc: - New file. - * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: - Likewise. - -2023-07-05 Jonathan Wakely - - * testsuite/23_containers/forward_list/debug/iterator1_neg.cc: - Skip as UNSUPPORTED for C++98 mode. - * testsuite/23_containers/forward_list/debug/iterator3_neg.cc: - Likewise. - -2023-07-05 Jonathan Wakely - - PR libstdc++/110542 - * include/bits/stl_uninitialized.h (__uninitialized_default_n): - Do not use std::fill_n during constant evaluation. - -2023-07-05 Jonathan Wakely - - * include/bits/vector.tcc (_M_default_append): Replace try-block - with RAII types. - -2023-07-05 Jonathan Wakely - - * include/bits/iterator_concepts.h (projected): Add typename. - -2023-07-03 Jonathan Wakely - - * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and - wosyncstream depend on _GLIBCXX_USE_CXX11_ABI. - -2023-07-03 Jonathan Wakely - - * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN, - _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN): - Define to OpenMP 5.0 pragmas even for GCC 10.0+. - (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+. - -2023-07-03 Jonathan Wakely - - * include/bits/alloc_traits.h (_Destroy): Qualify call. - * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise. - * testsuite/23_containers/vector/cons/destroy-adl.cc: New test. - -2023-07-03 Iain Sandoe - - * testsuite/lib/libstdc++.exp: Remove additional flag handled - by Darwin specs. - -2023-06-30 Jonathan Wakely - - PR libstdc++/110432 - * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New. - * config.h.in: Regenerate. - * configure: Regenerate. - * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY. - * include/std/iostream: Use new autoconf macro as well as - __has_attribute. - * src/c++98/ios_base_init.h: Use new autoconf macro instead of - __has_attribute. - -2023-06-30 Jonathan Wakely - - * src/c++11/random.cc (random_device::_M_init): Add maybe_unused - attribute. - -2023-06-30 Jonathan Wakely - - PR libstdc++/105081 - * src/c++11/random.cc (random_device::_M_init): Throw - std::system_error when the requested device is a valid token but - not available at runtime. - -2023-06-30 Hans-Peter Nilsson - - PR libstdc++/108672 - * include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using - __INT32_TYPE__ instead of int32_t. - -2023-06-29 Jonathan Wakely - - * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently - with USE_ATOMIC_LIST_HEAD. - (list_mutex): Replace global object with function. Use local - static object when std::mutex constructor isn't constexpr. - -2023-06-29 Jonathan Wakely - - PR libstdc++/110462 - * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that - copy_file_range can be called with loff_t* arguments. - * configure: Regenerate. - * src/filesystem/ops-common.h (copy_file_copy_file_range): - Use loff_t for offsets. - -2023-06-29 Tom Tromey - - * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer - regexp. - -2023-06-28 Jan Hubicka - - PR middle-end/109849 - * include/bits/c++config (std::__terminate): Mark cold. - * include/bits/functexcept.h: Mark everything as cold. - * libsupc++/exception: Mark terminate and unexpected as cold. - -2023-06-26 Thomas Rodgers - - * include/pstl/algorithm_fwd.h: Synchronize with upstream. - * include/pstl/algorithm_impl.h: Likewise. - * include/pstl/execution_defs.h: Likewise. - * include/pstl/execution_impl.h: Likewise. - * include/pstl/glue_algorithm_impl.h: Likewise. - * include/pstl/glue_execution_defs.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_fwd.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_impl.h: Likewise. - * include/pstl/pstl_config.h: Likewise. - * include/pstl/unseq_backend_simd.h: Likewise. - * include/pstl/utils.h: Likewise. - * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: - Likewise. - * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: - Likewise. - * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: - Likewise. - * testsuite/26_numerics/pstl/numeric_ops/scan.cc: - Likewise. - * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: - Likewise. - * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: - Likewise. - * testsuite/util/pstl/test_utils.h: - Likewise. - -2023-06-26 Jonathan Wakely - - PR libstdc++/110239 - * include/std/format (__format::__parse_integer): Fix buffer - overflow for wide chars. - (formatter::format): Cast to uintptr_t instead - of uint64_t. - * testsuite/std/format/string.cc: Test too-large widths. - -2023-06-26 Jonathan Wakely - - * include/bits/iterator_concepts.h (projected): Replace class - template with alias template denoting an ADL-proofed helper. - (incremental_traits>): Remove. - * testsuite/24_iterators/indirect_callable/projected-adl.cc: - New test. - -2023-06-26 Jonathan Wakely - - * include/debug/helper_functions.h (__get_distance) - (__check_singular, __valid_range_aux, __valid_range): Qualify - calls to disable ADL. - (__check_singular_aux(const _Safe_iterator_base*)): Declare - overload that was previously found via ADL. - -2023-06-23 Jonathan Wakely - - * include/bits/vector.tcc (_M_realloc_insert): Replace try-block - with RAII types. - -2023-06-20 Jonathan Wakely - - * include/std/array (to_array(T(&)[N])): Remove redundant - condition. - (to_array(T(&&)[N])): Remove redundant std::move. - -2023-06-16 Alexandre Oliva - - * testsuite/20_util/from_chars/4.cc: Skip long double on - aarch64-rtems. - -2023-06-16 Joel Brobecker - - * configure.ac ["x${with_newlib}" = "xyes"]: Define - HAVE_HYPOTF. Add compile-checks for various long double - math functions as well. - * configure: Regenerate. - -2023-06-14 Jonny Grant - - * doc/xml/manual/extensions.xml: Remove demangle exception - description and include. - * doc/html/manual/ext_demangling.html: Regenerate. - -2023-06-10 Hans-Peter Nilsson - - * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main) - [! SIMULATOR_TEST]: Also exclude running test05. - * testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto. - -2023-06-09 Ken Matsui - - * include/std/type_traits: Use using instead of typedef - -2023-06-09 Jonathan Wakely - - PR libstdc++/110077 - * src/c++17/floating_from_chars.cc (from_chars) <_Float128>: - Only define if _Float128 and long double have different - representations. - -2023-06-09 Jonathan Wakely - - PR libstdc++/100285 - * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP] - (basic_endpoint, basic_resolver_entry, resolver_base) - (basic_resolver_results, basic_resolver): Only define if the tcp - or udp protocols will be defined. - -2023-06-09 Jonathan Wakely - - * acinclude.m4 (libtool_VERSION): Update to 6.0.33. - * configure: Regenerate. - * doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33. - * doc/html/manual/abi.html: Regenerate. - -2023-06-09 Jonathan Wakely - - PR libstdc++/110149 - * include/std/format (formatter::parse): - Only alow 0 and P for C++26 and non-strict modes. - (formatter::format): Use toupper for P - type, and insert zero-fill characters for 0 option. - * testsuite/std/format/functions/format.cc: Check pointer - formatting. Only check P2510R3 extensions conditionally. - * testsuite/std/format/parse_ctx.cc: Only check P2510R3 - extensions conditionally. - -2023-06-09 Jonathan Wakely - - PR libstdc++/110167 - * include/std/array (to_array): Initialize arrays of trivial - types using memcpy. For non-trivial types, use lambda - expressions instead of a separate helper function. - (__to_array): Remove. - * testsuite/23_containers/array/creation/110167.cc: New test. - -2023-06-09 Jonathan Wakely - - * testsuite/23_containers/deque/modifiers/emplace/52799.cc: - Removed. - * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc: - Removed. - * testsuite/23_containers/list/modifiers/emplace/52799.cc: - Removed. - * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc: - Removed. - * testsuite/23_containers/vector/modifiers/emplace/52799.cc: - Removed. - * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc: - Removed. - * testsuite/23_containers/deque/modifiers/emplace/1.cc: New - test. - * testsuite/23_containers/list/modifiers/emplace/1.cc: New - test. - * testsuite/23_containers/vector/modifiers/emplace/1.cc: New - test. - -2023-06-07 Jakub Jelinek - - PR libstdc++/110145 - * testsuite/20_util/to_chars/double.cc: Include . - (double_to_chars_test_cases, - double_scientific_precision_to_chars_test_cases_2, - double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6 - and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1. - Add unconditional tests with corresponding double constants - 0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and - 0x1.7440bbff418b9p-18. - -2023-06-07 Jonathan Wakely - - * testsuite/util/testsuite_abi.cc (check_version): Re-add - CXXABI_1.3.14. - -2023-06-07 Jonathan Wakely - - * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: - Require effective target exceptions_enabled instead of using - dg-skip-if. - * testsuite/23_containers/vector/capacity/constexpr.cc: Expect - shrink_to_fit() to be a no-op without exceptions enabled. - * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: - Likewise. - * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: - Require effective target exceptions_enabled. - * testsuite/ext/malloc_allocator/check_allocate_max_size.cc: - Likewise. - * testsuite/ext/mt_allocator/check_allocate_max_size.cc: - Likewise. - * testsuite/ext/new_allocator/check_allocate_max_size.cc: - Likewise. - * testsuite/ext/pool_allocator/check_allocate_max_size.cc: - Likewise. - * testsuite/ext/throw_allocator/check_allocate_max_size.cc: - Likewise. - -2023-06-07 Jonathan Wakely - - * testsuite/20_util/duration/cons/2.cc: Use values that aren't - affected by rounding. - * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to - double before comparing for equality. - * testsuite/20_util/from_chars/6.cc: Likewise. - * testsuite/20_util/variant/86874.cc: Use values that aren't - affected by rounding. - * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to - original value instead of to floating-point-literal. - * testsuite/26_numerics/random/discrete_distribution/cons/range.cc: - Cast arithmetic result to double before comparing for equality. - * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc: - Likewise. - * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc: - Likewise. - * testsuite/26_numerics/valarray/transcend.cc (eq): Check that - the absolute difference is less than 0.01 instead of comparing - to two decimal places. - * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: - Cast arithmetic result to double before comparing for equality. - * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc: - Likewise. - * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise. - -2023-06-07 Jonathan Wakely - - Revert: - 2023-06-06 Jonathan Wakely - - * configure.ac: Use AS_IF. - * configure: Regenerate. - -2023-06-07 Thomas Schwinge - - * testsuite/lib/prune.exp (libstdc++-dg-prune): Support - 'UNSUPPORTED: [...]: exception handling disabled'. - -2023-06-06 Jonathan Wakely - - * testsuite/util/testsuite_abi.cc (check_version): Add - CXXABI_1.3.15 symver and make it the latestp. Remove - GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp. - -2023-06-06 Jonathan Wakely - Jakub Jelinek - - PR libstdc++/104772 - * include/std/limits: (numeric_limits<__float128>): Define - for __STRICT_ANSI__ as well. - * testsuite/18_support/numeric_limits/128bit.cc: Remove - check for __STRICT_ANSI__. - -2023-06-06 Jonathan Wakely - - * configure.ac: Use AS_IF. - * configure: Regenerate. - -2023-06-06 Matthias Kretz - - PR libstdc++/109822 - * include/experimental/bits/simd_builtin.h (_S_store): Rewrite - to avoid casts to other vector types. Implement store as - succession of power-of-2 sized memcpy to avoid PR90424. - -2023-06-06 Matthias Kretz - - PR libstdc++/110054 - * include/experimental/bits/simd_builtin.h (_S_masked_store): - Call into deduced ABI's SimdImpl after conversion. - * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt): - Don't use _mm_maskmoveu_si128. Use the generic fall-back - implementation. Also fix masked stores without SSE2, which - were not doing anything before. - -2023-06-06 Matthias Kretz - - * include/experimental/bits/simd.h (__bit_cast): Use - __gnu__::__vector_size__ instead of gnu::vector_size. - -2023-06-06 Jonathan Wakely - - PR libstdc++/110139 - * include/std/array (__array_traits::operator T*()): Make - conversion operator explicit. - (array::front): Use size_type as subscript operand. - (array::data): Use static_cast to make conversion explicit. - * testsuite/23_containers/array/element_access/110139.cc: New - test. - -2023-06-06 Joseph Faulls - - * include/bits/locale_classes.tcc: Remove check for - codecvt facet. - -2023-06-06 Jonathan Wakely - - * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set - close-on-exec flag on file descriptors. - -2023-06-06 Jonathan Wakely - - PR libstdc++/108178 - * src/filesystem/ops-common.h (do_copy_file): Check for empty - files by trying to read a character. - * testsuite/27_io/filesystem/operations/copy_file_108178.cc: - New test. - -2023-06-06 Jannik Glückert - - * acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define. - * config.h.in: Regenerate. - * configure: Regenerate. - * src/filesystem/ops-common.h (copy_file_copy_file_range): - Define new function. - (do_copy_file): Use it. - -2023-06-06 Jannik Glückert - - * acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define. - * config.h.in: Regenerate. - * configure: Regenerate. - * src/filesystem/ops-common.h (copy_file_sendfile): Define new - function for sendfile logic. Loop to support large files. Skip - zero-length files. - (do_copy_file): Use it. - -2023-06-04 Jason Merrill - - PR c++/97720 - * libsupc++/eh_call.cc (__cxa_call_terminate): Take void*. - * config/abi/pre/gnu.ver: Add it. - -2023-06-02 François Dumont - - * include/parallel/algobase.h: Include . - -2023-06-01 Jonathan Wakely - - * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: - Add const to equality operator. - -2023-06-01 Jonathan Wakely - - * include/std/expected (expected::and_then, expected::or_else) - (expected::transform_error): Use _M_val and _M_unex instead of - calling value() and error(), as per LWG 3938. - (expected::transform): Likewise. Remove incorrect std::move - calls from lvalue overloads. - (expected::and_then, expected::or_else) - (expected::transform): Use _M_unex instead of calling - error(). - * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then - and transform, and for std::expected. - * testsuite/20_util/expected/lwg3938.cc: New test. - -2023-06-01 Jonathan Wakely - - PR libstdc++/110060 - * include/bits/stl_vector.h (_Vector_base::_M_invariant): - Remove. - (vector::size, vector::capacity): Remove calls to _M_invariant. - * include/bits/vector.tcc (vector::_M_fill_assign): Add - optimization hint to reallocating path. - (vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)): - Likewise. - * testsuite/23_containers/vector/capacity/invariant.cc: Moved - to... - * testsuite/23_containers/vector/modifiers/assign/no_realloc.cc: - ...here. Check assign(FwdIter, FwdIter) too. - * testsuite/23_containers/vector/types/1.cc: Revert addition - of -Wno-stringop-overread option. - -2023-06-01 Jonathan Wakely - - * doc/xml/manual/evolution.xml: Document removal of implicit - allocator rebinding extensions in strict mode and for C++20. - * doc/html/*: Regenerate. - -2023-06-01 Jason Merrill - - * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check - handlers in the cleanup phase. - -2023-06-01 Matthias Kretz - - PR libstdc++/110050 - * include/experimental/bits/simd.h (__vectorized_sizeof): With - __have_neon_a32 only single-precision float works (in addition - to integers). - -2023-06-01 François Dumont - - * include/bits/stl_algo.h - (std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move... - * include/bits/stl_algobase.h: ...here. - * include/std/functional: Replace include by . - * include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>) - (std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>): - Move... - * include/parallel/algobase.h: ...here. - * include/experimental/functional: Remove and - includes. Include . - -2023-05-31 Jonathan Wakely - - PR libstdc++/109818 - * acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for - float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES. - * config.h.in: Regenerate. - * configure: Regenerate. - * include/c_global/cmath (float_t, double_t): Guard using new - _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro. - -2023-05-31 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math - functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks - for C99 rounding functions to here. - (GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding - functions from here. - * config.h.in: Regenerate. - * configure: Regenerate. - * include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead - of _GLIBCXX_USE_C99_MATH_TR1. - * include/bits/random.tcc: Likewise. - * include/c_compatibility/math.h: Likewise. - * include/c_global/cmath: Likewise. - * include/ext/random: Likewise. - * include/ext/random.tcc: Likewise. - * include/std/complex: Likewise. - * testsuite/20_util/from_chars/4.cc: Likewise. - * testsuite/20_util/from_chars/8.cc: Likewise. - * testsuite/26_numerics/complex/proj.cc: Likewise. - * testsuite/26_numerics/headers/cmath/60401.cc: Likewise. - * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: - Likewise. - * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): - Likewise. - * testsuite/util/testsuite_random.h: Likewise. - -2023-05-31 Jonathan Wakely - - * include/bits/stl_vector.h (_Vector_base::_M_invariant()): New - function. - (vector::size(), vector::capacity()): Call _M_invariant(). - * testsuite/23_containers/vector/capacity/invariant.cc: New test. - * testsuite/23_containers/vector/types/1.cc: Add suppression for - false positive warning (PR110060). - -2023-05-31 Jonathan Wakely - - PR libstdc++/109921 - * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is - defined before trying to use _Float128. - -2023-05-31 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers - to check __INT_PTR_WIDTH__ instead of sizeof(void*). - * configure: Regenerate. - -2023-05-31 Jonathan Wakely - - * include/bits/unique_lock.h: Include - here for std::errc constants. - * include/std/mutex: Do not include and - here. - -2023-05-31 Jonathan Wakely - - * configure.ac: Replace use of -o operator for test. - * configure: Regenerate. - -2023-05-31 Jonathan Wakely - - * include/std/scoped_allocator (scoped_allocator_adaptor): Add - noexcept to all constructors except the default constructor. - (scoped_allocator_adaptor::inner_allocator): Add noexcept. - (scoped_allocator_adaptor::outer_allocator): Likewise. - * testsuite/20_util/scoped_allocator/noexcept.cc: New test. - -2023-05-31 Jonathan Wakely - - PR libstdc++/104772 - * include/std/limits (numeric_limits<__float128>): Define. - * testsuite/18_support/numeric_limits/128bit.cc: New test. - -2023-05-31 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and - msp430 to all 16-bit targets. - * configure: Regenerate. - -2023-05-31 Jonathan Wakely - - PR libstdc++/109921 - * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS): - Only define when USE_STRTOD_FOR_FROM_CHARS is also defined. - (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is - binary64. - (from_chars(const char*, const char*, double&, chars_format)): - Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here. - (from_chars(const char*, const char*, _Float128&, chars_format)) - Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is - defined, otherwise parse a long double and convert to _Float128. - -2023-05-31 Jonathan Wakely - - PR libstdc++/109922 - * include/std/iomanip (operator>>(basic_istream&, _Setfill)): - Add deprecated attribute to non-standard overload. - * doc/xml/manual/evolution.xml: Document deprecation. - * doc/html/*: Regenerate. - * testsuite/27_io/manipulators/standard/char/1.cc: Add - dg-warning for expected deprecated warning. - * testsuite/27_io/manipulators/standard/char/2.cc: Likewise. - * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise. - * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise. - -2023-05-30 Alexandre Oliva - - * testsuite/20_util/from_chars/4.cc: Skip long double test06 - on x86_64-vxworks. - * testsuite/20_util/to_chars/long_double.cc: Xfail run on - x86_64-vxworks. - -2023-05-30 Matthias Kretz - - PR libstdc++/109822 - * include/experimental/bits/simd.h (to_native): Use int NTTP - as specified in PTS2. - (to_compatible): Likewise. Add missing tag to call mask - generator ctor. - * testsuite/experimental/simd/pr109822_cast_functions.cc: New - test. - -2023-05-30 Matthias Kretz - - * testsuite/experimental/simd/tests/integer_operators.cc: - Compute expected value differently to avoid getting turned into - a vector shift. - -2023-05-30 Matthias Kretz - - * testsuite/experimental/simd/tests/operator_cvt.cc: Make long - double <-> (u)long conversion tests conditional on sizeof(long - double) and sizeof(long). - -2023-05-26 Matthias Kretz - - * include/experimental/bits/simd_ppc.h (_S_bit_shift_left): - Negative __y is UB, so prefer signed compare. - -2023-05-25 Jonathan Wakely - - * testsuite/util/testsuite_allocator.h (PointerBase): Add - relational operators. - -2023-05-25 Alexandre Oliva - - * testsuite/20_util/to_chars/long_double.cc: Expect execution - fail on x86-vxworks. - -2023-05-24 Matthias Kretz - - PR libstdc++/109949 - * include/experimental/bits/simd.h (__intrinsic_type): If - __ALTIVEC__ is defined, map gnu::vector_size types to their - corresponding __vector T types without losing unsignedness of - integer types. Also prefer long long over long. - * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask - object to the expected unsigned vector type. - -2023-05-24 Matthias Kretz - - PR libstdc++/109261 - * include/experimental/bits/simd.h (__intrinsic_type): - Specialize __intrinsic_type and - __intrinsic_type in any case, but provide the member - type only with __aarch64__. - -2023-05-24 Matthias Kretz - - PR libstdc++/109261 - * include/experimental/bits/simd_neon.h (_S_reduce): Add - constexpr and make NEON implementation conditional on - not __builtin_is_constant_evaluated. - -2023-05-23 Matthias Kretz - - PR libstdc++/109261 - * include/experimental/bits/simd.h (_SimdWrapper::_M_set): - Avoid vector builtin subscripting in constant expressions. - (resizing_simd_cast): Avoid memcpy if constant_evaluated. - (const_where_expression, where_expression, where) - (__extract_part, simd_mask, _SimdIntOperators, simd): Add either - _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on - internal APIs). - * include/experimental/bits/simd_builtin.h (__vector_permute) - (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1) - (_GnuTraits::_SimdCastType2, _SimdImplBuiltin) - (_MaskImplBuiltin::_S_store): Add constexpr. - (_CommonImplBuiltin::_S_store_bool_array) - (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store) - (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add - constant_evaluated case. - * include/experimental/bits/simd_fixed_size.h - (_S_masked_load): Reword comment. - (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r) - (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write) - (__make_simd_tuple, __optimize_simd_tuple, __extract_part) - (__autocvt_to_simd, _Fixed::__traits::_SimdBase) - (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add - constexpr. - (_SimdTuple::operator[], _M_set): Add constexpr and add - constant_evaluated case. - (_MaskImplFixedSize::_S_load): Add constant_evaluated case. - * include/experimental/bits/simd_scalar.h: Add constexpr. - * include/experimental/bits/simd_x86.h (_CommonImplX86): Add - constexpr and add constant_evaluated case. - (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less) - (_S_less_equal): Value-initialize to satisfy constexpr - evaluation. - (_MaskImplX86::_S_load): Add constant_evaluated case. - (_MaskImplX86::_S_store): Add constexpr and constant_evaluated - case. Value-initialize local variables. - (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not) - (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated - case. - * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New - test. - -2023-05-22 Matthias Kretz - - * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move - __infn into #ifdef'ed block. - * testsuite/experimental/simd/tests/fpclassify.cc: Declare - constants only when used. - * testsuite/experimental/simd/tests/frexp.cc: Likewise. - * testsuite/experimental/simd/tests/logarithm.cc: Likewise. - * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: - Likewise. - * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: - Move totest and expect1 into #ifdef'ed block. - -2023-05-19 Gerald Pfeifer - - * doc/xml/manual/strings.xml: Move lafstern.org reference to https. - * doc/html/manual/strings.html: Regenerate. - -2023-05-17 Jakub Jelinek - - PR libstdc++/109883 - * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test. - -2023-05-17 Jakub Jelinek - - PR libstdc++/109883 - * include/c_global/cmath (atan2, fmod, pow): Move - __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and - __gnu_cxx::__bfloat16_t overloads. - (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo): - Likewise. - (fma): Move __gnu_cxx::__promote_3 using template after - _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads. - -2023-05-17 Jonathan Wakely - - * testsuite/18_support/headers/limits/synopsis.cc: Uncomment - checks for float_round_style and float_denorm_style. - -2023-05-17 Jonathan Wakely - - * include/bits/c++config: Add system_header pragma. - -2023-05-17 Jonathan Wakely - - * include/std/expected (expected::and_then, expected::or_else) - (expected::transform, expected::transform_error): Fix exception - specifications as per LWG 3877. - (expected::and_then, expected::transform): - Likewise. - * testsuite/20_util/expected/lwg3877.cc: New test. - -2023-05-17 Ken Matsui - - * include/std/type_traits: Use __bool_constant instead of - integral_constant. - -2023-05-17 Jonathan Wakely - - * configure: Regenerate. - -2023-05-16 Jonathan Wakely - - PR libstdc++/109741 - * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define. - * config.h.in: Regenerate. - * configure: Regenerate. - * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE. - * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not - align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE - instead of hardcoded 64. - -2023-05-16 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11 - mode and define _GLIBCXX_USE_C99_CTYPE. Check for - functions in C++11 mode and define _GLIBCXX_USE_C99_FENV. - * config.h.in: Regenerate. - * configure: Regenerate. - * include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV - instead of _GLIBCXX_USE_C99_FENV_TR1. - * include/c_global/cfenv: Likewise. - * include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead - of _GLIBCXX_USE_C99_CTYPE_TR1. - -2023-05-16 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_USE_C99): Check for types in - C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for - features in C++11 mode and define - _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T. - * config.h.in: Regenerate. - * configure: Regenerate. - * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros. - * include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead - of _GLIBCXX_USE_C99_STDINT_TR1. - * include/c_compatibility/inttypes.h: Check - _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T - instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and - _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1. - * include/c_compatibility/stdatomic.h: Check - _GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1. - * include/c_compatibility/stdint.h: Likewise. - * include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES - and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of - _GLIBCXX_USE_C99_INTTYPES_TR1 and - _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1. - * include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT - instead of _GLIBCXX_USE_C99_STDINT_TR1. - * include/std/atomic: Likewise. - * src/c++11/cow-stdexcept.cc: Likewise. - * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: - Likewise. - * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): - Likewise. - -2023-05-16 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig - functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC. - * config.h.in: Regenerate. - * configure: Regenerate. - * doc/doxygen/user.cfg.in (PREDEFINED): Add new macro. - * include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC - instead of _GLIBCXX_USE_C99_COMPLEX_TR1. - -2023-05-16 Jonathan Wakely - - * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add - assertion to ensure expected exception is throw. - -2023-05-16 Jonathan Wakely - - * testsuite/libstdc++-prettyprinters/chrono.cc: Only test - printer for chrono::zoned_time for cx11 ABI and tzdb effective - target. - -2023-05-16 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define - _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN. - * configure: Regenerate. - -2023-05-12 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer - to check for nan, nanf, and nanl. - * configure: Regenerate. - -2023-05-12 Jonathan Wakely - - * include/bits/char_traits.h (char_traits): Do not - depend on _GLIBCXX_USE_C99_STDINT_TR1. - (char_traits): Likewise. - * include/experimental/source_location: Likewise. - -2023-05-12 Jonathan Wakely - - * include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t) - (atomic_int_least16_t, atomic_uint_least16_t) - (atomic_int_least32_t, atomic_uint_least32_t) - (atomic_int_least64_t, atomic_uint_least64_t) - (atomic_int_fast16_t, atomic_uint_fast16_t) - (atomic_int_fast32_t, atomic_uint_fast32_t) - (atomic_int_fast64_t, atomic_uint_fast64_t) - (atomic_intmax_t, atomic_uintmax_t): Define unconditionally. - * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust. - -2023-05-12 Jonathan Wakely - - * include/bits/algorithmfwd.h (shuffle): Do not depend on - _GLIBCXX_USE_C99_STDINT_TR1. - * include/bits/ranges_algo.h (shuffle): Likewise. - * include/bits/stl_algo.h (shuffle): Likewise. - * include/ext/random: Likewise. - * include/ext/throw_allocator.h (random_condition): Likewise. - * include/std/random: Likewise. - * src/c++11/cow-string-inst.cc: Likewise. - * src/c++11/random.cc: Likewise. - -2023-05-12 Jonathan Wakely - - * testsuite/experimental/feat-cxx14.cc: Remove dependency on - _GLIBCXX_USE_C99_STDINT_TR1. - -2023-05-12 Jonathan Wakely - - * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency - on _GLIBCXX_USE_C99_STDINT_TR1. - -2023-05-12 Jonathan Wakely - - * testsuite/21_strings/basic_string_view/typedefs.cc: Remove - dependency on _GLIBCXX_USE_C99_STDINT_TR1. - * testsuite/experimental/string_view/typedefs.cc: Likewise. - -2023-05-11 Jonathan Wakely - - * src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS] - (auto_locale, auto_ferounding): New class types. - (from_chars_impl): Use auto_locale and auto_ferounding. - -2023-05-11 Jonathan Wakely - - PR libstdc++/109772 - * include/std/chrono (hh_mm_ss::__fits): Remove variable - template. - (hh_mm_ss::__subseconds): Remove __fits from constraints. - * testsuite/std/time/hh_mm_ss/109772.cc: New test. - * testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for - hh_mm_ss>. - -2023-05-11 Jonathan Wakely - - * config/abi/pre/gnu.ver: Export basic_string::_S_allocate. - * include/bits/basic_ios.h: Add static assertion checking - traits_type::value_type. - * include/bits/basic_string.h: Likewise. Do not rebind - allocator, and add static assertion checking its value_type. - (basic_string::_Alloc_traits_impl): Remove class template. - (basic_string::_S_allocate): New static member function. - (basic_string::assign): Use _S_allocate. - * include/bits/basic_string.tcc (basic_string::_M_create) - (basic_string::reserve, basic_string::_M_replace): Likewise. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc: - Disable for C++20 and later. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc: - Likweise. - -2023-05-11 Jonathan Wakely - - PR libstdc++/109758 - * include/bits/std_abs.h (abs(__float128)): Handle negative NaN - and negative zero correctly. - * testsuite/26_numerics/headers/cmath/109758.cc: New test. - -2023-05-10 François Dumont - - * include/bits/hashtable_policy.h - (_NodeBuilder<>::_S_build): Use __node_ptr. - (_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*. - (_AllocNode<>): Likewise. - (_Equality<>::_M_equal): Remove const_iterator usages. Only preserved - to call std::is_permutation in the non-unique key implementation. - * include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture - _M_begin() once. - (_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline. - (_Hashtable<>::_M_insert_bucket_begin): Likewise. - (_Hashtable<>::_M_remove_bucket_begin): Likewise. - (_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than - const_iterator. - (_Hashtable<>::find): Likewise. - (_Hashtable<>::_M_emplace): Likewise. - (_Hashtable<>::_M_insert_unique): Likewise. - -2023-05-09 Jonathan Wakely - - * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter): - Print floating-point durations correctly. - (StdChronoTimePointPrinter): Support printing only the value, - not the type name. Uncomment handling for known clocks. - (StdChronoZonedTimePrinter): Remove type names from output. - (StdChronoCalendarPrinter): Fix hh_mm_ss member access. - (StdChronoTimeZonePrinter): Add equals sign to output. - * testsuite/libstdc++-prettyprinters/chrono.cc: New test. - -2023-05-05 Alexandre Oliva - - * testsuite/20_util/from_chars/4.cc: Skip long double test06 - on aarch64-vxworks. - * testsuite/20_util/to_chars/long_double.cc: Xfail run on - aarch64-vxworks. - -2023-05-04 Jonathan Wakely - - * doc/xml/manual/abi.xml (abi.versioning.history): Document - libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version. - * doc/html/manual/abi.html: Regenerate. - -2023-05-04 Florian Weimer - - * doc/xml/manual/abi.xml (abi.versioning.history): Add - GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for - libgcc_s. - -2023-05-03 Jakub Jelinek - - * src/c++17/floating_from_chars.cc - (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to - _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format. - * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to - _ZSt8to_charsPcS_u9__ieee128. - (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to - _ZSt8to_charsPcS_u9__ieee128St12chars_format. - (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to - _ZSt8to_charsPcS_u9__ieee128St12chars_formati. - * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated. - -2023-05-03 Jakub Jelinek - - * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu - rather than powerpc64-linux-gnu for powerpc64le*-linux*. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove - _ZTI*DF128_, _ZTI*DF64x symbols and symbols in - GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol - versions. - * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New - file. - -2023-05-03 Kefu Chai - Jonathan Wakely - - PR libstdc++/109703 - * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)): - Initialize _M_string_length. - -2023-05-02 Jakub Jelinek - - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. - * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. - -2023-05-02 Jakub Jelinek - - PR libstdc++/109694 - * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for - -Wattribute-alias. - -2023-04-28 Jonathan Wakely - - * include/bits/random.h (gamma_distribution): Add to the right - doxygen group. - (discrete_distribution, piecewise_constant_distribution) - (piecewise_linear_distribution): Create a new doxygen group and - fix the incomplete doxygen comments. - * include/bits/uniform_int_dist.h (uniform_int_distribution): - Add to doxygen group. - -2023-04-28 Jonathan Wakely - - * include/bits/uses_allocator.h: Add missing @file comment. - * include/bits/regex.tcc: Remove stray doxygen comments. - * include/experimental/memory_resource: Likewise. - * include/std/bit: Tweak doxygen @cond comments. - * include/std/expected: Likewise. - * include/std/numbers: Likewise. - -2023-04-28 Jonathan Wakely - - * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes - from header paths. - -2023-04-28 Jonathan Wakely - - * include/bits/move.h: Simplify opening/closing namespace std. - -2023-04-28 Jakub Jelinek - - PR libstdc++/108969 - * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export - _ZSt21ios_base_library_initv. - * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32 - symver and make it the latestp. - * src/c++98/ios_init.cc (ios_base_library_init): New alias. - * acinclude.m4 (libtool_VERSION): Change to 6:32:0. - * include/std/iostream: If init_priority attribute is supported - and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv - symbol into the object. - * configure: Regenerated. - -2023-04-27 Jonathan Wakely - - * include/bits/mofunc_impl.h: Fix typo in doxygen comment. - * include/std/format: Likewise. - -2023-04-27 Jonathan Wakely - - * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME) - (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options. - -2023-04-27 Jonathan Wakely - - * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for - HTML docs. - * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit - from doxygen docs. - * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR): - Likewise. - * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR): - Likewise. - * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): - Likewise. - * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR) - (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT) - (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT) - (_DEFINE_BINARY_OPERATOR): Likewise. - -2023-04-27 Jonathan Wakely - - * include/bits/memory_resource.h: Improve doxygen comments. - * include/std/memory_resource: Likewise. - -2023-04-27 Jonathan Wakely - - PR libstdc++/40380 - * include/bits/basic_string.h: Improve doxygen comments. - * include/bits/cow_string.h: Likewise. - * include/bits/forward_list.h: Likewise. - * include/bits/fs_dir.h: Likewise. - * include/bits/fs_path.h: Likewise. - * include/bits/quoted_string.h: Likewise. - * include/bits/stl_bvector.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/bits/stl_vector.h: Likewise. - * include/bits/unordered_map.h: Likewise. - * include/bits/unordered_set.h: Likewise. - * include/std/filesystem: Likewise. - * include/std/iomanip: Likewise. - -2023-04-27 Jonathan Wakely - - PR libstdc++/105081 - * src/c++11/random.cc (__throw_syserr): New function. - (random_device::_M_init, random_device::_M_init_pretr1): Use new - function for bad tokens. - (random_device::_M_getval): Use new function for read errors. - * testsuite/util/testsuite_random.h (random_device_available): - Change catch handler to use std::system_error. - -2023-04-24 Patrick Palka - - * include/bits/max_size_type.h (__max_diff_type::operator>>=): - Fix propagation of sign bit. - * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the - non-standard 'signed typedef-name'. Add some compile-time tests - for right-shifting a negative __max_diff_type value by more than - one. - -2023-04-19 Patrick Palka - Jonathan Wakely - - PR c++/100157 - * include/bits/utility.h (_Nth_type): Conditionally define in - terms of __type_pack_element if available. - * testsuite/20_util/tuple/element_access/get_neg.cc: Prune - additional errors from the new built-in. - -2023-04-19 Jonathan Wakely - - Revert: - 2023-04-18 Jonathan Wakely - - PR libstdc++/108969 - * src/Makefile.am: Move globals_io.cc to here. - * src/Makefile.in: Regenerate. - * src/c++98/Makefile.am: Remove globals_io.cc from here. - * src/c++98/Makefile.in: Regenerate. - * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust - symbol name and then export with GLIBCXX_3.4.31 symver. - (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise. - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/i486-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: - Regenerate. - * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/pre/gnu.ver: Add iostream objects to new symver. - -2023-04-19 Jonathan Wakely - - Revert: - 2023-04-18 Jonathan Wakely - - PR libstdc++/108969 - * config/abi/pre/gnu.ver: Fix preprocessor condition. - -2023-04-18 Jonathan Wakely - - * doc/xml/manual/extensions.xml: Fix example to declare and - qualify std::free, and use NULL instead of 0. - * doc/html/manual/ext_demangling.html: Regenerate. - * libsupc++/cxxabi.h: Adjust doxygen comments. - -2023-04-18 Jonathan Wakely - - PR libstdc++/108969 - * config/abi/pre/gnu.ver: Fix preprocessor condition. - -2023-04-18 Jonathan Wakely - - PR libstdc++/108969 - * src/Makefile.am: Move globals_io.cc to here. - * src/Makefile.in: Regenerate. - * src/c++98/Makefile.am: Remove globals_io.cc from here. - * src/c++98/Makefile.in: Regenerate. - * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust - symbol name and then export with GLIBCXX_3.4.31 symver. - (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise. - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/i486-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: - Regenerate. - * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/pre/gnu.ver: Add iostream objects to new symver. - -2023-04-18 Patrick Palka - - PR libstdc++/108827 - * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value - for C++23. - * include/std/ranges (range_adaptor_closure): Define for C++23. - * include/std/version (__cpp_lib_ranges): Bump value for - C++23. - * testsuite/std/ranges/version_c++23.cc: Bump expected value - of __cpp_lib_ranges. - * testsuite/std/ranges/range_adaptor_closure.cc: New test. - -2023-04-18 Patrick Palka - - * include/bits/ranges_algo.h (__cpp_lib_ranges_contains): - Define for C++23. - (__cpp_lib_ranges_iota): Likewise. - (__cpp_lib_ranges_find_last): Likewise. - (__cpp_lib_fold): Rename to ... - (__cpp_lib_ranges_fold): ... this. - * include/std/version: As above. - * testsuite/25_algorithms/fold_left/1.cc: Adjust after - renaming __cpp_lib_fold. - * testsuite/std/ranges/version_c++23.cc: Verify values - of the above feature-test macros. - -2023-04-18 Patrick Palka - - PR libstdc++/109525 - * include/std/ranges (views::_AsConst::operator()): Add - missing const to constant_range test. - * testsuite/std/ranges/adaptors/as_const/1.cc (test02): - Improve formatting. Adjust expected type of v2. - (test03): New test. - -2023-04-14 Patrick Palka - - * include/bits/ranges_base.h (const_iterator_t): Define for C++23. - (const_sentinel_t): Likewise. - (range_const_reference_t): Likewise. - (constant_range): Likewise. - (__cust_access::__possibly_const_range): Likewise, replacing ... - (__cust_access::__as_const): ... this. - (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4. - (__cust_access::_CEnd::operator()): Likewise. - (__cust_access::_CRBegin::operator()): Likewise. - (__cust_access::_CREnd::operator()): Likewise. - (__cust_access::_CData::operator()): Likewise. - * include/bits/ranges_util.h (ranges::__detail::__different_from): - Make it an alias of std::__detail::__different_from. - (view_interface::cbegin): Define for C++23. - (view_interface::cend): Likewise. - * include/bits/stl_iterator.h (__detail::__different_from): Define. - (iter_const_reference_t): Define for C++23. - (__detail::__constant_iterator): Likewise. - (__detail::__is_const_iterator): Likewise. - (__detail::__not_a_const_iterator): Likewise. - (__detail::__iter_const_rvalue_reference_t): Likewise. - (__detail::__basic_const_iter_cat):: Likewise. - (const_iterator): Likewise. - (__detail::__const_sentinel): Likewise. - (const_sentinel): Likewise. - (basic_const_iterator): Likewise. - (common_type, _Up>): Likewise. - (common_type<_Up, basic_const_iterator<_Tp>>): Likewise. - (common_type, basic_const_iterator>): - Likewise. - (make_const_iterator): Define for C++23. - (make_const_sentinel): Likewise. - * include/std/ranges (__cpp_lib_ranges_as_const): Likewise. - (as_const_view): Likewise. - (enable_borrowed_range): Likewise. - (views::__detail::__is_ref_view): Likewise. - (views::__detail::__can_is_const_view): Likewise. - (views::_AsConst, views::as_const): Likewise. - * include/std/span (span::const_iterator): Likewise. - (span::const_reverse_iterator): Likewise. - (span::cbegin): Likewise. - (span::cend): Likewise. - (span::crbegin): Likewise. - (span::crend): Likewise. - * include/std/version (__cpp_lib_ranges_as_const): Likewise. - * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to - behave independently of C++20 vs C++23. - * testsuite/std/ranges/version_c++23.cc: Verify value of - __cpp_lib_ranges_as_const macro. - * testsuite/24_iterators/const_iterator/1.cc: New test. - * testsuite/std/ranges/adaptors/as_const/1.cc: New test. - -2023-04-14 Patrick Palka - - * include/bits/ranges_base.h (__cust_access::__as_const) - (__cust_access::_CBegin, __cust::cbegin) - (__cust_access::_CEnd, __cust::cend) - (__cust_access::_CRBegin, __cust::crbegin) - (__cust_access::_CREnd, __cust::crend) - (__cust_access::_CData, __cust::cdata): Move down definitions to - shortly after the definition of input_range. - -2023-04-14 Patrick Palka - - * include/bits/ranges_algo.h: Include for C++23. - (__cpp_lib_fold): Define for C++23. - (in_value_result): Likewise. - (__detail::__flipped): Likewise. - (__detail::__indirectly_binary_left_foldable_impl): Likewise. - (__detail::__indirectly_binary_left_foldable): Likewise. - (___detail:__indirectly_binary_right_foldable): Likewise. - (fold_left_with_iter_result): Likewise. - (__fold_left_with_iter_fn, fold_left_with_iter): Likewise. - (__fold_left_fn, fold_left): Likewise. - (__fold_left_first_with_iter_fn, fold_left_first_with_iter): - Likewise. - (__fold_left_first_fn, fold_left_first): Likewise. - (__fold_right_fn, fold_right): Likewise. - (__fold_right_last_fn, fold_right_last): Likewise. - * include/std/version (__cpp_lib_fold): Likewise. - * testsuite/25_algorithms/fold_left/1.cc: New test. - * testsuite/25_algorithms/fold_right/1.cc: New test. - -2023-04-14 Jonathan Wakely - - * include/std/format (formatter): Add comment to deleted default - constructor of primary template. - (_Checking_scanner): Add static_assert. - -2023-04-12 Jonathan Wakely - - * doc/xml/manual/using.xml: Document libstdc++exp.a library. - * doc/html/*: Regenerate. - -2023-04-12 Jonathan Wakely - - * testsuite/17_intro/names.cc [_AIX]: Do not define policy. - * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename - namespace to avoid clashing with libc struct. - * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: - Likewise. - * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX. - * testsuite/23_containers/unordered_multimap/96088.cc: Likewise. - * testsuite/23_containers/unordered_multiset/96088.cc: Likewise. - * testsuite/23_containers/unordered_set/96088.cc: Likewise. - * testsuite/experimental/synchronized_value.cc: Require gthreads - and add missing option for pthreads targets. - -2023-04-12 Patrick Palka - - * include/std/ranges (__cpp_lib_ranges_enumerate): Define - for C++23. - (__detail::__range_with_movable_reference): Likewise. - (enumerate_view): Likewise. - (enumerate_view::_Iterator): Likewise. - (enumerate_view::_Sentinel): Likewise. - (views::__detail::__can_enumerate_view): Likewise. - (views::_Enumerate, views::enumerate): Likewise. - * include/std/version (__cpp_lib_ranges_enumerate): Likewise. - * testsuite/std/ranges/version_c++23.cc: Verify value of - __cpp_lib_ranges_enumerate. - * testsuite/std/ranges/adaptors/enumerate/1.cc: New test. - -2023-04-12 Patrick Palka - - * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter): - Propagate _M_trailing_empty in the const-converting constructor - as per LWG 3904. - * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct - assertion. - * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test. - -2023-04-12 Patrick Palka - - * src/c++17/floating_from_chars.cc: Include , - , and . - -2023-04-12 Patrick Palka - - PR libstdc++/108291 - * include/std/ranges (chunk_by_view::_M_find_next): Generalize - parameter types of the lambda wrapper passed to adjacent_find. - (chunk_by_view::_M_find_prev): Likewise. - * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05): - New tests. - -2023-04-12 Jonathan Wakely - - PR libstdc++/109482 - * include/experimental/internet (basic_endpoint::basic_endpoint()): - Ensure that the required union members are active. Only define - as constexpr for C++20 and later. - (basic_endpoint::basic_endpoint(const protocol_type&, port_type)): - Likewise. - * testsuite/experimental/net/internet/endpoint/cons.cc: Only - check constexpr default constructor for C++20 and later. - * testsuite/experimental/net/internet/endpoint/extensible.cc: - Likewise. - -2023-04-12 Jonathan Wakely - - * src/c++20/tzdata.zi: Import new file from 2023c release. - -2023-04-05 Arsen Arsenović - - * include/precompiled/stdc++.h (C++17): Don't double-include - , once with wrong conditions. - * testsuite/18_support/96817.cc: Require hosted. - * testsuite/18_support/bad_exception/59392.cc: Ditto. - * testsuite/20_util/scoped_allocator/108952.cc: Ditto. - * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto. - * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: - Ditto. - -2023-04-05 Arsen Arsenović - - * include/bits/c++config: When __STDC_HOSTED__ is zero, - disable _GLIBCXX_DEBUG and, if it was set, enable - _GLIBCXX_ASSERTIONS. - * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): - Include when determining whether debug is - set, in order to inherit the logic from above - -2023-04-05 Arsen Arsenović - - * testsuite/17_intro/versionconflict.cc: New test. - * include/std/version: Allow disabling the system_header pragma - via _GLIBCXX_TESTING_SYSHDR. - -2023-04-05 Arsen Arsenović - - * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory): - Synchronize the definition block with... - * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): - ... this one here. Also define the 202202L value, rather than - leaving it up to purely unique_ptr.h, so that the value is - synchronized across all headers. - (__gnu_debug::_Safe_iterator_base): Move into new conditional - block. - * include/std/memory (__cpp_lib_atomic_value_initialization): - Define on freestanding under the same conditions as in - atomic_base.h. - * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops): - Also define on freestanding. - (__cpp_lib_to_chars): Ditto. - (__cpp_lib_gcd): Ditto. - (__cpp_lib_gcd_lcm): Ditto. - (__cpp_lib_raw_memory_algorithms): Ditto. - (__cpp_lib_array_constexpr): Ditto. - (__cpp_lib_nonmember_container_access): Ditto. - (__cpp_lib_clamp): Ditto. - (__cpp_lib_constexpr_char_traits): Ditto. - (__cpp_lib_constexpr_string): Ditto. - (__cpp_lib_sample): Ditto. - (__cpp_lib_lcm): Ditto. - (__cpp_lib_constexpr_iterator): Ditto. - (__cpp_lib_constexpr_char_traits): Ditto. - (__cpp_lib_interpolate): Ditto. - (__cpp_lib_constexpr_utility): Ditto. - (__cpp_lib_shift): Ditto. - (__cpp_lib_ranges): Ditto. - (__cpp_lib_move_iterator_concept): Ditto. - (__cpp_lib_constexpr_numeric): Ditto. - (__cpp_lib_constexpr_functional): Ditto. - (__cpp_lib_constexpr_algorithms): Ditto. - (__cpp_lib_constexpr_tuple): Ditto. - (__cpp_lib_constexpr_memory): Ditto. - -2023-04-05 John David Anglin - - * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double - timeout factor on hppa*-*-*. - -2023-04-05 Jonathan Wakely - - * include/bits/regex.h (sub_match::swap): New function. - * testsuite/28_regex/sub_match/lwg3204.cc: New test. - -2023-04-04 Jonathan Wakely - - * doc/xml/manual/extensions.xml: Remove std::bad_exception from - example program. - * doc/html/manual/ext_demangling.html: Regenerate. - -2023-03-31 Jonathan Wakely - - PR tree-optimization/107087 - * include/bits/cow_string.h (basic_string::size()): Add - optimizer hint that _S_empty_rep()._M_length is always zero. - (basic_string::length()): Call size(). - -2023-03-31 Jonathan Wakely - - PR libstdc++/109339 - * include/std/stop_token (_Stop_state_ptr(const stop_source&)): - Add attribute access with access-mode 'none'. - * testsuite/30_threads/stop_token/stop_source/109339.cc: New test. - -2023-03-31 Jonathan Wakely - - * include/experimental/internet (ip::basic_endpoint::_M_if_v6): - Revert change from member function to data member. Fix for - constant evaluation by detecting which union member is active. - (ip::basic_endpoint::resize): Revert changes to update _M_is_v6 - flag. - -2023-03-29 Jonathan Wakely - - PR libstdc++/109242 - * testsuite/20_util/optional/monadic/pr109340.cc: Moved to... - * testsuite/20_util/optional/monadic/pr109242.cc: ...here. - -2023-03-29 Jonathan Wakely - - * include/experimental/internet (ip::make_address): Implement - missing overload. - (ip::address_v4::broadcast()): Avoid undefined shift. - (ip::basic_endpoint): Fix member functions for constexpr. - (ip::basic_endpoint::_M_is_v6): Replace member function with - data member, adjust member functions using it. - (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr - content. - * testsuite/experimental/net/internet/address/v4/cons.cc: Fix - constexpr checks to work in C++14. - * testsuite/experimental/net/internet/address/v4/creation.cc: - Likewise. - * testsuite/experimental/net/internet/endpoint/cons.cc: - Likewise. - * testsuite/experimental/net/internet/network/v4/cons.cc: - Likewise. - * testsuite/experimental/net/internet/network/v4/members.cc: - Likewise. - * testsuite/experimental/net/internet/endpoint/extensible.cc: New test. - -2023-03-29 Jonathan Wakely - - * include/std/expected (expected::value() &): Use const lvalue - for unex member passed to bad_expected_access constructor, as - per LWG 3843. - -2023-03-29 Jonathan Wakely - - PR libstdc++/109340 - * include/std/expected (expected::transform): Use - std::remove_cv_t instead of std::remove_cvref_t. - (expected::transform_error): Likewise. - (expected::transform): Likewise. - (expected::transform_error): Likewise. - * include/std/optional (transform): Use std::remove_cv_t. - * testsuite/20_util/optional/monadic/pr109340.cc: New test. - -2023-03-29 Jonathan Wakely - - * include/std/optional (optional): Adjust static assertion to - reject arrays and functions as well as references. - * testsuite/20_util/optional/requirements_neg.cc: New test. - -2023-03-28 Jonathan Wakely - - PR libstdc++/103387 - * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use - std::use_facet instead of cached _M_num_get facet. - (istream::operator>>(short&)): Likewise. - (istream::operator>>(int&)): Likewise. - * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use - std::use_facet instead of cached _M_num_put facet. - -2023-03-28 Jonathan Wakely - - * include/bits/char_traits.h (char_traits::copy): Return without - using memcpy if n==0. - (char_traits::assign): Likewise for memset. - -2023-03-28 Jonathan Wakely - - PR libstdc++/109299 - * include/bits/basic_string.h (basic_string::_M_is_local()): Add - hint for compiler that local strings fit in the local buffer. - -2023-03-28 Jonathan Wakely - - PR libstdc++/109288 - * include/std/chrono (__detail::__get_leap_second_info): Update - expiry date of hardcoded leapseconds list. - * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()): - Likewise. - * src/c++20/tzdata.zi: Import new file from 2023a release. - * testsuite/std/time/time_zone/get_info_local.cc: Only check - transitions for Egypt up to 2014. - -2023-03-28 Matthias Kretz - - * include/experimental/bits/simd.h (is_simd_flag_type): New. - (_IsSimdFlagType): New. - (copy_from, copy_to, load ctors): Constrain _Flags using - _IsSimdFlagType. - -2023-03-28 Matthias Kretz - - * include/experimental/bits/simd_x86.h (_SimdImplX86): Use - _Base::_S_divides if the optimized _S_divides function is hidden - via the preprocessor. - -2023-03-27 Jakub Jelinek - - * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat - warning if size_t is not unsigned long. - -2023-03-22 Jonathan Wakely - - * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)): - Add overload, as per LWG 3893. - * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: - Check assignment from nullptr. - -2023-03-22 Jonathan Wakely - - * include/std/format (formatter): Do not - define partial speclialization, as per LWG 3833. - * testsuite/std/format/formatter/requirements.cc: Check it. - -2023-03-22 Jonathan Wakely - - * include/std/utility (__cpp_lib_constexpr_algorithms): Define, - as per LWG 3792. - * testsuite/20_util/exchange/constexpr.cc: Check for it. - -2023-03-22 Jonathan Wakely - - * include/std/version (__cpp_lib_format): Define. - * testsuite/std/format/functions/format.cc: Check it. - -2023-03-22 Jonathan Wakely - - * include/bits/basic_string.tcc (basic_string::resize_and_overwrite): - Pass rvalues to the callback, as now allowed by LWG 3645. - Enforce preconditions on the return value. - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: - Adjust. - -2023-03-22 Jonathan Wakely - - * include/std/format: Add a comment noting that the resolution - of LWG 3720 has been applied.. - -2023-03-22 Jonathan Wakely - - * include/bits/regex.h (match_results): Add allocator-extended - copy and move constructors, as per LWG 2195. - * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test. - -2023-03-22 Jonathan Wakely - - * include/bits/stream_iterator.h (istream_iterator): Add - constexpr to copy constructor, as per LWG 3600. - * testsuite/24_iterators/istream_iterator/cons/constexpr.cc: - Check copy construction. - -2023-03-21 Matthias Kretz - - * include/experimental/bits/simd_x86.h - (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0 - with __RECIPROCAL_MATH__. - -2023-03-21 Matthias Kretz - - * include/experimental/bits/simd_detail.h: Don't define - _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang. - * include/experimental/bits/simd_x86.h (_S_divides): Remove - check for __clang__. - -2023-03-21 Matthias Kretz - - * include/experimental/bits/simd_detail.h: Don't declare the - simd API as constexpr with Clang. - * include/experimental/bits/simd_x86.h (__movm): New. - (_S_blend_avx512): Resolve FIXME. Implement blend using __movm - and ?:. - (_SimdImplX86::_S_masked_unary): Clang does not implement the - same builtins. Implement the function using __movm, ?:, and - - operators on vector_size types instead. - -2023-03-21 Matthias Kretz - - * testsuite/experimental/simd/tests/operators.cc: Clang doesn't - define __GCC_IEC_559. Use __STDC_IEC_559__ instead. - -2023-03-20 Jonathan Wakely - - * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix - formatting. - -2023-03-20 Marek Polacek - - PR c++/109159 - * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error. - * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. - * testsuite/23_containers/span/explicit.cc: Likewise. - -2023-03-20 Jonathan Wakely - - PR libstdc++/109182 - * include/std/expected (expected::expected(in_place_t)): - Remove template-head. - -2023-03-18 Jonathan Wakely - - PR libstdc++/109165 - * testsuite/18_support/coroutines/hash.cc: Use const object - in second call. - -2023-03-17 Jonathan Wakely - - PR libstdc++/109165 - * include/std/coroutine (hash<>::operator()): Add const. - * testsuite/18_support/coroutines/hash.cc: New test. - -2023-03-14 Patrick Palka - - PR libstdc++/109111 - * include/std/ranges (repeat_view): Remove redundant parentheses - in requires-clause. - (repeat_view::_Iterator): Correct the requires-clause. - -2023-03-14 Patrick Palka - - * include/bits/stl_iterator.h (move_iterator::_S_iter_concept): - Define. - (__cpp_lib_move_iterator_concept): Define for C++20. - (move_iterator::iterator_concept): Strengthen as per P2520R0. - * include/std/version (__cpp_lib_move_iterator_concept): Define - for C++20. - * testsuite/24_iterators/move_iterator/p2520r0.cc: New test. - -2023-03-14 Patrick Palka - - * include/bits/ranges_util.h (view_interface::empty): Add - preferred overloads that use ranges::size when the range is - sized as per LWG 3715. - * testsuite/std/ranges/adaptors/lwg3715.cc: New test. - -2023-03-14 Jonathan Wakely - - * include/bits/chrono.h (__is_duration_v, __is_time_point_v): - Only define for C++17 and later. - -2023-03-14 Jonathan Wakely - - * src/Makefile.am: Add comment about linker script fragments. - * src/Makefile.in: Regenerate. - -2023-03-14 Jonathan Wakely - - PR libstdc++/62196 - * include/bits/mask_array.h (mask_array): Add assertions to - assignment operators. - * include/std/valarray (valarray::operator[](valarray)): - Add assertions. - * testsuite/26_numerics/valarray/mask-1_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-2_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-3_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-4_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-5_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-6_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-7_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-8_neg.cc: New test. - * testsuite/26_numerics/valarray/mask.cc: New test. - -2023-03-13 Jakub Jelinek - - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. - -2023-03-13 Jonathan Wakely - - * doc/Makefile.am: Add comment referring to documentation. - * doc/Makefile.in: Regenerate. - -2023-03-13 Jonathan Wakely - - * doc/html/*: Regenerate. - -2023-03-13 Jonny Grant - - * doc/xml/faq.xml: Update copyright year. - -2023-03-13 Jonathan Wakely - - * include/bits/allocator.h: Fix typo in comment. - -2023-03-12 Jakub Jelinek - - * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos - if it isn't mangled as DF16b but u6__bf16. - -2023-03-12 Gerald Pfeifer - - * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org - to https. - * doc/html/manual/documentation_hacking.html: Regenerate. - -2023-03-10 Jonathan Wakely - - PR libstdc++/109064 - * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker): - Remove self-recursion in __init__. Add missing _supports. - * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count() - and unique(). - -2023-03-09 Patrick Palka - - * include/std/ranges - (cartesian_product_view::_Iterator::_Iterator): Remove - constraint on default constructor as per LWG 3849. - (cartesian_product_view::_Iterator::_M_prev): Adjust position - of _Nm > 0 test as per LWG 3820. - (cartesian_product_view::_Iterator::_M_advance): Perform bounds - checking only on sized cartesian products. - * testsuite/std/ranges/cartesian_product/1.cc (test08): New test. - -2023-03-09 Patrick Palka - - PR libstdc++/109024 - * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per - LWG 3796. - (repeat_view::_M_pred): Likewise. - * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test. - * testsuite/std/ranges/repeat/1.cc (test05): New test. - -2023-03-09 Patrick Palka - - PR libstdc++/108362 - * include/std/ranges (__detail::__can_single_view): New concept. - (_Single::operator()): Constrain it. Move [[nodiscard]] to the - end of the function declarator. - (__detail::__can_iota_view): New concept. - (_Iota::operator()): Constrain it. Move [[nodiscard]] to the - end of the function declarator. - (__detail::__can_istream_view): New concept. - (_Istream::operator()): Constrain it. Move [[nodiscard]] to the - end of the function declarator. - * testsuite/std/ranges/iota/iota_view.cc (test07): New test. - * testsuite/std/ranges/istream_view.cc (test08): New test. - * testsuite/std/ranges/single_view.cc (test07): New test. - -2023-03-09 Patrick Palka - - PR libstdc++/107572 - * include/std/ranges (cartesian_product_view::end): When - building the tuple of iterators, avoid calling ranges::begin on - the first range if __empty_tail is false. - * testsuite/std/ranges/cartesian_product/1.cc (test07): New test. - -2023-03-09 Jonathan Wakely - - PR libstdc++/108882 - * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect - patterns. - -2023-03-07 Jakub Jelinek - - * 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/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. - -2023-03-07 Jonathan Wakely - - PR libstdc++/108882 - * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to - not match symbols in namespace std::__gnu_cxx11_ieee128. - * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for - std::__gnu_cxx11_ieee128::money_{get,put}. - -2023-03-07 Jonathan Wakely - - * libsupc++/eh_personality.cc: Fix spelling in comment. - -2023-03-03 Alexandre Oliva - - * testsuite/30_threads/async/async.cc (test04): Initialize - steady_start, renamed from steady_begin, next to slow_start. - Increase tolerance for final wait. - -2023-03-03 Alexandre Oliva - - * testsuite/libstdc++-prettyprinters/80276.cc: Add - std::string to debug info. - * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. - -2023-03-03 Alexandre Oliva - - PR libstdc++/104852 - PR libstdc++/95989 - PR libstdc++/52590 - * include/bits/std_thread.h (thread::_M_thread_deps): New - static implicitly-inline member function. - (std::thread template ctor): Pass it to _M_start_thread. - * src/c++11/thread.cc (thread::_M_start_thread): Name depend - parameter, force it live on entry. - -2023-03-03 Rainer Orth - - * 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. - -2023-03-01 Jonathan Wakely - - * include/bits/cow_string.h: Fix typo in comment. - -2023-03-01 Jonathan Wakely - - * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if - current time zone cannot be determined. - * testsuite/std/time/tzdb/1.cc: Remove conditions based on - HAVE_TZDB macro and test all members unconditionally. - -2023-02-28 Jonathan Wakely - - PR libstdc++/108952 - * include/bits/uses_allocator_args.h - (uses_allocator_construction_args): Implement LWG 3527. - * testsuite/20_util/pair/astuple/get-2.cc: New test. - * testsuite/20_util/scoped_allocator/108952.cc: New test. - * testsuite/20_util/uses_allocator/lwg3527.cc: New test. - -2023-02-28 Jonathan Wakely - - PR libstdc++/108846 - * include/bits/stl_algobase.h (__copy_move) - Add __assign_one static member function. - (__copy_move): Likewise. - (__copy_move): Do not use memmove for a single - value. - (__copy_move_backward): Likewise. - * testsuite/25_algorithms/copy/108846.cc: New test. - * testsuite/25_algorithms/copy_backward/108846.cc: New test. - * testsuite/25_algorithms/copy_n/108846.cc: New test. - * testsuite/25_algorithms/move/108846.cc: New test. - * testsuite/25_algorithms/move_backward/108846.cc: New test. - -2023-02-28 Jonathan Wakely - - * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]] - attributes. - -2023-02-27 Jonathan Wakely - - * include/bits/basic_ios.h (basic_ios::_M_setstate): Add - caveat to comment. - * include/bits/basic_string.h (resize_and_overwrite): Add - doxygen comment. - -2023-02-24 Matthias Kretz - - * include/experimental/bits/simd.h: Line breaks and indenting - fixed to follow the libstdc++ standard. - * include/experimental/bits/simd_builtin.h: Likewise. - * include/experimental/bits/simd_fixed_size.h: Likewise. - * include/experimental/bits/simd_neon.h: Likewise. - * include/experimental/bits/simd_ppc.h: Likewise. - * include/experimental/bits/simd_scalar.h: Likewise. - * include/experimental/bits/simd_x86.h: Likewise. - -2023-02-24 Matthias Kretz - - PR libstdc++/108030 - * include/experimental/bits/simd_fixed_size.h - (_SimdImplFixedSize::_S_broadcast): Replace inline with - _GLIBCXX_SIMD_INTRINSIC. - (_SimdImplFixedSize::_S_generate): Likewise. - (_SimdImplFixedSize::_S_load): Likewise. - (_SimdImplFixedSize::_S_masked_load): Likewise. - (_SimdImplFixedSize::_S_store): Likewise. - (_SimdImplFixedSize::_S_masked_store): Likewise. - (_SimdImplFixedSize::_S_min): Likewise. - (_SimdImplFixedSize::_S_max): Likewise. - (_SimdImplFixedSize::_S_complement): Likewise. - (_SimdImplFixedSize::_S_unary_minus): Likewise. - (_SimdImplFixedSize::_S_plus): Likewise. - (_SimdImplFixedSize::_S_minus): Likewise. - (_SimdImplFixedSize::_S_multiplies): Likewise. - (_SimdImplFixedSize::_S_divides): Likewise. - (_SimdImplFixedSize::_S_modulus): Likewise. - (_SimdImplFixedSize::_S_bit_and): Likewise. - (_SimdImplFixedSize::_S_bit_or): Likewise. - (_SimdImplFixedSize::_S_bit_xor): Likewise. - (_SimdImplFixedSize::_S_bit_shift_left): Likewise. - (_SimdImplFixedSize::_S_bit_shift_right): Likewise. - (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be - explicit about not always-inline, yet). - (_SimdImplFixedSize::_S_isinf): Likewise. - (_SimdImplFixedSize::_S_isfinite): Likewise. - (_SimdImplFixedSize::_S_isnan): Likewise. - (_SimdImplFixedSize::_S_isnormal): Likewise. - (_SimdImplFixedSize::_S_signbit): Likewise. - -2023-02-24 Matthias Kretz - - PR libstdc++/108856 - * include/experimental/bits/simd_builtin.h - (_SimdImplBuiltin::_S_masked_unary): More efficient - implementation of masked inc-/decrement for integers and floats - without AVX2. - * include/experimental/bits/simd_x86.h - (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract - builtins for masked inc-/decrement. - -2023-02-24 Jonathan Wakely - - * include/experimental/executor (executor): Constrain template - constructors. - -2023-02-24 Jonathan Wakely - - * include/experimental/internet (basic_endpoint): Add missing - constexpr to comparison operators. - * testsuite/experimental/net/internet/endpoint/cons.cc: New test. - -2023-02-24 Jonathan Wakely - - * include/experimental/internet (network_v4::netmask()): Avoid - undefined shift. - (network_v4::broadcast()): Optimize and fix for targets with - uint_least32_t wider than 32 bits. - (network_v4::to_string(const Allocator&)): Fix for custom - allocators and optimize using to_chars. - (operator==(const network_v4&, const network_v4&)): Add missing - constexpr. - (operator==(const network_v6&, const network_v6&)): Likewise. - * testsuite/experimental/net/internet/network/v4/cons.cc: New test. - * testsuite/experimental/net/internet/network/v4/members.cc: New test. - -2023-02-24 Jonathan Wakely - - * include/experimental/internet (address_4(const bytes_type&)): - Use __builtin_bit_cast if available, otherwise convert to - network byte order. - (address_v4::to_bytes()): Likewise, but convert from network - byte order. - * testsuite/experimental/net/internet/address/v4/cons.cc: Fix - incorrect tests. Check for constexpr too. - * testsuite/experimental/net/internet/address/v4/creation.cc: - Likewise. - * testsuite/experimental/net/internet/address/v4/members.cc: - Check that bytes_type is a standard-layout type. - -2023-02-24 Jonathan Wakely - - * include/experimental/internet (address_v4::to_string): - Optimize. - * testsuite/experimental/net/internet/address/v4/members.cc: - Check more addresses. - -2023-02-24 Jonathan Wakely - - * include/ext/aligned_buffer.h (__aligned_buffer): Add - diagnostic pragmas. - -2023-02-24 Jonathan Wakely - - * testsuite/std/format/arguments/lwg3810.cc: Move dg-options - before dg-do. - -2023-02-23 Matthias Kretz - - * testsuite/experimental/simd/tests/reductions.cc: Introduce - max_distance as the type-dependent max error. - -2023-02-23 Matthias Kretz - - * include/experimental/bits/simd_builtin.h (_S_set): Compare as - int. The actual range of these indexes is very small. - -2023-02-23 Matthias Kretz - - * include/experimental/bits/simd_x86.h (_S_bit_shift_left) - (_S_bit_shift_right): Declare constexpr. The implementation was - already expecting constexpr evaluation. - -2023-02-23 Matthias Kretz - - PR libstdc++/108030 - * include/experimental/bits/simd_detail.h - (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for - __clang__. - -2023-02-23 Matthias Kretz - - PR libstdc++/108030 - * include/experimental/bits/simd.h (__vector_broadcast): - Implement via __vector_broadcast_impl instead of - __call_with_n_evaluations + 2 lambdas. - (__vector_broadcast_impl): New. - -2023-02-22 Alexandre Oliva - - * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): - Avoid destruction of the mutex pool. - -2023-02-22 Alexandre Oliva - - * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail - on vxworks. - * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: - Likewise. - -2023-02-22 Alexandre Oliva - - * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in - kernel mode. - -2023-02-20 Andreas Schwab - - * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. - -2023-02-20 Matthias Kretz - - * include/experimental/bits/simd.h (__extract_part, split): - Use reserved name for template parameter. - -2023-02-20 Andreas Schwab - - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. - -2023-02-18 Gerald Pfeifer - - * doc/xml/faq.xml: Switch two links to www.open-std.org to https. - * doc/html/faq.html: Regenerate. - -2023-02-16 Matthias Kretz - - * include/experimental/bits/simd_math.h (__hypot): Bitcasting - between scalars requires the __bit_cast helper function instead - of simd_bit_cast. - -2023-02-16 Matthias Kretz - - * include/experimental/bits/simd_x86.h - (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less) - (_SimdImplX86::_S_less_equal): Do not call - __builtin_is_constant_evaluated in constexpr-if. - -2023-02-16 Matthias Kretz - - * testsuite/experimental/simd/tests/bits/verify.h - (verify::verify): Use %zx for size_t in format string. - -2023-02-16 Matthias Kretz - - * testsuite/experimental/simd/generate_makefile.sh: Generate and - pre-compile pch.h, which includes all headers that do not depend - on command-line macros. - * testsuite/experimental/simd/tests/bits/main.h: New file. - (iterate_abis, main): Moved from verify.h. - * testsuite/experimental/simd/tests/bits/verify.h - (iterate_abis, main): Moved to main.h. - * testsuite/experimental/simd/tests/bits/conversions.h: Add - include guard. - (genHalfBits): Simplify. - * testsuite/experimental/simd/tests/bits/make_vec.h: Add include - guard. - (make_alternating_mask): Moved from mask_loadstore. - * testsuite/experimental/simd/tests/bits/mathreference.h: Add - include guard. - * testsuite/experimental/simd/tests/bits/test_values.h: Ditto. - * testsuite/experimental/simd/tests/mask_loadstore.cc - (make_mask, make_alternating_mask): Removed. - * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto. - * testsuite/experimental/simd/tests/operators.cc (genHalfBits): - Removed. - * testsuite/experimental/simd/tests/abs.cc: Only include - bits/main.h. - Ditto. - * testsuite/experimental/simd/tests/algorithms.cc: Ditto. - * testsuite/experimental/simd/tests/broadcast.cc: Ditto. - * testsuite/experimental/simd/tests/casts.cc: Ditto. - * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. - * testsuite/experimental/simd/tests/frexp.cc: Ditto. - * testsuite/experimental/simd/tests/generator.cc: Ditto. - * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto. - * testsuite/experimental/simd/tests/integer_operators.cc: Ditto. - * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: - * testsuite/experimental/simd/tests/loadstore.cc: Ditto. - * testsuite/experimental/simd/tests/logarithm.cc: Ditto. - * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto. - * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto. - * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto. - * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto. - * testsuite/experimental/simd/tests/mask_operators.cc: Ditto. - * testsuite/experimental/simd/tests/math_1arg.cc: Ditto. - * testsuite/experimental/simd/tests/math_2arg.cc: Ditto. - * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto. - * testsuite/experimental/simd/tests/reductions.cc: Ditto. - * testsuite/experimental/simd/tests/remqo.cc: Ditto. - * testsuite/experimental/simd/tests/simd.cc: Ditto. - * testsuite/experimental/simd/tests/sincos.cc: Ditto. - * testsuite/experimental/simd/tests/split_concat.cc: Ditto. - * testsuite/experimental/simd/tests/splits.cc: Ditto. - * testsuite/experimental/simd/tests/trigonometric.cc: Ditto. - * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto. - * testsuite/experimental/simd/tests/where.cc: Ditto. - -2023-02-16 Matthias Kretz - - * testsuite/experimental/simd/README.md: Document the timeout - and timeout-factor directives. Minor typo fixed. - -2023-02-16 Matthias Kretz - - PR libstdc++/108030 - * include/experimental/bits/simd_detail.h: Define - _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA. - * include/experimental/bits/simd.h: Annotate lambdas with - _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA. - * include/experimental/bits/simd_builtin.h: Ditto. - * include/experimental/bits/simd_converter.h: Ditto. - * include/experimental/bits/simd_fixed_size.h: Ditto. - * include/experimental/bits/simd_math.h: Ditto. - * include/experimental/bits/simd_neon.h: Ditto. - * include/experimental/bits/simd_x86.h: Ditto. - -2023-02-16 Matthias Kretz - - * include/experimental/bits/simd.h - (_SimdWrapper::_M_is_constprop_none_of) - (_SimdWrapper::_M_is_constprop_all_of): Return false unless the - computed result still satisfies __builtin_constant_p. - -2023-02-16 Jonathan Wakely - - * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8 - ellipsis character. - -2023-02-16 Jonathan Wakely - - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/experimental/synchronized_value: New file. - * testsuite/experimental/synchronized_value.cc: New test. - -2023-02-16 Jonathan Wakely - - * include/experimental/optional: Fix header name in comment. - -2023-02-16 Jonathan Wakely - - * include/std/format (__format::_Arg_store): New class template. - (basic_format_args): Remove nested type _Store and add deduction - guide from _Arg_store. - (basic_format_arg, make_format_args): Adjust. - * testsuite/std/format/arguments/lwg3810.cc: New test. - -2023-02-16 Jonathan Wakely - - * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling - constraints to constructors and add deleted overloads for the - dangling cases, as per P2255R2. - (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to - make dangling cases ill-formed. - * testsuite/20_util/pair/dangling_ref.cc: New test. - -2023-02-16 Jonathan Wakely - - * testsuite/17_intro/names_pstl.cc: Require et tbb_backend. - -2023-02-16 Jonathan Wakely - - * include/ext/throw_allocator.h: Use reserved names for - parameters. - -2023-02-16 Jonathan Wakely - - * testsuite/17_intro/names_pstl.cc: Add space after effective - target name. - -2023-02-16 Jonathan Wakely - - * include/pstl/algorithm_fwd.h (__pattern_search_n) - (__brick_unique_copy, __brick_adjacent_find) - (__brick_generate_n, __pattern_generate_n): Use reserved names - for parameters. - * include/pstl/algorithm_impl.h (__brick_unique_copy) - (__pattern_reverse, __brick_generate_n): Likewise. - * include/pstl/execution_impl.h (__prefer_unsequenced_tag) - (__prefer_parallel_tag): Likewise. - * include/pstl/glue_algorithm_impl.h (transform): Likewise. - * include/pstl/glue_numeric_defs.h (adjacent_difference): - Likewise. - * include/pstl/numeric_impl.h (__brick_adjacent_difference): - Likewise. - * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise. - * include/pstl/unseq_backend_simd.h (_Combiner) - (__simd_min_element, __simd_minmax_element): Likewise. - * testsuite/17_intro/names_pstl.cc: New test. - -2023-02-16 Jonathan Wakely - - * include/bits/fs_ops.h (create_directory): Use reserved name - for parameter. - * include/bits/ranges_algo.h (__contains_subrange_fn): - Likewise. - * include/bits/regex_automaton.h (_State_base::_M_print): - Likewise. - * include/bits/regex_automaton.tcc(_State_base::_M_print): - Likewise. - * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise. - * include/experimental/bits/fs_ops.h (create_directory): - Likewise. - * include/std/mutex (timed_mutex::_M_clocklock): Likewise. - (recursive_timed_mutex:_M_clocklock): Likewise. - * include/std/tuple (basic_common_reference): Likewise. - * libsupc++/cxxabi_init_exception.h - (__cxa_init_primary_exception): Likewise. - * testsuite/17_intro/names.cc: Add checks. - -2023-02-14 Gerald Pfeifer - - * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link - to www.open-std.org and https. - * doc/html/manual/status.html: Regenerate. - -2023-02-14 Thomas W Rodgers - - PR libstdc++/103934 - * include/std/atomic (atomic_flag_wait): Add. - (atomic_flag_wait_explicit): Add. - (atomic_flag_notify): Add. - (atomic_flag_notify_explicit): Add. - * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: - Add test case to cover missing atomic_flag free functions. - -2023-02-14 Thomas W Rodgers - - PR libstdc++/103934 - * include/std/atomic (atomic_flag_test): Add. - (atomic_flag_test_explicit): Add. - * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add - test case to cover missing atomic_flag free functions. - * testsuite/29_atomics/atomic_flag/test/implicit.cc: - Likewise. - -2023-02-13 Gerald Pfeifer - - * doc/xml/manual/policy_data_structures_biblio.xml: Adjust - "The Component Object Model" reference. - * doc/html/manual/policy_data_structures.html: Regenerate. - -2023-02-12 Gerald Pfeifer - - * doc/xml/manual/containers.xml: Tweak a link to N1780 - (C++ standard). - * doc/html/manual/associative.html: Regenerate. - -2023-02-12 Gerald Pfeifer - - * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org. - * doc/html/manual/facets.html: Regenerate. - -2023-02-11 Gerald Pfeifer - - * doc/xml/manual/policy_data_structures_biblio.xml: Update - link to "Worst-case efficient priority queues". - * doc/html/manual/policy_data_structures.html: Regenerate. - -2023-02-06 Arsen Arsenović - - * doc/xml/manual/using.xml: Document newly-freestanding - headers and the effect of the -ffreestanding flag. - * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as - completed. - * doc/xml/manual/configure.xml: Document that hosted installs - respect __STDC_HOSTED__. - * doc/xml/manual/test.xml: Document how to run tests in - freestanding mode. - * doc/html/*: Regenerate. - -2023-02-06 Jonathan Wakely - - * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp. - (__find_last_if_fn): Likewise. - -2023-02-06 Jonathan Wakely - - * include/std/type_traits: Add diagnostic pragmas around - references to deprecated std::aligned_storage and - std::aligned_union traits. - * testsuite/20_util/aligned_storage/requirements/alias_decl.cc: - Add dg-warning for et c++23. - * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/aligned_storage/value.cc: Likewise. - * testsuite/20_util/aligned_union/1.cc: Likewise. - * testsuite/20_util/aligned_union/requirements/alias_decl.cc: - Likewise. - -2023-02-06 Nathaniel Shead - - * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros. - * include/bits/c++config (_GLIBCXX23_DEPRECATED) - (_GLIBCXX23_DEPRECATED_SUGGEST): New macros. - * include/std/type_traits (aligned_storage, aligned_union) - (aligned_storage_t, aligned_union_t): Deprecate for C++23. - * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test. - * testsuite/20_util/aligned_union/deprecated-2b.cc: New test. - -2023-02-06 Nathaniel Shead - - * doc/doxygen/user.cfg.in (PREDEFINED): Update macros. - * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make - consistent with other 'deprecated' macros. - * include/std/type_traits (is_pod, is_pod_v): Use - _GLIBCXX20_DEPRECATED_SUGGEST instead. - -2023-02-06 Arsen Arsenović - - * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory. - * Makefile.in: Regenerate. - * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files. - There's no history to be compatible with. - * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only - source files from the build. - * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. - * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. - * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. - * src/Makefile.in: Regenerate. - * src/c++11/Makefile.in: Regenerate. - * src/c++17/Makefile.in: Regenerate. - * src/c++20/Makefile.in: Regenerate. - * src/c++98/Makefile.in: Regenerate. - -2023-02-06 Jonathan Wakely - - * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add - filesystem, libbacktrace and experimental. - * src/Makefile.in: Regenerate. - -2023-02-04 Hans-Peter Nilsson - - PR libstdc++/108672 - * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__ - instead of int32_t. - -2023-02-04 Gerald Pfeifer - - * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex. - * doc/html/manual/documentation_hacking.html: Regenerate. - -2023-02-04 François Dumont - - * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to - storage to the move-from instance when allocators are equal. - * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04): - New test case. - -2023-02-03 Samuel Thibault - - * config/os/gnu-linux/os_defines.h [!__linux__] - (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define. - -2023-02-03 Patrick Palka - - * include/bits/ranges_algo.h (__find_last_fn, find_last): - Define. - (__find_last_if_fn, find_last_if): Define. - (__find_last_if_not_fn, find_last_if_not): Define. - * testsuite/25_algorithms/find_last/1.cc: New test. - * testsuite/25_algorithms/find_last_if/1.cc: New test. - * testsuite/25_algorithms/find_last_if_not/1.cc: New test. - -2023-02-03 Patrick Palka - - * include/bits/ranges_algo.h (out_value_result): Define. - (iota_result): Define. - (__iota_fn, iota): Define. - * testsuite/25_algorithms/iota/1.cc: New test. - -2023-02-03 Patrick Palka - - * include/bits/ranges_algo.h (__contains_fn, contains): Define. - (__contains_subrange_fn, contains_subrange): Define. - * testsuite/25_algorithms/contains/1.cc: New test. - * testsuite/25_algorithms/contains_subrange/1.cc: New test. - -2023-02-02 Gerald Pfeifer - - * doc/xml/manual/abi.xml: Tweak link to ABIcheck project. - * doc/html/manual/abi.html: Regenerate. - -2023-02-02 Jonathan Wakely - - * src/filesystem/ops-common.h [AVR] (__unsupported): Always use - errc::function_not_supported instead of errc::not_supported. - -2023-02-02 Jonathan Wakely - - * include/std/sstream (basic_stringbuf::view): Define for old - std::string ABI. - (basic_istringstream::view, basic_0stringstream::view) - (basic_stringstream::view): Likewise. - * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove - { dg-require-effective-target cxx11_abi }. - * 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_stringbuf/view/char/1.cc: Likewise. - * testsuite/27_io/basic_stringbuf/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. - -2023-02-02 Jonathan Wakely - - PR libstdc++/108636 - * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr - conversion operators for directory iterator comparisons with - std::default_sentinel_t. - * include/bits/fs_path.h (path::path(string_view, _Type)) - (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline - definitions to ... - * src/c++17/fs_path.cc: ... here. - * testsuite/27_io/filesystem/path/108636.cc: New test. - -2023-02-02 Jonathan Wakely - - * include/std/variant (variant::operator=): Implement resolution - of LWG 3585. - * testsuite/20_util/variant/lwg3585.cc: New test. - -2023-02-02 Gerald Pfeifer - - * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org - link to https. - * doc/html/manual/using_exceptions.html: Regenerate. - -2023-02-02 Gerald Pfeifer - - * doc/xml/manual/debug.xml: Fix link to online GDB manual. - * doc/html/manual/debug.html: Regenerate. - -2023-02-01 Jonathan Wakely - - * src/c++11/random.cc (random_device::_M_fini): Do not try to - close the file handle if the target doesn't support the - /dev/random and /dev/urandom files. - -2023-02-01 Jonathan Wakely - - * config/os/generic/error_constants.h (errc::value_too_large) - [__AVR__]: Define. - * src/c++11/system_error.cc - (system_category::default_error_condition) [__AVR__]: Only match - recognize values equal to EDOM, ERANGE, ENOSYS and EINTR. - * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check - for ENOENT etc. in switch. - (fs::remove_all) [__AVR__]: Likewise. - * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open, - close etc. - -2023-02-01 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set - embed_zoneinfo=no - * configure: Regenerate. - -2023-02-01 Hans-Peter Nilsson - - PR testsuite/108632 - * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty - struct at end of S0. - -2023-01-30 Gerald Pfeifer - - * doc/xml/manual/shared_ptr.xml: Move links from both - http://open-std.org and http://www.open-std.org to - https://www.open-std.org. - * doc/html/manual/memory.html: Regenerate. - -2023-01-28 Gerald Pfeifer - - * doc/xml/manual/appendix_contributing.xml: Adjust link to - ISO C++ standard at ANSI. - Move link to www.open-std.org to https. - * doc/html/manual/appendix_contributing.html: Regenerate. - -2023-01-28 Gerald Pfeifer - - * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net - links to https. - * doc/html/manual/documentation_hacking.html: Regenerate. - -2023-01-28 Gerald Pfeifer - - * doc/xml/manual/abi.xml: Update www.open-std.org link to https. - * doc/html/manual/abi.html: Regenerate. - -2023-01-27 Jakub Jelinek - - PR libstdc++/108568 - * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd - include features.h if present and then check __GLIBC__ and - __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing - __GLIBC_PREREQ which isn't defined yet. - -2023-01-27 Jonathan Wakely - - * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of - string literal. - -2023-01-27 Jonathan Wakely - - PR libstdc++/108554 - * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus. - -2023-01-26 Jonathan Wakely - - * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow - rules named "+" for compatibility with older tzdata.zi files. - -2023-01-26 Jonathan Wakely - - PR libstdc++/108554 - * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add - nonnull attribute. - (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull - attributes. - * testsuite/23_containers/map/modifiers/108554.cc: New test. - -2023-01-26 Jonathan Wakely - - PR libstdc++/108530 - * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in - /etc/sysconfig/clock, not DEFAULT_TIMEZONE. - -2023-01-26 Gerald Pfeifer - - * doc/xml/manual/intro.xml: Update links to www.open-std.org to - use https. - * doc/html/manual/bugs.html: Regenerate. - -2023-01-24 Jonathan Wakely - - PR libstdc++/108530 - * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in - /etc/sysconfig/clock. - -2023-01-24 Jonathan Wakely - - PR libstdc++/102301 - * include/bits/ranges_base.h: Include for - std::make_reverse_iterator. - * include/std/tuple: Include for subrange. - (make_from_tuple): Add static assertion from P2255 to diagnose - dangling references. - * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test. - * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test. - -2023-01-23 François Dumont - - * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New. - (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New. - (_Safe_iterator::operator++(int)): Use latter. - (_Safe_iterator::operator--(int)): Likewise. - (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular() - check. - * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked): - New. - (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New. - (_Safe_local_iterator::operator++(int)): Use latter. - * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id - entry associated to the array entry. - -2023-01-18 Jonathan Wakely - - * include/bits/fs_path.h (u8path): Add deprecated attribute. - * testsuite/27_io/filesystem/path/construct/90281.cc: Add - -Wno-deprecated-declarations for C++20 and later. - * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: - Likewise. - * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise. - * testsuite/27_io/filesystem/path/native/string.cc: Likewise. - * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test. - -2023-01-18 Jonathan Wakely - - * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]: - Always call _M_fini and _M_getentropy. - -2023-01-18 Gerald Pfeifer - - * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links - to www.open-std.org to use https. - (COM: Component Model Object Technologies): Rename from... - (The Component Object Model): ...to. - * doc/html/manual/policy_data_structures.html: Regenerate. - -2023-01-18 Dimitrij Mijoski - - * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify. - * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify. - * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify. - -2023-01-17 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead - of $host. Fix check for file being present during native build. - * configure: Regenerate. - -2023-01-17 Martin Liska - - * src/libbacktrace/Makefile.in: Regenerate. - -2023-01-16 Jonathan Wakely - - * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1. - -2023-01-16 Jonathan Wakely - - PR libstdc++/108413 - * include/c_compatibility/stdatomic.h: Change copyright line to - be consistent with other headers contributed under DCO terms. - * include/std/expected: Add full stop to copyright line. - * src/c++20/tzdb.cc: Likewise. - -2023-01-15 Gerald Pfeifer - - * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to - https. - * doc/xml/manual/status_cxx2017.xml: Ditto. - * doc/xml/manual/status_cxx2020.xml: Ditto. - * doc/xml/manual/status_cxx2023.xml: Ditto. - * doc/html/manual/status.html: Regenerate. - -2023-01-15 Jonathan Wakely - - * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if - and fail gracefully if defining the weak symbol doesn't work. - -2023-01-15 François Dumont - - PR libstdc++/108288 - * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock - fix to other iterator category. - (_Safe_iterator<>::operator--(int)): Likewise. - * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)): - Fix deadlock. - * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New. - (invalid_local_iterator_post_increment): New. - * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc: - New test. - * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc: - New test. - -2023-01-15 Jonathan Wakely - - * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from - dg-options. - -2023-01-15 Jonathan Wakely - - * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char. - -2023-01-14 Björn Schäpers - - * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for - windows.h. Add pecoff as FORMAT_FILE. - * config.h.in: Regenerate. - * configure: Regenerate. - * src/libbacktrace/Makefile.am: Regenerate. - * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE. - -2023-01-14 Björn Schäpers - - * include/std/stacktrace (stacktrace_entry::_S_demangle): Use - raw __name if __cxa_demangle could not demangle it. - -2023-01-14 Jonathan Wakely - - PR libstdc++/108409 - * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment - variable. - -2023-01-14 Jonathan Wakely - - * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for - loading tzdb. - * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb - effective target. - * testsuite/std/time/tzdb_list/1.cc: Likewise. - -2023-01-14 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the - --with-libstdcxx-zoneinfo-dir configure option with - --with-libstdcxx-zoneinfo with yes/no/static choices as well as - a directory. - * config.h.in: Regenerate. - * configure: Regenerate. - * doc/xml/manual/configure.xml: Document configure option. - * doc/html/manual/configure.html: Regenerate. - * src/c++20/Makefile.am: Generate tzdata.zi.h header. - * src/c++20/Makefile.in: Regenerate. - * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a - null pointer if no directory is configured. - (zoneinfo_dir): Replace with ... - (zoneinfo_file): New function. - (tzdata_stream): New istream class. - (remote_version, reload_tzdb): Use tzdata_stream. - * testsuite/lib/libstdc++.exp (check_effective_target_tzdb): - Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of - tzdata.zi file in default location. - * src/c++20/tzdata.zi: New file. - -2023-01-14 Jonathan Wakely - - * include/bits/chrono_io.h (operator<<): Fix syntax errors. - * testsuite/std/time/month_day/io.cc: New test. - * testsuite/std/time/month_day_last/io.cc: New test. - * testsuite/std/time/month_weekday/io.cc: New test. - * testsuite/std/time/month_weekday_last/io.cc: New test. - * testsuite/std/time/weekday_indexed/io.cc: New test. - * testsuite/std/time/weekday_last/io.cc: New test. - * testsuite/std/time/year_month/io.cc: New test. - * testsuite/std/time/year_month_day_last/io.cc: New test. - * testsuite/std/time/year_month_weekday/io.cc: New test. - * testsuite/std/time/year_month_weekday_last/io.cc: New test. - -2023-01-14 François Dumont - - * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol - specifications. - * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols - export. - -2023-01-13 Jonathan Wakely - - * include/bits/std_mutex.h: Include . - -2023-01-13 Arsen Arsenović - - * testsuite/20_util/to_chars/version.cc: Mark hosted-only. - * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto. - * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto. - * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of - std::make_unique with a freestanding-compatible wrapper around - unique_ptr. - * testsuite/21_strings/basic_string_view/operations/contains/char.cc: - Don't test for presence of __cpp_lib_string_contains on !HOSTED. - * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: - Ditto. - * testsuite/std/ranges/version_c++23.cc: Don't test for presence - of __cpp_lib_ranges in !HOSTED. - -2023-01-13 Arsen Arsenović - - * include/Makefile.am: Install bits/char_traits.h, - std/string_view - * include/Makefile.in: Regenerate. - * include/bits/char_traits.h: Gate hosted-only, wchar-only and - mbstate-only bits behind appropriate #ifs. - * include/std/string_view: Gate functionality behind - HOSTED. - * include/std/version: Enable __cpp_lib_constexpr_string_view - and __cpp_lib_starts_ends_with in !HOSTED. - * include/std/ranges: Re-enable __is_basic_string_view on - freestanding, include directly. - * include/precompiled/stdc++.h: Include when - !HOSTED too. - * testsuite/20_util/function_objects/searchers.cc: Skip testing - boyer_moore searchers on freestanding - * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard - -related tests behind __STDC_HOSTED__. - * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto. - * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove - unused include. - * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove - unused include. - * testsuite/21_strings/basic_string_view/cons/char/range.cc: - Guard related testing behind __STDC_HOSTED__. - * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: - Guard related tests behind __STDC_HOSTED__. - * testsuite/21_strings/basic_string_view/element_access/char/1.cc: - Ditto. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: - Guard tests behind __STDC_HOSTED__. - * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: - Enable test on freestanding, guard bits behind - __STDC_HOSTED__. - * testsuite/21_strings/basic_string_view/operations/substr/char.cc: - Guard bits behind __STDC_HOSTED__. - * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc: - Ditto. - -2023-01-13 Dimitrij Mijoski - - PR libstdc++/86419 - * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect - errors in incomplete multibyte sequences. - (utf16_in): Remove surrogates parameter. Fix conditions for - returning partial. - (utf16_out): Fix condition for returning partial. - (ucs2_in): Do not pass surrogates argument to utf16_in. - * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test. - * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for - tests. - * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New - test. - -2023-01-13 Jonathan Wakely - - PR libstdc++/108331 - * config/io/c_io_stdio.h (__c_lock): Define as a typedef for - __GTHREAD_LEGACY_MUTEX_T if defined. - -2023-01-13 Jonathan Wakely - - PR libstdc++/108327 - * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31): - Export __try_use_facet specializations for facets in namespace - __gnu_cxx_ldbl128. - * config/os/gnu-linux/ldbl-ieee128-extra.ver - (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace - __gnu_cxx_ieee128. - * testsuite/util/testsuite_abi.cc: Add to lists of known and - latest versions. - -2023-01-13 Jonathan Wakely - - * include/bits/std_mutex.h: Remove include. - * include/std/condition_variable: Add - include. - * include/std/mutex: Likewise. - * include/std/shared_mutex: Likewise. - -2023-01-12 Jonathan Wakely - - PR libstdc++/77691 - * include/experimental/memory_resource - (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define. - (do_allocate, do_deallocate): Check it. - * testsuite/experimental/memory_resource/new_delete_resource.cc: - Relax expected behaviour for 64-bit hppa-hp-hpux11.11. - -2023-01-12 Jonathan Wakely - - * doc/xml/manual/abi.xml: Add latest library versions. - * doc/html/manual/abi.html: Regenerate. - -2023-01-12 François Dumont - - PR libstdc++/107189 - * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove - unused _Alloc_node instance. - -2023-01-12 Jonathan Wakely - - * include/bits/atomic_wait.h (__detail::__platform_wait_t): - Define as unsigned long if always lock-free, and unsigned int - otherwise. - -2023-01-10 Jonathan Wakely - - * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and - __catch macros for exception handling. - -2023-01-10 Jonathan Wakely - - PR libstdc++/108221 - * include/bits/stl_algobase.h (__lg): Replace six overloads with - a single function template for all integer types. - * include/bits/stl_algo.h (__merge_adaptive_resize): Cast - arithmetic results back to _Distance. - -2023-01-10 Jonathan Wakely - - PR libstdc++/108221 - * include/std/span (span::span()): Un-simplify constraint to - work for size_t of lesser rank than int. - -2023-01-07 LIU Hao - - PR middle-end/108300 - * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before - . - * src/c++11/thread.cc: Likewise. - * src/c++17/fs_ops.cc: Likewise. - * src/filesystem/ops.cc: Likewise. - -2023-01-06 Jonathan Wakely - - PR libstdc++/108228 - * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma. - -2023-01-06 Jonathan Wakely - - PR libstdc++/108235 - * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class - template and partial specialization for synchronizing access to - time_zone::_Impl::infos. - (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of - rules_counter. - -2023-01-06 Patrick Palka - - PR libstdc++/108260 - * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23. - * include/std/ranges (__cpp_lib_ranges_zip): Likewise. - (__cpp_lib_ranges_chunk): Likewise. - (__cpp_lib_ranges_slide): Likewise. - (__cpp_lib_ranges_chunk_by): Likewise. - (__cpp_lib_ranges_join_with): Likewise. - (__cpp_lib_ranges_repeat): Likewise. - (__cpp_lib_ranges_stride): Likewise. - (__cpp_lib_ranges_cartesian_product): Likewise. - (__cpp_lib_ranges_as_rvalue): Likewise. - * include/std/version: Ditto. - * testsuite/20_util/tuple/p2321r2.cc: Verify value of - feature-test macro. - * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. - * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. - * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. - * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. - * testsuite/std/ranges/cartesian_product/1.cc: Likewise. - * testsuite/std/ranges/repeat/1.cc: Likewise. - * testsuite/std/ranges/zip/1.cc: Likewise. - * testsuite/std/ranges/version_c++23.cc: New test. - -2023-01-06 Jonathan Wakely - - PR libstdc++/108214 - * include/std/bitset (operator>>): Use alloca in the right - scope, not in a constructor. - * testsuite/20_util/bitset/io/input.cc: Check case from PR. - -2023-01-06 Jonathan Wakely - - PR libstdc++/108221 - * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]: - Disable visiting floating-point types. - -2023-01-06 Jonathan Wakely - - PR libstdc++/108288 - * include/debug/safe_iterator.h (_Safe_iterator::operator++(int)) - (_Safe_iterator::operator--(int)): Do not hold lock around - construction of return value. - -2023-01-05 John David Anglin - - * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define. - (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for - lock release. Revise loop. - (__atomic_add): Likewise. - -2023-01-05 Jonathan Wakely - - PR libstdc++/108212 - * python/libstdcxx/v6/printers.py (_utc_timezone): New global - variable. - (StdChronoTimePointPrinter::to_string): Use it. - -2023-01-05 Jonathan Wakely - - PR libstdc++/108290 - * include/std/functional (_Bind_front): Add no_unique_address - attribute to data members. - * testsuite/20_util/function_objects/bind_front/107784.cc: Check - size of call wrappers with empty types for targets and bound - arguments. - -2023-01-05 Jonathan Wakely - - PR libstdc++/108211 - * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone - using only last component of the name. - -2023-01-05 Jonathan Wakely - - PR libstdc++/108228 - PR libstdc++/108235 - * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to - the latest symbol version. - * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if - atomic<_Node*> is not always lock free. - (USE_ATOMIC_LIST_HEAD): New macro. - [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide - definition of weak symbol. - (tzdb_list::_Node::_S_head): Rename to _S_head_cache. - (tzdb_list::_Node::_S_list_head): New function for accessing - list head efficiently. - (tzdb_list::_Node::_S_cache_list_head): New function for - updating _S_list_head. - -2023-01-05 Jonathan Wakely - - PR libstdc++/108265 - * include/std/chrono (hh_mm_ss): Do not use chrono::abs if - duration rep is unsigned. - * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep. - -2023-01-04 Iain Sandoe - - PR libstdc++/108228 - * config/abi/pre/gnu.ver (GLIBCXX_3.4): - Add __gnu_cxx::zoneinfo_dir_override(). - -2023-01-04 Jonathan Wakely - - PR libstdc++/108258 - * include/std/array (__array_traits::operator T*()): Add - constexpr. - * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check - std::array::data(). - -Copyright (C) 2023 Free Software Foundation, Inc. +Copyright (C) 2024 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/libstdc++-v3/ChangeLog-2023 b/libstdc++-v3/ChangeLog-2023 new file mode 100644 index 000000000000..f97165b4992c --- /dev/null +++ b/libstdc++-v3/ChangeLog-2023 @@ -0,0 +1,8354 @@ +2023-12-31 Hans-Peter Nilsson + + * testsuite/20_util/hash/quality.cc: Increase timeout by a factor 3. + +2023-12-31 François Dumont + + * include/bits/hashtable.h: Move comment about all equivalent values + being next to each other in the class documentation header. + (_M_reinsert_node, _M_merge_unique): Implement small size optimization. + (_M_find_tr, _M_count_tr, _M_equal_range_tr): Likewise. + +2023-12-31 François Dumont + + * testsuite/performance/23_containers/insert/54075.cc: Add lookup on unknown entries + w/o copy to see potential impact of memory fragmentation enhancements. + * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc: Enhance hash + functor to make it perfect, exactly 1 entry per bucket. Also use hash functor tagged as + slow or not to bench w/o hash code cache. + * testsuite/performance/23_containers/insert/unordered_set_hint.cc: New test case. Like + previous one but using std::unordered_set. + * testsuite/performance/23_containers/insert/unordered_set_range_insert.cc: New test case. + Check performance of range-insertion compared to individual insertions. + * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: Add same bench + but after a copy to demonstrate impact of enhancements regarding memory fragmentation. + +2023-12-22 Christophe Lyon + + * Makefile.am: Allow overriding EXEPCT. + * Makefile.in: Regenerate. + +2023-12-21 Arsen Arsenović + + * include/Makefile.am: Install std/generator, bits/elements_of.h + as freestanding. + * include/Makefile.in: Regenerate. + * include/bits/version.def: Add __cpp_lib_generator. + * include/bits/version.h: Regenerate. + * include/precompiled/stdc++.h: Include . + * include/std/ranges: Include bits/elements_of.h + * include/bits/elements_of.h: New file. + * include/std/generator: New file. + * testsuite/24_iterators/range_generators/01.cc: New test. + * testsuite/24_iterators/range_generators/02.cc: New test. + * testsuite/24_iterators/range_generators/copy.cc: New test. + * testsuite/24_iterators/range_generators/except.cc: New test. + * testsuite/24_iterators/range_generators/synopsis.cc: New test. + * testsuite/24_iterators/range_generators/subrange.cc: New test. + +2023-12-21 Arsen Arsenović + + * include/bits/ranges_util.h: Add missing + include. + +2023-12-18 Patrick Palka + + PR libstdc++/112802 + PR libstdc++/113068 + * include/std/ranges (__detail::_To::operator()): Add constraints. + (__detail::_To2::operator()): Likewise. + * testsuite/std/ranges/conv/1.cc (test_sfinae): New test. + (test_composition): New test. + +2023-12-16 Jonathan Wakely + + * src/c++23/print.cc (__open_terminal(FILE*)): Avoid fileno + macro. + +2023-12-16 H.J. Lu + + * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: + Updated. + +2023-12-16 Ken Matsui + + * include/std/type_traits (remove_pointer): Use __remove_pointer + built-in trait. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_object): Use __is_object built-in + trait. + (is_object_v): Likewise. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_function): Use __is_function + built-in trait. + (is_function_v): Likewise. Optimize its implementation. Move + this under is_const_v as this depends on is_const_v. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_reference): Use __is_reference + built-in trait. + (is_reference_v): Likewise. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_member_object_pointer): Use + __is_member_object_pointer built-in trait. + (is_member_object_pointer_v): Likewise. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_member_function_pointer): Use + __is_member_function_pointer built-in trait. + (is_member_function_pointer_v): Likewise. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_member_pointer): Use + __is_member_pointer built-in trait. + (is_member_pointer_v): Likewise. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_scoped_enum): Use + __is_scoped_enum built-in trait. + (is_scoped_enum_v): Likewise. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_bounded_array_v): Use + __is_bounded_array built-in trait. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_array): Use __is_array built-in + trait. + (is_array_v): Likewise. + +2023-12-15 Jonathan Wakely + + * src/c++23/print.cc (__write_to_terminal) [_WIN32]: If handle + does not refer to the console then just write to it using normal + file I/O. + * testsuite/27_io/print/2.cc (as_printed_to_terminal): Print + error message on failure. + (test_utf16_transcoding): Adjust for as_printed_to_terminal + modifying its argument. + +2023-12-15 Jonathan Wakely + + * include/std/ostream (vprint_unicode) [_WIN32]: Use RAII guard. + (vprint_unicode) [!_WIN32]: Just call vprint_nonunicode. + * include/std/print (vprint_unicode) [!_WIN32]: Likewise. + +2023-12-15 Jonathan Wakely + + * include/std/ostream (vprint_nonunicode, vprint_unicode): Do + not insert padding. + * testsuite/27_io/basic_ostream/print/1.cc: Adjust expected + behaviour. + +2023-12-14 Jonathan Wakely + + PR libstdc++/107760 + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/bits/version.def (__cpp_lib_print): Define. + * include/bits/version.h: Regenerate. + * include/std/format (__literal_encoding_is_utf8): New function. + (_Seq_sink::view()): New member function. + * include/std/ostream (vprintf_nonunicode, vprintf_unicode) + (print, println): New functions. + * include/std/print: New file. + * src/c++23/Makefile.am: Add new source file. + * src/c++23/Makefile.in: Regenerate. + * src/c++23/print.cc: New file. + * testsuite/27_io/basic_ostream/print/1.cc: New test. + * testsuite/27_io/print/1.cc: New test. + * testsuite/27_io/print/2.cc: New test. + +2023-12-14 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): Add + missing header to configure test. Check correct variable. + * config/io/basic_file_stdio.cc (__basic_file::native_handle): + Fix typo. + * configure: Regenerate. + * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: Do not + call CloseHandle on the native handle. + * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: + Likewise. + +2023-12-14 Jonathan Wakely + + * include/std/format (_Seq_sink): Fix missing argument in + discarded statement. Add comments, likely/unlikely attributes + and debug assertions as sanity checks. + +2023-12-14 Jonathan Wakely + + * testsuite/27_io/objects/char/2.cc: Use dg-output. + * testsuite/27_io/objects/wchar_t/2.cc: Use dg-output. + +2023-12-14 Jonathan Wakely + + * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix order + of arguments to std::format_to. + * testsuite/20_util/duration/io.cc: Test subsecond duration with + floating-point rep. + +2023-12-14 Jonathan Wakely + + PR libstdc++/109536 + * include/bits/c++config (__glibcxx_constexpr_assert): Remove + macro. + * include/bits/stl_algobase.h (__niter_base, __copy_move_a) + (__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux) + (__lexicographical_compare_aux): Add constexpr to overloads for + debug mode iterators. + * include/debug/helper_functions.h (__unsafe): Add constexpr. + * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_COND_AT): Remove + macro, folding it into ... + (_GLIBCXX_DEBUG_VERIFY_AT_F): ... here. Do not use + __glibcxx_constexpr_assert. + * include/debug/safe_base.h (_Safe_iterator_base): Add constexpr + to some member functions. Omit attaching, detaching and checking + operations during constant evaluation. + * include/debug/safe_container.h (_Safe_container): Likewise. + * include/debug/safe_iterator.h (_Safe_iterator): Likewise. + * include/debug/safe_iterator.tcc (__niter_base, __copy_move_a) + (__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux) + (__lexicographical_compare_aux): Add constexpr. + * include/debug/vector (_Safe_vector, vector): Add constexpr. + Omit safe iterator operations during constant evaluation. + * testsuite/23_containers/vector/bool/capacity/constexpr.cc: + Remove dg-xfail-if for debug mode. + * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise. + * testsuite/23_containers/vector/bool/cons/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/element_access/1.cc: + Likewise. + * testsuite/23_containers/vector/bool/element_access/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/capacity/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/cmp_c++20.cc: Likewise. + * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. + * testsuite/23_containers/vector/data_access/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/element_access/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: + Adjust dg-error line number. + +2023-12-13 Jonathan Wakely + + * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Do + not round century down for %Y formats. + +2023-12-12 Jonathan Wakely + + * include/std/format (__do_vformat_to): Handle char separately + from other integral types. + * testsuite/std/format/functions/format.cc: Check for expected + output for char and bool arguments. + * testsuite/std/format/string.cc: Check that 0 filling is + rejected for character and string formats. + +2023-12-12 Jonathan Wakely + + * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Fix + rounding for negative centuries. + * testsuite/std/time/year/io.cc: Check %C for negative years. + +2023-12-12 Jonathan Wakely + + * src/c++11/Makefile.am: Remove redundant -std=gnu++11 flags. + * src/c++11/Makefile.in: Regenerate. + +2023-12-09 Jonathan Wakely + + PR libstdc++/111826 + * include/bits/version.def (format): Update value. + * include/bits/version.h: Regenerate. + * testsuite/std/format/functions/format.cc: + +2023-12-09 Jonathan Wakely + + PR libstdc++/112876 + * include/std/ranges (ranges::to): Do not try to use an iterator + returned by the container's emplace or insert member functions. + * testsuite/std/ranges/conv/1.cc (Cont4::emplace, Cont4::insert): + Use the iterator parameter. Do not return an iterator. + +2023-12-07 Patrick Palka + + * include/std/ranges (__detail::_ToClosure): Replace with ... + (__detail::_To): ... this. + (__detail::_ToClosure2): Replace with ... + (__detail::To2): ... this. + (to): Simplify using the existing _Partial range adaptor + closure object. + +2023-12-07 Jonathan Wakely + + * include/std/format (_Iter_sink): + Remove uint64_t local type. + +2023-12-07 Jonathan Wakely + + * include/bits/atomic_wait.h: Include instead of + . + +2023-12-07 Jonathan Wakely + + PR libstdc++/112882 + * include/bits/c++config (__is_constant_evaluated): Add + always_inline attribute. + (_GLIBCXX_DO_ASSERT): Remove macro. + (__glibcxx_assert): Define separately for assertions-enabled and + constexpr-only cases. + +2023-12-07 Alexandre Oliva + + PR libstdc++/112858 + * config/os/gnu-linux/os_defines.h + (_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL): Define. + * libsupc++/atexit_thread.cc [__GXX_WEAK__ && + _GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL] + (__cxa_thread_atexit): Add dynamic detection of + __cxa_thread_atexit_impl. + +2023-12-06 Jason Merrill + + DR 532 + PR c++/53499 + * testsuite/23_containers/vector/ext_pointer/types/1.cc + * testsuite/23_containers/vector/ext_pointer/types/2.cc + (N::operator-): Make less specialized. + +2023-12-06 Alexandre Oliva + + Revert: + 2023-12-02 Alexandre Oliva + + * libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic + detection of __cxa_thread_atexit_impl. + +2023-12-05 Jonathan Wakely + + PR libstdc++/111948 + * include/bits/ranges_util.h (subrange): Add constructor to + _Size to aoid setting member in constructor. + * testsuite/std/ranges/subrange/111948.cc: New test. + +2023-12-05 Jonathan Wakely + + * include/std/ranges (__detail::__container_insertable): Remove. + (__detail::__container_inserter): Remove. + (ranges::to): Use emplace_back or emplace, as per LWG 4016. + * testsuite/std/ranges/conv/1.cc (Cont4, test_2_1_4): Check for + use of emplace_back and emplace. + +2023-12-05 Jonathan Wakely + + * include/bits/c++config (__glibcxx_assert_fail): Declare even + when assertions are not enabled. + (__glibcxx_constexpr_assert): Remove macro. + (__glibcxx_assert_impl): Remove macro. + (_GLIBCXX_ASSERT_FAIL): New macro. + (_GLIBCXX_DO_ASSERT): New macro. + (__glibcxx_assert): Simplify to a single definition that works + at runtime and during constant evaluation. + * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: + Adjust expected errors. + * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: + Likewise. + * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc: + Likewise. + * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc: + Likewise. + * testsuite/23_containers/span/back_neg.cc: Likewise. + * testsuite/23_containers/span/front_neg.cc: Likewise. + * testsuite/23_containers/span/index_op_neg.cc: Likewise. + * testsuite/26_numerics/lcm/105844.cc: Likewise. + +2023-12-05 Jonathan Wakely + + PR libstdc++/112832 + * include/std/format (formatter::set_debug_format): Ensure this + member is defined conditionally for all specializations. + * testsuite/std/format/formatter/112832.cc: New test. + +2023-12-05 Will Hawkins + Jonathan Wakely + + * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: Add check + for LWG Issue 3897. + +2023-12-05 Marek Polacek + + PR c++/107687 + PR c++/110997 + * testsuite/18_support/comparisons/categories/zero_neg.cc: Add + dg-prune-output. + * testsuite/std/format/string_neg.cc: Add dg-error. + +2023-12-02 Alexandre Oliva + + * libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic + detection of __cxa_thread_atexit_impl. + +2023-12-01 Jason Merrill + + * include/std/bit: Avoid builtins in requires-clauses. + * include/std/variant: Likewise. + +2023-12-01 Rainer Orth + + * configure: Regenerate. + +2023-11-30 Jonathan Wakely + + * include/std/ranges (__detail::__toable): Fix incorrect use of + _Range instead of _Cont. + (__detail::_ToClosure, __detail::_ToClosure2): Add missing + constexpr specifier on constructors. + * testsuite/std/ranges/conv/1.cc (_Cont, _Cont2, _Cont3): Remove + unnecessary begin() and end() members. + (test_constexpr): New function to check range adaptors are + usable in constant expressions. + +2023-11-29 Thomas Schwinge + + * testsuite/23_containers/span/at.cc: Fix for '-fno-exceptions' + configurations. + +2023-11-28 Jonathan Wakely + + * include/bits/atomic_wait.h: Include . + +2023-11-28 Jonathan Wakely + + * include/bits/stl_uninitialized.h: Fix typo in comment. + +2023-11-24 Jan Hubicka + + PR middle-end/109849 + * include/bits/stl_uninitialized.h (__relocate_a_1): Use memcpy instead + of memmove. + +2023-11-23 Jonathan Wakely + + PR libstdc++/111055 + * include/bits/ranges_base.h (from_range_t): Define new tag + type. + (from_range): Define new tag object. + * include/bits/version.def (ranges_to_container): Define. + * include/bits/version.h: Regenerate. + * include/std/ranges (ranges::to): Define. + * testsuite/std/ranges/conv/1.cc: New test. + * testsuite/std/ranges/conv/2_neg.cc: New test. + * testsuite/std/ranges/conv/version.cc: New test. + +2023-11-23 Jonathan Wakely + + * testsuite/util/testsuite_allocator.h (uneq_allocator): Fix + equality operator for heterogeneous comparisons. + +2023-11-21 Jonathan Wakely + + * include/bits/version.def (freestanding_cstring): Add. + * include/bits/version.h: Regenerate. + * include/c_compatibility/string.h (strtok): Do not declare for + C++26 freestanding. + * include/c_global/cstring (strtok): Likewise. + * testsuite/21_strings/headers/cstring/version.cc: New test. + +2023-11-21 Jonathan Wakely + + * include/bits/version.def (freestanding_algorithm) + (freestanding_array, freestanding_optional) + (freestanding_string_view, freestanding_variant): Add. + * include/bits/version.h: Regenerate. + * include/std/algorithm (__glibcxx_want_freestanding_algorithm): + Define. + * include/std/array (__glibcxx_want_freestanding_array): + Define. + * include/std/optional (__glibcxx_want_freestanding_optional): + Define. + * include/std/string_view + (__glibcxx_want_freestanding_string_view): Define. + * include/std/variant (__glibcxx_want_freestanding_variant): + Define. + * testsuite/20_util/optional/version.cc: Add checks for + __cpp_lib_freestanding_optional. + * testsuite/20_util/variant/version.cc: Add checks for + __cpp_lib_freestanding_variant. + * testsuite/23_containers/array/tuple_interface/get_neg.cc: + Adjust dg-error line numbers. + * testsuite/21_strings/basic_string_view/requirements/version.cc: + New test. + * testsuite/23_containers/array/requirements/version.cc: New + test. + * testsuite/25_algorithms/fill_n/requirements/version.cc: New + test. + * testsuite/25_algorithms/swap_ranges/requirements/version.cc: + New test. + +2023-11-21 Jonathan Wakely + + * include/bits/version.def (freestanding_expected): New macro. + (span): Add C++26 value. + * include/bits/version.h: Regenerate. + * include/std/expected (__glibcxx_want_freestanding_expected): + Define. + * include/std/span (span::at): New member function. + * testsuite/20_util/expected/version.cc: Add checks for + __cpp_lib_freestanding_expected. + * testsuite/23_containers/span/2.cc: Moved to... + * testsuite/23_containers/span/version.cc: ...here. Add checks + for __cpp_lib_span in as well as in . + * testsuite/23_containers/span/1.cc: Removed. + * testsuite/23_containers/span/at.cc: New test. + +2023-11-21 Jonathan Wakely + + * include/tr2/dynamic_bitset (dynamic_bitset): Pass zero and one + characters to _M_copy_from_string. + * testsuite/tr2/dynamic_bitset/string.cc: New test. + +2023-11-21 Jonathan Wakely + + * doc/html/*: Regenerate. + * doc/xml/faq.xml: Remove reference to buildstat.html pages. + * doc/xml/manual/test.xml: Likewise + +2023-11-21 Jan Hubicka + + PR libstdc++/110287 + PR middle-end/109811 + PR middle-end/109849 + * include/bits/stl_vector.h (_M_realloc_append): New member function. + (push_back): Use it. + * include/bits/vector.tcc: (emplace_back): Use it. + (_M_realloc_insert): Let compiler know that new vector size is non-zero. + (_M_realloc_append): New member function. + +2023-11-18 Jonathan Wakely + + PR libstdc++/112607 + * include/std/format (basic_format_arg::_S_to_arg_type): Check + value_type for basic_string_view and basic_string + specializations. + * testsuite/std/format/arguments/112607.cc: New test. + +2023-11-18 Jonathan Wakely + + PR libstdc++/110801 + * include/std/format (_Sink_iter::_M_reserve): New member + function. + (_Sink::_Reservation): New nested class. + (_Sink::_M_reserve, _Sink::_M_bump): New virtual functions. + (_Seq_sink::_M_reserve, _Seq_sink::_M_bump): New virtual + overrides. + (_Iter_sink::_M_reserve): Likewise. + (__do_vformat_to): Use new functions to optimize "{}" case. + +2023-11-17 Jonathan Wakely + + * config.h.in: Regenerate. + +2023-11-17 Jonathan Wakely + + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/bits/version.def (saturation_arithmetic): Define. + * include/bits/version.h: Regenerate. + * include/std/numeric: Include new header. + * include/bits/sat_arith.h: New file. + * testsuite/26_numerics/saturation/add.cc: New test. + * testsuite/26_numerics/saturation/cast.cc: New test. + * testsuite/26_numerics/saturation/div.cc: New test. + * testsuite/26_numerics/saturation/mul.cc: New test. + * testsuite/26_numerics/saturation/sub.cc: New test. + * testsuite/26_numerics/saturation/version.cc: New test. + +2023-11-17 Jonathan Wakely + + * include/std/utility (in_range): Rename _Up parameter to _Res. + +2023-11-17 Jonathan Wakely + + * include/bits/out_ptr.h: Add Doxygen comments. Remove a + redundant preprocessor condition. + * testsuite/20_util/smartptr.adapt/version.cc: New test. + +2023-11-17 Jonathan Wakely + + * include/bits/chrono_io.h: Fix Doxygen markup. + +2023-11-16 Jonathan Wakely + + PR libstdc++/112564 + * include/std/stacktrace (formatter::format): Format according + to format-spec. + * include/std/thread (formatter::format): Use _Align_right as + default. + * testsuite/19_diagnostics/stacktrace/output.cc: Check + fill-and-align handling. Change compile test to run. + * testsuite/30_threads/thread/id/output.cc: Check fill-and-align + handling. + +2023-11-16 Jonathan Wakely + + PR libstdc++/111667 + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/bits/out_ptr.h: New file. + * include/bits/shared_ptr.h (__is_shared_ptr): Move definition + to here ... + * include/bits/shared_ptr_atomic.h (__is_shared_ptr): ... from + here. + * include/bits/shared_ptr_base.h (__shared_count): Declare + out_ptr_t as a friend. + (_Sp_counted_deleter, __shared_ptr): Likewise. + * include/bits/unique_ptr.h (unique_ptr, unique_ptr): + Declare out_ptr_t and inout_ptr_t as friends. + (__is_unique_ptr): Define new variable template. + * include/bits/version.def (out_ptr): Define. + * include/bits/version.h: Regenerate. + * include/std/memory: Include new header. + * testsuite/20_util/smartptr.adapt/inout_ptr/1.cc: New test. + * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: New test. + * testsuite/20_util/smartptr.adapt/inout_ptr/shared_ptr_neg.cc: + New test. + * testsuite/20_util/smartptr.adapt/inout_ptr/void_ptr.cc: New + test. + * testsuite/20_util/smartptr.adapt/out_ptr/1.cc: New test. + * testsuite/20_util/smartptr.adapt/out_ptr/2.cc: New test. + * testsuite/20_util/smartptr.adapt/out_ptr/shared_ptr_neg.cc: + New test. + * testsuite/20_util/smartptr.adapt/out_ptr/void_ptr.cc: New + test. + +2023-11-16 Jonathan Wakely + + * include/bits/algorithmfwd.h: Do not define standard feature + test macro here. + * include/bits/align.h: Likewise. Test internal macros instead + of standard macros. + * include/bits/alloc_traits.h: Likewise. + * include/bits/allocator.h: Likewise. + * include/bits/atomic_base.h: Likewise. + * include/bits/atomic_timed_wait.h: Likewise. + * include/bits/atomic_wait.h: Likewise. + * include/bits/basic_string.h: Likewise. + * include/bits/basic_string.tcc: Likewise. + * include/bits/char_traits.h: Likewise. + * include/bits/chrono.h: Likewise. + * include/bits/cow_string.h: Likewise. + * include/bits/forward_list.h: Likewise. + * include/bits/hashtable.h: Likewise. + * include/bits/ios_base.h: Likewise. + * include/bits/memory_resource.h: Likewise. + * include/bits/move.h: Likewise. + * include/bits/move_only_function.h: Likewise. + * include/bits/node_handle.h: Likewise. + * include/bits/ptr_traits.h: Likewise. + * include/bits/range_access.h: Likewise. + * include/bits/ranges_algo.h: Likewise. + * include/bits/ranges_cmp.h: Likewise. + * include/bits/ranges_util.h: Likewise. + * include/bits/semaphore_base.h: Likewise. + * include/bits/shared_ptr.h: Likewise. + * include/bits/shared_ptr_atomic.h: Likewise. + * include/bits/shared_ptr_base.h: Likewise. + * include/bits/stl_algo.h: Likewise. + * include/bits/stl_algobase.h: Likewise. + * include/bits/stl_function.h: Likewise. + * include/bits/stl_iterator.h: Likewise. + * include/bits/stl_list.h: Likewise. + * include/bits/stl_map.h: Likewise. + * include/bits/stl_pair.h: Likewise. + * include/bits/stl_queue.h: Likewise. + * include/bits/stl_stack.h: Likewise. + * include/bits/stl_tree.h: Likewise. + * include/bits/stl_uninitialized.h: Likewise. + * include/bits/stl_vector.h: Likewise. + * include/bits/unique_ptr.h: Likewise. + * include/bits/unordered_map.h: Likewise. + * include/bits/uses_allocator_args.h: Likewise. + * include/bits/utility.h: Likewise. + * include/bits/erase_if.h: Add comment. + * include/std/algorithm: Define standard feature test macros + here. + * include/std/atomic: Likewise. + * include/std/array: Likewise. + * include/std/chrono: Likewise. + * include/std/condition_variable: Likewise. + * include/std/deque: Likewise. + * include/std/format: Likewise. + * include/std/functional: Likewise. + * include/std/forward_list: Likewise. + * include/std/ios: Likewise. + * include/std/iterator: Likewise. + * include/std/list: Likewise. + * include/std/map: Likewise. + * include/std/memory: Likewise. + * include/std/numeric: Likewise. + * include/std/queue: Likewise. + * include/std/ranges: Likewise. + * include/std/regex: Likewise. + * include/std/set: Likewise. + * include/std/stack: Likewise. + * include/std/stop_token: Likewise. + * include/std/string: Likewise. + * include/std/string_view: + * include/std/tuple: Likewise. + * include/std/unordered_map: + * include/std/unordered_set: + * include/std/utility: Likewise. + * include/std/vector: Likewise. + * include/std/scoped_allocator: Query internal macros instead of + standard macros. + +2023-11-16 Jonathan Wakely + + * testsuite/18_support/byte/requirements.cc: Disable PCH. + * testsuite/18_support/destroying_delete.cc: Likewise. + * testsuite/18_support/source_location/1.cc: Likewise. + * testsuite/18_support/source_location/version.cc: Likewise. + * testsuite/18_support/type_info/constexpr.cc: Likewise. + * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: + Likewise. + * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. + * testsuite/20_util/addressof/requirements/constexpr.cc: + Likewise. + * testsuite/20_util/allocator_traits/header-2.cc: Likewise. + * testsuite/20_util/allocator_traits/header.cc: Likewise. + * testsuite/20_util/as_const/1.cc: Likewise. Likewise. + * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. + * testsuite/20_util/bitset/version.cc: Likewise. + * testsuite/20_util/duration/arithmetic/constexpr_c++17.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/exchange/constexpr.cc: Likewise. + * testsuite/20_util/expected/synopsis.cc: Likewise. + * testsuite/20_util/expected/version.cc: Likewise. + * testsuite/20_util/function_objects/bind_front/1.cc: Likewise. + * testsuite/20_util/function_objects/bind_front/2.cc: Likewise. + * testsuite/20_util/function_objects/invoke/3.cc: Likewise. + * testsuite/20_util/function_objects/invoke/4.cc: Likewise. + * testsuite/20_util/function_objects/invoke/constexpr.cc: + Likewise. + * testsuite/20_util/function_objects/invoke/version.cc: + Likewise. + * testsuite/20_util/function_objects/searchers.cc: Likewise. + * testsuite/20_util/integer_comparisons/1.cc: Likewise. + * testsuite/20_util/integer_comparisons/2.cc: Likewise. + * testsuite/20_util/is_bounded_array/value.cc: Likewise. + * testsuite/20_util/is_layout_compatible/value.cc: Likewise. + * testsuite/20_util/is_layout_compatible/version.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/value.h: Likewise. + * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc: + Remove redundant checks already tested elsewhere. + * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_nothrow_swappable_with/value.cc: Disable + PCH. + * testsuite/20_util/is_pointer_interconvertible/value.cc: + Likewise. + * testsuite/20_util/is_pointer_interconvertible/version.cc: + Likewise. + * testsuite/20_util/is_scoped_enum/value.cc: Likewise. + * testsuite/20_util/is_scoped_enum/version.cc: Likewise. + * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc: + Remove redundant checks already tested elsewhere. + * testsuite/20_util/is_swappable/requirements/typedefs.cc: + Remove redundant checks already tested elsewhere. + * testsuite/20_util/is_swappable/value.cc: Disable PCH. + * testsuite/20_util/is_swappable/value.h: Reorder headers. + * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc: + Remove redundant checks already tested elsewhere. + * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: + Remove redundant checks already tested elsewhere. + * testsuite/20_util/is_swappable_with/value.cc: Disable PCH. + * testsuite/20_util/is_unbounded_array/value.cc: Likewise. + * testsuite/20_util/move_only_function/cons.cc: Likewise. + * testsuite/20_util/move_only_function/version.cc: Likewise. + * testsuite/20_util/optional/monadic/and_then.cc: Likewise. + * testsuite/20_util/optional/requirements.cc: Likewise. + * testsuite/20_util/optional/version.cc: Likewise. + * testsuite/20_util/owner_less/void.cc: Likewise. + * testsuite/20_util/reference_from_temporary/value.cc: Likewise. + * testsuite/20_util/reference_from_temporary/version.cc: + Likewise. + * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: + Likewise. + * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. + * testsuite/20_util/time_point_cast/rounding.cc: Likewise. + * testsuite/20_util/to_chars/constexpr.cc: Likewise. + * testsuite/20_util/to_chars/result.cc: Likewise. + * testsuite/20_util/to_chars/version.cc: Likewise. + * testsuite/20_util/to_underlying/1.cc: Likewise. + * testsuite/20_util/to_underlying/version.cc: Likewise. + * testsuite/20_util/tuple/apply/1.cc: Likewise. + * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: + Likewise. + * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. + * testsuite/20_util/tuple/p2321r2.cc: Likewise. + * testsuite/20_util/tuple/tuple_element_t.cc: Likewise. + * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: + Likewise. + * testsuite/20_util/unreachable/1.cc: Likewise. + * testsuite/20_util/unreachable/version.cc: Likewise. + * testsuite/20_util/unwrap_reference/1.cc: Likewise. + * testsuite/20_util/unwrap_reference/3.cc: Likewise. + * testsuite/20_util/variant/constexpr.cc: Likewise. + * testsuite/20_util/variant/version.cc: Likewise. + * testsuite/20_util/variant/visit_inherited.cc: Likewise. + * testsuite/20_util/void_t/1.cc: Likewise. + * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: + Likewise. + * testsuite/21_strings/basic_string/cons/char/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/erasure.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/version.cc: + Likewise. + * testsuite/21_strings/basic_string/version.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/char.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: + Likewise. + * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: + Likewise. + * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: + Likewise. + * testsuite/21_strings/char_traits/requirements/version.cc: + Likewise. + * testsuite/23_containers/array/comparison_operators/constexpr.cc: + Likewise. + * testsuite/23_containers/array/creation/1.cc: Likewise. + * testsuite/23_containers/array/creation/2.cc: Likewise. + * testsuite/23_containers/array/element_access/constexpr_c++17.cc: + Likewise. + * testsuite/23_containers/array/requirements/constexpr_fill.cc: + Likewise. + * testsuite/23_containers/array/requirements/constexpr_iter.cc: + Likewise. + * testsuite/23_containers/deque/erasure.cc: Likewise. + * 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/queue/cons_from_iters.cc: Likewise. + * testsuite/23_containers/set/erasure.cc: Likewise. + * testsuite/23_containers/span/1.cc: Likewise. + * testsuite/23_containers/span/2.cc: Likewise. + * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. + * testsuite/23_containers/unordered_map/erasure.cc: Likewise. + * testsuite/23_containers/unordered_map/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_set/erasure.cc: Likewise. + * testsuite/23_containers/unordered_set/operations/1.cc: + Likewise. + * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. + * testsuite/23_containers/vector/erasure.cc: Likewise. + * testsuite/23_containers/vector/requirements/version.cc: + Likewise. + * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. + * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. + * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc: + Remove redundant checks already tested elsewhere. + * testsuite/25_algorithms/constexpr_macro.cc: Likewise. + * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise. + * testsuite/25_algorithms/fold_left/1.cc: Likewise. + * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise. + * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise. + * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. + * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise. + * testsuite/25_algorithms/pstl/feature_test.cc: Likewise. + * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise. + * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise. + * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise. + * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. + * testsuite/26_numerics/bit/header-2.cc: Likewise. + * testsuite/26_numerics/bit/header.cc: Likewise. + * testsuite/26_numerics/complex/1.cc: Likewise. + * testsuite/26_numerics/complex/2.cc: Likewise. + * testsuite/26_numerics/endian/2.cc: Likewise. + * testsuite/26_numerics/endian/3.cc: Likewise. + * testsuite/26_numerics/gcd/1.cc: Likewise. + * testsuite/26_numerics/lcm/1.cc: Likewise. + * testsuite/26_numerics/lerp/1.cc: Likewise. + * testsuite/26_numerics/lerp/version.cc: Likewise. + * testsuite/26_numerics/midpoint/integral.cc: Likewise. + * testsuite/26_numerics/midpoint/version.cc: Likewise. + * testsuite/26_numerics/numbers/1.cc: Likewise. + * testsuite/26_numerics/numbers/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: + Likewise. + * testsuite/27_io/basic_filebuf/native_handle/version.cc: + Likewise. + * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: + Likewise. + * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: + Likewise. + * testsuite/27_io/basic_syncbuf/1.cc: Likewise. + * testsuite/27_io/basic_syncbuf/2.cc: Likewise. + * testsuite/27_io/basic_syncstream/1.cc: Likewise. + * testsuite/27_io/basic_syncstream/2.cc: Likewise. + * testsuite/27_io/spanstream/1.cc: Likewise. + * testsuite/27_io/spanstream/version.cc: Likewise. + * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. + * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: + Likewise. + * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. + * testsuite/30_threads/barrier/1.cc: Likewise. + * testsuite/30_threads/barrier/2.cc: Likewise. + * testsuite/30_threads/condition_variable_any/stop_token/1.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/stop_token/2.cc: + Likewise. + * testsuite/30_threads/jthread/1.cc: Likewise. + * testsuite/30_threads/jthread/version.cc: Likewise. + * testsuite/30_threads/latch/1.cc: Likewise. + * testsuite/30_threads/latch/2.cc: Likewise. + * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: + Likewise. + * testsuite/30_threads/semaphore/1.cc: Likewise. + * testsuite/30_threads/semaphore/2.cc: Likewise. + * testsuite/30_threads/stop_token/1.cc: Likewise. + * testsuite/30_threads/stop_token/2.cc: Likewise. + * testsuite/experimental/feat-char8_t.cc: Likewise. + * testsuite/experimental/iterator/ostream_joiner.cc: Likewise. + * testsuite/experimental/numeric/gcd.cc: Likewise. + * testsuite/experimental/scopeguard/uniqueres.cc: Likewise. + * testsuite/std/concepts/1.cc: Likewise. + * testsuite/std/concepts/2.cc: Likewise. + * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise. + * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. + * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise. + * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. + * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. + * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. + * testsuite/std/ranges/cartesian_product/1.cc: Likewise. + * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise. + * testsuite/std/ranges/repeat/1.cc: Likewise. + * testsuite/std/ranges/version_c++23.cc: Likewise. + * testsuite/std/ranges/zip/1.cc: Likewise. + * testsuite/std/time/syn_c++20.cc: Likewise. + * testsuite/experimental/feat-cxx14.cc: Likewise. Include + and . + * testsuite/23_containers/array/tuple_interface/get_neg.cc: + Adjust dg-error line numbers. + +2023-11-16 Jonathan Wakely + + * include/bits/version.def (stds): Use >= 202100 for C++23 + condition. + * include/bits/version.h: Regenerate. + * include/std/thread: Use > C++20 instead of >= C++23 for + __cplusplus condition. + +2023-11-16 Jonathan Wakely + + * include/std/istream (__rvalue_stream_extraction_t): Test + __cpp_concepts instead of __cpp_lib_concepts. + * include/std/ostream (__derived_from_ios_base): Likewise. + (__rvalue_stream_insertion_t): Likewise. + +2023-11-15 Jonathan Wakely + + PR libstdc++/112491 + * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): + Correctly handle unused capacity at the start of the first node. + * testsuite/libstdc++-xmethods/deque.cc: Check index operator + when elements have been removed from the front. + +2023-11-15 Jonathan Wakely + + * include/std/stacktrace (basic_stacktrace::at): Fix class name + in exception message. + * testsuite/19_diagnostics/stacktrace/hash.cc: Do not fail if + current() returns a non-empty stacktrace. + +2023-11-15 Alexandre Oliva + + Revert: + 2023-11-15 Alexandre Oliva + + * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef. + +2023-11-15 Alexandre Oliva + + * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef. + +2023-11-14 Cassio Neri + + * include/std/chrono (operator-(const weekday&, const weekday&)): + Optimize. + +2023-11-14 Cassio Neri + + * include/std/chrono (weekday::_S_from_days): Fix UB. + * testsuite/std/time/weekday/1.cc: Add test for overflow. + +2023-11-14 Cassio Neri + + * include/std/chrono (year::is_leap): Clear code. + +2023-11-14 Cassio Neri + + * include/std/chrono (year_month_day_last::day): Remove &1. + +2023-11-14 Jonathan Wakely + + * include/std/charconv (__from_chars_pow2_base): Convert base to + unsigned for call to __countr_zero. + (__from_chars_alnum): Likewise for call to __bit_width. + +2023-11-14 Jonathan Wakely + + PR libstdc++/112348 + * include/std/stacktrace (hash>): Fix + type of hash functio nfor entries. + * testsuite/19_diagnostics/stacktrace/hash.cc: New test. + +2023-11-14 Jonathan Wakely + + PR libstdc++/112491 + * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix + calculation to use _M_start._M_cur. + * testsuite/libstdc++-xmethods/deque.cc: Check failing cases. + +2023-11-13 Arsen Arsenović + + * configure: Regenerate. + +2023-11-13 Jonathan Wakely + + * testsuite/std/time/clock/file/io.cc: Double timeout using + dg-timeout-factor. + * testsuite/std/time/clock/gps/io.cc: Likewise. + * testsuite/std/time/clock/local/io.cc: Likewise. + * testsuite/std/time/clock/system/io.cc: Likewise. + * testsuite/std/time/clock/tai/io.cc: Likewise. + * testsuite/std/time/clock/utc/io.cc: Likewise. + +2023-11-13 Jonathan Wakely + + PR libstdc++/112480 + * include/std/optional (_Optional_payload_base::_M_reset): Set + _M_engaged to false unconditionally. + +2023-11-11 Jonathan Wakely + + PR libstdc++/112467 + * include/bits/stl_bvector.h (_M_assume_normalized): Do not use + statement form of assume attribute for Clang. + +2023-11-11 Jonathan Wakely + + * include/std/string_view (operator==, operator<=>): Remove + redundant overloads (LWG 3950). + +2023-11-11 Jonathan Wakely + + * testsuite/26_numerics/headers/complex.h/std_c++11.h: Moved to... + * testsuite/26_numerics/headers/complex.h/std_c++11.cc: ...here. + * testsuite/26_numerics/headers/complex.h/std_c++98.h: Moved to... + * testsuite/26_numerics/headers/complex.h/std_c++98.cc: ...here. + Check macro first and then #undef. + * testsuite/26_numerics/headers/complex.h/std_gnu++11.h: Moved to... + * testsuite/26_numerics/headers/complex.h/std_gnu++11.cc: ...here. + +2023-11-11 Jonathan Wakely + + PR libstdc++/112473 + * include/bits/utility.h (integer_sequence): Add static_assert. + * testsuite/20_util/integer_sequence/112473.cc: New test. + +2023-11-11 Jonathan Wakely + + * testsuite/20_util/pair/dangling_ref.cc: Add hosted effective + target for specifiers using c++17_down. + +2023-11-11 Jonathan Wakely + + * include/bits/shared_ptr_atomic.h (atomic_is_lock_free) + (atomic_load_explicit, atomic_load, atomic_store_explicit) + (atomic_store, atomic_exchange_explicit, atomic_exchange) + (atomic_compare_exchange_strong, atomic_compare_exchange_weak) + (atomic_compare_exchange_strong_explicit) + (atomic_compare_exchange_weak_explicit): Add deprecated + attribute for C++20 and later. + * testsuite/20_util/shared_ptr/atomic/1.cc: Suppress deprecated + warnings. + * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise. + * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. + * testsuite/29_atomics/atomic/lwg3220.cc: Likewise. + +2023-11-11 Jonathan Wakely + + * include/bits/std_mutex.h (lock_guard): Add [[nodiscard]] + attribute to constructors. + * include/bits/unique_lock.h (unique_lock): Likewise. + * include/std/mutex (scoped_lock, scoped_lock): Likewise. + * testsuite/30_threads/lock_guard/cons/nodiscard.cc: New test. + * testsuite/30_threads/scoped_lock/cons/nodiscard.cc: New test. + * testsuite/30_threads/unique_lock/cons/nodiscard.cc: New test. + +2023-11-11 Jonathan Wakely + + * include/std/span (span, as_bytes, as_writable_bytes): Add + [[nodiscard]] attribute on all non-void functions. + * testsuite/23_containers/span/back_assert_neg.cc: Suppress + nodiscard warning. + * testsuite/23_containers/span/back_neg.cc: Likewise. + * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. + * testsuite/23_containers/span/first_assert_neg.cc: Likewise. + * testsuite/23_containers/span/first_neg.cc: Likewise. + * testsuite/23_containers/span/front_assert_neg.cc: Likewise. + * testsuite/23_containers/span/front_neg.cc: Likewise. + * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. + * testsuite/23_containers/span/index_op_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/last_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. + * testsuite/23_containers/span/subspan_neg.cc: Likewise. + * testsuite/23_containers/span/nodiscard.cc: New test. + +2023-11-11 Jonathan Wakely + + PR libstdc++/111638 + * config.h.in: Regenerate. + * configure: Regenerate. + * linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): Remove. + (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1): Do not check for _foo. + (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Likewise. + (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2): Likewise. + (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3): Likewise. + (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Do not use + GLIBCXX_MAYBE_UNDERSCORED_FUNCS. + +2023-11-11 Nathaniel Shead + + PR libstdc++/79700 + * include/c_global/cmath (acosf, acosl, asinf, asinl, atanf) + (atanl, atan2f, atan2l, ceilf, ceill, cosf, cosl, coshf, coshl) + (expf, expl, fabsf, fabsl, floorf, floorl, fmodf, fmodl, frexpf) + (frexpl, ldexpf, ldexpl, logf, logl, log10f, log10l, modff) + (modfl, powf, powl, sinf, sinl, sinhf, sinhl, sqrtf, sqrtl, tanf) + (tanl, tanhf, tanhl): Add using-declarations in namespace std. + * testsuite/26_numerics/headers/cmath/equivalent_functions.cc: + New test. + * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: + Add checks for existence of above names. + +2023-11-09 Arsen Arsenović + + * testsuite/20_util/scoped_allocator/noexcept.cc: Mark as + requiring hosted. + +2023-11-09 Arsen Arsenović + + * include/bits/memoryfwd.h: Remove HOSTED check around allocator + and its specializations. + +2023-11-09 Patrick Palka + + PR libstdc++/112453 + * include/std/ranges (__detail::__box<_Tp>::operator*): Define + && overloads as well. + (__detail::__take_of_repeat_view): Forward __r when accessing + its _M_value member. + (__detail::__drop_of_repeat_view): Likewise. + * testsuite/std/ranges/repeat/1.cc (test07): New test. + +2023-11-09 François Dumont + + * include/bits/hashtable_policy.h (_RehashStateGuard): New. + (_Insert_base<>::_M_insert_range(_IIt, _IIt, const _NodeGet&, false_type)): + Adapt. + * include/bits/hashtable.h (__rehash_guard_t): New. + (__rehash_state): Remove. + (_M_rehash): Remove. + (_M_rehash_aux): Rename into _M_rehash. + (_M_assign_elements, _M_insert_unique_node, _M_insert_multi_node): Adapt. + (rehash): Adapt. + +2023-11-09 François Dumont + + * include/bits/hashtable_policy.h + (struct _NodePtrGuard<_HashtableAlloc, _NodePtr>): New. + (_ReuseAllocNode::operator()(_Args&&...)): Use latter to guard allocated node + pointer while constructing in place the value_type instance. + +2023-11-09 Alexandre Oliva + + PR libstdc++/110807 + * include/bits/stl_bvector.h (_Bit_iterator_base): Add + _M_assume_normalized member function. Call it in _M_bump_up, + _M_bump_down, _M_incr, operator==, operator<=>, operator<, and + operator-. + (_Bit_iterator): Also call it in operator*. + (_Bit_const_iterator): Likewise. + +2023-11-07 François Dumont + + * include/bits/hashtable_policy.h + (_Hashtable_alloc<>::_M_allocate_node): Add missing call to node destructor + on construct exception. + +2023-11-07 Richard Biener + + PR libstdc++/112351 + * src/c++98/locale.cc (locale::facet::_S_initialize_once): + Check whether _S_c_locale is already initialized. + (locale::facet::_S_get_c_locale): Always perform non-threadsafe + init when threadsafe init failed. + +2023-11-06 Ian Lance Taylor + + PR libbacktrace/111315 + PR libbacktrace/112263 + * acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when + grepping link.h for dl_iterate_phdr. + * configure: Regenerate. + +2023-11-06 Jonathan Wakely + + * include/std/expected (expected::and_then, expected::or_else): + Add string literals to static assertions. + * include/std/optional (optional::and_then, optional::or_else): + Likewise. + +2023-11-04 Feng Jisen + + * include/bits/utility.h (_Nth_type): Remove redundant partial + specialization. + +2023-11-04 Jonathan Wakely + + PR libstdc++/110133 + * include/std/system_error (system_error::system_error): Group + arguments so that concatenation can reuse rvalue's capacity. + * src/c++11/system_error.cc (strerror_string): New function. + [_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions. + (generic_error_category::message): Use strerror_string. + (system_error_category::message): Likewise. + +2023-11-04 Jonathan Wakely + + * doc/xml/manual/appendix_contributing.xml: Replace example that + uses a BADNAME. + * doc/html/manual/source_code_style.html: Regenerate. + +2023-11-02 Jonathan Wakely + + PR libstdc++/112314 + * include/std/string_view (string_view::remove_suffix): Add + debug assertion. + * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc: + New test. + * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc: + New test. + +2023-11-02 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks. + * configure: Regenerate. + +2023-10-30 François Dumont + + * config/abi/pre/gnu-versioned-namespace.ver: Add comment on recently + added emul TLS symbols. + +2023-10-30 François Dumont + + * src/experimental/contract.cc + [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment. + Remove weak attribute. + +2023-10-29 François Dumont + + * config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS + symbols. + +2023-10-29 François Dumont + + * src/experimental/contract.cc + [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol + without version namespace decoration for gcc. + +2023-10-26 Jonathan Wakely + + PR libstdc++/112089 + * include/std/shared_mutex (shared_lock::unlock): Change errc + constant to operation_not_permitted. + * testsuite/30_threads/shared_lock/locking/112089.cc: New test. + +2023-10-26 Jonathan Wakely + + * testsuite/20_util/duration/io.cc: Double timeout using + dg-timeout-factor. + * testsuite/std/time/day/io.cc: Likewise. + * testsuite/std/time/format.cc: Likewise. + * testsuite/std/time/hh_mm_ss/io.cc: Likewise. + * testsuite/std/time/month/io.cc: Likewise. + * testsuite/std/time/month_day/io.cc: Likewise. + * testsuite/std/time/month_day_last/io.cc: Likewise. + * testsuite/std/time/month_weekday/io.cc: Likewise. + * testsuite/std/time/month_weekday_last/io.cc: Likewise. + * testsuite/std/time/weekday/io.cc: Likewise. + * testsuite/std/time/weekday_indexed/io.cc: Likewise. + * testsuite/std/time/weekday_last/io.cc: Likewise. + * testsuite/std/time/year/io.cc: Likewise. + * testsuite/std/time/year_month/io.cc: Likewise. + * testsuite/std/time/year_month_day/io.cc: Likewise. + * testsuite/std/time/year_month_day_last/io.cc: Likewise. + * testsuite/std/time/year_month_weekday/io.cc: Likewise. + * testsuite/std/time/year_month_weekday_last/io.cc: Likewise. + * testsuite/std/time/zoned_time/io.cc: Likewise. + +2023-10-25 Jonathan Wakely + + PR libstdc++/111936 + * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool + compile commands. + * src/libbacktrace/Makefile.in: Regenerate. + +2023-10-24 Paul M. Bendixen + + * include/Makefile.am: Move cstdarg, cstdalign and cstdbool to + freestanding. + * include/Makefile.in: Regenerate. + +2023-10-22 Iain Sandoe + + * configure: Regenerate. + * configure.ac: Handle Darwin rpaths. + * src/Makefile.am: Handle Darwin rpaths. + * src/Makefile.in: Regenerate. + +2023-10-21 Jonathan Wakely + + * include/bits/basic_string.h (_M_init_local_buf()): New + function. + (_M_use_local_data()): Use _M_init_local_buf. + (basic_string(), basic_string(const Alloc&)) + (basic_string(basic_string&&)) + (basic_string(basic_string&&, const Alloc&)): Use + _M_init_local_buf instead of _M_use_local_data(). + * include/bits/basic_string.tcc (swap(basic_string&)) + (_M_construct(InIter, InIter, input_iterator_tag)) + (_M_construct(InIter, InIter, forward_iterator_tag)) + (_M_construct(size_type, CharT), reserve()): Likewise. + +2023-10-21 Benjamin Brock + + * include/std/ranges (zip_view, adjacent_view): Implement + workaround for LLVM-61763. + +2023-10-21 Dimitrij Mijoski + + * testsuite/22_locale/codecvt/codecvt_unicode.h: Test length() + +2023-10-21 Jonathan Wakely + + * include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix + indentation. + +2023-10-20 Marek Polacek + + PR testsuite/111883 + * include/std/charconv (from_chars): Add explicit casts. + +2023-10-19 François Dumont + + * include/bits/hashtable_policy.h + (_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove. + (_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove. + * include/bits/hashtable.h + (_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New. + (_M_merge_unique<>, _M_merge_multi<>): Use latter. + * testsuite/23_containers/unordered_map/modifiers/merge.cc + (test04, test05, test06): New test cases. + +2023-10-13 Jakub Jelinek + + * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01): + Initialize stream to va_arg(ap, FILE*) rather than 0. + * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01): + Likewise. + +2023-10-13 Hans-Peter Nilsson + + * testsuite/29_atomics/atomic/compare_exchange_padding.cc, + testsuite/29_atomics/atomic_flag/clear/1.cc, + testsuite/29_atomics/atomic_flag/cons/value_init.cc, + testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc, + testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc, + testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc, + testsuite/29_atomics/atomic_ref/generic.cc, + testsuite/29_atomics/atomic_ref/integral.cc, + testsuite/29_atomics/atomic_ref/pointer.cc: Replace + dg-require-thread-fence with dg-require-atomic-cmpxchg-word. + +2023-10-13 Hans-Peter Nilsson + + * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word): + New proc. + * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word): + Ditto. + +2023-10-05 François Dumont + + * config/abi/pre/gnu-versioned-namespace.ver: Add missing symbols + for _Float{16,32,64,128,32x,64x,128x}. + +2023-10-04 Tom Tromey + + * python/libstdcxx/v6/printers.py + (StdExpAnyPrinter.__init__): Qualify call to + _string_types. + +2023-10-04 Tom Tromey + + * python/libstdcxx/v6/printers.py: Assume that + _versioned_namespace is non-None. + * python/libstdcxx/v6/xmethods.py (is_specialization_of): + Assume that _versioned_namespace is non-None. + +2023-10-04 Tom Tromey + + * python/libstdcxx/v6/xmethods.py (_versioned_namespace): + Define. + +2023-09-29 Dimitrij Mijoski + + PR libstdc++/108976 + * src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of + surrogates in UTF-8. + (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8. + (ucs4_in): Fix handling of range with odd number of bytes. + (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16. + (ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16. + (ucs2_in): Fix handling of range with odd number of bytes. + (__codecvt_utf16_base::do_in): Likewise. + (__codecvt_utf16_base::do_in): Likewise. + (__codecvt_utf16_base::do_in): Likewise. + * testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add + tests for codecvt_utf16 and codecvt_utf16. + * testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8 + testing functions for char8_t, add more test cases for errors, + add testing functions for codecvt_utf16. + * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: + Renames, add tests for codecvt_utf16. + * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06): + Fix test. + * testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New + test. + +2023-09-29 Nathaniel Shead + + * include/bits/basic_string.h: (basic_string(basic_string&&)): + Activate _M_local_buf when needed. + (basic_string(basic_string&&, const _Alloc&)): Likewise. + * include/bits/basic_string.tcc: (basic_string::swap): Likewise. + * include/std/variant: (__detail::__variant::__construct_n): New. + (__detail::__variant::__emplace): Use __construct_n. + +2023-09-28 Tom Tromey + + * python/libstdcxx/v6/printers.py (Printer.add_version) + (add_one_template_type_printer) + (FilteringTypePrinter.add_one_type_printer): Use Python + "not in" operator. + +2023-09-28 Tom Tromey + + * python/libstdcxx/v6/printers.py (std_ratio_t_tuple): + Remove. + +2023-09-28 Tom Tromey + + * python/libstdcxx/v6/printers.py + (StdExpOptionalPrinter.__init__, lookup_node_type): + Remove unused variables. + +2023-09-28 Tom Tromey + + * python/libstdcxx/v6/printers.py: Don't import 'os'. + * python/libstdcxx/v6/__init__.py: Don't import 'gdb'. + +2023-09-28 Tom Tromey + + * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter + everywhere. Rename members to start with "_". + +2023-09-28 Tom Tromey + + * testsuite/lib/gdb-test.exp (gdb-test): Enable Python + stack traces from gdb. + +2023-09-28 Jonathan Wakely + + * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define + new function. + (ArrayMethodsMatcher, DequeMethodsMatcher) + (ForwardListMethodsMatcher, ListMethodsMatcher) + (VectorMethodsMatcher, AssociativeContainerMethodsMatcher) + (UniquePtrGetWorker, UniquePtrMethodsMatcher) + (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use + is_specialization_of instead of re.match. + +2023-09-28 Jonathan Wakely + + * python/libstdcxx/v6/printers.py: Break long lines. Use raw + strings for regular expressions. Add whitespace around + operators. + (is_member_of_namespace): Use isinstance to check type. + (is_specialization_of): Likewise. Adjust template_name + for versioned namespace instead of duplicating the re.match + call. + (StdExpAnyPrinter._string_types): New static method. + (StdExpAnyPrinter.to_string): Use _string_types. + +2023-09-28 Jonathan Wakely + + * python/libstdcxx/v6/printers.py: Format docstrings according + to PEP 257. + * python/libstdcxx/v6/xmethods.py: Likewise. + +2023-09-28 Tim Song + + PR libstdc++/111050 + * include/bits/hashtable_policy.h + (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v()) + Add [[__gnu__::__always_inline__]]. + +2023-09-27 Jonathan Wakely + + * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter): + Fix incorrect number of replacement fields. + +2023-09-26 Hans-Peter Nilsson + + * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Add + dg-require-thread-fence. + +2023-09-25 Patrick Palka + + * include/std/charconv (__detail::__integer_to_chars_result_type): + Remove. + (__detail::__to_chars_16): Use to_chars_result as return type. + (__detail::__to_chars_10): Likewise. + (__detail::__to_chars_8): Likewise. + (__detail::__to_chars_2): Likewise. + (__detail::__to_chars_i): Likewise. + (__detail::__integer_from_chars_result_type): Inline the + constraint into ... + (from_chars): ... here. Use __is_standard_integer in the + constraint. Encode constraint as a defaulted non-type template + parameter instead of within the return type. + +2023-09-25 John David Anglin + + * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. + +2023-09-25 Jonathan Wakely + + PR libstdc++/111511 + PR c++/111512 + * include/std/array (to_array): Cast memcpy arguments to void*. + * testsuite/23_containers/array/creation/111512.cc: New test. + +2023-09-25 Jonathan Wakely + + * include/bits/move.h (forward_list): Define for C++23. + * include/bits/version.def (forward_like): Define. + * include/bits/version.h: Regenerate. + * include/std/utility (__glibcxx_want_forward_like): Define. + * testsuite/20_util/forward_like/1.cc: New test. + * testsuite/20_util/forward_like/2_neg.cc: New test. + * testsuite/20_util/forward_like/version.cc: New test. + +2023-09-19 Marek Polacek + + * testsuite/20_util/allocator/105975.cc: Add dg-error. + +2023-09-18 Patrick Palka + + PR c++/63198 + PR c++/18474 + * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc: + Make data member seed_seq::called mutable. + * testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq2.cc: + Likewise. + * testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq2.cc: + Likewise. + * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq2.cc: + Likewise. + * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc: + Likewise. + * testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq2.cc: + Likewise. + * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq2.cc: + Likewise. + +2023-09-18 Jonathan Wakely + + * doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status. + * doc/html/manual/status.html: Regenerate. + +2023-09-18 Jonathan Wakely + + * doc/xml/manual/configure.xml: Use conventional option name. + * doc/xml/manual/status_cxx2020.xml: Update. + * doc/xml/manual/status_cxx2023.xml: Update. + * doc/html/*: Regenerate. + +2023-09-18 Jonathan Wakely + + * doc/xml/manual/intro.xml: Clarify that building libstdc++ + separately from GCC is not supported. + * doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for + testing. + * doc/html/manual/setup.html: Regenerate. + +2023-09-15 Jonathan Wakely + + * testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not + restrict to pthreads targets. + * testsuite/30_threads/jthread/3.cc: Likewise. + * testsuite/30_threads/semaphore/100806.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. + +2023-09-15 Jonathan Wakely + + * testsuite/18_support/coroutines/95917.cc: Remove dg-options + -std=gnu++2a. + * testsuite/18_support/coroutines/hash.cc: Likewise. + * testsuite/18_support/coroutines/lwg3460.cc: Likewise. + * testsuite/18_support/destroying_delete.cc: Likewise. + * testsuite/18_support/source_location/1.cc: Likewise. + * testsuite/18_support/source_location/consteval.cc: Likewise. + * testsuite/18_support/source_location/version.cc: Likewise. + * testsuite/19_diagnostics/error_category/operators/three_way.cc: + Likewise. + * testsuite/19_diagnostics/error_code/operators/three_way.cc: + Likewise. + * testsuite/19_diagnostics/error_condition/operators/three_way.cc: + Likewise. + * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. + * testsuite/26_numerics/adjacent_difference/lwg2055.cc: + Likewise. + * 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/bit_ceil.cc: Likewise. + * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc: + Likewise. + * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc: + Likewise. + * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc: + Likewise. + * testsuite/28_regex/sub_match/compare_c++20.cc: Likewise. + * testsuite/experimental/filesystem/iterators/106201.cc: + Likewise. + * testsuite/experimental/scopeguard/exit.cc: Likewise. + * testsuite/experimental/scopeguard/uniqueres.cc: Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/30_threads/barrier/1.cc: Remove dg-options + -std=gnu++20. + * testsuite/30_threads/barrier/2.cc: Likewise. + * testsuite/30_threads/barrier/arrive.cc: Likewise. + * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. + * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. + * testsuite/30_threads/barrier/completion.cc: Likewise. + * testsuite/30_threads/condition_variable/members/clock_neg.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/members/clock_neg.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/stop_token/1.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/stop_token/2.cc: + Likewise. + * testsuite/30_threads/future/members/clock_neg.cc: Likewise. + * testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise. + * testsuite/30_threads/headers/thread/types_std_c++20.cc: + Likewise. + * testsuite/30_threads/jthread/1.cc: Likewise. + * testsuite/30_threads/jthread/100612.cc: Likewise. + * testsuite/30_threads/jthread/95989.cc: Likewise. + * testsuite/30_threads/jthread/jthread.cc: Likewise. + * testsuite/30_threads/jthread/version.cc: Likewise. + * testsuite/30_threads/latch/1.cc: Likewise. + * testsuite/30_threads/latch/2.cc: Likewise. + * testsuite/30_threads/latch/3.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc: + Likewise. + * testsuite/30_threads/semaphore/1.cc: Likewise. + * testsuite/30_threads/semaphore/2.cc: Likewise. + * testsuite/30_threads/semaphore/least_max_value_neg.cc: + Likewise. + * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. + * testsuite/30_threads/shared_future/members/clock_neg.cc: + Likewise. + * testsuite/30_threads/shared_lock/locking/clock_neg.cc: + Likewise. + * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc: + Likewise. + * testsuite/30_threads/stop_token/1.cc: Likewise. + * testsuite/30_threads/stop_token/2.cc: Likewise. + * testsuite/30_threads/stop_token/stop_callback.cc: Likewise. + * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: + Likewise. + * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc: + Likewise. + * testsuite/30_threads/stop_token/stop_callback/invocable_neg.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. + * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: + Likewise. + * testsuite/30_threads/unique_lock/locking/clock_neg.cc: + Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc: + Remove dg-options -std=gnu++2a. + * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.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/str/char/2.cc: Likewise. + * testsuite/27_io/basic_istringstream/str/wchar_t/2.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_ostream/emit/1.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.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/str/char/3.cc: Likewise. + * testsuite/27_io/basic_ostringstream/str/wchar_t/3.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_stringbuf/cons/char/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise. + * testsuite/27_io/basic_stringbuf/str/wchar_t/4.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_stringstream/cons/char/1.cc: Likewise. + * testsuite/27_io/basic_stringstream/cons/char/97719.cc: + Likewise. + * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc: + Likewise. + * testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise. + * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.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_syncbuf/1.cc: Likewise. + * 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. + * testsuite/27_io/filesystem/iterators/106201.cc: Likewise. + * testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise. + * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: + Likewise. + * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc: + Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/26_numerics/accumulate/constexpr.cc: Remove + dg-options -std=gnu++2a. + * testsuite/26_numerics/accumulate/lwg2055.cc: Likewise. + * testsuite/26_numerics/adjacent_difference/constexpr.cc: + Likewise. + * testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise. + * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise. + * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. + * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise. + * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc: + Likewise. + * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise. + * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise. + * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise. + * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise. + * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise. + * testsuite/26_numerics/bit/header-2.cc: Likewise. + * testsuite/26_numerics/bit/header.cc: Likewise. + * testsuite/26_numerics/complex/1.cc: Likewise. + * testsuite/26_numerics/complex/2.cc: Likewise. + * testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc: + Likewise. + * testsuite/26_numerics/complex/operators/more_constexpr.cc: + Likewise. + * testsuite/26_numerics/complex/requirements/more_constexpr.cc: + Likewise. + * testsuite/26_numerics/complex/value_operations/more_constexpr.cc: + Likewise. + * testsuite/26_numerics/endian/1.cc: Likewise. + * testsuite/26_numerics/endian/2.cc: Likewise. + * testsuite/26_numerics/endian/3.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/inner_product/lwg2055.cc: Likewise. + * testsuite/26_numerics/iota/constexpr.cc: Likewise. + * testsuite/26_numerics/lerp/1.cc: Likewise. + * testsuite/26_numerics/lerp/constexpr.cc: Likewise. + * testsuite/26_numerics/lerp/version.cc: Likewise. + * testsuite/26_numerics/midpoint/floating.cc: Likewise. + * testsuite/26_numerics/midpoint/integral.cc: Likewise. + * testsuite/26_numerics/midpoint/pointer.cc: Likewise. + * testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise. + * testsuite/26_numerics/midpoint/version.cc: Likewise. + * testsuite/26_numerics/numbers/1.cc: Likewise. + * testsuite/26_numerics/numbers/2.cc: Likewise. + * testsuite/26_numerics/numbers/3.cc: Likewise. + * testsuite/26_numerics/numbers/float128.cc: Likewise. + * testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise. + * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise. + * testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise. + * testsuite/26_numerics/random/concept.cc: Likewise. + * testsuite/26_numerics/reduce/constexpr.cc: Likewise. + * testsuite/26_numerics/slice/compare.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. + +2023-09-15 Jonathan Wakely + + * testsuite/24_iterators/aliases.cc: Remove dg-options + -std=gnu++2a. + * testsuite/24_iterators/associated_types/incrementable.traits.cc: + Likewise. + * testsuite/24_iterators/associated_types/iterator.traits.cc: + Likewise. + * testsuite/24_iterators/associated_types/readable.traits.cc: + Likewise. + * testsuite/24_iterators/back_insert_iterator/constexpr.cc: + Likewise. + * testsuite/24_iterators/back_insert_iterator/pr93884.cc: + Likewise. + * testsuite/24_iterators/bidirectional/concept.cc: Likewise. + * testsuite/24_iterators/common_iterator/1.cc: Likewise. + * testsuite/24_iterators/common_iterator/100823.cc: Likewise. + * testsuite/24_iterators/common_iterator/2.cc: Likewise. + * testsuite/24_iterators/contiguous/concept.cc: Likewise. + * testsuite/24_iterators/contiguous/tag.cc: Likewise. + * testsuite/24_iterators/counted_iterator/1.cc: Likewise. + * testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise. + * testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise. + * testsuite/24_iterators/customization_points/92894.cc: + Likewise. + * testsuite/24_iterators/customization_points/iter_move.cc: + Likewise. + * testsuite/24_iterators/customization_points/iter_swap.cc: + Likewise. + * testsuite/24_iterators/customization_points/lwg3420.cc: + Likewise. + * testsuite/24_iterators/forward/concept.cc: Likewise. + * testsuite/24_iterators/front_insert_iterator/constexpr.cc: + Likewise. + * testsuite/24_iterators/front_insert_iterator/pr93884.cc: + Likewise. + * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: + Likewise. + * testsuite/24_iterators/indirect_callable/92894.cc: Likewise. + * testsuite/24_iterators/indirect_callable/projected-adl.cc: + Likewise. + * testsuite/24_iterators/indirect_callable/projected.cc: + Likewise. + * testsuite/24_iterators/input/concept.cc: Likewise. + * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. + * testsuite/24_iterators/istream_iterator/cons/sentinel.cc: + Likewise. + * testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise. + * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc: + Likewise. + * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: + Likewise. + * testsuite/24_iterators/move_iterator/cust.cc: Likewise. + * testsuite/24_iterators/move_iterator/dr3435.cc: Likewise. + * testsuite/24_iterators/move_iterator/input_iterator.cc: + Likewise. + * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise. + * testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise. + * testsuite/24_iterators/move_iterator/move_only.cc: Likewise. + * testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise. + * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: + Likewise. + * testsuite/24_iterators/move_iterator/sentinel.cc: Likewise. + * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise. + * testsuite/24_iterators/output/concept.cc: Likewise. + * testsuite/24_iterators/random_access/concept.cc: Likewise. + * testsuite/24_iterators/range_access/range_access_cpp20.cc: + Likewise. + * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: + Likewise. + * testsuite/24_iterators/range_operations/100768.cc: Likewise. + * testsuite/24_iterators/range_operations/advance.cc: Likewise. + * testsuite/24_iterators/range_operations/advance_overflow.cc: + Likewise. + * testsuite/24_iterators/range_operations/distance.cc: Likewise. + * testsuite/24_iterators/range_operations/lwg3392.cc: Likewise. + * testsuite/24_iterators/range_operations/next.cc: Likewise. + * testsuite/24_iterators/range_operations/prev.cc: Likewise. + * testsuite/24_iterators/reverse_iterator/cust.cc: Likewise. + * testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise. + * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: + Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/23_containers/array/comparison_operators/96851.cc: + Remove dg-options -std=gnu++2a. + * testsuite/23_containers/array/comparison_operators/constexpr.cc: + Likewise. + * testsuite/23_containers/array/creation/1.cc: Likewise. + * testsuite/23_containers/array/creation/110167.cc: Likewise. + * testsuite/23_containers/array/creation/2.cc: Likewise. + * testsuite/23_containers/array/creation/3_neg.cc: Likewise. + * testsuite/23_containers/array/requirements/constexpr_fill.cc: + Likewise. + * testsuite/23_containers/array/requirements/constexpr_swap.cc: + Likewise. + * testsuite/23_containers/deque/48101-3_neg.cc: Likewise. + * testsuite/23_containers/deque/erasure.cc: Likewise. + * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/deque/operators/cmp_c++20.cc: + Likewise. + * testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise. + * testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise. + * testsuite/23_containers/forward_list/erasure.cc: Likewise. + * testsuite/23_containers/forward_list/modifiers/92878_92947.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc: + Likewise. + * testsuite/23_containers/list/48101-3_neg.cc: Likewise. + * testsuite/23_containers/list/cmp_c++20.cc: Likewise. + * testsuite/23_containers/list/erasure.cc: Likewise. + * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/list/operations/remove_cxx20_return.cc: + Likewise. + * testsuite/23_containers/list/operations/unique_cxx20_return.cc: + Likewise. + * testsuite/23_containers/map/48101-3_neg.cc: Likewise. + * testsuite/23_containers/map/erasure.cc: Likewise. + * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/map/operations/contains.cc: Likewise. + * testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise. + * testsuite/23_containers/multimap/48101-3_neg.cc: Likewise. + * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/multimap/operations/contains.cc: + Likewise. + * testsuite/23_containers/multimap/operators/cmp_c++20.cc: + Likewise. + * testsuite/23_containers/multiset/48101-3_neg.cc: Likewise. + * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/multiset/operations/contains.cc: + Likewise. + * testsuite/23_containers/multiset/operators/cmp_c++20.cc: + Likewise. + * testsuite/23_containers/priority_queue/92878_92947.cc: + Likewise. + * testsuite/23_containers/queue/92878_92947.cc: Likewise. + * testsuite/23_containers/queue/cmp_c++20.cc: Likewise. + * testsuite/23_containers/set/48101-3_neg.cc: Likewise. + * testsuite/23_containers/set/erasure.cc: Likewise. + * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/set/operations/contains.cc: Likewise. + * testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise. + * testsuite/23_containers/span/1.cc: Likewise. + * testsuite/23_containers/span/101411.cc: Likewise. + * testsuite/23_containers/span/2.cc: Likewise. + * testsuite/23_containers/span/deduction.cc: Likewise. + * testsuite/23_containers/span/explicit.cc: Likewise. + * testsuite/23_containers/span/layout_compat.cc: Likewise. + * testsuite/23_containers/span/lwg3255.cc: Likewise. + * testsuite/23_containers/span/nothrow_cons.cc: Likewise. + * testsuite/23_containers/span/trivially_copyable.cc: Likewise. + * testsuite/23_containers/stack/92878_92947.cc: Likewise. + * testsuite/23_containers/stack/cmp_c++20.cc: Likewise. + * testsuite/23_containers/unordered_map/48101-3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/erasure.cc: Likewise. + * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc: + Likewise. + * testsuite/23_containers/unordered_map/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_map/operations/contains.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/48101-3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/operations/contains.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/48101-3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/operations/contains.cc: + Likewise. + * testsuite/23_containers/unordered_set/48101-3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/erasure.cc: Likewise. + * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc: + Likewise. + * testsuite/23_containers/unordered_set/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_set/operations/contains.cc: + Likewise. + * testsuite/23_containers/vector/48101-3_neg.cc: Likewise. + * testsuite/23_containers/vector/bool/capacity/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise. + * testsuite/23_containers/vector/bool/cons/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/element_access/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/iterator_c++20.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/capacity/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/cmp_c++20.cc: Likewise. + * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. + * testsuite/23_containers/vector/data_access/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/element_access/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/erasure.cc: Likewise. + * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/requirements/version.cc: + Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/21_strings/basic_string/cons/char/105995.cc: Remove + dg-options -std=gnu++20. + * testsuite/21_strings/basic_string/cons/char/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/erasure.cc: Likewise. + * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: + Likewise. + * testsuite/21_strings/basic_string/literals/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/ends_with/char.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/starts_with/char.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: + Likewise. + * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc: + Likewise. + * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc: + Likewise. + * testsuite/21_strings/basic_string_view/cons/char/range.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc: + Likewise. + * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc: + Likewise. + * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: + Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/20_util/allocator/105975.cc: Remove dg-options + -std=gnu++2a. + * testsuite/20_util/allocator/rebind_c++20.cc: Likewise. + * testsuite/20_util/allocator/requirements/constexpr.cc: + Likewise. + * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: + Likewise. + * testsuite/20_util/allocator_traits/header-2.cc: Likewise. + * testsuite/20_util/allocator_traits/header.cc: Likewise. + * testsuite/20_util/allocator_traits/members/92878_92947.cc: + Likewise. + * testsuite/20_util/any/assign/92878_92947.cc: Likewise. + * testsuite/20_util/any/cons/92878_92947.cc: Likewise. + * testsuite/20_util/assume_aligned/1.cc: Likewise. + * testsuite/20_util/assume_aligned/2_neg.cc: Likewise. + * testsuite/20_util/assume_aligned/3.cc: Likewise. + * testsuite/20_util/assume_aligned/97132.cc: Likewise. + * testsuite/20_util/bind/constexpr.cc: Likewise. + * testsuite/20_util/bitset/operations/96303.cc: Likewise. + * testsuite/20_util/common_reference/100894.cc: Likewise. + * testsuite/20_util/common_reference/requirements/alias_decl.cc: + Likewise. + * testsuite/20_util/common_reference/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/common_reference/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/duration/comparison_operators/three_way.cc: + Likewise. + * testsuite/20_util/exchange/constexpr.cc: Likewise. + * testsuite/20_util/exchange/noexcept.cc: Likewise. + * testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise. + * testsuite/20_util/from_chars/compare.cc: Likewise. + * testsuite/20_util/function_objects/bind_front/1.cc: Likewise. + * testsuite/20_util/function_objects/bind_front/107784.cc: + Likewise. + * testsuite/20_util/function_objects/bind_front/111327.cc: + Likewise. + * testsuite/20_util/function_objects/bind_front/2.cc: Likewise. + * testsuite/20_util/function_objects/bind_front/97101.cc: + Likewise. + * testsuite/20_util/function_objects/bind_front/constexpr.cc: + Likewise. + * testsuite/20_util/function_objects/constexpr_searcher.cc: + Likewise. + * testsuite/20_util/function_objects/identity/1.cc: Likewise. + * testsuite/20_util/function_objects/invoke/constexpr.cc: + Likewise. + * testsuite/20_util/function_objects/mem_fn/constexpr.cc: + Likewise. + * testsuite/20_util/function_objects/not_fn/constexpr.cc: + Likewise. + * testsuite/20_util/integer_comparisons/1.cc: Likewise. + * testsuite/20_util/integer_comparisons/2.cc: Likewise. + * testsuite/20_util/integer_comparisons/equal.cc: Likewise. + * testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise. + * testsuite/20_util/integer_comparisons/greater.cc: Likewise. + * testsuite/20_util/integer_comparisons/greater_equal.cc: + Likewise. + * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: + Likewise. + * testsuite/20_util/integer_comparisons/greater_neg.cc: + Likewise. + * testsuite/20_util/integer_comparisons/in_range.cc: Likewise. + * testsuite/20_util/integer_comparisons/in_range_neg.cc: + Likewise. + * testsuite/20_util/integer_comparisons/less.cc: Likewise. + * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise. + * testsuite/20_util/integer_comparisons/less_equal_neg.cc: + Likewise. + * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise. + * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise. + * testsuite/20_util/integer_comparisons/not_equal_neg.cc: + Likewise. + * testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_bounded_array/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_bounded_array/value.cc: Likewise. + * testsuite/20_util/is_constant_evaluated/1.cc: Likewise. + * testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise. + * testsuite/20_util/is_constructible/92878_92947.cc: Likewise. + * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc: + Likewise. + * testsuite/20_util/is_layout_compatible/value.cc: Likewise. + * testsuite/20_util/is_layout_compatible/version.cc: Likewise. + * testsuite/20_util/is_nothrow_constructible/value_c++20.cc: + Likewise. + * testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_nothrow_convertible/value.cc: Likewise. + * testsuite/20_util/is_pod/deprecated-2a.cc: Likewise. + * testsuite/20_util/is_pointer_interconvertible/value.cc: + Likewise. + * testsuite/20_util/is_pointer_interconvertible/version.cc: + Likewise. + * testsuite/20_util/is_pointer_interconvertible/with_class.cc: + Likewise. + * testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_unbounded_array/value.cc: Likewise. + * testsuite/20_util/optional/assignment/92878_92947.cc: + Likewise. + * testsuite/20_util/optional/cons/92878_92947.cc: Likewise. + * testsuite/20_util/optional/constexpr/assign.cc: Likewise. + * testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise. + * testsuite/20_util/optional/constexpr/modifiers.cc: Likewise. + * testsuite/20_util/optional/constexpr/swap.cc: Likewise. + * testsuite/20_util/optional/relops/96269.cc: Likewise. + * testsuite/20_util/optional/relops/three_way.cc: Likewise. + * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc: + Likewise. + * testsuite/20_util/pair/cons/92878_92947.cc: Likewise. + * testsuite/20_util/pair/constexpr_assign.cc: Likewise. + * testsuite/20_util/pair/constexpr_swap.cc: Likewise. + * testsuite/20_util/pair/requirements/structural.cc: Likewise. + * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc: + Likewise. + * testsuite/20_util/polymorphic_allocator/allocate_object.cc: + Likewise. + * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: + Likewise. + * testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise. + * testsuite/20_util/reference_wrapper/constexpr.cc: Likewise. + * testsuite/20_util/reference_wrapper/incomplete.cc: Likewise. + * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: + Likewise. + * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/remove_cvref/value.cc: Likewise. + * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc: + Likewise. + * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: + Likewise. + * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. + * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: + Likewise. + * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/92878_92947.cc: + Likewise. + * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. + * testsuite/20_util/time_point/4.cc: Likewise. + * testsuite/20_util/time_point/comparison_operators/three_way.cc: + Likewise. + * testsuite/20_util/to_address/1.cc: Likewise. + * testsuite/20_util/to_address/1_neg.cc: Likewise. + * testsuite/20_util/to_address/debug.cc: Likewise. + * testsuite/20_util/to_address/lwg3545.cc: Likewise. + * testsuite/20_util/to_chars/compare.cc: Likewise. + * testsuite/20_util/tuple/comparison_operators/three_way.cc: + Likewise. + * testsuite/20_util/tuple/cons/102270.cc: Likewise. + * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: + Likewise. + * testsuite/20_util/tuple/constexpr_swap.cc: Likewise. + * testsuite/20_util/type_identity/requirements/alias_decl.cc: + Likewise. + * testsuite/20_util/type_identity/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/type_identity/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/typeindex/comparison_operators_c++20.cc: + Likewise. + * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/92878_92947.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: + Likewise. + * testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise. + * testsuite/20_util/unwrap_reference/1.cc: Likewise. + * testsuite/20_util/unwrap_reference/2.cc: Likewise. + * testsuite/20_util/unwrap_reference/3.cc: Likewise. + * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise. + * testsuite/20_util/uses_allocator/lwg3527.cc: Likewise. + * testsuite/20_util/uses_allocator/make_obj.cc: Likewise. + * testsuite/20_util/uses_allocator/uninitialized_construct.cc: + Likewise. + * testsuite/20_util/variant/92878_92947.cc: Likewise. + * testsuite/20_util/variant/95915.cc: Likewise. + * testsuite/20_util/variant/constexpr.cc: Likewise. + * testsuite/20_util/variant/relops/three_way.cc: Likewise. + * testsuite/20_util/variant/visit_neg.cc: Likewise. + * testsuite/20_util/variant/visit_r.cc: Likewise. + * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/18_support/comparisons/algorithms/fallback.cc: + Remove dg-options -std=gnu++2a. + * testsuite/18_support/comparisons/algorithms/partial_order.cc: + Likewise. + * testsuite/18_support/comparisons/algorithms/strong_order.cc: + Likewise. + * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc: + Likewise. + * testsuite/18_support/comparisons/algorithms/weak_order.cc: + Likewise. + * testsuite/18_support/comparisons/categories/94565.cc: + Likewise. + * testsuite/18_support/comparisons/categories/partialord.cc: + Likewise. + * testsuite/18_support/comparisons/categories/strongord.cc: + Likewise. + * testsuite/18_support/comparisons/categories/weakord.cc: + Likewise. + * testsuite/18_support/comparisons/categories/zero_neg.cc: + Likewise. + * testsuite/18_support/comparisons/common/1.cc: Likewise. + * testsuite/18_support/comparisons/object/93479.cc: Likewise. + * testsuite/18_support/comparisons/object/lwg3530.cc: Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/29_atomics/atomic/compare_exchange_padding.cc: + Remove dg-options -std=gnu++2a. + * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. + * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise. + * testsuite/29_atomics/atomic/requirements/types_neg.cc: + Likewise. + * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. + * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise. + * testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise. + * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise. + * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. + * testsuite/29_atomics/atomic_float/1.cc: Likewise. + * testsuite/29_atomics/atomic_float/95282.cc: Likewise. + * testsuite/29_atomics/atomic_float/requirements.cc: Likewise. + * testsuite/29_atomics/atomic_float/value_init.cc: Likewise. + * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise. + * testsuite/29_atomics/atomic_integral/cons/value_init.cc: + Likewise. + * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. + * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: + Likewise. + * testsuite/29_atomics/atomic_ref/deduction.cc: Likewise. + * testsuite/29_atomics/atomic_ref/float.cc: Likewise. + * testsuite/29_atomics/atomic_ref/generic.cc: Likewise. + * testsuite/29_atomics/atomic_ref/integral.cc: Likewise. + * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise. + * testsuite/29_atomics/atomic_ref/requirements.cc: Likewise. + * testsuite/29_atomics/headers/atomic/types_std_c++20.cc: + Likewise. + * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc: + Likewise. + * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc: + Likewise. + * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: + Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test. + * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test. + +2023-09-15 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New + macro. + * config.h.in: Regenerate. + * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new + basic_filebuf members. + * config/io/basic_file_stdio.cc (__basic_file::native_handle): + Define new function. + * config/io/basic_file_stdio.h (__basic_file::native_handle): + Declare new function. + * configure: Regenerate. + * configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES. + * include/bits/version.def (fstream_native_handles): New macro. + * include/bits/version.h: Regenerate. + * include/std/fstream (basic_filebuf::native_handle) + (basic_fstream::native_handle, basic_ifstream::native_handle) + (basic_ofstream::native_handle): New functions. + * src/c++11/Makefile.am: Move compilation of basic_file.cc, + locale_init.cc and localename.cc to here. + * src/c++11/Makefile.in: Regenerate. + * src/c++98/locale_init.cc: Moved to... + * src/c++11/locale_init.cc: ...here. + * src/c++98/localename.cc: Moved to... + * src/c++11/localename.cc: ...here. + * src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc + and localename.cc from here. + * src/c++98/Makefile.in: Regenerate. + * testsuite/27_io/basic_filebuf/native_handle/version.cc: New test. + * testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test. + * testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test. + * testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test. + * testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test. + * testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test. + * testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test. + +2023-09-15 Jonathan Wakely + + * testsuite/libstdc++-dg/conformance.exp: Add log line when + using testsuite_files. + +2023-09-15 Jonathan Wakely + + * testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg + directives. + * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: + Likewise. + * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/allocate.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/allocate_single.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/cons.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/cons_single.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/is_equal.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/multithreaded.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/options.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/release.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/release_single.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc: + Likewise. + * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: + Likewise. + * testsuite/30_threads/stop_token/stop_callback/destroy.cc: + Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/23_containers/span/back_assert_neg.cc: Remove + dg-options and add effective target selector to dg-do. Add + no_pch. + * testsuite/23_containers/span/back_neg.cc: Likewise. + * testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise. + * testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise. + * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. + * testsuite/23_containers/span/first_assert_neg.cc: Likewise. + * testsuite/23_containers/span/first_neg.cc: Likewise. + * testsuite/23_containers/span/front_assert_neg.cc: Likewise. + * testsuite/23_containers/span/front_neg.cc: Likewise. + * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. + * testsuite/23_containers/span/index_op_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/last_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. + * testsuite/23_containers/span/subspan_neg.cc: Likewise. + * testsuite/24_iterators/range_operations/advance_debug_neg.cc: + Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove + dg-options. + * testsuite/18_support/headers/stdfloat/types_std.cc: Likewise. + * testsuite/18_support/type_info/constexpr.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/current.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. + * testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise. + * testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise. + * testsuite/20_util/bitset/access/constexpr.cc: Likewise. + * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. + * testsuite/20_util/bitset/count/constexpr.cc: Likewise. + * testsuite/20_util/bitset/ext/constexpr.cc: Likewise. + * testsuite/20_util/bitset/operations/constexpr_c++23.cc: + Likewise. + * testsuite/20_util/bitset/version.cc: Likewise. + * testsuite/20_util/from_chars/8.cc: Likewise. + * testsuite/20_util/from_chars/constexpr.cc: Likewise. + * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise. + * testsuite/20_util/function_objects/invoke/4.cc: Likewise. + * testsuite/20_util/function_objects/invoke/dangling_ref.cc: + Likewise. + * testsuite/20_util/is_scoped_enum/value.cc: Likewise. + * testsuite/20_util/is_scoped_enum/version.cc: Likewise. + * testsuite/20_util/move_only_function/call.cc: Likewise. + * testsuite/20_util/move_only_function/cons.cc: Likewise. + * testsuite/20_util/move_only_function/move.cc: Likewise. + * testsuite/20_util/move_only_function/version.cc: Likewise. + * testsuite/20_util/optional/monadic/and_then.cc: Likewise. + * testsuite/20_util/optional/monadic/or_else.cc: Likewise. + * testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise. + * testsuite/20_util/optional/monadic/pr109242.cc: Likewise. + * testsuite/20_util/optional/monadic/transform.cc: Likewise. + * testsuite/20_util/pair/p2321r2.cc: Likewise. + * testsuite/20_util/reference_from_temporary/value.cc: Likewise. + * testsuite/20_util/reference_from_temporary/value2.cc: + Likewise. + * testsuite/20_util/reference_from_temporary/version.cc: + Likewise. + * testsuite/20_util/to_chars/constexpr.cc: Likewise. + * testsuite/20_util/to_chars/float128_c++23.cc: Likewise. + * testsuite/20_util/to_chars/float16_c++23.cc: Likewise. + * testsuite/20_util/to_chars/version.cc: Likewise. + * testsuite/20_util/to_underlying/1.cc: Likewise. + * testsuite/20_util/to_underlying/version.cc: Likewise. + * testsuite/20_util/tuple/p2321r2.cc: Likewise. + * testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise. + * testsuite/20_util/unique_ptr/comparison/constexpr.cc: + Likewise. + * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise. + * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise. + * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise. + * testsuite/20_util/unreachable/1.cc: Likewise. + * testsuite/20_util/unreachable/version.cc: Likewise. + * testsuite/20_util/uses_allocator/lwg3677.cc: Likewise. + * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise. + * testsuite/21_strings/basic_string/operations/contains/char.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise. + * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise. + * testsuite/23_containers/queue/cons_from_iters.cc: Likewise. + * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. + * testsuite/23_containers/vector/bool/element_access/1.cc: + Likewise. + * testsuite/24_iterators/const_iterator/1.cc: Likewise. + * testsuite/25_algorithms/contains/1.cc: Likewise. + * testsuite/25_algorithms/contains_subrange/1.cc: Likewise. + * testsuite/25_algorithms/find_last/1.cc: Likewise. + * testsuite/25_algorithms/find_last_if/1.cc: Likewise. + * testsuite/25_algorithms/find_last_if_not/1.cc: Likewise. + * testsuite/25_algorithms/fold_left/1.cc: Likewise. + * testsuite/25_algorithms/fold_right/1.cc: Likewise. + * testsuite/25_algorithms/iota/1.cc: Likewise. + * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise. + * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise. + * testsuite/26_numerics/complex/ext_c++23.cc: Likewise. + * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise. + * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: + Likewise. + * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: + Likewise. + * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: + Likewise. + * testsuite/26_numerics/numbers/4.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise. + * testsuite/27_io/filesystem/path/native/conv_c++23.cc: + Likewise. + * testsuite/27_io/spanstream/1.cc: Likewise. + * testsuite/27_io/spanstream/2.cc: Likewise. + * testsuite/27_io/spanstream/version.cc: Likewise. + * testsuite/29_atomics/atomic_float/requirements_cxx23.cc: + Likewise. + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: + Likewise. + * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc: + Likewise. + * testsuite/experimental/filesystem/path/native/conv_c++23.cc: + Likewise. + * testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise. + * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: + Likewise. + * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise. + * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. + * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise. + * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. + * testsuite/std/ranges/adaptors/lwg3715.cc: Likewise. + * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. + * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. + * testsuite/std/ranges/cartesian_product/1.cc: Likewise. + * testsuite/std/ranges/range_adaptor_closure.cc: Likewise. + * testsuite/std/ranges/repeat/1.cc: Likewise. + * testsuite/std/ranges/version_c++23.cc: Likewise. + * testsuite/std/ranges/zip/1.cc: Likewise. + * testsuite/std/ranges/zip_transform/1.cc: Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/20_util/expected/assign.cc: Remove dg-options. + * testsuite/20_util/expected/bad.cc: Likewise. + * testsuite/20_util/expected/cons.cc: Likewise. + * testsuite/20_util/expected/equality.cc: Likewise. + * testsuite/20_util/expected/illformed_neg.cc: Likewise. + * testsuite/20_util/expected/lwg3877.cc: Likewise. + * testsuite/20_util/expected/lwg3938.cc: Likewise. + * testsuite/20_util/expected/monadic.cc: Likewise. + * testsuite/20_util/expected/observers.cc: Likewise. + * testsuite/20_util/expected/requirements.cc: Likewise. + * testsuite/20_util/expected/swap.cc: Likewise. + * testsuite/20_util/expected/synopsis.cc: Likewise. + * testsuite/20_util/expected/unexpected.cc: Likewise. + * testsuite/20_util/expected/version.cc: Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/20_util/duration/arithmetic/overflow_c++20.cc: + Remove dg-options. + * testsuite/20_util/duration/io.cc: Likewise. + * testsuite/std/time/clock/file/io.cc: Likewise. + * testsuite/std/time/clock/file/members.cc: Likewise. + * testsuite/std/time/clock/file/overview.cc: Likewise. + * testsuite/std/time/clock/gps/1.cc: Likewise. + * testsuite/std/time/clock/gps/io.cc: Likewise. + * testsuite/std/time/clock/local/io.cc: Likewise. + * testsuite/std/time/clock/system/io.cc: Likewise. + * testsuite/std/time/clock/tai/1.cc: Likewise. + * testsuite/std/time/clock/tai/io.cc: Likewise. + * testsuite/std/time/clock/utc/1.cc: Likewise. + * testsuite/std/time/clock/utc/io.cc: Likewise. + * testsuite/std/time/clock/utc/leap_second_info.cc: Likewise. + * testsuite/std/time/day/1.cc: Likewise. + * testsuite/std/time/day/io.cc: Likewise. + * testsuite/std/time/exceptions.cc: Likewise. + * testsuite/std/time/format.cc: Likewise. + * testsuite/std/time/hh_mm_ss/1.cc: Likewise. + * testsuite/std/time/hh_mm_ss/109772.cc: Likewise. + * testsuite/std/time/hh_mm_ss/io.cc: Likewise. + * testsuite/std/time/is_am/1.cc: Likewise. + * testsuite/std/time/is_pm/1.cc: Likewise. + * testsuite/std/time/make12/1.cc: Likewise. + * testsuite/std/time/make24/1.cc: Likewise. + * testsuite/std/time/month/1.cc: Likewise. + * testsuite/std/time/month/io.cc: Likewise. + * testsuite/std/time/month_day/1.cc: Likewise. + * testsuite/std/time/month_day/io.cc: Likewise. + * testsuite/std/time/month_day_last/1.cc: Likewise. + * testsuite/std/time/month_day_last/io.cc: Likewise. + * testsuite/std/time/month_weekday/1.cc: Likewise. + * testsuite/std/time/month_weekday/io.cc: Likewise. + * testsuite/std/time/month_weekday_last/1.cc: Likewise. + * testsuite/std/time/month_weekday_last/io.cc: Likewise. + * testsuite/std/time/parse.cc: Likewise. + * testsuite/std/time/syn_c++20.cc: Likewise. + * testsuite/std/time/time_zone/get_info_local.cc: Likewise. + * testsuite/std/time/time_zone/get_info_sys.cc: Likewise. + * testsuite/std/time/time_zone/requirements.cc: Likewise. + * testsuite/std/time/traits/is_clock.cc: Likewise. + * testsuite/std/time/tzdb/1.cc: Likewise. + * testsuite/std/time/tzdb/leap_seconds.cc: Likewise. + * testsuite/std/time/tzdb_list/1.cc: Likewise. + * testsuite/std/time/tzdb_list/requirements.cc: Likewise. + * testsuite/std/time/weekday/1.cc: Likewise. + * testsuite/std/time/weekday/io.cc: Likewise. + * testsuite/std/time/weekday_indexed/io.cc: Likewise. + * testsuite/std/time/weekday_last/1.cc: Likewise. + * testsuite/std/time/weekday_last/io.cc: Likewise. + * testsuite/std/time/year/1.cc: Likewise. + * testsuite/std/time/year/2.cc: Likewise. + * testsuite/std/time/year/io.cc: Likewise. + * testsuite/std/time/weekday_indexed/1.cc: Likewise. + * testsuite/std/time/year_month/1.cc: Likewise. + * testsuite/std/time/year_month/2.cc: Likewise. + * testsuite/std/time/year_month/io.cc: Likewise. + * testsuite/std/time/year_month_day/1.cc: Likewise. + * testsuite/std/time/year_month_day/2.cc: Likewise. + * testsuite/std/time/year_month_day/3.cc: Likewise. + * testsuite/std/time/year_month_day/4.cc: Likewise. + * testsuite/std/time/year_month_day/io.cc: Likewise. + * testsuite/std/time/year_month_day_last/1.cc: Likewise. + * testsuite/std/time/year_month_day_last/2.cc: Likewise. + * testsuite/std/time/year_month_day_last/io.cc: Likewise. + * testsuite/std/time/year_month_weekday/1.cc: Likewise. + * testsuite/std/time/year_month_weekday/2.cc: Likewise. + * testsuite/std/time/year_month_weekday/3.cc: Likewise. + * testsuite/std/time/year_month_weekday/io.cc: Likewise. + * testsuite/std/time/year_month_weekday_last/1.cc: Likewise. + * testsuite/std/time/year_month_weekday_last/2.cc: Likewise. + * testsuite/std/time/year_month_weekday_last/io.cc: Likewise. + * testsuite/std/time/zoned_time/1.cc: Likewise. + * testsuite/std/time/zoned_time/custom.cc: Likewise. + * testsuite/std/time/zoned_time/deduction.cc: Likewise. + * testsuite/std/time/zoned_time/io.cc: Likewise. + * testsuite/std/time/zoned_time/req_neg.cc: Likewise. + * testsuite/std/time/zoned_time/requirements.cc: Likewise. + * testsuite/std/time/zoned_traits.cc: Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/std/format/arguments/args.cc: Remove dg-options. + * testsuite/std/format/arguments/lwg3810.cc: Likewise. + * testsuite/std/format/error.cc: Likewise. + * testsuite/std/format/format_string.cc: Likewise. + * testsuite/std/format/formatter/concept.cc: Likewise. + * testsuite/std/format/formatter/ext_float.cc: Likewise. + * testsuite/std/format/formatter/requirements.cc: Likewise. + * testsuite/std/format/functions/107871.cc: Likewise. + * testsuite/std/format/functions/format.cc: Likewise. + * testsuite/std/format/functions/format_to.cc: Likewise. + * testsuite/std/format/functions/format_to_n.cc: Likewise. + * testsuite/std/format/functions/size.cc: Likewise. + * testsuite/std/format/functions/vformat_to.cc: Likewise. + * testsuite/std/format/parse_ctx.cc: Likewise. + * testsuite/std/format/string.cc: Likewise. + * testsuite/std/format/string_neg.cc: Likewise. + * testsuite/std/format/functions/format_c++23.cc: Removed. + +2023-09-15 Jonathan Wakely + + * testsuite/20_util/function_objects/range.cmp/equal_to.cc: + Remove dg-options. + * testsuite/20_util/function_objects/range.cmp/greater.cc: + Likewise. + * testsuite/20_util/function_objects/range.cmp/greater_equal.cc: + Likewise. + * testsuite/20_util/function_objects/range.cmp/less.cc: + Likewise. + * testsuite/20_util/function_objects/range.cmp/less_equal.cc: + Likewise. + * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: + Likewise. + * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/construct_at/1.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/construct_at/95788.cc: + Likewise. + * 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/94017.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc: + Likewise. + * testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise. + * testsuite/25_algorithms/adjacent_find/constrained.cc: + Likewise. + * testsuite/25_algorithms/all_of/constexpr.cc: Likewise. + * testsuite/25_algorithms/all_of/constrained.cc: Likewise. + * testsuite/25_algorithms/any_of/constexpr.cc: Likewise. + * testsuite/25_algorithms/any_of/constrained.cc: Likewise. + * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. + * testsuite/25_algorithms/binary_search/constrained.cc: + Likewise. + * testsuite/25_algorithms/clamp/constrained.cc: Likewise. + * testsuite/25_algorithms/constexpr_macro.cc: Likewise. + * testsuite/25_algorithms/copy/95578.cc: Likewise. + * testsuite/25_algorithms/copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/copy/constrained.cc: Likewise. + * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise. + * testsuite/25_algorithms/copy_backward/95578.cc: Likewise. + * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise. + * testsuite/25_algorithms/copy_backward/constrained.cc: + Likewise. + * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: + Likewise. + * testsuite/25_algorithms/copy_if/constexpr.cc: Likewise. + * testsuite/25_algorithms/copy_if/constrained.cc: Likewise. + * testsuite/25_algorithms/copy_n/constexpr.cc: Likewise. + * testsuite/25_algorithms/copy_n/constrained.cc: Likewise. + * testsuite/25_algorithms/count/constexpr.cc: Likewise. + * testsuite/25_algorithms/count/constrained.cc: Likewise. + * testsuite/25_algorithms/count_if/constexpr.cc: Likewise. + * testsuite/25_algorithms/count_if/constrained.cc: Likewise. + * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise. + * testsuite/25_algorithms/equal/95578.cc: Likewise. + * testsuite/25_algorithms/equal/constexpr.cc: Likewise. + * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise. + * testsuite/25_algorithms/equal/constrained.cc: Likewise. + * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: + Likewise. + * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise. + * testsuite/25_algorithms/equal_range/constrained.cc: Likewise. + * testsuite/25_algorithms/fill/94017.cc: Likewise. + * testsuite/25_algorithms/fill/constexpr.cc: Likewise. + * testsuite/25_algorithms/fill/constrained.cc: Likewise. + * testsuite/25_algorithms/fill_n/94017.cc: Likewise. + * testsuite/25_algorithms/fill_n/constexpr.cc: Likewise. + * testsuite/25_algorithms/fill_n/constrained.cc: Likewise. + * testsuite/25_algorithms/find/constexpr.cc: Likewise. + * testsuite/25_algorithms/find/constrained.cc: Likewise. + * testsuite/25_algorithms/find_end/constexpr.cc: Likewise. + * testsuite/25_algorithms/find_end/constrained.cc: Likewise. + * testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise. + * testsuite/25_algorithms/find_first_of/constrained.cc: + Likewise. + * testsuite/25_algorithms/find_if/constexpr.cc: Likewise. + * testsuite/25_algorithms/find_if/constrained.cc: Likewise. + * testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise. + * testsuite/25_algorithms/find_if_not/constrained.cc: Likewise. + * testsuite/25_algorithms/for_each/constexpr.cc: Likewise. + * testsuite/25_algorithms/for_each/constrained.cc: Likewise. + * testsuite/25_algorithms/generate/constexpr.cc: Likewise. + * testsuite/25_algorithms/generate/constrained.cc: Likewise. + * testsuite/25_algorithms/generate_n/constexpr.cc: Likewise. + * testsuite/25_algorithms/generate_n/constrained.cc: Likewise. + * testsuite/25_algorithms/heap/constrained.cc: Likewise. + * testsuite/25_algorithms/includes/constrained.cc: Likewise. + * testsuite/25_algorithms/inplace_merge/constrained.cc: + Likewise. + * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise. + * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise. + * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise. + * testsuite/25_algorithms/is_partitioned/constrained.cc: + Likewise. + * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise. + * testsuite/25_algorithms/is_permutation/constrained.cc: + Likewise. + * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise. + * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise. + * testsuite/25_algorithms/is_sorted_until/constexpr.cc: + Likewise. + * testsuite/25_algorithms/is_sorted_until/constrained.cc: + Likewise. + * testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise. + * testsuite/25_algorithms/lexicographical_compare/93972.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare/95578.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare/constrained.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc: + Likewise. + * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise. + * testsuite/25_algorithms/lower_bound/constrained.cc: Likewise. + * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: + Likewise. + * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: + Likewise. + * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: + Likewise. + * testsuite/25_algorithms/make_heap/constexpr.cc: Likewise. + * testsuite/25_algorithms/max/constrained.cc: Likewise. + * testsuite/25_algorithms/max_element/constrained.cc: Likewise. + * testsuite/25_algorithms/merge/constexpr.cc: Likewise. + * testsuite/25_algorithms/merge/constrained.cc: Likewise. + * testsuite/25_algorithms/min/constrained.cc: Likewise. + * testsuite/25_algorithms/min_element/constrained.cc: Likewise. + * testsuite/25_algorithms/minmax/constrained.cc: Likewise. + * testsuite/25_algorithms/minmax_element/constrained.cc: + Likewise. + * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. + * testsuite/25_algorithms/mismatch/constrained.cc: Likewise. + * testsuite/25_algorithms/move/93872.cc: Likewise. + * testsuite/25_algorithms/move/95578.cc: Likewise. + * testsuite/25_algorithms/move/constexpr.cc: Likewise. + * testsuite/25_algorithms/move/constrained.cc: Likewise. + * testsuite/25_algorithms/move_backward/93872.cc: Likewise. + * testsuite/25_algorithms/move_backward/95578.cc: Likewise. + * testsuite/25_algorithms/move_backward/constrained.cc: + Likewise. + * testsuite/25_algorithms/next_permutation/constexpr.cc: + Likewise. + * testsuite/25_algorithms/next_permutation/constrained.cc: + Likewise. + * testsuite/25_algorithms/none_of/constexpr.cc: Likewise. + * testsuite/25_algorithms/none_of/constrained.cc: Likewise. + * testsuite/25_algorithms/nth_element/constexpr.cc: Likewise. + * testsuite/25_algorithms/nth_element/constrained.cc: Likewise. + * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise. + * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise. + * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: + Likewise. + * testsuite/25_algorithms/partial_sort_copy/constrained.cc: + Likewise. + * testsuite/25_algorithms/partition/constexpr.cc: Likewise. + * testsuite/25_algorithms/partition/constrained.cc: Likewise. + * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/partition_copy/constrained.cc: + Likewise. + * testsuite/25_algorithms/partition_point/constexpr.cc: + Likewise. + * testsuite/25_algorithms/partition_point/constrained.cc: + Likewise. + * testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise. + * testsuite/25_algorithms/prev_permutation/constexpr.cc: + Likewise. + * testsuite/25_algorithms/prev_permutation/constrained.cc: + Likewise. + * testsuite/25_algorithms/push_heap/constexpr.cc: Likewise. + * testsuite/25_algorithms/remove/constexpr.cc: Likewise. + * testsuite/25_algorithms/remove/constrained.cc: Likewise. + * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/remove_copy/constrained.cc: Likewise. + * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise. + * testsuite/25_algorithms/remove_copy_if/constrained.cc: + Likewise. + * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise. + * testsuite/25_algorithms/remove_if/constrained.cc: Likewise. + * testsuite/25_algorithms/replace/constrained.cc: Likewise. + * testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/replace_copy/constrained.cc: Likewise. + * testsuite/25_algorithms/replace_copy_if/constexpr.cc: + Likewise. + * testsuite/25_algorithms/replace_copy_if/constrained.cc: + Likewise. + * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise. + * testsuite/25_algorithms/replace_if/constrained.cc: Likewise. + * testsuite/25_algorithms/reverse/constexpr.cc: Likewise. + * testsuite/25_algorithms/reverse/constrained.cc: Likewise. + * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise. + * testsuite/25_algorithms/rotate/constexpr.cc: Likewise. + * testsuite/25_algorithms/rotate/constrained.cc: Likewise. + * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise. + * testsuite/25_algorithms/sample/constrained.cc: Likewise. + * testsuite/25_algorithms/search/constexpr.cc: Likewise. + * testsuite/25_algorithms/search/constrained.cc: Likewise. + * testsuite/25_algorithms/search_n/97828.cc: Likewise. + * testsuite/25_algorithms/search_n/constexpr.cc: Likewise. + * testsuite/25_algorithms/search_n/constrained.cc: Likewise. + * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. + * testsuite/25_algorithms/set_difference/constrained.cc: + Likewise. + * testsuite/25_algorithms/set_intersection/constexpr.cc: + Likewise. + * testsuite/25_algorithms/set_intersection/constrained.cc: + Likewise. + * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: + Likewise. + * testsuite/25_algorithms/set_symmetric_difference/constrained.cc: + Likewise. + * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. + * testsuite/25_algorithms/set_union/constrained.cc: Likewise. + * testsuite/25_algorithms/shift_left/1.cc: Likewise. + * testsuite/25_algorithms/shift_right/1.cc: Likewise. + * testsuite/25_algorithms/shuffle/constrained.cc: Likewise. + * testsuite/25_algorithms/sort/constexpr.cc: Likewise. + * testsuite/25_algorithms/sort/constrained.cc: Likewise. + * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise. + * testsuite/25_algorithms/stable_partition/constrained.cc: + Likewise. + * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise. + * testsuite/25_algorithms/swap/constexpr.cc: Likewise. + * testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise. + * testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise. + * testsuite/25_algorithms/transform/constexpr.cc: Likewise. + * testsuite/25_algorithms/transform/constrained.cc: Likewise. + * testsuite/25_algorithms/unique/constexpr.cc: Likewise. + * testsuite/25_algorithms/unique/constrained.cc: Likewise. + * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/unique_copy/constrained.cc: Likewise. + * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. + * testsuite/25_algorithms/upper_bound/constrained.cc: Likewise. + * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: + Likewise. + * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: + Likewise. + * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: + Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/std/concepts/1.cc: Remove dg-options. + * testsuite/std/concepts/2.cc: Likewise. + * testsuite/std/concepts/concepts.callable/invocable.cc: + Likewise. + * testsuite/std/concepts/concepts.callable/regular_invocable.cc: + Likewise. + * testsuite/std/concepts/concepts.callable/relation.cc: + Likewise. + * testsuite/std/concepts/concepts.callable/strictweakorder.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.assignable/1.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.common/1.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.commonref/1.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.convertible/1.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.derived/1.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.same/1.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise. + * testsuite/std/concepts/concepts.object/copyable.cc: Likewise. + * testsuite/std/concepts/concepts.object/movable.cc: Likewise. + * testsuite/std/concepts/concepts.object/regular.cc: Likewise. + * testsuite/std/concepts/concepts.object/semiregular.cc: + Likewise. + * testsuite/std/ranges/97600.cc: Likewise. + * testsuite/std/ranges/access/101782.cc: Likewise. + * testsuite/std/ranges/access/begin.cc: Likewise. + * testsuite/std/ranges/access/begin_neg.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/empty.cc: Likewise. + * testsuite/std/ranges/access/end.cc: Likewise. + * testsuite/std/ranges/access/end_neg.cc: Likewise. + * testsuite/std/ranges/access/lwg3467.cc: Likewise. + * testsuite/std/ranges/access/p2602.cc: Likewise. + * testsuite/std/ranges/access/rbegin.cc: Likewise. + * testsuite/std/ranges/access/rend.cc: Likewise. + * testsuite/std/ranges/access/size.cc: Likewise. + * testsuite/std/ranges/access/size_neg.cc: Likewise. + * testsuite/std/ranges/access/ssize.cc: Likewise. + * testsuite/std/ranges/adaptors/100479.cc: Likewise. + * testsuite/std/ranges/adaptors/100577.cc: Likewise. + * testsuite/std/ranges/adaptors/93978.cc: Likewise. + * testsuite/std/ranges/adaptors/95322.cc: Likewise. + * testsuite/std/ranges/adaptors/99433.cc: Likewise. + * testsuite/std/ranges/adaptors/all.cc: Likewise. + * testsuite/std/ranges/adaptors/common.cc: Likewise. + * testsuite/std/ranges/adaptors/conditionally_borrowed.cc: + Likewise. + * testsuite/std/ranges/adaptors/counted.cc: Likewise. + * testsuite/std/ranges/adaptors/detail/copyable_box.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/lazy_split.cc: Likewise. + * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. + * testsuite/std/ranges/adaptors/lwg3286.cc: Likewise. + * testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise. + * testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise. + * testsuite/std/ranges/adaptors/lwg3406.cc: Likewise. + * testsuite/std/ranges/adaptors/p1739.cc: Likewise. + * testsuite/std/ranges/adaptors/p2281.cc: Likewise. + * testsuite/std/ranges/adaptors/p2770r0.cc: Likewise. + * testsuite/std/ranges/adaptors/reverse.cc: Likewise. + * testsuite/std/ranges/adaptors/sizeof.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. + * testsuite/std/ranges/empty_view.cc: Likewise. + * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise. + * testsuite/std/ranges/iota/difference_type.cc: Likewise. + * testsuite/std/ranges/iota/iota_view.cc: Likewise. + * testsuite/std/ranges/iota/iterator.cc: Likewise. + * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise. + * testsuite/std/ranges/iota/max_size_type.cc: Likewise. + * testsuite/std/ranges/istream_view.cc: Likewise. + * testsuite/std/ranges/p2259.cc: Likewise. + * testsuite/std/ranges/p2325.cc: Likewise. + * testsuite/std/ranges/p2367.cc: Likewise. + * testsuite/std/ranges/range.cc: Likewise. + * testsuite/std/ranges/refinements.cc: Likewise. + * testsuite/std/ranges/safe_range.cc: Likewise. + * testsuite/std/ranges/safe_range_types.cc: Likewise. + * testsuite/std/ranges/single_view.cc: Likewise. + * testsuite/std/ranges/sized.cc: Likewise. + * testsuite/std/ranges/subrange/1.cc: Likewise. + * testsuite/std/ranges/subrange/97512.cc: Likewise. + * testsuite/std/ranges/subrange/constexpr.cc: Likewise. + * testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise. + * testsuite/std/ranges/subrange/lwg3286.cc: Likewise. + * testsuite/std/ranges/subrange/lwg3433.cc: Likewise. + * testsuite/std/ranges/subrange/sizeof.cc: Likewise. + * testsuite/std/ranges/subrange/tuple_like.cc: Likewise. + * testsuite/std/ranges/view.cc: Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc: + Remove dg-options. + * testsuite/23_containers/span/contiguous_range_neg.cc: + Likewise. + * testsuite/23_containers/span/everything.cc: Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/24_iterators/reverse_iterator/100639.cc: Remove + dg-options and add dg-add-options strict_std. + * testsuite/std/ranges/iota/93267.cc: Likewise. + * testsuite/std/ranges/iota/96042.cc: Likewise. + * testsuite/std/ranges/iota/size.cc: Likewise. + * testsuite/std/ranges/subrange/96042.cc: Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc: + Replace dg-options -std=c++17 with dg-add-options strict_std. + * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc: + Likewise. + +2023-09-15 Jonathan Wakely + + * testsuite/23_containers/deque/48101-2_neg.cc: Replace + dg-options with target selector. + * testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise. + * testsuite/23_containers/list/48101-2_neg.cc: Likewise. + * testsuite/23_containers/map/48101-2_neg.cc: Likewise. + * testsuite/23_containers/map/48101_neg.cc: Likewise. + * testsuite/23_containers/multimap/48101-2_neg.cc: Likewise. + * testsuite/23_containers/multimap/48101_neg.cc: Likewise. + * testsuite/23_containers/multiset/48101-2_neg.cc: Likewise. + * testsuite/23_containers/set/48101-2_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/48101-2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/48101-2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/48101-2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/48101-2_neg.cc: + Likewise. + * testsuite/23_containers/vector/48101-2_neg.cc: Likewise. + +2023-09-15 Jonathan Wakely + + * doc/xml/manual/test.xml: Update documentation on running and + writing tests. + * doc/html/manual/test.html: Regenerate. + * testsuite/Makefile.am: Add v3-use-std-list to site.tmp + * testsuite/Makefile.in: Regenerate. + * testsuite/lib/dg-options.exp (add_options_for_strict_std): New + proc. + * testsuite/lib/libstdc++.exp (search_for): New utility proc. + (v3-dg-runtest): New proc to replace dg-runtest. + * testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest. + +2023-09-15 Jonathan Wakely + + * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: + Fix test to work for C++23 and C++26 too. + +2023-09-15 Patrick Palka + + * include/std/bit: Include . + (byteswap): Use a type-constraint instead of enable_if_t + inside the return type, and use std::integral. + (_If_is_unsigned_integer): Replace with ... + (__unsigned_integer): ... this. + (rotl): Use a type-constraint instead of enable_if_t inside + the return type. + (countl_zero): Likewise. + (countl_one): Likewise. + (countr_zero): Likewise. + (countr_one): Likewise. + (popcount): Likewise. + (has_single_bit): Likewise. + (bit_ceil): Likewise. + (bit_floor): Likewise. + (bit_width): Likewise. + +2023-09-15 Jonathan Wakely + + * include/std/variant (variant): Remove derivation from + _Enable_default_constructor base class. + (variant::variant()): Constrain. + * testsuite/20_util/variant/default_ctor.cc: New test. + +2023-09-15 Jonathan Wakely + + PR libstdc++/111172 + * include/std/variant (get): Remove !is_void static + assertions. + +2023-09-15 Jonathan Wakely + + * include/bits/version.def (to_chars): Define new value for + C++26. + * include/bits/version.h: Regenerate. + * include/std/charconv (to_chars_result::operator bool): New + function. + (from_chars_result::operator bool): New function. + * testsuite/20_util/to_chars/version.cc: Update expected value. + * testsuite/20_util/from_chars/result.cc: New test. + * testsuite/20_util/to_chars/result.cc: New test. + +2023-09-14 Jonathan Wakely + + PR c++/111357 + * testsuite/20_util/integer_sequence/pr111357.cc: New test. + +2023-09-14 Jonathan Wakely + + * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use + dg-additional-files. Remove @require@ and @diff@ comments. + * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise. + * testsuite/lib/dg-options.exp (v3_additional_files): New + global variable. + (dg-additional-files): New proc. + * testsuite/lib/libstdc++.exp (v3_target_compile): Copy + additional files to test directory. + +2023-09-14 Jonathan Wakely + + * include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]: + Use a plain integer for _M_work_count for single-threaded + targets. + * include/experimental/memory_resource (__get_default_resource) + [!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for + single-threaded targets. + * src/c++17/default_resource.h: Adjust preprocessor conditions + to match memory_resource.cc. + * src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS] + (atomic_mem_res): Use unsynchronized type for single-threaded + targets. + +2023-09-14 Christophe Lyon + + * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise. + * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. + * testsuite/29_atomics/atomic_float/value_init.cc: Likewise. + * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise. + * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise. + * testsuite/29_atomics/atomic_ref/generic.cc: Likewise. + * testsuite/29_atomics/atomic_ref/integral.cc: Likewise. + * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise. + +2023-09-14 François Dumont + + * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add + { dg-require-normal-namespace "" }. + +2023-09-13 François Dumont + + * include/std/format (std::__format::_Arg_store): Explicit version + namespace on make_format_args friend declaration. + +2023-09-12 Patrick Palka + + PR libstdc++/111327 + * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Also define + a deleted fallback operator() overload. Constrain both the + enabled and deleted overloads accordingly. + * testsuite/20_util/function_objects/not_fn/111327.cc: New test. + +2023-09-12 Patrick Palka + + PR libstdc++/111327 + * include/std/functional (_Bind_front::operator()): Add deleted + fallback overloads for each const/ref qualifier pair. Give the + enabled overloads dummy constraints to make each one more + specialized than the corresponding deleted overload. + * testsuite/20_util/function_objects/bind_front/111327.cc: New test. + +2023-09-12 Patrick Palka + + * include/std/functional (_Bind_front0): Remove. + (_Bind_front_t): Adjust. + +2023-09-12 Jonathan Wakely + + * python/libstdcxx/v6/printers.py: Reformat. + * python/libstdcxx/v6/xmethods.py: Likewise. + +2023-09-11 Jonathan Wakely + + * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New + function. + (reset_sequence_ptr): New function. + (_Safe_iterator_base::_M_detach) + (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load + with acquire_sequence_ptr_for_lock. + (_Safe_iterator_base::_M_reset): Replace bare atomic_store with + reset_sequence_ptr. + +2023-09-11 Jonathan Wakely + + * src/c++11/Makefile.am: Add new file. + * src/c++11/Makefile.in: Regenerate. + * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ... + * src/c++11/assert_fail.cc: New file. + +2023-09-11 Ken Matsui + + * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Do not undef. + (_GLIBCXX_USE_BUILTIN_TRAIT): Define. + +2023-09-11 Jonathan Wakely + + * include/bits/version.def (__cpp_lib_formatters): Define. + * include/bits/version.h: Regenerate. + * include/std/stacktrace (formatter) + (formatter>): Define. + * include/std/thread (formatter): Define. + * testsuite/19_diagnostics/stacktrace/output.cc: New test. + * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add + std::formatter specializations. + * testsuite/19_diagnostics/stacktrace/version.cc: Check + __cpp_lib_formatters macro. + * testsuite/30_threads/thread/id/hash.cc: Remove gthreads + dependency. + * testsuite/30_threads/thread/id/operators.cc: Likewise. + * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise. + * testsuite/30_threads/thread/id/output.cc: New test. + +2023-09-11 Pekka Seppänen + + * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute. + * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise. + * src/filesystem/path.cc (path::_S_convert_loc): Likewise. + +2023-09-08 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory. + * configure: Regenerate. + * doc/html/manual/*: Regenerate. + * doc/xml/manual/using.xml: Update documentation on linking. + * include/std/stacktrace: Remove declarations of libbacktrace + APIs. + (stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init): + Remove. + (stacktrace_entry::_Info): New class. + (stacktrace_entry::_M_get_info): Use _Info. + (__stacktrace_impl): New class. + (basic_stacktrace): Derive from __stacktrace_impl. + (basic_stacktrace::current): Use __stacktrace_impl::_S_current. + * scripts/testsuite_flags.in: Adjust LDFLAGS to find + libstdc++exp instead of libstdc++_libbacktrace. + * src/Makefile.am (SUBDIRS): Add c++23 directory. + * src/Makefile.in: Regenerate. + * src/c++20/Makefile.am: Fix comment. + * src/c++20/Makefile.in: Regenerate. + * src/c++23/Makefile.am: New file. + * src/c++23/Makefile.in: New file. + * src/c++23/stacktrace.cc: New file with definitions of + stacktrace_entry::_Info and __stacktrace_impl members. + * src/experimental/Makefile.am: Use LIBADD to include other + libraries. + * src/experimental/Makefile.in: Regenerate. + * src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES. + * src/libbacktrace/Makefile.in: Regenerate. + * testsuite/19_diagnostics/stacktrace/current.cc: Adjust + dg-options to use -lstdc++exp. + * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. + * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: + Likewise. + +2023-09-08 Alexey Lapshin + + * src/libbacktrace/Makefile.am: Remove -Werror. + * src/libbacktrace/Makefile.in: Regenerate. + +2023-09-08 Jonathan Wakely + + * testsuite/Makefile.am (check-DEJAGNU): Use @ in recipe. + * testsuite/Makefile.in: Regenerate. + +2023-09-08 Yang Yujie + + * configure.host: Register t-loongarch in tmake_file. + * config/cpu/loongarch/t-loongarch: New file. Manually refresh + MULTISUBDIR with $(shell $(CXX) --print-multi-directory). + +2023-09-07 Bruno Victal + + * acinclude.m4: Update docbook xsl URI. + * configure: Regenerate. + +2023-09-07 Bruno Victal + + * doc/Makefile.am: Fix 'doc-install-info' rule. + Fix typo in commment. + * doc/Makefile.in: Regenerate. + +2023-09-07 Jonathan Wakely + + * testsuite/27_io/filesystem/path/concat/94063.cc: Simplify + dg-do target selector. + +2023-09-07 Jonathan Wakely + + * testsuite/config/default.exp: Remove trailing whitespace. + * testsuite/lib/dg-options.exp: Likewise. + * testsuite/lib/prune.exp: Likewise. + * testsuite/libstdc++-abi/abi.exp: Likewise. + * testsuite/libstdc++-dg/conformance.exp: Likewise. + * testsuite/libstdc++-prettyprinters/prettyprinters.exp: + Likewise. + * testsuite/libstdc++-xmethods/xmethods.exp: Likewise. + * testsuite/lib/libstdc++.exp: Likewise. + (check_v3_target_c_std): Fix filename for temporary source file. + +2023-09-07 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir, + chmod, chdir, and getcwd. + * config.h.in: Regenerate. + * configure: Regenerate. + * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro. + (fs::current_path): Use USE_GETCWD and USE_CHDIR macros. + (fs::permissions): Use USE_CHMOD macro. + * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS] + (chmod, mkdir, getcwd, chdir): Define new macros. + [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use + new macros. + * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro. + (fs::current_path): Use USE_GETCWD and USE_CHDIR macros. + (fs::permissions): Use USE_CHMOD macro. + +2023-09-07 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default + for avr. + * configure: Regenerate. + +2023-09-07 Jonathan Wakely + + * testsuite/23_containers/unordered_map/operations/1.cc: Add + dg-options for C++20 mode. + * testsuite/23_containers/unordered_multimap/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_set/operations/1.cc: + Likewise. + * testsuite/std/time/parse.cc: Move dg-options before dg-do. + +2023-09-07 Jonathan Wakely + + * testsuite/std/ranges/access/cbegin.cc: Adjust for C++23 + compatibility. + * 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/adaptors/take.cc: Likewise. + * testsuite/std/ranges/adaptors/take_while.cc: Likewise. + * testsuite/std/ranges/adaptors/transform.cc: Likewise. + +2023-09-07 Jonathan Wakely + + * include/bits/iterator_concepts.h (__imove::iter_move): Define + poison pill as deleted for consistency. + (__access::begin): Replace with a single declaration. + * include/bits/ranges_base.h (__access::end, __access::rbegin) + (__access::rend, __access::size): Likewise. + * include/bits/version.def (ranges): Update value for C++23. + * include/bits/version.h: Regenerate. + * libsupc++/compare (__compare): Add missing poison pill + overloads. + * testsuite/std/ranges/version_c++23.cc: Adjust expected value + of __cpp_lib_ranges. + * testsuite/std/ranges/access/p2602.cc: New test. + +2023-09-07 Jonathan Wakely + + * include/bits/iterator_concepts.h (ranges::__cust_imove): + Rename to ranges::__imove. + (_IMove): Rename to _IterMove. + (ranges::__cust_iswap): Rename to ranges::__iswap. + (ranges::__cust): Rename to ranges::_Cpo. + (ranges::__cust_access): Rename to ranges::__access. + * include/bits/ranges_base.h (ranges::__cust_access): Rename to + ranges::__access. + (ranges::__cust): Rename to ranges::_Cpo. + * include/std/concepts (ranges::__cust_swap): Rename to + ranges::__swap. + (ranges::__cust): Rename to ranges::_Cpo. + * libsupc++/compare (__cmp_cust): Rename to __compare. + (__cmp_algo): Rename to _Cpo. + +2023-09-07 Jonathan Wakely + + * include/bits/version.def (ranges): Update value. + * include/bits/version.h: Regenerate. + * include/std/ranges (__detail::__boxable): Use + move_constructible instead of copy_constructible for C++23. + (__detail::__box): Adjust constraints for partial + specialization. + (single_view, transform_view): Use __box_constructible instead + of copy_constructible in constraints. + (zip_transform_view, adjacent_transform_view, repeat_view): Use + move_constructible instead of copy_constructible in constraints. + * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Check + construction from move-only argument. + * testsuite/std/ranges/adaptors/transform.cc: Likewise. + * testsuite/std/ranges/repeat/1.cc: Likewise. + * testsuite/std/ranges/single_view.cc: Likewise. + * testsuite/std/ranges/zip_transform/1.cc: Likewise. + * testsuite/std/ranges/version_c++23.cc: Adjust expected value + of __cpp_lib_ranges. + +2023-09-07 Jonathan Wakely + + * testsuite/util/testsuite_iterators.h (is_customization_point_object): + Remove parameter name. + +2023-09-06 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default + for freestanding. + * configure: Regenerate. + +2023-09-04 Christophe Lyon + + Revert + 2023-09-04 Christophe Lyon + + PR libstdc++/111238 + * configure: Regenerate. + * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross, + non-Canadian builds. + +2023-09-04 Christophe Lyon + + PR libstdc++/111238 + * configure: Regenerate. + * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross, + non-Canadian builds. + +2023-09-04 Jonathan Wakely + + * testsuite/26_numerics/complex/literals/types.cc: Remove + dg-options and add target selector instead. + +2023-09-04 Jonathan Wakely + + * testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options + and qualify ambiguous calls to get. + * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust + expected result for std::pow(float, int) as per DR 550. + +2023-09-04 Jonathan Wakely + + * testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03 + and add dg-warning for deprecation warnings. + * testsuite/20_util/auto_ptr/2.cc: Likewise. + * testsuite/20_util/auto_ptr/3.cc: Likewise. + * testsuite/20_util/auto_ptr/3946.cc: Likewise. + * testsuite/20_util/auto_ptr/4.cc: Likewise. + * testsuite/20_util/auto_ptr/5.cc: Likewise. + * testsuite/20_util/auto_ptr/6.cc: Likewise. + * testsuite/20_util/auto_ptr/7.cc: Likewise. + * testsuite/20_util/auto_ptr/assign_neg.cc: Likewise. + * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: + Likewise. + +2023-09-04 Jonathan Wakely + + PR libstdc++/26142 + * testsuite/23_containers/vector/26412-1.cc: Moved to... + * testsuite/23_containers/vector/26142-1.cc: ...here. + * testsuite/23_containers/vector/26412-2.cc: Moved to... + * testsuite/23_containers/vector/26142-2.cc: ...here. + +2023-09-04 Jonathan Wakely + + * testsuite/20_util/bitset/107037.cc: Add c++98_only selector. + * testsuite/26_numerics/complex/56111.cc: Likewise. + +2023-09-04 Jonathan Wakely + + * testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc: + Add dg-options to restrict the test to C++98 mode. + * testsuite/23_containers/list/requirements/explicit_instantiation/2.cc: + Likewise. + +2023-09-04 Jonathan Wakely + + * testsuite/20_util/expected/bad.cc: Add missing target + selector. + +2023-09-01 Jonathan Wakely + + * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust + expected errors. + * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: + Likewise. + +2023-09-01 Jonathan Wakely + + * testsuite/27_io/filesystem/iterators/91067.cc: Add + -Wno-self-move to options. + * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise. + +2023-09-01 Vladimir Palevich + + PR libstdc++/110879 + * include/bits/vector.tcc (_M_realloc_insert): End guard + lifetime just before assignment to class members. + (_M_default_append): Likewise. + +2023-09-01 Jonathan Wakely + + * src/c++17/fs_ops.cc (fs::absolute) [FILESYSTEM_IS_WINDOWS]: + Use __resize_and_overwrite to fill buffer. + (fs::read_symlink) [HAVE_READLINK]: Likewise. + * src/filesystem/ops-common.h (get_temp_directory_from_env) + [FILESYSTEM_IS_WINDOWS]: Likewise. + +2023-09-01 Jonathan Wakely + + PR libstdc++/111077 + * include/bits/atomic_base.h (__atomic_impl::__compare_exchange): + Add _AtomicRef non-type template parameter and use a loop if it + is true. + (__atomic_impl::compare_exchange_weak): Add _AtomicRef NTTP. + (__atomic_impl::compare_exchange_strong): Likewise. + (atomic_ref::compare_exchange_weak): Use true for NTTP. + (atomic_ref::compare_exchange_strong): Use true for NTTP. + * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: + Fix test to not rely on atomic_ref::load() to return an object + with padding preserved. + +2023-09-01 Jonathan Wakely + + * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for + filesystem support. + +2023-09-01 Jonathan Wakely + + * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros + for POSIX readlink before using filesystem::read_symlink. + +2023-09-01 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Default to yes. + * configure: Regenerate. + +2023-09-01 Jonathan Wakely + + * include/bits/chrono_io.h (_Parser::operator()): Set failbit + early if invalid values are read when _M_need & _TimeOfDay is + non-zero. + * testsuite/std/time/parse.cc: Check that "25:59" cannot be + parsed for "%H:%M". + +2023-09-01 Jonathan Wakely + + PR libstdc++/111162 + * include/bits/chrono_io.h (_Parser::Operator()): Check %C + values are in range of year::min() to year::max(). + * testsuite/std/time/parse.cc: Check out of range centuries. + +2023-09-01 Jonathan Wakely + + * include/std/format (__format::_Sink::_M_reset): Change second + argument from iterator to offset. + +2023-08-24 Paul Dreik + + PR libstdc++/111102 + * testsuite/std/format/string.cc: Check wide character format + strings with out-of-range widths. + +2023-08-24 Paul Dreik + + PR libstdc++/111102 + * include/std/format (__format::__parse_integer): Check for + non-null pointer. + +2023-08-24 Jonathan Wakely + + * testsuite/std/format/functions/format_to.cc: Avoid warning for + unused variables. + +2023-08-24 Jonathan Wakely + + * include/std/atomic: Add comment to #ifdef and fix indentation. + * include/std/ostream: Check __glibcxx_syncbuf instead of + __cplusplus and _GLIBCXX_HOSTED. + * include/std/thread: Add comment to #ifdef. + +2023-08-24 Jonathan Wakely + + * include/bits/version.def (__cpp_lib_ratio): Define. + * include/bits/version.h: Regenerate. + * include/std/ratio (quecto, ronto, yocto, zepto) + (zetta, yotta, ronna, quetta): Define. + * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Adjust + dg-error line numbers. + +2023-08-24 Jonathan Wakely + + * python/libstdcxx/v6/printers.py (StdLocalePrinter): New + printer class. + * testsuite/libstdc++-prettyprinters/locale.cc: New test. + +2023-08-24 Jonathan Wakely + + PR libstdc++/110944 + * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do + not show template arguments. + (StdVariantPrinter): Likewise. + * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected + output. + * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. + * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. + +2023-08-23 François Dumont + + * testsuite/util/replacement_memory_operators.h + (counter::scope): New, capture and reset counter count at construction and + restore it at destruction. + (counter::check_new): Add scope instantiation. + * testsuite/23_containers/unordered_map/96088.cc (main): + Add counter::scope instantiation. + * testsuite/23_containers/unordered_multimap/96088.cc (main): Likewise. + * testsuite/23_containers/unordered_multiset/96088.cc (main): Likewise. + * testsuite/23_containers/unordered_set/96088.cc (main): Likewise. + * testsuite/ext/malloc_allocator/deallocate_local.cc (main): Likewise. + * testsuite/ext/new_allocator/deallocate_local.cc (main): Likewise. + * testsuite/ext/throw_allocator/deallocate_local.cc (main): Likewise. + * testsuite/ext/pool_allocator/allocate_chunk.cc (started): New global. + (operator new(size_t)): Check started. + (main): Set/Unset started. + * testsuite/17_intro/no_library_allocation.cc: New test case. + +2023-08-21 Jonathan Wakely + + * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: + Call std::set_terminate before throwing the nested exception. + +2023-08-18 Jonathan Wakely + + PR target/111060 + * include/std/format (formatter): Only define specializations + for 16-bit floating-point types for C++23. + * include/std/limits (numeric_limits): Likewise. + +2023-08-18 Jonathan Wakely + + * include/bits/chrono_io.h (operator<<): Make uses of wide + strings with streams and std::format type-dependent on _CharT. + * include/std/format [!_GLIBCXX_USE_WCHAR_T] Do not use + __to_wstring_numeric. + +2023-08-18 Jonathan Wakely + + * include/bits/chrono_io.h (operator<<): Use __format_context. + * include/std/format (__format::__format_context): New alias + template. + [!_GLIBCXX_USE_WCHAR_T] (wformat_args, make_wformat_arg): + Disable. + +2023-08-17 Jonathan Wakely + + Revert: + 2023-08-17 Jonathan Wakely + + * config/locale/generic/c_locale.cc (__convert_to_v): Reuse + double overload for long double if possible. + +2023-08-17 Jonathan Wakely + + * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to + std::string_view. + +2023-08-17 Jonathan Wakely + + * config/locale/generic/c_locale.cc (__convert_to_v): Reuse + double overload for long double if possible. + +2023-08-17 Jonathan Wakely + + * src/c++98/localename.cc (is_C_locale): New function. + (locale::locale(const char*)): Use is_C_locale. + +2023-08-17 Jonathan Wakely + + PR libstdc++/110945 + * include/bits/basic_string.h (basic_string::assign(Iter, Iter)): + Dispatch to _M_replace or move assignment from a temporary, + based on the iterator type. + +2023-08-17 Jonathan Wakely + + * include/std/format (formatter): Add partial specializations + for extended floating-point types. + * testsuite/std/format/functions/format.cc: Move test_float128() + to ... + * testsuite/std/format/formatter/ext_float.cc: New test. + +2023-08-17 Jonathan Wakely + + * include/bits/c++config (__gnu_cxx::__bfloat16_t): Define + whenever __BFLT16_DIG__ is defined, not only for C++23. + * include/std/limits (numeric_limits): Likewise. + (numeric_limits<_Float16>, numeric_limits<_Float32>) + (numeric_limits<_Float64>): Likewise for other extended + floating-point types. + +2023-08-17 Jonathan Wakely + + * include/experimental/internet (address_v4::to_string): Remove + unused parameter name. + +2023-08-17 Jonathan Wakely + + * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval. + * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune + excess errors caused by invalid consteval calls. + +2023-08-17 Jonathan Wakely + + * include/bits/chrono_io.h (__units_suffix_misc): Remove. + (__units_suffix): Return a known suffix as string view, do not + write unknown suffixes to a buffer. + (__fmt_units_suffix): New function that formats the suffix using + std::format_to. + (operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix. + (__chrono_formatter::_M_Z): Correct lifetime of wstring. + +2023-08-17 Jonathan Wakely + + * include/std/format [_GLIBCXX_USE_WCHAR_T]: Guard all wide + string formatters with this macro. + (__formatter_int::_M_format_int, __formatter_fp::format) + (formatter::format): Use __to_wstring_numeric + instead of std::ctype::widen. + (__formatter_fp::_M_localize): Use hardcoded wchar_t values + instead of std::ctype::widen. + * testsuite/std/format/functions/format.cc: Add more checks for + wstring formatting of arithmetic types. + +2023-08-17 Jonathan Wakely + + * include/bits/basic_string.h (to_string(floating-point-type)): + Implement using std::to_chars for C++26. + * include/bits/version.def (__cpp_lib_to_string): Define. + * include/bits/version.h: Regenerate. + * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: + Adjust expected result in C++26 mode. + * testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc: + New test. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc: + New test. + * testsuite/21_strings/basic_string/numeric_conversions/version.cc: + New test. + +2023-08-17 Jonathan Wakely + + * include/bits/basic_string.h (to_string(integral-type)): Use + resize_and_overwrite when available. + (__to_wstring_numeric): New helper functions. + (to_wstring): Use std::to_string then __to_wstring_numeric. + * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_int.cc: + Remove check for no excess capacity. + +2023-08-17 Jonathan Wakely + + * include/bits/basic_string.h (__resize_and_overwrite): New + function. + * include/bits/basic_string.tcc (__resize_and_overwrite): New + function. + (resize_and_overwrite): Simplify by using reserve instead of + growing the string manually. Adjust for C++11 compatibility. + * include/bits/cow_string.h (resize_and_overwrite): New + function. + (__resize_and_overwrite): New function. + * include/bits/version.def (__cpp_lib_string_resize_and_overwrite): + Do not depend on cxx11abi. + * include/bits/version.h: Regenerate. + * include/std/format (__formatter_fp::_S_resize_and_overwrite): + Remove. + (__formatter_fp::format, __formatter_fp::_M_localize): Use + __resize_and_overwrite instead of _S_resize_and_overwrite. + * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: + Adjust for C++11 compatibility when included by ... + * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite_ext.cc: + New test. + +2023-08-17 Patrick Palka + + * include/bits/regex.h (regex_iterator::iterator_concept): + Define for C++20 as per P2770R0. + (regex_token_iterator::iterator_concept): Likewise. + * include/std/ranges (__detail::__as_lvalue): Define. + (join_view::_Iterator): Befriend join_view. + (join_view::_Iterator::_M_satisfy): Use _M_get_outer + instead of _M_outer. + (join_view::_Iterator::_M_get_outer): Define. + (join_view::_Iterator::_Iterator): Split constructor taking + _Parent argument into two as per P2770R0. Remove constraint on + default constructor. + (join_view::_Iterator::_M_outer): Make this data member present + only when the underlying range is forward. + (join_view::_Iterator::operator++): Use _M_get_outer instead of + _M_outer. + (join_view::_Iterator::operator--): Use __as_lvalue helper. + (join_view::_Iterator::operator==): Adjust constraints as per + P2770R0. + (join_view::_Sentinel::__equal): Use _M_get_outer instead of + _M_outer. + (join_view::_M_outer): New data member when the underlying range + is non-forward. + (join_view::begin): Adjust definition as per P2770R0. + (join_view::end): Likewise. + (join_with_view::_M_outer_it): New data member when the + underlying range is non-forward. + (join_with_view::begin): Adjust definition as per P2770R0. + (join_with_view::end): Likewise. + (join_with_view::_Iterator::_M_outer_it): Make this data member + present only when the underlying range is forward. + (join_with_view::_Iterator::_M_get_outer): Define. + (join_with_view::_Iterator::_Iterator): Split constructor + taking _Parent argument into two as per P2770R0. Remove + constraint on default constructor. + (join_with_view::_Iterator::_M_update_inner): Adjust definition + as per P2770R0. + (join_with_view::_Iterator::_M_get_inner): Likewise. + (join_with_view::_Iterator::_M_satisfy): Adjust calls to + _M_get_inner. Use _M_get_outer instead of _M_outer_it. + (join_with_view::_Iterator::operator==): Adjust constraints + as per P2770R0. + (join_with_view::_Sentinel::operator==): Use _M_get_outer + instead of _M_outer_it. + * testsuite/std/ranges/adaptors/p2770r0.cc: New test. + +2023-08-17 Patrick Palka + + PR libstdc++/108827 + * include/std/ranges (__adaptor::_RangeAdaptorClosure): + Convert into a CRTP class template. Move hidden operator| + friends into namespace scope and adjust their constraints. + (__closure::__is_range_adaptor_closure_fn): Define. + (__closure::__is_range_adaptor_closure): Define. + (__adaptor::_Partial): Adjust use of _RangeAdaptorClosure. + (__adaptor::_Pipe): Likewise. + (views::_All): Likewise. + (views::_Join): Likewise. + (views::_Common): Likewise. + (views::_Reverse): Likewise. + (views::_Elements): Likewise. + (views::_Adjacent): Likewise. + (views::_AsRvalue): Likewise. + (views::_Enumerate): Likewise. + (views::_AsConst): Likewise. + * testsuite/std/ranges/adaptors/all.cc: Reinstate assertion + expecting that adding empty range adaptor closure objects to a + pipeline doesn't increase the size of a pipeline. + +2023-08-17 Jonathan Wakely + + * include/std/format (__format::_Pres_type): Add _Pres_F. + (__formatter_fp::parse): Use _Pres_F for 'F'. + (__formatter_fp::format): Set __upper for _Pres_F. + * testsuite/std/format/functions/format.cc: Check formatting of + infinity and NaN for each presentation type. + +2023-08-17 Jonathan Wakely + + * include/Makefile.in: Regenerate. + +2023-08-17 Jonathan Wakely + + * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch. + * testsuite/std/format/functions/format.cc: Likewise. + * testsuite/std/format/functions/format_c++23.cc: Likewise. + +2023-08-17 Jonathan Wakely + + * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove + any "-include bits/stdc++.h" from options and add the macro to + the existing options instead of replacing them. + +2023-08-16 Jonathan Wakely + + * include/bits/basic_string.tcc (resize_and_overwrite): Invoke + the callable with the same size as resize_and_overwrite was + called with. + * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: + Check with small values for the new size. + * testsuite/std/format/functions/format.cc: Check wide + formatting of double values that produce small strings. + * testsuite/std/format/functions/format_c++23.cc: New test. + +2023-08-16 Jonathan Wakely + + * include/bits/version.def (stds): Update value for C++23. + * include/bits/version.h: Regenerate. + +2023-08-16 Jonathan Wakely + + * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc: + Fix name of upstream file this was derived from. + * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: Likewise. + +2023-08-16 Arsen Arsenović + + * libsupc++/typeinfo: Switch to bits/version.h for + __cpp_lib_constexpr_typeinfo. + * libsupc++/new: Switch to bits/version.h for + __cpp_lib_{launder,hardware_interference_size,destroying_delete}. + (launder): Guard behind __cpp_lib_launder. + (hardware_destructive_interference_size) + (hardware_constructive_interference_size): Guard behind + __cpp_lib_hardware_interference_size. + * libsupc++/exception: Switch to bits/version.h for + __cpp_lib_uncaught_exceptions. + (uncaught_exceptions): Guard behind __cpp_lib_uncaught_exceptions. + * libsupc++/compare: Switch to bits/version.h for + __cpp_lib_three_way_comparison. + (three_way_comparable, three_way_comparable_with) + (compare_three_way, weak_order, strong_order, partial_order): + Guard behind __cpp_lib_three_way_comparison >= 201907L. + * include/std/chrono: Drop __cpp_lib_chrono definition. + * include/std/vector: Switch to bits/version.h for + __cpp_lib_erase_if. + (erase, erase_if): Guard behind __cpp_lib_erase_if. + * include/std/variant: Switch to bits/version.h for + __cpp_lib_variant. Guard whole header behind that FTM. + * include/std/utility: Switch to bits/version.h for + __cpp_lib_{exchange_function,constexpr_algorithms,as_const}, + __cpp_lib_{integer_comparison_functions,to_underlying}, and + __cpp_lib_unreachable. + (exchange): Guard behind __cpp_lib_exchange_function. + (cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal) + (cmp_greater_equal, in_range): Guard behind + __cpp_lib_integer_comparison_functions. + (to_underlying): Guard behind __cpp_lib_to_underlying. + (unreachable): Guard behind __cpp_lib_unreachable. + * include/std/type_traits: Switch to bits/version.h for + __cpp_lib_is_{null_pointer,final,nothrow_convertible,aggregate}, + __cpp_lib_is_{constant_evaluated,invocable,layout_compatible}, + __cpp_lib_is_{pointer_interconvertible,scoped_enum,swappable}, + __cpp_lib_{logical_traits,reference_from_temporary,remove_cvref}, + __cpp_lib_{result_of_sfinae,transformation_trait_aliases}, + __cpp_lib_{type_identity,type_trait_variable_templates}, + __cpp_lib_{unwrap_ref,void_t,integral_constant_callable}, + __cpp_lib_{bool_constant,bounded_array_traits}, and + __cpp_lib_has_unique_object_representations. + (integral_constant::operator()): Guard behind + __cpp_lib_integral_constant_callable. + (bool_constant): Guard behind __cpp_lib_bool_constant. + (conjunction, disjunction, negation, conjunction_v, disjunction_v) + (negation_v): Guard behind __cpp_lib_logical_traits. + (is_null_pointer): Guard behind __cpp_lib_is_null_pointer. + (is_final): Guard behind __cpp_lib_is_final. + (is_nothrow_convertible, is_nothrow_convertible_v): Guard behind + __cpp_lib_is_nothrow_convertible. + (remove_const_t, remove_volatile_t, remove_cv_t) + (add_const_t, add_volatile_t, add_cv_t): Guard behind + __cpp_lib_transformation_trait_aliases. + (void_t): Guard behind __cpp_lib_void_t. + (is_swappable_with_v, is_nothrow_swappable_with_v) + (is_swappable_with, is_nothrow_swappable_with): Guard behind + __cpp_lib_is_swappable. + (is_nothrow_invocable_r, is_invocable_r, invoke_result) + (is_invocable, invoke_result_t): Guard behind + __cpp_lib_is_invocable. + (alignment_of_v, extent_v, has_virtual_destructor_v) + (is_abstract_v, is_arithmetic_v, is_array_v) + (is_assignable_v, is_base_of_v, is_class_v, is_compound_v) + (is_constructible_v, is_const_v, is_convertible_v) + (is_copy_assignable_v, is_copy_constructible_v) + (is_default_constructible_v, is_destructible_v) + (is_empty_v, is_enum_v, is_final_v, is_floating_point_v) + (is_function_v, is_fundamental_v, is_integral_v) + (is_invocable_r_v, is_invocable_v, is_literal_type_v) + (is_lvalue_reference_v, is_member_function_pointer_v) + (is_member_object_pointer_v, is_member_pointer_v) + (is_move_assignable_v, is_move_constructible_v) + (is_nothrow_assignable_v, is_nothrow_constructible_v) + (is_nothrow_copy_assignable_v, is_nothrow_copy_constructible_v) + (is_nothrow_default_constructible_v, is_nothrow_destructible_v) + (is_nothrow_invocable_r_v, is_nothrow_invocable_v) + (is_nothrow_move_assignable_v, is_nothrow_move_constructible_v) + (is_null_pointer_v, is_object_v, is_pod_v, is_pointer_v) + (is_polymorphic_v, is_reference_v, is_rvalue_reference_v) + (is_same_v, is_scalar_v, is_signed_v, is_standard_layout_v) + (is_trivially_assignable_v, is_trivially_constructible_v) + (is_trivially_copyable_v, is_trivially_copy_assignable_v) + (is_trivially_copy_constructible_v) + (is_trivially_default_constructible_v) + (is_trivially_destructible_v, is_trivially_move_assignable_v) + (is_trivially_move_constructible_v, is_trivial_v, is_union_v) + (is_unsigned_v, is_void_v, is_volatile_v, rank_v, as variadic): + Guard behind __cpp_lib_type_trait_variable_templates. + (has_unique_object_representations) + (has_unique_object_representations_v): Guard behind + __cpp_lib_has_unique_object_representation. + (is_aggregate): Guard behind __cpp_lib_is_aggregate. + (remove_cvref, remove_cvref_t): Guard behind + __cpp_lib_remove_cvref. + (type_identity, type_identity_t): Guard behind + __cpp_lib_type_identity. + (unwrap_reference, unwrap_reference_t, unwrap_ref_decay) + (unwrap_ref_decay_t): Guard behind __cpp_lib_unwrap_ref. + (is_bounded_array_v, is_unbounded_array_v, is_bounded_array) + (is_unbounded_array): Guard behind __cpp_lib_bounded_array_traits. + (is_scoped_enum, is_scoped_enum_v): Guard behind + __cpp_lib_is_scoped_enum. + (reference_constructs_from_temporary) + (reference_constructs_from_temporary_v): Guard behind + __cpp_lib_reference_from_temporary. + * include/std/tuple: Switch to bits/version.h for + __cpp_lib_{constexpr_tuple,tuple_by_type,apply_make_from_tuple}. + (get): Guard behind __cpp_lib_tuple_by_type. + (apply): Guard behind __cpp_lib_apply. + (make_from_tuple): Guard behind __cpp_lib_make_from_tuple. + * include/std/syncstream: Switch to bits/version.h for + __cpp_lib_syncbuf. Guard header behind that FTM. + * include/std/string_view: Switch to bits/version.h for + __cpp_lib_{string_{view,contains},constexpr_string_view} and + __cpp_lib_starts_ends_with. + (basic_string_view::starts_with, basic_string_view::ends_with): + Guard behind __cpp_lib_starts_ends_with. + [C++23 && _GLIBCXX_HOSTED && !defined(__cpp_lib_string_contains)]: + Assert as impossible ithout a bug in C++23. + * include/std/string: Switch to bits/version.h for + __cpp_lib_erase_if. + (erase, erase_if): Guard behind __cpp_lib_erase_if. + * include/std/thread: Switch to bits/version.h for + __cpp_lib_jthread. + * include/std/stop_token: Switch to bits/version.h for + __cpp_lib_jthread. + * include/std/spanstream: Switch to bits/version.h for + __cpp_lib_spanstream. Guard header behind that FTM. + * include/std/span: Switch to bits/version.h for __cpp_lib_span. + Guard header behind that FTM. + * include/std/source_location: Switch to bits/version.h for + __cpp_lib_source_location. Guard header with that FTM. + * include/std/shared_mutex: Switch to bits/version.h for + __cpp_lib_shared{,_timed}_mutex. + (shared_mutex): Guard behind __cpp_lib_shared_mutex. + * include/std/semaphore: Switch to bits/version.h for + __cpp_lib_semaphore. Guard header behind that FTM. + * include/std/ranges: Switch to bits/version.h for + __cpp_lib_ranges_{zip,chunk{,_by},slide,join_with}, + __cpp_lib_ranges_{repeat_stride,cartesian_product,as_rvalue}, + and __cpp_lib_ranges_{as_const,enumerate,iota}. + (ranges::zip et al, ranges::chunk et al, ranges::slide et al) + (ranges::chunk_by et al, ranges::join_with et al) + (ranges::stride et al, ranges::cartesian_product et al) + (ranges::as_rvalue et al, ranges::as_const et al) + (ranges::enumerate et al): Guard behind appropriate FTM. + * include/std/optional: Switch to bits/version.h for + __cpp_lib_optional. Guard header behind that FTM. + * include/std/numeric: Switch to bits/version.h for + __cpp_lib_{gcd{,_lcm},lcm,constexpr_numeric,interpolate} + and __cpp_lib_parallel_algorithm. + (gcd, lcm): Guard behind __cpp_lib_gcd_lcm. + (midpoint): Guard behind __cpp_lib_interpolate. + * include/std/numbers: Switch to bits/version.h for + __cpp_lib_math_constants. Guard header behind that FTM. + * include/std/mutex: Switch to bits/version.h for + __cpp_lib_scoped_lock. + (scoped_Lock): Guard behind __cpp_lib_scoped_lock. + * include/std/memory_resource: Switch to bits/version.h for + __cpp_lib_{polymorphic_allocator,memory_resource}. + (synchronized_pool_resource): Guard behind + __cpp_lib_memory_resource >= 201603L. + (polymorphic_allocator): Guard behind + __cpp_lib_polymorphic_allocator. + * include/std/memory: Switch to bits/version.h for + __cpp_lib_{parallel_algorithm,atomic_value_initialization}. + * include/std/list: Switch to bits/version.h for + __cpp_lib_erase_if. + (erase, erase_if): Guard behind __cpp_lib_erase_if. + * include/std/latch: Switch to bits/version.h for __cpp_lib_latch. + Guard header behind that FTM. + * include/std/iterator: Switch to bits/version.h for + __cpp_lib_null_iterators. + * include/std/iomanip: Switch to bits/version.h for + __cpp_lib_quoted_string_io. + (quoted): Guard behind __cpp_lib_quoted_string_io. + * include/std/functional: Switch to bits/version.h for + __cpp_lib_{invoke{,_r},constexpr_functional,bind_front} and + __cpp_lib_{not_fn,booyer_moore_searcher}. + (invoke): Guard behind __cpp_lib_invoke. + (invoke_r): Guard behind __cpp_lib_invoke_r. + (bind_front): Guard behind __cpp_lib_bind_front. + (not_fn): Guard behind __cpp_lib_not_fn. + (boyer_moore_searcher, boyer_moore_horspool_searcher): Guard + definition behind __cpp_lib_boyer_moore_searcher. + * include/std/forward_list: Switch to bits/version.h for + __cpp_lib_erase_if. + (erase, erase_if): Guard behind __cpp_lib_erase_if. + * include/std/format: Switch to bits/version.h for + __cpp_lib_format. Guard header behind that FTM. + * include/std/filesystem: Switch to bits/version.h for + __cpp_lib_filesystem. Guard header behind that FTM. + * include/std/expected: Switch to bits/version.h for + __cpp_lib_expected. Guard header behind it. + * include/std/execution: Switch to bits/version.h for + __cpp_lib_{execution,parallel_algorithm}. Guard header behind + either. + * include/std/deque: Switch to bits/version.h for + __cpp_lib_erase_if. + (erase, erase_if): Guard behind __cpp_lib_erase_if. + * include/std/coroutine: Switch to bits/version.h for + __cpp_lib_coroutine. Guard header behind that FTM. + * include/std/concepts: Switch to bits/version.h for + __cpp_lib_concepts. Guard header behind that FTM. + * include/std/complex: Switch to bits/version.h for + __cpp_lib_{complex_udls,constexpr_complex}. + (operator""if, operator""i, operator""il): Guard behind + __cpp_lib_complex_udls. + * include/std/charconv: Swtich to bits/version.h for + __cpp_lib_{to_chars,constexpr_charconv}. + * include/std/bitset: Switch to bits/version.h for + __cpp_lib_constexpr_bitset. + * include/std/bit: Switch to bits/version.h for + __cpp_lib_{bit_cast,byteswap,bitops,int_pow2,endian}. + (bit_cast): Guard behind __cpp_lib_bit_cast. + (byteswap): Guard behind __cpp_lib_byteswap. + (rotl, rotr, countl_zero, countl_one, countr_zero, countr_one) + (popcount): Guard behind __cpp_lib_bitops. + (has_single_bit, bit_ceil, bit_floor, bit_width): Guard behind + __cpp_lib_int_pow2. + (endian): Guard behind __cpp_lib_endian. + * include/std/barrier: Switch to bits/version.h for + __cpp_lib_barrier. Guard header behind that FTM. + * include/std/atomic: Switch to bits/version.h for + __cpp_lib_atomic_{is_always_lock_free,float,ref} + and __cpp_lib_lock_free_type_aliases. + (*::is_always_lock_free): Guard behind + __cpp_lib_atomic_is_always_lock_free. + (atomic): Guard behind __cpp_lib_atomic_float. + (atomic_ref): Guard behind __cpp_lib_atomic_ref. + (atomic_signed_lock_free, atomic_unsigned_lock_free): Guard behind + __cpp_lib_atomic_lock_free_type_aliases. + * include/std/array: Switch to bits/version.h for + __cpp_lib_to_array. + (to_array): Guard behind __cpp_lib_to_array. + * include/std/any: Switch to bits/version.h for __cpp_lib_any. + Guard header behind that FTM. + * include/std/algorithm: Switch to bits/version.h for + __cpp_lib_parallel_algorithm. + * include/c_global/cstddef: Switch to bits/version.h for + __cpp_lib_byte. + (byte): Guard behind __cpp_lib_byte. + * include/c_global/cmath: Switch to bits/version.h for + __cpp_lib_{hypot,interpolate}. + (hypot3): Guard behind __cpp_lib_hypot. + (lerp): Guard behind __cpp_lib_interpolate. + * include/c_compatibility/stdatomic.h: Switch to + bits/stl_version.h for __cpp_lib_atomic. Guard header behind that + FTM. + * include/bits/utility.h: Switch to bits/version.h for + __cpp_lib_{tuple_element_t,integer_sequence,ranges_zip}. + (tuple_element_t): Guard behind __cpp_lib_tuple_element_t. + (integer_sequence et al): Guard behind __cpp_lib_integer_sequence. + * include/bits/uses_allocator_args.h: Switch to bits/version.h for + __cpp_lib_make_obj_using_allocator. Guard header behind that FTM. + * include/bits/unordered_map.h: Switch to bits/version.h for + __cpp_lib_unordered_map_try_emplace. + (try_emplace): Guard behind __cpp_lib_unordered_map_try_emplace. + * include/bits/unique_ptr.h: Switch to bits/version.h for + __cpp_lib_{constexpr_memory,make_unique}. + (make_unique): Guard behind __cpp_lib_make_unique. + * include/bits/stl_vector.h: Switch to bits/version.h for + __cpp_lib_constexpr_vector. + * include/bits/stl_uninitialized.h: Switch to bits/version.h for + __cpp_lib_raw_memory_algorithms. + (uninitialized_default_construct) + (uninitialized_default_construct_n, uninitialized_move) + (uninitialized_move_n, uninitialized_value_construct) + (uninitialized_value_construct_n): Guard behind + __cpp_lib_raw_memory_algorithms. + * include/bits/stl_tree.h: Switch to bits/version.h for + __cpp_lib_generic_associative_lookup. + * include/bits/stl_stack.h: Switch to bits/version.h for + __cpp_lib_adaptor_iterator_pair_constructor. + (stack): Guard iterator-pair constructor behind + __cpp_lib_adaptor_iterator_pair_constructor. + * include/bits/stl_queue.h: Switch to bits/version.h for + __cpp_lib_adaptor_iterator_pair_constructor. + (queue): Guard iterator-pair constructor behind + __cpp_lib_adaptor_iterator_pair_constructor. + * include/bits/stl_pair.h: Switch to bits/version.h for + __cpp_lib_{concepts,tuples_by_type}. + (get): Guard type-getting overloads behind + __cpp_lib_tuples_by_type. + * include/bits/stl_map.h: Switch to bits/version.h for + __cpp_lib_map_try_emplace. + (map<>::try_emplace): Guard behind __cpp_lib_map_try_emplace. + * include/bits/stl_list.h: Switch to bits/version.h for + __cpp_lib_list_remove_return_type. + (__remove_return_type, _GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG) + [C++20]: guard behind __cpp_lib_list_remove_return_type instead. + * include/bits/stl_iterator.h: Switch to bits/version.h for + __cpp_lib_{constexpr_iterator,array_constexpr} and + __cpp_lib_{make_reverse_iterator,move_iterator_concept}. + (make_reverse_iterator): Guard behind + __cpp_lib_make_reverse_iterator. + (iterator_concept et al): Guard __cpp_lib_move_iterator_concept + changes behind that FTM. + * include/bits/stl_function.h: Switch to bits/version.h for + __cpp_lib_transparent_operators. + (equal_to, not_equal_to, greater, less, greater_equal) + (less_equal, bit_and, bit_or, bit_xor, bit_not, logical_and) + (logical_or, logical_not, plus, minus, multiplies, divides) + (modulus, negate): Guard '= void' fwdecls behind + __cpp_lib_transparent_operators. + (plus, minus, multiplies, divides) + (modulus, negate, logical_and, logical_or) + (logical_not, bit_and, bit_or, bit_xor) + (equal_to, not_equal_to, greater, less) + (greater_equal, less_equal, bit_not) + (__has_is_transparent): Guard behind + __cpp_lib_transparent_operators. + * include/bits/stl_algobase.h: Switch to bits/version.h for + __cpp_lib_robust_nonmodifying_seq_ops. + (robust equal, mismatch): Guard behind + __cpp_lib_nonmember_container_access. + * include/bits/stl_algo.h: Swtich to bits/version.h for + __cpp_lib_{clamp,sample}. + (clamp): Guard behind __cpp_lib_clamp. + (sample): Guard behind __cpp_lib_sample. + * include/bits/specfun.h: Switch to bits/version.h for + __cpp_lib_math_special_functions and __STDCPP_MATH_SPEC_FUNCS__. + * include/bits/shared_ptr_base.h: Switch to bits/version.h for + __cpp_lib_{smart_ptr_for_overwrite,shared_ptr_arrays}. + (_Sp_overwrite_tag): Guard behind + __cpp_lib_smart_ptr_for_overwrite. + * include/bits/shared_ptr_atomic.h: Switch to bits/version.h for + __cpp_lib_atomic_shared_ptr. + * include/bits/shared_ptr.h: Switch to bits/version.h for + __cpp_lib_{enable_shared_from_this,shared_ptr_weak_type}. + (shared_ptr::weak_type): Guard behind + __cpp_lib_shared_ptr_weak_type. + (enable_shared_from_this::weak_from_this): Guard behind + __cpp_lib_enable_shared_from_this. + * include/bits/ranges_cmp.h: Switch to bits/version.h for + __cpp_lib_ranges. + * include/bits/ranges_algo.h: Switch to bits/version.h for + __cpp_lib_{shift,ranges_{contains,find_last,fold,iota}}. + * include/bits/range_access.h: Switch to bits/version.h for + __cpp_lib_nonmember_container_access + (size, empty, data): Guard behind + __cpp_lib_nonmember_container_access. + (ssize): Guard behind __cpp_lib_ssize. + * include/bits/ptr_traits.h: Switch to bits/version.h. for + __cpp_lib_{constexpr_memory,to_address}. + (to_address): Guard behind __cpp_lib_to_address. + * include/bits/node_handle.h: Switch to bits/version.h for + __cpp_lib_node_extract. Guard header behind that FTM. + * include/bits/move_only_function.h: Switch to bits/version.h for + __cpp_lib_move_only_function. Guard header behind that FTM. + * include/bits/move.h: Switch to bits/version.h for + __cpp_lib_addressof_constexpr. + * include/bits/ios_base.h: Switch to bits/version.h for + __cpp_lib_ios_noreplace. + (noreplace): Guard with __cpp_lib_ios_noreplace. + * include/bits/hashtable.h: Switch to bits/version.h for + __cpp_lib_generic_unordered_lookup. + (_M_equal_range_tr, _M_count_tr, _M_find_tr): Guard behind + __cpp_lib_generic_unordered_lookup. + * include/bits/forward_list.h: Switch to bits/version.h for + __cpp_lib_list_remove_return_type. + (__remove_return_type): Guard behind + __cpp_lib_list_remove_return_type. + * include/bits/erase_if.h: Switch to bits/version.h for + __cpp_lib_erase_if. + * include/bits/cow_string.h: Switch to bits/version.h for + __cpp_lib_constexpr_string. + * include/bits/chrono.h: Swtich to bits/version.h for + __cpp_lib_chrono{,_udls}. + (ceil): Guard behind __cpp_lib_chrono. + (operator""ns et al): Guard behind __cpp_lib_chrono_udls. + * include/bits/char_traits.h: Switch to bits/version.h for + __cpp_lib_constexpr_char_traits. + * include/bits/basic_string.h: Switch to bits/version.h for + __cpp_lib_{constexpr_string,string_{resize_and_overwrite,udls}}. + (resize_and_overwrite): Guard behind + __cpp_lib_string_resize_and_overwrite. + (operator""s): Guard behind __cpp_lib_string_udls. + * include/bits/atomic_wait.h: Switch to bits/version.h for + __cpp_lib_atomic_wait. Guard header behind that FTM. + * include/bits/atomic_base.h: Switch to bits/version.h for + __cpp_lib_atomic_value_initialization and + __cpp_lib_atomic_flag_test. + (atomic_flag::test): Guard behind __cpp_lib_atomic_flag_test, + rather than C++20. + * include/bits/allocator.h: Switch to bits/version.h for + __cpp_lib_incomplete_container_elements. + * include/bits/alloc_traits.h: Switch to using bits/version.h for + __cpp_lib_constexpr_dynamic_alloc and + __cpp_lib_allocator_traits_is_always_equal. + * include/bits/align.h: Switch to bits/version.h for defining + __cpp_lib_assume_aligned. + (assume_aligned): Guard with __cpp_lib_assume_aligned. + * include/bits/algorithmfwd.h: Switch to bits/version.h for + defining __cpp_lib_constexpr_algorithms. + * include/std/stacktrace: Switch to bits/version.h for + __cpp_lib_stacktrace. Guard header behind that FTM. + * testsuite/23_containers/array/tuple_interface/get_neg.cc: + Update line numbers. + +2023-08-16 Arsen Arsenović + + * include/Makefile.am (bits_freestanding): Add version.h. + (allcreated): Add version.h. + (${bits_srcdir}/version.h): New rule. Regenerates + version.h out of version.{def,tpl}. + * include/Makefile.in: Regenerate. + * include/bits/version.def: New file. Declares a list of + all feature test macros, their values and their preconditions. + * include/bits/version.tpl: New file. Turns version.def + into a sequence of #if blocks. + * include/bits/version.h: New file. Generated from + version.def. + * include/std/version: Replace with a __glibcxx_want_all define + and bits/version.h include. + +2023-08-14 Paul Dreik + + PR libstdc++/110860 + * include/std/format (__formatter_fp::format): Use frexp instead + of log10. + +2023-08-12 Ken Matsui + + * include/std/type_traits (true_type): Use __bool_constant + instead. + (false_type): Likewise. + (bool_constant): Likewise. + +2023-08-11 Jonathan Wakely + + PR libstdc++/110990 + * include/std/format (_Seq_sink::get): Only call _M_overflow if + its precondition is met. + (_Iter_sink::_M_finish): Likewise. + (_Iter_sink::_M_overflow): Only switch to the + internal buffer after running out of space. + (_Iter_sink::_M_finish): Do not use _M_overflow. + (_Counting_sink::count): Likewise. + * testsuite/std/format/functions/format_to_n.cc: Check cases + where the output fits into the buffer. + +2023-08-11 Jonathan Wakely + + PR libstdc++/104167 + * include/bits/chrono_io.h (operator|=, operator|): Add noexcept + to _ChronoParts operators. + (from_stream, parse): Define new functions. + (__detail::_Parse, __detail::_Parser): New class templates. + * include/std/chrono (__cpp_lib_chrono): Define to 201907L for + C++20. + * include/std/version (__cpp_lib_chrono): Likewise. + * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: + Adjust expected value of feature test macro. + * testsuite/20_util/duration/io.cc: Test parsing. + * testsuite/std/time/clock/file/io.cc: Likewise. + * testsuite/std/time/clock/gps/io.cc: Likewise. + * testsuite/std/time/clock/system/io.cc: Likewise. + * testsuite/std/time/clock/tai/io.cc: Likewise. + * testsuite/std/time/clock/utc/io.cc: Likewise. + * testsuite/std/time/day/io.cc: Likewise. + * testsuite/std/time/month/io.cc: Likewise. + * testsuite/std/time/month_day/io.cc: Likewise. + * testsuite/std/time/weekday/io.cc: Likewise. + * testsuite/std/time/year/io.cc: Likewise. + * testsuite/std/time/year_month/io.cc: Likewise. + * testsuite/std/time/year_month_day/io.cc: Likewise. + * testsuite/std/time/syn_c++20.cc: Check value of macro and for + the existence of parse and from_stream in namespace chrono. + * testsuite/std/time/clock/local/io.cc: New test. + * testsuite/std/time/parse.cc: New test. + +2023-08-11 Jonathan Wakely + + PR libstdc++/110860 + * include/std/format (__formatter_fp::format): Do not call log10 + with zero values. + +2023-08-11 Jonathan Wakely + + * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter): + Check for out-of-range month an weekday indices. + * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid + month and weekday values. + +2023-08-11 Jonathan Wakely + + * include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove. + +2023-08-10 Jonathan Wakely + + PR libstdc++/110974 + * include/std/format (_Spec::_S_parse_width_or_precision): Check + for empty range before dereferencing iterator. + * testsuite/std/format/string.cc: Check for expected exception. + Fix expected exception message in test_pr110862() and actually + call it. + +2023-08-10 Jonathan Wakely + + PR libstdc++/110968 + * include/std/format (__formatter_fp::format): Check return + value of _M_localize. + * testsuite/std/format/functions/format.cc: Check classic + locale. + +2023-08-10 Jonathan Wakely + + PR libstdc++/110970 + * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use + __iter_category_t. + (iterator_traits>::_S_iter_cat): Likewise. + (__detail::__basic_const_iterator_iter_cat): Likewise. + * include/bits/stl_iterator_base_types.h (__iterator_category_t): + Rename to __iter_category_t. + +2023-08-09 Jonathan Wakely + + * include/bits/chrono.h (duration_cast): Do not use braces + around statements for C++11 constexpr rules. + * include/bits/stl_algobase.h (__lg): Rewrite as a single + statement for C++11 constexpr rules. + * include/experimental/bits/fs_path.h (path::string): Use + _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'. + * include/std/charconv (__to_chars_8): Initialize variable for + C++17 constexpr rules. + +2023-08-09 Jonathan Wakely + + * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare + warning for loop condition. + +2023-08-09 Jonathan Wakely + + * include/std/complex: Add diagnostic pragma for clang. + +2023-08-09 Jonathan Wakely + + * include/bits/shared_ptr_atomic.h (atomic): Change class-head + to struct. + * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change + class-head to struct in friend declaration. + * include/std/chrono (tzdb_list::_Node): Likewise. + * include/std/future (_Task_state_base, _Task_state): Likewise. + * include/std/scoped_allocator (__inner_type_impl): Likewise. + * include/std/valarray (_BinClos, _SClos, _GClos, _IClos) + (_ValFunClos, _RefFunClos): Change class-head to struct. + +2023-08-09 Jonathan Wakely + + * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]] + attribute. + * include/bits/regex_executor.tcc: Remove name of unused + parameter. + * include/bits/shared_ptr_atomic.h (atomic_is_lock_free): + Likewise. + * include/bits/stl_uninitialized.h: Likewise. + * include/bits/streambuf_iterator.h (operator==): Likewise. + * include/bits/uses_allocator.h: Likewise. + * include/c_global/cmath (isfinite, isinf, isnan): Likewise. + * include/std/chrono (zoned_time): Likewise. + * include/std/future (__future_base::_S_allocate_result): + Likewise. + (packaged_task): Likewise. + * include/std/optional (_Optional_payload_base): Likewise. + * include/std/scoped_allocator (__inner_type_impl): Likewise. + * include/std/tuple (_Tuple_impl): Likewise. + +2023-08-09 Jonathan Wakely + + * include/bits/new_allocator.h (__new_allocator): Define copy + assignment operator as defaulted. + * include/std/complex (complex, complex) + (complex): Define copy constructor as defaulted. + +2023-08-09 Jonathan Wakely + + * include/std/format: Fix some warnings. + (__format::__write(Ctx&, basic_string_view)): Remove + unused function template. + +2023-08-07 Jonathan Wakely + + PR libstdc++/110860 + * include/std/format (__formatter_fp::format): Do not use + __builtin_abs and __builtin_log10 with arbitrary floating-point + types. + +2023-08-07 Jonathan Wakely + + PR libstdc++/110917 + * include/std/format (__format::_Iter_sink): + Constrain partial specialization for contiguous iterators to + require the value type to be CharT. + * testsuite/std/format/functions/format_to.cc: New test. + +2023-08-07 Jonathan Wakely + + PR libstdc++/110862 + * include/std/format (_Scanner::_M_on_replacement_field): + Check for expected '}' before incrementing iterator. + * testsuite/std/format/string.cc: Check "{0:{0}" format string. + +2023-08-07 Nick Alcock + + * configure: Regenerate. + +2023-08-07 Alan Modra + + * configure: Regenerate. + +2023-08-07 Alexander von Gluck IV + + * configure: Regenerate. + +2023-08-07 Nick Alcock + + * configure: Regenerate. + +2023-08-07 Nick Alcock + + * configure: Regenerate. + +2023-08-07 H.J. Lu + + * configure: Regenerate. + +2023-08-07 H.J. Lu + + * configure: Regenerate. + +2023-08-06 François Dumont + + * config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate + symbol export. + +2023-07-30 François Dumont + + * src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with + proper #error. + * src/c++11/locale-inst-monetary.h: Likewise. + * src/c++11/locale-inst-numeric.h: Likewise. + +2023-07-27 Jonathan Wakely + + PR libstdc++/108046 + * include/std/format (__formatter_fp::format): Ensure __expc is + always set for all presentation types. Set __z correctly for + zero precision. + * testsuite/std/format/functions/format.cc: Check problem cases. + +2023-07-26 Jonathan Wakely + + PR libstdc++/110807 + * testsuite/23_containers/vector/bool/110807.cc: Require c++11. + +2023-07-26 Jonathan Wakely + + PR libstdc++/110807 + * include/bits/stl_bvector.h (vector(const vector&)): Access + iterators before allocating. + * include/bits/vector.tcc (vector::_M_insert_range): + Likewise. + * testsuite/23_containers/vector/bool/110807.cc: New test. + +2023-07-26 Jonathan Wakely + + * include/bits/algorithmfwd.h (random_shuffle): Add deprecated + attribute. + * include/bits/stl_algo.h (random_shuffle): Correct comments. + * testsuite/25_algorithms/random_shuffle/1.cc: Disable + deprecated warnings. + * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise. + * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. + * testsuite/25_algorithms/random_shuffle/deprecated.cc: New + test. + +2023-07-26 Nathaniel Shead + + * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic + locations. + * testsuite/26_numerics/gcd/105844.cc: Likewise. + * testsuite/26_numerics/lcm/105844.cc: Likewise. + +2023-07-24 Deev Patel + + * include/std/format (_Formatting_scanner::_M_on_chars): Add + missing constexpr specifier. + (_Formatting_scanner::_M_format_arg): Likewise. + +2023-07-24 Jonathan Wakely + + PR libstdc++/110653 + * include/bits/basic_string.h [!HAVE_STOF] (stof): Do not + throw an exception for zero result. + [HAVE_BROKEN_STRTOLD] (stold): Do not use strtold. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110077 + * src/c++17/floating_from_chars.cc (from_chars): Only define + _Float128 overload when using __strfromf128. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110593 + * include/bits/chrono.h (duration): Improve static assert + messages. + (__is_ratio): Move to ... + * include/std/ratio (__is_ratio): ... here. + (__is_ratio_v): New variable template and partial + specialization. + (__are_both_ratios): New function template. + (__ratio_multiply, ratio_equal, ratio_less, __ratio_add): + Add static assertion. + * testsuite/20_util/ratio/requirements/type_constraints.cc: + New test. + * testsuite/20_util/duration/requirements/typedefs_neg1.cc: + Adjust expected error. + * testsuite/20_util/duration/requirements/typedefs_neg2.cc: + Likewise. + +2023-07-19 Jonathan Wakely + + * include/bits/chrono_io.h (__formatter_chrono::_M_format): + Do not set __is_neg for hh_mm_ss before calling + _M_format_to_ostream. Change __print_sign lambda to only check + __is_neg for durations and hh_mm_ss types. + (__formatter_chrono::_M_format_to_ostream): Only check __is_neg + for duration types. + * testsuite/std/time/hh_mm_ss/io.cc: Check negative values. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110719 + * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds): + Handle duration and hh_mm_ss. + * testsuite/20_util/duration/io.cc: Check locale-specific + formats. + * testsuite/std/time/hh_mm_ss/io.cc: Likewise. + +2023-07-19 Jonathan Wakely + + * include/std/format (__write_padded): Initialize first element + of array to avoid a -Wmaybe-uninitialized warning. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110719 + * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix + allowed modifiers for %z and %Z. Fix -Wparentheses and + -Wnarrowing warnings. + (__formatter_chrono::_M_format): Call new functions for %d, %e, + %H, %I, %m and %M. + (__formatter_chrono::_M_c): Use _S_floor_seconds to remove + subsecond precision. + (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle + modifiers. + (__formatter_chrono::_M_e): Replace with _M_d_e and use + _M_locale_fmt. + (__formatter_chrono::_M_I): Replace with _M_H_I and use + _M_locale_fmt. + (__formatter_chrono::_M_m): New function. + (__formatter_chrono::_M_M): New function. + (__formatter_chrono::_M_r): Use _M_locale_fmt. + (__formatter_chrono::_M_S): Likewise. + (__formatter_chrono::_M_u_w): Likewise. + (__formatter_chrono::_M_U_V_W): Likewise. + (__formatter_chrono::_M_X): Use _S_floor_seconds. + (__formatter_chrono::_M_Z): Fix untested branch for wchar_t. + (__formatter_chrono::_S_altnum): Remove function. + (__formatter_chrono::_S_dd_zero_fill): Remove function. + (__formatter_chrono::_S_floor_seconds): New function. + (__formatter_chrono::_M_locale_fmt): New function. + * testsuite/std/time/clock/system/io.cc: Adjust expected output + for locale-specific formats and check modified formats. + * testsuite/std/time/clock/utc/io.cc: Likewise. + * testsuite/std/time/zoned_time/io.cc: New test. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110708 + * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only + allow a single modifier. + * testsuite/std/time/format.cc: Check multiple modifiers. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110653 + * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: + Remove dg-require-string-conversions. + * 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/stoul.cc: + Likewise. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110653 + * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof): + Define in terms of std::stod. + +2023-07-19 Jonathan Wakely + + PR libstdc++/110653 + * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof): + Define. + [_GLIBCXX_HAVE_STRTOLD] (stold): Define. + * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof): + Declare in namespace std. + [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise. + +2023-07-13 Jonathan Wakely + + PR libstdc++/110653 + * include/bits/basic_string.h (stoi, stol, stoul, stod): Do not + depend on _GLIBCXX_USE_C99_STDLIB. + [__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define + in terms of stol and stoul respectively. + [__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms + of stod. + +2023-07-12 Jonathan Wakely + + PR libstdc++/95048 + * testsuite/27_io/filesystem/path/construct/95048.cc: Check + conversions to wide strings. + * testsuite/experimental/filesystem/path/construct/95048.cc: + Likewise. + +2023-07-12 Jonathan Wakely + + * config/io/basic_file_stdio.cc: Define LFS macros. + (__basic_file::open): Use fopen unconditionally. + (get_file_offset): Use lseek unconditionally. + (__basic_file::seekoff): Likewise. + (__basic_file::showmanyc): Use fstat unconditionally. + +2023-07-12 Jonathan Wakely + + PR libstdc++/110574 + * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello + and define _GLIBCXX_USE_FSEEKO_FTELLO. + * config.h.in: Regenerate. + * configure: Regenerate. + * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]: + Check for fwrite error correctly. + (__basic_file::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for + fread error correctly. + (get_file_offset): New function. + (__basic_file::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use + fseeko if available. Use get_file_offset instead of return value + of fseek. + (__basic_file::showmanyc): Use get_file_offset. + +2023-07-12 Ken Matsui + + * include/std/type_traits (__make_unsigned_selector): Use + __is_enum built-in trait. + (__make_signed_selector): Likewise. + (__underlying_type_impl): Likewise. + +2023-07-06 Tianqiang Shuai <1101282468@qq.com> + + * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix + first argument. + +2023-07-06 Jonathan Wakely + + PR libstdc++/110574 + * doc/xml/manual/configure.xml: Describe stdio_pure argument to + --enable-cstdio. + * doc/html/manual/configure.html: Regenerate. + +2023-07-05 Thomas Rodgers + + * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete + file. + * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc: + New file. + * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: + Likewise. + +2023-07-05 Jonathan Wakely + + * testsuite/23_containers/forward_list/debug/iterator1_neg.cc: + Skip as UNSUPPORTED for C++98 mode. + * testsuite/23_containers/forward_list/debug/iterator3_neg.cc: + Likewise. + +2023-07-05 Jonathan Wakely + + PR libstdc++/110542 + * include/bits/stl_uninitialized.h (__uninitialized_default_n): + Do not use std::fill_n during constant evaluation. + +2023-07-05 Jonathan Wakely + + * include/bits/vector.tcc (_M_default_append): Replace try-block + with RAII types. + +2023-07-05 Jonathan Wakely + + * include/bits/iterator_concepts.h (projected): Add typename. + +2023-07-03 Jonathan Wakely + + * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and + wosyncstream depend on _GLIBCXX_USE_CXX11_ABI. + +2023-07-03 Jonathan Wakely + + * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN, + _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN): + Define to OpenMP 5.0 pragmas even for GCC 10.0+. + (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+. + +2023-07-03 Jonathan Wakely + + * include/bits/alloc_traits.h (_Destroy): Qualify call. + * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise. + * testsuite/23_containers/vector/cons/destroy-adl.cc: New test. + +2023-07-03 Iain Sandoe + + * testsuite/lib/libstdc++.exp: Remove additional flag handled + by Darwin specs. + +2023-06-30 Jonathan Wakely + + PR libstdc++/110432 + * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New. + * config.h.in: Regenerate. + * configure: Regenerate. + * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY. + * include/std/iostream: Use new autoconf macro as well as + __has_attribute. + * src/c++98/ios_base_init.h: Use new autoconf macro instead of + __has_attribute. + +2023-06-30 Jonathan Wakely + + * src/c++11/random.cc (random_device::_M_init): Add maybe_unused + attribute. + +2023-06-30 Jonathan Wakely + + PR libstdc++/105081 + * src/c++11/random.cc (random_device::_M_init): Throw + std::system_error when the requested device is a valid token but + not available at runtime. + +2023-06-30 Hans-Peter Nilsson + + PR libstdc++/108672 + * include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using + __INT32_TYPE__ instead of int32_t. + +2023-06-29 Jonathan Wakely + + * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently + with USE_ATOMIC_LIST_HEAD. + (list_mutex): Replace global object with function. Use local + static object when std::mutex constructor isn't constexpr. + +2023-06-29 Jonathan Wakely + + PR libstdc++/110462 + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that + copy_file_range can be called with loff_t* arguments. + * configure: Regenerate. + * src/filesystem/ops-common.h (copy_file_copy_file_range): + Use loff_t for offsets. + +2023-06-29 Tom Tromey + + * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer + regexp. + +2023-06-28 Jan Hubicka + + PR middle-end/109849 + * include/bits/c++config (std::__terminate): Mark cold. + * include/bits/functexcept.h: Mark everything as cold. + * libsupc++/exception: Mark terminate and unexpected as cold. + +2023-06-26 Thomas Rodgers + + * include/pstl/algorithm_fwd.h: Synchronize with upstream. + * include/pstl/algorithm_impl.h: Likewise. + * include/pstl/execution_defs.h: Likewise. + * include/pstl/execution_impl.h: Likewise. + * include/pstl/glue_algorithm_impl.h: Likewise. + * include/pstl/glue_execution_defs.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_fwd.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_impl.h: Likewise. + * include/pstl/pstl_config.h: Likewise. + * include/pstl/unseq_backend_simd.h: Likewise. + * include/pstl/utils.h: Likewise. + * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: + Likewise. + * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: + Likewise. + * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: + Likewise. + * testsuite/26_numerics/pstl/numeric_ops/scan.cc: + Likewise. + * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: + Likewise. + * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: + Likewise. + * testsuite/util/pstl/test_utils.h: + Likewise. + +2023-06-26 Jonathan Wakely + + PR libstdc++/110239 + * include/std/format (__format::__parse_integer): Fix buffer + overflow for wide chars. + (formatter::format): Cast to uintptr_t instead + of uint64_t. + * testsuite/std/format/string.cc: Test too-large widths. + +2023-06-26 Jonathan Wakely + + * include/bits/iterator_concepts.h (projected): Replace class + template with alias template denoting an ADL-proofed helper. + (incremental_traits>): Remove. + * testsuite/24_iterators/indirect_callable/projected-adl.cc: + New test. + +2023-06-26 Jonathan Wakely + + * include/debug/helper_functions.h (__get_distance) + (__check_singular, __valid_range_aux, __valid_range): Qualify + calls to disable ADL. + (__check_singular_aux(const _Safe_iterator_base*)): Declare + overload that was previously found via ADL. + +2023-06-23 Jonathan Wakely + + * include/bits/vector.tcc (_M_realloc_insert): Replace try-block + with RAII types. + +2023-06-20 Jonathan Wakely + + * include/std/array (to_array(T(&)[N])): Remove redundant + condition. + (to_array(T(&&)[N])): Remove redundant std::move. + +2023-06-16 Alexandre Oliva + + * testsuite/20_util/from_chars/4.cc: Skip long double on + aarch64-rtems. + +2023-06-16 Joel Brobecker + + * configure.ac ["x${with_newlib}" = "xyes"]: Define + HAVE_HYPOTF. Add compile-checks for various long double + math functions as well. + * configure: Regenerate. + +2023-06-14 Jonny Grant + + * doc/xml/manual/extensions.xml: Remove demangle exception + description and include. + * doc/html/manual/ext_demangling.html: Regenerate. + +2023-06-10 Hans-Peter Nilsson + + * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main) + [! SIMULATOR_TEST]: Also exclude running test05. + * testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto. + +2023-06-09 Ken Matsui + + * include/std/type_traits: Use using instead of typedef + +2023-06-09 Jonathan Wakely + + PR libstdc++/110077 + * src/c++17/floating_from_chars.cc (from_chars) <_Float128>: + Only define if _Float128 and long double have different + representations. + +2023-06-09 Jonathan Wakely + + PR libstdc++/100285 + * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP] + (basic_endpoint, basic_resolver_entry, resolver_base) + (basic_resolver_results, basic_resolver): Only define if the tcp + or udp protocols will be defined. + +2023-06-09 Jonathan Wakely + + * acinclude.m4 (libtool_VERSION): Update to 6.0.33. + * configure: Regenerate. + * doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33. + * doc/html/manual/abi.html: Regenerate. + +2023-06-09 Jonathan Wakely + + PR libstdc++/110149 + * include/std/format (formatter::parse): + Only alow 0 and P for C++26 and non-strict modes. + (formatter::format): Use toupper for P + type, and insert zero-fill characters for 0 option. + * testsuite/std/format/functions/format.cc: Check pointer + formatting. Only check P2510R3 extensions conditionally. + * testsuite/std/format/parse_ctx.cc: Only check P2510R3 + extensions conditionally. + +2023-06-09 Jonathan Wakely + + PR libstdc++/110167 + * include/std/array (to_array): Initialize arrays of trivial + types using memcpy. For non-trivial types, use lambda + expressions instead of a separate helper function. + (__to_array): Remove. + * testsuite/23_containers/array/creation/110167.cc: New test. + +2023-06-09 Jonathan Wakely + + * testsuite/23_containers/deque/modifiers/emplace/52799.cc: + Removed. + * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc: + Removed. + * testsuite/23_containers/list/modifiers/emplace/52799.cc: + Removed. + * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc: + Removed. + * testsuite/23_containers/vector/modifiers/emplace/52799.cc: + Removed. + * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc: + Removed. + * testsuite/23_containers/deque/modifiers/emplace/1.cc: New + test. + * testsuite/23_containers/list/modifiers/emplace/1.cc: New + test. + * testsuite/23_containers/vector/modifiers/emplace/1.cc: New + test. + +2023-06-07 Jakub Jelinek + + PR libstdc++/110145 + * testsuite/20_util/to_chars/double.cc: Include . + (double_to_chars_test_cases, + double_scientific_precision_to_chars_test_cases_2, + double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6 + and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1. + Add unconditional tests with corresponding double constants + 0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and + 0x1.7440bbff418b9p-18. + +2023-06-07 Jonathan Wakely + + * testsuite/util/testsuite_abi.cc (check_version): Re-add + CXXABI_1.3.14. + +2023-06-07 Jonathan Wakely + + * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: + Require effective target exceptions_enabled instead of using + dg-skip-if. + * testsuite/23_containers/vector/capacity/constexpr.cc: Expect + shrink_to_fit() to be a no-op without exceptions enabled. + * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: + Likewise. + * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: + Require effective target exceptions_enabled. + * testsuite/ext/malloc_allocator/check_allocate_max_size.cc: + Likewise. + * testsuite/ext/mt_allocator/check_allocate_max_size.cc: + Likewise. + * testsuite/ext/new_allocator/check_allocate_max_size.cc: + Likewise. + * testsuite/ext/pool_allocator/check_allocate_max_size.cc: + Likewise. + * testsuite/ext/throw_allocator/check_allocate_max_size.cc: + Likewise. + +2023-06-07 Jonathan Wakely + + * testsuite/20_util/duration/cons/2.cc: Use values that aren't + affected by rounding. + * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to + double before comparing for equality. + * testsuite/20_util/from_chars/6.cc: Likewise. + * testsuite/20_util/variant/86874.cc: Use values that aren't + affected by rounding. + * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to + original value instead of to floating-point-literal. + * testsuite/26_numerics/random/discrete_distribution/cons/range.cc: + Cast arithmetic result to double before comparing for equality. + * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc: + Likewise. + * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc: + Likewise. + * testsuite/26_numerics/valarray/transcend.cc (eq): Check that + the absolute difference is less than 0.01 instead of comparing + to two decimal places. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: + Cast arithmetic result to double before comparing for equality. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc: + Likewise. + * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise. + +2023-06-07 Jonathan Wakely + + Revert: + 2023-06-06 Jonathan Wakely + + * configure.ac: Use AS_IF. + * configure: Regenerate. + +2023-06-07 Thomas Schwinge + + * testsuite/lib/prune.exp (libstdc++-dg-prune): Support + 'UNSUPPORTED: [...]: exception handling disabled'. + +2023-06-06 Jonathan Wakely + + * testsuite/util/testsuite_abi.cc (check_version): Add + CXXABI_1.3.15 symver and make it the latestp. Remove + GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp. + +2023-06-06 Jonathan Wakely + Jakub Jelinek + + PR libstdc++/104772 + * include/std/limits: (numeric_limits<__float128>): Define + for __STRICT_ANSI__ as well. + * testsuite/18_support/numeric_limits/128bit.cc: Remove + check for __STRICT_ANSI__. + +2023-06-06 Jonathan Wakely + + * configure.ac: Use AS_IF. + * configure: Regenerate. + +2023-06-06 Matthias Kretz + + PR libstdc++/109822 + * include/experimental/bits/simd_builtin.h (_S_store): Rewrite + to avoid casts to other vector types. Implement store as + succession of power-of-2 sized memcpy to avoid PR90424. + +2023-06-06 Matthias Kretz + + PR libstdc++/110054 + * include/experimental/bits/simd_builtin.h (_S_masked_store): + Call into deduced ABI's SimdImpl after conversion. + * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt): + Don't use _mm_maskmoveu_si128. Use the generic fall-back + implementation. Also fix masked stores without SSE2, which + were not doing anything before. + +2023-06-06 Matthias Kretz + + * include/experimental/bits/simd.h (__bit_cast): Use + __gnu__::__vector_size__ instead of gnu::vector_size. + +2023-06-06 Jonathan Wakely + + PR libstdc++/110139 + * include/std/array (__array_traits::operator T*()): Make + conversion operator explicit. + (array::front): Use size_type as subscript operand. + (array::data): Use static_cast to make conversion explicit. + * testsuite/23_containers/array/element_access/110139.cc: New + test. + +2023-06-06 Joseph Faulls + + * include/bits/locale_classes.tcc: Remove check for + codecvt facet. + +2023-06-06 Jonathan Wakely + + * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set + close-on-exec flag on file descriptors. + +2023-06-06 Jonathan Wakely + + PR libstdc++/108178 + * src/filesystem/ops-common.h (do_copy_file): Check for empty + files by trying to read a character. + * testsuite/27_io/filesystem/operations/copy_file_108178.cc: + New test. + +2023-06-06 Jannik Glückert + + * acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define. + * config.h.in: Regenerate. + * configure: Regenerate. + * src/filesystem/ops-common.h (copy_file_copy_file_range): + Define new function. + (do_copy_file): Use it. + +2023-06-06 Jannik Glückert + + * acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define. + * config.h.in: Regenerate. + * configure: Regenerate. + * src/filesystem/ops-common.h (copy_file_sendfile): Define new + function for sendfile logic. Loop to support large files. Skip + zero-length files. + (do_copy_file): Use it. + +2023-06-04 Jason Merrill + + PR c++/97720 + * libsupc++/eh_call.cc (__cxa_call_terminate): Take void*. + * config/abi/pre/gnu.ver: Add it. + +2023-06-02 François Dumont + + * include/parallel/algobase.h: Include . + +2023-06-01 Jonathan Wakely + + * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: + Add const to equality operator. + +2023-06-01 Jonathan Wakely + + * include/std/expected (expected::and_then, expected::or_else) + (expected::transform_error): Use _M_val and _M_unex instead of + calling value() and error(), as per LWG 3938. + (expected::transform): Likewise. Remove incorrect std::move + calls from lvalue overloads. + (expected::and_then, expected::or_else) + (expected::transform): Use _M_unex instead of calling + error(). + * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then + and transform, and for std::expected. + * testsuite/20_util/expected/lwg3938.cc: New test. + +2023-06-01 Jonathan Wakely + + PR libstdc++/110060 + * include/bits/stl_vector.h (_Vector_base::_M_invariant): + Remove. + (vector::size, vector::capacity): Remove calls to _M_invariant. + * include/bits/vector.tcc (vector::_M_fill_assign): Add + optimization hint to reallocating path. + (vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)): + Likewise. + * testsuite/23_containers/vector/capacity/invariant.cc: Moved + to... + * testsuite/23_containers/vector/modifiers/assign/no_realloc.cc: + ...here. Check assign(FwdIter, FwdIter) too. + * testsuite/23_containers/vector/types/1.cc: Revert addition + of -Wno-stringop-overread option. + +2023-06-01 Jonathan Wakely + + * doc/xml/manual/evolution.xml: Document removal of implicit + allocator rebinding extensions in strict mode and for C++20. + * doc/html/*: Regenerate. + +2023-06-01 Jason Merrill + + * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check + handlers in the cleanup phase. + +2023-06-01 Matthias Kretz + + PR libstdc++/110050 + * include/experimental/bits/simd.h (__vectorized_sizeof): With + __have_neon_a32 only single-precision float works (in addition + to integers). + +2023-06-01 François Dumont + + * include/bits/stl_algo.h + (std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move... + * include/bits/stl_algobase.h: ...here. + * include/std/functional: Replace include by . + * include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>) + (std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>): + Move... + * include/parallel/algobase.h: ...here. + * include/experimental/functional: Remove and + includes. Include . + +2023-05-31 Jonathan Wakely + + PR libstdc++/109818 + * acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for + float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/c_global/cmath (float_t, double_t): Guard using new + _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro. + +2023-05-31 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math + functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks + for C99 rounding functions to here. + (GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding + functions from here. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead + of _GLIBCXX_USE_C99_MATH_TR1. + * include/bits/random.tcc: Likewise. + * include/c_compatibility/math.h: Likewise. + * include/c_global/cmath: Likewise. + * include/ext/random: Likewise. + * include/ext/random.tcc: Likewise. + * include/std/complex: Likewise. + * testsuite/20_util/from_chars/4.cc: Likewise. + * testsuite/20_util/from_chars/8.cc: Likewise. + * testsuite/26_numerics/complex/proj.cc: Likewise. + * testsuite/26_numerics/headers/cmath/60401.cc: Likewise. + * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: + Likewise. + * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): + Likewise. + * testsuite/util/testsuite_random.h: Likewise. + +2023-05-31 Jonathan Wakely + + * include/bits/stl_vector.h (_Vector_base::_M_invariant()): New + function. + (vector::size(), vector::capacity()): Call _M_invariant(). + * testsuite/23_containers/vector/capacity/invariant.cc: New test. + * testsuite/23_containers/vector/types/1.cc: Add suppression for + false positive warning (PR110060). + +2023-05-31 Jonathan Wakely + + PR libstdc++/109921 + * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is + defined before trying to use _Float128. + +2023-05-31 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers + to check __INT_PTR_WIDTH__ instead of sizeof(void*). + * configure: Regenerate. + +2023-05-31 Jonathan Wakely + + * include/bits/unique_lock.h: Include + here for std::errc constants. + * include/std/mutex: Do not include and + here. + +2023-05-31 Jonathan Wakely + + * configure.ac: Replace use of -o operator for test. + * configure: Regenerate. + +2023-05-31 Jonathan Wakely + + * include/std/scoped_allocator (scoped_allocator_adaptor): Add + noexcept to all constructors except the default constructor. + (scoped_allocator_adaptor::inner_allocator): Add noexcept. + (scoped_allocator_adaptor::outer_allocator): Likewise. + * testsuite/20_util/scoped_allocator/noexcept.cc: New test. + +2023-05-31 Jonathan Wakely + + PR libstdc++/104772 + * include/std/limits (numeric_limits<__float128>): Define. + * testsuite/18_support/numeric_limits/128bit.cc: New test. + +2023-05-31 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and + msp430 to all 16-bit targets. + * configure: Regenerate. + +2023-05-31 Jonathan Wakely + + PR libstdc++/109921 + * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS): + Only define when USE_STRTOD_FOR_FROM_CHARS is also defined. + (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is + binary64. + (from_chars(const char*, const char*, double&, chars_format)): + Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here. + (from_chars(const char*, const char*, _Float128&, chars_format)) + Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is + defined, otherwise parse a long double and convert to _Float128. + +2023-05-31 Jonathan Wakely + + PR libstdc++/109922 + * include/std/iomanip (operator>>(basic_istream&, _Setfill)): + Add deprecated attribute to non-standard overload. + * doc/xml/manual/evolution.xml: Document deprecation. + * doc/html/*: Regenerate. + * testsuite/27_io/manipulators/standard/char/1.cc: Add + dg-warning for expected deprecated warning. + * testsuite/27_io/manipulators/standard/char/2.cc: Likewise. + * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise. + * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise. + +2023-05-30 Alexandre Oliva + + * testsuite/20_util/from_chars/4.cc: Skip long double test06 + on x86_64-vxworks. + * testsuite/20_util/to_chars/long_double.cc: Xfail run on + x86_64-vxworks. + +2023-05-30 Matthias Kretz + + PR libstdc++/109822 + * include/experimental/bits/simd.h (to_native): Use int NTTP + as specified in PTS2. + (to_compatible): Likewise. Add missing tag to call mask + generator ctor. + * testsuite/experimental/simd/pr109822_cast_functions.cc: New + test. + +2023-05-30 Matthias Kretz + + * testsuite/experimental/simd/tests/integer_operators.cc: + Compute expected value differently to avoid getting turned into + a vector shift. + +2023-05-30 Matthias Kretz + + * testsuite/experimental/simd/tests/operator_cvt.cc: Make long + double <-> (u)long conversion tests conditional on sizeof(long + double) and sizeof(long). + +2023-05-26 Matthias Kretz + + * include/experimental/bits/simd_ppc.h (_S_bit_shift_left): + Negative __y is UB, so prefer signed compare. + +2023-05-25 Jonathan Wakely + + * testsuite/util/testsuite_allocator.h (PointerBase): Add + relational operators. + +2023-05-25 Alexandre Oliva + + * testsuite/20_util/to_chars/long_double.cc: Expect execution + fail on x86-vxworks. + +2023-05-24 Matthias Kretz + + PR libstdc++/109949 + * include/experimental/bits/simd.h (__intrinsic_type): If + __ALTIVEC__ is defined, map gnu::vector_size types to their + corresponding __vector T types without losing unsignedness of + integer types. Also prefer long long over long. + * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask + object to the expected unsigned vector type. + +2023-05-24 Matthias Kretz + + PR libstdc++/109261 + * include/experimental/bits/simd.h (__intrinsic_type): + Specialize __intrinsic_type and + __intrinsic_type in any case, but provide the member + type only with __aarch64__. + +2023-05-24 Matthias Kretz + + PR libstdc++/109261 + * include/experimental/bits/simd_neon.h (_S_reduce): Add + constexpr and make NEON implementation conditional on + not __builtin_is_constant_evaluated. + +2023-05-23 Matthias Kretz + + PR libstdc++/109261 + * include/experimental/bits/simd.h (_SimdWrapper::_M_set): + Avoid vector builtin subscripting in constant expressions. + (resizing_simd_cast): Avoid memcpy if constant_evaluated. + (const_where_expression, where_expression, where) + (__extract_part, simd_mask, _SimdIntOperators, simd): Add either + _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on + internal APIs). + * include/experimental/bits/simd_builtin.h (__vector_permute) + (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1) + (_GnuTraits::_SimdCastType2, _SimdImplBuiltin) + (_MaskImplBuiltin::_S_store): Add constexpr. + (_CommonImplBuiltin::_S_store_bool_array) + (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store) + (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add + constant_evaluated case. + * include/experimental/bits/simd_fixed_size.h + (_S_masked_load): Reword comment. + (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r) + (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write) + (__make_simd_tuple, __optimize_simd_tuple, __extract_part) + (__autocvt_to_simd, _Fixed::__traits::_SimdBase) + (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add + constexpr. + (_SimdTuple::operator[], _M_set): Add constexpr and add + constant_evaluated case. + (_MaskImplFixedSize::_S_load): Add constant_evaluated case. + * include/experimental/bits/simd_scalar.h: Add constexpr. + * include/experimental/bits/simd_x86.h (_CommonImplX86): Add + constexpr and add constant_evaluated case. + (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less) + (_S_less_equal): Value-initialize to satisfy constexpr + evaluation. + (_MaskImplX86::_S_load): Add constant_evaluated case. + (_MaskImplX86::_S_store): Add constexpr and constant_evaluated + case. Value-initialize local variables. + (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not) + (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated + case. + * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New + test. + +2023-05-22 Matthias Kretz + + * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move + __infn into #ifdef'ed block. + * testsuite/experimental/simd/tests/fpclassify.cc: Declare + constants only when used. + * testsuite/experimental/simd/tests/frexp.cc: Likewise. + * testsuite/experimental/simd/tests/logarithm.cc: Likewise. + * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: + Likewise. + * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: + Move totest and expect1 into #ifdef'ed block. + +2023-05-19 Gerald Pfeifer + + * doc/xml/manual/strings.xml: Move lafstern.org reference to https. + * doc/html/manual/strings.html: Regenerate. + +2023-05-17 Jakub Jelinek + + PR libstdc++/109883 + * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test. + +2023-05-17 Jakub Jelinek + + PR libstdc++/109883 + * include/c_global/cmath (atan2, fmod, pow): Move + __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and + __gnu_cxx::__bfloat16_t overloads. + (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo): + Likewise. + (fma): Move __gnu_cxx::__promote_3 using template after + _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads. + +2023-05-17 Jonathan Wakely + + * testsuite/18_support/headers/limits/synopsis.cc: Uncomment + checks for float_round_style and float_denorm_style. + +2023-05-17 Jonathan Wakely + + * include/bits/c++config: Add system_header pragma. + +2023-05-17 Jonathan Wakely + + * include/std/expected (expected::and_then, expected::or_else) + (expected::transform, expected::transform_error): Fix exception + specifications as per LWG 3877. + (expected::and_then, expected::transform): + Likewise. + * testsuite/20_util/expected/lwg3877.cc: New test. + +2023-05-17 Ken Matsui + + * include/std/type_traits: Use __bool_constant instead of + integral_constant. + +2023-05-17 Jonathan Wakely + + * configure: Regenerate. + +2023-05-16 Jonathan Wakely + + PR libstdc++/109741 + * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define. + * config.h.in: Regenerate. + * configure: Regenerate. + * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE. + * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not + align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE + instead of hardcoded 64. + +2023-05-16 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11 + mode and define _GLIBCXX_USE_C99_CTYPE. Check for + functions in C++11 mode and define _GLIBCXX_USE_C99_FENV. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV + instead of _GLIBCXX_USE_C99_FENV_TR1. + * include/c_global/cfenv: Likewise. + * include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead + of _GLIBCXX_USE_C99_CTYPE_TR1. + +2023-05-16 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_USE_C99): Check for types in + C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for + features in C++11 mode and define + _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T. + * config.h.in: Regenerate. + * configure: Regenerate. + * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros. + * include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead + of _GLIBCXX_USE_C99_STDINT_TR1. + * include/c_compatibility/inttypes.h: Check + _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T + instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and + _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1. + * include/c_compatibility/stdatomic.h: Check + _GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1. + * include/c_compatibility/stdint.h: Likewise. + * include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES + and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of + _GLIBCXX_USE_C99_INTTYPES_TR1 and + _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1. + * include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT + instead of _GLIBCXX_USE_C99_STDINT_TR1. + * include/std/atomic: Likewise. + * src/c++11/cow-stdexcept.cc: Likewise. + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: + Likewise. + * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): + Likewise. + +2023-05-16 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig + functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC. + * config.h.in: Regenerate. + * configure: Regenerate. + * doc/doxygen/user.cfg.in (PREDEFINED): Add new macro. + * include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC + instead of _GLIBCXX_USE_C99_COMPLEX_TR1. + +2023-05-16 Jonathan Wakely + + * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add + assertion to ensure expected exception is throw. + +2023-05-16 Jonathan Wakely + + * testsuite/libstdc++-prettyprinters/chrono.cc: Only test + printer for chrono::zoned_time for cx11 ABI and tzdb effective + target. + +2023-05-16 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define + _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN. + * configure: Regenerate. + +2023-05-12 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer + to check for nan, nanf, and nanl. + * configure: Regenerate. + +2023-05-12 Jonathan Wakely + + * include/bits/char_traits.h (char_traits): Do not + depend on _GLIBCXX_USE_C99_STDINT_TR1. + (char_traits): Likewise. + * include/experimental/source_location: Likewise. + +2023-05-12 Jonathan Wakely + + * include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t) + (atomic_int_least16_t, atomic_uint_least16_t) + (atomic_int_least32_t, atomic_uint_least32_t) + (atomic_int_least64_t, atomic_uint_least64_t) + (atomic_int_fast16_t, atomic_uint_fast16_t) + (atomic_int_fast32_t, atomic_uint_fast32_t) + (atomic_int_fast64_t, atomic_uint_fast64_t) + (atomic_intmax_t, atomic_uintmax_t): Define unconditionally. + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust. + +2023-05-12 Jonathan Wakely + + * include/bits/algorithmfwd.h (shuffle): Do not depend on + _GLIBCXX_USE_C99_STDINT_TR1. + * include/bits/ranges_algo.h (shuffle): Likewise. + * include/bits/stl_algo.h (shuffle): Likewise. + * include/ext/random: Likewise. + * include/ext/throw_allocator.h (random_condition): Likewise. + * include/std/random: Likewise. + * src/c++11/cow-string-inst.cc: Likewise. + * src/c++11/random.cc: Likewise. + +2023-05-12 Jonathan Wakely + + * testsuite/experimental/feat-cxx14.cc: Remove dependency on + _GLIBCXX_USE_C99_STDINT_TR1. + +2023-05-12 Jonathan Wakely + + * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency + on _GLIBCXX_USE_C99_STDINT_TR1. + +2023-05-12 Jonathan Wakely + + * testsuite/21_strings/basic_string_view/typedefs.cc: Remove + dependency on _GLIBCXX_USE_C99_STDINT_TR1. + * testsuite/experimental/string_view/typedefs.cc: Likewise. + +2023-05-11 Jonathan Wakely + + * src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS] + (auto_locale, auto_ferounding): New class types. + (from_chars_impl): Use auto_locale and auto_ferounding. + +2023-05-11 Jonathan Wakely + + PR libstdc++/109772 + * include/std/chrono (hh_mm_ss::__fits): Remove variable + template. + (hh_mm_ss::__subseconds): Remove __fits from constraints. + * testsuite/std/time/hh_mm_ss/109772.cc: New test. + * testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for + hh_mm_ss>. + +2023-05-11 Jonathan Wakely + + * config/abi/pre/gnu.ver: Export basic_string::_S_allocate. + * include/bits/basic_ios.h: Add static assertion checking + traits_type::value_type. + * include/bits/basic_string.h: Likewise. Do not rebind + allocator, and add static assertion checking its value_type. + (basic_string::_Alloc_traits_impl): Remove class template. + (basic_string::_S_allocate): New static member function. + (basic_string::assign): Use _S_allocate. + * include/bits/basic_string.tcc (basic_string::_M_create) + (basic_string::reserve, basic_string::_M_replace): Likewise. + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc: + Disable for C++20 and later. + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc: + Likweise. + +2023-05-11 Jonathan Wakely + + PR libstdc++/109758 + * include/bits/std_abs.h (abs(__float128)): Handle negative NaN + and negative zero correctly. + * testsuite/26_numerics/headers/cmath/109758.cc: New test. + +2023-05-10 François Dumont + + * include/bits/hashtable_policy.h + (_NodeBuilder<>::_S_build): Use __node_ptr. + (_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*. + (_AllocNode<>): Likewise. + (_Equality<>::_M_equal): Remove const_iterator usages. Only preserved + to call std::is_permutation in the non-unique key implementation. + * include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture + _M_begin() once. + (_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline. + (_Hashtable<>::_M_insert_bucket_begin): Likewise. + (_Hashtable<>::_M_remove_bucket_begin): Likewise. + (_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than + const_iterator. + (_Hashtable<>::find): Likewise. + (_Hashtable<>::_M_emplace): Likewise. + (_Hashtable<>::_M_insert_unique): Likewise. + +2023-05-09 Jonathan Wakely + + * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter): + Print floating-point durations correctly. + (StdChronoTimePointPrinter): Support printing only the value, + not the type name. Uncomment handling for known clocks. + (StdChronoZonedTimePrinter): Remove type names from output. + (StdChronoCalendarPrinter): Fix hh_mm_ss member access. + (StdChronoTimeZonePrinter): Add equals sign to output. + * testsuite/libstdc++-prettyprinters/chrono.cc: New test. + +2023-05-05 Alexandre Oliva + + * testsuite/20_util/from_chars/4.cc: Skip long double test06 + on aarch64-vxworks. + * testsuite/20_util/to_chars/long_double.cc: Xfail run on + aarch64-vxworks. + +2023-05-04 Jonathan Wakely + + * doc/xml/manual/abi.xml (abi.versioning.history): Document + libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version. + * doc/html/manual/abi.html: Regenerate. + +2023-05-04 Florian Weimer + + * doc/xml/manual/abi.xml (abi.versioning.history): Add + GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for + libgcc_s. + +2023-05-03 Jakub Jelinek + + * src/c++17/floating_from_chars.cc + (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to + _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format. + * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to + _ZSt8to_charsPcS_u9__ieee128. + (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to + _ZSt8to_charsPcS_u9__ieee128St12chars_format. + (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to + _ZSt8to_charsPcS_u9__ieee128St12chars_formati. + * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated. + +2023-05-03 Jakub Jelinek + + * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu + rather than powerpc64-linux-gnu for powerpc64le*-linux*. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove + _ZTI*DF128_, _ZTI*DF64x symbols and symbols in + GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol + versions. + * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New + file. + +2023-05-03 Kefu Chai + Jonathan Wakely + + PR libstdc++/109703 + * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)): + Initialize _M_string_length. + +2023-05-02 Jakub Jelinek + + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. + +2023-05-02 Jakub Jelinek + + PR libstdc++/109694 + * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for + -Wattribute-alias. + +2023-04-28 Jonathan Wakely + + * include/bits/random.h (gamma_distribution): Add to the right + doxygen group. + (discrete_distribution, piecewise_constant_distribution) + (piecewise_linear_distribution): Create a new doxygen group and + fix the incomplete doxygen comments. + * include/bits/uniform_int_dist.h (uniform_int_distribution): + Add to doxygen group. + +2023-04-28 Jonathan Wakely + + * include/bits/uses_allocator.h: Add missing @file comment. + * include/bits/regex.tcc: Remove stray doxygen comments. + * include/experimental/memory_resource: Likewise. + * include/std/bit: Tweak doxygen @cond comments. + * include/std/expected: Likewise. + * include/std/numbers: Likewise. + +2023-04-28 Jonathan Wakely + + * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes + from header paths. + +2023-04-28 Jonathan Wakely + + * include/bits/move.h: Simplify opening/closing namespace std. + +2023-04-28 Jakub Jelinek + + PR libstdc++/108969 + * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export + _ZSt21ios_base_library_initv. + * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32 + symver and make it the latestp. + * src/c++98/ios_init.cc (ios_base_library_init): New alias. + * acinclude.m4 (libtool_VERSION): Change to 6:32:0. + * include/std/iostream: If init_priority attribute is supported + and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv + symbol into the object. + * configure: Regenerated. + +2023-04-27 Jonathan Wakely + + * include/bits/mofunc_impl.h: Fix typo in doxygen comment. + * include/std/format: Likewise. + +2023-04-27 Jonathan Wakely + + * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME) + (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options. + +2023-04-27 Jonathan Wakely + + * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for + HTML docs. + * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit + from doxygen docs. + * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR): + Likewise. + * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR): + Likewise. + * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): + Likewise. + * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR) + (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT) + (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT) + (_DEFINE_BINARY_OPERATOR): Likewise. + +2023-04-27 Jonathan Wakely + + * include/bits/memory_resource.h: Improve doxygen comments. + * include/std/memory_resource: Likewise. + +2023-04-27 Jonathan Wakely + + PR libstdc++/40380 + * include/bits/basic_string.h: Improve doxygen comments. + * include/bits/cow_string.h: Likewise. + * include/bits/forward_list.h: Likewise. + * include/bits/fs_dir.h: Likewise. + * include/bits/fs_path.h: Likewise. + * include/bits/quoted_string.h: Likewise. + * include/bits/stl_bvector.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/bits/stl_vector.h: Likewise. + * include/bits/unordered_map.h: Likewise. + * include/bits/unordered_set.h: Likewise. + * include/std/filesystem: Likewise. + * include/std/iomanip: Likewise. + +2023-04-27 Jonathan Wakely + + PR libstdc++/105081 + * src/c++11/random.cc (__throw_syserr): New function. + (random_device::_M_init, random_device::_M_init_pretr1): Use new + function for bad tokens. + (random_device::_M_getval): Use new function for read errors. + * testsuite/util/testsuite_random.h (random_device_available): + Change catch handler to use std::system_error. + +2023-04-24 Patrick Palka + + * include/bits/max_size_type.h (__max_diff_type::operator>>=): + Fix propagation of sign bit. + * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the + non-standard 'signed typedef-name'. Add some compile-time tests + for right-shifting a negative __max_diff_type value by more than + one. + +2023-04-19 Patrick Palka + Jonathan Wakely + + PR c++/100157 + * include/bits/utility.h (_Nth_type): Conditionally define in + terms of __type_pack_element if available. + * testsuite/20_util/tuple/element_access/get_neg.cc: Prune + additional errors from the new built-in. + +2023-04-19 Jonathan Wakely + + Revert: + 2023-04-18 Jonathan Wakely + + PR libstdc++/108969 + * src/Makefile.am: Move globals_io.cc to here. + * src/Makefile.in: Regenerate. + * src/c++98/Makefile.am: Remove globals_io.cc from here. + * src/c++98/Makefile.in: Regenerate. + * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust + symbol name and then export with GLIBCXX_3.4.31 symver. + (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise. + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: + Regenerate. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/pre/gnu.ver: Add iostream objects to new symver. + +2023-04-19 Jonathan Wakely + + Revert: + 2023-04-18 Jonathan Wakely + + PR libstdc++/108969 + * config/abi/pre/gnu.ver: Fix preprocessor condition. + +2023-04-18 Jonathan Wakely + + * doc/xml/manual/extensions.xml: Fix example to declare and + qualify std::free, and use NULL instead of 0. + * doc/html/manual/ext_demangling.html: Regenerate. + * libsupc++/cxxabi.h: Adjust doxygen comments. + +2023-04-18 Jonathan Wakely + + PR libstdc++/108969 + * config/abi/pre/gnu.ver: Fix preprocessor condition. + +2023-04-18 Jonathan Wakely + + PR libstdc++/108969 + * src/Makefile.am: Move globals_io.cc to here. + * src/Makefile.in: Regenerate. + * src/c++98/Makefile.am: Remove globals_io.cc from here. + * src/c++98/Makefile.in: Regenerate. + * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust + symbol name and then export with GLIBCXX_3.4.31 symver. + (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise. + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: + Regenerate. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/pre/gnu.ver: Add iostream objects to new symver. + +2023-04-18 Patrick Palka + + PR libstdc++/108827 + * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value + for C++23. + * include/std/ranges (range_adaptor_closure): Define for C++23. + * include/std/version (__cpp_lib_ranges): Bump value for + C++23. + * testsuite/std/ranges/version_c++23.cc: Bump expected value + of __cpp_lib_ranges. + * testsuite/std/ranges/range_adaptor_closure.cc: New test. + +2023-04-18 Patrick Palka + + * include/bits/ranges_algo.h (__cpp_lib_ranges_contains): + Define for C++23. + (__cpp_lib_ranges_iota): Likewise. + (__cpp_lib_ranges_find_last): Likewise. + (__cpp_lib_fold): Rename to ... + (__cpp_lib_ranges_fold): ... this. + * include/std/version: As above. + * testsuite/25_algorithms/fold_left/1.cc: Adjust after + renaming __cpp_lib_fold. + * testsuite/std/ranges/version_c++23.cc: Verify values + of the above feature-test macros. + +2023-04-18 Patrick Palka + + PR libstdc++/109525 + * include/std/ranges (views::_AsConst::operator()): Add + missing const to constant_range test. + * testsuite/std/ranges/adaptors/as_const/1.cc (test02): + Improve formatting. Adjust expected type of v2. + (test03): New test. + +2023-04-14 Patrick Palka + + * include/bits/ranges_base.h (const_iterator_t): Define for C++23. + (const_sentinel_t): Likewise. + (range_const_reference_t): Likewise. + (constant_range): Likewise. + (__cust_access::__possibly_const_range): Likewise, replacing ... + (__cust_access::__as_const): ... this. + (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4. + (__cust_access::_CEnd::operator()): Likewise. + (__cust_access::_CRBegin::operator()): Likewise. + (__cust_access::_CREnd::operator()): Likewise. + (__cust_access::_CData::operator()): Likewise. + * include/bits/ranges_util.h (ranges::__detail::__different_from): + Make it an alias of std::__detail::__different_from. + (view_interface::cbegin): Define for C++23. + (view_interface::cend): Likewise. + * include/bits/stl_iterator.h (__detail::__different_from): Define. + (iter_const_reference_t): Define for C++23. + (__detail::__constant_iterator): Likewise. + (__detail::__is_const_iterator): Likewise. + (__detail::__not_a_const_iterator): Likewise. + (__detail::__iter_const_rvalue_reference_t): Likewise. + (__detail::__basic_const_iter_cat):: Likewise. + (const_iterator): Likewise. + (__detail::__const_sentinel): Likewise. + (const_sentinel): Likewise. + (basic_const_iterator): Likewise. + (common_type, _Up>): Likewise. + (common_type<_Up, basic_const_iterator<_Tp>>): Likewise. + (common_type, basic_const_iterator>): + Likewise. + (make_const_iterator): Define for C++23. + (make_const_sentinel): Likewise. + * include/std/ranges (__cpp_lib_ranges_as_const): Likewise. + (as_const_view): Likewise. + (enable_borrowed_range): Likewise. + (views::__detail::__is_ref_view): Likewise. + (views::__detail::__can_is_const_view): Likewise. + (views::_AsConst, views::as_const): Likewise. + * include/std/span (span::const_iterator): Likewise. + (span::const_reverse_iterator): Likewise. + (span::cbegin): Likewise. + (span::cend): Likewise. + (span::crbegin): Likewise. + (span::crend): Likewise. + * include/std/version (__cpp_lib_ranges_as_const): Likewise. + * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to + behave independently of C++20 vs C++23. + * testsuite/std/ranges/version_c++23.cc: Verify value of + __cpp_lib_ranges_as_const macro. + * testsuite/24_iterators/const_iterator/1.cc: New test. + * testsuite/std/ranges/adaptors/as_const/1.cc: New test. + +2023-04-14 Patrick Palka + + * include/bits/ranges_base.h (__cust_access::__as_const) + (__cust_access::_CBegin, __cust::cbegin) + (__cust_access::_CEnd, __cust::cend) + (__cust_access::_CRBegin, __cust::crbegin) + (__cust_access::_CREnd, __cust::crend) + (__cust_access::_CData, __cust::cdata): Move down definitions to + shortly after the definition of input_range. + +2023-04-14 Patrick Palka + + * include/bits/ranges_algo.h: Include for C++23. + (__cpp_lib_fold): Define for C++23. + (in_value_result): Likewise. + (__detail::__flipped): Likewise. + (__detail::__indirectly_binary_left_foldable_impl): Likewise. + (__detail::__indirectly_binary_left_foldable): Likewise. + (___detail:__indirectly_binary_right_foldable): Likewise. + (fold_left_with_iter_result): Likewise. + (__fold_left_with_iter_fn, fold_left_with_iter): Likewise. + (__fold_left_fn, fold_left): Likewise. + (__fold_left_first_with_iter_fn, fold_left_first_with_iter): + Likewise. + (__fold_left_first_fn, fold_left_first): Likewise. + (__fold_right_fn, fold_right): Likewise. + (__fold_right_last_fn, fold_right_last): Likewise. + * include/std/version (__cpp_lib_fold): Likewise. + * testsuite/25_algorithms/fold_left/1.cc: New test. + * testsuite/25_algorithms/fold_right/1.cc: New test. + +2023-04-14 Jonathan Wakely + + * include/std/format (formatter): Add comment to deleted default + constructor of primary template. + (_Checking_scanner): Add static_assert. + +2023-04-12 Jonathan Wakely + + * doc/xml/manual/using.xml: Document libstdc++exp.a library. + * doc/html/*: Regenerate. + +2023-04-12 Jonathan Wakely + + * testsuite/17_intro/names.cc [_AIX]: Do not define policy. + * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename + namespace to avoid clashing with libc struct. + * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: + Likewise. + * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX. + * testsuite/23_containers/unordered_multimap/96088.cc: Likewise. + * testsuite/23_containers/unordered_multiset/96088.cc: Likewise. + * testsuite/23_containers/unordered_set/96088.cc: Likewise. + * testsuite/experimental/synchronized_value.cc: Require gthreads + and add missing option for pthreads targets. + +2023-04-12 Patrick Palka + + * include/std/ranges (__cpp_lib_ranges_enumerate): Define + for C++23. + (__detail::__range_with_movable_reference): Likewise. + (enumerate_view): Likewise. + (enumerate_view::_Iterator): Likewise. + (enumerate_view::_Sentinel): Likewise. + (views::__detail::__can_enumerate_view): Likewise. + (views::_Enumerate, views::enumerate): Likewise. + * include/std/version (__cpp_lib_ranges_enumerate): Likewise. + * testsuite/std/ranges/version_c++23.cc: Verify value of + __cpp_lib_ranges_enumerate. + * testsuite/std/ranges/adaptors/enumerate/1.cc: New test. + +2023-04-12 Patrick Palka + + * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter): + Propagate _M_trailing_empty in the const-converting constructor + as per LWG 3904. + * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct + assertion. + * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test. + +2023-04-12 Patrick Palka + + * src/c++17/floating_from_chars.cc: Include , + , and . + +2023-04-12 Patrick Palka + + PR libstdc++/108291 + * include/std/ranges (chunk_by_view::_M_find_next): Generalize + parameter types of the lambda wrapper passed to adjacent_find. + (chunk_by_view::_M_find_prev): Likewise. + * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05): + New tests. + +2023-04-12 Jonathan Wakely + + PR libstdc++/109482 + * include/experimental/internet (basic_endpoint::basic_endpoint()): + Ensure that the required union members are active. Only define + as constexpr for C++20 and later. + (basic_endpoint::basic_endpoint(const protocol_type&, port_type)): + Likewise. + * testsuite/experimental/net/internet/endpoint/cons.cc: Only + check constexpr default constructor for C++20 and later. + * testsuite/experimental/net/internet/endpoint/extensible.cc: + Likewise. + +2023-04-12 Jonathan Wakely + + * src/c++20/tzdata.zi: Import new file from 2023c release. + +2023-04-05 Arsen Arsenović + + * include/precompiled/stdc++.h (C++17): Don't double-include + , once with wrong conditions. + * testsuite/18_support/96817.cc: Require hosted. + * testsuite/18_support/bad_exception/59392.cc: Ditto. + * testsuite/20_util/scoped_allocator/108952.cc: Ditto. + * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto. + * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: + Ditto. + +2023-04-05 Arsen Arsenović + + * include/bits/c++config: When __STDC_HOSTED__ is zero, + disable _GLIBCXX_DEBUG and, if it was set, enable + _GLIBCXX_ASSERTIONS. + * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): + Include when determining whether debug is + set, in order to inherit the logic from above + +2023-04-05 Arsen Arsenović + + * testsuite/17_intro/versionconflict.cc: New test. + * include/std/version: Allow disabling the system_header pragma + via _GLIBCXX_TESTING_SYSHDR. + +2023-04-05 Arsen Arsenović + + * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory): + Synchronize the definition block with... + * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): + ... this one here. Also define the 202202L value, rather than + leaving it up to purely unique_ptr.h, so that the value is + synchronized across all headers. + (__gnu_debug::_Safe_iterator_base): Move into new conditional + block. + * include/std/memory (__cpp_lib_atomic_value_initialization): + Define on freestanding under the same conditions as in + atomic_base.h. + * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops): + Also define on freestanding. + (__cpp_lib_to_chars): Ditto. + (__cpp_lib_gcd): Ditto. + (__cpp_lib_gcd_lcm): Ditto. + (__cpp_lib_raw_memory_algorithms): Ditto. + (__cpp_lib_array_constexpr): Ditto. + (__cpp_lib_nonmember_container_access): Ditto. + (__cpp_lib_clamp): Ditto. + (__cpp_lib_constexpr_char_traits): Ditto. + (__cpp_lib_constexpr_string): Ditto. + (__cpp_lib_sample): Ditto. + (__cpp_lib_lcm): Ditto. + (__cpp_lib_constexpr_iterator): Ditto. + (__cpp_lib_constexpr_char_traits): Ditto. + (__cpp_lib_interpolate): Ditto. + (__cpp_lib_constexpr_utility): Ditto. + (__cpp_lib_shift): Ditto. + (__cpp_lib_ranges): Ditto. + (__cpp_lib_move_iterator_concept): Ditto. + (__cpp_lib_constexpr_numeric): Ditto. + (__cpp_lib_constexpr_functional): Ditto. + (__cpp_lib_constexpr_algorithms): Ditto. + (__cpp_lib_constexpr_tuple): Ditto. + (__cpp_lib_constexpr_memory): Ditto. + +2023-04-05 John David Anglin + + * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double + timeout factor on hppa*-*-*. + +2023-04-05 Jonathan Wakely + + * include/bits/regex.h (sub_match::swap): New function. + * testsuite/28_regex/sub_match/lwg3204.cc: New test. + +2023-04-04 Jonathan Wakely + + * doc/xml/manual/extensions.xml: Remove std::bad_exception from + example program. + * doc/html/manual/ext_demangling.html: Regenerate. + +2023-03-31 Jonathan Wakely + + PR tree-optimization/107087 + * include/bits/cow_string.h (basic_string::size()): Add + optimizer hint that _S_empty_rep()._M_length is always zero. + (basic_string::length()): Call size(). + +2023-03-31 Jonathan Wakely + + PR libstdc++/109339 + * include/std/stop_token (_Stop_state_ptr(const stop_source&)): + Add attribute access with access-mode 'none'. + * testsuite/30_threads/stop_token/stop_source/109339.cc: New test. + +2023-03-31 Jonathan Wakely + + * include/experimental/internet (ip::basic_endpoint::_M_if_v6): + Revert change from member function to data member. Fix for + constant evaluation by detecting which union member is active. + (ip::basic_endpoint::resize): Revert changes to update _M_is_v6 + flag. + +2023-03-29 Jonathan Wakely + + PR libstdc++/109242 + * testsuite/20_util/optional/monadic/pr109340.cc: Moved to... + * testsuite/20_util/optional/monadic/pr109242.cc: ...here. + +2023-03-29 Jonathan Wakely + + * include/experimental/internet (ip::make_address): Implement + missing overload. + (ip::address_v4::broadcast()): Avoid undefined shift. + (ip::basic_endpoint): Fix member functions for constexpr. + (ip::basic_endpoint::_M_is_v6): Replace member function with + data member, adjust member functions using it. + (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr + content. + * testsuite/experimental/net/internet/address/v4/cons.cc: Fix + constexpr checks to work in C++14. + * testsuite/experimental/net/internet/address/v4/creation.cc: + Likewise. + * testsuite/experimental/net/internet/endpoint/cons.cc: + Likewise. + * testsuite/experimental/net/internet/network/v4/cons.cc: + Likewise. + * testsuite/experimental/net/internet/network/v4/members.cc: + Likewise. + * testsuite/experimental/net/internet/endpoint/extensible.cc: New test. + +2023-03-29 Jonathan Wakely + + * include/std/expected (expected::value() &): Use const lvalue + for unex member passed to bad_expected_access constructor, as + per LWG 3843. + +2023-03-29 Jonathan Wakely + + PR libstdc++/109340 + * include/std/expected (expected::transform): Use + std::remove_cv_t instead of std::remove_cvref_t. + (expected::transform_error): Likewise. + (expected::transform): Likewise. + (expected::transform_error): Likewise. + * include/std/optional (transform): Use std::remove_cv_t. + * testsuite/20_util/optional/monadic/pr109340.cc: New test. + +2023-03-29 Jonathan Wakely + + * include/std/optional (optional): Adjust static assertion to + reject arrays and functions as well as references. + * testsuite/20_util/optional/requirements_neg.cc: New test. + +2023-03-28 Jonathan Wakely + + PR libstdc++/103387 + * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use + std::use_facet instead of cached _M_num_get facet. + (istream::operator>>(short&)): Likewise. + (istream::operator>>(int&)): Likewise. + * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use + std::use_facet instead of cached _M_num_put facet. + +2023-03-28 Jonathan Wakely + + * include/bits/char_traits.h (char_traits::copy): Return without + using memcpy if n==0. + (char_traits::assign): Likewise for memset. + +2023-03-28 Jonathan Wakely + + PR libstdc++/109299 + * include/bits/basic_string.h (basic_string::_M_is_local()): Add + hint for compiler that local strings fit in the local buffer. + +2023-03-28 Jonathan Wakely + + PR libstdc++/109288 + * include/std/chrono (__detail::__get_leap_second_info): Update + expiry date of hardcoded leapseconds list. + * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()): + Likewise. + * src/c++20/tzdata.zi: Import new file from 2023a release. + * testsuite/std/time/time_zone/get_info_local.cc: Only check + transitions for Egypt up to 2014. + +2023-03-28 Matthias Kretz + + * include/experimental/bits/simd.h (is_simd_flag_type): New. + (_IsSimdFlagType): New. + (copy_from, copy_to, load ctors): Constrain _Flags using + _IsSimdFlagType. + +2023-03-28 Matthias Kretz + + * include/experimental/bits/simd_x86.h (_SimdImplX86): Use + _Base::_S_divides if the optimized _S_divides function is hidden + via the preprocessor. + +2023-03-27 Jakub Jelinek + + * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat + warning if size_t is not unsigned long. + +2023-03-22 Jonathan Wakely + + * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)): + Add overload, as per LWG 3893. + * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: + Check assignment from nullptr. + +2023-03-22 Jonathan Wakely + + * include/std/format (formatter): Do not + define partial speclialization, as per LWG 3833. + * testsuite/std/format/formatter/requirements.cc: Check it. + +2023-03-22 Jonathan Wakely + + * include/std/utility (__cpp_lib_constexpr_algorithms): Define, + as per LWG 3792. + * testsuite/20_util/exchange/constexpr.cc: Check for it. + +2023-03-22 Jonathan Wakely + + * include/std/version (__cpp_lib_format): Define. + * testsuite/std/format/functions/format.cc: Check it. + +2023-03-22 Jonathan Wakely + + * include/bits/basic_string.tcc (basic_string::resize_and_overwrite): + Pass rvalues to the callback, as now allowed by LWG 3645. + Enforce preconditions on the return value. + * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: + Adjust. + +2023-03-22 Jonathan Wakely + + * include/std/format: Add a comment noting that the resolution + of LWG 3720 has been applied.. + +2023-03-22 Jonathan Wakely + + * include/bits/regex.h (match_results): Add allocator-extended + copy and move constructors, as per LWG 2195. + * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test. + +2023-03-22 Jonathan Wakely + + * include/bits/stream_iterator.h (istream_iterator): Add + constexpr to copy constructor, as per LWG 3600. + * testsuite/24_iterators/istream_iterator/cons/constexpr.cc: + Check copy construction. + +2023-03-21 Matthias Kretz + + * include/experimental/bits/simd_x86.h + (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0 + with __RECIPROCAL_MATH__. + +2023-03-21 Matthias Kretz + + * include/experimental/bits/simd_detail.h: Don't define + _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang. + * include/experimental/bits/simd_x86.h (_S_divides): Remove + check for __clang__. + +2023-03-21 Matthias Kretz + + * include/experimental/bits/simd_detail.h: Don't declare the + simd API as constexpr with Clang. + * include/experimental/bits/simd_x86.h (__movm): New. + (_S_blend_avx512): Resolve FIXME. Implement blend using __movm + and ?:. + (_SimdImplX86::_S_masked_unary): Clang does not implement the + same builtins. Implement the function using __movm, ?:, and - + operators on vector_size types instead. + +2023-03-21 Matthias Kretz + + * testsuite/experimental/simd/tests/operators.cc: Clang doesn't + define __GCC_IEC_559. Use __STDC_IEC_559__ instead. + +2023-03-20 Jonathan Wakely + + * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix + formatting. + +2023-03-20 Marek Polacek + + PR c++/109159 + * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error. + * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. + * testsuite/23_containers/span/explicit.cc: Likewise. + +2023-03-20 Jonathan Wakely + + PR libstdc++/109182 + * include/std/expected (expected::expected(in_place_t)): + Remove template-head. + +2023-03-18 Jonathan Wakely + + PR libstdc++/109165 + * testsuite/18_support/coroutines/hash.cc: Use const object + in second call. + +2023-03-17 Jonathan Wakely + + PR libstdc++/109165 + * include/std/coroutine (hash<>::operator()): Add const. + * testsuite/18_support/coroutines/hash.cc: New test. + +2023-03-14 Patrick Palka + + PR libstdc++/109111 + * include/std/ranges (repeat_view): Remove redundant parentheses + in requires-clause. + (repeat_view::_Iterator): Correct the requires-clause. + +2023-03-14 Patrick Palka + + * include/bits/stl_iterator.h (move_iterator::_S_iter_concept): + Define. + (__cpp_lib_move_iterator_concept): Define for C++20. + (move_iterator::iterator_concept): Strengthen as per P2520R0. + * include/std/version (__cpp_lib_move_iterator_concept): Define + for C++20. + * testsuite/24_iterators/move_iterator/p2520r0.cc: New test. + +2023-03-14 Patrick Palka + + * include/bits/ranges_util.h (view_interface::empty): Add + preferred overloads that use ranges::size when the range is + sized as per LWG 3715. + * testsuite/std/ranges/adaptors/lwg3715.cc: New test. + +2023-03-14 Jonathan Wakely + + * include/bits/chrono.h (__is_duration_v, __is_time_point_v): + Only define for C++17 and later. + +2023-03-14 Jonathan Wakely + + * src/Makefile.am: Add comment about linker script fragments. + * src/Makefile.in: Regenerate. + +2023-03-14 Jonathan Wakely + + PR libstdc++/62196 + * include/bits/mask_array.h (mask_array): Add assertions to + assignment operators. + * include/std/valarray (valarray::operator[](valarray)): + Add assertions. + * testsuite/26_numerics/valarray/mask-1_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-2_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-3_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-4_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-5_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-6_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-7_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-8_neg.cc: New test. + * testsuite/26_numerics/valarray/mask.cc: New test. + +2023-03-13 Jakub Jelinek + + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. + +2023-03-13 Jonathan Wakely + + * doc/Makefile.am: Add comment referring to documentation. + * doc/Makefile.in: Regenerate. + +2023-03-13 Jonathan Wakely + + * doc/html/*: Regenerate. + +2023-03-13 Jonny Grant + + * doc/xml/faq.xml: Update copyright year. + +2023-03-13 Jonathan Wakely + + * include/bits/allocator.h: Fix typo in comment. + +2023-03-12 Jakub Jelinek + + * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos + if it isn't mangled as DF16b but u6__bf16. + +2023-03-12 Gerald Pfeifer + + * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org + to https. + * doc/html/manual/documentation_hacking.html: Regenerate. + +2023-03-10 Jonathan Wakely + + PR libstdc++/109064 + * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker): + Remove self-recursion in __init__. Add missing _supports. + * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count() + and unique(). + +2023-03-09 Patrick Palka + + * include/std/ranges + (cartesian_product_view::_Iterator::_Iterator): Remove + constraint on default constructor as per LWG 3849. + (cartesian_product_view::_Iterator::_M_prev): Adjust position + of _Nm > 0 test as per LWG 3820. + (cartesian_product_view::_Iterator::_M_advance): Perform bounds + checking only on sized cartesian products. + * testsuite/std/ranges/cartesian_product/1.cc (test08): New test. + +2023-03-09 Patrick Palka + + PR libstdc++/109024 + * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per + LWG 3796. + (repeat_view::_M_pred): Likewise. + * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test. + * testsuite/std/ranges/repeat/1.cc (test05): New test. + +2023-03-09 Patrick Palka + + PR libstdc++/108362 + * include/std/ranges (__detail::__can_single_view): New concept. + (_Single::operator()): Constrain it. Move [[nodiscard]] to the + end of the function declarator. + (__detail::__can_iota_view): New concept. + (_Iota::operator()): Constrain it. Move [[nodiscard]] to the + end of the function declarator. + (__detail::__can_istream_view): New concept. + (_Istream::operator()): Constrain it. Move [[nodiscard]] to the + end of the function declarator. + * testsuite/std/ranges/iota/iota_view.cc (test07): New test. + * testsuite/std/ranges/istream_view.cc (test08): New test. + * testsuite/std/ranges/single_view.cc (test07): New test. + +2023-03-09 Patrick Palka + + PR libstdc++/107572 + * include/std/ranges (cartesian_product_view::end): When + building the tuple of iterators, avoid calling ranges::begin on + the first range if __empty_tail is false. + * testsuite/std/ranges/cartesian_product/1.cc (test07): New test. + +2023-03-09 Jonathan Wakely + + PR libstdc++/108882 + * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect + patterns. + +2023-03-07 Jakub Jelinek + + * 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/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. + +2023-03-07 Jonathan Wakely + + PR libstdc++/108882 + * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to + not match symbols in namespace std::__gnu_cxx11_ieee128. + * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for + std::__gnu_cxx11_ieee128::money_{get,put}. + +2023-03-07 Jonathan Wakely + + * libsupc++/eh_personality.cc: Fix spelling in comment. + +2023-03-03 Alexandre Oliva + + * testsuite/30_threads/async/async.cc (test04): Initialize + steady_start, renamed from steady_begin, next to slow_start. + Increase tolerance for final wait. + +2023-03-03 Alexandre Oliva + + * testsuite/libstdc++-prettyprinters/80276.cc: Add + std::string to debug info. + * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. + +2023-03-03 Alexandre Oliva + + PR libstdc++/104852 + PR libstdc++/95989 + PR libstdc++/52590 + * include/bits/std_thread.h (thread::_M_thread_deps): New + static implicitly-inline member function. + (std::thread template ctor): Pass it to _M_start_thread. + * src/c++11/thread.cc (thread::_M_start_thread): Name depend + parameter, force it live on entry. + +2023-03-03 Rainer Orth + + * 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. + +2023-03-01 Jonathan Wakely + + * include/bits/cow_string.h: Fix typo in comment. + +2023-03-01 Jonathan Wakely + + * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if + current time zone cannot be determined. + * testsuite/std/time/tzdb/1.cc: Remove conditions based on + HAVE_TZDB macro and test all members unconditionally. + +2023-02-28 Jonathan Wakely + + PR libstdc++/108952 + * include/bits/uses_allocator_args.h + (uses_allocator_construction_args): Implement LWG 3527. + * testsuite/20_util/pair/astuple/get-2.cc: New test. + * testsuite/20_util/scoped_allocator/108952.cc: New test. + * testsuite/20_util/uses_allocator/lwg3527.cc: New test. + +2023-02-28 Jonathan Wakely + + PR libstdc++/108846 + * include/bits/stl_algobase.h (__copy_move) + Add __assign_one static member function. + (__copy_move): Likewise. + (__copy_move): Do not use memmove for a single + value. + (__copy_move_backward): Likewise. + * testsuite/25_algorithms/copy/108846.cc: New test. + * testsuite/25_algorithms/copy_backward/108846.cc: New test. + * testsuite/25_algorithms/copy_n/108846.cc: New test. + * testsuite/25_algorithms/move/108846.cc: New test. + * testsuite/25_algorithms/move_backward/108846.cc: New test. + +2023-02-28 Jonathan Wakely + + * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]] + attributes. + +2023-02-27 Jonathan Wakely + + * include/bits/basic_ios.h (basic_ios::_M_setstate): Add + caveat to comment. + * include/bits/basic_string.h (resize_and_overwrite): Add + doxygen comment. + +2023-02-24 Matthias Kretz + + * include/experimental/bits/simd.h: Line breaks and indenting + fixed to follow the libstdc++ standard. + * include/experimental/bits/simd_builtin.h: Likewise. + * include/experimental/bits/simd_fixed_size.h: Likewise. + * include/experimental/bits/simd_neon.h: Likewise. + * include/experimental/bits/simd_ppc.h: Likewise. + * include/experimental/bits/simd_scalar.h: Likewise. + * include/experimental/bits/simd_x86.h: Likewise. + +2023-02-24 Matthias Kretz + + PR libstdc++/108030 + * include/experimental/bits/simd_fixed_size.h + (_SimdImplFixedSize::_S_broadcast): Replace inline with + _GLIBCXX_SIMD_INTRINSIC. + (_SimdImplFixedSize::_S_generate): Likewise. + (_SimdImplFixedSize::_S_load): Likewise. + (_SimdImplFixedSize::_S_masked_load): Likewise. + (_SimdImplFixedSize::_S_store): Likewise. + (_SimdImplFixedSize::_S_masked_store): Likewise. + (_SimdImplFixedSize::_S_min): Likewise. + (_SimdImplFixedSize::_S_max): Likewise. + (_SimdImplFixedSize::_S_complement): Likewise. + (_SimdImplFixedSize::_S_unary_minus): Likewise. + (_SimdImplFixedSize::_S_plus): Likewise. + (_SimdImplFixedSize::_S_minus): Likewise. + (_SimdImplFixedSize::_S_multiplies): Likewise. + (_SimdImplFixedSize::_S_divides): Likewise. + (_SimdImplFixedSize::_S_modulus): Likewise. + (_SimdImplFixedSize::_S_bit_and): Likewise. + (_SimdImplFixedSize::_S_bit_or): Likewise. + (_SimdImplFixedSize::_S_bit_xor): Likewise. + (_SimdImplFixedSize::_S_bit_shift_left): Likewise. + (_SimdImplFixedSize::_S_bit_shift_right): Likewise. + (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be + explicit about not always-inline, yet). + (_SimdImplFixedSize::_S_isinf): Likewise. + (_SimdImplFixedSize::_S_isfinite): Likewise. + (_SimdImplFixedSize::_S_isnan): Likewise. + (_SimdImplFixedSize::_S_isnormal): Likewise. + (_SimdImplFixedSize::_S_signbit): Likewise. + +2023-02-24 Matthias Kretz + + PR libstdc++/108856 + * include/experimental/bits/simd_builtin.h + (_SimdImplBuiltin::_S_masked_unary): More efficient + implementation of masked inc-/decrement for integers and floats + without AVX2. + * include/experimental/bits/simd_x86.h + (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract + builtins for masked inc-/decrement. + +2023-02-24 Jonathan Wakely + + * include/experimental/executor (executor): Constrain template + constructors. + +2023-02-24 Jonathan Wakely + + * include/experimental/internet (basic_endpoint): Add missing + constexpr to comparison operators. + * testsuite/experimental/net/internet/endpoint/cons.cc: New test. + +2023-02-24 Jonathan Wakely + + * include/experimental/internet (network_v4::netmask()): Avoid + undefined shift. + (network_v4::broadcast()): Optimize and fix for targets with + uint_least32_t wider than 32 bits. + (network_v4::to_string(const Allocator&)): Fix for custom + allocators and optimize using to_chars. + (operator==(const network_v4&, const network_v4&)): Add missing + constexpr. + (operator==(const network_v6&, const network_v6&)): Likewise. + * testsuite/experimental/net/internet/network/v4/cons.cc: New test. + * testsuite/experimental/net/internet/network/v4/members.cc: New test. + +2023-02-24 Jonathan Wakely + + * include/experimental/internet (address_4(const bytes_type&)): + Use __builtin_bit_cast if available, otherwise convert to + network byte order. + (address_v4::to_bytes()): Likewise, but convert from network + byte order. + * testsuite/experimental/net/internet/address/v4/cons.cc: Fix + incorrect tests. Check for constexpr too. + * testsuite/experimental/net/internet/address/v4/creation.cc: + Likewise. + * testsuite/experimental/net/internet/address/v4/members.cc: + Check that bytes_type is a standard-layout type. + +2023-02-24 Jonathan Wakely + + * include/experimental/internet (address_v4::to_string): + Optimize. + * testsuite/experimental/net/internet/address/v4/members.cc: + Check more addresses. + +2023-02-24 Jonathan Wakely + + * include/ext/aligned_buffer.h (__aligned_buffer): Add + diagnostic pragmas. + +2023-02-24 Jonathan Wakely + + * testsuite/std/format/arguments/lwg3810.cc: Move dg-options + before dg-do. + +2023-02-23 Matthias Kretz + + * testsuite/experimental/simd/tests/reductions.cc: Introduce + max_distance as the type-dependent max error. + +2023-02-23 Matthias Kretz + + * include/experimental/bits/simd_builtin.h (_S_set): Compare as + int. The actual range of these indexes is very small. + +2023-02-23 Matthias Kretz + + * include/experimental/bits/simd_x86.h (_S_bit_shift_left) + (_S_bit_shift_right): Declare constexpr. The implementation was + already expecting constexpr evaluation. + +2023-02-23 Matthias Kretz + + PR libstdc++/108030 + * include/experimental/bits/simd_detail.h + (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for + __clang__. + +2023-02-23 Matthias Kretz + + PR libstdc++/108030 + * include/experimental/bits/simd.h (__vector_broadcast): + Implement via __vector_broadcast_impl instead of + __call_with_n_evaluations + 2 lambdas. + (__vector_broadcast_impl): New. + +2023-02-22 Alexandre Oliva + + * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): + Avoid destruction of the mutex pool. + +2023-02-22 Alexandre Oliva + + * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail + on vxworks. + * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: + Likewise. + +2023-02-22 Alexandre Oliva + + * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in + kernel mode. + +2023-02-20 Andreas Schwab + + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. + +2023-02-20 Matthias Kretz + + * include/experimental/bits/simd.h (__extract_part, split): + Use reserved name for template parameter. + +2023-02-20 Andreas Schwab + + * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. + +2023-02-18 Gerald Pfeifer + + * doc/xml/faq.xml: Switch two links to www.open-std.org to https. + * doc/html/faq.html: Regenerate. + +2023-02-16 Matthias Kretz + + * include/experimental/bits/simd_math.h (__hypot): Bitcasting + between scalars requires the __bit_cast helper function instead + of simd_bit_cast. + +2023-02-16 Matthias Kretz + + * include/experimental/bits/simd_x86.h + (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less) + (_SimdImplX86::_S_less_equal): Do not call + __builtin_is_constant_evaluated in constexpr-if. + +2023-02-16 Matthias Kretz + + * testsuite/experimental/simd/tests/bits/verify.h + (verify::verify): Use %zx for size_t in format string. + +2023-02-16 Matthias Kretz + + * testsuite/experimental/simd/generate_makefile.sh: Generate and + pre-compile pch.h, which includes all headers that do not depend + on command-line macros. + * testsuite/experimental/simd/tests/bits/main.h: New file. + (iterate_abis, main): Moved from verify.h. + * testsuite/experimental/simd/tests/bits/verify.h + (iterate_abis, main): Moved to main.h. + * testsuite/experimental/simd/tests/bits/conversions.h: Add + include guard. + (genHalfBits): Simplify. + * testsuite/experimental/simd/tests/bits/make_vec.h: Add include + guard. + (make_alternating_mask): Moved from mask_loadstore. + * testsuite/experimental/simd/tests/bits/mathreference.h: Add + include guard. + * testsuite/experimental/simd/tests/bits/test_values.h: Ditto. + * testsuite/experimental/simd/tests/mask_loadstore.cc + (make_mask, make_alternating_mask): Removed. + * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto. + * testsuite/experimental/simd/tests/operators.cc (genHalfBits): + Removed. + * testsuite/experimental/simd/tests/abs.cc: Only include + bits/main.h. + Ditto. + * testsuite/experimental/simd/tests/algorithms.cc: Ditto. + * testsuite/experimental/simd/tests/broadcast.cc: Ditto. + * testsuite/experimental/simd/tests/casts.cc: Ditto. + * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. + * testsuite/experimental/simd/tests/frexp.cc: Ditto. + * testsuite/experimental/simd/tests/generator.cc: Ditto. + * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto. + * testsuite/experimental/simd/tests/integer_operators.cc: Ditto. + * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: + * testsuite/experimental/simd/tests/loadstore.cc: Ditto. + * testsuite/experimental/simd/tests/logarithm.cc: Ditto. + * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto. + * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto. + * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto. + * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto. + * testsuite/experimental/simd/tests/mask_operators.cc: Ditto. + * testsuite/experimental/simd/tests/math_1arg.cc: Ditto. + * testsuite/experimental/simd/tests/math_2arg.cc: Ditto. + * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto. + * testsuite/experimental/simd/tests/reductions.cc: Ditto. + * testsuite/experimental/simd/tests/remqo.cc: Ditto. + * testsuite/experimental/simd/tests/simd.cc: Ditto. + * testsuite/experimental/simd/tests/sincos.cc: Ditto. + * testsuite/experimental/simd/tests/split_concat.cc: Ditto. + * testsuite/experimental/simd/tests/splits.cc: Ditto. + * testsuite/experimental/simd/tests/trigonometric.cc: Ditto. + * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto. + * testsuite/experimental/simd/tests/where.cc: Ditto. + +2023-02-16 Matthias Kretz + + * testsuite/experimental/simd/README.md: Document the timeout + and timeout-factor directives. Minor typo fixed. + +2023-02-16 Matthias Kretz + + PR libstdc++/108030 + * include/experimental/bits/simd_detail.h: Define + _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA. + * include/experimental/bits/simd.h: Annotate lambdas with + _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA. + * include/experimental/bits/simd_builtin.h: Ditto. + * include/experimental/bits/simd_converter.h: Ditto. + * include/experimental/bits/simd_fixed_size.h: Ditto. + * include/experimental/bits/simd_math.h: Ditto. + * include/experimental/bits/simd_neon.h: Ditto. + * include/experimental/bits/simd_x86.h: Ditto. + +2023-02-16 Matthias Kretz + + * include/experimental/bits/simd.h + (_SimdWrapper::_M_is_constprop_none_of) + (_SimdWrapper::_M_is_constprop_all_of): Return false unless the + computed result still satisfies __builtin_constant_p. + +2023-02-16 Jonathan Wakely + + * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8 + ellipsis character. + +2023-02-16 Jonathan Wakely + + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/experimental/synchronized_value: New file. + * testsuite/experimental/synchronized_value.cc: New test. + +2023-02-16 Jonathan Wakely + + * include/experimental/optional: Fix header name in comment. + +2023-02-16 Jonathan Wakely + + * include/std/format (__format::_Arg_store): New class template. + (basic_format_args): Remove nested type _Store and add deduction + guide from _Arg_store. + (basic_format_arg, make_format_args): Adjust. + * testsuite/std/format/arguments/lwg3810.cc: New test. + +2023-02-16 Jonathan Wakely + + * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling + constraints to constructors and add deleted overloads for the + dangling cases, as per P2255R2. + (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to + make dangling cases ill-formed. + * testsuite/20_util/pair/dangling_ref.cc: New test. + +2023-02-16 Jonathan Wakely + + * testsuite/17_intro/names_pstl.cc: Require et tbb_backend. + +2023-02-16 Jonathan Wakely + + * include/ext/throw_allocator.h: Use reserved names for + parameters. + +2023-02-16 Jonathan Wakely + + * testsuite/17_intro/names_pstl.cc: Add space after effective + target name. + +2023-02-16 Jonathan Wakely + + * include/pstl/algorithm_fwd.h (__pattern_search_n) + (__brick_unique_copy, __brick_adjacent_find) + (__brick_generate_n, __pattern_generate_n): Use reserved names + for parameters. + * include/pstl/algorithm_impl.h (__brick_unique_copy) + (__pattern_reverse, __brick_generate_n): Likewise. + * include/pstl/execution_impl.h (__prefer_unsequenced_tag) + (__prefer_parallel_tag): Likewise. + * include/pstl/glue_algorithm_impl.h (transform): Likewise. + * include/pstl/glue_numeric_defs.h (adjacent_difference): + Likewise. + * include/pstl/numeric_impl.h (__brick_adjacent_difference): + Likewise. + * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise. + * include/pstl/unseq_backend_simd.h (_Combiner) + (__simd_min_element, __simd_minmax_element): Likewise. + * testsuite/17_intro/names_pstl.cc: New test. + +2023-02-16 Jonathan Wakely + + * include/bits/fs_ops.h (create_directory): Use reserved name + for parameter. + * include/bits/ranges_algo.h (__contains_subrange_fn): + Likewise. + * include/bits/regex_automaton.h (_State_base::_M_print): + Likewise. + * include/bits/regex_automaton.tcc(_State_base::_M_print): + Likewise. + * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise. + * include/experimental/bits/fs_ops.h (create_directory): + Likewise. + * include/std/mutex (timed_mutex::_M_clocklock): Likewise. + (recursive_timed_mutex:_M_clocklock): Likewise. + * include/std/tuple (basic_common_reference): Likewise. + * libsupc++/cxxabi_init_exception.h + (__cxa_init_primary_exception): Likewise. + * testsuite/17_intro/names.cc: Add checks. + +2023-02-14 Gerald Pfeifer + + * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link + to www.open-std.org and https. + * doc/html/manual/status.html: Regenerate. + +2023-02-14 Thomas W Rodgers + + PR libstdc++/103934 + * include/std/atomic (atomic_flag_wait): Add. + (atomic_flag_wait_explicit): Add. + (atomic_flag_notify): Add. + (atomic_flag_notify_explicit): Add. + * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: + Add test case to cover missing atomic_flag free functions. + +2023-02-14 Thomas W Rodgers + + PR libstdc++/103934 + * include/std/atomic (atomic_flag_test): Add. + (atomic_flag_test_explicit): Add. + * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add + test case to cover missing atomic_flag free functions. + * testsuite/29_atomics/atomic_flag/test/implicit.cc: + Likewise. + +2023-02-13 Gerald Pfeifer + + * doc/xml/manual/policy_data_structures_biblio.xml: Adjust + "The Component Object Model" reference. + * doc/html/manual/policy_data_structures.html: Regenerate. + +2023-02-12 Gerald Pfeifer + + * doc/xml/manual/containers.xml: Tweak a link to N1780 + (C++ standard). + * doc/html/manual/associative.html: Regenerate. + +2023-02-12 Gerald Pfeifer + + * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org. + * doc/html/manual/facets.html: Regenerate. + +2023-02-11 Gerald Pfeifer + + * doc/xml/manual/policy_data_structures_biblio.xml: Update + link to "Worst-case efficient priority queues". + * doc/html/manual/policy_data_structures.html: Regenerate. + +2023-02-06 Arsen Arsenović + + * doc/xml/manual/using.xml: Document newly-freestanding + headers and the effect of the -ffreestanding flag. + * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as + completed. + * doc/xml/manual/configure.xml: Document that hosted installs + respect __STDC_HOSTED__. + * doc/xml/manual/test.xml: Document how to run tests in + freestanding mode. + * doc/html/*: Regenerate. + +2023-02-06 Jonathan Wakely + + * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp. + (__find_last_if_fn): Likewise. + +2023-02-06 Jonathan Wakely + + * include/std/type_traits: Add diagnostic pragmas around + references to deprecated std::aligned_storage and + std::aligned_union traits. + * testsuite/20_util/aligned_storage/requirements/alias_decl.cc: + Add dg-warning for et c++23. + * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/aligned_storage/value.cc: Likewise. + * testsuite/20_util/aligned_union/1.cc: Likewise. + * testsuite/20_util/aligned_union/requirements/alias_decl.cc: + Likewise. + +2023-02-06 Nathaniel Shead + + * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros. + * include/bits/c++config (_GLIBCXX23_DEPRECATED) + (_GLIBCXX23_DEPRECATED_SUGGEST): New macros. + * include/std/type_traits (aligned_storage, aligned_union) + (aligned_storage_t, aligned_union_t): Deprecate for C++23. + * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test. + * testsuite/20_util/aligned_union/deprecated-2b.cc: New test. + +2023-02-06 Nathaniel Shead + + * doc/doxygen/user.cfg.in (PREDEFINED): Update macros. + * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make + consistent with other 'deprecated' macros. + * include/std/type_traits (is_pod, is_pod_v): Use + _GLIBCXX20_DEPRECATED_SUGGEST instead. + +2023-02-06 Arsen Arsenović + + * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory. + * Makefile.in: Regenerate. + * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files. + There's no history to be compatible with. + * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only + source files from the build. + * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. + * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. + * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. + * src/Makefile.in: Regenerate. + * src/c++11/Makefile.in: Regenerate. + * src/c++17/Makefile.in: Regenerate. + * src/c++20/Makefile.in: Regenerate. + * src/c++98/Makefile.in: Regenerate. + +2023-02-06 Jonathan Wakely + + * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add + filesystem, libbacktrace and experimental. + * src/Makefile.in: Regenerate. + +2023-02-04 Hans-Peter Nilsson + + PR libstdc++/108672 + * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__ + instead of int32_t. + +2023-02-04 Gerald Pfeifer + + * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex. + * doc/html/manual/documentation_hacking.html: Regenerate. + +2023-02-04 François Dumont + + * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to + storage to the move-from instance when allocators are equal. + * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04): + New test case. + +2023-02-03 Samuel Thibault + + * config/os/gnu-linux/os_defines.h [!__linux__] + (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define. + +2023-02-03 Patrick Palka + + * include/bits/ranges_algo.h (__find_last_fn, find_last): + Define. + (__find_last_if_fn, find_last_if): Define. + (__find_last_if_not_fn, find_last_if_not): Define. + * testsuite/25_algorithms/find_last/1.cc: New test. + * testsuite/25_algorithms/find_last_if/1.cc: New test. + * testsuite/25_algorithms/find_last_if_not/1.cc: New test. + +2023-02-03 Patrick Palka + + * include/bits/ranges_algo.h (out_value_result): Define. + (iota_result): Define. + (__iota_fn, iota): Define. + * testsuite/25_algorithms/iota/1.cc: New test. + +2023-02-03 Patrick Palka + + * include/bits/ranges_algo.h (__contains_fn, contains): Define. + (__contains_subrange_fn, contains_subrange): Define. + * testsuite/25_algorithms/contains/1.cc: New test. + * testsuite/25_algorithms/contains_subrange/1.cc: New test. + +2023-02-02 Gerald Pfeifer + + * doc/xml/manual/abi.xml: Tweak link to ABIcheck project. + * doc/html/manual/abi.html: Regenerate. + +2023-02-02 Jonathan Wakely + + * src/filesystem/ops-common.h [AVR] (__unsupported): Always use + errc::function_not_supported instead of errc::not_supported. + +2023-02-02 Jonathan Wakely + + * include/std/sstream (basic_stringbuf::view): Define for old + std::string ABI. + (basic_istringstream::view, basic_0stringstream::view) + (basic_stringstream::view): Likewise. + * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove + { dg-require-effective-target cxx11_abi }. + * 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_stringbuf/view/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/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. + +2023-02-02 Jonathan Wakely + + PR libstdc++/108636 + * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr + conversion operators for directory iterator comparisons with + std::default_sentinel_t. + * include/bits/fs_path.h (path::path(string_view, _Type)) + (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline + definitions to ... + * src/c++17/fs_path.cc: ... here. + * testsuite/27_io/filesystem/path/108636.cc: New test. + +2023-02-02 Jonathan Wakely + + * include/std/variant (variant::operator=): Implement resolution + of LWG 3585. + * testsuite/20_util/variant/lwg3585.cc: New test. + +2023-02-02 Gerald Pfeifer + + * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org + link to https. + * doc/html/manual/using_exceptions.html: Regenerate. + +2023-02-02 Gerald Pfeifer + + * doc/xml/manual/debug.xml: Fix link to online GDB manual. + * doc/html/manual/debug.html: Regenerate. + +2023-02-01 Jonathan Wakely + + * src/c++11/random.cc (random_device::_M_fini): Do not try to + close the file handle if the target doesn't support the + /dev/random and /dev/urandom files. + +2023-02-01 Jonathan Wakely + + * config/os/generic/error_constants.h (errc::value_too_large) + [__AVR__]: Define. + * src/c++11/system_error.cc + (system_category::default_error_condition) [__AVR__]: Only match + recognize values equal to EDOM, ERANGE, ENOSYS and EINTR. + * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check + for ENOENT etc. in switch. + (fs::remove_all) [__AVR__]: Likewise. + * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open, + close etc. + +2023-02-01 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set + embed_zoneinfo=no + * configure: Regenerate. + +2023-02-01 Hans-Peter Nilsson + + PR testsuite/108632 + * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty + struct at end of S0. + +2023-01-30 Gerald Pfeifer + + * doc/xml/manual/shared_ptr.xml: Move links from both + http://open-std.org and http://www.open-std.org to + https://www.open-std.org. + * doc/html/manual/memory.html: Regenerate. + +2023-01-28 Gerald Pfeifer + + * doc/xml/manual/appendix_contributing.xml: Adjust link to + ISO C++ standard at ANSI. + Move link to www.open-std.org to https. + * doc/html/manual/appendix_contributing.html: Regenerate. + +2023-01-28 Gerald Pfeifer + + * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net + links to https. + * doc/html/manual/documentation_hacking.html: Regenerate. + +2023-01-28 Gerald Pfeifer + + * doc/xml/manual/abi.xml: Update www.open-std.org link to https. + * doc/html/manual/abi.html: Regenerate. + +2023-01-27 Jakub Jelinek + + PR libstdc++/108568 + * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd + include features.h if present and then check __GLIBC__ and + __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing + __GLIBC_PREREQ which isn't defined yet. + +2023-01-27 Jonathan Wakely + + * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of + string literal. + +2023-01-27 Jonathan Wakely + + PR libstdc++/108554 + * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus. + +2023-01-26 Jonathan Wakely + + * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow + rules named "+" for compatibility with older tzdata.zi files. + +2023-01-26 Jonathan Wakely + + PR libstdc++/108554 + * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add + nonnull attribute. + (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull + attributes. + * testsuite/23_containers/map/modifiers/108554.cc: New test. + +2023-01-26 Jonathan Wakely + + PR libstdc++/108530 + * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in + /etc/sysconfig/clock, not DEFAULT_TIMEZONE. + +2023-01-26 Gerald Pfeifer + + * doc/xml/manual/intro.xml: Update links to www.open-std.org to + use https. + * doc/html/manual/bugs.html: Regenerate. + +2023-01-24 Jonathan Wakely + + PR libstdc++/108530 + * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in + /etc/sysconfig/clock. + +2023-01-24 Jonathan Wakely + + PR libstdc++/102301 + * include/bits/ranges_base.h: Include for + std::make_reverse_iterator. + * include/std/tuple: Include for subrange. + (make_from_tuple): Add static assertion from P2255 to diagnose + dangling references. + * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test. + * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test. + +2023-01-23 François Dumont + + * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New. + (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New. + (_Safe_iterator::operator++(int)): Use latter. + (_Safe_iterator::operator--(int)): Likewise. + (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular() + check. + * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked): + New. + (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New. + (_Safe_local_iterator::operator++(int)): Use latter. + * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id + entry associated to the array entry. + +2023-01-18 Jonathan Wakely + + * include/bits/fs_path.h (u8path): Add deprecated attribute. + * testsuite/27_io/filesystem/path/construct/90281.cc: Add + -Wno-deprecated-declarations for C++20 and later. + * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: + Likewise. + * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise. + * testsuite/27_io/filesystem/path/native/string.cc: Likewise. + * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test. + +2023-01-18 Jonathan Wakely + + * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]: + Always call _M_fini and _M_getentropy. + +2023-01-18 Gerald Pfeifer + + * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links + to www.open-std.org to use https. + (COM: Component Model Object Technologies): Rename from... + (The Component Object Model): ...to. + * doc/html/manual/policy_data_structures.html: Regenerate. + +2023-01-18 Dimitrij Mijoski + + * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify. + * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify. + * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify. + +2023-01-17 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead + of $host. Fix check for file being present during native build. + * configure: Regenerate. + +2023-01-17 Martin Liska + + * src/libbacktrace/Makefile.in: Regenerate. + +2023-01-16 Jonathan Wakely + + * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1. + +2023-01-16 Jonathan Wakely + + PR libstdc++/108413 + * include/c_compatibility/stdatomic.h: Change copyright line to + be consistent with other headers contributed under DCO terms. + * include/std/expected: Add full stop to copyright line. + * src/c++20/tzdb.cc: Likewise. + +2023-01-15 Gerald Pfeifer + + * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to + https. + * doc/xml/manual/status_cxx2017.xml: Ditto. + * doc/xml/manual/status_cxx2020.xml: Ditto. + * doc/xml/manual/status_cxx2023.xml: Ditto. + * doc/html/manual/status.html: Regenerate. + +2023-01-15 Jonathan Wakely + + * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if + and fail gracefully if defining the weak symbol doesn't work. + +2023-01-15 François Dumont + + PR libstdc++/108288 + * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock + fix to other iterator category. + (_Safe_iterator<>::operator--(int)): Likewise. + * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)): + Fix deadlock. + * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New. + (invalid_local_iterator_post_increment): New. + * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc: + New test. + * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc: + New test. + +2023-01-15 Jonathan Wakely + + * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from + dg-options. + +2023-01-15 Jonathan Wakely + + * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char. + +2023-01-14 Björn Schäpers + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for + windows.h. Add pecoff as FORMAT_FILE. + * config.h.in: Regenerate. + * configure: Regenerate. + * src/libbacktrace/Makefile.am: Regenerate. + * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE. + +2023-01-14 Björn Schäpers + + * include/std/stacktrace (stacktrace_entry::_S_demangle): Use + raw __name if __cxa_demangle could not demangle it. + +2023-01-14 Jonathan Wakely + + PR libstdc++/108409 + * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment + variable. + +2023-01-14 Jonathan Wakely + + * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for + loading tzdb. + * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb + effective target. + * testsuite/std/time/tzdb_list/1.cc: Likewise. + +2023-01-14 Jonathan Wakely + + * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the + --with-libstdcxx-zoneinfo-dir configure option with + --with-libstdcxx-zoneinfo with yes/no/static choices as well as + a directory. + * config.h.in: Regenerate. + * configure: Regenerate. + * doc/xml/manual/configure.xml: Document configure option. + * doc/html/manual/configure.html: Regenerate. + * src/c++20/Makefile.am: Generate tzdata.zi.h header. + * src/c++20/Makefile.in: Regenerate. + * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a + null pointer if no directory is configured. + (zoneinfo_dir): Replace with ... + (zoneinfo_file): New function. + (tzdata_stream): New istream class. + (remote_version, reload_tzdb): Use tzdata_stream. + * testsuite/lib/libstdc++.exp (check_effective_target_tzdb): + Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of + tzdata.zi file in default location. + * src/c++20/tzdata.zi: New file. + +2023-01-14 Jonathan Wakely + + * include/bits/chrono_io.h (operator<<): Fix syntax errors. + * testsuite/std/time/month_day/io.cc: New test. + * testsuite/std/time/month_day_last/io.cc: New test. + * testsuite/std/time/month_weekday/io.cc: New test. + * testsuite/std/time/month_weekday_last/io.cc: New test. + * testsuite/std/time/weekday_indexed/io.cc: New test. + * testsuite/std/time/weekday_last/io.cc: New test. + * testsuite/std/time/year_month/io.cc: New test. + * testsuite/std/time/year_month_day_last/io.cc: New test. + * testsuite/std/time/year_month_weekday/io.cc: New test. + * testsuite/std/time/year_month_weekday_last/io.cc: New test. + +2023-01-14 François Dumont + + * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol + specifications. + * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols + export. + +2023-01-13 Jonathan Wakely + + * include/bits/std_mutex.h: Include . + +2023-01-13 Arsen Arsenović + + * testsuite/20_util/to_chars/version.cc: Mark hosted-only. + * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto. + * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto. + * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of + std::make_unique with a freestanding-compatible wrapper around + unique_ptr. + * testsuite/21_strings/basic_string_view/operations/contains/char.cc: + Don't test for presence of __cpp_lib_string_contains on !HOSTED. + * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: + Ditto. + * testsuite/std/ranges/version_c++23.cc: Don't test for presence + of __cpp_lib_ranges in !HOSTED. + +2023-01-13 Arsen Arsenović + + * include/Makefile.am: Install bits/char_traits.h, + std/string_view + * include/Makefile.in: Regenerate. + * include/bits/char_traits.h: Gate hosted-only, wchar-only and + mbstate-only bits behind appropriate #ifs. + * include/std/string_view: Gate functionality behind + HOSTED. + * include/std/version: Enable __cpp_lib_constexpr_string_view + and __cpp_lib_starts_ends_with in !HOSTED. + * include/std/ranges: Re-enable __is_basic_string_view on + freestanding, include directly. + * include/precompiled/stdc++.h: Include when + !HOSTED too. + * testsuite/20_util/function_objects/searchers.cc: Skip testing + boyer_moore searchers on freestanding + * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard + -related tests behind __STDC_HOSTED__. + * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto. + * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove + unused include. + * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove + unused include. + * testsuite/21_strings/basic_string_view/cons/char/range.cc: + Guard related testing behind __STDC_HOSTED__. + * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: + Guard related tests behind __STDC_HOSTED__. + * testsuite/21_strings/basic_string_view/element_access/char/1.cc: + Ditto. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: + Guard tests behind __STDC_HOSTED__. + * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: + Enable test on freestanding, guard bits behind + __STDC_HOSTED__. + * testsuite/21_strings/basic_string_view/operations/substr/char.cc: + Guard bits behind __STDC_HOSTED__. + * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc: + Ditto. + +2023-01-13 Dimitrij Mijoski + + PR libstdc++/86419 + * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect + errors in incomplete multibyte sequences. + (utf16_in): Remove surrogates parameter. Fix conditions for + returning partial. + (utf16_out): Fix condition for returning partial. + (ucs2_in): Do not pass surrogates argument to utf16_in. + * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test. + * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for + tests. + * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New + test. + +2023-01-13 Jonathan Wakely + + PR libstdc++/108331 + * config/io/c_io_stdio.h (__c_lock): Define as a typedef for + __GTHREAD_LEGACY_MUTEX_T if defined. + +2023-01-13 Jonathan Wakely + + PR libstdc++/108327 + * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31): + Export __try_use_facet specializations for facets in namespace + __gnu_cxx_ldbl128. + * config/os/gnu-linux/ldbl-ieee128-extra.ver + (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace + __gnu_cxx_ieee128. + * testsuite/util/testsuite_abi.cc: Add to lists of known and + latest versions. + +2023-01-13 Jonathan Wakely + + * include/bits/std_mutex.h: Remove include. + * include/std/condition_variable: Add + include. + * include/std/mutex: Likewise. + * include/std/shared_mutex: Likewise. + +2023-01-12 Jonathan Wakely + + PR libstdc++/77691 + * include/experimental/memory_resource + (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define. + (do_allocate, do_deallocate): Check it. + * testsuite/experimental/memory_resource/new_delete_resource.cc: + Relax expected behaviour for 64-bit hppa-hp-hpux11.11. + +2023-01-12 Jonathan Wakely + + * doc/xml/manual/abi.xml: Add latest library versions. + * doc/html/manual/abi.html: Regenerate. + +2023-01-12 François Dumont + + PR libstdc++/107189 + * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove + unused _Alloc_node instance. + +2023-01-12 Jonathan Wakely + + * include/bits/atomic_wait.h (__detail::__platform_wait_t): + Define as unsigned long if always lock-free, and unsigned int + otherwise. + +2023-01-10 Jonathan Wakely + + * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and + __catch macros for exception handling. + +2023-01-10 Jonathan Wakely + + PR libstdc++/108221 + * include/bits/stl_algobase.h (__lg): Replace six overloads with + a single function template for all integer types. + * include/bits/stl_algo.h (__merge_adaptive_resize): Cast + arithmetic results back to _Distance. + +2023-01-10 Jonathan Wakely + + PR libstdc++/108221 + * include/std/span (span::span()): Un-simplify constraint to + work for size_t of lesser rank than int. + +2023-01-07 LIU Hao + + PR middle-end/108300 + * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before + . + * src/c++11/thread.cc: Likewise. + * src/c++17/fs_ops.cc: Likewise. + * src/filesystem/ops.cc: Likewise. + +2023-01-06 Jonathan Wakely + + PR libstdc++/108228 + * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma. + +2023-01-06 Jonathan Wakely + + PR libstdc++/108235 + * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class + template and partial specialization for synchronizing access to + time_zone::_Impl::infos. + (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of + rules_counter. + +2023-01-06 Patrick Palka + + PR libstdc++/108260 + * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23. + * include/std/ranges (__cpp_lib_ranges_zip): Likewise. + (__cpp_lib_ranges_chunk): Likewise. + (__cpp_lib_ranges_slide): Likewise. + (__cpp_lib_ranges_chunk_by): Likewise. + (__cpp_lib_ranges_join_with): Likewise. + (__cpp_lib_ranges_repeat): Likewise. + (__cpp_lib_ranges_stride): Likewise. + (__cpp_lib_ranges_cartesian_product): Likewise. + (__cpp_lib_ranges_as_rvalue): Likewise. + * include/std/version: Ditto. + * testsuite/20_util/tuple/p2321r2.cc: Verify value of + feature-test macro. + * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. + * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. + * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. + * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. + * testsuite/std/ranges/cartesian_product/1.cc: Likewise. + * testsuite/std/ranges/repeat/1.cc: Likewise. + * testsuite/std/ranges/zip/1.cc: Likewise. + * testsuite/std/ranges/version_c++23.cc: New test. + +2023-01-06 Jonathan Wakely + + PR libstdc++/108214 + * include/std/bitset (operator>>): Use alloca in the right + scope, not in a constructor. + * testsuite/20_util/bitset/io/input.cc: Check case from PR. + +2023-01-06 Jonathan Wakely + + PR libstdc++/108221 + * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]: + Disable visiting floating-point types. + +2023-01-06 Jonathan Wakely + + PR libstdc++/108288 + * include/debug/safe_iterator.h (_Safe_iterator::operator++(int)) + (_Safe_iterator::operator--(int)): Do not hold lock around + construction of return value. + +2023-01-05 John David Anglin + + * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define. + (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for + lock release. Revise loop. + (__atomic_add): Likewise. + +2023-01-05 Jonathan Wakely + + PR libstdc++/108212 + * python/libstdcxx/v6/printers.py (_utc_timezone): New global + variable. + (StdChronoTimePointPrinter::to_string): Use it. + +2023-01-05 Jonathan Wakely + + PR libstdc++/108290 + * include/std/functional (_Bind_front): Add no_unique_address + attribute to data members. + * testsuite/20_util/function_objects/bind_front/107784.cc: Check + size of call wrappers with empty types for targets and bound + arguments. + +2023-01-05 Jonathan Wakely + + PR libstdc++/108211 + * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone + using only last component of the name. + +2023-01-05 Jonathan Wakely + + PR libstdc++/108228 + PR libstdc++/108235 + * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to + the latest symbol version. + * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if + atomic<_Node*> is not always lock free. + (USE_ATOMIC_LIST_HEAD): New macro. + [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide + definition of weak symbol. + (tzdb_list::_Node::_S_head): Rename to _S_head_cache. + (tzdb_list::_Node::_S_list_head): New function for accessing + list head efficiently. + (tzdb_list::_Node::_S_cache_list_head): New function for + updating _S_list_head. + +2023-01-05 Jonathan Wakely + + PR libstdc++/108265 + * include/std/chrono (hh_mm_ss): Do not use chrono::abs if + duration rep is unsigned. + * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep. + +2023-01-04 Iain Sandoe + + PR libstdc++/108228 + * config/abi/pre/gnu.ver (GLIBCXX_3.4): + Add __gnu_cxx::zoneinfo_dir_override(). + +2023-01-04 Jonathan Wakely + + PR libstdc++/108258 + * include/std/array (__array_traits::operator T*()): Add + constexpr. + * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check + std::array::data(). + + +Copyright (C) 2023 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.